本申请涉及网络通信技术领域,特别涉及一种流量调度方法及装置。
背景技术:
宽带远程接入服务器(Broadband Remote Access Server,BRAS)是面向宽带网络应用的接入网关,它位于骨干网的边缘层,可以完成用户带宽的IP(Internet Protocol,因特网协议)/ATM(Asynchronous Transfer Mode,异步传输模式)网的数据接入,实现商业楼宇及小区住户的宽带上网。
在城域网(Metropolitan Area Network,MAN)组网模型中,宽带用户由OLT(Optical Line Terminal,光线路终端)接入,再通过POP(Point of Present,业务呈现点)交换机(或者也可以称为局方汇聚交换机)连接至BRAS。
如图1所示,目前最常见的宽带接入虚拟化方案是vBRAS(虚拟BRAS)资源池方案,即由资源池中的多台vBRAS来承载传统组网中一台物理BRAS所能承载的宽带用户。
当前最常见的接入方式是PPPoE(Point-to-Point Protocol over Ethernet,基于以太网的点对点协议)。具体的,PPPoE客户端首先通过PADI(PPPoE Active Discovery Initial,PPPoE活动发现初始)报文来发起PPPoE会话的建立,在如图1所示的组网中,资源池中的多台vBRAS(作为PPPoE服务器)均会接收到该PADI报文并进行响应,PPPoE客户端会与最先响应的vBRAS建立PPPoE会话。但是,在这种情况下,就无法实现资源池中的多台vBRAS的负载均衡。
技术实现要素:
有鉴于此,本申请提供一种流量调度方法及装置。
具体地,本申请是通过如下技术方案实现的:
一方面,提供了一种流量调度方法,该方法应用于SO,SO用于管理多个BRAS网元,该方法包括:
获取多个BRAS网元中的目标BRAS网元的负载信息;
在目标BRAS网元的状态为正常状态时,根据获取的负载信息,判断目标BRAS网元是否过载;
若是,则将目标BRAS网元的状态从正常状态切换为过载状态,确定目标BRAS网元对应的延迟时间,通知目标BRAS网元配置该延迟时间,以使目标BRAS网元在接收到客户端发来的接入发起报文后,等待该延迟时间后进行应答;其中,目标BRAS网元过载程度越大,对应的延迟时间越长。
另一方面,还提供了一种流量调度装置,该装置应用于SO中,SO用于管理多个BRAS网元,该装置包括:
获取单元,用于获取多个BRAS网元中的目标BRAS网元的负载信息;
判断单元,用于在目标BRAS网元的状态为正常状态时,根据获取单元获取的负载信息,判断目标BRAS网元是否过载;
处理单元,用于若判断单元判断出目标BRAS网元过载,则将目标BRAS网元的状态从正常状态切换为过载状态,确定目标BRAS网元对应的延迟时间,通知目标BRAS网元配置该延迟时间,以使目标BRAS网元在接收到客户端发来的接入发起报文后,等待该延迟时间后进行应答;其中,目标BRAS网元过载程度越大,对应的延迟时间越长。
通过本申请的以上技术方案,业务编排器可以获取到多个BRAS网元中的任一BRAS网元的负载信息,在BRAS网元的状态为正常状态时,若根据获取的负载信息,判断出该BRAS网元已经过载了,则将该BRAS网元的状态从正常状态切换为过载状态,计算出该BRAS网元对应的延迟时间,并通知该BRAS网元配置该延迟时间,这样,该BRAS网元在接收到客户端发来的接入发起报文后,会等待该延迟时间后进行应答。由于BRAS网元的过载程度越大,延迟的时间越长,因此,资源池中负载最小的BRAS网元能够最先对客户端发来的接入发起报文进行应答,并与客户端建立会话,从而通过将流量调度到负载小的BRAS网元上承载,实现了资源池中的BRAS网元之间的负载均衡。
附图说明
图1是采用宽带接入虚拟化方案的城域网组网架构示意图;
图2是本申请一示例性实施例示出的城域网组网架构示意图;
图3是本申请一示例性实施例示出的流量调度方法的流程图;
图4是本申请一示例性实施例示出的流量调度装置所应用的业务编排器的硬件结构示意图;
图5是本申请一示例性实施例示出的流量调度装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了解决资源池中多台vBRAS的负载均衡问题,本申请以下实施例中提供了一种流量调度方法,以及一种可以应用该方法的流量调度装置。
本申请实施例的城域网组网架构如图2所示,主要包括:业务编排器(Service Orchestrator,SO)、资源池中的多台BRAS网元、POP交换机、以及OLT。客户端(图2中未示出)经由OLT、POP交换机接入资源池中的多台BRAS网元。
其中,资源池中包含的多个BRAS网元的功能对等,可以相互备份,BRAS网元具体可以是物理BRAS设备,也可以是通用x86服务器上运行的vBRAS(虚拟BRAS);业务编排器负责创建和部署资源池中的BRAS网元,业务编排器与每一个BRAS网元之间建立有管理通道(图2中未示出),该管理通道例如可以为netconf(配置管理)通道、SNMP(简单网络管理协议)通道、或者其他私有协议通道。
基于如图2所示的组网架构,本申请实施例中,业务编排器执行的流量调度方法如图3所示,包括以下步骤:
步骤S101,获取多个BRAS网元中的目标BRAS网元的负载信息;
其中,目标BRAS网元为上述多个BRAS网元中的任一BRAS网元。业务编排器会通过管理通道向目标BRAS网元获取该目标BRAS网元的负载信息。
步骤S102,判断目标BRAS网元的状态是正常状态还是过载状态,若是正常状态,则执行步骤S103,若是过载状态,则执行步骤S106;
其中,目标BRAS网元在启动后,初始状态为正常状态。处于正常状态的目标BRAS网元会按照现有技术对接收到的接入发起报文进行应答。
步骤S103,根据步骤S101中获取的负载信息,判断目标BRAS网元是否过载,若是,则执行步骤S104,否则,执行步骤S105;
步骤S104,将目标BRAS网元的状态从正常状态切换为过载状态,确定目标BRAS网元对应的延迟时间T,通知目标BRAS网元配置延迟时间T,以使目标BRAS网元在接收到接入发起报文后,等待T时间后进行应答;其中,目标BRAS网元过载程度越大,对应的延迟时间T越长。
具体的,在步骤S104中,业务编排器通过管理通道向目标BRAS网元发送包含有T的配置消息,这样,目标BRAS网元在接收到该配置消息之后,就会在本设备上配置T,在接收到客户端发来的接入发起报文之后,会等待T时间后再进行回应。
步骤S105,将目标BRAS网元的状态维持在正常状态;
步骤S106,根据步骤S101中获取的负载信息,判断目标BRAS网元的负载是否恢复正常,若是,则执行步骤S107,否则,执行步骤S108;
步骤S107,将目标BRAS网元的状态从过载状态切换为正常状态,通知目标BRAS网元删除延迟时间;
具体的,在步骤S107中,业务编排器会通过管理通道向目标BRAS网元发送删除消息,目标BRAS网元接收到该删除消息之后,就会删除本设备上配置的延迟时间。
步骤S108,将目标BRAS网元的状态维持在过载状态,重新确定目标BRAS网元对应的延迟时间,通知目标BRAS网元配置重新确定的延迟时间。
在实际实施过程中,业务编排器会周期性的向目标BRAS网元获取该目标BRAS网元的负载信息,因此,业务编排器会周期性的执行上述如图3所示的方法。
通过如图3所示的方法,业务编排器可以获取到多个BRAS网元中的任一BRAS网元的负载信息,在BRAS网元的状态为正常状态时,若根据获取的负载信息,判断出该BRAS网元已经过载了,则将该BRAS网元的状态从正常状态切换为过载状态,计算出该BRAS网元对应的延迟时间,并通知该BRAS网元配置该延迟时间,这样,该BRAS网元在接收到客户端发来的接入发起报文后,会等待该延迟时间后进行应答。由于BRAS网元的过载程度越大,延迟的时间越长,因此,资源池中负载最小的BRAS网元能够最先对客户端发来的接入发起报文进行应答,并与客户端建立会话,从而通过将流量调度到负载最小的BRAS网元上承载,实现了资源池中的BRAS网元之间的负载均衡。
另外,在BRAS网元的状态为过载状态时,若根据获取的负载信息,判断出该BRAS网元的负载已经恢复正常,则将该BRAS网元的状态从过载状态切换到正常状态,通知该BRAS网元删除延迟时间,这样,该BRAS网元就能够及时对客户端发来的接入发起报文进行应答,以便承载更多的数据流,从而实现了资源池中的BRAS网元之间的负载均衡。在BRAS网元的状态为过载状态时,若根据获取的负载信息,判断出该BRAS网元的负载依然过载,则将该BRAS网元的状态维持在过载状态,重新确定该BRAS网元对应的延迟时间,通知该BRAS网元配置重新确定的延迟时间,这样,在该BRAS网元的过载程度发生了变化时,可以通过调整对应的延迟时间,来调整该BRAS网元承载的数据流,从而实现了资源池中的BRAS网元之间的负载均衡。
其中,获取的负载信息可以是一种或多种组合,例如,获取BRAS网元承载的宽带用户数、BRAS网元的CPU(中央处理单元)资源利用率、BRAS网元的内存利用率、BRAS网元的上下行数据流量等负载信息中的一种或多种组合。下面分别对这两种情况加以介绍。
情况一、获取一种负载信息
此时,该负载信息对应一个预设过载阈值和一个预设恢复阈值。在此种情况下的流量调度方法如下:
业务编排器获取多个BRAS网元中的目标BRAS网元的负载信息;
在目标BRAS网元的状态为正常状态时,业务编排器判断获取到的负载信息的数值是否超过预设过载阈值,若超过,则确定目标BRAS网元过载,将目标BRAS网元的状态从正常状态切换为过载状态,按照公式(1)计算目标BRAS网元对应的延迟时间T,并通知目标BRAS网元配置延迟时间T,若没有超过,则确定目标BRAS网元没有过载,将目标BRAS网元的状态维持在正常状态。
其中,x表示获取到的负载信息的数值,xthr表示预设过载阈值,Tpre表示预设时间。
假设,负载信息为宽带用户数,对应的预设过载阈值为6000,获取到的宽带用户数的数值为7000,预设时间为1秒,则按照公式(1)可以计算出目标BRAS网元对应的延迟时间为167毫秒。
在目标BRAS网元的状态为过载状态时,业务编排器判断获取到的负载信息的数值是否小于预设恢复阈值,若小于,则确定目标BRAS网元的负载恢复正常,将目标BRAS网元的状态从过载状态切换到正常状态,通知目标BRAS网元删除延迟时间,若大于,则确定目标BRAS网元依然过载,将目标BRAS网元的状态维持在过载状态,按照公式(1)重新计算目标BRAS网元对应的延迟时间T,并通知目标BRAS网元配置延迟时间T。
其中,为了防止目标BRAS网元的状态在正常与过载之间振荡,在实际实施过程中,预设恢复阈值应该小于预设过载阈值,例如,预设恢复阈值等于预设过载阈值的80%。
情况二、获取两种以上负载信息
此时,每一种负载信息对应一个预设过载阈值和一个预设恢复阈值。在此种情况下的流量调度方法如下:
业务编排器获取多个BRAS网元中的目标BRAS网元的负载信息;
在目标BRAS网元的状态为正常状态时,业务编排器针对每一种负载信息,判断获取到的该负载信息的数值是否超过对应的预设过载阈值,若超过了,则为该负载信息设置特定标记。之后,若判断出任一负载信息具有特定标记,即,任一负载信息超过了对应的预设过载阈值,则确定目标BRAS网元过载,将目标BRAS网元的状态从正常状态切换为过载状态,按照公式(2)计算目标BRAS网元对应的延迟时间T,通知目标BRAS网元配置延迟时间T;若判断出全部负载信息均没有特定标记,即,全部负载信息均没有超过对应的预设过载阈值,则确定目标BRAS网元没有过载,将目标BRAS网元的状态维持在正常状态。
其中,N表示具有特定标记的负载信息的总数,αi表示具有特定标记的第i个负载信息的权重,xi表示获取到的该第i个负载信息的数值,xi_thr表示该第i个负载信息对应的预设过载阈值,Tpre表示预设时间。
假设,负载信息为宽带用户数、CPU资源利用率、上下行数据流量,对应的权重均为1/3,其中,宽带用户数和CPU资源利用率具有特定标记,宽带用户数对应的预设过载阈值为6000、CPU资源利用率对应的预设过载阈值为85%,获取到的宽带用户数的数值为7000、CPU资源利用率的数值为90%,预设时间为1秒,则按照公式(2)可以计算出目标BRAS网元对应的延迟时间为75毫秒。
在目标BRAS网元的状态为过载状态时,业务编排器针对每一种负载信息,在该负载信息具有特定标记时,判断获取到的该负载信息的数值是否小于对应的预设恢复阈值,若小于,则删除该负载信息的特定标记;在该负载信息没有特定标记时,判断获取到的该负载信息的数值是否超过对应的预设过载阈值,若超过了,则为该负载信息设置特定标记。之后,若判断出全部负载信息均没有特定标记,则确定目标BRAS网元的负载恢复正常,将目标BRAS网元的状态从过载状态切换到正常状态,通知目标BRAS网元删除延迟时间,否则,若任一负载信息具有特定标记,则确定目标BRAS网元依然过载,将目标BRAS网元的状态维持在过载状态,按照公式(2)重新计算目标BRAS网元对应的延迟时间T,通知目标BRAS网元配置重新确定的延迟时间T。
其中,为了防止目标BRAS网元的状态在正常与过载之间振荡,在实际实施过程中,每一种负载信息对应的预设恢复阈值应该小于预设过载阈值,例如,预设恢复阈值等于预设过载阈值的80%。
在本申请上述实施例的方法中,当采用PPPoE接入方式时,上述的接入发起报文为用于发起PPPoE会话建立的报文,例如,PADI报文;当采用IPoE(Internet Protocol over Ethernet,基于以太网的因特网协议)接入方式时,上述的接入发起报文为用于发起IPoE会话建立的报文,例如,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)Discover(发现)报文。
与前述流量调度方法的实施例相对应,本申请还提供了流量调度装置的实施例。
本申请流量调度装置60的实施例可以应用在业务编排器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在业务编排器的处理器10将非易失性存储器50中对应的计算机程序指令读取到内存40中运行形成的。从硬件层面而言,如图4所示,为本申请流量调度装置所在业务编排器的一种硬件结构图,除了图4所示的处理器10、内部总线20、网络接口30、内存40、以及非易失性存储器50之外,实施例中装置所在的业务编排器通常根据该业务编排器的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,本申请实施例的流量调度装置60中包括以下单元:获取单元601、判断单元602和处理单元603,其中:
获取单元601,用于获取多个BRAS网元中的目标BRAS网元的负载信息;
判断单元602,用于在目标BRAS网元的状态为正常状态时,根据获取单元601获取的负载信息,判断目标BRAS网元是否过载;
处理单元603,用于若判断单元602判断出目标BRAS网元过载,则将目标BRAS网元的状态从正常状态切换为过载状态,确定目标BRAS网元对应的延迟时间,通知目标BRAS网元配置该延迟时间,以使目标BRAS网元在接收到客户端发来的接入发起报文后,等待该延迟时间后进行应答;其中,目标BRAS网元过载程度越大,对应的延迟时间越长。
其中,判断单元602,还用于在目标BRAS网元的状态为过载状态时,根据获取单元601获取的负载信息,判断目标BRAS网元的负载是否恢复正常;
处理单元603,还用于若判断单元602判断出目标BRAS网元的负载恢复正常,则将目标BRAS网元的状态从过载状态切换到正常状态,通知目标BRAS网元删除延迟时间;还用于若判断单元602判断出目标BRAS网元的负载没有恢复正常,则将目标BRAS网元的状态维持在过载状态,重新确定目标BRAS网元对应的延迟时间,通知目标BRAS网元配置重新确定的延迟时间。
其中,当获取单元601获取一种负载信息时,判断单元602具体用于通过以下方式判断目标BRAS网元是否过载:判断获取单元601获取到的负载信息的数值是否超过预设过载阈值,若超过,则确定目标BRAS网元过载,否则,确定目标BRAS网元没有过载;
判断单元602具体用于通过以下方式判断目标BRAS网元的负载是否恢复正常:判断获取单元601获取到的负载信息的数值是否小于预设恢复阈值,若小于,则确定目标BRAS网元的负载恢复正常,否则,确定目标BRAS网元的负载没有恢复正常,其中,该负载信息对应的预设恢复阈值小于预设过载阈值。
这样,当获取单元601获取一种负载信息时,处理单元603具体用于按照以下公式确定目标BRAS网元对应的延迟时间T:
其中,x表示获取单元601获取到的负载信息的数值,xthr表示预设过载阈值,Tpre表示预设时间。
另外,当获取单元601获取两种以上负载信息时,判断单元602具体用于通过以下方式判断目标BRAS网元是否过载:针对每一种负载信息,判断获取单元601获取到的该负载信息的数值是否超过对应的预设过载阈值,若超过了,则为该负载信息设置特定标记;之后,若判断出任一负载信息具有特定标记,则确定目标BRAS网元过载,否则,确定目标BRAS网元没有过载;
判断单元601具体用于通过以下方式判断目标BRAS网元的负载是否恢复正常:针对每一种负载信息,在该负载信息具有特定标记时,判断获取到的该负载信息的数值是否小于对应的预设恢复阈值,若小于,则删除该负载信息的特定标记,在该负载信息没有特定标记时,判断获取到的该负载信息的数值是否超过对应的预设过载阈值,若超过了,则为该负载信息设置特定标记;之后,若判断出全部负载信息均没有特定标记,则确定目标BRAS网元的负载恢复正常,否则,确定目标BRAS网元的负载没有恢复正常;其中,每一种负载信息对应的预设恢复阈值小于预设过载阈值。
这样,当获取单元601获取两种以上负载信息时,处理单元603具体用于按照以下公式确定目标BRAS网元对应的延迟时间T:
其中,N表示具有特定标记的负载信息的总数,αi表示第i个具有特定标记的负载信息的权重,xi表示获取到的该第i个负载信息的数值,xi_thr表示该第i个负载信息对应的预设过载阈值,Tpre表示预设时间。
其中,上述接入发起报文为用于发起PPPoE会话建立的报文,或者用于发起IPoE会话建立的报文,这些报文的目的MAC地址为广播MAC地址。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。