CN102148740A - 一种邻区路由表的更新方法和系统 - Google Patents
一种邻区路由表的更新方法和系统 Download PDFInfo
- Publication number
- CN102148740A CN102148740A CN2010101072668A CN201010107266A CN102148740A CN 102148740 A CN102148740 A CN 102148740A CN 2010101072668 A CN2010101072668 A CN 2010101072668A CN 201010107266 A CN201010107266 A CN 201010107266A CN 102148740 A CN102148740 A CN 102148740A
- Authority
- CN
- China
- Prior art keywords
- node
- guard
- routing table
- adjacent area
- report
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Navigation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种邻区路由表的更新方法和系统,主要内容包括:由于本发明实施例在邻区路由表的维护过程中,由第一节点向其第M个后驱节点发起探测请求,要求从第M个(1<M≤邻区路由表深度)后驱节点,按照后驱节点由后至前的顺序,依次探测前一节点是否故障,在发生故障时,上报故障节点报告,因此,不需要广播探测,可有效减少网络中探测资源的开销。
Description
技术领域
本发明涉及通信领域,尤其涉及一种邻区路由表的更新方法和系统。
背景技术
Chord协议是由麻省理工学院(MIT)提出的结构化P2P协议,根据该协议,每个节点用唯一的节点ID标识,而每个节点对应的关键字也分别用互不相同的关键字ID标识,其中节点ID是对节点地址的映射,而关键字ID是对该关键字的映射。
根据Chord协议,由节点ID组成的ID空间组织为Chord ID环,当节点ID的长度为m时,节点ID值的取值范围为[0~2m-1]。关键字k存储在延ChordID环顺时针方向第一个节点ID对应的节点上,这个节点称为关键字k的后驱节点(successor node)。Chord ID环上的每个节点都有一个后驱节点和一个前驱节点,节点n的后驱节点是指在Chord ID环上沿顺时针方向距离n最近(最近是相对ID的)的节点,而节点n的前驱节点是指在Chord ID环上沿逆时针方向距离n最近(最近是相对ID的)的节点。如图1所示,为一个ID长度为3的Chord ID环,Chord ID环上的数字表示节点的ID值,取值为0~7,ChordID环上ID值为0、1和3对应的节点为已加入该Chord ID环的节点,ID值为0的节点的关键字为6,ID值为1的节点的关键字为1,ID值为3的节点的关键字为2。
在Chord ID环中,每个节点只需要保存自身的前驱节点和后驱节点的地址信息就能够保证整个Chord ID环上的节点构成的网络的连通性,此时,每个节点的路由表长度为O(1),但是,查找路径为O(N),其中,N表示Chord ID环上的节点数量;为了提高路由效率,每个节点维护长度为O(m)的指针表(fingertable)。假设针对节点A的ID为n,其指针表的第i项是在指在Chord ID环上距离节点A至少2i-1的第一个节点s,即s=successor(n+2i-1),其中,1≤i≤m。如图2所示,为一个Chord ID环及环上的节点维护的指针表的示意图,图中的节点ID值0、1、3对应的节点各维护有一张指针表。
Chord ID环上的节点通过维护的指针表可以提高路由路径的查找效率,如图3(a)、图3(b)和图3(c)所示。图3(a)表示没有指针表的情况下进行路由的示意图,每个节点沿顺时针方向将路由请求发送给后驱节点,直至找到存储了请求关键字K54的节点,例如,节点N8所要查找的关键字K54存储在节点N56中,则需要从节点N8起向后驱节点请求查找ID54对应的数据资源,直至请求传输到节点N56,在图3(a)所示的情况下,路由的平均长度较长,缺乏扩展性。图3(b)和图3(c)表示引入了指针表后路由的示意图,其中,图3(b)显示了节点N8的指针表,图3(c)显示了查询路径。节点N8查找关键字K54所在的节点N56,由于节点N56大于N8指针表的最后一项,因此,N8指针表中的最后一项ID为40的后驱节点N42成为请求的下一跳,以此类推,直至请求到达节点N56。
Chord ID环上的节点可能出现离开或有新的节点加入Chord ID环,例如,当有节点加入Chord ID环时,首先使用一致哈希函数映射节点IP得到新加入的节点ID,然后通过已经存在的节点查找新加入节点的驱节点,从而获取新加入节点的后驱节点,并初始化新加入节点的指针表。当有节点加入后,需要更新中Chord ID环原有节点的指针表,事实上只有Chord ID环上受影响的节点需要更新,即沿ID环逆时针方向与新加入节点的逻辑距离为2i-1的节点需要更新指针表;最后,从后驱节点获取新加入节点需要保存的关键字及对应的资源信息。
在上述Chord算法中利用指针表可以提高了路由的效率,但是并不能提高路由的准确性,具体来说,Chord算法的路由的准确性依赖于后驱节点,当某一主节点的后驱节点失效时,主节点可能无法找到节点真正的后继。为了避免这种情况,每个节点可以保存连续的多个后驱节点,构建一个连续邻区路由表。采用在指针表的基础上叠加连续邻区路由表的方式可以有效的加速路由收敛,提高路由性能,但是邻区路由表的状态需要实时维护,也就是说需要实时确定邻区路由表中记载的后驱节点的可用性。
目前,邻区路由表状态的维护主要有以下两种方式:
第一种方式是广播探测方式,如图4所示,在广播探测方式下,每个节点分别Ping自身维护的邻区路由表中节点,如图4中节点N1的邻区路由表中的节点为N2~N5,则N1分别Ping节点N2~N5,如果节点N4为故障节点,则节点N1通过Ping节点N4可以检测出节点N4故障,并更新自身维护的邻区路由表中的信息,然后将节点N4故障的消息通知节点N2和节点N3,指示节点N2和节点N3更新邻区路由表中的信息。
广播探测方式下可以快速探测出故障节点,探测时延小,但是广播探测方式下,主节点需要Ping邻区路由表中每个后驱节点,造成较大的资源开销,尤其是在邻区路由表深度较大的情况下,即邻区路由表中记载的后驱节点数量较大时,系统开销是一个不容忽视的问题。
第二种方式是邻居逐级探测方式,前驱节点和后驱节点之间互Ping,探测对方是否出现故障,如图5所示,节点N1的邻区路由表中的节点为N2~N5,则节点N1与节点N2互Ping,节点N2与节点N3之间互Ping,以此类推,当节点N3与节点N4互Ping时探测出节点N4故障,则节点N3将节点N4故障的消息通知节点N2,再由节点N2通知节点N1。
邻居逐级探测方式下,前后驱节点之间互Ping后逐级上报故障事件,将会造成比较大的时延。
综上所述,在上述第一种邻区路由节点的状态维护方式下,存在状态维护的系统资源开销较大的问题,进一步地,在上述第二种邻区路由节点的状态维护方式下存在故障事件上报的延迟较大的问题。
发明内容
本发明实施例提供一种邻区路由表的更新方法和系统,以解决进行邻区路由表的状态维护过程时,系统资源开销较大的问题。
一种邻区路由表的更新方法,所述方法包括:
第一节点向自身的邻区路由表中第M个后驱节点发起探测请求,其中:M大于1且不大于第一节点的邻区路由表中后驱节点数量;
在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障,在确定某一后驱节点发生故障时,故障节点的后一节点向第二节点发送第一故障节点报告,其中:所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点;
第二节点根据所述第一故障节点报告更新自身的邻区路由表。
较优地,本发明实施例还进一步解决邻区路由表的更新过程中故障事件上报的延迟较大的问题,所采用的技术方案为:
在所述第二节点收到所述第一故障节点报告之后,所述方法还包括:
所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;
所述第二节点将所述第一故障节点报告广播给确定的后驱节点;
所述后驱节点根据所述第一故障节点报告更新自身的邻区路由表。
一种邻区路由表的更新系统,所述系统包括:
第一节点,用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中:M大于1且不大于第一节点的邻区路由表中后驱节点数量;
第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;
第二节点,用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;
其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。
所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;
第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。
由于本发明实施例在邻区路由表的维护过程中,由第一节点向其第M个后驱节点发起探测请求,要求从第M个(1<M≤邻区路由表深度)后驱节点,按照后驱节点由后至前的顺序,依次探测前一节点是否故障,在发生故障时,上报故障节点报告,因此,不需要广播探测,可有效减少网络中探测资源的开销。
附图说明
图1为背景技术中ID长度为3的Chord ID环示意图;
图2为背景技术中Chord ID环及环上的节点维护的指针表的示意图;
图3(a)、图3(b)和图3(c)为背景技术中路由的示意图;
图4为广播探测方式下,维护邻区路由表的示意图;
图5为邻居逐级探测方式下,维护邻区路由表的示意图;
图6为本发明实施例一中邻区路由表更新方法示意图;
图7为本发明实施例四中Chord ID环示意图;
图8为本发明实施例五中Chord ID环示意图。
具体实施方式
为了实现本发明目的,本发明实施例中Chord ID环上的节点通过自身维护的邻区路由表进行路由,由邻区路由表中的后驱节点依次进行可靠性探测,检测出故障节点,并通知Chord ID环上的节点根据故障节点的相关信息更新邻区路由表。通过本发明实施例的方案不需要广播探测,可有效减少网络中探测资源的开销;进一步地,本发明实施例中在探测出故障节点后,由前驱节点广播通知邻区路由表中的各后驱节点进行路由表更新,可有效解决故障事件更新延迟较大的问题。
下面结合说明书附图对本发明实施例进行详细描述。
实施例一:
在本实施例一中,涉及的各节点均为Chord ID环上的节点,每一个节点维护一个邻区路由表,针对某一节点的邻区路由表,该邻区路由表中记载了该节点连续的N个后驱节点的相关信息。每个节点的邻区路由表深度都为N(N是大于1的正整数),本实施例中涉及的邻区路由表深度是后驱节点的数量。
如图6所示,为本发明实施例一的邻区路由表更新方法示意图,所述方法包括以下步骤:
步骤101:第一节点向自身的邻区路由表中第M个后驱节点发起探测请求。
其中:M大于1且不大于第一节点的邻区路由表中后驱节点数量。
本步骤中的第一节点是Chord ID环上的一个节点,第一节点维护的邻区路由表中记载有N个后驱节点的相关信息,该第一节点是N个后驱节点的前驱节点。在进行邻区路由表的维护时,第一节点向第M个后驱节点发起探测请求,这里的第M个后驱节点是第一节点的邻区路由表中记载的第一个后驱节点之后的某一个后驱节点。
由于Chord ID环上每一个节点都要进行邻区路由表的维护过程,因此,本步骤中的第一节点可以是Chord ID环上任意一个节点。
步骤102:在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障。
在本步骤中,第M个后驱节点探测第M-1个后驱节点是否发生故障;若未发生故障,则第M-1个后驱节点探测第M-2个后驱节点是否发生故障,以此类推,直至将第一节点的后驱节点探测完毕,查找出是否有故障节点。
步骤103:在某一后驱节点发生故障时,该故障节点的后一节点向第二节点发送第一故障节点报告。
其中:所述第二节点的邻区路由表中也维护有多个后驱节点,且维护的后驱节点数量不小于M个。第二节点的邻区路由表维护的多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。
在本实施例中,Chord ID环上的某一个节点A可能同时是其他多个节点的后驱节点,如节点A是节点B和节点C的后驱节点。在节点B和节点C在进行邻区路由表的维护时,节点A都需要进行故障检测。
在本步骤中,若发生故障的节点为第一节点的第M-1个后驱节点,则所述第一节点和第二节点是同一节点;否则,第一节点和第二节点是不同节点,也就是说,如果第一节点触发第M个后驱节点后,第M个节点直接探测出第M-1个后驱节点发生故障,则第M个节点将第一故障节点报告通知给第一节点;如果第M个节点确定第M-1个后驱节点没有发生故障,则第M-1个后驱节点将进一步探测第M-2个后驱节点;若第M-2个后驱节点发生故障,则第M-1个后驱节点将第一故障节点报告通知给第一节点前一个节点,该前一个节点即为第二节点。
步骤104:第二节点根据所述第一故障节点报告更新自身的邻区路由表。
由于发送第一故障节点报告的节点是第二节点的邻区路由表中第M个后驱节点,则发生故障的节点是第二节点的邻区路由表中第M-1个后驱节点,因此,第二节点需要更新自身的邻区路由表,将其中关于第M-1个后驱节点的状态设置为故障。
通过上述步骤101~步骤104的方案,在邻区路由表的维护过程中有效地减轻全网的状态探测占用的资源。进一步地,前驱节点可以通过广播的形式通知邻区路由表中的后驱节点进行邻区路由表的更新,具体做法为:
步骤105:第二节点根据自身的邻区路由表确定故障节点之前的后驱节点。
本步骤是在步骤103之后执行的,包括但不限于与步骤104同时执行,或是在步骤104之前执行。
步骤106:第二节点将所述第一故障节点报告广播给确定的后驱节点。
由于Chord ID环上的节点只关注后驱节点的状态,因此,当第二节点确定某一后驱节点为故障节点后,可以将包含故障节点相关信息的第一故障节点报告发送给第二节点的邻区路由表中的全部后驱节点,也可以将第一故障节点报告发送给第二节点的后驱节点中,故障节点之前的后驱节点。
步骤107:第二节点中接收到第一故障节点报告的后驱节点更新自身的邻区路由表。
此时,第二节点以及第二节点的邻区路由表中的后驱节点也完成了邻区路由表更新的操作。由于第二节点是通过广播的形式通知后驱节点,提高了邻区路由表更新的效率,减少了邻区路由表更新的时延。
进一步地,还考虑到第二节点在Chord ID环上也是其他某一节点的后驱节点,假设第二节点是第三节点的邻区路由表中维护的多个后驱节点中的第M个后驱节点,则本发明实施例一的方案还包括:
步骤108:第二节点将第一故障节点报告发送给第三节点。
步骤109:第三节点根据所述第一故障节点报告更新自身的邻区路由表。
优选的步骤108和步骤109是在步骤103之后执行的,第二节点将第一故障节点报告发送给第三节点的步骤与发送给后驱节点的步骤执行先后顺序不固定,较优地,第二节点可以并行执行步骤106和步骤108,以进一步地提高邻区路由表的更新效率。
实施例二:
本发明实施例二在实施例一的基础上进一步考虑到:步骤103中涉及的故障节点的后一节点(假设称之为节点A)也同时维护了一个邻区路由表,该节点A也有N个后驱节点,当节点A的后驱节点中某一节点故障时,节点A也会接收到包含该故障节点相关信息的第二故障节点报告。本发明实施例二是Chord ID环上根据第二故障节点报告更新各节点的邻区路由表的方案,本实施例二的方案具体如下:
第一步:节点A向第二节点发送第二故障节点报告。
这里的第二故障报告包含节点A的后驱节点中,发生故障的后驱节点相关信息。
第二步:第二节点根据所述第二故障节点报告更新自身的邻区路由表。
此时,第二节点不仅获取了自身的深度为N的邻区路由表中各后驱节点的相关信息,还获取了节点A的深度为N的邻区路由表中各后驱节点的相关信息,也就是说,第二节点获取了2N个后驱节点的相关信息。
本实施例二的方案可以在实施例一的任意步骤开始执行,由于节点A间接向第二节点返回第二故障节点报告,第二节点根据第二故障节点报告进行邻区路由表更新时可能存在延迟,并且该延迟会随着邻区路由表的深度增加而变大,为了进一步减少节点A间接向第二节点返回第二故障节点报告时造成的延迟,节点A可以在将第二故障节点报告广播给自身的后驱节点时并行通知给第二节点。
第三步:第二节点根据自身的邻区路由表确定故障节点之前的后驱节点。
第四步:第二节点将所述第二故障节点报告发送给确定的后驱节点。
第五步:第二节点确定的后驱节点根据所述第二故障节点报告更新自身的邻区路由表。
第六步:第二节点将第二故障节点报告发送给第三节点。
第七步:第三节点根据所述第二故障节点报告更新自身的邻区路由表。
为了减少邻区路由表更新时造成的延迟,第二节点可以将第二故障节点报告并行广播给后驱节点和第三节点。
实施例三:
本发明实施例五提供了一种邻区路由表的更新系统,所述系统包括:第一节点、第一节点的N个后驱节点和第二节点,其中,N表示第一节点的邻区路由表深度。
本实施例五中的邻区路由表的更新系统的各部分内容包括:
第一节点用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中:M大于1且不大于N;从第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;第二节点用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。
所述第二节点还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。
所述第二节点还用于将第一故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;第三节点用于根据所述第一故障节点报告更新自身的邻区路由表。
所述第二节点还用于接收故障节点的后一节点发送的第二故障节点报告,并根据所述第二故障节点报告更新自身的邻区路由表;所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点信息。
所述第二节点还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第二故障节点报告广播给确定的后驱节点;第二节点确定的后驱节点用于根据所述第二故障节点报告更新自身的邻区路由表。
所述第二节点还用于将第二故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;所述第三节点用于根据所述第二故障节点报告更新自身的邻区路由表。
实施例四:
本发明实施例四通过一个具体的实例来说明本发明实施例一~实施例三的方案。
如图7所示,为本发明实施例四中Chord ID环示意图,当有节点要加入该Chord ID环时,新加入的节点从前驱节点处获得深度为N的邻区路由表。在本实施例中N=4,则节点N0的后驱节点为节点N1~节点N4,节点N1的后驱节点为节点N2~节点N5,以此类推,节点N5的后驱节点为节点N6~节点N9;假设节点N4和节点N7发生了故障。
以节点N1为第一节点为例,在进行邻区路由表维护时的方案如下:
第一步:节点N1向节点N5发起探测请求,也就是节点N1主动Ping节点N5。
在本步骤中,节点N1可以周期性地Ping节点N5,其中,周期的长度等于邻区路由表的维护周期。
第二步:若节点N5已接收到节点N7的故障节点报告,则节点N5向节点N1上报该节点N7的故障节点报告,并主动Ping节点N4,此时,节点N1能够获得2N个后驱节点的相关信息;否则,节点N5直接Ping节点N4。
第三步:节点N5检测节点N4是故障节点后,向节点N1返回节点N4的故障节点报告。
此时,节点N1既是实施例一~实施例三中涉及的第一节点,也同时是第二节点。
第四步:节点N1根据接收到的节点N4的故障节点报告更新自身的邻区路由表。
第五步:节点N1将节点N4的故障节点报告通过应用层广播协议广播给节点N2和节点N3,或者将节点N4的故障节点报告广播给节点N2、节点N3和N5。
第六步:如果节点N1是节点N.X的第4个后驱节点,则节点N1将节点N4的故障节点报告发送给节点N.X。
第五步和第六步可以并行执行。
如果在第二步中,节点N1接收到节点N7的故障节点报告,则第五步中节点N1还将节点N7的故障节点报告广播至节点N2、节点N3和N5,在第六步中将节点N7的故障节点报告发送给节点N.X。
实施例五:
在实施例四的方案中,节点N1向第N个后驱节点发起探测请求,在本实施例四的方案中,节点N1向第M个(M=3)后驱节点发起探测请求。假设节点N2发生了故障。
如图8所示,节点N1作为实施例中的第一节点,本实施例四的方案如下:
第一步:节点N1向节点N4发起探测请求,也就是节点N1主动Ping节点N4。
第二步:节点N4直接Ping节点N3。
第三步:节点N4检测节点N3不是故障节点,进而,节点N3检测节点N2是故障节点。
第四步:节点N3向节点N0返回节点N2的故障节点报告。
节点N3是节点N0的第3个后驱节点,因此,节点N3将节点N2的故障节点报告返回给节点N0。此时,节点N1是实施例一~实施例三中涉及的第一节点,节点N0是实施例一~实施例三中涉及的第二节点。
第五步:节点N0根据接收到的节点N2的故障节点报告更新自身的邻区路由表。
第六步:节点N0将节点N2的故障节点报告通过应用层广播协议广播给节点N1,或者将节点N2的故障节点报告广播给节点N1、节点N3和N4。
与实施例四类似地,节点N3还可以向节点N0返回节点N3的后驱节点的故障节点报告,节点N0还可以向前驱节点返回节点N2的故障节点报告。
通过本发明实施例提供的方法和系统,在邻区路由表的维护过程中有效地减轻全网的状态探测占用的资源,同时,前驱节点可以通过广播的形式通知邻区路由表中的后驱节点进行邻区路由表的更新,提高了邻区路由表更新的效率,减少了邻区路由表更新的时延;进一步地,向自身的第M个后驱节点发起探测请求的节点可以间接地获取2N个后驱节点的相关信息,并且可以并行发生给自身的后驱节点和前驱节点,进一步地提高邻区路由表的更新效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种邻区路由表的更新方法,其特征在于,所述方法包括:
第一节点向自身的邻区路由表中第M个后驱节点发起探测请求,其中:M大于1且不大于第一节点的邻区路由表中后驱节点的数量;
在第一节点的邻区路由表内按照后驱节点由后至前的顺序,从第M个后驱节点起,每个后驱节点探测相邻的前一后驱节点是否故障,在确定到后驱节点发生故障时,故障节点的后一节点向第二节点发送第一故障节点报告,其中:所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点;
第二节点根据所述第一故障节点报告更新自身的邻区路由表。
2.如权利要求1所述的方法,其特征在于,所述第二节点收到所述第一故障节点报告之后,所述方法还包括:
所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;
所述第二节点将所述第一故障节点报告广播给确定的后驱节点;
所述后驱节点根据所述第一故障节点报告更新自身的邻区路由表。
3.如权利要求2所述的方法,其特征在于,所述第二节点收到所述第一故障节点报告之后,所述方法还包括:
所述第二节点将第一故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;
所述第三节点根据所述第一故障节点报告更新自身的邻区路由表。
4.如权利要求1~3任一所述的方法,其特征在于,所述方法还包括:
故障节点的后一节点向第二节点发送第二故障节点报告,所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点信息;
第二节点根据所述第二故障节点报告更新自身的邻区路由表。
5.如权利要求4所述的方法,其特征在于,第二节点收到第二故障节点报告之后,所述方法还包括:
所述第二节点根据自身的邻区路由表确定故障节点之前的后驱节点;
所述第二节点将所述第二故障节点报告广播给确定的后驱节点;
所述后驱节点根据所述第二故障节点报告更新自身的邻区路由表。
6.如权利要求5所述的方法,其特征在于,所述第二节点收到所述第二故障节点报告之后,所述方法还包括:
所述第二节点将第二故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;
所述第三节点根据所述第二故障节点报告更新自身的邻区路由表。
7.一种邻区路由表的更新系统,其特征在于,所述系统包括:
第一节点,用于向自身的邻区路由表中第M个后驱节点发起探测请求,其中:M大于1且不大于第一节点的邻区路由表中后驱节点数量;
从第一节点的第M个后驱节点起,按照后驱节点由后至前的顺序,每个后驱节点探测相邻的前一后驱节点是否故障;
第二节点,用于接收故障节点的后一节点发送的第一故障节点报告,并根据所述第一故障节点报告更新自身的邻区路由表;
其中,所述第二节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述故障节点的后一节点。
8.如权利要求7所述的系统,其特征在于,
所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第一故障节点报告广播给确定的后驱节点;
第二节点确定的后驱节点,用于根据所述第一故障节点报告更新自身的邻区路由表。
9.如权利要求8所述的系统,其特征在于,
所述第二节点,还用于将第一故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;
第三节点,用于根据所述第一故障节点报告更新自身的邻区路由表。
10.如权利要求7~9任一所述的系统,其特征在于,
所述第二节点,还用于接收故障节点的后一节点发送的第二故障节点报告,并根据所述第二故障节点报告更新自身的邻区路由表;
所述第二故障报告包含所述故障节点的后一节点的后驱节点中,发生故障的后驱节点信息。
11.如权利要求10所述的系统,其特征在于,
所述第二节点,还用于根据自身的邻区路由表确定故障节点之前的后驱节点,并将所述第二故障节点报告广播给确定的后驱节点;
第二节点确定的后驱节点,用于根据所述第二故障节点报告更新自身的邻区路由表。
12.如权利要求11所述的系统,其特征在于,
所述第二节点,还用于将第二故障节点报告发送给第三节点,其中:所述第三节点的邻区路由表中有多个后驱节点,该多个后驱节点中的第M个后驱节点是所述第二节点;
所述第三节点,用于根据所述第二故障节点报告更新自身的邻区路由表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101072668A CN102148740B (zh) | 2010-02-05 | 2010-02-05 | 一种邻区路由表的更新方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101072668A CN102148740B (zh) | 2010-02-05 | 2010-02-05 | 一种邻区路由表的更新方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148740A true CN102148740A (zh) | 2011-08-10 |
CN102148740B CN102148740B (zh) | 2013-09-18 |
Family
ID=44422753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101072668A Active CN102148740B (zh) | 2010-02-05 | 2010-02-05 | 一种邻区路由表的更新方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148740B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506357A (zh) * | 2014-12-22 | 2015-04-08 | 国云科技股份有限公司 | 一种高可用集群节点管理方法 |
CN110784413A (zh) * | 2018-07-31 | 2020-02-11 | 华硕电脑股份有限公司 | 更新集成接入后传节点的路由表的方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085912A1 (en) * | 2002-10-31 | 2004-05-06 | Zhichen Xu | Autonomous system topology based auxiliary network for peer-to-peer overlay network |
CN101442479A (zh) * | 2007-11-22 | 2009-05-27 | 华为技术有限公司 | P2p对等网络中节点失效后的路由更新方法、设备及系统 |
WO2009141013A1 (en) * | 2008-05-23 | 2009-11-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Maintaining distributed hash tables in an overlay network |
WO2009149756A1 (en) * | 2008-06-12 | 2009-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Maintenance of overlay networks |
CN101616089A (zh) * | 2008-06-27 | 2009-12-30 | 阿尔卡特朗讯 | 确定路由路径的方法 |
CN101616013A (zh) * | 2008-06-27 | 2009-12-30 | 阿尔卡特朗讯 | 提供后继列表的方法 |
-
2010
- 2010-02-05 CN CN2010101072668A patent/CN102148740B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085912A1 (en) * | 2002-10-31 | 2004-05-06 | Zhichen Xu | Autonomous system topology based auxiliary network for peer-to-peer overlay network |
CN101442479A (zh) * | 2007-11-22 | 2009-05-27 | 华为技术有限公司 | P2p对等网络中节点失效后的路由更新方法、设备及系统 |
WO2009141013A1 (en) * | 2008-05-23 | 2009-11-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Maintaining distributed hash tables in an overlay network |
WO2009149756A1 (en) * | 2008-06-12 | 2009-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Maintenance of overlay networks |
CN101616089A (zh) * | 2008-06-27 | 2009-12-30 | 阿尔卡特朗讯 | 确定路由路径的方法 |
CN101616013A (zh) * | 2008-06-27 | 2009-12-30 | 阿尔卡特朗讯 | 提供后继列表的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506357A (zh) * | 2014-12-22 | 2015-04-08 | 国云科技股份有限公司 | 一种高可用集群节点管理方法 |
CN110784413A (zh) * | 2018-07-31 | 2020-02-11 | 华硕电脑股份有限公司 | 更新集成接入后传节点的路由表的方法和设备 |
CN110784413B (zh) * | 2018-07-31 | 2022-04-05 | 华硕电脑股份有限公司 | 更新集成接入后传节点的路由表的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102148740B (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102355369B (zh) | 虚拟化集群系统及其处理方法和设备 | |
US10275184B2 (en) | Framework for volatile memory query execution in a multi node cluster | |
US7653833B1 (en) | Terminating a non-clustered workload in response to a failure of a system with a clustered workload | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
CN110399535A (zh) | 一种数据查询方法、装置及设备 | |
CN103067425A (zh) | 虚拟机创建方法、虚拟机管理系统及相关设备 | |
CN104050250A (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
CN106031116A (zh) | 一种ns与vnf的关联方法、装置及系统 | |
CN103378919B (zh) | 一种fi消息的传输方法及装置 | |
CN112052230B (zh) | 多机房数据同步方法、计算设备及存储介质 | |
CN101436998A (zh) | 报文转发路径获取方法和报文转发装置 | |
CN103324582A (zh) | 一种内存迁移方法、装置及设备 | |
CN105069152B (zh) | 数据处理方法及装置 | |
WO2021164385A1 (zh) | 物联网设备系统的虚拟化方法、装置、设备及存储介质 | |
CN102833310A (zh) | 一种基于虚拟化技术的工作流引擎集群系统 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN101617297A (zh) | 多处理器存储区域网络中的虚拟化支持 | |
CN104753992A (zh) | 一种数据存储、虚拟平台故障恢复的方法、设备和系统 | |
CN103188335A (zh) | 节点部署方法与使用其的服务器系统 | |
CN102148740B (zh) | 一种邻区路由表的更新方法和系统 | |
CN103164262A (zh) | 一种任务管理方法及装置 | |
CN102571311B (zh) | 主备切换的通讯系统和通讯方法 | |
CN107168774B (zh) | 一种基于本地存储的虚拟机迁移方法及系统 | |
EP4250122A1 (en) | Using clusters to create test instances | |
CN115208770A (zh) | 用于实现网络规划的方法、设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |