مولد المعرفات الفريدة العمومية

أضف إلى موقع المعلومات الوصفية

أدوات أخرى

إنشاء UUID/GUID

إنشاء UUID/GUID

تم استخدام المعرف الفريد عالميًا (UUID) ، المعروف أيضًا باسم المعرف الفريد العالمي (GUID) ، على نطاق واسع في أنظمة الكمبيوتر.

إنه رمز من 128 بت يتم إنشاؤه بواسطة النظام بناءً على المتغيرات والثوابت: الوقت الحالي وعنوان MAC وتجزئة SHA-1 ومساحة الاسم MD5. قد تبدو النتيجة النهائية لإنشاء UUID ، معروضة كرمز أبجدي رقمي مكون من 32 حرفًا مفصولة بواصلات ، عشوائية ، ولكنها في الواقع نتيجة حسابات معقدة. وبالتالي ، فإن الكمبيوتر لا "يخترع" رمزًا ، ولكنه يصوغه من كميات تقنية محددة ذات صلة في وقت معين.

إن احتمال إنشاء نفس UUID على جهازي كمبيوتر مختلفين في أوقات مختلفة يميل إلى الصفر ، مما يجعل من الممكن استخدام الرموز الناتجة لتحديد النقطة / البيانات المحلية دون الرجوع إلى مركز التنسيق. اليوم ، UUID / GUID موجود في كل مكان في كل من الشبكات المتصلة وغير المتصلة بالإنترنت ، ويعمل بشكل فعال ليس فقط في مساحة الإنترنت العالمية ، ولكن أيضًا في أنظمة الكمبيوتر المستقلة.

تاريخ UUID

تم استخدام رموز UUID ذات 128 بت لأول مرة بواسطة شركة Apollo Computer الأمريكية في الثمانينيات. كانت تستند إلى أكواد 64 بت الأبسط المستخدمة في المجال / نظام التشغيل ووجدت استخدامًا واسع النطاق في بيئة الحوسبة Open Software Foundation.

مع ظهور أنظمة Windows الأساسية الأولى ، تم تعميم وتوحيد المعرف الفريد عالميًا. اعتمدت Microsoft تصميم DCE من Apollo Computer وسجلت مساحة اسم URN في RFC 4122. في عام 2005 ، تم اقتراح الأخير كمعيار جديد من قبل IETF ، وتم توحيد UUID داخل الاتحاد الدولي للاتصالات.

في وقت سابق من عام 2002 ، تم تحديد مشكلات أداء النظام عند استخدام UUIDs كمفاتيح أساسية في قواعد البيانات المحلية. تم إصلاحها في الإصدار 4 عن طريق إضافة لاحقة غير عشوائية بناءً على وقت نظام الكمبيوتر. أدى ما يسمى بمقاربة COMB (معرف الوقت GUID المدمج) إلى زيادة مخاطر تكرار التعليمات البرمجية ، ولكن في الوقت نفسه أدى إلى تحسين الأداء بشكل ملحوظ عند العمل مع Microsoft SQL Server.

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

فوائد UUID

لا تتطلب مولدات الأكواد العالمية الفريدة تسوية / مزامنة بيانات مركزية وهي متاحة مجانًا لجميع المستخدمين. تشمل المزايا الرئيسية لـ UUID ما يلي:

  • الحد الأدنى من مخاطر "تضارب" (تكرار) الرموز. على الرغم من استخدامها على نطاق واسع ، فإن احتمالية التكرار تميل إلى الصفر.
  • القدرة على ضم مجموعات مختلفة من البيانات باستخدام UUIDs كمفاتيح أساسية (فريدة).
  • التوزيع المبسط للبيانات عبر عدة خوادم متفرقة.
  • القدرة على إنشاء الرموز في وضع عدم الاتصال.

رموز التعريف الفريدة ، المكتوبة بالتنسيق xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx ، تسمح للأنظمة المتفرقة بالتعرف على المعلومات دون تنسيق من مركز بيانات واحد: مع احتمال صفر تقريبًا للأخطاء / التكرار. هذه الميزة ، جنبًا إلى جنب مع سهولة الاستخدام والمتطلبات الصغيرة لأداء الكمبيوتر ، تجعل UUID مطلوبًا ولا غنى عنه في مجموعة متنوعة من صناعات تكنولوجيا المعلومات وأنظمة الحوسبة المستقلة.

المعرف الفريد الشامل

المعرف الفريد الشامل

يمكن لـ UUID إنشاء أكواد باستخدام خوارزميات ومتغيرات مختلفة / قيم ثابتة.

