CN100378663C - 将应用程序动态下载到用户识别模块的方法、系统及模块 - Google Patents
将应用程序动态下载到用户识别模块的方法、系统及模块 Download PDFInfo
- Publication number
- CN100378663C CN100378663C CNB2005100770375A CN200510077037A CN100378663C CN 100378663 C CN100378663 C CN 100378663C CN B2005100770375 A CNB2005100770375 A CN B2005100770375A CN 200510077037 A CN200510077037 A CN 200510077037A CN 100378663 C CN100378663 C CN 100378663C
- Authority
- CN
- China
- Prior art keywords
- program
- module
- data
- application
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种将应用程序动态下载到用户识别模块的方法、系统和支持该方法的用户识别模块,应用业务服务器将要下载的应用程序的机器代码组成若干条数据,发送到用户识别模块;用户识别模块的监控模块识别出收到的应用程序数据后交给应用程序管理模块,该模块将其中的程序代码写入到模块内的存储器中,并保存程序标识和程序代码地址的信息;调用所述应用程序时,根据程序标识得到该程序代码的存储地址,然后执行该程序。本发明方法可以将程序代码以机器代码的形式动态下载到用户识别模块,并在用户识别模块上调用、删除该程序。
Description
技术领域
本发明涉及智能卡的程序下载,更具体地,涉及用户识别模块的动态程序下载方法、系统及其支持该方法的用户识别模块。
背景技术
空中下载技术(OTA)的出现使得SIM卡、UIM卡等用户识别模块能够从服务器动态下载最新的菜单,已成为一种为用户提供新的增值服务的重要手段。但是,一些增值服务的实现还需要在用户识别模块上运行相应的应用程序,目前还不能够实现应用程序到用户识别模块的动态下载,这对一些增值服务的推广带来了不便。
发明内容
本发明要解决的技术问题是提供一种将应用程序动态下载到用户识别模块的方法,可以将程序代码以机器代码的形式动态下载到用户识别模块,并在用户识别模块上调用、删除该程序。本发明还要提供一种实现该方法的系统和支持该方法的用户识别模块。
为了解决上述技术问题,本发明提供了一种将应用程序动态下载到用户识别模块的方法,包括以下步骤:
(a)应用业务服务器将要下载的应用程序的机器代码组成若干条数据,发送到用户识别模块;
(b)用户识别模块在收到所述应用程序的数据后,将其中的程序代码写入模块内的存储器,并保存程序标识和程序代码地址的信息;
(c)要调用所述应用程序时,先根据程序标识得到该程序代码的起始地址,执行该程序。
进一步地,上述方法还可具有以下特点:还包括步骤:(d)要删除所述应用程序时,将保存的与该程序相关的所述信息删除。
进一步地,上述方法还可具有以下特点:步骤(a)中,所述应用业务服务器是通过无线方式将应用程序代码发送到所述用户识别模块的,或者,所述应用业务服务器是通过写卡终端处理模块采用写卡组件函数调用方式将应用程序代码发送到所述用户识别模块的。
进一步地,上述方法还可具有以下特点:所述应用业务服务器是通过短信通道以数据短信的方式将应用程序代码发送到所述用户识别模块的。
进一步地,上述方法还可具有以下特点:步骤(b)中,所述程序代码写入完成后,还调用程序代码的初始化函数入口,在操作系统中进行程序的注册。
进一步地,上述方法还可具有以下特点:步骤(d)中,先在操作系统中进行要删除程序的反注册,再删除其相关信息。
进一步地,上述方法还可具有以下特点:所述应用程序代码地址是用文件分配表中该程序的逻辑区间链表方式保存的,而该逻辑区间链表的首址与该程序标识的对应关系存储在文件注册表中,用户识别模块根据程序标识即可找到程序的逻辑区间链表的首址,进而算出程序代码的起始地址并找到该程序的逻辑区间链表。
进一步地,上述方法还可具有以下特点:在下载和删除程序时,还记录该程序下载及删除是否完成的状态信息,所述步骤(b)先清除未下载成功和未删除成功的程序,再判断是否有足够的剩余空间,如有,再将程序代码写入相应的存储位置,如空间不足,则中止下载,结束。
进一步地,上述方法还可具有以下特点:所述程序代码是存储在存储器的一个可动态指定的逻辑分区中,在该分区写入数据时,将其置为数据态,而在下载结束后,将其置为程序态以便直接调用。
进一步地,上述方法还可具有以下特点:所述程序代码和文件分配表都存储在可动态指定的逻辑分区,在每次写入程序代码或改写文件分配表前,都将其对应的逻辑分区置为数据态,而在写入完成后,再将其对应的逻辑分区置为程序态。
进一步地,上述方法还可具有以下特点:所述步骤(c)在调用应用程序之前,先保持当前程序运行的环境,而在调用结束后,再恢复调用前的程序环境。
本发明提供的支持该方法的用户识别模块包括监控模块、存储模块,其特点是,还包括应用程序管理模块,其中:
所述监控模块,用于监控收到的数据,判断其是否是下载的应用程序的机器代码数据,如果是,交给应用程序管理模块处理;
所述存储模块,分为若干个逻辑分区,用于存储下载的应用程序的程序标识、程序代码地址信息以及程序代码的数据;
所述应用程序管理模块进一步包括:
下载控制单元,用于在收到下载的应用程序数据后,将其中的程序代码写入所述存储模块,并保存程序标识和程序代码的地址信息;
调用控制单元,用于在要调用所述应用程序时,根据程序标识得到该程序代码的起始地址。
进一步地,上述用户识别模块还可具有以下特点:所述应用程序管理模块进一步包括:删除控制单元,用于在要删除所述应用程序时,根据其程序标识找到保存的程序代码地址信息,将该程序相关的信息删除。
进一步地,上述用户识别模块还可具有以下特点:还包括一个存储管理模块,用于控制所述存储模块上逻辑分区的访问权限,在应用程序的下载、调用、删除过程中,需要写入程序代码数据时,将其所在分区置为数据态,而在要执行程序代码时,将其所在分区置为程序态。
进一步地,上述用户识别模块还可具有以下特点:所述下载控制单元是将程序代码的地址信息以逻辑区间链表的方式保存在文件分配表中,将程序标识和对应的逻辑区间链表首址保存在文件注册表中,所述调用控制单元和删除控制单元根据程序标识找到其逻辑区间链表的首址,进而算出程序代码的起始地址和找到该程序的逻辑区间链表。
进一步地,上述用户识别模块还可具有以下特点:所述下载控制单元还在程序代码写入完成后,在操作系统中进行该程序的注册;所述删除控制单元在删除该程序的信息前,先在操作系统中完成该程序的反注册。
本发明提供的实现程序动态下载到用户识别模块的系统包括应用业务服务器和与其通讯的用户识别模块,其中:
所述应用业务服务器包括应用业务数据管理模块和通讯处理模块,该应用业务数据管理模块用于保存应用程序的机器代码数据,在用户需要下载时,将程序代码组成若干条数据,交给所述通讯处理模块;所述通讯处理模块用于接收用户的下载申请,交给所述应用业务数据管理模块,并将组织好的应用程序代码数据发送到申请下载的所述用户识别模块;
所述用户识别模块进一步包括监控模块、存储模块和应用程序管理模块,其中:
所述监控模块用于监控收到的数据,判断其是否是下载的应用程序的机器代码数据,如果是,交给应用程序管理模块处理;
所述存储模块分为若干个逻辑分区,用于存储下载的应用程序的程序标识、程序代码地址信息以及程序代码的数据;
所述应用程序管理模块进一步包括:下载控制单元,用于在剩余空间足够时,将收到的应用程序数据中的程序代码写入所述存储模块,并保存程序标识和程序代码的地址信息;调用控制单元,用于根据程序标识得到该程序代码的起始地址,执行该应用程序;删除控制单元,用于将保存的应用程序的相关信息删除。
进一步地,上述系统还可具有以下特点:所述通讯处理模块进一步包括接收单元和发送单元,所述接收单元用于接收从短消息网关发来的短信,识别出下载应用程序的申请,将用户手机号和要下载的应用程序信息通知给所述应用业务数据管理模块,所述发送单元用于将组织好的每条数据加上状态字,按照数据短信方式经短消息网关发送到用户识别模块。
进一步地,上述系统还可具有以下特点:还包括一个写卡终端处理模块,该模块采用写卡组件函数调用方式将应用程序代码传送到所述用户识别模块。
进一步地,上述系统还可具有以下特点:所述用户识别模块还包括一个存储管理模块,用于控制所述存储模块上逻辑分区的访问权限,在应用程序的下载、调用和删除过程中,需要写入程序代码数据时,将其所在分区置为数据态,而在要执行程序代码时,将其所在分区置为程序态。
综上所述,采用本发明,可以将应用程序的机器代码动态下载到用户识别模块,并可实现调用和删除功能。而且,本发明下载到用户识别模块的内容是不需要解释执行的机器代码数据,调用时只需找到程序入口即可直接调用,不需要进一步的解释性工作,运行速度很快。而且下载的程序不仅能作为系统需要维护的数据,还可以作为底层操作系统的扩充。
进一步地,通过对存储区的动态指定,可以使程序代码所在分区在写入数据时置为数据态,而在执行时置为程序态,用简单的硬件设计来实现应用程序的下载和调用。
附图说明
图1是本发明实施例实现程序动态下载到用户识别模块的系统图。
图2是本发明实施例用户识别模块的结构框图。
图3是本发明实施例方法下载及程序代码存储的流程图。
图4是本发明实施例方法调用已下载程序的流程图。
图5是本发明实施例方法删除下载程序的流程图。
具体实施方式
第一实施例
本实施例实现应用程序动态下载到用户识别模块的方法所基于的系统如图1所示,由应用业务服务器,以及通过短信通道与该服务器交互的SIM卡(由手机完成短信的透传)组成。
应用业务服务器上的主要相关模块包括:
应用业务管理模块,用于新应用业务的开发和管理,系统管理以及SIM卡信息维护等功能。
应用业务数据管理模块,用于保存应用程序的机器代码数据,在收到用户申请后,将数据按规定格式组织成若干条数据交给通讯处理模块发送,每条数据的内容包括:数据总大小、数据总条数、本条数据索引值、本条数据内容、本条数据长度和本条数据在总数据中的偏移。
通讯处理模块,用于完成应用业务服务器与短消息网关之间的数据接收、数据分流和数据发送等功能。其进一步包括接收单元,用于接收从短消息网关发来的短信,识别出下载应用程序的申请,将用户手机号和要下载的应用程序信息通知给应用业务数据管理模块;以及发送单元,用于将组织好的每条数据加上状态字,按照数据短信方式经短消息网关发送到SIM卡。
本实施例支持动态程序下载的SIM卡采用一种具有多个逻辑分区并可控制访问权限的IC智能卡(可参考本申请人的专利申请:03137511.1),该SIM卡进一步包括监控模块、应用程序管理模块、存储模块,以及位于应用程序管理模块和存储模块之间的存储管理模块,如图2所示。
监控模块,用于监控从手机透传的短信,根据短信中的状态字识别出是应用程序的下载数据后,交给应用程序管理模块处理;
应用程序管理模块进一步包括下载控制单元、调用控制单元和删除控制单元,其中:
下载控制单元,用于在收到短信方式的下载数据后,判断是否有足够的剩余空间,如有,将数据逐条写入到相应的存储位置,并保存程序标识、程序代码起始地址等信息,写入完成后在系统中进行程序注册,并建立该程序代码的逻辑区间链表。
调用控制单元,用于根据程序标识在文件注册表中找到相应记录,获得该程序的逻辑区间链表首址,然后根据该地址计算该程序代码的起始地址,修改程序指针,然后执行该程序。
删除控制单元,用于先进行要删除程序的反注册,根据其程序标识在文件注册表中找到相应记录,根据该记录指定的逻辑区间链表首址清空文件分配区对应的链表信息,最后从注册表中删除该记录。
存储模块包含可以根据应用程序管理模块在下载、调用、删除中要执行的操作,控制这些分区的访问权限,需要在某区写入数据时将该区置为数据态(可读写),而在要执行某区的程序代码时将其转换为程序态(可读)。
为了实现应用程序的管理,该存储模块中的文件系统包括文件注册表、文件分配表和程序代码。与普通智能卡不同的是,在程序下载和调用过程中,文件分配表和程序代码所在的逻辑分区会有数据态和程序态的转换,而文件注册表区所在逻辑分区则始终作为数据区。
文件分配表用于存储应用程序代码的逻辑区间链表,程序代码的存储通过逻辑区间链表寻址方式保存,以实现代码数据的动态增加和删除。
文件注册表用于存储包含程序代码与逻辑区间链表首址对应关系、下载和删除流程的状态等信息。其结构如下所示:
字节 | 描述 | 长度 |
1-3 | 程序标识 | 3 |
4 | 程序状态 | 1 |
5-6 | 逻辑区间链表首址 | 2 |
其中,程序标识为三个字节,是与其它程序区分的标志。在下载流程中,程序状态为1表示开始下载,状态2表下载完成。在删除流程中,程序状态2表示未开始删除,状态1表示开始删除但未删除完成,删除完成以后,将清除注册表中相应的记录。逻辑区间链表首址记录程序数据在文件分配表中建立的链表的首址。知道了程序的标识通过注册表就可以找到程序的逻辑区间链表,即计算出程序数据的存放地址。
本实施例方法包括下载及程序代码存储流程、代码调用流程以及程序代码删除流程三个方面。下载时是通过短消息通道实现的。
如图3所示,下载及程序代码存储流程包括以下步骤:
步骤110,应用业务服务器收到下载请求后,将程序代码按规定格式打包成数据短信并加上状态字,然后通过短消息通道发送到SIM卡;
步骤120,SIM卡收到数据短信并根据所述状态字识别出是下载的程序代码后,先判断该短信包含的是否为第一条下载数据(根据其索引值即可判断),如果是,执行下一步,否则执行步骤170;
步骤130,查找程序注册表中的记录,如果有状态为1的记录,执行步骤140,如果没有状态为1的记录,执行步骤150;
步骤140,先将文件分配表所在分区置为数据态,根据所述记录中的逻辑区间链表首址将对应程序在文件分配表中的空间清除,然后将文件分配表所在分区置为程序态,并将文件注册表中的所述记录删除;
步骤130和140用于在查找空间之前,先清除未下载成功和未删除成功的程序。因为这些程序可能因为掉电的原因没有执行成功下载和删除流程,但是还占用文件分配表中的空间,所以在查找空间之前将这些无用的程序删除,以充分利用存储空间。
步骤150,判断SIM卡中剩余空间是否大于程序代码存储所需的空间,如大于,执行下一步,否则中断下载流程,结束;
步骤160,将程序代码所在分区置为数据态,将第一条数据的内容写入到剩余空间的开始位置,成功后在注册表中添加一条记录,写入该程序的程序标识和逻辑链表的首地址,程序状态记为1,返回步骤120;
步骤170,每次写入数据前,将程序代码所在分区置为数据态,根据短信数据中的偏移及长度将该条数据的内容写到数据空间的相应位置(即找到的空闲簇),写入后将程序代码所在分区置为程序态;
步骤180,根据当前短信索引及短信总条数判断数据是否全部下载完成,如未下载完成,返回步骤120,否则,执行下一步;
步骤190,调用程序代码数据的初始化函数入口,进行程序的注册,如在系统中注册程序运行需要的文件,内存变量等,调用结束后将文件分配表所在分区置为数据态;
步骤200,查找注册表,将程序状态从1修改为2,并在文件分配表中建立该应用程序代码数据的逻辑区间链表,将文件分配表所在分区置为程序态,结束。
上述步骤中,步骤190是可选的。另外,文件分配表和程序代码所在的逻辑分区可以相同,也可以不同。只要保证在写入时将要写入的分区改为数据态,而在下载完成之后将程序代码所在分区改为程序态以供调用就可以了。
由于程序代码在下载完成后被置为程序态。所以如果知道程序数据的起址就可以直接运行。如图4所示,已下载程序的调用流程包括以下步骤:
步骤210,要调用已下载程序时,SIM先保存程序运行的环境(如,堆栈信息、中断等等);
步骤220,根据程序标识在注册表状态为2的记录中查找到相应记录,获得该程序的逻辑区间链表首址;
步骤230,根据逻辑区间链表首址计算程序数据区的起始地址,开始执行该已下载的程序;
步骤240,调用结束后,恢复保存的程序运行环境。
程序的删除过程与下载的过程相反,如图5所示,删除已下载程序的流程包括以下步骤:
步骤310,调用要删除程序代码数据的释放函数入口,进行反注册过程,完成后继续下一步;
步骤320,根据要删除程序的标识在注册表状态为2的记录中查找相应的记录,找到后将该程序的状态由2改为1;
步骤330,修改文件分配表所在分区置为数据态,然后根据所述记录指定的逻辑区间链表首址,清空文件分配区对应的链表信息;
步骤340,修改文件分配表所在分区置为程序态,然后将该程序对应的记录从注册表中删除。
第二实施例
不同于第一实施例从空中通道的下载,本实施例SIM卡是通过写卡终端处理模块从应用业务服务器下载数据的,如图1的虚线部分。系统中将该写卡终端处理模块与应用业务服务器的应用业务数据管理模块相连,应用业务数据管理模块也是将应用程序的数据打包,可以用第一实施例的格式,然后发给写卡终端处理模块。
写卡终端处理模块,用于完成服务器与SIM卡间的数据传输,采用写卡组件函数调用方式,数据的重传、超时等问题由该模块处理,超时重发次数、等待时间,由服务器作为参数传给写卡组件。采用这种方式可以去掉短信通道中许多安全性和防重传的机制,多传输一些程序的数据,传输速度更快。
本实施例SIM卡中的相关模块也包括监控模块、应用程序管理模块和存储模块。与第一实施例相比没有存储管理模块,即不区分程序区和数据区。只要能找到程序代码的数据,同样可以执行应用程序。这种存储方式需要硬件能够在任何位置运行程序数据或者能在内存中运行程序,从而在实现上比较复杂,而且需要在访问时区别操作的类型,相对成本比较高。
监控模块的功能与第一实施例相同,应用程序管理模块所要完成的基本功能也相同,只是在本实施例中,应用程序是通过索引文件方式存储的。索引包括:程序标识和文件的标识,根据程序标识在注册表找到文件的标识。再根据文件标识,通过文件系统找到文件地址,读取文件内容。文件的内容即是程序数据,即每个程序的数据组成不同的文件保存起来。相应地,本实施例的应用程序管理模块包括:
下载控制单元,用于在收到写卡组件函数调用方式的下载数据后,判断是否有足够的剩余空间,如有,根据数据中记录的程序数据的总长度创建文件,并将相应数据写入文件中的相应位置,写入完成以后在系统中进行程序的注册,记录程序标识与文件标识。
调用控制单元,用于根据程序标识在文件注册表中找到相应记录,获得保存该程序数据文件的标识,并根据此标识通过文件管理系统读取文件的内容,此时的文件内容即是程序数据,直接执行此程序即可。
删除控制单元,用于先进行要删除程序的反注册,根据其程序标识在文件注册表中找到相应记录,根据该记录指定的文件标识删除保存程序数据的文件,最后从注册表中删除该记录。
本实施例的下载及程序代码存储流程如下:用户识别模块收到写卡组件函数调用方式的下载数据后,判断是否有足够的剩余空间,如有,根据数据中记录的程序数据的总长度创建文件,并将相应数据写入文件中的相应位置,写入完成以后在系统中进行程序的注册,记录程序标识与文件标识。
代码调用流程如下:要调用已下载的应用程序时,先保存程序运行的环境;根据程序标识在文件注册表中找到该程序数据文件的标识;根据此标识通过文件管理系统读取文件的内容,即程序数据,然后修改程序指针,执行该程序;调用结束后,再恢复保存的程序运行环境。
程序代码删除流程如下:根据删除程序的标识在文件注册表中找到相应记录;根据该记录指定的文件标识删除保存程序数据的文件;最后从注册表中删除该程序的记录。
第一实施例和第二实施例的一些技术手段是可以组合的,例如,在又一实施例中,可以采用簇链方式来对应用程序代码寻址,但在下载时并不进行数据态和程序态的转换。又如,在第二实施例的注册表中也可以加入程序状态的信息,并在查找剩余空间之前先清除未下载成功和未删除成功的程序。
综上所述,采用本发明,可以将应用程序的机器代码动态下载到用户识别模块,并实现调用和删除功能。而且,本发明下载到用户识别模块的内容是不需要解释执行的机器代码数据,调用时只需找到程序入口即可直接调用,不需要进一步的解释性工作,运行速度很快。而且下载的程序不仅能作为系统需要维护的数据,还可以作为底层操作系统的扩充。
本发明可以应用于SIM、UIM等各种用户识别模块中。
Claims (20)
1.一种将应用程序动态下载到用户识别模块的方法,包括以下步骤:
(a)应用业务服务器将要下载的应用程序的机器代码组成若干条数据,发送到用户识别模块;
(b)用户识别模块在收到所述应用程序的数据后,将其中的程序代码写入模块内的存储器,并保存程序标识和程序代码地址的信息;
(c)要调用所述应用程序时,先根据程序标识得到该程序代码的起始地址,执行该程序。
2.如权利要求1所述的方法,其特征在于,还包括步骤:(d)要删除所述应用程序时,将保存的与该程序相关的所述信息删除。
3.如权利要求1或2所述的方法,其特征在于,步骤(a)中,所述应用业务服务器是通过无线方式将应用程序代码发送到所述用户识别模块的,或者,所述应用业务服务器是通过写卡终端处理模块采用写卡组件函数调用方式将应用程序代码发送到所述用户识别模块的。
4.如权利要求3所述的方法,其特征在于,所述应用业务服务器是通过短信通道以数据短信的方式将应用程序代码发送到所述用户识别模块的。
5.如权利要求1或2所述的方法,其特征在于,步骤(b)中,所述程序代码写入完成后,还调用程序代码的初始化函数入口,在操作系统中进行程序的注册。
6.如权利要求2所述的方法,其特征在于,步骤(d)中,先在操作系统中进行要删除程序的反注册,再删除其相关信息。
7.如权利要求1或2所述的方法,其特征在于,所述应用程序代码地址是用文件分配表中该程序的逻辑区间链表方式保存的,而该逻辑区间链表的首址与该程序标识的对应关系存储在文件注册表中,用户识别模块根据程序标识即可找到程序的逻辑区间链表的首址,进而算出程序代码的起始地址并找到该程序的逻辑区间链表。
8.如权利要求1或2所述的方法,其特征在于,在下载和删除程序时,还记录该程序下载及删除是否完成的状态信息,所述步骤(b)先清除未下载成功和未删除成功的程序,再判断是否有足够的剩余空间,如有,再将程序代码写入相应的存储位置,如空间不足,则中止下载,结束。
9.如权利要求1或2所述的方法,其特征在于,所述程序代码是存储在存储器的一个可动态指定的逻辑分区中,在该分区写入数据时,将其置为数据态,而在下载结束后,将其置为程序态以便直接调用。
10.如权利要求7所述的方法,其特征在于,所述程序代码和文件分配表都存储在可动态指定的逻辑分区,在每次写入程序代码或改写文件分配表前,都将其对应的逻辑分区置为数据态,而在写入完成后,再将其对应的逻辑分区置为程序态。
11.如权利要求1或2所述的方法,其特征在于,所述步骤(c)在调用应用程序之前,先保持当前程序运行的环境,而在调用结束后,再恢复调用前的程序环境。
12.一种支持动态程序下载的用户识别模块,包括监控模块、存储模块,其特征在于,还包括应用程序管理模块,其中:
所述监控模块,用于监控收到的数据,判断其是否是下载的应用程序的机器代码数据,如果是,交给应用程序管理模块处理;
所述存储模块,分为若干个逻辑分区,用于存储下载的应用程序的程序标识、程序代码地址信息以及程序代码的数据;
所述应用程序管理模块进一步包括:
下载控制单元,用于在收到下载的应用程序数据后,将其中的程序代码写入所述存储模块,并保存程序标识和程序代码的地址信息;
调用控制单元,用于在要调用所述应用程序时,根据程序标识得到该程序代码的起始地址。
13.如权利要求12所述的用户识别模块,其特征在于,所述应用程序管理模块进一步包括:删除控制单元,用于在要删除所述应用程序时,根据其程序标识找到保存的程序代码地址信息,将该程序相关的信息删除。
14.如权利要求12或13所述的用户识别模块,其特征在于,还包括一个存储管理模块,用于控制所述存储模块上逻辑分区的访问权限,在应用程序的下载、调用、删除过程中,需要写入程序代码数据时,将其所在分区置为数据态,而在要执行程序代码时,将其所在分区置为程序态。
15.如权利要求12所述的用户识别模块,其特征在于,所述下载控制单元是将程序代码的地址信息以逻辑区间链表的方式保存在文件分配表中,将程序标识和对应的逻辑区间链表首址保存在文件注册表中,所述调用控制单元和删除控制单元根据程序标识找到其逻辑区间链表的首址,进而算出程序代码的起始地址和找到该程序的逻辑区间链表。
16.如权利要求12所述的用户识别模块,其特征在于,所述下载控制单元还在程序代码写入完成后,在操作系统中进行该程序的注册;所述删除控制单元在删除该程序的信息前,先在操作系统中完成该程序的反注册。
17.一种实现程序动态下载到用户识别模块的系统,其特征在于,包括应用业务服务器和与其通讯的用户识别模块,其中:
所述应用业务服务器包括应用业务数据管理模块和通讯处理模块,该应用业务数据管理模块用于保存应用程序的机器代码数据,在用户需要下载时,将程序代码组成若干条数据,交给所述通讯处理模块;所述通讯处理模块用于接收用户的下载申请,交给所述应用业务数据管理模块,并将组织好的应用程序代码数据发送到申请下载的所述用户识别模块;
所述用户识别模块进一步包括监控模块、存储模块和应用程序管理模块,其中:
所述监控模块用于监控收到的数据,判断其是否是下载的应用程序的机器代码数据,如果是,交给应用程序管理模块处理;
所述存储模块分为若干个逻辑分区,用于存储下载的应用程序的程序标识、程序代码地址信息以及程序代码的数据;
所述应用程序管理模块进一步包括:下载控制单元,用于在剩余空间足够时,将收到的应用程序数据中的程序代码写入所述存储模块,并保存程序标识和程序代码的地址信息;调用控制单元,用于根据程序标识得到该程序代码的起始地址,执行该应用程序;删除控制单元,用于将保存的应用程序的相关信息删除。
18.如权利要求17所述的系统,其特征在于,所述通讯处理模块进一步包括接收单元和发送单元,所述接收单元用于接收从短消息网关发来的短信,识别出下载应用程序的申请,将用户手机号和要下载的应用程序信息通知给所述应用业务数据管理模块,所述发送单元用于将组织好的每条数据加上状态字,按照数据短信方式经短消息网关发送到用户识别模块。
19.如权利要求17所述的系统,其特征在于,还包括一个写卡终端处理模块,该模块采用写卡组件函数调用方式将应用程序代码传送到所述用户识别模块。
20.如权利要求17所述的系统,其特征在于,所述用户识别模块还包括一个存储管理模块,用于控制所述存储模块上逻辑分区的访问权限,在应用程序的下载、调用和删除过程中,需要写入程序代码数据时,将其所在分区置为数据态,而在要执行程序代码时,将其所在分区置为程序态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100770375A CN100378663C (zh) | 2005-06-15 | 2005-06-15 | 将应用程序动态下载到用户识别模块的方法、系统及模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100770375A CN100378663C (zh) | 2005-06-15 | 2005-06-15 | 将应用程序动态下载到用户识别模块的方法、系统及模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1687899A CN1687899A (zh) | 2005-10-26 |
CN100378663C true CN100378663C (zh) | 2008-04-02 |
Family
ID=35305940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100770375A Active CN100378663C (zh) | 2005-06-15 | 2005-06-15 | 将应用程序动态下载到用户识别模块的方法、系统及模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100378663C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101111032B (zh) * | 2007-08-31 | 2010-12-29 | 中兴通讯股份有限公司 | 下载软件的方法和系统 |
CN101588642A (zh) * | 2008-05-21 | 2009-11-25 | 广州盛华信息技术有限公司 | 用户识别卡及手持设备 |
CN101771680B (zh) * | 2008-12-29 | 2013-03-13 | 中国移动通信集团公司 | 一种向智能卡写入数据的方法、系统以及远程写卡终端 |
US8538480B2 (en) * | 2010-03-30 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for device applet management on smart cards |
CN103309758B (zh) * | 2012-03-15 | 2016-01-27 | 中国移动通信集团公司 | 一种卡应用下载的方法、系统和装置 |
CN106371884B (zh) * | 2016-09-18 | 2019-12-20 | 时瑞科技(深圳)有限公司 | 通用嵌入式加载应用系统及方法 |
CN108334282B (zh) * | 2017-12-28 | 2021-07-09 | 宁德时代新能源科技股份有限公司 | 汽车电子控制单元的程序文件下载方法和装置 |
CN108376080A (zh) * | 2018-05-28 | 2018-08-07 | 郑州悉知信息科技股份有限公司 | 一种程序更新方法及装置 |
CN112379911B (zh) * | 2020-11-10 | 2022-11-11 | 杭州万高科技股份有限公司 | 固件模块注册信息处理方法、系统、存储介质、智能手机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000031997A1 (en) * | 1998-11-20 | 2000-06-02 | Sonera Oyj | Method and system in a telecommunication system and subscriber identity module |
CN1281194A (zh) * | 2000-08-23 | 2001-01-24 | 大唐电信科技股份有限公司微电子分公司 | 基于短消息服务的手机电子商务动态菜单下载的实现方法 |
CN1345154A (zh) * | 2001-11-08 | 2002-04-17 | 大唐微电子技术有限公司 | 用户识别模块的增值业务进行空中下载的方法 |
CN1348298A (zh) * | 2001-11-27 | 2002-05-08 | 协马(北京)信息技术有限公司 | 基于短消息服务的无线增值业务的实现方法和系统 |
-
2005
- 2005-06-15 CN CNB2005100770375A patent/CN100378663C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000031997A1 (en) * | 1998-11-20 | 2000-06-02 | Sonera Oyj | Method and system in a telecommunication system and subscriber identity module |
CN1281194A (zh) * | 2000-08-23 | 2001-01-24 | 大唐电信科技股份有限公司微电子分公司 | 基于短消息服务的手机电子商务动态菜单下载的实现方法 |
CN1345154A (zh) * | 2001-11-08 | 2002-04-17 | 大唐微电子技术有限公司 | 用户识别模块的增值业务进行空中下载的方法 |
CN1348298A (zh) * | 2001-11-27 | 2002-05-08 | 协马(北京)信息技术有限公司 | 基于短消息服务的无线增值业务的实现方法和系统 |
Non-Patent Citations (3)
Title |
---|
OTA技术在手机卡菜单更新中的应用研究. 张岩,高立新.邮电设计技术,第1卷. 2004 * |
基于短消息的OTA技术及其测试. 周鹏.电术网技术,第11卷. 2004 * |
空中下载服务器的通用性研究. 范春晚,绉俊伟,王骥,孙宝文.微型机与应用,第4卷. 2004 * |
Also Published As
Publication number | Publication date |
---|---|
CN1687899A (zh) | 2005-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923571B (zh) | 管理终端数据记录的方法及装置 | |
CN101986649B (zh) | 应用于电信行业计费系统的共享数据中心 | |
EP2461640A1 (en) | Method and integrated circuit card for managing the database by interacting with the mobile equipment | |
CN103853714A (zh) | 一种数据处理方法和装置 | |
CN100378663C (zh) | 将应用程序动态下载到用户识别模块的方法、系统及模块 | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
CN101110026A (zh) | 一种资源受限设备及数据访问方法 | |
CN101673217B (zh) | 一种实现远端程序调用的方法和系统 | |
CN101400164A (zh) | 一种智能卡及其实现部署定制业务的系统及方法 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
EP1030494A1 (en) | Communication unit and communication method with profile management | |
CN102760075A (zh) | 一种实现智能卡应用部署的方法及系统 | |
CN110489138A (zh) | 一种应用更新方法、装置和存储介质 | |
CN101404797B (zh) | 长短消息的存储方法、存储管理装置以及存储系统 | |
CN101430685A (zh) | 下载方法及其系统 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
CN114020444A (zh) | 一种企业数字中台中资源服务应用的调用系统和方法 | |
CN103595845B (zh) | 在用户识别卡中存储通讯记录的方法、装置及终端 | |
CN113342836A (zh) | 同步数据处理方法、装置、计算机设备及存储介质 | |
CN101833585A (zh) | 数据库服务器操作控制系统、方法及设备 | |
US20030104833A1 (en) | Data synchronization system and method | |
CN1937812A (zh) | 在用户识别模块和移动终端之间传输数据的方法及其装置 | |
CN101014059A (zh) | 电子电话簿的数据信息存储和扩展的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20051026 Assignee: Beijing Datang Smart Card Co., Ltd. Assignor: Datang Microelectronics Technology Co., Ltd. Contract record no.: 2016110000008 Denomination of invention: Method, system and module for dynamic downloading of applied programe to user identification Granted publication date: 20080402 License type: Common License Record date: 20160422 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |