一种序列号转换方法和装置制造方法

文档序号:6548957阅读:180来源:国知局
一种序列号转换方法和装置制造方法
【专利摘要】本发明提供了序列号转换方法,包括:根据35位序列号的后10位的连续非零有效位数确定转码方式,若连续非零有效位数为0-3,则将35位序列号分拆为3部分转码为19位序列号,若连续非零有效位数为4-7,则将35位序列号分拆为4部分转码为19位序列号,以及包括:根据19位序列号最后4位解码得到的3字节整数确定转码方式,若3字节整数的高2bit为第一标识码,则将19位序列号分拆为3部分转码为35位序列号;若所述3字节整数的高2bit为第二标识码,则将19位序列号分拆为4部分转码为35位序列号。本发明还提供了相应的装置。实施上述方法和装置,可实现序列号的高效、唯一、可逆转换。
【专利说明】一种序列号转换方法和装置

【技术领域】
[0001] 本发明涉及计算机数据处理领域,具体而言,涉及将一种计算机系统的序列号与 另一种计算机系统的序列号进行转换的方法和装置。

【背景技术】
[0002] 在涉及到两个不同的系统时,需要将两种系统中标记交易数据处理事件的序列号 进行转换。在一些特别的情形下,例如在同一机构的新老两种系统中,要求相应的交易数 据处理在新老系统中平稳过渡,需要新老系统中两个系统全局唯一的两种业务跟踪序列号 能够唯一对应的互换。虽然现有技术中可采用MD5算法将任意长度的字符串变换成一个 128bit的大整数来进行序列号转换,但它属于不可逆的字符串变换算法,这使得通过转换 后的序列号反向查询转换前的序列号变的不可能,而且MD5算法较为复杂,在转换效率和 实时性方面也无法满足要求。因而,需要对两种系统中所要求的构造不同的序列号进行高 效转换的解决方案。


【发明内容】

[0003] 本发明提供了一种序列号互换方法和装置,能够将第一系统的19位序列号快捷、 高效地转换为更新后的第二系统的具有特定要求的35位序列号,而且可以利用对应的转 换算法将转换后的35位序列号反向转换为19位序列号,实时、高效地实现了两种系统对应 的构造不同的序列号的互换,使得更新后的第二系统可通过反向的序列号转换使用第一系 统的各项业务处理功能。
[0004] 根据本发明实施方式的第一方面,提供了 一种序列号转换方法,用于第一系统的 19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35 位序列号包括前25位流水号和后10位纯数字的子交易序列号,包括:
[0005] 根据所述35位序列号的后10位的连续非零有效位数确定转码方式,
[0006] 若所述连续非零有效位数为0-3,则将所述35位序列号分拆为3部分转码为19位 序列号,
[0007] 若所述连续非零有效位数为4-7,则将所述35位序列号分拆为4部分转码为19位 序列号。
[0008] 根据本发明实施方式的第二方面,提供了 一种序列号转换方法,用于第一系统的 19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35 位序列号包括前25位流水号和后10位纯数字的子交易序列号,该方法包括:
[0009] 根据所述19位序列号最后4位解码得到的3字节整数确定转码方式,
[0010] 若所述3字节整数的高2bit为第一标识码,则将所述19位序列号分拆为3部分 转码为35位序列号;
[0011] 若所述3字节整数的高2bit为第二标识码,则将所述19位序列号分拆为4部分 转码为35位序列号。
[0012] 根据本发明实施方式的第三方面,提供了一种序列号转换装置,用于第一系统的 19位序列号与更新后的第二系统的35位序列号的转换,其中19位序列号为可见字符串,35 位序列号包括前25位流水号和后10位纯数字的子交易序列号,包括:
[0013] 第一判断单元,用于根据所述35位序列号的后10位的连续非零有效位数确定转 码方式,若所述连续非零有效位数为0-3,则调用第一处理单元,若所述连续非零有效位数 为4-7,则调用第二处理单元;
[0014] 第一处理单元,用于将所述35位序列号分拆为3部分转码为19位序列号;第二处 理单元,用于将所述35位序列号分拆为4部分转码为19位序列号。
[0015] 根据本发明实施方式的第四方面,提供了一种序列号转换装置,用于第一
[0016] 系统的19位序列号与更新后的第二系统的35位序列号的转换,其中19位序
[0017] 列号为可见字符串,35位序列号包括前25位流水号和后10位纯数字的子交
[0018] 易序列号,包括:
[0019] 第二判断单元,用于根据所述19位序列号最后4位解码得到的3字节整数确定转 码方式,若所述3字节整数的高2bit为第一标识码,则调用第三处理单元,若所述3字节整 数的高2bit为第二标识码,则调用第四处理单元;
[0020] 第三处理单元,用于将所述19位序列号分拆为3部分转码为35位序列号;
[0021] 第四处理单元,用于将所述19位序列号分拆为4部分转码为35位序列号。
[0022] 实施本发明提供的序列号转换方法和装置,根据序列号的不同形式设计对应不同 的转码方式,显著提高了序列号转换的转换效率,而且35位序列号与19位序列号的转换可 逆,保证了序列号转换前后的唯一性。

