一种心跳监测方法、设备及存储介质与流程

未命名 07-14 阅读:98 评论:0


1.本技术涉及通信技术领域,尤其涉及一种心跳监测方法、设备及存储介质。


背景技术:

2.在日志采集系统中,各个采集端需要周期性地向服务端发送心跳包,以示意采集端的在线状态。随着日志采集系统的规模不断增大,经常出现在同一时段并发大量心跳包的情况下,这种情况下,大量的并发心跳包相当于对服务器端产生了ddos(distributed denial of service,分布式拒绝服务)攻击,这会导致服务器端因网络资源和处理资源被过度消耗而瘫痪,服务器端将无法正常进行心跳监测。


技术实现要素:

3.本技术的多个方面提供一种心跳监测方法、设备及存储介质,用以在设备规模较大的情况下,避免因心跳监测而产生ddos攻击问题。
4.本技术实施例提供一种心跳监测方法,包括:
5.在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;
6.在单个设备组内,选取指定数量的设备,组建为所述设备组对应的心跳管理单元,其中,所述至少一个设备组各自对应的心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至所述从属关系中作为根节点的心跳管理单元;
7.根据所述作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。
8.本技术实施例还提供一种计算设备,包括存储器、处理器和通信组件;
9.所述存储器用于存储一条或多条计算机指令;
10.所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
11.在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;
12.在单个设备组内,选取指定数量的设备,组建为所述设备组对应的心跳管理单元,其中,所述至少一个设备组各自对应的心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至所述从属关系中作为根节点的心跳管理单元;
13.根据所述作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。
14.本技术实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的心跳监测方法。
15.在本技术实施例中,在需要进行心跳监测的设备的数量超过指定阈值的情况下,可进行设备分组;在产生的各个设备分组内,可分别组建心跳管理单元;且心跳管理单元之间存在从属关系;这样,可由各个心跳管理单元来处理对应设备组内产生的心跳包,而不再需要全部集中到心跳监测服务端进行处理,而各个心跳管理单元可将对心跳包进行汇总而产生的汇总信息发送至其隶属的心跳管理单元,因此,心跳监测服务端只需要处理作为根节点的各个心跳管理单元发送的汇总信息以及未成组的剩余设备发送的心跳包即可。据此,在设备规模较大的情况下,可通过分组机制,将心跳包的处理压力分化到各个设备组对应的心跳管理单元中,并通过逐级汇总发送的方式来保证心跳监测服务端对所有设备的心跳监测能力,对于心跳监测服务端来说,不再会发生心跳包高并发的情况,从而可避免ddos攻击问题。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为传统的心跳监测方案的逻辑示意图;
18.图2为本技术本实施例一示例性实施例提供的一种心跳监测方法的逻辑示意图;
19.图3为本技术一示例性实施例提供的一种心跳监测方法的流程示意图;
20.图4为本技术一示例性实施例提供的一种心跳管理单元之间的从属关系的示意图;
21.图5为本技术另一示例性实施例提供的一种计算设备的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.图1为传统的心跳监测方案的逻辑示意图,参考图1,目前,在需要进行心跳监测的设备的规模较大的情况下,所有的心跳包并发发送至在心跳监测服务端,导致经常发生ddos攻击问题。为此,本技术的一些实施例中:在需要进行心跳监测的设备的数量超过指定阈值的情况下,可进行设备分组;在产生的各个设备分组内,可分别组建心跳管理单元;且心跳管理单元之间存在从属关系;这样,可由各个心跳管理单元来处理对应设备组内产生的心跳包,而不再需要全部集中到心跳监测服务端进行处理,而各个心跳管理单元可将对心跳包进行汇总而产生的汇总信息发送至其隶属的心跳管理单元,因此,心跳监测服务端只需要处理作为根节点的各个心跳管理单元发送的汇总信息以及未成组的剩余设备发送的心跳包即可。据此,在设备规模较大的情况下,可通过分组机制,将心跳包的处理压力分化到各个设备组对应的心跳管理单元中,并通过逐级汇总发送的方式来保证心跳监测服务端对所有设备的心跳监测能力,对于心跳监测服务端来说,不再会发生心跳包高并发的情
况,从而可避免ddos攻击问题。
24.以下结合附图,详细说明本技术各实施例提供的技术方案。
25.图2为本技术本实施例一示例性实施例提供的一种心跳监测方法的逻辑示意图。图3为本技术一示例性实施例提供的一种心跳监测方法的流程示意图,该方法可由数据处理装置执行,该数据处理装置可实现为软件、硬件或者软硬件的结合,该数据处理装置可配置在计算设备中。参考图3,该方法可包括:
26.步骤100、在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;
27.步骤101、在单个设备组内,选取指定数量的设备,组建为设备组对应的心跳管理单元,其中,心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至从属关系中作为根节点的心跳管理单元;
28.步骤102、根据作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。
29.本实施例提供的心跳监测方法,可应用于各种心跳监测场景中,尤其是大规模的心跳监测场景中。例如,日志采集场景等。对于不同的应用场景,需要进行心跳监测的设备可能存在差别,例如,在日志采集场景中,这些设备可以是需要进行发送日志的云服务器、物联网设备、移动终端等。本实施例对需要进行心跳监测的设备的类型、功能、设备属性等均不作限定。
30.参考图2,本实施例中,可由心跳监测服务端来进行全局的心跳监测,也即是,可由心跳监测服务端管理接入的全部设备的心跳状态。在一些可能的设计方案中,心跳监测服务端可位于一服务器组内,并作为该服务器组内的主节点,该服务器组内还可包含至少一个从节点用于辅助本实施例中的心跳监测服务端来进行心跳监测。该服务器组内的从节点可用于分担接收部分心跳包,并对接收到的心跳包进行汇总,以及将产生的汇总信息发送至本实施例中的心跳监测服务端。这样,在该设计方案中,心跳监测服务端除了负责本实施例下述的处理逻辑之外,还可接收其所在服务器组内的从节点发送的汇总信息,作为进行心跳监测的部分依据。当然,本实施例中,心跳监测服务端也可独立负责心跳监测,本实施例对此不做限定。
31.参考图3,在步骤100中,可在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组。
32.本实施例中,对于需要进行心跳监测的设备来说,其初始的心跳发送地址通常是设置为本实施例中心跳监测服务端的地址或者如前所述心跳监测服务端所处服务组内各个节点的地址。这样,心跳监测服务端可通过直接或间接感知这些设备发送的心跳包而统计出当前需要进行心跳监测的设备的数量。在该数量超过指定阈值的情况下,可进行设备分组。其中,这里的指定阈值可根据实际需要进行设定,例如,可将心跳监测服务端或其所处服务器组能够并发处理的心跳包上限作为指定阈值等,如1万台等,当然,这仅是示例性的,本实施例并不限于此。
33.基于此,本实施例中,若需要进行心跳监测的设备的数量未超过指定阈值,则可由本实施例中的心跳监测服务端或其所在的服务器组处理全部设备发送的心跳包。而若该数
量超过指定阈值,则可进行设备分组,以产生设备组。
34.一种示例性的分组方案可以是:按照预置的组容量,选取相应数量的设备,组成第一设备组;若剩余设备的数量仍超过组容量,则继续从剩余设备中选取相应数量的设备,组成第二设备组,直至剩余设备的数量不再超过组容量,则停止设备分组。在该示例性的分组方案中,设定了组容量,并按照组容量进行设备分组,从而依次产生至少一个设备组。其中,不同设备组所采用的组容量可一致也可不完全相同,在此不做限定。在停止设备分组后,可能还存在未成组的剩余设备,这些未成组的剩余设备可暂时保持向本实施例中的心跳监测服务端发送心跳包。这种依次产生设备组的方案可有效避免混乱,且可将不断出现的新增设备作为未成组的剩余设备;在未成组的剩余设备的数量达到成组要求后,组成设备组,从而可随着设备的扩增而及时增设设备组,以避免不断出现的新增设备给本实施例中的心跳监测服务端造成心跳包并发压力。
35.当然,上述的分组方案仅是示例性的,本实施例还可采用其它分组方案,例如,随机分组等,本实施例并不限于此。
36.在产生设备组后,参考图3,在步骤101中,可在单个设备组内,选取指定数量的设备,组建为设备组对应的心跳管理单元。也即是,本实施例中,可针对产生的每个设备组,分别组建专用的心跳管理单元。其中,心跳管理单元中的设备数量可以是一个或多个。本实施例中,心跳管理单元中可至少包含一个设备,用于承担心跳管理单元中的汇总及发送工作,该设备可作为主节点。优选地,本实施例中,这里的指定数量可以是至少两个,这样,心跳管理单元中还可包含至少一个从节点,从节点可用于帮助主节点分担一部分心跳包的处理工作。另外,可选地,本实施例中,可采用分布式应用程序协调服务(zookeeper)技术来服务于心跳管理单元,也即是,为心跳管理单元所选中的各个设备可通过zookeeper集群进行主从的选择。zookeeper技术是业内现有的用于分布式集群的协调方案。zookeeper集群内的各个节点之间可以相互感知,相互通信,并可抢占主节点身份等。具体地,可通过zookeeper集群中的分布式锁机制来支持心跳管理单元内各个设备之间的主从选择。关于zookeeper集群中的分布式锁机制简单说明如下:可为心跳管理单元创建持久节点locks,并为心跳管理单元中的各个设备分别创建临时顺序节点lock n,其中,在前注册的设备可获得更小的顺序值n,而获得最小顺序值的设备可自动成为主节点,其它设备则自动成为从节点,各个从节点还会监听其在前的节点是否失活,从而不断尝试抢占为主节点。基于此,在步骤101中,可控制为心跳管理单元所选中的设备注册为zookeeper集群中的临时顺序节点,这样,心跳管理单元内的各个设备可自动执行抢主操作,以推选出主节点,而剩余设备则自动作为从节点;且心跳管理单元内的各个设备之间可相互通知自身的设备地址,以及相互感知失活状态。应当理解的是,本实施例中并不局限于使用zookeeper技术来服务于心跳管理单元,也可通过由本实施例中的心跳监测服务端进行指定等方式来分配心跳管理单元中各设备的主从角色,也可通过由本实施例中的心跳监测服务端将设备地址等信息同步发送至心跳管理单元中的各个设备来实现心跳管理单元中各设备之间的相互感知及信息同步。本实施例并不限于此。
37.至此,每个设备组内可组建起专用的心跳管理单元。本实施例中,心跳管理单元之间存在从属关系。
38.本实施例中,承接前文中提供的依次产生设备组的示例性分组方案,可在产生设
备组并完成心跳管理单元的组建后,再组成下一设备组,这样,心跳管理单元也是依次组建起的。在此基础上,可按照心跳管理单元之间的组建顺序形成前述的从属关系。图4为本技术一示例性实施例提供的一种心跳管理单元之间的从属关系的示意图。参考图4,一种示例性的从属关系设定方案可以是:若心跳监测服务端可管理的心跳管理单元的数量为n,则将最早创建出的n个心跳管理单元作为根节点;接下来的第n+1至第n+m个心跳管理单元则可作为前述n个心跳管理单元中第1个心跳管理单元的下属心跳管理单元;第n+m+1至第n+m+m个心跳管理单元则可作为前述n个心跳管理单元中第2个心跳管理单元的下属心跳管理单元;依次类推,可形成心跳管理单元之间的从属关系。其中,m可以是作为根节点的各个心跳管理单元所能管理的下属心跳管理单元的上限值,n和m均为正整数。当然,这种从属关系的形成方案仅是示例性的,本实施例并不限于此。
39.为了保证各个心跳管理单元按照从属关系进行工作,本实施例中,可在任意一个设备组的心跳管理单元组建完成后,在该设备组对应的心跳管理单元在从属关系中作为非根节点的情况下,为其指定所隶属的心跳管理单元,并通知该心跳管理单元,以形成前述的从属关系。具体地,可通知该心跳管理单元中负责与其隶属的心跳管理单元进行交互的设备,例如后文中提及的主节点。当然,本实施例中,还可通过其它方式来实施前述的从属关系,本实施例并不限于此。
40.另外,本实施例中,正如前文提及的,对于需要进行心跳监测的各个设备来说,默认是向本实施例中的心跳监测服务端或其所处服务器组内的其它节点发送心跳包的,为了实现由心跳管理单元接管其所处设备组内的心跳包处理工作,本实施例中,可在目标设备组的心跳管理单元组建完成后,将目标设备组对应的心跳管理单元中各设备的设备地址通知至目标设备组内的各个设备,以供目标设备组内的各个设备按照接收到的新的设备地址发送下一次心跳包;其中,目标设备组为至少一个设备组中的任意一个。可选地,本实施例中的心跳监测服务端可在目标设备组的心跳管理单元组建完成后,在向目标设备组内各个设备最后发送的心跳包发送响应数据包的过程中,将目标设备组对应的心跳管理单元中各设备的设备地址携带在响应数据包中,以通知到各个设备。基于此,这些设备会将目标设备组对应的心跳管理单元中各设备的设备地址作为新的发送地址,并按照新的发送地址发送后续的心跳包。对于心跳管理单元内包含多个节点的情况,心跳管理单元所管理的设备组内各个设备可将心跳包发送至多个节点中的任意一个进行处理。
41.参考图2,本实施例中,单个心跳管理单元可用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,这样,各心跳管理单元产生的汇总信息将汇聚至从属关系中作为根节点的心跳管理单元。应当理解的,为了实现汇聚,对于该单个心跳管理单元来说,除了发送自身产生的目标汇总信息之外,还可在其存在下属心跳管理单元的情况下将其下属心跳管理单元发送的汇总信息加入至目标汇总信息中。这里的加入可以是携带,也可以是再汇总,在此不做限定。其中,汇总信息中可包含设备组内在线设备的数量及标识、失活设备的数量及标识等。承接前文中提及的心跳管理单元中可至少包含主节点的方案,则本实施例中,可由主节点对心跳管理单元所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元中的主节点。继续承接前文提及的心跳管理单元中还可包含至少一个从节点的优选方案,则本实施例中,可由从节点接收心跳管理单元所管理的设备组内的部分心跳包;对接收到的心跳包进行汇总;
将产生的汇总信息和自身的心跳包发送至心跳管理单元中的主节点,以供主节点执行前述的汇总操作。
42.参考图2,这样,从单个设备组来看,心跳管理单元之外的各个设备可将心跳包发送中心跳管理单元中的任意设备,而心跳管理单元中的从节点可将接收到的心跳包进行汇总并发送至主节点,同时还会将自身的心跳包也发送至主节点,这样,主节点可汇总该设备组内主主节点自身之外的全部设备的心跳包,并将汇总信息发送至隶属的心跳管理单元中的主节点。而心跳管理单元中的主节点则可将自身的心跳包发送至本实施例中的心跳监测服务端,为此,本实施例中,心跳监测服务端可接收各个心跳管理单元中的主节点发送的自身的心跳包,以对各个心跳管理单元中的主节点进行心跳监测。可知,本实施例中的所有设备组内的设备发送的心跳包均可被监测到,并无遗漏。
43.本实施例中,基于心跳管理单元之间的从属关系,各个设备组中的心跳包可被逐级汇总至在从属关系中作为根节点的心跳管理单元中。基于此,参考图3,在步骤102中,可根据作为根节点的心跳管理单元发送的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。这样,本实施例中的心跳监测服务端只需处理作为根节点的心跳管理单元发送的汇总信息,并处理少量的未成组的剩余设备发送的心跳包,即可实现对所有设备的心跳监测。且正如前文提及的,心跳监测服务端所在的服务器组内的从节点还可帮助其分担处理一部分未成组的剩余设备发送的心跳包,因此,心跳监测服务端上处理的心跳包不会再出现高并发的情况。
44.综上,本实施例中,在需要进行心跳监测的设备的数量超过指定阈值的情况下,可进行设备分组;在产生的各个设备分组内,可分别组建心跳管理单元;且心跳管理单元之间存在从属关系;这样,可由各个心跳管理单元来处理对应设备组内产生的心跳包,而不再需要全部集中到心跳监测服务端进行处理,而各个心跳管理单元可将对心跳包进行汇总而产生的汇总信息发送至其隶属的心跳管理单元,因此,心跳监测服务端只需要处理作为根节点的各个心跳管理单元发送的汇总信息以及未成组的剩余设备发送的心跳包即可。据此,在设备规模较大的情况下,可通过分组机制,将心跳包的处理压力分化到各个设备组对应的心跳管理单元中,并通过逐级汇总发送的方式来保证心跳监测服务端对所有设备的心跳监测能力,对于心跳监测服务端来说,不再会发生心跳包高并发的情况,从而可避免ddos攻击问题。
45.在上述或下述实施例中,心跳管理单元中的设备可能出现失活问题,为了避免心跳管理单元因其内设备失活而影响其正常工作,本实施例中提出了解决方案。
46.本实施例中,将分两种情况来说明解决方案,一种情况是心跳管理单元中的从节点发生失活,另一种情况是心跳管理单元中的主节点发生失活。
47.在确定目标心跳管理单元中的任一从节点失活的情况下:可从目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;控制新的从节点加入目标心跳管理单元,以供目标心跳管理单元中的其它节点感知新的从节点并将新的从节点的设备地址通知至目标设备组中的各个设备;其中,目标心跳管理单元为各个心跳管理单元中的任意一个。
48.在该种情况下,可从目标设备组中再选取一设备补充为新的从节点。其中,承接前文提供的采用zookeeper技术服务于心跳管理单元的可选方案,控制新的从节点加入目标心跳管理单元,可理解为控制新的从节点注册至目标心跳管理单元对应的zookeeper集群
中。在完成注册后,新选取的设备自动成为zookeeper集群的从节点,且zookeeper集群中的其它节点可自动感知到新的从节点。另外,对于目标设备组内的各个设备来说,若其向已失活的从节点发送心跳包不成功,则会向目标心跳管理单元中的其它节点重新发送心跳包,而目标心跳管理单元中的其它节点则可将新的从节点的设备地址通知给向其发送心跳包的设备,这样,目标设备组内的各个设备均可获知新的从节点的设备地址,下一次心跳包的发送将恢复正常。可知,通过及时补充新的从节点,可保证不漏接目标设备组中的任何心跳包,从而保证心跳监测的准确性。
49.在目标心跳管理单元中的主节点失活的情况下,目标心跳管理单元中的目标从节点可自动成为新的主节点,并向本实施例中的心跳监测服务端发送针对主节点的设备失活消息。基于此,在该种情况下,本实施例中的心跳监测服务端,可:响应于目标从节点发送的针对主节点的设备失活消息,从目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;控制新的从节点加入目标心跳管理单元,以供目标心跳管理单元中的其它节点感知新的从节点并将新的从节点的设备地址通知至目标设备组中的各个设备;其中,目标心跳管理单元为各个心跳管理单元中的任意一个,目标从节点可以是目标心跳管理单元中的任一从节点。
50.在该种情况下,目标心跳管理单元中的主节点失活后,各个从节点可感知到主节点的失活状态,正如前文提及的,从节点需要向主节点发送心跳包,在从节点发现心跳包发送无响应时,可感知到主节点已失活。目标心跳管理单元中的任一从节点可成为主节点,并向向本实施例中的心跳监测服务端发送针对主节点的设备失活消息以及承担起前述主节点的相关工作。这样,目标心跳管理单元中将缺失一从节点,因此,可按照上述方案补充新的从节点,并由目标心跳管理单元中的其它节点感知新的从节点并将新的从节点的设备地址通知至目标设备组中的各个设备。同样,目标设备组内的各个设备均可获知新的从节点的设备地址,下一次心跳包的发送将恢复正常。可知,通过及时替换主节点并及时补充从节点,可保证不漏接目标设备组中的任何心跳包,从而保证心跳监测的准确性。
51.另外,发明人在研究过程中发现,本实施例中的心跳监测服务端需要在处理完本轮所有的汇总信息以及未成组的剩余设备发送的心跳包后,才能发现失活设备,这导致失活设备发现不及时。
52.为此,本实施例中提出了一种优化方案:接收各个心跳管理单元按照指定格式发送的设备失活消息,设备失活消息为心跳管理单元通过对心跳包进行处理而发现失活设备后而为失活设备生成的;利用专用资源处理设备失活消息,以将设备失活消息对应的设备标记为失活状态;通知管理失活设备的心跳管理单元停止对失活设备进行心跳包处理。
53.在该优化方案中,心跳监测服务端可使用专用资源来优先处理设备失活消息,这样,可更快更及时地发现失活设备;并可在发现失活设备后,及时通知相关的心跳管理单元停止对失活设备进行心跳包处理,以提高合理调度心跳管理单元中的资源。
54.在该优化方案中,除了心跳管理单元中可能发送设备失活消息外,在设备被非正常关闭之前,设备自身也可发动设备失活信息。为此,在该优化方案中,还可接收目标设备在被非正常关闭前按照指定格式发送的设备失活消息;利用专用资源处理设备失活消息,以将目标设备标记为失活状态;通知管理目标设备的心跳管理单元停止对目标设备进行心跳包处理;其中,目标设备为各个设备中的任意一个。同样,从设备发出的设备失活信息也
可被优先处理,从而及时发现失活设备。
55.其中,上述的指定格式可以是心跳监测服务端和各个心跳管理单元及设备之间约定的特殊格式,例如,可在设备失活消息中携带特殊标识,心跳监测设备可通过识别该特殊标识而识别出设备失活消息,从而使用专用资源优先处理设备失活消息。
56.据此,本实施例中,可及时发现失活设备,并在心跳管理单元中出现失活设备时,及时补充新的设备,以避免遗漏处理心跳包。
57.需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的设备组等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
58.图5为本技术另一示例性实施例提供的一种计算设备的结构示意图。如图5所示,该计算设备包括:存储器50、处理器51。
59.处理器51,与存储器50耦合,用于执行存储器110中的计算机程序,以用于:
60.在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;
61.在单个设备组内,选取指定数量的设备,组建为设备组对应的心跳管理单元,其中,心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至从属关系中作为根节点的心跳管理单元;
62.根据作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。
63.在一可选实施例中,处理器51在进行设备分组,以产生至少一个设备组的过程中,可用于:
64.按照预置的组容量,选取相应数量的设备,组成第一设备组;
65.若剩余设备的数量仍超过组容量,则继续从剩余设备中选取相应数量的设备,组成第二设备组,直至剩余设备的数量不再超过组容量,则停止设备分组。
66.在一可选实施例中,处理器51还可用于:
67.在目标设备组的心跳管理单元组建完成后,将目标设备组对应的心跳管理单元中各设备的设备地址通知至目标设备组内的各个设备,以供目标设备组内的各个设备按照接收到的新的设备地址发送下一次心跳包;
68.在目标设备组对应的心跳管理单元在从属关系中作为非根节点的情况下,为其指定所隶属的心跳管理单元,并通知目标设备组对应的心跳管理单元;
69.其中,目标设备组为至少一个设备组中的任意一个。
70.在一可选实施例中,在单个心跳管理单元中至少包含主节点,主节点用于对心跳管理单元所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至该心跳管理单元所隶属的心跳管理单元中的主节点。
71.在一可选实施例中,在单个心跳管理单元中还包含至少一个从节点,心跳管理单
元所管理的设备组内的单个设备将心跳包发送至心跳管理单元中的从节点或主节点,从节点用于对接收到的心跳包进行汇总;将产生的汇总信息及自身的心跳包发送至心跳管理单元中的主节点,以供主节点进行汇总操作。
72.在一可选实施例中,处理器51还可用于:
73.接收各个心跳管理单元中的主节点发送的自身的心跳包,以对各个心跳管理单元中的主节点进行心跳监测。
74.在一可选实施例中,处理器51还可用于:
75.在确定目标心跳管理单元中的任一从节点失活后,从目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;
76.控制新的从节点加入目标心跳管理单元,以供目标心跳管理单元中的其它节点感知新的从节点并将新的从节点的设备地址通知至目标设备组中的各个设备;
77.其中,目标心跳管理单元为各个心跳管理单元中的任意一个。
78.在一可选实施例中,目标心跳管理单元中的主节点失活后,目标心跳管理单元中的目标从节点成为新的主节点,处理器51还可用于:
79.响应于目标从节点发送的针对主节点的设备失活消息,从目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;
80.控制新的从节点加入目标心跳管理单元,以供目标心跳管理单元中的其它节点感知新的从节点并将新的从节点的设备地址通知至目标设备组中的各个设备;
81.其中,目标心跳管理单元为各个心跳管理单元中的任意一个。
82.在一可选实施例中,处理器51还可用于:
83.接收各个心跳管理单元按照指定格式发送的设备失活消息,设备失活消息为心跳管理单元通过对心跳包进行处理而发现失活设备后而为失活设备生成的;
84.利用专用资源处理设备失活消息,以将设备失活消息对应的设备标记为失活状态;
85.通知管理失活设备的心跳管理单元停止对失活设备进行心跳包处理。
86.在一可选实施例中,处理器51还可用于:
87.接收目标设备在被非正常关闭前按照指定格式发送的设备失活消息;
88.利用专用资源处理设备失活消息,以将目标设备标记为失活状态;
89.通知管理目标设备的心跳管理单元停止对目标设备进行心跳包处理;
90.其中,目标设备为各个设备中的任意一个。
91.在一可选实施例中,处理器51还可用于:
92.将新增设备作为未成组的剩余设备;
93.在未成组的剩余设备的数量达到成组要求后,组成设备组;
94.针对组成的设备组,执行组建对应的心跳管理单元及后续操作。
95.进一步,如图5所示,该计算设备还包括:通信组件52、电源组件53等其它组件。图5中仅示意性给出部分组件,并不意味着计算设备只包括图5所示组件。
96.值得说明的是,上述关于计算设备各实施例中的技术细节,可参考前述的方法实施例中关于心跳监测服务端的相关描述,为节省篇幅,在此不再赘述,但这不应造成本技术保护范围的损失。
97.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由计算设备执行的各步骤。
98.上述图5中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
99.上述图5中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
100.上述图5中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
101.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
102.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
103.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
104.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
105.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
106.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
107.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
108.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
109.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种心跳监测方法,包括:在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;在单个设备组内,选取指定数量的设备,组建为所述设备组对应的心跳管理单元,其中,所述至少一个设备组各自对应的心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至所述从属关系中作为根节点的心跳管理单元;根据所述作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。2.根据权利要求1所述的方法,所述进行设备分组,以产生至少一个设备组,包括:按照预置的组容量,选取相应数量的设备,组成第一设备组;若剩余设备的数量仍超过所述组容量,则继续从剩余设备中选取相应数量的设备,组成第二设备组,直至剩余设备的数量不再超过所述组容量,则停止设备分组。3.根据权利要求1所述的方法,还包括:在目标设备组的心跳管理单元组建完成后,将所述目标设备组对应的心跳管理单元中各设备的设备地址通知至所述目标设备组内的各个设备,以供所述目标设备组内的各个设备按照接收到的新的设备地址发送下一次心跳包;在所述目标设备组对应的心跳管理单元在所述从属关系中作为非根节点的情况下,为其指定所隶属的心跳管理单元,并通知所述目标设备组对应的心跳管理单元;其中,所述目标设备组为至少一个设备组中的任意一个。4.根据权利要求1所述的方法,在单个心跳管理单元中至少包含主节点,所述主节点用于对所述心跳管理单元所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至所述心跳管理单元所隶属的心跳管理单元中的主节点。5.根据权利要求4所述的方法,在单个心跳管理单元中还包含至少一个从节点,所述心跳管理单元所管理的设备组内的单个设备将心跳包发送至所述心跳管理单元中的从节点或主节点,所述从节点用于对接收到的心跳包进行汇总;将产生的汇总信息以及自身的心跳包发送至所述主节点,以供所述主节点进行所述汇总操作。6.根据权利要求4所述的方法,还包括:接收各个心跳管理单元中的主节点发送的自身的心跳包,以对各个心跳管理单元中的主节点进行心跳监测。7.根据权利要求5所述的方法,还包括:在确定目标心跳管理单元中的任一从节点失活后,从所述目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;控制所述新的从节点加入所述目标心跳管理单元,以供所述目标心跳管理单元中的其它节点感知所述新的从节点并将所述新的从节点的设备地址通知至所述目标设备组中的各个设备;其中,所述目标心跳管理单元为各个心跳管理单元中的任意一个。8.根据权利要求5所述的方法,目标心跳管理单元中的主节点失活后,所述目标心跳管
理单元中的目标从节点成为新的主节点,所述方法还包括:响应于所述目标从节点发送的针对主节点的设备失活消息,从所述目标心跳管理单元对应的目标设备组中选取一设备作为新的从节点;控制所述新的从节点加入所述目标心跳管理单元,以供所述目标心跳管理单元中的其它节点感知所述新的从节点并将所述新的从节点的设备地址通知至所述目标设备组中的各个设备;其中,所述目标心跳管理单元为各个心跳管理单元中的任意一个,所述目标从节点为所述目标心跳管理单元中的任一从节点。9.根据权利要求1所述的方法,还包括:接收各个心跳管理单元按照指定格式发送的设备失活消息,所述设备失活消息为所述心跳管理单元通过对心跳包进行处理而发现失活设备后而为所述失活设备生成的;利用专用资源处理所述设备失活消息,以将所述设备失活消息对应的设备标记为失活状态;通知管理所述失活设备的心跳管理单元停止对所述失活设备进行心跳包处理。10.根据权利要求1所述的方法,还包括:接收目标设备在被非正常关闭前按照指定格式发送的设备失活消息;利用专用资源处理所述设备失活消息,以将所述目标设备标记为失活状态;通知管理所述目标设备的心跳管理单元停止对所述目标设备进行心跳包处理;其中,所述目标设备为各个设备中的任意一个。11.根据权利要求1所述的方法,还包括:将新增设备作为未成组的剩余设备;在未成组的剩余设备的数量达到成组要求后,组成设备组;针对组成的设备组,执行组建对应的心跳管理单元及后续操作。12.一种计算设备,包括存储器、处理器和通信组件;所述存储器用于存储一条或多条计算机指令;所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:在需要进行心跳监测的设备的数量超过指定阈值的情况下,进行设备分组,以产生至少一个设备组;在单个设备组内,选取指定数量的设备,组建为所述设备组对应的心跳管理单元,其中,所述至少一个设备组各自对应的心跳管理单元之间存在从属关系,单个心跳管理单元用于对其所管理的设备组内的心跳包进行汇总并将产生的汇总信息发送至其隶属的心跳管理单元,以使各心跳管理单元产生的汇总信息汇聚至所述从属关系中作为根节点的心跳管理单元;根据所述作为根节点的心跳管理单元提供的汇总信息以及未成组的剩余设备发送的心跳包,进行心跳监测。13.一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-11任一项所述的心跳监测方法。

技术总结
本申请实施例提供一种心跳监测方法、设备及存储介质。在需要设备数量超过指定阈值的情况下,可进行设备分组;并在产生的各个设备分组内,分别组建心跳管理单元,且心跳管理单元之间存在从属关系。可由各个心跳管理单元将对心跳包进行汇总而产生的汇总信息发送至其隶属的心跳管理单元,以因此,心跳监测服务端只需要处理从属关系中作为根节点的各个心跳管理单元发送的汇总信息以及未成组的剩余设备发送的心跳包即可。据此,在设备规模较大的情况下,可通过分组机制将心跳包的处理压力分化到各个心跳管理单元中,而不再集中处理,并通过逐级汇总发送的方式来保证心跳监测服务端对所有设备的心跳监测能力,从而可避免DDOS攻击问题。击问题。击问题。


技术研发人员:王义波 李昊龙
受保护的技术使用者:阿里云计算有限公司
技术研发日:2023.01.13
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