《一种序列号转换方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种序列号转换方法和装置.pdf(14页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104090738A43申请公布日20141008CN104090738A21申请号201410252082922申请日20140609G06F7/7620060171申请人中国建设银行股份有限公司地址100032北京市西城区金融大街25号72发明人张强邱城晓雷镭施雷周超范新生滕文强段晴祝继74专利代理机构广州三环专利代理有限公司44202代理人温旭郝传鑫54发明名称一种序列号转换方法和装置57摘要本发明提供了序列号转换方法,包括根据35位序列号的后10位的连续非零有效位数确定转码方式,若连续非零有效位数为03,则将35位序列号分拆为3部分转码为19位序列号,若连续非零有效位。
2、数为47,则将35位序列号分拆为4部分转码为19位序列号,以及包括根据19位序列号最后4位解码得到的3字节整数确定转码方式,若3字节整数的高2BIT为第一标识码,则将19位序列号分拆为3部分转码为35位序列号;若所述3字节整数的高2BIT为第二标识码,则将19位序列号分拆为4部分转码为35位序列号。本发明还提供了相应的装置。实施上述方法和装置,可实现序列号的高效、唯一、可逆转换。51INTCL权利要求书3页说明书9页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书9页附图1页10申请公布号CN104090738ACN104090738A1/3页21一种序列号转换方法。
3、,其特征在于,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,所述方法包括根据所述35位序列号的后10位的连续非零有效位数确定转码方式,若所述连续非零有效位数为03,则将所述35位序列号分拆为3部分转码为19位序列号,若所述连续非零有效位数为47,则将所述35位序列号分拆为4部分转码为19位序列号。2一种序列号转换方法,其特征在于,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号。
4、,所述方法包括根据所述19位序列号最后4位解码得到的3字节整数确定转码方式,若所述3字节整数的高2BIT为第一标识码,则将所述19位序列号分拆为3部分转码为35位序列号;若所述3字节整数的高2BIT为第二标识码,则将所述19位序列号分拆为4部分转码为35位序列号。3根据权利要求1或2所述的方法,其特征在于,所述35位序列号的前25位包括6位节点编码、3位同一节点内的机器编码、10位世界协调时UTC编码和6位序列数。4根据权利要求1或2所述的方法,其特征在于,所述35位序列号中的6位序列数为单向递增,并且在到达999999后归零。5根据权利要求1所述的方法,其特征在于,所述将所述35位序列号分拆。
5、为3部分转码为19位序列号包括将所述35位序列号分拆为取值范围为36、10、10且二进制长度分别为6字节、4字节、3字节且对应BASE64编码后长度分别为8字节、6字节、4字节的3部分,并且在上述864个字节的第12个字节添加业务标识字符后,得到19位序列号。6根据权利要求1所述的方法,其特征在于,所述将所述35位序列号分拆为4部分转码为19位序列号包括将所述35位序列号分拆为取值范围为2、36、10、10且二进制长度分别为2字节、2字节、6字节和3字节且对应BASE64编码后长度分别为3字节、3字节、8字节、4字节的4部分,并且在上述3384个字节的第12个字节添加业务标识字符后,得到19位。
6、序列号。7根据权利要求5所述的方法,其特征在于,所述方法还包括得到所述35位序列号的二进制字节为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1021位字符串得到的二进制字节数为4字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第一标识码。8根据权利要求6所述的方法,其特征在于,所述方法还包括得到所述35位序列号的二进制字节数为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1025位字符串得到的二进制字节数为6字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第二标识码。9根据权利要求2所述的方法,其特征在于,所述将所述19位序列号分拆。
7、为3部分转码为35位序列号包括将所述19位序列号的第12位的业务标识字符去除之后,将剩下的权利要求书CN104090738A2/3页318位字符串依次分为8字节、6字节、4字节的3部分,使用BASE64算法对所述3部分进行解码得到对应的二进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和二进制长度为3字节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识码,并根据所述第二整数值得到恢复年月后的第二整数值,根据所述第一整数值、恢复年月后的第二整数值和所述第三整数值得到35位序列号的前28位序列号,在该28位序列号之后添加7个零,得到35位序列号。10根据权利要求2所述的方法。
8、,其特征在于,将所述19位序列号分拆为4部分转码为35位序列号包括将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为3字节、3字节、8字节、4字节的4部分,使用BASE64算法对所述4部分进行解码得到对应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数值、二进制长度为6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度为6字节的第三整数值中去除所述第二标识码,并根据所述第三整数值得到恢复年月后的第三整数值,根据所述第一整数值、所述第二整数值、恢复年月后的第三整数值和所述第四整数值得到35位序列号的前32位,在该32位序列号之后添加3个零,。
9、得到35位序列号。11根据权利要求9所述的方法,其特征在于,在二进制长度为4字节的字符串中去除第一标识码包括将二进制长度为4字节的第二整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第一标识码位置。12根据权利要求10所述的方法,其特征在于,在二进制长度为6字节的字符串中去除所述第二标识码包括将二进制长度为6字节的第三整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第二标识码位置。13一种序列号转换装置,其特征在于,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号。
10、包括前25位流水号和后10位纯数字的子交易序列号,包括第一判断单元,用于根据所述35位序列号的后10位的连续非零有效位数确定转码方式,若所述连续非零有效位数为03,则调用第一处理单元,若所述连续非零有效位数为47,则调用第二处理单元;第一处理单元,用于将所述35位序列号分拆为3部分转码为19位序列号;第二处理单元,用于将所述35位序列号分拆为4部分转码为19位序列号。14一种序列号转换装置,其特征在于,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,包括第二判断单元,用于根据所述19位。
11、序列号最后4位解码得到的3字节整数确定转码方式,若所述3字节整数的高2BIT为第一标识码,则调用第三处理单元,若所述3字节整数的高2BIT为第二标识码,则调用第四处理单元;第三处理单元,用于将所述19位序列号分拆为3部分转码为35位序列号;第四处理单元,用于将所述19位序列号分拆为4部分转码为35位序列号。15根据权利要求13或14所述的装置,其特征在于,所述35位序列号的前25位包括6位节点编码、3位同一节点内的机器编码、10位世界协调时UTC编码和6位序列数。16根据权利要求13或14所述的装置,其特征在于,所述35位序列号中的6位序列数权利要求书CN104090738A3/3页4为单向递。
12、增,并且在到达999999后归零。17根据权利要求12所述的装置,其特征在于,所述第一处理单元,用于实现下述处理将所述35位序列号分拆为取值范围为36、10、10且二进制长度分别为6字节、4字节、3字节且对应BASE64编码后长度分别为8字节、6字节、4字节的3部分,并且在上述864个字节的第12个字节添加业务标识字符后,得到19位序列号。18根据权利要求12所述的装置,其特征在于,所述第二处理单元,用于实现下述处理将所述35位序列号分拆为取值范围为2、36、10、10且二进制长度分别为2字节、2字节、6字节和3字节且对应BASE64编码后长度分别为3字节、3字节、8字节、4字节的4部分,并且。
13、在上述3384个字节的第12个字节添加业务标识字符后,得到19位序列号。19根据权利要求17所述的装置,其特征在于,所述装置还包括第一添加单元,用于实现下述处理得到所述35位序列号的二进制字节为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1021位字符串得到的二进制字节数为4字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第一标识码。20根据权利要求18所述的装置,其特征在于,所述装置还包括第二添加单元,用于实现下述处理得到所述35位序列号的二进制字节数为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1025位字符串得到的二进制字节数为6字节整。
14、数的高2BIT,然后将该3字节整数高2BIT设置为所述第二标识码。21根据权利要求13所述的装置,其特征在于,所述第三处理单元,用于实现下述处理将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为8字节、6字节、4字节的3部分,使用BASE64算法对所述3部分进行解码得到对应的二进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和二进制长度为3字节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识码,并根据所述第二整数值得到恢复年月后的第二整数值,根据所述第一整数值、恢复年月后的第二整数值和所述第三整数值得到35位序列号的前28位序列号,在该28。
15、位序列号之后添加7个零,得到35位序列号。22根据权利要求13所述的装置,其特征在于,所述第四处理单元,用于实现下述处理将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为3字节、3字节、8字节、4字节的4部分,使用BASE64算法对所述4部分进行解码得到对应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数值、二进制长度为6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度为6字节的第三整数值中去除所述第二标识码,并根据所述第三整数值得到恢复年月后的第三整数值,根据所述第一整数值、所述第二整数值、恢复年月后的第三整数值和所述第四整数值得到3。
16、5位序列号的前32位,在该32位序列号之后添加3个零,得到35位序列号。23根据权利要求21所述的装置,其特征在于,所述第三处理单元在二进制长度为4字节的字符串中去除第一标识码包括将二进制长度为4字节的第二整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第一标识码位置。24根据权利要求22所述的装置,其特征在于,所述第四处理单元在二进制长度为6字节的字符串中去除所述第二标识码包括将二进制长度为6字节的第三整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第二标识码位置。权利要求书CN104090738A1/9页5一种序列号转。
17、换方法和装置技术领域0001本发明涉及计算机数据处理领域,具体而言,涉及将一种计算机系统的序列号与另一种计算机系统的序列号进行转换的方法和装置。背景技术0002在涉及到两个不同的系统时,需要将两种系统中标记交易数据处理事件的序列号进行转换。在一些特别的情形下,例如在同一机构的新老两种系统中,要求相应的交易数据处理在新老系统中平稳过渡,需要新老系统中两个系统全局唯一的两种业务跟踪序列号能够唯一对应的互换。虽然现有技术中可采用MD5算法将任意长度的字符串变换成一个128BIT的大整数来进行序列号转换,但它属于不可逆的字符串变换算法,这使得通过转换后的序列号反向查询转换前的序列号变的不可能,而且MD。
18、5算法较为复杂,在转换效率和实时性方面也无法满足要求。因而,需要对两种系统中所要求的构造不同的序列号进行高效转换的解决方案。发明内容0003本发明提供了一种序列号互换方法和装置,能够将第一系统的19位序列号快捷、高效地转换为更新后的第二系统的具有特定要求的35位序列号,而且可以利用对应的转换算法将转换后的35位序列号反向转换为19位序列号,实时、高效地实现了两种系统对应的构造不同的序列号的互换,使得更新后的第二系统可通过反向的序列号转换使用第一系统的各项业务处理功能。0004根据本发明实施方式的第一方面,提供了一种序列号转换方法,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换。
19、,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,包括0005根据所述35位序列号的后10位的连续非零有效位数确定转码方式,0006若所述连续非零有效位数为03,则将所述35位序列号分拆为3部分转码为19位序列号,0007若所述连续非零有效位数为47,则将所述35位序列号分拆为4部分转码为19位序列号。0008根据本发明实施方式的第二方面,提供了一种序列号转换方法,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,该方法包括0009根据所述19。
20、位序列号最后4位解码得到的3字节整数确定转码方式,0010若所述3字节整数的高2BIT为第一标识码,则将所述19位序列号分拆为3部分转码为35位序列号;0011若所述3字节整数的高2BIT为第二标识码,则将所述19位序列号分拆为4部分转码为35位序列号。说明书CN104090738A2/9页60012根据本发明实施方式的第三方面,提供了一种序列号转换装置,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,包括0013第一判断单元,用于根据所述35位序列号的后10位的连续非零有效位数确定转。
21、码方式,若所述连续非零有效位数为03,则调用第一处理单元,若所述连续非零有效位数为47,则调用第二处理单元;0014第一处理单元,用于将所述35位序列号分拆为3部分转码为19位序列号;第二处理单元,用于将所述35位序列号分拆为4部分转码为19位序列号。0015根据本发明实施方式的第四方面,提供了一种序列号转换装置,用于第一0016系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序0017列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交0018易序列号,包括0019第二判断单元,用于根据所述19位序列号最后4位解码得到的3字节整数确定转码方式,若所述3字。
22、节整数的高2BIT为第一标识码,则调用第三处理单元,若所述3字节整数的高2BIT为第二标识码,则调用第四处理单元;0020第三处理单元,用于将所述19位序列号分拆为3部分转码为35位序列号;0021第四处理单元,用于将所述19位序列号分拆为4部分转码为35位序列号。0022实施本发明提供的序列号转换方法和装置,根据序列号的不同形式设计对应不同的转码方式,显著提高了序列号转换的转换效率,而且35位序列号与19位序列号的转换可逆,保证了序列号转换前后的唯一性。附图说明0023图1图示了根据本发明一种实施方式的序列号转换方法的第一示意图;0024图2图示了根据本发明一种实施方式的序列号转换方法的第二。
23、示意图。具体实施方式0025为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。0026参照图1,图1图示了根据本发明一种实施方式的序列号转换方法的示意图。本发明提供了一种序列号转换方法用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,该方法具体可包括0027根据所述35位序列号的后10位的连续非零有效位数确定转码方式,0028若所述连续非零有效位数为03,则将所述35位序列号分拆为3部分转码为19位序列号,0029若所述连续非零有效位数为47,则。
24、将所述35位序列号分拆为4部分转码为19位序列号。0030本发明实施方式中,第一系统和第二系统可以是同一机构使用的老系统和新系统,其在功能在存在一定的联系,但也存在的一些不同,第二系统可以是第一系统的更新形说明书CN104090738A3/9页7式。第一系统中的19位序列号可以是仅具有标识意义的全局事件跟踪号,作为索引对事件进行追踪,可以由事件触发点生成事件触发或规则触发,全局唯一,全流程共用,一直持续到事件结束。19位的全局事件跟踪号为可见字符串格式,包括52个可见英文字母26个小写英文字母及对应的26个大写英文字母、数字0到9以及“”、“”。0031本发明实施方式的35位序列号包括前25位。
25、流水号和后10位纯数字的子交易序列号,下面具体说明35位序列号的构成。前25位序列号,由每台机器各自独立生成,具有全局唯一性。其可以采用4段25位的编码方式,具体可以如表1。0032表100330034其中,25位流水号的第一段长度为6位的安全节点号,一般是表示产生该流水号的安全实体的相应编号。安全节点号可以直接引用安全架构所定义的安全节点编码。其中,安全实体具体为对应的交易系统例如,银行机构的某一交易系统,安全架构所定义的安全节点是安全架构为各个交易系统所定义的安全相关的编号。003525位流水号的第二段为长度为3位同一安全节点内的机器分类编号。所谓的机器分类编号,由取得安全节点号的责任方来。
26、编排并保证其全局唯一性其中,该机器分类编号优先使用数字编排,满999之后使用英文大写字母。其中责任方为该交易系统,在该交易系统内所有机器的编号都是唯一的。003625位流水号的第三段为长度为10位的时间,该时间是一个整数,表示从世界协调时COORDINATEDUNIVERSALTIME,UTC时间1970年1月1日000000开始到当前时间的秒数。为了计算得出这个整数,可以先计算从1970年元旦零点至当前日期的总天数,再进行相关换算和加上当天已走过的总秒数即可。按计算,这个10位的整数的最大值“9999999999”对应的时刻是2286年11月21日014639北京时间GMT8。003725位。
27、流水号的第四段为长度为6位的序列号。该序列号可以由机器自身的序列号生成器产生,从0开始逐个递增,每取出一个序列号后即向上加1,直至到达999999之后循环从0重复开始。流水号编码的第四段序列号,要求单向往前递增、到达最大值后归零。服务重启、系统重启、断电后重启等无论哪种情况下,都必须保证序列号单向往前递增。该序列号应该与时间是不相关的,禁止到达某一时间点即对序列号清零,因为机器的系统时间会被手动调整或自动同步而可能出现相同的时间。说明书CN104090738A4/9页8003835位序列号除了包括25流水号之外,还包括10位子交易序列号,其中子交易序列号为纯数字,在本发明的实施方式中,该10位。
28、子交易序列号的前7位为有效长度,如果连续非零的长度超过7位,则属于错误序列号。设置这样的子交易序列号的栏位目的在于供服务组合点区分所组合的服务,也就是区分组合交易包含的不同子交易。组合交易是指包含其他子交易的交易。非组合交易时,该10位的子交易序列号保持全0。在中间系统节点有组合的情况下,由组合点对应交易系统产生。规则如下该栏位存放服务组合点的子服务序列号。发起节点该栏位填写全0;交易过程节点如果没有组合,则保持全0;如果有组合,则从左到右,找到第一个0的位置,然后按其组合顺序,在该位填写子交易序列号1、2、3,最多为9。例如,P4收到1个请求报文,该栏位为全0,P4对该服务要组合2个子交易,。
29、则第一个交易该栏位填“1000000000”,对第二个交易填“2000000000”。0039本发明的实施方式中可以根据35位序列号的后10位子交易序列号的连续非零有效位数确定转码方式,若后10位子交易序列号的连续非零有效位数为03时,则将35位序列号分拆为3部分转码为19位序列号本文可称为方式1。若后10位子交易序列号的连续非零有效位数为47时,则将35位序列号分拆为4部分转码为19位序列号本文可称为方式2。例如,在一种实施方式中,35位全局事件跟踪号的后10位为1111100000,则其对应的35位全局事件跟踪号可分为4部分转码为19位序列号。由于目前大部分交易采用的子交易序列号有效位数不。
30、超过3位,因而在子交易序列号的有效位数不超过3的情况下,采用将35位跟踪号分为3部分的转码方式1,与将35位序列号分为4部分的转码方式2相比,转换的效率更高一些。针对序列号的子交易序列号的不同形式采用不同的转码方式,特别是在交易组合点分布较复杂例如,子交易序列号的有效位数既有大量的不超过3的情况,也有大量的超过3的情况时,显著提高了序列号转码的处理效率。0040在将35位序列号分拆为3部分进行转码的方式中,各部分取值范围、值空间以及BASE64编码后长度如下表2。下文中以将“ZZZZZZZZZ13575602681234561110000000”转换为19位序列号为例进行介绍。0041表200。
31、42数字/字母/取值范围位数值空间二进制表示位数二进制字节数BASE64编码后长度36910156E144768109100000000030461071000000024340043在表2中,35位序列号前9位的值空间最大为36的9次方,二进制占用47位,占用6个字节,BASE64编码6字节内存块后输出为8字节,示例序列号中该部分为“ZZZZZZZZZ”。以示例序列号为例,其中35位序列号从第10位开始的第1021位连续12位字符串“135756026812”的前10位“1357560268”表示当前时间的秒数,去除年月后的秒数最大值为2678400,占用7位,如“1357560268”在去。
32、除年月后得到的数值为“0590668”且不超过7位不足7位左侧补0。表2的第二行位数列中的9位为字符串“135756026812”去除年月后得到的结果“059066812”的长度;表2中第三行位数列中的7位为第2228位的说明书CN104090738A5/9页9“3456111”的长度,35位序列号的最后7位即第2935位“0000000”不进行处理。另外,表2中的“数字/字母/取值范围”列中,35位全局事件跟踪号的第19位取值范围为36,其中包括26英文字母和10个阿拉伯数字即0、1、2、3、4、5、6、7、8、9;第1021位表示时间的数字去除年月后的9位的取值范围为10,即10个阿拉伯数。
33、字;第2228位的7位取值范围为10,即10个阿拉伯数字。在经过BASE64编码得到8字节6字节4字节的18位全局事件跟踪号后,在第12位后加入业务标识字符,最终得到19位输出全局事件跟踪号。其中在12位添加的业务标识字符可根据业务需要增加,具有特定的含义。0044需要说明的是,本发明实施方式中的35位序列号必须进行分拆处理,如果不对35位全局事件跟踪号进行分段拆分,则其在内存中对应的值空间会很大且经过对应编码转换后得到的字符串长度会超过19位;必须将其分段拆分,使得拼接后对应值空间不越界。0045在将35位序列号分拆为4部分进行转码处理的方式中,各部分取值范围、值空间以及BASE64编码后长。
34、度可以如表3。下文中以将“408002ZZZ13575602681234561111111000”转换为19位序列号为例进行介绍。0046表300470048在表3中,35位序列号的前6位即第16位安全节点号“408002”通过采用枚举的方法转换为对应的整数值,由于拆分得到的4个字符串的后3个字符串表3中的第二、第三、第四行所对应字符串BASE64编码后得到的字符串长度为38415,则第一行对应6位安全节点号BASE64编码后得到的字符串长度不能超过3个字节,由此则限定了6位安全节点号对应的整数值空间在内存中不超过2字节,取值范围为0655352的16次方,该处的位数16指的是16BIT;表3。
35、中的第二行对应字符串为同一节点内机器分类编号第79位“ZZZ”;表3中的第三行对应16位即第1025位的字符串“1357560268123456”,具体处理方法与表2中对时间的处理一致,此处去除年月后为13个字符“0590668123456”,其值空间最大为26784E12,二进制字节数为6,BASE64编码后占用8个字节;表3中第四行对应第2632字符串为“1111111”,35位序列号的最后三位第3335位“000”不进行处理。在经过BASE64编码得到3字节3字节8字节4字节的18位全局事件跟踪号后,在第12位后加入业务标识字符后,最终得到19位输出全局事件跟踪号。0049由于在将35位。
36、全局事件跟踪号转换为19位全局事件跟踪号的过程中,使用了方式1和方式2两种转码方式,在对应的将19位全局事件跟踪号转换为35位全局事件跟踪号的过程中需要设置相应两个标识码,标识出是使用方式1对应的方式11,还是使用方式2说明书CN104090738A6/9页10对应的方式22。具体可以包括如下步骤得到35位序列号拆分后的第三个字符串7位有效长度,对应表2第三行对应的3字节整数后,将该3字节整数高2BIT转移到表2第二行中第1021位的12位字符串对应的二进制字节数为4字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第一标识码例如,可以设置为00;以及得到35位序列号拆分后的第四个字。
37、符串有效长度为7位,二进制字节数为3字节,对应表3第四行的3字节整数后,将该3字节整数高2BIT转移到表3所述第三行原35位序列号第1025位共16位字符串得到的二进制字节数为6字节整数的高2BIT,然后将该3字节整数高2BIT设置为第二标识码例如,可以设置为01。0050在本发明的实施方式中,将19位全局事件跟踪号转换为35位全局事件跟踪号的具体步骤可以如图2所示。具体而言,包括根据19位全局事件跟踪号最后4位解码得到的3字节整数确定转码方式,若所述3字节整数的高2BIT为第一标识码,则将所述19位全局事件跟踪号分拆为3部分转码为35位全局事件跟踪号本文中可称为方式11;若所述3字节整数的高。
38、2BIT为第二标识码,则将所述19位全局事件跟踪号分拆为4部分转码为35位全局事件跟踪号本文中可称为方式22。0051具体而言,将19位全局事件跟踪号转换为35位全局事件跟踪号的步骤根据上述的方式1和方式2不同对应地分为两种方式11和方式22,方式11的转码方式具体可包括将19位全局事件跟踪号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为表2中对应的8字节、6字节、4字节的3部分,使用BASE64算法对所述3部分进行解码得到对应的二进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和二进制长度为3字节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识码,并根。
39、据所述第二整数值得到恢复年月后的第二整数值,根据第一整数值、恢复年月后的第二整数值和第三整数值得到35位序列号的前28位序列号,在该28位序列号之后添加7个零,得到35位序列号。方式22的转码方式具体可包括将19位全局事件跟踪号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为表3中所示的3字节、3字节、8字节、4字节的4部分,使用BASE64算法对所述4部分进行解码得到对应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数值、二进制长度为6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度为6字节的第三整数值中去除第二标识码,并根据第三整数值得到恢复年月后。
40、的第三整数值,根据第一整数值、第二整数值、恢复年月后的第三整数值和第四整数值得到35位序列号的前32位,在该32位序列号之后添加3个零,得到35位序列号。0052在本发明实施方式,根据标识转码方式的标识码的不同,去除标识码可分为去除第一标识码和去除第二标识码。其中,去除第一标识码具体可以包括根据19位全局事件跟踪号的最后4位得到对应3字节整数高2BIT,如果高2BIT为第一标识码例如,可以为标识码00,则将二进制长度为4字节的第二整数值的高2BIT转移到将19位全局事件跟踪号最后4位解码得到的3字节整数的高2BIT的第一标识码位置。对于第二标识码例如,可以为标识码01,其去除步骤具体可包括将二。
41、进制长度为6字节的第三整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第二标识码位置。0053以上结合具体实施方式描述了本发明的序列号转换方法,下面将结合具体实施方式描述用于实现上述序列号转换方法的序列号转换装置。说明书CN104090738A107/9页110054本发明的一种序列号转换装置,该装置可用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,具体可包括0055第一判断单元,用于根据所述35位序列号的后10位的连续非零有效位数确定转码方式,若所。
42、述连续非零有效位数为03,则调用第一处理单元,若所述连续非零有效位数为47,则调用第二处理单元;0056第一处理单元,用于将所述35位序列号分拆为3部分转码为19位序列号;0057第二处理单元,用于将所述35位序列号分拆为4部分转码为19位序列号。0058本发明实施方式中,第一系统和第二系统可以是同一机构使用的老系统和新系统。其中,第一系统中的19位序列号可以是仅具有标识意义的全局事件跟踪号,作为索引对事件进行追踪,可以由事件触发点生成事件触发或规则触发,全局唯一,全流程共用,一直持续到事件结束。19位的全局事件跟踪号为可见字符串格式,包括52个可见英文字母26个小写英文字母及对应的26个大写。
43、英文字母、数字0到9以及“”、“”。0059本发明实施方式的35位序列号包括前25位流水号和后10位纯数字的子交易序列号,下面具体说明35位序列号的构成。前25位序列号,由每台机器各自独立生成,具有全局唯一性。其可以采用4段25位的编码方式,具体可以如表1。对表1中相关编号的说明,具体可参见方法部分的描述。其中,35位序列号的前25位包括6位节点编码、3位同一节点内的机器编码、10位世界协调时UTC编码和6位序列数,6位序列数为单向递增,并且在到达999999后归零。0060本发明实施方式中的第一判断单元可据35位序列号的后10位子交易序列号的连续非零有效位数确定是采用第一处理单元进行转码本文。
44、中将第一处理单元的转码方式为方式1,还是采用第二处理单元进行转码本文中将第二处理单元的转码方式为方式2。由于目前大部分交易采用的子交易序列号有效位数不超过3位,因而在子交易序列号的有效位数不超过3的情况下,采用第一处理单元将35位跟踪号分为3部分的转码方式1,与采用第二处理单元将35位序列号分为4部分的转码方式2相比,转换的效率更高一些。针对序列号的子交易序列号的不同形式采用不同的转码方式,特别是在交易组合点分布较复杂例如,子交易序列号的有效位数既有大量的不超过3的情况,也有大量的超过3的情况时,显著提高了序列号转码的处理效率。0061第一处理单元在将35位序列号分拆为3部分进行转码的方式中,。
45、具体是将所述35位序列号分拆为取值范围为36、10、10且二进制长度分别为6字节、4字节、3字节且对应BASE64编码后长度分别为8字节、6字节、4字节的3部分,并且在上述864个字节的第12个字节添加业务标识字符后,得到19位序列号。其中,分开的3部分取值范围、值空间以及BASE64编码后长度如下表2。对表2中相关数据的说明,具体可参照方法部分对表2的描述。0062第二处理单元在将35位序列号分拆为4部分进行转码处理的方式中,具体是将所述35位序列号分拆为取值范围为2、36、10、10且二进制长度分别为2字节、2字节、6字节和3字节且对应BASE64编码后长度分别为3字节、3字节、8字节、4。
46、字节的4部分,并且在上述3384个字节的第12个字节添加业务标识字符后,得到19位序列号。拆分的4部分取值范围、值空间以及BASE64编码后长度可以如表3。对表2中相关数据的说明,具体说明书CN104090738A118/9页12可参照方法部分对表2的描述。0063在本发明的一些实施方式中,序列号转换装置还可以包括第一添加单元,用于实现下述处理得到所述35位序列号的二进制字节为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1021位字符串得到的二进制字节数为4字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第一标识码例如,可以是00。在另一些实施方式中,还可以包括。
47、第二添加单元,用于实现下述处理得到所述35位序列号的二进制字节数为3字节的整数后,将该3字节整数高2BIT转移到所述35位序列号第1025位字符串得到的二进制字节数为6字节整数的高2BIT,然后将该3字节整数高2BIT设置为所述第二标识码例如,可以是01。0064本发明实施方式提供的另一种序列号转换装置,用于第一系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交易序列号,具体可以包括0065第二判断单元,用于根据所述19位序列号最后4位解码得到的3字节整数确定转码方式,若所述3字节整数的高2BIT为第一标。
48、识码,则调用第三处理单元,若所述3字节整数的高2BIT为第二标识码,则调用第四处理单元;0066第三处理单元,用于将所述19位序列号分拆为3部分转码为35位序列号;0067第四处理单元,用于将所述19位序列号分拆为4部分转码为35位序列号。0068本发明的实施方式中,第二判断单元可根据所述19位序列号最后4位解码得到的3字节整数确定转码方式,若所述3字节整数的高2BIT为第一标识码,则调用第三处理单元,若所述3字节整数的高2BIT为第二标识码,则调用第四处理单元。第三处理单元的转码方式是与第一处理单元采用的转码方式1对应的转码方式11,第四处理单元的转码方式是与第二处理单元采用的转码方式2对应。
49、的转码方式22。0069第三处理单元可用于实现下述处理将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为8字节、6字节、4字节的3部分,使用BASE64算法对所述3部分进行解码得到对应的二进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和二进制长度为3字节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识码,并根据所述第二整数值得到恢复年月后的第二整数值,根据所述第一整数值、恢复年月后的第二整数值和所述第三整数值得到35位序列号的前28位序列号,在该28位序列号之后添加7个零,得到35位序列号。第三处理单元的转码处理与第一处理单元的转码处理是相逆的,在此不再赘述。其中,在二进制长度为4字节的字符串中去除第一标识码包括将二进制长度为4字节的第二整数值的高2BIT转移到将所述19位序列号最后4位解码得到的3字节整数的高2BIT的第一标识码位置。0070第四处理单元可用于实现下述处理将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分为3字节、3字节、8字节、4字节的4部分,使用BASE64算法对所述4部分进行解码得到对应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数值、二进制长度为6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度为6字节的第三整数值中去除所述第二标识码,并根据。