一种STK菜单处理系统及其对菜单的处理方法技术方案

技术编号:7309903 阅读:432 留言:0更新日期:2012-05-03 04:31
本发明专利技术公开了一种STK菜单处理系统及方法,包括:数据接收模块,从手机终端接收命令转换成菜单更新数据;解析模块,解析该菜单更新数据,获得更新类型、要更新的菜单序号和菜单属性数据并发送给排序模块;排序模块,接收从排序模块接收的数据,从存储器的菜单存储区读取有效菜单项个数和原有排序线性关联数据,根据更新类型和要更新的菜单序号对有效菜单项个数、线性关联数据进行处理,处理完排序后,发送给数据写入及呈现模块;数据写入及呈现模块,根据接收的数据进行存储器的菜单存储区的数据更新并组织成命令为显示菜单的菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理。本发明专利技术的上述方案使得菜单处理灵活快速。

【技术实现步骤摘要】
一种STK菜单处理系统及其对菜单的处理方法
本专利技术涉及智能卡应用领域,尤其涉及一种STK菜单处理系统及其对菜单的处理方法。
技术介绍
随着手机的普及和移动通讯技术的迅猛发展,移动互联网和移动电子商务,移动电子证务也得到很大发展。新的业务的不断推出和旧有业务的迅速淘汰使得SIM卡上菜单列表经过增加、删除后的重组显示的需求越来越迫切。例如排行榜类和业务推荐等功能需要利用SIM卡内有限资源显示按照指定顺序业务列表,而且经常需要对显示的列表进行更改。目前一些移动终端上的应用本身也用列表显示来直观的和用户交互,传递信息,并有动态更新菜单项和显示顺序的需求。现有技术中存在利用SIM卡内的循环文件来增加菜单列表项,但是该技术却无法处理删除菜单以及删除后的菜单重新排列及显示问题。传统的链表结构虽然可以满足菜单的重新排列问题,但是不管是菜单的修改还是显示都需要查找整个链表来查找指定位置,并在查找和链表维护过程中多次擦写FLASH,这就造成了SIM卡使用寿命缩短和程序结构复杂,执行效率低等问题。而且一旦出现意外掉电,将有可能造成整个链表断裂,显示结果不可控。并且这些方法在用户企图建立多于应用支持的菜单项时,束手无策。这种实现方式无法方便的替换掉最老的菜单项,用户感受相当不好。
技术实现思路
本专利技术的目的就是提供一种高效准确的STK菜单处理系统对菜单进行动态处理的技术方案,减少传统的通过链表查找和维护的方式导致的在执行效率和FLASH读写上的开销,从而实现菜单处理的灵活快速。本专利技术提供一种STK菜单处理系统对菜单的处理方法,包括如下步骤:步骤S1:从手机终端接收到菜单更新APDU命后将命令转换成菜单更新数据;步骤S2:解析该菜单更新数据获得更新类型、要更新的菜单序号和菜单属性数据;步骤S3:从存储器中的菜单存储区读取有效菜单项个数和原有排序的线性关联数据,根据更新类型和要更新的菜单序号对有效菜单项个数、线性关联数据进行处理,获得新的有效菜单项个数和线性关联数据,所述菜单序号通过所述线性关联数据索引菜单存储区数据;步骤S4:根据更新类型的不同将相应的数据写入菜单存储区;步骤S5:处理完数据写入菜单存储区后,读取菜单存储区的内容,把菜单属性数据区内容按照现有的菜单存储区中的线性关联区内容和有效菜单项个数内容组织成菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理。进一步地,所述菜单属性数据包括菜单名称、菜单所对应应用的大小和菜单所对应应用的信息。进一步地,所述步骤S3中根据更新类型和要更新的菜单序号对有效菜单项个数和线性关联数据进行处理包括:如果所述更新类型为删除N个菜单,则将有效菜单项个数减小要删除的菜单项个数N,线性关联区的新的排序为原排序从要更新的菜单序号对应的线性关联区字节开始到线性关联区的末字节,循环左移N字节,即:要更新的菜单序号对应的线性关联区的字节之前的字节不变,要更新的菜单序号对应的线性关联区的字节之后的排序整体前移N个字节,要删除的菜单序号对应的字节循环移到线性关联区的末位;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数仍未超过最大菜单项个数,则将有效菜单项个数增加需要增加菜单的数目,原有线性关联区的字节排序不变;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数超过最大菜单项个数X个,则将有效菜单项个数修改为最大菜单项个数,新的线性关联区的字节为原线性关联区的字节循环左移X字节,即:原线性关联区的前X字节为新排序线性关联区的最后X字节,原排序线性关联区字节从X+1字节开始左移X字节。进一步地,所述步骤S4中根据更新类型的不同将相应的数据写入菜单存储区的步骤包括:如果更新类型是增加菜单操作,则把菜单属性数据按照新的线性关联区的字节写入关联的菜单存储区内的菜单属性数据区;完成所有菜单属性数据的写入后将新的有效菜单项个数、线性关联区的字节一次性写入;如果更新类型是删除菜单操作,直接将新的有效菜单项个数、线性关联区的字节一次性写入。进一步地,在所述步骤S1之前还包括初始化过程,具体如下:步骤1:从手机终端接收到直接显示菜单的APDU命后转换成菜单更新数据;步骤2:解析该菜单更新数据,获得更新类型为直接显示菜单;步骤3:从菜单存储区读取有效菜单项个数区和线性关联区数据,并按照线性关联区内容和有效菜单项个数内容读取菜单存储区的菜单属性数据区数据组织成命令为显示菜单的菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理。本专利技术还提供一种STK菜单处理系统,包括:数据接收模块、解析模块、排序模块、数据写入及呈现模块及存储器;其中:数据接收模块:从手机终端接收菜单更新APDU命后将命令转换成菜单更新数据后发送给所述解析模块;解析模块:用于接收到数据接收模块发送的菜单更新数据后,解析该数据,获得更新类型、要更新的菜单序号和菜单属性数据并发送给排序模块;排序模块:用于接收到解析模块发送的更新类型、要更新的菜单序号和菜单属性数据后,从存储器的菜单存储区读取有效菜单项个数和原有排序线性关联数据,根据更新类型和要更新的菜单序号对有效菜单项个数、线性关联数据进行处理,处理完排序后,将新的有效菜单项个数、线性关联区的字节、菜单属性数据和更新类型发送给数据写入及呈现模块;数据写入及呈现模块:用于接收到排序模块发送的新的有效菜单项个数、线性关联区的字节、菜单属性数据和更新类型后,根据上述数据进行存储器的菜单存储区的数据更新并重新读取菜单存储区数据,按照现有的菜单存储区中的线性关联区内容和有效菜单项个数内容将菜单属性数据区数据组织成命令为显示菜单的菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理;存储器:包括菜单存储区,用于存储菜单数据,所述菜单数据为数据写入及呈现模块写入及读出,并为排序模块提供菜单数据读出服务。进一步地,所述解析模块如果解析菜单更新数据仅获得更新类型,且更新类型为直接显示菜单,则将菜单更新数据发送给数据写入及呈现模块;数据写入及呈现模块接收到直接显示菜单的菜单更新数据后,从菜单存储区读取有效菜单项个数区和线性关联区数据,并按照线性关联区内容和有效菜单项个数内容读取菜单存储区的菜单属性数据区数据组织成命令为显示菜单的菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理。进一步地,所述菜单属性数据包括菜单名称、菜单所对应应用的大小和菜单所对应应用的信息。进一步地,所述排序模块根据更新类型和要更新的菜单序号对有效菜单项个数和线性关联数据进行处理的过程如下:如果所述更新类型为删除N个菜单,则将有效菜单项个数减小要删除的菜单项个数N,线性关联区的新的排序为原排序从要更新的菜单序号对应的线性关联区字节开始到线性关联区的末字节,循环左移N字节,即:要更新的菜单序号对应的线性关联区的字节之前的字节不变,要更新的菜单序号对应的线性关联区的字节之后的排序整体前移N个字节,要更新的菜单序号对应的字节移到线性关联区的末位;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数仍未超过最大菜单项个数,则将有效菜单项个数增加需要增加菜单的数目,原有线性关联区的字节排序不变;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数超过最大菜单项个数X个,则将有效菜单项个数修改为最大菜单项个数,新的线性关联区的字本文档来自技高网...
一种STK菜单处理系统及其对菜单的处理方法

【技术保护点】

【技术特征摘要】
1.一种STK菜单处理系统对菜单的处理方法,包括如下步骤:步骤S1:从手机终端接收到菜单更新APDU命令后将命令转换成菜单更新数据;步骤S2:解析该菜单更新数据获得更新类型、要更新的菜单序号和菜单属性数据;步骤S3:从存储器中的菜单存储区读取有效菜单项个数和原有排序的线性关联数据,根据更新类型和要更新的菜单序号对有效菜单项个数、线性关联数据进行处理,获得新的有效菜单项个数和线性关联数据,所述菜单序号通过所述线性关联数据索引菜单存储区数据;步骤S4:根据更新类型的不同将相应的数据写入菜单存储区;步骤S5:处理完数据写入菜单存储区后,读取菜单存储区的内容,把菜单属性数据区内容按照现有的菜单存储区中的线性关联区内容和有效菜单项个数内容组织成菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理;所述步骤S3中根据更新类型和要更新的菜单序号对有效菜单项个数和线性关联数据进行处理包括:如果所述更新类型为删除N个菜单,则将有效菜单项个数减小要删除的菜单项个数N,线性关联区的新的排序为原排序从要更新的菜单序号对应的线性关联区字节开始到线性关联区的末字节,循环左移N字节,即:要更新的菜单序号对应的线性关联区的字节之前的字节不变,要更新的菜单序号对应的线性关联区的字节之后的排序整体前移N个字节,要删除的菜单序号对应的字节循环移到线性关联区的末位;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数仍未超过最大菜单项个数,则将有效菜单项个数增加需要增加菜单的数目,原有线性关联区的字节排序不变;如果所述更新类型为增加菜单,且菜单增加后,菜单项个数超过最大菜单项个数X个,则将有效菜单项个数修改为最大菜单项个数,新的线性关联区的字节为原线性关联区的字节循环左移X字节,即:原线性关联区的前X字节为新排序线性关联区的最后X字节,原排序线性关联区字节从X+1字节开始左移X字节。2.根据权利要求1所述的一种STK菜单处理系统对菜单的处理方法,其特征在于,所述菜单属性数据包括菜单名称、菜单所对应应用的大小和菜单所对应应用的信息。3.根据权利要求1所述的一种STK菜单处理系统对菜单的处理方法,其特征在于,所述步骤S4中根据更新类型的不同将相应的数据写入菜单存储区的步骤包括:如果更新类型是增加菜单操作,则把菜单属性数据按照新的线性关联区的字节写入关联的菜单存储区内的菜单属性数据区;完成所有菜单属性数据的写入后将新的有效菜单项个数、线性关联区的字节一次性写入;如果更新类型是删除菜单操作,直接将新的有效菜单项个数、线性关联区的字节一次性写入。4.根据权利要求1所述的一种STK菜单处理系统对菜单的处理方法,其特征在于,在所述步骤S1之前还包括初始化过程,具体如下:步骤1:从手机终端接收到直接显示菜单的APDU命后转换成菜单更新数据;步骤2:解析该菜单更新数据,获得更新类型为直接显示菜单;步骤3:从菜单存储区读取有效菜单项个数区和线性关联区数据,并按照线性关联区内容和有效菜单项个数内容读取菜单存储区的菜单属性数据区数据,并组织成显示菜单命令,将菜单显示数据存到缓存,发送状态字通知手机终端读取数据并处理。5.一种STK菜单处理系统,包括:数据接收模块、解析模块、排序模块、数据写入及呈现模块及存储器;其中:数据接收模块:用于从手机终端接收菜单更新APDU命令后将命令...

【专利技术属性】
技术研发人员:邹勇
申请(专利权)人:福源立信北京科技有限公司
类型:发明
国别省市:

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

1
相关领域技术