CN104506427A - 更新控制方法及更新控制装置 - Google Patents

更新控制方法及更新控制装置 Download PDF

Info

Publication number
CN104506427A
CN104506427A CN201410777728.5A CN201410777728A CN104506427A CN 104506427 A CN104506427 A CN 104506427A CN 201410777728 A CN201410777728 A CN 201410777728A CN 104506427 A CN104506427 A CN 104506427A
Authority
CN
China
Prior art keywords
winding
dependence
route
node
path
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
Application number
CN201410777728.5A
Other languages
English (en)
Other versions
CN104506427B (zh
Inventor
刘韬
王文东
田野
龚向阳
阙喜戎
于魁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhigu Ruituo Technology Services Co Ltd
Original Assignee
Beijing Zhigu Ruituo Technology Services Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhigu Ruituo Technology Services Co Ltd filed Critical Beijing Zhigu Ruituo Technology Services Co Ltd
Priority to CN201410777728.5A priority Critical patent/CN104506427B/zh
Publication of CN104506427A publication Critical patent/CN104506427A/zh
Application granted granted Critical
Publication of CN104506427B publication Critical patent/CN104506427B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请实施例提供了一种更新控制方法及更新控制装置。所述方法包括:至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;确定所述可能出现的所有路由回环之间的依存关系;至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。本申请实施例的方法及装置根据所有可能的路由回环之间的依存关系确定路由设备的更新顺序,能够尽可能的避免因产生路由回环而造成的延误和损失,以较优的顺序较快的完成更新。

Description

更新控制方法及更新控制装置
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种更新控制方法及更新控制装置。
背景技术
随着通信技术的发展,集中控制式网络架构越来越多的出现,例如,软件定义网络(Software-Defined Networking,SDN),这样的控制式网络架构能够将控制与转发分离,通过开放接口(例如,OpenFlow),逻辑上集中式的控制器能够获取网络的全局信息并且根据业务需求对网络资源进行动态的全局调配和优化。集中控制式网络架构大大提高了网络控制的灵活性,使可管理、可编程的、可动态改变的网络成为可能。
由于传统网络需要进行全局路由的计算与优化,以及路由协议的扩散与收敛,而集中控制式网络架构只需要改变对应数据流的转发表,能够更快地根据网络需求,如QoS、上层应用需求、链路失效等情况,来快速改变数据流通过的路径及功能,使得数据流能够不受影响地正常通过,集中控制式网络架构的配置改变的时间成本与资源成本相较于传统网络更低,。但是由于集中控制式网络架构的转发节点的功能相较传统网络更多更复杂,同时又是集中式的管理,所以需要新的网络更新方式。
发明内容
有鉴于此,本申请实施例的一个目的在于提供一种新的网络更新方案。
为实现上述目的,根据本申请实施例的第一方面,提供一种更新控制方法,所述方法包括:
至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;
确定所述可能出现的所有路由回环之间的依存关系;
至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
结合第一方面,在第一种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系中:
至少根据构成各路由回环的各转发路径的特征,确定所述所有路由回环之间的依存关系。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系包括:
若两个路由回环之间存在至少一条第一类转发路径,确定所述两个路由回环之间存在依存关系;
所述第一类转发路径具有特征:更新之前属于所述两个路由回环中的一个,更新后属于所述两个路由回环中的另一个;且
所述第一类转发路径更新前所属于的所述两个路由回环中的一个路由回环为依赖回环,所述第一类转发路径更新后所属于的所述两个路由回环中的另一个路由回环为被依赖回环。
结合第一方面或第一方面的上述任一种可能的实现方式,在第三种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序包括:
至少根据所述依存关系,确定优先更新仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点,然后,对于每对存在依存关系的路由回环,优先更新被依赖回环的所述至少一条第一类转发路径的至少一个转发节点。
结合第一方面或第一方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点之前,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第一方面或第一方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点的同时,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第一方面或第一方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点之后,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第一方面或第一方面的上述任一种可能的实现方式,在第七种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消存在所述至少一条第二类转发路径的所述两个存在依存关系的路由回环之间的依存关系;
所述第二类转发路径具有特征:更新前不属于任一路由回环,更新之后属于所述被依赖路由回环。
结合第一方面或第一方面的上述任一种可能的实现方式,在第八种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定其中的所述被依赖回环的所述至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第九种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述两个存在依存关系的路由回环之间的依存关系;
所述第三类转发路径具有特征:更新之前不属于任意路由回环,更新之后同时属于所述两个存在依存关系的路由回环。
结合第一方面或第一方面的上述任一种可能的实现方式,在第十种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个存在依存关系的路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第十一种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述两个存在依存关系的路由回环之间的依存关系;
所述第三类转发路径具有特征:更新之前不属于任意路由回环,更新之后同时属于所述两个存在依存关系的路由回环。
结合第一方面或第一方面的上述任一种可能的实现方式,在第十二种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个存在依存关系的路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第一方面或第一方面的上述任一种可能的实现方式,在第十三种可能的实现方式中,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消所述存在所述至少一条第二类转发路径的所述两个存在依存关系的路由回环之间的依存关系;
所述第二类转发路径具有特征:更新前不属于任一路由回环,更新之后属于所述被依赖路由回环。
结合第一方面或第一方面的上述任一种可能的实现方式,在第十四种可能的实现方式中,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定其中的所述被依赖回环的所述至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
根据本申请实施例的第二方面,提供一种更新控制装置,所述装置包括:
一第一确定模块,用于至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;
一第二确定模块,用于确定所述可能出现的所有路由回环之间的依存关系;
一第三确定模块,用于至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
结合第二方面,在第一种可能的实现方式中,所述第二确定模块用于至少根据构成各路由回环的各转发路径的特征,确定所述所有路由回环之间的依存关系。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二确定模块包括:
一第一确定单元,用于若两个路由回环之间存在至少一条第一类转发路径,确定所述两个路由回环之间存在依存关系;
所述第一类转发路径具有特征:更新之前属于所述两个路由回环中的一个,更新后属于所述两个路由回环中的另一个;且
所述第一类转发路径更新前所属于的所述两个路由回环中的一个路由回环为依赖回环,所述第一类转发路径更新后所属于的所述两个路由回环中的另一个路由回环为被依赖回环。
结合第二方面或第二方面的上述任一种可能的实现方式,在第三种可能的实现方式中,所述第三确定模块包括:
一第二确定单元,用于用于至少根据所述依存关系,确定优先更新仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点,然后,对于每对存在依存关系的路由回环,优先更新被依赖回环的所述第一类转发路径的转发节点。
结合第二方面或第二方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述第三确定模块还包括:
一第三确定单元,用于在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点之前,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第二方面或第二方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述第三确定模块还包括:
一第三确定单元,用于在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点的同时,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第二方面或第二方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述第三确定模块还包括:
一第三确定单元,用于在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点之后,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
结合第二方面或第二方面的上述任一种可能的实现方式,在第七种可能的实现方式中,所述第二确定模块还包括:
一第四确定单元,用于对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消存在所述至少一条第二类转发路径的所述两个存在依存关系的路由回环之间的依存关;
所述第二类转发路径具有特征:更新前不属于任一路由回环,更新之后属于所述被依赖路由回环。
结合第二方面或第二方面的上述任一种可能的实现方式,在第八种可能的实现方式中,所述第三确定模块还包括:
一第五确定单元,用于对于取消依存关系的所述两个存在依存关系的路由回环,确定其中的所述被依赖回环的所述至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第二方面或第二方面的上述任一种可能的实现方式,在第九种可能的实现方式中,所述第二确定模块还包括:
一第六确定单元,用于对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述两个存在依存关系的路由回环之间的依存关系;
所述第三类转发路径具有特征:更新之前不属于任意路由回环,更新之后同时属于所述两个存在依存关系的路由回环。
结合第二方面或第二方面的上述任一种可能的实现方式,在第十种可能的实现方式中,所述第三确定模块还包括:
一第七确定单元,用于对于取消依存关系的所述两个存在依存关系的路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个存在依存关系的路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第二方面或第二方面的上述任一种可能的实现方式,在第十一种可能的实现方式中,所述第二确定模块还包括:
一第八确定单元,用于对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述两个存在依存关系的路由回环之间的依存关系;
所述第三类转发路径具有特征:更新之前不属于任意路由回环,更新之后同时属于所述两个存在依存关系的路由回环。
结合第二方面或第二方面的上述任一种可能的实现方式,在第十二种可能的实现方式中,所述第三确定模块还包括:
一第九确定单元,用于对于取消依存关系的所述两个存在依存关系的路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个存在依存关系的路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
结合第二方面或第二方面的上述任一种可能的实现方式,在第十三种可能的实现方式中,所述第二确定模块还包括:
一第十确定单元,用于对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消所述存在所述至少一条第二类转发路径的所述两个存在依存关系的路由回环之间的依存关系;
所述第二类转发路径具有特征:更新前不属于任一路由回环,更新之后属于所述被依赖路由回环。
结合第二方面或第二方面的上述任一种可能的实现方式,在第十四种可能的实现方式中,所述第三确定模块还包括:
一第十一确定单元,用于对于取消依存关系的所述两个存在依存关系的路由回环,确定其中的所述被依赖回环的所述至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
本申请实施例的方法及装置根据所有可能的路由回环之间的依存关系确定路由设备的更新顺序,能够尽可能的避免因产生路由回环而造成的延误和损失,并以较优的顺序较快的完成更新。
附图说明
图1(a)和图1(b)为两种示例的路由回环的示意图;
图1(c)和图1(d)为两种示例的存在依存关系的多个路由回环的示意图;
图2为本申请实施例的更新控制方法的流程图;
图3(a)-图3(c)分别为一种示例的目标网络的初始转发策略的有向图、目标转发策略的有向图以及合并后的有向图;
图3(d)为根据图3(c)中所示的有向图中的路由回环的依存关系生成的依存森林的示意图;
图3(e)为一种示例的依存森林的示意图;
图3(f)为调整后的图3(e)的依存森林的示意图;
图4(a)-图4(f)为本申请一种实施例的更新控制装置的各种可能的实现方式的结构示意图;
图5为本申请又一种实施例的更新控制装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员可以理解,本申请中的“第一”、“第二”等术语仅用于区别不同设备、模块或参数等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
为了更好的理解本申请各实施例,先对本文所用的术语进行如下说明:
目标网络,指具有集中式网络架构的任意网络,其可对路由设备的转发功能进行集中式管理,例如,软件自定义网络。
初始转发策略,指更新目标网络的转发策略之前,目标网络各路由设备的转发规则。
目标转发策略,指更新后的目标网络各路由设备的转发规则。
路由节点,指目标网络中的路由设备,为能够实现转发功能的任意合适的设备,例如,路由器、交换机等等。
更新,指改变路由设备的转发规则。
路由回环,指至少两个路由设备的转发路径形成的环路,如图1(a)和图1(b)所示中分别示出的路由回环101和路由回环102,路由回环的存在会导致转发出现一定程度的延误和损失。每个路由回环由至少两条转发路径构成,每条转发路径从一个路由节点指向另一个路由节点,其中,转发路径起始端的路由节点称为该转发路径的“转发节点”,另一端的路由节点称为该转发路径“目的路由节点”。在本申请各实施例中定义具有三种不同特征的转发路径:第一类转发路径具有这样的特征:更新之前,该转发路径属于一个路由回环,更新之后,该转发路径属于另一个路由回环,如图1(c)所示的,转发路径111为第一类转发路径,更新之前(实线箭头所示)属于路由回环103,更新后的转发路径111’(虚线箭头所示)属于路由回环104;第二类转发路径具有这样的特征:更新之前,不属于任一路由回环,更新之后,该转发路径属于一个路由回环,如图1(c)所示的,转发路径112为第二类转发路径,更新之后的转发路径112’(虚线箭头所示)属于路由回环104,更新前的转发路径112(实线箭头所示)不属于任一路由回环;第三类转发路径具有这样的特征:更新之前,该有向边不属于任一路由回环,更新之后,同时属于至少另外两个路由回环,且所述至少另外两个路由回环具有依存关系,如图1(d)所示的,转发路径114为第三类转发路径,更新之前(实线箭头所示)属于路由回环108,更新后的转发路径114’(虚线箭头所示)属于路由回环106也属于路由回环107,且路由回环106和路由回环107因第一类转发路径115而存在依存关系。
依存关系,指一个路由节点或路由回环的更新依赖于另一个路由节点或路由回环的更新。对于任意存在依存关系的两个路由回环,一个可称为依赖回环,另一个可称为被依赖回环,被依赖回环更新后,才能更新依赖回环。之所以会产生依存关系是因为存在依存关系的两个路由回环中存在至少一条第一类转发路径,如图1(c)所示的,路由回环103,104为一对存在依存关系的路由回环,其中,路由回环103的更新依赖于路由回环104的更新,路由回环103称为依赖回环,路由回环104称为被依赖回环。转发路径111为第一类转发路径,转发路径111更新之前(实线箭头所示)为路由回环103的一条边,若路由回环103先于路由回环104更新,更新后的转发路径111’促成路由回环104的形成,从而在网络中造成延误或损失,因此,应在被依赖回环也即路由回环104更新后,更新依赖回环也即路由回环103,以保证不会出现路由回环104。此外,在本申请各实施例中,路由回环的更新包括几种情况:对于仅作为被依赖回环路由回环,其更新指至少一个非关键路由节点的更新;对于其他被依赖路由回环,其更新指至少一个关键路由节点的更新。所述关键路由节点指第一类转发路径的转发节点。且除非另外说明外,非关键路由节点(包括所有路由回环的非关键路由节点、所有不会构成任何路由回环的路由节点、以及不存在于任何依存关系中的路由回环的路由节点可在任意时刻更新。
回环节点,本申请各实施例中根据路由回环之间的依存关系构成的依存森林中的节点,每个回环节点代表一个路由回环。
如图2所示,为本申请一种实施例的更新控制方法,该方法可由目标网络中执行集中控制的控制器(例如,SDN中的控制器)本身执行,也可由独立或属于该控制器的其他装置执行。如图2所示,该方法包括:
S220.至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环。
步骤S220中可根据任一种可能的合适的方式确定所述目标网络中可能出现的所有路由回环,例如,将各路由节点的将初始转发策略与目标转发策略叠加比对。在一种可能的实现方式中,可分别构建目标网络的初始转发策略以及目标转发策略的有向图,并合并两张有向图,在合并的有向图上保留各路由节点的初始转发路径(有向边)以及目标转发路径(有向边)。找出合并的有向图中所有强连通的路由节点,每两个强连通的路由节点之间的路径即为可能的路由回环。在一种可能的实现方式中,可根据深度优先搜索(Depth-First-Search,DFS)算法找出合并的有向图中所有强连通的路由节点,但不限于此。如图3(a)-图3(c)所示,分别为目标网络的初始转发策略的有向图、目标转发策略的有向图以及并合并后的有向图,其中,所有实线箭头表示初始转发路径,所有虚线箭头表示目标转发路径。在图3(a)-图3(c)所示的示例中,确定可能出现的所有路由回环包括:路由节点1,2和3构成的第一路由回环、路由节点1,0和4构成的第二路由回环、以及路由节点2,3,0,4,和1构成的第三路由回环。
S240.确定所述可能出现的所有路由回环之间的依存关系。
如上所述,根据依存关系能够确定相关的路由回环的更新顺序会否造成网络中出现因路由回环到至的延误和损失等。在步骤S240中,对于每个可能的路由回环,可遍历其每条转发路径,以确定所有可能的依存关系。在一种可能的实现方式中,可采用广度优先搜索(BreadthFirst Search,BFS)实现所有可能的依存关系的确定。如图3(a)-图3(c)所示的示例中,三个路由回环中存在这样的依存关系:第一路由回环依赖于第二路由回环,而第三路由回环与第一路由回环和第二路由回环不存在任何依存关系。
S260.至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
确定了各路由回环的依存关系之后,本申请实施例的方法即可根据路由回环之间的依存关系确定相应路由节点的更新顺序,以保证目标网络中的更新不会造成因路由回环的存在引起的延误和损失等。例如,优先更新被依赖回环的相关路由节点,再更新依赖回环的相关路由节点。仍以图3(a)-图3(c)所示为例,根据三个路由回环的依存关系:可确定先更新第二路由回环的相关路由节点,再更新第一路由回环的相关路由节点,由于图3(c)中所示拓扑相对简单,因此,第三路由回环的路由节点在更新第一路由回环和第二路由回环时可能会被同时更新。且由于相对简单的拓扑,第一路由回环未被任何其他路由回环所以来,因此,第二路由回环的至少一非关键节点更新之后,所有其他节点均可同时更新。第二路由回环的非关键路由节点为除路由节点1外的所有路由节点。
综上,本申请实施例的方法提供了一种路由设备转发策略的更新方案,该方法根据所有可能的路由回环之间的依存关系确定路由设备的更新顺序,能够尽可能的避免因产生路由回环而造成的延误和损失,并以较优的顺序较快的完成更新。
需要说明的是,对于每个可能的路由回环,其可能既是依赖回环,又是被依赖回环,且对于每个可能的路由回环,其可能被多个依赖回环依赖,也可能依赖多个依赖回环。对于这种依存关系,本申请实施例的方法在步骤S240中可用以路由回环为节点(回环节点)的生成树来表示各路由回环之间的依存关系。以图3(a)-图3(c)所示为例,三个路由回环能够构成如图3(d)所示的回环依存树,其中,包括两个回环依存树,有向线段表示依存关系,如图3(d)中所示的,回环节点301(第一路由回环)依赖于回环节点302(第二路由回环),回环节点303(第三路由回环)自成一树,回环节点302和回环节点303所表示的路由回环均为仅作为依赖回环的路由回环,这样的路由回环在回环依存树中称为根节点,且这样的至少两个拓扑更复杂的生成树可构成依存森林。
在一种可能的实现方式中,步骤S260中可利用步骤S240中生成的依存森林,根据广度优先搜索算法确定各路由节点的更新顺序:从各根节点到其子节点开始、到下一级子节点、再到下下一级子节点、直至各生成树的叶节点。例如,如图3(e)所示的依存森林,按照广度优先搜索算法确定的更新顺序为从根节点开始、到下一级子节点、再到下下一级子节点、直至各生成树的叶节点,其中,对于回环节点313,其既为回环节点306的子节点,又依赖于回环节点310。按照广度优先搜索算法,回环节点313的更新顺序应与回环节点310一致。
在另一种可能的实现方式中,步骤S260可利用步骤S240中生成的依存森林,根据深度优先搜索算法确定各路由节点的更新顺序:在依存森林中确定一条到叶节点最长的更新链,依次确定该最长的更新链上的回环节点的更新顺序,其他链上各回环节点的更新时间按照各回环节点与其子节点的距离和该更长的更新链上的对应回环节点的更新时间一致。例如,如图3(e)所示的依存生成树森林,可确定最长更新链由回环节点304,308,311,314(图中不只这一条)构成,按照该更新链上从根节点到子节点的顺序依次确定各回环节点的更新顺序,回环节点310和回环节点313的更新顺序应与回环节点308和回环节点309一致。
此外,在步骤S240中,可至少根据构成路由回环的各转发路径的特征,确定各路由回环之间的依存关系。在一种可能的实现方式中,对于一个路由回环,若构成该路由回环的转发路径中存在一条第一类转发路径,也即具有这样的特征:更新前属于一个路由回环,更新后属于另一个路由回环,则确定该转发路径更新前所在的路由回环依赖于该转发路径更新后所在的路由回环。在这样的实现方式中,步骤S240进一步包括:
S242.若两个路由回环之间存在至少一条第一类转发路径,则确定所述两个路由回环之间存在依存关系,且第一类转发路径更新前所在的路由回环为依赖回环,更新后所在的路由回环为被依赖回环。
可通过以下方式确定各路由回环之间的依存关系:对于每个可能的路由回环,遍历其每条有向边,以确定所有可能的依存关系。在一种可能的实现方式中,可采用广度优先搜索(Breadth First Search,BFS)实现所有可能的依存关系的确定。
在这样的实现方式中,步骤S260可进一步包括:
S262.至少根据所述依存关系,确定优先更新仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点(关键路由节点)外的至少一路由节点,然后,对于每对存在依存关系的路由回环,优先更新被依赖回环的所述至少一条第一类转发路径的至少一个转发节点。
具言之,仅作为被依赖回环的路由回环,一旦更新至少一个非关键路由节点后,其依赖回环关键路由节点的更新也不会造成该被依赖回环的形成。在本申请实施例的方法中,优先将所有仅作为被依赖回环的路由回环的至少一非关键路由节点更新,然后,更新其各自的依赖回环的关键路由节点,以此类推,直至更新了仅作为依赖回环的各路由回环的关键路由节点。对于其余的所有其他路由节点,由于这些路由节点的更新可能不会引起路由回环的形成,因此,这些路由节点的更新时间及顺序可任意。
在一种可能的实现方式中,在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)之前,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
在另一种可能的实现方式中,在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)的同时,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点,这样的实现方式能够缩短目标网络更新的总时长。
在又一种可能的实现方式中,在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)之后,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
此外,为了能够进一步缩短目标网络更新的总时长,本申请实施例的方法在步骤S242中确定的依存关系的基础上,还可进一步根据构成各路由回环的转发路径的特征,调整各路由回环之间的依存关系。在一种可能的实现方式中,对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消所述被依赖回环与其依赖回环之间的依存关系。所述第二类转发路径具有特征:更新之后属于所述被依赖路由回环,更新前不属于任一路由回环。在这样的实现方式中,步骤S240还可包括:
S244.对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则在步骤S242所确定的存在依存关系的路由回环中,取消上述具有至少一条第二类转发路径的被依赖回环与其依赖回环的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不再依赖于任何路由回环。
在这样的实现方式中,步骤S260还进一步包括:
S264.调整步骤S262确定的更新顺序:对于在步骤S244中取消依存关系的所述被依赖回环与其依赖回环,确定所述被依赖回环中该至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
以如图1(c)为例,图1(c)中示出的包括转发路径112的路由回环104,由于路由回环104和路由回环103之间存在第一类转发路径111,因此,在步骤S242中确定路由回环104与路由回环103中存在依存关系,且路由回环103依赖于路由回环104,路由回环104为被依赖回环,由于转发路径112属于第二类转发路径,因此,只要转发路径112的转发节点10在转发节点5之后更新,则路由回环103的更新即可不依赖于路由回环104,也即,在步骤S244中可取消路由回环104和路由回环103之间的依存关系。以这样的两个路由回环为图3(e)中所示的回环节点308和回环节点311为例,取消回环节点311与回环节点308的依存关系,则图3(e)的依存森林可进一步修改为图3(f)所示的依存森林,回环节点311直接依赖于上一级回环节点(也即回环节点304)或不依赖于任何回环节点,按照广度优先搜索算法,回环节点311的更新顺序将与回环节点308,309和310一致,回环节点311以下各级子节点的更新顺序也较图3(e)进一步提前,从而缩短了总的更新时长。经过步骤S264确定后的该生成树所对应的路由节点的更新顺序如下:先更新回环节点304对应的至少任一非关键路由节点,然后,由于修正了依存关系,回环节点308和回环节点311可同时更新,也即,被依赖回环105(回环节点304)更新之后,可同时更新路由回环103和路由回环104各自的至少一关键路由节点,也即路由节点5和路由节点9,如上所述的,对于路由回环103和路由回环104,路由节点10不能早于路由节点5和路由节点9更新,也即,应在至少路由节点5和路由节点9之后更新,包括:紧跟在路由节点5和路由节点9之后更新,或在这两个路由回环的至少一其他路由节点之后更新。
在另一种可能的实现方式中,在步骤S244之后,还可进一步根据转发路径的特征调整各路由回环之间的依存关系:对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述存在依存关系的两个路由回环之间的依存关系。所述第三类转发路径具有特征:更新之后同时属于所述存在依存关系的两个路由回环,更新之前不属于任意路由回环。在这样的实现方式中,步骤S240还可包括:
S246.对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则在步骤S244所确定的存在依存关系的路由回环中,取消所述具有至少一条第三类转发路径的两个路由回环之间的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不依赖于任何路由回环。
在这样的实现方式中,步骤S260还进一步包括:
S266.调整步骤S264确定的更新顺序:对于在步骤S246中取消依存关系的所述两个路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
以如图1(d)为例,图1(d)中示出的存在依存关系的路由回环106和路由回环107中存在第三类转发路径114,因此,只要转发路径114的转发节点即路由节点17在转发节点18之后更新,则路由回环106的更新即可不依赖于路由回环107,也即,在步骤S246中可取消路由回环106和路由回环107之间的依存关系。以图1(d)中的三个路由回环106,107和108分别为图3(e)中所示的回环节点312,309和315为例,在步骤S246中可取消回环节点309与回环节点312之间的依存关系,则图3(e)的依存森林可进一步修改为图3(f)所示的依存森林,回环节点312直接依赖于上一级回环节点,也即回环节点305和306或可不依赖于任何回环节点,按照广度优先搜索算法,回环节点312以下各级子节点的更新顺序较图3(e)进一步提前,从而缩短了总的更新时长。经过步骤S266确定后的该生成树所对应的路由节点的更新顺序如下:先更新回环节点305对应的至少任一非关键路由节点,由于修正了依存关系,回环节点312和回环节点319可同时更新,也即,被依赖回环108(回环节点305)更新之后,可同时更新路由回环106和路由回环107的关键路由节点,也即路由节点18(图1(d)中未示出路由回环106被其他路由回环所依赖,因此,在这样的示例中仅存在一个关键路由节点18),如上所述的,对于路由回环106和路由回环107,路由节点17不能早于路由节点18更新,也即,应在至少路由节点18之后更新,包括:紧跟在路由节点18之后更新,或在这两个路由回环的至少一其他路由节点之后更新。
在又一种可能的实现方式中,为了能够进一步缩短目标网络更新的总时长,本申请实施例的方法可仅根据是否存在第三类转发路径调整路由回环之间的优先关系。在这样的实现方式中,步骤S240还可包括:
S244’.对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,在步骤S242所确定的存在依存关系的路由回环中,取消上述具有至少一条第三类转发路径的两个路由回环之间的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不依赖于任何路由回环。
在这样的实现方式中,步骤S260还进一步包括:
S264’.调整步骤S262确定的更新顺序:对于在步骤S244’中取消依存关系的所述两个路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
在再一种可能的实现方式中,本申请实施例的方法在步骤S244’后还可包括步骤:
S246’.对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,在步骤S244’所确定的存在依存关系的路由回环中,取消上述具有所述至少一条第二类转发路径的被依赖回环与其依赖回环的依存关系。
在这样的实现方式中,步骤S260还进一步包括:
S266’.调整步骤S264’确定的更新顺序:对于在步骤S246’中取消依存关系的所述被依赖回环与其依赖回环,确定所述被依赖回环中的至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
综上,本申请实施例的方法能够尽可能的避免因产生路由回环而造成的延误和损失,以较优的顺序较快的完成更新,且更新时长短。
本领域技术人员可以理解,在本申请具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请具体实施方式的实施过程构成任何限定。
此外,本申请实施例还提供了一种计算机可读介质,包括在被执行时进行以下操作的计算机可读指令:执行上述图1所示实施方式中的方法的各步骤的操作。
本申请实施例还提供了一种执行上述更新控制方法的装置,该装置可为独立于目标网络中执行集中控制的控制器(例如,SDN中的控制器)的任意装置,也可为属于目标网络中执行集中控制的控制器的任意装置,或该装置本身即为目标网络中执行集中控制的控制器。根据该装置的上述不同执行角色的需要,除以下描述的各组成部分外,所述装置还包括可根据需要实现与装置外部任意设备通信的通信模块。如图4(a)所示,本申请一种实施例的更新控制装置400包括:
第一确定模块420,用于至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环。
第一确定模块420可根据任一种可能的合适的方式确定所述目标网络中可能出现的所有路由回环,例如,将各路由节点的将初始转发策略与目标转发策略叠加比对。在一种可能的实现方式中,第一确定模块420可分别构建目标网络的初始转发策略以及目标转发策略的有向图,并合并两张有向图,在合并的有向图上保留各路由节点的初始转发路径(有向边)以及目标转发路径(有向边)。找出合并的有向图中所有强连通的路由节点,每两个强连通的路由节点之间的路径即为可能的路由回环。在一种可能的实现方式中,第一确定模块420可根据深度优先搜索(Depth-First-Search,DFS)算法找出合并的有向图中所有强连通的路由节点,但不限于此。如图3(a)-图3(c)所示,分别为目标网络的初始转发策略的有向图、目标转发策略的有向图以及并合并后的有向图,其中,所有实线箭头表示初始转发路径,所有虚线箭头表示目标转发路径。在图3(a)-图3(c)所示的示例中,第一确定模块420确定可能出现的所有路由回环包括:路由节点1,2和3构成的第一路由回环、路由节点1,0和4构成的第二路由回环、以及路由节点2,3,0,4,和1构成的第三路由回环。
第二确定模块440,用于确定所述可能出现的所有路由回环之间的依存关系。
如上所述,根据依存关系能够确定相关的路由回环的更新顺序会否造成网络中出现因路由回环到至的延误和损失等。对于每个可能的路由回环,第二确定模块440可遍历其每条转发路径,以确定所有可能的依存关系。在一种可能的实现方式中,第二确定模块440可采用广度优先搜索(Breadth First Search,BFS)实现所有可能的依存关系的确定。如图3(a)-图3(c)所示的示例中,第二确定模块440能够确定三个路由回环中存在这样的依存关系:第一路由回环依赖于第二路由回环,而第三路由回环与第一路由回环和第二路由回环不存在任何依存关系。
第三确定模块460,用于至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
第二确定模块440确定了各路由回环的依存关系之后,第三确定模块460即可根据路由回环之间的依存关系确定相应路由节点的更新顺序,以保证目标网络中的更新不会造成因路由回环的存在引起的延误和损失等。例如,优先更新被依赖回环的相关路由节点,再更新依赖回环的相关路由节点。仍以图3(a)-图3(c)所示为例,第三确定模块460根据三个路由回环的依存关系:可确定先更新第二路由回环的相关路由节点,再更新第一路由回环的相关路由节点,由于图3(c)中所示拓扑相对简单,因此,第三路由回环的路由节点在更新第一路由回环和第二路由回环时可能会被同时更新。且由于相对简单的拓扑,第一路由回环未被任何其他路由回环所以来,因此,第二路由回环的至少一非关键节点更新之后,所有其他节点均可同时更新。第二路由回环的非关键路由节点为除路由节点1外的所有路由节点。
综上,本申请实施例的装置提供了一种路由设备转发策略的更新方案,根据所有可能的路由回环之间的依存关系确定路由设备的更新顺序,能够尽可能的避免因产生路由回环而造成的延误和损失,以较优的顺序较快的完成更新。
需要说明的是,对于每个可能的路由回环,其可能既是依赖回环,又是被依赖回环,且对于每个可能的路由回环,其可能被多个依赖回环依赖,也可能依赖多个依赖回环。对于这种依存关系,第二确定模块440可用以路由回环为节点(回环节点)的生成树来表示各路由回环之间的依存关系。以图3(a)-图3(c)所示为例,三个路由回环能够构成如图3(d)所示的回环依存树,其中,包括两个回环依存树,有向线段表示依存关系,如图3(d)中所示的,回环节点301(第一路由回环)依赖于回环节点302(第二路由回环),回环节点303(第三路由回环)自成一树,回环节点302和回环节点303所表示的路由回环均为仅作为依赖回环的路由回环,这样的路由回环在回环依存树中称为根节点,且这样的至少两个拓扑更复杂的回环依存树可构成依存森林。
在一种可能的实现方式中,第三确定模块460可利用第二确定模块440生成的依存森林,根据广度优先搜索算法确定各路由节点的更新顺序:从各根节点到其子节点开始、到下一级子节点、再到下下一级子节点、直至各生成树的叶节点。例如,如图3(e)所示的依存森林,按照广度优先搜索算法确定的更新顺序为从根节点开始、到下一级子节点、再到下下一级子节点、直至各生成树的叶节点,其中,对于回环节点313,其既为回环节点306的子节点,又依赖于回环节点310。按照广度优先搜索算法,回环节点313的更新顺序应与回环节点310一致。
在另一种可能的实现方式中,第三确定模块460可利用第二确定模块440生成的依存森林,根据深度优先搜索算法确定各路由节点的更新顺序:在依存森林中确定一条到叶节点最长的更新链,依次确定该最长的更新链上的回环节点的更新顺序,其他链上各回环节点的更新时间按照各回环节点与其子节点的距离和该更长的更新链上的对应回环节点的更新时间一致。例如,如图3(e)所示的依存森林,可确定最长更新链由回环节点304,308,311,314(图中不只这一条)构成,按照该更新链上从根节点到子节点的顺序依次确定各回环节点的更新顺序,回环节点310和回环节点313的更新顺序应与回环节点308和回环节点309一致。
此外,第二确定模块440可至少根据构成路由回环的各转发路径的特征,确定各路由回环之间的依存关系。在一种可能的实现方式中,对于一个路由回环,若构成该路由回环的转发路径中存在一条第一类转发路径,也即具有这样的特征:更新前属于一个路由回环,更新后属于另一个路由回环,则确定该转发路径更新前所在的路由回环依赖于该转发路径更新后所在的路由回环。在这样的实现方式中,如图4(b)所示的,第二确定模块440可进一步包括:
第一确定单元442,用于若两个路由回环之间存在至少一条第一类转发路径,则确定所述两个路由回环之间存在依存关系,且第一类转发路径更新前所在的路由回环为依赖回环,更新后所在的路由回环为被依赖回环。
可通过以下方式确定各路由回环之间的依存关系:对于每个可能的路由回环,遍历其每条有向边,以确定所有可能的依存关系。在一种可能的实现方式中,可采用广度优先搜索(Breadth First Search,BFS)实现所有可能的依存关系的确定。
在这样的实现方式中,第三确定模块460可进一步包括:
第二确定单元462,用于至少根据所述依存关系,确定优先更新仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点(关键路由节点)外的至少一路由节点,然后,对于每对存在依存关系的路由回环,优先更新被依赖回环的所述至少一条第一类转发路径的至少一个转发节点。
具言之,仅作为被依赖回环的路由回环,一旦更新至少一个非关键路由节点后,其依赖回环关键路由节点的更新也不会造成该被依赖回环的形成。在本申请实施例的装置中,优先将所有仅作为被依赖回环的路由回环的至少一非关键路由节点更新,然后,更新其各自的依赖回环的关键路由节点,以此类推,直至更新了仅作为依赖回环的各路由回环的关键路由节点。对于其余的所有其他路由节点,由于这些路由节点的更新可能不会引起路由回环的形成,因此,这些路由节点的更新时间及顺序可任意。
第三确定模块460还包括第三确定单元464,在一种可能的实现方式中,第三确定单元464用于确定在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)之前,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
在另一种可能的实现方式中,第三确定单元464可确定在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)的同时,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点,这样的实现方式能够缩短目标网络更新的总时长。
在又一种可能的实现方式中,第三确定单元464可确定在更新所述仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点(也即至少一非关键路由节点)之后,更新其他路由回环中除所述至少一条第一类转发路径的至少一个转发节点外的其余路由节点。
此外,为了能够进一步缩短目标网络更新的总时长,本申请实施例的装置在第二确定模块440确定的依存关系的基础上,还可进一步根据构成各路由回环的转发路径的特征,调整各路由回环之间的依存关系。在一种可能的实现方式中,对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消所述被依赖回环与其依赖回环之间的依存关系。所述第二类转发路径具有特征:更新之后属于所述被依赖路由回环,更新前不属于任一路由回环。在这样的实现方式中,如图4(c)所示的,第二确定模块440还可包括:
第四确定单元444,用于对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则在第一确定单元442所确定的存在依存关系的路由回环中,取消上述具有至少一条第二类转发路径的被依赖回环与其依赖回环的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不再依赖于任何路由回环。
在这样的实现方式中,第三确定模块460还进一步包括:
第五确定单元466,用于调整第二确定单元462和第三确定单元464确定的更新顺序:对于第四确定单元444取消依存关系的所述被依赖回环与其依赖回环,确定所述被依赖回环中的至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
以如图1(c)为例,图1(c)中示出的包括转发路径112的路由回环104,由于路由回环104和路由回环103之间存在第一类转发路径111,因此,第一确定单元442确定路由回环104与路由回环103中存在依存关系,路由回环103依赖于路由回环104,路由回环104为被依赖回环,但是,由于转发路径112属于第二类转发路径,因此,只要转发路径112的转发节点10在转发节点5之后更新,则路由回环103的更新即可不依赖于路由回环104,也即,第四确定单元444可取消路由回环104和路由回环103之间的依存关系。以这样的两个路由回环为图3(e)中所示的回环节点308和回环节点311为例,取消回环节点311与回环节点308的依存关系,则图3(e)的依存森林可进一步修改为图3(f)所示的依存森林,回环节点311直接依赖于上一级回环节点(也即回环节点304)或不依赖于任何回环节点,按照广度优先搜索算法,回环节点311的更新顺序将与回环节点308,309和310一致,回环节点311以下各级子节点的更新顺序也较图3(e)进一步提前,从而缩短了总的更新时长。经过第五确定单元466确定后的该生成树所对应的路由节点的更新顺序如下:先更新回环节点304对应的至少任一非关键路由节点,然后,由于修正了依存关系,回环节点308和回环节点311可同时更新,也即,被依赖回环105(回环节点304)更新之后,可同时更新路由回环103和路由回环104各自的至少一个关键路由节点,也即路由节点5和路由节点9,如上所述的,对于路由回环103和路由回环104,路由节点10不能早于路由节点5和路由节点9更新,也即,应在至少路由节点5和路由节点9之后更新,包括:紧跟在路由节点5和路由节点9之后更新,或在这两个路由回环的至少一其他路由节点之后更新。
在另一种可能的实现方式中,还可进一步根据转发路径的特征调整各路由回环之间的依存关系:对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述存在依存关系的两个路由回环之间的依存关系。所述第三类转发路径具有特征:更新之后同时属于所述存在依存关系的两个路由回环,更新之前不属于任意路由回环。在这样的实现方式中,如图4(d)所示的,第二确定模块440还可包括:
第六确定单元446,用于对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则在第四确定单元444所确定的存在依存关系的路由回环中,取消所述具有至少一条第三类转发路径的两个路由回环之间的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不依赖于任何路由回环。
在这样的实现方式中,第三确定模块460还进一步包括:
第七确定单元468,用于调整第五确定单元466确定的更新顺序:对于第六确定单元446取消依存关系的所述两个路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
以如图1(d)为例,图1(d)中示出的存在依存关系的路由回环106和路由回环107中存在第三类转发路径114,因此,只要转发路径114的转发节点即路由节点17在转发节点18之后更新,则路由回环106的更新即可不依赖于路由回环107,也即,第六确定单元446可取消路由回环106和路由回环107之间的依存关系。以图1(d)中的三个路由回环106,107和108分别为图3(e)中所示的回环节点312,309和315为例,第六确定单元446可取消回环节点309与回环节点312之间的依存关系,则图3(e)的依存森林可进一步修改为图3(f)所示的依存森林,回环节点312直接依赖于上一级回环节点,也即回环节点305和306或可不依赖于任何回环节点,按照广度优先搜索算法,回环节点312以下各级子节点的更新顺序较图3(e)进一步提前,从而缩短了总的更新时长。经过第七确定单元468确定后的该生成树所对应的路由节点的更新顺序如下:先更新回环节点305对应的至少任一非关键路由节点,由于修正了依存关系,回环节点312和回环节点319可同时更新,也即,被依赖回环108(回环节点305)更新之后,可同时更新路由回环106和路由回环107的关键路由节点,也即路由节点18(图1(d)中未示出路由回环106被其他路由回环所依赖,因此,在这样的示例中仅存在一个关键路由节点18),如上所述的,对于路由回环106和路由回环107,路由节点17不能早于路由节点18更新,也即,应在至少路由节点18之后更新,包括:紧跟在路由节点18之后更新,或在这两个路由回环的至少一其他路由节点之后更新。
在又一种可能的实现方式中,为了能够进一步缩短目标网络更新的总时长,本申请实施例的方法可仅根据是否存在第三类转发路径调整路由回环之间的优先关系。在这样的实现方式中,如图4(e)所示的,第二确定模块440还可包括:
第八确定单元444’,用于对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,在第一确定单元442所确定的存在依存关系的路由回环中,取消上述具有至少一条第三类转发路径的两个路由回环之间的依存关系。
需要说明的是,对于取消依存关系的每对路由回环,其中的依赖回环可继承其原来的被依赖回环的上一级被依赖回环,或者,该依赖回环可不依赖于任何路由回环。
在这样的实现方式中,第三确定模块460还进一步包括:
第九确定单元466’,用于调整第二确定单元462和第三确定单元464确定的更新顺序:对于第八确定单元444’取消依存关系的所述两个路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
在再一种可能的实现方式中,如图4(f)所示的,第二确定模块440:
第十确定单元446’,用于对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,在第八确定单元444’所确定的存在依存关系的路由回环中,取消上述具有至少一条第二类转发路径的被依赖回环与其依赖回环的依存关系。
在这样的实现方式中,第三确定模块460还进一步包括:
第十一确定单元468’,用于调整第九确定单元466’确定的更新顺序:对于第十确定单元446’取消依存关系的所述被依赖回环与其依赖回环,确定所述被依赖回环中的至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
综上,本申请实施例的装置能够尽可能的避免因产生路由回环而造成的延误和损失,以较优的顺序较快的完成更新,且更新时长短。
图5为本申请实施例提供的一种更新控制装置500的结构示意图,本申请具体实施例并不对更新控制装置500的具体实现做限定。如图5所示,该更新控制装置500可以包括:
处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530、以及通信总线540。其中:
处理器510、通信接口520、以及存储器530通过通信总线540完成相互间的通信。
通信接口520,用于与比如客户端等的网元通信。
处理器510,用于执行程序532,具体可以实现上述图4(a)的装置实施例中更新控制装置的相关功能。
具体地,程序532可以包括程序代码,所述程序代码包括计算机操作指令。
处理器510可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。程序532具体可以用于使得所述更新控制装置500执行以下步骤:
至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;
确定所述可能出现的所有路由回环之间的依存关系;
至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
程序532中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述装置实施例中的对应描述,在此不再赘述。
尽管此处所述的主题是在结合操作系统和应用程序在计算机系统上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可因东介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种更新控制方法,其特征在于,所述方法包括:
至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;
确定所述可能出现的所有路由回环之间的依存关系;
至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
2.根据权利要求1所述的方法,其特征在于,所述确定所述可能出现的所有路由回环之间的依存关系中:
至少根据构成各路由回环的各转发路径的特征,确定所述所有路由回环之间的依存关系。
3.根据权利要求2所述的方法,其特征在于,所述确定所述可能出现的所有路由回环之间的依存关系包括:
若两个路由回环之间存在至少一条第一类转发路径,确定所述两个路由回环之间存在依存关系;
所述第一类转发路径具有特征:更新之前属于所述两个路由回环中的一个,更新后属于所述两个路由回环中的另一个;且
所述第一类转发路径更新前所属于的所述两个路由回环中的一个路由回环为依赖回环,所述第一类转发路径更新后所属于的所述两个路由回环中的另一个路由回环为被依赖回环。
4.根据权利要求3所述的方法,其特征在于,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序包括:
至少根据所述依存关系,确定优先更新仅作为被依赖回环的路由回环的除所述至少一条第一类转发路径的至少一个转发节点外的至少一路由节点,然后,对于每对存在依存关系的路由回环,优先更新被依赖回环的所述至少一条第一类转发路径的至少一个转发节点。
5.根据权利要求4所述的方法,其特征在于,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若被依赖回环存在至少一条第二类转发路径,则取消存在所述至少一条第二类转发路径的所述两个存在依存关系的路由回环之间的依存关系;
所述第二类转发路径具有特征:更新前不属于任一路由回环,更新之后属于所述被依赖路由回环。
6.根据权利要求5所述的方法,其特征在于,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定其中的所述被依赖回环的所述至少一条第二类转发路径的至少一个转发节点在至少所述被依赖回环与其依赖回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
7.根据权利要求4所述的方法,其特征在于,所述确定所述可能出现的所有路由回环之间的依存关系还包括:
对于两个存在依存关系的路由回环,若存在至少一条第三类转发路径,则取消所述两个存在依存关系的路由回环之间的依存关系;
所述第三类转发路径具有特征:更新之前不属于任意路由回环,更新之后同时属于所述两个存在依存关系的路由回环。
8.根据权利要求7所述的方法,其特征在于,所述至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序还包括:
对于取消依存关系的所述两个存在依存关系的路由回环,确定所述至少一条第三类转发路径的至少一个转发节点在至少所述两个存在依存关系的路由回环的至少一条第一类转发路径的至少一个转发节点更新之后更新。
9.一种更新控制装置,其特征在于,所述装置包括:
一第一确定模块,用于至少根据目标网络的初始转发策略以及目标转发策略,确定更新转发策略过程中所述目标网络中可能出现的所有路由回环;
一第二确定模块,用于确定所述可能出现的所有路由回环之间的依存关系;
一第三确定模块,用于至少根据所述依存关系确定所述目标网络中各路由节点的更新顺序。
10.根据权利要求9所述的装置,其特征在于,所述第二确定模块用于至少根据构成各路由回环的各转发路径的特征,确定所述所有路由回环之间的依存关系。
CN201410777728.5A 2014-12-15 2014-12-15 更新控制方法及更新控制装置 Active CN104506427B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410777728.5A CN104506427B (zh) 2014-12-15 2014-12-15 更新控制方法及更新控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410777728.5A CN104506427B (zh) 2014-12-15 2014-12-15 更新控制方法及更新控制装置

