检测脱网节点的方法及系统与流程

文档序号:13938080阅读:210来源:国知局
检测脱网节点的方法及系统与流程

本发明涉及自组织网络领域,特别涉及一种检测脱网节点的方法及系统。



背景技术:

如果manet(mobileadhocnetwork,移动自组网络的工作组)网络的一个节点i突然脱网,其他网络节点没有机会接收到该脱网节点i的地址清除消息,发起节点j在为一个请求节点配置ip地址时,由于节点i的ip地址仍然在成员节点列表中,因此仍然会期望在请求响应定时器超时前接收到突然脱网节点i的响应,但由于节点i已经脱网,发起节点j一定是接收不到节点i的响应。通过重复发送请求消息,并且在重复次数达到设定的门限次数之后,就可以判断节点i已经突然脱网。在初始化一个ip地址分配过程中,能够检测出突然脱网节点。

当发起节点j接收不到节点i的响应,其原因可能有以下4个:1)节点i突然脱网;2)节点j发送的启动请求消息丢失;3)节点i的响应丢失;4)消息传播时延超长。如果发生消息丢失导致的,需要通过重新发送消息获得节点i的响应,并且解决节点配置地址冲突和ip地址漏洞问题。通过给每一个ip地址设置一个序列号可以解决消息丢失可能导致的节点配置地址冲突和ip地址漏洞问题。

为了避免因发生节点故障、信号碰撞、通信质量恶化导致等原因造成的消息丢失导致误判节点j突然脱网,需要发起节点设定足够大的最多连续重复次数n。为了避免消息传播时延超长造成误判,需要设定足够长的定时器t。导致消息传播时延超长的因素可能包括:网络节点本身故障、重新分群、网络拥塞、传播环境恶化、多跳转发等。

群首连接技术能够以接近1的概率连接所有节点,在所有传输路由中的可靠性最高,因此消息的最佳传输路由是经由群首传输。即,一个节点j在不掌握路由信息情况下需要发送消息给节点i,其通过群首传输的过程如下:节点j给其群首发送一条消息,其中包含节点i的id。如果节点i不在节点j的分群中,则节点j的群首将该消息广播给相邻的群首。相邻群首接收到消息后,检查其成员表中是否有节点i。各个相邻群首并行进行上述检查。如果某一个相邻群首找到节点i并将消息发送给节点i,节点i通过群首反馈一个响应给节点j。如果没有找到节点i,则相邻群首将消息广播给节点j的群首的两跳相邻群首。依此继续进行这个过程,直到将消息发送到i节点。如果发送节点j接收不到节点i的响应,则重复发送启动请求消息,重置定时器t,因此确定突然脱网节点的地址分配时延为n*t,时间较长。



技术实现要素:

本发明所要解决的一个技术问题是:如何快速有效的实现了脱网节点的检测。

根据本发明实施例的一个方面,提供了一种检测脱网节点的方法,包括:发起节点通过移动自组织网络分群的群首节点向目标节点发送检测消息,以查找目标节点;目标群首节点向发起节点发送响应消息,以告知异常的目标节点所在移动自组织网络分群;发起节点在未收到目标节点的反馈消息之前,向目标群首节点发送目标节点的检测消息,以便目标群首节点对目标节点进行检测;如果在预设时间内未收到目标节点的反馈消息,则发起节点确定目标节点脱网。

根据本发明实施例的另一个方面,提供了一种检测脱网节点的系统,包括若干自组织网络分群,各个自组织网络分群包括群首节点、成员节点,其中,发起节点用于通过移动自组织网络分群的群首节点向目标节点发送检测消息,以查找目标节点;以及用于在未收到目标节点的反馈消息之前,向目标群首节点发送目标节点的检测消息,以便目标群首节点对目标节点进行检测;以及用于在预设时间内未收到目标节点的反馈消息时确定目标节点脱网;发起节点为群首节点或成员节点;目标节点为成员节点;目标群首节点用于响应于目标节点的检测消息,目标群首节点向发起节点发送响应消息,以告知异常的目标节点所在移动自组织网络分群。

本发明发起节点通过移动自组织网络分群的群首节点向目标节点发送检测消息,以查找目标节点目标群首节点向发起节点发送响应消息,以告知异常的目标节点所在移动自组织网络分群;发起节点在未收到目标节点的反馈消息之前,向目标群首节点发送目标节点的检测消息,以便目标群首节点对目标节点进行检测;如果在预设时间内未收到目标节点的反馈消息,则发起节点确定目标节点脱网,从而减小了确定突然脱网节点的时延。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

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

图1示出本发明检测脱网节点的系统的一个示意图。

图2示出本发明检测脱网节点的方法的一个实施例的流程示意图。