【专利附图】

【附图说明】
[0023] 图1图示了根据本发明一种实施方式的序列号转换方法的第一示意图;
[0024] 图2图示了根据本发明一种实施方式的序列号转换方法的第二示意图。

【具体实施方式】
[0025] 为使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发 明作进一步地详细描述。
[0026] 参照图1,图1图示了根据本发明一种实施方式的序列号转换方法的示意图。本发 明提供了一种序列号转换方法用于第一系统的19位序列号与更新后的第二系统的35位序 列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号和后10位纯 数字的子交易序列号,该方法具体可包括:
[0027] 根据所述35位序列号的后10位的连续非零有效位数确定转码方式,
[0028] 若所述连续非零有效位数为0-3,则将所述35位序列号分拆为3部分转码为19位 序列号,
[0029] 若所述连续非零有效位数为4-7,则将所述35位序列号分拆为4部分转码为19位 序列号。
[0030] 本发明实施方式中,第一系统和第二系统可以是同一机构使用的老系统和新系 统,其在功能在存在一定的联系,但也存在的一些不同,第二系统可以是第一系统的更新形 式。第一系统中的19位序列号可以是仅具有标识意义的全局事件跟踪号,作为索引对事件 进行追踪,可以由事件触发点生成(事件触发或规则触发),全局唯一,全流程共用,一直持 续到事件结束。19位的全局事件跟踪号为可见字符串格式,包括52个可见英文字母(26个 小写英文字母及对应的26个大写英文字母)、数字0到9以及" + "、"_"。
[0031] 本发明实施方式的35位序列号包括前25位流水号和后10位纯数字的子交易序 列号,下面具体说明35位序列号的构成。前25位序列号,由每台机器各自独立生成,具有 全局唯一性。其可以采用4段25位的编码方式,具体可以如表1。
[0032] 表 1
[0033]

