本发明涉及移动通信技术领域,特别是涉及一种sim卡与应用服务器通信方法。本发明还涉及一种sim卡与应用服务器通信系统。
背景技术:
目前sim卡与应用服务器之间进行信息交互主要是利用ota平台的短信通道,应用服务器通过ota向sim卡收发数据短信来达到相互通信的目的,传统的ota短信通道使用点对点短消息传输方式,受短消息的技术特点限制,ota短信通道有以下缺点:传输数据量小、传输速率较慢、通信资费较高等。
为了解决ota短信通道的缺点带来的问题,有人提出基于bip通道的sim卡与应用服务器的通信方法,但是该方法使用局限性比较大,只支持sim卡发起的通信,无法实现应用服务器主动向sim卡发起通信的要求,即无法给指定的sim卡下发业务消息,灵活性低,不利于sim卡与应用服务器之间的信息交互。
因此,如何提高一种灵活性高的sim卡与应用服务器的通信方法及系统是本领域技术人员目前需要解决的问题。
技术实现要素:
本发明的目的是提供一种sim卡与应用服务器通信方法,提高了sim卡与应用服务器之间信息交互的灵活性;本发明的另一目的是提供一种包括上述方法的sim卡与应用服务器通信系统,其也提高了sim卡与应用服务器之间信息交互的灵活性。
为解决上述技术问题,本发明提供了一种sim卡与应用服务器通信方法,包括:
sim卡发送主动请求命令给移动终端;
所述移动终端接收到所述主动请求命令后,发送建立socket连接的请求给应用服务器;
所述应用服务器在接收到所述建立所述socket连接的请求后,建立与所述移动终端的socket连接;
所述socket连接建立完成后,所述sim卡通过所述socket连接发送注册信息给所述应用服务器;
所述应用服务器根据所述注册信息将所述socket连接绑定为所述sim卡的专属连接,并通过所述socket连接返回注册成功的响应信息给所述sim卡;
所述sim卡与所述应用服务器通过所述socket连接相互发送业务消息。
优选地,所述方法还包括:
所述sim卡发送主动定时命令给所述移动终端;
所述移动终端从接收到所述主动定时命令的时刻开始,经过预设时间周期后检测当前所述socket连接的状态;
所述移动终端发送当前所述socket连接状态的终端响应给所述sim卡;
判断当前所述socket连接的状态,若当前所述socket连接状态为正常连接状态,则所述sim卡继续发送所述主动定时命令给所述移动终端;若当前所述socket连接状态为异常断开状态,则所述sim卡发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接。
优选地,所述方法还包括:
所述移动终端实时检测所述socket连接的状态;
当所述socket连接的状态为异常断开状态时,所述移动终端向所述sim卡发送连接断开消息;
所述sim卡在接收到所述连接断开消息后,所述sim卡发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接。
优选地,所述方法还包括:
若所述sim卡发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接失败,则经过预设时间阈值后,所述sim卡再次发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接。
为解决上述技术问题,本发明还提供了一种sim卡与应用服务器通信系统,包括:
sim卡,用于发送主动请求命令给移动终端;在socket连接建立完成后,所述sim卡通过所述socket连接发送注册信息给应用服务器;
所述移动终端,用于发送建立所述socket连接的请求给所述应用服务器;
所述应用服务器,用于在接收到所述建立所述socket连接的请求后,建立与所述移动终端的socket连接;根据所述注册信息将所述socket连接绑定为所述sim卡的专属连接,并通过所述socket连接返回注册成功的响应信息给所述sim卡。
优选地,所述sim卡还包括:
定时单元,用于发送主动定时命令给所述移动终端;
判断单元,用于判断当前所述socket连接的状态,若当前所述socket连接状态为正常连接状态,则所述定时单元继续发送所述主动定时命令给所述移动终端;若当前所述socket连接状态为异常断开状态,则所述sim卡发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接;
所述移动终端还包括:
第一检测单元,用于从接收到所述主动定时命令的时刻开始,经过预设时间周期后检测当前所述socket连接的状态;
第一发送单元,用于发送当前所述socket连接状态的终端响应给所述sim卡。
优选地,所述移动终端还包括:
第二检测单元,用于实时检测所述socket连接的状态;
第二发送单元,用于当所述socket连接的状态为异常断开状态时,向所述sim卡发送连接断开消息;
所述sim卡在接收到所述连接断开消息后,所述sim卡发送所述主动请求命令给所述移动终端并开始重新建立所述socket连接。
优选地,所述移动终端为手机终端。
本发明提供了一种sim卡与应用服务器通信方法及系统,包括sim卡、移动终端以及应用服务器,本发明建立了sim卡与应用服务器之间的socket连接,当socket连接建立成功后,sim卡向应用服务器发送注册信息,应用服务器收到注册信息后将该socket连接绑定为sim卡的专属连接。因为应用服务器与sim卡之间建立了socket连接,所以sim卡基于该socket连接,随时可以主动向应用服务器发送业务消息,应用服务器基于该socket连接,也可以随时主动向sim卡下发业务消息,提高了sim卡与应用服务器之间信息交互的灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种sim卡与应用服务器通信方法的流程图;
图2为本发明提供的一种主动恢复socket连接方法的流程图;
图3为本发明提供的一种被动恢复socket连接的方法;
图4为本发明提供的一种sim卡与应用服务器通信系统的结构示意图。
具体实施方式
本发明的核心是提供一种sim卡与应用服务器通信方法,其提高了sim卡与应用服务器之间信息交互的灵活性。本发明的另一核心是提供一种sim卡与应用服务器通信系统,其也提高了sim卡与应用服务器之间信息交互的灵活性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种sim卡与应用服务器通信方法,如图1所示,图1为本发明提供的一种sim卡与应用服务器通信方法的流程图,该方法包括以下步骤:
步骤s101:sim卡发送主动请求命令给移动终端。
需要说明的是,在移动终端开机或者重启之后,sim卡向移动终端发送stk主动式命令“openchannel”(打开通道)。
步骤s102:移动终端接收到主动请求命令后,发送建立socket连接的请求给应用服务器。
步骤s103:应用服务器在接收到建立socket连接的请求后,建立与移动终端的socket连接。
步骤s104:socket连接建立完成后,sim卡通过socket连接发送注册信息给应用服务器。
需要说明的是,注册信息包含imsi(国际移动用户识别码)和iccid(sim卡卡号)
步骤s105:应用服务器根据注册信息将socket连接绑定为sim卡的专属连接,并通过socket连接返回注册成功的响应信息给sim卡。
需要说明的是,移动终端作为中间件将接收到的注册信息转发给应用服务器,以及将接收到的注册成功的响应信息转发给sim卡,其中将注册成功的响应信息转发给sim卡的详细过程为:移动终端向sim卡发送envelope命令的事件下载(有效数据),通知sim卡接收来自应用服务器的注册成功的响应信息,sim卡向移动终端发送stk主动式命令“receivedata”,移动终端接收到stk主动式命令“receivedata”后通过终端响应命令给sim卡返回注册成功的响应信息。
步骤s106:sim卡与应用服务器通过socket连接相互发送业务消息。
需要说明的是,socket连接建立完成后,应用服务器可以主动向sim卡用户下发业务消息,其详细过程为:移动终端向sim卡发送envelope命令的事件下载(有效数据),通知sim卡接收来自应用服务器主动下发的业务消息,sim卡向移动终端发送stk主动式命令“receivedata”,移动终端接收到stk主动式命令“receivedata”后通过终端响应命令给sim卡发送业务消息。
可以理解的是,当应用服务器上出现多个socket连接时,因为应用服务器已经接收了每一张sim卡的注册信息,并与每一张sim卡都绑定了与其对应的专属连接,因此服务器可以准确定位到指定的sim卡用户,并且可以与指定的sim卡用户进行通信。
作为优选的,该方法还包括一种主动恢复socket连接的方法,如图2所示,图2为本发明提供的一种主动恢复socket连接方法的流程图,具体过程如下:
步骤s201:sim卡发送主动定时命令给移动终端。
需要说明的是,sim卡发送stk主动式命令“timermanagement”(定时器管理)给移动终端。
步骤s202:移动终端从接收到主动定时命令的时刻开始,经过预设时间周期后检测当前socket连接的状态。
需要说明的是,移动终端接收到主动定时命令后启动定时器开始计时,并向sim卡返回定时器启动成功的终端响应结果,移动终端等到计时器所累计的时间达到预设时间周期后,向sim卡发送envelope命令的timerexpipation(定时器到时),通知sim卡定时器计时已到时,并检测当前socket连接的状态,sim卡接收到envelope命令的timerexpipation(定时器到时)后,立即向移动终端发送stk主动式命令“getchannelstatus”(获取通道连接状态)。
步骤s203:移动终端发送当前socket连接状态的终端响应给sim卡。
步骤s204:判断当前socket连接的状态,若当前socket连接状态为正常连接状态,则返回步骤s201;若当前socket连接状态为异常断开状态,则执行步骤s205。
s205:sim卡发送主动请求命令给移动终端并开始重新建立socket连接。
作为优选的,该方法还包括一种被动恢复socket连接的方法,如图3所示,图3为本发明提供的一种被动恢复socket连接的方法,具体过程如下:
步骤s301:移动终端实时检测socket连接的状态。
步骤s302:当socket连接的状态为异常断开状态时,移动终端向sim卡发送连接断开消息。
需要说明的是,当移动终端检测到socket连接的状态为异常断开状态时,移动终端向sim卡发送envelope命令的事件下载(通道连接状态),通知sim卡socket连接已断开。
步骤s303:sim卡在接收到连接断开消息后,sim卡发送主动请求命令给移动终端并开始重新建立socket连接。
作为优选的,该方法还包括:
若sim卡发送主动请求命令给移动终端并开始重新建立socket连接失败,则经过预设时间阈值后,sim卡再次发送主动请求命令给移动终端并开始重新建立socket连接。
可以理解的是,通过上述恢复socket连接的方法,可以保证socket连接在断开后能够及时地重新连接,保证了sim卡与应用服务器之间通信的完整性。
本发明提供了一种sim卡与应用服务器通信方法,包括sim卡、移动终端以及应用服务器,本发明建立了sim卡与应用服务器之间的socket连接,当socket连接建立成功后,sim卡向应用服务器发送注册信息,应用服务器收到注册信息后将该socket连接绑定为sim卡的专属连接。因为应用服务器与sim卡之间建立了socket连接,所以sim卡基于该socket连接,随时可以主动向应用服务器发送业务消息,应用服务器基于该socket连接,也可以随时主动向sim卡下发业务消息,提高了sim卡与应用服务器之间信息交互的灵活性。
本发明还提供了一种sim卡与应用服务器通信系统,如图4所示,图4为本发明提供的一种sim卡与应用服务器通信系统的结构示意图,该系统包括:
sim卡1,用于发送主动请求命令给移动终端2;在socket连接建立完成后,sim卡1通过socket连接发送注册信息给应用服务器3;
移动终端2,用于发送建立socket连接的请求给应用服务器3;
应用服务器3,用于在接收到建立socket连接的请求后,建立与移动终端2的socket连接;根据注册信息将socket连接绑定为sim卡1的专属连接,并通过socket连接返回注册成功的响应信息给sim卡1。
作为优选的,sim卡1还包括:
定时单元,用于发送主动定时命令给移动终端2;
判断单元,用于判断当前socket连接的状态,若当前socket连接状态为正常连接状态,则定时单元继续发送主动定时命令给移动终端2;若当前socket连接状态为异常断开状态,则sim卡1发送主动请求命令给移动终端2并开始重新建立socket连接;
移动终端2还包括:
第一检测单元,用于从接收到主动定时命令的时刻开始,经过预设时间周期后检测当前socket连接的状态;
第一发送单元,用于发送当前socket连接状态的终端响应给sim卡1。
作为优选的,移动终端2还包括:
第二检测单元,用于实时检测socket连接的状态;
第二发送单元,用于当socket连接的状态为异常断开状态时,向sim卡1发送连接断开消息;
sim卡1在接收到连接断开消息后,sim卡1发送主动请求命令给移动终端2并开始重新建立socket连接。
作为优选的,移动终端2为手机终端。
本发明提供了一种sim卡与应用服务器通信系统,包括sim卡、移动终端以及应用服务器,本发明建立了sim卡与应用服务器之间的socket连接,当socket连接建立成功后,sim卡向应用服务器发送注册信息,应用服务器收到注册信息后将该socket连接绑定为sim卡的专属连接。因为应用服务器与sim卡之间建立了socket连接,所以sim卡基于该socket连接,随时可以主动向应用服务器发送业务消息,应用服务器基于该socket连接,也可以随时主动向sim卡下发业务消息,提高了sim卡与应用服务器之间信息交互的灵活性。
以上对本发明所提供一种sim卡与应用服务器通信方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。