[go: up one dir, main page]

CN103312766B - A kind of method, system and device supporting applications client forever online - Google Patents

A kind of method, system and device supporting applications client forever online Download PDF

Info

Publication number
CN103312766B
CN103312766B CN201310072940.7A CN201310072940A CN103312766B CN 103312766 B CN103312766 B CN 103312766B CN 201310072940 A CN201310072940 A CN 201310072940A CN 103312766 B CN103312766 B CN 103312766B
Authority
CN
China
Prior art keywords
aog
aoe
long link
application
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310072940.7A
Other languages
Chinese (zh)
Other versions
CN103312766A (en
Inventor
仲其涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310072940.7A priority Critical patent/CN103312766B/en
Publication of CN103312766A publication Critical patent/CN103312766A/en
Application granted granted Critical
Publication of CN103312766B publication Critical patent/CN103312766B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

A kind of method supporting applications client forever online, the method includes: permanent set up a long-chain between engine AOE (101) and the permanent online service gateway A OG (20) being positioned at network side what be arranged in terminal (10) online and connects, wherein, at least two applications client is connect by described long-chain and communicates with one or more application server (04,05) respectively;In setting up the process that described long-chain connects, the subscriber management server (30) being positioned at network side provides routing iinformation to described AOE (101), provides authentication information to described AOG (20).

Description

一种支持应用客户端永久在线的方法、系统及装置A method, system and device for supporting application clients to be permanently online

技术领域 technical field

本发明涉及通信领域,尤其是一种支持应用客户端永久在线的方法,系统及装置。 The invention relates to the communication field, in particular to a method, system and device for supporting application clients to be permanently online.

背景技术 Background technique

智能终端上有大量“永久在线”类的应用,这种类型的应用通过终端主动发起的PULL方式周期性的与服务器主动建立链接,更新状态,因而会产生大量重复的、短小的PULL消息,比如即时消息IM、社交网络SNS、VOIP等永久在线应用需要客户端频繁发送“keepalive”消息通知服务在线状态;又例如,IM、SNS应用需要客户端频繁向服务器Pull消息更新好友状态;PushMail需要周期性同步、刷新;iphone4的iAD广告推送,定位跟踪服务都需要耗费大量的通信资源等等。 There are a large number of "permanently online" applications on smart terminals. This type of application periodically establishes a connection with the server and updates the status through the PULL mode initiated by the terminal, which will generate a large number of repeated and short PULL messages, such as Instant message IM, social network SNS, VOIP and other permanent online applications require the client to frequently send "keepalive" messages to notify the online status of the service; another example, IM and SNS applications require the client to frequently update the status of friends to the server; Synchronization, refresh; iAD advertisement push of iphone4, location tracking service all need to consume a lot of communication resources and so on.

为了维持应用永久在线,一个或者多个应用服务器至少需要维持与用户终端间的一条永久链路。终端与一个或者多个应用服务器之间的链路是不稳定的,例如链路中间有NAT、防火墙,用户的IP地址可能变化,因此需要通过频繁的心跳维持链路,并获取用户状态(呈现信息)。 In order to keep the application permanently online, one or more application servers need to maintain at least one permanent link with the user terminal. The link between the terminal and one or more application servers is unstable. For example, there are NAT and firewalls in the middle of the link, and the user's IP address may change. Therefore, it is necessary to maintain the link through frequent heartbeats and obtain user status (shown information).

一般情况下,终端进行正常的数据通信时,网络给终端分配专用的物理信道用于数据的上下行无线传输,这种状态称之为DCH(DedicatedCHannel专用信道)状态。当没有数据传输时,可使终端处理Idle状态,在Idle状态下所有的链接在接入层都是关闭的,终端只监听寻呼信息。因而在DCH和Idle状态下,终端对于电量的消耗差别非常大。智能终端基于省电的考虑,一般6~8秒无数据传输,手机进行“快速休眠”强制切换到Idle状态。而“永久在线”应用又经常需要与服务端进行心跳联接。从而导致终端在Idle状态与DCH状态间的频繁切换,从Idle状态到DCH激活态转换无线侧需要32条信令恢复链接,这种状态间的频繁切换对无线侧的信令造成重大的冲击。 Generally, when the terminal performs normal data communication, the network allocates a dedicated physical channel to the terminal for uplink and downlink wireless transmission of data. This state is called DCH (Dedicated CHannel Dedicated Channel) state. When there is no data transmission, the terminal can be processed in the Idle state. In the Idle state, all connections are closed at the access layer, and the terminal only monitors paging information. Therefore, in the DCH state and the Idle state, the power consumption of the terminal is very different. Based on the consideration of power saving, the smart terminal generally has no data transmission for 6 to 8 seconds, and the mobile phone performs "quick sleep" and is forced to switch to the Idle state. And "always on" applications often need a heartbeat connection with the server. As a result, the terminal frequently switches between the Idle state and the DCH state. From the Idle state to the DCH active state, the wireless side needs 32 signalings to restore the link. This frequent switching between the states has a significant impact on the signaling on the wireless side.

发明内容 Contents of the invention

本发明的一个实施方式,提供了支持应用客户端永久在线的方法,在位于终端(10)中的永久在线引擎AOE(101)和位于网络侧的永久在线服务网关AOG(20)之间建立一个长链接,其中,至少两个应用客户端通过该长链接分别与一个或者多个应用服务器(04,05)通信;位于网络侧的用户管理服务器(30)向该AOE(101)提供路由信息,其中,该AOE(101)根据该路由信息请求建立该长链接;用户管理服务器(30)进一步用于在建立该长链接的过程中,向该AOG(20)提供鉴权信息。 An embodiment of the present invention provides a method for supporting application clients to be permanently online, and establishes an a long link, wherein at least two application clients communicate with one or more application servers (04, 05) respectively through the long link; the user management server (30) located on the network side provides routing information to the AOE (101), Wherein, the AOE (101) requests to establish the long link according to the routing information; the user management server (30) is further used to provide authentication information to the AOG (20) during the process of establishing the long link.

较优的,该用户管理服务器(30)获取并存储终端身份信息和用户身份信息的对应关系,且存储该用户身份信息所归属的AOG(20)的地址;当该AOE(101)发送携带终端身份信息路由信息请求时,该用户管理服务器(30)根据该终端身份信息和该用户身份信息的对应关系,以及,该用户身份信息所归属的AOG(20)的地址,向该AOE(101)提供该用户身份信息归属的AOG的地址;当该AOG(20)发送鉴权信息请求时,该用户管理服务器(30)根据该鉴权信息请求中的终端身份信息,以及,该终端身份信息和该用户身份信息的对应关系,向该AOG(20)提供该用户身份信息。 Preferably, the user management server (30) acquires and stores the corresponding relationship between the terminal identity information and the user identity information, and stores the address of the AOG (20) to which the user identity information belongs; when the AOE (101) sends the mobile terminal When requesting identity information routing information, the user management server (30) sends the AOE (101) a Provide the address of the AOG to which the user identity information belongs; when the AOG (20) sends an authentication information request, the user management server (30) according to the terminal identity information in the authentication information request, and the terminal identity information and The corresponding relationship of the user identity information provides the user identity information to the AOG (20).

较优的,该终端身份信息为IMSI信息,该用户身份信息为手机号码。 Preferably, the terminal identity information is IMSI information, and the user identity information is a mobile phone number.

较优的,该位于网络侧的用户管理服务器(30)向该AOE(101)提供路由信息,以及,向该AOG(20)提供鉴权信息的过程具体包括: Preferably, the user management server (30) on the network side provides routing information to the AOE (101), and the process of providing authentication information to the AOG (20) specifically includes:

该AOE(101)在该永久在线引擎AOE(101)启动时或者检测到SIM卡中的ISMI信息与上次注册的信息不同时,自动发送上报消息到用户管理服务器(30),该上报消息携带该IMSI信息和该手机号码;该用户管理服务器(30)根据收到的该上报消息获取该IMSI信息和该手机号码,存储该手机号码和该IMSI信息的对应关系;该AOE(101)向该用户管理服务器(30)发送路由信息请求,该路由信息请求中携带该IMSI信息;该用户管理服务器(30)根据接收到的路由信息请求中的IMSI信息查找到对应的手机号码,再根据预先存储的手机号码归属的AOG地址,返回该手机号码归属的AOG(20)的地址给该AOE(101);该永久在线引擎AOE(101)向该手机号码归属的AOG(20)发起注册请求,该注册请求携带IMSI信息;该AOG(20)接收到该AOE(101)的注册请求后,判断其中包含的IMSI信息在该AOG(20)中是否已经注册,如果没有注册则向用户管理服务器(30)发送鉴权信息请求,该鉴权信息请求携带该注册请求中的IMSI信息;用户管理服务器(30)接收到该鉴权信息请求后根据存储的该手机号码和该IMSI信息的对应关系,返回该IMSI信息对应的该手机号码;当该AOG(20)判断该手机号码属于该AOG(20)的服务范围,该AOG(20)存储该手机号码,并向AOE(101)返回注册响应。 The AOE (101) automatically sends a report message to the user management server (30) when the permanent online engine AOE (101) starts or detects that the ISMI information in the SIM card is different from the information registered last time, and the report message carries The IMSI information and the mobile phone number; the user management server (30) obtains the IMSI information and the mobile phone number according to the received report message, and stores the corresponding relationship between the mobile phone number and the IMSI information; the AOE (101) sends the The user management server (30) sends a routing information request, which carries the IMSI information in the routing information request; the user management server (30) finds the corresponding mobile phone number according to the IMSI information in the routing information request received, and then according to the pre-stored The AOG address to which the mobile phone number belongs, returns the address of the AOG (20) to which the mobile phone number belongs to the AOE (101); the permanent online engine AOE (101) initiates a registration request to the AOG (20) to which the mobile phone number belongs, and the The registration request carries IMSI information; after the AOG (20) receives the registration request of the AOE (101), it judges whether the IMSI information contained therein has been registered in the AOG (20), and if not registered, it will send the IMSI information to the user management server (30 ) sends an authentication information request, and the authentication information request carries the IMSI information in the registration request; after receiving the authentication information request, the user management server (30) returns the corresponding relationship between the mobile phone number and the IMSI information according to the storage. The mobile phone number corresponding to the IMSI information; when the AOG (20) judges that the mobile phone number belongs to the service scope of the AOG (20), the AOG (20) stores the mobile phone number, and returns a registration response to the AOE (101).

较优的,该上报消息为短信息,该上报消息携带IMSI信息和手机号码具体包括:该短信息的内容中包括该IMSI信息,该短消息的发送方为该手机号码。 Preferably, the reporting message is a short message, and the reporting message carries IMSI information and a mobile phone number specifically including: the content of the short message includes the IMSI information, and the sender of the short message is the mobile phone number.

较优的,该终端身份信息为终端设备标识,该用户身份信息为用户名称或者用户标识。 Preferably, the terminal identity information is a terminal device identifier, and the user identity information is a user name or a user identifier.

本发明的另一个实施方式,提供了一种支持应用客户端永久在线的系统,该系统包括:永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信连接;永久在线服务网关AOG(20),位于网络侧,与位于网络侧的一个或者多个应用服务器(04,05)通信连接;该永久在线引擎AOE(101)和该永久在线服务网关AOG(20),用于建立一个长链接,其中,该至少两个应用客户端通过该长链接分别与该一个或者多个应用服务器(04,05)通信;用户管理服务器(30),位于网络侧,与该永久在线引擎AOE(101)和该永久在线服务网关AOG(20)通信连接,用于向该AOE(101)提供路由信息,以便于该AOE(101)根据该路由信息请求建立该长链接,在该AOE(101)和该AOG(20)建立长链接的过程中,进一步向该AOG(20)提供鉴权信息。 Another embodiment of the present invention provides a system for supporting application clients to be permanently online, and the system includes: an always-on engine AOE (101), located in a terminal (10), and communicating with at least two application clients; The always-on service gateway AOG (20), located on the network side, communicates with one or more application servers (04, 05) located on the network side; the always-on engine AOE (101) and the always-on service gateway AOG (20) , for establishing a long link, wherein the at least two application clients respectively communicate with the one or more application servers (04, 05) through the long link; the user management server (30), located on the network side, communicates with the The always-on engine AOE (101) communicates with the always-on service gateway AOG (20), and is used to provide routing information to the AOE (101), so that the AOE (101) requests to establish the long link according to the routing information. During the process of establishing a long link between the AOE (101) and the AOG (20), further provide authentication information to the AOG (20).

较优的,该用户管理服务器(30),具体用于:该获取并存储终端身份信息和用户身份信息的对应关系,且存储该用户身份信息所归属的AOG(20)的地址;当该AOE(101)发送携带终端身份信息路由信息请求时,根据该终端身份信息和该用户身份信息的对应关系,以及,该用户身份信息所归属的AOG(20)的地址,向该AOE(101)提供该用户身份信息归属的AOG的地址;当该AOG(20)发送鉴权信息请求时,根据该鉴权信息请求中的终端身份信息和该终端身份信息和该用户身份信息的对应关系,向该AOG(20)提供该用户身份信息。 Preferably, the user management server (30) is specifically used to: acquire and store the corresponding relationship between terminal identity information and user identity information, and store the address of the AOG (20) to which the user identity information belongs; when the AOE (101) When sending a routing information request carrying terminal identity information, according to the corresponding relationship between the terminal identity information and the user identity information, and the address of the AOG (20) to which the user identity information belongs, provide the AOE (101) with The address of the AOG to which the user identity information belongs; when the AOG (20) sends an authentication information request, according to the corresponding relationship between the terminal identity information in the authentication information request and the terminal identity information and the user identity information, to the AOG AOG (20) provides the user identity information.

较优的,该终端身份信息为IMSI信息,该用户身份信息为手机号码;该AOE(101)具体用于:在该永久在线引擎AOE(101)启动时或者检测到SIM卡中的ISMI信息与上次注册的信息不同时,自动发送上报消息到用户管理服务器(30),该上报消息携带该IMSI信息和该手机号码;向该用户管理服务器(30)发送路由信息请求,该路由信息请求中携带该IMSI信息;向接收到的该手机号码归属的AOG(20)发起注册请求,该注册请求携带IMSI信息。该用户管理服务器(30)具体用于:根据收到的该上报消息获取该IMSI信息和该手机号码,存储该手机号码和该IMSI信息的对应关系;根据接收到的路由信息请求中的IMSI信息查找到对应的手机号码,再根据预先存储的手机号码归属的AOG地址,返回该手机号码归属的AOG(20)的地址给该AOE(101);接收到该鉴权信息请求后根据存储的该手机号码和该IMSI信息的对应关系,返回该IMSI信息对应的该手机号码。该AOG(20)具体用于:接收到该AOE(101)的注册请求后,判断其中包含的IMSI信息在该AOG(20)中是否已经注册,如果没有注册则向用户管理服务器(30)发送鉴权信息请求,该鉴权信息请求携带该注册请求中的IMSI信息,接收返回的该IMSI信息对应的该手机号码;当判断该手机号码属于该AOG(20)的服务范围,该AOG(20)存储该手机号码,并向AOE(101)返回注册响应。 Preferably, the terminal identity information is IMSI information, and the user identity information is a mobile phone number; the AOE (101) is specifically used for: when the permanent online engine AOE (101) starts or detects that the ISMI information in the SIM card and When the last registered information is different, automatically send a report message to the user management server (30), the report message carries the IMSI information and the mobile phone number; send a routing information request to the user management server (30), in the routing information request carry the IMSI information; initiate a registration request to the received AOG (20) to which the mobile phone number belongs, and the registration request carries the IMSI information. The user management server (30) is specifically used to: obtain the IMSI information and the mobile phone number according to the received report message, store the corresponding relationship between the mobile phone number and the IMSI information; Find the corresponding mobile phone number, and then return the address of the AOG (20) to which the mobile phone number belongs to the AOE (101) according to the AOG address of the pre-stored mobile phone number; after receiving the authentication information request, according to the stored AOG address The corresponding relationship between the mobile phone number and the IMSI information returns the mobile phone number corresponding to the IMSI information. The AOG (20) is specifically used to: after receiving the registration request of the AOE (101), determine whether the IMSI information contained therein has been registered in the AOG (20), and if not, send the IMSI information to the user management server (30) Authentication information request, the authentication information request carries the IMSI information in the registration request, and receives the mobile phone number corresponding to the returned IMSI information; when it is judged that the mobile phone number belongs to the service scope of the AOG (20), the AOG (20 ) stores the mobile phone number, and returns a registration response to AOE (101).

在其他的实施方式中,相应的提供了可以执行前述方法各相关步骤的永久在线引擎AOE(101),永久在线服务网关AOG(20),以及用户管理服务器(30)。 In other embodiments, an always-on engine AOE (101), an always-on service gateway AOG (20), and a user management server (30) capable of performing each relevant step of the foregoing method are provided accordingly.

在另一个本发明实施方式的支持应用客户端永久在线的系统中,永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信连接,用于和永久在线服务网关AOG(20)之间建立一个长链接;永久在线服务网关AOG(20),位于网络侧,用于与永久在线引擎AOE(101)之间建立该长链接,以及发起心跳消息,以便于维护该长链接;其中,该至少两个应用客户端通过该长链接与该一个或者多个应用服务器(04,05)通信。 In another embodiment of the present invention, in a system supporting permanent online application clients, the always online engine AOE (101), located in the terminal (10), communicates with at least two application clients, and is used to communicate with the always online service gateway A long link is established between AOG (20); the permanent online service gateway AOG (20), located on the network side, is used to establish the long link with the permanent online engine AOE (101), and initiates a heartbeat message, so as to maintain the A long link; wherein, the at least two application clients communicate with the one or more application servers (04, 05) through the long link.

较优的,AOE(101)和AOG(20)可以各自分别根据自己的判断主动地断开该长链接。 Preferably, the AOE (101) and the AOG (20) can respectively disconnect the long link actively according to their own judgment.

较优的,该永久在线引擎AOE(101)进一步用于当判断出收到心跳请求后超过一定的时间阈值的时候还未收到其他心跳请求,则主动向AOG(20)发送断开请求;或者,当检测到其管理的所有应用客户端在一定的时间阈值内未运行时,则主动向AOG(20)发起断开请求;或者,当检测到终端01上的电池电量低于一定的阈值时,则主动向AOG(20)发送断开请求,该断开请求用于断开该长链接。 Preferably, the permanent online engine AOE (101) is further used to actively send a disconnection request to the AOG (20) when it is determined that no other heartbeat requests have been received when a certain time threshold is exceeded after receiving the heartbeat request; Or, when it detects that all the application clients it manages are not running within a certain time threshold, it actively initiates a disconnection request to the AOG (20); or, when it detects that the battery power on the terminal 01 is lower than a certain threshold , then actively send a disconnection request to the AOG (20), the disconnection request is used to disconnect the long link.

较优的,AOG(20)进一步用于当判断出超过一定时间阈值没有收到从该AOE101发送的数据流,则主动发起断开请求;当判断出超过一定的次数阈值发送心跳请求后,但没有得到AOE101的响应时,主动发起断开请求,该断开请求用于断开该长链接。 Preferably, AOG (20) is further used to actively initiate a disconnection request when it is determined that the data stream sent from the AOE101 has not been received beyond a certain time threshold; when it is determined that the heartbeat request is sent beyond a certain threshold, but When there is no response from the AOE 101, a disconnection request is actively initiated, and the disconnection request is used to disconnect the long link.

较优的,AOG(20)进一步用于将已经断开该长链接的AOE101在该AOG(20)上记录的是否在线状态修改为离线,并且构造下线通知消息发给应用服务器发送给该应用服务器。 Preferably, the AOG (20) is further used to modify the online status recorded on the AOG (20) by the AOE101 that has disconnected the long link to offline, and construct an offline notification message and send it to the application server to send to the application server.

较优的,AOG(20)进一步用于在特殊情况下向AOE(101)发送唤醒短信,用于唤醒尚未建立或者已经断开的长链接。 Preferably, the AOG (20) is further used to send a wake-up short message to the AOE (101) under special circumstances, so as to wake up a long link that has not been established or has been disconnected.

较优的,AOE(101)进一步用于监听并拦截到该唤醒短信后,解析该唤醒短信,并触发建立长链接。 Preferably, the AOE (101) is further used to monitor and intercept the wake-up message, analyze the wake-up message, and trigger the establishment of a long link.

在另一个本发明实施方式的支持应用客户端永久在线的系统中,永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信连接,用于和永久在线服务网关AOG(20)之间建立一个长链接;其中,该至少两个应用客户端通过该长链接与一个或者多个应用服务器04通信;AOE(101)进一步用于在该长链接正常(已经成功地建立)时,终端(10)中的应用客户端已经退出,但是接收到了AOG(20)转发的发送给该应用客户端的数据时,拉起该已经退出的应用客户端。 In another embodiment of the present invention, in a system supporting permanent online application clients, the always online engine AOE (101), located in the terminal (10), communicates with at least two application clients, and is used to communicate with the always online service gateway A long link is established between AOG (20); wherein, the at least two application clients communicate with one or more application servers 04 through the long link; AOE (101) is further used When establishing), the application client in the terminal (10) has exited, but when the data sent to the application client forwarded by the AOG (20) is received, the exited application client is pulled up.

