গাইড/সীমা

2038 সালের সমস্যা

2038 সালের জানুয়ারিতে কেন 32-বিট ইউনিক্স সেকেন্ড ওভারফ্লো স্বাক্ষরিত হয়েছে, কোন সিস্টেমগুলি প্রভাবিত হয় এবং কীভাবে নিরাপদে স্টোরেজ পরীক্ষা করা যায়।

সীমানা

একটি স্বাক্ষরিত 32-বিট পূর্ণসংখ্যা −2,147,483,648 থেকে 2,147,483,647 পর্যন্ত মান সঞ্চয় করতে পারে। ইউনিক্স সেকেন্ড হিসাবে ব্যাখ্যা করা হয়েছে, ইতিবাচক সীমা হল 2038-01-19T03:14:07Z। এক সেকেন্ড যোগ করা সেই প্রতিনিধিত্বকে ওভারফ্লো করে।

কে চেক করা উচিত

লিগ্যাসি অপারেটিং সিস্টেম, এম্বেড করা ডিভাইস, ডাটাবেস কলাম এবং বাইনারি প্রোটোকল এখনও স্বাক্ষরিত 32-বিট সেকেন্ড ব্যবহার করতে পারে। একটি 64-বিট টাইমস্ট্যাম্প বা একটি উপযুক্ত তারিখের ধরন ব্যবহারিক সীমারেখাকে সাধারণ অ্যাপ্লিকেশনের জীবনকালের বাইরে নিয়ে যায়।

পরীক্ষা

সম্পূর্ণ স্ট্যাকের মাধ্যমে সীমানার উভয় পাশের মান পরীক্ষা করুন: পার্সার, স্টোরেজ, API সিরিয়ালাইজেশন, ক্লায়েন্ট রানটাইম এবং রিপোর্টিং টুল। একটি আধুনিক অ্যাপ্লিকেশন সার্ভার একটি পুরানো ডাটাবেস কলাম বা ডিভাইস প্রোটোকল রক্ষা করে না।

সীমানা যাচাই করুন

ইউনিক্স সেকেন্ডUTC
21474836462038-01-19 03:14:06
21474836472038-01-19 03:14:07
21474836482038-01-19 03:14:08

তৃতীয় মানটি একটি বৃহত্তর উপস্থাপনায় একটি বৈধ টাইমস্ট্যাম্প। এটি সর্বাধিক স্বাক্ষরিত 32-বিট পূর্ণসংখ্যা অতিক্রম করে, ইউনিক্স সময়ের সংজ্ঞা নয়। এই সাইটের টাইমস্ট্যাম্প রূপান্তরকারী যখন সেকেন্ড নির্বাচন করা হয় তখন এটি প্রদর্শন করতে পারে।

একটি স্বাক্ষরিত 32-বিট মান −2,147,483,648 থেকে 2,147,483,647 পর্যন্ত। ওভারফ্লো প্রত্যাখ্যান করার পরিবর্তে একটি পুরানো সিস্টেম মোড়ানো হলে, পরবর্তী মানটি নেতিবাচক সংখ্যায় পরিণত হতে পারে এবং 1901-এ উপস্থিত হতে পারে। সঠিক ব্যর্থতা ভাষা, অপারেটিং সিস্টেম এবং স্টোরেজ বিন্যাসের উপর নির্ভর করে।

সম্পূর্ণ স্টোরেজ পাথ অডিট করুন

ডাটাবেস কলাম, ড্রাইভার বাইন্ডিং, API স্কিমা, সিরিয়ালাইজেশন স্তর এবং অ্যাপ্লিকেশনের ধরন পরীক্ষা করুন। শুধুমাত্র ডাটাবেস কলাম স্থানান্তর করা একটি ক্লায়েন্ট বা এমবেডেড ডিভাইসে একটি 32-বিট কাস্ট ঠিক করে না। সীমানার আগে এবং পরে অবিলম্বে মান পরীক্ষা করুন, তারপরে সেগুলিকে আবার পড়ুন এবং শুধুমাত্র ফর্ম্যাট করা তারিখের পরিবর্তে সঞ্চিত পূর্ণসংখ্যার তুলনা করুন।

একটি উপযুক্ত বৃহত্তর পূর্ণসংখ্যা ব্যবহার করুন বা পুরো সিস্টেম জুড়ে সমর্থিত একটি নথিভুক্ত তারিখের ধরন ব্যবহার করুন। একটি স্বাক্ষরবিহীন 32-বিট সেকেন্ড কাউন্টারের পরবর্তী সীমানা রয়েছে; এটি নেতিবাচক তারিখ বা প্রতিটি প্রোটোকল সামঞ্জস্য সমস্যার সমাধান করে না।

অন্যান্য সীমার পার্থক্য করুন

2038 সালের সমস্যাটি প্রায় 32-বিট সেকেন্ড স্বাক্ষরিত। জাভাস্ক্রিপ্টের নিরাপদ-পূর্ণসংখ্যা সীমা এবং একটি ব্রাউজার তারিখের সমর্থিত পরিসর পৃথক সীমাবদ্ধতা। একই তাৎক্ষণিকের জন্য সেকেন্ডের চেয়ে মিলিসেকেন্ডের একটি বড় মাত্রা প্রয়োজন; মাইক্রোসেকেন্ড এবং ন্যানোসেকেন্ড একটি ফ্লোটিং-পয়েন্ট পূর্ণসংখ্যার সঠিক পরিসীমা অনেক তাড়াতাড়ি অতিক্রম করতে পারে।

স্কেল নির্বাচন করতে সেকেন্ড বনাম মিলিসেকেন্ড ব্যবহার করুন। একটি মাইগ্রেশন ফাইলের জন্য, ব্যাচ কনভার্টার সারিগুলি পরীক্ষা করতে পারে, কিন্তু এটি আপনার বাহ্যিক সিস্টেম দ্বারা ব্যবহৃত প্রকারগুলি পরিদর্শন বা মেরামত করতে পারে না৷

স্ট্যান্ডার্ড এবং রানটাইম রেফারেন্স

টুলস / 01-06

আরও টাইমস্ট্যাম্প টুল

প্রতিটি রুট একটি নির্দিষ্ট ইনপুট দিয়ে শুরু হয় এবং একটি নির্দিষ্ট উত্তর দেয়।