长连接中心跳的处理方法、装置及系统与流程

文档序号:12553875阅读:252来源:国知局
长连接中心跳的处理方法、装置及系统与流程

本发明涉及通信技术领域,尤其涉及一种长连接中心跳的处理方法、装置及系统。



背景技术:

目前,互联网通信息主要是依赖超文本传输协议(Hyper Text Transfer Protocol,HTTP)或者传输控制协议(Transmission Control Protocol,TCP)。使用TCP实现互联网通信时,需要各物理设备根据预设心跳周期,每隔一段时间就向服务器发送心跳请求,以维持物理设备与服务器之间的长连接,从而能够实时的通过该连接传输数据包。

现有技术中,物理设备所使用的心跳周期都是预先设置好且固定不变的。由于物理设备与服务器之间通信时,物理设备的状况比较复杂且存在变化,如果使用固定心跳周期将会导致物理设备上的流量浪费、耗电量较大以及长连接断开等问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种长连接中心跳的处理方法、装置及系统,用以解决现有技术中采用固定心跳带来的物理设备上的流量浪费、耗电量较大以及长连接断开等问题。

本发明实施例的一方面,提供一种长连接中心跳的处理方法,包括:

接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息;

根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调 整,以获得第二心跳周期;

向所述物理设备发送所述第二心跳周期,以便于所述物理设备根据所述第二心跳周期向服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期,包括:

根据所述物理设备当前的属性信息,获得心跳周期的目标调整量;

获得所述物理设备的第一心跳周期和所述目标调整量之和,以作为所述第二心跳周期。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述物理设备当前的属性信息包括:类型信息、当前所在网络信息、当前电量信息和地理位置信息中至少一个。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,根据所述物理设备的属性信息,获得目标调整量,包括:

根据所述物理设备当前的属性信息中包含的各信息,确定各信息对应的初始调整量;

根据所述物理设备当前的属性信息中包含的各信息对应的权值和所述初始调整量,获得所述目标调整量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述物理设备的属性信息包括地理位置信息以及存在至少两个其它服务器时;所述向所述物理设备发送所述第二心跳周期包括:

获取位于所述地理位置信息所在区域中的物理设备向各其他服务器发送基础心跳请求的成功率;

确定所述成功率最高的其他服务器;

将所述第二心跳周期发送给所述成功率最高的其他服务器,以便于所述成功率最高的其他服务器将所述第二心跳周期发送给所述物理设备。

本发明实施例的一方面,提供一种长连接中心跳的处理方法,包括:

在物理设备的属性信息发生变化时,根据第一心跳周期向服务器发送动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息,以便于所述服务器根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;

接收所述服务器发送的第二心跳周期;

根据所述第二心跳周期向所述服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

本发明实施例的一方面,提供一种长连接中心跳的处理装置,包括:

接收单元,用于接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息;

调整单元,用于根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;

发送单元,用于向所述物理设备发送所述第二心跳周期,以便于所述物理设备根据所述第二心跳周期向服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述调整单元进一步包括:

目标调整量获得模块,用于根据所述物理设备当前的属性信息,获得心跳周期的目标调整量;

第一计算模块,用于获得所述物理设备的第一心跳周期和所述目标调整量之和,以作为所述第二心跳周期。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述物理设备当前的属性信息包括:类型信息、当前所在网络信息、当前电量信息和地理位置信息中至少一个。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述目标调整量获得模块进一步包括:

初始调整量获得模块,用于根据所述物理设备当前的属性信息中包含的各信息,确定各信息对应的初始调整量;

第二计算模块,用于根据所述物理设备当前的属性信息中包含的各信息对应的权值和所述初始调整量,获得所述目标调整量。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述物理设备的属性信息包括地理位置信息以及存在至少两个其它服务器时;

所述装置还包括:获取单元,用于获取位于所述地理位置信息所在区域中的物理设备向各其他服务器发送基础心跳请求的成功率;

确定单元,用于确定所述成功率最高的其他服务器;

所述发送单元,具体用于:将所述第二心跳周期发送给所述成功率最高的其他服务器,以便于所述成功率最高的其他服务器将所述第二心跳周期发送给所述物理设备。

本发明实施例的一方面,提供一种长连接中心跳的处理装置,包括:

所述装置包括:

发送单元,用于在物理设备的属性信息发生变化时,根据第一心跳周期向服务器发送动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息,以便于所述服务器根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;

接收单元,用于接收所述服务器发送的第二心跳周期;

所述发送单元,还用于根据所述第二心跳周期向所述服务器发送基础心跳请 求,以维持所述物理设备与所述服务器之间的长连接。

