便于应用升级的Java卡和Java卡应用升级方法技术

技术编号:33530631 阅读:11 留言:0更新日期:2022-05-19 02:00
本发明专利技术公开了一种便于应用升级的Java卡和Java卡应用升级方法,Java卡内运行有至少一个负责业务逻辑的业务应用和至少一个负责数据存取的数据应用,业务应用的数据实时存储到数据应用中;业务应用升级后,升级后的业务应用通过调用共享接口从对应的数据应用中获取对应的数据。本申请提供的Java卡不需要卡片COS具备GP定义的升级功能,对于现存设备上功能的实现比较友好。通过业务应用与数据应用的设计,达到业务与数据的分离,实现业务应用升级过程中,数据保护的处理方法。采用本方案设计的应用,可以快速检索目标数据,升级时不会影响运行在此平台的其它应用。数据存储独立于业务应用,在一定程序上可以防止业务逻辑及代码异常,影响数据的正确性。影响数据的正确性。影响数据的正确性。

【技术实现步骤摘要】
便于应用升级的Java卡和Java卡应用升级方法


[0001]本专利技术涉及Java卡
,具体涉及一种便于应用升级的Java卡和Java卡应用升级方法。

技术介绍

[0002]Java卡应用是使用JAVA语言编写、在Java卡上运行的应用,这个应用的编写方式需要符合Sun公司的Java Card API规范,在Sun公司的Java Card API规范中,有一个Java卡应用的抽象类,这个抽象类定义了几个抽象方法,应用需要实现其中的抽象方法。
[0003]当一个Java卡应用商业项目发行时,在应用下载及安装之后,需要将一些跟用户有关的初始化数据写入应用中,这个过程叫做应用的个人化,这些数据叫做个人化数据。当应用发行后,这些数据也会根据用户的使用场景而不停地变化。所以,不同的用户,不同的使用场景,其数据都可能是不同的。
[0004]由于Java卡应用程序在编写时,其编码逻辑是根据当时商业化需求来制定的,当需求变化之后,已经安装在Java卡中的应用程序就不能满足变化后的需求,就需要进行应用的升级。同时,如果Java卡应用程序在编写时,由于疏忽等原因产生了一些错误,在应用已经商业化发行之后,这些错误可能会带来一些问题,造成用户使用上的异常。因此,这种情况也需要应用可以升级更新。
[0005]但是,由于Java Card API规范中应用的抽象类没有提供升级的抽象方法,故在解决方案出来之前,只能是先把旧版本应用删除掉,再安装新版本应用,而Java卡应用所有的数据都是以应用程序中引用对象的方式存在的,故删除旧版本应用时,所有的数据也就没有了。所以,当旧版本应用删除之后再安装新版本应用的,需要再次做新版本应用的个人化。但是这些新的个人化数据,与旧版本应用的个人化数据可能完全不一样了,这样就会给用户带来困扰。另外,由于很多Java卡是带有金融属性的,其发卡是跟用户的金融账户绑定的,所以其使用环境也决定了,很多敏感数据不能被删除或者重新个人化。
[0006]针对Java卡应用的升级需求,Java卡的国际组织GP发布了一个API包,这个包定义了一些类和一些方法,通过这些方法先将数据暂存在Java卡的NVM中,然后删除旧版本应用,再安装新版本应用,最后将暂存的数据合并恢复到新版本应用中。
[0007]由于GP发布的升级API包定义了一些命令、类和API方法,实现这些命令、类和方法需要额外占用Java卡的空间,在其发布之后,还在不停的升级,升级之后的API和之前的API并不兼容。所以,如果采用GP的解决方式,首先Java卡COS(Chip Operating System,片内操作系统)需要修改,需要额外的空间来实现升级API包规范中定义的命令和API,同时Java卡应用也需要额外的空间来调用这些升级API;其次,如果API的版本更新了,使用旧API方法的Java卡应用无法升级到使用新API方法的Java卡应用,这就引入了升级API如何升级的难题;最后,如果这些用于升级的命令和API的实现本身出现了错误,那么无论怎么升级,都无法消除这些错误。

技术实现思路

[0008]针对现有技术中的缺陷,本专利技术提供一种便于应用升级的Java卡和Java卡应用升级方法,以解决
技术介绍
中所提出的技术问题。
[0009]第一方面,本专利技术实施例提供了一种便于应用升级的Java卡,Java卡内运行有至少一个负责业务逻辑的业务应用和至少一个负责数据存取的数据应用,所述业务应用的数据实时存储到所述数据应用中;
[0010]所述业务应用升级后,升级后的业务应用通过调用共享接口从对应的所述数据应用中获取对应的数据。
[0011]进一步,所述数据应用定义一个扩展的javacard.framework.Shareable的类,用于定义可以被其它应用访问的共享接口方法,并在内部实现所述共享接口方法的具体实现过程。
[0012]进一步,所述业务应用通过getAppletShareableInterfaceObject()方法获取共享对象,然后使用所述数据应用中相关共享接口的方法。
[0013]进一步,所述共享接口的功能包括增加数据、查找数据、更新数据和删除数据。
[0014]进一步,所述数据应用使用动态数组作为数据存储结构。
[0015]第二方面,本专利技术实施例还提供了一种Java卡应用升级方法,Java卡内运行有至少一个负责业务逻辑的业务应用和至少一个负责数据存取的数据应用,所述业务应用的数据实时存储到所述数据应用中;
[0016]所述方法包括:
[0017]对所述业务应用升级后,升级后的业务应用通过调用共享接口从对应的所述数据应用中获取对应的数据。
[0018]进一步,所述业务应用在使用共享接口前,所述数据应用定义一个扩展的javacard.framework.Shareable的类,用于定义可以被其它应用访问的共享接口方法,并在内部实现所述共享接口方法的具体实现过程。
[0019]进一步,所述业务应用通过getAppletShareableInterfaceObject()方法获取共享对象,然后使用所述数据应用中相关共享接口的方法。
[0020]进一步,所述共享接口的功能包括增加数据、查找数据、更新数据和删除数据。
[0021]进一步,所述数据应用使用动态数组作为数据存储结构。
[0022]本专利技术的有益效果体现在:
[0023]本申请提供的Java卡不需要卡片COS具备GP定义的升级功能,对于现存设备上功能的实现比较友好。通过业务应用与数据应用的设计,达到业务与数据的分离,实现业务应用升级过程中,数据保护的处理方法。采用本方案设计的应用,可以快速检索目标数据,升级时不会影响运行在此平台的其它应用。数据存储独立于业务应用,在一定程序上可以防止业务逻辑及代码异常,影响数据的正确性。
附图说明
[0024]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0025]图1为本专利技术实施例提供的一种便于应用升级的Java卡的架构示意图;
[0026]图2为本专利技术实施例提供的业务应用和数据应用的数据交互架构示意图;
[0027]图3为本专利技术实施例提供的升级业务应用的流程图;
[0028]图4为本专利技术实施例提供的升级后的业务应用加载数据的流程图。
具体实施方式
[0029]下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只作为示例,而不能以此来限制本专利技术的保护范围。
[0030]需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。
[0031]第一方面,本专利技术实施例提供了一种便于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种便于应用升级的Java卡,其特征在于:Java卡内运行有至少一个负责业务逻辑的业务应用和至少一个负责数据存取的数据应用,所述业务应用的数据实时存储到所述数据应用中;所述业务应用升级后,升级后的业务应用通过调用共享接口从对应的所述数据应用中获取对应的数据。2.根据权利要求1所述的一种便于应用升级的Java卡,其特征在于:所述数据应用定义一个扩展的javacard.framework.Shareable的类,用于定义可以被其它应用访问的共享接口方法,并在内部实现所述共享接口方法的具体实现过程。3.根据权利要求2所述的一种便于应用升级的Java卡,其特征在于:所述业务应用通过getAppletShareableInterfaceObject()方法获取共享对象,然后使用所述数据应用中相关共享接口的方法。4.根据权利要求1所述的一种便于应用升级的Java卡,其特征在于:所述共享接口的功能包括增加数据、查找数据、更新数据和删除数据。5.根据权利要求1所述的一种便于应用升级的Java卡,其特征在于:所述数据应用使用动态数组作为数据存储结构。6.一种Java卡应用升级...

【专利技术属性】
技术研发人员:张行才陈华林
申请(专利权)人:无锡融卡科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1