信号处理模块的负载均衡方法及装置与流程

文档序号:12863611阅读:251来源:国知局
信号处理模块的负载均衡方法及装置与流程

本发明实施例涉及负载均衡技术领域,尤其涉及一种信号处理模块的负载均衡方法及装置。



背景技术:

核心网移动性管理实体(mobilitymanagemententity,mme)网元的信号处理模块在正常运行的过程中,会遇到偶联分担不均衡、以及正在运行过程中由于偶联配置更改而导致的负载不均衡的情况。

通常,对于非虚拟化设备,主要是通过手动修改配置来调整负载分担,使负载均衡。但是,在核心网设备虚拟化后,信号处理模块扩容的过程中,扩容的信号处理模块上偶联分担不均衡,以及缩容过程中,偶联迁移一起的模块间偶联分担不均衡,导致了核心网设备虚拟化后信号处理模块负载不均衡的问题更为突出,无法简单的通过手动修改配置来调整负载分担,导致各信号处理模块的中央处理器(centraprocessingunit,cpu)负载不均衡,浪费系统资源。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种信号处理模块的负载均衡方法及装置,以实现各信号处理模块之间的cpu负载基本一致,实现负载均衡,充分利用系统资源。

为达到上述目的,本发明实施例的技术方案是这样实现的:

一种信号处理模块的负载均衡方法,所述方法包括:

按照预设规则,选择中央处理器cpu占用率与占用率平均值之间的差值绝对值大于等于预设阈值的信号处理模块作为偶联迁移的信号处理模块;

计算所述偶联迁移的信号处理模块的偶联收发包平均值;

按照所述cpu占用率从大到小的顺序,依次将需要偶联迁移的各所述信号处理模块上的偶联放入偶联预迁移队列;其中,每个所述信号处理模块上的偶 联按照收发包数的大小进行排序;

更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移。

如上所述的方法,其中,所述按照预设规则,选择cpu占用率与占用率平均值之间的差值绝对值大于等于预设阈值的信号处理模块作为偶联迁移的信号处理模块之前,所述方法还包括:

在重平衡检测定时器到时时,计算各所述信号处理模块的所述cpu占用率;

判断所述cpu占用率的最大值与最小值之间的差值绝对值是否大于等于所述预设阈值;

在判断所述cpu占用率的最大值与最小值之间的差值绝对值大于等于所述预设阈值时,根据所述各信号处理模块的cpu占用率,计算所述占用率平均值。

如上所述的方法,其中,所述判断所述cpu占用率的最大值与最小值之间的差值绝对值是否大于等于预设阈值之前,所述方法还包括:

将所有所述信号处理模块按照所述cpu占用率的大小进行排序。

如上所述的方法,其中,所述按照预设规则,选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块作为偶联迁移的信号处理模块,包括:

按照所述预设规则,从cpu占用率最高的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁出的信号处理模块;

按照所述预设规则,从cpu占用率最低的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁入的信号处理模块。

如上所述的方法,其中,所述按照预设规则,选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块作为偶联迁移的信号处理模块,还包括:

若没有所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于 所述预设阈值的信号处理模块,则从所述cpu占用率高于所述占用率平均值的信号处理模块中,依次选择作为偶联迁出的信号处理模块,其中,所选择的作为偶联迁出的信号处理模块的数量不超过偶联迁入的信号处理模块的数量;或者,从所述cpu占用率低于所述占用率平均值的信号处理模块中,依次选择作为偶联迁入的信号处理模块,其中,所选择的作为偶联迁入的信号处理模块的数量不超过偶联迁出的信号处理模块的数量。

如上所述的方法,其中,所述依次将需要偶联迁移的各所述信号处理模块上的偶联放入偶联预迁移队列,包括:

过滤掉各所述信号处理模块上的所述收发包数大于等于1.1倍所述偶联收发包平均值的偶联,以及所述收发包数等于0的偶联,依次将各所述信号处理模块上的偶联放入所述偶联预迁移队列。