本发明实施例的一方面,提供一种长连接中心跳的处理系统,包括:

物理设备,包括上述第一个长连接中心跳的处理装置;

服务器,包括上述第二个长连接中心跳的处理装置。

由以上技术方案可以看出,本发明实施例具有以下有益效果:

本发明实施例提供的技术方案中,可以根据物理设备当前的属性信息,动态的对物理设备所使用的心跳周期进行调整,从而可以提高物理设备发送心跳请求的灵活性,以及,解决了现有技术中使用固定心跳周期带来的物理设备上的流量浪费、耗电量较大以及长连接断开等问题。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例所提供的技术方案使用的系统示例图;

图2是本发明实施例所提供的长连接中心跳的处理方法的实施例一的流程示意图;

图3是本发明实施例所提供的长连接中心跳的处理方法的实施例二的流程示意图;

图4是本发明实施例所提供的长连接中心跳的处理方法的实施例三的流程示意图;

图5是本发明实施例所提供的长连接中心跳的处理装置的实施例一的功能方块图;

图6是本发明实施例所提供的长连接中心跳的处理装置的实施例二的功能方块图;

图7是本发明实施例所提供的长连接中心跳的处理系统的结构示意图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述心跳周期,但这些心跳周期不应限于这些术语。这些术语仅用来将心跳周期彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一心跳周期也可以被称为第二心跳周期,类似地,第二心跳周期也可以被称为第一心跳周期。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

本发明实施例所提供的技术方案使用的系统如图1所示,主要由物理设 备和服务器组成。如图1所示,物理设备可以包括物联网中的物理设备,如终端、传感器或者控制器等设备。

实施例一

本发明实施例给出一种长连接中心跳的处理方法,本实施例为服务器侧实现的长连接中心跳的处理方法。请参考图2,其为本发明实施例所提供的长连接中心跳的处理方法的实施例一的流程示意图,如图所示,该方法包括以下步骤:

S201,接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息。

S202,根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期。

S203,向所述物理设备发送所述第二心跳周期,以便于所述物理设备根据所述第二心跳周期向服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

本发明实施例中,物理设备可以通过不断向服务器发送基础心跳请求,来维持物理设备与服务器之间的长连接,以便于通过该长连接直接发送数据包,避免每次发送数据包时再建立连接。

在一个具体的实现过程中,物理设备先以预先设置的第一心跳周期为时间间隔,周期地向服务器发送基础心跳请求。

例如,所述第一心跳周期可以是2分钟,即2分钟是一个心跳周期,物理设备每间隔2分中向所述服务器发送一个基础心跳请求。其中,基础心跳请求中消息头可以占用2个字节,基础心跳请求中消息头的格式可以为:

[version,cmd]

其中,基础心跳请求中消息头中的cmd字段占用1个字节,version字 段占用1个字节。基础心跳请求中消息头中的cmd字段的值设置为100,即表示该基础心跳请求中不包含消息体。可理解的是,若长连接需要建立1天,也就是24小时,则需要发送给服务器720个基础心跳请求,发送总长度为1440个字节,而且,发送基础心跳请求时,TCP消息头占用14个字节,TCP消息尾占用4个字节,共计12960个字节,再加上基础心跳请求的发送总长度,共计14400个字节。由此可以看出,如果物理设备一直采用第一心跳周期来发送基础心跳请求,请求次数过多将造成流量的大量浪费,也消耗了物理设备大量的电量,同时增加了服务器的处理负担。

另外,物理设备在向服务器发送基础心跳请求后,服务器对该基础心跳请求处理成功后,会向物理设备返回相应的用以指示处理成功的标识。

本发明实施例中,物理设备在检测到自身的属性信息发生变化后,可以根据所述第一心跳周期向服务器发送动态心跳请求。这样,所述服务器就可以接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求。

在一个具体的实现过程中,所述物理设备的属性信息发生变化可以包括但不限于以下变化中至少一种:

所述物理设备所在网络发生变化;

所述物理设备所在地理位置发生变化;以及,

所述物理设备的电量消耗速度大于预设阈值。

相应的,所述物理设备的属性信息可以包括但不限于:所述物理设备的类型信息、当前所在网络信息、当前电量信息和地理位置信息中至少一个。可以理解的是,物理设备在检测到自身的属性信息发生变化后,仍根据第一心跳周期向所述服务器发送心跳请求,但该心跳请求是动态心跳请求,用以从服务器获取新的心跳周期。例如,动态心跳请求的格式可以为:

[version,cmd,body_len,body{device,network,location,power}]

