一种负载均衡方法、系统、设备及计算机可读存储介质技术方案

技术编号:35038379 阅读:16 留言:0更新日期:2022-09-24 23:15
本申请公开了一种负载均衡方法、系统、设备及计算机可读存储介质,应用于负载均衡场景,获取待分配的目标数据;确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎;在未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎;将目标数据分配给当前时刻的目标计算引擎;将未过载计算引擎中已过载的计算引擎标记为过载计算引擎;将过载计算引擎中未过载的计算引擎标记为未过载计算引擎。本申请避免了将目标数据再次分配给过载计算引擎而导致的多计算引擎间的负载不均衡现象,此外,可以及时更新计算引擎的过载与未过载状态,便于下一时刻准确基于计算引擎的过载与未过载状态进行数据分配,便于实现负载均衡。现负载均衡。现负载均衡。

【技术实现步骤摘要】
一种负载均衡方法、系统、设备及计算机可读存储介质


[0001]本申请涉及负载均衡
,更具体地说,涉及一种负载均衡方法、系统、设备及计算机可读存储介质。

技术介绍

[0002]随着计算机技术的发展,多内核设备的应用越来越广,多内核(multicore)是指在一枚处理器(processor)中集成两个或多个完整的计算引擎(内核),借助多内核技术,设备可以并行对数据进行处理,从而提升处理效率。
[0003]然而,在多内核设备的运行过程中,存在为多个计算引擎分发任务的需求,如果多个计算引擎的任务分发不均匀,会导致多计算引擎间的负载不均衡,严重时会引起网络卡慢等情况,影响多内核设备的性能。
[0004]综上所述,如何实现多内核设备中计算引擎间的负载均衡是目前本领域技术人员亟待解决的问题。

技术实现思路

[0005]本申请的目的是提供一种负载均衡方法,其能在一定程度上解决如何实现多内核设备中计算引擎间的负载均衡的技术问题。本申请还提供了一种负载均衡系统、电子设备及计算机可读存储介质。
[0006]为了实现上述目的,本申请提供如下技术方案:
[0007]一种负载均衡方法,包括:
[0008]获取待分配的目标数据;
[0009]确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎;
[0010]在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎;
[0011]将所述目标数据分配给当前时刻的所述目标计算引擎;
[0012]将所述未过载计算引擎中已过载的所述计算引擎标记为所述过载计算引擎;
[0013]将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎。
[0014]优选的,所述确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎,包括:
[0015]确定当前时刻下、所述多内核设备中的过载队列及调度队列,所述过载队列用于记录所述过载计算引擎,所述调度队列用于记录所述未过载计算引擎。
[0016]优选的,所述在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎,包括:
[0017]在所述调度队列中,将当前时刻的调度游标所指向的所述计算引擎作为当前时刻的所述目标计算引擎;
[0018]所述在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目
标计算引擎之后,还包括:
[0019]控制下一时刻的所述调度游标指向所述调度队列中、当前时刻的所述目标计算引擎的下一所述计算引擎;
[0020]其中,若当前时刻的所述目标计算引擎为所述调度队列中的最后一个所述计算引擎,则当前时刻的所述目标计算引擎的下一所述计算引擎为所述调度队列中的第一个所述计算引擎。
[0021]优选的,所述将所述未过载计算引擎中已过载的所述计算引擎标记为所述过载计算引擎,包括:
[0022]判断上一时刻的所述目标计算引擎是否过载;
[0023]若上一时刻的所述目标计算引擎过载,则将所述调度队列中上一时刻的所述目标计算引擎转移至所述过载队列的队尾。
[0024]优选的,所述将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎,包括:
[0025]在所述过载队列中,判断当前时刻的过载游标所对应的所述计算引擎是否未过载;
[0026]若当前时刻的所述过载游标所对应的所述计算引擎未过载,则将所述过载队列中当前时刻的所述过载游标所对应的所述计算引擎转移至所述调度队列的队尾;
[0027]所述将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎之后,还包括:
[0028]控制下一时刻的所述过载游标指向所述过载队列中、当前时刻的所述过载游标所对应的所述计算引擎的下一所述计算引擎。
[0029]优选的,所述控制下一时刻的所述调度游标指向所述调度队列中、当前时刻的所述目标计算引擎的下一所述计算引擎之后,还包括:
[0030]若下一时刻的所述调度游标指向所述调度队列中的第一个所述计算引擎,则控制下一时刻的所述过载游标指向所述过载队列中的第一个所述计算引擎。
[0031]优选的,所述在所述调度队列中,将当前时刻的调度游标所指向的所述计算引擎作为当前时刻的所述目标计算引擎,包括:
[0032]判断当前时刻的所述调度游标是否有锁;
[0033]若当前时刻的所述调度游标无锁,则对当前时刻的所述调度游标进行加锁,并在所述调度队列中,将当前时刻的所述调度游标所指向的所述计算引擎作为当前时刻的所述目标计算引擎;
[0034]所述将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎之后,还包括:
[0035]解除当前时刻的所述调度游标的锁。
[0036]一种负载均衡系统,包括:
[0037]数据获取模块,用于获取待分配的目标数据;
[0038]计算引擎确定模块,用于确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎;
[0039]目标计算引擎确定模块,用于在所述未过载计算引擎中选取未被分配数据的计算
引擎作为当前时刻的目标计算引擎;
[0040]分配模块,用于将所述目标数据分配给当前时刻的所述目标计算引擎;
[0041]已过载计算引擎转移模块,用于将所述未过载计算引擎中已过载的所述计算引擎标记为所述过载计算引擎;
[0042]未过载计算引擎转移模块,用于将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎。
[0043]一种电子设备,包括:
[0044]存储器,用于存储计算机程序;
[0045]处理器,用于执行所述计算机程序时实现如上任一所述负载均衡方法的步骤。
[0046]一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述负载均衡方法的步骤。
[0047]本申请提供的一种负载均衡方法,获取待分配的目标数据;确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎;在未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎;将目标数据分配给当前时刻的目标计算引擎;将未过载计算引擎中已过载的计算引擎标记为过载计算引擎;将过载计算引擎中未过载的计算引擎标记为未过载计算引擎。本申请中,在未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎,并将目标数据分配给当前时刻的目标计算引擎,实现了将目标数据分配给未被分配数据的未过载计算引擎中,避免了将目标数据再次分配给过载计算引擎而导致的多计算引擎间的负载不均衡现象,此外,通过将未过载计算引擎中已过载的计算引擎标记为过载计算引擎,将过载计算引擎中未过载的计算引擎标记为未过载计算引擎,可以及时更新计算引擎的过载与未过载状态,便于下一时刻准确基于计算引擎的过载与未过载状态进行数据分配,便于实现多内核设备中计算引本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:获取待分配的目标数据;确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎;在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎;将所述目标数据分配给当前时刻的所述目标计算引擎;将所述未过载计算引擎中已过载的所述计算引擎标记为所述过载计算引擎;将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎。2.根据权利要求1所述的方法,其特征在于,所述确定当前时刻下、多内核设备中的过载计算引擎及未过载计算引擎,包括:确定当前时刻下、所述多内核设备中的过载队列及调度队列,所述过载队列用于记录所述过载计算引擎,所述调度队列用于记录所述未过载计算引擎。3.根据权利要求2所述的方法,其特征在于,所述在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎,包括:在所述调度队列中,将当前时刻的调度游标所指向的所述计算引擎作为当前时刻的所述目标计算引擎;所述在所述未过载计算引擎中选取未被分配数据的计算引擎作为当前时刻的目标计算引擎之后,还包括:控制下一时刻的所述调度游标指向所述调度队列中、当前时刻的所述目标计算引擎的下一所述计算引擎;其中,若当前时刻的所述目标计算引擎为所述调度队列中的最后一个所述计算引擎,则当前时刻的所述目标计算引擎的下一所述计算引擎为所述调度队列中的第一个所述计算引擎。4.根据权利要求2所述的方法,其特征在于,所述将所述未过载计算引擎中已过载的所述计算引擎标记为所述过载计算引擎,包括:判断上一时刻的所述目标计算引擎是否过载;若上一时刻的所述目标计算引擎过载,则将所述调度队列中上一时刻的所述目标计算引擎转移至所述过载队列的队尾。5.根据权利要求3或4所述的方法,其特征在于,所述将所述过载计算引擎中未过载的所述计算引擎标记为所述未过载计算引擎,包括:在所述过载队列中,判断当前时刻的过载游标所对应的所述计算引擎是否未过载;若当前时刻的所述过载游标所对应的所述计算引擎未过载,则将所述过载队列中当前时刻的所述过载游标所对应的所述计算引擎转移至所述调度队列的队尾;...

【专利技术属性】
技术研发人员:蒋世齐
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1