一种发送心跳报文的方法、装置及系统的制作方法

文档序号:7817625阅读:638来源:国知局
一种发送心跳报文的方法、装置及系统的制作方法
【专利摘要】本发明公开了一种发送心跳报文的方法、装置及系统,涉及互联网【技术领域】,解决了终端频繁发送心跳报文的问题。本发明的方法包括:向服务器周期性发送主心跳报文;接收服务器发送的心跳应答包;根据心跳应答包中的执行状态参数,确定服务器待下发的任务;周期性发送对应待下发的任务的从心跳报文,以便接收服务器下发的对应任务。本发明主要用于局域网中的网络系统。
【专利说明】一种发送心跳报文的方法、装置及系统

【技术领域】
[0001]本发明涉及互联网【技术领域】,特别是涉及一种发送心跳报文的方法、装置及系统。

【背景技术】
[0002]通常情况下终端要执行多重任务操作,这些任务为了在网络侧保持自己的在线状态,需要向网络侧的服务器发送心跳报文,询问是否有新任务执行,服务器接收到心跳报文后回复一个固定信息,用以指示任务的执行状态。
[0003]在实际的网络运行环境下,每次达到心跳时间时,终端都会向服务器发送各个任务的心跳报文,服务器需要下发任务时会针对当前的接收的心跳报文进行任务响应,在接收到服务器回复的固定信息后,终端调用操作系统留给各个任务的应用程序编程接口(Applicat1n Program Interface,简称API)判断是否有新任务执行。
[0004]在上述发送心跳报文的过程中,发明人发现:当终端执行的任务越来越多时,终端不断向服务器发送各个任务的心跳报文将会导致发送心跳报文的数量越来越多,使得终端与网络侧的服务器频繁交互。虽然心跳报文数据量较小,但是由于其发送数量较大,因此势必会占用较多的信令资源和数据资源,造成终端处理资源、服务器处理资源以及网络传输资源的浪费,会给网络造成巨大的负担。


【发明内容】

[0005]有鉴于此,本发明提出了一种发送心跳报文的方法、装置及系统,能够解决终端频繁发送心跳报文的问题。
[0006]依据本发明的第一个方面,本发明提供了一种发送心跳报文的方法,包括:
[0007]向服务器周期性发送主心跳报文,主心跳报文用于获取服务器返回的心跳应答包;
[0008]接收服务器发送的心跳应答包,心跳应答包中携带有针对不同任务的执行状态参数;
[0009]根据心跳应答包中的执行状态参数,确定服务器待下发的任务;
[0010]周期性发送对应待下发的任务的从心跳报文,以便接收服务器下发的对应任务。
[0011]依据本发明的第二个方面,本发明还提供了一种发送心跳报文的装置,所述装置包括:
[0012]发送单元,用于向服务器周期性发送主心跳报文,主心跳报文用于获取服务器返回的心跳应答包;
[0013]接收单元,用于接收服务器根据发送单元发送的主心跳报文所发送的心跳应答包,心跳应答包中携带有针对不同任务的执行状态参数;
[0014]确定单元,用于根据接收单元接收的心跳应答包中的执行状态参数,确定服务器待下发的任务;
[0015]所述发送单元,还用于周期性发送对应确定单元确定的待下发的任务的从心跳报文,以便接收单元接收服务器下发的对应任务。
[0016]依据本发明的第三个方面,本发明还提供了一种发送心跳报文的系统,所述系统包括服务器和终端,其中,所述终端包含如前第二个方面所述的装置。
[0017]借由上述技术方案,本发明实施例提供的发送心跳报文的方法、装置及系统,能够向服务器周期性发送主心跳报文,以获取携带有不同任务的执行状态参数的心跳应答包,从而根据该执行状态参数确定对应的待下发任务,并发送其从心跳报文,以便接收服务器下发的对应任务。与现有技术相比,本发明能够在只有新任务要执行时才发送用于任务响应的从心跳报文,不仅能够有效减少无任务状态下发送心跳报文的数量,而且还不影响任务的及时响应和下发。
[0018]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。

【专利附图】

