监测节点存活状态的方法、装置及系统与流程

文档序号:16630152发布日期:2019-01-16 06:29阅读:186来源:国知局
监测节点存活状态的方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种监测节点存活状态的方法、装置及系统。



背景技术:

在相关技术中,都是使用服务器监测下属节点的存活情况,这种方式对服务器带宽及计算存储能力都有较高要求,且通常响应较慢。因此相关技术中的节点存活监测技术不适用于中心节点带宽及计算存储能力较低,且需要在协同节点离线后及时响应的情况。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种监测节点存活状态的方法、装置及系统,以至少解决相关技术中通过服务器监测下属节点时响应较慢的技术问题。

根据本发明的一个实施例,提供了一种监测节点存活状态的方法,包括:第一节点监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;在所述存活状态表征所述第二节点离线时,所述第一节点向中心节点发送用于指示所述第二节点已经离线的通知消息。

可选的,在所述第一节点向中心节点发送用于指示所述第二节点已经离线的通知消息之后,所述方法还包括:所述中心节点确定所述第二节点的离线状态;所述中心节点根据所述第一节点和/或所述第二节点的当前拓扑状态调整所辖节点的协同关系。

可选的,所述中心节点确定所述第二节点的离线状态包括:所述中心节点与所述第二节点进行尝试通信;在所述尝试通信失败时,所述中心节点确定所述第二节点的当前状态为所述离线状态。

可选的,所述中心节点根据所述第一节点的当前拓扑状态调整所辖节点的协同关系包括以下之一:在所述第一节点存在其他存活的协同节点时,所述中心节点保持所辖节点的协同关系;在所述第一节点不存在其他存活的协同节点时,所述中心节点重新为所辖节点选择协同节点。

可选的,所述中心节点根据所述第一节点和/或所述第二节点的当前拓扑状态调整所辖节点的协同关系包括以下之一:在所述第一节点存在其他存活的协同节点,且第二节点不存在其他存活的协同节点时,所述中心节点保持所辖节点的协同关系;在所述第一节点存在其他存活的协同节点,且第三节点存在其他存活的协同节点时,所述中心节点保持所辖节点的协同关系;在所述第一节点不存在其他存活的协同节点,或,所述第三节点不存在其他存活的协同节点时,所述中心节点重新为所辖节点选择协同节点;其中,所述第三节点为所述第二节点的协同节点。

可选的,在向中心节点发送用于指示所述第二节点已经离线的通知消息之前,所述方法还包括:所述第一节点根据所述存活状态确定所述第二节点的当前状态为离线状态。

可选的,第一节点监测第二节点的存活状态包括:所述第一节点根据接收到的所述第二节点的存活信息监测所述第二节点的存活状态。

可选的,所述第一节点根据接收到的所述第二节点的存活信息监测所述第二节点的存活状态包括以下之一:所述第一节点根据所述第一节点上次接收到所述第二节点的存活信息与本次接收到所述第二节点存活信息所间隔的第一时间监测所述第二节点的存活状态;所述第一节点根据所述第二节点上次生成存活信息与所述第二节点本次生成存活信息所间隔的第二时间监测所述第二节点的存活状态。

可选的,所述第一节点根据接收所述第二节点的存活信息监测所述第二节点的存活状态包括以下之一:在所述第一时间小于或等于第一阈值,且所述第二时间小于或等于第二阈值时,所述第一节点确定所述第二节点的存活状态为正常状态;在所述第一时间小于或等于所述第一阈值,且所述第二时间大于或等于所述第二阈值时,所述第一节点确定所述第二节点的存活状态为异常状态;在所述第一时间大于或等于所述第一阈值,且所述第二节点在上一个监测周期的存活状态为异常状态时,所述第一节点确定第二节点的存活状态为离线状态;在所述第一时间大于或等于所述第一阈值,且所述第二节点在上一个监测周期的存活状态为正常状态时,判断所述第一时间是否大于第三阈值,在判断结果为否时,确定所述第二节点的存活状态为异常状态;在所述第一时间大于或等于所述第一阈值,且所述第二节点在上一个监测周期的存活状态为正常状态时,判断所述第一时间是否大于第三阈值,在判断结果为是时,确定所述第二节点的存活状态为离线状态。

可选的,所述第三阈值大于所述第二阈值和所述第一阈值。

可选的,所述第一节点根据接收所述第二节点的存活信息监测所述第二节点的存活状态包括以下之一:在所述第一时间小于或等于第一阈值时,所述第一节点确定所述第二节点的存活状态为正常状态;在所述第一时间大于或等于所述第一阈值时,所述第一节点确定所述第二节点的存活状态为离线状态。

可选的,所述方法还包括:所述第一节点接收所述第二节点发送的存活信息。

可选的,所述中心节点为同一网络中的任一第四节点。

可选的,所述中心节点通过以下方式之一确定:预设关系计算,网络或用户指定。

可选的,所述节点包括以下之一:终端;网关。

根据本发明的另一个实施例,提供了一种监测节点存活状态的装置,应用在第一节点,包括:监测模块,用于监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;发送模块,用于在所述存活状态表征所述第二节点离线时,向中心节点发送用于指示所述第二节点已经离线的通知消息。

根据本发明的又一个实施例,提供了一种监测节点存活状态的系统,包括:第一节点,第二节点,中心节点;所述第一节点包括:监测模块,用于监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;发送模块,用于在所述存活状态表征所述第二节点离线时,向中心节点发送用于指示所述第二节点已经离线的通知消息;所述中心节点包括:确定模块,用于在接收到所述通知消息后,确定所述第二节点的离线状态;管理模块,用于根据所述第一节点和/或所述第二节点的当前拓扑状态调整所辖节点的协同关系。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:

监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;

在所述存活状态表征所述第二节点离线时,向中心节点发送用于指示所述第二节点已经离线的通知消息。

通过本发明,第一节点监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;在所述存活状态表征所述第二节点离线时,所述第一节点向中心节点发送用于指示所述第二节点已经离线的通知消息。通过节点间的相互监测并发送到中心节点,解决了相关技术中通过服务器监测下属节点时响应较慢的技术问题,提高了网络对节点异常的反应速度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的网络构架图;

图2是根据本发明实施例的监测节点存活状态的方法流程图;

图3是根据本发明实施例的监测节点存活状态的装置的结构框图;

图4是根据本发明实施例的监测节点存活状态的系统的结构框图;

图5为本实施例提供的节点存活信息发送流程示意图;

图6为本实施例提供的中心节点处理离线节点的流程示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例可以运行于图1所示的网络架构上,图1是本发明实施例的网络构架图,如图1所示,该网络架构包括:中心节点、中心节点所管辖的多个节点,如,节点1,节点2等,节点间存在协同关系。

在本实施例中提供了一种运行于上述网络架构的监测节点存活状态的方法,图2是根据本发明实施例的监测节点存活状态的方法流程图,如图2所示,该流程包括如下步骤:

步骤s202,第一节点监测第二节点的存活状态,其中,第一节点与第二节点互为协同节点;

步骤s204,在存活状态表征第二节点离线时,第一节点向中心节点发送用于指示第二节点已经离线的通知消息。

通过上述步骤,第一节点监测第二节点的存活状态,其中,第一节点与第二节点互为协同节点;在存活状态表征第二节点离线时,第一节点向中心节点发送用于指示第二节点已经离线的通知消息。通过节点间的相互监测并发送到中心节点,解决了相关技术中通过服务器监测下属节点时响应较慢的技术问题,提高了网络对节点异常的反应速度。

可选地,在第一节点向中心节点发送用于指示第二节点已经离线的通知消息之后,方法还包括:

s11,中心节点确定第二节点的离线状态;

s12,中心节点根据第一节点和/或第二节点的当前拓扑状态调整所辖节点的协同关系。

在本实施例中,中心节点确定第二节点的离线状态包括:

s21,中心节点与第二节点进行尝试通信;

s22,在尝试通信失败时,中心节点确定第二节点的当前状态为离线状态。

在本实施例中,中心节点根据第一节点的当前拓扑状态调整所辖节点的协同关系包括以下至少之一:

在第一节点存在其他存活的协同节点时,即除了第二节点之外第一节点还有其他协同节点,中心节点保持所辖节点的协同关系;

在第一节点不存在其他存活的协同节点时,中心节点重新为所辖节点选择协同节点。

在根据本实施例的可选实施方式中,中心节点根据第一节点和/或第二节点的当前拓扑状态调整所辖节点的协同关系包括以下情况:

在第一节点存在其他存活的协同节点,且第二节点不存在其他存活的协同节点时,中心节点保持所辖节点的协同关系;

在第一节点存在其他存活的协同节点,且第三节点存在其他存活的协同节点时,中心节点保持所辖节点的协同关系;

在第一节点不存在其他存活的协同节点,或,第三节点不存在其他存活的协同节点时,中心节点重新为所辖节点选择协同节点;其中,第三节点为第二节点的协同节点。

可选地,在向中心节点发送用于指示第二节点已经离线的通知消息之前,方法还包括:第一节点根据存活状态确定第二节点的当前状态为离线状态。

可选地,第一节点监测第二节点的存活状态包括:第一节点根据接收第二节点的存活信息监测第二节点的存活状态。该存活信息包括接收的时间信息和生成的时间信息。

具体的,所述第一节点根据接收到的所述第二节点的存活信息监测所述第二节点的存活状态包括以下两种情形:

所述第一节点根据所述第一节点上次接收到所述第二节点的存活信息与本次接收到所述第二节点存活信息所间隔的第一时间监测所述第二节点的存活状态;

