发明内容
因此,本发明要解决的技术问题在于克服现有技术中的不能既管理部分子域控制器又直接管理部分网元缺陷,从而提供一种基于分层多域的路由确定方法及控制器。
本发明提供的一种基于分层多域的路由确定方法,其特征在于,包括:
获取业务请求中的源节点信息和宿节点信息;
根据所述源节点信息和宿节点信息确定所述业务请求的类型;
根据所述业务请求的类型确定路由的最优路径。
进一步地,所述请求的类型包括同域业务请求和跨域业务请求。
当所述业务请求为同域业务请求时,所述根据所述业务请求的类型确定路由的最优路径的步骤,包括:
确定管理所述源节点和宿节点的控制器;
所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径。
进一步地,当所述源节点和宿节点均由子域控制器直接管理时,控制所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径,包括:
由上层控制器确定所述源节点和宿节点所在的域;
所述上层控制器向所述源节点和宿节点所在域的子域控制器下发建路信令;
所述源节点和宿节点所在域的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径;
所述子域控制器计算所述至少一条候选路径的成本,并确定成本最小的路径作为最优路径,并返回给所述上层控制器层层递归至顶层的全局控制器;
所述全局控制器将所述最优路径回复给入口控制器。
进一步地,当所述源节点和宿节点由层间控制器直接管理时,所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径,包括:
所述源节点和宿节点所在层的控制器根据建路需求、约束条件和当前的网络拓扑信息计算出至少一条候选路径;
所述源节点和宿节点所在层的控制器计算所述至少一条候选路径的成本,并确定成本最小的路径作为最优路径,并向上层层递归至顶层的全局控制器;
所述全局控制器将所述最优路径回复给入口控制器。
进一步地,当所述业务请求为跨域业务请求时,所述根据所述业务请求的类型确定路由的最优路径的步骤,包括:
确定管理所述源节点和宿节点的控制器;
确定所述源节点和宿节点所在域的边界网关节点,所述控制器根据所述边界网关节点以及建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径。
进一步地,当所述源节点和宿节点均由子域控制器直接管理时,所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径的步骤,包括:
由上层控制器分别选定所述源节点和宿节点所在域的边界网关节点GWs和GWd;
所述上层控制器确定GWs与GWd边界网关节点之间的域序列;
选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
所述源节点所在域的子域控制器向所述上层控制器发送算路请求;
所述上层控制器根据域序列和选定的对等节点,基于当前的抽象网络拓扑计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
遍历的子域控制器收到建路信令后,根据所述上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
所述子域控制器分别计算所建路径的成本,并返回给所述上层控制器层层递归至顶层的全局控制器;
所述全局控制器基于所遍历的子域控制器回复的路径成本信息,计算所述至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
所述全局控制器将所述最优路径回复给入口控制器。
进一步地,当所述源节点和宿节点均由层间控制器直接管理时,所述控制所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径的步骤,包括:
由上层控制器分别选定所述源节点和宿节点所在域的边界网关节点GWs和GWd;
所述上层控制器确定GWs与GWd边界网关节点之间的域序列;
选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
所述上层控制器根据域序列和选定的对等节点,基于当前的部分抽象网络拓扑和部分实际网络拓扑,计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
遍历的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
所述子域控制器分别计算所建路径的成本,并返回给所述上层控制器层层递归至顶层的全局控制器;
所述全局控制器基于所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算所述至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
所述全局控制器将所述最优路径回复给入口控制器。
进一步地,当所述源节点和宿节点中的一个由子域控制器直接管理、另一个由上层控制器直接管理时,所述控制所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径的步骤,包括:
由上层控制器分别选定所述源节点和宿节点所在域的边界网关节点GWs和GWd;
所述上层控制器确定GWs与GWd边界网关节点之间的域序列;
选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
所述源节点所在域的子域控制器向所述上层控制器发送算路请求;
所述上层控制器根据域序列和选定的对等节点,基于当前的部分抽象网络拓扑和部分实际网络拓扑,计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
遍历的子域控制器收到建路信令后,根据所述上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
所述子域控制器分别计算所建路径的成本,并返回给所述上层控制器层层递归至顶层的全局控制器;
所述全局控制器基于所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算所述至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
所述全局控制器将所述最优路径回复给入口控制器。
进一步地,所述跨域请求的最优路径表示为:
op(ns,nd)=op(ns,nbs)+op(nbs,nbd)+op(nbd,nd),
其中,op(ns,nd)表示源节点ns和宿节点nd之间的最优路径,op(ns,nbs)表示源节点ns与相邻域间的边界网关节点nbs之间的最优路径,op(nbs,nbd)表示相邻域间的边界网关节点nbs与相邻域间的边界网关节点nbd之间的最优路径,op(nbd,nd)表示相邻域间的边界网关节点nbd与宿节点nd之间的最优路径。
相应地,本发明还提供一种控制器,其特征在于,包括:所述至少一个处理器以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述的基于分层多域的路由确定方法。
本发明技术方案,具有如下优点:通过获取业务请求中的源节点信息和宿节点信息,根据源节点信息和宿节点信息确定业务请求的类型,根据业务请求的类型确定路由的最优路径,该方法考虑到了分层控制器之间的协同选路,可以有效提高资源的利用率,降低控制器的成本。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1示出了一个基于分层多域SDON的架构的路由***,其中顶层为全局控制器,掌握全局抽象的网络视图,下面控制包含N层子域控制器,N层子域控制器分别管理各自的域拓扑,子域控制器只掌握本地域的拓扑信息,通过与全局控制器交互实现与其他子域控制器的信息交互,或者通过接口实现与其他子域控制器的信息交互。其中的网元节点,既可以由子域控制器管理,也可以由它的上一层管理器直接管理。本实施例提供一种基于分层多域的路由确定方法,由上述控制器协同执行,如图2所示,包括如下步骤:
S1:获取业务请求中的源节点信息和宿节点信息;
当业务到来进行路由算路时,全局控制器首先获得源节点s与宿节点d的信息。
S2:根据源节点信息和宿节点信息确定所述业务请求的类型;
本实施例多域SDON网络中控制器既管理部分子域控制器又直接管理部分网元,根据源节点s与宿节点d的信息确定s与d节点是否属于同一个控制器直接管理,判断该业务是属于同域业务还是跨域业务。其中,同域业务根据s与d节点是否由层间控制器直接管理划分为两种情况:①s与d同域且由子域控制器直接管理;②s与d同域且由第N(N≥2)层控制器直接管理;跨域业务根据s与d节点是否由层间控制器直接管理划分为三种情况:①s与d跨域且均由子域控制器直接管理;②s与d跨域且均由层间控制器直接管理;③s与d跨域,s(或d)由子域控制器直接管理,d(或s)由层间控制器直接管理。
S3:根据业务请求的类型确定路由的最优路径。
根据源宿节点的信息,确定源宿节点由上层控制器直接管理还是子域控制器直接管理,最终确定k条候选路径,全局控制器通过计算k条候选路径的成本,选出成本最小的路径作为最优路径。
根据本发明实施例提供的基于分层多域的路由确定方法,通过获取业务请求中的源节点信息和宿节点信息,根据源节点信息和宿节点信息确定业务请求的类型,根据业务请求的类型确定路由的最优路径,该方法考虑到了分层控制器之间的协同选路,可以有效提高资源的利用率,降低控制器的成本。
第一种情况,即当业务请求为同域业务请求时,上述步骤S3具体包括:
S31:确定管理所述源节点和宿节点的控制器;
S32:所述控制器根据建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从所述至少一条候选路径中确定具有最小成本的路径作为最优路径。
进一步地,同域业务请求中当源节点和宿节点均由子域控制器直接管理时,如图3所示,上述步骤S32具体包括:
S321a:由上层控制器确定源节点和宿节点所在的域;
S321b:上层控制器向源节点和宿节点所在域的子域控制器下发建路信令;
S321c:源节点和宿节点所在域的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径;
S321d:子域控制器计算至少一条候选路径的成本,并确定成本最小的路径作为最优路径,并返回给上层控制器层层递归至顶层的全局控制器;
S321e:全局控制器将最优路径回复给入口控制器。
本实施例中上层控制器为源节点和宿节点所在的域上一层管理器,例如,源节点和宿节点所在的域是第N-1层控制器,那么它的上层控制器为第N层控制器,上层控制器即第N层控制器向s和d节点所在域的子域控制器第N-1层控制器下发建路信令,第N-1层控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息,利用控制器算路模块计算k条候选路径;子域控制器在建路的同时会计算k条候选路径的成本,通过比较后最终确定成本最小的路径作为最优路径。入口控制器包含在s所在域的控制器,直接管理s节点的控制器,确定最优路径后,全局控制器将最优路径回复给入口控制器。
同域请求中当源节点和宿节点由层间控制器直接管理时,如图4所示,上述步骤S32具体包括:
S322a:源节点和宿节点所在层的控制器根据建路需求、约束条件和当前的网络拓扑信息计算出至少一条候选路径;
S322b:源节点和宿节点所在层的控制器计算至少一条候选路径的成本,并确定成本最小的路径作为最优路径,并向上层层递归至顶层的全局控制器;
S322c:全局控制器将最优路径回复给入口控制器。
本实施例中s与d节点同域且由第N(N≥2)层控制器直接管理,第N(N≥2)层控制器根据建路需求、约束条件和当前的网络拓扑信息,直接执行控制器算路模块,计算出k条候选路径,在建路的同时计算k条候选路径的成本,最终确定成本最小的路径作为最优路径。
第二种情况,即当业务请求为跨域业务请求时,上述步骤S3具体包括:
S31’:确定管理所述源节点和宿节点的控制器;
S32’:确定源节点和宿节点所在域的边界网关节点,控制器根据边界网关节点以及建路需求、约束条件和当前的网络拓扑信息计算至少一条候选路径,并从至少一条候选路径中确定具有最小成本的路径作为最优路径。
进一步地,在跨域请求中,当源节点和宿节点均由子域控制器直接管理时,如图5所示,上述步骤S32’具体包括:
S32’1a:由上层控制器分别选定源节点和宿节点所在域的边界网关节点GWs和GWd;
S32’1b:上层控制器确定GWs与GWd边界网关节点之间的域序列;
S32’1c:选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
S32’1d:源节点所在域的子域控制器向上层控制器发送算路请求;
S32’1e:上层控制器根据域序列和选定的对等节点,基于当前的抽象网络拓扑计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
S32’1f:遍历的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
S32’1g:子域控制器分别计算所建路径的成本,并返回给上层控制器层层递归至顶层的全局控制器;
S32’1h:全局控制器基于所遍历的子域控制器回复的路径成本信息,计算至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
S32’1i:全局控制器将最优路径回复给入口控制器。
本实施例中,s节点和d节点上层控制器根据域序列和选定的对等节点,基于当前的抽象网络拓扑,随机计算k条候选路径,根据子域控制器回复的路径成本信息计算k条候选路径的成本,选择成本最小的路径作为最优路径。在跨域请求寻找最优路径时,利用对等节点来提高所选择的路径是最优路径的概率,所谓对等节点,即相邻域的边界网关节点。只要能找到合适的对等节点,就可以达到全局最优的结果。
在跨域请求中,当源节点和宿节点均由层间控制器直接管理时,如图6所示,上述步骤S32’具体包括:
S32’2a:由上层控制器分别选定源节点和宿节点所在域的边界网关节点GWs和GWd;
S32’2b:上层控制器确定GWs与GWd边界网关节点之间的域序列;
S32’2c:选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
S32’2d:上层控制器根据域序列和选定的对等节点,基于当前的部分抽象网络拓扑和部分实际网络拓扑,计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
S32’2e:遍历的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
S32’2f:子域控制器分别计算所建路径的成本,并返回给上层控制器层层递归至顶层的全局控制器;
S32’2g:全局控制器基于所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
S32’2h:全局控制器将最优路径回复给入口控制器。
本实施例中,由于源节点和宿节点由不同层的管理器进行直接管理,它们共同的上一层管理器要基于当前的域内部的部分抽象网络拓扑和网元之间的部分实际网络拓扑随机计算k条候选路径,并向遍历的子域控制器下发建路信令,所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算k条候选路径的成本,选择成本最小的路径作为最优路径。
在跨域请求中,当源节点和宿节点中的一个由子域控制器直接管理、另一个由上层控制器直接管理时,如图7所示,上述步骤S32’具体包括:
S32’3a:由上层控制器分别选定所述源节点和宿节点所在域的边界网关节点GWs和GWd;
S32’3b:上层控制器确定GWs与GWd边界网关节点之间的域序列;
S32’3c:选定所遍历的相邻域间的边界网关节点作为算路的对等节点;
S32’3d:源节点所在域的子域控制器向所述上层控制器发送算路请求;
S32’3e:上层控制器根据域序列和选定的对等节点,基于当前的部分抽象网络拓扑和部分实际网络拓扑,计算至少一条候选路径,并向遍历的子域控制器下发建路信令;
S32’3f:遍历的子域控制器收到建路信令后,根据上层控制器的建路需求、约束条件和当前的网络拓扑信息分别进行域内建路;
S32’3g:子域控制器分别计算所建路径的成本,并返回给上层控制器层层递归至顶层的全局控制器;
S32’3h:全局控制器基于所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算至少一条候选路径的成本,并确定成本最小的路径作为最优路径;
S32’3i:全局控制器将最优路径回复给入口控制器。
本实施例中s节点(或d)由子域控制器直接管理,d节点(或s)由层间控制器直接管理时,由s节点所在域的子域控制器向上层控制器,由它们共同的上一级控制器基于当前的部分抽象网络拓扑和部分实际网络拓扑随机计算k条候选路径,基于所遍历的子域控制器回复的路径成本信息和算路时所遍历的由上层控制器直接管理的网元的成本信息,计算k条候选路径的成本,最终选择成本最小的路径作为最优路径。
作为一个优选的实施方式,本实施例中跨域请求的最优路径可以表示为:
op(ns,nd)=op(ns,nbs)+op(nbs,nbd)+op(nbd,nd),
其中,op(ns,nd)表示源节点ns和宿节点nd之间的最优路径,op(ns,nbs)表示源节点ns与相邻域间的边界网关节点nbs之间的最优路径,op(nbs,nbd)表示相邻域间的边界网关节点nbs与相邻域间的边界网关节点nbd之间的最优路径,op(nbd,nd)表示相邻域间的边界网关节点nbd与宿节点nd之间的最优路径。
如果入口域包含有m个边界网关节点,出口域包含n个边界网关节点,则最多存在m*n个对等节点。在算路时每对对等节点能够实现全局最优路径的概率为1/m*n,如果选择k对对等节点即建立k条候选路径,然后根据每条路径的成本函数,选择最优路径,全局最优的概率提高到1-(1-1/m*n)k,故随着k的增加,结果为全局最优的概率越大,域内具体的算路基于控制器算路模块。
相应地,本实施例还包括一种控制器,如图8所示,包括:至少一个处理器210以及与至少一个处理器通信连接的存储器220;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行基于分层多域的路由确定方法。该***还可以包括:输入单元230。
处理器210、存储器220、输入单元230可以通过总线200或者其他方式连接,图3中以通过总线200连接为例。
存储器220作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本实施例中的确定电力设备间最短路径的方法对应的程序指令/模块。
处理器210通过运行存储在存储器220中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即本实施例中的方法。
输入单元230可接收输入的数字或字符信息,以及产生与列表项操作的处理装置的用户设置以及功能控制有关的键信号输入。
所述一个或者多个模块存储在所述存储器220中,当被所述一个或者多个处理器210执行时,执行如图2所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图2所示的实施例中的相关描述。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。