如上所述的方法,其中,所述迁移条件包括:

目标信号处理模块的收发包数加上预迁移偶联的收发包数小于1.1倍的所述偶联收发包平均值;

所述预迁移偶联所在的源信号处理模块的收发包数与所述预迁移偶联的收发包数之差大于0.9倍的所述偶联收发包平均值;

所述预迁移偶联迁移到所述目标信号处理模块后,与所述预迁移偶联的归属局向和协议类型相同的偶联不会都集中在所述目标信号处理模块上;

所述目标信号处理模块上已建立的偶联个数与确定要迁移到所述目标信号处理模块的偶联个数之和,小于所述目标信号处理模块上的偶联个数最大容量。

如上所述的方法,其中,所述更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移之后,所述方法还包括:

将偶联对应的所述源信号处理模块的收发包数减去所述预迁移偶联的收发包数;将偶联对应的所述目标信号处理模块的收发包数加上所述预迁移偶联的收发包数。

一种信号处理模块的负载均衡装置,所述装置包括:

选择模块,用于按照预设规则,选择中央处理器cpu占用率与占用率平均值之间的差值绝对值大于等于预设阈值的信号处理模块作为偶联迁移的信号处 理模块;

计算模块,用于计算所述偶联迁移的信号处理模块的偶联收发包平均值;

迁移模块,用于按照所述cpu占用率从大到小的顺序,依次将需要偶联迁移的各所述信号处理模块上的偶联放入偶联预迁移队列;其中,每个所述信号处理模块上的偶联按照收发包数的大小进行排序;更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移。

如上所述的装置,其中,所述计算模块还用于:

在重平衡检测定时器到时时,计算各所述信号处理模块的所述cpu占用率;

所述装置还包括判断模块,用于判断所述cpu占用率的最大值与最小值之间的差值绝对值是否大于等于所述预设阈值;

所述计算模块,还用于在所述判断模块判断所述cpu占用率的最大值与最小值之间的差值绝对值大于等于所述预设阈值时,根据所述各信号处理模块的cpu占用率,计算所述占用率平均值。

如上所述的装置,其中,所述选择模块还用于:

将所有所述信号处理模块按照所述cpu占用率的大小进行排序。

如上所述的装置,其中,所述选择模块具体用于:

按照所述预设规则,从cpu占用率最高的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁出的信号处理模块;

按照所述预设规则,从cpu占用率最低的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁入的信号处理模块。

如上所述的装置,其中,所述选择模块还用于:

若没有所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块,则从所述cpu占用率高于所述占用率平均值的信号处理模块中,依次选择作为偶联迁出的信号处理模块,其中,所选择的作为偶联迁出的信号处理模块的数量不超过偶联迁入的信号处理模块的数量;或者,从所述cpu占用率低于所述占用率平均值的信号处理模块中,依次选择作 为偶联迁入的信号处理模块,其中,所选择的作为偶联迁入的信号处理模块的数量不超过偶联迁出的信号处理模块的数量。

如上所述的装置,其中,所述迁移模块具体用于:

过滤掉各所述信号处理模块上的所述收发包数大于等于1.1倍所述偶联收发包平均值的偶联,以及所述收发包数等于0的偶联,依次将各所述信号处理模块上的偶联放入所述偶联预迁移队列。

如上所述的装置,其中,所述迁移条件包括:

目标信号处理模块的收发包数加上预迁移偶联的收发包数小于1.1倍的所述偶联收发包平均值;

所述预迁移偶联所在的源信号处理模块的收发包数与所述预迁移偶联的收发包数之差大于0.9倍的所述偶联收发包平均值;

所述预迁移偶联迁移到所述目标信号处理模块后,与所述预迁移偶联的归属局向和协议类型相同的偶联不会都集中在所述目标信号处理模块上;

所述目标信号处理模块上已建立的偶联个数与确定要迁移到所述目标信号处理模块的偶联个数之和,小于所述目标信号处理模块上的偶联个数最大容量。

如上所述的装置,其中,所述计算模块还用于:

将偶联对应的所述源信号处理模块的收发包数减去所述预迁移偶联的收发包数;将偶联对应的所述目标信号处理模块的收发包数加上所述预迁移偶联的收发包数。

本发明实施例提供的号处理模块的负载均衡方法及装置,按照预设规则,选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块作为偶联迁移的信号处理模块;计算所述偶联迁移的信号处理模块的偶联收发包平均值;按照所述cpu占用率从大到小的顺序,依次将各所述信号处理模块上的偶联放入偶联预迁移队列;其中,每个所述信号处理模块上的偶联按照收发包数的大小进行排序;更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移。实现了各信号处理模块之间的cpu负载基本一致,实现负载均衡,能够充分利用系统资源。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为本发明实施例提供的信号处理模块的负载均衡方法的流程图;

图2为本发明实施例提供的信号处理模块的负载均衡装置的结构示意图。

具体实施方式

在本发明各实施例中,信号处理模块的负载重平衡的判定依据是cpu负荷,如果存在两个信号处理模块间的cpu负荷的差值绝对值达到或者超过一定的阈值,此时对于动态均衡来说,是最差的一种场景,因此,信号处理模块负载重平衡的目标,就是在此场景发生时,通过从负荷高的信号处理模块迁移偶联,即,改变偶联和模块的归属关系到负荷低的信号处理模块,使各个信号处理模块之间的负荷达到基本均衡;其中的阈值可以手动配置,从而使得各信号处理模块之间的cpu的负载基本一致,实现负载均衡,进而可以充分利用系统资源。

图1为本发明实施例提供的信号处理模块的负载均衡方法的流程图。如图1所示,本实施例提供的方法可以包括:

步骤101、按照预设规则,选择cpu占用率与占用率平均值之间的差值绝对值大于等于预设阈值的信号处理模块作为偶联迁移的信号处理模块。

实际应用中,触发负载重平衡判定的条件是重平衡检测定时器到时;具体的,在重平衡检测定时器到时时,计算各信号处理模块的cpu占用率;判断所述cpu占用率的最大值与最小值之间的差值绝对值是否大于等于预设阈值;在判断所述cpu占用率的最大值与最小值之间的差值绝对值大于等于所述预设阈值时,根据所述各信号处理模块的cpu占用率,计算占用率平均值。

本实施例中,设定重平衡检测定时器,在所述重平衡检测定时器到时,分别计算各信号处理模块cpu占用率;需要说明的是,为了避免cpu的异常峰值的影响,进一步还可以设定采样次数。

进一步地,在判断cpu占用率的最大值与最小值之间的差值绝对值是否大 于等于所述预设阈值之前,还可以将所有所述信号处理模块按照所述cpu占用率的大小进行排序,以便于判断是否需要进行信号处理模块负载重平衡处理。

可以理解的是,如果cpu占用率的最大值与最小值之间的差值绝对值大于等于所述预设阈值,则判定为需要进行信号处理模块负载重平衡处理;如果不是,则判定为不需要进行信号处理模块负载重平衡处理,不做处理,等待下一个重平衡检测定时器周期。

具体的,在本步骤中,选择需要偶联迁出的信号处理模块和需要偶联迁入的信号处理模块时,基于上述计算并排序好的各个信号处理模块的cpu占用率和占用率平均值,按照预设规则分别选择需要偶联迁出和偶联迁入的信号处理模块。

具体的,按照所述预设规则,从cpu占用率最高的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁出的信号处理模块。

具体的,按照所述预设规则,从cpu占用率最低的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁入的信号处理模块。

进一步地,若没有所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块,则从所述cpu占用率高于所述占用率平均值的信号处理模块中,依次选择作为偶联迁出的信号处理模块,其中,所选择的作为偶联迁出的信号处理模块的数量不超过偶联迁入的信号处理模块的数量;这种情况适用于所述cpu占用率大量偏高,少量偏低的情景,例如扩容少量信号处理模块。

或者,从所述cpu占用率低于所述占用率平均值的信号处理模块中,依次选择作为偶联迁入的信号处理模块,其中,所选择的作为偶联迁入的信号处理模块的数量不超过偶联迁出的信号处理模块的数量;这种情况适用于所述cpu占用率大量偏低,少量偏高的情景,例如割接信号处理模块,或扩容大批量信号处理模块。

步骤102、计算所述偶联迁移的信号处理模块的偶联收发包平均值。

步骤103、按照所述cpu占用率从大到小的顺序,依次将需要偶联迁移的各所述信号处理模块上的偶联放入偶联预迁移队列;其中,每个所述信号处理 模块上的偶联按照收发包数的大小进行排序。

实际应用中,首先需要将偶联预迁移队列清空,然后针对需要偶联迁移的信号处理模块,按照cpu占用率从大到小的顺序,依次将各信号处理模块上的所有偶联都放入到偶联预迁移队列中,每个信号处理模块上的偶联都按照各自的收发包数大小进行排序。

具体的,过滤掉各所述信号处理模块上的所述收发包数大于等于1.1倍所述偶联收发包平均值的偶联,以及所述收发包数等于0的偶联,依次将各所述信号处理模块上的偶联放入所述偶联预迁移队列。

需要说明的是,有一种情况需要特殊处理:对于需要迁出偶联的信号处理模块,如果该信号处理模块的偶联的收发包数低于0.9倍的偶联收发包平均值,则只需要在该信号处理模块上直接找一条收发包数低的偶联迁移到合适的目标信号处理模块;该信号处理模块上的其他偶联不需要再放入到预迁移队列中;其中,所选择的收发包数低的偶联是从收发包数最低的偶联找起的,判断目标信号处理模块是否合适的判断原则是:保证归属同一个局向的偶联不集中在同一个信号处理模块,以及偶联个数不超过单个模块能够容纳的最大偶联个数;且优先迁移到cpu占用率低的目标信号处理模块。

步骤104、更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移。

具体的,所述迁移条件包括:目标信号处理模块的收发包数加上预迁移偶联的收发包数小于1.1倍的所述偶联收发包平均值;所述预迁移偶联所在的源信号处理模块的收发包数与所述预迁移偶联的收发包数之差大于0.9倍的所述偶联收发包平均值;所述预迁移偶联迁移到所述目标信号处理模块后,与所述预迁移偶联的归属局向和协议类型相同的偶联不会都集中在所述目标信号处理模块上;所述目标信号处理模块上已建立的偶联个数与确定要迁移到所述目标信号处理模块的偶联个数之和,小于所述目标信号处理模块上的偶联个数最大容量。

需要说明的是,本实施例中,在确定合适的目标信号处理模块时,对于每条偶联,都是优先判断cpu占用率最低的信号处理模块,如果不合适,再按照cpu占用率从低到高的顺序,依次判断cpu占用率次高的模块,如果找到合适的目标模块或者所有需要迁入偶联的信号处理模块都不合适,再判断下一条 偶联。

对于同时满足上述四个迁移条件的偶联,判定为可以迁入目标信号处理模块,则将该偶联的模块号更新为目标模块号,再将该偶联从所述偶联预迁移队列中移出,放入到偶联迁移队列中,并在本重平衡检测定时器的周期内、且所有待迁移的偶联都已放入偶联迁移队列中后,对偶联迁移队列中的偶联逐一进行偶联迁移处理。

进一步地,在将偶联放入偶联迁移队列后,本实施例中,还需要将偶联对应的所述源信号处理模块的收发包数减去所述预迁移偶联的收发包数;将偶联对应的所述目标信号处理模块的收发包数加上所述预迁移偶联的收发包数,为下一个重平衡检测定时器周期的判断做准备。

