CN110391995A - 一种rpl网络负载均衡方法及装置 - Google Patents
一种rpl网络负载均衡方法及装置 Download PDFInfo
- Publication number
- CN110391995A CN110391995A CN201810344454.9A CN201810344454A CN110391995A CN 110391995 A CN110391995 A CN 110391995A CN 201810344454 A CN201810344454 A CN 201810344454A CN 110391995 A CN110391995 A CN 110391995A
- Authority
- CN
- China
- Prior art keywords
- node
- load
- target
- dodag
- nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000012545 processing Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 230000006855 networking Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000010355 oscillation Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种RPL网络负载均衡方法及装置,以解决现有RPL网络实施负载均衡后负载情况不可控的问题。所述方法包括:第一BR获取所述第一BR的负载以及第二BR的负载;当所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,所述目标节点集合中的节点为第一DODAG中需要切换到第二DODAG中的节点;所述第一BR向所述目标节点集合中的节点发送节点切换消息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
Description
技术领域
本申请涉及无线通信技术领域,尤其涉及一种RPL网络负载均衡方法及装置。
背景技术
低功耗及有损网络(low power and lossy networks,LLN)路由协议(IPv6routing protocol for LLN,RPL)主要应用于网络中设备硬件(如处理器、内存等)性能较低,对功耗要求较高的场景,如智能交通、工业监测、环境监测以及路灯照明管控等等。为了保证节点接入RPL网络的可靠性,RPL网络中通常会部署多个边界路由器(border router,BR)负责某一个区域内节点的管理和维护,使得该区域内的节点以所述多个BR为根节点,通过RPL构成多个目标导向无环图(destination oriented directed acyclic graph,DODAG),得到RPL网络。
由于RPL网络具有自组性和分布式的特点,使得RPL网络拓扑结构随机性较大,进而导致RPL网络中多个BR的负载不均衡,例如RPL网络中一个BR上连接的节点较多,而另一个BR上连接的节点较少,如图1所示。目前,主要通过以下方法解决RPL网络中多个BR的负载不均衡的问题:针对RPL网络中多个BR中的任意一个BR,网关(gateway,GW)节点根据该BR上报的流量信息确定待切换节点,并向该待切换节点发送负载不均衡的警告信息,使得该待切换节点接收到告警信息,并确定该待切换节点的深度大于设定值时,切换到RPL网络中的其它DODAG的节点上,其中,该待切换节点为该BR所在的DODAG中的除该BR外的负载较大的节点,该待切换节点的深度指从该待切换节点到该待切换节点所在的DODAG的根节点(BR)路径上的节点个数。
但是,上述RPL网络负载均衡(load balance,LB)方法中接收到告警信息的待切换节点,根据自身的负载情况决策是否切换到RPL网络中的其它DODAG的节点上,导致切换后的负载情况不可控,进而无法保证切换后的RPL网络负载均衡,甚至引起网络震荡。
例如,图1所示的RPL网络中BR2所在的DODAG负载过重,网关节点根据BR2上报的流量信息确定节点4以及节点8-节点11为待切换节点,并分别向节点4以及节点8-节点11发送负载不均衡的警告信息,节点4以及节点8-节点11接收到告警信息后,均确定切换到BR1所在的DODAG中,导致BR1所在的DODAG负载反而更过重,切换结果如图2图所示。
发明内容
本申请提供了一种RPL网络负载均衡方法及装置,以解决现有RPL网络实施负载均衡后负载情况不可控的问题。
第一方面,本申请提供了一种RPL网络负载均衡方法,应用于部署有至少两个边界路由器BR的RPL网络,所述方法包括:第一BR获取所述第一BR的负载以及第二BR的负载,所述第一BR为所述RPL网络中部署的至少两个BR中的任意一个,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个;当所述第一BR的负载大于与第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,所述目标节点集合中的节点为第一DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR;所述第一BR向所述目标节点集合中的节点发送节点切换消息,通过所述节点切换消息指示所述目标节点集合中的节点切换到对应的目标节点,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
通过上述方案,所述RPL网络中第一BR在所述第一BR的负载大于与第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,所述第一BR(负载较大的BR)集中决策需要从所述第一DODAG切换到所述第二DODAG的目标节点集合,使得所述目标节点集合中的节点切换到所述第二DODAG后,所述第一BR的负载与所述第二BR的负载的差值小于或等于所述设定阈值,达到负载均衡的目的,可以避免节点切换后所述第二BR的负载大于所述第一BR的负载的情况,进而可以避免负载均衡引起的网络震荡,可以提高负载均衡的可靠性。
一种可能的实施方式中,所述第一BR可以通过但不限于以下两种方式获取所述第二BR的负载:方式一、所述第一BR向所述第二BR发送负载请求消息;所述第二BR接收到所述负载请求消息之后,向所述第一BR返回所述负载请求消息的响应消息,所述响应消息中携带所述第二BR的负;方式二、所述第二BR按照设定周期向所述第一BR发送所述第二BR的负载。
一个可能的实施方式中,所述目标节点集合中节点对应的目标节点可以是所述第一BR从所述第二DODAG中选择的一个节点,或者是所述第一BR从所述目标节点集合中的节点在RPL组网过程中上报的可用父节点集合中选择的。
一种可能的实施方式中,当所述至少两个候选节点集合包括至少一个第一类节点集合时,所述第一BR可以通过以下方法从至少两个候选节点集合中确定目标节点集合:所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第一类节点集合作为所述目标节点集合,其中,一个第一类节点集合由所述第一DODAG中一个子树的所有节点组成。
一种可能的实施方式中,当所述第一BR确定的目标节点集合为第一类节点集合时,所述第一BR向所述目标节点集合中子树的根节点发送所述节点切换消息。
通过上述方案,所述第一BR从所述至少两个候选节点集合包括的第一类节点集合中,确定所述目标节点集合,所述第一BR只需向所述目标节点集合中子树的根节点发送所述节点切换消息,能够减少所述第一BR在负载均衡过程中发送的消息数量。
一种可能的实施方式中,当所述至少两个候选节点集合包括至少一个第一类节点集合以及至少一个第二类节点集合,且所述第一BR确定所述至少一个第一类节点集合中不存在所述目标节点集合时,所述第一BR可以通过以下方法从至少两个候选节点集合中确定目标节点集合:所述第一BR从所述至少两个候选节点集合中选择一个第一类节点集合,将所选择的第一类节点集合分别与所述至少一个第二类节点集合做并集处理,将得到的每个并集分别作为一个新的候选节点集合,根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。其中,一个第一类节点集合由所述第一DODAG中一个子树的所有节点组成,所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成。
通过上述方案,所述第一BR优先从所述至少两个候选节点集合包括的第一类节点集合中确定所述目标节点集合,可以尽量减少所确定的目标节点集合中除子树包括的节点外的其他节点的个数,以减少所述第一BR在负载均衡过程中发送的消息数量。
一个可能的实施方式中,当所述目标节点集合为第一类节点集合与第二类节点集合的并集时,所述第一BR分别向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
一个可能的实施方式中,当所述至少两个候选节点集合包括至少一个第二类节点集合时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合作为所述目标节点集合。
一个可能的实施方式中,当所述目标节点集合为第二类节点集合时,所述第一BR分别向所述目标节点集合中的每个节点发送所述节点切换消息。
一个可能的实施方式中,所述第一BR向所述目标节点集合中的节点发送节点切换消息之前,还获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系。所述第一BR从至少两个候选节点集合中确定目标节点集合之后,向所述目标节点集合中的节点发送节点切换消息之前,还可以根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点。
通过上述方案,所述第一BR根据所述第二DODAG的网络拓扑信息,为所述目标节点集合中的节点选择合适的目标节点,使得所述目标节点集合中的节点切换到对应的目标节点后,所述第二DODAG中所述目标节点的负载在设定范围内,进而使得切换后所述第二DODAG的局部负载也均衡。
第二方面,本申请还提供了一种RPL网络负载均衡方法,应用于部署有至少两个边界路由器BR的RPL网络,所述方法包括:待切换节点接收第一BR发送的节点切换消息,根据所述节点切换消息,切换到所述待切节点对应的目标节点,所述目标节点为所述待切换节点所要切换到的所述第二DODAG中的节点;其中,所述节点切换消息是所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时发送的,所述节点切换消息中携带所述待切换节点对应的目标节点的信息;所述待切换节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第一BR为所述至少两个BR中的任意一个BR,所述第二DODAG的根节点为第二BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR。
通过上述方案,负载较大的第一DODAG中的节点可以根据所述第一DODAG的根节点第一BR下发的节点切换消息的指示,切换到负载较小的第二DODAG中的节点上,使得切换后所述第一BR的负载与所述第二BR的负载的差值小于所述设定阈值,达到负载均衡的目的,可以避免节点切换后所述第二BR的负载大于所述第一BR的负载的情况,进而可以避免负载均衡引起的网络震荡,可以提高负载均衡的可靠性。
一个可能的实施方式中,所述待切换节点为所述第一DODAG中一个子树的根节点;或者,所述待切换节点为所述第一DODAG中的叶子节点。
一个可能的实施方式中,所述待切换节点接收第一BR发送的节点切换消息之后,还可以向所述第一BR反馈确认消息,以通知所述第一BR所述待切换节点成功接收到所述节点切换消息。
第三方面,本申请还提供了一种RPL网络负载均衡方法,所述方法包括:已入网节点生成第一控制消息,并广播所述第一控制消息,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述目标BR的负载确定的,用于确定待入网节点的父节点;所述已入网节点为已经接入所述RPL网络的任意一个节点,所述待入网节点为待接入所述RPL网络的任意一个节点;所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点。
通过上述方案,所述已入网节点广播所述第一控制消息,使得待入网节点根据所述第一控制消息中携带的目标BR的负载、所述已入网节点的负载以及所述父节点选择规则,确定所述待入网节点的父节点,通过所述待入网节点的父节点接入所述RPL网络。由于所述待入网节点接入所述RPL网络时,根据所述目标BR的负载、所述已入网节点的负载以及所述父节点选择规则,确定所述待入网节点的父节点,考虑了RPL网络中DODAG的整体负载(目标BR的负载)以及已经接入相应DODAG的已入网节点的负载,使得所述待入网节点确定的所述待入网节点的父节点自身的负载较小,且所述待入网节点的父节点所在的DODAG负载也较小,进而使得通过所述第一控制消息组建的RPL网络负载均衡。
一个可能的实施方式中,所述第一控制消息可以为DIO消息,所述第一控制消息中携带的参数通过DIO消息中的对应字段进行传输。例如,所述第一BR所在DODAG的根节点的负载和所述第一BR的负载可以通过DIO消息中的metric字段进行传输,父节点选择规则可以通过DIO消息中OF字段进行传输。其中,所述父节点选择规则可以为所述已入网节点所在的DODAG的根节点的负载与所述已入网节点的负载的函数,此时,所述第一控制消息中所述父节点选择规则可以为该函数的表达式,或者为该函数中所述已入网节点所在的DODAG的根节点的负载对应的系数以及所述已入网节点的负载对应的系数。
一个可能的实施方式中,所述已入网节点为所述目标BR,或者为已经通过所述布标BR接入所述RPL网络的节点。
一个可能的实施方式中,当所述已入网节点为从所述待入网节点的父节点到所述目标BR的路径上的一个节点,且所述已入网节点不是所述目标BR时,所述已入网节点还接收第二控制信息,其中,所述第二控制信息为所述待入网节点根据所述第一控制消息确定所述待入网节点的父节点后发送的,所述第二控制信息中携带所述待入网节点的信息;以及,将所述已入网节点的信息携带在所述第二控制信息中,转发给所述已入网节点的父节点。
一个可能的实施方式中,所述第二控制消息中还携带所述待入网节点的可用父节点的信息。
第四方面,本申请还提供了一种RPL网络负载均衡方法,所述方法包括:待入网节点接收已入网节点发送的第一控制消息,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述已入网节点所在DODAG的根节点的负载确定的,用于确定待入网节点的父节点;所述已入网节点为已经接入所述RPL网络的任意一个节点,所述待入网节点为待接入所述RPL网络的任意一个节点;所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点;所述待入网节点根据所述第一控制消息,确定所述待入网节点的父节点;所述待入网节点根据所述第一控制消息确定所述待入网节点的父节点;所述待入网节点向所述待入网节点的父节点发送第二控制消息,所述第二控制消息中携带所述待入网节点的信息。
通过上述方案,待入网节点根据第一控制消息中携带的目标BR所述已入网节点所在的DODAG的根节点的负载、所述已入网节点的负载以及所述父节点选择规则,确定所述待入网节点的父节点,通过所述待入网节点的父节点接入所述RPL网络。由于所述待入网节点接入所述RPL网络时,根据所述已入网节点所在的DODAG的根节点的负载、所述已入网节点的负载以及所述父节点选择规则,确定所述待入网节点的父节点,考虑了RPL网络中每个DODAG的整体负载(每个BR的负载)以及已经接入相应DODAG的已入网节点的负载,使得所述待入网节点确定的所述待入网节点的父节点自身的负载较小,且所述待入网节点的父节点所在的DODAG负载也较小,进而使得通过所述第一控制消息组建的RPL网络负载均衡。
一个可能的实施方式中,为了保证RPL网络的稳定性,避免RPL网络中节点频繁切换父节点,所述待入网节点接收设定时长内所述已入网节点发送的第一控制消息,分别根据所述设定时长内每个第一控制消息,从所述每个第一控制消息对应的已入网节点中选择一个作为所述待入网节点的父节点。
一个可能的实施方式中,所述待入网节点向所述待入网节点的父节点发送第二控制消息之后,还可以广播所述第一控制消息,使得接收到所述待入网节点广播的第一控制消息的节点,可以通过所述待入网节点接入RPL网络。
一个可能的实施方式中,所述第二控制消息中还可以携带所述待入网节点的可用父节点的信息。
第五方面,本申请提供了一种节点,所述节点具有实现上述第一方面方法实例中第一BR行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述节点的结构中包括获取单元、确定单元和发送单元,这些单元可以执行上述第一方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述节点执行上述第一方面提供的方法中相应的功能。所述存储器与所述处理器耦合,其保存所述节点必要的程序指令和数据。
第六方面,本申请提供了一种节点,所述节点具有实现上述第二方面方法实例中待切换节点集合中节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述节点的结构中包括接收单元和处理单元,这些单元可以执行上述第二方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述节点的结构中包括收发器、存储器和处理器,该处理器被配置为支持所述节点执行上述第二方面提供的方法中相应的功能。所述存储器与所述处理器耦合,其保存所述节点必要的程序指令和数据。
第七方面,本申请还提供了一种节点,所述节点具有实现上述第三方面方法实例中已入网节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述节点的结构中包括处理单元和发送单元,这些单元可以执行上述第三方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述节点的结构中包括收发器、存储器以及处理器,该处理器被配置为支持所述路由器执行上述第三方面提供的方法中相应的功能。所述存储器与所述处理器耦合,其保存所述节点必要的程序指令和数据。
第八方面,本申请还提供了一种节点,所述节点具有实现上述第四方面方法实例中待入网节点行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实施方式中,所述节点的结构中包括接收单元、确定单元和发送单元,这些单元可以执行上述第四方面的方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
一种可能的实施方式中,所述节点的结构中包括收发器、存储器和处理器,该处理器被配置为支持所述节点执行上述第四方面提供的方法中相应的功能。所述存储器与所述处理器耦合,其保存所述节点必要的程序指令和数据。
第九方面,本申请还提供了一种通信系统,所述通信系统包括上述第五方面所述的节点以及所述第六方面所述的节点。
第十方面,本申请还提供了一种通信系统,所述通信系统包括上述第七方面所述的节点以及所述第八方面所述的节点。
第十一方面,本申请还提供一种计算机可读存储介质,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述任一方面的任意一种设计提供的方法。
第十二方面,本申请还提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述任一方面中的任一种方法。
附图说明
图1为现有技术中RPL网络的结构示意图;
图2为现有技术中RPL网络负载均衡后的结构示意图;
图3为本申请实施例提供的一种RPL网络的结构示意图;
图4为本申请实施例提供的一种RPL网络负载均衡方法的流程示意图;
图5为本申请实施例提供的一种RPL网络的结构示意图;
图6为本申请实施例提供的第一BR发送节点切换消息以及目标节点集合中的节点反馈ACK消息的流程示意图;
图7为本申请实施例提供的另一种RPL网络负载均衡方法的流程示意图;
图8为本申请实施例提供的一种节点的结构示意图;
图9为本申请实施例提供的一种节点的结构示意图;
图10为本申请实施例提供的一种节点的结构示意图;
图11为本申请实施例提供的一种节点的结构示意图;
图12为本申请实施例提供的一种节点的结构示意图;
图13为本申请实施例提供的一种节点的结构示意图。
具体实施方式
现有技术中,部署有至少两个BR的RPL网络中负载较大的待切换节点自行决策是否切换到RPL网络中的其它DODAG的节点上,导致切换后所述RPL网络中每个BR的负载不可控,无法保证所述RPL网络每个BR的负载均衡。为了解决上述现有RPL网络实施负载均衡后负载情况不可控的问题,本申请提供了一种RPL网络负载均衡方法及装置。其中,方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此设备与方法的实施可以相互参见,重复之处不再赘述。
在本申请实施例中,第一BR获取所述第一BR的负载以及第二BR的负载,所述第一BR为所述RPL网络中部署的至少两个BR中的任意一个,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个;当所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,所述目标节点集合中的节点为第一DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR;所述第一BR向所述目标节点集合中的节点发送节点切换消息,通过所述节点切换消息指示所述目标节点集合中的节点切换到对应的目标节点,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
基于上述方法,所述第一BR在所述第一BR的负载大于与第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定所述目标节点集合,并向所述目标节点集合中的节点发送节点切换消息,通过所述节点切换消息指示所述目标节点集合中的节点切换到对应的目标节点,使得所述目标节点集合中的节点从所述第一DODAG切换到所述第二DODAG后,所述第一BR的负载与所述第二BR的负载的差值小于或等于所述设定阈值,即所述RPL网络中第一BR(负载较大的BR)集中决策需要从所述第一DODAG切换到所述第二DODAG的目标节点集合,以达到负载均衡的目的,可以避免节点切换后所述第二BR的负载大于所述第一BR的负载的情况,进而可以避免负载均衡引起的网络震荡,可以提高负载均衡的可靠性。
下面对本申请实施例中涉及的部分术语进行解释说明,以便于本领域技术人员理解。
(1)RPL路由协议,是一种距离矢量路由协议,基于IPv6地址。它通过一个目标函数(objective function,OF)路由度量标准(metric)建立一个DODAG。
(2)一个节点的父节点,指DODAG中从叶子节点到根节点的方向上,与该节点直接通信的节点,例如图1中,节点1的父节点为BR1,节点8的父节点为节点6等等。
(3)和/或,描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,需要理解的是,在本申请描述中,“第一”、“第二”等词汇,仅用于区分描述,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图对本申请实施例的应用场景和系统架构进行说明。
图3示出了本申请实施例提供的RPL网络负载均衡方法适用的一种可能的RPL网络的系统架构,所述系统包括:至少两个BR301以及至少两个节点302,其中,所述至少两个BR所在的至少两个DODAG属于同一个RPL实例(instance),每个BR301为各自所在的DODAG的根节点。
所述BR301用于管理和维护BR301所在的DODAG中的节点302。具体地,所述BR301用于发送DIO(DODAG information object)消息,所述DIO消息中携带所述BR301所在的DODAG的各种参数,如RPL实例的标识、DODAG的标识、DODAG的根节点的优先级、metric以及OF等等,使得节点302能够根据DIO消息选择合适的父节点,加入DODAG中。
所述节点302用于接收DIO消息,根据接收到的DIO消息,确定自身的父节点,并向所确定的父节点发送DAO(DODAG advertisement object)消息,通过所述DAO消息将所述节点302的信息发送给所述节点302的父节点,所述节点302的父节点在所述DAO消息中携带自身的信息后,转发给所述节点302的父节点的父节点,以此类推,将所述DAO消息转发给所述BR301,所述节点302加入所述BR301所在的DODAG。
另外,所述节点302加入DODAG之后,还用于广播所述DIO消息,使得其他节点可以通过所述节点302加入DODAG。所述节点302还可以用于发送DIS(DODAG informationsolicitation)消息,向周围的其他节点请求DIO消息。
图4为本申请实施例提供的一种RPL网络负载均衡方法的流程示意图,如图4所示,所述方法具体包括以下步骤:
S401:第一BR获取所述第一BR的负载以及第二BR的负载。其中,所述第一BR为RPL网络中部署的至少两个BR中的任意一个BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR。
一个可能的实施方式中,所述第一BR可以通过但不限于以下两种方式获取所述第二BR的负载:
方式一、所述第一BR向所述第二BR发送负载请求(load_request)消息;所述第二BR接收到所述负载请求消息之后,向所述第一BR返回所述负载请求消息的响应(load_response)消息,所述响应消息中携带所述第二BR的负载。
一个具体的实施方式中,所述第一BR可以设置定时器,周期性地向所述第二BR发送所述负载请求消息。
方式二、所述第二BR按照设定周期向所述第一BR发送所述第二BR的负载。
需要说明的是,本申请实施例并不对所述第一BR的负载的具体表征方式进行限定,所述第一BR的负载可以用所述第一BR连接的节点的个数表示,也可以用所述第一BR在设定时长内接收到的数据量的大小表示。
S402:当所述第一BR的负载大于述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合。
其中,所述目标节点集合中的节点为第一DODAG中需要切换到第二DODAG中的节点,每个候选节点集合由第一DODAG中的至少一个节点组成,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR。需要说明的是,所述第一BR的负载与所述第二BR的负载的差值△L=|LBR1-LBR2|,其中,△L表示所述第一BR的负载与所述第二BR的负载的差值,LBR1表示所述第一BR的负载,LBR2表示所述第二BR的负载。
可能的实施方式中,所述至少两个候选节点集合可以只包括第一类节点集合,也可以只包括第二类节点集合,还可以既包括第一类节点集合又包括第二类节点集合,其中,所述第一类节点集合由所述第一DODAG中一个子树的所有节点组成,所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成。
例如,若所述RPL网络的拓扑结构如图5所示,所述第一DODAG中的一个子树可以为节点B、节点E、节点F、节点I、节点J以及节点K组成的树,该子树对应的第一类节点集合为{节点B,节点E,节点F,节点I,节点J,节点K},所述第一DODAG中的一个子树也可以为节点E、节点I以及节点J组成的树,该子树对应的第一类节点集合为{节点E,节点I,节点J},所述第一DODAG中的一个子树还可以为节点C、节点G以及节点L组成的树,该子树对应的第一类节点集合为{节点C,节点G,节点L},所述第一DODAG中的一个子树还可以为节点F和节点K组成的树,该子树对应的第一类节点集合为{节点F,节点K}。
对于图5所示的RPL网络,所述第一DODAG的叶子节点为节点I、节点J、节点K以及节点L,所述第一DODAG中第二类节点集合包括的节点为节点I、节点J、节点K以及节点L中的一个或者多个,如第二类节点集合为{节点I,节点J,节点K},{节点I},{节点J,节点K},{节点I,节点J,节点K,节点L}或者{节点I,节点L}等。
所述第一BR可以通过但不限于以下四种方法从至少两个候选节点集合中确定目标节点集合:
方法一、当所述至少两个候选节点集合包括至少一个第一类节点集合时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第一类节点集合作为所述目标节点集合。
一个具体的实施方式中,当所述至少两个候选节点集合中的两个或两个以上第一类节点集合均可以作为所述目标节点集合时,所述第一BR可以优先选择包含节点个数最少的第一类节点集合作为所述目标节点集合。
方法二、当所述至少两个候选节点集合包括至少第一类节点集合和至少一个第二类节点集合时,若所述第一BR根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第一类节点集合中不存在所述目标节点集合时,所述第一BR从所述至少两个候选节点集合中选择一个第一类节点集合,将所选择的第一类节点集合分别与所述至少一个第二类节点集合分别做并集处理,将得到的每个并集分别作为一个新的候选节点集合,根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
一个具体的实施方式中,当所述第一BR确定所述至少一个第一类节点集合中不存在所述目标节点集合时,所述第一BR可以优先从所述至少一个第一类节点集合中选择包含节点个数最多的第一类节点集合,使得所述第一BR确定的所述目标节点集合中除子树包括的节点外的其他节点的个数最少,进而可以减少所述第一BR发送的节点切换消息的个数。
方法三、当所述至少两个候选节点集合包括至少一个第二类节点集合时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合作为所述目标节点集合。
方法四、当所述至少两个候选节点集合包括至少第一类节点集合和至少一个第二类节点集合时,若所述第一BR根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第二类节点集合中不存在所述目标节点集合时,所述第一BR从所述至少两个候选节点集合中选择一个第二类节点集合,将所选择的第二类节点集合分别与所述至少一个第一类节点集合的并集,将得到的每个并集分别作为一个新的候选节点集合,根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
S403:所述第一BR向所述目标节点集合中的节点发送节点切换消息。其中,所述节点切换消息中携带所述目标节点集合中的节点对应的目标节点的信息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
相应地,所述目标节点集合中的节点接收所述节点切换消息。
例如,如图5所示第一BR确定的目标节点集合为{K、L},那么节点K对应的目标节点,可以是第二DODAG中的第二BR、节点A、节点D以及节点H中的任意一个,L节点对应的目标节点也可以是第二DODAG中的第二BR、节点A、节点D以及节点H中的任意一个。其中,节点K对应的目标节点以及节点L对应的目标节点可以相同,也可以不同。
S404:所述目标节点集合中的节点根据所述节点切换消息,切换到所述目标节点集合中的节点对应的目标节点上。
一个可能的实施方式中,所述目标节点集合中的节点接收到所述节点切换消息后,向所述第一BR反馈确认(acknowledgement,ACK)消息。具体地,所述目标节点集合中的节点发送的ACK消息通过该节点到所述第一BR的路径上的节点转发给所述第一BR。
一个可能的实施方式中,所述目标节点集合中节点对应的目标节点可以是所述第一BR从所述第二DODAG中选择的一个节点,或者是所述第一BR从所述目标节点集合中的节点在RPL组网过程中上报的可用父节点集合中选择的。
一个可能的实施方式中,所述第一BR向所述目标节点集合中的节点发送节点切换消息之前,还获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系。所述第一BR从至少两个候选节点集合中确定目标节点集合之后,向所述目标节点集合中的节点发送节点切换消息之前,还可以根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点,使得所述第一BR根据所述第二DODAG的网络拓扑信息,为所述目标节点集合中的节点选择合适的目标节点,使得所述目标节点集合中的节点切换到对应的目标节点后,所述第二DODAG中所述目标节点的负载在设定范围内,进而使得切换后所述第二DODAG的局部负载也均衡。
一个具体的实施方式中,所述第二BR接收到所述负载请求消息之后,还可以将所述第二BR的网络拓扑信息携带在所述负载请求消息的响应消息中,通过所述负载请求消息的响应消息将所述第二BR的网络拓扑信息反馈给所述第一BR。
一个具体的实施方式中,若所述第一BR采用上述方法一确定所述目标节点集合,即所述目标节点集合为第一类节点集合,所述第一BR向所述目标节点集合中子树的根节点发送所述节点切换消息。
相应地,所述目标节点集合中子树的根节点接收所述第一BR发送的所述节点切换消息,根据所述节点切换消息,切换到所述节点切换消息中携带的该根节点对应的目标节点。
可选地,所述目标节点集合中子树的根节点接收所述第一BR发送的所述节点切换消息之后,向所述第一BR反馈ACK消息。
例如,所述RPL网络如图6所示,若所述第一BR确定所述目标节点集合为{节点E,节点I,节点J},所述第一BR向所述目标节点集合中的节点E发送节点切换消息,其中,所述第一BR发送给节点E的节点切换消息经过节点B转发到节点E。节点E接收到所述节点切换消息后,向所述第一BR反馈ACK消息,其中,节点E发送给所述第一BR的ACK消息经过节点B转发到所述第一BR。
一个具体的实施方式中,若所述第一BR采用上述方法二或方法四确定所述目标节点集合,即所述目标节点集合为第一类节点集合与第二类节点集合的并集,所述第一BR分别向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
相应地,所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,分别接收所述第一BR发送的所述节点切换消息,根据所述节点切换消息,切换到所述节点切换消息中对应的目标节点。
可选地,所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,接收所述第一BR发送的所述节点切换消息之后,分别向所述第一BR反馈ACK消息。
例如,所述RPL网络如图6所示,若所述第一BR确定所述目标节点集合为{节点E,节点I,节点J,节点K,节点L},所述第一BR分别向所述目标节点集合中的节点E、节点K以及节点L发送节点切换消息。其中,所述第一BR发送给节点E的节点切换消息经过节点B转发到节点E,所述第一BR发送给节点K的节点切换消息依次经过节点B和节点F转发到节点K,所述第一BR发送给节点L的节点切换消息依次经过节点C和节点G转发到节点L。节点E接收到节点切换消息后,向所述第一BR反馈ACK消息,其中,节点E发送给所述第一BR的ACK消息经过节点B转发到所述第一BR。节点K接收到节点切换消息后,向所述第一BR反馈ACK消息,其中,节点E发送给所述第一BR的ACK消息依次经过节点F和节点B转发到所述第一BR。节点L接收到节点切换消息后,向所述第一BR反馈ACK消息,其中,节点L发送给所述第一BR的ACK消息依次经过节点G和节点C转发到所述第一BR。
一个具体的实施方式中,若所述第一BR采用上述方法三确定所述目标节点集合,即所述目标节点集合为第二类节点集合,所述第一BR分别向所述目标节点集合中的每个节点发送所述节点切换消息。
相应地,所述目标节点集合中的每个节点,分别接收所述第一BR发送的所述节点切换消息,根据所述节点切换消息,切换到所述节点切换消息中对应的目标节点。
可选地,所述目标节点集合中的每个节点接收所述第一BR发送的所述节点切换消息之后,分别向所述第一BR反馈ACK消息。
例如,所述RPL网络如图6所示,若所述第一BR确定所述目标节点集合为{节点K,节点L},所述第一BR分别向所述目标节点集合中的节点K和节点L发送节点切换消息,其中,所述第一BR发送给节点K的节点切换消息依次经过节点B和节点F转发到节点K,所述第一BR发送给节点L的节点切换消息依次经过节点C和节点G转发到节点L。节点K接收到节点切换消息后,向所述第一BR反馈ACK消息,其中,节点E发送给所述第一BR的ACK消息依次经过节点F和节点B转发到所述第一BR。节点L接收到节点切换消息后,向所述第一BR反馈ACK消息,其中,节点L发送给所述第一BR的ACK消息依次经过节点G和节点C转发到所述第一BR。
通过上述方法,所述RPL网络中第一BR(负载较大的BR)根据所述第一BR的负载和所述第二BR的负载(负载较小的BR),集中决策需要从所述第一DODAG切换到所述第二DODAG的目标节点集合,使得所述目标节点集合中的节点从所述第一DODAG切换到所述第二DODAG后,所述第一BR的负载与所述第二BR的负载的差值小于或等于所述设定阈值,达到负载均衡的目的,可以避免节点切换后所述第二BR的负载大于所述第一BR的负载的情况,进而可以避免负载均衡引起的网络震荡,可以提高负载均衡的可靠性。
图7为本申请实施例提供的另一种RPL网络负载均衡方法流程示意图,该方法可以应用于RPL网络组网过程中的负载均衡场景,如图7所示,所述方法具体包括以下步骤:
S701:已入网节点生成第一控制消息,并广播所述第一控制消息。
其中,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则。所述目标BR为RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述目标BR的负载确定的,所述父节点选择规则用于确定待入网节点的父节点;所述已入网节点为已经接入所述RPL网络的任意一个节点,所述待入网节点为待接入所述RPL网络的任意一个节点;所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点。
相应地,所述待入网节点接收所述已入网节点广播的第一控制消息。
一个具体的实施方式中,所述已入网节点为BR,或者为已经通过BR接入所述RPL网络的节点。
一个具体的实施方式中,所述第一控制消息可以为DIO消息,所述第一控制消息中携带的参数通过DIO消息中的对应字段进行传输。例如,所述目标BR的负载和所述已入网节点的负载可以通过DIO消息中的metric对应的字段,所述父节点选择规则可以通过DIO消息中OF对应的字段。其中,所述父节点选择规则可以为所述目标BR的负载与所述已入网节点的负载的函数,此时,所述第一控制消息中所述父节点选择规则可以为该函数的表达式,或者为该函数中所述目标BR的负载对应的系数以及发送所述第一控制消息的已入网节点的负载对应的系数。
例如,所述父节点选择规则为F=-L-α*W,L表示所述目标BR的负载,α为小于1的正数,W表示所述已入网节点的负载,所述第一控制消息中所述父节点选择规则可以为F=-L-α*W(可以用ASCII编码),或者为-1,-α。
一个可能的实施方式中,所述已入网节点可以按照设定周期广播所述第一控制消息,也可以在接收到所述已入网节点周围的待入网节点发送的第三控制消息后,发送所述第一控制消息,所述第三消息用于请求所述第一控制消息。其中,所述第三控制消息可以为DIS消息。
S702:所述待入网节点根据接收到的第一控制消息,确定所述待入网节点的父节点。
为了保证RPL网络的稳定性,避免RPL网络中节点频繁切换父节点,所述待入网节点接收设定时长内所述已入网节点发送的第一控制消息,根据所述设定时长内每个第一控制消息,从所述每个第一控制消息对应的已入网节点中选择一个节点作为所述待入网节点的父节点。
例如,当所述父节点选择规则为与所述目标BR的负载以及所述已入网节点的负载成反比的函数,所述待入网节点分别根据每个已入网节点发送的第一控制消息中目标BR的负载和已入网节点的负载,通过该函数计算得到所述每个已入网节点对应的函数值,将函数值最大的已入网节点确定为所述待入网节点的父节点。
S703:所述待入网节点向所述待入网节点的父节点发送第二控制消息,所述第二控制消息中携带所述待入网节点的信息。
可选地,所述待入网节点发送的第二控制消息中还携带所述待入网节点的可用父节点的信息。其中,所述待入网节点的信息可以为所述待入网节点的标识,所述待入网节点的可用父节点的信息可以为所述待入网节点的父节点的标识。
相应地,所述待入网节点的父节点接收所述第二控制消息。若所述待入网节点的父节点为所述目标BR,所述待入网节点的父节点接收所述第二控制消息后,所述待入网节点接入所述RPL网络(所述待入网节点的父节点所在的DODAG);若所述待入网节点的父节点不是所述目标BR,所述待入网节点的父节点还要执行以下步骤S704。
S704:所述待入网节点的父节点将自身的信息携带在所述第二控制消息中,转发给所述待入网节点的父节点的父节点,直到所述第二控制消息转发到所述目标BR,转发到所述目标BR的第二控制消息中携带所述待入网节点到所述目标BR的路径上所有节点的信息。
需要说明的是,所述待入网节点到所述目标BR的路径上所有节点包括所述待入网节点,不包括所述目标BR。例如,如图6所示,若待入网节点为节点K,那么所述待入网节点K到所述目标BR(第一BR)的路径上所有节点包括节点K、节点F和节点B。
例如,若所述待入网节点为图6中的节点L,节点L确定的节点L的父节点为节点G之后,想节点G发送携带节点L的信息的第二控制信息,节点G将节点G的信息携带在所述第二控制消息中,并将所述第二消息转发给节点C,此时所述第二控制消息中携带节点L和节点G的信息,节点C将节点C的信息携带在所述第二控制消息中,并转发给所述第一BR,此时所述第二控制消息中携带节点L、节点G和节点C的信息。
一个可能的实施方式中,所述待入网节点向所述待入网节点的父节点发送第二控制消息之后,还可以广播所述第一控制消息,使得接收到所述待入网节点广播的第一控制消息的节点,可以通过所述待入网节点接入RPL网络。
通过上述方法,所述已入网节点广播所述第一控制消息,待入网节点根据获取到的第一控制消息确定所述待入网节点的父节点,通过所述待入网节点的父节点接入所述RPL网络,其中,所述第一控制消息中携带的目标BR的负载、所述已入网节点的负载以及所述父节点选择规则。由于所述待入网节点接入所述RPL网络时,是根据所述目标BR的负载、所述已入网节点的负载以及所述父节点选择规则,确定所述待入网节点的父节点,考虑了RPL网络中DODAG的整体负载(目标BR的负载)以及已经接入相应DODAG的已入网节点的负载,使得所述待入网节点确定的所述待入网节点的父节点自身的负载较小,且所述待入网节点的父节点所在的DODAG负载也较小,进而使得通过所述第一控制消息组建的RPL网络负载均衡。并且,所述父节点选择规则携带在所述已入网节点发送的第一控制消息中,使得RPL网络可以灵活配置父节点选择规则。
需要说明的是,本申请提供的上述两种RPL网络负载均衡方法可以分别实施以达到RPL网络中每个BR的负载均衡的目的,即在RPL网络组网完成后通过上述步骤S401-S404进行负载均衡,或者在RPL网络组网过程中通过上述步骤S701-S704进行负载均衡。本申请提供的上述两种RPL网络负载均衡方法也可以相结合,即通过上述步骤S701-S704进行RPL网络组网,在RPL网络组网完成后进一步通过上述步骤S401-S404进行负载均衡。
基于以上实施例,本申请实施例提供了一种节点,所述节点用于实现如图4所示的负载均衡方法。如图8所示,所述节点800中包括:获取单元801、确定单元802和发送单元803,所述节点800为第一BR,所述第一BR为RPL网络中部署的至少两个BR中的任意一个BR。
所述获取单元801,用于获取所述第一BR的负载以及第二BR的负载;所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR。
所述确定单元802,用于在所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合;所述目标节点集合中的节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点;每个候选节点集合由第一DODAG中的至少一个节点组成,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR。
所述发送单元803,用于向所述目标节点集合中的节点发送节点切换消息;所述节点切换消息中携带所述目标节点集合中的节点对应的目标节点的信息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
可选地,所述至少两个候选节点集合包括至少一个第一类节点集合,所述第一类节点集合由所述第一DODAG中一个子树的所有节点组成;
所述确定单元802具体用于:根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第一类节点集合作为所述目标节点集合。
可选地,所述发送单元803具体用于:向所述目标节点集合中子树的根节点发送所述节点切换消息。
可选地,所述至少两个候选节点集合还包括至少一个第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述确定单元802根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第一类节点集合中不存在所述目标节点集合时,还用于:从所述至少两个候选节点集合中选择一个第一类节点集合;将所选择的第一类节点集合分别与所述至少一个第二类节点集合做并集处理,将得到的每个并集分别作为一个新的候选节点集合;根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
可选地,所述发送单元803具体用于:分别向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
可选地,所述至少两个候选节点集合包括第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述确定单元802具体用于:根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合作为所述目标节点集合。
可选地,所述发送单元803具体用于:分别向所述目标节点集合中的每个节点发送所述节点切换消息。
可选地,在所述发送单元803向所述目标节点集合中的节点发送节点切换消息之前,所述获取模块801还用于:获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系;
在所述确定单元802从至少两个候选节点集合中确定目标节点集合之后,所述发送单元803向所述目标节点集合中的节点发送节点切换消息之前,所述处理器802还用于:根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点。
基于以上实施例,本申请实施例提供了一种节点,所述节点用于实现如图4所示的负载均衡方法。如图9所示,所述节点900中包括:接收单元901和处理单元902,所述节点900为待切换节点。
所述接收单元901,用于接收第一BR发送的节点切换消息,所述节点切换消息是所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与第二BR的负载的差值大于设定阈值时发送的,所述节点切换消息中携带所述待切换节点对应的目标节点的信息,所述目标节点为所述待切换节点所要切换到的所述第二DODAG中的节点;所述待切换节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第一BR为RPL网络中部署的至少两个BR中的任意一个BR,所述第二DODAG的根节点为第二BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR。
所述处理单元902,用于根据所述节点切换消息,切换到所述节点对应的目标节点。
可选地,所述节点900为所述第一DODAG中一个子树的根节点;或者,所述节点为所述第一DODAG中的叶子节点。
基于以上实施例,本申请实施例提供了一种节点,所述节点用于实现如图7所示的负载均衡方法。如图10所示,所述节点1000中包括:处理单元1001和发送单元1002,所述节点1000为已入网节点,所述已入网节点为已经接入所述RPL网络的任意一个节点。
所述处理单元1001,用于生成第一控制消息,所述第一控制消息中携带目标BR的负载、已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述目标BR的负载确定的,用于确定待入网节点的父节点;所述待入网节点为待接入所述RPL网络的任意一个节点,所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点。
所述发送单元1002,用于广播所述第一控制消息。
可选地,所述节点1000为所述目标BR,或者为已经通过所述目标BR接入所述RPL网络的节点。
可选地,当所述节点1000为从所述待入网节点的父节点到所述目标BR的路径上的一个节点,且所述节点1000不是所述目标BR时,所述节点还包括接收单元1003,用于接收第二控制信息,其中,所述第二控制信息为所述待入网节点根据所述第一控制消息确定所述待入网节点的父节点后发送的,所述第二控制信息中携带所述待入网节点的信息;
所述处理单元1001还用于:将所述已入网节点的信息携带在所述第二控制信息中;所述发送单元1002还用于:将携带所述已入网节点的所述第二控制信息,转发给所述已入网节点的父节点。
可选地,所述第二控制消息中还携带所述待入网节点的可用父节点的信息。
基于以上实施例,本申请实施例提供了一种节点,所述节点用于实现如图7所示的负载均衡方法,所述节点为待入网节点。如图11所示,所述节点1100中包括:接收单元1101、确定单元1102和发送单元1103。
所述接收单元1101,用于接收已入网节点发送的第一控制消息,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述已入网节点所在DODAG的根节点的负载确定的,用于确定待入网节点的父节点;所述已入网节点为已经接入所述RPL网络的任意一个节点,所述待入网节点为待接入所述RPL网络的任意一个节点;所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点。
所述确定单元1102,用于根据所述第一控制消息,确定所述待入网节点的父节点。
所述发送单元1103,向所述待入网节点的父节点发送第二控制消息,所述第二控制消息中携带所述待入网节点的信息。
可选地,所述接收单元1101具体用于接收设定时长内所述已入网节点发送的第一控制消息;
所述确定单元1102具体用于:分别根据所述设定时长内每个第一控制消息,从所述每个第一控制消息对应的已入网节点中选择一个作为所述待入网节点的父节点。
可选地,所述发送单元1103在向所述待入网节点的父节点发送第二控制消息之后,还用于广播所述第一控制消息。
可选地,所述第二控制消息中还可以携带所述待入网节点的可用父节点的信息。
由于所述节点1000以及节点1100用于实现图7所示的负载均衡方法,并且所述节点1000和节点1100涉及的相关技术特征已经在上文结合附图,但不限于上述图7,进行了详细的描述,因此,此处不再赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种节点,如图12所示,所述节点1200包括:存储器1201、处理器1202和收发器1203,所述处理器1202与所述存储器1201以及所述收发器1203相互连接。
其中,所述存储器1201可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory,也称闪存),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);所述存储器1201还可以包括上述种类的存储器的组合。
所述处理器1202可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器1202还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述处理器1202与所述存储器1201和所述收发器1203、可以通过总线1204相互连接。总线1204可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一个可能的实施方式中,所述节点1200为第一BR,所述第一BR为RPL网络中部署的至少两个边界路由器BR中的任意一个BR,用于实现如图4所示的RPL网络负载均衡方法,具有如图8所示的节点800的功能,其中,
所述存储器1201,用于存储程序指令;
所述处理器1202,用于调用所述存储器1201中存储的程序指令,执行:
获取所述第一BR的负载以及第二BR的负载;以及当所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合;其中,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR,所述目标节点集合中的节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,每个候选节点集合由第一DODAG中的至少一个节点组成,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR;
所述收发器1203,用于向所述目标节点集合中的节点发送节点切换消息;所述节点切换消息中携带所述目标节点集合中的节点对应的目标节点的信息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
可选地,所述存储器1201还用于保存所述至少两个候选节点集合,以及所述第一DODAG中各节点的可用父节点。
可选地,所述至少两个候选节点集合包括至少一个第一类节点集合,所述第一类节点集合由所述第一DODAG中一个子树的所有节点组成;
所述处理器1202具体用于:根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择第一类节点集合作为所述目标节点集合。
可选地,所述收发器1203具体用于:向所述目标节点集合中子树的根节点发送所述节点切换消息。
可选地,所述至少两个候选节点集合还包括至少一个第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述处理器1202根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第一类节点集合中不存在所述目标节点集合时,还用于:
从所述至少两个候选节点集合中选择一个第一类节点集合;将所选择的第一类节点集合分别与所述至少一个第二类节点集合做并集处理,将得到的每个并集分别作为新的候选节点集合;根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
可选地,所述收发器1203具体用于:分别向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
可选地,所述至少两个候选节点集合包括第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述处理器1202具体用于:根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合作为所述目标节点集合。
可选地,所述收发器1203具体用于:分别向所述目标节点集合中的每个节点发送所述节点切换消息。
可选地,所述收发器1203在向所述目标节点集合中的节点发送节点切换消息之前,所述处理器1202还用于:
获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系;
在所述处理器1202从至少两个候选节点集合中确定目标节点集合之后,所述收发器1203向所述目标节点集合中的节点发送节点切换消息之前,所述处理器1202还用于:根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点。
本申请实施例提供了一种节点,该节点为RPL网络中的第一BR,能够在确定自身的负载大于RPL网络中第二BR的负载,且两者的负载的差值大于设定阈值时,根据所述第一BR的负载以及第二BR的负载,从至少两个候选节点集合中确定目标节点集合,向目标节点集合中的节点发送节点切换消息,使得所述目标节点集合中的节点从第一BR所在的DODAG切换到第二BR所在的DODAG后,第一BR的负载与第二BR的负载的差值小于或等于所述设定阈值,以达到负载均衡的目的。
在另一个可能的实施方式中,所述节点1200为已入网节点,所述已入网节点为已经接入所述RPL网络的任意一个节点,用于实现如图7所示的负载均衡方法,具有如图10所示的节点1000的功能。其中,
所述存储器1201,用于存储程序指令;
所述处理器1202,用于调用所述存储器1201中存储的程序指令,执行:生成第一控制消息,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述目标BR的负载确定的,用于确定待入网节点的父节点;所述待入网节点为待接入所述RPL网络的任意一个节点,所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点;
所述收发器1203,用于广播所述第一控制消息。
可选地,所述节点1200为所述目标BR,或者为已经通过所述目标BR接入所述RPL网络的节点。
可选地,当所述节点1200为从所述待入网节点的父节点到所述目标BR的路径上的一个节点,且所述节点1200不是所述目标BR时,所述收发器1203还用于:接收第二控制信息,其中,所述第二控制信息为所述待入网节点根据所述第一控制消息确定所述待入网节点的父节点后发送的,所述第二控制信息中携带所述待入网节点的信息;
所述处理器1202还用于:将所述已入网节点的信息携带在所述第二控制信息中;所述收发器1203还用于:将携带所述已入网节点的信息的第二控制消息,转发给所述已入网节点的父节点。
可选地,所述第二控制消息中还携带所述待入网节点的可用父节点的信息。
本申请实施例提供了一种已入网节点,所述已入网节点能够在RPL网络组网的过程中广播第一控制消息,使得待入网节点接收到所述第一控制消息后,可以根据所述第一控制消息确定所述待入网节点的父节点。由于待入网节点是根据所述目标BR的负载、已入网节点的负载以及所述父节点选择规则,确定自身的父节点,考虑了RPL网络中DODAG的整体负载(目标BR的负载)以及已经接入相应DODAG的已入网节点的负载,使得所确定的父节点自身的负载较小,且该父节点所在的DODAG负载也较小,进而使得通过所述第一控制消息组建的RPL网络负载均衡。并且,所述父节点选择规则携带在所述已入网节点发送的第一控制消息中,使得RPL网络可以灵活配置父节点选择规则。
本申请实施例还提供了一种节点,如图13所示,所述节点1300包括:存储器1301,处理器1302和收发器1303。所述处理器1302分别与所述存储器1301以及与所述收发器1303连接。
其中,所述存储器1301,用于保存程序指令,以及所述待入网节点的可用父节点的信息。所述存储器1301可以包括易失性存储器,例如RAM;所述存储器1301也可以包括非易失性存储器,例如快闪存储器(也称闪存),HDD或SSD;所述存储器1301还可以包括上述种类的存储器的组合。
所述处理器1302可以是CPU,NP或者CPU和NP的组合。所述处理器1302还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
可选地,所述处理器1302与所述存储器1301和所述收发器1303、可以通过总线1304相互连接。总线1304可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一个可能的实施方式中,所述节点1300为待切换节点,用于实现如图4所示的RPL网络负载均衡方法,具有如图9所示的节点900的功能。其中,
所述收发器1303,用于接收第一BR发送的节点切换消息,所述节点切换消息是所述第一BR的负载与第二BR的负载的差值大于设定阈值时发送的,所述待切换节点切换消息中携带所述待切换节点对应的目标节点的信息;所述待切换节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第一BR为RPL网络中部署的至少两个BR中的任意一个BR,所述第二DODAG的根节点为第二BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR;
所述存储器1301,用于存储程序指令;
所述处理器1302,用于调用所述存储器中存储的程序指令,执行:根据所述节点切换消息,切换到所述待切换节点对应的目标节点。
可选地,所述待切换节点为所述第一DODAG中一个子树的根节点;或者,所述待切换节点为所述第一DODAG中的叶子节点。
可选地,所述存储器1301还用于保存所述待切换节点的可用父节点。
本申请实施例提供了一种待切换节点,所述待切换节点能够根据所述待切换节点所在的DODAG中的根节点第一BR下发的节点切换消息,切换到所述节点切换消息中所述节点对应的目标节点,所述目标节点为第二BR所在的DODAG中的节点,使得所述第一BR的负载与所述第二BR的负载的差值小于或等于设定值,达到负载均衡的目的。
在另一个可能的实施例中,所述节点1300为待入网节点,所述待入网节点为待接入RPL网络的任意一个节点,用于实现如图7所示的负载均衡方法,具有如图11所示的节点1100的功能。其中,
所述收发器1303,用于接收已入网节点发送的第一控制消息,所述第一控制消息中携带目标BR的负载、所述已入网节点的负载以及父节点选择规则;其中,所述目标BR为所述RPL网络中所述已入网节点所在DODAG的根节点,所述父节点选择规则是根据所述已入网节点的负载以及所述已入网节点所在DODAG的根节点的负载确定的,用于确定待入网节点的父节点;所述已入网节点为已经接入所述RPL网络的任意一个节点,所述待入网节点为待接入所述RPL网络的任意一个节点;所述待入网节点的父节点为从所述待入网节点到所述RPL网络中BR的方向上,与所述待入网节点直接通信的节点。
所述存储器1301,用于存储程序指令;
所述处理器1302,用于调用所述存储器1301中存储的程序指令,执行:根据所述第一控制消息,确定所述待入网节点的父节点;
所述收发器1303,还用于向所述待入网节点的父节点发送第二控制消息,所述第二控制消息中携带所述待入网节点的信息。
可选地,所述存储器1301还用于保存所述节点的可用父节点。
可选地,所述收发器1303具体用于:接收设定时长内所述已入网节点发送的第一控制消息;
所述处理器1302具体用于:分别根据所述设定时长内每个第一控制消息,从所述每个第一控制消息对应的已入网节点中选择一个作为所述待入网节点的父节点。
可选地,所述第二控制消息中还可以携带所述待入网节点的可用父节点的信息。
本申请实施例提供了一种待入网节点,所述待入网节点能够在RPL网络组网的过程中接收已入网节点发送的第一控制消息,根据所述第一控制消息确定该节点的父节点,并通过该节点的父节点接入所述RPL网络。由于该节点接入所述RPL网络时,是根据所述目标BR的负载、所述已入网节点的负载以及所述父节点选择规则,确定自身的父节点,考虑了RPL网络中DODAG的整体负载(目标BR的负载)以及已经接入相应DODAG的已入网节点的负载,使得该节点确定的父节点自身的负载较小,且该节点的父节点所在的DODAG负载也较小,进而使得通过所述第一控制消息组建的RPL网络负载均衡。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种RPL网络的负载均衡方法,所述RPL网络中部署有至少两个边界路由器BR,其特征在于,包括:
第一BR获取所述第一BR的负载以及第二BR的负载;所述第一BR为所述至少两个BR中的任意一个BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR;
当所述第一BR的负载大于所述第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,所述目标节点集合中的节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点;其中,每个候选节点集合由第一DODAG中的至少一个节点组成,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR;
所述第一BR向所述目标节点集合中的节点发送节点切换消息;所述节点切换消息中携带所述目标节点集合中的节点对应的目标节点的信息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
2.如权利要求1所述的方法,其特征在于,所述至少两个候选节点集合包括至少一个第一类节点集合,所述第一类节点集合由所述第一DODAG中一个子树的所有节点组成;
所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,包括:
所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第一类节点集合作为所述目标节点集合。
3.如权利要求2所述的方法,其特征在于,其特征在于,所述第一BR向所述目标节点集合中的节点发送节点切换消息,包括:
所述第一BR向所述目标节点集合中子树的根节点发送所述节点切换消息。
4.如权利要求2或3所述的方法,其特征在于,所述至少两个候选节点集合还包括至少一个第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
当所述第一BR根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第一类节点集合中不存在所述目标节点集合时,所述方法还包括:
所述第一BR从所述至少两个候选节点集合中选择一个第一类节点集合;
所述第一BR将所选择的第一类节点集合分别与所述至少一个第二类节点集合做并集处理,将得到的每个并集分别作为一个新的候选节点集合;
所述第一BR根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
5.如权利要求4所述的方法,其特征在于,所述第一BR向所述目标节点集合中的节点发送节点切换消息,包括:
所述第一BR分别向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
6.如权利要求1所述的方法,其特征在于,所述至少两个候选节点集合包括第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述第一BR根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合,包括:
所述第一BR根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合,作为所述目标节点集合。
7.如权利要求6所述的方法,其特征在于,所述第一BR向所述目标节点集合中的节点发送节点切换消息,包括:
所述第一BR分别向所述目标节点集合中的每个节点发送所述节点切换消息。
8.如权利要求1-7任意一项所述的方法,其特征在于,所述第一BR向所述目标节点集合中的节点发送节点切换消息之前,还包括:
所述第一BR获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系;
所述第一BR从至少两个候选节点集合中确定目标节点集合之后,向所述目标节点集合中的节点发送节点切换消息之前,还包括:
所述第一BR根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点。
9.一种RPL网络的负载均衡方法,所述RPL网络中部署有至少两个边界路由器BR,其特征在于,包括:
待切换节点接收第一BR发送的节点切换消息;其中,所述节点切换消息是所述第一BR的负载大于第二BR的负载,且所述第一BR的负载与第二BR的负载的差值大于设定阈值时发送的,所述节点切换消息中携带所述待切换节点对应的目标节点的信息,所述目标节点为所述待切换节点所要切换到的第二DODAG中的节点;所述待切换节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第一BR为所述至少两个BR中的任意一个BR,所述第二DODAG的根节点为第二BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR;
所述待切换节点根据所述节点切换消息,切换到所述待切换节点对应的目标节点。
10.如权利要求9所述的方法,其特征在于,所述待切换节点为所述第一DODAG中一个子树的根节点;或者,所述待切换节点为所述第一DODAG中的叶子节点。
11.一种节点,其特征在于,所述节点为第一BR,所述第一BR为RPL网络中部署的至少两个边界路由器BR中的任意一个BR;所述节点包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,执行:
获取所述第一BR的负载以及第二BR的负载,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR;以及当所述第一BR的负载大于与第二BR的负载,且所述第一BR的负载与所述第二BR的负载的差值大于设定阈值时,根据所述第一BR的负载和所述第二BR的负载,从至少两个候选节点集合中确定目标节点集合;其中,所述目标节点集合中的节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,每个候选节点集合由第一DODAG中的至少一个节点组成,所述第一DODAG的根节点为所述第一BR,所述第二DODAG的根节点为所述第二BR;
收发器,用于向所述目标节点集合中的节点发送节点切换消息;所述节点切换消息中携带所述目标节点集合中的节点对应的目标节点的信息,所述目标节点为所述目标节点集合中的节点所要切换到的所述第二DODAG中的节点。
12.如权利要求11所述的节点,其特征在于,所述至少两个候选节点集合包括至少一个第一类节点集合,所述第一类节点集合由所述第一DODAG中一个子树的所有节点组成;
所述处理器具体用于:根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合选择一个第一类节点集合作为所述目标节点集合。
13.如权利要求12所述的节点,其特征在于,所述收发器具体用于:
向所述目标节点集合中子树的根节点发送所述节点切换消息。
14.如权利要求12或13所述的节点,其特征在于,所述至少两个候选节点集合还包括至少一个第二类节点集合;一个第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
当所述处理器根据所述第一BR的负载和所述第二BR的负载,确定所述至少一个第一类节点集合中不存在所述目标节点集合时,还用于:
从所述至少两个候选节点集合中选择一个第一类节点集合;
将所选择的第一类节点集合分别与所述至少一个第二类节点集合做并集处理,将得到的每个并集分别作为一个新的候选节点集合;
根据所述第一BR的负载和所述第二BR的负载,从每个新的候选节点集合中确定所述目标节点集合。
15.如权利要求14所述的节点,其特征在于,所述收发器具体用于:
向所述目标节点集合中子树的根节点以及所述目标节点集合中除所述子树包含的节点外的其它节点,发送所述节点切换消息。
16.如权利要求11所述的节点,其特征在于,所述至少两个候选节点集合包括第二类节点集合;所述第二类节点集合由所述第一DODAG中的至少一个叶子节点组成;
所述处理器具体用于:
根据所述第一BR的负载和所述第二BR的负载,从所述至少两个候选节点集合中选择一个第二类节点集合作为所述目标节点集合。
17.如权利要求16所述的节点,其特征在于,所述收发器具体用于:
向所述目标节点集合中的每个节点发送所述节点切换消息。
18.如权利要求11-17任意一项所述的节点,其特征在于,在所述收发器在向所述目标节点集合中的节点发送节点切换消息之前,所述处理器还用于:
获取所述第二DODAG的网络拓扑信息,所述第二DODAG的网络拓扑信息包括所述第二DODAG中每个节点之间的连接关系;
在所述处理器从至少两个候选节点集合中确定目标节点集合之后,所述收发器向所述目标节点集合中的节点发送节点切换消息之前,所述处理器还用于:
根据所述第二DODAG的网络拓扑信息,确定所述目标节点集合中的节点对应的目标节点。
19.一种节点,其特征在于,所述节点为待切换节点,包括收发器、存储器和处理器;
所述收发器,用于接收第一BR发送的节点切换消息,所述节点切换消息是所述第一BR的负载大于与第二BR的负载,且所述第一BR的负载与第二BR的负载的差值大于设定阈值时发送的,所述节点切换消息中携带所述待切换节点对应的目标节点的信息;所述待切换节点为第一目标导向无环图DODAG中需要切换到第二DODAG中的节点,所述第一DODAG的根节点为所述第一BR,所述第一BR为RPL网络中部署的至少两个BR中的任意一个BR,所述第二DODAG的根节点为第二BR,所述第二BR为所述至少两个BR中除所述第一BR以外的任意一个BR,所述目标节点为所述节点所要切换到的所述第二DODAG中的节点;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的程序指令,执行:根据所述节点切换消息,切换到所述节点对应的目标节点。
20.如权利要求19所述的节点,其特征在于,所述待切换节点为所述第一DODAG中一个子树的根节点;或者,所述节点为所述第一DODAG中的叶子节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344454.9A CN110391995A (zh) | 2018-04-17 | 2018-04-17 | 一种rpl网络负载均衡方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810344454.9A CN110391995A (zh) | 2018-04-17 | 2018-04-17 | 一种rpl网络负载均衡方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110391995A true CN110391995A (zh) | 2019-10-29 |
Family
ID=68283990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810344454.9A Pending CN110391995A (zh) | 2018-04-17 | 2018-04-17 | 一种rpl网络负载均衡方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110391995A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143751A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 存储系统管理方法、存储系统及计算程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857975A (zh) * | 2012-10-19 | 2013-01-02 | 南京大学 | 一种负载平衡的ctp路由协议 |
US20130103795A1 (en) * | 2011-10-19 | 2013-04-25 | Parag Gopal Kulkarni | Methods of establishing communication in a sensor network and apparatus |
CN103889021A (zh) * | 2012-12-20 | 2014-06-25 | 中国移动通信集团公司 | 低功耗有损网络中成员更新方法及dodag根节点 |
CN104243339A (zh) * | 2014-09-25 | 2014-12-24 | 北京交通大学 | 一种基于RPL的多个sink节点的负载均衡方法 |
CN104869604A (zh) * | 2015-06-09 | 2015-08-26 | 北京交通大学 | 基于rpl的无线传感器网络的层数型路由建立方法 |
CN106973021A (zh) * | 2017-02-27 | 2017-07-21 | 华为技术有限公司 | 网络系统中负载均衡的方法和节点 |
-
2018
- 2018-04-17 CN CN201810344454.9A patent/CN110391995A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130103795A1 (en) * | 2011-10-19 | 2013-04-25 | Parag Gopal Kulkarni | Methods of establishing communication in a sensor network and apparatus |
CN102857975A (zh) * | 2012-10-19 | 2013-01-02 | 南京大学 | 一种负载平衡的ctp路由协议 |
CN103889021A (zh) * | 2012-12-20 | 2014-06-25 | 中国移动通信集团公司 | 低功耗有损网络中成员更新方法及dodag根节点 |
CN104243339A (zh) * | 2014-09-25 | 2014-12-24 | 北京交通大学 | 一种基于RPL的多个sink节点的负载均衡方法 |
CN104869604A (zh) * | 2015-06-09 | 2015-08-26 | 北京交通大学 | 基于rpl的无线传感器网络的层数型路由建立方法 |
CN106973021A (zh) * | 2017-02-27 | 2017-07-21 | 华为技术有限公司 | 网络系统中负载均衡的方法和节点 |
Non-Patent Citations (3)
Title |
---|
T. WINTER ET AL.: "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", 《3GPP》 * |
吴晗: "低功耗有损网络路由协议RPL的实现与改善", 《中国优秀硕士学位论文全文数据库》 * |
彭莉: "基于多sink的RPL路由协议研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143751A1 (zh) * | 2020-12-29 | 2022-07-07 | 华为技术有限公司 | 存储系统管理方法、存储系统及计算程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4258598A1 (en) | Computing power application traffic forwarding method and apparatus | |
US20240187339A1 (en) | Method and Apparatus for notifying Computing Power Resource, Storage Medium, and Electronic Apparatus | |
CN109660441B (zh) | Overlay网络中组播复制的方法及装置 | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
US20180324097A1 (en) | Method for Implementing Load Balancing, Apparatus, and Network System | |
US11245615B2 (en) | Method for determining link state, and device | |
CN105721328B (zh) | 一种vrrp负载均衡的方法、装置和路由器 | |
CN105379210B (zh) | 一种数据流处理方法及装置 | |
WO2019128740A1 (zh) | 一种报文处理方法和装置 | |
CN108092896B (zh) | 堆叠系统和聚合组建立装置 | |
CN110391995A (zh) | 一种rpl网络负载均衡方法及装置 | |
CN117081983B (zh) | 数据传输方法及装置 | |
US8902891B2 (en) | Method of managing broadcasts and multicasts by a network device | |
CN102761477A (zh) | 组播协议报文发送方法及装置 | |
CN110995609A (zh) | 报文发送方法、装置、电子设备及存储介质 | |
CN101789930B (zh) | 一种路由通告方法及网络设备 | |
CN108574637B (zh) | 一种地址自学习的方法、装置及交换机 | |
US9391799B2 (en) | Multicast handling in a transparent interconnect of lots of links based data center interconnect | |
FI127371B (en) | Passive routing on a mesh network | |
US20230014075A1 (en) | Route discovery in zigbee networks with combo nodes | |
CN108111418B (zh) | 一种通信系统、一种数据传输方法及节点 | |
CN115473840A (zh) | 一种报文发布方法、转发路径处理方法及装置 | |
CN113726663B (zh) | 一种路由处理方法及装置 | |
CN105530189A (zh) | Trill网络中转发报文的方法和路由桥 | |
US10887224B2 (en) | Eliminating saturation encountered by RPL storing mode parent network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191029 |