一种板卡资源的负载均衡方法及装置与流程

文档序号:11628703阅读:321来源:国知局
一种板卡资源的负载均衡方法及装置与流程

本发明涉及通信领域,特别涉及一种板卡资源的负载均衡方法及装置。



背景技术:

随着网络业务量的提高,网络各个核心部分的访问量和数据流量也在快速增长,相应的,设备中各个板卡的计算强度也相应增大,使得单个板卡逐渐无法承担日益增长的业务。

为了解决上述问题,如果丢弃现有设备去进行大量的板卡硬件升级,会造成现有资源的大量浪费,并且如果面临一次又一次的业务量的提升,均采用硬件升级的方式加以解决,会导致不必要的高额投入,性能再优越的设备也不能始终满足业务量的增长需求,因此,负载均衡机制显得尤为重要。

负载均衡有两方面的含义。首先,大量的并发访问或数据流量分担到多个板卡上分别处理,减少用户等待响应时长;其次,单个板卡重负载的运算,均衡到多个板卡上做并行处理,返回给用户,这样系统处理能力得到大幅提高。

负载均衡策略的优劣及其实现的难易程度有两个关键因素,第一、负载均衡算法,第二、对网络系统情况的检测方式和能力。目前的方案通常会选择以下两种方式。

第一种方式为:轮询均衡。

具体为:假设所有板卡的处理性能都相同,按顺序将业务请求轮流分配到各个板卡上。

第一种方式实现简单,但不于各个板卡性能不一致的情况,而且当外部的业务请求的到达时间相差比较大时,会导致板卡之间的负载不平衡。

第二种方式为:加权轮询均衡。

具体为:根据不同的板卡的实际配置情况,分别给每一个板卡指定一个权值,权值采用一个整数表示,表征板卡的处理性能。在用户发送业务请求时,优先把业务请求分配给权值最大的板卡,权值大的板卡被赋予更多的业务请求,一段时间后,各个板卡的处理的业务请求数趋向于各自权值的比例。

第二种方式考虑了各个板卡性能的不同,但是没有考虑各个板卡的实时负载情况,因此,当业务请求的到达时间相差比较大时,依然会导致板卡间的负载不均衡。



技术实现要素:

本发明实施例提供一种板卡资源的负载均衡方法及装置,用以针对单板资源短缺问题,通过负载均衡的方式,实现板卡资源的充分利用。

本发明实施例提供的具体技术方案如下:

一种板卡资源的负载均衡方法,包括:

网元设备接收业务请求;

网元设备分别确定本地每一个板卡的当前权值,其中,一个板卡的当前权值表征所述一个板卡当前的负载状态,且所述当前权值是根据所述一个板卡对应的至少一种负载状态参数的当前权重获得的;

网元设备从当前权值最低的n个板卡中选取一个板卡,并将所述业务请求分配至选取的板卡进行处理。

较佳的,网元设备分别确定本地配置的每一个板卡的当前权值,包括:

在接收到业务请求之前,网元设备分别计算本地每一个板卡的当前权值,并定期进行更新,以及在接收到业务请求之后,读取最新的分别针对每一个板卡计算的当前权值;或者,

在接收到业务请求之后,网元设备实时分别计算本地每一个板卡的当前权值。

较佳的,网元设备计算本地的任意一个板卡的当前权值,包括:

网元设备分别计算所述任意一个板卡对应的每一个负载状态参数的当前 取值与指定的历史取值的差值;

网元设备分别按照每一个负载状态参数对应的差值,获得每一个负载状态参数的权重调整步长;

网元设备基于每一个负载状态参数对应的权重初始值和权重调度步长,计算获得每一个负载状态参数的当前权重;

网元设备将每一个负载状态参数的当前权重相加,获得所述任意一个板卡的当前权值。

较佳的,一个负载状态参数的历史取值,为针对所述一个负载状态参数设置的初始默认取值,或者,为上一次计算权重时针对所述一个负载状态参数记录的取值。

