Идентификатор снежинки
1818838237716676608 | |
---|---|
Идентификатор снежинки | |
Другие имена | Твиттер Снежинка |

Идентификаторы снежинок или снежинки представляют собой форму уникального идентификатора, используемого в распределенных вычислениях . Формат был создан Twitter (теперь X) и используется для идентификаторов твитов. [1] В народе считается, что каждая снежинка имеет уникальную структуру, поэтому они получили название «идентификатор снежинки». Формат был принят другими компаниями, включая Discord и Instagram . Социальная сеть Mastodon использует модифицированную версию.
Формат
[ редактировать ]Снежинки имеют размер 64 бита в двоичном формате. (Только 63 используются для размещения целого числа со знаком .) Первые 41 бит — это временная метка , представляющая миллисекунды с момента выбранной эпохи . Следующие 10 бит представляют идентификатор машины, что предотвращает конфликты. Еще двенадцать бит представляют порядковый номер для каждой машины, что позволяет создавать несколько снежинок за одну миллисекунду. Окончательное число обычно сериализуется в десятичном формате. [2]
Снежинки сортируются по времени, поскольку они основаны на времени их создания. [2] Кроме того, по снежинке можно рассчитать время создания снежинки. Это можно использовать для получения снежинок (и связанных с ними объектов), созданных до или после определенной даты. [3]
Смещения | Октет | 0 | 1 | 2 | 3 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Октет | Кусочек | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
0 | 0 | 0 | Временная метка — первые 31 бит | |||||||||||||||||||||||||||||||
4 | 32 | Временная метка — последние 10 бит | Идентификатор машины | Порядковый номер машины |
Пример
[ редактировать ]Твит, созданный @Wikipedia в июне 2022 года. [4] имеет идентификатор снежинки 1541815603606036480 . Число может быть преобразовано в двоичное число как 00 0001 0101 0110 0101 1010 0001 0001 1111 0110 0010 00|01 0111 1010|0000 0000 0000 , с символами вертикальной черты, обозначающими три части идентификатора.
- Первые 41 бит (+ 1 верхний нулевой бит) преобразуются в десятичные числа как 367597485448 . Добавьте значение к эпохе X 1288834974657 (в времени Unix ), миллисекундах [5] поэтому Unix-время твита 1656432460.105 : 28 июня 2022 г., 16:07:40.105 UTC.
- Средние 10 бит 01 0111 1010 — это идентификатор машины.
- Последние 12 бит декодируются до нуля, что означает, что этот твит является первым твитом, обработанным машиной за данную миллисекунду.
Использование
[ редактировать ]Впервые формат был анонсирован X/Twitter в июне 2010 года. [1] Из-за проблем с внедрением они отложили выпуск обновления до конца года. [6]
- X использует идентификаторы «снежинки» для публикаций, прямых сообщений, пользователей, списков и всех других объектов, доступных через API . [7]
- Discord также использует снежинки, эпоха которых установлена на первую секунду 2015 года. [3]
- Instagram использует модифицированную версию формата: 41 бит для отметки времени, 13 бит для идентификатора сегмента и 10 бит для порядкового номера. [8]
- Модифицированный формат Mastodon имеет 48 бит для отметки времени миллисекундного уровня, поскольку он использует эпоху UNIX . Остальные 16 бит предназначены для данных последовательности. [9]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Кинг, Райан (1 июня 2010 г.). «Анонсируем Снежинку» . блог.twitter.com . Твиттер . Проверено 18 января 2021 г.
- ^ Перейти обратно: а б «Твиттер-архив/снежинка на b3f6a3c6ca» . Гитхаб . 1 октября 2012 года . Проверено 18 января 2021 г.
- ^ Перейти обратно: а б «Справочник по API» . Портал разработчиков Discord . Раздор . Проверено 18 января 2021 г.
- ^ @Arc.Ask3.Ru (28 июня 2022 г.). «В этот день, 53 года назад, члены ЛГБТКИ+-сообщества начали протестовать в Нью-Йорке в ответ на полицейский рейд в Stonewall Inn, популярном гей-баре. Беспорядки стали переломным событием в борьбе 20-го века за права ЛГБТКИ+ в США. (1/2)» ( Твит ) – через Твиттер .
- ^ «03.08.2019: TweetedAt: поиск временных меток твитов для идентификаторов твитов до и после снежинки» . 03.08.2019 .
- ^ Зиглер, М.Г. (12 октября 2010 г.). «Идентификаторы твитов вот-вот перепутаются в снежной буре, когда «Снежинка» выйдет в эфир» . ТехКранч . Проверено 18 января 2021 г.
- ^ «Идентификаторы Твиттера» . Разработчик Твиттера . Твиттер . Проверено 20 января 2021 г.
- ^ «Шардинг и идентификаторы в Instagram» . Инстаграм Инжиниринг . 2 мая 2016 г. Проверено 18 января 2021 г.
- ^ Исходный код mastodon/mastodon , Мастодонт, 11 ноября 2022 г. , получено 11 ноября 2022 г.