本发明专利技术公开了一种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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。