System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及pos支付,特別涉及一種tlv數據管理方法及其系統和電子設備。
技術介紹
1、在pos支付
中,pos終端設備與ic卡之間采用tlv格式數據進行數據交互。在pos終端設備中,tlv數據的存儲與管理均為數據結構體的形式,其中結構體往往是基于某些規范內容來進行定義。
2、圖1為相關技術中基于《中國金融集成電路(ic)卡規范》所定義的結構體的一種代碼示意圖。如圖1所示,以《中國金融集成電路(ic)卡規范》為例,該規范定義了大量tlv格式的ic卡與金融終端(例如pos機)數據源,為使得金融終端能夠支持規范中所涉及的各種ic卡,基于該規范所定義的結構體中會聲明很多數據屬性(又稱為結構體的“成員”),并基于規范中所涉及的最大數據量來定義結構體占用內存空間,以將各種ic卡所需tlv數據資源同時存儲于該結構體。通過圖1可見,基于現有規范內容所定義的結構體代碼量龐大、重復代碼過多、結構體所占用內存空間極大。另外,在實際應用中發現,一旦規范更新(規范內容增加、刪減、修改),基于規范所定義的結構體代碼需要同步修改,且往往代碼改動較多,易出錯,代碼維護成本較高。
技術實現思路
1、為有效改善甚至解決相關技術中存在至少之一的技術問題,本公開提供了一種tlv數據管理方法及其系統和電子設備。
2、第一方面,本公開實施例提供了一種tlv數據管理方法,包括:
3、確定目標tlv數據列表,所述目標tlv數據列表包括至少一個目標tlv數據;
4、在內存中定
5、將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間,得到待操作tlv數據列表,所述待操作tlv數據列表包括存儲于所述獨立數據空間中的全部tlv數據。
6、可選地,在確定目標tlv數據列表的步驟之前,還包括:
7、確定所選擇的目標程序;
8、確定目標tlv數據列表的步驟包括:
9、從預設存儲器中獲取與目標程序相對應的全部目標tlv數據,并構成目標tlv數據列表;
10、在確定所選擇的目標程序之后,且在在內存中定義出與所述目標tlv數據列表相對應的獨立數據空間的結構體的步驟之前,還包括:
11、根據預先設置的對應關系數據確定出所述目標程序所對應的數據空間最大長度,所述對應關系數據中記載有不同程序及其對應的數據空間最大長度;
12、在所定義的與所述目標tlv數據列表相對應的獨立數據空間的結構體中,所述獨立數據空間所配置的最大長度為所述目標程序所對應的數據空間最大長度。
13、可選地,將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間步驟包括:
14、獲取與所述目標程序相對應的數據有效性驗證規則信息;
15、從所述目標tlv數據列表中選取第一條目標tlv數據作為第一待驗證tlv數據;
16、根據所述數據有效性驗證規則信息對所述第一待驗證tlv數據進行有效性驗證;
17、當所述第一待驗證tlv數據未通過有效性驗證時,則生成用于表征數據存入異常的第一提示信息;
18、當所述第一待驗證tlv數據通過有效性驗證時,則將所述第一待驗證tlv數據存儲至所述獨立數據空間,并檢測所述第一待驗證tlv數據是否為所述目標tlv數據列表中最后一條目標tlv數據;
19、若檢測出所述第一待驗證tlv數據為所述目標tlv數據列表中最后一條目標tlv數據,則生成用于表征待操作tlv數據列表完成創建的第二提示信息;
20、若檢測出所述第一待驗證tlv數據不為所述目標tlv數據列表中最后一條tlv數據,則將所述目標tlv數據列表中位于所述第一待驗證tlv數據的下一條目標tlv數據作為新的第一待驗證tlv數據,并再次執行根據所述數據有效性驗證規則信息對所述第一待驗證tlv數據進行有效性驗證的步驟。
21、可選地,在將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間的步驟之后,還包括:
22、驗證所述待操作tlv數據列表是否為無效數據,具體包括:
23、a1、創建一個數據偏移量,并賦予初始值為0;
24、a2、從所述待操作tlv數據列表中選取第一條目標tlv數據作為第二待驗證tlv數據;
25、a3、對數據偏移量進行加1處理以對數據偏移量進行更新;
26、a4、根據預設數據有效性驗證規則信息對所述第二待驗證tlv數據進行有效性驗證;
27、當所述第二待驗證tlv數據未通過有效性驗證時,則執行步驟a5;當所述第二待驗證tlv數據通過有效性驗證時,則執行步驟a6;
28、a5、將所述第二待驗證tlv數據從所述待操作tlv數據列表中刪除;在步驟a5結束后執行步驟a6;
29、a6、檢測所述第二待驗證tlv數據是否為所述待操作tlv數據列表中最后一條目標tlv數據;
30、若檢測出所述第二待驗證tlv數據不為所述待操作tlv數據列表中最后一條目標tlv數據,則執行步驟a7;若檢測出所述第二待驗證tlv數據為所述待操作tlv數據列表中最后一條目標tlv數據,則執行步驟a8;
31、a7、將所述目標tlv數據列表中位于所述第二待驗證tlv數據的下一條目標tlv數據作為新的第二待驗證tlv數據;在步驟a8結束后再次執行步驟a3;
32、a8、比較當前的待操作tlv數據列表的長度與當前的所述數據偏移量二者是否相等;
33、若相等,則驗證出所述待操作tlv數據列表為有效數據;若不等,則驗證出所述待操作tlv數據列表為無效數據。
34、可選地,在將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間的步驟之后,還包括:
35、接收單數據查找指令,所述單數據查找指令中記載有所述獨立數據空間的名稱、待查找tlv數據的數據標簽和查找起始地址;
36、響應于所述單數據查找指令,從所述查找地址開始根據所述待查找tlv數據的數據標簽對位于所述獨立數據空間內的所述待操作tlv數據列表進行查找操作,并反饋查找結果。
37、可選地,在將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間的步驟之后,還包括:
38、接收多數據查找指令,所述多數據查找指令中記載有所述獨立數據空間的名稱、待查找tlv數據的個數、各待查找tlv數據的數據標簽;
39、根據所述多數據查找指令生成與待查找tlv數據一一對應的多個單數據查找指令,所述單數據查找指令中記載有所述獨立數據空間的名稱和所對應的待查找tlv數據本文檔來自技高網...
【技術保護點】
1.一種TLV數據管理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,在確定目標TLV數據列表的步驟之前,還包括:
3.根據權利要求2所述的方法,其特征在于,將所述目標TLV數據列表包括的目標TLV數據存儲至所述獨立數據空間步驟包括:
4.根據權利要求1所述的方法,其特征在于,在將所述目標TLV數據列表包括的目標TLV數據存儲至所述獨立數據空間的步驟之后,還包括:
5.根據權利要求1至4中任一所述的方法,其特征在于,在將所述目標TLV數據列表包括的目標TLV數據存儲至所述獨立數據空間的步驟之后,還包括:
6.根據權利要求1至4中任一所述的方法,其特征在于,在將所述目標TLV數據列表包括的目標TLV數據存儲至所述獨立數據空間的步驟之后,還包括:
7.根據權利要求1至4中任一所述的方法,其特征在于,在將所述目標TLV數據列表包括的目標TLV數據存儲至所述獨立數據空間的步驟之后,還包括:
8.根據權利要求1所述的方法,其特征在于,在將所述目標TLV數據列表包括的目標TLV數據存儲至所
9.一種TLV數據管理系統,其特征在于,所述系統配置為能夠實現如權利要求1至8中任一所述方法,所述系統包括:
10.一種電子設備,其特征在于,包括:
...【技術特征摘要】
1.一種tlv數據管理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,在確定目標tlv數據列表的步驟之前,還包括:
3.根據權利要求2所述的方法,其特征在于,將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間步驟包括:
4.根據權利要求1所述的方法,其特征在于,在將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間的步驟之后,還包括:
5.根據權利要求1至4中任一所述的方法,其特征在于,在將所述目標tlv數據列表包括的目標tlv數據存儲至所述獨立數據空間的步驟之后,還包括:
6.根據權利...
【專利技術屬性】
技術研發人員:姜洲,劉軍,董唯,
申請(專利權)人:武漢天喻信息產業股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。