كيف تخزّن UUIDs الطوابع الزمنية؟

تُضمّن عدة إصدارات من UUID طابعًا زمنيًا مباشرةً في بنيتها. يُشفّر UUID v1، الذي قُدِّم في RFC 4122، طابعًا زمنيًا غريغوريًا بطول 60 بت يمثّل فترات بمقدار 100 نانوثانية منذ 15 أكتوبر 1582. يُعيد UUID v6 ترتيب حقول الطابع الزمني ذاتها لتحسين قابلية الفرز، فيما يخزّن UUID v7، المُعرَّف في RFC 9562، طابعًا زمنيًا بطول 48 بت بصيغة Unix epoch بالميلي ثانية. تُتيح هذه الطوابع الزمنية المُضمَّنة استرداد اللحظة الدقيقة التي أُنشئ فيها UUID — وهو أمر مفيد لأغراض التصحيح والتدقيق والتحليل الجنائي.

لا تحمل كل UUID معلومات زمنية. الإصدارات 3 و4 و5 مشتقة من بيانات عشوائية أو تجزئات مساحة الأسماء، لذا لا تحتوي على أي طابع زمني قابل للاسترداد. الإصدار 2 (DCE Security) يتضمن طابعًا زمنيًا، لكنه نادرًا ما يُستخدم في التطبيقات العملية.

وصف الأداة

تقوم هذه الأداة باستخراج وفكّ تشفير الطابع الزمني المُضمَّن في UUIDs المعتمدة على الوقت. الصق أي UUID وشاهد فورًا التاريخ والوقت المُشفَّرَين بصيغ متعددة: ISO 8601، وUTC، والتوقيت المحلي، وطوابع Unix الزمنية بالثواني والميلي ثانية. تكتشف الأداة تلقائيًا إصدار UUID وتطبّق خوارزمية فكّ التشفير الصحيحة.

أمثلة

مدخل UUID v1:

6ba7b810-9dad-11d1-80b4-00c04fd430c8 → 7 أبريل 1998

مدخل UUID v7:

018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 → 3 مايو 2024

مدخل UUID v4 (بدون طابع زمني):

550e8400-e29b-41d4-a716-446655440000 → "إصدار UUID هذا لا يحتوي على طابع زمني"

الميزات

  • يدعم UUID v1 (الطابع الزمني الغريغوري)، وv6 (الغريغوري مُعاد الترتيب)، وv7 (Unix epoch بالميلي ثانية)
  • يعرض النتائج بصيغ ISO 8601، وUTC، والتوقيت المحلي، والطابع الزمني Unix
  • يكتشف تلقائيًا إصدار UUID ويختار طريقة فكّ التشفير الصحيحة
  • يتحقق من صحة صيغة UUID قبل محاولة الاستخراج
  • يعرض رسالة واضحة لإصدارات UUID التي لا تحتوي على طوابع زمنية

آلية العمل

يخزّن كل إصدار من UUIDs المعتمدة على الوقت طابعه الزمني بطريقة مختلفة:

  • UUID v1 يوزّع طابعًا زمنيًا غريغوريًا بطول 60 بت عبر ثلاثة حقول: time_low (البتات 0–31)، وtime_mid (البتات 32–47)، وtime_hi (البتات 48–59). يحسب الطابع الزمني فترات بمقدار 100 نانوثانية منذ 15 أكتوبر 1582.
  • UUID v6 يُعيد ترتيب حقول الطابع الزمني الخاصة بـ v1 بحيث تأتي البتات الأكثر أهمية أولًا، مما يجعل UUIDs قابلة للفرز الطبيعي حسب وقت الإنشاء مع استخدام نفس الحقبة الغريغورية.
  • UUID v7 يتبع نهجًا أبسط: تحمل أول 48 بت طابعًا زمنيًا Unix قياسيًا بالميلي ثانية، مما يجعل الاستخراج مباشرًا ومتوافقًا مع الأنظمة الحديثة.

حالات الاستخدام

  • تصحيح الأنظمة الموزعة — تحديد اللحظة الدقيقة التي أُنشئ فيها سجل أو حدث معين عن طريق فكّ تشفير UUID المُعيَّن له
  • التدقيق والتحليل الجنائي — التحقق من طوابع الإنشاء الزمنية في قواعد البيانات التي تستخدم UUIDs المعتمدة على الوقت كمفاتيح أساسية
  • تخطيط الترحيل — تحليل طوابع UUID الزمنية لفهم توزيع البيانات وعمرها قبل الترحيل بين الأنظمة