智能卡应用平台装载、应用程序安装及运行的方法及系统的制作方法

文档序号:10534568阅读:397来源:国知局
智能卡应用平台装载、应用程序安装及运行的方法及系统的制作方法
【专利摘要】本发明公开了一种支持多应用的智能卡应用平台装载、应用程序安装及运行方法及系统,属于智能卡应用技术领域。所述装载方法包括:智能卡上电,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,N≥1,接收到智能卡应用平台加载指令后,根据指令中待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中,其中,加载指令为native卡应用平台加载指令或java卡应用平台加载指令。采用本发明所提供的方法及系统,实现了智能卡对多平台、多应用的支持,且多平台、多应用之间互不干扰,更好的满足了实际应用需求,提高了智能卡生产效率,降低了生产成本。
【专利说明】
智能卡应用平台装载、应用程序安装及运行的方法及系统
技术领域
[0001]本发明涉及智能卡应用技术领域,具体涉及一种支持多应用的智能卡应用平台装载方法及系统、以及基于该方法及系统的智能卡应用程序安装及运行方法及系统。
【背景技术】
[0002]随着社会的发展,智能产品已经出现在各种各样的行业中,为人们生活带来越来越多的便利。目前智能产品不仅仅局限于传统的单一应用,多应用、互联互通已成为行业发展趋势,同时智能可穿戴设备已成为智能卡产品的一大热点,因为其可穿戴的特性大大提高了产品的便携性,与传统智能卡产品一样,可穿戴设备的应用场景可以覆盖公交,便利,医疗,健康等,如何在一个智能产品集成多款应用,无论应用为NATIVE应用或是JAVA应用,为用户带来更好的产品体验,这就需要智能产品能够提供一种支持多应用、多平台的装载系统。
[0003]另外,由于可穿戴设备有别于传统卡片的接触界面和非接触界面两种形态,可穿戴设备因为其硬件构造的特殊性,需要在接触界面供电的情况下支持非接触通信,这种混合工作模式导致可穿戴设备在生产阶段无法正常通过非接触界面下载C0S,现有技术都是依靠可穿戴设备上的蓝牙模块进行COS灌装,这种下载模式存在通信不稳定,下载速度慢,生产成本高的缺点。

【发明内容】