Publications (2)

Publication Number Publication Date
CN104506427A true CN104506427A (zh) 2015-04-08
CN104506427B CN104506427B (zh) 2018-06-08

Family

ID=52948142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410777728.5A Active CN104506427B (zh) 2014-12-15 2014-12-15 更新控制方法及更新控制装置

Country Status (1)

Country Link
CN (1) CN104506427B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572452A (zh) * 2019-09-05 2019-12-13 深圳市博海粤能科技开发有限公司 油田物联网无线通信模块升级方法和系统
CN112053238A (zh) * 2020-11-09 2020-12-08 四川享宇金信金融科技有限公司 信息的交叉核验方法、装置和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154248A1 (en) * 2013-03-26 2014-10-02 Telefonaktiebolaget L M Ericsson (Publ) Data plane distribution of control messages
CN104125148A (zh) * 2014-08-12 2014-10-29 烽火通信科技股份有限公司 三层以太网环的缺陷感知及路由条目刷新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154248A1 (en) * 2013-03-26 2014-10-02 Telefonaktiebolaget L M Ericsson (Publ) Data plane distribution of control messages
CN104125148A (zh) * 2014-08-12 2014-10-29 烽火通信科技股份有限公司 三层以太网环的缺陷感知及路由条目刷新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
乔寓然 等: "片上网络中基于拓扑排序的死锁检测与恢复方法", 《上海交通大学学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572452A (zh) * 2019-09-05 2019-12-13 深圳市博海粤能科技开发有限公司 油田物联网无线通信模块升级方法和系统
CN110572452B (zh) * 2019-09-05 2021-11-09 深圳市博海粤能科技开发有限公司 油田物联网无线通信模块升级方法和系统
CN112053238A (zh) * 2020-11-09 2020-12-08 四川享宇金信金融科技有限公司 信息的交叉核验方法、装置和系统