较佳的,一个板卡对应的负载状态参数包括以下的一种或任意组合:

cpu占用率,其中,cpu占用率越高,对应的权重越高;

物理内存占用率,其中,物理内存占用率越高,对应的权重越高;

承载小区数目,其中,承载小区数目越多,对应的权重越高;

是否为调度板卡,不为调度板卡,则对应的权重越高。

较佳的,网元设备从当前权值最低的n个板卡中选取一个板卡,并将所述业务请求分配至选取的板卡进行处理,包括:

若当前权值最低的n个板卡中存在调度板卡,则选取所述调度板卡,并将所述业务请求分配至所述调度板卡进行处理;

若当前权值最低的n个板卡中不存在调度板卡,则从当前权值最低的n个板卡中随机选取一个板卡,或者,选取当前权值最低的一个板卡,并将所述业务请求分配至选取的一个板卡进行处理。

较佳的,分配所述业务请求完毕后,进一步包括:

对本地每一个板卡对应的当前权值进行更新。

一种板卡资源的负载均衡装置,包括:

通信单元,用于接收业务请求;

处理单元,用于分别确定本地每一个板卡的当前权值,其中,一个板卡的当前权值表征所述一个板卡当前的负载状态,且所述当前权值是根据所述一个板卡对应的至少一种负载状态参数的当前权重获得的;

分配单元,用于从当前权值最低的n个板卡中选取一个板卡,并将所述业务请求分配至选取的板卡进行处理。

较佳的,分别确定本地配置的每一个板卡的当前权值时,所述处理单元用于:

在接收到业务请求之前,分别计算本地每一个板卡的当前权值,并定期进行更新,以及在接收到业务请求之后,读取最新的分别针对每一个板卡计算的当前权值;或者,

在接收到业务请求之后,实时分别计算本地每一个板卡的当前权值。

较佳的,计算本地的任意一个板卡的当前权值时,所述处理单元用于:

分别计算所述任意一个板卡对应的每一个负载状态参数的当前取值与指定的历史取值的差值;

分别按照每一个负载状态参数对应的差值,获得每一个负载状态参数的权重调整步长;

基于每一个负载状态参数对应的权重初始值和权重调度步长,计算获得每一个负载状态参数的当前权重;

将每一个负载状态参数的当前权重相加,获得所述任意一个板卡的当前权值。

较佳的,一个负载状态参数的历史取值,为针对所述一个负载状态参数设置的初始默认取值,或者,为上一次计算权重时针对所述一个负载状态参数记录的取值。

较佳的,一个板卡对应的负载状态参数包括以下的一种或任意组合:

cpu占用率,其中,cpu占用率越高,对应的权重越高;

物理内存占用率,其中,物理内存占用率越高,对应的权重越高;

承载小区数目,其中,承载小区数目越多,对应的权重越高;

是否为调度板卡,不为调度板卡,则对应的权重越高。

较佳的,从当前权值最低的n个板卡中选取一个板卡,并将所述业务请求分配至选取的板卡进行处理时,所述分配单元用于:

若当前权值最低的n个板卡中存在调度板卡,则选取所述调度板卡,并将所述业务请求分配至所述调度板卡进行处理;

若当前权值最低的n个板卡中不存在调度板卡,则从当前权值最低的n个板卡中随机选取一个板卡,或者,选取当前权值最低的一个板卡,并将所述业务请求分配至选取的一个板卡进行处理。

较佳的,分配所述业务请求完毕后,所述处理单元进一步用于:

对本地每一个板卡对应的当前权值进行更新。

本发明有益效果如下:

本发明实施例中,网元设备在接收到业务请求时,根据各个板卡的当前权值确定各个板卡实时的负载状态,并将业务请求分配至当前负载最轻的板卡进行处理,其中,一个板卡的当前权值是根据该板卡对应的至少一个负载状态参数的当前权重计算获得的。这样,网元设备便可以根据量化后的负载状态参数,采用动态加权方式实时更新各个板卡的当前权值,从而掌握各个板卡实时的负载性能,以便选择最优性能的板卡资源处理业务请求,由于考虑到了各个负载性能参数对板卡性能的实时影响程度,因此,可以迅速选取出当前性能最优的板卡,提高服务的处理速度和响应时间;并且在单板资源短缺的情况下,实现了多板卡资源共享,优化了板卡资源,从而保留了现有的平台演进思路,无需开发新的板卡,有效节省了运维成本。

附图说明

图1为本发明实施例中网元设备内板卡结构示意图;

图2为本发明实施例中在板卡间实现负载均衡流程图;

图3为本发明实施例中网元设备结构示意图。

具体实施方式

针对单板资源短缺问题,为了能够通过负载均衡的方式,实现板卡资源的充分利用,本发明实施体中,为板卡资源的分配与调度提供一种解决方案。该方案为:即在接收到业务请求时,实时地检测各个单板的负载状态信息,根据负载状态信息中包括的每一个负载状态参数与初始状态的差值,来计算各个单板的当前权值,当前权值越大,表明单板当前的负载越大,因此,选取当前权值最低的单板处理业务请求,这样,可以动态地在各个单板之间实现负载均衡。

下面结合附图对本发明优选的实施例作出进一步详细说明。

参阅图1所示,由于目前普通的板卡通常为单基带板,即只有三个数字信号处理(digitalsignalprocessing,dsp)模块,理论上最多可以处理六个小区的信号,但实际应用中,对于多小区场景或者小区合并场景,受制于单板能力限制,因此能够处理的小区的数目也受到了限制,进而导致承载的用户数受限,覆盖范围窄。因此,本发明提出考虑动态加权均衡的实现方法,基本思想是:采用多负载状态参数动态加权的方式对单一板卡的当前权值进行,当前权值表征负载性能,当前权值越大,表明负载越大,此板卡可定义为重负载板卡,而当前权值相对小板卡则可定义为轻负载板卡。所谓动态是指考虑了实时负载的情况(如:小区个数),如果有新的业务请求时,应该将该业务请求分配到当前的某一个轻负载板卡上进行处理。

本发明实施例中,在计算一个板卡的当前权值时,可以参考板卡的多种负载状态参数,包含但不限于:

1、cpu占用率。

通常情况下,板卡当前承载的小区和业务,会占用cpu的资源,当某个时间点cpu占用率居高不下时,板卡负载会加重,导致其业务处理能力下降,乃至导致板卡死机。因此,针对新的业务请求,首先考虑cpu占用率较低的 板卡资源,保证业务的正常运行。

2、物理内存占用率。

物理内存是相对于逻辑内存而言的,物理内存除了会对性能造成影响,还会影响其他资源,但板卡的物理内存占用率太高时,会影响板卡对业务数据的处理性能,因此,针对新的业务请求,物理内存占用率,也是需要考虑的一项重要负载状态参数。

3、承载小区数目。

目前一块单板,具有最多承载6个小区的能力,因此,可以将各个板卡当前承载的小区的数目,作为衡量板卡负载程度的负载状态参数,如果不同板卡当承载的小区数目不同,针对新的业务请求,会首先考虑承载小区数目较少的板卡。

4、是否为调度板卡

当涉及到板卡与板卡之间资源调度问题的时候,调度板卡和被调度板卡的所给予的权重是不同的,针对新的业务请求,首先考虑接收到业务请求的调度板卡,而如果调度板卡的当前权值大于被调度板卡的当前权值,则选择被调度板卡。

参阅图2所示,本发明实施例中,实现板卡资源的负载均衡的具体过程如下:

步骤200:网元设备接收到业务请求。