在另一个本发明实施方式的支持应用客户端永久在线的系统中,永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信连接,用于和永久在线服务网关AOG(20)之间建立一个长链接;其中,该至少两个应用客户端通过该长链接与一个或者多个应用服务器04通信;AOE(101)进一步用于当应用客户端有大量数据需要与该应用服务器中的一个交互时,提供单独的连接与该应用服务器交互,原来的长链接可以主要用来传输控制流相关的数据。 In another embodiment of the present invention, in a system supporting permanent online application clients, the always online engine AOE (101), located in the terminal (10), communicates with at least two application clients, and is used to communicate with the always online service gateway A long link is established between the AOG (20); wherein, the at least two application clients communicate with one or more application servers 04 through the long link; the AOE (101) is further used when the application client has a large amount of data to communicate with When one of the application servers interacts, a separate connection is provided to interact with the application server, and the original long link can be mainly used to transmit data related to the control flow.

较优的,当传递的数据达到阈值时,需要建立专门的IP代理通道,由该通道专门传输该传递的数据,一般的,这些数据是提供应用的过程中产生的数据流。 Preferably, when the transmitted data reaches the threshold, a dedicated IP proxy channel needs to be established, and the channel is used to specifically transmit the transmitted data. Generally, these data are data streams generated during the process of providing applications.

较优的,在数据传递结束时可以主动关闭该IP代理通道。 Preferably, the IP proxy channel can be actively closed when the data transmission ends.

较优的,对于应用客户端或者应用服务器不主动关闭IP代理通道的,AOE(101)可以设定超时机制,在无数据交互达到阈值(例如60s)后,AOE(101)主动断开连接。 Preferably, if the application client or application server does not actively close the IP proxy channel, the AOE (101) can set a timeout mechanism, and after no data interaction reaches a threshold (for example, 60s), the AOE (101) will actively disconnect.

本发明的另外一些实施方式中,提供了上述系统执行的相应的方法,以及相应的AOE(101),终端(10),以及AOG(20)。 In some other embodiments of the present invention, a corresponding method executed by the above system, and a corresponding AOE (101), terminal (10), and AOG (20) are provided.

通过上述不同的实施方式,从不同的侧面提供了一个节约通信资源的支持应用客户端永久在线的系统,方法和装置。 Through the above-mentioned different implementation modes, a system, method and device that saves communication resources and supports permanent online application clients are provided from different aspects.

附图说明 Description of drawings

图1为一个本发明实施方式应用环境的示意图; FIG. 1 is a schematic diagram of an application environment of an embodiment of the present invention;

图2a为一个包含用户管理服务器的实施方式的系统架构图; Fig. 2a is a system architecture diagram of an embodiment including a user management server;

图2b为一个包含用户管理服务器的系统中建立长链接的实施方式的方法流程图; Fig. 2b is a method flow chart of the embodiment of establishing a long link in a system including a user management server;

图3a为一个以运营商通信系统为例的建立长链接的实施方式的方法流程图; FIG. 3a is a flow chart of a method for an implementation of establishing a long link, taking an operator's communication system as an example;

图3b为一个更新应用客户端的流程示意图实施方式的方法流程图; Fig. 3b is a method flow diagram of an embodiment of a schematic flow diagram of updating an application client;

图4a为一个关于长链接心跳维护的实施方式的系统架构图; Figure 4a is a system architecture diagram of an implementation of long link heartbeat maintenance;

图4b为一个关于长链接心跳维护方法的实施方式的方法流程图; Fig. 4b is a method flow chart of an embodiment of a long link heartbeat maintenance method;

图5a为一个从AOE(101)角度描述的关于长链接心跳维护的实施方式的方法流程图; FIG. 5a is a flow chart of a method described from the perspective of AOE (101) about the implementation of long link heartbeat maintenance;

图5b为一个从AOG(20)角度描述的关于长链接心跳维护的实施方式的方法流程图; FIG. 5b is a flow chart of a method described from the perspective of AOG (20) about the implementation of long link heartbeat maintenance;

图6为一个从包含了扩展的功能的实施方式的系统架构图; FIG. 6 is a system architecture diagram of an embodiment including extended functions;

图7为一个关于唤醒长链接的实施方式的方法流程图; FIG. 7 is a flow chart of a method for waking up a long link implementation;

图8为一个关于唤醒应用客户端的实施方式的方法流程图; FIG. 8 is a flow chart of a method for waking up an implementation of an application client;

图9为一个终端的实施方式的结构示意图; FIG. 9 is a schematic structural diagram of an embodiment of a terminal;

图10为一个AOG(20)的实施方式的结构示意图; FIG. 10 is a schematic structural diagram of an embodiment of an AOG (20);

图11为系统中用户管理服务器(30)的一个实施方式的结构示意图。 Fig. 11 is a schematic structural diagram of an embodiment of the user management server (30) in the system.

具体实施方式 detailed description

为了各发明实施方式清楚明白,各可能用到的术语解释如下: In order to clarify the embodiments of the invention, each possible term is explained as follows:

AOG:AOG(AlwaysOnlineGateway),永远在线网关,通过与永久在线引擎的配合,可以给SP提供通用的PUSH通道,允许SP服务侧随时随地找到终端。 AOG: AOG (AlwaysOnlineGateway), an always-on gateway, through cooperation with the always-online engine, can provide a general PUSH channel for the SP, allowing the SP service side to find terminals anytime and anywhere.

AOE(101):AOE(101)(AlwaysOnlineEngine),永久在线引擎,是部署在终端侧的中间件,汇聚和代理客户端应用客户端的永远在线需求。 AOE (101): AOE (101) (AlwaysOnlineEngine), an always-online engine, is a middleware deployed on the terminal side, which aggregates and acts as an agent for the always-online requirements of the client application client.

AOI:AOI(AlwaysOnlineInfrastructure),永远在线设施,包括AOE(101)、AOG、或者进一步包括用户管理服务器等各网元的集合。 AOI: AOI (AlwaysOnlineInfrastructure), an always-on facility, including AOE (101), AOG, or a collection of various network elements such as a user management server.

如图1所示为本发明的一个本发明实施方式应用环境系统的示意图,该系统包含多个通信设备,通过有线或者无线通信网络相互通信。这些通信网络包括但是不限于移动通信网络(mobiletelephonenetwork),无线本地局域网络(wirelessLocalAreaNetwork(LAN)),蓝牙网络(Bluetoothpersonalareanetwork),以太网络(EthernetLAN),令牌环局部网(atokenringLAN),广域网(awideareanetwork),互联网(theInternet,)等等。 FIG. 1 is a schematic diagram of an application environment system of an embodiment of the present invention. The system includes multiple communication devices that communicate with each other through a wired or wireless communication network. These communication networks include but are not limited to mobile communication network (mobiletelephonenetwork), wireless local area network (wirelessLocalAreaNetwork (LAN)), Bluetooth network (Bluetoothpersonalareanetwork), Ethernet (EthernetLAN), token ring local network (atokenringLAN), wide area network (awideareanetwork) , Internet (theInternet,) and so on.