هناك 5 إصدارات من المعرف إجمالاً ، باستخدام تاريخ / وقت النظام وعناوين MAC وبروتوكولات أمان DCE وتجزئة MD5 وتجزئة SHA-1 ومساحة الاسم عند إنشائها.

في جميع الحالات ، يتم عرض النتيجة النهائية بالتنسيق xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (رقم بالتدوين السداسي العشري يتكون من أحرف وأرقام لاتينية صغيرة ومقسمة على واصلات إلى خمس كتل: 8-4 -4-4- 12) ، M تعني الإصدار ، N تعني متغير UUID.

وبالتالي ، يستخدم النظام 36 حرفًا في المرة الواحدة (26 حرفًا و 10 أرقام) ، وبالتالي فإن احتمال تكرار الرموز المكونة من 32 رقمًا يميل إلى الصفر ، على الرغم من حقيقة أنها يتم إنشاؤها يوميًا بواسطة ملايين المستخدمين حول العالم.

إصدارات UUID

الإصدار 1

يستند الإصدار الأول من المعرف الفريد ، عند إنشاء الشفرة ، إلى عنوان MAC الخاص بالكمبيوتر ووقت النظام الخاص به ، والذي يغير قيمته الرقمية مرة واحدة في الثانية. تتكون عملية التوليد من خمس مراحل:

  • مأخوذ أقل 32 بت من المعلومات من علامة UTC. يتم تحويلها إلى 8 أحرف سداسية عشرية وتتطلب 4 بايت.
  • متوسط ​​16 بت من المعلومات مأخوذة من نفس تصنيف UTC وتحويلها إلى 4 أحرف سداسية عشرية تشغل 2 بايت.
  • يتم أخذ الأجزاء الـ 12 العلوية من المعلومات من علامة UTC وتحويلها إلى 4 أحرف سداسية عشرية أخرى.
  • تقع 1-3 بتات أخرى في تسلسل الساعة وتقلل من مخاطر الاصطدامات عن طريق إدخال درجة من العشوائية / عدم اليقين. يكون وقت النظام إما بطيئًا بشكل مشروط أو يتراجع - بحيث لا "يتقاطع" معرّفان أو أكثر يعملان على نفس الكمبيوتر في نفس الوقت.
  • تُعد الـ 6 بايت المتبقية قيمة ثابتة يتم إنشاؤها بناءً على عنوان MAC الخاص بالجهاز. يتكون من 12 حرفًا سداسيًا عشريًا وحجمه 48 بت.

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

الإصدار 2

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

الإصداران 3 و 5

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

الإصدار 4

يتم إنشاء إصدار UUID هذا بشكل عشوائي بنسبة تزيد عن 90٪. يحتوي على 6 بتات للقيم الثابتة ، و 122 للقيم العشوائية. ويتم تطبيق الخوارزمية على أنه يتم أولاً إنشاء 128 بتًا من المعلومات بشكل عشوائي ، ويتم استبدال 6 منها ببيانات الإصدار والمتغير.

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

خيارات UUID

تم تحسين UUID الفريد عدة مرات مع تطور تكنولوجيا الكمبيوتر ، ويتم تقديمه اليوم في عدة إصدارات.

الخيار 0

مصمم للعمل مع قواعد بيانات تنسيق Apollo Network Computing System 1.5 1988 القديمة. هذا الخيار متوافق مع الإصدارات السابقة ولا يتعارض مع UUIDs التاريخية لمحطة التحكم بالشبكة.

الخياران 1 و 2

تُستخدم لتحديد مجموعات ومصفوفات البيانات الحديثة ، ولا تختلف عن بعضها البعض في شكل نص أساسي ، باستثناء ترتيب كتابة بتات المتغيرات. لذلك يستخدم الخيار 1 ترتيب بايت كبير الحجم ، والخيار 2 يستخدم عنوان endian. الأول هو الرئيسي ، والثاني مخصص للعمل مع المعرفات الفريدة العمومية (GUID) المبكرة من Microsoft Windows.

الخيار 3

ليست قيد الاستخدام حاليًا. إنها نسخة محجوزة للاستخدام في المستقبل - عند استنفاد إمكانيات الخيارات السابقة.

ترمز معظم الأنظمة المعرف بلغة النهاية الكبيرة ، ولكن هناك استثناءات. على سبيل المثال ، التنظيم في مكتبات Microsoft COM / OLE يستخدم مختلط endian أثناء إنشاء التعليمات البرمجية من كتل title-endian و big-endian. الأول هو المكونات الثلاثة الأولى من UUID ، والثاني هو المكونان الأخيران.