本实施例提供的信号处理模块的负载均衡方法,可以实现各信号处理模块之间的cpu负载基本一致,实现负载均衡,进而能够充分利用系统资源。

图2为本发明实施例提供的信号处理模块的负载均衡装置的结构示意图。如图2所示,本实施例提供的装置包括:选择模块11、计算模块12以及迁移模块13。

其中,选择模块11,用于按照预设规则,选择cpu占用率与占用率平均值之间的差值绝对值大于等于预设阈值的信号处理模块作为偶联迁移的信号处理模块;

计算模块12,用于计算所述偶联迁移的信号处理模块的偶联收发包平均值;

迁移模块13,用于按照所述cpu占用率从大到小的顺序,依次将各所述信号处理模块上的偶联放入偶联预迁移队列;其中,每个所述信号处理模块上的偶联按照收发包数的大小进行排序;更新满足迁移条件的偶联的目标模块号,并将所述满足迁移条件的偶联放入偶联迁移队列,进行偶联迁移。

进一步地,所述计算模块12还用于:在重平衡检测定时器到时时,计算各所述信号处理模块的所述cpu占用率;所述装置还包括判断模块,用于判断所述cpu占用率的最大值与最小值之间的差值绝对值是否大于等于所述预设阈值;所述计算模块12,还用于在所述判断模块判断所述cpu占用率的最大值与最小值之间的差值绝对值大于等于所述预设阈值时,根据所述各信号处理模块的cpu占用率,计算所述占用率平均值。

进一步地,所述选择模块11还用于:将所有所述信号处理模块按照所述cpu占用率的大小进行排序。

所述选择模块11具体用于:按照所述预设规则,从cpu占用率最高的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁出的信号处理模块;按照所述预设规则,从cpu占用率最低的信号处理模块开始,依次选择所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块中的一半,作为偶联迁入的信号处理模块。

进一步地,所述选择模块11还用于:若没有所述cpu占用率与所述占用率平均值之间的差值绝对值大于等于所述预设阈值的信号处理模块,则从所述cpu占用率高于所述占用率平均值的信号处理模块中,依次选择作为偶联迁出的信号处理模块,其中,所选择的作为偶联迁出的信号处理模块的数量不超过偶联迁入的信号处理模块的数量;或者,从所述cpu占用率低于所述占用率平均值的信号处理模块中,依次选择作为偶联迁入的信号处理模块,其中,所选择的作为偶联迁入的信号处理模块的数量不超过偶联迁出的信号处理模块的数量。

所述迁移模块13具体用于:过滤掉各所述信号处理模块上的所述收发包数大于等于1.1倍所述偶联收发包平均值的偶联,以及所述收发包数等于0的偶联,依次将各所述信号处理模块上的偶联放入所述偶联预迁移队列。

需要说明的是,所述迁移条件包括:目标信号处理模块的收发包数加上预迁移偶联的收发包数小于1.1倍的所述偶联收发包平均值;所述预迁移偶联所在的源信号处理模块的收发包数与所述预迁移偶联的收发包数之差大于0.9倍的所述偶联收发包平均值;所述预迁移偶联迁移到所述目标信号处理模块后,与所述预迁移偶联的归属局向和协议类型相同的偶联不会都集中在所述目标信号处理模块上;所述目标信号处理模块上已建立的偶联个数与确定要迁移到所述目标信号处理模块的偶联个数之和,小于所述目标信号处理模块上的偶联个数最大容量。

进一步地,所述计算模块12还用于:将偶联对应的所述源信号处理模块的收发包数减去所述预迁移偶联的收发包数;将偶联对应的所述目标信号处理模块的收发包数加上所述预迁移偶联的收发包数。

本实施例提供的信号处理模块的负载均衡装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,该选择模块11,计算模块12以及迁移模块13可由位于信号处理模块的负载均衡装置上的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等器件实现。

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

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

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

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

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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