图1所示的系统中,终端(10)可以包括但是不限于,移动设备(mobiledevice),可移动通信的PDA装置(acombinationPDAandmobiletelephone),PDA,集成信息装置(integratedmessagingdevice(IMD)),个人计算机(personalcomputerand笔记本型计算机(notebookcomputer)。这些终端可以移动,也可以位于某个可移动的设备上,例如但不限于汽车,卡车,出租车,公共汽车,轮船,飞机,自行车,摩托车,等等上面。上述终端(10)可以通过该无线网络和/或该有线网络接入到一个或者多个应用服务器04上,以便于获取该一个或者多个应用服务器04提供的应用。一个或者多个应用服务器包括但不限于,上述网络可以包含其他的各种不同种类的通信设备。 In the system shown in Fig. 1, terminal (10) can include but not limited to, mobile device (mobiledevice), the PDA device (acombinationPDAandmobiletelephone) of mobile communication, PDA, integrated information device (integratedmessagingdevice (IMD)), personal computer (personalcomputerand Notebook computer. These terminals can be mobile or located on a mobile device, such as but not limited to cars, trucks, taxis, buses, ships, airplanes, bicycles, motorcycles, etc. The above-mentioned terminal (10) can access one or more application servers 04 through the wireless network and/or the wired network, so as to obtain the applications provided by the one or more application servers 04. One or more application servers include But not limited thereto, the above network may include other communication devices of various types.

上述通信设备可以基于各种不同的传输技术实现通信的过程,包括但不限于码分多址CodeDivisionMultipleAccess(CDMA),全球移动通讯系统GlobalSystemforMobileCommunications(GSM),通用移动通信系统UniversalMobileTelecommunicationsSystem(UMTS),时分多址TimeDivisionMultipleAccess(TDMA),频分多址FrequencyDivisionMultipleAccess(FDMA),传输控制协议/因特网互联协议TransmissionControlProtocol/InternetProtocol(TCP/IP),短消息服务ShortMessaGIngService(SMS),多媒体信息服务MultimediaMessagingService(MMS),e-mail,即时消息服务InstantMessagingService(IMS),蓝牙Bluetooth,IEEE802.11,等等.上述的通信设备之间可以使用不同的媒体资源,包括但是不限于,无线电(radio),红外线(infrared),激光(laser),电缆(cableconnection),等等。 The above communication devices can realize the communication process based on various transmission technologies, including but not limited to Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Time Division Multiple Access TimeDivisionMultipleAccess (TDMA), Frequency Division Multiple Access (FDMA), Transmission Control Protocol/Internet Protocol TransmissionControlProtocol/InternetProtocol (TCP/IP), Short Message Service ShortMessaGIngService (SMS), Multimedia Information Service MultimediaMessagingService (MMS), e-mail, Instant Messaging Service (IMS), Bluetooth, IEEE802.11, etc. Different media resources can be used between the above communication devices, including but not limited to, radio (radio), infrared (infrared), laser (laser) , cable (cableconnection), and so on.

如图2a所示为一个支持应用客户端永久在线的系统实施方式的架构示意图,系统中包括: As shown in Figure 2a, it is a schematic diagram of the architecture of a system implementation that supports application clients to be permanently online. The system includes:

永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信链接; The always-on engine AOE (101), located in the terminal (10), communicates with at least two application clients;

永久在线服务网关AOG(20),位于网络侧,与位于网络侧的一个或者多个应用服务器(04,05)通信链接; The permanent online service gateway AOG (20), located on the network side, communicates with one or more application servers (04, 05) located on the network side;

所述永久在线引擎AOE(101)和所述永久在线服务网关AOG(20),用于建立一个长链接,其中,所述至少两个应用客户端通过所述长链接分别与所述一个或者多个应用服务器(04,05)通信; The always-on engine AOE (101) and the always-on service gateway AOG (20) are configured to establish a long link, wherein the at least two application clients communicate with the one or more Application server (04,05) communication;

用户管理服务器(30),位于网络侧,与所述永久在线引擎AOE(101)和所述永久在线服务网关AOG(20)通信链接,向所述AOE(101)提供路由信息,其中,所述AOE(101)根据所述路由信息请求建立所述长链接;用户管理服务器(30)进一步用于在建立所述长链接的过程中,向所述AOG(20)提供鉴权信息。 The user management server (30), located on the network side, communicates with the always-on engine AOE (101) and the always-on service gateway AOG (20), and provides routing information to the AOE (101), wherein the The AOE (101) requests to establish the long link according to the routing information; the user management server (30) is further configured to provide authentication information to the AOG (20) during the process of establishing the long link.

上述提到的一个或者多个应用服务器可以包括但不限于提供下述应用的之一或者任一组合的服务器:PUSHMail,天气预报,VOIP,广告,定位服务,企业办公,生活服务,等等。 The one or more application servers mentioned above may include but not limited to servers providing one or any combination of the following applications: PUSHMail, weather forecast, VOIP, advertisement, location service, enterprise office, life service, and so on.

上述提到的长链接,可以是符合传输控制协议(TCP,TransmissionControlProtocol)的长链接,也可以是符合用户数据报协议(UDP,UserDatagramProtocol)的长链接; The long link mentioned above can be a long link conforming to the Transmission Control Protocol (TCP, TransmissionControlProtocol), or a long link conforming to the User Datagram Protocol (UDP, UserDatagramProtocol);

上述用户管理服务器(30)可以作为永久在线业务用户数据的管理节点,向所述AOE(101)提供路由信息,以便于所述AOE(101)根据所述路由信息请求建立所述长链接;以及,在所述AOE(101)和所述AOG(20)建立长链接的过程中,向所述AOG(20)提供鉴权信息。上述方案可以使得该永久在线引擎AOE(101)和该永久在线服务网关AOG(20)能够简便的,并且安全的建立该长链接。需要说明的是,该用户管理服务器(30)内部可以是集群式,或分布式;可以是和网络侧任何可能的设备合设,或者独立设置的,但对于AOG而言是能够与其他设备相区分的,上述的系统中AOG可能有多个。 The above-mentioned user management server (30) may serve as a management node of permanent online service user data, and provide routing information to the AOE (101), so that the AOE (101) requests to establish the long link according to the routing information; and , providing authentication information to the AOG (20) during the process of establishing a long link between the AOE (101) and the AOG (20). The above solution can enable the always-on engine AOE (101) and the always-on service gateway AOG (20) to easily and safely establish the long link. It should be noted that the user management server (30) can be clustered or distributed internally; it can be co-located with any possible device on the network side, or set independently, but it can be connected with other devices for AOG To distinguish, there may be multiple AOGs in the above system.

在一个较优的实施方式中,上述鉴权信息为用户身份信息,例如手机号码,用户标识或者用户名称,方便各种应用服务器针对其用户进行鉴权,具体实施方式中可以由AOG(20)代理该鉴权的过程。然而一般的,终端(01)在通信的过程中携带的是终端身份信息,例如IMSI信息,或者设备标识,这些信息如果作为鉴权信息,需要提前与一个或者多个应用服务器等设备进行复杂的认证交互。另外需要说明的是,上述路由信息为用户身份信息所归属的AOG(20)的地址,在具体实施方式中,对于整个网络,可能有多个AOG(20),需要明确为某个用户身份信息提供代理服务的AOG。 In a preferred embodiment, the above-mentioned authentication information is user identity information, such as mobile phone number, user ID or user name, which is convenient for various application servers to perform authentication on their users. In a specific embodiment, AOG(20) Proxy the authentication process. However, in general, the terminal (01) carries terminal identity information during the communication process, such as IMSI information, or device identification. If this information is used as authentication information, it needs to carry out complicated transactions with one or more application servers and other devices in advance. Authentication interaction. In addition, it should be noted that the above-mentioned routing information is the address of the AOG (20) to which the user identity information belongs. In a specific implementation, for the entire network, there may be multiple AOGs (20), which need to be specified as a certain user identity information AOG that provides proxy services.

参考图2b,为一个较优的实施方式的流程图,前述图2的系统执行如下的方法: Referring to Fig. 2b, it is a flow chart of a preferred embodiment, and the system in Fig. 2 mentioned above executes the following method:

201.用户管理服务器(30)(例如注册管理模块(3011))获取并存储终端身份信息和用户身份信息的对应关系,且存储用户身份信息所归属的AOG(20)的地址; 201. The user management server (30) (such as the registration management module (3011)) obtains and stores the corresponding relationship between the terminal identity information and the user identity information, and stores the address of the AOG (20) to which the user identity information belongs;

202.当AOE(101)(如链接管理模块(1011))发送路由信息请求时,用户管理服务器(30)(例如路由信息模块(3012))根据路由信息请求中的终端身份信息,以及终端身份信息和用户身份信息的对应关系,向AOE(101)提供用户身份信息归属的AOG的地址; 202. When the AOE (101) (such as the link management module (1011)) sends a routing information request, the user management server (30) (such as the routing information module (3012)) according to the terminal identity information in the routing information request, and the terminal identity The corresponding relationship between information and user identity information, and provide AOE (101) with the address of the AOG to which the user identity information belongs;

203.当AOG(20)发送鉴权信息请求时,用户管理服务器(30)(例如鉴权信息模块(3013))根据鉴权信息请求中的终端身份信息,以及终端身份信息和用户身份信息的对应关系,向AOG(20)提供用户身份信息。 203. When the AOG (20) sends the authentication information request, the user management server (30) (such as the authentication information module (3013)) according to the terminal identity information in the authentication information request, and the terminal identity information and the user identity information Corresponding relationship, provide user identity information to AOG (20).

具体的,上述获取并存储终端身份信息和用户身份信息的对应关系的过程,可以是在前述长链接未建立之前,利用其他可能的通信通道实现的,例如电路域通信通道,或者短消息通道。具体的,可以包括但不限于由终端(10)上报给用户管理服务器(30),或者由其他网络设备转发给用户管理服务器(30),也可以是用户管理服务器(30)向终端(10)或者其他网络设备请求的方式得到。 Specifically, the above-mentioned process of obtaining and storing the corresponding relationship between terminal identity information and user identity information can be realized by using other possible communication channels, such as circuit domain communication channels or short message channels, before the aforementioned long link is established. Specifically, it may include but is not limited to reporting to the user management server (30) by the terminal (10), or forwarding to the user management server (30) by other network devices, or it may be that the user management server (30) reports to the terminal (10) Or obtained by other network device requests.

参考图3a,较优的,以由运营商提供的通信系统为例,并具体以终端身份信息为IMSI信息,用户身份信息为手机号码为例,上述在建立长链接的过程中,位于网络侧的用户管理服务器(30)向AOE(101)提供路由信息,向AOG(20)提供鉴权信息的过程具体包括: Referring to Figure 3a, preferably, take the communication system provided by the operator as an example, and specifically take the terminal identity information as IMSI information, and the user identity information as the mobile phone number as an example. In the process of establishing a long link, the network side The user management server (30) provides routing information to AOE (101), and the process of providing authentication information to AOG (20) specifically includes:

301,所述AOE(101)(例如,AOE(101)上的链接管理模块(1011))在所述永久在线引擎AOE(101)启动时或者检测到SIM卡中的ISMI信息与上次注册的信息不同时,自动发送上报消息到用户管理服务器(30),所述上报消息携带所述IMSI信息和所述手机号码。 301, when the AOE (101) (for example, the link management module (1011) on the AOE (101)) starts the always-on engine (101) or detects that the ISMI information in the SIM card is different from the last registered When the information is different, a report message is automatically sent to the user management server (30), and the report message carries the IMSI information and the mobile phone number.

上述上报消息是不需要建立好前述的AOE(101)和AOG(20)之间的链路的情况下能够发送的信息,例如电路域的信息,或者非数据链路的信息。更具体的,可以是短信息,或者,由AAA服务器转发的上线Radius通知等等。如果为短消息,则只需要在内容中携带IMSI信息,系统将其发送方默认设置为手机号码,进一步节约了数据通信资源。 The aforementioned reporting message is information that can be sent without establishing the aforementioned link between the AOE (101) and AOG (20), such as circuit domain information or non-data link information. More specifically, it may be a short message, or an online Radius notification forwarded by the AAA server, and the like. If it is a short message, it only needs to carry the IMSI information in the content, and the system defaults the sender to the mobile phone number, which further saves data communication resources.

302,用户管理服务器(30)(如上述注册管理模块(3011))根据收到的所述上报消息获取所述IMSI信息和所述手机号码,存储所述手机号码和所述IMSI信息的对应关系。 302. The user management server (30) (such as the above-mentioned registration management module (3011)) obtains the IMSI information and the mobile phone number according to the received reporting message, and stores the corresponding relationship between the mobile phone number and the IMSI information .

303,可选的,由于上报消息可能有延迟,为了确保用户管理服务器(30)收到该上报消息后再进行后续处理流程,AOE(101)可以进行一定的延时。 303. Optionally, since the reporting message may be delayed, in order to ensure that the user management server (30) performs subsequent processing after receiving the reporting message, the AOE (101) may perform a certain delay.

304,AOE(101)(例如链接管理模块(1011))向所述用户管理服务器(30)发送路由信息请求,该路由信息请求中携带所述IMSI信息。 304. The AOE (101) (for example, the link management module (1011)) sends a routing information request to the user management server (30), where the routing information request carries the IMSI information.

305,用户管理服务器(30)(如路由信息模块(3012))根据接收到的路由信息请求中的IMSI信息查找到对应的手机号码(具体的,即指查找上述注册管理模块(3011)),再根据预先存储的手机号码归属的AOG地址,返回该手机号码归属的AOG(20)的地址给所述AOE(101)。 305, the user management server (30) (such as the routing information module (3012)) finds the corresponding mobile phone number according to the IMSI information in the received routing information request (specifically, refers to searching the above-mentioned registration management module (3011)), Then, according to the AOG address to which the mobile phone number belongs, the address of the AOG (20) to which the mobile phone number belongs is returned to the AOE (101).

306,AOE(101)(例如链接管理模块(1011))获取到归属的AOG信息后,向归属的AOG(20)发起注册请求,该注册请求携带IMSI信息。 306. After the AOE (101) (for example, the link management module (1011)) acquires the information of the AOG to which it belongs, it initiates a registration request to the AOG (20) to which it belongs, and the registration request carries IMSI information.

较优的,该注册请求还可以携带但不限于:AOE(101)中的已经注册的应用客户端的信息,例如该应用的标识,终端的型号、接入网络APN、操作系统版本,以及AOE(101)的版本等等。 Preferably, the registration request may also carry but not limited to: information about the registered application client in the AOE (101), such as the application identifier, terminal model, access network APN, operating system version, and AOE ( 101) version and so on.

307,该AOG(20)收到注册请求后,接收到所述AOE(101)的注册请求后,判断其中包含的IMSI信息在该AOG(20)中是否已经注册。 307. After receiving the registration request, the AOG (20) judges whether the IMSI information included in the registration request of the AOE (101) has been registered in the AOG (20).

308.如果没有注册则该AOG(20)向用户管理服务器(30)发送鉴权信息请求,所述鉴权信息请求携带所述注册请求中的IMSI信息。 308. If not registered, the AOG (20) sends an authentication information request to the user management server (30), and the authentication information request carries the IMSI information in the registration request.

309,用户管理服务器(30)接收到鉴权信息请求后(具体的,例如终端信息模块301)向AOG(20)返回IMSI信息对应的终端信息手机号码。 309. After receiving the authentication information request (specifically, such as the terminal information module 301), the user management server (30) returns the terminal information mobile phone number corresponding to the IMSI information to the AOG (20).

310,AOG(20)(例如其中的链接管理模块(2011))判断是该手机号码否为该AOG(20)的服务范围,如果不是返回注册失败,流程结束。如果属于该AOG(20)的服务范围,该AOG(20)(例如其中的链接管理模块(2011))存储该手机号码。较优的,还可以保存前述注册信息中携带的其他信息,例如终端型号,已经注册的应用客户端,等等信息。 310. The AOG (20) (for example, the link management module (2011)) judges whether the mobile phone number is within the service scope of the AOG (20). If not, return registration failure, and the process ends. If it belongs to the service scope of the AOG (20), the AOG (20) (such as the link management module (2011) therein) stores the mobile phone number. Preferably, other information carried in the aforementioned registration information can also be saved, such as terminal model, registered application clients, and other information.

311,在310中成功注册以后AOG(20)(例如其中的链接管理模块(2011))向AOE(101)(例如链接管理模块(1011))返回注册响应。 311. After successful registration in 310, the AOG (20) (for example, the link management module (2011) therein) returns a registration response to the AOE (101) (for example, the link management module (1011)).

至此,AOE(101)与归属的AOG(20)成功建立前述长链接。该过程利用了系统中可信任的终端信息,以及用户信息建立长链接,不需要系统通过复杂的交互为每个终端(10)生成唯一的设备ID,并利用该唯一的设备ID建立长链接,从而在简化流程的同时提高了长链接的安全性。 So far, the AOE (101) has successfully established the aforementioned long link with the AOG (20) to which it belongs. This process utilizes trusted terminal information and user information in the system to establish a long link, and does not require the system to generate a unique device ID for each terminal (10) through complex interactions, and use the unique device ID to establish a long link. This improves the security of long links while simplifying the process.

前述图3a示出的是终端(10)启动时或者检测到SIM卡中的ISMI信息与上次注册的信息不同时(即终端中的SIM卡被更换,可以理解为一个新的终端(10))的建立联接的过程,具体的,包含终端信息在AOG(20)上的注册和应用信息在AOG(20)上的注册。在其他的情况下,可能出现终端(10)本身到AOG(20)注册后,增加安装或者删除了某些应用,需要采取类似的方法进行应用信息的更新。参考图3b,为更新应用的流程示意图,其中AOG(20)为终端(10)归属地的AOG和应用服务器接入地的AOG所组成的系统。一个具体例子中,其流程包括: The aforementioned Figure 3a shows that when the terminal (10) is started or when it is detected that the ISMI information in the SIM card is different from the information registered last time (that is, the SIM card in the terminal is replaced, it can be understood as a new terminal (10) ), specifically, includes registration of terminal information on the AOG (20) and registration of application information on the AOG (20). In other cases, it may happen that after the terminal (10) registers with the AOG (20), some applications are added or deleted, and a similar method needs to be adopted to update the application information. Referring to FIG. 3 b , it is a schematic flow chart of updating an application, wherein the AOG ( 20 ) is a system composed of the AOG where the terminal ( 10 ) belongs and the AOG where the application server is accessed. In a specific example, the process includes:

301b,终端上安装(或者卸载)支持能与AOE(101)交互实现AOI功能的应用客户端; 301b, install (or uninstall) on the terminal an application client that supports interaction with the AOE (101) to implement the AOI function;

302b,应用客户端安装完成后(或者卸载完成后),调用SDK的应用登记接口进行登记(卸载视为调用SDK的应用注销接口进行注销); 302b. After the application client is installed (or uninstalled), call the application registration interface of the SDK to register (uninstallation is regarded as calling the application registration interface of the SDK to logout);

303b,AOE(101)调用REG接口,向终端归属地AOG发送增加应用请求(卸载时为删除应用请求); 303b, AOE (101) invokes the REG interface, and sends a request to add an application to the AOG where the terminal belongs (a request to delete an application when uninstalling);

304b,终端归属地AOG将终端对应的应用信息更新入库; 304b. The AOG at which the terminal belongs updates the application information corresponding to the terminal into the database;

305b,终端归属地AOG向AOE(101)返回注册响应(卸载时未注销响应); 305b, the AOG where the terminal belongs returns a registration response to the AOE (101) (no deregistration response during uninstallation);

305b,终端归属地AOG根据终端上报的应用的ID,构造INFO上线通知消息,发送到应用归属的AOG网关,该上线通知消息携带手机号码。(当卸载时为下线通知消息)。 305b. The terminal's home AOG constructs an INFO online notification message according to the application ID reported by the terminal, and sends it to the application's home AOG gateway. The online notification message carries the mobile phone number. (When uninstalling, it is an offline notification message).

307b,应用服务器接入地的AOG,将手机号码转换为伪码。 307b, the AOG at the access location of the application server converts the mobile phone number into a pseudo code.

308b,应用服务器接入地的AOG,将上线通知消息(当卸载时为下线通知消息)转发给应用服务器,消息中携带伪码。 308b. The AOG where the application server is connected forwards the online notification message (the offline notification message when uninstalling) to the application server, and the message carries a pseudo code.

309b,应用服务器返回通知响应。 309b, the application server returns a notification response.

310b,应用服务器接入地的AOG将通知响应转发给原通知发起方AOG网关。 310b. The AOG where the application server is connected forwards the notification response to the original notification initiator AOG gateway.

具体的,当终端归属AOG网关与应用归属AOG网关为同一个网关时,则不需要上述流程中的第306b、310b步的消息在网关间的前转过程。 Specifically, when the AOG gateway to which the terminal belongs and the AOG gateway to which the application belongs are the same gateway, the forwarding process of the messages in steps 306b and 310b in the above process between gateways is not required.

若终端归属地AOG网关与应用归属AOG网关不是同一个网关,并且二者之间没有建立有效联接,则在前转消息前,由终端归属地AOG网关主动向应用归属地AOG网关完成REG注册登录过程,然后再进行消息前转。 If the AOG gateway to which the terminal belongs is not the same gateway as the AOG gateway to which the application belongs, and there is no effective connection between them, before forwarding the message, the AOG gateway to which the terminal belongs actively completes REG registration with the AOG gateway to which the application belongs process before message forwarding.

为了简化AOG网关内部对于REG消息的处理流程,在应用安装流程中,AOG02可以不区分何种类型的注册消息(或者注销消息),收到报文后仍可按首次注册流程,确认IMSI摘要在本AOG是否存在,如果不存在到用户管理服务器03上查询手机号码,并根据手机号码是否属于本AOG服务的范围,确认给AOE(101)返回消息的内容。只不过在单纯的应用安装流程中,IMSI必定存在,号码必定属于本AOG,不会走到另外分支。 In order to simplify the processing flow of REG messages inside the AOG gateway, in the application installation process, AOG02 does not need to distinguish the type of registration message (or deregistration message). After receiving the message, it can still follow the first registration process to confirm that the IMSI digest is in the Whether this AOG exists, if do not exist, query mobile phone number on user management server 03, and according to whether mobile phone number belongs to the scope of this AOG service, confirm the content of returning message to AOE (101). It's just that in the simple application installation process, the IMSI must exist, and the number must belong to this AOG, and it will not go to another branch.

如图4a所示为一个支持应用客户端永久在线的系统实施方式的架构示意图,系统中包括: As shown in Figure 4a, it is a schematic diagram of the architecture of a system implementation mode that supports application clients to be permanently online, and the system includes:

至少两个应用客户端,该应用客户端位于终端(10)中,与所述永久在线引擎AOE(101)通信连接;; At least two application clients, the application clients are located in the terminal (10) and communicated with the always-on engine AOE (101);

永久在线引擎AOE(101),位于终端(10)中,与至少两个应用客户端通信连接,用于和永久在线服务网关AOG(20)之间建立一个长链接; The always-on engine AOE (101), located in the terminal (10), communicates with at least two application clients, and is used to establish a long link with the always-on service gateway AOG (20);

永久在线服务网关AOG(20),位于网络侧,用于与永久在线引擎AOE(101)之间建立所述长链接; The permanent online service gateway AOG (20), located on the network side, is used to establish the long link with the permanent online engine AOE (101);

一个或者多个应用服务器(04,05),位于网络侧,与永久在线服务网关AOG(20)通信连接; One or more application servers (04, 05), located on the network side, communicate with the permanent online service gateway AOG (20);

其中,该至少两个应用客户端通过该长链接与该一个或者多个应用服务器04通信,以分别实现该一个或者多个服务器(04,05)提供的应用业务;在该系统中,该长链接的维护由服务侧的AOG(20)负责,也就是说,在终端(10)与AOG(20)之间,由AOG(20)发起心跳消息,以便于维护该长链接。其中应用客户端用于面向用户提供应用业务,应用服务器04用于提供各种应用业务,例如下述应用的之一或者任一组合:PUSHMail,天气预报,VOIP,广告,定位服务,企业办公,生活服务,等等。 Wherein, the at least two application clients communicate with the one or more application servers 04 through the long link, so as to realize the application services provided by the one or more servers (04, 05); in the system, the long The maintenance of the link is in charge of the AOG (20) on the service side, that is, between the terminal (10) and the AOG (20), the AOG (20) initiates a heartbeat message, so as to maintain the long link. The application client is used to provide user-oriented application services, and the application server 04 is used to provide various application services, such as one or any combination of the following applications: PUSHMail, weather forecast, VOIP, advertisement, location service, enterprise office, Living Services, etc.

如图4a所示,采用这种维护长链接的方式,相对于由终端侧发起心跳的方式,一方面终端(含其内的各个应用客户端)不需要向一个或者多个应用服务器发送大量心跳消息,减少终端侧的信令压力,另一方面终端内的AOE(101)也不需要对这些心跳进行过滤/放弃等特别的处理,在减少了终端向外发送的信令消耗的同时,进一步的减少了终端(10)内部的信令消耗;另外,AOG(20)发起心跳时可以根据网络情况调整心跳间隔,自动控制心跳参数,使心跳最符合于网络的情况,从而避免终端侧主动探测网络参数的过程,进一步的减少了通信资源浪费。 As shown in Figure 4a, using this method of maintaining long links, compared with the method of initiating heartbeats from the terminal side, on the one hand, the terminal (including each application client in it) does not need to send a large number of heartbeats to one or more application servers messages to reduce the signaling pressure on the terminal side. On the other hand, the AOE (101) in the terminal does not need to perform special processing such as filtering/abandoning these heartbeats. While reducing the signaling consumption sent by the terminal, further The internal signaling consumption of the terminal (10) is greatly reduced; in addition, when the AOG (20) initiates a heartbeat, the heartbeat interval can be adjusted according to the network situation, and the heartbeat parameters can be automatically controlled to make the heartbeat most suitable for the network situation, thereby avoiding active detection on the terminal side The process of network parameters further reduces the waste of communication resources.

参考图4b,在较优的实施方式中,AOE(101)和AOG(20)可以各自分别根据自己的判断主动地断开该长链接,从而进一步得以节省网络、终端、服务器等的通信资源,当然也节省了各设备尤其是终端(10)的电量消耗。当有需要时,AOG(20)可主动再次唤醒与终端侧的连接。 Referring to Fig. 4b, in a preferred implementation manner, AOE (101) and AOG (20) can each actively disconnect the long link according to their own judgment, thereby further saving communication resources of the network, terminal, server, etc., Of course, the power consumption of each device, especially the terminal (10) is also saved. When necessary, the AOG (20) can actively wake up the connection with the terminal side again.

参考图5a为从AOE(101)的角度,关于长链接的心跳维护的实施方式的示意图。参考图5a,在建立了长链接后,AOE(101)对长链接进行维护的较优的方法的示意图,包括: Referring to FIG. 5 a , it is a schematic diagram of an embodiment of heartbeat maintenance for long links from the perspective of the AOE ( 101 ). Referring to Fig. 5a, after the long link is established, AOE (101) is a schematic diagram of a better method for maintaining the long link, including:

可选的,AOE(101)(例如其中的链接管理模块(1011))收到AOG(20)主动发送的断开请求(例如BYE),则断开该长链接。 Optionally, the AOE (101) (eg, the link management module (1011) therein) disconnects the long link after receiving a disconnection request (eg, BYE) actively sent by the AOG (20).

可选的,AOE(101)(例如心跳时间模块(1012))收到心跳消息后,刷新定时器,如果该定时器超过一定的时间阈值的时候还未收到其他心跳消息,则向AOG(20)发送断开请求(例如BYE),用以关闭该长链接。例如,设置该时间阈值为5分钟,10分钟,或者30分钟等等。 Optionally, after the AOE (101) (for example, the heartbeat time module (1012)) receives the heartbeat message, it refreshes the timer, and if the timer has not received other heartbeat messages when it exceeds a certain time threshold, it sends a message to the AOG ( 20) Send a disconnection request (for example, BYE) to close the long link. For example, set the time threshold as 5 minutes, 10 minutes, or 30 minutes and so on.

可选的,AOE(101)(例如其中的应用管理模块(1012))检测到其管理的所有应用客户端在一定的时间阈值内未运行时,主动发起断开请求(例如BYE请求),则断开该长链接。例如,设置该时间阈值为5分钟,10分钟,或者30分钟等等。 Optionally, when the AOE (101) (such as the application management module (1012)) detects that all the application clients it manages are not running within a certain time threshold, it actively initiates a disconnection request (such as a BYE request), then Disconnect the long link. For example, set the time threshold as 5 minutes, 10 minutes, or 30 minutes and so on.

可选的,AOE(101)(例如其中的电池监控模块(1014))监视终端(10)的电池电量,当电量不足于一定的阈值时(例如电量仅剩10%,或者5%),如果长链接存在,则主动发送断开请求例如BYE),可选的,可以在断开请求中增加标签,表明是因为电量低而断开该长链接。 Optionally, the AOE (101) (such as the battery monitoring module (1014) therein) monitors the battery power of the terminal (10), and when the power is less than a certain threshold (for example, only 10% or 5% of the power is left), if If there is a long link, a disconnection request (such as BYE) is actively sent. Optionally, a tag can be added to the disconnection request, indicating that the long link is disconnected due to low power.

通过前述可能的实施方式,长链接断开以后,AOE(101)进入休眠状态,(可以等待AOG(20)通过短信唤醒),能够节省终端(10)的电量。其中,各种由AOE(101)主动发起的断开长链接的方式,进一步的减少了不必要的信令浪费,例如断开后网络侧的AOG(20)不需要再发送心跳消息,另外也进一步的节省了终端(10)上的电池电量。 Through the foregoing possible implementation manners, after the long link is disconnected, the AOE (101) enters a dormant state (waiting for the AOG (20) to be awakened by a text message), which can save the power of the terminal (10). Among them, various ways initiated by the AOE (101) to disconnect the long link further reduce unnecessary signaling waste. For example, the AOG (20) on the network side does not need to send heartbeat messages after disconnection, Further saving the battery power on the terminal (10).

另外需要说明的是,当AOE(101)与AOG(20)之间的长链接存在时,需要禁止终端(10)的操作系统进入休眠状态,以保证长链接的正常连接,当与AOG之间的长链接断开时,可以恢复操作系统的休眠机制。 In addition, it should be noted that when the long link between AOE (101) and AOG (20) exists, it is necessary to prohibit the operating system of the terminal (10) from entering the sleep state to ensure the normal connection of the long link. When the long-term connection is disconnected, the hibernation mechanism of the operating system can be resumed.

参考图5b,从AOG(20)的角度说明如何维护该长链接。需要说明的是,图5b描述的AOG(20)在实际的应用过程中,可能是单一的一个服务器,可能根据需要分为终端(10)(具体的其中的AOE(101))归属的AOG(20)和一个或者多个应用服务器归属的AOG(20)。其中,可选的,对于后者(两个AOG的情况),终端(10)归属的AOG(20)和一个或者多个应用服务器归属的AOG(20)之间进行通信连接,终端(10)归属的AOG(20)负责与终端(10)中的AOE(101)交互,一个或者多个应用服务器归属的AOG(20)负责与一个或者多个应用服务器交互。更为具体的,从AOG(20)的内部结构来讲,图5b所示的501到504可以由终端管理模块(1021)执行,该终端管理模块(1021)可以位于终端(10)归属的AOG(20)上;步骤500,505-508可以由应用管理模块(1022)执行,该应用管理模块(1022)可以位于应用服务器归属的AOG(20)上。 Referring to Fig. 5b, how to maintain the long link is described from the perspective of AOG (20). It should be noted that the AOG (20) described in FIG. 5b may be a single server in an actual application process, and may be divided into AOG ( 20) and the AOG (20) to which one or more application servers belong. Wherein, optionally, for the latter (the case of two AOGs), a communication connection is performed between the AOG (20) to which the terminal (10) belongs and the AOG (20) to which one or more application servers belong, and the terminal (10) The belonging AOG (20) is responsible for interacting with the AOE (101) in the terminal (10), and the AOG (20) belonging to one or more application servers is responsible for interacting with one or more application servers. More specifically, from the perspective of the internal structure of the AOG (20), 501 to 504 shown in Figure 5b can be executed by the terminal management module (1021), and the terminal management module (1021) can be located in the AOG to which the terminal (10) belongs (20); steps 500, 505-508 can be executed by the application management module (1022), and the application management module (1022) can be located on the AOG (20) to which the application server belongs.

具体的,图5b所示的实施方式中,包括如下步骤: Specifically, in the embodiment shown in Figure 5b, the following steps are included:

500-501,AOE(101)与AOG(20)成功的建立长链接。其中包括AOE(101)与终端归属地AOG完成REG注册流程(501),包含终端的信息,以及终端上应用客户端的信息。相应的,一个或者多个应用服务器也需要已经成功的注册到AOG(20)(步骤500),这样,AOE(101)(即终端(10))上下线通知后续能够通知到一个或者多个应用服务器。 500-501, AOE (101) and AOG (20) successfully established a long link. It includes the AOE (101) completing the REG registration process (501) with the terminal's home AOG, including terminal information and application client information on the terminal. Correspondingly, one or more application servers also need to be successfully registered with the AOG (20) (step 500), so that the AOE (101) (that is, the terminal (10)) offline notification can subsequently notify one or more applications server.

502,AOE(101)与AOG(20)成功的建立长链接后,AOG(20)主动向终端发起ACK心跳消息,以便于维护该长链接。较优的实施方式中,可以根据网络的状况配置发送心跳消息的时间间隔,即心跳间隔,以及配置超时时间控制等; 502. After the AOE (101) and the AOG (20) successfully establish a long link, the AOG (20) actively sends an ACK heartbeat message to the terminal, so as to maintain the long link. In a preferred embodiment, the time interval for sending heartbeat messages can be configured according to the network conditions, that is, the heartbeat interval, and the timeout control can be configured;

503,AOE(101)回复ACKRSP响应,表示AOE(101)处于的活动状态。 503. The AOE (101) replies with an ACKRSP response, indicating that the AOE (101) is in an active state.

504,AOG(20)根据下面几种情况对长链接进行维护,包括但不限于: 504, AOG (20) maintains long links according to the following situations, including but not limited to:

5041,当AOG(20)接收到AOE(101)主动发送的断开请求时,断开该长链接,不再发送心跳消息;具体的,可以参考图5a所示的流程。 5041. When the AOG (20) receives the disconnection request actively sent by the AOE (101), it disconnects the long link and does not send a heartbeat message; for details, refer to the process shown in FIG. 5a.

5042,当AOG(20)判断超过一定时间阈值没有收到从该终端(10)(AOE(101))发送的数据流,主动发起断开请求(例如BYE),不再发送心跳消息。较优的实施方式中,该时间阈值可配置,例如,默认5分钟,10分钟或者30分钟。 5042. When the AOG (20) judges that the data stream sent from the terminal (10) (AOE (101)) has not been received beyond a certain time threshold, it actively initiates a disconnection request (such as BYE), and no longer sends a heartbeat message. In a preferred implementation manner, the time threshold is configurable, for example, 5 minutes, 10 minutes or 30 minutes by default.

5043,当AOG(20)判断发送心跳消息ACT后,没有得到AOE(101)的响应的情况超过一定的次数阈值时,主动发起断开请求(例如BYE),不再发送心跳消息。较优的实施方式中,该次数阈值可配置,例如,默认为3次,4次或者5次等等。 5043, when the AOG (20) judges that after sending the heartbeat message ACT, the situation of not getting a response from the AOE (101) exceeds a certain number of thresholds, initiate a disconnection request (for example, BYE), and no longer send the heartbeat message. In a preferred implementation manner, the number of times threshold is configurable, for example, the default is 3 times, 4 times or 5 times and so on.

5054,图中未示出,502后,如果既未收到AOE(101)发送的断开请求也未主动向AOE(101)发送断开请求,则根据心跳时间间隔,规律的向AOE(101)发送心跳消息,以便于保持该长链接。 5054, not shown in the figure, after 502, if neither the disconnection request sent by AOE (101) nor the initiative to send a disconnection request to AOE (101) is received, then according to the heartbeat time interval, the AOE (101) is regularly sent ) to send a heartbeat message in order to maintain the long link.