[0004]针对现有技术中存在的缺陷,本发明的目的在于提供一种支持多平台多应用下载的智能卡应用平台装载方法及系统,以及基于该装载方法的应用程序安装及运行方法及系统,通过本发明实现智能卡对多平台应用下载的支持。
[0005]为实现上述目的,本发明采用的技术方案如下:
[0006]—种支持多应用的智能卡应用平台装载方法,包括以下步骤:
[0007](I)智能卡上电,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,每个NVM子空间对应一个应用平台,N>2;
[0008](2)接收智能卡应用平台加载指令;所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址;
[0009](3)根据待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中。
[0010]进一步,如上所述的一种支持多应用的智能卡平台装载方法,步骤(I)中,将NVM空间预先划分为N个NVM子空间后,将在NVM子空间中加载应用平台时应用平台的主程序入口地址和NVM子空间的标识关联记录在平台跳转表中;步骤(3)中,将待加载应用平台下载并安装到对应的NVM子空间后,还包括:
[0011](4)接收应用平台激活指令,根据所述应用平台激活指令中的待激活应用平台所对应的NVM子空间的标识,在平台跳转表中查找到待激活应用平台的主程序入口地址,激活所述待激活应用平台。
[0012]进一步,如上所述的一种支持多应用的智能卡平台装载方法,步骤(I)中,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间后,还包括:
[0013]为每一个NVM子空间设置用于标识NVM子空间中的应用平台是否被激活的有效标识位;所述有效标识位的默认状态为未激活,当NVM子空间中安装的应用平台被激活时,将NVM子空间的有效标识位修改为已激活,当退出NVM子空间的应用平台时,将NVM子空间的有效标识为修改为默认状态;
[0014]步骤(2)中,在接收到智能卡应用平台加载指令后,还包括:根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则进入步骤(3),若是,则提示当前有应用平台正在运行,无法进行平台加载;
[0015]步骤(4)中,在接收到应用平台激活指令后,还包括:根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。
[0016]进一步,如上所述的一种支持多应用的智能卡平台装载方法,将NVM子空间的有效标识位和NVM子空间所对应的应用平台的主程序入口地址关联存储于平台跳转表中。
[0017]进一步,如上所述的一种支持多应用的智能卡平台装载方法,当智能卡为双界面卡时,步骤(I)中,在智能卡上电时,还包括:
[0018]判断智能卡的双界面芯片是否处于非接场,若是,则激活智能卡的非接触工作模式,若否,则激活智能卡的接触式工作模式;
[0019]当智能卡处于接触式工作模式时,实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式,若否,则继续保持智能卡的接触式工作模式。
[0020]—种支持多应用的智能卡应用平台装载系统,包括:
[0021]NVM空间划分模块,用于智能卡上电后,将智能卡的非易失性存储器N VM空间预先划分为N个NVM子空间,每个NVM子空间对应一个应用平台,N>2;
[0022]平台加载指令接收模块,用于接收智能卡应用平台加载指令;所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址;
[0023]平台加载模块,用于根据待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到主程序入口地址对应的NVM子空间中。
[0024]进一步,如上所述的一种支持多应用的智能卡应用平台装载系统,所述NVM空间划分模块还包括:
[0025]主程序入口地址记录单元,用于在将NVM空间预先划分为N个NVM子空间后,将在NVM子空间中加载应用平台时应用平台的主程序入口地址和NVM子空间的标识记录在平台跳转表中;
[0026]该系统还包括:
[0027]平台激活模块,用于将待加载应用平台下载并安装到对应的NVM子空间中后,接收应用平台激活指令,根据所述应用平台激活指令中的待激活应用平台所对应的NVM子空间的标识,在平台跳转表中查找到待激活应用平台的主程序入口地址,激活所述待激活应用
-ψ-1 口 O
[0028]进一步,如上所述的一种支持多应用的智能卡应用平台装载系统,所述NVM空间划分模块还包括:
[0029]NVM子空间标识设置单元,用于为每一个NVM子空间设置有效标识位;所述有效标识位的初始状态为未激活,当NVM子空间中安装的应用平台被激活时,将NVM子空间的有效标识位置为已激活,当退出NVM子空间的应用平台后,将NVM子空间的有效标识位修改为默认状态;
[0030]所述平台加载指令接收模块包括:
[0031]第一平台状态判断单元,用于在接收到智能卡应用平台加载指令后,根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则进入平台加载模块,若是,则提示当前有应用平台正在运行,无法进行加载;
[0032]所述平台激活模块包括:
[0033]第二平台状态判断单元,用于在接收到应用平台激活指令后,根据NVM子空间的有效标识位判断是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。
[0034]进一步,如上所述的一种支持多应用的智能卡应用平台装载系统,当智能卡为双界面卡时,还包括:
[0035]工作模式判断模块,用于在智能卡上电时,判断智能卡的双界面芯片是否处于非接场,若是,则激活智能卡的非接触工作模式,否则,激活智能卡的接触式工作模式;
[0036]所述工作模式判断模块包括:
[0037]工作模式监测单元,用于当智能卡处于接触式工作模式时,实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式活,若否,则继续保持智能卡的接触式工作模式。
[0038]基于所述的支持多应用的智能卡应用平台装载方法的一种智能卡应用程序安装及运行方法,包括以下步骤:
[0039]①接收智能卡应用程序安装指令;所述应用程序安装指令为native应用程序安装指令或java应用程序安装指令,应用程序安装指令中包括应用程序所要安装在的应用平台的NVM子空间的标识;
[0040]②根据应用程序所要安装在的应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中所安装的应用平台的主程序入口地址,激活对应的应用平台;
[0041 ]③将所述应用程序下载并安装到对应的已激活的应用平台;
[0042]④接收应用程序运行指令,根据所述应用程序运行指令运行对应的应用程序;根据应用程序运行指令运行对应的应用程序的方式为:
[0043]I)接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识;
[0044]2)判断当前是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入步骤3),若否,则进入步骤3);
[0045]3)根据应用程序运行指令中应用程序所在的NVM子空间的标识,在平台跳转表中查找到应用程序所安装在的应用平台的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。
[0046]进一步,如上所述的一种智能卡应用程序安装及运行方法,还包括:设置每个NVM子空间的空间段属性,对于已完成应用程序安装的应用平台,将该应用平台的NVM子空间的空间段属性值设置为不可写;所述空间段属性用于标识NVM子空间中所安装的应用平台中的应用程序是否可更改。
[0047]—种智能卡应用程序安装及运行系统,包括:
[0048]程序安装指令接收模块,用于接收智能卡应用程序安装指令;所述应用程序安装指令为native应用程序安装指令或java应用程序安装指令,应用程序安装指令中包括应用程序所要安装在的应用平台的NVM子空间的标识;
[0049]应用平台激活模块,用于根据应用程序所要安装在的应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中所安装的应用平台的主程序入口地址,激活对应的应用平台;
[0050]应用程序安装模块,用于将所述应用程序下载并安装到对应的已激活的应用平台;
[0051]应用程序运行模块,用于接收应用程序运行指令,根据所述应用程序运行指令运行对应的应用程序;所述应用程序运行模块包括:
[0052]程序运行指令接收单元,用于接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识;
[0053]当前运行程序判断单元,用于判断当前是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入应用程序运行单元,若否,则进入应用程序运行单元;
[0054]应用程序运行单元,用于根据应用程序运行指令中应用程序所在的NVM子空间的标识,在平台跳转表中查找到应用程序所安装在的应用平台的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。
[0055]本发明的有益效果在于:I)实现了智能卡对多平台、多应用的支持,且多平台、多应用之间互不干扰,更好的满足了实际应用需求,提高了智能卡生产效率,降低了生产成本;2)在双界面智能卡芯片上,接触界面供电的情况下,能够实现非接触界面通讯;3)通过对智能卡芯片NVM空间的分段管理,可有效防止应用平台中应用程序代码的篡改,为NVM子空间中安装的应用平台提供了可靠的安全机制及防火墙保护。
【附图说明】
[0056]图1为本发明实施例一中一种支持多应用的智能卡应用平台装载方法的流程图;
[0057]图2为【具体实施方式】中平台跳转表的示意图;
[0058]图3为本发明实施例二中一种支持多应用的智能卡应用平台装载系统的结构框图;
[0059]图4为本发明实施例三中一种智能卡应用程序安装及运行方法的流程图;
[0060]图5为本发明实施例四中一种智能卡应用程序安装及运行系统的结构框图。
【具体实施方式】
[0061]下面结合说明书附图与【具体实施方式】对本发明做进一步的详细说明。
[0062]实施例一
[0063]图1示出了本实施例中提供的一种支持多应用的智能卡应用平台装载方法的流程图,该方法主要包括以下步骤:
[0064]步骤SlOl:将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间;
[0065]在智能卡上电后,首先根据智能卡的实际应用需求,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,其中,N彡2,每个NVM子空间对应一个加载平台,即每一NVM子空间中后续可以加载一个应用平台。在实际操作中,具体将NVM空间划分为几个子空间以及每个子空间的大小,取决于智能卡芯片的大小和智能卡中需要加载的待加载平台的大小。本实施例中,待加载平台可以是native卡应用平台,也可以是java卡应用平台。其中,智能卡NVM空间的划分是由智能卡的片内操作系统COS完成的,在智能卡COS开发中提前划分好的。
[0066]本实施例中,智能卡中还设有一平台跳转表,该平台跳转表用于关联存储在NVM子空间中加载应用平台时的应用平台的主程序入口地址和NVM子空间的标识,在一个NVM子空间中安装应用平台后,可以根据该子空间中对应的应用平台的主程序入口地址进行应用平台的激活。完成NVM子空间的划分后,将每个NVM子空间所对应的应用平台的主程序入口地址和该NVM子空间的标识记录都在平台跳转表中。如图2所示,平台跳转表中记载了N个NVM子空间分别对应的应用平台的主程序入口地址,平台I入口地址、平台2入口地址、…平台N入口地址分别对应一个NVM子空间中安装的应用平台的主程序入口地址。在进行智能卡应用平台的加载时,可以根据加载指令中的NVM子空间的地址直接将待加载应用平台的Intelhex文件写入到相应的NVM子空间中,在需要激活已安装的应用平台时,根据激活指令中NVM子空间的标识在平台跳转表中找到对应的主程序入口地址,进应用行平台的激活。
[0067]在NVM子空间中加载了应用平台后,为了保证不同的应用平台之间的独立性,避免不同应用平台之间的相互影响,本实施例中,还为每一个NVM子空间设置了有效标识位,有效标识位的默认状态为未激活,当NVM子空间中安装的应用平台被激活时,将被激活的平台所对应的NVM子空间的有效标识修改为已激活,当退出NVM子空间的应用平台后,将NVM子空间的有效标识修改为默认状态。通过NVM子空间的有效标识位可以判断出智能卡当前是否有应用平台正在运行,在有应用平台正在运行时,智能卡COS控制无法进行其它应用平台的相关操作(包括待加载应用平台的安装或已安装应用平台的运行),从而保证了同一时间仅允许一个平台运行,避免了同时运行多个应用平台时,平台间相互干扰的问题。
[0068]本实施例中,优选的,将NVM子空间的有效标识位和NVM子空间所对应的应用平台的主程序入口地址关联存储于平台跳转表中。例如,将平台跳转表的存储格式设置为首字节标识位(NVM子空间的有效标识位)+6字节跳转地址(NVM子空间对应的应用平台的主程序入口地址)。通过查询平台跳转表即可知道当前是否有应用平台正在运行以及正在运行的是哪个应用平台。
[0069]本实施例中,如果智能卡为双界面卡,在智能卡上电时,还包括判断智能卡的双界面芯片是否处于非接场的步骤,如果是,则激活智能卡的非接触工作模式,若否,则激活智能卡的接触式工作模式。当智能卡处于接触式工作模式时,智能卡COS实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式,若否,则继续保持智能卡的接触式工作模式。通过该方式,可实现了双界面智能卡芯片在接触界面供电的情况下,也能够优选通过非接触界面通信进行智能卡的灌装(包括智能卡出厂时智能卡的COS灌装以及智能卡中应用平台的加载),提高了智能卡与其它设备的通信稳定性和通信效率,避免了在智能卡用于可穿戴设备时,可穿戴设备的生产阶段在接触供电的情况下无法正常通过非接界面进行COS灌装的问题。其中,双界面卡芯片是否处于非接场,可以通过智能卡寄存器的置位来判断,例如,智能卡寄存器的状态为I表示处于非接场,状态为O表示处于接触场。
[0070]步骤S102:接收智能卡应用平台加载指令;
[0071]步骤S103:根据加载指令中待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中;
[0072]步骤S104:接收应用平台激活指令,根据所述应用平台激活指令激活对应的NVM子空间中的应用平台。
[0073]智能卡的COS接收到外部智能卡操作设备的智能卡应用平台加载指令,其中,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址,接收到加载指令后,首先根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,根据指令中待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中,即将待加载应用平台的Intel hex文件写入到相应的NVM子空间中;若是,则提示当前存在正在运行的应用平台,无法进行平台加载,如果需要继续加载,此时需要首先关闭正在运行的应用平台。本实施例中,所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令。实际应用中,可以通过在PC机、智能手机上安装相应的APP,通过PC机、智能手机控制智能卡中应用平台的切换和平台中应用程序的访问。
[0074]完成应用平台的加载后,如果接收到应用平台激活指令,激活指令中包括待激活应用平台所安装在的NVM子空间的标识,此时,首先可以根据应用平台激活指令中所包括的待激活应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中安装的待激活应用平台的主程序入口地址,激活对应的NVM子空间中的应用平台。同样的,在接收到应用平台激活指令时,也需要根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。
[0075]本实施例中,智能卡应用平台的下载、安装以及激活等都是通过智能卡COS的ADPU指令实现的,具体实现过程为现有技术,在此不再描述。当然,为了保证加载代码的正确性,在完成应用平台代码的下载后,还可以包括代码校验的步骤。
[0076]实施例二
[0077]与实施例一中所提供的智能卡应用平台装载方法相对应,本实施例中提供了一种支持多应用的智能卡应用平台装载系统,如图3所示,该装载系统包括工作模式判断模块
10、NVM空间划分模块20、平台加载指令接收模块30、平台加载模块40和平台激活模块50。
[0078]工作模式判断模块10,用于在智能卡上电时,判断智能卡的双界面芯片是否处于非接场,若是,则激活智能卡的非接触工作模式,否则,激活智能卡的接触式工作模式;该模块还包括:
[0079]工作模式监测单元11,用于当智能卡处于接触式工作模式时,实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式,若否,则继续保持智能卡的接触式工作模式。
[0080]NVM空间划分模块20,用于智能卡上电后,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,每个NVM子空间对应一个应用平台,N>2;该模块包括主程序入口地址记录单元21和NVM子空间标识设置单元22;
[0081]主程序入口地址记录单元21,用于在将NVM空间预先划分为N个NVM子空间后,将在NVM子空间中加载应用平台时应用平台的主程序入口地址和NVM子空间的标识记录在平台跳转表中;
[0082]NVM子空间标识设置单元22,用于为每一个NVM子空间设置有效标识位;所述有效标识位的初始状态为未激活,当NVM子空间中安装的应用平台被激活时,将NVM子空间的有效标识位置为已激活,当退出NVM子空间的应用平台后,将NVM子空间的有效标识位修改为默认状态;
[0083]平台加载指令接收模块30,用于接收智能卡应用平台加载指令;所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址;该模块包括:
[0084]第一平台状态判断单元31,用于在接收到智能卡应用平台加载指令后,根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则进入平台加载模块40,若是,则提示当前有应用平台正在运行,无法进行加载;
[0085]平台加载模块40,用于根据待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中;
[0086]平台激活模块50,用于将待加载应用平台下载并安装到对应的NVM子空间中后,接收应用平台激活指令,根据所述应用平台激活指令中的待激活应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间的待激活应用平台的主程序入口地址,激活对应的NVM子空间中的应用平台;该模块包括:
[0087]第二平台状态判断单元51,用于在接收到应用平台激活指令后,根据NVM子空间的有效标识位判断是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。
[0088]实施例三
[0089]基于实施例一种提供的支持多应用的智能卡应用平台装载方法,本实施例中还挺了一种智能卡应用程序安装及运行方法,如图4所示,该方法主要包括以下步骤:
[0090]步骤S301:接收智能卡应用程序安装指令;
[0091 ]步骤S302:根据智能卡应用程序安装指令中的NVM子空间的标识查找并激活对应的应用平台;
[0092]步骤S303:将待安装的应用程序下载并安装到对应的已激活的应用平台;
[0093]智能卡的COS接收外部智能卡操作设备下发的智能卡应用程序安装指令,指令中除了包括待安装的应用程序的安装数据包数据外,还包括待安装的应用程序所需要安装在的应用平台的NVM子空间的标识。所述应用程序安装指令可以是native应用程序安装指令,也可以是java应用程序安装指令。
[0094]智能卡接收到所述应用程序安装指令后,首先根据安装指令中的NVM子空间的标识,在平台跳转表中查找到该NVM子空间的标识所对应的NVM子空间中安装的应用平台的主程序入口地址,激活对应的应用平台,激活对应的应用平台后,将待安装应用程序安装到对应的已激活的应用平台。
[0095]为保障智能卡中各应用平台的安全,本实施例中,还包括设置每个NVM子空间的空间段属性的步骤,在应用平台中未安装应用程序或者应用程序未全部安装完成时,每个NVM子空间的空间段属性可以预设为一默认值,对于已完成应用程序安装的应用平台,则将该应用平台的NVM子空间的空间段属性值设置为可读可执行不可写;所述空间段属性用于标识NVM子空间中所安装的应用平台中的应用程序是否可更改,属性值不可表示应用程序不可更改,方式了程序代码被篡改。其中,所述应用程序未全部安装完成是对于java卡应用平台来说的,这是因为一个java卡应用平台可以支持多个应用,因此可以预设每个java卡应用平台可支持的应用个数,在java卡应用平台中所安装的应用个数为达到预设个数时,该平台的NVM子空间的空间段属性值仍可以为默认值。
[0096]本实施例中,利用智能卡芯片的NVM空间的分段特性,使智能卡中的每一个应用平台独享一个NVM子空间,通过为每一个NVM子空间设置空间段属性,将完成应用程序安装的应用平台的空间段属性值置为不可写,使平台中应用程序不可篡改,且由于不同应用平台在不同的空间段中,在出现跨段访问是会提示异常。
[0097]步骤S304:接收应用程序运行指令,根据应用程序运行指令运行对应的应用程序。
[0098]本实施例中,根据应用程序运行指令运行对应的应用程序的具体方式为:
[0099]I)接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识;
[0100]2)判断是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入步骤3),若否,则进入步骤3);
[0101]3)根据应用程序运行指令中应用程序所在的NVM子空间标识,在平台跳转表中查找到对应的NVM子空间的安装的应用平台的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。
[0102]本实施方式中,可以根据NVM子空间的有效标识位判断是否有其它应用程序正在运行,具体的:根据NVM子空间的有效标识位查找是否存在已激活的应用平台,若否,则不存在正在运行的应用程序,若是,则判断已激活的应用平台中有正在运行的应用程序。也就是说,如果有应用平台处于激活状态,则认为是该激活的应用平台中有程序正在运行。采用该方式,在接收到应用程序运行指令后,首先判断当前是否有其它应用程序正在运行,如果存在,则需要关闭当前正在运行的程序后才能运行指令中要求运行的应用程序,从而保证同一时刻仅允许一个应用程序有效,避免了同时运行多个应用所造成的运行混乱问题。
[0103]实施例四
[0104]与实施例三中所述的智能卡应用程序安装及运行方法相对应,本实施例中挺了一种智能卡应用程序安装及运行系统,如图5所示,该安装及运行系统包括程序安装指令接收模块100、应用平台激活模块200、应用程序安装模块300和应用程序运行模块400。其中:
[0105]程序安装指令接收模块100,用于接收智能卡应用程序安装指令;所述应用程序安装指令为native应用程序安装指令或java应用程序安装指令,应用程序安装指令中包括应用程序所要安装在的应用平台的NVM子空间的标识;
[0106]应用平台激活模块200,用于应用程序所要安装在的应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中安装的应用平台的主程序入口地址,激活对应的应用平台;
[0107]应用程序安装模块300,用于将所述应用程序下载并安装到对应的已激活的应用平台;
[0108]应用程序运行模块400,用于接收应用程序运行指令,根据所述应用程序运行指令运行对应的应用程序;该模块包括:
[0109]程序运行指令接收单元401,用于接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识;
[0110]当前运行程序判断单元402,用于判断是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入应用程序运行单元,若否,则进入应用程序运行单元;
[0111]应用程序运行单元403,用于根据应用程序运行指令中应用程序所在的NVM子空间标识,在平台跳转表中查找到对应的NVM子空间中安装的应用平台(应用程序所安装在的应用平台)的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。
[0112]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种支持多应用的智能卡应用平台装载方法,包括以下步骤: (1)智能卡上电,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,每个NVM子空间对应一个应用平台,N>2; (2)接收智能卡应用平台加载指令;所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址; (3)根据待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到对应的NVM子空间中。2.根据权利要求1所述的一种支持多应用的智能卡平台装载方法,其特征在于:步骤(I)中,将NVM空间预先划分为N个NVM子空间后,将在NVM子空间中加载应用平台时应用平台的主程序入口地址和NVM子空间的标识关联记录在平台跳转表中;步骤(3)中,将待加载应用平台下载并安装到对应的NVM子空间后,还包括: (4)接收应用平台激活指令,根据所述应用平台激活指令中的待激活应用平台所对应的NVM子空间的标识,在平台跳转表中查找到待激活应用平台的主程序入口地址,激活所述待激活应用平台。3.根据权利要求2所述的一种支持多应用的智能卡平台装载方法,其特征在于:步骤(I)中,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间后,还包括: 为每一个NVM子空间设置用于标识NVM子空间中的应用平台是否被激活的有效标识位;所述有效标识位的默认状态为未激活,当NVM子空间中安装的应用平台被激活时,将NVM子空间的有效标识位修改为已激活,当退出NVM子空间的应用平台时,将NVM子空间的有效标识为修改为默认状态; 步骤(2)中,在接收到智能卡应用平台加载指令后,还包括:根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则进入步骤(3),若是,则提示当前有应用平台正在运行,无法进行平台加载; 步骤(4)中,在接收到应用平台激活指令后,还包括:根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。4.根据权利要求3所述的一种支持多应用的智能卡平台装载方法,其特征在于:将NVM子空间的有效标识位和NVM子空间所对应的应用平台的主程序入口地址关联存储于平台跳转表中。5.根据权利要求1至4之一所述的一种支持多应用的智能卡应用平台装载方法,其特征在于:当智能卡为双界面卡时,步骤(I)中,在智能卡上电时,还包括: 判断智能卡的双界面芯片是否处于非接场,若是,则激活智能卡的非接触工作模式,若否,则激活智能卡的接触式工作模式; 当智能卡处于接触式工作模式时,实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式,若否,则继续保持智能卡的接触式工作模式。6.—种支持多应用的智能卡应用平台装载系统,包括: NVM空间划分模块,用于智能卡上电后,将智能卡的非易失性存储器NVM空间预先划分为N个NVM子空间,每个NVM子空间对应一个应用平台,N>2; 平台加载指令接收模块,用于接收智能卡应用平台加载指令;所述智能卡应用平台加载指令为native卡应用平台加载指令或java卡应用平台加载指令,智能卡应用平台加载指令中包括待加载应用平台所要安装在NVM子空间的地址; 平台加载模块,用于根据待加载应用平台所要安装在NVM子空间的地址,将待加载应用平台下载并安装到主程序入口地址对应的NVM子空间中。7.根据权利要求6所述的一种支持多应用的智能卡应用平台装载系统,其特征在于:所述NVM空间划分模块还包括: 主程序入口地址记录单元,用于在将NVM空间预先划分为N个NVM子空间后,将在NVM子空间中加载应用平台时应用平台的主程序入口地址和NVM子空间的标识记录在平台跳转表中; 该系统还包括: 平台激活模块,用于将待加载应用平台下载并安装到对应的NVM子空间中后,接收应用平台激活指令,根据所述应用平台激活指令中的待激活应用平台所对应的NVM子空间的标识,在平台跳转表中查找到待激活应用平台的主程序入口地址,激活所述待激活应用平台。8.根据权利要求7所述的一种支持多应用的智能卡应用平台装载系统,其特征在于:所述NVM空间划分模块还包括: NVM子空间标识设置单元,用于为每一个NVM子空间设置有效标识位;所述有效标识位的初始状态为未激活,当NVM子空间中安装的应用平台被激活时,将NVM子空间的有效标识位置为已激活,当退出NVM子空间的应用平台后,将NVM子空间的有效标识位修改为默认状态; 所述平台加载指令接收模块包括: 第一平台状态判断单元,用于在接收到智能卡应用平台加载指令后,根据NVM子空间的有效标识位判断当前是否存在已激活的应用平台,若否,则进入平台加载模块,若是,则提示当前有应用平台正在运行,无法进行加载; 所述平台激活模块包括: 第二平台状态判断单元,用于在接收到应用平台激活指令后,根据NVM子空间的有效标识位判断是否存在已激活的应用平台,若否,则根据所述应用平台激活指令激活对应的NVM子空间中的应用平台,若是,则提示当前有应用平台正在运行,无法进行平台激活。9.根据权利要求6至8之一所述的一种支持多应用的智能卡应用平台装载系统,其特征在于:当智能卡为双界面卡时,还包括: 工作模式判断模块,用于在智能卡上电时,判断智能卡的双界面芯片是否处于非接场,若是,则激活智能卡的非接触工作模式,否则,激活智能卡的接触式工作模式; 所述工作模式判断模块包括: 工作模式监测单元,用于当智能卡处于接触式工作模式时,实时监测智能卡的双界面芯片是否处于非接场,若是,则中断智能卡的接触式工作模式,激活智能卡的非接触式工作模式活,若否,则继续保持智能卡的接触式工作模式。10.基于权利要求2至5之一所述的支持多应用的智能卡应用平台装载方法的一种智能卡应用程序安装及运行方法,包括以下步骤: ①接收智能卡应用程序安装指令;所述应用程序安装指令为native应用程序安装指令或java应用程序安装指令,应用程序安装指令中包括应用程序所要安装在的应用平台的NVM子空间的标识; ②根据应用程序所要安装在的应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中所安装的应用平台的主程序入口地址,激活对应的应用平台; ③将所述应用程序下载并安装到对应的已激活的应用平台; ④接收应用程序运行指令,根据所述应用程序运行指令运行对应的应用程序;根据应用程序运行指令运行对应的应用程序的方式为: 1)接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识; 2)判断当前是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入步骤3),若否,则进入步骤3); 3)根据应用程序运行指令中应用程序所在的NVM子空间的标识,在平台跳转表中查找到应用程序所安装在的应用平台的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。11.根据权利要求10所述的一种智能卡应用程序安装及运行方法,其特征在于:还包括:设置每个NVM子空间的空间段属性,对于已完成应用程序安装的应用平台,将该应用平台的NVM子空间的空间段属性值设置为不可写;所述空间段属性用于标识NVM子空间中所安装的应用平台中的应用程序是否可更改。12.—种智能卡应用程序安装及运行系统,包括: 程序安装指令接收模块,用于接收智能卡应用程序安装指令;所述应用程序安装指令为native应用程序安装指令或java应用程序安装指令,应用程序安装指令中包括应用程序所要安装在的应用平台的NVM子空间的标识; 应用平台激活模块,用于根据应用程序所要安装在的应用平台的NVM子空间的标识,在平台跳转表中查找到对应的NVM子空间中所安装的应用平台的主程序入口地址,激活对应的应用平台; 应用程序安装模块,用于将所述应用程序下载并安装到对应的已激活的应用平台; 应用程序运行模块,用于接收应用程序运行指令,根据所述应用程序运行指令运行对应的应用程序;所述应用程序运行模块包括: 程序运行指令接收单元,用于接收应用程序运行指令,所述应用程序运行指令中包括应用程序所在的NVM子空间的标识和应用程序标识; 当前运行程序判断单元,用于判断当前是否有其它应用程序正在运行,若是,则关闭当前正在运行的应用程序后进入应用程序运行单元,若否,则进入应用程序运行单元; 应用程序运行单元,用于根据应用程序运行指令中应用程序所在的NVM子空间的标识,在平台跳转表中查找到应用程序所安装在的应用平台的主程序入口地址,查找到应用程序所在的应用平台,在查找到的应用平台中根据应用程序标识查找到对应的应用程序并运行。
【文档编号】G06F9/445GK105893098SQ201610265571
【公开日】2016年8月24日
【申请日】2016年4月26日
【发明人】张莉
【申请人】北京握奇智能科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1