本發明專利技術公開了一種Java卡包數據管理方法,Java卡以包為基本單位進行代碼管理,包要進行編號,包的編號按順序遞增,數值介于1到128之間,包的管理包括添加包和刪除包;Java卡包數據包括包地址信息和包數據信息,Java卡包數據的管理包括存儲機制和訪問方法,其中Java卡包數據的存儲機制為包地址信息和包數據信息分離存儲;本發明專利技術預先分配一塊128×4字節的空間存儲包地址表,避免了由多塊分散空間存儲引起的數據訪問指針移動次數多、范圍大的問題,提高了包數據訪問的速度;在包信息表中引入基本信息數據塊,減少了單獨存儲和維護引起的空間開銷和管理復雜度;包地址和組件數據分離,組件數據在下載時候從EEPROM動態分配存儲空間,增加了空間利用的有效性。
【技術實現步驟摘要】
一種Java卡包數據管理方法
本專利技術涉及計算機
,具體涉及一種Java卡包數據管理方法。
技術介紹
隨著金融電子化的全面發展,為解決用戶對一卡多用的需要,支持多應用的Java卡得到了越來越多的普及應用。Java卡技術是一項新興的智能卡技術,是一個開放的多應用平臺,依據OracleJavacard規范,Java卡中的多應用是以包為單位進行代碼管理的。Java卡的應用基于包數據的下載和訪問而展開,因此,包數據管理是Java卡操作系統的基本功能模塊。由于越來越多的金融應用對交易速度提出了更高的要求,比如閃付要求一次交易的交易時間小于400ms,如何從包數據管理角度優化數據訪問速度,是對Java卡提出的一個新的功能需求;此外,智能卡的存儲空間通常較小,如何有效利用有限的存儲空間存儲更多的多應用程序和數據,是對包數據管理提出的另一個性能需求。因此,提出一種可參考的高效的Java卡包數據管理實現方法,是一個迫切需要解決的問題。
技術實現思路
為解決上述問題,本專利技術的目的是提供一種Java卡包數據管理方法。本專利技術為實現上述目的,通過以下技術方案實現:一種Java卡包數據管理方法,Java卡以包為基本單位進行代碼管理,包要進行編號,包的編號按順序遞增,數值介于1到128之間,包的管理包括添加包和刪除包;Java卡包數據包括包地址信息和包數據信息,所述包地址信息位于包地址表,所述包數據信息分為包信息表和包組件數據兩部分,所述包信息表由基本信息、類組件、方法組件、靜態域組件和導出組件五部分組成;Java卡包數據的管理包括存儲機制和訪問方法,其中Java卡包數據的存儲機制為包地址信息和包數據信息分離存儲。為進一步實現本專利技術的目的,還可以采用以下技術方案:優選的,對于包的編號進行管理,具體為:Java卡中最多存儲128個包,每個包的編號介于1到128之間;包的編號在下載數據到卡片時確定,通過從小到大對包地址表中存儲的地址進行遍歷來確定,如果某個地址為無效地址,則返回該地址對應的編號,如果全部地址信息均為有效地址,則表示已達到最大包個數。優選的,包地址信息和包數據信息分離存儲具體分為:(1)包地址表在卡片出廠時確定存儲位置,從EEPROM申請128×4字節的空間來存儲每個包的地址信息;(2)包信息表和包組件數據在添加包數據的時候動態從EEPROM中分配空間;其中包信息表的大小為5×4字節,包括基本信息、類組件、方法組件、靜態域組件和導出組件五個部分數據的地址及長度,其中每個部分數據的地址的空間大小為3字節,長度的空間大小為1字節;包組件數據其大小由包組件實際數據的確定。優選的Java卡包數據的訪問方法,具體步驟為:(1)通過包的編號,從包地址表中得到包信息表的地址,步驟如下:①計算包地址表中的偏移量為包編號×4;②從計算出的偏移地址中讀取4字節,即為該包信息表的地址;(2)通過組件編號,從包信息表中得到包的組件數據的地址,步驟如下:①計算包信息表中的組件數據的偏移地址,即組件編號×4;②從計算出的偏移地址中讀取3字節,即為該包的組件數據的存儲地址;(3)從組件數據的存儲地址中,進一步根據組件數據特征讀取更進一步的數據信息。優選的包的管理包括添加包和刪除包,其中添加包的步驟為:(1)為待添加包分配一個編號:從小到大按4個字節為單元遍歷包地址表,如果當前地址為無效地址,則返回該地址對應的包編號作為新包的編號,如果全部地址均為有效地址,則表示已達到最大包個數,添加失敗;(2)在EEPROM中為待添加包的信息表分配5×4字節的空間,將地址寫入到包地址表的相應位置;(3)為待添加包的基本信息分配空間,并將該地址寫入到包信息表的前3個字節;(4)下載包組件數據到卡中,為這些組件數據分配空間,并將地址和數據長度根據組件類型寫入到包信息表的合適位置。刪除包的步驟為:(1)根據包的編號確定其包信息表的位置;(2)按照基本信息、類組件、方法組件、靜態域組件和導出組件的順序,依次釋放組件數據所占據的存儲空間;(3)釋放包信息表所占用的存儲空間;(4)將包地址表中該包對應的地址設置為無效地址。本專利技術的優點在于:本專利技術預先分配一塊128×4字節的空間存儲包地址表,避免了由多塊分散空間存儲引起的數據訪問指針移動次數多、范圍大的問題,提高了包數據訪問的速度;在包信息表中引入基本信息數據塊,減少了單獨存儲和維護引起的空間開銷和管理復雜度;包地址和組件數據分離,組件數據在下載時候從EEPROM動態分配存儲空間,增加了空間利用的有效性,實現在Java卡有限的存儲空間存儲更多的應用程序和數據。附圖說明圖1為包地址表、包信息表和包組件數據的關系圖。具體實施方式一種Java卡包數據管理方法,Java卡以包為基本單位進行代碼管理,包要進行編號,包的編號按順序遞增,數值介于1到128之間,包的管理包括添加包和刪除包;Java卡包數據包括包地址信息和包數據信息,所述包地址信息位于包地址表,所述包數據信息分為包信息表和包組件數據兩部分,所述包信息表由基本信息、類組件、方法組件、靜態域組件和導出組件五部分組成;Java卡包數據的管理包括存儲機制和訪問方法,其中Java卡包數據的存儲機制為包地址信息和包數據信息分離存儲。為進一步實現本專利技術的目的,還可以采用以下技術方案:優選的,對于包的編號進行管理,具體為:Java卡中最多存儲128個包,每個包的編號介于1到128之間;包的編號在下載數據到卡片時確定,通過從小到大對包地址表中存儲的地址進行遍歷來確定,如果某個地址為無效地址,則返回該地址對應的編號,如果全部地址信息均為有效地址,則表示已達到最大包個數,通過對包進行編號的管理,可以有效提高數據的訪問速度。優選的,包地址信息和包數據信息分離存儲具體分為:(1)包地址表在卡片出廠時確定存儲位置,從EEPROM申請128×4字節的空間來存儲每個包的地址信息;(2)包信息表和包組件數據在添加包數據的時候動態從EEPROM中分配空間;其中包信息表的大小為5×4字節,包括基本信息、類組件、方法組件、靜態域組件和導出組件五個部分數據的地址及長度,其中每個部分數據的地址的空間大小為3字節,長度的空間大小為1字節;包組件數據其大小由包組件實際數據的確定。在包信息表中引入基本信息數據塊,減少了單獨存儲和維護引起的空間開銷和管理復雜度;通過將包地址信息和包數據信息的分離存儲,避免由多塊分散空間存儲引起的數據訪問指針移動次數多,范圍大的問題,提高了包數據訪問的速度;包地址和組件數據分離,組件數據在下載時候從EEPROM動態分配存儲空間,增加了空間利用的有效性。優選的,Java卡包數據的訪問方法,具體步驟為:(1)通過包的編號,從包地址表中得到包信息表的地址,步驟如下:①計算包地址表中的偏移量為包編號×4;②從計算出的偏移地址中讀取4字節,即為該包信息表的地址;(2)通過組件編號,從包信息表中得到包的組件數據的地址,步驟如下:①計算包信息表中的組件數據的偏移地址,即組件編號×4;②從計算出的偏移地址中讀取3字節,即為該包的組件數據的存儲地址;(3)從組件數據的存儲地址中,進一步根據組件數據特征讀取更進一步的數據信息。通過本專利技術的訪問方法可以快速的對Java卡包數據進行訪問,尤其是能滿足金融應用本文檔來自技高網...