参阅图1所示,本发明实施例中,网元设备(如,基站)上通常设置有多块板卡,如,1槽板卡、2槽板卡、……7槽板卡,每一块板卡均可以作为调度板卡接收业务请求,并计算每一个板卡的当前权值,以及决定将业务请求分配至被调度板卡处理还是留在调度板卡处理。

步骤210:网元设备分别确定本地每一个板卡的当前权值,其中,一个板卡的当前权值表征该一个板卡当前的负载状态,且当前权值是根据该一个板卡对应的至少一种负载状态参数的当前权重获得的。

本发明实施例中,在执行步骤210时,可以采用但不限于以下几种方式,

第一种方式为:在接收到业务请求之前,网元设备分别计算本地每一个板卡的当前权值,并定期进行更新,以及在接收到业务请求之后,读取最新的分别针对每一个板卡计算的当前权值。

采用第一种方式时,网元设备预先会定期或者根据触发事件计算本地每一个板卡的当前权值,这样,在接收在业务请求后,可以直接读取最新计算的本地每一个板卡的当前权值,从而节省计算时间,提高板卡间负载均衡的调节时间。

第二种方式为:在接收到业务请求之后,网元设备实时分别计算本地每一个板卡的当前权值。

采用第二种方式时,网元设备在接收到业务请求后,再实时计算本地每一个板卡的当前权值,这样,可以及时获得最新的当前权值,从而更有利于实现板卡间的负载均衡。

具体的,以任意一个板卡为例(以下称板卡a),网元设备计算板卡a的当前权值时,可以执行以下操作:

首先,网元设备分别计算板卡a对应的每一个负载状态参数的当前取值与指定的历史取值的差值。

具体的,一个负载状态参数的历史取值,可以是针对该一个负载状态参数设置的初始默认取值,或者,也可以是上一次计算权重时针对该一个负载状态参数记录的取值。例如,以负载状态参数a为例,假设负载状态参数a的当前取值为a2,其初始默认取值为a0,而之后过程中变化为a1,那么,在计算与历史取值的差值时,可以计算a2与a0的差值,也可以计算a2和a1的差值。

其次,网元设备分别按照每一个负载状态参数对应的差值,获得每一个负载状态参数的权重调整步长。

具体的,一个负载状态参数在不同时间的取值的差值表示了该一个负载状 态参数的变化状态,一个负载状态参数的取值变化了,会影响相应的板卡的当前权值,因此,针对一个负载状态参数的取值的变化(即差值)设置了相应的权重调整步长。

再次,网元设备基于每一个负载状态参数对应的权重初始值和权重调度步长,计算获得每一个负载状态参数的当前权重。

例如,仍以上述负载状态参数a为例。

若在计算与历史取值的差值时,采用的是a2与a0的差值,那么,可以在a0对应的权重初始值的基础上,加上a2与a0的差值对应的权重调整步长,从而计算获得负载状态参数a的当前权重。

若在计算与历史取值的差值时,采用的是a2和a1的差值,那么,可以在a1对应的权重取值的基础上,加上a2与a0的差值对应的权重调整步长,从而计算获得负载状态参数a的当前权重。

上述仅以负载状态参数a为例,网元设备针对每一个板卡的每一个负载状态参数,均可以采用上述方式计算相应的当前权重。

最后,网元设备将每一个负载状态参数的当前权重相加,获得板卡a的当前权值。

在上述实施例中,板卡a的负载状态参数可以选取多种,包含但不限于以下参数的一种或任意组合:

cpu占用率,其中,cpu占用率越高,对应的权重越高;

物理内存占用率,其中,物理内存占用率越高,对应的权重越高;

承载小区数目,其中,承载小区数目越多,对应的权重越高;

是否为调度板卡,不为调度板卡,则对应的权重越高。

步骤220:网元设备从当前权值最低的n个板卡中选取一个板卡,并将上述业务请求分配至选取的板卡进行处理。

具体的,在执行步骤220时,可以采用但不限于以下两种方式:

