一種序列號轉換方法和裝置制造方法
【專利摘要】本發(fā)明提供了序列號轉換方法,包括:根據35位序列號的后10位的連續(xù)非零有效位數確定轉碼方式,若連續(xù)非零有效位數為0-3,則將35位序列號分拆為3部分轉碼為19位序列號,若連續(xù)非零有效位數為4-7,則將35位序列號分拆為4部分轉碼為19位序列號,以及包括:根據19位序列號最后4位解碼得到的3字節(jié)整數確定轉碼方式,若3字節(jié)整數的高2bit為第一標識碼,則將19位序列號分拆為3部分轉碼為35位序列號;若所述3字節(jié)整數的高2bit為第二標識碼,則將19位序列號分拆為4部分轉碼為35位序列號。本發(fā)明還提供了相應的裝置。實施上述方法和裝置,可實現序列號的高效、唯一、可逆轉換。
【專利說明】一種序列號轉換方法和裝置
【技術領域】
[0001] 本發(fā)明涉及計算機數據處理領域,具體而言,涉及將一種計算機系統的序列號與 另一種計算機系統的序列號進行轉換的方法和裝置。
【背景技術】
[0002] 在涉及到兩個不同的系統時,需要將兩種系統中標記交易數據處理事件的序列號 進行轉換。在一些特別的情形下,例如在同一機構的新老兩種系統中,要求相應的交易數 據處理在新老系統中平穩(wěn)過渡,需要新老系統中兩個系統全局唯一的兩種業(yè)務跟蹤序列號 能夠唯一對應的互換。雖然現有技術中可采用MD5算法將任意長度的字符串變換成一個 128bit的大整數來進行序列號轉換,但它屬于不可逆的字符串變換算法,這使得通過轉換 后的序列號反向查詢轉換前的序列號變的不可能,而且MD5算法較為復雜,在轉換效率和 實時性方面也無法滿足要求。因而,需要對兩種系統中所要求的構造不同的序列號進行高 效轉換的解決方案。
【發(fā)明內容】
[0003] 本發(fā)明提供了一種序列號互換方法和裝置,能夠將第一系統的19位序列號快捷、 高效地轉換為更新后的第二系統的具有特定要求的35位序列號,而且可以利用對應的轉 換算法將轉換后的35位序列號反向轉換為19位序列號,實時、高效地實現了兩種系統對應 的構造不同的序列號的互換,使得更新后的第二系統可通過反向的序列號轉換使用第一系 統的各項業(yè)務處理功能。
[0004] 根據本發(fā)明實施方式的第一方面,提供了 一種序列號轉換方法,用于第一系統的 19位序列號與更新后的第二系統的35位序列號的轉換,其中19位序列號為可見字符串,35 位序列號包括前25位流水號和后10位純數字的子交易序列號,包括:
[0005] 根據所述35位序列號的后10位的連續(xù)非零有效位數確定轉碼方式,
[0006] 若所述連續(xù)非零有效位數為0-3,則將所述35位序列號分拆為3部分轉碼為19位 序列號,
[0007] 若所述連續(xù)非零有效位數為4-7,則將所述35位序列號分拆為4部分轉碼為19位 序列號。
[0008] 根據本發(fā)明實施方式的第二方面,提供了 一種序列號轉換方法,用于第一系統的 19位序列號與更新后的第二系統的35位序列號的轉換,其中19位序列號為可見字符串,35 位序列號包括前25位流水號和后10位純數字的子交易序列號,該方法包括:
[0009] 根據所述19位序列號最后4位解碼得到的3字節(jié)整數確定轉碼方式,
[0010] 若所述3字節(jié)整數的高2bit為第一標識碼,則將所述19位序列號分拆為3部分 轉碼為35位序列號;
[0011] 若所述3字節(jié)整數的高2bit為第二標識碼,則將所述19位序列號分拆為4部分 轉碼為35位序列號。
[0012] 根據本發(fā)明實施方式的第三方面,提供了一種序列號轉換裝置,用于第一系統的 19位序列號與更新后的第二系統的35位序列號的轉換,其中19位序列號為可見字符串,35 位序列號包括前25位流水號和后10位純數字的子交易序列號,包括:
[0013] 第一判斷單元,用于根據所述35位序列號的后10位的連續(xù)非零有效位數確定轉 碼方式,若所述連續(xù)非零有效位數為0-3,則調用第一處理單元,若所述連續(xù)非零有效位數 為4-7,則調用第二處理單元;
[0014] 第一處理單元,用于將所述35位序列號分拆為3部分轉碼為19位序列號;第二處 理單元,用于將所述35位序列號分拆為4部分轉碼為19位序列號。
[0015] 根據本發(fā)明實施方式的第四方面,提供了一種序列號轉換裝置,用于第一
[0016] 系統的19位序列號與更新后的第二系統的35位序列號的轉換,其中19位序
[0017] 列號為可見字符串,35位序列號包括前25位流水號和后10位純數字的子交
[0018] 易序列號,包括:
[0019] 第二判斷單元,用于根據所述19位序列號最后4位解碼得到的3字節(jié)整數確定轉 碼方式,若所述3字節(jié)整數的高2bit為第一標識碼,則調用第三處理單元,若所述3字節(jié)整 數的高2bit為第二標識碼,則調用第四處理單元;
[0020] 第三處理單元,用于將所述19位序列號分拆為3部分轉碼為35位序列號;
[0021] 第四處理單元,用于將所述19位序列號分拆為4部分轉碼為35位序列號。
[0022] 實施本發(fā)明提供的序列號轉換方法和裝置,根據序列號的不同形式設計對應不同 的轉碼方式,顯著提高了序列號轉換的轉換效率,而且35位序列號與19位序列號的轉換可 逆,保證了序列號轉換前后的唯一性。
【專利附圖】
【附圖說明】
[0023] 圖1圖示了根據本發(fā)明一種實施方式的序列號轉換方法的第一示意圖;
[0024] 圖2圖示了根據本發(fā)明一種實施方式的序列號轉換方法的第二示意圖。
【具體實施方式】
[0025] 為使本發(fā)明的實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā) 明作進一步地詳細描述。
[0026] 參照圖1,圖1圖示了根據本發(fā)明一種實施方式的序列號轉換方法的示意圖。本發(fā) 明提供了一種序列號轉換方法用于第一系統的19位序列號與更新后的第二系統的35位序 列號的轉換,其中19位序列號為可見字符串,35位序列號包括前25位流水號和后10位純 數字的子交易序列號,該方法具體可包括:
[0027] 根據所述35位序列號的后10位的連續(xù)非零有效位數確定轉碼方式,
[0028] 若所述連續(xù)非零有效位數為0-3,則將所述35位序列號分拆為3部分轉碼為19位 序列號,
[0029] 若所述連續(xù)非零有效位數為4-7,則將所述35位序列號分拆為4部分轉碼為19位 序列號。
[0030] 本發(fā)明實施方式中,第一系統和第二系統可以是同一機構使用的老系統和新系 統,其在功能在存在一定的聯系,但也存在的一些不同,第二系統可以是第一系統的更新形 式。第一系統中的19位序列號可以是僅具有標識意義的全局事件跟蹤號,作為索引對事件 進行追蹤,可以由事件觸發(fā)點生成(事件觸發(fā)或規(guī)則觸發(fā)),全局唯一,全流程共用,一直持 續(xù)到事件結束。19位的全局事件跟蹤號為可見字符串格式,包括52個可見英文字母(26個 小寫英文字母及對應的26個大寫英文字母)、數字0到9以及" + "、"_"。
[0031] 本發(fā)明實施方式的35位序列號包括前25位流水號和后10位純數字的子交易序 列號,下面具體說明35位序列號的構成。前25位序列號,由每臺機器各自獨立生成,具有 全局唯一性。其可以采用4段25位的編碼方式,具體可以如表1。
[0032] 表 1
[0033]
【權利要求】
1. 一種序列號轉換方法,其特征在于,用于第一系統的19位序列號與更新后的第二系 統的35位序列號的轉換,其中19位序列號為可見字符串,35位序列號包括前25位流水號 和后10位純數字的子交易序列號,所述方法包括: 根據所述35位序列號的后10位的連續(xù)非零有效位數確定轉碼方式, 若所述連續(xù)非零有效位數為0-3,則將所述35位序列號分拆為3部分轉碼為19位序列 號, 若所述連續(xù)非零有效位數為4-7,則將所述35位序列號分拆為4部分轉碼為19位序列 號。
2. -種序列號轉換方法,其特征在于,用于第一系統的19位序列號與更新后的第二系 統的35位序列號的轉換,其中19位序列號為可見字符串,35位序列號包括前25位流水號 和后10位純數字的子交易序列號,所述方法包括: 根據所述19位序列號最后4位解碼得到的3字節(jié)整數確定轉碼方式, 若所述3字節(jié)整數的高2bit為第一標識碼,則將所述19位序列號分拆為3部分轉碼 為35位序列號; 若所述3字節(jié)整數的高2bit為第二標識碼,則將所述19位序列號分拆為4部分轉碼 為35位序列號。
3. 根據權利要求1或2所述的方法,其特征在于,所述35位序列號的前25位包括6位 節(jié)點編碼、3位同一節(jié)點內的機器編碼、10位世界協調時UTC編碼和6位序列數。
4. 根據權利要求1或2所述的方法,其特征在于,所述35位序列號中的6位序列數為 單向遞增,并且在到達999999后歸零。
5. 根據權利要求1所述的方法,其特征在于,所述將所述35位序列號分拆為3部分轉 碼為19位序列號包括:將所述35位序列號分拆為取值范圍為36、10、10且二進制長度分別 為6字節(jié)、4字節(jié)、3字節(jié)且對應base64編碼后長度分別為8字節(jié)、6字節(jié)、4字節(jié)的3部分, 并且在上述(8+6+4)個字節(jié)的第12個字節(jié)添加業(yè)務標識字符后,得到19位序列號。
6. 根據權利要求1所述的方法,其特征在于,所述將所述35位序列號分拆為4部分轉 碼為19位序列號包括:將所述35位序列號分拆為取值范圍為2、36、10、10且二進制長度分 別為2字節(jié)、2字節(jié)、6字節(jié)和3字節(jié)且對應base64編碼后長度分別為3字節(jié)、3字節(jié)、8字 節(jié)、4字節(jié)的4部分,并且在上述(3+3+8+4)個字節(jié)的第12個字節(jié)添加業(yè)務標識字符后,得 到19位序列號。
7. 根據權利要求5所述的方法,其特征在于,所述方法還包括:得到所述35位序列號 的二進制字節(jié)為3字節(jié)的整數后,將該3字節(jié)整數高2bit轉移到所述35位序列號第10-21 位字符串得到的二進制字節(jié)數為4字節(jié)整數的高2bit,然后將該3字節(jié)整數高2bit設置為 所述第一標識碼。
8. 根據權利要求6所述的方法,其特征在于,所述方法還包括:得到所述35位序列號 的二進制字節(jié)數為3字節(jié)的整數后,將該3字節(jié)整數高2bit轉移到所述35位序列號第 10-25位字符串得到的二進制字節(jié)數為6字節(jié)整數的高2bit,然后將該3字節(jié)整數高2bit 設置為所述第二標識碼。
9. 根據權利要求2所述的方法,其特征在于,所述將所述19位序列號分拆為3部分轉 碼為35位序列號包括:將所述19位序列號的第12位的業(yè)務標識字符去除之后,將剩下的 18位字符串依次分為8字節(jié)、6字節(jié)、4字節(jié)的3部分,使用base64算法對所述3部分進行 解碼得到對應的二進制長度為6字節(jié)的第一整數值、二進制長度為4字節(jié)的第二整數值和 二進制長度為3字節(jié)的第三整數值,在二進制長度為4字節(jié)的第二整數值中去除第一標識 碼,并根據所述第二整數值得到恢復年月后的第二整數值,根據所述第一整數值、恢復年月 后的第二整數值和所述第三整數值得到35位序列號的前28位序列號,在該28位序列號之 后添加7個零,得到35位序列號。
10. 根據權利要求2所述的方法,其特征在于,將所述19位序列號分拆為4部分轉碼 為35位序列號包括:將所述19位序列號的第12位的業(yè)務標識字符去除之后,將剩下的18 位字符串依次分為3字節(jié)、3字節(jié)、8字節(jié)、4字節(jié)的4部分,使用base64算法對所述4部分 進行解碼得到對應的二進制長度為2字節(jié)的第一整數值、二進制長度為2字節(jié)的第二整數 值、二進制長度為6字節(jié)的第三整數值和二進制長度為3字節(jié)的第四整數值,在二進制長度 為6字節(jié)的第三整數值中去除所述第二標識碼,并根據所述第三整數值得到恢復年月后的 第三整數值,根據所述第一整數值、所述第二整數值、恢復年月后的第三整數值和所述第四 整數值得到35位序列號的前32位,在該32位序列號之后添加3個零,得到35位序列號。
11. 根據權利要求9所述的方法,其特征在于,在二進制長度為4字節(jié)的字符串中去除 第一標識碼包括:將二進制長度為4字節(jié)的第二整數值的高2bit轉移到將所述19位序列 號最后4位解碼得到的3字節(jié)整數的高2bit的第一標識碼位置。
12. 根據權利要求10所述的方法,其特征在于,在二進制長度為6字節(jié)的字符串中去除 所述第二標識碼包括:將二進制長度為6字節(jié)的第三整數值的高2bit轉移到將所述19位 序列號最后4位解碼得到的3字節(jié)整數的高2bit的第二標識碼位置。
13. -種序列號轉換裝置,其特征在于,用于第一系統的19位序列號與更新后的第二 系統的35位序列號的轉換,其中19位序列號為可見字符串,35位序列號包括前25位流水 號和后10位純數字的子交易序列號,包括: 第一判斷單元,用于根據所述35位序列號的后10位的連續(xù)非零有效位數確定轉碼 方式,若所述連續(xù)非零有效位數為0-3,則調用第一處理單元,若所述連續(xù)非零有效位數為 4-7,則調用第二處理單元; 第一處理單元,用于將所述35位序列號分拆為3部分轉碼為19位序列號; 第二處理單元,用于將所述35位序列號分拆為4部分轉碼為19位序列號。
14. 一種序列號轉換裝置,其特征在于,用于第一系統的19位序列號與更新后的第二 系統的35位序列號的轉換,其中19位序列號為可見字符串,35位序列號包括前25位流水 號和后10位純數字的子交易序列號,包括: 第二判斷單元,用于根據所述19位序列號最后4位解碼得到的3字節(jié)整數確定轉碼方 式,若所述3字節(jié)整數的高2bit為第一標識碼,則調用第三處理單元,若所述3字節(jié)整數的 高2bit為第二標識碼,則調用第四處理單元; 第三處理單元,用于將所述19位序列號分拆為3部分轉碼為35位序列號; 第四處理單元,用于將所述19位序列號分拆為4部分轉碼為35位序列號。
15. 根據權利要求13或14所述的裝置,其特征在于,所述35位序列號的前25位包括 6位節(jié)點編碼、3位同一節(jié)點內的機器編碼、10位世界協調時UTC編碼和6位序列數。
16. 根據權利要求13或14所述的裝置,其特征在于,所述35位序列號中的6位序列數 為單向遞增,并且在到達999999后歸零。
17. 根據權利要求12所述的裝置,其特征在于,所述第一處理單元,用于實現下述處 理:將所述35位序列號分拆為取值范圍為36、10、10且二進制長度分別為6字節(jié)、4字節(jié)、3 字節(jié)且對應base64編碼后長度分別為8字節(jié)、6字節(jié)、4字節(jié)的3部分,并且在上述(8+6+4) 個字節(jié)的第12個字節(jié)添加業(yè)務標識字符后,得到19位序列號。
18. 根據權利要求12所述的裝置,其特征在于,所述第二處理單元,用于實現下述處 理:將所述35位序列號分拆為取值范圍為2、36、10、10且二進制長度分別為2字節(jié)、2字節(jié)、 6字節(jié)和3字節(jié)且對應base64編碼后長度分別為3字節(jié)、3字節(jié)、8字節(jié)、4字節(jié)的4部分, 并且在上述(3+3+8+4)個字節(jié)的第12個字節(jié)添加業(yè)務標識字符后,得到19位序列號。
19. 根據權利要求17所述的裝置,其特征在于,所述裝置還包括第一添加單元,用于 實現下述處理:得到所述35位序列號的二進制字節(jié)為3字節(jié)的整數后,將該3字節(jié)整數高 2bit轉移到所述35位序列號第10-21位字符串得到的二進制字節(jié)數為4字節(jié)整數的高 2bit,然后將該3字節(jié)整數高2bit設置為所述第一標識碼。
20. 根據權利要求18所述的裝置,其特征在于,所述裝置還包括第二添加單元,用于實 現下述處理:得到所述35位序列號的二進制字節(jié)數為3字節(jié)的整數后,將該3字節(jié)整數高 2bit轉移到所述35位序列號第10-25位字符串得到的二進制字節(jié)數為6字節(jié)整數的高 2bit,然后將該3字節(jié)整數高2bit設置為所述第二標識碼。
21. 根據權利要求13所述的裝置,其特征在于,所述第三處理單元,用于實現下述處 理:將所述19位序列號的第12位的業(yè)務標識字符去除之后,將剩下的18位字符串依次分 為8字節(jié)、6字節(jié)、4字節(jié)的3部分,使用base64算法對所述3部分進行解碼得到對應的二 進制長度為6字節(jié)的第一整數值、二進制長度為4字節(jié)的第二整數值和二進制長度為3字 節(jié)的第三整數值,在二進制長度為4字節(jié)的第二整數值中去除第一標識碼,并根據所述第 二整數值得到恢復年月后的第二整數值,根據所述第一整數值、恢復年月后的第二整數值 和所述第三整數值得到35位序列號的前28位序列號,在該28位序列號之后添加7個零, 得到35位序列號。
22. 根據權利要求13所述的裝置,其特征在于,所述第四處理單元,用于實現下述處 理:將所述19位序列號的第12位的業(yè)務標識字符去除之后,將剩下的18位字符串依次分 為3字節(jié)、3字節(jié)、8字節(jié)、4字節(jié)的4部分,使用base64算法對所述4部分進行解碼得到對 應的二進制長度為2字節(jié)的第一整數值、二進制長度為2字節(jié)的第二整數值、二進制長度為 6字節(jié)的第三整數值和二進制長度為3字節(jié)的第四整數值,在二進制長度為6字節(jié)的第三整 數值中去除所述第二標識碼,并根據所述第三整數值得到恢復年月后的第三整數值,根據 所述第一整數值、所述第二整數值、恢復年月后的第三整數值和所述第四整數值得到35位 序列號的前32位,在該32位序列號之后添加3個零,得到35位序列號。
23. 根據權利要求21所述的裝置,其特征在于,所述第三處理單元在二進制長度為4字 節(jié)的字符串中去除第一標識碼包括:將二進制長度為4字節(jié)的第二整數值的高2bit轉移到 將所述19位序列號最后4位解碼得到的3字節(jié)整數的高2bit的第一標識碼位置。
24. 根據權利要求22所述的裝置,其特征在于,所述第四處理單元在二進制長度為6字 節(jié)的字符串中去除所述第二標識碼包括:將二進制長度為6字節(jié)的第三整數值的高2bit轉 移到將所述19位序列號最后4位解碼得到的3字節(jié)整數的高2bit的第二標識碼位置。
【文檔編號】G06F7/76GK104090738SQ201410252082
【公開日】2014年10月8日 申請日期:2014年6月9日 優(yōu)先權日:2014年6月9日
【發(fā)明者】張強, 邱城曉, 雷鐳, 施雷, 周超, 范新生, 滕文強, 段晴, 祝繼 申請人:中國建設銀行股份有限公司