一种优化usim卡文件读写速度及频率的实现方法
【专利摘要】一种优化USIM卡文件读写速度及频率的实现方法,涉及数据通信领域,包括:S1.USIM卡在线时,创建与USIM卡文件一一对应的内存缓存区,构建管理内存缓存区的三元组结构数组;S2.等待接收读写USIM卡文件的业务请求,当收到上层应用程序的读写业务请求后,进入S3;S3.根据USIM卡文件标识符,查找与USIM卡文件对应的内存缓存区,执行读写操作,修改对应内存缓存区的内容,并更新内存缓存区的状态;S4.同步所述内存缓存区的数据到USIM卡,转入S2;本发明提高USIM卡的读写效率,避免频繁对USIM卡进行读写操作。
【专利说明】
一种优化US IM卡文件读写速度及频率的实现方法
技术领域
[0001]本发明涉及数据通信领域,具体来讲是一种优化USM卡文件读写速度及频率的实现方法。
【背景技术】
[0002]随着国内4G数据通信业务的不断普及,国内通信设备制造商正在不断推出各种各样的4G数据产品设备(如4G LTE手机、MIF1、LTE上行家庭网关等),而这些数据产品设备在使用过程中都会读取或修改USIM(Universal Subscriber Identity Module,全球用户识别卡)卡文件内容。
[0003]USIM卡文件系统包含一系列的参数配置文件,每个文件存储不同业务功能的配置参数,这些文件具有唯一的文件标识符,可以通过不同的文件标识符来对每个USIM卡文件进行读写操作。国内移动运营商在为用户开通数据业务时候,会通过USIM卡鉴别用户身份和下发业务配置数据,在4G数据业务的使用过程中,数据产品设备也需要经常读写USM卡文件内容,因此如何快速安全的读写US頂卡文件就显得非常重要。
[0004]目前的做法是在使用过程中,由4G数据产品设备直接对USIM卡进行文件读写操作,该方法存在如下不足之处:
[0005](I)直接对USIM卡读写的效率较低,在业务配置过程中,经常由于等待时间过长,从而导致上层应用响应超时。
[0006](2)频繁的对USIM卡进行读写操作,可能会导致USIM卡的损坏,业务配置数据的丢失。
【发明内容】
[0007]针对现有技术中存在的缺陷,本发明的目的在于提供一种优化US頂卡文件读写速度及频率的实现方法,提高US頂卡的读写效率,避免频繁对US頂卡进行读写操作。
[0008]为达到以上目的,本发明采取一种优化USIM卡文件读写速度及频率的实现方法,包括步骤:S1.USIM卡在线时,创建与USIM卡文件一一对应的内存缓存区,内存缓存区存储对应USIM卡文件的内容,构建一个管理内存缓存区的三元组结构数组,三元组结构数组的元素个数与USIM卡文件的数量相同,且元素为三元组数据结构,包括USIM卡文件标识符FileNo、US頂卡文件对应内存缓存区的状态FileState、以及US頂卡文件对应的内存缓存区指针FiIeBuff,并对三元组结构数组初始化;S2.等待接收读写USIM卡文件的业务请求,当收到上层应用程序的读写业务请求后,进入S3; S3.根据US頂卡文件标识符,查找与USIM卡文件对应的内存缓存区,执行读写操作,修改对应内存缓存区的内容,并更新内存缓存区的状态;S4.同步所述内存缓存区的数据到US頂卡,转入S2。
[0009]在上述技术方案的基础上,步骤SI中,4G数据产品设备上电时,首先检查US頂卡在线状态,若不在线,返回错误码并退出。
[0010]在上述技术方案的基础上,所述FiIeState包括未初始化状态、不同步状态和同步状态,未初始化状态代表该内存缓存区尚未加载对应的US頂文件内容;不同步状态代表内存缓存区已经被修改、但尚未同步写入到US頂卡;同步状态代表该内存缓存区内容和USM卡文件保存同步。
[0011]在上述技术方案的基础上,三元组结构数组初始化,其中FileNo赋值为对应的US頂卡文件的标识符,FileState赋值为未初始化状态,FileBuff赋值为对应USIM卡文件的内存缓存区指针。
[0012]在上述技术方案的基础上,上层应用程序同时对多个USIM卡文件进行读写操作,或者对同一个USIM卡文件多次进行读写操作;数据产品设备依次处理每个读写操作请求,并且在处理过程中不对USIM卡文件进行回写,待上层业务处理完成后,统一进行内存缓存区和US頂卡文件同步。
[0013]在上述技术方案的基础上,所述S3中,根据USIM卡文件标识符,在三元组结构数组查找对应的FileBuff,如果该内存缓存区的FileState为未初始化状态,即该内存缓存区尚未加载对应的US頂文件内容,将US頂卡文件内容加载到对应内存缓存区。
[0014]在上述技术方案的基础上,若S2中接收读USIM卡文件的业务请求,则S3中,US頂卡文件内容加载到对应内存缓存区后,将该内存缓存区的Fi IeState设置为同步状态,代表该内存缓存区内容和US頂卡文件保存同步,并将该内存缓存区的内容返回给上层应用程序。
[0015]在上述技术方案的基础上,若S2中接收写USIM卡文件的业务请求,则S3中,US頂卡文件内容加载到对应内存缓存区后,根据上层应用程序传来的配置参数修改该内存缓存区的数据,并将该内存缓存区的FileState置为不同步状态,代表内存缓存区已经被修改、但尚未同步写入到US頂卡。
[0016]本发明的有益效果在于:
[0017]1、通过采用内存缓存区,在大多数情况下避免了对USIM卡文件的直接读写操作,由于内存读写速度远快于USIM读写速度,因此上层应用程序对USIM卡文件进行读写操作时,有效避免了超时、阻塞情况的发生,确保在业务配置过程中对上层应用程序的及时响应。
[0018]2、通过采取批量集中写入USIM卡文件的方式,避免了在业务配置过程中对同一个US頂卡文件的多次读写操作,显著减少了对USM卡文件的直接读写操作次数,有效解决由于频繁读写操作所导致US頂卡的易损坏的问题,防止业务配置数据丢失。
[0019]3、不是在设备初始化阶段就对所有USIM卡内存缓存区进行初始化,在随后的对USIM卡文件进行首次读写操作时,再从USIM卡读取文件内容,将该USIM卡文件对应的内存缓存区进行初始化;可以避免4G数据产品设备在启动阶段,由于读取全部USIM卡文件所造成的系统启动时间过长的问题。
【附图说明】
[0020]图1为本发明实施例优化US頂卡文件读写速度及频率的实现方法流程图;
[0021]图2为接收读USIM卡文件的业务请求时,图1中S3的详细流程图;
[0022]图3为接收读USIM卡文件的业务请求时,图1中S3的详细流程图;
[0023]图4为图1中S4的详细流程图。
【具体实施方式】
[0024]以下结合附图及实施例对本发明作进一步详细说明。
[0025]如图1所示,本发明优化US頂卡文件读写速度及频率的实现方法,包括如下步骤:
[0026]S1.4G数据产品设备上电时,首先检查USIM卡在线状态,若USIM卡不在线,返回US頂卡不在线的错误代码并退出。只有在US頂卡在线时,由于USIM卡包括多个文件,创建与US頂卡文件一一对应的内存缓存区,并创建一个用于管理所有内存缓存区的三元组结构数组。
[0027]由于USIM卡文件的参数比较多,若在启动阶段读取所有USIM卡文件并进行内存缓存区初始化,则会造成启动时间过长的问题。因此在初始化阶段采取“用时加载”策略,即,在4G数据产品设备上电时,新创建的内存缓存区不统一进行初始化,在随后的对USIM卡文件进行首次读写操作时,再从USIM卡读取文件内容,并将该USIM卡文件对应的内存缓存区进行初始化。
[0028]具体的,三元组结构数组是一个名称为UsimFiIe [Num]的一维数组,数组中元素个数(即数组大小Num)与USIM卡文件的数量相同。且所述元素的数据类型为三元组数据结构{FileNo,FileState,FileBuff},其中FileNo为USIM卡文件标识符,FileState为该USIM卡文件对应内存缓存区的状态,FileBuff为US頂卡文件对应的内存缓存区指针。FileState包括未初始化状态、不同步状态和同步状态,未初始化状态代表该内存缓存区尚未加载对应的US頂文件内容;不同步状态代表内存缓存区已经被修改、但尚未同步写入到US頂卡;同步状态代表该内存缓存区内容和USIM卡文件保存同步。然后对三元组结构数组初始化,中FileNo赋值为对应的US頂卡文件的标识符,FileState赋值为未初始化状态,FileBuff赋值为对应US頂卡文件的内存缓存区指针。
[0029]S2.等待接收读写USIM卡文件的业务请求,当收到上层应用程序的读写业务请求后,进入S3 ;
[0030]S3.根据USIM卡文件标识符,查找与USIM卡文件对应的内存缓存区,执行读写操作,修改对应内存缓存区的内容,并更新内存缓存区的状态。
[0031]在执行读写操作过程中,由于上层应用程序发来的业务参数和US頂卡文件内容的不完全对应性,在一个完整的业务流程中,上层应用程序可能会同时对多个USM卡文件进行读写操作,也可能会对同一个USIM卡文件多次进行读写操作,因此需要依次处理每个读写操作请求。由于同一个USIM卡文件可能会被多次读写,为了保证对上层业务的及时响应,在业务处理流程中并不对USIM卡文件进行回写,待上层业务处理完成后,统一进行内存缓存区和USIM卡文件同步。
[0032]S4.同步所述内存缓存区的数据到USIM卡,转入S2。具体的,遍历UsimFiIe[Num]数组的所有内存缓存区状态FileState,如果有内存缓存区状态为不同步状态,将有更新的内存缓存区同步到对应的US頂卡文件,并将该内存缓存区的FileState置为同步状态。在将所有处于不同步状态的内存缓存区数据同步到US頂卡后,转到步骤S2。
[0033]在上述步骤中,如果S2中,4G数据产品设备接收的是读USM卡文件的业务请求,则S3的详细流程如下:
[0034]S311.根据接收US頂卡文件标识符,在三元组结构数组中查找USIM卡文件对应的内存缓存区指针Fi I eBuff,进一步找到对应的内存缓存区。
[0035]S312.判断该内存缓存区的FileState是否为未初始化状态,若是,进入S313;若否,进入S315。
[0036]S313.表示该缓存内存空间尚未加载对应的USIM文件内容,将该USIM卡文件内容加载到对应内存缓存区。
[0037]S314.将该内存缓存区的Fi IeState设置为同步状态,8卩,该内存缓存区内容和US頂卡文件保存同步。
[0038]S315.将该内存缓存区的内容返回给上层应用程序。
[0039]但是,如果S2中,4G数据产品设备接收的是写US頂卡文件的业务请求,则S3的详细流程如下:
[0040]S321.根据接收US頂卡文件标识符,在三元组结构数组中查找USIM卡文件对应的内存缓存区指针Fi I eBuff,进一步找到对应的内存缓存区。
[0041 ] S322.判断该内存缓存区的Fi IeState是否为未初始化状态,若是,进入S323;若否,进入S324。
[0042]S323.表示该内存缓存区尚未加载对应的US頂文件内容,将该USM卡文件内容加载到对应内存缓存区。
[0043]S324.根据上层应用程序传来的配置参数,修改该内存缓存区的数据。
[0044]S325.将该内存缓存区的Fi IeState置为不同步状态,代表内存缓存区已经被修改、但尚未同步写入到US頂卡。
[0045]所述S4的具体步骤包括:
[0046]S401.将当前同步的USIM卡文件标识符FileNo,赋值为首个USIM卡文件标识符。
[0047]S402.判断当前内存缓存区的FileState是否为不同步状态,若是,进入S403;若否,进入S405。
[0048]S403.将内存缓存区的内容写入到对应的USIM卡文件。
[0049]S404.将当前内存缓存区的状态Fi IeState设置为同步状态。
[0050]S405.将当前同步的USIM卡文件标识符赋值为下一个USIM卡文件标识符;
[0051 ] S406.判断当前文件标识符是否超出最大值,若是,转入步骤S2;若否,返回S402。
[0052]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种优化US頂卡文件读写速度及频率的实现方法,其特征在于,包括步骤: 51.USIM卡在线时,创建与USIM卡文件一一对应的内存缓存区,内存缓存区存储对应US頂卡文件的内容,构建一个管理内存缓存区的三元组结构数组,三元组结构数组的元素个数与USIM卡文件的数量相同,且元素为三元组数据结构,包括USIM卡文件标识符FiIeNo、USIM卡文件对应内存缓存区的状态FileState、以及USIM卡文件对应的内存缓存区指针FileBuff,并对三元组结构数组初始化; 52.等待接收读写USIM卡文件的业务请求,当收到上层应用程序的读写业务请求后,进入S3; S3.根据USM卡文件标识符,查找与USM卡文件对应的内存缓存区,执行读写操作,修改对应内存缓存区的内容,并更新内存缓存区的状态; S4.同步所述内存缓存区的数据到US頂卡,转入S2。2.如权利要求1所述的优化US頂卡文件读写速度及频率的实现方法,其特征在于:步骤SI中,4G数据产品设备上电时,首先检查US頂卡在线状态,若不在线,返回错误码并退出。3.如权利要求1所述的优化US頂卡文件读写速度及频率的实现方法,其特征在于:所述Fi IeState包括未初始化状态、不同步状态和同步状态,未初始化状态代表该内存缓存区尚未加载对应的USM文件内容;不同步状态代表内存缓存区已经被修改、但尚未同步写入到US頂卡;同步状态代表该内存缓存区内容和US頂卡文件保存同步。4.如权利要求3所述的优化US頂卡文件读写速度及频率的实现方法,其特征在于:三元组结构数组初始化,其中FileNo赋值为对应的US頂卡文件的标识符,FileState赋值为未初始化状态,FileBuff赋值为对应USIM卡文件的内存缓存区指针。5.如权利要求1所述的优化US頂卡文件读写速度及频率的实现方法,其特征在于:上层应用程序同时对多个USIM卡文件进行读写操作,或者对同一个USIM卡文件多次进行读写操作;数据产品设备依次处理每个读写操作请求,并且在处理过程中不对USIM卡文件进行回写,待上层业务处理完成后,统一进行内存缓存区和US頂卡文件同步。6.如权利要求1所述的优化US頂卡文件读写速度及频率的实现方法,其特征在于:所述S3中,根据US頂卡文件标识符,在三元组结构数组查找对应的FiIeBuf f,如果该内存缓存区的Fi IeState为未初始化状态,即该内存缓存区尚未加载对应的US頂文件内容,将US頂卡文件内容加载到对应内存缓存区。7.如权利要求6所述的优化USM卡文件读写速度及频率的实现方法,其特征在于:若S2中接收读USIM卡文件的业务请求,则S3中,USIM卡文件内容加载到对应内存缓存区后,将该内存缓存区的Fi IeState设置为同步状态,代表该内存缓存区内容和US頂卡文件保存同步,并将该内存缓存区的内容返回给上层应用程序。8.如权利要求1所述的优化USM卡文件读写速度及频率的实现方法,其特征在于:若S2中接收写US頂卡文件的业务请求,则S3中,US頂卡文件内容加载到对应内存缓存区后,根据上层应用程序传来的配置参数修改该内存缓存区的数据,并将该内存缓存区的FileState置为不同步状态,代表内存缓存区已经被修改、但尚未同步写入到US頂卡。
【文档编号】G06F3/06GK105930100SQ201610235287
【公开日】2016年9月7日
【申请日】2016年4月15日
【发明人】刘书奎
【申请人】烽火通信科技股份有限公司