Как UUID съхраняват времеви маркери?

Няколко версии на 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) включва времеви маркер, но рядко се използва на практика.

Описание на инструмента

Този инструмент извлича и декодира времевия маркер, вграден в UUID с времева база. Поставете произволен 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, които не съдържат времеви маркери

Как работи

Всяка версия на UUID с времева база съхранява своя времеви маркер по различен начин:

  • UUID v1 разделя 60-битов григориански времеви маркер в три полета: time_low (битове 0–31), time_mid (битове 32–47) и time_hi (битове 48–59). Времевият маркер брои 100-наносекундни интервали от 15 октомври 1582 г.
  • UUID v6 пренарежда полетата на времевия маркер от v1 така, че най-значимите битове да са на първо място, което прави UUID-тата естествено сортируеми по време на създаване, като използва същата григорианска епоха.
  • UUID v7 използва по-опростен подход: първите 48 бита съдържат стандартен Unix времеви маркер в милисекунди, което прави извличането лесно и съвместимо със съвременните системи.

Случаи на употреба

  • Дебъгване на разпределени системи — определете точно кога е създаден даден запис или събитие, като декодирате присвоения му UUID
  • Одит и криминалистика — проверете времевите маркери на създаване в бази данни, които използват UUID с времева база като първични ключове
  • Планиране на миграция — анализирайте времевите маркери на UUID, за да разберете разпределението и възрастта на данните преди мигриране между системи