一种用于软件定义网络的路由确定方法和装置的制造方法

文档序号:8415498阅读:439来源:国知局
一种用于软件定义网络的路由确定方法和装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,更具体的涉及一种用于软件定义网络的路由确定方 法和装置。
【背景技术】
[0002] 软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型的网络架构,它的设 计理念是将网络的控制平面与数据转发平面进行分离,集中的控制器(controller)中的 软件平台可以通过开放的接口去实现可编程化控制基础设施层的硬件,实现对网络资源灵 活的按需调配,比如,基础设施即服务(Infrastructure-as-a-Service,IaaS)就可以看做 一个SDN网络。
[0003]在SDN网络中,工作在基础设施层的网络设备(如SDN交换机)可以采用通用的硬 件,只负责单纯的数据转发,不再需要对逻辑控制进行过多考虑,设备中的各个表项并非是 由设备自身根据周边的网络环境在本地自行生成的,而是由控制器统一下发的,因此各种 复杂的控制逻辑(例如链路发现、地址学习、路由计算等等)都无需在SDN交换机中实现; 另一方面,SDN控制器集中管控SDN网络的全网带宽资源,可以快速地从全局角度调配网络 资源来满足业务的需求,实现网络资源利用的最优化。
[0004] 因此,SDN控制平面最基本的一个功能就是路由计算,又称算路,路由计算应用于 业务流量规划、带宽利用优化等涉及线性规划的网络规划问题。一方面,与传统网络不同, 路由计算涉及全网的链路,而不是如分布式网络中路由算法仅仅基于局部信息算最短路决 策路由,因此算路问题的规模和网络的动态变化大大增加,为了获得实时的计算结果,对网 络规划(其核心是算路问题)涉及线性规划的计算效率提出了更高的要求;另一方面,在实 际的组网环境中,由于地震等自然因素会导致网络中某些链路中断,则需要在尽量短的时 间内通过重路由(reroute)将这些中断的业务部署到其他的链路上,对网络规划(其核心 是算路问题)中的计算效率同样有很高要求。
[0005] 网络规划中使用的分析方法是利用线性规划的思想将SDN网络的拓扑结构结合 业务需求抽象成数学模型后,利用单纯形法进行求解,而目前路由计算使用的计算方法求 解效率低,无法满足在SDN网络环境下的涉及算路的网络规划问题对求解效率的要求,影 响了SDN网络的网络规划和调度的实时性,限制了SDN控制平面对SDN网络的网络规划能 力。

【发明内容】

