一种海量设备状态自维护方法及其装置和系统与流程

文档序号:15358481发布日期:2018-09-05 00:19阅读:255来源:国知局

本发明属于设备集控技术领域,具体涉及一种海量设备状态自维护方法及其装置和系统。



背景技术:

设备集控技术是一种对多个设备甚至海量设备进行统一控制管理的技术。目前利用集控技术对海量设备的开机状态和关机状态进行监管的方式是,将海量设备与集控管理平台连接,在每个设备开机之后,每个设备将开机状态上报给集控管理平台,集控管理平台记录该设备的状态为开机状态;当处于开机状态的设备准备关机之前,设备将关机状态上报给集控管理平台,集控管理平台将该设备的状态记录由开机状态改为关机状态,设备正常关机。

如果有设备不是正常关机,例如设备突然死机,在设备死机之前,设备没有将关机状态上报给集控管理平台,此时集控管理平台记录的该设备的状态仍然是开机状态,但实际上该设备已经关机,导致集控管理平台记录的设备状态与实际的设备状态不符。

目前针对这一问题的解决方案是,集控管理平台通过接收设备发送的心跳包的方式来监管每个设备的状态,如图1所示,简单来说,每个设备开机后向集控管理平台发送心跳包,集控管理平台接收到设备发送的心跳包后,将该设备的状态记录为开机状态,之后,如果集控管理中心在指定时间间隔内没有接收到该设备发送的心跳包,则将该设备的状态记录由开机状态改为关机状态。这种解决方案从一定程度上能够解决设备异常关机导致的设备状态记录不准的问题,但是如果需要监管的设备数量非常之多,那么集控管理平台需要处理的来自设备的数据量将会非常巨大,会给集控管理平台造成极大的压力,严重时可能会出现系统崩溃的局面。因此有必要寻求对海量设备状态进行有效监管的解决办法。



技术实现要素:

为了解决上述无法对海量设备状态进行有效监管的技术问题,本发明实施例提出了一种海量设备状态自维护方法及其装置和系统。

一种海量设备状态自维护方法,该方法包括:

步骤s21:以组为自维护单位的海量设备的各组内的设备之间,通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态;其中,海量设备中的每个设备都分配有一个唯一编号;

步骤s22:对于每个组,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备,将组内所有设备状态正常的消息通知集控平台;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备,将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台。

进一步地,如果组内所有设备的状态均处于关机状态,则等待集控平台主动问询该组内的所有设备,由集控平台获得组内所有处于关机状态的设备的唯一编号及其关机状态。

进一步地,所述设备的唯一编号与设备的ip地址相关联,并且设备的ip地址包含在设备发送的流言中;在步骤s21中,每个处于开机状态的设备通过gossip协议向组内的其他设备发送流言,和接收组内其他处于开机状态的设备通过gossip协议发送的流言,判断组内是否有设备的状态处于关机状态。

一种海量设备状态自维护装置,包括:判断模块和通知模块,判断模块与通知模块相连接;

所述判断模块用于在以组为自维护单位的海量设备的各组内的设备之间,通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态;其中,海量设备中的每个设备都分配有一个唯一编号;

所述通知模块与所述判断模块连接,用于根据所述判断模块的判断结果,通知集控平台组内设备的状态;对于每个组,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备,将组内所有设备状态正常的消息通知集控平台;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备,将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台。

进一步地,如果组内所有设备的状态均处于关机状态,则等待集控平台主动问询该组内的所有设备,由集控平台获得组内所有处于关机状态的设备的唯一编号及其关机状态。

进一步地,所述设备的唯一编号与设备的ip地址相关联,并且设备的ip地址包含在设备发送的流言中;所述判断模块中,每个处于开机状态的设备通过gossip协议向组内的其他设备发送流言,和接收组内其他处于开机状态的设备通过gossip协议发送的流言,判断组内是否有设备的状态处于关机状态。

一种海量设备状态自维护系统,包括:海量设备和集控平台,海量设备均能够与集控平台连接;

其中,海量设备以组为自维护的单位,海量设备中的每个设备都分配有一个唯一编号;各组内的设备之间通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态;对于每个组,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备,将组内所有设备状态正常的消息通知集控平台;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备,将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台;

集控平台接收各组发出的该组内处于关机状态的设备的唯一编号及其关机状态的通知,或者主动问询没有发出上述通知的组内所有设备,获得组内所有处于关机状态的设备的唯一编号及其关机状态。

进一步地,所述集控平台在预设时间内没有接收到某组发出的上述通知时,主动问询没有发出上述通知的组内所有设备。

进一步地,所述设备的唯一编号与设备的ip地址相关联,并且设备的ip地址包含在设备发送的流言中;每个处于开机状态的设备通过gossip协议向组内的其他设备发送流言,和接收组内其他处于开机状态的设备通过gossip协议发送的流言,判断组内是否有设备的状态处于关机状态。

进一步地,所述集控平台分组记录海量设备中每个设备的唯一编号和状态,如果集控平台接收到某组发出的该组内处于关机状态的设备的唯一编号及其关机状态的通知,则将接收到的设备的唯一编号对应的设备的状态记录为关机状态,并将组内其余设备的状态记录为开机状态。

本发明实施例的有益效果:

本发明实施例海量设备状态自维护方法及其装置和系统采用对海量设备进行分组,在组内进行自维护,并且组内只有一个设备和集控平台交互的方式,对海量设备的状态进行监管,极大地减轻了集控平台的负载压力,同时本发明实施例将原本集中在集控平台的计算操作分散给了各个设备,充分利用了各个设备的计算资源,提高了计算效率。

并且本发明实施例海量设备状态自维护方法及其装置和系统通过是否接收到设备的唯一编号作为判断设备处于关机状态还是开机状态的依据,无需接收所有设备的唯一编号及对应的状态,有效减少了数据传输量。

另外,本发明实施例在预设时间内没有接收到某组发出的设备状态通知时,没有直接将该组的所有设备的状态记录为关机状态,而是主动问询该组内所有设备,来获得组内所有处于关机状态的设备的唯一编号及其关机状态,以保证记录的准确性。

附图说明

图1是现有集控管理模式的示意图;

图2是本发明实施例提出的海量设备状态自维护方法的流程图;

图3是本发明实施例提出的海量设备状态自维护装置的结构框图;

图4是本发明实施例提出的海量设备状态自维护系统的结构示意图;

图5是本发明实施例的一种具体应用的系统结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。但本领域技术人员知晓,本发明并不局限于附图和以下实施例。

本发明实施例提出了一种海量设备状态自维护方法,如图2所示,该方法包括:

步骤s21:以组为自维护单位的海量设备的各组内的设备之间通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态。

其中,将海量设备分别分配到多个组中,海量设备中的每个设备都分配有一个唯一编号。上述分配唯一编号的方式可以是在整个海量设备中为每个设备统一分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的;也可以为每个组预留一个不同号段或多个不同号段,每个组内的设备在预留的号段内分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的。所述设备的唯一编号与设备的ip地址相关联。

通过gossip协议,组内的每个设备都可以获知组内所有设备的唯一编号以及组内所有设备的状态。其中,每个设备均可以向组内的其他设备通过gossip协议发送流言和接收其他处于开机状态的设备发送的流言,流言中包含有发送流言的设备的ip地址。换句话说,当一个设备处于开机状态时,它可以向组内的其他所有设备通过gossip协议发送流言,并且还可以接收到组内所有处于开机状态的其他设备发送的流言。由于流言中包含有发送流言的设备的ip地址,因此对这个设备而言,通过与组内其他设备进行基于gossip协议的通信,便可以获知组内所有设备的唯一编号以及组内所有设备的状态。

所述状态包括开机状态和关机状态,关机状态可以是设备正常关机造成的关机状态,也可以是设备异常关机造成的关机状态。

步骤s22:对于每个组来说,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备将组内所有设备状态正常的消息通知集控平台,这里的设备状态正常指的是设备处于开机状态;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台。

如果组内所有设备均处于关机状态,则由集控平台主动问询该组内的所有设备,获得组内所有处于关机状态的设备的唯一编号及其关机状态。

本发明实施例采用对海量设备进行分组,在组内进行自维护,并且组内只有一个设备和集控平台交互的方式,对海量设备的状态进行监管,极大地减轻了集控平台的负载压力,同时本发明实施例将原本集中在集控平台的计算操作分散给了各个设备,充分利用了各个设备的计算资源,提高了计算效率。

并且本发明实施例将处于关机状态的设备的唯一编号通知集控平台,集控平台如果接收到设备的唯一编号,表明该设备处于关机状态,则集控平台将该设备的状态记录为关机状态;如果没有接收到设备的唯一编号,表明该设备处于开机状态,则集控平台将该设备的状态记录为开机状态。本发明实施例通过是否接收到设备的唯一编号作为判断设备处于关机状态还是开机状态的依据,无需接收所有设备的唯一编号及对应的状态,有效减少了数据传输量。

本发明实施例提出了一种海量设备状态自维护装置,如图3所示,该装置包括:判断模块和通知模块,判断模块与通知模块相连接。

所述判断模块用于在以组为自维护单位的海量设备的各组内的设备之间通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态。

其中,将海量设备分别分配到多个组中,海量设备中的每个设备都分配有一个唯一编号。上述分配唯一编号的方式可以是在整个海量设备中为每个设备统一分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的;也可以为每个组预留一个不同号段或多个不同号段,每个组内的设备在预留的号段内分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的。所述设备的唯一编号与设备的ip地址相关联。

通过gossip协议,组内的每个设备都可以获知组内所有设备的唯一编号以及组内所有设备的状态。其中,每个设备均可以向组内的其他设备通过gossip协议发送流言和接收其他处于开机状态的设备发送的流言,流言中包含有发送流言的设备的ip地址。换句话说,当一个设备处于开机状态时,它可以向组内的其他所有设备通过gossip协议发送流言,并且还可以接收到组内所有处于开机状态的其他设备发送的流言。由于流言中包含有发送流言的设备的ip地址,因此对这个设备而言,通过与组内其他设备进行基于gossip协议的通信,便可以获知组内所有设备的唯一编号以及组内所有设备的状态。

所述状态包括开机状态和关机状态,关机状态可以是设备正常关机造成的关机状态,也可以是设备异常关机造成的关机状态。

所述通知模块与所述判断模块连接,用于根据所述判断模块的判断结果,使集控平台获得组内设备的状态。对于每个组来说,对于每个组来说,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备将组内所有设备状态正常的消息通知集控平台,这里的设备状态正常指的是设备处于开机状态;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台。

如果组内所有设备均处于关机状态,则由集控平台主动问询该组内的所有设备,获得组内所有处于关机状态的设备的唯一编号及其关机状态。

本发明实施例采用对海量设备进行分组,在组内进行自维护,并且组内只有一个设备和集控平台交互的方式,对海量设备的状态进行监管,极大地减轻了集控平台的负载压力,同时本发明实施例将原本集中在集控平台的计算操作分散给了各个设备,充分利用了各个设备的计算资源,提高了计算效率。

并且本发明实施例将处于关机状态的设备的唯一编号通知集控平台,集控平台如果接收到设备的唯一编号,表明该设备处于关机状态,则集控平台将该设备的状态记录为关机状态;如果没有接收到设备的唯一编号,表明该设备处于开机状态,则集控平台将该设备的状态记录为开机状态。本发明实施例通过是否接收到设备的唯一编号作为判断设备处于关机状态还是开机状态的依据,无需接收所有设备的唯一编号及对应的状态,有效减少了数据传输量。

本发明实施例提出了一种海量设备状态自维护系统,如图4所示,该系统包括:海量设备和集控平台,海量设备均能够与集控平台连接。

其中,海量设备以组为自维护的单位,各组内的设备之间通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态。对于每个组来说,如果组内所有设备均处于开机状态,则由组内唯一编号最小或最大的设备将组内所有设备状态正常的消息通知集控平台,这里的设备状态正常指的是设备处于开机状态;如果组内有设备处于关机状态,且组内还存在处于开机状态的设备,则由处于开机状态的设备中唯一编号最小或最大的设备将组内处于关机状态的设备的唯一编号及其关机状态通知集控平台。

其中,将海量设备分别分配到多个组中,海量设备中的每个设备都分配有一个唯一编号。上述分配唯一编号的方式可以是在整个海量设备中为每个设备统一分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的;也可以为每个组预留一个不同号段或多个不同号段,每个组内的设备在预留的号段内分配唯一编号,每个设备的唯一编号在整个海量设备中是唯一的。所述设备的唯一编号可以为ip地址,也可以与设备的ip地址相关联。

通过gossip协议,组内的每个设备都可以获知组内所有设备的唯一编号以及组内所有设备的状态。其中,每个设备均可以向组内的其他设备通过gossip协议发送流言和接收其他处于开机状态的设备发送的流言,流言中包含有发送流言的设备的ip地址。换句话说,当一个设备处于开机状态时,它可以向组内的其他所有设备通过gossip协议发送流言,并且还可以接收到组内所有处于开机状态的其他设备发送的流言。由于流言中包含有发送流言的设备的ip地址,因此对这个设备而言,通过与组内其他设备进行基于gossip协议的通信,便可以获知组内所有设备的唯一编号以及组内所有设备的状态。

所述状态包括开机状态和关机状态,关机状态可以是设备正常关机造成的关机状态,也可以是设备异常关机造成的关机状态。

集控平台接收各组发出的该组内处于关机状态的设备的唯一编号及其关机状态的通知,或者主动问询没有发出上述通知的组内所有设备,获得组内所有处于关机状态的设备的唯一编号及其关机状态。集控平台通过接收设备状态的通知或主动问询设备状态的方式,可以获得各组内所有处于关机状态的设备的唯一编号及其关机状态。

其中,集控平台在预设时间内没有接收到某组发出的上述通知时,主动问询没有发出上述通知的组内所有设备。所述预设时间比完成一次组内的所述通信并向集控平台发送通知的时长要长,以避免在组内向集控平台发送设备状态通知之前,集控平台主动问询该组的设备状态。

所述集控平台分组记录海量设备中每个设备的唯一编号和状态,如果集控平台接收到某组发出的该组内处于关机状态的设备的唯一编号及其关机状态的通知,则将接收到的设备的唯一编号对应的设备的状态记录为关机状态,并将组内其余设备的状态记录为开机状态。

本发明实施例采用对海量设备进行分组,在组内进行自维护,并且组内只有一个设备和集控平台交互的方式,对海量设备的状态进行监管,极大地减轻了集控平台的负载压力,同时本发明实施例将原本集中在集控平台的计算操作分散给了各个设备,充分利用了各个设备的计算资源,提高了计算效率。

并且本发明实施例将处于关机状态的设备的唯一编号通知集控平台,集控平台如果接收到设备的唯一编号,表明该设备处于关机状态,则集控平台将该设备的状态记录为关机状态;如果没有接收到设备的唯一编号,表明该设备处于开机状态,则集控平台将该设备的状态记录为开机状态。本发明实施例通过是否接收到设备的唯一编号来作为判断设备处于关机状态还是开机状态的依据,无需接收所有设备的唯一编号及对应的状态,有效减少了数据传输量。

另外,本发明实施例在预设时间内没有接收到某组发出的设备状态通知时,没有直接将该组的所有设备的状态记录为关机状态,而是主动问询该组内所有设备,来获得组内所有处于关机状态的设备的唯一编号及其关机状态,以保证记录的准确性。

下面结合具体应用场景对前述的方法进行描述。

实施例1:

在本实施例中,将海量设备简化到5个学校,每个学校四台电脑为例进行示例性说明,如图5所示,以便让本领域技术人员能够更加清楚本发明实施例所提出的技术方案。

本实施例提出了一种海量设备状态自维护方法包括:以组为自维护单位的海量设备的各组内的设备之间通过gossip协议进行通信,通过通信判断组内是否有设备处于关机状态。

在本实施例中,每个学校为一组,每个学校的每个设备都分配有一个唯一编号。如图5所示,学校1包括设备1、设备2、设备3和设备4,学校2包括设备5、设备6、设备7和设备8,学校3包括设备9、设备10、设备11和设备12,学校4包括设备13、设备14、设备15和设备16,学校5包括设备17、设备18、设备19和设备20。图5中采用底纹表示处于关机状态的设备。

每个设备均可以向学校内的其他设备通过gossip协议发送流言和接收学校内的其他处于开机状态的设备发送的流言。

该方法还包括:在学校1中,设备1、设备2、设备3和设备4均处于开机状态,因此,设备1将组内所有设备处于开机状态的消息通知集控平台。

在学校2中,设备5、设备7和设备8处于开机状态,设备6处于关机状态,则设备5将设备6的编号及设备6处于关机状态通知集控平台。

在学校3中,设备9和设备12处于关机状态,设备10和设备11处于开机状态,则设备10将设备9和设备12的编号以及设备9和设备12处于关机状态通知集控平台。

在学校4中,设备13、设备14、设备15和设备16均处于关机状态,因此,学校4没有设备向集控平台发出设备状态的通知,集控平台在预设时间内没有接收到学校4发出的设备状态通知,则主动问询学校4的各个设备的状态,由于学校4的所有设备均处于关机状态,因此,集控平台无法接收到学校4的任何设备的反馈,此时集控平台可知学校4的所有设备处于关机状态。

在学校5中,设备17和设备19处于关机状态,设备18和设备20处于开机状态,则设备18将设备17和设备19的编号以及设备17和设备19处于关机状态通知集控平台。

由此,集控平台可以知晓所有学校的设备的状态。

本实施例示出了以处于开机状态的编号最小的设备向集控平台发送设备状态通知的方式,本领域技术人员知晓,也可以以处于开机状态的编号最大的设备向集控平台发送设备状态通知的方式来实现。

本发明实施例还提出一种计算机可读存储介质,存储有执行前述方法的计算机程序。

本发明实施例还提出一种计算机设备,包括处理器和操作上与所述处理器连接的上述计算机可读存储介质,所述处理器运行执行计算机可读介质中的计算机程序。

本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上,对本发明的实施方式进行了说明。但是,本发明不限定于上述实施方式。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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