汇聚节点状态的监测方法、装置和系统与流程

文档序号:11846095阅读:350来源:国知局
汇聚节点状态的监测方法、装置和系统与流程

本发明涉及通信技术领域,尤其涉及一种汇聚节点状态的监测方法、装置和系统。



背景技术:

汇聚网络是无线网络中一种常见的应用场景,数据从网络中的普通节点传输到一个或多个汇聚节点(Sink)。汇聚节点获得网络的数据后,可以对数据展开进一步的处理,或者将数据存储在数据库中。图1所示的网络具有一个汇聚节点,其它所有普通节点的信息都被发送到该汇聚节点。但是,当无线网络的分布范围变大,网络中将包含大量的节点。如果使用单个汇聚节点,距离较远的节点需要一条很长的路由路径才能将数据发送到汇聚中心。这会造成数据的延迟变大,丢包率增加。为了解决这些问题,可以在网络中增加多个汇聚节点,如图2所示。当存在多个汇聚节点时,网络的普通节点可以将数据发送给所有的汇聚节点。但是在更多场景下,节点只需要将数据发送给一个路由花费最小的汇聚节点。一般地,不同的汇聚节点通过其它形式的网络进行连接。

普通节点发送数据到汇聚节点的路由路径称为汇聚路由。一般地,路由算法利用网络拓扑信息,根据路由花费最小原则计算得到路由路径。当网络的链路状况变化时,已有路由路径的花费可能发生改变,此时路由算法需要及时做出调整,选择一条更好的路径。路由算法调整路由路径时,需要避免路由环路的发生。路由环路会导致数据包出现大量的无效转发,对网络造成很大的负面影响。如果网络中的普通节点发生链路故障或者节点故障,经过该节点的路由路径将发生改变。因此,发生故障的节点离汇聚节点越近,对路由的影响越大。如果汇聚节点本身发生故障,大量节点会进行路由的调整,造成网络混乱,大大增加发生路由环路和无效路由的可能性。当前系统多采用增量序号(Sequence)的方式判断汇聚节点是否有效。但是,该方法面临序号范围溢出和数值回环的问题。同时,如果汇聚节点重启或者网络采用了休眠机制,容易导致网络中的序号混乱。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

为了解决汇聚节点故障引起的汇聚路由混乱的问题,本发明实施例提供了一种汇聚节点状态的监测方法、装置和系统。

根据本发明实施例的第一方面,提供了一种汇聚节点状态的监测方法,该方法应用于汇聚网络中的汇聚节点,其中,所述方法包括:

接收启动指令;

更新本地保存的汇聚节点状态表的信息,将重启指示置为真;

周期性的广播状态包到网络中,通知普通节点当前汇聚节点的状态。

根据本发明实施例的第二方面,提供了一种汇聚节点状态的监测装置,应用于汇聚网络中的汇聚节点,其中,所述装置包括:

接收单元,其接收启动指令;

更新单元,其在所述接收单元接收到启动指令后,更新本地保存的汇聚节点状态表的信息,将重启指示置为真;

发送单元,其周期性的广播所述汇聚节点的状态包到网络中,通知普通节点当前汇聚节点的状态。

根据本发明实施例的第三方面,提供了一种汇聚节点,其中,所述汇聚节点包括前述第二方面所述的汇聚节点状态的监测装置。

根据本发明实施例的第四方面,提供了一种汇聚节点状态的监测方法,该方法应用于汇聚网络中的普通节点,其中,所述方法包括:

接收来自汇聚节点的状态包;

根据所述状态包的信息对本地保存的汇聚节点状态表进行更新。

如果状态包中的汇聚节点地址位于路由表中,则广播该状态包。

根据本发明实施例的第五方面,提供了一种汇聚节点状态的监测装置,应用于汇聚网络中的普通节点,其中,所述装置包括:

接收单元,其接收来自汇聚节点的状态包;

更新单元,其根据所述状态包的信息对本地保存的汇聚节点状态表进行更新。

广播单元,其在所述状态包中的汇聚节点地址位于路由表中时,广播该状态包。

根据本发明实施例的第六方面,提供了一种普通节点,其中,所述普通节点包括前述第五方面所述的汇聚节点状态的监测装置。

根据本发明实施例的第七方面,提供了一种通信系统,其中,所述通信系统包括前述第三方面所述的汇聚节点以及前述第六方面所述的普通节点。

本发明的有益效果在于:通过本发明实施例,使得网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施方式,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是具有单个汇聚节点的网络示意图;

图2是具有多个汇聚节点的网络示意图;

