首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSI CCR原子操作标识符的内容应该是什么?

OSI CCR原子操作标识符的内容应该是什么?
EN

Stack Overflow用户
提问于 2020-03-10 12:35:01
回答 2查看 57关注 0票数 1

X/Open XA规范定义了一个事务标识符,用于识别事务ID并使其唯一。

建议之一是使用OSI CCR原子操作标识符来实现此目的。

根据X/Open规范,原子动作标识符由ISO/IEC 9804.3 (1989)定义。ISO规范似乎已经不复存在,ISO自己的网站甚至找不到它。

我发现ITU X.852似乎定义了原子操作标识符,但没有详细说明内容应该是什么(除了是唯一的)。

到目前为止,我的web爬行似乎真的是一条死胡同,所以我想知道是否有人有关于OSI CCR内容的任何信息,或者我最好是想出我自己的格式ID,并生成一些对我的应用程序有意义的合理的事务ID。

EN

回答 2

Stack Overflow用户

发布于 2020-04-17 18:45:52

我搜索了相同的主题,我找到的最佳信息在"ACSE/Presentation: Transaction Processing API (XAP-TP)“中。

1.3.19原子操作标识符

OSI TP使用CCR原子操作标识符(AAIds)来唯一标识提供程序支持的分布式事务。AAId应用于整个事务树。因此,树的每个事务分支都有相同的AAId。AAId由交易发起人的应用实体标题( AET )和在AET范围内唯一的后缀构成。

注意: AAId必须是全局唯一的。

据我所知,OSI-CCR标识符有一个前缀(在应用程序中是唯一的)和一个后缀(某种计数器/id)。我不认为原始文档会有更多细节。

我使用的是一个基于Twitter的雪花(https://github.com/twitter-archive/snowflake/tree/b3f6a3c6ca8e1b6847baa6ff42bf72201e2c2231)的算法,它给了我一个唯一的64位数字。

票数 1
EN

Stack Overflow用户

发布于 2022-01-31 15:06:23

对于将来遇到这个问题的任何人来说,答案完全是在公共标准内给出的。X.852给出了以下ASN.1定义

代码语言:javascript
复制
CCR { joint-iso-itu-t ccr(7) module(1) ccr-apdus1(1) version3(3) }
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
EXPORTS ... ;
IMPORTS
  AE-title
    FROM ACSE-1 { joint-iso-itu-t association-control(2) module(2) apdus(1) version1(1) };
    -- ASN.1 module defined in ITU-T Rec. X.227 | ISO/IEC 8650-1

ATOMIC-ACTION-IDENTIFIER ::= SEQUENCE
 { 
  owners-name CHOICE {
     name [0] EXPLICIT AE-title,
     side [1] ENUMERATED
       { sender(0), receiver(1), ... },
     ... },
  atomic-action-suffix CHOICE {
    form1 [2] OCTET STRING,
    form2 [3] INTEGER,
    ... }
}

side是一种速记形式,它的基本意思是“使用属于连接指定端的AE-Title,因为我们已经交换过了”

AE-Title从X.227导入

代码语言:javascript
复制
ACSE-1 { joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1) }
-- ACSE-1 refers to ACSE version 1
DEFINITIONS ::=
BEGIN
v
-- The data types Name and RelativeDistinguishedName are imported from ISO/IEC9594-2.
-- object identifier assignments.
IMPORTS Name, RelativeDistinguishedName
  FROM InformationFramework { joint-iso-ccitt ds(5) modules(1) informationFramework(1) } ;

-- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is composed of an
-- application-process title and an application-entity qualifier. The ACSE protocol provides for the transfer of
-- an application-entity title value by the transfer of its component values. However, the following data type is
-- provided for International Standards that reference a single syntactic structure for AE titles.
AE-title ::= CHOICE { AE-title-form1, AE-title-form2 }
AE-title-form1 ::= Name
-- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an AE title
-- has AE-title-form1. This value can be constructed from AP-title-form1 and AE-qualifier-form1 values
-- contained in an AARQ or AARE APDU. A discussion of forming an AE-title-form1 from AP-title-form1 and
-- AE-qualifier-form1 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
AE-title-form2 ::= OBJECT IDENTIFIER

继续追逐标准,Name来自X.501,并且与用于x.509证书的定义相同(即DC=com, DC=example, OU=users, CN=bob类型结构)

完整的定义可以在X.501或IETF PKIX RFC中找到。由于ISO的废话,最新版本的X.501只有在付费后才能使用,但包括2016版本在内的旧版本是免费的。

在扩展任何side速记之后,XAP-TP页面52有效地确认XID是原子动作标识符的误码率编码。(我假设这实际上应该是DER编码,所以它们是字节可比的)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60611599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档