图3示出发起节点通过向自组织网络分群的群首节点发送目标节点的检测消息的方法。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的检测脱网节点的系统包括若干自组织网络分群,各个自组织网络分群中包括群首节点和成员节点。图1示出本发明检测脱网节点的系统的一个示意图。例如图1所示,该系统包括多个自组织网络分群,每个自组织网络分群包括群首节点、成员节点,进一步还可以包括网关(或称网关节点)。群首节点能够以接近1的概率连接本分群内的所有成员节点和网关。网关能够连接不同的分群。如图1所示,作为成员节点的发起节点j与目标节点i分别位于两个不同分群当中,目标节点i所在分群的群首节点为群首节点k。由于群首节点能够以接近1的概率连接所在分群内所有成员节点,群首节点k能够以接近1的概率连接目标节点i。发起节点j可以通过网关a以及网关b直接与群首节点k通信,由群首节点k对目标节点i是否脱网进行检测。

下面结合图1和图2描述本发明一个实施例的检测脱网节点的方法。

图2示出本发明检测脱网节点的方法的一个实施例的流程示意图。如图2所示,该实施例中的检测脱网节点的方法包括以下步骤:

步骤s202,发起节点通过移动自组织网络分群的群首节点向目标节点发送检测消息,以查找目标节点。

发起节点可以通过泛洪的方式向目标节点所在自组网分群的群首发送目标节点的检测消息。具体地,发起节点广播目标节点的检测消息,发起节点所在自组网分群的群首节点接收到目标节点的检测消息后,检测所在分群中是否存在目标节点。如果发起节点所在自组网分群的群首节点检测到所在分群中不存在目标节点,则发起节点所在自组网分群的群首节点向发起节点的群首的两跳相邻群首节点广播目标节点的检测消息,以便发起节点的群首的两跳相邻群首节点检测所在分群中是否存在目标节点。如果发起节点的群首的两跳相邻群首节点在本分群内未检测到目标节点,再继续向发起节点的群首的三跳相邻群首节点广播目标节点的检测消息,继续该广播和检测的步骤,直至查找到目标节点所在自组织网络分群的目标群首节点。其中,上述的广播和检测的步骤执行顺序可以调整,例如,也可以广播检测消息,同时在本分群内查找目标节点,该过程后续将结合图3进行详细描述。

步骤s204,目标群首节点向发起节点发送响应消息,以告知异常的目标节点所在移动自组织网络分群。

接收到目标节点检测消息的目标群首节点检测到所在分群中存在目标节点,则目标群首节点向目标节点转发目标节点的检测消息,如果目标节点接收到检测消息,则目标节点可以通过网关节点向发起节点反馈消息,向发起节点表明目标节点在网。如果目标群首节点经过预设时间值未接收到目标节点的反馈消息,则目标群首节点向发起节点发送目标节点异常的响应消息。

步骤s206,发起节点在未收到目标节点的反馈消息之前,向目标群首节点发送目标节点的检测消息,以便目标群首节点对目标节点是否脱网进行检测。

其中,发起节点可以直接向目标群首节点发送目标节点的检测消息,而无需通过泛洪的方式向目标群首节点发送目标节点的检测消息,使得检测消息能够更快速地到达目标群首节点,再由目标群首节点对目标节点是否脱网进行检测。

优选的,发起节点可以通过与目标群首节点之间的最短路径向目标群首节点发送目标节点的检测消息。消息传播路由选择最短路径,传播时延最短,进而缩短确定突然脱网节点的时延,降低网络的资源消耗。

步骤s208,如果在预设时间内未收到目标节点的反馈消息,则发起节点确定目标节点脱网。

发起节点可以记录从发送目标节点检测消息至收到目标节点反馈消息或目标节点异常的响应消息所经过的时间值。如果该时间值大于预设的时间阈值,则可以认定到目标节点脱网。

下面参照图1描述本发明检测脱网节点的方法的一个应用例。

当发起节点j第一次发送启动请求消息时,启动请求消息的序号为0并且包含目标节点i的id,定时器时长设定为t0。发起节点j将序号为0的启动请求消息发送给其群首节点,如果目标节点i不在发起节点j的分群中,则发起节点j的群首节点将该消息广播给相邻的群首节点。相邻群首节点接收到该消息后,检查其成员表中是否有目标节点i。各个相邻群首节点并行进行上述检查。如果某一个相邻群首节点找到目标节点i并将消息转发给目标节点i,目标节点i通过其群首节点反馈响应给发起节点j。如果没有找到目标节点i,则相邻群首节点将该消息广播给发起节点j的群首节点的两跳相邻群首节点。依此继续进行这个过程,直到将该消息转发到目标节点i。

在序号为0的启动请求消息传播的过程中,可能目标节点i的群首节点接收到该消息后转发给目标节点i,但接收不到目标节点i的响应。若群首节点k发现目标节点i在本分群中,但超时接收不到目标节点i的响应,则群首节点k给发起节点j发送一条消息,声明目标节点i就在本分群中,因超时接收不到响应。

发起节点j接收到群首节点k的声明响应后,发起节点j只通过网关a以及网关b向群首节点k发送序号为1的重发消息,并将定时器时长设定为t1,并满足t1小于t0,如此继续直到发起节点j发送的消息次数达到最多连续重复次数n。

如果在预设时间t0+(n-1)t1内接收不到目标节点i的响应,则判定目标节点i突然脱网。

上述实施例中,采用不同的检测消息路由和定时器预设相应时间的方法,并且无需发起节点j和目标群首节点k之间的群首节点检查成员列表,减小了确定突然脱网节点的时延,并显著降低了网络的资源消耗。