图3是实施例1的汇聚节点状态的监测方法的流程图;

图4是汇聚节点周期性地广播状态包的一个实施方式的流程图;

图5是实施例2的汇聚节点状态的监测装置的组成示意图;

图6是实施例3的汇聚节点状态的监测方法的流程图;

图7a和图7b是普通节点接收来自汇聚节点的状态包的两种场景示意图;

图8是普通节点对其汇聚节点状态表进行更新的一个实施方式的流程图;

图9是普通节点判断更新条件是否满足的一个实施方式的流程图;

图10是普通节点检查汇聚节点状态的一个实施方式的流程图;

图11是实施例4的汇聚节点状态的监测装置的组成示意图;

图12是实施例5的汇聚节点的组成示意图;

图13是实施例6的普通节点的组成示意图。

具体实施方式

参照附图,通过下面的说明书,本发明的前述以及其它特征将变得明显。在说明书和附图中,具体公开了本发明的特定实施方式,其表明了其中可以采用本发明的原则的部分实施方式,应了解的是,本发明不限于所描述的实施方式,相反,本发明包括落入所附权利要求的范围内的全部修改、变型以及等同物。

本发明实施例同时适用于包含单个汇聚节点和多个汇聚节点的网络,下面结合附图对本发明实施例进行说明。

实施例1

本发明实施例提供了一种汇聚节点状态的监测方法,该方法应用于汇聚网络中的汇聚节点,图3是该方法的流程图,请参照图3,该方法包括:

步骤301:接收启动指令;

步骤302:更新本地保存的汇聚节点状态表的信息,将重启指示置为真;

步骤303:周期性的广播状态包到网络中,通知普通节点当前汇聚节点的状态。

其中,汇聚节点是汇聚网络中数据汇聚的中心,所有普通节点都需要将数据发送到汇聚节点。为了维护到达汇聚节点的路由路径,普通节点需要获得汇聚节点的状态。在本实施例中,汇聚节点保存有汇聚节点状态表,该汇聚节点状态表包含汇聚节点的地址(Sink Address)、序号(Sequence)、状态(Status)、重启指示(Reboot Indicator)、更新周期(Update Period)和更新时间(Update Time)等信息。

表1是是汇聚节点状态表的一个示例。其中,“汇聚节点地址”是当前汇聚节点的地址;“序号”是汇聚节点发送新的状态包的编号,其取值将在发送结束后增加1;“状态”指示了当前汇聚节点的状态,包含有效(Active)和无效(Inactive)两种状态,有效表示汇聚节点工作正常,无效表示汇聚节点出现故障,无法继续接收网络的 数据包;“重启指示”指示了当前汇聚节点是否收到了启动指令,在汇聚节点接收到启动指令时,重启指示将被置为真;“更新周期”是汇聚节点发送状态包的时间间隔;“更新时间”是汇聚节点最近一次发送状态包的时间。

表1:汇聚节点的汇聚节点状态表

在本实施例中,当汇聚节点接收到启动指令后,会更新上述汇聚节点状态表,至少要将重启指示置为真,而后周期性地广播状态包到网络中,以通知网络中的普通节点当前汇聚节点的状态。

其中,上述启动指令可以是人为启动触发的,也可以是正常重启触发的,例如,人为的给汇聚节点上电启动设备,触发该启动指令,再例如,当汇聚节点运行时,如果该汇聚节点的状态发生改变,系统重启也可以触发该启动指令。

其中,上述状态包可以包括汇聚节点状态表的信息,例如包括:汇聚节点地址、序号、状态、重启指示、更新周期、更新时间等。收到该状态包的普通节点根据该状态包中包含的信息可以确定汇聚节点的状态。

在本实施例中,更新汇聚节点状态表还可以包括:将汇聚节点状态表中汇聚节点地址置为所述汇聚节点的地址,序号置为0,状态置为有效,更新周期置为所述汇聚节点发送状态包的周期等。通过更新汇聚节点状态表,可以保证汇聚节点广播出去的状态包所包含的信息是最新的,以便于收到该状态包的普通节点确定汇聚节点的状态。

图4是汇聚节点周期性地广播状态包的一个实施方式的流程图,请参照图4,该流程包括:

步骤401:获取汇聚节点状态表的信息,生成状态包,并广播该状态包;

步骤402:更新汇聚节点状态表的信息,使序号加1,重启指示为假,更新时间为广播所述状态包的时间;

步骤403:判断更新周期是否到期,如果到期则重复步骤401和402,否则等待。

在步骤401中,汇聚节点从汇聚节点状态表中获取信息,并将相应信息放到状态包中,然后广播该状态包。其中,该汇聚节点可以只广播一次该状态包,也可以多次广播该状态包,以提高普通节点获取该状态包的几率。

在步骤402中,汇聚节点在广播了上述状态包之后,更新自己的汇聚节点状态表, 将序号增加1,重启指示置为假(False),更新时间置为发送状态包的时间。根据以上操作,汇聚节点在启动后发送第一个状态包时,重启指示置为真,发送其他状态包时,重启指示置为假。

在步骤403中,因为汇聚节点需要定期广播状态包,因此它有周期触发的时钟,其周期为汇聚节点状态表中的更新周期。该时钟触发时,也即更新周期到期时,将重复步骤401和步骤402的操作。

通过图4的处理,汇聚节点可以周期性地广播状态包到网络中,普通节点在收到该状态包后,可以根据该状态包中所包含的指示该汇聚节点的状态的信息,掌握汇聚节点的状态,避免了因汇聚节点故障导致的无效的路由操作。

在本实施例中,由于一个汇聚节点的状态包通过普通节点的转发可能到达该汇聚节点,或者该汇聚节点有可能收到其它汇聚节点的状态包,则在本实施例中,如果汇聚节点接收到一个状态包后,将不做任何处理。

通过本发明实施例,使得网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例2

本发明实施例还提供了一种汇聚节点状态的监测装置,该装置可以应用于汇聚网络中的汇聚节点,由于该装置解决问题的原理与实施例1的方法类似,因此其具体的实施可以参照实施例1的方法的实施,内容相同之处不再重复说明。

图5是本实施例的汇聚节点状态的监测装置的组成示意图,请参照图5,该装置500包括:接收单元501,更新单元502,以及发送单元503,其中:

接收单元501用于接收启动指令。

更新单元502用于在接收单元501接收到启动指令后,更新本地保存的汇聚节点状态表的信息,将重启指示置为真。

发送单元503用于周期性地广播所述汇聚节点的状态包到网络中,以通知普通节点当前汇聚节点的状态。

在一个实施方式中,更新单元502在更新汇聚节点状态表时,还可以将汇聚节点状态表中的汇聚节点地址置为所述汇聚节点的地址,序号置为0,状态置为有效,重启指示置为真,更新周期置为所述汇聚节点发送状态包的周期。

在一个实施方式中,发送单元503可以包括:广播模块5031、更新模块5032、 以及控制模块5033,其中:

广播模块5031用于获取汇聚节点状态表的信息,生成状态包,并广播该状态包。其中,该广播模块5031可以只广播一次上述状态包,也可以广播多次上述状态包。

更新模块5032用于在广播模块5031广播了状态之后,更新汇聚节点状态表的信息,使序号加1,重启指示为假,更新时间为广播所述状态包的时间。

控制模块5033用于判断汇聚节点状态表的更新周期是否到期,如果到期,则控制广播模块5031和更新模块5032执行各自的处理。

在一个实施方式中,该装置500还可以包括:

存储单元504,其存储汇聚节点状态表,所述汇聚节点状态表包括:汇聚节点地址、序号、状态、重启指示、更新周期以及更新时间。其中,关于汇聚节点状态表已经在实施例1中做了详细说明,其内容被合并于此,在此不再赘述。

通过本实施例的装置,使得网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例3

本发明实施例还提供了一种汇聚节点状态的检测方法,该方法应用于汇聚网络中的普通节点,是对应实施例1的方法的普通节点侧的处理。其中,普通节点是相对于汇聚节点而言的,也就是说,在本实施例中,为了方便说明,将汇聚网络中除汇聚节点以外的节点称为普通节点。图6是该方法的流程图,请参照图6,该方法包括:

步骤601:接收来自汇聚节点的状态包;

步骤602:根据所述状态包的信息对本地保存的汇聚节点状态表进行更新。

步骤603:如果状态包中的汇聚节点地址位于路由表中,则广播该状态包。

其中,在汇聚网络中,普通节点用于获取与具体应用相关的数据,并将数据发送给汇聚节点。

在本实施例中,普通节点保存有汇聚节点状态表和路由表。

其中,普通节点的汇聚节点状态表和汇聚节点的汇聚节点状态表具有相同的结构,例如也包括:汇聚节点地址、序号、状态、重启指示、更新周期和更新时间等信息。与汇聚节点的汇聚节点状态表不同的是,普通节点可能会收到来自多个汇聚节点的状态表,因此,其汇聚节点状态表包含多个汇聚节点的状态的信息。表2是普通节点的汇聚节点状态表的一个示例,在该示例中,普通节点的汇聚节点状态表包含n 个汇聚节点的信息,其中,每一行表示一个汇聚节点的信息,如第i行中汇聚节点的地址为Addri,其它信息与表1类似。