其中,version字段占用1个字节,cmd字段占用1个字段,且cmd字段的值设置为101,即表示该动态心跳请求中包含消息体。消息体中,body_len字段占用4个字节,body{}表示消息体的内容;其中,消息体的内容携带所述物理设备当前的属性信息,如消息体中device字段表示所述物理设备的类型信息,消息体中network字段表示当前所在网络信息,消息体中location字段表示物理设备当前的地理位置信息,消息体中power字段表示当前电量信息。

其中,动态心跳请求可以占用36个字节。

本发明实施中,服务器发送动态心跳请求给服务器后,服务器会返回用以指示处理成功的标识和新的心跳周期,即上述第二心跳周期。

本发明实施例中,服务器在接收到物理设备发送的动态心跳请求后,可以根据动态心跳请求中携带的所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期。

举例说明,本发明实施例中,服务器根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期的方法可以包括但不限于:

首先,服务器根据所述物理设备当前的属性信息,获得心跳周期的目标调整量。然后,服务器获得所述物理设备的第一心跳周期和所述目标调整量之和,以作为所述第二心跳周期。

在一个具体的实现过程中,服务器可以根据所述物理设备当前的属性信息中包含的各信息,确定各信息对应的初始调整量;然后,服务器根据所述物理设备当前的属性信息中包含的各信息对应的权值和各信息对应的初始调整量,获得所述目标调整量。

例如,若所述物理设备当前的属性信息包括物理设备当前所在网络信息,服务器根据该当前所在网络信息,确定对应的初始调整量;若物理设备当前所在网 络是无线网络,缩短第一心跳周期,即减小物理设备向服务器发送心跳请求的时间间隔,如初始调整量为-1min,以维持长连接处于连接状态,降低物理设备重新建立长连接造成的数据丢失率。或者,若物理设备当前所在网络是移动网络,增加第一心跳周期,即增加物理设备向服务器发送心跳请求的时间间隔,如初始调整量为+1min,以节省该物理设备的流量开销。

可以理解的是,在无线网络下,如果第一心跳周期比较小,使得物理设备向服务器发送基础心跳请求的次数比较频繁,物理设备的流量有消耗也不会给用户带来经济损失,但是,如果在移动网络下,仍然采用与无线网络下相同的第一心跳周期,物理设备将由于频繁发送基础心跳请求而导致流量损耗,给用户带来经济损失。基于此,本发明实施例中可以在物理设备切换到移动网络之后,增加第一心跳周期,降低物理设备向服务器发送心跳请求的次数,节省物理设备的流量开销。

或者,又例如,若所述物理设备当前的属性信息包括物理设备的当前电量信息,服务器根据该当前电量信息,确定对应的初始调整量;若当前电量信息小于或者等于预设的电量阈值,增加第一心跳周期,即增加物理设备向服务器发送心跳请求的时间间隔,以节省该物理设备的电量消耗,如初始调整量为+1min。反之,若当前电量信息大于预设的电量阈值,可以不调整所述第一心跳周期。

或者,又例如,若所述物理设备当前的属性信息包括物理设备的类型信息,服务器根据该类型信息,确定对应的初始调整量;若物理设备是手机、平板电脑等具有较高处理能力的设备,服务器缩短第一心跳周期,即减小物理设备向服务器发送心跳请求的时间间隔,如初始调整量为-1min,以维持长连接处于连接状态,降低物理设备重新建立长连接造成的数据丢失率;若物理设备是传感器、控制器等处理能力较低的设备,服务器增加第一心跳周期,即增加物理设备向服务器发送心跳请求的时间间隔,如初始调整量为+1min,以避免频繁发送心跳请求给物理设备带来的处理负担。

在一个具体的实现过程中,服务器根据所述物理设备当前的属性信息中包含的各信息,确定各信息对应的初始调整量之后,可以将每个信息对应的权值乘以对应的初始调整量,获得每个信息对应的中间调整量,然后将各信息的中间调整量进行累加,以获得所述目标调整量。

可以理解的是,可以预先为每个信息配置对应的权值,其中各信息对应的权值中,物理设备当前所在网络信息对应的权值最高,物理设备的当前电量信息的权值第二高,物理设备的类型信息对应的权值最低。

本发明实施例中,服务器在获得目标调整量之后,可以计算所述物理设备的第一心跳周期和所述目标调整量之和,以作为所述第二心跳周期,该目标调整量可以是正值也可以是负值。可以理解的是,如果目标调整量是正值,表示增加了第一心跳周期的数值,即第二心跳周期大于第一心跳周期,表示物理设备此后向服务器发送第一心跳请求时,时间间隔变大,物理设备可以节省电量和流量消耗,也降低了服务器的处理负担。如果目标调整量是负值,表示减小了第一心跳周期的数值,即第二心跳周期小于第一心跳周期,表示物理设备此后向服务器发送第一心跳请求时,时间间隔变小,物理设备可以维持与服务器之间长连接处于连接状态,保证数据的传输成功率。

本发明实施例中,服务器在获得第二心跳周期之后,可以将该第二心跳周期发送给物理设备。其中,服务器可以还同时向物理设备发送用以指示处理成功的标识。

举例说明,当所述物理设备的属性信息还包括地理位置信息以及存在至少两个其它服务器时,服务器向所述物理设备发送所述第二心跳周期的方法可以包括但不限于:

服务器可以获取位于该地理位置信息所在区域中物理设备向各其他服务器发送基础心跳请求的成功率,并确定其中所述成功率最高的其他服务器。然后该服务器将所述第二心跳周期发送给所述成功率最高的其他服务器,以便于所述成 功率最高的其他服务器将所述第二心跳周期发送给所述物理设备。

在一个具体的实现过程中,各其他服务器可以预先统计物理设备向自身发送基础心跳请求的成功率,然后,各其他物理设备可以将获得的成功率发送给上述服务器,这样,当该服务器获得所述地理位置信息之后,可以读取预先获得的该地理位置所在区域中物理设备向各其他服务器发送基础心跳请求的成功率,然后按照成功率由高到低的顺序,对各其他服务器进行排序,进而确定其中成功率最高的其他服务器。

可以理解的是,成功率最高的其他服务器,表示由该其他服务器向物理设备发送第二心跳周期和用以指示处理成功的标识时,发送成功率最高。本实施例中,通过选择成功率最高的其他服务器来返回第二心跳周期和用以指示处理成功的标识,可以提高数据传输的成功率,从而降低了物理设备重新建立长连接造成的数据丢失,以及降低了服务器的处理压力。

实施例二

本发明实施例还给出一种长连接中心跳的处理方法,本实施例为物理设备侧实现的长连接中心跳的处理方法。请参考图3,其为本发明实施例所提供的长连接中心跳的处理方法的实施例二的流程示意图,如图所示,该方法包括以下步骤:

S301,在物理设备的属性信息发生变化时,根据第一心跳周期向服务器发送动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息,以便于所述服务器根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期。

S302,接收所述服务器发送的所述第二心跳周期。

S303,根据所述第二心跳周期向所述服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

本发明实施例中,物理设备可以通过不断向服务器发送基础心跳请求, 来维持物理设备与服务器之间的长连接,以便于通过该长连接直接发送数据包,避免每次发送数据包时再建立连接。

在一个具体的实现过程中,物理设备先以预先设置的第一心跳周期为时间间隔,周期地向服务器发送基础心跳请求。物理设备在向服务器发送基础心跳请求后,服务器对该基础心跳请求处理成功后,会向物理设备返回相应的用以指示处理成功的标识。

本发明实施例中,物理设备在检测到自身的属性信息发生变化后,可以根据所述第一心跳周期向服务器发送动态心跳请求。这样,所述服务器就可以根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期。

在一个具体的实现过程中,所述物理设备的属性信息发生变化可以包括但不限于以下变化中至少一种:

所述物理设备所在网络发生变化;

所述物理设备所在地理位置发生变化;以及,

所述物理设备的电量消耗速度大于预设阈值。

相应的,所述物理设备的属性信息可以包括但不限于:所述物理设备的类型信息、当前所在网络信息、当前电量信息和地理位置信息中至少一个。可以理解的是,物理设备在检测到自身的属性信息发生变化后,仍以第一心跳周期向所述服务器发送心跳请求,但该心跳请求是动态心跳请求,用以从服务器获取新的心跳周期,即所述第二心跳周期。

本发明实施例中,服务器在获得第二心跳周期之后,可以将该第二心跳周期发送给物理设备。其中,服务器可以还同时发送用以指示处理成功的标识。所述物理设备在接收到服务器发送的第二心跳周期后,将根据该第二心跳周期发送后续的基础心跳请求。若此后物理设备的属性又发生变化,该物理设备将再次向服务器发送动态心跳请求,用以请求服务器再次对心跳周期进行调整,以此类推。

本发明实施例中,当物理设备的属性信息发生变化时,可以根据物理设备当前属性,动态地对心跳周期进行调整,以使得调整后的心跳周期能够与物理设备当前属性更加匹配,避免了物理设备的流量浪费、电量消耗以及长连接断开等问题。

