发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种Java SIM卡转网的方法、SIM卡、服务器和系统。该方法和系统能够使用户在更换运营商的过程中无需更换SIM卡。
为达到以上目的,本发明公开的技术方案是:一种Java SIM卡转网的方法,应用于Java SIM卡,包括以下步骤:
步骤101:接收服务器下发的网络切换触发指令;
步骤103:触发Applet应用程序,执行网络切换操作。
进一步,所述Applet应用程序预置有待切换网络的数据参数值。
更进一步,所述待切换网络的数据参数值包括:
IMSI,国际移动用户标识;
SMSC,短消息服务中心号;
ICCID,集成电路卡标识;
K,SIM鉴权随机数;
OP,运营商主密钥;
OPc,由所述的OP和所述的K分散得到;
ACC,访问控制码,G网IMSI的最后一位;
A_Key,鉴权密钥。
进一步,在步骤103中,还包括判断所述Applet应用程序是否执行的步骤,如果未执行则执行步骤104,如果执行跳转到步骤111。
在步骤103之后还包括以下步骤:
步骤104:判断Java SIM卡当前是否为漫游状态,如果是,向所述服务器发送处理失败的处理结果,并结束操作;如果否,执行步骤105;所述Java SIM卡为手机SIM卡;
步骤105:解析所述网络切换触发指令数据,并判断是否解析成功,如果解析失败,向所述服务器发送处理失败的处理结果,并结束操作;否则,执行步骤106;
步骤106:将所述Java SIM卡中原有网络文件中的数据进行备份,将 待切换网络的数据写入所述Java SIM卡中对应文件当中;
步骤107:终端设备弹出提示信息,指示终端用户重启终端设备,所述终端设备为手机;
步骤108:所述Java SIM卡使用新数据进行入网,判断连网是否成功;如果成功,则将备份的所述Java SIM卡原有网络数据清除,并向所述服务器发送处理成功的处理结果,并结束操作;如果连网失败,执行步骤109和步骤110;
步骤109:所述Java SIM卡进行数据回滚,将备份的所述Java SIM卡原有网络数据写回Java SIM卡中,并提示终端用户重启终端设备,所述终端设备为手机;
步骤110:所述Java SIM卡使用备份的原有网络数据连接原有网络,并向所述服务器发送处理失败的处理结果,并结束操作;
步骤111:判断所述Applet应用程序执行结果是否成功,如果成功,向所述服务器发送处理成功的处理结果,并结束操作;否则,重置Applet应用程序执行状态为未执行,并跳转到步骤103。
进一步,在步骤103,触发Applet应用程序,执行网络切换操作之前,还包括步骤102,所述Java SIM卡接收服务器下发的网络切换触发指令后,向所述服务器反馈触发指令收到应答信息。
进一步,网络切换操作要求在相同制式的网络之间进行。
进一步,所述Applet应用程序预置在所述Java SIM卡中。
进一步,所述Applet应用程序通过远程下载方式加载到所述Java SIM卡中。
进一步,所述待切换网络的数据参数值通过远程下载方式加载到所述Applet应用程序中。
为达到以上目的,本发明还公开了一种Java SIM卡转网的方法,应用于服务器,包括以下步骤:
步骤201,向Java SIM卡下发网络切换触发指令;
步骤301,接收所述Java SIM卡返回的应答信息和处理结果;
所述Java SIM卡为手机SIM卡。
进一步,在步骤201后,还包括以下步骤:
步骤202,判断是否在规定时间内收到所述Java SIM卡返回的所述触发指令收到应答信息,如果是,执行步骤204,并结束操作;如果否,则执行步骤203;
步骤203,判断是否超过重新下发网络切换触发指令次数的阀值,如果是执行步骤204,并结束操作;如果否,执行步骤201;
步骤204,记录步骤201的交易日志、所述Java SIM卡的应答状态及网络切换触发指令发送次数;
所述的规定时间为120秒,所述的重新下发网络切换触发指令次数的阀值为3次。
进一步,在步骤301后,还包括:
步骤302,记录步骤301的交易日志及所述Java SIM卡返回的处理结果。
为达到以上目的,本发明还公开了一种Java SIM卡转网的SIM卡,包括以下装置:
收发模块,用于接收服务器下发的网络切换触发指令,并向所述服务器反馈触发指令收到应答信息;所述服务器用于下发所述网络切换触发指令,并接受反馈信息;
Applet应用模块,包括切换操作应用单元,用于触发Applet应用程序,执行网络切换操作,所述Applet应用程序是网络切换程序。
进一步,所述Applet应用程序预置有待切换网络的数据参数值。
更进一步,所述待切换网络的数据参数值包括:
IMSI,国际移动用户标识;
SMSC,短消息服务中心号;
ICCID,集成电路卡标识;
K,SIM鉴权随机数;
OP,运营商主密钥;
OPc,由所述的OP和所述的K分散得到;
ACC,访问控制码,G网IMSI的最后一位;
A_Key,鉴权密钥。
进一步,所述的Applet应用程序预置在所述Java SIM卡中。
进一步,所述Applet应用程序通过远程下载方式加载到所述Java SIM卡中。
进一步,所述待切换网络的数据参数值通过远程下载方式加载到所述Applet应用程序中。
进一步,所述Applet应用模块还包括:
第一判断单元,用于判断所述Applet应用程序是否执行,如果未执行则转第二判断单元处理,如果执行则转第五判断单元处理;
第二判断单元,用于判断所述Java SIM卡当前是否为漫游状态,如果是,转第二处理结果发送单元处理,业务结束;如果否,转第三判断单元处理;
第三判断单元,用于解析所述网络切换触发指令数据,并判断是否解析成功,如果解析失败,转第二处理结果发送单元处理,业务结束;如果解析成功则转网络数据替换单元处理;
网络数据替换单元,用于将所述Java SIM卡中原有网络文件中的数据进行备份,将待切换网络的数据写入所述Java SIM卡中对应文件当中,再转提示单元处理;
提示单元,用于命令终端设备弹出提示信息,指示终端用户重启终端设备,并转第四判断单元处理;所述终端设备为手机;
第四判断单元,用于在所述Java SIM卡使用新数据进行入网时,判断连网是否成功,如果成功,转清空备份单元处理,再转第一处理结果发送单元处理;如果失败,转数据恢复单元处理,再转提示单元处理,最后转第二处理结果发送单元处理;
清空备份单元,用于将备份的所述Java SIM卡原有网络数据清除;
数据恢复单元,用于将备份的所述Java SIM卡原有网络数据写回Java SIM卡中;
第一处理结果发送单元,用于向所述服务器发送执行成功的处理结果;
第二处理结果发送单元,用于向所述服务器发送执行失败的处理结果;
第五判断单元,用于判断Applet应用程序执行结果是否成功,如果成功,转第一处理结果发送单元处理;如果失败,转状态修改单元处理,再转切换操作应用单元处理;
状态修改单元,用于将Applet应用程序执行状态重置为未执行。
为达到以上目的,本发明还公开了一种Java SIM卡转网的服务器,包括以下装置:
指令下发模块,包括切换触发指令下发单元,用于向Java SIM卡下发网络切换触发指令;
接收反馈模块,包括处理结果接收单元,用于接收所述Java SIM卡返回的应答信息和处理结果;
所述Java SIM卡为手机SIM卡。
进一步,所述指令下发模块还包括:
第六判断单元,用于判断是否在规定时间内收到所述Java SIM卡返回的所述触发指令收到应答信息,如果是,转第一记录单元处理,并结束操作;如果否,则转第七判断单元处理;
第七判断单元,用于判断是否超过重新下发指令次数的阀值,如果是,转第一记录单元处理,并结束操作;如果否,转切换触发指令下发单元处 理;
第一记录单元,用于记录所述下发模块的交易日志、应答状态和指令发送次数。
所述的规定时间为120秒,所述的重新下发网络切换触发指令次数的阀值为3次。
进一步,所述接收反馈模块还包括第二记录单元,用于记录所述接收反馈模块的交易日志和所述Java SIM卡返回的应答信息和处理结果。
为达到上述目的,本发明还公开了一种Java SIM卡转网的系统,所述系统包括如上所述的任一SIM卡,以及如上所述的任一服务器。
本发明的效果在于:采用本发明所述一种Java SIM卡转网的方法、SIM卡、服务器和系统,可以使虚拟运营商在建设好自有网络后,将移动终端用户从原有的运营商网络自动切换到用户重新选择的自有网络中,切换过程不需用户进行业务办理,无需更换终端设备中的SIM卡,使用户平滑过渡到新建网络当中,方便了用户的自主选择,提升了用户的使用体验。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步描述。
如图1、图2所示,本发明具体实施方式提供了一种Java SIM卡转网的方法,应用于SIM卡,包括以下步骤:
步骤S101:接收服务器下发的网络切换触发指令;
步骤S102:Java SIM卡接收服务器下发的网络切换触发指令后,立刻向所述服务器反馈触发指令收到应答信息;如果在规定时间内服务器未收到卡片应答,应按设定的重试次数进行重发,直到重发次数达到阀值或收到应答响应;
步骤S103:触发Applet应用程序,执行网络切换操作,所述Applet应用程序是网络切换程序。
在步骤S103中,还包括判断所述Applet应用程序是否执行,如果未执行则执行步骤S104,如果执行跳转到步骤S111;
步骤S104:判断Java SIM卡当前是否为漫游状态,如果是,向所述服务器发送处理失败的处理结果,并结束操作;如果否,执行步骤S105;所述Java SIM卡为手机SIM卡;
在手机SIM卡发行前,Applet应用程序中就预置了待切换网络的数据参数值。
步骤S105:解析所述网络切换触发指令数据,并判断是否解析成功,如果解析失败,向所述服务器发送处理失败的处理结果,并结束操作;否则,执行步骤S106;
步骤S106:将所述Java SIM卡中原有网络文件中的数据进行备份,将待切换网络的数据写入所述Java SIM卡中对应文件当中;
步骤S107:终端设备弹出提示信息,指示终端用户重启终端设备,所述终端设备为手机等具有通信功能的终端;
步骤S108:所述Java SIM卡使用新数据进行入网,判断连网是否成功;如果成功,则将备份的所述Java SIM卡原有网络数据清除,并向所述服务器发送处理成功的处理结果,并结束操作;如果连网失败,执行步骤S109和步骤S110;
步骤S109:所述Java SIM卡进行数据回滚,将备份的所述Java SIM卡原有网络数据写回Java SIM卡中,并提示终端用户重启终端设备;
步骤S110:所述Java SIM卡使用备份的原有网络数据连接原有网络,并向所述服务器发送处理失败的处理结果,并结束操作;
步骤S111:判断所述Applet应用程序执行结果是否成功,如果成功,向所述服务器发送处理成功的处理结果,并结束操作;否则,重置Applet应用程序执行状态为未执行,并跳转到步骤S103。
本发明所述的网络切换操作要求在相同制式的网络之间进行。
本发明所述的Applet应用程序预置在所述Java SIM卡中,可以是虚拟运营商在自有网络建设中的过渡发行方案,对未安装此Applet应用程序的已入网用户,可通过RAM方式远程下载Applet应用程序,RAM下载方法已经很成熟(Remote Appl icat ion Management远程应用管理),可以实现Applet应用程序的远程无线下载到SIM卡中。
在本发明的具体实施方式中,待切换网络的数据参数值是预置在Applet应用程序中的,包括:
IMSI,国际移动用户标识(International Mobile Subscriber Identity);
SMSC,短消息服务中心号(Short Message Service Center);
ICCID,集成电路卡标识(Integrated Circuits Card Identification);
K,SIM鉴权随机数(Subscriber authentication Key);
OP,运营商主密钥(Operator variant algorithm configuration field),用来为每张卡分散OPc,16字节;
OPc,由所述的OP和所述的K分散得到(Value derived from OP and K),长度16字节;
ACC,访问控制码(Access Control Code),G网IMSI的最后一位;
A_Key,鉴权密钥(Authentication Key)。
这些参数与具体网络制式相关,每个网络的参数不太相同。比如:
WCDMA和TD-SCDMA网络包括:K,IMSI,OPc,ICCID,ACC,SMSC;
CDMA2000网络包括:IMSI,ICCID,A_KEY,ACC SMSC。
此外,上述的待切换网络的数据参数值也可以通过RAM下载方式加载到Applet应用程序中。
如图1、图3、图4所示,本发明具体实施方式提供了一种Java SIM卡转网的方法,应用于服务器,包括以下步骤:
步骤S201,向Java SIM卡下发网络切换触发指令;
步骤S301,接收所述Java SIM卡返回的应答信息和处理结果;
在步骤S201后,还包括以下步骤:
步骤S202,判断是否在规定时间内收到所述Java SIM卡返回的所述触发指令收到应答信息,如果是,执行步骤S204,并结束操作;如果否,则执行步骤S203;
步骤S203,判断是否超过重新下发网络切换触发指令次数的阀值,如果是执行步骤S204,并结束操作;如果否,执行步骤S201;
步骤S204,记录步骤S201的交易日志、所述Java SIM卡的应答状态及网络切换触发指令发送次数;
在步骤S301后,还包括:
步骤S302,记录步骤S301的交易日志及所述Java SIM卡返回的处理结果。
这里,步骤S202中的“规定时间”的范围可以默认为120秒,步骤S203中重新下发网络切换触发指令次数的“阀值”默认为3次。上述数值仅是本实施例中优选的数值,但并不限于此数值,也可以是其他的数值。
在本发明的具体实施方式中,服务器与SIM卡的交互是基于请求/响应方式的。服务器下发给SIM卡指令,SIM卡在收到指令后应该返回接收响应,这样服务器才知道SIM卡是收到了指令,否则服务器可以认为下发的指令丢失了,或者终端一直处于关机状态导致SIM卡没有接收到指令。
但是多长时间能够收到卡上发的响应是不确定的,和具体使用过程中的网络传输情况有关,因此,服务器端默认设置一个值,比如2分钟,这样SIM卡在2分钟之内返回的响应都是有效的,如果服务器在向SIM卡下发指令后的2分钟内没有收到响应,服务器就重发一遍指令给SIM卡。但是如果重发了几次后都没有在有限的2分钟内收到响应,那么服务器就没有必要一直不停的发下去了,所以设定一个阀值,比如3次,重发3次都 不能和SIM卡成功交互的话,就不再重试,直接记录结果为失败。
如图5所示,本发明具体实施方式提供了一种Java SIM卡转网的SIM卡,包括以下装置:
收发模块100,用于接收服务器下发的网络切换触发指令,并向所述服务器反馈触发指令收到应答信息;所述服务器用于下发所述网络切换触发指令,并接受反馈信息;
Applet应用模块200,包括切换操作应用单元201,用于触发Applet应用程序,执行网络切换操作,所述Applet应用程序是网络切换程序。
其中所述Applet应用程序预置有待切换网络的数据参数值。
待切换网络的数据参数值包括:
IMSI,国际移动用户标识(International Mobile Subscriber Identity);
SMSC,短消息服务中心号(Short Message Service Center);
ICCID,集成电路卡标识(Integrated Circuits Card Identification);
K,SIM鉴权随机数(Subscriber authentication Key);
OP,运营商主密钥(Operator variant algorithm configuration field),用来为每张卡分散OPc,16字节;
OPc,由所述的OP和所述的K分散得到(Value derived from OP and K),长度16字节;
ACC,访问控制码(Access Control Code),G网IMSI的最后一位;
A_Key,鉴权密钥(Authent ication Key)。
这些参数与具体网络制式相关,每个网络的参数不太相同。比如:
WCDMA和TD-SCDMA网络包括:K,IMSI,OPc,ICCID,ACC,SMSC;
CDMA2000网络包括:IMSI,ICCID,A_KEY,ACC SMSC。
在本发明的具体实施方式中,Applet应用程序是在出厂前预置在SIM卡中的,对未安装Applet应用程序的已入网用户,也可通过RAM方式远程下载Applet应用程序并加载到SIM卡中。此外,上述的待切换网络的数据参数值也可以通过RAM下载方式加载到Applet应用程序中。
另外所述Apple应用模块200还包括:
第一判断单元202,用于判断所述Applet应用程序是否执行,如果未执行则转第二判断单元处理,如果执行则转第五判断单元处理;
第二判断单元203,用于判断所述Java SIM卡当前是否为漫游状态,如果是,转第二处理结果发送单元处理,业务结束;如果否,转第三判断单元处理;
第三判断单元204,用于解析所述网络切换触发指令数据,并判断是否解析成功,如果解析失败,转第二处理结果发送单元处理,业务结束;如果解析成功则转网络数据替换单元处理;
网络数据替换单元205,用于将所述Java SIM卡中原有网络文件中的数据进行备份,将待切换网络的数据写入所述Java SIM卡中对应文件当中,再转提示单元处理;
提示单元206,用于命令终端设备弹出提示信息,指示终端用户重启终端设备,并转第四判断单元处理;所述终端设备为手机等具有通信功能的终端;
第四判断单元207,用于在所述Java SIM卡使用新数据进行入网时,判断连网是否成功,如果成功,转清空备份单元处理,再转第一处理结果发送单元处理;如果失败,转数据恢复单元处理,再转提示单元处理,最后转第二处理结果发送单元处理;
清空备份单元208,用于将备份的所述Java SIM卡原有网络数据清除;
数据恢复单元209,用于将备份的所述Java SIM卡原有网络数据写回Java SIM卡中;
第一处理结果发送单元210,用于向所述服务器发送执行成功的处理结果;
第二处理结果发送单元211,用于向所述服务器发送执行失败的处理结果;
第五判断单元212,用于判断Applet应用程序执行结果是否成功,如果成功,转第一处理结果发送单元处理;如果失败,转状态修改单元处理,再转切换操作应用单元处理;
状态修改单元213,用于将Applet应用程序执行状态重置为未执行。
如图6所示,本发明具体实施方式提供了一种Java SIM卡转网的服务器包括以下装置:
指令下发模块300,包括切换触发指令下发单元301,用于向Java SIM卡下发网络切换触发指令;
接收反馈模块400,包括处理结果接收单元401,用于接收所述JavaSIM卡返回的应答信息和处理结果。
其中所述指令下发模块还包括:
第六判断单元302,用于判断是否在规定时间内收到所述Java SIM卡返回的所述触发指令收到应答信息,如果是,转第一记录单元处理,并结束操作;如果否,则转第七判断单元处理;
第七判断单元303,用于判断是否超过重新下发指令次数的阀值,如果是,转第一记录单元处理,并结束操作;如果否,转切换触发指令下发单元处理;
第一记录单元304,用于记录所述下发模块的交易日志、应答状态和指令发送次数。
其中第六判断单元302的“规定时间”为120秒,第七判断单元303的重新下发网络切换触发指令次数的“阀值”为3次。上述数值仅是本实施例中优选的数值,但并不限于此数值,也可以是其他的数值。
另外,接收反馈模块还包括第二记录单元402,用于记录所述接收反馈模块的交易日志和所述Java SIM卡返回的应答信息和处理结果。
此外,本发明实施方式中还提供了一种Java SIM卡转网的系统,该系统包括上述的任一SIM卡以及上述的任一服务器。
本发明解决了Java SIM卡动态切换移动通信网络的问题,为虚拟运营商建设自有网络并平滑过渡用户提供了基础,也为相同网络制式下用户的网间迁移提供了方法和思路。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。