所述第一节点根据所述第二节点上次生成存活信息与所述第二节点本次生成存活信息所间隔的第二时间监测所述第二节点的存活状态。

在根据本实施例的可选实施方式中,第一节点根据接收第二节点的存活信息监测第二节点的存活状态包括以下情形:

在第一时间小于或等于第一阈值,且第二时间小于或等于第二阈值时,第一节点确定第二节点的存活状态为正常状态;

在第一时间小于或等于第一阈值,且第二时间大于或等于第二阈值时,第一节点确定第二节点的存活状态为异常状态;

在第一时间大于或等于第一阈值,且第二节点在上一个监测周期的存活状态为异常状态时,第一节点确定断第二节点的存活状态为离线状态;

在第一时间大于或等于第一阈值,且第二节点在上一个监测周期的存活状态为正常状态时,判断第一时间是否大于第三阈值,在判断结果为否时,确定第二节点的存活状态为异常状态;

在第一时间大于或等于第一阈值,且第二节点在上一个监测周期的存活状态为正常状态时,判断第一时间是否大于第三阈值,在判断结果为是时,确定第二节点的存活状态为离线状态。

可选的,第三阈值大于第二阈值,同时大于第一阈值,如,第一阈值为2s,第二阈值为1s,第三阈值为10s。

在根据本实施例的另一个可选实施方式中,第一节点根据接收第二节点的存活信息监测第二节点的存活状态包括以下情形:

在第一时间小于或等于第一阈值时,第一节点确定第二节点的存活状态为正常状态;

在第一时间大于或等于第一阈值时,第一节点确定第二节点的存活状态为离线状态。

可选的,方法还包括:第一节点接收第二节点发送的存活信息。同时,第一节点也向第二节点发送的存活信息。

在本实施例中,中心节点为统一网络中的任意一个节点,可以但不限于为网络中的主控节点或网关节点,其中,中心节点通过以下方式之一确定:预设关系计算,网络或用户指定。

在本实施例中,节点,如第一节点,第二节点,第三节点等,可以但不限于为以下实体或软件:终端;网关。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种监测节点存活状态的装置,系统,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的监测节点存活状态的装置的结构框图,如图3所示,,应用在第一节点,该装置包括:

监测模块30,用于监测第二节点的存活状态,其中,第一节点与第二节点互为协同节点;

发送模块32,用于在存活状态表征第二节点离线时,向中心节点发送用于指示第二节点已经离线的通知消息。

图4是根据本发明实施例的监测节点存活状态的系统的结构框图,如图4所示,该装置包括:第一节点40,第二节点42,中心节点44;

第一节点40包括:

监测模块402,用于监测第二节点的存活状态,其中,第一节点与第二节点互为协同节点;

发送模块404,用于在存活状态表征第二节点离线时,向中心节点发送用于指示第二节点已经离线的通知消息;

中心节点44包括:

确定模块442,用于在接收到通知消息后,确定第二节点的离线状态;

管理模块444,用于根据所述第一节点和/或所述第二节点的当前拓扑状态调整所辖节点的协同关系。

本实施例中的第二节点42与第一节点40具备相同的功能,可以执行相同的操作,上述仅从第一节点侧进行了说明,第二节点类似,在此不再赘述。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本实施例是本发明的可选实施例,用于结合具体的实例对本申请的方案进行详细说明:

本实施例描述了协同节点间存活监测的目的,即及时发现离线节点,中心节点能够及时处理网络拓扑变更的情况避免某节点长时间失去协同节点。

本实施例描述了协同节点间判断对方存活的规则,即超过一定时间未收到存活信息则判定对方为离线。本发明还实施例了中心节点判断是否需要调整协同关系的规则。即离线节点的所有协同节点中只要有任一节点没有其他存活的协同节点,则中心节点判定需要调整所辖节点的协同关系。

在一个中心节点及协同节点关系已经确定的网络中,首先每对协同节点之间根据节点存活监测方法实施例相互监测,如果任意节点监测到其协同节点已经离线,则该节点向中心节点报告其协同节点离线情况,按照离线节点处理方法实施例中的步骤,根据离线节点的协同节点是否均有仍然存活的协同节点来决定是否重新进行协同节点选择。

本实施例适用于一个中心节点及协同节点关系已经确定的网络中。其中,每个节点可以有0~2个协同节点,协同节点间通过互相发送存活信息监测对方存活状态。中心节点接收网络中任意节点发来的协同节点离线消息并进行处理。

本实施例包括:

节点存活监测方法实施例

本实施例提供了一种节点存活监测方法,通过监测协同节点的存活情况可以及时发现已离线设备,以便于中心节点能及时对离线设备进行处理。

节点存活信息包含内容如下:

1.节点上次生成存活信息的时间