表2:普通节点的汇聚节点状态表

另外,普通节点的路由表至少包含到达一个或多个汇聚节点的路由地址和路由花费,例如包括:汇聚节点地址、路由地址、以及路由花费。表3是普通节点的路由表的一个示例,例如,如果该普通节点需要向汇聚节点Addr1发送数据包,数据包将被发送到节点R1进行数据转发;节点R1是该普通节点的路由地址;数据包从该普通节点到达目标节点Addr1的路由花费为C1

表3:普通节点的路由表

在步骤601中,普通节点将接收来自汇聚节点的状态包。其中,汇聚节点的状态包可能是由汇聚节点直接发送,也可能是由其它节点进行了转发。图7a和图7b是普通节点接收汇聚节点的状态包的两个场景示意图。在图7a和图7b中,节点S为汇聚节点,节点A和节点B为普通节点。在图7a中,普通节点A接收到的状态包是由汇聚节点S直接发送的,在图7b中,普通节点B接收到汇聚节点S发送的状态包后,对它进行了转发;普通节点A接收到的状态包就是由节点B转发的关于汇聚节点S的状态包。在本实施例中,对于这两种不同场景的汇聚节点状态包,普通节点不作区分,按照相同的操作进行处理。

在步骤602中,普通节点将根据接收到的状态包的信息对汇聚节点状态表进行更新。

图8是该普通节点根据接收到的状态包的信息对其汇聚节点状态表进行更新的一个实施方式的流程图,请参照图8,该流程包括:

步骤801:获取所述状态包中的信息;

步骤802:将所述状态包中的汇聚节点地址合并到汇聚节点状态表中;

步骤803:判断更新条件是否满足,如果满足,则执行步骤804,否则结束;

步骤804:用状态包的信息替换汇聚节点状态表中对应汇聚节点的信息。

在步骤801中,在普通节点接收到来自汇聚节点的状态包后,首先获取状态包中的信息,比如汇聚节点地址、序号、状态等。

在步骤802中,如果所述状态包中汇聚节点地址存在于汇聚节点状态表中,则不改变汇聚节点状态表的记录,如果所述状态包中汇聚节点地址不存在于汇聚节点状态表中,则在汇聚节点状态表中新建一条对应所述状态包中汇聚节点地址的记录。例如,该普通节点可以根据状态包中的汇聚节点地址,查找自己的汇聚节点状态表,如果没有在自己的汇聚节点状态表中找到对应该状态包中的汇聚节点地址的汇聚节点的信息,则在自己的汇聚节点状态表中新建一行对应该状态包中的汇聚节点地址的记录,在新建的该记录中,汇聚节点地址为状态包中的汇聚节点地址;另一方面,如果该状态包中的汇聚节点地址已存在于自己的汇聚节点状态表中,则该普通节点不改变其汇聚节点状态表的记录。

在步骤803中,判断更新条件是否满足,也即判断是否需要更新自己的汇聚节点状态表。

在一个实施方式中,如果状态包的信息与汇聚节点状态表中对应汇聚节点的信息不同则认为满足更新条件。其中,该普通节点可以将状态包的信息与其汇聚节点状态表中对应汇聚节点的信息进行比较,如果它们的信息相同,则说明该普通节点已经接收过该状态包,不需要进行进一步处理;相反,如果它们的信息不同,则认为满足更新条件,需要对自己的汇聚节点状态表进行更新。

在一个实施方式中,如果该普通节点处于重启状态则认为满足更新条件。其中,重启状态是节点的一种特殊状态,它可以表示节点从关机状态上电重启,或者接收进入重启状态的指令,或者节点结束休眠进入工作状态。一旦该普通节点处于重启状态,则认为满足更新条件,需要对自己的汇聚节点状态表进行更新。

在一个实施方式中,如果状态包中的重启指示为真并且序号为0则认为满足更新条件。其中,在该实施方式中,该普通节点可以根据状态包中的序号和重启指示判断状态包是否需要处理。如果重启指示为真,同时序号为0,说明汇聚节点重新启动,需要重置对应汇聚节点信息表的内容。