第一种方式为:若当前权值最低的n个板卡中存在调度板卡,则选取所述 调度板卡,并将所述业务请求分配至所述调度板卡进行处理。

调度板卡即是执行业务请求分配的板卡,实际应用中,如果调度板卡的当前权值较低,则说明调度板卡当前的负载较低,那么,优先考虑选取调度板卡进行业务请求处理,这样,既可以实现板卡间的负载均衡,也可以避免跨板调度所带来的资源损耗。

第二种方式为:若当前权值最低的n个板卡中不存在调度板卡,则从当前权值最低的n个板卡中随机选取一个板卡,或者,选取当前权值最低的一个板卡,并将业务请求分配至选取的一个板卡进行处理。

由于调度板卡当前的负载较重,因此,需要进行跨板调度,从当前权值最低的n个板卡中选取一个板卡来进行业务请求处理,这样,可以避免给调度板卡带来过重的运算负荷,同时也可以实时板卡间的负载均衡。

较佳的,在将上述业务请求分配至相应的板卡处理完毕后,进一步地,网元设备会对本地每一个板卡对应的当前权值再次进行更新,因为随着业务请求的分配,各个板卡的负载状态参数又会发生变化,所以需要实时更新每一个板卡的当前权值。

下面通过一个具体的应用场景对上述实施例作出进一步详细说明。

假设网元设备需要计算的负载状态参数集合为r={r1,r2,…,rn},其中n表示负载状态参数总数目,本发明实施例中,n=4,其中,r1表示cpu占用率,r2表示物理内存占用率,r3表示承载小区数目,r4表示当前板卡是否调度板。此外,本实施例中,述业务请求具体的以小区建立请求为例。

基于以上四种负载状态参数,根据各个负载状态参数相对板卡性能的重要程度,将各个负载状态参数量化,采用加权的方式,实时更新不同板卡的当前权值y(r)。

例如,当有一个新的小区建立请求到来,需要选择轻负载的板卡资源,也即y(r)相对小的板卡,假设当前有2块板卡,分别为4槽位板卡、5槽位板卡、而4槽位板卡当前作为调度板卡接收到小区建立请求,那么,选择板卡资源的 时候,需要计算各个板卡的当前权值y(r)。

量化各个负载状态参数,依据其影响程度,暂假设为:r3>r1>r4>r2;

以及假设权重的单位为r,并且各个负载状态参数对应的权重初始值为:r3:5r;r1:3r;r2:2r;r1:r。

假设cpu占用率初始化值为0,而cpu占用率每提升5%,cpu占用率对应的权重提升3r,即cpu占用率的权重调整步长为3r;

假设物理内存占用率初始化值为0,而物理内存占用率每提升5%,物理内存占用率的权重提升r,即物理内存占用率的权重调整步长为r;

假设承载小区数目的初始化值为0,而每增加一个小区,承载小区数目的权重提升5r,即承载小区数目的权重调度步长为5r。

假设是否为调度板卡的初始化值为0,每次跨板调度,被调度板卡的权重位提升2r,即是否为调度板卡的权重调整步骤为2r。

假设在接收的小区建立请求时,4槽位板卡当前的cpu占用率为40%,物理内存占用率为30%,承载小区数目为2;而5槽位板卡的cpu占用率为30%,物理内存占用率为40%,承载小区数目为1。则

则当新的小区建立请求发送到4槽位板卡时,4槽位板卡需要根据当前4槽位板和5槽位板卡的负载轻重,选择合适的板卡资源,并响应小区建立请求相应的请求信息,具体的,4槽位板卡和5槽位板卡的当前权值的计算方式如下:

y(4)=(40%/5%)*3r+(30%/5%)*r+2*5r=40r;

y(5)=(30%/5%)*3r+(40%/5%)*r+1*5r+2r=33r。

依据上述算法,此时,当前权值y(5)<y(4),说明5槽位板卡当前的负载较轻,因此,4槽位板卡需要将接收到的小区建立请求分配至5槽位板卡进行处理,从而实现板卡资源的合理配置。

而当5槽位板卡响应分配到的小区建立请求后,y(5)也会动态地发生相应变化,因此,当接收到下一个新的小区建立请求时,调度板卡会采用更新后的 当前权值进行比较,进而选择合适的板卡资源,便于整个资源的合理配置和性能的大幅提升。

基于上述实施例,参阅图3所示,本发明实施例中,网元设备(即可以理解为接收到业务请求的调度板卡)至少包括通信单元30,处理单元31和分配单元32,其中,

通信单元30,用于接收业务请求;

处理单元31,用于分别确定本地每一个板卡的当前权值,其中,一个板卡的当前权值表征上述一个板卡当前的负载状态,且上述当前权值是根据上述一个板卡对应的至少一种负载状态参数的当前权重获得的;

分配单元32,用于从当前权值最低的n个板卡中选取一个板卡,并将上述业务请求分配至选取的板卡进行处理。

较佳的,分别确定本地配置的每一个板卡的当前权值时,处理单元31用于:

在接收到业务请求之前,分别计算本地每一个板卡的当前权值,并定期进行更新,以及在接收到业务请求之后,读取最新的分别针对每一个板卡计算的当前权值;或者,

在接收到业务请求之后,实时分别计算本地每一个板卡的当前权值。

较佳的,计算本地的任意一个板卡的当前权值时,处理单元31用于:

分别计算上述任意一个板卡对应的每一个负载状态参数的当前取值与指定的历史取值的差值;

分别按照每一个负载状态参数对应的差值,获得每一个负载状态参数的权重调整步长;

基于每一个负载状态参数对应的权重初始值和权重调度步长,计算获得每一个负载状态参数的当前权重;

将每一个负载状态参数的当前权重相加,获得上述任意一个板卡的当前权值。

较佳的,一个负载状态参数的历史取值,为针对上述一个负载状态参数设置的初始默认取值,或者,为上一次计算权重时针对上述一个负载状态参数记录的取值。

较佳的,一个板卡对应的负载状态参数包括以下的一种或任意组合:

cpu占用率,其中,cpu占用率越高,对应的权重越高;

物理内存占用率,其中,物理内存占用率越高,对应的权重越高;

承载小区数目,其中,承载小区数目越多,对应的权重越高;

是否为调度板卡,不为调度板卡,则对应的权重越高。

较佳的,从当前权值最低的n个板卡中选取一个板卡,并将上述业务请求分配至选取的板卡进行处理时,分配单元32用于:

若当前权值最低的n个板卡中存在调度板卡,则选取上述调度板卡,并将上述业务请求分配至上述调度板卡进行处理;

若当前权值最低的n个板卡中不存在调度板卡,则从当前权值最低的n个板卡中随机选取一个板卡,或者,选取当前权值最低的一个板卡,并将上述业务请求分配至选取的一个板卡进行处理。

较佳的,分配上述业务请求完毕后,处理单元31进一步用于:

对本地每一个板卡对应的当前权值进行更新。

综上所述,本发明实施例中,网元设备在接收到业务请求时,根据各个板卡的当前权值确定各个板卡实时的负载状态,并将业务请求分配至当前负载最轻的板卡进行处理,其中,一个板卡的当前权值是根据该板卡对应的至少一个负载状态参数的当前权重计算获得的。这样,网元设备便可以根据量化后的负载状态参数,采用动态加权方式实时更新各个板卡的当前权值,从而掌握各个板卡实时的负载性能,以便选择最优性能的板卡资源处理业务请求,由于考虑到了各个负载性能参数对板卡性能的实时影响程度,因此,可以迅速选取出当前性能最优的板卡,提高服务的处理速度和响应时间;并且在单板资源短缺的情况下,实现了多板卡资源共享,优化了板卡资源,从而保留了现有的平台演 进思路,无需开发新的板卡,有效节省了运维成本。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属 于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1