【技術保護點】
一種Java卡包數據管理方法,其特征在于:Java卡以包為基本單位進行代碼管理,包要進行編號,包的編號按順序遞增,數值介于1到128之間,包的管理包括添加包和刪除包;Java卡包數據包括包地址信息和包數據信息,所述包地址信息位于包地址表,所述包數據信息分為包信息表和包組件數據兩部分,所述包信息表由基本信息、類組件、方法組件、靜態域組件和導出組件五部分組成;Java卡包數據的管理包括存儲機制和訪問方法,其中Java卡包數據的存儲機制為包地址信息和包數據信息分離存儲。
【技術特征摘要】
1.一種Java卡包數據管理方法,其特征在于:Java卡以包為基本單位進行代碼管理,包要進行編號,包的編號按順序遞增,數值介于1到128之間,包的管理包括添加包和刪除包;Java卡包數據包括包地址信息和包數據信息,所述包地址信息位于包地址表,所述包數據信息分為包信息表和包組件數據兩部分,所述包信息表由基本信息、類組件、方法組件、靜態域組件和導出組件五部分組成;Java卡包數據的管理包括存儲機制和訪問方法,其中Java卡包數據的存儲機制為包地址信息和包數據信息分離存儲;Java卡包數據的訪問方法,具體步驟為:(1)通過包的編號,從包地址表中得到包信息表的地址,步驟如下:①計算包地址表中的偏移量為包編號×4;②從計算出的偏移地址中讀取4字節,即為該包信息表的地址;(2)通過組件編號,從包信息表中得到包的組件數據的地址,步驟如下:①計算包信息表中的組件數據的偏移地址,即組件編號×4;②從計算出的偏移地址處讀取3字節,則得到該包的組件數據的存儲地址;(3)從組件數據的存儲地址中,進一步根據組件數據特征讀取更進一步的數據信息。2.根據權利要求1所述的一種Java卡包數據管理方法,其特征在于:對于包的編號進行管理,具體為:Java卡中最多存儲128個包,每個包的編號介于1到128之間;包的編號在下載數據到卡片時確定,通過從小到大對包地址表中存儲的地址進行遍歷來確定,如果某個地址為無效地址,則返回該地址對應的編號,如果全部地址信息均為有效地址,則表示已達到最大包個數。3.根據權利要求1...
【專利技術屬性】
技術研發人員:劉哲理,隋傳波,
申請(專利權)人:東港股份有限公司,
類型:發明
國別省市:山東;37
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。