一种邻区路由表的更新方法和系统的制作方法

文档序号:7741655阅读:182来源:国知局

专利名称::一种邻区路由表的更新方法和系统的制作方法
技术领域
:本发明涉及通信领域,尤其涉及一种邻区路由表的更新方法和系统。
背景技术
:Chord协议是由麻省理工学院(MIT)提出的结构化P2P协议,根据该协议,每个节点用唯一的节点ID标识,而每个节点对应的关键字也分别用互不相同的关键字ID标识,其中节点ID是对节点地址的映射,而关键字ID是对该关键字的映射。根据Chord协议,由节点ID组成的ID空间组织为ChordID环,当节点ID的长度为m时,节点ID值的取值范围为W2m-l]。关键字k存储在延ChordID环顺时针方向第一个节点ID对应的节点上,这个节点称为关键字k的后驱节点(successornode)0ChordID环上的每个节点都有一个后驱节点和一个前驱节点,节点η的后驱节点是指在ChordID环上沿顺时针方向距离η最近(最近是相对ID的)的节点,而节点η的前驱节点是指在ChordID环上沿逆时针方向距离η最近(最近是相对ID的)的节点。如图1所示,为一个ID长度为3的ChordID环,ChordID环上的数字表示节点的ID值,取值为07,ChordID环上ID值为0、1和3对应的节点为已加入该ChordID环的节点,ID值为O的节点的关键字为6,ID值为1的节点的关键字为1,ID值为3的节点的关键字为2。在ChordID环中,每个节点只需要保存自身的前驱节点和后驱节点的地址信息就能够保证整个ChordID环上的节点构成的网络的连通性,此时,每个节点的路由表长度为0(1),但是,查找路径为O(N),其中,N表示ChordID环上的节点数量;为了提高路由效率,每个节点维护长度为0(m)的指针表(fingertable)。假设针对节点A的ID为n,其指针表的第i项是在指在ChordID环上距离节点A至少的第一个节点s,即s=successor(n+2H),其中,1彡i彡m。如图2所示,为一个ChordID环及环上的节点维护的指针表的示意图,图中的节点ID值0、1、3对应的节点各维护有一张指针表。ChordID环上的节点通过维护的指针表可以提高路由路径的查找效率,如图3(a)、图3(b)和图3(c)所示。图3(a)表示没有指针表的情况下进行路由的示意图,每个节点沿顺时针方向将路由请求发送给后驱节点,直至找到存储了请求关键字K54的节点,例如,节点N8所要查找的关键字肪4存储在节点N56中,则需要从节点N8起向后驱节点请求查找IM4对应的数据资源,直至请求传输到节点N56,在图3(a)所示的情况下,路由的平均长度较长,缺乏扩展性。图3(b)和图3(c)表示引入了指针表后路由的示意图,其中,图3(b)显示了节点N8的指针表,图3(c)显示了查询路径。节点N8查找关键字肪4所在的节点N56,由于节点N56大于N8指针表的最后一项,因此,N8指针表中的最后一项ID为40的后驱节点N42成为请求的下一跳,以此类推,直至请求到达节点N56。ChordID环上的节点可能出现离开或有新的节点加入ChordID环,例如,当有节点加入ChordID环时,首先使用一致哈希函数映射节点IP得到新加入的节点ID,然后通过已经存在的节点查找新加入节点的驱节点,从而获取新加入节点的后驱节点,并初始化新加入节点的指针表。当有节点加入后,需要更新中ChordID环原有节点的指针表,事实上只有ChordID环上受影响的节点需要更新,即沿ID环逆时针方向与新加入节点的逻辑距离为2H的节点需要更新指针表;最后,从后驱节点获取新加入节点需要保存的关键字及对应的资源信息。在上述Chord算法中利用指针表可以提高了路由的效率,但是并不能提高路由的准确性,具体来说,Chord算法的路由的准确性依赖于后驱节点,当某一主节点的后驱节点失效时,主节点可能无法找到节点真正的后继。为了避免这种情况,每个节点可以保存连续的多个后驱节点,构建一个连续邻区路由表。采用在指针表的基础上叠加连续邻区路由表的方式可以有效的加速路由收敛,提高路由性能,但是邻区路由表的状态需要实时维护,也就是说需要实时确定邻区路由表中记载的后驱节点的可用性。目前,邻区路由表状态的维护主要有以下两种方式第一种方式是广播探测方式,如图4所示,在广播探测方式下,每个节点分别Ping自身维护的邻区路由表中节点,如图4中节点m的邻区路由表中的节点为N2N5,则m分别Ping节点N2N5,如果节点N4为故障节点,则节点m通过Ping节点N4可以检测出节点N4故障,并更新自身维护的邻区路由表中的信息,然后将节点N4故障的消息通知节点N2和节点N3,指示节点N2和节点N3更新邻区路由表中的信息。广播探测方式下可以快速探测出故障节点,探测时延小,但是广播探测方式下,主节点需要Ping邻区路由表中每个后驱节点,造成较大的资源开销,尤其是在邻区路由表深度较大的情况下,即邻区路由表中记载的后驱节点数量较大时,系统开销是一个不容忽视的问题。第二种方式是邻居逐级探测方式,前驱节点和后驱节点之间互Ping,探测对方是否出现故障,如图5所示,节点m的邻区路由表中的节点为N2N5,则节点m与节点N2互Ping,节点N2与节点N3之间互Ping,以此类推,当节点N3与节点N4互Ping时探测出节点N4故障,则节点N3将节点N4故障的消息通知节点N2,再由节点N2通知节点W。邻居逐级探测方式下,前后驱节点之间互Ping后逐级上报故障事件,将会造成比较大的时延。综上所述,在上述第一种邻区路由节点的状态维护方式下,存在状态维护的系统资源开销较大的问题,进一步地,在上述第二种邻区路由节点的状态维护方式下存在故障事件上报的延迟较大的问题。
发明内容本发明实施例提供一种邻区路由表的更新方法和系统,以解决进行邻区路由表的状态维护过程时,系统资源开销较大的问题。一种邻区路由表的更新方法,所述方法包括第一节点向自身的邻区路由表中第M个后驱节点发起探测请求,其中M大于1且不大于第一节点的邻区路由表中后驱节点数量;在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障,在确定某一后驱节点发生故障时,故障节点的后一节点向第二节点发送第一故障节点报告,其中所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点;第二节点根据所述第一故障节点报告更新自身的邻区路由表。较优地,本发明实施例还进一步解决邻区路由表的更新过程中故障事件上报的延迟较大的问题,所采用的技术方案为在所述第二节点收到所述第一故障节点报告之后,所述方法还包括所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;所述第二节点将所述第一故障节点报告广播给确定的后驱节点;所述后驱节点根据所述第一故障节点报告更新自身的邻区路由表。一种邻区路由表的更新系统,所述系统包括第一节点,用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中M大于1且不大于第一节点的邻区路由表中后驱节点数量;第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;第二节点,用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。由于本发明实施例在邻区路由表的维护过程中,由第一节点向其第M个后驱节点发起探测请求,要求从第M个(1邻区路由表深度)后驱节点,按照后驱节点由后至前的顺序,依次探测前一节点是否故障,在发生故障时,上报故障节点报告,因此,不需要广播探测,可有效减少网络中探测资源的开销。图1为
背景技术
中ID长度为3的ChordID环示意图;图2为
背景技术
中ChordID环及环上的节点维护的指针表的示意图;图3(a)、图3(b)和图3(c)为
背景技术
中路由的示意图;图4为广播探测方式下,维护邻区路由表的示意图;图5为邻居逐级探测方式下,维护邻区路由表的示意图;图6为本发明实施例一中邻区路由表更新方法示意图;图7为本发明实施例四中ChordID环示意图;图8为本发明实施例五中ChordID环示意图。具体实施例方式为了实现本发明目的,本发明实施例中ChordID环上的节点通过自身维护的邻区路由表进行路由,由邻区路由表中的后驱节点依次进行可靠性探测,检测出故障节点,并通知ChordID环上的节点根据故障节点的相关信息更新邻区路由表。通过本发明实施例的6方案不需要广播探测,可有效减少网络中探测资源的开销;进一步地,本发明实施例中在探测出故障节点后,由前驱节点广播通知邻区路由表中的各后驱节点进行路由表更新,可有效解决故障事件更新延迟较大的问题。下面结合说明书附图对本发明实施例进行详细描述。实施例一在本实施例一中,涉及的各节点均为ChordID环上的节点,每一个节点维护一个邻区路由表,针对某一节点的邻区路由表,该邻区路由表中记载了该节点连续的N个后驱节点的相关信息。每个节点的邻区路由表深度都为N(N是大于1的正整数),本实施例中涉及的邻区路由表深度是后驱节点的数量。如图6所示,为本发明实施例一的邻区路由表更新方法示意图,所述方法包括以下步骤步骤101第一节点向自身的邻区路由表中第M个后驱节点发起探测请求。其中M大于1且不大于第一节点的邻区路由表中后驱节点数量。本步骤中的第一节点是ChordID环上的一个节点,第一节点维护的邻区路由表中记载有N个后驱节点的相关信息,该第一节点是N个后驱节点的前驱节点。在进行邻区路由表的维护时,第一节点向第M个后驱节点发起探测请求,这里的第M个后驱节点是第一节点的邻区路由表中记载的第一个后驱节点之后的某一个后驱节点。由于ChordID环上每一个节点都要进行邻区路由表的维护过程,因此,本步骤中的第一节点可以是ChordID环上任意一个节点。步骤102在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障。在本步骤中,第M个后驱节点探测第M-I个后驱节点是否发生故障;若未发生故障,则第M-I个后驱节点探测第M-2个后驱节点是否发生故障,以此类推,直至将第一节点的后驱节点探测完毕,查找出是否有故障节点。步骤103在某一后驱节点发生故障时,该故障节点的后一节点向第二节点发送第一故障节点报告。其中所述第二节点的邻区路由表中也维护有多个后驱节点,且维护的后驱节点数量不小于M个。第二节点的邻区路由表维护的多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。在本实施例中,ChordID环上的某一个节点A可能同时是其他多个节点的后驱节点,如节点A是节点B和节点C的后驱节点。在节点B和节点C在进行邻区路由表的维护时,节点A都需要进行故障检测。在本步骤中,若发生故障的节点为第一节点的第M-I个后驱节点,则所述第一节点和第二节点是同一节点;否则,第一节点和第二节点是不同节点,也就是说,如果第一节点触发第M个后驱节点后,第M个节点直接探测出第M-I个后驱节点发生故障,则第M个节点将第一故障节点报告通知给第一节点;如果第M个节点确定第M-I个后驱节点没有发生故障,则第M-I个后驱节点将进一步探测第M-2个后驱节点;若第M-2个后驱节点发生故障,则第M-I个后驱节点将第一故障节点报告通知给第一节点前一个节点,该前一个节点即为第二节点。7步骤104第二节点根据所述第一故障节点报告更新自身的邻区路由表。由于发送第一故障节点报告的节点是第二节点的邻区路由表中第M个后驱节点,则发生故障的节点是第二节点的邻区路由表中第M-I个后驱节点,因此,第二节点需要更新自身的邻区路由表,将其中关于第M-I个后驱节点的状态设置为故障。通过上述步骤101步骤104的方案,在邻区路由表的维护过程中有效地减轻全网的状态探测占用的资源。进一步地,前驱节点可以通过广播的形式通知邻区路由表中的后驱节点进行邻区路由表的更新,具体做法为步骤105第二节点根据自身的邻区路由表确定故障节点之前的后驱节点。本步骤是在步骤103之后执行的,包括但不限于与步骤104同时执行,或是在步骤104之前执行。步骤106第二节点将所述第一故障节点报告广播给确定的后驱节点。由于ChordID环上的节点只关注后驱节点的状态,因此,当第二节点确定某一后驱节点为故障节点后,可以将包含故障节点相关信息的第一故障节点报告发送给第二节点的邻区路由表中的全部后驱节点,也可以将第一故障节点报告发送给第二节点的后驱节点中,故障节点之前的后驱节点。步骤107第二节点中接收到第一故障节点报告的后驱节点更新自身的邻区路由表。此时,第二节点以及第二节点的邻区路由表中的后驱节点也完成了邻区路由表更新的操作。由于第二节点是通过广播的形式通知后驱节点,提高了邻区路由表更新的效率,减少了邻区路由表更新的时延。进一步地,还考虑到第二节点在ChordID环上也是其他某一节点的后驱节点,假设第二节点是第三节点的邻区路由表中维护的多个后驱节点中的第M个后驱节点,则本发明实施例一的方案还包括步骤108第二节点将第一故障节点报告发送给第三节点。步骤109第三节点根据所述第一故障节点报告更新自身的邻区路由表。优选的步骤108和步骤109是在步骤103之后执行的,第二节点将第一故障节点报告发送给第三节点的步骤与发送给后驱节点的步骤执行先后顺序不固定,较优地,第二节点可以并行执行步骤106和步骤108,以进一步地提高邻区路由表的更新效率。实施例二本发明实施例二在实施例一的基础上进一步考虑到步骤103中涉及的故障节点的后一节点(假设称之为节点A)也同时维护了一个邻区路由表,该节点A也有N个后驱节点,当节点A的后驱节点中某一节点故障时,节点A也会接收到包含该故障节点相关信息的第二故障节点报告。本发明实施例二是ChordID环上根据第二故障节点报告更新各节点的邻区路由表的方案,本实施例二的方案具体如下第一步节点A向第二节点发送第二故障节点报告。这里的第二故障报告包含节点A的后驱节点中,发生故障的后驱节点相关信息。第二步第二节点根据所述第二故障节点报告更新自身的邻区路由表。此时,第二节点不仅获取了自身的深度为N的邻区路由表中各后驱节点的相关信息,还获取了节点A的深度为N的邻区路由表中各后驱节点的相关信息,也就是说,第二节点获取了2N个后驱节点的相关信息。本实施例二的方案可以在实施例一的任意步骤开始执行,由于节点A间接向第二节点返回第二故障节点报告,第二节点根据第二故障节点报告进行邻区路由表更新时可能存在延迟,并且该延迟会随着邻区路由表的深度增加而变大,为了进一步减少节点A间接向第二节点返回第二故障节点报告时造成的延迟,节点A可以在将第二故障节点报告广播给自身的后驱节点时并行通知给第二节点。第三步第二节点根据自身的邻区路由表确定故障节点之前的后驱节点。第四步第二节点将所述第二故障节点报告发送给确定的后驱节点。第五步第二节点确定的后驱节点根据所述第二故障节点报告更新自身的邻区路由表。第六步第二节点将第二故障节点报告发送给第三节点。第七步第三节点根据所述第二故障节点报告更新自身的邻区路由表。为了减少邻区路由表更新时造成的延迟,第二节点可以将第二故障节点报告并行广播给后驱节点和第三节点。实施例三本发明实施例五提供了一种邻区路由表的更新系统,所述系统包括第一节点、第一节点的N个后驱节点和第二节点,其中,N表示第一节点的邻区路由表深度。本实施例五中的邻区路由表的更新系统的各部分内容包括第一节点用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中M大于1且不大于N;从第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;第二节点用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。所述第二节点还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。所述第二节点还用于将第一故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;第三节点用于根据所述第一故障节点报告更新自身的邻区路由表。所述第二节点还用于接收故障节点的后一节点发送的第二故障节点报告,并根据所述第二故障节点报告更新自身的邻区路由表;所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点信息。所述第二节点还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第二故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点用于根据所述第二故障节点报告更新自身的邻区路由表。所述第二节点还用于将第二故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;所述第三节点用于根据所述第二故障节点报告更新自身的邻区路由表。实施例四本发明实施例四通过一个具体的实例来说明本发明实施例一实施例三的方案。如图7所示,为本发明实施例四中ChordID环示意图,当有节点要加入该ChordID环时,新加入的节点从前驱节点处获得深度为N的邻区路由表。在本实施例中N=4,则节点NO的后驱节点为节点m节点N4,节点m的后驱节点为节点N2节点N5,以此类推,节点N5的后驱节点为节点N6节点N9;假设节点N4和节点N7发生了故障。以节点m为第一节点为例,在进行邻区路由表维护时的方案如下第一步节点m向节点N5发起探测请求,也就是节点m主动Ping节点N5。在本步骤中,节点m可以周期性地Ping节点N5,其中,周期的长度等于邻区路由表的维护周期。第二步若节点N5已接收到节点N7的故障节点报告,则节点N5向节点m上报该节点N7的故障节点报告,并主动Ping节点N4,此时,节点m能够获得2N个后驱节点的相关信息;否则,节点N5直接Ping节点N4。第三步节点N5检测节点N4是故障节点后,向节点m返回节点N4的故障节点报生I=IO此时,节点m既是实施例一实施例三中涉及的第一节点,也同时是第二节点。第四步节点m根据接收到的节点N4的故障节点报告更新自身的邻区路由表。第五步节点m将节点N4的故障节点报告通过应用层广播协议广播给节点N2和节点N3,或者将节点N4的故障节点报告广播给节点N2、节点N3和N5。第六步如果节点m是节点Ν.χ的第4个后驱节点,则节点m将节点M的故障节点报告发送给节点N.X。第五步和第六步可以并行执行。如果在第二步中,节点m接收到节点N7的故障节点报告,则第五步中节点m还将节点N7的故障节点报告广播至节点N2、节点N3和N5,在第六步中将节点N7的故障节点报告发送给节点N.X。实施例五在实施例四的方案中,节点m向第N个后驱节点发起探测请求,在本实施例四的方案中,节点m向第M个(M=3)后驱节点发起探测请求。假设节点N2发生了故障。如图8所示,节点m作为实施例中的第一节点,本实施例四的方案如下第一步节点m向节点N4发起探测请求,也就是节点m主动Ping节点N4。第二步节点N4直接Ping节点N3。第三步节点N4检测节点N3不是故障节点,进而,节点N3检测节点N2是故障节点ο第四步节点N3向节点NO返回节点N2的故障节点报告。节点N3是节点NO的第3个后驱节点,因此,节点N3将节点N2的故障节点报告返回给节点No。此时,节点m是实施例一实施例三中涉及的第一节点,节点NO是实施例一实施例三中涉及的第二节点。第五步节点NO根据接收到的节点N2的故障节点报告更新自身的邻区路由表。第六步节点NO将节点N2的故障节点报告通过应用层广播协议广播给节点Ni,10或者将节点N2的故障节点报告广播给节点Ni、节点N3和N4。与实施例四类似地,节点N3还可以向节点NO返回节点N3的后驱节点的故障节点报告,节点NO还可以向前驱节点返回节点N2的故障节点报告。通过本发明实施例提供的方法和系统,在邻区路由表的维护过程中有效地减轻全网的状态探测占用的资源,同时,前驱节点可以通过广播的形式通知邻区路由表中的后驱节点进行邻区路由表的更新,提高了邻区路由表更新的效率,减少了邻区路由表更新的时延;进一步地,向自身的第M个后驱节点发起探测请求的节点可以间接地获取2N个后驱节点的相关信息,并且可以并行发生给自身的后驱节点和前驱节点,进一步地提高邻区路由表的更新效率。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1.一种邻区路由表的更新方法,其特征在于,所述方法包括第一节点向自身的邻区路由表中第M个后驱节点发起探测请求,其中M大于1且不大于第一节点的邻区路由表中后驱节点的数量;在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障,在确定到后驱节点发生故障时,故障节点的后一节点向第二节点发送第一故障节点报告,其中所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点;第二节点根据所述第一故障节点报告更新自身的邻区路由表。2.如权利要求1所述的方法,其特征在于,所述第二节点收到所述第一故障节点报告之后,所述方法还包括所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;所述第二节点将所述第一故障节点报告广播给确定的后驱节点;所述后驱节点根据所述第一故障节点报告更新自身的邻区路由表。3.如权利要求2所述的方法,其特征在于,所述第二节点收到所述第一故障节点报告之后,所述方法还包括所述第二节点将第一故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;所述第三节点根据所述第一故障节点报告更新自身的邻区路由表。4.如权利要求13任一所述的方法,其特征在于,所述方法还包括故障节点的后一节点向第二节点发送第二故障节点报告,所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点信息;第二节点根据所述第二故障节点报告更新自身的邻区路由表。5.如权利要求4所述的方法,其特征在于,第二节点收到第二故障节点报告之后,所述方法还包括所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;所述第二节点将所述第二故障节点报告广播给确定的后驱节点;所述后驱节点根据所述第二故障节点报告更新自身的邻区路由表。6.如权利要求5所述的方法,其特征在于,所述第二节点收到所述第二故障节点报告之后,所述方法还包括所述第二节点将第二故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;所述第三节点根据所述第二故障节点报告更新自身的邻区路由表。7.一种邻区路由表的更新系统,其特征在于,所述系统包括第一节点,用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中M大于1且不大于第一节点的邻区路由表中后驱节点数量;从第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;第二节点,用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。8.如权利要求7所述的系统,其特征在于,所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。9.如权利要求8所述的系统,其特征在于,所述第二节点,还用于将第一故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;第三节点,用于根据所述第一故障节点报告更新自身的邻区路由表。10.如权利要求79任一所述的系统,其特征在于,所述第二节点,还用于接收故障节点的后一节点发送的第二故障节点报告,并根据所述第二故障节点报告更新自身的邻区路由表;所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点fn息ο11.如权利要求10所述的系统,其特征在于,所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第二故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点,用于根据所述第二故障节点报告更新自身的邻区路由表。12.如权利要求11所述的系统,其特征在于,所述第二节点,还用于将第二故障节点报告发送给第三节点,其中所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;所述第三节点,用于根据所述第二故障节点报告更新自身的邻区路由表。全文摘要本发明公开了一种邻区路由表的更新方法和系统,主要内容包括由于本发明实施例在邻区路由表的维护过程中,由第一节点向其第M个后驱节点发起探测请求,要求从第M个(1<M≤邻区路由表深度)后驱节点,按照后驱节点由后至前的顺序,依次探测前一节点是否故障,在发生故障时,上报故障节点报告,因此,不需要广播探测,可有效减少网络中探测资源的开销。文档编号H04L12/24GK102148740SQ20101010726公开日2011年8月10日申请日期2010年2月5日优先权日2010年2月5日发明者乐利锋,叶松海,周乃宝,彭晋,李刚申请人:中国移动通信集团公司,华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1