Also Published As

Publication number Publication date
CN104506427B (zh) 2018-06-08

Similar Documents

Publication Publication Date Title
US9634900B2 (en) Declarative approach to virtual network creation and operation
US10305776B2 (en) Network verification
US10320613B1 (en) Configuring contextually aware IoT policies
US20170346691A1 (en) Network topology optimization
US8467315B2 (en) Method and apparatus for implementing K-shortest paths algorithm in the case of existing multiple edges between adjacent nodes
US10404576B2 (en) Constrained shortest path determination in a network
WO2017215378A1 (zh) 软件定义网络、节点、路径计算方法、装置及存储介质
US10469563B2 (en) Propagating an intelligent walker agent in a network to perform a computation
US9563440B2 (en) Fast learning to train learning machines using smart-triggered reboot
US11252076B2 (en) Data forwarding method and apparatus
WO2016086709A1 (zh) 实现容量规划的方法和装置
CN104579977A (zh) 一种sdn控制器的带约束多路径路由方法及系统
EP3292657A1 (en) Multi-layer network topology optimization
US9391875B2 (en) Resource oriented dependency graph for network configuration
CN104506427A (zh) 更新控制方法及更新控制装置
CN110971521B (zh) 路由路径计算方法、系统、设备及计算机可读存储介质
CN112866120A (zh) 基于分类搜索的sdn流表无环一致性更新方法和系统
CN107977310A (zh) 一种遍历测试命令生成方法及装置
Tkachova et al. Method for OpenFlow protocol verification
EP4141678A1 (en) Execution procedure searching device, method, and program
CN114884825B (zh) 一种网络规划方法、装置及电子设备
KR102353585B1 (ko) 네트워크 라우트 퍼블리싱 방법 및 장치
CN117955848A (zh) 多策略验证方法、装置、电子设备和可读存储介质
Fajardo et al. Finding minimum-cost dynamic routing policies in stochastic-state networks with link failures
Changyong Modeling Unique Shortest Path Routing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant