2012-10-15 40 views
5

मेरे पास एक समय संवेदनशील ऑपरेशन है जिसे अन्य कंप्यूटरों के बीच घड़ी की कमी के बारे में पता होना चाहिए, और/या ऐसी चीज के खिलाफ सुरक्षा करना चाहिए। घड़ी घड़ी के खिलाफ मैं कैसे पहचान या रक्षा कर सकता हूं?मैं Azure भूमिकाओं में नोड्स के बीच घड़ी skew का पता कैसे लगा सकता है?

मेरे मामले में मैं Azure Blob को संपीड़ित डेटाटाइम टिकट लिख रहा हूं। यह विनाशकारी हो सकता है अगर अलग नोड्स अलग ढंग से कि datetime टिकट intererpret हैं (क्योंकि यह एक छलांग दिन के दौरान हो सकता है, या दूसरे छलांग)


अधिक जानकारी

मैं घड़ी तिरछा पता लगाने के लिए कोशिश कर रहा हूँ स्थानीय नोड वर्तमान समय में।

प्रत्येक नोड ब्लॉब/टेबल पर समय संवेदनशील जानकारी लिख रहा होगा। यदि कुछ क्रियाओं की तुलना में टाइमस्टैम्प एक्स से पुराना है। यदि समय सिंक्रनाइज़ नहीं किया गया है, तो डेटा खो या दूषित हो सकता है।

संभव समाधान

शायद मैं प्रत्येक नोड एक नियमित अंतराल पर ब्लॉब भंडारण (32 बाइट्स) करने के लिए अपने वर्तमान दिनांक लिखना हो सकता है, और फिर क्वेरी है कि एक नियमित आधार पर।

उत्तर

2

कुछ .NET एनटीपी क्लाइंट एपीआई हैं जो आपको एक स्थानीय नोड समय और समय के बीच एनटीपी समय सर्वर पर स्कू बताएंगे। उदाहरण के लिए:

आप दोनों को स्थानीय समय की दुकान करने और अपने ब्लॉब में तिरछा करने के लिए एक एनटीपी ग्राहक इस्तेमाल कर सकते हैं। जब आप एक अलग नोड पर ब्लॉब पढ़ते हैं, तो आप उस नोड के स्थानीय समय की गणना कर सकते हैं और स्कू कर सकते हैं और इसे ब्लॉब के संग्रहीत समय और स्काई से तुलना कर सकते हैं।