Каким должно быть содержимое OSI CCR atomi c идентификатор действия? - PullRequest
1 голос
/ 10 марта 2020

Спецификация X / Open XA определяет идентификатор транзакции как для распознавания идентификатора транзакции, так и для придания им уникальности.

Одной из рекомендаций является использование для этой цели OSI CCR atomi c идентификатора действия.

Идентификатор действия atomi c определяется, согласно X / Open spe c, ISO/IEC 9804.3 (1989). То, что ISO spe c, похоже, больше не существует, собственный веб-сайт ISO даже не найдет его.

Я нашел ITU X.852, который, кажется, определяет атомы c идентификаторы действий, но не ' t go в любой детали того, каким должно быть содержимое (помимо того, что оно уникально).

Пока что мое сканирование в Интернете действительно кажется тупиком, поэтому мне было интересно, есть ли у кого-нибудь какая-либо информация о том, что Предполагается, что содержимое OSR CCR должно быть, или мне лучше придумать свой собственный идентификатор формата и сгенерировать некоторые разумные идентификаторы транзакций, которые имеют смысл для моего приложения.

1 Ответ

1 голос
/ 17 апреля 2020

Я искал ту же топику c, и лучшая информация, которую я нашел, была в "ACSE / Presentation: API обработки транзакций (XAP-TP)"

1.3.19 Atomi c Идентификаторы действий

OSI TP использует CCR Atomi c Идентификаторы действий (AAIds) для уникальной идентификации распределенной транзакции, поддерживаемой поставщиком. AAId применяется ко всему дереву транзакций. Таким образом, каждая ветвь транзакции дерева имеет один и тот же AAId. AAId формируется из заголовка объекта приложения (AET) отправителя транзакции и уникального суффикса в области AET.

Примечание. AAId должен быть уникальным во всем мире.

Насколько я понимаю, это говорит о том, что идентификатор OSI-CCR имеет префикс (уникальный среди приложений) и суффикс (своего рода счетчик / идентификатор). Я не думаю, что в оригинальном документе более подробно.

Я использую алгоритм, основанный на снежинке Twitter (https://github.com/twitter-archive/snowflake/tree/b3f6a3c6ca8e1b6847baa6ff42bf72201e2c2231), который дает мне уникальное 64-битное число.

...