CN114095439A - 流量优化方法和装置、电子设备、计算机可读存储介质 - Google Patents
流量优化方法和装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- CN114095439A CN114095439A CN202010868603.9A CN202010868603A CN114095439A CN 114095439 A CN114095439 A CN 114095439A CN 202010868603 A CN202010868603 A CN 202010868603A CN 114095439 A CN114095439 A CN 114095439A
- Authority
- CN
- China
- Prior art keywords
- path
- service
- link
- chromosome
- traffic
- 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
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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
-
- 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/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种流量优化方法和装置、电子设备、计算机可读存储介质,流量优化方法包括:分别为每一个业务计算第一路径对,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件;其中,第一路径对包括:完全分离的第一主路径和第一备路径;主路径约束条件包括:全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路的第一峰值流量小于或等于第一预设阈值;备路径约束条件包括:全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值。
Description
技术领域
本申请实施例涉及通信领域,特别涉及流量优化方法和装置、电子设备、计算机可读存储介质。
背景技术
流量工程一直是互联网协议(IP,Internet Protocol)网络中的一大难题,网络通信技术以及网络优化发展至今,针对各种场景的各种流量优化方案层出不穷。相关的流量优化方法无法兼顾路径切换的实时性和路径质量的保证。
发明内容
本申请实施例提供一种流量优化方法和装置、电子设备、计算机可读存储介质。
第一方面,本申请实施例提供一种流量优化方法,包括:
分别为每一个业务计算第一路径对,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件;
其中,第一路径对包括:完全分离的第一主路径和第一备路径;
主路径约束条件包括:全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路的第一峰值流量小于或等于第一预设阈值;
备路径约束条件包括:全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值。
第二方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;
存储器,存储器上存储有至少一个程序,当至少一个程序被至少一个处理器执行,使得至少一个处理器实现上述任意一种流量优化方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种流量优化方法。
本申请实施例提供的流量优化方法,为每一个业务计算包括完全分离的第一主路径和第一备路径的第一路径对,从而在全网中任意一条或一条以上链路发生故障时,可以瞬间将受影响的业务进行主备路径的切换,也就实现了路径切换的实时性;并且全网中任意一条链路均满足主路径约束条件和备路径约束条件,主路径约束条件即全网中每一个业务均工作在第一主路径的情况下,任意一条链路的第一峰值流量均小于或等于第一预设阈值,认为第一主路径达到网络负载均衡;备路径约束条件即全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值,认为第一备路径满足网络负载均衡,从而实现了在全网中任意一条或一条以上链路发生故障时,可以将受影响的业务切换到一条质量较好的备路径,也就是仍然满足网络均衡负载的备路径,也就是实现了路径切换的路径质量的保证;综上,本申请实施例提供的流量优化方法兼顾了路径切换的实时性和路径质量的保证。
附图说明
图1为本申请一个实施例提供的流量优化方法的流程图;
图2为本申请实施例提供的分别为每一个业务计算第一路径对的方法的流程图;
图3为本申请实施例提供的分别为每一个业务计算第二路径对的方法流程图;
图4为本申请另一个实施例提供的流量优化装置的组成框图;
图5为本申请实施例的示例1提供的利用遗传算法计算每一个业务的第一路径对的方法的流程图;
图6为本申请实施例的示例2提供的备路径调整方法的流程图;
图7为本申请实施例的示例3提供的流量优化方法的流程图;
图8为本申请实施例的示例4提供的网络控制器的示意图;
图9为本申请实施例的示例4提供的流量优化方法的流程图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图对本申请提供的流量优化方法和装置、电子设备、计算机可读存储介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本申请透彻和完整,并将使本领域技术人员充分理解本申请的范围。
在不冲突的情况下,本申请各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括至少一个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本申请。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加至少一个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本申请的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
链路故障可以认为是流量工程中的一种特殊场景,即发生故障的链路能承载的流量为0。
针对故障场景相关的流量优化方法分为两类,第一类是当网络中部分链路发生故障时,临时为受影响的业务计算备路径,并切换到备路径;第二类是提前计算与工作路径(即主路径)完全分离的备路径,当链路发生故障时,直接切换到备选路径即可。
上述两类流量优化方法各有优劣,第一类方法可以根据网络状态实时为业务计算一条质量较好的路径,但是重路由时间内业务仍处于阻塞状态,即重路由时间内业务发生中断,也就是无法满足路径切换的实时性;第二类方法提供的预置备路径虽然能够在链路发生故障时,瞬间切换到备路径,无需实时计算,确保对业务的影响最小,但是无法保证预置的路径质量(可能是拥塞链路)。也就是说,相关的流量优化方法无法兼顾路径切换的实时性和路径质量的保证。
图1为本申请一个实施例提供的流量优化方法的流程图。
第一方面,参照图1,本申请一个实施例提供一种流量优化方法,包括:
步骤100、分别为每一个业务计算第一路径对,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件;其中,第一路径对包括:完全分离的第一主路径和第一备路径;主路径约束条件包括:全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路的第一峰值流量小于或等于第一预设阈值;备路径约束条件包括:全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值。
在一些示例性实施例中,可以在预先设定的触发条件满足的情况下,分别为每一个业务计算第一路径对。例如,预先设定的触发条件可以是接收到批量业务请求,或者在网络拥塞的情况下,或者在需要进行流量优化的情况下。本申请实施例对具体的触发条件不做限定,具体的触发条件也不用于限定本申请实施例的保护范围。
在一些示例性实施例中,同一个业务的第一主路径和第一备路径完全分离是指,同一个业务的第一主路径和第一备路径不存在任何一条共有链路,也就是说,第一主路径上的任意一条链路均与第一备路径上的任意一条链路不同。
本申请实施例中,限定同一个业务的第一主路径和第一备路径完全分离的目的是,确保第一主路径上的任意一条链路发生故障(例如断链)后,该业务能够成功地切换到第一备路径上。
在一些示例性实施例中,主路径约束条件包括:全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路的第一峰值流量小于或等于第一预设阈值。
在一些示例性实施例中,链路的第一峰值是指全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路上承载的所有业务的峰值流量之和。不难理解,这种情况下,链路上承载的所有业务即是第一主路径经过该链路的所有业务(即下文的第一目标业务)。那么,链路的第一峰值流量为所有第一目标业务的峰值流量之和;其中,第一目标业务为第一主路径经过链路的业务。
在一些示例性实施例中,备路径约束条件包括:全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值。
在一些示例性实施例中,链路的第二峰值流量是指全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路上承载的所有业务的峰值流量之和。不难理解,这种情况下,链路上承载的所有业务包括:未受链路故障影响,且第一主路径经过该链路的所有业务,以及受链路故障影响,且第一备路径经过该链路的所有业务。
在一些示例性实施例中,在判断链路的第二峰值流量是否小于或等于第二预设阈值时,需要考虑链路故障可能存在的所有情况,并对任意一个可能的情况进行链路的第二峰值流量的计算,以及任意一个可能的情况进行链路的第二峰值流量是否小于或等于第二预设阈值的判断,因此,判断链路的第二峰值流量是否小于或等于第二预设阈值的过程非常复杂和耗时。
为了简化链路的第二峰值流量是否小于或等于第二预设阈值的判断过程,可以假设最多会有X条链路发生故障,这样,对于某一条链路1,仅需要考虑任意X条链路发生故障以后,第一主路径经过这X条链路的业务进行主备路径的切换后,链路1所增加的最大峰值流量,也就是第一主路径经过X条发生故障的链路中的任意一条链路,且第一备路径经过链路1的业务的峰值流量之和。
为了计算链路1所增加的最大峰值流量,对各种链路故障可能存在的情况进行分析发现,这里列举一个简单的例子进行说明,其他复杂的情况也同样适用。例如,如果两个业务的第一主路径不存在重叠(也就是没有共有链路),并且这两个业务的第一备路径均经过链路1,那么当网络中任意一条链路发生故障时,这两个业务中最多只有一个业务需要切换到第一备路径,那么链路1所增加的峰值流量为这两个业务中任意一个业务的峰值流量,为了简化计算,可以链路1所增加的峰值流量可以取这两个业务的峰值流量的最大值,这样,所有情况都涵盖进去了。
也就是说,可以将第一备路径经过链路1的所有业务进行分组,使得同一个业务组中的所有业务的第一主路径存在重叠;然后分别计算每一个业务组的峰值流量,将峰值流量最大的X个业务组选择出来;选择出的X个业务组(即下文的X个目标业务组)的峰值流量之和即为链路1所增加的最大峰值流量。例如,业务S1、业务S2、业务S3、业务S4的第一备路径均经过链路1,并且,业务S1和业务S2的第一主路径存在重叠(如均经过链路2),业务S3和业务S4的第一主路径存在重叠(如均经过链路3),业务S1、业务S3和业务S4的第一主路径也存在重叠(如均经过链路4),那么,可以将业务S1和业务S2划分为业务组1,将业务S3和业务S4划分为业务组2,将业务S1、业务S3和业务S4划分为业务组3,假设业务组1的峰值流量为40,业务组2的峰值流量为30,业务组3的峰值流量为50,那么峰值流量最大的业务组为业务组3,其次是业务组1,峰值流量最小的业务组是业务组2,如果X为1,那么选择业务组3作为目标业务组;如果X为2,那么选择业务组1和业务组3作为目标业务组。
因此,链路的第二峰值流量可以表示为:traffic_work_sum+traffic_slave_sum;其中,traffic_slave_sum为选择出的X个业务组(即下文的X个目标业务组)的峰值流量之和,traffic_work_sum为第一主路径经过该链路的业务(即下文的第一目标业务)的峰值流量之和。
也就是说,链路的第二峰值流量为第一目标业务的峰值流量之和,加上X个目标业务组的峰值流量之和;其中,目标业务组的峰值流量为目标业务组包括的所有业务的峰值流量之和;X为发生故障的链路的最大数量;
其中,第一目标业务为第一主路径经过链路的业务,X个目标业务组为将第一备路径经过链路的所有业务进行划分得到的所有业务组中,峰值流量最大的X个业务组;
其中,将第一备路径经过链路的所有业务中,第一主路径存在重叠的业务划分为同一个业务组。
需要说明的是,业务的峰值流量是指业务的流量的最大值,具体可以根据业务的最大带宽来计算获得,也可以基于对业务的流量的实时统计值获得,也可以采用其他方式获得,具体的获得方式不用于限定本申请实施例的保护范围。
在一些示例性实施例中,为了使得全网中任意一条链路均满足主路径约束条件和备路径约束条件时,全网达到负载均衡,可以基于全网的平均流量来确定第一预设阈值和第二预设阈值。例如,第一预设阈值和第二预设阈值可以直接采用全网的平均流量,也可以取比全网的平均流量稍微高一点。这样,在全网中任意一条链路均满足主路径约束条件和备路径约束条件时,基本上能够保证网络负载均衡,至少能够保证网络中的每一条链路都不会出现链路拥塞的情况。
在一些示例性实施例中,如图2所示,分别为每一个业务计算第一路径对包括:
步骤200、分别为每一个业务计算第二路径对;其中,第二路径对包括:完全分离的第二主路径和第二备路径。
在一些示例性实施例中,可以采用多种方式分别为每一个业务计算第二路径对。例如,可以采用本领域技术人员所熟知的方式来计算,只要每一个业务的第二路径对的第二主路径和第二备路径是完全分离的即可;也可以采用本申请实施例提出的方式(具体计算方式见下文描述)来计算。这些可实现的计算方式均在本申请实施例的保护范围内。
需要说明的是,虽然很多种方式均能够计算出包括完全分离的第二主路径和第二备路径的第二路径对,但是,并不是每一种方式计算的第一路径对均能够使得全网中任意一条链路均满足主路径约束条件,因此,在后续流程中需要判断全网中任意一条链路均满足主路径约束条件。
步骤201、如果全网中任意一条链路均满足主路径约束条件,且存在至少一条链路不满足备路径约束条件,调整第二备路径经过目标链路的至少一个业务对应的第二备路径,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件,将调整后的第二路径对作为第一路径对;其中,目标链路为不满足备路径约束条件的链路。
在一些示例性实施例中,如果存在至少一条链路不满足主路径约束条件,说明无解,则直接结束本流程。
在一些示例性实施例中,为了使得全网中任意一条链路均满足主路径约束条件和备路径约束条件,可以对第二备路径经过目标链路的至少一个业务对应的第二备路径进行一次或一次以上调整,如果进行一次调整后,仍存在至少一条链路不满足备路径约束条件,则继续对第二备路径经过目标链路的至少一个业务对应的第二备路径进行调整,直到全网中任意一条链路均满足主路径约束条件和备路径约束条件,或者程序运行时间大于或等于预设时间阈值,输出最后一次调整后的第二路径对作为第一路径对。
需要说明的是,对应程序运行时间大于或等于预设时间阈值的情况下输出的最后一次调整后的第一路径对,虽然仅满足主路径约束条件,而不满足备路径约束条件,但是这种情况下输出的最后一次调整后的第二路径对也仅有个别链路会出现拥塞的情况,在实际应用中只要拥塞程度在可接受范围内也是可以的。
在一些示例性实施例中,调整第二备路径经过目标链路的至少一个业务对应的第二备路径包括:
裁剪掉第二备路径经过目标链路的业务中,除第二目标业务之外的至少一个业务的第二备路径,使得目标链路满足备路径约束条件;其中,第二目标业务为不能被裁剪掉第二备路径的业务;
对于被裁剪掉第二备路径的每一个业务,将被裁剪掉的第二备路径作为必避约束条件计算新的第一备路径。
在一些示例性实施例中,可以采用多种方式进行业务的第二备路径的裁剪。
例如,可以先筛选出第二备路径经过目标链路的业务,然后逐一裁剪筛选出的业务的第二备路径,每裁剪一个业务的第二备路径,判断目标链路是否满足备路径约束条件,如果目标链路不满足备路径约束条件,则继续裁剪下一个业务的第二备路径,直到目标链路满足备路径约束条件;如果目标链路满足备路径约束条件,则为每一个裁剪掉第二备路径的业务计算新的第二备路径。具体在逐一裁剪业务的第二备路径时,可以按照业务的编号顺序进行裁剪,也可以按照业务的第二备路径的长度进行裁剪,也可以按照业务的其他顺序进行裁剪。
又如,可以直接筛选出需要裁剪掉第二备路径的所有业务,使得目标链路满足备路径约束条件,然后一次性裁剪掉筛选出的所有业务的第二备路径。具体在筛选需要裁剪掉第二备路径的所有业务时,可以将目标链路的第二峰值流量与被裁剪掉第二备路径的所有业务的峰值流量之和做差,判断得到的差值是否小于或等于第二预设阈值,如果得到的差值小于或等于第二预设阈值,则将参与计算的业务筛选出来;如果得到的差值大于第二预设阈值,则继续筛选其他业务,直到得到的差值小于或等于第二预设阈值。
当然,还可以采用其他的裁剪方式,具体的裁剪方式不用于限定本申请实施例的保护范围,这里不再赘述。
在一些示例性实施例中,调整第二备路径经过目标链路的至少一个业务对应的第二备路径还包括:
如果为某一个业务计算新的第二备路径失败,将某一个业务的第二备路径还原为被裁剪掉的第二备路径,将某一个业务添加到第二目标业务中;
重新执行裁剪掉第二备路径经过目标链路的业务中,除第二目标业务之外的至少一个业务的第二备路径,使得目标链路满足备路径约束条件。
本申请实施例中,在为被裁剪掉第二备路径的每一个业务计算新的第二备路径时,将被裁剪掉的第二备路径作为必避路径是指,所计算的新的第二备路径和作为必避路径的第二备路径应该属于同一个业务。例如,业务1被裁剪掉的第二备路径为路径1,业务1的新的第二备路径为路径2;业务2被裁剪掉的第二备路径为路径3,业务2的新的第二备路径为路径4;那么,在计算路径2时,仅将路径1作为必避路径,而不将路径3作为必避路径;同样,在计算路径4时,仅将路径3作为必避路径,而不将路径1作为必避路径。其他的情况以此类推,这里不再赘述。
本申请实施例中,在为被裁剪掉第二备路径的每一个业务计算新的第二备路径时,将被裁剪掉的第二备路径作为必避路径,避免了重新计算到被裁剪掉的第二备路径上,从而提高了优化效率,并且降低了进入死循环的风险。
本申请实施例提供的流量优化方法,为每一个业务计算包括完全分离的第一主路径和第一备路径的第一路径对,从而在全网中任意一条或一条以上链路发生故障时,可以瞬间将受影响的业务进行主备路径的切换,也就实现了路径切换的实时性;并且全网中任意一条链路均满足主路径约束条件和备路径约束条件,主路径约束条件即全网中每一个业务均工作在第一主路径的情况下,任意一条链路的第一峰值流量均小于或等于第一预设阈值,认为第一主路径达到网络负载均衡;备路径约束条件即全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值,认为第一备路径尽量满足网络负载均衡,从而实现了在全网中任意一条或一条以上链路发生故障时,可以将受影响的业务切换到一条质量较好的备路径,也就是仍然满足网络均衡负载的备路径,也就是实现了路径切换的路径质量的保证;综上,本申请实施例提供的流量优化方法兼顾了路径切换的实时性和路径质量的保证。
在一些示例性实施例中,如图3所示,分别为每一个业务计算第二路径对包括:
步骤300、获取M个第一染色体个体;其中,第一染色体个体中的一个基因位包括:一个业务的第三路径对,第三路径对包括:完全分离的第三主路径和第三备路径;M为大于或等于1,且小于或等于第三预设阈值的整数。
在一些示例性实施例中,第三预设阈值可以根据实际情况随意设定,例如可以设定为300。
在一些示例性实施例中,在第1次迭代循环时,获取M个第一染色体个体包括:
生成初始染色体个体;其中,初始染色体个体中的一个基因位包括:一个业务的第四路径对,第四路径对包括:完全分离的第四主路径和第四备路径;
分别计算每一个初始染色体个体的适应度;
按照初始染色体个体的适应度进行排序,将排在最前面的M个初始染色体个体筛选出来作为M个第一染色体个体。
在一些示例性实施例中,初始状态下,可以仅生成1个初始染色体个体,也可以生成两个或两个以上初始染色体个体,本申请实施例对此不做限定。
如果生成的初始染色体个体的数量小于或等于第三预设阈值,则M等于生成的初始染色体个体的数量;如果生成的初始染色体个体的数量大于第三预设阈值,则M等于第三预设阈值。
需要说明的是,生成初始染色体个体时,为业务计算的第四主路径应该满足业务自身约束条件,如必经节点、必避节点、时延等。
在一些示例性实施例中,可以按照随机顺序为每一个业务计算第四路径对,可以采用dijkstra算法(迪克斯特拉算法)计算每一个业务的第四路径对,然后将计算得到的第四路径对填入业务对应的基因位;对应计算第四路径对失败的业务,在业务对应的基因位填预定特殊字符(如null),以此作为初始染色体个体。
在一些示例性实施例中,在第2次或之后的迭代循环时,获取M个第一染色体个体包括:
分别计算上一轮迭代的每一个第一染色体个体的适应度,分别计算上一轮迭代的每一个第二染色体个体的适应度;
按照适应度对上一轮迭代的所有第一染色体个体和第二染色体个体进行排序,将排在最前面的M个染色体个体筛选出来作为下一轮迭代的M个第一染色体个体。
需要说明的是,如果上一轮迭代的所有第一染色体个体和第二染色体个体的总数量小于或等于第三预设阈值,则M等于上一轮迭代的所有第一染色体个体和第二染色体个体的总数量;如果上一轮迭代的所有第一染色体个体和第二染色体个体的总数量大于第三预设阈值,则M等于第三预设阈值。
步骤301、对M个第一染色体个体进行预定处理得到N个第二染色体个体;其中,预定处理包括:变异;或者交叉和变异;N为大于或等于1的整数。
在一些示例性实施例中,对M个第一染色体个体进行预定处理得到N个第二染色体个体包括:
当M等于1时,对M个第一染色体个体进行变异得到N个第二染色体个体;
当M大于1,且小于或等于第三预设阈值时,对M个第一染色体进行交叉得到N1个交叉染色体个体,对M个第一染色体进行变异得到N2个变异染色体个体,N1个交叉染色体个体和N2个变异染色体个体即为N个第二染色体个体;其中,N1,N2均为大于或等于1的整数。
在一些示例性实施例中,对M个第一染色体个体进行变异得到N个第二染色体个体包括:
对于每一个第一染色体个体,分别获取第一染色体个体的每一个基因位的突变概率;
如果某一个基因位的突变概率大于或等于第四预设阈值,为某一个基因位对应的业务重新计算第三路径对,将重新计算得到的第三路径对作为第二染色体个体中某一个基因位的路径对;
如果某一个基因位的突变概率小于第四预设阈值,将第一染色体个体中某一个基因位的第三路径对作为第二染色体个体中某一个基因位的路径对。
在一些示例性实施例中,分别获取第一染色体个体的每一个基因位的突变概率包括:
对于第一染色体个体的每一个基因位,分别计算基因位的第三主路径上的每一条链路的第一峰值流量,将所有链路的第一峰值流量中的最大值作为基因位的突变概率。
本申请实施例中,将基因位的第三主路径上的所有链路的第一峰值流量中的最大值作为基因位的突变概率,并在突变概率大于或等于第四预设阈值时,重新计算第三路径对,也就是说,如果第三主路径上所有链路的第一峰值流量中的最大值大于或等于第四预设阈值时,认为,第三主路径存在拥塞的概率比较大,需要重新计算第三路径对,以寻求可能的更优解。
在一些示例性实施例中,对M个第一染色体个体进行交叉得到N1个交叉染色体个体包括:
对于任意两个第一染色体个体,分别比较两个第一染色体个体中的每一个基因位的优劣,将更优基因位的第三路径对作为交叉染色体个体的基因位的路径对。
在一些示例性实施例中,分别比较两个第一染色体个体中的每一个基因位的优劣包括:
对于每一个基因位,分别计算两个第一染色体个体中的基因位的第三主路径上每一条链路的第一峰值流量,所有链路的第一峰值流量中的最大值较高的第一染色体个体的基因位为次优基因位,所有链路的第一峰值流量中的最大值较低的第一染色体个体的基因位为更优基因位。
本申请实施例中,基于基因位的第三主路径上所有链路的第一峰值流量中的最大值来比较基因位的优劣,认为第三主路径上所有链路的第一峰值流量中的最大值较高的基因位为次优基因位,第三主路径上所有链路的第一峰值流量中的最大值较低的基因位为更优基因位,从而保证交叉染色体个体中每一个基因位均来自于更优基因位,也就是每一个基因位均为更优解。
需要说明的是,对染色体个体进行交叉和变异均是为了寻求更优的染色体个体。
步骤302、从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体,判断是否满足收敛条件;如果满足收敛条件,分别将最优染色体个体中的每一个基因位的路径对作为基因位对应的业务的第二路径对。
在一些示例性实施例中,从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体包括:
将M个第一染色体个体和N个第二染色体个体中,满足预设条件的染色体个体作为最优染色体个体;
其中,预设条件包括:全网平均峰值流量最小;或者,第一峰值流量最大的链路的第一峰值流量最小。
在一些示例性实施例中,从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体包括:
将M个第一染色体个体和N个第二染色体个体中至少一个基因位为预定特殊字符的染色体个体剔除,从剩余的染色体个体中选择满足预设条件的染色体个体作为最优染色体个体。
在一些示例性实施例中,全网平均峰值流量可以是按照染色体个体中每一个基因位的主路径来作为对应业务的工作路径时,分别计算每一条链路的第一峰值流量,再将所有链路的第一峰值流量取平均值获得。
在一些示例性实施例中,第一峰值流量最大的链路的第一峰值流量最小的染色体个体是指,按照染色体个体中每一个基因位的主路径来作为对应业务的工作路径时,分别计算每一条链路的第一峰值流量,取所有链路的第一峰值流量的最大值,该最大值最小的染色体个体。
在一些示例性实施例中,当满足收敛条件时,可以先判断最优染色体个体是否是可行解,如果最优染色体个体是可行解,再分别将最优染色体个体中的每一个基因位的路径对作为基因位对应的业务的第二路径对;如果最优染色体个体不是可行解,则结束本流程。
在一些示例性实施例中,判断最优染色体个体是否是可行解的标准是,按照该最优染色体个体中每一个基因位的主路径分配每一条链路的带宽时,每一条链路的带宽均不会出现带宽不足的情况。也就是说,对于每一条链路,如果主路径经过该链路的所有业务的主路径所需要的带宽之和大于链路的最大带宽,则说明将出现链路带宽不足的情况;如果主路径经过该链路的所有业务的主路径所需要的带宽之和小于或等于链路的最大带宽,则说明将不会出现链路带宽不足的情况。
在一些示例性实施例中,分别为每一个业务计算第二路径对还包括:
如果不满足收敛条件,重新获取M个第一染色体个体,继续执行对M个第一染色体个体进行预定处理得到N个第二染色体个体的步骤,直到满足收敛条件。
在一些示例性实施例中,收敛条件包括:连续多次迭代循环得到的最优染色体个体均相同;或者,迭代次数大于或等于预设次数。
本申请实施例中,基于遗传算法分别为每一个业务计算第二路径对,由于进行交叉和变异过程中均基于链路的第一峰值流量来得到更优染色体个体,最终输出的最优染色体个体使得全网中每一条链路的第一峰值流量都尽量小,使得输出的最优染色体个体尽量满足主路径约束条件,也就是尽量实现网络负载均衡化,同时也说明,如果输出的最优染色体个体无法满足主路径约束条件,说明在当前条件下无解,也就是寻求不到最优解。
第二方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;
存储器,存储器上存储有至少一个程序,当至少一个程序被至少一个处理器执行,使得至少一个处理器实现上述任意一种流量优化方法。
其中,处理器为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)。
在一些实施例中,处理器、存储器通过总线相互连接,进而与计算设备的其它组件连接。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意一种流量优化方法。
图4为本申请另一个实施例提供的流量优化装置的组成框图。
第四方面,参照图4,本申请另一个实施例提供一种流量优化装置,包括:
路径计算模块401,用于分别为每一个业务计算第一路径对,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件;其中,第一路径对包括:完全分离的第一主路径和第一备路径;主路径约束条件包括:全网中的每一个业务的工作路径均为对应的第一主路径的情况下,链路的第一峰值流量小于或等于第一预设阈值;备路径约束条件包括:全网中一个或一个以上业务因对应的第一主路径上的链路发生故障将工作路径切换到对应的第一备路径的情况下,链路的第二峰值流量小于或等于第二预设阈值。
在一些示例性实施例中,链路的第一峰值流量为所有第一目标业务的峰值流量之和;其中,第一目标业务为第一主路径经过链路的业务。
在一些示例性实施例中,链路的第二峰值流量为所有第一目标业务的峰值流量之和,加上X个目标业务组的峰值流量之和;其中,目标业务组的峰值流量为目标业务组包括的所有业务的峰值流量之和;X为发生故障的链路的最大数量;
其中,第一目标业务为第一主路径经过链路的业务,X个目标业务组为将第一备路径经过链路的所有业务进行划分得到的所有业务组中,峰值流量最大的X个业务组;
其中,将第一备路径经过链路的所有业务中,第一主路径存在重叠的业务划分为同一个业务组。
在一些示例性实施例中,路径计算模块401具体用于:
分别为每一个业务计算第二路径对;其中,第二路径对包括:完全分离的第二主路径和第二备路径;
流量优化装置还包括:
约束验证模块402,用于判断全网中任意一条链路均满足主路径约束条件和备路径约束条件;
备路径调整模块403,用于如果全网中任意一条链路均满足主路径约束条件,且存在至少一条链路不满足备路径约束条件,调整第二备路径经过目标链路的至少一个业务对应的第二备路径,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件,将调整后的第二路径对作为第一路径对;其中,目标链路为不满足备路径约束条件的链路。
在一些示例性实施例中,路径计算模块401具体用于:
获取M个第一染色体个体;其中,第一染色体个体中的一个基因位包括:一个业务的第三路径对,第三路径对包括:完全分离的第三主路径和第三备路径;M为大于或等于1,且小于或等于第三预设阈值的整数;
对M个第一染色体个体进行预定处理得到N个第二染色体个体;其中,预定处理包括:变异;或者交叉和变异;N为大于或等于1的整数;
从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体,判断是否满足收敛条件;如果满足收敛条件,分别将最优染色体个体中的每一个基因位的路径对作为基因位对应的业务的第一路径对。
在一些示例性实施例中,路径计算模块401还用于:
如果不满足收敛条件,重新获取M个第一染色体个体,继续执行对M个第一染色体个体进行预定处理得到N个第二染色体个体的步骤,直到满足收敛条件。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现对M个第一染色体个体进行预定处理得到N个第二染色体个体:
当M等于1时,对M个第一染色体个体进行变异得到N个第二染色体个体;
当M大于1,且小于或等于第三预设阈值时,对M个第一染色体进行交叉得到N1个交叉染色体个体,对M个第一染色体进行变异得到N2个变异染色体个体,N1个交叉染色体个体和N2个变异染色体个体即为N个第二染色体个体;其中,N1,N2均为大于或等于1的整数。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现对M个第一染色体个体进行变异得到N个第二染色体个体:
对于每一个第一染色体个体,分别获取第一染色体个体的每一个基因位的突变概率;
如果某一个基因位的突变概率大于或等于第四预设阈值,为某一个基因位对应的业务重新计算第三路径对,将重新计算得到的第三路径对作为第二染色体个体中某一个基因位的路径对;
如果某一个基因位的突变概率小于第四预设阈值,将第一染色体个体中某一个基因位的第三路径对作为第二染色体个体中某一个基因位的路径对。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现分别获取第一染色体个体的每一个基因位的突变概率:
对于第一染色体个体的每一个基因位,分别计算基因位的第三主路径上的每一条链路的第一峰值流量,将所有链路的第一峰值流量中的最大值作为基因位的突变概率。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现对M个第一染色体个体进行交叉得到N1个交叉染色体个体:
对于任意两个第一染色体个体,分别比较两个第一染色体个体中的每一个基因位的优劣,将更优基因位的第三路径对作为交叉染色体个体的基因位的路径对。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现分别比较两个第一染色体个体中的每一个基因位的优劣:
对于每一个基因位,分别计算两个第一染色体个体中的基因位的第三主路径上每一条链路的第一峰值流量,所有链路的第一峰值流量中的最大值较高的第一染色体个体的基因位为次优基因位,所有链路的第一峰值流量中的最大值较低的第一染色体个体的基因位为更优基因位。
在一些示例性实施例中,路径计算模块401具体用于采用以下方式实现从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体:
将M个第一染色体个体和N个第二染色体个体中,满足预设条件的染色体个体作为最优染色体个体;
其中,预设条件包括:全网平均峰值流量最小;或者,第一峰值流量最大的链路的第一峰值流量最小。
在一些示例性实施例中,备路径调整模块403具体用于采用以下方式实现调整第二备路径经过目标链路的至少一个业务对应的第二备路径:
裁剪掉第二备路径经过目标链路的业务中,除第二目标业务之外的至少一个业务的第二备路径,使得目标链路满足备路径约束条件;其中,第二目标业务为不能被裁剪掉第二备路径的业务;
路径计算模块401还用于:
对于被裁剪掉第二备路径的每一个业务,将被裁剪掉的第二备路径作为必避约束条件计算新的第二备路径。
在一些示例性实施例中,备路径调整模块403还用于:
如果为某一个业务计算新的第二备路径失败,将某一个业务的第二备路径还原为被裁剪掉的第二备路径,将某一个业务添加到第二目标业务中;
重新执行裁剪掉第二备路径经过目标链路的业务中,除第二目标业务之外的至少一个业务的第二备路径,使得目标链路满足备路径约束条件。
上述流量优化装置的具体实现过程与前述实施例流量优化方法的具体实现过程相同,这里不再赘述。
下面列举几个示例详细说明上述流量优化方法的具体实现过程以及具体的应用场景,所列举的示例仅仅是为了说明方便,并不用于限定本申请实施例的保护范围。
示例1
本实例描述利用遗传算法计算每一个业务的第一路径对的过程,如图5所示,包括:
步骤500、生成初始染色体个体。
本步骤中,初始染色体个体中的一个基因位包括:一个业务的第四路径对,第四路径对包括:完全分离的第四主路径和第四备路径。
本步骤中,生成初始染色体个体时,为业务计算的第四主路径应该满足业务自身约束条件,如必经节点、必避节点、时延等。
步骤501、分别计算每一个染色体个体的适应度。
本步骤中,在第1次迭代循环时,需要分别计算每一个初始染色体个体的适应度;在第2次或之后的迭代循环时,需要计算上一次迭代的每一个第一染色体个体和第二染色体个体的适应度。
步骤502、按照染色体个体的适应度,将排在最前面的M个染色体个体筛选出来作为M个第一染色体个体。
本步骤中,在第1次迭代循环时,如果生成的初始染色体个体的数量小于或等于第三预设阈值,则M等于生成的初始染色体个体的数量;如果生成的初始染色体个体的数量大于第三预设阈值,则M等于第三预设阈值。
在第2次或之后的迭代循环时,如果上一轮迭代的所有第一染色体个体和第二染色体个体的总数量小于或等于第三预设阈值,则M等于上一轮迭代的所有第一染色体个体和第二染色体个体的总数量;如果上一轮迭代的所有第一染色体个体和第二染色体个体的总数量大于第三预设阈值,则M等于第三预设阈值。
也就是说,本步骤中,最多筛选出的染色体个体的数量为第三预设阈值。
步骤503、判断M是否等于1,当M等于1时,执行步骤404;当M大于1,且小于或等于第三预设阈值时,执行步骤505。
步骤504、对M个第一染色体个体进行变异得到N个第二染色体个体;继续执行步骤506。
步骤505、对M个第一染色体进行交叉得到N1个交叉染色体个体,对M个第一染色体进行变异得到N2个变异染色体个体,N1个交叉染色体个体和N2个变异染色体个体即为N个第二染色体个体;其中,N1,N2均为大于或等于1的整数;继续执行步骤506。
步骤506、从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体。
步骤507、判断是否满足收敛条件;如果满足收敛条件,则执行步骤508;如果不满足收敛条件,则返回步骤501。
步骤508、分别将最优染色体个体中的每一个基因位的路径对作为基因位对应的业务的第二路径对。
示例2
本示例描述备路径的调整过程,如图6所示,包括:
步骤600、筛选出不满足备路径约束条件的链路作为目标链路。
步骤601、选择一条目标链路,筛选出第二备路径经过选择出的目标链路的业务。
步骤602、判断筛选出的业务中是否包含有第二目标业务;其中,第二目标业务为不能被裁剪掉第二备路径的业务;如果是,则执行步骤603;如果不是,则执行步骤604。
步骤603、裁剪掉筛选出的业务中除第二目标业务之外的一个业务;继续执行步骤605。
步骤604、裁剪掉筛选出的业务中的一个业务;继续执行步骤605。
步骤605、判断目标链路是否满足备路径约束条件,如果是,则执行步骤606,如果不是,则返回步骤602。
步骤606、对于被裁剪掉第二备路径的每一个业务,将被裁剪掉的第二备路径作为必避约束条件计算新的第二备路径。
步骤607、被裁剪掉第二备路径的所有业务是否计算成功,如果是,则执行步骤609;如果不是,则执行步骤608。
步骤608、将计算失败的业务的第二备路径还原为被裁剪掉的第二备路径,将计算失败的业务添加到第二目标业务中,返回步骤602。
步骤609、所有目标链路是否均处理完成,如果是,则结束本流程;如果不是,则返回步骤601。
示例3
本示例描述流量优化过程,如7所示,包括:
步骤700、分别为每一个业务计算第二路径对;其中,第二路径对包括:完全分离的第二主路径和第二备路径。
步骤701、判断全网中任意一条链路是否均满足主路径约束条件,如果是,则执行步骤702;如果不是,则结束本流程。
步骤702、判断全网中任意一条链路是否均满足备路径约束条件,如果是,则执行步骤703;如果不是,则执行步骤704。
步骤703、输出最后一次调整后的第二路径对。
步骤704、调整第二备路径经过目标链路的至少一个业务对应的第二备路径;其中,目标链路为不满足备路径约束条件的链路;返回步骤702。
示例4
本申请实施例的流量优化方法可以应用于多种场景,例如,网络流量工程、故障快速重路由、故障仿真等。图8以网络控制器为例给出了流量优化方法的一个应用实例。如图8所示,本申请实施例中的流量优化方法属于算法库中的一个子算法。网络控制器通过接收网络设备发出的消息或主动查询,识别出网络拥塞,通过调用路径计算单元(PCE,PathComputation Element)解决网络拥塞;PCE获取拓扑管理模块和数据库中存储的业务信息,调用算法库中本申请实施例的流量优化方法对应的算法接口,完成网络流量优化。
具体的,如图9所示,流量优化以及路径切换过程包括:
步骤900、当网络出现拥塞时,网络控制器接收到设备发出的拥塞消息或识别出拥塞风险,调用本申请实施例的流量优化方法对应的算法,为业务计算出满足业务自身约束条件、主路径约束条件和备路径约束条件的第一路径对。
步骤901、业务切换到新的主路径上后,网络拥塞消失,所有业务均承载在较高质量的路径上。
步骤902、当网络出现故障时,网络控制器接收到故障消息后,无需再调用任何路径计算算法,直接根据之前算出的备路径为业务进行主备路径的切换即可,切换后,网络仍然负载均衡,业务仍然承载在较高质量的路径上。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储器、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本申请的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种流量优化方法,包括:
分别为每一个业务计算第一路径对,使得全网中任意一条链路均满足主路径约束条件和备路径约束条件;
其中,所述第一路径对包括:完全分离的第一主路径和第一备路径;
所述主路径约束条件包括:所述全网中的每一个所述业务的工作路径均为对应的所述第一主路径的情况下,所述链路的第一峰值流量小于或等于第一预设阈值;
所述备路径约束条件包括:所述全网中一个或一个以上所述业务因对应的所述第一主路径上的链路发生故障将所述工作路径切换到对应的所述第一备路径的情况下,所述链路的第二峰值流量小于或等于第二预设阈值。
2.根据权利要求1所述的流量优化方法,其中,所述链路的第一峰值流量为所有第一目标业务的峰值流量之和;其中,所述第一目标业务为所述第一主路径经过所述链路的所述业务。
3.根据权利要求1所述的流量优化方法,其中,所述链路的第二峰值流量为所有第一目标业务的峰值流量之和,加上X个目标业务组的峰值流量之和;其中,所述目标业务组的峰值流量为所述目标业务组包括的所有业务的峰值流量之和;X为发生故障的链路的最大数量;
其中,所述第一目标业务为所述第一主路径经过所述链路的所述业务,X个所述目标业务组为将所述第一备路径经过所述链路的所有业务进行划分得到的所有业务组中,峰值流量最大的X个所述业务组;
其中,将所述第一备路径经过所述链路的所有业务中,所述第一主路径存在重叠的业务划分为同一个所述业务组。
4.根据权利要求1-3任一项所述的流量优化方法,其中,所述分别为每一个业务计算第一路径对包括:
分别为每一个所述业务计算第二路径对;其中,所述第二路径对包括:完全分离的第二主路径和第二备路径;
如果全网中任意一条链路均满足所述主路径约束条件,且存在至少一条所述链路不满足所述备路径约束条件,调整所述第二备路径经过目标链路的至少一个所述业务对应的所述第二备路径,使得全网中任意一条所述链路均满足所述主路径约束条件和所述备路径约束条件,将调整后的第二路径对作为所述第一路径对;其中,所述目标链路为不满足所述备路径约束条件的所述链路。
5.根据权利要求4所述的流量优化方法,其中,所述分别为每一个业务计算第二路径对包括:
获取M个第一染色体个体;其中,所述第一染色体个体中的一个基因位包括:一个所述业务的第三路径对,所述第三路径对包括:完全分离的第三主路径和第三备路径;M为大于或等于1,且小于或等于第三预设阈值的整数;
对M个所述第一染色体个体进行预定处理得到N个第二染色体个体;其中,所述预定处理包括:变异;或者交叉和变异;N为大于或等于1的整数;
从M个所述第一染色体个体和N个所述第二染色体个体中选择最优染色体个体,判断是否满足收敛条件;如果满足收敛条件,分别将所述最优染色体个体中的每一个基因位的路径对作为所述基因位对应的所述业务的所述第二路径对。
6.根据权利要求5所述的流量优化方法,其中,所述对M个第一染色体个体进行预定处理得到N个第二染色体个体包括:
当M等于1时,对M个所述第一染色体个体进行变异得到N个所述第二染色体个体;
当M大于1,且小于或等于所述第三预设阈值时,对M个所述第一染色体进行交叉得到N1个交叉染色体个体,对M个所述第一染色体进行变异得到N2个变异染色体个体,N1个所述交叉染色体个体和N2个所述变异染色体个体即为N个所述第二染色体个体;其中,N1,N2均为大于或等于1的整数。
7.根据权利要求6所述的流量优化方法,其中,所述对M个第一染色体个体进行变异得到N个第二染色体个体包括:
对于每一个所述第一染色体个体,分别获取所述第一染色体个体的每一个所述基因位的突变概率;
如果某一个基因位的突变概率大于或等于第四预设阈值,为所述某一个基因位对应的所述业务重新计算所述第三路径对,将重新计算得到的所述第三路径对作为所述第二染色体个体中所述某一个基因位的路径对;
如果所述某一个基因位的突变概率小于所述第四预设阈值,将所述第一染色体个体中所述某一个基因位的第三路径对作为所述第二染色体个体中所述某一个基因位的路径对。
8.根据权利要求7所述的流量优化方法,其中,所述分别获取第一染色体个体的每一个基因位的突变概率包括:
对于所述第一染色体个体的每一个所述基因位,分别计算所述基因位的所述第三主路径上的每一条所述链路的第一峰值流量,将所有所述链路的第一峰值流量中的最大值作为所述基因位的突变概率。
9.根据权利要求6所述的流量优化方法,其中,所述对M个第一染色体个体进行交叉得到N1个交叉染色体个体包括:
对于任意两个所述第一染色体个体,分别比较两个所述第一染色体个体中的每一个基因位的优劣,将更优基因位的第二路径对作为所述交叉染色体个体的所述基因位的路径对。
10.根据权利要求9所述的流量优化方法,其中,所述分别比较两个第一染色体个体中的每一个基因位的优劣包括:
对于每一个所述基因位,分别计算两个所述第一染色体个体中的所述基因位的所述第三主路径上每一条所述链路的第一峰值流量,所有所述链路的第一峰值流量中的最大值较高的所述第一染色体个体的所述基因位为次优基因位,所有所述链路的第一峰值流量中的最大值较低的所述第一染色体个体的所述基因位为更优基因位。
11.根据权利要求5所述的流量优化方法,其中,所述从M个第一染色体个体和N个第二染色体个体中选择最优染色体个体包括:
将M个所述第一染色体个体和N个所述第二染色体个体中,满足预设条件的染色体个体作为所述最优染色体个体;
其中,预设条件包括:全网平均峰值流量最小;或者,所述第一峰值流量最大的所述链路的所述第一峰值流量最小。
12.根据权利要求4所述的流量优化方法,其中,所述调整第一备路径经过目标链路的至少一个业务对应的第二备路径包括:
裁剪掉所述第二备路径经过所述目标链路的所述业务中,除第二目标业务之外的至少一个业务的第二备路径,使得所述目标链路满足所述备路径约束条件;其中,所述第二目标业务为不能被裁剪掉所述第二备路径的业务;
对于被裁剪掉所述第二备路径的每一个所述业务,将被裁剪掉的所述第二备路径作为必避约束条件计算新的第一备路径。
13.根据权利要求12所述的流量优化方法,所述调整第二备路径经过目标链路的至少一个业务对应的第二备路径还包括:
如果为某一个业务计算所述新的第二备路径失败,将所述某一个业务的所述第二备路径还原为被裁剪掉的第二备路径,将所述某一个业务添加到所述第二目标业务中;
重新执行裁剪掉所述第二备路径经过所述目标链路的所述业务中,除所述第二目标业务之外的至少一个业务的第二备路径,使得所述目标链路满足所述备路径约束条件。
14.一种电子设备,包括:
至少一个处理器;
存储器,所述存储器上存储有至少一个程序,当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现根据权利要求1-13任意一项所述的流量优化方法。
15.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-13任意一项所述的流量优化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010868603.9A CN114095439A (zh) | 2020-08-25 | 2020-08-25 | 流量优化方法和装置、电子设备、计算机可读存储介质 |
PCT/CN2021/114391 WO2022042571A1 (zh) | 2020-08-25 | 2021-08-24 | 流量优化方法、电子设备、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010868603.9A CN114095439A (zh) | 2020-08-25 | 2020-08-25 | 流量优化方法和装置、电子设备、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114095439A true CN114095439A (zh) | 2022-02-25 |
Family
ID=80295013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010868603.9A Pending CN114095439A (zh) | 2020-08-25 | 2020-08-25 | 流量优化方法和装置、电子设备、计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114095439A (zh) |
WO (1) | WO2022042571A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745310B (zh) * | 2022-03-31 | 2024-01-12 | 工银科技有限公司 | 基于遗传算法的流量阈值的确定方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2421158B (en) * | 2003-10-03 | 2007-07-11 | Avici Systems Inc | Rapid alternate paths for network destinations |
EP2681884B1 (en) * | 2011-03-29 | 2018-05-30 | Huawei Technologies Co., Ltd. | Apparatus and method for spare capacity allocation on dual link failures |
CN106549779B (zh) * | 2015-09-18 | 2020-01-24 | 中国电力科学研究院 | 一种多约束电力通信业务最大不相交双路由配置方法 |
CN106656598B (zh) * | 2016-12-22 | 2020-06-16 | 云南电网有限责任公司 | 电力通信网关键业务备选路由配置方法及系统 |
CN108494678A (zh) * | 2018-03-16 | 2018-09-04 | 北京智芯微电子科技有限公司 | 基于遗传算法的备用路由配置方法及系统 |
-
2020
- 2020-08-25 CN CN202010868603.9A patent/CN114095439A/zh active Pending
-
2021
- 2021-08-24 WO PCT/CN2021/114391 patent/WO2022042571A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022042571A1 (zh) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108011817B (zh) | 一种对电力通信专网业务路由进行重部署的方法及系统 | |
US6744727B2 (en) | Apparatus and method for spare capacity allocation | |
US8010694B2 (en) | Network performance and reliability evaluation taking into account multiple traffic matrices | |
US7948899B2 (en) | Method and apparatus for communications traffic engineering | |
US8923113B2 (en) | Optimizations in multi-destination tree calculations for layer 2 link state protocols | |
US20030142627A1 (en) | Method of optimizing network capacity and fault tolerance in deadlock-free routing | |
US6996514B2 (en) | Time simulation techniques to determine network availability | |
US9680665B2 (en) | Apparatus and method for dynamic hybrid routing in SDN networks to avoid congestion and balance loads under changing traffic load | |
US8862775B2 (en) | Network server and load balancing routing method for networks thereof | |
CN110011913B (zh) | 一种路径计算方法及系统 | |
CN105379196A (zh) | 容错和负载平衡路由 | |
US20090022056A1 (en) | Tuning routing metrics to reduce maximum link utilization and/or provide failure resiliency | |
US11546215B2 (en) | Method, system, and device for data flow metric adjustment based on communication link state | |
US7395351B1 (en) | Method for assigning link weights in a communications network | |
CN113193996B (zh) | 一种电力光传输网优化方法、装置、设备及存储介质 | |
CN104579965A (zh) | 支持多种约束策略的光-电两层路径计算方法及系统 | |
CN114095439A (zh) | 流量优化方法和装置、电子设备、计算机可读存储介质 | |
CN111160661A (zh) | 一种电力通信网可靠性优化方法、系统以及设备 | |
US11695856B2 (en) | Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device | |
EP2448191B1 (en) | Method and apparatus for generating constraint route | |
CN116074204A (zh) | 算路方法、路由计算设备、电子设备和计算机存储介质 | |
CN110912816B (zh) | 链路重路由方法、装置和存储介质 | |
US20130250805A1 (en) | Method for investigating a data transport network and computer program product | |
CN112637061A (zh) | 一种基于启发式算法的动态多因子路径计算方法 | |
CN111277510A (zh) | 一种链路负载均衡方法、装置、控制器及网关设备 |
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 |