[发明专利]一种基于Java卡的数据管理方法有效
申请号: | 201310515600.7 | 申请日: | 2013-10-28 |
公开(公告)号: | CN103559073A | 公开(公告)日: | 2014-02-05 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 数据管理 方法 | ||
技术领域
本发明涉及数据管理领域,尤其涉及一种基于Java卡的数据管理方法。
背景技术
Java卡是一种可以运行Java程序的CPU智能卡。根据数据性质,Java卡中的数据可分为静态数据、动态数据和临时数据,静态数据如程序代码等,动态数据如对象及变量等;按照存储位置,Java卡中的数据可分为ROM数据,Flash/EEPROM数据、RAM数据。
在现有技术中,Java卡中的数据管理的方法也有多种,使用对象表管理是常用的一种方式,但是在访问数据之前首先要根据表偏移地址找到对象表,再从对象表中获取Java卡中数据的偏移地址,访问速度较慢。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种基于Java卡的数据管理方法。
本发明提供了一种基于Java卡的数据管理方法,包括下载管理指令的过程和访问数据的过程;其中,所述下载管理指令的过程包括:
步骤S0:当Java卡虚拟机接收到主机下发的指令时,判断接收到的指令中是否包含有偏移地址组件,是则保存所述偏移地址组件,执行步骤S1,否则所述Java卡虚拟机等待接收主机下发指令,返回步骤S0;
步骤S1:所述Java卡虚拟机从所述偏移地址组件中获取第一偏移地址,根据所述第一偏移地址从保存的方法组件中获取第二偏移地址,根据所述第二偏移地址从保存的常量池组件中获取出预设长度的数据;
步骤S2:所述Java卡虚拟机判断所述获取到的数据中第一预设位置上的数据是否为第一预设值,是则执行步骤S3,否则所述Java卡虚拟机等待接收主机下发指令,返回步骤S1;
步骤S3:所述Java卡虚拟机判断所述获取到的数据中第二预设位置的最高位上的数据是否为第二预设值,是则执行步骤S4,否则执行步骤S6;
步骤S4:所述Java卡虚拟机根据所述获取到的数据中第二预设位置的除最高位之外的其他位上的数据,获取被管理数据信息所属的包的包ID,根据所述包ID从第二存储区中的包表中获取对应的导出表的地址;
步骤S5:所述Java卡虚拟机根据所述导出表的地址和所述获取到的数据中第三预设位置上的数据得到被管理数据的偏移地址,执行步骤S7;
步骤S6:所述Java卡虚拟机根据所述获取到的数据中第四预设位置上的数据和保存的被管理数据信息组件的起始地址得到所述被管理数据的偏移地址,执行步骤S7;
步骤S7:所述Java卡虚拟机用所述被管理数据的偏移地址替换所述方法组件中的管理指令中的卡外偏移地址;
所述访问数据的过程包括:
步骤P1:在所述Java卡虚拟机解释执行应用的Java程序的过程中,当检测到所述管理指令时,判断所述管理指令的类型是否为调用静态方法指令,是则执行步骤P2,否则所述Java卡虚拟机继续解释执行应用的其他Java程序,返回步骤P1;
步骤P2:所述Java卡虚拟机判断所述管理指令是否为调用第一存储区中的静态数据的调用静态方法指令,是则执行步骤P3,否则执行步骤P4;
步骤P3:所述Java卡虚拟机从所述管理指令中提取所述被调用的静态数据基于所述第一存储区的偏移地址,根据所述第一存储区的基地址和所述被调用的静态数据基于所述第一存储区的偏移地址计算所述被调用的静态数据的物理地址,执行步骤P5;
步骤P4:所述Java卡虚拟机从所述管理指令中提取所述被调用的静态数据基于所述第二存储区的偏移地址,根据所述第二存储区的基地址和所述被调用的静态数据基于所述第二存储区的偏移地址计算所述被调用的静态数据的物理地址,执行步骤P5;
步骤P5:所述Java卡虚拟机将所述被调用的静态数据的物理地址存储到指令寄存器中,所述Java卡虚拟机继续解释执行应用的其他Java程序,返回步骤P1。
进一步地,所述被管理数据为静态方法,所述被管理数据信息为被调用静态方法,所述被管理数据信息组件为方法组件,所述管理指令为调用静态方法指令;
所述步骤S5包括:
步骤S501:所述Java卡虚拟机判断所述包ID是否小于第三预设值,是则执行步骤S502,否则执行步骤S503;
步骤S502:所述Java卡虚拟机将所述方法组件中的调用第二存储区中的静态方法的调用静态方法指令更改为调用第一存储区中的静态方法的调用静态方法指令,执行步骤S503;
步骤S503:所述Java卡虚拟机根据所述导出表的地址和所述获取到的数据中第三预设位置上的数据,从所述导出表中获取所述静态方法的偏移地址,执行步骤S7;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310515600.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种音量自适应控制方法及系统
- 下一篇:一种内容推荐方法及系统