较优的实施方式中,在前述针对长链接的维护的基础上,AOG(20)(例如应用管理模块(2012))还可以进一步的对AOE(101)的在线状态,以及该AOE(101)上的应用客户端进行管理。例如,可选的,505,如果AOG(20)根据步骤5041,5042,或者5043等情况断开该长链接,则确认AOE(101)已经离线,更新本地存储的AOE(101)的是否在线状态为:离线。 In a preferred embodiment, on the basis of the aforementioned maintenance for long links, the AOG (20) (such as the application management module (2012)) can further check the online status of the AOE (101), and the AOE (101) Managed by the application client on the . For example, optionally, 505, if the AOG (20) disconnects the long link according to steps 5041, 5042, or 5043, etc., then confirm that the AOE (101) is offline, and update the online status of the locally stored AOE (101) For: Offline.

可选的,506,AOG(20)查询AOE(101)上注册的永久在线的应用客户端信息,如果和一个或者多个应用服务器之间需要使用伪码进行交互,则AOG(20)(例如应用管理模块(2012))将AOG(20)上存储的该AOE(101)的手机号码转换为伪码,该伪码用于在AOG(20)和应用服务器之间作为用户身份信息进行传递。这里,伪码是一个用户在系统内部针对某一个应用的唯一身份标识。 Optionally, 506, the AOG (20) queries the information of the permanently online application client registered on the AOE (101), and if it needs to use pseudo-code to interact with one or more application servers, then the AOG (20) (for example The application management module (2012)) converts the mobile phone number of the AOE (101) stored on the AOG (20) into a pseudocode, which is used to transmit between the AOG (20) and the application server as user identity information. Here, the pseudo code is a user's unique identity for a certain application within the system.