在一个实施方式中,如果状态包中的序号大于汇聚节点状态表中对应汇聚节点的序号则认为满足更新条件。其中,如果状态包中的序号大于汇聚节点状态表中对应的序号,说明状态包的信息包含更新的内容,需要替换状态表的内容。其中,序号是一个整数,在实现过程中会出现整数范围溢出和数值回环(Wrap-around)的问题,因此,在本实施例中,在比较序号大小时需要考虑处理这些异常状况。假设序号为长度为1Byte的正整数,那么它的范围是0~255。如果当前的序号S=255,它加1后的取值为S’=0。此时,出现了序号范围溢出的问题,其取值发生回环。一般地,为了解决这个问题,判断S和S’的大小时采取以下原则:如果S<S’且S’-S<L/2,则认为S小于S’;如果S>S’且S-S’>L/2,仍然认为S小于S’。其中,L为序号取值的范围。

以上通过四个实施方式说明了普通节点如何判断更新条件是否满足,在本实施例中,优选的,可以按照图9的顺序进行判断,但本实施例并不以此作为限制,如图9所示,判断更新条件是否满足包括以下步骤:

步骤901:该普通节点判断状态包的信息与自己的汇聚节点状态表中对应汇聚节点的信息是否相同,如果不同,则认为满足更新条件,如果相同,则执行步骤902;

步骤902:该普通节点判断当前节点是否处于重启状态,如果是,则认为满足更新条件,否则执行步骤903;

步骤903:该普通节点判断状态包中的重启指示是否为真并且序号是否为0,如果是,则认为满足更新条件,否则执行步骤904;

步骤904:该普通节点判断状态包中的序号是否大于汇聚节点状态表中对应汇聚节点的序号,如果是,则认为满足更新条件,否则认为不满足更新条件。

在步骤804中,在满足更新条件的情况下,用状态包的信息替换本地保存的汇聚节点状态表中对应汇聚节点的信息。

通过以上的方法,在普通节点接收到来自汇聚节点的状态包以后,根据该状态包的信息和其自己保存的汇聚节点状态表的信息,更新自己的汇聚节点状态表,随时掌握汇聚节点的最近状态,避免了因不能发现汇聚节点的故障进行无效的路由操作造成的网络混乱。

在步骤603中,该普通节点还可以检查自己的路由表,如果状态包中的汇聚节点地址位于其路由表中,则说明需要对该状态包进行转发,则该普通节点转发收到的该 状态包。相反,如果状态包中的汇聚节点地址不在其路由表中,则不对该状态包进行转发操作。由此,普通节点在掌握汇聚节点的状态的同时还可以起到中继的作用。

在本实施例的一个实施方式中,该普通节点还可以根据自己的汇聚节点状态表检查汇聚节点的状态,在汇聚节点处于失效状态时,更新汇聚节点状态表和/或路由表。

图10是普通节点检查汇聚节点状态的一个实施方式的流程图,请参照图10,该流程包括:

步骤1001:从汇聚节点状态表中获取汇聚节点地址和更新时间;

步骤1002:判断当前时间与更新时间的差是否大于预先设定的失效时间,如果是,则确认汇聚节点失效,否则认为汇聚节点有效。

在步骤1001中,该普通节点可以通过初始化从本地的汇聚节点状态表中获取汇聚节点地址和更新时间,并从系统中获得当前时间(current time)。

在步骤1002中,该普通节点可以根据获取到的信息判断汇聚节点的状态,如果汇聚节点的更新时间到当前时间的间隔大于预先设定的失效时间(inactive time),则认为汇聚节点已失效,需要进一步的操作,否则认为汇聚节点有效,不需要进行任何操作。

在本实施方式中,如果汇聚节点处于失效状态,则该普通节点可以将汇聚节点状态表中对应失效的汇聚节点的状态置为无效,还可以将路由表中对应失效的汇聚节点的路由删除,还可以启动路由更新过程,还可以查找到达其它汇聚节点的路由。以上处理可以任选其一或者任意组合,本实施例并不限制必须进行以上所有处理,本实施例也不限制以上处理的个数、顺序和方式。其中,该普通节点可以根据自身路由算法的操作选择合适的时间进行路由更新。

通过本实施例的方法,网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例4

本发明实施例还提供了一种汇聚节点状态的监测装置,该装置可以应用于汇聚网络中的普通节点,由于该装置解决问题的原理与实施例3的方法类似,因此其具体的实施可以参照实施例1的方法的实施,内容相同之处不再重复说明。

图11是本实施例的汇聚节点状态的监测装置的组成示意图,请参照图11,该装置1100包括:接收单元1101、更新单元1102、以及广播单元1103,其中:

接收单元1101用于接收来自汇聚节点的状态包。其中,关于该状态包的内容已经在实施例1中做了详细说明,其内容被合并于此,在此不再赘述。

更新单元1102用于根据所述状态包的信息对本地保存的汇聚节点状态表进行更新。其中,本地保存的汇聚节点状态表的内容已经在实施例3中做了详细说明,其内容被合并于此,在此不再赘述。

广播单元1103用于在所述状态包中的汇聚节点地址位于路由表中时,广播该状态包。其中,关于该路由表的内容已经在实施例3中做了详细说明,其内容被合并于此,在此不再赘述。

在本实施例的一个实施方式中,该更新单元1102包括:第一获取模块11021、合并模块11022、以及更新模块11023,其中:

第一获取模块11021用于获取所述状态包中的信息。

合并模块11022用于将所述状态包中的汇聚节点地址合并到汇聚节点状态表中。其中,如果所述状态包中汇聚节点地址存在于汇聚节点状态表中,则该合并模块11022在不改变汇聚节点状态表的记录;如果所述状态包中汇聚节点地址不存在于汇聚节点状态表中时,则该合并模块11022在汇聚节点状态表中新建一条对应所述状态包中汇聚节点地址的记录。

更新模块11023用于在状态包的信息与汇聚节点状态表中对应汇聚节点的信息不同,或者所述普通节点处于重启状态,或者状态包中的重启指示为真并且序号为0,或者状态包中的序号大于汇聚节点状态表中对应汇聚节点的序号时,用状态包的信息替换汇聚节点状态表中对应汇聚节点的信息。

在本实施例的一个实施方式中,该装置1100还可以包括:

检查单元1104,其根据所述普通节点的汇聚节点状态表检查汇聚节点的状态。其中,更新单元1102用于根据该检查单元1104的检查结果,在汇聚节点处于失效状态时,更新汇聚节点状态表和/或路由表。

其中,该检查单元1104可以包括:第二获取模块11041和确定模块11042,其中,该第二获取模块11041用于从汇聚节点状态表中获取汇聚节点地址和更新时间,该确定模块11042用于在汇聚节点的更新时间到当前时间的间隔大于预先设定的失效时间时,确认汇聚节点失效,否则确认汇聚节点有效。

其中,该更新单元1102在更新汇聚节点状态表时,可以将汇聚节点状态表中对 应失效的汇聚节点的状态置为无效;可以在更新路由表时,将路由表中对应失效的汇聚节点的路由删除。可选的,该更新单元1102还可以启动路由更新过程和/或查找到达其它汇聚节点的路由。

在本实施例的一个实施方式中,该装置1100还可以包括:

存储单元1105,其存储上述汇聚节点状态表和上述路由表,所述汇聚节点状态表包括:汇聚节点地址、序号、状态、重启指示、更新周期以及更新时间;所述路由表包括:汇聚节点地址、路由地址以及路由花费。

通过本实施例的装置,网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例5

本发明实施例还提供了一种汇聚节点,该汇聚节点包括实施例2所述的汇聚节点状态的监测装置。

图12是本发明实施例的汇聚节点的一构成示意图。如图12所示,汇聚节点1200可以包括:中央处理器(CPU)1201和存储器1202;存储器1202耦合到中央处理器1201。其中该存储器1202可存储各种数据,如前所述的汇聚节点状态表等;此外还存储信息处理的程序,并且在中央处理器1201的控制下执行该程序,以接收其它节点发送的各种信息、并且向其它节点发送各种信息。

在一个实施方式中,汇聚节点状态的监测装置的功能可以被集成到中央处理器1201中。

在另一个实施方式中,汇聚节点状态的监测装置可以与中央处理器1201分开配置,例如可以将汇聚节点状态的监测装置配置为与中央处理器1201连接的芯片,通过中央处理器1201的控制来实现汇聚节点状态的监测装置的功能。

此外,如图12所示,汇聚节点1200还可以包括:收发机1203和天线1204等;其中,上述部件的功能与现有技术类似,此处不再赘述。值得注意的是,汇聚节点1200也并不是必须要包括图12中所示的所有部件;此外,汇聚节点1200还可以包括图12中没有示出的部件,可以参考现有技术。

通过本实施例的汇聚节点,网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例6

本发明实施例还提供了一种普通节点,该普通节点包括实施例4所述的汇聚节点状态的监测装置。

图13是本发明实施例的普通节点1300的系统构成的一示意框图。如图13所示,该普通节点1300可以包括中央处理器1301和存储器1302;存储器1302耦合到中央处理器1304。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在一个实施方式中,汇聚节点状态的监测装置的功能可以被集成到中央处理器1301中。

在另一个实施方式中,汇聚节点状态的监测装置可以与中央处理器1301分开配置,例如可以将汇聚节点状态的监测装置配置为与中央处理器1301连接的芯片,通过中央处理器1301的控制来实现汇聚节点状态的监测装置的功能。

如图13所示,该普通节点1300还可以包括:通信模块1303、输入单元1304、音频处理单元1305、显示器1306、电源1307。值得注意的是,普通节点1300也并不是必须要包括图13中所示的所有部件;此外,普通节点1300还可以包括图13中没有示出的部件,可以参考现有技术。

如图13所示,中央处理器1301有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器1301接收输入并控制普通节点1300的各个部件的操作。

其中,存储器1302,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述汇聚节点状态表、路由表等,此外还可存储执行有关信息的程序。并且中央处理器1301可执行该存储器1302存储的该程序,以实现信息存储或处理等。其他部件的功能与现有类似,此处不再赘述。普通节点1300的各部件可以通过专用硬件、固件、软件或其结合来实现,而不偏离本发明的范围。

通过本实施例的普通节点,能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

实施例7

本发明实施例还提供了一种汇聚网络,该汇聚网络包括汇聚节点和普通节点,该汇聚节点可以通过实施例5的汇聚节点1200来实现,该普通节点可以通过实施例6 的普通节点1300来实现。由于在实施例5和6中,已经对该汇聚节点1200和该普通节点1300进行了详细说明,其内容被合并于此,在此不再赘述。

通过本实施例的汇聚网络,网络中的普通节点能够快速发现汇聚节点的故障,避免了无效的路由更新操作造成的网络混乱。

本发明实施例还提供一种计算机可读程序,其中当在汇聚节点状态的监测装置或汇聚节点中执行所述程序时,所述程序使得计算机在所述汇聚节点状态的监测装置或汇聚节点中执行实施例1所述的方法。

本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在汇聚节点状态的监测装置或汇聚节点中执行实施例1所述的方法。

本发明实施例还提供一种计算机可读程序,其中当在汇聚节点状态的监测装置或普通节点中执行所述程序时,所述程序使得计算机在所述汇聚节点状态的监测装置或普通节点中执行实施例3所述的方法。

本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在汇聚节点状态的监测装置或普通节点中执行实施例3所述的方法。

本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。

以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。

关于包括以上实施例的实施方式,还公开下述的附记:

附记1、一种汇聚节点状态的监测装置,应用于汇聚网络中的汇聚节点,其中,所述装置包括:

接收单元,其接收启动指令;

更新单元,其在所述接收单元接收到启动指令后,更新本地保存的汇聚节点状态表的信息,将重启指示置为真;

发送单元,其周期性的广播所述汇聚节点的状态包到网络中,通知普通节点当前汇聚节点的状态。

附记2、根据附记1所述的装置,其中,所述更新单元还将汇聚节点地址置为所述汇聚节点的地址,序号置为0,状态置为有效,重启指示置为真,更新周期置为所述汇聚节点发送状态包的周期。

附记3、根据附记2所述的装置,其中,所述发送单元包括:

广播模块,其获取汇聚节点状态表的信息,生成状态包,并广播该状态包;

更新模块,其更新汇聚节点状态表的信息,使序号加1,重启指示为假,更新时间为广播所述状态包的时间;

控制模块,其判断更新周期是否到期,如果到期,则控制广播模块和更新模块执行各自的处理。

附记4、根据附记3所述的装置,其中,所述广播模块多次广播该状态包。

附记5、根据附记1所述的装置,其中,所述装置还包括:

存储单元,其存储汇聚节点状态表,所述汇聚节点状态表包括:汇聚节点地址、序号、状态、重启指示、更新周期以及更新时间。

附记6、一种汇聚节点状态的监测装置,应用于汇聚网络中的普通节点,其中,所述装置包括:

接收单元,其接收来自汇聚节点的状态包;

更新单元,其根据所述状态包的信息对本地保存的汇聚节点状态表进行更新。

广播单元,其在所述状态包中的汇聚节点地址位于路由表中时,广播该状态包。

附记7、根据附记6所述的装置,其中,更新单元包括:

第一获取模块,其获取所述状态包中的信息;

合并模块,其将所述状态包中的汇聚节点地址合并到汇聚节点状态表中;

