互联网业务的实现方法、应用服务器和呼叫代理服务器的制造方法

文档序号:7773475阅读:140来源:国知局
互联网业务的实现方法、应用服务器和呼叫代理服务器的制造方法
【专利摘要】本发明提供一种互联网业务的实现方法、应用服务器和呼叫代理服务器,该方法包括:呼叫代理服务器接收应用服务器的客户端地址查询请求;所述呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址;所述呼叫代理服务器将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。利用本发明提供的互联网业务的实现方法、应用服务器和呼叫代理服务器,实现互联网业务的运行过程中,客户端与应用服务器以低资源成本维持有效连接。
【专利说明】互联网业务的实现方法、应用服务器和呼叫代理服务器
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种互联网业务的实现方法、应用服务器和呼叫代理服务器。
【背景技术】
[0002]近年来,微信等OTT (Over The Top)业务呈快速发展趋势。OTT业务可称为互联网业务,是业务提供商利用开放互联网实现消息的传输,强调应用业务与物理网络之间的无关性。OTT业务通常需要实时向移动终端上配置的业务客户端推送消息,所以需要OTT业务保持永久在线。
[0003]业界目前的方法是通过移动终端向应用服务器频繁发送心跳消息,以保持与应用服务器的长连接的有效性,从而达到让OTT业务永远在线。
[0004]但是当移动终端运行多个永久在线业务时,移动终端需要维持多个长连接,因此需要分别发送多条心跳消息,而由于移动终端的快速休眠机制,心跳消息的频繁发送将导致网络信令负荷的大幅增加,占用大量无线信令资源。

【发明内容】

[0005]本发明提供一种互联网业务的实现方法、应用服务器和呼叫代理服务器,以实现互联网业务的运行过程中,终端与应用服务器以低资源成本维持有效连接。
[0006]本发明提供了一种互联网业务的实现方法,包括:
[0007]呼叫代理服务器接收应用服务器的客户端地址查询请求;
[0008]所述呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址;
[0009]所述呼叫代理服务器将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
[0010]本发明还提供了一种互联网业务的实现方法,包括:
[0011]应用服务器在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址;
[0012]所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
[0013]本发明还提供了一种呼叫代理服务器,包括:
[0014]请求接收模块,用于接收应用服务器的客户端地址查询请求;
[0015]地址获取模块,用于基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址;
[0016]地址发送模块,用于将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
[0017]本发明还提供了一种应用服务器,包括:
[0018]地址接收模块,用于在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址;
[0019]业务消息发送模块,用于根据所述移动终端地址向所述客户端发送互联网业务消
肩、O
[0020]本发明实施例提供的一种互联网业务的实现方法、应用服务器和呼叫代理服务器,通过引入呼叫代理服务器获取应用客户端所在移动终端地址,应用客户端所在移动终端的地址是当应用服务器有消息发送的时候才提供给应用服务器的,减少了用户客户端与应用服务器保持连接所占用的资源,从而在实现互联网业务的运行过程中,客户端与应用服务器以低资源成本维持有效连接。
【专利附图】