[0006]有鉴于此,本发明实施例提供了一种用于软件定义网络的路由计算方法和装置, 以提高路由计算效率,更加适合求解在SDN网络环境下的涉及算路的网络规划问题。
[0007]第一方面,本发明实施例提供了一种用于软件定义SDN网络的路由确定方法,所 述SDN网络包括多个网络节点,所述多个网络节点包括第一网络节点和第二网络节点,所 述第一网络节点与所述第二网络节点之间存在多条路径,所述方法用于从所述多条路径中 确定出符合指定业务需求的目标路径,所述方法包括:
[0008] 确定至少两个起点,所述至少两个起点是至少两个迭代计算过程的计算初始点, 所述至少两个迭代计算过程用于通过求解一线性规划数学模型来得到所述目标路径,所述 线性规划数学模型与所述指定业务需求对应,每个所述起点唯一地对应所述线性规划数学 模型的一组基,所述至少两个起点对应的至少两组基中,任意两组基之间线性相关的基的 数量小于或者等于选取阈值,所述线性规划数学模型存在其他至少一组基与所述至少两组 基中的一组基之间线性相关的基的数量大于或者等于所述选取阈值;
[0009] 根据所述至少两个迭代计算过程中至少一个迭代计算过程的计算结果,确定所述 目标路径,其中每个所述迭代计算过程的计算初始点是一所述起点,所述至少两个起点中 的任意一个起点表示一条用于求解所述目标路径的初始路径或者经过所述任意一个起点 对应的迭代计算过程中的若干次迭代计算后表示一条用于求解所述目标路径的初始路径。
[0010] 在第一方面的第一种可能的实现方式中,所述至少两个迭代计算过程是并行执行 的。
[0011] 结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述根据所 述至少两个迭代计算过程中至少一个迭代计算过程的计算结果,确定所述目标路径,包 括:
[0012] 在所述至少两个迭代计算过程中的任何一个计算出所述线性规划数学模型的最 优解的情况下,终止所述数量个计算线程;
[0013] 根据所述最优解得到所述目标路径。
[0014] 结合第一方面,或者第一方面第一至第二种任意一种可能的实现方式,在第三种 可能的实现方式中,所述方法还包括:
[0015] 将所述至少两个迭代计算过程中的每个迭代计算过程正在计算的计算点与记录 集合中的点进行匹配,所述记录集合是述至少两个迭代计算过程已计算的点的集合;
[0016] 在所述记录集合中不包括所述正在的计算点的情况下,将所述当前的计算点加入 所述记录集合;
[0017] 在所述记录集合中包括所述正在计算的计算点的情况下,终止所述正在计算的计 算点对应的迭代计算过程。
[0018] 结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,在所述记录 集合中包括所述正在计算的计算点的情况下,所述方法还包括:
[0019] 利用所述终止的迭代计算过程的计算资源进行新的迭代计算过程,所述新的迭代 计算过程的计算起始点与所述至少两个迭代计算过程中的一个有相同的计算起始点,并且 所述新的计算线程的第二个计算点与具有相同计算起始点的所述迭代计算过程的第二个 计算点不同。
[0020] 第二方面,本发明实施例提供了一种用于软件定义网络的路由确定方法,所述SDN 网络包括多个网络节点,所述多个网络节点包括第一网络节点和第二网络节点,所述第一 网络节点与所述第二网络节点之间存在多条路径,所述方法用于从所述多条路径中确定出 符合指定业务需求的目标路径,所述方法包括:
[0021] 确定至少两个起点,所述至少两个起点是至少两个迭代计算过程的计算初始点, 所述至少两个迭代计算过程用于通过解一线性规划数学模型来得到所述目标路径,所述 线性规划数学模型与所述指定业务需求对应,每个所述起点是一起点选择方程组的唯一的 解,每个所述起点选择方程组中的每个起点选择方程对应所述线性规划数学模型的一个约 束条件不等式,每个所述约束条件不等式的选择向量与所述线性规划数学模型的目标函数 的目标向量间的夹角大于或者等于90°,所述选择向量是所述约束条件不等式的一个法向 量,所述目标向量是所述目标函数的一个法向量;
[0022] 根据所述至少两个迭代计算过程中至少一个迭代计算过程的计算结果,确定所述 目标路径,其中每个所述迭代计算过程的计算初始点是一所述起点,所述至少两个起点中 的任意一个起点表示一条用于求解所述目标路径的初始路径或者经过所述任意一个起点 对应的迭代计算过程中的若干次迭代计算后表示一条用于求解所述目标路径的初始路径。
[0023] 在第二方面的第一种可能的实现方式中,所述至少两个迭代计算过程是并行执行 的。
[0024] 结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述根据所 述至少两个迭代计算过程中至少一个迭代计算过程的计算结果,确定所述目标路径,包 括:
[0025] 在所述至少两个迭代计算过程中的任何一个计算出所述线性规划数学模型的最 优解的情况下,终止所述数量个计算线程;
[0026] 根据所述最优解得到所述目标路径。
[0027] 结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种 可能的实现方式中,所述方法还包括:
[0028] 将所述至少两个迭代计算过程中的每个迭代计算过程正在计算的计算点与记录 集合中的点进行匹配,所述记录集合是述至少两个迭代计算过程已计算的点的集合;
[0029] 在所述记录集合中不包括所述正在的计算点的情况下,将所述当前的计算点加入 所述记录集合;
[0030] 在所述记录集合中包括所述正在计算的计算点的情况下,终止所述正在计算的计 算点对应的迭代计算过程。
[0031] 结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,在所述记录 集合中包括所述正在计算的计算点的情况下,所述方法还包括:
[0032] 利用所述终止的迭代计算过程的计算资源进行新的迭代计算过程,所述新的迭代 计算过程的计算起始点与所述至少两个迭代计算过程中的一个有相同的计算起始点,并且 所述新的计算线程的第二个计算点与具有相同计算起始点的所述迭代计算过程的第二个 计算点不同。
[0033] 第三方面,本发明实施例提供了一种用于软件定义SDN网络的路由确定装置,所 述SDN网络多个网络节点,所述多个网络节点包括第一网络节点和第二网络节点,所述第 一网络节点与所述第二网络节点之间存在多条路径,所述方法用于从所述多条路径中确定 出符合指定业务需求的目标路径,所述装置包括:
[0034] 起点确定单元,用于确定至少两个起点,所述至少两个起点是至少两个并行的迭 代计算过程的计算初始点,所述至少两个迭代计算过程用于通过求解一线性规划数学模型 来得到所述目标路径,所述线性规划数学模型与所述指定业务需求对应,每个所述起点唯 一地对应所述线性规划数学模型的一组基,所述至少两个起点对应的至少两组基中,任意 两组基之间线性相关的基的数量小于或者等于选取阈值,所述线性规划数学模型存在其他 至少一组基与所述至少两组基中的一组基之间线性相关的基的数量大于或者等于所述选 取阈值;
[0035]目标路径确定单元,用于根据所述至少两个并行的迭代计算过程中至少一个迭代 计算过程的计算结果,确定所述目标路径,其中每个所述迭代计算过程的计算初始点是一 所述起点,所述至少两个起点中的任意一个起点表示一条用于求解所述目标路径的初始 路径或者经过所述任意一个起点对应的迭代计算过程中的若干次迭代计算后表示一条用 于求解所述目标路径的初始路径。
[0036] 在第三方面的第一种可能的实现方
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1