实施例一:
本发明实施例一提供一种电信智能卡发送更新请求的方法,当用户主动发起对电信智能卡内的数据进行更新时使用该方法;当用户确定需要进行更新操作时,可通过手动编辑相应的更新请求,或者,选择需要更新的应用菜单,由电信智能卡自动生成更新请求,然后进行以下步骤,如图2所示,具体过程如下:
步骤21,电信智能卡根据用户输入的更新请求,生成与所述更新请求对应的短消息服务SMS格式的更新请求;
例如,以wib1.3短信为例,对用户输入的更新请求进行编码,获得如下内容:
D069810301130082028183851353656E64696E672072657175657374202E2E2E8607915348500252838B40510005815165F500F6083502700000301115000500BFFF0123FEBB71A86679DD0FA8943FB4456BA63D22428D4D4FA8628F33254FBCA8F302C1F05B6E107BCE8E
步骤22,电信智能卡根据预先设置的解析操作,对所述SMS格式的更新请求进行解析;其中预先设置的解析操作为现有的解析方法;
现有解析方法如下:
Encrypted message part:...............
23FEBB71A86679DD0FA8943FB4456BA63D22428D4D4FA8628F33254FBCA8F302C1F05B6E107BCE8E
Decrypted message:(key-00112233445566778899AABBCCDDEEFF)
0000000001:CNTR
06:PCNTR
69E30D5AB:CRC
User data:
99165265717565737420746F20757064617465206D656E75000000000000(″Request to update menu″,Update type:99--STK menu update)........./
本例中的应用标识为99,且该应用标识为预先保存的可进行更新操作的应用标识;
解析后的SMS格式的更新请求为:
D069810301130082028183851353656E64696E672072657175657374202E2E2E8607915348500252838B40510005815165F500F6083502700000301115000500BFFF01000000000106669E30D5AB99165265717565737420746F20757064617465206D656E75000000000000
步骤23,电信智能卡判断解析后的SMS格式的更新请求中所包含的应用标识是否为预先设置的可进行更新操作的应用标识;如果是,执行步骤24;否则,结束操作或者按照现有技术进行处理;
由于步骤22中解析出的应用标识为99,且该应用标识为预先设置的可进行更新操作的应用标识;因此,可执行步骤24;
步骤24,电信智能卡按照预先设置的对照表,将解析后的SMS格式的更新请求转换为USSD格式的更新请求;对照表如表1所示:
表1
该解析后的SMS格式的更新请求中包括应用标识数据信息等与更新请求相关的信息;所述应用标识用于唯一标识一个待更新的应用程序;所述数据信息为解析后的用户输入的更新请求;
将所述数据信息按照预先设置的信息转换方法分别转换为USSD格式的数据信息;并将USSD格式的数据信息作为USSD格式的更新请求;
按照表1中所示内容将解析后的SMS格式的更新请求中包含的其他内容,依次转换为与该内容对应的USSD格式的内容;具体的可参见以下说明:
在国际规范的GSM中,SMS和USSD的结构是统一的,因此,在转换时可根据统一的格式进行转换;对于上表中的部分数据解释如下:
(1)如D0代表的主动式命令表示符,因为发送USSD格式的内容或发送SMS格式的内容都是一种主动式命令,GSM规范中规定所有主动式命令的格式都是以D0开始。所以转化后的USSD格式的更新请求仍然以D0开始。
(2)命令信息8103011300-->8103011200,是一个TLV格式(T是一个标识,此处命令信息的表示是81,L是长度,V是内容),在命令信息为V时,规定发送SMS格式信息的标识是13,而发送USSD格式信息的标识是12,显示是21等等。
(3)电信智能卡信息82028183-->82028183,也是TLV格式。82是固定的,81表示电信智能卡,83表示网络。
(4)α标识,无论在任何APDU命令中(短信、USSD业务、甚至小区广播中),α标识的格式都一样;α标识都是以85开头,表示后面的数据是α标识,结构都是TLV,所以就可以把短信中的α标识直接移植到USSD格式的内容中。
表1中的N.A用于表示不需要进行转换;
根据表1所示的对照关系,转换后的USSD格式的更新请求为:
D039810301120082028183851353636E64696E672072657175657374202E2E2E8A194899165265717565737420746F20757064617465206D656E75
步骤25,电信智能卡按照预先设置的格式转换方式对USSD数据信息进行转换;预先设置的格式转换方式为利用base64所规定的base64格式对USSD格式的数据信息进行转换;其中USSD数据信息为用户编辑的或者由电信智能卡生成的部分,或者为应用标识之后、且除长度内容之后的部分;
较佳的,可选择性的使用本步骤,选择本步骤可参见如下原因:由于USSD业务只能传输文本字符串的相关信息,而SMS格式传输的为数据信息,所以通过Base64转换可使得USSD格式的更新请求可以承载数据信息。而且一些二进制字符在传输协议中属于控制字符,不一定适应于USSD传输。如回车字符等。因此需要进行Base64加以转化,例如USSD格式的数据信息为:
(hex);165265717565737420746F20757064617465206D656E75
转换成Base64后,USSD格式的数据信息为:
(Base64)FlJlcXVlc3QgdG8gdXBkYXRlIG1lbnU=
步骤26,电信智能卡将完成步骤25之后得到的USSD格式的更新请求通过网络发送给USSD服务器;
步骤27,USSD服务器判断USSD格式的更新请求中的USSD格式的应用标识是否为预先保存的应用标识;在确定为是时,对该USSD格式的更新请求进行响应,即向电信智能卡所在终端发送的USSD格式的更新信息;否则结束操作。
本步骤中,电信智能卡还可将所述SMS格式的更新请求发送给所述SMS服务器;SMS服务器将所述SMS格式的更新请求转换为USSD格式的更新请求,转换方法参见实施例一,SMS服务器将所述USSD格式的更新请求发送给所述USSD服务器。
实施例二:
本发明实施例二提供一种电信智能卡内数据更新的方法,当USSD服务器接收到实施例一中手机用户发来的USSD格式的更新请求后,对该USSD格式的更新请求进行响应,向手机用户发送该USSD格式的更新请求所请求的USSD格式的更新信息;或者,主动向某一手机用户推送USSD格式的更新信息,如图3所示,具体过程如下:
步骤31,当手机用户接收到USSD服务器转发的来自SMS服务器的USSD格式的更新信息后,按照预先设置的提取方法从USSD格式的更新信息中提取出更新信息原文作为有效数据;所述更新信息原文用于对应用程序进行更新操作;
本步骤中当用户接收到的是USSD服务器对USSD格式的更新请求的响应而发来的更新信息时,从USSD格式的更新信息中提取出有效数据,并通过反Base64的方式转换得到更新信息原文;或者,
当用户接收到的是SMS服务器主动推送的USSD格式的更新信息时,电信智能卡先对该USSD格式的更新信息进行解密,然后进行反Base64的方式转换得到更新信息原文;
例如接收到的USSD格式的更新信息为:
A0140000298103011200820283818301008D1B9919F00753544B4D656E75F106016974656D31F106036974656D33
其中8D 之后的为有效数据,因此,提取出“1B9919F00753544B4D656E75F106016974656D31F106036974656D33”;
步骤32,对得到的更新信息原文按照预先设定的解析方法进行解析,解析过程如下:
99---------------Update type:99--STK Menu(更新标识:99--STK菜单)
19---------------total length (后续数据总长度)
F0---------------Title tag (标题标识符)
07---------------Length of title (标题长度)
53544B4D656E75--Title value:″STKMenu″(标题信息)
F1---------------Item 1 tag (项目1标识符)
06---------------Length of item 1 (项目1长度)
01---------------Item ID (项目1的ID)
6974656D31--------Item value:″item1″ (项目1信息)
F1-------------Item tag (项目2标识符)
06-------------Length of item 2 (项目2长度)
03-------------Item ID (项目2的ID)
6974656D33--------Item value:″item 2″(项目2信息)
解析后的更新信息原文如下所示:
9919F00753544B4D656E75F106016974656D31F106036974656D33
步骤33,电信智能卡从解析后的更新信息原文中获取应用标识,确定电信智能卡中需要进行更新操作的应用程序;所述应用标识用于唯一标识一个待更新的应用程序;
步骤34,电信智能卡按照预先设置的转换方式,将步骤32中解析后的更新信息原文转换为远程文件管理(Remote File Management,RFM)短信,并进行保存;具体转换方法为现有技术如下:
以WIB1.3为例,Title存储于2700|6F1E:
99---------------Update type:99--STK Menu(更新标识:99--STK菜单)
19---------------total length (后续数据总长度)
F0---------------Title tag (标题标识符)
07---------------Length of title (标题长度)
53544B4D656E75---Title value:″STKMenu″ (标题信息)
上述Tile部分转化为:
AOA400080427006F1EA0DCA0DC01040F00000753544B4D656E75FFFFF
FFFFF
Menu Item存储于2700|6F18
F1--------------Item 1 tag (项目1标识符)
06--------------Length of item 1 (项目1长度)
01--------------Item ID (项目2的ID)
6974656D31-----------Item value:″item 1″ (项目2信息)
F1--------------Item tag (项目2标识符)
06--------------Length of item 2 (项目2长度)
03--------------Item ID (项目2的ID)
6974656D33----------Item value:″item 2″ (项目2信息)
上述Item部分转化为:
AOA400080427006F18
A0DC0204190203000000056974656D31FFFFFFFFFFFFFFFFFFFFFFFFFFFF-----Item 1
A0DC0404190203000000056974656D33FFFFFFFFFFFFFFFFFFFFFFFFFFFF-----Item 2
步骤35,电信智能卡封装RFM短信的头信息,并将封装了头信息的RFM短信下发给电信智能卡中的SMS模块,根据所述应用标识对应的RFM短信更新所述应用标识对应的应用程序。
较佳的,在获取到应用标识后,判断所述应用标识是否为预先保存的应用标识;在确定为是时,将所述更新信息原文转换为RFM短信。
较佳的,上述实施例一中,为了避免发生丢失信息的情况,可在手机开机时,或者,在向USSD服务器发送USSD格式的更新请求之前,电信智能卡自动检测自身与USSD服务器之间的网络的联通状况;在确定当前网络状态允许电信智能卡与网络之间建立会话过程时,电信智能卡向网络发送建立连接的请求,在电信智能卡与网络之间建立会话过程后,即可保证电信智能卡与网络之间在本次更新操作中一直处于联通状态;
较佳的,上述实施例二中,为了避免发生丢失信息的情况发生时,当网络在向电信智能卡下发SMS服务器发来的更新操作之前,判断与该电信智能卡之间是否保持联通状态,在确定处于联通状态时,向电信智能卡下发更新信息;当手机关机时,电信智能卡会主动向网络发送终端连接的请求,当网络接收到中断连接的请求时,断开与电信智能卡之间的连接;
如图4所示,本发明实施例提供一种电信智能卡,所述电信智能卡包括:
接收单元41,用于接收非结构化补充数据业务(USSD)服务器发送的USSD格式的更新信息;
提取单元42,用于从所述USSD格式的更新信息中提取出更新信息原文;
转换单元43,用于将所述更新信息原文转换为远程文件管理(RFM)短信;
操作单元44,用于根据所述RFM短信完成更新操作。
所述电信智能卡还包括:
生成单元45,用于根据用户输入的更新请求,生成与所述更新请求对应的短消息服务SMS格式的更新请求;
所述转换单元43还用于,将所述SMS格式的更新请求转换为USSD格式的更新请求;
发送单元46,用于将所述USSD格式的更新请求发送给USSD服务器。
所述发送单元46还用于:
将所述SMS格式的更新请求发送给所述SMS服务器。
所述更新信息原文中包括应用标识,所述应用标识用于唯一标识一个待更新的应用程序;
所述电信智能卡还包括:
查找单元47,从所述更新信息原文中获取所述应用标识,根据所述应用标识查找所述应用标识对应的应用程序;
所述转换单元43还用于,在所述查找单元47查找到所述应用标识对应的应用程序时,将所述更新信息原文转换为所述应用标识对应的RFM短信;
所述操作单元44具体用于,根据所述应用标识对应的RFM短信更新所述应用标识对应的应用程序。
如图5所示,本发明实施例提供一种电信智能卡内数据更新的系统,包括:
电信智能卡51,用于通过设置有该电信智能卡51的终端接收非结构化补充数据业务USSD服务器52发送的USSD格式的更新信息;从所述USSD格式的更新信息中提取出更新信息原文;将所述更新信息原文转换为远程文件管理RFM短信;根据所述RFM短信完成更新操作;
USSD服务器52,用于向所述电信智能卡51发送USSD格式的更新信息。
所述电信智能卡51还用于:
根据用户输入的更新请求,生成与所述更新请求对应的SMS格式的更新请求;将所述SMS格式的更新请求转换为USSD格式的更新请求;将所述USSD格式的更新请求发送给USSD服务器52;
所述USSD服务器52还用于接收所述电信智能卡51发送的USSD格式的更新请求。
所述电信智能卡51还用于:
根据用户输入的更新请求,生成与所述更新请求对应的短消息服务SMS格式的更新请求;将所述SMS格式的更新请求发送给SMS服务器53;
所述系统还包括:
SMS服务器53,用于接收所述SMS格式的更新请求,并将所述SMS格式的更新请求转换为USSD格式的更新请求,并发送给所述USSD服务器52;
所述USSD服务器52还用于,接收所述SMS服务器53发送的USSD格式的更新请求。
综上所述,有益效果:
可见,采用本发明实施例提供的方法,可通过将SMS格式的更新请求转换为USSD格式的更新请求,并将USSD格式的更新请求发送给SMS服务器的方法,可解决电信智能卡无法向SMS服务器发送USSD格式的更新请求的问题;当电信智能卡接收到SMS服务器发来的USSD格式的更新信息后,将该USSD格式的更新信息中的更新信息原文转换为RFM短信,而RFM短信可在电信智能卡端进行保存;由于USSD格式的更新请求可以一次性发送全部更新请求的内容,因此,使用该种转换方法时还可避免在发送过程中造成相关信息丢失或乱序的问题;
较佳的,手机发送USSD格式的更新请求后,网络侧只会检测到USSD格式的更新请求,不会检测到终端现在是否仍然处于激活状态。当手机关机后,网络将会中断发送更新信息的操作,但是更新信息又不会被存储,因此会造成信息丢失。而本发明实施例提供的方法,在通过网络发送相关信息之前,会检测网络侧的链路是否处于联通状态,只有当处于联通状态,才会发送相关信息;否则,停止发送,直到再次检测到处于联通状态才进行发送。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。