更新模块,其在状态包的信息与汇聚节点状态表中对应汇聚节点的信息不同,或者所述普通节点处于重启状态,或者状态包中的重启指示为真并且序号为0,或者状态包中的序号大于汇聚节点状态表中对应汇聚节点的序号时,用状态包的信息替换汇聚节点状态表中对应汇聚节点的信息。

附记8、根据附记7所述的装置,其中,所述合并模块在所述状态包中汇聚节点地址存在于汇聚节点状态表中时,不改变汇聚节点状态表的记录;在所述状态包中汇聚节点地址不存在于汇聚节点状态表中时,在汇聚节点状态表中新建一条对应所述状态包中汇聚节点地址的记录。

附记9、根据附记6所述的装置,其中,所述装置还包括:

检查单元,其根据所述普通节点的汇聚节点状态表检查汇聚节点的状态;

所述更新单元根据所述检查单元的检查结果,在汇聚节点处于失效状态时,更新汇聚节点状态表和/或路由表。

附记10、根据附记9所述的装置,其中,所述检查单元包括:

第二获取模块,从汇聚节点状态表中获取汇聚节点地址和更新时间;

确定模块,其在汇聚节点的更新时间到当前时间的间隔大于预先设定的失效时间时,确认汇聚节点失效,否则确认汇聚节点有效。

附记11、根据附记9所述的装置,其中,

所述更新单元在更新汇聚节点状态表时,将汇聚节点状态表中对应失效的汇聚节点的状态置为无效;在更新路由表时,将路由表中对应失效的汇聚节点的路由删除;

其中,所述更新单元还用于:启动路由更新过程;和/或,查找到达其它汇聚节点的路由。

附记12、根据附记6所述的装置,其中,所述装置还包括:

存储单元,其存储汇聚节点状态表和路由表,所述汇聚节点状态表包括:汇聚节点地址、序号、状态、重启指示、更新周期以及更新时间;所述路由表包括:汇聚节点地址、路由地址以及路由花费。

附记13、一种汇聚网络,所述汇聚网络包括汇聚节点和普通节点,其中,

所述汇聚节点被配置为:在接收到启动指令后,更新本地保存的汇聚节点状态表的信息,将重启指示置为真;周期性的广播状态包到网络中,通知普通节点当前汇聚节点的状态;

所述普通节点被配置为:接收来自汇聚节点的状态包;根据所述状态包的信息对本地保存的汇聚节点状态表进行更新;如果状态包中的汇聚节点地址位于路由表中,则广播该状态包。

附记14、根据附记13所述的汇聚网络,其中,所述汇聚节点还被配置为:获取 汇聚节点状态表的信息,生成状态包,并广播该状态包;更新汇聚节点状态表的信息,使序号加1,重启指示为假,更新时间为广播所述状态包的时间;判断更新周期是否到期,如果到期则重复前述步骤,否则等待。

附记15、根据附记13所述的汇聚网络,其中,所述普通节点还被配置为:获取所述状态包中的信息;将所述状态包中的汇聚节点地址合并到汇聚节点状态表中;如果状态包的信息与汇聚节点状态表中对应汇聚节点的信息不同,或者所述普通节点处于重启状态,或者状态包中的重启指示为真并且序号为0,或者状态包中的序号大于汇聚节点状态表中对应汇聚节点的序号,则用状态包的信息替换汇聚节点状态表中对应汇聚节点的信息。

附记16、根据附记15所述的汇聚网络,其中,所述普通节点还被配置为:在所述状态包中汇聚节点地址存在于汇聚节点状态表中时,不改变汇聚节点状态表的记录;在所述状态包中汇聚节点地址不存在于汇聚节点状态表中时,在汇聚节点状态表中新建一条对应所述状态包中汇聚节点地址的记录。

附记17、根据附记13所述的汇聚网络,其中,所述普通节点还被配置为:根据所述普通节点的汇聚节点状态表检查汇聚节点的状态;如果汇聚节点处于失效状态,则更新汇聚节点状态表和/或路由表。

附记18、根据附记17所述的汇聚网络,其中,所述普通节点还被配置为:从汇聚节点状态表中获取汇聚节点地址和更新时间;在汇聚节点的更新时间到当前时间的间隔大于预先设定的失效时间时,确认汇聚节点失效,否则认为汇聚节点有效。

附记19、根据附记17所述的汇聚网络,其中,所述普通节点还被配置为:将汇聚节点状态表中对应失效的汇聚节点的状态置为无效;和/或将路由表中对应失效的汇聚节点的路由删除;和/或启动路由更新过程;和/或查找到达其它汇聚节点的路由。

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