一种多系统智能卡及应用实现方法与流程

文档序号:32016811发布日期:2022-11-02 20:31阅读:94来源:国知局
一种多系统智能卡及应用实现方法与流程

1.本发明涉及智能卡技术领域,具体涉及一种多系统智能卡及应用实现方法。


背景技术:

2.目前,随着智能卡应用的迅猛发展,涉及到的社会事务、商业业务、消费活动不断增加,因此迫切需要能支持多种业务应用的智能卡。
3.虽然现有智能卡应用的类型和种类均较多,例如,有支持java(一种面向对象的计算机编程语言)虚拟机编写的java应用,有支持native虚拟机编写的c语言应用。由于不同类型的应用会具有不同的特性,当前往往需要利用不同的智能卡才能实现对相关应用的下载和运行,这极大的影响了智能卡应用开发的通用性和兼容性。


技术实现要素:

4.针对现有技术中存在的缺陷,本发明的目的在于提供一种多系统智能卡及应用实现方法,使得多种类型的应用程序能够在一张独立的智能卡上运行,解除了智能卡上应用程序运行的诸多限制,增强了智能卡应用程序开发的通用性和兼容性。
5.为达到以上目的,本发明提供的一种多系统智能卡,包括:
6.多个虚拟机系统,其被配置为被应用程序主动选择以进行对应应用程序的运行,且每个虚拟机系统用于运行一种类型的应用程序;
7.虚拟机平台,其被配置为运行虚拟机系统;
8.多虚拟机系统管理接口,其被配置为对虚拟机系统进行管理和功能定义。
9.在上述技术方案的基础上,所述管理包括虚拟机系统的添加和删除操作。
10.在上述技术方案的基础上,所述功能定义包括对虚拟机系统的运行环境和地址进行定义以及修改。
11.在上述技术方案的基础上,所述智能卡中的各虚拟机系统间物理隔断,且多个虚拟机系统对智能卡的硬件资源共享。
12.本发明提供的一种多系统智能卡的应用实现方法,用于上述智能卡对应用程序的运行进行实现,具体包括以下步骤:
13.智能卡进行待运行应用程序的下载,并将下载的待运行应用程序存储至本地;
14.基于待运行应用程序的类型,确定对应的虚拟机系统并启动,实现对待运行应用程序的运行。
15.在上述技术方案的基础上,所述基于待运行应用程序的类型,其中,获取待运行应用程序的类型的具体步骤为:
16.读取待运行应用程序,进行待运行应用程序代码的获取;
17.基于获取的待运行应用程序代码的数据格式,确定待运行应用程序的类型。
18.在上述技术方案的基础上,所述基于待运行应用程序的类型,确定对应的虚拟机系统并启动,具体步骤包括:
19.基于待运行应用程序的类型,遍历智能卡中的虚拟机系统,判断是否存在对应待运行应用程序的虚拟机系统:
20.若存在,则启动对应的虚拟机系统,以运行待运行应用程序;
21.若不存在,则进行报错提示,并调用多虚拟机系统管理接口以添加能够运行待运行应用程序的虚拟机系统并启动。
22.在上述技术方案的基础上,当智能卡上下载得到多个待运行应用程序时:
23.各待运行应用程序依次运行,且待当前待运行应用程序运行完毕后,基于应用激活指令激活下一待运行应用程序,由对应虚拟机系统运行下一待运行应用程序。
24.在上述技术方案的基础上,在当前待运行应用程序运行完毕之后,还包括:用以运行当前待运行应用程序的虚拟机系统停止工作。
25.与现有技术相比,本发明的优点在于:通过将智能卡配置为虚拟机平台形式,从而能够运行多个虚拟机系统,且每个虚拟机系统用于运行一种类型的应用程序,使得多种类型的应用程序能够在一张独立的智能卡上运行,解除了智能卡上应用程序运行的诸多限制,增强了智能卡应用程序开发的通用性和兼容性。
附图说明
26.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1为本发明实施例中一种多系统智能卡的结构示意图;
28.图2为本发明实施例中一种多系统智能卡的应用实现方法的流程图。
具体实施方式
29.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。
30.参见图1所示,本发明实施例提供的一种多系统智能卡,包括虚拟机平台、多虚拟机系统管理接口和多个虚拟机系统。
31.虚拟机平台被配置为运行虚拟机系统。即通过在智能卡中设置虚拟机平台,从而通过虚拟机平台实现对多个虚拟机系统的运行。
32.虚拟机系统被配置为被应用程序主动选择以进行对应应用程序的运行,且每个虚拟机系统用于运行一种类型的应用程序。即虚拟机系统用于对应用程序进行运行,且每个虚拟机系统用于运行一种类型的应用程序,例如,智能卡中存在3个虚拟机系统,则虚拟机系统1用于运行java语言类型的应用程序,虚拟机系统2用于运行c语言类型的应用程序,虚拟机系统3用于运行python类型的应用程序。
33.需要说明的是,智能卡中的各虚拟机系统间物理隔断,且多个虚拟机系统对智能卡的硬件资源共享。智能卡的硬件资源包括io(input/output、输入/输出)、eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储
器)、ram(random access memory,随机存取存储器)、算法接口等。
34.多虚拟机系统管理接口被配置为对虚拟机系统进行管理和功能定义。管理包括虚拟机系统的添加和删除操作;功能定义包括对虚拟机系统的运行环境和地址进行定义以及修改。即通过多虚拟机系统管理接口实现智能卡中虚拟机系统的添加和删除,以及对虚拟机系统的运行环境和运行地址的管理。
35.本发明实施例的多系统智能卡,通过将智能卡配置为虚拟机平台形式,从而能够运行多个虚拟机系统,且每个虚拟机系统用于运行一种类型的应用程序,使得多种类型的应用程序能够在一张独立的智能卡上运行,解除了智能卡上应用程序运行的诸多限制,增强了智能卡应用程序开发的通用性和兼容性。
36.参见图2所示,本发明实施例提供的一种多系统智能卡的应用实现方法,用于上述所述智能卡对应用程序的运行进行实现,该应用实现方法具体包括以下步骤:
37.s1:智能卡进行待运行应用程序的下载,并将下载的待运行应用程序存储至本地;
38.当智能卡进行待运行应用程序的下载之后,将下载的待运行应用程序存储至智能卡本地,而后再进行运行。
39.本发明对于任意开发者开发的应用程序均可进行下载,也无需对其下载的应用程序的内容进行任何更改,可直接存储在本地,从而实现在不依赖开发者额外修改的前提下进行应用程序的兼容实现。
40.s2:基于待运行应用程序的类型,确定对应的虚拟机系统并启动,实现对待运行应用程序的运行。
41.本发明实施例中,基于待运行应用程序的类型,其中,获取待运行应用程序的类型的具体步骤为:
42.s201:读取待运行应用程序,进行待运行应用程序代码的获取;
43.s202:基于获取的待运行应用程序代码的数据格式,确定待运行应用程序的类型。
44.对应用程序的类型进行识别,可基于不同应用程序所具有的不同数据格式进行识别。因为不同的应用程序会具有自身不同的数据格式特点,故而通过读取其中的某一段代码即可判断该应用程序属于哪种类型。
45.对于虚拟机系统对相应类型应用程序的运行,需要说明的是,每个虚拟机系统都有自己独立的字节码、api(application programming interface,应用程序编程接口)和运行环境,因此,不管是java语言还是c语言开发的应用应用,只要是按照某个虚拟机系统支持的字节码编译出来,便可以在对应的虚拟机系统上运行,那么对于识别后的应用程序,只需要用虚拟机系统提供的编译器编译,即可在对应的虚拟机系统上运行。
46.本发明实施例中,基于待运行应用程序的类型,确定对应的虚拟机系统并启动,具体步骤包括:
47.基于待运行应用程序的类型,遍历智能卡中的虚拟机系统,判断是否存在对应待运行应用程序的虚拟机系统:
48.若存在,则启动对应的虚拟机系统,以运行待运行应用程序;
49.若不存在,则进行报错提示,并调用多虚拟机系统管理接口以添加能够运行待运行应用程序的虚拟机系统并启动。
50.在进行待运行应用程序对应的虚拟机系统确定时,若能找到用以运行当前待运行
应用程序的虚拟机系统,则启动该虚拟机系统以运行当前待运行应用程序;若未找到能够运行当前待运行应用程序的虚拟机系统,则进行报错后调用多虚拟机系统管理接口,添加能够运行的新虚拟机系统。
51.本发明实施例中,当智能卡上下载得到多个待运行应用程序时:各待运行应用程序依次运行,且待当前待运行应用程序运行完毕后,基于应用激活指令激活下一待运行应用程序,由对应虚拟机系统运行下一待运行应用程序。
52.在当前待运行应用程序运行完毕之后,还包括:用以运行当前待运行应用程序的虚拟机系统停止工作。
53.即对于本发明的智能卡而言,同一时间仅会有1个虚拟机系统工作,当智能卡上存在多个待运行应用程序时,当某个待运行应用程序被激活后,其它待运行应用程序自动的去激活,待当前待运行应用程序运行完毕后,基于应用激活指令激活下一待运行应用程序,由对应虚拟机系统运行下一待运行应用程序。
54.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
55.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1