【附图说明】
[0021]图1为本发明实施例一提供的互联网业务的实现方法的流程图;
[0022]图2为本发明实施例二提供的互联网业务的实现方法的流程图;
[0023]图3为本发明实施例三提供的互联网业务的实现方法的流程图;
[0024]图4为本发明实施例四提供的呼叫代理服务器的结构示意图;
[0025]图5为本发明实施例五提供的呼叫代理服务器的结构示意图;
[0026]图6为本发明实施例六提供的应用服务器的结构示意图;
[0027]图7和图8为本发明实施例七提供的互联网业务实现的方法的流程图。
【具体实施方式】
[0028]实施例一
[0029]图1为本发明实施例一提供的互联网业务的实现方法的流程图,该方法适用于需要永远在线的互联网业务,实现应用服务器向其推送消息的情况,如图1所示,该方法包括:
[0030]SlOl:呼叫代理服务器接收应用服务器的客户端地址查询请求;
[0031]所述客户端和所述应用服务器可以是任意互联网业务的客户端和应用服务器。所述客户端通常为软件形式,安装在移动终端中。
[0032]在本发明提供的实施例中,客户端可存在几种状态,即常规在线状态、待查询在线状态、可联系的离线状态和无法联系的离线状态。
[0033]通常,常规在线状态是指客户端所在的移动终端与应用服务器之间保持通过网络链路互连。此状态下,应用服务器可直接向移动终端推送应用消息。当然,若应用服务器在此状态下向移动终端发送互联网业务消息却无响应,则表明移动终端实际上已经断开了与应用服务器之间的网络连接,应用服务器在识别到无响应时可再更新该客户端的状态为可联系的离线状态。
[0034]待查询在线状态是指客户端所在移动终端附着网络,但断开与应用服务器之间的网络链路,需要通过呼叫代理服务器进行地址查询。此时客户端在移动终端上可以处于前台运行状态,也可以是后台运行状态。
[0035]离线状态,指客户端在移动终端上处于已关闭的状态。进一步区分为可联系的离线状态和无法联系的离线状态,一般按照客户端所在移动终端是否附着到网络来区分。其中,若移动终端未附着到网络,例如关机,则客户端可视为处于无法联系的离线状态,否则,客户端在移动终端上退出时,视为可联系的离线状态。当客户端处于可联系的离线状态,则应用服务器不需要向客户端提供消息推送服务。当客户端处于无法联系的离线状态,则应用服务器可以在客户端设置的可通知时间内间隔地向呼叫代理服务器查询客户端所在移动终端是否重新附着网络。
[0036]应用服务器中会及时更新客户端的状态,并根据客户端所处的状态确定如何向客户端推送应用消息。客户端所处状态还决定了应用服务器为客户端提供什么样的业务服务,例如,两种在线状态下,表明客户端可以实时接收消息的状态,则应用服务器会向客户端用户的好友显示用户在线,为其准备缓存等服务。两种离线状态下,表明客户端在移动终端处于关闭的状态,无法接收实时消息,则应用服务器会向好友显示用户离线,释放缓存等。在上述各状态下,应用服务器与客户端所在移动终端之间的网络连接状态也有不同,只有常规在线状态下,应用服务器与客户端所在移动终端之间保持网络链路。
[0037]上述步骤中,当应用服务器通过与客户端或呼叫代理服务器交互消息等方式而确定客户端处于由呼叫代理服务器获取地址的状态时,就可发送查询请求给呼叫代理服务器。应用服务器先向呼叫代理服务器发送地址查询请求,携带能表示“请告诉我客户端的公网地址,我要向客户端发送消息”的内容,并且在该请求消息中携带客户端的标识。
[0038]S102:所述呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址;
[0039]这里,所述核心网可以是GPRS服务支持节点(Serving GPRS Suport Node,简称SGSN)或者网关 GPRS 支持节点(Gateway GPRS Support Node,简称 GGSN)等。
[0040]本步骤中,如果呼叫代理服务器收到应用服务器的查询地址的请求,并且从核心网或客户端获知客户端所在移动终端正附着网络的指示,那么就可以向核心网元查询获取客户端的移动终端地址;如果呼叫代理服务器查询到该移动终端处于关机状态或者网络故障无法联系到状态,则向应用服务器返回“客户端查询不到,用户已关机或联系不到”,应用服务器就会更新客户端的状态为无法联系的离线状态,并且存储要发给客户端的互联网业务消息,并可以在客户端设置的可通知时间内定时向呼叫代理服务器查询所述客户端所在移动终端的状态,呼叫代理服务器定时向核心网元查询该移动终端是否开机,一旦检测到所述客户端所在移动终端开机,则在核心网元中查询获取客户端所在的移动终端的地址。
[0041]S103:所述呼叫代理服务器将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
[0042]应用服务器通过移动终端地址向所述客户端发送互联网业务消息是指应用服务器获取了客户端所在移动终端的公网地址之后,就可以和客户端所在移动终端建立互联网连接,应用服务器可以按照客户端所在移动终端的公网地址,把互联网业务消息发送给相应的客户端,客户端就可以接收到应用服务器实时推送的消息。
[0043]优选的,在呼叫代理服务器接收应用服务器的客户地址查询请求之前,还可以包括:呼叫代理服务器接收客户端的注册请求,所述注册请求中包括客户端设置自身应用业务的可通知时间;呼叫代理服务器为客户端注册的应用业务分配业务标识,作为客户端的标识,并建立客户端的标识与应用所在移动终端标识之间的映射关系;所述呼叫代理服务器将所述客户端应用业务的可通知时间发送至对应所述应用服务器,以使所述应用服务器在所述可通知时间向所述客户端发送互联网业务消息。
[0044]其中,所述的客户端设置自身应用业务的可通知时间是指客户端需要通过呼叫代理服务器通知的时间可设置,如在收到开启服务消息后的一天内实时推送或者一直实时推送,并将这个时间告知应用服务器,应用服务器可根据这个时间设置相应的消息推送服务或可以在可通知时间内向呼叫代理服务器查询客户端所在移动终端的地址。
[0045]优选的,在呼叫代理服务器接收应用服务器的客户端地址查询请求之前,还包括:所述呼叫代理服务器接收到所述客户端处于待查询在线状态的通知后,向所述应用服务器发送所述客户端的开启服务消息,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址。该方案可以是由客户端主动告知呼叫代理服务器自身的状态,即客户端虽然在移动终端中开启,但并不与应用服务器保持网络互连,而是通过呼叫代理服务器查询地址再推送消息。以避免客户端与应用服务器之间保持的网络互连占用网络资源。
[0046]优选的,还可以包括:所述呼叫代理服务器定时向核心网查询所述客户端所在的移动终端的状态;当所述呼叫代理服务器查询到所述客户端所在移动终端处于关机状态或无法联系到状态或网络故障状态,则向所述应用服务器告知所述客户端的状态为无法联系的离线状态,以便所述应用服务器可以更新所述客户端状态为无法联系的离线状态,存储要发给所述客户端的互联网业务消息,并在所述客户端设置的可通知时间内定时向所述呼叫代理服务器查询所述客户端所在移动终端的状态;当呼叫代理服务器查询到所述客户端所在移动终端开机时,进行所述客户端的地址查询,并将所述客户端地址发送给所述应用服务器,以便所述应用服务器更新该客户端为待查询在线状态。
[0047]如果所述客户端进入后台或关闭时,在收到所述应用服务器推送的消息后可以自动唤醒客户端,进行查看、聊天等消息处理。
[0048]本实施例通过引入呼叫代理服务器获取应用客户端地址,使得客户端可以不必与应用服务器保持网络互连,从而能减少对网络资源的占用。
[0049]实施例二
[0050]图2为本发明实施例二提供的互联网业务的实现方法的流程图,本实施例以上述实施例为基础,进一步优化了呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址的方法,如图2所示,该操作包括:
[0051]S201:呼叫代理服务器根据所述查询请求中的客户端标识查询对应的移动终端的国际移动识别码;
[0052]这里,客户端标识与移动终端的国际移动识别码,客户端标识即客户端的业务标识,在客户端业务向呼叫代理服务器注册完,呼叫代理服务器为客户端应用分配业务标识的时候,已经记录了客户端标识和国际移动识别码的对应关系。
[0053]S202:所述呼叫代理服务器根据所述国际移动识别码向核心网元查询所述移动终端的分组数据协议地址;
[0054]分组数据协议是外部公用数据网与通用分组无线服务技术(General PacketRadio Service,简称GPRS)接口所用的网络协议。分组数据协议地址是GPRS用户的网络层地址,与标准的网络层地址建立了临时或永久性的关联。分组数据协议地址是提前分配给客户端的移动终端,有三种分配方式,静态分组数据协议地址:本地公用陆地移动网络将一个分组数据协议地址永久性地分配给客户端的移动终端;动态本地公用陆地移动网络分组数据协议地址:当激活一个分组数据协议上下文时,本地公用陆地移动网络才将一个分组数据协议地址临时分配给客户端所在移动终端;动态虚拟公共陆上移动网分组数据协议地址:当激活一个分组数据协议上下文时,虚拟公共陆上移动网才将一个分组数据协议地址临时分配给客户端所在移动终端。
[0055]S203:所述呼叫代理服务器根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址。
[0056]优选的,本步骤之前还包括:所述呼叫代理服务器根据所述国际移动识别码向核心网元查询所述移动终端的网络附着状态;当呼叫代理服务器识别到所述移动终端为未激活状态时,向核心网请求激活所述移动终端,以建立所述移动终端与互联网之间的链路。
[0057]其中,所述的网络附着是指分组交换(Packet Switch,简称PS)的附着,也就是PS域的注册。如果要做PS业务,必须先注册到GPRS网络,然后要做PS数据业务,那么必须发起分组数据协议激活,向网络申请网络地址经分组数据协议激活后,客户端所在移动终端就可以和网络进行PS业务。
[0058]其中,当所述的移动终端为未激活状态时,需要通过寻呼信道(Paging ControlChannel,简称PCCH)或专用控制信道(Dedicated Control Channel,简称DCCH)寻呼该移动终端的国际移动识别码,让客户端所在移动终端主动建立与核心网的PS连接。
[0059]本实施例通过引入呼叫代理服务器获取客户端所在移动终端的地址,客户端所在移动终端地址是当应用服务器有消息发送的时候才给分配的,减少了客户端所在移动终端占用公网地址的时间,节省了应用服务器的资源,从而在实现互联网业务的运行过程中,客户端所在移动终端与应用服务器以低资源成本维持有效连接。
[0060]实施例三
[0061]图3为本发明实施例三提供的互联网业务的实现方法的流程示意图,该方法适用于应用服务器向客户端发送互联网业务消息的情况,该方法具体由应用服务器来执行,可与实施例一的技术方案配合执行,如图3所不,该方法包括:
[0062]S301:应用服务器在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址;
[0063]这里,当应用服务器确定客户端所在移动终端处于无法联系的离线状态的时候,先存储要发给客户端的信息,并在客户端设置的可通知时间内定时向呼叫代理服务器查询客户端的状态,呼叫代理服务器一旦确认客户端所在移动终端可以联系时,则向核心网元查询客户端的地址,并将客户端所在移动终端地址发送给应用服务器。
[0064]S302:所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消肩、O
[0065]应用服务器通过移动终端地址向所述客户端发送互联网业务消息是指应用服务器获取了客户端所在移动终端的公网地址之后,就可以和客户端建立互联网连接,应用服务器可以按照客户端的公网地址,把业务消息发送给相应的客户端所在移动终端,客户端就可以接收到应用服务器实时推送的消息。
[0066]在上述方案的基础上,还可以包括:所述应用服务器接收所述客户端或所述呼叫代理服务器发送的客户端的可通知时间;所述应用服务器根据所述客户端的可通知时间向所述客户端发送互联网业务消息。
[0067]上述技术方案有效地利用呼叫代理服务器为应用服务器查询客户端所在移动终端的地址,避免应用服务器与客户端实时连接而占用的网络资源。通过灵活地设置可通知时间,也可以减少应用服务器和呼叫代理服务器之间的频繁交互。
[0068]对于客户端的状态,应用服务器可以通过多种方式来确定,以便执行后续操作,具体包括如下方式的一种或多种:
[0069]应用服务器在接收到呼叫代理服务器发送的开启服务消息时,则确定所述客户端处于待查询在线状态,其中,所述开启服务消息用于表示所述客户端处于待查询在线,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址;或者
[0070]应用服务器在所述客户端设置的可通知时间到达后,未收到所述客户端发送的消息或呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或
[0071]应用服务器与所述客户端交互后,在设定时间内未收到所述客户端发送的消息或所述呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或
[0072]应用服务器在收到所述呼叫代理服务器发送的所述客户端无法联系消息时,则确定所述客户端处于无法联系的离线状态;或
[0073]应用服务器收到所述客户端的退出服务消息时,确定所述客户端处于可联系的离线状态。
[0074]优选的,所述应用服务器确定所述客户端处于待查询在线状态或可联系的离线状态时,释放分配给所述客户端的网络链路资源;所述应用服务器确定所述客户端处于可联系的离线状态时,释放向所述客户端提供推送服务的资源。
[0075]即,若客户端在移动终端开启,处于常规在线状态,则应用服务器可保持与客户端之间的网络链路。若客户端虽在移动终端开启,但是释放了与应用服务器的网络连接,则处于待查询在线状态,可通过呼叫代理服务器查询客户端所在移动终端地址建立与客户端所在移动终端之间的网络链路,以便随时通信。若客户端处于不可联系的离线状态,例如关机,则应用服务器需要定时与呼叫代理服务器联系来查询客户端所在移动终端附着到网络的状态,以便查询地址后向客户端推送互联网业务消息。客户端处于待查询在线状态或可联系的离线状态时,则应用服务器可以释放网络链路资源。其中,客户端处于可联系的离线状态下,应用服务器不再向客户端提供消息推送服务,可释放向所述客户端提供推送服务的资源,例如缓存等。
[0076]本实施例通过引入呼叫代理服务器获取应用客户端地址,避免了客户端实时与应用服务器保持网络连接而占用的资源。此外,客户端所在移动终端的地址是当应用服务器有消息发送的时候才给分配的,减少了客户端所在移动终端占用公网地址的时间,节省了应用服务器的资源,从而在实现互联网业务的运行过程中,应用客户端与应用服务器以低资源成本维持有效连接。
[0077]实施例四
[0078]图4为本发明实施例四提供的呼叫代理服务器的结构示意图,该呼叫代理服务器适用于执行本发明实施例提供的互联网业务实现方法,如图4所示,该呼叫代理服务器包括请求接收模块410、地址获取模块420和地址发送模块430。其中,请求接收模块410用于接收应用服务器的客户端地址查询请求;地址获取模块420用于基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址;地址发送模块430用于将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
[0079]优选的,本实施例的呼叫代理服务器还包括:注册模块440、业务标识分配模块450和通知时间发送模块460。其中,注册模块440用于在接收应用服务器的客户地址查询请求之前,接收客户端的注册请求,所述注册请求中包括客户端设置自身应用业务的可通知时间;业务标识分配模块450用于为客户端注册的应用业务分配业务标识,作为客户端的标识,并建立客户端的标识与应用所在移动终端标识之间的映射关系;通知时间发送模块460用于将所述客户端应用业务的可通知时间发送至对应所述应用服务器,以使所述应用服务器在所述可通知时间向所述客户端发送互联网业务消息。
[0080]本发明实施例所提供的呼叫代理服务器,能够通过为应用服务器查询获得客户端所在移动终端的地址,从而避免应用服务器与客户端之间保持实时网络连接而占用资源。又通过设置可通知时间,能够减少应用服务器与呼叫代理服务器或客户端之间的频繁交互,同时方便用户根据需要进行个性化业务定制。
[0081]实施例五
[0082]图5为本发明实施例五提供的呼叫代理服务器的结构示意图,如图5所示,本实施例以上述实施例为基础,在上述方案的基础上,所述地址获取模块420可具体包括:第一查询单元421、第二查询单元422和地址获取单元423。其中,第一查询单元421用于根据所述查询请求中的客户端的标识查询对应的移动终端的国际移动识别码;第二查询单元422用于根据所述国际移动识别码向核心网元查询所述移动终端的分组数据协议地址;地址获取单元423,用于根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址。
[0083]为适应移动终端是否附着网络的不同状态,该呼叫代理服务器还可以进一步设置:附着状态查询模块470和请求激活模块480,其中,附着状态查询模块470,用于根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址之前,根据所述国际移动识别码向核心网元查询所述移动终端的网络附着状态;请求激活模块480用于当识别到所述移动终端为未激活状态时,向核心网请求激活所述移动终端,以建立所述移动终端与互联网之间的链路。
[0084]为了能够及时获知客户端的状态,呼叫代理服务器还可以进一步包括第一状态通知模块,用于在接收应用服务器的客户端地址查询请求之前,接收到客户端处于待查询在线状态的通知后,向所述应用服务器发送所述客户端的开启服务消息,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址。
[0085]也可以设置状态查询模块、第二状态通知模块和第三状态通知模块。其中,状态查询模块用于定时向核心网查询所述客户端所在的移动终端的状态;第二状态通知模块用于当查询到客户端所在移动终端处于关机状态或无法联系到状态或网络故障状态,则向所述应用服务器告知所述客户端的状态为无法联系的离线状态;第三状态通知模块用于当查询到所述客户端所在的移动终端开机时,进行所述客户端的地址查询,并将所述客户端地址发送给所述应用服务器。
[0086]实施例六
[0087]图6为本发明实施例六提供的应用服务器的结构示意图,该应用服务器适用于执行本发明实施例所提供的互联网业务实现的方法,如图6所示,该应用服务器包括地址接收模块610和业务消息发送模块620。其中,地址接收模块610用于在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址;业务消息发送模块620用于根据所述移动终端地址向所述客户端发送互联网业务消息。
[0088]该应用服务器还可以进一步包括:通知时间接收模块630。其中,通知时间接收模块630用于接收所述客户端或所述呼叫代理服务器发送的客户端的可通知时间,以根据所述客户端的可通知时间向所述客户端发送互联网业务消息。
[0089]本发明实施例所提供的互联网业务实现的应用服务器可用于执行本发明任意实施例提供的互联网业务实现的方法,具备相应的功能模块,达到相同的有益效果,此处不再赘述。
[0090]在上述应用服务器的具体实施例中,可设置下述至少一个或多个模块还获知客户端的状态,具体如下:
[0091]第一状态确定模块,用于在接收到呼叫代理服务器发送的开启服务消息时,则确定所述客户端处于待查询在线状态,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址;或者
[0092]第二状态确定模块,用于在客户端设置的可通知时间内到达后,未收到客户端发送的消息或呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或
[0093]第三状态确定模块,用于与所述客户端交互后,在设定时间内未收到所述客户端发送的消息或所述呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或
[0094]第四状态确定模块,用于在收到所述呼叫代理服务器发送的所述客户端无法联系消息时,则确定所述客户端处于无法联系的离线状态;或
[0095]第五状态确定模块,用于在收到客户端的退出服务消息时,则确定所述客户端处于可联系的离线状态。
[0096]进一步还可包括释放模块,用于确定所述客户端处于待查询在线状态或可联系的离线状态之后,释放分配给所述客户端的网络链路资源,且用于确定所述客户端处于可联系的离线状态时,释放向所述客户端提供推送服务的资源。
[0097]基于上述技术方案,应用服务器可以不必与客户端保持实时连接,从而可减少对网络资源的占用,应用服务器利用呼叫代理服务器,可随时查询客户端所在移动终端的地址,因此也可以及时向客户端推送互联网业务消息。
[0098]实施例七
[0099]图7和图8为本发明实施例七提供的互联网业务实现的方法的流程图,本实施例以互联网业务中常用的微信为例,提供了一完整的优选实施例,图7具体示出了客户端的注册流程,图8具体示出了应用服务器、呼叫代理服务器和客户端之间实现互联网业务的流程。
[0100]如图7所示,注册流程包括如下步骤:
[0101]S701:微信客户端通过所在的移动终端先向呼叫代理服务器发送注册请求,并在注册请求中携带所在移动终端的终端标识,还可以进一步携带客户端接收推送消息的时间设置,即可通知时间;
[0102]S702:呼叫代理服务器为微信客户端分配业务标识,并记录微信的业务标识与终端标识之间的关系;或者,微信客户端的业务标识也可以是携带在注册请求中提供给呼叫代理服务器的,只要能唯一标识该移动终端中某一业务的客户端即可。
[0103]S703:呼叫代理服务器向微信客户端返回微信的业务标识;
[0104]S704:微信客户端向应用服务器发送微信业务标识以及微信客户端接收应用服务器消息推送的可通知时间设置。
[0105]可通知时间例如可以为,从现在开始的一天时间(24小时)内可实时推送,或者一直实时推送直到收到客户端发送的退出服务消息。该可通知时间可以由微信客户端随时进行修改。
[0106]如图8所示,实现互联网业务的流程具体包括如下步骤:
[0107]S801:微信客户端登录应用服务器,例如可通过发送登录请求等形式完成常规的登录操作,此时应用服务器视为客户端处于常规在线状态,两者保持互联网的TCP连接。
[0108]S802:应用服务器针对该微信客户端启动定时器;各客户端的定时时长可以相同或不同,可以由系统默认设置,也可以由客户端自行设置。
[0109]S803:应用服务器在定时器的第一设定时间内判断是否收到客户端发送的消息,此时客户端和服务器的TCP连接尚未断开,因此可以直接进行消息处理。若是,则进行正常的聊天过程,每次交互消息后重新启动该定时器,若否,则执行步骤S804 ;
[0110]S804:应用服务器判断在第二设定时间内是否收到呼叫代理服务器发送的开启服务消息,该消息用于表示“客户端可联系,有发送给它的消息由我代为通知”,这条消息是呼叫代理服务器在收到客户端的开启服务消息,该消息可以是表示“我可联系,如有我的消息请呼叫我”,之后向应用服务器发送的;若应用服务器接收到开启服务消息,则执行步骤S805,若否,即在第二设定时间到达后仍未收到客户端或呼叫代理服务器发送的消息,则执行步骤816 ;在第二设定时间到达前,若接收到客户端发送的消息,则返回执行步骤S803 ;
[0111]S805:在接收到上述的开启服务消息后,应用服务器标识客户端为待查询在线状态,但需要通过呼叫代理服务器查询地址;
[0112]S806:应用服务器检测是否有需要发送给客户端的互联网业务消息,若有,则执行步骤S807,若否,则执行步骤S813:
[0113]S807:如果有发送给客户端的互联网业务消息,则应用服务器向呼叫代理服务器发送地址查询请求,以便查询客户端所在移动终端的地址,该地址查询请求中可携带客户端的业务标识;
[0114]S808:呼叫代理服务器根据业务标识查找对应的移动终端的终端标识;
[0115]S809:呼叫代理服务器通过终端标识向核心网元查询客户端所在移动终端的地址;
[0116]S810:核心网元向呼叫代理服务器返回客户端所在移动终端的地址;
[0117]S811:呼叫代理服务器将客户端所在移动终端的地址返回给应用服务器;
[0118]S812:应用服务器根据地址向客户端所在移动终端推送互联网业务消息,如果客户端有返回的消息,则进入正常的聊天过程,返回至步骤S802 ;如果客户端没有返回任何消息,即仅接收服务器推送的消息,则继续执行S813。
[0119]在上述步骤S809和S810中,如果呼叫代理服务器检测到客户端所在的移动终端没有附着在PS域,则还进一步包括寻呼移动终端进行网络连接的过程;如果网络故障或移动终端关机无法联系到客户端所在的移动终端,则需要向应用服务器返回这一状态,呼叫代理服务器告知应用服务器,客户端处于无法联系的离线状态,应用服务器则进行信息缓存、设置在可通知时间内的定时查询等相应操作。
[0120]S813:如果没有发送给客户端的互联网业务消息,则应用服务器检测可通知时间是否到达,若是,则执行步骤S814,若否,则执行步骤S815:
[0121]S814:如果应用服务器检测到可通知时间已到,且此前未收到客户端或呼叫代理服务器发送的继续服务的消息,则执行步骤S816 ;
[0122]S815:应用服务器检测是否收到客户端发送的退出服务消息,若没有收到退出服务消息,则直接返回执行步骤S806 ;否则,若收到退出服务消息,则执行步骤S816 ;
[0123]S816:应用服务器标识客户端为可联系的离线状态,并释放应用服务器与客户端之间的网络连接资源,结束流程。
[0124]上述技术方案中,微信客户端可发送多种消息来告知呼叫代理服务器和应用服务器自身所处的状态。例如,当微信客户端进入后台或者一段时间不活动后,微信客户端可以向呼叫代理服务器发送消息“我可联系,如有我的消息请呼叫我”,并且在该消息中携带用户客户端的国际移动识别码、微信业务标识以及可通知时间。呼叫代理服务器收到该消息后,向应用服务器发送消息“客户端可联系,有发送给它的消息由我代为通知”,并且携带微信业务标识。收到该消息的应用服务器标识微信客户端为待查询在线状态但是需要通过呼叫代理服务器才能访问,并记录该呼叫代理服务器的公网地址和端口。当微信客户端退出时,则向应用服务器和呼叫代理服务器发送“退出服务消息”。
[0125]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0126]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种互联网业务的实现方法,其特征在于,包括: 呼叫代理服务器接收应用服务器的客户端地址查询请求; 所述呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址; 所述呼叫代理服务器将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
2.根据权利要求1所述的方法,其特征在于,所述呼叫代理服务器基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址包括: 呼叫代理服务器根据所述查询请求中的客户端的标识查询对应的移动终端的国际移动识别码; 所述呼叫代理服务器根据所述国际移动识别码向核心网元查询所述移动终端的分组数据协议地址; 所述呼叫代理服务器根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址。
3.根据权利要求2所述的方法,其特征在于,所述呼叫代理服务器根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址之前,还包括: 所述呼叫代理服务器根据所述国际移动识别码向核心网元查询所述移动终端的网络附着状态;` 当呼叫代理服务器识别到所述移动终端为未激活状态时,向核心网请求激活所述移动终端,以建立所述移动终端与互联网之间的链路。
4.根据权利要求1所述的方法,其特征在于,在呼叫代理服务器接收应用服务器的客户地址查询请求之前,还包括: 呼叫代理服务器接收客户端的注册请求,所述注册请求中包括客户端设置自身应用业务的可通知时间; 呼叫代理服务器为客户端注册的应用业务分配业务标识,作为客户端的标识,并建立客户端的标识与所在移动终端标识之间的映射关系; 所述呼叫代理服务器将所述客户端应用业务的可通知时间发送至对应所述应用服务器,以使所述应用服务器在所述可通知时间向所述客户端发送互联网业务消息。
5.根据权利要求1所述的方法,其特征在于,在呼叫代理服务器接收应用服务器的客户端地址查询请求之前,还包括: 所述呼叫代理服务器接收到所述客户端处于待查询在线状态的通知后,向所述应用服务器发送所述客户端的开启服务消息,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址。
6.根据权利要求1所述的方法,其特征在于,还包括: 所述呼叫代理服务器定时向核心网查询所述客户端所在的移动终端的状态; 当所述呼叫代理服务器查询到客户端所在移动终端处于关机状态或无法联系到状态或网络故障状态,则向所述应用服务器告知所述客户端的状态为无法联系的离线状态; 当所述呼叫代理服务器查询到所述客户端所在的移动终端开机时,进行所述客户端的地址查询,并将所述客户端地址发送给所述应用服务器。
7.—种互联网业务的实现方法,其特征在于,包括: 应用服务器在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址; 所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
8.根据权利要求7所述方法,其特征在于,还包括: 所述应用服务器接收所述客户端或所述呼叫代理服务器发送的客户端的可通知时间,以根据所述客户端的可通知时间向所述客户端发送互联网业务消息。
9.根据权利要求7或8所述的方法,其特征在于,还包括: 应用服务器在接收到呼叫代理服务器发送的开启服务消息时,则确定所述客户端处于待查询在线状态,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,所述待查询在线状态表示所述客户端所在移动终端中附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址;或者 应用服务器在所述客户端设置的可通知时间到达后,未收到所述客户端发送的消息或呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或 应用服务器与所述客户端交互后,在设定时间内未收到所述客户端发送的消息或所述呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或 应用服务器在收到所述呼叫代理服务器发送的所述客户端无法联系消息时,则确定所述客户端处于无法联系的离线状态;或 应用服务器收到所述客户端的退出服务消息时,确定所述客户端处于可联系的离线状态。
10.根据权利要求9所述的方法,其特征在于,还包括: 所述应用服务器确定所述客户端处于待查询在线状态或可联系的离线状态时,释放分配给所述客户端的网络链路资源; 所述应用服务器确定所述客户端处于可联系的离线状态时,释放向所述客户端提供推送服务的资源。
11.一种呼叫代理服务器,其特征在于,包括: 请求接收模块,用于接收应用服务器的客户端地址查询请求; 地址获取模块,用于基于查询请求中客户端的标识在核心网中查询获取客户端所在移动终端的地址; 地址发送模块,用于将移动终端地址发送给应用服务器,以便所述应用服务器根据所述移动终端地址向所述客户端发送互联网业务消息。
12.根据权利要求11所述的呼叫代理服务器,其特征在于,所述地址获取模块包括: 第一查询单元,用于根据所述查询请求中的客户端的标识查询对应的移动终端的国际移动识别码; 第二查询单元,用于根据所述国际移动识别码向核心网元查询所述移动终端的分组数据协议地址; 地址获取单元,用于根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址。
13.根据权利要求12所述的呼叫代理服务器,其特征在于,还包括: 附着状态查询模块,用于根据分组数据协议地址与公网地址的映射关系获取所述移动终端的公网地址之前,根据所述国际移动识别码向核心网元查询所述移动终端的网络附着状态; 请求激活模块,用于当识别到所述移动终端为未激活状态时,向核心网请求激活所述移动终端,以建立所述移动终端与互联网之间的链路。
14.根据权利要求11所述的呼叫代理服务器,其特征在于,还包括: 注册模块,用于在接收应用服务器的客户地址查询请求之前,接收客户端的注册请求,所述注册请求中包括客户端设置自身应用业务的可通知时间; 业务标识分配模块,用于为客户端注册的应用业务分配业务标识,作为客户端的标识,并建立客户端的标识与应用所在移动终端标识之间的映射关系; 通知时间发送模块,用于将所述客户端应用业务的可通知时间发送至对应所述应用服务器,以使所述应用服务器在所述可通知时间向所述客户端发送互联网业务消息。
15.根据权利要求11所述的呼叫代理服务器,其特征在于,还包括: 第一状态通知模块,用于在接收应用服务器的客户端地址查询请求之前,接收到客户端处于待查询在线状态的通知后,向所述应用服务器发送所述客户端的开启服务消息,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址。
16.根据权利要求11所述的呼叫代`理服务器,其特征在于,还包括: 状态查询模块,用于定时向核心网查询所述客户端所在的移动终端的状态; 第二状态通知模块,用于当查询到客户端所在移动终端处于关机状态或无法联系到状态或网络故障状态,则向所述应用服务器告知所述客户端的状态为无法联系的离线状态; 第三状态通知模块,用于当查询到所述客户端所在的移动终端开机时,进行所述客户端的地址查询,并将所述客户端地址发送给所述应用服务器。
17.一种应用服务器,其特征在于,包括: 地址接收模块,用于在需要向客户端发送互联网业务消息时,向呼叫代理服务器发送客户端地址查询请求,并接收所述呼叫代理服务器返回的客户端所在移动终端的地址; 业务消息发送模块,用于根据所述移动终端地址向所述客户端发送互联网业务消息。
18.根据权利要求17所述的应用服务器,其特征在于,还包括: 通知时间接收模块,用于接收所述客户端或所述呼叫代理服务器发送的客户端的可通知时间,以根据所述客户端的可通知时间向所述客户端发送互联网业务消息。
19.根据权利要求17或18所述的应用服务器,其特征在于,还包括: 第一状态确定模块,用于在接收到呼叫代理服务器发送的开启服务消息时,则确定所述客户端处于待查询在线状态,其中,所述开启服务消息用于表示所述客户端处于待查询在线状态,其中,所述待查询在线状态表示所述客户端所在移动终端附着网络,且需要通过所述代理服务器查询所述客户端所在移动终端的地址;或者 第二状态确定模块,用于在客户端设置的可通知时间内到达后,未收到客户端发送的消息或呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或第三状态确定模块,用于与所述客户端交互后,在设定时间内未收到所述客户端发送的消息或所述呼叫代理服务器发送的消息,则确定所述客户端处于可联系的离线状态;或第四状态确定模块,用于在收到所述呼叫代理服务器发送的所述客户端无法联系消息时,则确定所述客户端处于无法联系的离线状态;或 第五状态确定模块,用于在收到客户端的退出服务消息时,则确定所述客户端处于可联系的离线状态。
20.根据权利要求19所述的应用服务器,其特征在于,还包括: 释放模块,用于确定所述客户端处于待查询在线状态或可联系的离线状态之后,释放分配给所述客户端的网络链路资源,且用于确定所述客户端处于可联系的离线状态时,释放向所述客户端提供推送服务的资源。
【文档编号】H04L29/06GK103501305SQ201310479336
【公开日】2014年1月8日 申请日期:2013年10月14日 优先权日:2013年10月14日
【发明者】董慧, 侯玉华, 严斌峰 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1