具体的,为了保护用户隐私,有些应用不能把手机号码透露给应用服务器(SP),这时需要用其它的标识来代替手机号码。一般做法为根据用手机号码和其它随机数这些信息做一个摘要,计算出的摘要可称之为伪码。手机号码与伪码是一一对应的,映射关系可以保留在服务器侧。但算法是单向的,也就是说相关的随机参数不会发送给应用服务器(SP),因而应用服务器(SP)通过伪码不能反推出手机号码。一个或者多个应用服务器(SP)发送下行消息时可以通过伪码来标识用户,在服务器侧例如可由伪码查询出对应的手机号码,则消息可路由到正确的用户。 Specifically, in order to protect user privacy, some applications cannot disclose the mobile phone number to the application server (SP). At this time, other identifiers need to be used instead of the mobile phone number. The general practice is to make a summary based on the information of the mobile phone number and other random numbers, and the calculated summary can be called a pseudocode. There is a one-to-one correspondence between the mobile phone number and the pseudo code, and the mapping relationship can be kept on the server side. But the algorithm is one-way, that is to say that the relevant random parameters will not be sent to the application server (SP), so the application server (SP) cannot deduce the mobile phone number back by the pseudocode. When one or more application servers (SPs) send downlink messages, users can be identified by pseudo codes. On the server side, for example, the corresponding mobile phone numbers can be queried by pseudo codes, and the messages can be routed to the correct users.

更具体的,伪码是应用级别的,可指定某些应用启用伪码功能,某些应用关闭伪码功能。若应用管理模块(2012)在应用的控制属性中指定了需要传递伪码,则需要为与此应用有交互的手机号码生成伪码,以及,维护用户手机号码与伪码的对应关系。一个例子中,生成的伪码的方法为:伪码=HASH(MSISDN、Time、APPID、Random)其中:HASH为哈希算法,例如采用MD5算法;MSISDN为用户手机号;Time:时间戳,例如采用YYYYMMDDHH24MISS格式;APPID为应用标识;Random为随机数。对于指定的手机号码与某个应用,伪码在系统中只生成一次,终生有效。具体的,当需要由手机号码转换成伪码时,系统首先根据手机号码及应用ID做联合查询本地数据库,查不到伪码,则证明是首次使用该应用,则用上述算法生成伪码。当需要由伪码到手机号码的转换时,AOG(20)查询本地数据库,查询失败,则证明应用指定的伪码错误。查询成功时,将应用消息中的APPID与本地伪码数据库的APPID进行匹配,匹配成功,则认为伪码校验成功。 More specifically, the pseudo-code is at the application level, and some applications can be designated to enable the pseudo-code function, and some applications can disable the pseudo-code function. If the application management module (2012) specifies in the control attribute of the application that the pseudo-code needs to be transmitted, it needs to generate a pseudo-code for the mobile phone number that interacts with the application, and maintain the correspondence between the user's mobile phone number and the pseudo-code. In an example, the method of the generated pseudo-code is: pseudo-code=HASH(MSISDN, Time, APPID, Random) wherein: HASH is a hash algorithm, such as using the MD5 algorithm; MSISDN is the user's mobile phone number; Time: a timestamp, such as The format is YYYYMMDDHH24MISS; APPID is the application ID; Random is a random number. For a specified mobile phone number and an application, the pseudo code is only generated once in the system and is valid for a lifetime. Specifically, when it is necessary to convert the mobile phone number into a pseudo code, the system first performs a joint query of the local database based on the mobile phone number and the application ID. If no pseudo code is found, it proves that the application is used for the first time, and the above algorithm is used to generate a pseudo code. When the conversion from pseudocode to mobile phone number is required, AOG (20) queries the local database, and if the query fails, it proves that the pseudocode specified by the application is wrong. When the query is successful, match the APPID in the application message with the APPID in the local pseudocode database. If the match is successful, the pseudocode verification is considered successful.

可选的,507AOG(20)构造下线通知消息发给一个或者多个应用服务器,该下线通知消息中包含伪码。 Optionally, 507 AOG (20) constructs an offline notification message and sends it to one or more application servers, and the offline notification message includes a pseudocode.

相应的,508,一个或者多个应用服务器收到下线通知消息后可以返回通知响应。 Correspondingly, at 508, one or more application servers may return a notification response after receiving the offline notification message.

具体的,如果AOG(20)是一个服务器,则,该AOG(20)自己执行上述步骤506,507;如果AOG(20)是AOE(101)归属的AOG(20)和一个或者多个应用服务器归属的AOG(20)组成的系统,则AOE(101)归属的AOG(20)发送包含手机号码的下线通知消息给一个或者多个应用服务器归属的AOG(20),由一个或者多个应用服务器归属的AOG(20)将该手机号码转换为伪码,将包含伪码的下线通知消息发送给一个或者多个应用服务器。 Specifically, if the AOG (20) is a server, the AOG (20) itself performs the above steps 506, 507; if the AOG (20) is the AOG (20) to which the AOE (101) belongs and one or more application servers A system composed of the belonging AOG (20), then the AOG (20) belonging to the AOE (101) sends an offline notification message containing the mobile phone number to the AOG (20) belonging to one or more application servers, and one or more application servers The AOG (20) to which the server belongs converts the mobile phone number into a pseudocode, and sends an offline notification message containing the pseudocode to one or more application servers.

基于上述各种可能的实施方式,在长链接断开以后,AOE(101)可以等待AOG(20)通过短信唤醒,重新建立起该长链接。具体的可以由如图6所示的系统实现,例如是AOG(20)中的“短信推送模块(2015)”,AOE(101)中的“短信处理模块(1013)”,“应用唤醒模块(1015)”等来实现。 Based on the various possible implementations above, after the long link is disconnected, the AOE (101) can wait for the AOG (20) to be woken up by a text message, and re-establish the long link. Concretely can be realized by the system as shown in Figure 6, for example is " SMS push module (2015) " in AOG (20), " SMS processing module (1013) " in AOE (101), " application wake-up module ( 1015)" and so on to achieve.

具体的,参考图7为长链接断开的情况下可能的唤醒该长链接的实施方式的流程示意图。包括: Specifically, refer to FIG. 7 , which is a schematic flowchart of an implementation manner of waking up the long link when the long link is disconnected. include:

701,AOG(20)中的短信推送模块(2015)在特殊情况下向AOE(101)发送“唤醒短信”,用于唤醒尚未建立或者已经断开的长链接。 701, the SMS push module (2015) in the AOG (20) sends a "wake-up SMS" to the AOE (101) under special circumstances to wake up the long link that has not been established or has been disconnected.

具体的,唤醒短信不是普通的文本短信,是一种特殊格式的二进制短信,在AOG(20)和AOE(101)之间约定,二者可理解,其它网络设备不可见。这种用于唤醒长链接的二进制短信,可能包括需要唤醒的应用ID,下行消息发送方标识,目的用户标识,消息的摘要等内容。 Specifically, the wake-up message is not an ordinary text message, but a binary message in a special format, agreed between the AOG (20) and the AOE (101), the two are understandable and invisible to other network devices. The binary short message used to wake up the long link may include the ID of the application to be woken up, the ID of the sender of the downlink message, the ID of the destination user, and a summary of the message.

702,AOE(101)中的短信处理模块(1013)监听、拦截到“唤醒短信”后,解析该“唤醒短信”触发AOE(101)中的链接管理模块(1011)建立长链接;具体的,监听是监测到有唤醒短信存在,拦截是指唤醒短信不再向下传递,其它应用不会再收到唤醒短信内容。 702. After the short message processing module (1013) in the AOE (101) monitors and intercepts the "wake-up text message", the "wake-up text message" is parsed to trigger the link management module (1011) in the AOE (101) to establish a long link; specifically, Monitoring is to detect the presence of wake-up messages, and interception means that the wake-up messages are no longer passed down, and other applications will no longer receive the wake-up message content.

703-704,AOE(101)中的链接管理模块(1011)根据短信处理模块(1013)的提示向AOG(20)发起注册请求,以及接收AOG(20)返回的注册响应,相应的建立起该长链接,AOG(20)将应用服务器发送的下行消息通过前述重新建立的长链接发送给AOE(101)。 703-704, the link management module (1011) in the AOE (101) initiates a registration request to the AOG (20) according to the prompt of the SMS processing module (1013), and receives the registration response returned by the AOG (20), and correspondingly establishes the For a long link, the AOG (20) sends the downlink message sent by the application server to the AOE (101) through the aforementioned re-established long link.

在另一个较优的实施方式中,参考图8,一个唤醒应用客户端的方法实施方式的流程示意图,在长链接已经建立或者已经被唤醒,但是终端(10)中的应用客户端已经退出,但是接收到了AOG(20)转发的发送给该应用客户端的数据时(801),AOE(101)中应用唤醒模块(1015)还可以拉起该已经退出的应用客户端(802)。 In another preferred embodiment, referring to FIG. 8 , it is a schematic flowchart of a method for waking up an application client. After the long link has been established or has been awakened, but the application client in the terminal (10) has exited, but When the data sent to the application client forwarded by the AOG (20) is received (801), the application wake-up module (1015) in the AOE (101) can also pull up the exited application client (802).

