CN105227398A - 多业务共享长连接方法、***及其装置、终端 - Google Patents
多业务共享长连接方法、***及其装置、终端 Download PDFInfo
- Publication number
- CN105227398A CN105227398A CN201510567873.5A CN201510567873A CN105227398A CN 105227398 A CN105227398 A CN 105227398A CN 201510567873 A CN201510567873 A CN 201510567873A CN 105227398 A CN105227398 A CN 105227398A
- Authority
- CN
- China
- Prior art keywords
- heart time
- long
- service end
- heart
- long service
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/106—Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种多业务共享长连接方法,包括:长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;长连接的客户端将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;长连接的客户端根据业务ID将业务信息推送至业务客户端。本发明还公开了一种多业务共享长连接***及其装置、终端。本发明实现了多业务共享一条长连接,提高了长连接的利用率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种多业务共享长连接***、及其装置、终端。
背景技术
现在绝大多数的终端设备,如手机、电脑、智能电视等终端,都是使用网络运营商网关下面的内网IP,例如,都是使用IPV4,并没有独立的公网IP。网络运营商为了提高地址利用率,会把长期不使用的地址进行回收,而这种回收是不会进行通知的。所以正常情况下,存在于终端的客户端和存在于网络运营商的服务端如果不进行再次通讯尝试,是没法知道它们之间建立的连接已经被回收了。
随着时代的发展,各种终端中的客户端单方面向网络运营商的服务端发送获取信息的请求,不再能满足终端的app能够及时获取信息的需求。例如,一个终端上的新闻app,在发生重大新闻的时候,服务端能够及时将消息推送至终端以提醒用户,这时就需要网络运营商的服务端能够马上通知终端中的客户端,而不再局限于客户端单方面向服务端请求。
而为了使得在网络现状下客服端和服务端能够进行相互通知,需要建立长连接。现有的长连接方案中,一条业务使用一条长连接,使得长连接的利用率不高,长连接绝大多数都是出于空闲状态。在终端上由于心跳时间无法对齐,导致CPU经常被唤醒,耗电严重。而且需要定时发送一个心跳维持长连接的存活。由于终端多种多样,所处的网络环境也会不同,有的网络好,可能一个小时发送一个心跳就可以了,有的网络可能需要一分钟就需要一个心跳。如果统一一个发送心跳时间,必然只能取其最低值,不然很多没法活。
发明内容
本发明的主要目的在于提供一种多业务共享长连接***、及其装置、终端,旨在实现多业务共享一条长连接通道,提高长连接的利用率。
为实现上述目的,本发明提供了一种多业务共享长连接方法,包括:
长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
长连接的客户端将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
长连接的客户端根据业务ID将业务信息推送至业务客户端。
优选地,所述长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID并发送至长连接的客户端包括:
长连接的服务端接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
长连接的客户端接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的服务端根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
优选地,所述长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活包括:
根据当前的网络环境确定初始心跳时间;
根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
优选地,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
优选地,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
优选地,所述根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈包括:
当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
此外,为实现上述目的,本发明还提供了一种多业务共享长连接***,所述多业务共享长连接***包括长连接的客户端和长连接的服务端,其中,
长连接的客户端,用于建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
长连接的服务端,用于根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
长连接的客户端,用于将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的服务端,用于在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
长连接的客户端,用于根据业务ID将业务信息推送至业务客户端。
优选地,所述长连接的服务端,还用于接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
长连接的客户端,还用于接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的服务端,还用于根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
此外,为实现上述目的,本发明还提供了一种长连接的心跳时间获取方法,包括:
根据当前的网络环境确定初始心跳时间;
根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
优选地,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
优选地,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
优选地,所述所述根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈包括:
当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
此外,为实现上述目的,本发明还提供了一种长连接的心跳时间获取装置,包括:
初始心跳时间获取模块,用于根据当前的网络环境确定初始心跳时间;
第二心跳时间获取模块,用于根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
传送模块,用于在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
初始心跳增加步长获取模块,用于接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
第四心跳时间获取模块,用于根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
优选地,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
优选地,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
优选地,所述第二心跳时间获取模块还用于,当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
此外,为实现上述目的,本发明还提供了一种终端,所述终端包括上述结构的长连接的心跳时间获取装置。
本发明实施例中长连接的客户端通过与长连接的服务端建立通道后,获取心跳时间维持长连接的存活。该长连接供多个业务进行共享的过程中,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将业务ID发送至长连接的客户端。长连接的客户端将接收到的业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端。长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过该通道将业务信息发送至长连接的客户端,长连接的客户端根据业务ID将业务信息推送至业务客户端。从而实现了多业务共享一条长连接通道,提高了长连接的利用率。
附图说明
图1为本发明多业务共享长连接方法一实施例的流程示意图;
图2为本发明多业务共享长连接方法中,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID并发送至长连接的客户端的细化流程示意图;
图3为本发明多业务共享长连接方法中,长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活的细化流程示意图;
图4为本发明长连接的心跳时间获取方法一实施例的流程示意图;
图5为本发明长连接的心跳时间获取装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,示出了本发明一种多业务共享长连接方法一实施例。该实施例的多业务共享长连接方法包括:
步骤S10、长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
本实施例中,为了提高长连接中业务消息传输的安全性,可从终端的***级层面创建一条稳定自适应的长连接。终端中的长连接的客户端需要与长连接的服务端建立用于根据网络协议传输数据的通道,该终端的类型可根据实际需要进行设置,例如,手机、电脑、智能电视等。
具体地,建立长连接的过程中,首先长连接的客户端建立一条与长连接的服务端进行传输数据的通道,例如,建立个TCPSocket。长连接的客户端根据消息协议向长连接的服务端发送上线命令,同时等待收取长连接的服务端下达命令。该消息协议可为预先设置的传输数据的网络协议,例如,长连接的客户端发送“1”为上线命令,发送“2”为下线命令,下达命令可为长连接的服务端返回“3”表示已经接收到长连接的客户端的信息。当长连接的客户端收到长连接的服务端的回复时,表明长连接的服务端已经接收到长连接的客户端发送的上线命令,此时将根据消息协议解析消息,以得到传送的消息内容,并根据内容提示进行相应的处理。然后长连接的客户端获取心跳时间,将得到的当前心跳时间传送至长连接的服务端,并等待服务端返回心跳时间。一直重复长连接的客户端在接收到长连接的服务端返回的消息后,根据消息协议解析消息及获取当前的心跳时间传送至长连接的服务端,直至得到最优心跳时间,以用得到的心跳时间维持长连接的存活,即保持通道的稳定性。建立好的该长连接供多个业务进行共享。
步骤S20、长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
根据上述建立好的长连接,针对多个业务共享该条长连接的过程中,为了有效区分各个业务,各个业务向长连接的服务端申请获取各自的编号,即各个业务向长连接的服务端发送申请业务ID的请求,长连接的服务端收到该请求后为各业务配置唯一的业务ID,并将配置好的业务ID发送至长连接的客户端,以供长连接的客户端将业务ID传送至业务客户端。
步骤S30、长连接的客户端将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的客户端接收到长连接的服务端发送过来的各业务ID后,将各业务ID传送至对应的业务客户端。各业务客户端接收到业务ID后,将业务ID上报至与其对应的业务服务端。
步骤S40、长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
在上述业务服务端得到业务ID后,将要推送的业务信息与业务ID一起发送至长连接的服务端。长连接的服务端在接收到业务服务端推送的业务信息及业务ID后,根据业务ID找到长连接的客户端所在的终端,通过上述所建立的长连接的服务端与长连接的客户端之间进行数据传输的通道,将业务信息发送至长连接的客户端。
步骤S50、长连接的客户端根据业务ID将业务信息推送至业务客户端。
长连接的客户端接收到长连接的服务端发送过来的业务ID及业务信息后,根据业务ID找到相应的业务,并将业务信息推送至该业务客户端。
以下将以智能电视进行举例说明:
首先,位于智能电视的长连接的客户端创建一条与长连接的服务端之间利用网络协议传输数据的通道,即创建一条长连接,长连接的客户端可命名为com.tianci.push。
位于智能电视的升级业务、影视推送业务、模块更新业务这三条业务分别向建立好的长连接的服务端申请各自的一个业务标示。
申请得到业务标示后,升级业务、影视推送业务、模块更新业务这三个业务利用android广播,把自身包名(即业务的关键信息)和对应的业务标示发送给com.tianci.push。
com.tianci.push收到这三个业务通过广播传送过来的自身包名和对应的业务标示后,把这三个业务标示和对应的包名进行关联存储于数据库中。
com.tianci.push根据智能电视的相关信息构建一个与智能电视对应的长连接的特征值,该特征值是唯一的,该特征值可包括智能电视的版本号、物理地址等。
com.tianci.push通过长连接的数据传输通道把特征值和这三个业务标示发送给长连接的服务端,长连接的服务端根据特征值和这三个业务标示生成每个业务对应的业务ID,并将业务ID和对应的业务标示返回给com.tianci.push。
com.tianci.push根据这三个业务的业务标示,更新数据库,即把这三个业务的业务标示、各自的业务ID、各自的包名进行关联存储于数据库中。同时找到这三个业务各自的包名,把这三个业务ID发送给对应的业务。
具体地,例如,影视推送业务收到业务ID后,将业务ID上报给影视推送业务的服务端。影视推送业务的服务端把业务ID和影视推送业务信息发送给长连接的服务端。长连接的服务端根据业务ID找到智能电视设备,将业务ID和影视推送业务信息发到位于智能电视的com.tianic.push。com.tianci.push根据业务ID,找到影视推送业务的包名,把影视推送业务信息指定送到影视推送业务的客户端。影视推送业务的客户端根据自身协议对接收到的信息进行解析及相应处理。
本发明实施例中长连接的客户端通过与长连接的服务端建立通道后,获取心跳时间维持长连接的存活。该长连接供多个业务进行共享的过程中,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将业务ID发送至长连接的客户端。长连接的客户端将接收到的业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端。长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过该通道将业务信息发送至长连接的客户端,长连接的客户端根据业务ID将业务信息推送至业务客户端。从而实现了多业务共享一条长连接通道,提高了长连接的利用率。
进一步地,如图2所示,基于上述实施例,本实施例中,上述步骤S20可包括:
步骤S21、长连接的服务端接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
根据上述建立好的长连接,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID的过程,具体地,首先每个业务向长连接的服务端申请各自的一个业务标示,长连接的服务端根据各业务发送的业务标示申请请求,返回业务标示至对应的各业务客户端。然后在终端上各个业务客户端把各自的业务标示传送至长连接的客户端。可以理解的是,该多业务为两个或者两个以上的业务,当然如果是单一业务使用该长连接,则不需要向长连接的服务端申请业务标示。
步骤S22、长连接的客户端接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的客户端接收到业务标示后,把各业务标示与对应业务的关键信息作为一对键值进行关联存储于数据库中,以便根据业务标示获知业务的关键信息。业务的关键信息可包括业务的名称。
本实施例中,根据长连接的客户端所在的终端,获取该终端的属性信息作为识别终端的唯一的特征值,例如,该特征值可包括连接的客户端所在终端的物理地址、版本号等。然后将各个业务标示和长连接的特征值,一起传给长连接的服务端,以供长连接的服务端根据各个业务标示和长连接的特征值生成的各个业务对应的业务ID。
步骤S23、长连接的服务端根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
长连接的服务端接收到各个业务标示和长连接的特征值后,根据每个业务向长连接的服务端申请的各自对应的业务标示,核对各个业务标示是否正确,即是否为之前向长连接的服务端申请的业务标示。若正确,则长连接的服务端根据长连接的特征值和各个业务标示,生成各个业务对应的唯一的业务ID,并将各个业务ID及对应的业务标示返回给长连接的客户端。长连接的客户端收到各个业务ID及对应的业务标示后,将每个业务对应的业务ID,通过业务标示把各个业务的业务ID、业务标示和业务关键信息三者进行关联存储于数据库中,以对上述匹配存储各个标示与对应业务的关键信息的数据库进行更新。
进一步地,如图3所示,基于上述实施例,本实施例中,上述步骤S10可包括:
步骤S11、根据当前的网络环境确定初始心跳时间;
当上述长连接的客户端与长连接的服务端建立连接后,长连接的客户端将自身相关信息发送至长连接的服务端,供长连接的服务端识别长连接的客户端,以完成长连接的服务端上线初始化的过程。
由于初始心跳时间与网络环境有关,因此长连接的客户端通过检测当前网络环境,根据终端所处的当前网络环境初始化初始心跳时间。当然,也可以不需要检测网络环境,直接将默认的初始值赋给初始心跳时间,该默认的初始值可设置为10~50秒,或者根据具体情况而灵活设置。
步骤S12、根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
上述得到初始心跳时间后,长连接的客户端根据公式:f(n)=2*f(n-1)计算心跳时间,其中,n≥1,初始心跳时间f(0)为10~50秒。当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。长连接的客户端得到第一心跳时间后,将第一心跳时间传送至长连接的服务端。当接收到长连接的服务端的反馈时,说明该第一心跳时间对于维持长连接的存活是成功的,然后以第一心跳时间作为新的初始心跳时间计算第二心跳时间,即将n以1的步长递增根据公式重复计算第二心跳时间。将得到的第二心跳时间继续发送至至长连接的服务端,直至接收不到所述长连接的服务端的反馈,停止通过上述公式计算第二心跳时间。需要说明的是,长连接的服务端的反馈可以是返回长连接的客户端所发送的心跳时间,也可以是根据预先设置的协议返回指定的信息。通过上述公式重复计算第二心跳时间,使得在寻找最优心跳时间的过程中,当心跳时间快速增加时,尽量少次数找到心跳时间的临界值。
需要说明的是,为了提高获取心跳时间的可靠性,长连接的客户端可以将第一心跳时间或第二心跳时间多次传送至长连接的服务端。当将第一心跳时间或第二心跳时间传送至长连接的服务端的预设传送次数未满足接收到长连接的服务端反馈的预置次数,则确定未接收到长连接的服务端的反馈。该预设传送次数及预置次数可根据具体情况而灵活设置。例如,长连接的客户端将第一心跳时间传送3次至长连接的服务端,在这3次中,若3次都收到长连接的服务端的反馈,则说明长连接的客户端将第一心跳时间发送至长连接的服务端时,能够成功收到长连接的服务端的反馈。
步骤S13、在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
当长连接的客户端未接收到长连接的服务端针对第二心跳时间的反馈时,利用初始心跳时间进行尝试,即长连接的客户端将初始心跳时间传送至长连接的服务端,以检测长连接的客户端是否会接收到长连接的服务端返回该初始心跳时间。需要说明的是,长连接的客户端可将初始心跳时间多次传送至长连接的服务端,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。例如,长连接的客户端可将初始心跳时间5次传送至长连接的服务端,当满足按时收到长连接的服务端的5次或者4次的反馈时,说明成功接收到长连接的服务端的反馈,否则失败。
本实施例中,当长连接的客户端未接收到长连接的服务端针对初始心跳时间的反馈时,转入执行步骤11,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对初始心跳时间的反馈时,利用第二心跳时间的前一次心跳时间进行尝试,即将第二心跳时间的前一次心跳时间传送至长连接的服务端。该第二心跳时间为接收不到长连接的服务端针对第二心跳时间的反馈时,最后发送的第二心跳时间。前一次心跳时间传送的次数可根据具体情况而灵活设置,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。
步骤S14、接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
本实施例中,当长连接的客户端未接收到长连接的服务端针对前一次心跳时间的反馈时,转入执行步骤11,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对前一次心跳时间的反馈时,根据公式B0=(f(n)-f(n-1))/2计算初始心跳增加步长。其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间。
步骤S15、根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
在上述得到初始心跳增加步长B0后,可根据公式:Bn=(Bn-1)/2计算新的心跳增加步长。其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长。然后根据公式f′(n)=f′(n-1)+Bn计算第三心跳时间和第四心跳时间。根据该公式可在上述得到临界值后,快速寻找到最优值。其中,n≥1,当n=1时,可根据初始心跳增加步长B0及第二心跳时间计算得到的第三心跳时间。然后长连接的客户端将得到的第三心跳时间发送至长连接的服务端,并在接收到长连接的服务端的反馈时,将n以1的步长递增,根据该公式计算得到第四心跳时间。当未接收到长连接的服务端的反馈时,转入执行步骤S13,重新将初始心跳时间发送至长连接的服务端进行尝试。然后长连接的客户端将得到的第四心跳时间发送至长连接的服务端,并在接收到长连接的服务端针对第四心跳时间的反馈时,递增n继续计算第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
对应地,提出本发明一种多业务共享长连接***,在本实施例中,该多业务共享长连接***包括长连接的客户端和长连接的服务端,其中,
长连接的客户端,用于建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
本实施例中,为了提高长连接中业务消息传输的安全性,可从终端的***级层面创建一条稳定自适应的长连接。终端中的长连接的客户端需要与长连接的服务端建立用于根据网络协议传输数据的通道,该终端的类型可根据实际需要进行设置,例如,手机、电脑、智能电视等。
具体地,建立长连接的过程中,首先长连接的客户端建立一条与长连接的服务端进行传输数据的通道,例如,建立个TCPSocket。长连接的客户端根据消息协议向长连接的服务端发送上线命令,同时等待收取长连接的服务端下达命令。该消息协议可为预先设置的传输数据的网络协议,例如,长连接的客户端发送“1”为上线命令,发送“2”为下线命令,下达命令可为长连接的服务端返回“3”表示已经接收到长连接的客户端的信息。当长连接的客户端收到长连接的服务端的回复时,表明长连接的服务端已经接收到长连接的客户端发送的上线命令,此时将根据消息协议解析消息,以得到传送的消息内容,并根据内容提示进行相应的处理。然后长连接的客户端获取心跳时间,将得到的当前心跳时间传送至长连接的服务端,并等待服务端返回心跳时间。一直重复长连接的客户端在接收到长连接的服务端返回的消息后,根据消息协议解析消息及获取当前的心跳时间传送至长连接的服务端,直至得到最优心跳时间,以用得到的心跳时间维持长连接的存活,即保持通道的稳定性。建立好的该长连接供多个业务进行共享。
长连接的服务端,用于根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
根据上述建立好的长连接,针对多个业务共享该条长连接的过程中,为了有效区分各个业务,各个业务向长连接的服务端申请获取各自的编号,即各个业务向长连接的服务端发送申请业务ID的请求,长连接的服务端收到该请求后为各业务配置唯一的业务ID,并将配置好的业务ID发送至长连接的客户端,以供长连接的客户端将业务ID传送至业务客户端。
长连接的客户端,用于将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的客户端接收到长连接的服务端发送过来的各业务ID后,将各业务ID传送至对应的业务客户端。各业务客户端接收到业务ID后,将业务ID上报至与其对应的业务服务端。
长连接的服务端,用于在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
在上述业务服务端得到业务ID后,将要推送的业务信息与业务ID一起发送至长连接的服务端。长连接的服务端在接收到业务服务端推送的业务信息及业务ID后,根据业务ID找到长连接的客户端所在的终端,通过上述所建立的长连接的服务端与长连接的客户端之间进行数据传输的通道,将业务信息发送至长连接的客户端。
长连接的客户端,用于根据业务ID将业务信息推送至业务客户端。
长连接的客户端接收到长连接的服务端发送过来的业务ID及业务信息后,根据业务ID找到相应的业务,并将业务信息推送至该业务客户端。
以下将以智能电视进行举例说明:
首先,位于智能电视的长连接的客户端创建一条与长连接的服务端之间利用网络协议传输数据的通道,即创建一条长连接,长连接的客户端可命名为com.tianci.push。
位于智能电视的升级业务、影视推送业务、模块更新业务这三条业务分别向建立好的长连接的服务端申请各自的一个业务标示。
申请得到业务标示后,升级业务、影视推送业务、模块更新业务这三个业务利用android广播,把自身包名(即业务的关键信息)和对应的业务标示发送给com.tianci.push。
com.tianci.push收到这三个业务通过广播传送过来的自身包名和对应的业务标示后,把这三个业务标示和对应的包名进行关联存储于数据库中。
com.tianci.push根据智能电视的相关信息构建一个与智能电视对应的长连接的特征值,该特征值是唯一的,该特征值可包括智能电视的版本号、物理地址等。
com.tianci.push通过长连接的数据传输通道把特征值和这三个业务标示发送给长连接的服务端,长连接的服务端根据特征值和这三个业务标示生成每个业务对应的业务ID,并将业务ID和对应的业务标示返回给com.tianci.push。
com.tianci.push根据这三个业务的业务标示,更新数据库,即把这三个业务的业务标示、各自的业务ID、各自的包名进行关联存储于数据库中。同时找到这三个业务各自的包名,把这三个业务ID发送给对应的业务。
具体地,例如,影视推送业务收到业务ID后,将业务ID上报给影视推送业务的服务端。影视推送业务的服务端把业务ID和影视推送业务信息发送给长连接的服务端。长连接的服务端根据业务ID找到智能电视设备,将业务ID和影视推送业务信息发到位于智能电视的com.tianic.push。com.tianci.push根据业务ID,找到影视推送业务的包名,把影视推送业务信息指定送到影视推送业务的客户端。影视推送业务的客户端根据自身协议对接收到的信息进行解析及相应处理。
本发明实施例中长连接的客户端通过与长连接的服务端建立通道后,获取心跳时间维持长连接的存活。该长连接供多个业务进行共享的过程中,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将业务ID发送至长连接的客户端。长连接的客户端将接收到的业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端。长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过该通道将业务信息发送至长连接的客户端,长连接的客户端根据业务ID将业务信息推送至业务客户端。从而实现了多业务共享一条长连接通道,提高了长连接的利用率。
进一步地,在本实施例中,所述长连接的服务端,还用于接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
根据上述建立好的长连接,长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID的过程,具体地,首先每个业务向长连接的服务端申请各自的一个业务标示,长连接的服务端根据各业务发送的业务标示申请请求,返回业务标示至对应的各业务客户端。然后在终端上各个业务客户端把各自的业务标示传送至长连接的客户端。可以理解的是,该多业务为两个或者两个以上的业务,当然如果是单一业务使用该长连接,则不需要向长连接的服务端申请业务标示。
长连接的客户端,还用于接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的客户端接收到业务标示后,把各业务标示与对应业务的关键信息作为一对键值进行关联存储于数据库中,以便根据业务标示获知业务的关键信息。业务的关键信息可包括业务的名称。
本实施例中,根据长连接的客户端所在的终端,获取该终端的属性信息作为识别终端的唯一的特征值,例如,该特征值可包括连接的客户端所在终端的物理地址、版本号等。然后将各个业务标示和长连接的特征值,一起传给长连接的服务端,以供长连接的服务端根据各个业务标示和长连接的特征值生成的各个业务对应的业务ID。
长连接的服务端,还用于根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
长连接的服务端接收到各个业务标示和长连接的特征值后,根据每个业务向长连接的服务端申请的各自对应的业务标示,核对各个业务标示是否正确,即是否为之前向长连接的服务端申请的业务标示。若正确,则长连接的服务端根据长连接的特征值和各个业务标示,生成各个业务对应的唯一的业务ID,并将各个业务ID及对应的业务标示返回给长连接的客户端。长连接的客户端收到各个业务ID及对应的业务标示后,将每个业务对应的业务ID,通过业务标示把各个业务的业务ID、业务标示和业务关键信息三者进行关联存储于数据库中,以对上述匹配存储各个标示与对应业务的关键信息的数据库进行更新。
对应地,如图4所示,提出本发明一种长连接的心跳时间获取方法一实施例。该实施例的长连接的心跳时间获取方法包括:
步骤S1、根据当前的网络环境确定初始心跳时间;
当上述长连接的客户端与长连接的服务端建立连接后,长连接的客户端将自身相关信息发送至长连接的服务端,供长连接的服务端识别长连接的客户端,以完成长连接的服务端上线初始化的过程。
由于初始心跳时间与网络环境有关,因此长连接的客户端通过检测当前网络环境,根据终端所处的当前网络环境初始化初始心跳时间。当然,也可以不需要检测网络环境,直接将默认的初始值赋给初始心跳时间,该默认的初始值可设置为10~50秒,或者根据具体情况而灵活设置。
步骤S2、根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
上述得到初始心跳时间后,长连接的客户端根据公式:f(n)=2*f(n-1)计算心跳时间,其中,n≥1,初始心跳时间f(0)为10~50秒。当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。长连接的客户端得到第一心跳时间后,将第一心跳时间传送至长连接的服务端。当接收到长连接的服务端的反馈时,说明该第一心跳时间对于维持长连接的存活是成功的,然后以第一心跳时间作为新的初始心跳时间计算第二心跳时间,即将n以1的步长递增根据公式重复计算第二心跳时间。将得到的第二心跳时间继续发送至至长连接的服务端,直至接收不到所述长连接的服务端的反馈,停止通过上述公式计算第二心跳时间。需要说明的是,长连接的服务端的反馈可以是返回长连接的客户端所发送的心跳时间,也可以是根据预先设置的协议返回指定的信息。通过上述公式重复计算第二心跳时间,使得在寻找最优心跳时间的过程中,当心跳时间快速增加时,尽量少次数找到心跳时间的临界值。
需要说明的是,为了提高获取心跳时间的可靠性,长连接的客户端可以将第一心跳时间或第二心跳时间多次传送至长连接的服务端。当将第一心跳时间或第二心跳时间传送至长连接的服务端的预设传送次数未满足接收到长连接的服务端反馈的预置次数,则确定未接收到长连接的服务端的反馈。该预设传送次数及预置次数可根据具体情况而灵活设置。例如,长连接的客户端将第一心跳时间传送3次至长连接的服务端,在这3次中,若3次都收到长连接的服务端的反馈,则说明长连接的客户端将第一心跳时间发送至长连接的服务端时,能够成功收到长连接的服务端的反馈。
步骤S3、在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
当长连接的客户端未接收到长连接的服务端针对第二心跳时间的反馈时,利用初始心跳时间进行尝试,即长连接的客户端将初始心跳时间传送至长连接的服务端,以检测长连接的客户端是否会接收到长连接的服务端返回该初始心跳时间。需要说明的是,长连接的客户端可将初始心跳时间多次传送至长连接的服务端,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。例如,长连接的客户端可将初始心跳时间5次传送至长连接的服务端,当满足按时收到长连接的服务端的5次或者4次的反馈时,说明成功接收到长连接的服务端的反馈,否则失败。
本实施例中,当长连接的客户端未接收到长连接的服务端针对初始心跳时间的反馈时,转入执行步骤1,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对初始心跳时间的反馈时,利用第二心跳时间的前一次心跳时间进行尝试,即将第二心跳时间的前一次心跳时间传送至长连接的服务端。该第二心跳时间为接收不到长连接的服务端针对第二心跳时间的反馈时,最后发送的第二心跳时间。前一次心跳时间传送的次数可根据具体情况而灵活设置,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。
步骤S4、接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
本实施例中,当长连接的客户端未接收到长连接的服务端针对前一次心跳时间的反馈时,转入执行步骤1,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对前一次心跳时间的反馈时,根据公式B0=(f(n)-f(n-1))/2计算初始心跳增加步长。其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间。
步骤S5、根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
在上述得到初始心跳增加步长B0后,可根据公式:Bn=(Bn-1)/2计算新的心跳增加步长。其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长。然后根据公式f′(n)=f′(n-1)+Bn计算第三心跳时间和第四心跳时间。根据该公式可在上述得到临界值后,快速寻找到最优值。其中,n≥1,当n=1时,可根据初始心跳增加步长B0及第二心跳时间计算得到的第三心跳时间。然后长连接的客户端将得到的第三心跳时间发送至长连接的服务端,并在接收到长连接的服务端的反馈时,将n以1的步长递增,根据该公式计算得到第四心跳时间。当未接收到长连接的服务端的反馈时,转入执行步骤S3,重新将初始心跳时间发送至长连接的服务端进行尝试。然后长连接的客户端将得到的第四心跳时间发送至长连接的服务端,并在接收到长连接的服务端针对第四心跳时间的反馈时,递增n继续计算第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
对应地,如图5所示,提出本发明一种长连接的心跳时间获取装置一实施例。该实施例的长连接的心跳时间获取装置包括:
初始心跳时间获取模块100,用于根据当前的网络环境确定初始心跳时间;
当上述长连接的客户端与长连接的服务端建立连接后,长连接的客户端将自身相关信息发送至长连接的服务端,供长连接的服务端识别长连接的客户端,以完成长连接的服务端上线初始化的过程。
由于初始心跳时间与网络环境有关,因此长连接的客户端通过检测当前网络环境,由初始心跳时间获取模块100根据终端所处的当前网络环境初始化初始心跳时间。当然,也可以不需要检测网络环境,直接将默认的初始值赋给初始心跳时间,该默认的初始值可设置为10~50秒,或者根据具体情况而灵活设置。
第二心跳时间获取模块200,用于根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
上述得到初始心跳时间后,长连接的客户端调用第二心跳时间获取模块200根据公式:f(n)=2*f(n-1)计算心跳时间,其中,n≥1,初始心跳时间f(0)为10~50秒。当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。长连接的客户端得到第一心跳时间后,将第一心跳时间传送至长连接的服务端。当接收到长连接的服务端的反馈时,说明该第一心跳时间对于维持长连接的存活是成功的,然后以第一心跳时间作为新的初始心跳时间计算第二心跳时间,即将n以1的步长递增根据公式重复计算第二心跳时间。将得到的第二心跳时间继续发送至至长连接的服务端,直至接收不到所述长连接的服务端的反馈,停止通过上述公式计算第二心跳时间。需要说明的是,长连接的服务端的反馈可以是返回长连接的客户端所发送的心跳时间,也可以是根据预先设置的协议返回指定的信息。通过上述公式重复计算第二心跳时间,使得在寻找最优心跳时间的过程中,当心跳时间快速增加时,尽量少次数找到心跳时间的临界值。
需要说明的是,为了提高获取心跳时间的可靠性,长连接的客户端可以将第一心跳时间或第二心跳时间多次传送至长连接的服务端。当将第一心跳时间或第二心跳时间传送至长连接的服务端的预设传送次数未满足接收到长连接的服务端反馈的预置次数,则确定未接收到长连接的服务端的反馈。该预设传送次数及预置次数可根据具体情况而灵活设置。例如,长连接的客户端将第一心跳时间传送3次至长连接的服务端,在这3次中,若3次都收到长连接的服务端的反馈,则说明长连接的客户端将第一心跳时间发送至长连接的服务端时,能够成功收到长连接的服务端的反馈。
传送模块300,用于在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
当长连接的客户端未接收到长连接的服务端针对第二心跳时间的反馈时,利用初始心跳时间进行尝试,即长连接的客户端调用传送模块300将初始心跳时间传送至长连接的服务端,以检测长连接的客户端是否会接收到长连接的服务端返回该初始心跳时间。需要说明的是,长连接的客户端可将初始心跳时间多次传送至长连接的服务端,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。例如,长连接的客户端可将初始心跳时间5次传送至长连接的服务端,当满足按时收到长连接的服务端的5次或者4次的反馈时,说明成功接收到长连接的服务端的反馈,否则失败。
本实施例中,当长连接的客户端未接收到长连接的服务端针对初始心跳时间的反馈时,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对初始心跳时间的反馈时,利用第二心跳时间的前一次心跳时间进行尝试,即由传送模块300将第二心跳时间的前一次心跳时间传送至长连接的服务端。该第二心跳时间为接收不到长连接的服务端针对第二心跳时间的反馈时,最后发送的第二心跳时间。前一次心跳时间传送的次数可根据具体情况而灵活设置,根据是否满足按时收到长连接的服务端的预设反馈次数而进行相应处理。
初始心跳增加步长获取模块400,用于接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
本实施例中,当长连接的客户端未接收到长连接的服务端针对前一次心跳时间的反馈时,重新初始化心跳时间。当长连接的客户端接收到长连接的服务端针对前一次心跳时间的反馈时,由初始心跳增加步长获取模块400根据公式B0=(f(n)-f(n-1))/2计算初始心跳增加步长。其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间。
第四心跳时间获取模块500,用于根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
在上述得到初始心跳增加步长B0后,第四心跳时间获取模块500可根据公式:Bn=(Bn-1)/2计算新的心跳增加步长。其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长。然后由第四心跳时间获取模块500根据公式f′(n)=f′(n-1)+Bn计算第三心跳时间和第四心跳时间。根据该公式可在上述得到临界值后,快速寻找到最优值。其中,n≥1,当n=1时,可根据初始心跳增加步长B0及第二心跳时间计算得到的第三心跳时间。然后长连接的客户端将得到的第三心跳时间发送至长连接的服务端,并在接收到长连接的服务端的反馈时,将n以1的步长递增,根据该公式计算得到第四心跳时间。当未接收到长连接的服务端的反馈时,重新将初始心跳时间发送至长连接的服务端进行尝试。然后长连接的客户端将得到的第四心跳时间发送至长连接的服务端,并在接收到长连接的服务端针对第四心跳时间的反馈时,递增n继续计算第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
对应地,本发明一种提出终端,该终端包括上述结构的长连接的心跳时间获取装置,即包括初始心跳时间获取模块100、第二心跳时间获取模块200、传送模块300、初始心跳增加步长获取模块400及第四心跳时间获取模块500,该终端。该终端可以是手机、电脑、智能电视等。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (17)
1.一种多业务共享长连接方法,其特征在于,所述多业务共享长连接方法包括以下步骤:
长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
长连接的客户端将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的服务端在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
长连接的客户端根据业务ID将业务信息推送至业务客户端。
2.如权利要求1所述的多业务共享长连接方法,其特征在于,所述长连接的服务端根据各业务的申请请求为各业务配置唯一的业务ID并发送至长连接的客户端包括:
长连接的服务端接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
长连接的客户端接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的服务端根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
3.如权利要求1所述的多业务共享长连接方法,其特征在于,所述长连接的客户端建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活包括:
根据当前的网络环境确定初始心跳时间;
根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
4.如权利要求3所述的多业务共享长连接方法,其特征在于,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
5.如权利要求4所述的多业务共享长连接方法,其特征在于,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
6.如权利要求3-5中任一项所述的多业务共享长连接方法,其特征在于,所述根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈包括:
当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
7.一种多业务共享长连接***,其特征在于,所述多业务共享长连接***包括长连接的客户端和长连接的服务端,其中,
长连接的客户端,用于建立用于传输数据至长连接的服务端的通道,并获取心跳时间维持长连接的存活;
长连接的服务端,用于根据各业务的申请请求为各业务配置唯一的业务ID,并将所述业务ID发送至长连接的客户端;
长连接的客户端,用于将接收到的所述业务ID传送至对应的业务客户端,以供其上报至与其对应的业务服务端;
长连接的服务端,用于在接收到业务服务端推送的业务信息后,根据业务ID通过所述通道将业务信息发送至长连接的客户端;
长连接的客户端,用于根据业务ID将业务信息推送至业务客户端。
8.如权利要求7所述的多业务共享长连接***,其特征在于,所述长连接的服务端,还用于接收各业务发送的业务标示申请请求,并根据该业务标示申请请求返回业务标示至业务客户端;
长连接的客户端,还用于接收业务客户端发送的业务标示,并根据长连接的客户端所在终端的属性信息建立用以识别终端的唯一的特征值,将所述各个业务标示和特征值一起传送至所述长连接的服务端;
长连接的服务端,还用于根据所述业务标示和特征值生成与各个业务对应的业务ID,并将所述业务ID发送至长连接的客户端。
9.一种长连接的心跳时间获取方法,其特征在于,所述长连接的心跳时间获取方法包括以下步骤:
根据当前的网络环境确定初始心跳时间;
根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
10.如权利要求9所述的长连接的心跳时间获取方法,其特征在于,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
11.如权利要求10所述的长连接的心跳时间获取方法,其特征在于,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
12.如权利要求9-11中任一项所述的长连接的心跳时间获取方法,其特征在于,所述所述根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈包括:
当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
13.一种长连接的心跳时间获取装置,其特征在于,所述长连接的心跳时间获取装置包括:
初始心跳时间获取模块,用于根据当前的网络环境确定初始心跳时间;
第二心跳时间获取模块,用于根据所述初始心跳时间计算第一心跳时间,并将所述第一心跳时间传送至所述长连接的服务端,接收到所述长连接的服务端的反馈时,以第一心跳时间作为新的初始心跳时间计算第二心跳时间,继续发送第二心跳时间至长连接的服务端,直至接收不到所述长连接的服务端的反馈;
传送模块,用于在未接收到所述长连接的服务端的反馈时,将所述初始心跳时间传送至所述长连接的服务端,在接收到所述长连接的服务端针对初始心跳时间的反馈时,将第二心跳时间的前一次心跳时间传送至所述长连接的服务端;
初始心跳增加步长获取模块,用于接收到所述长连接的服务端的反馈后,根据所述第二心跳时间与所述前一次心跳时间计算初始心跳增加步长;
第四心跳时间获取模块,用于根据初始心跳增加步长及所述第二心跳时间计算第三心跳时间,根据初始心跳增加步长计算新的心跳增加步长,根据新的心跳增加步长和第三心跳时间计算得到第四心跳时间,直至得到的第四心跳时间达到预设的极限值或者心跳增加步长为零,将此时的第四心跳时间作为维持长连接的存活的心跳时间。
14.如权利要求13所述的长连接的心跳时间获取装置,其特征在于,按以下公式计算心跳时间:
f(n)=2*f(n-1);
其中,n≥1,初始心跳时间f(0)为10~50秒;当n=1时,得到第一心跳时间为f(1)=2*f(0);当n递增时,得到第二心跳时间。
15.如权利要求14所述的长连接的心跳时间获取装置,其特征在于,按以下公式计算初始心跳增加步长:
B0=(f(n)-f(n-1))/2;其中,n≥1,B0表示初始心跳增加步长,f(n)表示第二心跳时间,f(n-1)表示第二心跳时间的前一次心跳时间;
按以下公式计算新的心跳增加步长:
Bn=(Bn-1)/2;其中,n≥1,Bn表示新的心跳增加步长,Bn-1表示新的心跳增加步长的前一次心跳增加步长;
按以下公式计算第三心跳时间和第四心跳时间:
f′(n)=f′(n-1)+Bn;其中,n≥1,当n=1时,计算得到的第三心跳时间;当n递增时,得到第四心跳时间。
16.如权利要求13-15中任一项所述的长连接的心跳时间获取装置,其特征在于,所述第二心跳时间获取模块还用于,当将第一心跳时间或第二心跳时间传送至所述长连接的服务端的预设传送次数未满足接收到所述长连接的服务端反馈的预置次数,则确定未接收到所述长连接的服务端的反馈。
17.一种终端,其特征在于,所述终端包括如权利要求13-16所述的长连接的心跳时间获取装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510567873.5A CN105227398B (zh) | 2015-09-08 | 2015-09-08 | 多业务共享长连接方法、***及其装置、终端 |
PCT/CN2015/097955 WO2017041381A1 (zh) | 2015-09-08 | 2015-12-18 | 多业务共享长连接方法、***及其装置、终端 |
AU2015400309A AU2015400309B2 (en) | 2015-09-08 | 2015-12-18 | Long connection sharing method for multi-businesses, system and device, terminal |
US15/414,627 US10263872B2 (en) | 2015-09-08 | 2017-01-25 | Long connection sharing method for multi-businesses, system and device, terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510567873.5A CN105227398B (zh) | 2015-09-08 | 2015-09-08 | 多业务共享长连接方法、***及其装置、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227398A true CN105227398A (zh) | 2016-01-06 |
CN105227398B CN105227398B (zh) | 2018-09-04 |
Family
ID=54996108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510567873.5A Active CN105227398B (zh) | 2015-09-08 | 2015-09-08 | 多业务共享长连接方法、***及其装置、终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10263872B2 (zh) |
CN (1) | CN105227398B (zh) |
AU (1) | AU2015400309B2 (zh) |
WO (1) | WO2017041381A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911795A (zh) * | 2017-03-27 | 2017-06-30 | 努比亚技术有限公司 | 一种数据请求处理装置及方法 |
CN109286665A (zh) * | 2018-09-17 | 2019-01-29 | 北京龙拳风暴科技有限公司 | 实时移动游戏长链接处理方法及装置 |
CN112187899A (zh) * | 2020-09-18 | 2021-01-05 | 北京金山云网络技术有限公司 | 云托管通信方法、装置、***、计算机设备和存储介质 |
CN112383617A (zh) * | 2020-11-12 | 2021-02-19 | 百度在线网络技术(北京)有限公司 | 进行长连接的方法、装置、终端设备以及介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547511B (zh) * | 2017-09-22 | 2022-02-22 | ***通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及*** |
CN108763200A (zh) * | 2018-05-15 | 2018-11-06 | 达而观信息科技(上海)有限公司 | 中文分词方法及装置 |
CN111092809B (zh) * | 2019-12-30 | 2022-08-16 | 北京每日优鲜电子商务有限公司 | 实时推送信息的方法、装置、计算机设备及存储介质 |
CN114205270B (zh) * | 2020-09-17 | 2023-09-22 | 北京三快在线科技有限公司 | 设备状态确定方法、装置、存储介质及电子设备 |
CN115396313A (zh) * | 2022-08-22 | 2022-11-25 | 度小满科技(北京)有限公司 | 通信方法、装置、存储介质及电子装置 |
CN116600016A (zh) * | 2023-07-19 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 站点调用方法及装置、存储介质及电子装置 |
CN117857525B (zh) * | 2024-03-04 | 2024-05-17 | 上海融和元储能源有限公司 | 一种基于高效传输协议的工业数据*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080165796A1 (en) * | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Method for a heartbeat algorithm for a dynamically changing network environment |
CN102291808A (zh) * | 2011-06-03 | 2011-12-21 | 莫雅静 | 一种网络通信方法、通信设备以及通信设备的中间件 |
CN103139303A (zh) * | 2013-02-07 | 2013-06-05 | 网易(杭州)网络有限公司 | 一种用于保持连接的心跳方法、装置及*** |
CN103685241A (zh) * | 2013-11-26 | 2014-03-26 | 中国科学院计算技术研究所 | 一种维持tcp长连接的自适应心跳方法及其*** |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | ***通信集团公司 | 数据传输链路的保活方法、装置及*** |
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送*** |
CN104144159A (zh) * | 2014-06-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4509536B2 (ja) * | 2003-11-12 | 2010-07-21 | 株式会社日立製作所 | 情報管理を支援する情報処理装置、情報管理方法、プログラム、および記録媒体 |
US20090251283A1 (en) * | 2006-05-02 | 2009-10-08 | Orient Instrument Computer Co., Ltd. | Property management system |
WO2009061399A1 (en) * | 2007-11-05 | 2009-05-14 | Nagaraju Bandaru | Method for crawling, mapping and extracting information associated with a business using heuristic and semantic analysis |
CN103986740A (zh) | 2013-02-07 | 2014-08-13 | 中兴通讯股份有限公司 | 一种支持多终端应用的永远在线架构的方法及设备及*** |
US10475075B2 (en) * | 2013-03-15 | 2019-11-12 | Marchex, Inc. | Correlated consumer telephone numbers and user identifiers for advertising retargeting |
CN104767775B (zh) * | 2014-01-06 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 网页应用消息推送方法及*** |
US20150301875A1 (en) * | 2014-04-22 | 2015-10-22 | Andreas Harnesk | Persisting and managing application messages |
-
2015
- 2015-09-08 CN CN201510567873.5A patent/CN105227398B/zh active Active
- 2015-12-18 WO PCT/CN2015/097955 patent/WO2017041381A1/zh active Application Filing
- 2015-12-18 AU AU2015400309A patent/AU2015400309B2/en active Active
-
2017
- 2017-01-25 US US15/414,627 patent/US10263872B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080165796A1 (en) * | 2007-01-05 | 2008-07-10 | International Business Machines Corporation | Method for a heartbeat algorithm for a dynamically changing network environment |
CN102291808A (zh) * | 2011-06-03 | 2011-12-21 | 莫雅静 | 一种网络通信方法、通信设备以及通信设备的中间件 |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | ***通信集团公司 | 数据传输链路的保活方法、装置及*** |
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送*** |
CN103139303A (zh) * | 2013-02-07 | 2013-06-05 | 网易(杭州)网络有限公司 | 一种用于保持连接的心跳方法、装置及*** |
CN103685241A (zh) * | 2013-11-26 | 2014-03-26 | 中国科学院计算技术研究所 | 一种维持tcp长连接的自适应心跳方法及其*** |
CN104144159A (zh) * | 2014-06-26 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 智能心跳保活方法及智能心跳保活*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911795A (zh) * | 2017-03-27 | 2017-06-30 | 努比亚技术有限公司 | 一种数据请求处理装置及方法 |
CN109286665A (zh) * | 2018-09-17 | 2019-01-29 | 北京龙拳风暴科技有限公司 | 实时移动游戏长链接处理方法及装置 |
CN112187899A (zh) * | 2020-09-18 | 2021-01-05 | 北京金山云网络技术有限公司 | 云托管通信方法、装置、***、计算机设备和存储介质 |
CN112187899B (zh) * | 2020-09-18 | 2022-05-06 | 北京金山云网络技术有限公司 | 云托管通信方法、装置、***、计算机设备和存储介质 |
CN112383617A (zh) * | 2020-11-12 | 2021-02-19 | 百度在线网络技术(北京)有限公司 | 进行长连接的方法、装置、终端设备以及介质 |
CN112383617B (zh) * | 2020-11-12 | 2024-05-24 | 百度在线网络技术(北京)有限公司 | 进行长连接的方法、装置、终端设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017041381A1 (zh) | 2017-03-16 |
AU2015400309A1 (en) | 2017-03-23 |
US10263872B2 (en) | 2019-04-16 |
US20170134256A1 (en) | 2017-05-11 |
CN105227398B (zh) | 2018-09-04 |
AU2015400309B2 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227398A (zh) | 多业务共享长连接方法、***及其装置、终端 | |
CN106100914B (zh) | 一种云ac告警信息的推送方法及*** | |
US7957297B2 (en) | Termination message for wireless wide area network routers | |
CN104636986B (zh) | 一种基于服务的调度远程安全遥控校核的方法 | |
CN106817679B (zh) | 基于无线通信技术的用于定位服务的网络*** | |
CN103905579A (zh) | 平台与终端间的通信方法、通信***、平台及相关设备 | |
CN105357283A (zh) | 智能可佩戴设备的长连接建立方法及服务器、终端 | |
CN111263338A (zh) | 蓝牙Mesh网络的配网方法与相关配网设备及*** | |
CN103312593B (zh) | 一种消息分发***及方法 | |
CN103701630A (zh) | 用于数据监测的数据处理方法和装置 | |
CN105072149A (zh) | 通过代理网关建立远程通信的方法及装置 | |
CN102143077B (zh) | 路由设备多业务链接实现方法、***及路由设备 | |
CN103442003A (zh) | 面向scada***的数据采集回填***及其方法 | |
CN103281161A (zh) | 一种gps定位终端与后台服务器的通讯方法 | |
CN103209195A (zh) | 数据获取方法、终端以及远端设备 | |
WO2009086199A3 (en) | Method and system for managing the reception of messages in a communication network | |
CN104580346A (zh) | 数据传输方法及装置 | |
CN101980508B (zh) | 网络监控***上的网络自适应运行模式 | |
CN104539749A (zh) | 一种基于虚拟ip地址的连接方法及装置 | |
CN105703967B (zh) | 一种检测标签交换路径连通性的方法及装置 | |
CN102917212A (zh) | 一种基于rtp和rtsp的3g无线视频监控实现方法及*** | |
CN104009961A (zh) | 一种PPPoE会话标识分配方法及设备 | |
CN105791023B (zh) | 光网络单元onu管理的方法、装置以及*** | |
US10809092B2 (en) | Gas data transmission method based on compound internet of things (IoT) and IoT system | |
CN107659636A (zh) | 基于复合物联网的热量数据传输方法及物联网*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |