一种负载均衡方法、装置及设备制造方法及图纸

技术编号:24937435 阅读:35 留言:0更新日期:2020-07-17 20:49
本申请公开一种负载均衡方法、装置及设备,所述方法包括:获取收包VCPU的最大利用率和处理转发VCPU的平均利用率;确定所述收包VCPU的最大利用率与预设第一阈值的大小关系,以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系;基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。本申请能够实现收包VCPU与处理转发VCPU之间的负载均衡,从而提高系统的整体性能以及降低丢包率。

【技术实现步骤摘要】
一种负载均衡方法、装置及设备
本申请涉及数据处理领域,具体涉及一种负载均衡方法、装置及设备。
技术介绍
多核CPU是指具有多个处理核的物理CPU,目前,利用超线程技术能够对多核CPU的每个处理核进行虚拟化,得到多个虚拟CPU,也称为VCPU,每个VCPU都可以独立完成被分配的任务。例如,负责从收包队列收包的VCPU可以称为收包VCPU,负责报文的处理以及将报文发至发包队列的VCPU可以称为处理转发VCPU,负责控制网卡收发包队列分配和调整的VCPU可以称为控制VCPU。其中,收包VCPU和处理转发VCPU可以统称为数据核。目前,常见的网络场景中存在网络流量具有较大波动的情况,如有的时段高新建,小包比例高,网络吞吐率pps高,导致收包VCPU的收包能力不足进而导致丢包。然而,此时的处理转发VCPU可能空闲率较高。另外,还存在由于数据传输,视频传输,下载等业务的大包比例较高,或者由于包深度检测等耗性能业务的原因,导致处理转发VCPU性能不足进而导致丢包的情况,然而,此时的收包VCPU也可能空闲率较高。显然,上述网络场景中均存在任务分配不均导致的收包VCPU与处理转发VCPU之间的负载不均衡情况。因此,如何实现收包VCPU与处理转发VCPU之间的负载均衡,从而提高系统的整体性能以及降低丢包率,是目前亟待解决的问题。
技术实现思路
有鉴于此,本申请提供了一种负载均衡方法、装置及设备,能够实现收包VCPU与处理转发VCPU之间的负载均衡,从而提高系统的整体性能以及降低丢包率。第一方面,为实现上述专利技术目的,本申请提供了一种负载均衡方法,所述方法包括:获取收包VCPU的最大利用率和处理转发VCPU的平均利用率;确定所述收包VCPU的最大利用率与预设第一阈值的大小关系,以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系;基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。一种可选的实施方式中,所述获取收包VCPU的最大利用率和处理转发VCPU的平均利用率之前,还包括:确定当前是否存在超性能丢包;如果当前存在超性能丢包,则执行所述获取收包VCPU的最大利用率和处理转发VCPU的平均利用率的步骤。一种可选的实施方式中,所述基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡,包括:如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则将所述处理转发VCPU中的一个或多个调度为所述收包VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡;和\或,如果所述收包VCPU的最大利用率小于所述预设第一阈值且所述处理转发VCPU的平均利用率大于所述预设第二阈值,则将所述收包VCPU中的一个或多个调度为所述处理转发VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。一种可选的实施方式中,所述如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则将所述处理转发VCPU中的一个或多个调度为所述收包VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡,包括:如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则确定需要调度为所述收包VCPU的处理转发VCPU的个数;其中,所述需要调度为所述收包VCPU的处理转发VCPU的个数能够使得所述收包VCPU和所述处理转发VCPU的总平均利用率最大或者不小于预设第三阈值;将满足所述个数的处理转发VCPU与对应的发包队列解绑,并将所述处理转发VCPU与利用率最高的收包VCPU的收包队列进行绑定,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。一种可选的实施方式中,所述如果所述收包VCPU的最大利用率小于所述预设第一阈值且所述处理转发VCPU的平均利用率大于所述预设第二阈值,则将所述收包VCPU中的一个或多个调度为所述处理转发VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡,包括:如果所述收包VCPU的最大利用率小于所述预设第一阈值且所述处理转发VCPU的平均利用率大于所述预设第二阈值,则确定需要调度为所述处理转发VCPU的收包VCPU的个数;其中,所述需要调度为所述处理转发VCPU的收包VCPU的个数能够使得所述收包VCPU和所述处理转发VCPU的总平均利用率最大或者不小于预设第三阈值;将满足所述个数的利用率最低的收包VCPU与对应的收包队列解绑,并将所述收包VCPU与任一发包队列进行绑定,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。第二方面,本申请还提供了一种负载均衡装置,所述装置包括:获取模块,用于获取收包VCPU的最大利用率和处理转发VCPU的平均利用率;第一确定模块,用于确定所述收包VCPU的最大利用率与预设第一阈值的大小关系,以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系;调度模块,用于基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。一种可选的实施方式中,所述装置还包括:第二确定模块,用于确定当前是否存在超性能丢包;触发模块,用于在所述第二确定模块确定当前存在超性能丢包时,触发所述获取模块。一种可选的实施方式中,所述调度模块,包括:第一调度子模块,用于在所述第一确定模块的确定结果为所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值时,将所述处理转发VCPU中的一个或多个调度为所述收包VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡;和\或,第二调度子模块,用于在所述第一确定模块的确定结果为所述收包VCPU的最大利用率小于所述预设第一阈值且所述处理转发VCPU的平均利用率大于所述预设第二阈值时,将所述收包VCPU中的一个或多个调度为所述处理转发VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述任一项所述的方法。第四方面,本申请还提供了一种设备本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,其特征在于,所述方法包括:/n获取收包VCPU的最大利用率和处理转发VCPU的平均利用率;/n确定所述收包VCPU的最大利用率与预设第一阈值的大小关系,以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系;/n基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。/n

【技术特征摘要】
1.一种负载均衡方法,其特征在于,所述方法包括:
获取收包VCPU的最大利用率和处理转发VCPU的平均利用率;
确定所述收包VCPU的最大利用率与预设第一阈值的大小关系,以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系;
基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。


2.根据权利要求1所述的方法,其特征在于,所述获取收包VCPU的最大利用率和处理转发VCPU的平均利用率之前,还包括:
确定当前是否存在超性能丢包;
如果当前存在超性能丢包,则执行所述获取收包VCPU的最大利用率和处理转发VCPU的平均利用率的步骤。


3.根据权利要求1所述的方法,其特征在于,所述基于所述收包VCPU的最大利用率与预设第一阈值的大小关系以及所述处理转发VCPU的平均利用率与预设第二阈值的大小关系,对所述收包VCPU和所述处理转发VCPU进行调度,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡,包括:
如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则将所述处理转发VCPU中的一个或多个调度为所述收包VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡;
和\或,
如果所述收包VCPU的最大利用率小于所述预设第一阈值且所述处理转发VCPU的平均利用率大于所述预设第二阈值,则将所述收包VCPU中的一个或多个调度为所述处理转发VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。


4.根据权利要求3所述的方法,其特征在于,所述如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则将所述处理转发VCPU中的一个或多个调度为所述收包VCPU,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡,包括:
如果所述收包VCPU的最大利用率大于所述预设第一阈值且所述处理转发VCPU的平均利用率小于所述预设第二阈值,则确定需要调度为所述收包VCPU的处理转发VCPU的个数;其中,所述需要调度为所述收包VCPU的处理转发VCPU的个数能够使得所述收包VCPU和所述处理转发VCPU的总平均利用率最大或者不小于预设第三阈值;
将满足所述个数的处理转发VCPU与对应的发包队列解绑,并将所述处理转发VCPU与利用率最高的收包VCPU的收包队列进行绑定,以达到所述收包VCPU和所述处理转发VCPU之间的负载均衡。


5.根据权利要求3所述的方法,其特征在于,所述如果所述收包VCPU的最大利用率小于所述预设第一阈值...

【专利技术属性】
技术研发人员:李绍军孙军伟
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1