[发明专利]一种Java卡的Java代码补丁方法有效
| 申请号: | 201510108055.9 | 申请日: | 2015-03-12 |
| 公开(公告)号: | CN104657185B | 公开(公告)日: | 2017-08-11 |
| 发明(设计)人: | 刘哲理;隋传波 | 申请(专利权)人: | 东港股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 山东济南齐鲁科技专利事务所有限公司37108 | 代理人: | 牛传凯 |
| 地址: | 250100 *** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种Java卡的Java代码补丁方法,对Java卡内存储于ROM区域Java代码和EEPROM区域Java代码提供了两种不同处理方式,对于ROM区域的Java代码,只需事先分配补丁管理表,采用多级补丁信息表的方法,无需事先分配空间给补丁信息表,补丁信息表在打补丁的时候动态分配,这样可以大大减少事先分配的空间;对于EEPROM区域Java代码,无需开辟额外空间进行管理,直接在原方法地址进行修改,减少查表的操作,进一步提高方法执行的速度;本发明的Java代码补丁方法用户不用更换Java卡即可对Java卡中的Java方法打补丁,达到功能升级或者缺陷修复的目的,在打补丁后能确保Java卡的运行效率,满足客户对时间敏感应用的需要,能够避免更新应用程序造成的客户数据丢失,并且具有修复需要的时间短的优点。 | ||
| 搜索关键词: | 一种 java 代码 补丁 方法 | ||
【主权项】:
一种Java卡的Java代码补丁方法,其特征在于:包括如下步骤:⑴在Java卡芯片中预先在EEPROM中分配一块区域作为Java代码的补丁管理表,在为不同的包打补丁时,动态从EEPROM中分配一块区域作为Java代码的补丁信息表,若每个包内补丁数目超过10,则需要多级补丁信息表;Java代码补丁由补丁管理表、补丁信息表和补丁代码组成;补丁管理表大小为固化到ROM区域的Java包的个数×3字节,其中3字节的数据分别为1字节的补丁个数和2字节的补丁信息表的偏移地址;每级补丁信息表的大小为62字节,每级补丁信息表内包含10个补丁方法,补丁信息表的数据信息包括本级的10个补丁方法×6字节和2字节的下一级补丁信息表的偏移地址,其中6字节的数据分别为2字节方法的绝对地址、2字节修正后方法的异常信息偏移地址和2字节修正后方法的方法体偏移地址;⑵产生要修改的Java方法的补丁代码,所述的补丁代码包括异常处理信息和方法体;所述方法体为修正后方法的方法体;⑶将所有方法的Java补丁代码通过应用协议数据单元命令以数据流的方式从卡外下载到卡内,并存储至ROM区域或EEPROM区域,在卡内实现补丁代码存储的步骤为:如待打补丁的包的ID小于固化到ROM中Java包的个数,为ROM区域的包;对于ROM区域的包采取第一补丁方法;如待打补丁的包的ID不小于固化到ROM中Java包的个数,为EEPROM区域的包;对于EEPROM区域的包采取第二补丁方法;所述的第一补丁方法为在Java卡芯片中预先分配一定大小的EEPROM作为Java补丁代码空间,该空间包含补丁管理表和补丁信息表,所述的补丁管理表用于维护固化在ROM区域的每个包的补丁数及其对应的补丁信息表的偏移地址;所述的补丁信息表的空间不需要事先分配,而是在打补丁的时候从EEPROM中分配,所述的补丁信息表存储指定个数的方法的绝对地址、修正后方法的异常信息偏移地址、修正后方法的方法体偏移地址和下一级补丁信息表的偏移地址;所述的第二补丁方法不采用额外的空间,在原有方法的入口地址处,使用第一个字节作为是否打补丁的标志位;如果第一个字节不等于0,表示该方法没有打过补丁;如果等于0,表示方法该打过补丁,则后面2个字节表示新方法的偏移地址;所述原有方法为是补丁信息表内的补丁方法。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东港股份有限公司,未经东港股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510108055.9/,转载请声明来源钻瓜专利网。