具体的,应用客户端与AOE(101)在终端(10)上是两个独立的进程,应用启动时需要向AOE(101)注册,告知AOE(101)其程序安装位置、运行参数等信息,AOE(101)得以监控终端上应用客户端的运行状态。当应用客户端退出(可能是根据用户的指令主动退出),又有下行消息需要通知到该应用客户端时,AOE(101)根据前面的注册信息,重新运行客户端的程序,从而拉起该应用客户端,然后通过内部的API接口或消息接口将收到的下行消息通知到该应用客户端。 Specifically, the application client and the AOE (101) are two independent processes on the terminal (10). When the application starts, it needs to register with the AOE (101), and inform the AOE (101) of its program installation location, operating parameters and other information. The AOE (101) can monitor the running status of the application client on the terminal. When the application client exits (probably actively exiting according to the user's instruction), and there is a downlink message to be notified to the application client, the AOE (101) re-runs the client program according to the previous registration information, thereby pulling up the application The client then notifies the application client of the received downlink message through an internal API interface or message interface.

在其他的实施方式中,可以提供不同的可以与上述各实施方式进行任一组合的进一步的实施方式,参考图6,可选的,AOE(101)、AOG(20),用户管理服务器(30)包含多种可能的模块,各模块之间除非逻辑上有排斥,将可以进行任意的组合,从而形成更优的实施方式。下文将对各装置,以及装置中的各模块一一进行介绍。 In other implementations, different further implementations that can be combined with the above-mentioned implementations can be provided. Referring to FIG. 6, optionally, AOE (101), AOG (20), user management server (30 ) contains a variety of possible modules, and unless there is logical exclusion between the modules, any combination can be made to form a better implementation. Each device and each module in the device will be introduced one by one below.

图9为系统中终端(10)的一个实施方式的结构示意图。终端(10)一般包括至少一个处理器(102)(例如CPU),至少一个网络接口(105)或者其他通信接口,存储器(106),和至少一个通信总线(103),用于实现这些装置之间的连接通信。处理器(102)用于执行存储器中存储的可执行模块,例如计算机程序;终端(10)可选的包含用户接口(104),包括但不限于显示器,键盘和点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏。存储器(106)可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该终端(10)与至少一个其他计算机之间的通信连接,可以使用互联网,广域网,本地网,城域网等。 Fig. 9 is a schematic structural diagram of an embodiment of a terminal (10) in the system. The terminal (10) generally includes at least one processor (102) (such as CPU), at least one network interface (105) or other communication interfaces, memory (106), and at least one communication bus (103), used to realize the communication between connections. The processor (102) is used to execute the executable module stored in the memory, such as a computer program; the terminal (10) optionally includes a user interface (104), including but not limited to a display, a keyboard, and a pointing device (such as a mouse, track Ball (trackball), touch-sensitive board or touch-sensitive display screen. Memory (106) may comprise high-speed Ram memory, also may also comprise non-volatile memory (non-volatile memory), for example at least one disk memory. Through at least one network interface (can It is wired or wireless) to realize the communication connection between the terminal (10) and at least one other computer, and Internet, wide area network, local network, metropolitan area network, etc. can be used.

存储器(106)可选的可以包含至少一个位于远离前述CPU801的地方的存储装置(例如外接存储装置)。在一些实施方式中,存储器(106)存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集: The memory (106) may optionally include at least one storage device (such as an external storage device) located away from the aforementioned CPU 801 . In some embodiments, the memory (106) stores the following elements, executable modules or data structures, or a subset thereof, or an extension thereof:

操作系统(106),用于,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务; The operating system (106) is used for, including various programs, for realizing various basic services and processing tasks based on hardware;

至少两个应用客户端(108),用于永久在线引擎AOE(101)通信连接,用于分别向用户提供应用业务; At least two application clients (108) are used for the communication connection of the always-on engine AOE (101), and are used to provide application services to users respectively;

永久在线引擎AOE(101),与位于终端(10)中的至少两个应用客户端(108)通信连接,与位于网络侧的永久在线服务网关AOG(20)通信连接,与位于网络侧的一个或者多个一个或者多个应用服务器04通过所述永久在线服务网关AOG(20)通信连接; The always-on engine AOE (101), communicates with at least two application clients (108) located in the terminal (10), communicates with the always-on service gateway AOG (20) located on the network side, and communicates with an Or a plurality of one or more application servers 04 are communicated through the permanent online service gateway AOG (20);

该永久在线引擎AOE(101)中包括但不限于下述模块之一或者其组合: Include but not limited to one of following modules or its combination in this permanent online engine AOE (101):

链接管理模块(1011),应用管理模块(1012),短信处理模块(1013),数据转发模块(1014),应用唤醒模块(1015),IP代理模块(1016),心跳时间模块(1017),或者,电池监控模块(1018),API接口等等。 Link management module (1011), application management module (1012), short message processing module (1013), data forwarding module (1014), application wake-up module (1015), IP proxy module (1016), heartbeat time module (1017), or , battery monitoring module (1018), API interface and so on.

一个具体实施方式中,链接管理模块(1011),可以用于在所述AOE(101)和永久在线服务网关AOG(20)之间建立一个长链接,其中,所述至少两个应用客户端通过所述长链接分别与一个或者多个应用服务器(04,05)通信;从用户管理服务器(30)获取路由信息,并根据所述路由信息请求建立所述长链接。具体的,获取路由信息的过程包括:向用户管理服务器(30)发送包含终端身份信息的路由信息请求,接收用户管理服务器(30)根据存储的终端身份信息和用户身份信息的对应关系,以及用户身份信息归属的AOG的地址返回的所述AOG的地址。一个例子中,终端身份信息为IMSI信息,用户身份信息为手机号码;另一个例子中,终端身份信息为终端设备标识,用户身份信息为用户名称或者用户标识。具体的,上述过程可以参考图2b,3a,3b所示的实施方式。 In a specific embodiment, the link management module (1011) can be used to establish a long link between the AOE (101) and the permanent online service gateway AOG (20), wherein the at least two application clients pass The long link communicates with one or more application servers (04, 05) respectively; obtains routing information from a user management server (30), and requests to establish the long link according to the routing information. Specifically, the process of obtaining routing information includes: sending a routing information request containing terminal identity information to the user management server (30), receiving the user management server (30) according to the stored correspondence between the terminal identity information and user identity information, and the user Address of the AOG to which the identity information belongs returns the address of the AOG. In one example, the terminal identity information is IMSI information, and the user identity information is a mobile phone number; in another example, the terminal identity information is a terminal device identifier, and the user identity information is a user name or user identifier. Specifically, the above process may refer to the implementation manners shown in FIGS. 2b, 3a, and 3b.

可选的,永久在线引擎AOE(101)提供API接口,应用客户端可以通过API接口与其进行通信,这样,每个应用客户端不直接与应用提供商建立长链接,而是通过永久在线引擎AOE(101)建立长链接。 Optionally, the permanent online engine AOE (101) provides an API interface, and the application client can communicate with it through the API interface. In this way, each application client does not directly establish a long link with the application provider, but through the permanent online engine AOE (101) Establish a long link.

可选的,AOE(101)中包括应用管理模块(2013),对在该永久在线引擎AOE(101)上注册的应用客户端的管理的功能,包括但不限于程序的登记、取消登记以及程序运行、退出运行状态的上报 Optionally, the AOE (101) includes an application management module (2013), which manages the application clients registered on the permanent online engine AOE (101), including but not limited to program registration, deregistration, and program running , Exit the report of the running status

可选的,永久在线引擎AOE(101),例如进一步包含数据转发模块(1014),可以用于从不同应用客户端接收数据,然后通过前述的“长链接”发送出去;同时还可以从“长链接”获取数据,并根据数据中的应用ID来判断该消息报文属于哪个应用客户端的消息,然后将消息转发给该应用客户端。具体而言,将应用客户端发送的上行消息的,转发给永久在线服务网关102,以便于再转发给一个或者多个应用服务器;以及接收永久在线服务网关AOG(20)转发的由一个或者多个应用服务器发送的下行消息,转发到应用客户端。 Optionally, the always-online engine AOE (101), for example, further includes a data forwarding module (1014), which can be used to receive data from different application clients, and then send it out through the aforementioned "long link"; "Link" to obtain data, and according to the application ID in the data to determine which application client the message belongs to, and then forward the message to the application client. Specifically, the uplink message sent by the application client is forwarded to the permanent online service gateway 102, so as to be forwarded to one or more application servers; The downlink message sent by an application server is forwarded to the application client.

另一个较优的实施方式中,当应用客户端有大量数据需要与一个或者多个应用服务器交互时,AOE(101),如IP代理模块(1016),可以提供单独的连接与一个或者多个应用服务器交互。较优的,当传递的数据达到阈值时,需要建立IP代理通道,由该IP代理通道专门传输该数据。较优的,在数据传递结束时可以主动关闭IP代理通道。较优的,对于应用客户端或者一个或者多个应用服务器不主动关闭IP代理通道的,AOE(101)可以设定超时机制,在无数据交互达到阈值(例如60s)后,AOE(101)主动断开连接。 In another preferred embodiment, when the application client has a large amount of data and needs to interact with one or more application servers, the AOE (101), such as the IP proxy module (1016), can provide a separate connection with one or more Application server interaction. Preferably, when the transmitted data reaches a threshold, an IP proxy channel needs to be established, and the IP proxy channel is used to exclusively transmit the data. Preferably, the IP proxy channel can be actively closed at the end of the data transmission. Preferably, if the application client or one or more application servers do not actively close the IP proxy channel, AOE (101) can set a timeout mechanism, and after no data interaction reaches a threshold (for example, 60s), AOE (101) will actively Disconnect.

图10为系统中永久在线网关AOG(20)的一个实施方式的结构示意图。需要说明的是如前文所述,可以根据需要设置为两个分离的不在同一个物理位置的设备,即终端(10)归属的AOG(20)和应用服务器归属的AOG(20),由他们相互通信一起完成相关的功能,其结构类似,但是应用模块中可能根据其所在的位置包含不同的模块。 Fig. 10 is a schematic structural diagram of an embodiment of the always-on gateway AOG (20) in the system. It should be noted that as mentioned above, it can be set as two separate devices that are not in the same physical location as required, that is, the AOG (20) to which the terminal (10) belongs and the AOG (20) to which the application server belongs. The communication completes related functions together, and its structure is similar, but the application module may contain different modules according to its location.

AOG(20)位于网络侧,与位于终端(10)中永久在线引擎AOE(101)通信连接,该永久在线引擎AOE(101)与位于终端(10)中的至少两个应用客户端通信连接;与位于网络侧的一个或者多个一个或者多个应用服务器(04,05)通信连接。 The AOG (20) is located on the network side, and communicates with the always-on engine AOE (101) located in the terminal (10), and the always-on engine AOE (101) communicates with at least two application clients located in the terminal (10); Communicatively connected with one or more one or more application servers (04, 05) located on the network side.

该AOG(20)一般包括至少一个处理器(202)(例如CPU),至少一个网络接口或者其他通信接口(205),存储器(206),和至少一个通信总线(203),用于实现这些装置之间的连接通信。处理器(202)用于执行存储器中存储的可执行模块,例如计算机程序。该AOG(20)可选的还包含用户接口(904),包括但不限于显示器,键盘和点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏。存储器(906)可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该AOG(20)与至少一个其他计算机之间的通信连接,可以使用互联网,广域网,本地网,城域网等。 The AOG (20) generally includes at least one processor (202) (such as a CPU), at least one network interface or other communication interface (205), memory (206), and at least one communication bus (203), for implementing these means communication between connections. The processor (202) is used to execute executable modules, such as computer programs, stored in the memory. The AOG (20) optionally also includes a user interface (904), including but not limited to a display, keyboard, and pointing device (e.g., mouse, trackball (trackball), touch pad, or touch-sensitive display. Memory (906) may include High-speed Ram memory may also include non-volatile memory (non-volatilememory), such as at least one disk memory. Realize between this AOG (20) and at least one other computer by at least one network interface (can be wired or wireless) The communication connection can use Internet, wide area network, local network, metropolitan area network and so on.

存储器(206)可选的可以包含至少一个位于远离前述CPU的地方的存储装置(例如外接存储装置)。在一些实施方式中,存储器(206)存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集: The memory (206) may optionally include at least one storage device (such as an external storage device) located away from the aforementioned CPU. In some embodiments, the memory (206) stores the following elements, executable modules or data structures, or a subset thereof, or an extension thereof:

操作系统(207),用于,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;以及,下述模块之一或者任一组合: The operating system (207) is used to include various programs for realizing various basic services and processing hardware-based tasks; and, one or any combination of the following modules:

终端管理模块(2011),应用管理模块(2012),路由管理模块(2013),缓存管理模块(2014),短信推送模块(2015),IP推送模块(2016),协议转换模块(2017),或者,升级管理模块(2018)。 Terminal management module (2011), application management module (2012), routing management module (2013), cache management module (2014), SMS push module (2015), IP push module (2016), protocol conversion module (2017), or , Upgrade Management Module (2018).

具体的实施方式中,终端管理模块(2011),用于在永久在线引擎AOE(101)和所述AOG(20)之间建立一个长链接,其中,至少两个应用客户端通过所述长链接分别与所述一个或者多个应用服务器(04,05)通信;在建立所述长链接的过程中,从用户管理服务器(103)获取鉴权信息。具体的,终端管理模块(2011)用于:向所述用户管理服务器(30)发送携带终端身份信息的鉴权信息请求,接收所述用户管理服务器(30)根据终端身份信息和所述用户身份信息的对应关系,返回的用户身份信息。一种例子中,上述终端身份信息为IMSI信息,用户身份信息为手机号码;另一种例子中该终端身份信息为终端设备标识,该用户身份信息为用户名称或者用户标识。 In a specific embodiment, the terminal management module (2011) is configured to establish a long link between the permanent online engine AOE (101) and the AOG (20), wherein at least two application clients pass the long link communicate with the one or more application servers (04, 05) respectively; and obtain authentication information from the user management server (103) during the process of establishing the long link. Specifically, the terminal management module (2011) is configured to: send an authentication information request carrying terminal identity information to the user management server (30), and receive an authentication information request carried by the user management server (30) based on the terminal identity information and the user identity Correspondence of information, returned user identity information. In one example, the terminal identity information is IMSI information, and the user identity information is a mobile phone number; in another example, the terminal identity information is a terminal device identifier, and the user identity information is a user name or a user identifier.

同时参考图6,较佳的实施方式中,可选的,永久在线服务网关AOG(20)中的终端管理模块(2011),还可以用于实现终端(10)的管理,例如,管理注册到系统的中的AOE(101)的信息,例如IMSI摘要、AOE(101)的用户代理(UserAgent,UA)信息等,还包括AOE(101)上注册的应用信息,如该AOE(101)上目前安装了的应用的标识或其版本。可选的,终端管理模块(2011)还可以对AOE(101)身份进行鉴别,对注册信息进行登记,并储存在系统中。具体的过程可以参考2b,3a,3b等所示的实施方式。较优的,终端管理模块(2011)还可以管理AOE(101)与AOG之间的长链接,例如发送心跳消息,维护长链接状态信息,例如已经建立状态,断开状态等。 Referring to Fig. 6 at the same time, in a preferred embodiment, optionally, the terminal management module (2011) in the permanent online service gateway AOG (20) can also be used to realize the management of the terminal (10), for example, manage the registration to The information of the AOE (101) in the system, such as the IMSI summary, the user agent (UserAgent, UA) information of the AOE (101), and the application information registered on the AOE (101), such as the current The identity of the installed app or its version. Optionally, the terminal management module (2011) can also authenticate the identity of the AOE (101), register the registration information, and store it in the system. For the specific process, reference may be made to the implementation manners shown in 2b, 3a, 3b and so on. Preferably, the terminal management module (2011) can also manage the long link between the AOE (101) and the AOG, such as sending heartbeat messages, maintaining long link state information, such as established state, disconnected state, etc.

可选的,永久在线服务网关AOG(20)中的应用管理模块(2012),可以对应用进行管理,例如管理接入到本AOG(20)的所有的应用信息,包括应用归属的应用服务器(或者应用提供商SP)及其信息,对接入的一个或者多个应用服务器提供接入鉴权、使用权限控制等功能。较优的实施方式中,针对具体的应用进行伪码的管理,等等。具体过程可参考图5b所示的各实施方式。 Optionally, the application management module (2012) in the permanent online service gateway AOG (20) can manage the application, for example, manage all application information connected to the AOG (20), including the application server to which the application belongs ( Or the application provider (SP) and its information provide functions such as access authentication and usage authority control to one or more accessed application servers. In a preferred implementation manner, management of pseudo codes is performed for specific applications, and so on. For a specific process, reference may be made to each implementation manner shown in FIG. 5b.

可选的,永久在线服务网关AOG(20)中的路由管理模块(2013),可以实现路由管理:对于上下行消息,AOG能够正确的路由到对应的网元。 Optionally, the routing management module (2013) in the permanent online service gateway AOG (20) can implement routing management: for uplink and downlink messages, the AOG can correctly route to the corresponding network element.

可选的,永久在线服务网关AOG(20)中的缓存管理模块(2014),可以实现缓存管理,具体的,根据应用需要,对应用下发给AOE(101)的数据消息,在下发不成功的时候,对消息进行缓存。具体的,缓存后的消息应进行重试,并在重试成功后向应用返回成功的状态报告。 Optionally, the cache management module (2014) in the permanent online service gateway AOG (20) can implement cache management. Specifically, according to application requirements, the data message delivered to the AOE (101) by the application fails to be delivered. , the message is cached. Specifically, the cached message should be retried, and a success status report should be returned to the application after the retry succeeds.

可选的,AOG(20)中的短信推送模块(2015),可以在特殊情况下向AOE(101)发送“唤醒短信”,用于唤醒尚未建立或者已经断开的长链接;将应用服务器发送的下行消息通过前述重新建立的长链接发送给AOE(101)。具体的过程可以参考图7所示的实施方式。 Optionally, the SMS push module (2015) in the AOG (20) can send a "wake-up SMS" to the AOE (101) under special circumstances to wake up the long link that has not been established or has been disconnected; the application server will send The downlink message is sent to the AOE (101) through the aforementioned re-established long link. For a specific process, reference may be made to the implementation manner shown in FIG. 7 .

可选的,AOG(20)中的IP推送模块(2016),可以实现IP数据推送的功能(IPPUSH),具体的,在长链接已经断开的情况下,相比于前述短信唤醒长链接的技术方案,还可以采取另外一个方案:即对于应用服务器需要发送的下行的消息,直接建立一个IP数据通道,通过该IP数据通道下发到永久在线引擎AOE(101),通过该AOE(101)发送给应用客户端。较优的,当应用服务器需要发送的下行的消息数据量较大(例如大于设定的阈值)时,直接建立IP数据通道进行下行数据的推送;当应用服务器需要发送的下行的消息数据量较小时(例如小于等于设定的阈值),可以采用短信唤醒的方式唤醒该长链接后,通过该长链接推送该下行的数据。 Optionally, the IP push module (2016) in the AOG (20) can realize the function of IP data push (IPPUSH). For the technical solution, another solution can be adopted: that is, for the downlink message that the application server needs to send, directly establish an IP data channel, send it to the permanent online engine AOE (101) through the IP data channel, and pass the AOE (101) sent to the application client. Preferably, when the amount of downlink message data that the application server needs to send is large (for example, greater than a set threshold), an IP data channel is directly established to push downlink data; when the amount of downlink message data that the application server needs to send is relatively large Hours (for example, less than or equal to the set threshold), the long link can be woken up by SMS, and the downlink data can be pushed through the long link.

可选的,当永久在线服务网关AOG(20)与永久在线引擎AOE(101)之间采用内部协议,AOG(20)与一个或者多个应用服务器之间采用公开的协议时,永久在线服务网关AOG(20)中的协议转换模块(2017)可以将消息在这两种协议之间进行转换。 Optionally, when an internal protocol is adopted between the permanent online service gateway AOG (20) and the permanent online engine AOE (101), and an open protocol is adopted between the AOG (20) and one or more application servers, the permanent online service gateway The protocol conversion module (2017) in AOG (20) can convert messages between these two protocols.

可选的,AOG(20)中的升级管理模块(2018),可以管理所有永久在线引擎AOE(101)的版本,可以触发永久在线引擎的自动升级更新。 Optionally, the upgrade management module (2018) in the AOG (20) can manage the versions of all permanent online engines AOE (101), and can trigger automatic upgrade updates of the permanent online engines.

图11为系统中用户管理服务器(30)的一个实施方式的结构示意图。如前文所述,用户管理服务器(30),位于网络侧,与所述永久在线引擎AOE(101)和所述永久在线服务网关AOG(20)通信连接,至少两个应用客户端通过所述长链接分别与所述一个或者多个应用服务器(04,05)通信。该用户管理服务器(30)一般包括至少一个处理器(302)(例如CPU),至少一个网络接口或者其他通信接口(305),存储器(306),和至少一个通信总线(303),用于实现这些装置之间的连接通信。处理器(302)用于执行存储器中存储的可执行模块,例如计算机程序。用户管理服务器(30)可选的包含用户接口(304),包括但不限于显示器,键盘和点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏。存储器(306)可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该用户管理服务器(30)与至少一个其他计算机之间的通信连接,可以使用互联网,广域网,本地网,城域网等。 Fig. 11 is a schematic structural diagram of an embodiment of the user management server (30) in the system. As mentioned above, the user management server (30) is located on the network side and communicates with the permanent online engine AOE (101) and the permanent online service gateway AOG (20). Links communicate with said one or more application servers (04, 05) respectively. This user management server (30) generally includes at least one processor (302) (such as CPU), at least one network interface or other communication interface (305), memory (306), and at least one communication bus (303), for realizing Connection communication between these devices. The processor (302) is used to execute executable modules, such as computer programs, stored in the memory. The user management server (30) optionally includes a user interface (304), including but not limited to a display, keyboard, and pointing device (e.g., mouse, trackball (trackball), touch pad or touch-sensitive display screen. Memory (306) may include High-speed Ram memory, may also include non-volatile memory (non-volatilememory), such as at least one disk memory. Realize this user management server (30) and at least one other computer by at least one network interface (can be wired or wireless) The communication connection between can use Internet, wide area network, local network, metropolitan area network and so on.

存储器(306)可选的可以包含至少一个位于远离前述CPU的地方的存储装置(例如外接存储装置)。在一些实施方式中,存储器(306)存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集: The memory (306) may optionally include at least one storage device (such as an external storage device) located away from the aforementioned CPU. In some embodiments, the memory (306) stores the following elements, executable modules or data structures, or a subset thereof, or an extension thereof:

操作系统(307),用于,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;以及,下述模块之一或者任一组合: The operating system (307) is used to include various programs for realizing various basic services and processing hardware-based tasks; and, one or any combination of the following modules:

路由信息模块(3012),鉴权信息模块(3013)。 Routing information module (3012), authentication information module (3013).

具体的,路由信息模块(3012),用于向所述AOE(101)提供路由信息,以便于根据所述路由信息请求建立所述长链接;鉴权信息模块(3013),用于在所述AOE(101)和所述AOG(20)建立长链接的过程中,向所述AOG(20)提供鉴权信息。 Specifically, the routing information module (3012), configured to provide routing information to the AOE (101), so as to request to establish the long link according to the routing information; the authentication information module (3013), configured to During the process of establishing a long link with the AOG (20), the AOE (101) provides authentication information to the AOG (20).

较优的,可以进一步包括注册管理模块(3011),用于获取并存储终端身份信息和用户身份信息的对应关系,且存储该用户身份信息所归属的AOG(20)的地址;该路由信息模块(3012),具体用于:根据该AOE(101)发送的路由信息请求中的终端身份信息,以及注册管理模块获取并存储的该终端身份信息和该用户身份信息的对应关系,向该AOE(101)提供该用户身份信息归属的AOG的地址;该鉴权信息模块(3013),具体用于:当该AOG(20)发送鉴权信息请求时,根据该鉴权信息请求中的终端身份信息,以及注册管理模块获取并存储的该终端身份信息和该用户身份信息的对应关系,向该AOG(20)提供该用户身份信息。一种例子中,上述终端身份信息为IMSI信息,用户身份信息为手机号码;另一种例子中该终端身份信息为终端设备标识,该用户身份信息为用户名称或者用户标识。 Preferably, it may further include a registration management module (3011), which is used to obtain and store the corresponding relationship between terminal identity information and user identity information, and store the address of the AOG (20) to which the user identity information belongs; the routing information module (3012), specifically used to: send the AOE ( 101) Provide the address of the AOG to which the user identity information belongs; the authentication information module (3013), specifically for: when the AOG (20) sends an authentication information request, according to the terminal identity information in the authentication information request , and the corresponding relationship between the terminal identity information and the user identity information acquired and stored by the registration management module, and provide the user identity information to the AOG (20). In one example, the terminal identity information is IMSI information, and the user identity information is a mobile phone number; in another example, the terminal identity information is a terminal device identifier, and the user identity information is a user name or a user identifier.

需要说明的是,上述各实施方式中,尤其是提到了不同的模块,如果不是说明了无法配合实施,都可以进行任意的组合,以实现更为有益的效果,不受形式上的限制。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。 It should be noted that, in the above embodiments, especially the different modules mentioned, if it is not stated that they cannot be implemented together, they can be combined arbitrarily to achieve more beneficial effects, and are not limited by form. The device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. It can be understood and implemented by those skilled in the art without any creative efforts.

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。 Through the above description of the implementations, those skilled in the art can clearly understand that each implementation can be implemented by means of software plus a necessary general hardware platform, and of course also by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products can be stored in computer-readable storage media, such as ROM/RAM, magnetic discs, optical discs, etc., including several instructions to make a computer device (which may be a personal computer, server, or network device, etc.) execute the methods described in various embodiments or some parts of the embodiments.

以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。 The implementation methods described above do not limit the protection scope of the technical solution. Any modifications, equivalent replacements and improvements made within the spirit and principles of the above embodiments shall be included in the protection scope of the technical solution.

Claims (29)

1.一种支持应用客户端永久在线的系统,包括:永久在线引擎AOE(101),位于终端(10)中,与所述终端(10)上的至少两个应用客户端通信连接,用于和永久在线服务网关AOG(20)之间建立一个长链接;1. A system supporting permanent online application clients, comprising: a permanent online engine AOE (101), located in a terminal (10), communicating with at least two application clients on the terminal (10), for Establish a long link with the permanent online service gateway AOG (20); 永久在线服务网关AOG(20),位于网络侧,用于与所述永久在线引擎AOE(101)之间建立该长链接,以及发起心跳消息,以便于维护该长链接;其中,所述至少两个应用客户端通过该长链接,经由所述AOG(20),与一个或者多个应用服务器(04,05)通信。The always-on service gateway AOG (20), located on the network side, is used to establish the long link with the always-on engine AOE (101), and initiate a heartbeat message, so as to maintain the long link; wherein, the at least two An application client communicates with one or more application servers (04, 05) through the long link via the AOG (20). 2.根据权利要求1的系统,所述AOG(20)进一步用于根据网络情况调整心跳间隔,自动控制心跳参数。2. The system according to claim 1, wherein the AOG (20) is further used to adjust heartbeat intervals according to network conditions and automatically control heartbeat parameters. 3.根据权利要求1所述的系统,3. The system of claim 1, 所述AOE(101)进一步用于根据自己的判断主动地断开该长链接;或者,The AOE (101) is further used to actively disconnect the long link according to its own judgment; or, 所述AOG(20)进一步用于根据自己的判断主动地断开该长链接。The AOG (20) is further used to actively disconnect the long link according to its own judgment. 4.根据权利要求3的系统,所述AOE(101)进一步用于在所述长链接断开以后,进入休眠状态。4. The system according to claim 3, the AOE (101) is further configured to enter a sleep state after the long link is disconnected. 5.根据权利要求4所述的系统,所述AOG(20)进一步用于:如果既未收到所述AOE(101)发送的断开请求也未主动向所述AOE(101)发送断开请求,则根据心跳时间间隔,规律的向所述AOE(101)发送心跳消息,以便于保持所述长链接。5. The system according to claim 4, the AOG (20) is further used for: if neither the disconnection request sent by the AOE (101) is received nor the disconnection request is actively sent to the AOE (101) request, then regularly send heartbeat messages to the AOE (101) according to the heartbeat time interval, so as to maintain the long link. 6.根据权利要求3的系统,6. The system according to claim 3, 其中所述AOE(101)根据自己的判断主动地断开该长链接具体包括:Wherein, the AOE (101) actively disconnects the long link according to its own judgment specifically includes: 用于当判断出收到心跳请求后超过一定的时间阈值的时候还未收到其他心跳请求,则主动向所述AOG(20)发送断开请求;或者,当检测到其管理的所有应用客户端在一定的时间阈值内未运行时,则主动向所述AOG(20)发起断开请求;或者,当检测到所述终端(10)上的电池电量低于一定的阈值时,则主动向所述AOG(20)发送断开请求;所述断开请求用于断开该长链接;It is used to actively send a disconnection request to the AOG (20) when it is determined that other heartbeat requests have not been received after exceeding a certain time threshold after receiving the heartbeat request; or, when it detects that all application clients managed by it When the terminal is not running within a certain time threshold, it will actively initiate a disconnection request to the AOG (20); The AOG (20) sends a disconnection request; the disconnection request is used to disconnect the long link; 其中所述AOG(20)根据自己的判断主动地断开该长链接具体包括:Wherein said AOG (20) actively disconnects the long link according to its own judgment specifically includes: 当判断出超过一定时间阈值没有收到从所述AOE(101)发送的数据流,则主动发起断开请求;或者,当判断出超过一定的次数阈值发送心跳请求后,但没有得到所述AOE(101)的响应时,主动发起断开请求;所述断开请求用于断开所述长链接。When it is judged that the data stream sent from the AOE (101) has not been received beyond a certain time threshold, a disconnection request is initiated; In response to (101), actively initiate a disconnection request; the disconnection request is used to disconnect the long link. 7.根据权利要求1-6任一的系统,所述AOG(20)进一步用于将已经断开所述长链接的AOE(101)在所述AOG(20)上记录的是否在线状态修改为离线,并且构造下线通知消息发送给所述应用服务器。7. according to the system according to any one of claim 1-6, described AOG (20) is further used in that the AOE (101) that has disconnected described long link records on described AOG (20) whether the online status is revised as Offline, and construct an offline notification message to send to the application server. 8.根据权利要求7所述的系统,8. The system of claim 7, 所述AOG(20)进一步用于向AOE(101)发送唤醒短信,用于唤醒尚未建立或者已经断开的长链接;The AOG (20) is further used to send a wake-up message to the AOE (101) to wake up a long link that has not yet been established or has been disconnected; 所述AOE(101)进一步用于监听并拦截到所述唤醒短信后,解析所述唤醒短信,并触发建立长链接。The AOE (101) is further configured to monitor and intercept the wake-up message, analyze the wake-up message, and trigger the establishment of a long link. 9.一种支持应用客户端永久在线的通信方法,在位于终端(10)中的永久在线引擎AOE(101)和位于网络侧的永久在线服务网关AOG(20)之间建立一个长链接,其中,位于终端(10)中的至少两个应用客户端通过所述长链接,经由所述AOG(20),分别与一个或者多个应用服务器(04,05)通信;该方法包括:所述永久在线服务网关AOG(20)发起心跳消息,以便于维护该长链接。9. A communication method supporting application clients to be permanently online, a long link is established between the always-on engine AOE (101) located in the terminal (10) and the always-on service gateway AOG (20) located on the network side, wherein , at least two application clients located in the terminal (10) respectively communicate with one or more application servers (04, 05) via the long link via the AOG (20); the method includes: the permanent The online service gateway AOG (20) initiates a heartbeat message in order to maintain the long link. 10.根据权利要求9的方法,进一步包括:10. The method according to claim 9, further comprising: 所述AOG(20)根据网络情况调整心跳间隔,自动控制心跳参数。The AOG (20) adjusts the heartbeat interval according to network conditions, and automatically controls heartbeat parameters. 11.根据权利要求9的方法,进一步包括11. The method according to claim 9, further comprising 所述AOE(101)根据自己的判断主动地断开该长链接;或者,The AOE (101) actively disconnects the long link according to its own judgment; or, 所述AOG(20)根据自己的判断主动地断开该长链接。The AOG (20) actively disconnects the long link according to its own judgment. 12.根据权利要求11的方法,进一步包括,所述AOE(101)在所述长链接断开以后,进入休眠状态。12. The method according to claim 11, further comprising, the AOE (101) enters a dormant state after the long link is disconnected. 13.根据权利要求11的方法,13. The method according to claim 11, 其中所述AOE(101)根据自己的判断主动地断开该长链接具体包括:Wherein, the AOE (101) actively disconnects the long link according to its own judgment specifically includes: 当所述永久在线引擎AOE(101)判断出收到心跳请求后超过一定的时间阈值的时候还未收到其他心跳请求,则主动向所述AOG(20)发送断开请求;或者,当所述永久在线引擎AOE(101)检测到其管理的所有应用客户端在一定的时间阈值内未运行时,则主动向所述AOG(20)发起断开请求;或者,当所述永久在线引擎AOE(101)检测到所述终端(10)上的电池电量低于一定的阈值时,则主动向所述AOG(20)发送断开请求;所述断开请求用于断开所述长链接;When the always-on engine AOE (101) judges that no other heartbeat requests have been received after receiving the heartbeat request beyond a certain time threshold, it will actively send a disconnection request to the AOG (20); or, when the When the always-online engine AOE (101) detects that all application clients managed by it are not running within a certain time threshold, it will actively initiate a disconnection request to the AOG (20); or, when the always-online engine AOE (101) When detecting that the battery power on the terminal (10) is lower than a certain threshold, actively sending a disconnection request to the AOG (20); the disconnection request is used to disconnect the long link; 其中所述AOG(20)根据自己的判断主动地断开所述长链接包括:The AOG (20) actively disconnecting the long link according to its own judgment includes: 所述AOG(20)进一步用于当判断出超过一定时间阈值没有收到从所述AOE(101)发送的数据流,则主动发起断开请求;当判断出超过一定的次数阈值发送心跳请求后,但没有得到AOE(101)的响应时,主动发起断开请求;所述断开请求用于断开所述长链接。The AOG (20) is further used to actively initiate a disconnection request when it is determined that the data stream sent from the AOE (101) has not been received beyond a certain time threshold; when it is determined that the heartbeat request is sent beyond a certain threshold , but does not get a response from the AOE (101), actively initiate a disconnection request; the disconnection request is used to disconnect the long link. 14.根据权利要求11-13任一的方法,进一步包括:所述AOG(20)将已经断开所述长链接的所述AOE(101)在所述AOG(20)上记录的是否在线状态修改为离线,并且构造下线通知消息发送给所述应用服务器。14. The method according to any one of claims 11-13, further comprising: the AOG (20) recording the online status of the AOE (101) that has disconnected the long link on the AOG (20) It is modified to be offline, and an offline notification message is constructed and sent to the application server. 15.根据权利要求14所述的方法,进一步包括:15. The method of claim 14, further comprising: 所述AOG(20)向所述AOE(101)发送唤醒短信,用于唤醒尚未建立或者已经断开的长链接;The AOG (20) sends a wake-up message to the AOE (101) to wake up the long link that has not been established or has been disconnected; 所述AOE(101)监听并拦截到所述唤醒短信后,解析所述唤醒短信,并触发建立长链接。After the AOE (101) monitors and intercepts the wake-up message, it parses the wake-up message and triggers the establishment of a long link. 16.一种支持应用客户端永久在线的终端(10),包括:永久在线引擎AOE(101)和至少两个应用客户端;16. A terminal (10) supporting permanent online application clients, comprising: a permanent online engine AOE (101) and at least two application clients; 所述永久在线引擎AOE(101),与所述终端(10)上的所述至少两个应用客户端通信连接,用于和位于网络侧的永久在线服务网关AOG(20)之间建立一个长链接;接收所述永久在线服务网关AOG(20)发起的心跳消息,以便于维护所述长链接;The always-on engine AOE (101) communicates with the at least two application clients on the terminal (10), and is used to establish a long-term connection with the always-on service gateway AOG (20) on the network side. link; receive the heartbeat message initiated by the permanent online service gateway AOG (20), so as to maintain the long link; 所述至少两个应用客户端用于通过所述长链接,经由所述AOG(20),与网络侧的一个或者多个应用服务器(04,05)通信。The at least two application clients are used to communicate with one or more application servers (04, 05) on the network side via the long link via the AOG (20). 17.根据权利要求16的终端(10),17. A terminal (10) according to claim 16, 所述AOE(101)进一步用于根据自己的判断主动地断开所述长链接;或者,The AOE (101) is further used to actively disconnect the long link according to its own judgment; or, 所述AOE(101)包括链接管理模块(1011)用于收到AOG(20)主动发送的断开请求,则断开所述长链接。The AOE (101) includes a link management module (1011) configured to disconnect the long link upon receipt of a disconnection request actively sent by the AOG (20). 18.根据权利要求17的终端(10),所述AOE(101)进一步用于在所述长链接断开以后,进入休眠状态。18. The terminal (10) according to claim 17, the AOE (101) is further configured to enter a sleep state after the long link is disconnected. 19.根据权利要求17的终端(10),19. A terminal (10) according to claim 17, 所述永久在线引擎AOE(101)具体包括:Described permanent online engine AOE (101) specifically comprises: 心跳时间模块(1012),用于当判断出收到心跳请求后超过一定的时间阈值的时候还未收到其他心跳请求,则主动向AOG(20)发送断开请求;或者,The heartbeat time module (1012) is used to actively send a disconnection request to the AOG (20) when it is determined that other heartbeat requests have not been received when a certain time threshold is exceeded after receiving the heartbeat request; or, 应用管理模块(1012),用于当检测到其管理的所有应用客户端在一定的时间阈值内未运行时,则主动向AOG(20)发起断开请求;或者,An application management module (1012), configured to actively initiate a disconnection request to the AOG (20) when it detects that all application clients managed by it are not running within a certain time threshold; or, 电池监控模块(1014),用于当检测到终端(01)上的电池电量低于一定的阈值时,则主动向AOG(20)发送断开请求;A battery monitoring module (1014), configured to actively send a disconnection request to the AOG (20) when detecting that the battery power on the terminal (01) is lower than a certain threshold; 所述断开请求用于断开所述长链接。The disconnect request is used to disconnect the long link. 20.根据权利要求16-19任一的终端(10),所述AOE(101)进一步包括短信处理模块(1013)和链接管理模块(1011),所述短信处理模块(1013)用于监听并拦截到唤醒短信后,解析所述唤醒短信,并触发所述AOE(101)中的所述链接管理模块(1011)建立长链接;所述链接管理模块(1011)用于根据触发情况建立长链接。20. The terminal (10) according to any one of claims 16-19, said AOE (101) further comprising a short message processing module (1013) and a link management module (1011), said short message processing module (1013) being used for monitoring and After intercepting the wake-up short message, analyze the wake-up short message, and trigger the link management module (1011) in the AOE (101) to establish a long link; the link management module (1011) is used to set up a long link according to the triggering situation . 21.一种支持应用客户端永久在线的永久在线服务网关AOG(20),包括:21. A permanent online service gateway AOG (20) that supports permanent online application clients, comprising: 终端管理模块(2011),用于在位于终端(10)中的永久在线引擎AOE(101)和所述AOG(20)之间建立一个长链接,以及发起心跳消息,以便于维护所述长链接;A terminal management module (2011), configured to establish a long link between the permanent online engine AOE (101) located in the terminal (10) and the AOG (20), and initiate a heartbeat message, so as to maintain the long link ; 其中,所述终端(10)上的至少两个应用客户端通过所述长链接,经由所述AOG(20),分别与一个或者多个应用服务器(04,05)通信。Wherein, at least two application clients on the terminal (10) respectively communicate with one or more application servers (04, 05) through the long link and via the AOG (20). 22.根据权利要求21的AOG(20),包括:调整模块,用于根据网络情况调整心跳间隔,自动控制心跳参数。22. The AOG (20) according to claim 21, comprising: an adjustment module, configured to adjust heartbeat intervals according to network conditions, and automatically control heartbeat parameters. 23.根据权利要求22的AOG(20),断开模块,用于根据自己的判断主动地断开该长链接。23. The AOG (20) according to claim 22, the disconnection module is configured to actively disconnect the long link according to its own judgment. 24.根据权利要求21-23任一的AOG(20),终端管理模块(2011)进一步用于:如果既未收到AOE(101)发送的断开请求也未主动向AOE(101)发送断开请求,则根据心跳时间间隔,规律的向AOE(101)发送心跳消息,以便于保持该长链接。24. According to the AOG (20) according to any one of claims 21-23, the terminal management module (2011) is further used for: if neither a disconnection request sent by the AOE (101) is received nor a disconnection request is actively sent to the AOE (101) Open request, then according to the heartbeat time interval, regularly send heartbeat messages to AOE (101), so as to maintain the long link. 25.根据权利要求23的AOG(20),25. AOG (20) according to claim 23, 其中所述断开模块具体用于:当判断出超过一定时间阈值没有收到从所述AOE(101)发送的数据流,则主动发起断开请求;或者,当判断出超过一定的次数阈值发送心跳请求后,但没有得到AOE(101)的响应时,主动发起断开请求;所述断开请求用于断开该长链接。Wherein the disconnection module is specifically used for: when judging that the data flow sent from the AOE (101) has not been received beyond a certain time threshold, actively initiate a disconnection request; After the heartbeat request, but no response from the AOE (101), initiate a disconnection request; the disconnection request is used to disconnect the long link. 26.根据权利要求24的AOG(20),所述终端管理模块(2011)进一步用于将已经断开该长链接的所述AOE(101)在所述AOG(20)上记录的是否在线状态修改为离线,并且构造下线通知消息发送给所述应用服务器。26. The AOG (20) according to claim 24, the terminal management module (2011) is further used to record the online status of the AOE (101) that has disconnected the long link on the AOG (20) It is modified to be offline, and an offline notification message is constructed and sent to the application server. 27.根据权利要求26所述的AOG(20),所述AOG(20)进一步包括短信推送模块(2015),用于向所述AOE(101)发送唤醒短信,用于唤醒尚未建立或者已经断开的长链接。27. The AOG (20) according to claim 26, said AOG (20) further comprising a short message push module (2015), for sending a wake-up short message to said AOE (101), for waking up an unestablished or disconnected open long links. 28.根据权利要求21的永久在线服务网关AOG(20),进一步包括:28. The always-on service gateway AOG (20) according to claim 21, further comprising: 应用管理模块(2012),用于查询所述AOE(101)上注册的永久在线的应用客户端信息,如果所述应用客户端和一个或者多个应用服务器之间需要使用伪码进行交互,则将所述AOG(20)上存储的所述AOE(101)所在终端的手机号码转换为伪码,所述伪码用于在AOG(20)和应用服务器之间作为用户身份信息进行传递。An application management module (2012), configured to inquire about the permanently online application client information registered on the AOE (101), if the application client needs to interact with one or more application servers using pseudocode, then The mobile phone number of the terminal where the AOE (101) is stored on the AOG (20) is converted into a pseudocode, and the pseudocode is used for transmission between the AOG (20) and the application server as user identity information. 29.根据权利要求28的AOG(20),29. AOG (20) according to claim 28, 所述应用管理模块(2012)包括:The application management module (2012) includes: 第一模块,用于根据用所述手机号码和随机数计算出与所述手机号码对应的伪码,将所述伪码发送给所述应用服务器,或者,The first module is used to send the pseudo code to the application server according to the pseudo code corresponding to the mobile phone number calculated by using the mobile phone number and the random number, or, 第二模块,用于根据下述方法生成伪码:伪码=HASH(MSISDN、Time、APPID、Random),其中:HASH为哈希算法,MSISDN为用户手机号,Time为时间戳,APPID为应用标识;Random为随机数。The second module is used to generate pseudocode according to the following method: pseudocode=HASH(MSISDN, Time, APPID, Random), wherein: HASH is a hash algorithm, MSISDN is a user mobile phone number, Time is a timestamp, and APPID is an application ID; Random is a random number.
CN201310072940.7A 2011-11-15 2011-11-15 A kind of method, system and device supporting applications client forever online Expired - Fee Related CN103312766B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310072940.7A CN103312766B (en) 2011-11-15 2011-11-15 A kind of method, system and device supporting applications client forever online

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310072940.7A CN103312766B (en) 2011-11-15 2011-11-15 A kind of method, system and device supporting applications client forever online

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201110360998.2A Division CN102395119B (en) 2011-11-15 2011-11-15 A method, system and device for supporting application clients to be permanently online

Publications (2)

Publication Number Publication Date
CN103312766A CN103312766A (en) 2013-09-18
CN103312766B true CN103312766B (en) 2016-06-29

Family

ID=49137544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310072940.7A Expired - Fee Related CN103312766B (en) 2011-11-15 2011-11-15 A kind of method, system and device supporting applications client forever online

Country Status (1)

Country Link
CN (1) CN103312766B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357684A (en) * 2016-10-26 2017-01-25 北京奇虎科技有限公司 Login method and device of game application

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092714B (en) * 2013-09-25 2016-02-17 腾讯科技(深圳)有限公司 The player method of files in stream media and device
CN104753774B (en) * 2013-12-26 2018-07-24 中国移动通信集团公司 A kind of distributed enterprise comprehensive access gate
CN105898844B (en) * 2015-01-26 2020-04-24 中国移动通信集团湖南有限公司 Method and device for controlling terminal link
CN105163339B (en) * 2015-08-28 2019-06-07 上海斐讯数据通信技术有限公司 A kind of asymmetric long connection method and system of network access equipment buffering
CN106102141B (en) * 2016-05-31 2017-10-17 广东欧珀移动通信有限公司 A kind of processing method and processing device based on packet
CN107222371A (en) * 2017-08-04 2017-09-29 北京奇艺世纪科技有限公司 A kind of client heartbeat inspecting method and system
CN109428924B (en) * 2017-08-29 2021-07-13 阿里巴巴集团控股有限公司 Application online state maintenance method, access layer assembly, application system and equipment
CN110855726B (en) * 2018-08-20 2024-02-06 北京京东尚科信息技术有限公司 Communication method, device, gateway, computing device and medium
CN110708283A (en) * 2019-08-29 2020-01-17 中国第一汽车股份有限公司 Processing method, device, vehicle and storage medium for abnormal connection between vehicle and terminal
CN110944063B (en) * 2019-12-10 2021-11-30 航天新长征大道科技有限公司 Programmable logic control device connection method, control system and readable medium
CN113286351B (en) * 2021-05-12 2022-10-11 捷佳润科技集团股份有限公司 Communication method of wireless remote control terminal for intelligent agriculture
CN113242611B (en) * 2021-05-18 2022-09-27 展讯通信(上海)有限公司 Method and device for adjusting PoC heartbeat packet sending interval
CN113448748B (en) * 2021-06-03 2023-09-22 北京致远互联软件股份有限公司 Refreshing method and refreshing system driven by message

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
CN1972252A (en) * 2006-10-13 2007-05-30 蒋晓海 A method for maintaining communication connection in mobile instant communication
CN101360125A (en) * 2008-09-09 2009-02-04 深圳华为通信技术有限公司 Message pushing method and system based on packet domain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228848A1 (en) * 2004-03-22 2005-10-13 Thurston Stacy D Method and system for operating a peer network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
CN1972252A (en) * 2006-10-13 2007-05-30 蒋晓海 A method for maintaining communication connection in mobile instant communication
CN101360125A (en) * 2008-09-09 2009-02-04 深圳华为通信技术有限公司 Message pushing method and system based on packet domain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357684A (en) * 2016-10-26 2017-01-25 北京奇虎科技有限公司 Login method and device of game application

Also Published As

Publication number Publication date
CN103312766A (en) 2013-09-18

Similar Documents

Publication Publication Date Title
CN102395119B (en) A method, system and device for supporting application clients to be permanently online
CN103312766B (en) A kind of method, system and device supporting applications client forever online
KR101697080B1 (en) Push service without persistent tcp connection in a mobile network
US8068433B2 (en) Low power operation of networked devices
US20100122110A1 (en) Method and apparatus for managing advertising-enabled applications
US10212192B2 (en) Systems and methods for interworking with over the top applications in communications network
US10158524B2 (en) System and method for enhanced network event monitoring and reporting
US9565635B2 (en) Activating a mobile terminal from mobile network side
KR102033232B1 (en) Renewing registrations for client applications installed on different proximate client devices
US10660067B2 (en) Systems and methods for efficient signaling of IoT devices in a wireless telecommunications network
CN102204364B (en) Method and server for processing service
US11038977B2 (en) Internet protocol multimedia subsystem connection management
CN105916100A (en) Heartbeat packet agency method, device and communication system
JP6251210B2 (en) Terminal device, communication session establishment method, and program
CN114925059B (en) Dirty data processing method, core network, device and storage medium
US7860079B2 (en) Method and apparatus to protect wireless networks from unsolicited packets triggering radio resource consumption
US20100153559A1 (en) Method and Apparatus for Suspending Network Based Services
TW201505463A (en) Method and system for pushing notification and wireless communication device
CN117528600A (en) Paging exception handling method, paging exception handling device, electronic equipment and readable storage medium
HK1083579A1 (en) Always-on virtual private network access
HK1083579B (en) Always-on virtual private network access

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160629