下面结合图3描述发起节点通过向自组织网络分群的群首节点发送目标节点的检测消息的方法。如图3所示,上述步骤s202可以包括以下步骤:

步骤s3022,发起节点通过泛洪的方式向各个自组织网络分群的群首节点发送目标节点的检测消息。

步骤s3024,接收到目标节点的检测消息的群首节点向相邻群首节点广播目标节点的检测消息,同时查找本分群中是否存在目标节点。

例如,若发起节点j第一次超时接收不到目标节点i的响应,也接收不到目标节点i所在群首节点的响应,则发送序号为n(n=1,2,…,n-1)的启动请求消息,定时器时长设定为tn,且满足tn<t0。相邻群首接收到序号为n的启动请求消息后,将该消息广播给下一跳相邻群首节点,同时检查目标节点i是否在本分群中,依此继续直到最后一跳群首节点。

上述实施例中,如果发起节点j第一次超时接收不到目标节点i的响应,也接收不到目标节点i所在群首节点的响应,发起节点j仍然无法确定目标节点i所在群的位置,则将启动消息送达目标节点i所在群首节点的优先级最高,其次才是将启动消息送达目标节点i,因此在泛洪过程中群首节点可以不必等待检查结果,直接将该消息广播给下一跳相邻群首节点。由于发起节点j泛洪序号为非0的启动请求消息时,目标节点i的群首节点在接收到序号为非0的消息前无需等待之前多个群首节点的检查结果,节省的时间t0-t1即为发起节点j所在分群和目标节点i所在分群之间各个群首节点在成员列表查找目标节点i所需要的时间的总和。因此,确定突然脱网节点的地址分配时延等于t0+t1+t2+…+tn-1。如果在预设时间t0+t1+t2+…+tn-1内接收不到目标节点i的响应,则判定目标节点i突然脱网,更进一步缩短了确定突然脱网节点的时延。

可选的,目标群首节点对目标节点进行检测包括:目标群首节点发现目标节点变更所在分群;目标群首节点向发起节点发送目标节点分群变更消息;发起节点重新通过向自组织网络分群的群首节点发送目标节点的检测消息,查找目标节点所在自组织网络分群的目标群首节点。

例如,在后继的操作中目标节点i所在的分群变更群首节点,则原群首节点k将发起节点j的检测任务移交给新群首节点l,新群首节点l将接替原群首节点k向目标节点i转发消息、向发起节点j发送声明或转发响应。发起节点j的消息序号和定时器时长的值遵循既定规则,不受此影响。

又如,在后继的操作中目标节点i变换分群,或变更分群id,群首节点k向发起节点j发送目标节点i已经不在本分群中的声明,发起节点j重置最多连续重复次数为n、泛洪消息序号为0和定时器时长为t0的启动请求消息给所有群首节点。

上述实施例中,在目标节点出现变更分群等异常情况下,目标群首节点向发起节点发送目标节点分群变更消息,发起节点重新通过向自组织网络分群的群首节点发送目标节点的检测消息,从而消除了目标节点出现异常情况对检测结果带来的影响。

可选的,如果目标群首节点由原目标群首节点变更为新目标群首节点,则由新目标群首节点接替原目标群首节点进行目标节点检测,以保障检测过程的持续进行。

例如,在后继的操作中发起节点j因目标节点i所在群首节点k在检测过程中正常脱网,并且分群id不变,发起节点j接收到群首节点k正常脱网的消息,将序号为非0的消息发送给同一个分群id的新群首。目标节点i的新群首节点l将接收到序号为非0的启动请求消息,在检测到目标节点i在本分群后,即可判定为检测未完成,新群首节点l将接替原群首节点k向目标节点i转发消息、向发起节点j发送声明或转发响应。发起节点j的消息序号和定时器时长的值遵循既定规则,不受此影响。

可选的,如果原目标群首节点突然脱网使得目标群首节点变更为新目标群首节点,新目标群首节点向发起节点发送原目标群首节点异常的响应消息。发起节点接收到来自新目标群首节点发送的原目标群首节点异常的响应消息后,重置预设时间。

例如,在后继的操作中发起节点j因目标节点i所在群首节点k在检测过程中突然脱网,并且分群id不变,目标节点i的新群首节点l在发起节点j达到最多连续重复次数之前接收到发起节点j的序号为非0的启动请求消息,在检测到目标节点i在本分群后,即可判定为检测未完成,群首节点l将接替旧群首节点k向目标节点i转发消息、转发响应。如果新群首节点仍然无法接收到目标节点i的响应,则向发起节点j发送目标节点i在本群但接收不到响应的声明,发起节点j将序号为1的启动请求消息给新群首节点l,定时器时长预设为t1,以消除群首k突然脱网带来的影响。

上述实施例中,在目标群首节点出现变更等异常情况下,原目标群首节点或新目标群首节点向发起节点发送目标群首节点变更消息,发起节点通过向新目标群首节点发送节点检测消息,从而消除了目标群首节点出现异常情况对检测结果带来的影响。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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