【权利要求】
1. 一种序列号转换方法,其特征在于,用于第一系统的19位序列号与更新后的第二系 统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号 和后10位纯数字的子交易序列号,所述方法包括: 根据所述35位序列号的后10位的连续非零有效位数确定转码方式, 若所述连续非零有效位数为0-3,则将所述35位序列号分拆为3部分转码为19位序列 号, 若所述连续非零有效位数为4-7,则将所述35位序列号分拆为4部分转码为19位序列 号。
2. -种序列号转换方法,其特征在于,用于第一系统的19位序列号与更新后的第二系 统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水号 和后10位纯数字的子交易序列号,所述方法包括: 根据所述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位序列号分拆为3部分转 码为19位序列号包括:将所述35位序列号分拆为取值范围为36、10、10且二进制长度分别 为6字节、4字节、3字节且对应base64编码后长度分别为8字节、6字节、4字节的3部分, 并且在上述(8+6+4)个字节的第12个字节添加业务标识字符后,得到19位序列号。
6. 根据权利要求1所述的方法,其特征在于,所述将所述35位序列号分拆为4部分转 码为19位序列号包括:将所述35位序列号分拆为取值范围为2、36、10、10且二进制长度分 别为2字节、2字节、6字节和3字节且对应base64编码后长度分别为3字节、3字节、8字 节、4字节的4部分,并且在上述(3+3+8+4)个字节的第12个字节添加业务标识字符后,得 到19位序列号。
7. 根据权利要求5所述的方法,其特征在于,所述方法还包括:得到所述35位序列号 的二进制字节为3字节的整数后,将该3字节整数高2bit转移到所述35位序列号第10-21 位字符串得到的二进制字节数为4字节整数的高2bit,然后将该3字节整数高2bit设置为 所述第一标识码。
8. 根据权利要求6所述的方法,其特征在于,所述方法还包括:得到所述35位序列号 的二进制字节数为3字节的整数后,将该3字节整数高2bit转移到所述35位序列号第 10-25位字符串得到的二进制字节数为6字节整数的高2bit,然后将该3字节整数高2bit 设置为所述第二标识码。
9. 根据权利要求2所述的方法,其特征在于,所述将所述19位序列号分拆为3部分转 码为35位序列号包括:将所述19位序列号的第12位的业务标识字符去除之后,将剩下的 18位字符串依次分为8字节、6字节、4字节的3部分,使用base64算法对所述3部分进行 解码得到对应的二进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和 二进制长度为3字节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识 码,并根据所述第二整数值得到恢复年月后的第二整数值,根据所述第一整数值、恢复年月 后的第二整数值和所述第三整数值得到35位序列号的前28位序列号,在该28位序列号之 后添加7个零,得到35位序列号。
10. 根据权利要求2所述的方法,其特征在于,将所述19位序列号分拆为4部分转码 为35位序列号包括:将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18 位字符串依次分为3字节、3字节、8字节、4字节的4部分,使用base64算法对所述4部分 进行解码得到对应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数 值、二进制长度为6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度 为6字节的第三整数值中去除所述第二标识码,并根据所述第三整数值得到恢复年月后的 第三整数值,根据所述第一整数值、所述第二整数值、恢复年月后的第三整数值和所述第四 整数值得到35位序列号的前32位,在该32位序列号之后添加3个零,得到35位序列号。
11. 根据权利要求9所述的方法,其特征在于,在二进制长度为4字节的字符串中去除 第一标识码包括:将二进制长度为4字节的第二整数值的高2bit转移到将所述19位序列 号最后4位解码得到的3字节整数的高2bit的第一标识码位置。
12. 根据权利要求10所述的方法,其特征在于,在二进制长度为6字节的字符串中去除 所述第二标识码包括:将二进制长度为6字节的第三整数值的高2bit转移到将所述19位 序列号最后4位解码得到的3字节整数的高2bit的第二标识码位置。
13. -种序列号转换装置,其特征在于,用于第一系统的19位序列号与更新后的第二 系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水 号和后10位纯数字的子交易序列号,包括: 第一判断单元,用于根据所述35位序列号的后10位的连续非零有效位数确定转码 方式,若所述连续非零有效位数为0-3,则调用第一处理单元,若所述连续非零有效位数为 4-7,则调用第二处理单元; 第一处理单元,用于将所述35位序列号分拆为3部分转码为19位序列号; 第二处理单元,用于将所述35位序列号分拆为4部分转码为19位序列号。
14. 一种序列号转换装置,其特征在于,用于第一系统的19位序列号与更新后的第二 系统的35位序列号的转换,其中19位序列号为可见字符串,35位序列号包括前25位流水 号和后10位纯数字的子交易序列号,包括: 第二判断单元,用于根据所述19位序列号最后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位序列数 为单向递增,并且在到达999999后归零。
17. 根据权利要求12所述的装置,其特征在于,所述第一处理单元,用于实现下述处 理:将所述35位序列号分拆为取值范围为36、10、10且二进制长度分别为6字节、4字节、3 字节且对应base64编码后长度分别为8字节、6字节、4字节的3部分,并且在上述(8+6+4) 个字节的第12个字节添加业务标识字符后,得到19位序列号。
18. 根据权利要求12所述的装置,其特征在于,所述第二处理单元,用于实现下述处 理:将所述35位序列号分拆为取值范围为2、36、10、10且二进制长度分别为2字节、2字节、 6字节和3字节且对应base64编码后长度分别为3字节、3字节、8字节、4字节的4部分, 并且在上述(3+3+8+4)个字节的第12个字节添加业务标识字符后,得到19位序列号。
19. 根据权利要求17所述的装置,其特征在于,所述装置还包括第一添加单元,用于 实现下述处理:得到所述35位序列号的二进制字节为3字节的整数后,将该3字节整数高 2bit转移到所述35位序列号第10-21位字符串得到的二进制字节数为4字节整数的高 2bit,然后将该3字节整数高2bit设置为所述第一标识码。
20. 根据权利要求18所述的装置,其特征在于,所述装置还包括第二添加单元,用于实 现下述处理:得到所述35位序列号的二进制字节数为3字节的整数后,将该3字节整数高 2bit转移到所述35位序列号第10-25位字符串得到的二进制字节数为6字节整数的高 2bit,然后将该3字节整数高2bit设置为所述第二标识码。
21. 根据权利要求13所述的装置,其特征在于,所述第三处理单元,用于实现下述处 理:将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分 为8字节、6字节、4字节的3部分,使用base64算法对所述3部分进行解码得到对应的二 进制长度为6字节的第一整数值、二进制长度为4字节的第二整数值和二进制长度为3字 节的第三整数值,在二进制长度为4字节的第二整数值中去除第一标识码,并根据所述第 二整数值得到恢复年月后的第二整数值,根据所述第一整数值、恢复年月后的第二整数值 和所述第三整数值得到35位序列号的前28位序列号,在该28位序列号之后添加7个零, 得到35位序列号。
22. 根据权利要求13所述的装置,其特征在于,所述第四处理单元,用于实现下述处 理:将所述19位序列号的第12位的业务标识字符去除之后,将剩下的18位字符串依次分 为3字节、3字节、8字节、4字节的4部分,使用base64算法对所述4部分进行解码得到对 应的二进制长度为2字节的第一整数值、二进制长度为2字节的第二整数值、二进制长度为 6字节的第三整数值和二进制长度为3字节的第四整数值,在二进制长度为6字节的第三整 数值中去除所述第二标识码,并根据所述第三整数值得到恢复年月后的第三整数值,根据 所述第一整数值、所述第二整数值、恢复年月后的第三整数值和所述第四整数值得到35位 序列号的前32位,在该32位序列号之后添加3个零,得到35位序列号。
23. 根据权利要求21所述的装置,其特征在于,所述第三处理单元在二进制长度为4字 节的字符串中去除第一标识码包括:将二进制长度为4字节的第二整数值的高2bit转移到 将所述19位序列号最后4位解码得到的3字节整数的高2bit的第一标识码位置。
24. 根据权利要求22所述的装置,其特征在于,所述第四处理单元在二进制长度为6字 节的字符串中去除所述第二标识码包括:将二进制长度为6字节的第三整数值的高2bit转 移到将所述19位序列号最后4位解码得到的3字节整数的高2bit的第二标识码位置。
【文档编号】G06F7/76GK104090738SQ201410252082
【公开日】2014年10月8日 申请日期:2014年6月9日 优先权日:2014年6月9日
【发明者】张强, 邱城晓, 雷镭, 施雷, 周超, 范新生, 滕文强, 段晴, 祝继 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1