实施例三

请参考图4,其为本发明实施例所提供的长连接中心跳的处理方法的实施例三的流程示意图,如图所示,该方法包括以下步骤:

S401,物理设备与服务器之间建立长连接。

S402,物理设备与服务器之间完成三次握手,以建立物理设备与服务器之间的TCP连接。

S403,物理设备根据第一心跳周期向服务器发送基础心跳请求。

S404,物理设备检测到自身的属性信息发生变化。

S405,物理设备根据第一心跳周期向服务器发送动态心跳请求,其中携带物理设备当前的属性信息。

S406,服务器根据物理设备当前的属性信息,对物理设备所使用的第一心跳周期进行调整,获得第二心跳周期。

S407,服务器将第二心跳周期发送给物理设备。

S408,物理设备根据第二心跳周期继续向服务器发送基础心跳请求。

本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。

请参考图5,其为本发明实施例所提供的长连接中心跳的处理装置的实施例一的功能方块图。如图所示,该装置可以位于服务器,该装置包括:

接收单元51,用于接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息;

调整单元52,用于根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;

发送单元53,用于向所述物理设备发送所述第二心跳周期,以便于所述物理设备根据所述第二心跳周期向服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

在一个具体的实现过程中,所述调整单元52进一步包括:

目标调整量获得模块521,用于根据所述物理设备当前的属性信息,获得心跳周期的目标调整量;

第一计算模块522,用于获得所述物理设备的第一心跳周期和所述目标调整量之和,以作为所述第二心跳周期。

在一个具体的实现过程中,所述物理设备当前的属性信息包括:类型信息、当前所在网络信息、当前电量信息和地理位置信息中至少一个。

在一个具体的实现过程中,所述目标调整量获得模块521进一步包括:

初始调整量获得模块5211,用于根据所述物理设备当前的属性信息中包含的各信息,确定各信息对应的初始调整量;

第二计算模块5212,用于根据所述物理设备当前的属性信息中包含的各信息对应的权值和所述初始调整量,获得所述目标调整量。

在一个具体的实现过程中,在所述物理设备的属性信息包括地理位置信息以及存在至少两个其它服务器时;

所述装置还包括:获取单元54,用于获取位于所述地理位置信息所在区域中的物理设备向各其他服务器发送基础心跳请求的成功率;

确定单元55,用于确定所述成功率最高的其他服务器;

所述发送单元53,具体用于:将所述第二心跳周期发送给所述成功率最高的其他服务器,以便于所述成功率最高的其他服务器将所述第二心跳周期发送给所述物理设备。

由于本实施例中的各单元能够执行图2所示的方法,本实施例未详细描述的部分,可参考对图2的相关说明。

请参考图6,其为本发明实施例所提供的长连接中心跳的处理装置的实施例二的功能方块图。如图所示,该装置可以位于物理设备,该装置包括:

发送单元61,用于在物理设备的属性信息发生变化时,根据第一心跳周期向服务器发送动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息,以便于所述服务器根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;

接收单元62,用于接收所述服务器发送的第二心跳周期;

所述发送单元62,还用于根据所述第二心跳周期向所述服务器发送基础心跳请求,以维持所述物理设备与所述服务器之间的长连接。

由于本实施例中的各单元能够执行图3所示的方法,本实施例未详细描述的部分,可参考对图3的相关说明。

请参考图7,其为本发明实施例所提供的长连接中心跳的处理系统的结构示意图。如图所示,该系统包括物理设备71和服务器72。

物理设备71,包括图6所示的处理装置以及该处理装置的各种其它变型。

服务器72,包括图5所示的处理装置以及该处理装置的各种其它变型。

本发明实施例的技术方案具有以下有益效果:

本发明实施例中,通过接收物理设备在所述物理设备的属性信息发生变化后,根据第一心跳周期发送的动态心跳请求,所述动态心跳请求中携带所述物理设备当前的属性信息;从而,根据所述物理设备当前的属性信息,对所述物理设备的第一心跳周期进行调整,以获得第二心跳周期;进而,向所述物理设备发送所述第二心跳周期,以便于所述物理设备根据所述第二心跳周期向所述服务器发送基础心跳请求,以维持所述物理设备与服务器之间的长连接。

本发明实施例提供的技术方案中,可以根据物理设备当前的属性信息,动态的对物理设备所使用的心跳周期进行调整,从而可以提高物理设备发送心跳请求的灵活性,以及,解决了现有技术中使用固定心跳带来的物理设备上的流量浪费、耗电量较大以及长连接断开等问题。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等) 或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1