2008/11/10

Atomic Clock Time Synchronizer

من أكثر المشاكل الخفية والتي للاتكون واضحة الا للعاملين على شبكات الكمبيوتر والذين تتطلب طبيعة الأعمال التي يقومون بالإشراف عليها ضرورة تسجيل أي حركة أو عملية تتم على الكمبيوتر في قاعدة بيانات مركزية، هو عدم تناغم ودقة الوقت علي أجهزة الكمبيوتر في الشبكة، صحيح أن الأجهزة التي تعمل تحت نظام (Active Directory) والمسجلة في نطاق واحد (Domain) تقوم بتعديل الوقت بين الأجهزة حسب الوقت الموجود في جهاز مدير النطاق (Domain Controller)، ولكن تظل المشكلة من ناحية من ينظم الوقت في الجهاز الرئيسي أولاً وبطئ عملية المزامنة في جميع الأجهزة العاملة تحت نطاقه ثانياً، هذا ناهيك عن وجود أجهزة تعمل في الشبكة بدون دخولها على النطاق (Stand Alone Clients)، هذا ناهيك عن تعاملك مع شبكات أخرى مرتبطة بشبكتك.

واجهتني هذه المشكلة في الشبكة التي أشرف عليها، ولم يجدي معي حتى نظام الوندوز لتحديد الوقت المدمج في حلها، وبعد البحث والتدقيق أكتشفت أن خبراء تقنية المعلومات في العادة لايعتمدون على تعديلهم لساعة الجهاز يدوياً، فهذا ينتج عنه هامش خطأ يبدأ من ثواني وينتهي بدقائق (وهو مايسبب مشكلة كبيرة عند تسجيل العمليات في قواعد البيانات) بل يستخدون التعديل الألي ليس ذلك المدمج بالوندوز بل بإستخدام بروتوكولات مفتوحة المصدر تستمد دقتها في العادة من ساعة ذرية يكون هامش الخطأ بها أجزاء أجزاء أجزاء المللي ثانية.

وقد وجدت هذا البرنامج المجاني (Atomic Clock Time Synchronizer) الخفيف على الجهاز، والذي قام صاحبه ببرمجته ببيئة البرمجة (MS Framework.NET 1.1) والذي أحييه على برنامجه، فبالرغم من بساطته وصغر حجمه إلا أن فوائده كبيرة جداً، والذي يجعلك تنسى هذه المشكلة تماماً، فوداعاً لفروقات التوقيت عبر الأجهزة.

هل واجهتك هذه المشكلة من قبل وكيف توصلت إلى حلها؟

3 comments:

علي الطويل said...

السلام عليكم

بين الجومين أنا أستعمل السطر التالي في سكربت الدخول لكل المستخدمين في الشبكة\

NET TIME \\SERVER /SET /YES

حيث أن جهاز السيرفر في السطر السابق هو الجهاز الرئيس الذي يكون توقيته مضبوط 100%

تحياتي

Tarek Siala said...

أعتقد أن هذا الأمر يعمل فقط في حال كانت كل الأجهزة مرتبطة في نطاق واحد، أما إذا كانت بعض الأجهزة خارج النطاق فإن الأمر لايعمل، ما رأيك؟

علي الطويل said...

يمكنك فعل ذلك حتى وإن كانت ليست في دومين واحد، لكن عليها أن تكون في شبكة واحدة او متعددة على أن تكون جميعها قادرة على الوصول لجهاز واحد معين

مثلاً لنقل أن جهازك ساعته معدلة تماماً

جهازك إسمه TSIALA01

أنشيء ملف باتش فيه الأمر التالي
NET TIME \\TSIALA01 /SET /YES

ضعه في كافة أجهزة الشركة في C:\Documents and Settings\All Users\Start Menu\Programs\Startup

وبهذا تضمن أن أي مستخدم يدخل على أي جهاز في الشركة سينفذ الأمر تلقائياً

طبعاً هذه مجرد فكرة بإستخدام بيئة ويندوز فقط وعلى عجالة من أمري كتبتها وهي فكرة دون تدخل أي برامج أخرى قد تكون مجانية أم لا

على كل حال

طاب مساؤك
والسلام عليكم