【附图说明】
[0019]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0020]图1示出了本发明实施例提供的一种发送心跳报文的方法的流程图;
[0021]图2示出了本发明实施例提供的一种发送心跳报文的装置的结构示意图;
[0022]图3示出了本发明实施例提供的另一种发送心跳报文的装置的结构示意图;
[0023]图4示出了本发明实施例提供的另一种发送心跳报文的装置的结构示意图;
[0024]图5示出了本发明实施例提供的另一种发送心跳报文的装置的结构示意图;
[0025]图6示出了本发明实施例提供的一种发送心跳报文的系统的示意图。

【具体实施方式】
[0026]下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027]为了解决终端频繁发送心跳报文的问题,本发明实施例提供了一种发送心跳报文的方法,如图1所示,该方法包括:
[0028]101、向服务器周期性发送主心跳报文。
[0029]步骤101中的所述主心跳报文用于获取所述服务器返回的心跳应答包。在实际的网络运行过程中,终端需要在网络侧的服务器的授权下执行多重任务操作,因此终端需要保持在网络侧的在线状态。终端维持其在线状态是通过周期性向服务器发送心跳报文的方式实现的。当服务器有新任务指示终端执行时,就会对接收到的终端发送的心跳报文进行响应,向终端授权执行新任务。无论是哪种格式的心跳报文,其被周期性发送给服务器,月艮务器收到后可以确定终端处于网络连接状态,如果服务器需要授权终端执行新任务,则月艮务器可以对终端发送的心跳报文进行响应,向终端下发执行新任务的指令。如果服务器隔一定时间未收到终端发送的心跳报文,则服务器可以判定终端已经断开,从而进行相应的终端断开逻辑处理。
[0030]在本实施例中,用于保持终端在线状态的心跳报文确定为主心跳报文,所述主心跳报文用于获取服务器返回的心跳应答包。主心跳报文不仅起着保持终端在线状态的作用,而且周期性向服务器发送主心跳报文还能使服务器随时对主心跳报文进行响应,及时向终端下发新心跳应答包。
[0031]102、接收服务器发送的心跳应答包。
[0032]步骤102中的所述心跳应答包携带有针对不同任务的执行状态参数。在上述步骤101向服务器周期性发送主心跳报文的过程中,如果服务器没有新任务要授权终端执行,则服务器不会对终端发送的主心跳报文进行响应,所述主心跳报文只起着保持终端在网络侧的在线状态的作用。当服务器有新任务要授权终端执行时,服务器会对终端发送的主心跳报文进行响应,向终端下发任务执行指令。所述任务执行指令可以通过心跳应答包的方式实现,所述心跳应答包中可以携带有针对不同任务的执行状态参数。
[0033]在上述当服务器有新任务要授权终端执行时,服务器并不一定会立即对终端发送的主心跳报文进行响应并下发心跳应答包的,服务器也可以经过一段时间获取一部分新任务后再对终端发送的主心跳报文进行响应并下发心跳应答包,以使得心跳应答包中可以携带有更多的针对不同任务的执行状态参数。
[0034]本实施例中所述的不同任务的执行状态参数既要有表征不同任务的参数,也要有表征执行状态的参数。其中,用于表征所述不同任务的参数通常在最初确定后会固定不变,即不同任务会有对应的不同参数;用于表征所述执行状态的参数可以为连续变化的数值,也可以为两个数值或两个字母,具体的本实施例对此不作限制。其中,所述连续变化的数值或所述两个数值或两个字母都可以用来表征终端是否需要执行新任务。
[0035]103、根据心跳应答包中的执行状态参数,确定服务器待下发的任务。
[0036]终端在接收到服务器响应心跳报文下发的心跳应答包后,根据所述心跳应答包中携带的不同任务的执行状态参数,判断出服务器待下发的任务,继而发送待下发的任务的从心跳报文,以便服务器及时对待下发的任务的从心跳报文作出响应。在判断服务器待下发的任务的过程中,可以根据不同任务的执行状态参数的变化情况判断出待下发任务,也可以根据特定的数值或字母判断出待下发任务,具体的本实施例对此不作限制。
[0037]104、周期性发送对应待下发的任务的从心跳报文,以便接收服务器下发的对应任务。
[0038]步骤104是在步骤103中确定了服务器待下发的任务后终端开始向服务器发送对应待下发的任务的从心跳报文,这里所说的从心跳报文在本质上即报文格式上可以与主心跳报文一致,只不过主心跳报文不仅起着保持终端在线状态的目的,还保证了服务器能随时对主心跳报文作出响应,及时向终端下发心跳应答包。而从心跳报文的目的则在于当服务器有任务需要下发给终端时,终端能够及时发送对应待下发任务的从心跳报文,使得服务器能及时对从心跳报文作出响应,保证服务器下发任务时不会出现延迟现象。
[0039]服务器在实际下发任务的过程中,并不一定是每次在接收到终端发送的从心跳报文后立即进行响应并下发任务的,如果终端只发送一次从心跳报文的话,很有可能使服务器无法响应从心跳报文。因此,在服务器对从心跳报文作出响应之前,终端要周期性的向服务器发送从心跳报文,保证服务器能够在需要对从心跳报文进行响应时,及时接收到终端发送的从心跳报文,从而向终端下发从心跳报文对应的任务。
[0040]本实施例中所指的主心跳报文及从心跳报文,其格式可以为网络互连协议报文(Internet Protocol报文,简称IP报文)、传输控制协议报文(Transmiss1n ControlProtocol报文,简称TCP报文)、超文本传送协议报文(Hypertext transfer protocol报文,简称HTTP报文)、用户数据报协议报文(User Datagram Protocol报文,简称UDP报文)等,本实施例对心跳报文的格式不作限制。
[0041]本发明实施例提供的发送心跳报文的方法,能够向服务器周期性发送主心跳报文,以获取携带有不同任务的执行状态参数的心跳应答包,从而根据该执行状态参数确定对应的待下发任务,并发送其从心跳报文,以便接收服务器下发的对应任务。与现有技术相t匕,本发明实施例能够在只有新任务要执行时才发送用于任务响应的从心跳报文,不仅能够有效减少无任务状态下发送心跳报文的数量,而且还不影响任务的及时响应和下发。
[0042]进一步的,作为对上述实施例的细化和扩展,上述步骤103中心跳应答包携带的不同任务的执行状态参数可以以映射表的形式呈现,终端根据映射表中的执行状态参数确定其映射的任务是否为服务器待下发的任务。
[0043]在实施过程中,不同的任务对应有不同的ID或其他标识,执行状态参数可以对应一个关键值,例如字符、数字等,各个任务与相应的执行状态参数一一映射。终端和服务器中都保存有各自任务与当前的执行状态参数的映射表,服务器在有新任务要下发时,会修改映射表中相应任务的执行状态参数,向终端下发包含有修改后映射表的心跳应答包。终端在接收到心跳应答包后,将自身保存的映射表与服务器修改后的映射表进行比对,当发现某个或某几个任务的执行状态参数发生变化时,终端确定这些执行状态参数变化的任务为服务器待下发的新任务。随即,终端向服务器发送这些业务的从心跳报文,以便服务器对这些任务的从心跳报文进行响应并下发新任务。
[0044]示例性的,在不同的任务中,开关变化任务对应的标识可以定为Switch、扫描任务对应的标识可以定为Scan、策略变化任务对应的标识可以定为Strategy等;执行状态参数可以按照阿拉伯数字1、2、3、4……表征。以扫描任务为例,在没有新任务要执行时,当前终端保存的映射表中的扫描任务Scan的执行状态为1,当有新的扫描任务时,服务器下发的映射表中的扫描任务Scan的执行状态为2,终端接收了服务器下发的映射表并与本地保存的映射表进行比对,确定并执行了新的扫描任务后,会对服务器发送的映射表进行本地保存,终端此时保存的映射表中的扫描任务Scan的执行状态就变为2,以供下次和服务器发送的映射表进行比对。如此往复,当终端再次执行新的扫描任务后,其扫描任务Scan的执行状态会依次变为3、4、5、6……等等。上述只是以扫描任务为例,同样的方式,也可以执行开关变化任务、策略变化任务、运行脚本任务等等不同的任务,这些任务可以单一执行也可以并行执行,这取决于服务器下发的映射表中有多少任务的执行状态参数发生了变化。
[0045]可选的,也可以将不同任务的执行状态参数以状态标志位的方式来表示,示例性的,所述状态标志位可以设定为T(True)和F(False),T代表有任务执行,F代表无任务执行。这里需要说明的是,以状态标志位T和F代表执行状态参数的方式不需要终端对携带有任务执行状态参数的心跳应答包进行保存和后续比对,这种方式只需要通过在每次接收到心跳应答包后读取不同任务的执行状态参数的状态标志位,如果任务的状态标志位是T,则说明该任务为服务器待下发的任务,如果任务的状态标志位是F,则说明该任务不是服务器待下发的任务。或者,作为另一种可选的方式,标志位也可以由O和I表示。其中,O表征的意义对应于上述F,代表无任务执行;1表征的意义对应于上述T,代表有任务执行。
[0046]上述示例是以一台终端为例,同理,对于多台终端来说,可以在映射表中加入新的参数,即代表不同终端的参数。代表终端的参数可以是IP地址、也可以通过某些算法(如Hash算法)由服务器分配给终端一个能够相互区分的标识。这样映射表中就分别包含了代表终端的参数、代表不同任务的参数以及代表不同任务执行状态的参数,这三种参数之间存在映射关系。或者也可以在代表不同任务的参数上附加一个代表终端的标识。示例性的,代表终端的参数可以由Client 1、Client2、Client3、Client4等依次设定,可以简化为C1、C2、C3、C4等。终端Cl可以对应开关变化任务Switch、策略变化任务Strategy、扫描任务Scan等,终端C2、C3、C4等也可以对应开关变化任务Switch、策略变化任务Strategy、扫描任务Scan等,或者在代表不同任务的参数上附加一个代表终端的标识即Switch-Cl、Strategy-CK Scan-Cl 等,Switch_C2、Strategy_C2、Scan_C2 等。通过不同的映射方式都能够清楚表示不同终端对应的不同任务,以及各自任务的执行状态。具体的本实施例对映射表的映射形式不作限制。
[0047]在终端与服务器进行信息交互的过程中会发生多种情况。例如,当终端由于人为或故障原因从网络连接状态下断开时,服务器中修改任务状态后的心跳应答包可能没有发送给终端,而当终端再次连接入网络时,终端可能已经不需要执行这个修改后的心跳应答包中的任务。这时就有必要对终端断开时服务器已经修改过的心跳应答包进行二次处理。因此为了避免终端在第一次接入网络中时接收到服务器下发的无用的心跳应答包,可选的,在执行步骤101之前,即在终端向服务器周期性发送主心跳报文之前,可以先与服务器进行心跳应答包的初始化同步。所述心跳应答包的初始化同步,可以包括服务器将本地保存的映射表按照终端保存的映射表进行初始化同步,使各自映射表中的任务状态一致;也可以包括终端和服务器将各自映射表的布局初始化同步。
[0048]上述终端第一次连接入网络不仅指的是终端从网络中断开后再次连接入网络,而且还指代新安装的终端首次连接入网络。不论终端以哪种方式第一次连接入网络,服务器与终端进行心跳应答包的初始化同步都能保证终端接收到最新的心跳应答包,执行最新的任务,避免终端执行错误的任务。
[0049]在步骤104周期性发送对应待下发的任务的从心跳报文后,终端最终会接收到服务器下发的对应任务,具体的接收时机即服务器下发从心跳报文对应任务的时机可以如上述步骤102中描述的服务器响应主心跳报文并下发心跳应答包的时机类似,此处不再赘述。
[0050]当终端接收到服务器下发的从心跳报文对应的任务后,发送从心跳报文的目的已经达到。因此,可选的,在步骤104之后可以执行停止发送对应任务的从心跳报文的步骤。在实施过程中,可以选择在接收到服务器下发的任务后立即停止发送相应的从心跳报文,也可以选择在接收到服务器下发的任务后的一定时间内,未再次收到新任务后停止发送相应的从心跳报文。
[0051]这里需要说明的是,停止发送对应任务的从心跳报文的步骤和与服务器进行心跳应答包的初始化同步的步骤既可以出现在同一个实施方式中,也可以分别单独出现在一个实施方式中。它们在不同的实施方式中所起的作用都相同。
[0052]在终端和服务器进行信息交互的具体过程中会出现各种情况。例如,当所有任务都在向服务器发送从心跳报文时,主心跳报文就没有具体的作用了,因此在这种情况下就可以选择停止发送主心跳报文。一旦终端停止发送任何一个任务的从心跳报文,即当终端停止发送至少一个任务的从心跳报文时,应该立即恢复周期性向服务器发送主心跳报文,用于随时接收服务器下发的携带有不同任务执行状态参数的心跳应答包,避免有新任务下发时终端延迟发送对应的从心跳报文。上述操作能够保证终端发送心跳报文的数量始终处于最低状态,且不影响服务器对任务的响应和下发。
[0053]本发明实施例在向服务器周期性发送主心跳报文之前,与服务器进行心跳应答包的初始化同步,保证了终端接收到最新的心跳应答包,避免终端接收并执行错误的任务。同时,主心跳报文的发送及停止机制又将心跳报文的发送数量始终控制在最低状态。
[0054]进一步的,作为对上述方法的实现,本发明实施例还提供了一种发送心跳报文的装置,该装置可以位于终端中,也可以独立于终端但与终端之间具有数据交互关系,用以实现上述实施例提供的不同实施方式所示的方法。如图2所示,该装置包括:发送单元21、接收单元22以及确定单元23,其中,
[0055]发送单元21,用于向服务器周期性发送主心跳报文,主心跳报文用于获取服务器返回的心跳应答包;
[0056]接收单元22,用于接收服务器根据发送单元21发送的主心跳报文所发送的心跳应答包,心跳应答包中携带有针对不同任务的执行状态参数;
[0057]确定单元23,用于根据接收单元22接收的心跳应答包中的执行状态参数,确定服务器待下发的任务;
[0058]所述发送单元21,还用于周期性发送对应确定单元23确定的待下发的任务的从心跳报文,以便接收单元22接收服务器下发的对应任务。
[0059]进一步的,如图3所示,所述确定单元23包括:
[0060]比对模块231,用于将所述执行状态参数与前次接收的执行状态参数进行比对,若两者不同,则将所述执行状态参数对应的任务确定为服务器待下发的任务。
[0061]进一步的,如图4所示,该装置还包括:
[0062]同步单元24,用于在发送单元21向服务器周期性发送主心跳报文之前,与服务器进行心跳应答包的初始化同步。
[0063]进一步的,该接收单元22接收的心跳应答包中所述执行状态参数为一个状态标志位;
[0064]进一步的,如图5所示,所述确定单元23包括:
[0065]读取模块232,用于读取执行状态参数的状态标志位,根据状态标志位确定执行状态参数对应的任务是否为服务器待下发的任务。
[0066]进一步的,该发送单元21,还用于在接收单元22接收到服务器下发的对应任务之后,停止发送对应任务的从心跳报文。
[0067]进一步的,该发送单元21,还用于当周期性发送对应所有待下发的任务的从心跳报文时,停止发送所述主心跳报文;
[0068]该发送单元21,还用于当停止发送至少一个任务的从心跳报文时,恢复周期性发送主心跳报文。
[0069]本发明实施例提供的发送心跳报文的装置,能够向服务器周期性发送主心跳报文,以获取携带有不同任务的执行状态参数的心跳应答包,从而根据该执行状态参数确定对应的待下发任务,并发送其从心跳报文,以便接收服务器下发的对应任务。与现有技术相t匕,本发明实施例能够在只有新任务要执行时才发送用于任务响应的从心跳报文,不仅能够有效减少无任务状态下发送心跳报文的数量,而且还不影响任务的及时响应和下发。
[0070]此外,本发明实施例在向服务器周期性发送主心跳报文之前,与服务器进行心跳应答包的初始化冋步,保证了终端接收到最新的心跳应答包,避免终端接收并执打错误的任务。同时,主心跳报文的发送及停止机制又将心跳报文的发送数量始终控制在最低状态。
[0071]进一步的,作为对上述方法的实现以及上述装置的应用,如图6所示,本发明实施例还提供了一种发送心跳报文的系统,该系统包括服务器61和终端62。终端62包含有上述图2、图3、图4及图5中任一幅所示的装置。
[0072]其中,服务器61用于对终端62发送的某个主心跳报文进行响应,向终端62下发心跳应答包。心跳应答包中携带有针对不同任务的执行状态参数,用于指示终端62发送对应服务器待下发的任务的从心跳报文。
[0073]本发明实施例提供的发送心跳报文的系统,能够向服务器周期性发送主心跳报文,以获取携带有不同任务的执行状态参数的心跳应答包,从而根据该执行状态参数确定对应的待下发任务,并发送其从心跳报文,以便接收服务器下发的对应任务。与现有技术相t匕,本发明实施例能够在只有新任务要执行时才发送用于任务响应的从心跳报文,不仅能够有效减少无任务状态下发送心跳报文的数量,而且还不影响任务的及时响应和下发。
[0074]此外,本发明实施例在向服务器周期性发送主心跳报文之前,与服务器进行心跳应答包的初始化冋步,保证了终端接收到最新的心跳应答包,避免终端接收并执打错误的任务。同时,主心跳报文的发送及停止机制又将心跳报文的发送数量始终控制在最低状态。
[0075]本发明的实施例公开了:
[0076]Al、一种发送心跳报文的方法,其特征在于,所述方法包括:
[0077]向服务器周期性发送主心跳报文,所述主心跳报文用于获取所述服务器返回的心跳应答包;
[0078]接收所述服务器发送的所述心跳应答包,所述心跳应答包中携带有针对不同任务的执行状态参数;
[0079]根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务;
[0080]周期性发送对应所述待下发的任务的从心跳报文,以便接收所述服务器下发的对应任务。
[0081]A2、根据权利要求Al所述的方法,其特征在于,所述根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务,包括:
[0082]将所述执行状态参数与前次接收的执行状态参数进行比对;
[0083]若两者不同,则将所述执行状态参数对应的任务确定为所述服务器待下发的任务。
[0084]A3、根据权利要求A2所述的方法,其特征在于,在所述向服务器周期性发送主心跳报文之前,所述方法进一步包括:
[0085]与所述服务器进行心跳应答包的初始化同步。
[0086]A4、根据权利要求Al所述的方法,其特征在于,所述执行状态参数为一个状态标志位;
[0087]所述根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务,包括:
[0088]读取所述状态标志位;
[0089]根据所述状态标志位确定所述执行状态参数对应的任务是否为所述服务器待下发的任务。
[0090]A5、根据权利要求Al所述的方法,其特征在于,在接收到所述服务器下发的对应任务之后,所述方法进一步包括:
[0091]停止发送所述对应任务的从心跳报文。
[0092]A6、根据权利要求A5所述的方法,其特征在于,当周期性发送对应所有待下发的任务的从心跳报文时,所述方法进一步包括:
[0093]停止发送所述主心跳报文;
[0094]当停止发送至少一个任务的从心跳报文时,所述方法进一步包括:
[0095]恢复周期性发送所述主心跳报文。
[0096]B7、一种发送心跳报文的装置,其特征在于,所述装置包括:
[0097]发送单元,用于向服务器周期性发送主心跳报文,所述主心跳报文用于获取所述服务器返回的心跳应答包;
[0098]接收单元,用于接收所述服务器根据所述发送单元发送的主心跳报文所发送的所述心跳应答包,所述心跳应答包中携带有针对不同任务的执行状态参数;
[0099]确定单元,用于根据所述接收单元接收的所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务;
[0100]所述发送单元,还用于周期性发送对应所述确定单元确定的所述待下发的任务的从心跳报文,以便所述接收单元接收所述服务器下发的对应任务。
[0101]B8、根据权利要求B7所述的装置,其特征在于,所述确定单元包括:
[0102]比对模块,用于将所述执行状态参数与前次接收的执行状态参数进行比对,若两者不同,则将所述执行状态参数对应的任务确定为所述服务器待下发的任务。
[0103]B9、根据权利要求B8所述的装置,其特征在于,所述装置进一步包括:
[0104]同步单元,用于在所述发送单元向所述服务器周期性发送主心跳报文之前,与所述服务器进行心跳应答包的初始化同步。
[0105]B10、根据权利要求B7所述的装置,其特征在于,所述接收单元接收的所述心跳应答包中所述执行状态参数为一个状态标志位;
[0106]所述确定单元包括:
[0107]读取模块,用于读取所述执行状态参数的状态标志位,根据所述状态标志位确定所述执行状态参数对应的任务是否为所述服务器待下发的任务。
[0108]B11、根据权利要求B7所述的装置,其特征在于,所述发送单元,还用于在所述接收单元接收到所述服务器下发的对应任务之后,停止发送所述对应任务的从心跳报文。
[0109]B12、根据权利要求Bll所述的装置,其特征在于,所述发送单元,还用于当周期性发送对应所有待下发的任务的从心跳报文时,停止发送所述主心跳报文;
[0110]所述发送单元,还用于当停止发送至少一个任务的从心跳报文时,恢复周期性发送所述主心跳报文。
[0111]C13、一种发送心跳报文的系统,其特征在于,所述系统包括服务器和终端,其中,所述终端包含如权利要求7至权利要求12中任一项所述的装置。
[0112]C14、根据权利要求C13所述的系统,其特征在于,所述服务器,用于对所述终端发送的某个主心跳报文进行响应,向所述终端下发心跳应答包;
[0113]其中,所述心跳应答包中携带有针对不同任务的执行状态参数,用于指示所述终端发送对应所述服务器待下发的任务的从心跳报文。
[0114]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0115]可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
[0116]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0117]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0118]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0119]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0120]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0121]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0122]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0123]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种发送心跳报文的方法,其特征在于,所述方法包括: 向服务器周期性发送主心跳报文,所述主心跳报文用于获取所述服务器返回的心跳应答包; 接收所述服务器发送的所述心跳应答包,所述心跳应答包中携带有针对不同任务的执行状态参数; 根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务; 周期性发送对应所述待下发的任务的从心跳报文,以便接收所述服务器下发的对应任务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务,包括: 将所述执行状态参数与前次接收的执行状态参数进行比对; 若两者不同,则将所述执行状态参数对应的任务确定为所述服务器待下发的任务。
3.根据权利要求2所述的方法,其特征在于,在所述向服务器周期性发送主心跳报文之前,所述方法进一步包括: 与所述服务器进行心跳应答包的初始化同步。
4.根据权利要求1所述的方法,其特征在于,所述执行状态参数为一个状态标志位; 所述根据所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务,包括: 读取所述状态标志位; 根据所述状态标志位确定所述执行状态参数对应的任务是否为所述服务器待下发的任务。
5.根据权利要求1所述的方法,其特征在于,在接收到所述服务器下发的对应任务之后,所述方法进一步包括: 停止发送所述对应任务的从心跳报文。
6.根据权利要求5所述的方法,其特征在于,当周期性发送对应所有待下发的任务的从心跳报文时,所述方法进一步包括: 停止发送所述主心跳报文; 当停止发送至少一个任务的从心跳报文时,所述方法进一步包括: 恢复周期性发送所述主心跳报文。
7.一种发送心跳报文的装置,其特征在于,所述装置包括: 发送单元,用于向服务器周期性发送主心跳报文,所述主心跳报文用于获取所述服务器返回的心跳应答包; 接收单元,用于接收所述服务器根据所述发送单元发送的主心跳报文所发送的所述心跳应答包,所述心跳应答包中携带有针对不同任务的执行状态参数; 确定单元,用于根据所述接收单元接收的所述心跳应答包中的所述执行状态参数,确定所述服务器待下发的任务; 所述发送单元,还用于周期性发送对应所述确定单元确定的所述待下发的任务的从心跳报文,以便所述接收单元接收所述服务器下发的对应任务。
8.根据权利要求7所述的装置,其特征在于,所述确定单元包括: 比对模块,用于将所述执行状态参数与前次接收的执行状态参数进行比对,若两者不同,则将所述执行状态参数对应的任务确定为所述服务器待下发的任务。
9.根据权利要求8所述的装置,其特征在于,所述装置进一步包括: 同步单元,用于在所述发送单元向所述服务器周期性发送主心跳报文之前,与所述服务器进行心跳应答包的初始化同步。
10.根据权利要求7所述的装置,其特征在于,所述接收单元接收的所述心跳应答包中所述执行状态参数为一个状态标志位; 所述确定单元包括: 读取模块,用于读取所述执行状态参数的状态标志位,根据所述状态标志位确定所述执行状态参数对应的任务是否为所述服务器待下发的任务。
【文档编号】H04L29/08GK104301423SQ201410575760
【公开日】2015年1月21日 申请日期:2014年10月24日 优先权日:2014年10月24日
【发明者】温铭, 李宇 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1