2.节点本次生成存活信息的时间

定义t为节点正常工作时生成及发送存活信息的时间间隔。该时间间隔需要在协同节点选择结束后协同节点间根据网络条件及自身条件交互商定。网络中不同对协同节点间该时间间隔可以不同。

图5为本实施例提供的节点存活信息发送流程示意图,为网络中任意一对协同节点间的监测流程,网络中所有协同节点间均需要进行此流程。节点m与节点n互为协同节点,包括:

步骤s101:节点m生成存活信息

步骤s102:节点m向节点n发送存活信息

步骤s103:节点n等待接收节点m发来的存活信息,若在2t内收到存活信息,且收到的存活信息中,上次生成存活信息的时间与本次生成存活信息的时间的间隔为t,则节点n判断节点m工作正常

步骤s104:节点n等待接收节点m发来的存活信息,若在2t内收到存活信息,且收到的存活信息中,上次生成存活信息的时间与本次生成存活信息的时间间隔大于t,则节点n判断节点m运行存在异常。

步骤s105:节点n等待接收节点m发来的存活信息,若在2t内未收到存活信息,且节点n上次接收到节点m的存活信息时已判断节点m存在运行异常,则节点n判断节点m为离线节点

步骤s106:节点n等待接收节点m发来的存活信息,若在2t内未收到存活信息,且节点n上次接收到节点m的存活信息时判断节点m工作正常,则执行步骤s107

步骤s107:节点n等待接收节点m发来的存活信息,若在10t内收到存活信息,则判断节点m运行存在异常;若在10t内未收到存活信息,则节点n判断节点m为离线节点。

作为一个可选的方案,在节点计算存储能力较弱,无法保存节点上次生成存活信息的时间及本次存活信息的时间并生成存活信息时,存活信息中可以不包含这两项信息。则节点存活监测实施例步骤变为

步骤s301:节点m生成存活信息

步骤s302:节点m向节点n发送存活信息

步骤s303:节点n等待接收节点m发来的存活信息,若在2t内收到存活信息,则节点n判断节点m工作正常

步骤s304:节点n等待接收节点m发来的存活信息,若在2t内未收到存活信息,则节点n判断节点m为离线节点。

上述流程仅为节点n监测节点m的单向流程,应有相同流程节点m监测节点n使监测为双向。

离线节点处理方法实施例

本实施例需要在节点存活监测方法实施例监测到离线节点后执行。节点n通过节点存活监测方法检测到其协同节点m离线后,图6为本实施例提供的中心节点处理离线节点的流程示意图,节点n及网络中心节点需要进行步骤包括:

步骤s201:节点n向中心节点上报节点m离线消息

步骤s202:中心节点接收到节点m离线消息后,尝试与节点m通信,若确认节点m已经离线,则执行步骤s203

步骤s203:若节点n还有其他存活协同节点,且节点m不存在其他存活协同节点,则中心节点不进行操作;若节点n还有其他存活协同节点,且节点m的另一个协同节点也存在其他存活协同节点,则中心节点不进行操作;若节点n无其他存活协同节点或节点m的另一个协同节点不存在其他存活协同节点,则中心节点判断网络拓扑变更,重新为网络中所有节点进行协同节点选择

根据本实施例提出的一种协同节点存活监测方法。依据本监测方法,在网络中某一节点或链路出现异常时,能更及时的监测到离线的节点并进行处理,提高了网络对节点异常的反应速度。通过节点存活监测方法实施例能及时监测到协同节点是否离线,使离线节点处理方法实施例能够及时地执行。通过离线节点处理方法实施例能够及时响应离线节点带来的网络拓扑变更,使中心节点能最迅速的为所有受到影响的节点选择新的协同节点。

本实施例的应用场景包括不限,如在智能电网中,网络周期收集电网中各个网关中的数据。网络故障可能是因为网关故障或者是网关连接的供电设备发生故障造成的。尤其是供电设备发生故障时,如果无法及早发现问题,可能导致级联故障。而故障网关无法及时汇报信息,需要等到下一次数据收集时才能够发现这个问题。而本实施例所涉及的协同节点的发现和汇报机制将利于及早发现问题。而在覆盖范围较大的农业物联网中,节点发生故障后,很难被发现,同时某些关键节点的故障可能导致网络隔离。因此,需要通过本发明提供的方法,利用协同节点判断存活信息,并及时向管理中心汇报,以便进行进一步的处理。

实施例4

本发明的实施例还提供了一种存储介质。应用在第一节点上,可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;

s2,在所述存活状态表征所述第二节点离线时,向中心节点发送用于指示所述第二节点已经离线的通知消息。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行监测第二节点的存活状态,其中,所述第一节点与所述第二节点互为协同节点;

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行在所述存活状态表征所述第二节点离线时,向中心节点发送用于指示所述第二节点已经离线的通知消息。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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