এটি সাধারণত ডাটাবেস সার্ভার নয় যা তাত্ক্ষণিক সময় লিপ হওয়ার সময় ত্রুটির পক্ষে ঝুঁকির মধ্যে পড়ে: এটি সেই অ্যাপ্লিকেশনগুলি যা সময়টি ব্যবহার করে।
সময় ট্র্যাক করার দুটি উপায় রয়েছে: নিজস্ব সময় ট্র্যাকিং বা সিস্টেমের সময়ের তুলনা। উভয়েরই কিছু ইতিবাচক এবং নেতিবাচক বাণিজ্য রয়েছে।
নিজস্ব সময় ট্র্যাকিং
আমি এটি এমন কিছু এম্বেডেড প্রোগ্রামিং এবং সিস্টেমে ব্যবহৃত দেখতে পাই যেখানে সঠিক সময় নির্ধারণ করা তাত্পর্যপূর্ণ নয়। একটি প্রধান অ্যাপ্লিকেশন লুপে 'টিক' ট্র্যাক করার একটি উপায় যত্ন নেওয়া হয়। এটি কার্নেলের দ্বারা প্রদত্ত একটি অ্যালার্ম হতে পারে, ঘুম বা নির্বাচন করুন যা সময় কেটে গেছে তার ইঙ্গিত দেয়। কখন কী সময় কেটে গেছে তা আপনি জানেন আপনি একটি কাউন্টারে এই সময় যোগ বা বিয়োগ করতে পারেন। এই কাউন্টারটি হ'ল যা আপনার সময় প্রয়োগকে ঘটায়। উদাহরণস্বরূপ, যদি কাউন্টারটি 10 সেকেন্ডের বেশি হয় তবে আপনি কিছু ফেলে দিতে পারেন, বা আপনাকে কিছু করতে হবে।
যদি অ্যাপ্লিকেশনটি সময় অবলম্বন না করে তবে কাউন্টারটি পরিবর্তন হবে না। আপনার অ্যাপ্লিকেশন ডিজাইনের উপর নির্ভর করে এটি পছন্দসই হতে পারে। উদাহরণস্বরূপ, দীর্ঘকাল ধরে চলমান প্রক্রিয়াটি যে কোনও সময় পরিচালিত হচ্ছে তা পর্যবেক্ষণ করা স্টার্ট / স্টপ টাইমস্ট্যাম্পগুলির তালিকার চেয়ে একটি কাউন্টারের সাথে সহজ।
প্রো:
- সিস্টেম ঘড়ির উপর নির্ভরশীল নয়
- একটি বড় সময় স্কু ব্রেক হবে না
- কোনও ব্যয়বহুল সিস্টেম কল নেই
- ছোট কাউন্টারের পুরো টাইমস্ট্যাম্পের চেয়ে কম মেমরির ব্যয় হবে
কন:
- সময় খুব সঠিক হয় না
- সিস্টেমের সময় পরিবর্তন এটিকে আরও ভুল করে তুলতে পারে
- সময়টি অ্যাপ্লিকেশন চালনার সাথে সম্পর্কিত, স্থির থাকে না
সিস্টেমের সময়ের তুলনা করা
এটি প্রায়শই ব্যবহৃত সিস্টেম: একটি টাইমস্ট্যাম্প সংরক্ষণ করুন এবং সিস্টেম টাইম কল ব্যবহার করে এটি টাইমস্ট্যাম্পের সাথে তুলনা করুন। সিস্টেমের সময়ের বিশাল স্কিউগুলি আপনার অ্যাপ্লিকেশনটির অখণ্ডতা হুমকির সম্মুখীন হতে পারে, কয়েক সেকেন্ডের একটি কাজ ঘড়ির দিকের উপর নির্ভর করে অবিলম্বে কয়েক ঘন্টা সময় নিতে বা শেষ হতে পারে।
প্রো:
- সঠিক সময়ের তুলনা
- পুনরায় আরম্ভ এবং দীর্ঘ বিরতির উপর স্থায়ী
কন:
- অন্যান্য টাইমস্ট্যাম্পগুলির সাথে তুলনা করার জন্য একটি নতুন টাইমস্ট্যাম্প পেতে একটি সিস্টেম কল নেয়
- অ্যাপ্লিকেশনটির স্কিউ সম্পর্কে সচেতন হওয়া বা ব্রেক করতে পারে
প্রভাবিত সিস্টেম
অ্যাপ্লিকেশনগুলির বেশিরভাগ সময় নির্ধারণের কাজের সাথে তুলনা করে টাইমস্ট্যাম্প ব্যবহার করবে। ডাটাবেস সিস্টেমের জন্য যা ক্যাশে ক্লিনআপ হতে পারে।
সমস্ত অ্যাপ্লিকেশন যা কোয়েরি ভাষায় একটি ডেটাবেস এবং কল টাইম ফাংশন ব্যবহার করে তা যদি স্কুলে অ্যাপ্লিকেশন সনাক্ত না করে এবং সেই অনুযায়ী পরিচালনা না করে তবে স্কিউ দ্বারা প্রভাবিত হবে। অ্যাপ্লিকেশনগুলি কখনই চলমান বন্ধ করতে পারে না বা এর উদ্দেশ্য অনুসারে অনির্দিষ্টকালের জন্য লগইন সময়কে অনুমতি দেয় না allow
মেল সিস্টেমগুলি বাসি বা অপরিবর্তিত মেলগুলি পরিচালনা করার জন্য টাইমস্ট্যাম্প এবং / অথবা টাইমআউটগুলি ব্যবহার করবে। একটি ঘড়ির স্কিউ এতে প্রভাব ফেলতে পারে তবে খুব কম প্রভাব ফেলতে পারে। সার্ভারে পুনরায় সংযোগ সম্পর্কিত ব্যাক-অফ টাইমারগুলি মিস হয়ে যেতে পারে যার ফলে সংযোগকারী সার্ভারে পেনাল্টি হয়।
আমি মনে করি না (গবেষণা করেনি) যে সিস্টেমের সময় পরিবর্তন করার সময় কার্নেল অ্যালার্মগুলি বন্ধ হয়ে যাবে। যে সিস্টেমগুলি এগুলি ব্যবহার করে সেগুলি নিরাপদ হতে পারে।
সলিউশন
আস্তে সময় সরানো। এটি আপনার প্রিয় সময় সমাধানের ডকুমেন্টেশনে পাওয়া যাবে।
now()
। আপনি নিজের উত্তরের সময় পরিবর্তন করার কোনও নিরাপদ পদ্ধতি যুক্ত করতে পারেন?