CN110362402B - 一种负载均衡方法、装置、设备及可读存储介质 - Google Patents
一种负载均衡方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110362402B CN110362402B CN201910555807.4A CN201910555807A CN110362402B CN 110362402 B CN110362402 B CN 110362402B CN 201910555807 A CN201910555807 A CN 201910555807A CN 110362402 B CN110362402 B CN 110362402B
- Authority
- CN
- China
- Prior art keywords
- cpu
- service
- sub
- module
- service module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种负载均衡方法,包括:若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;根据各个CPU的使用率和存储***当前处理的IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块,从而调整了存储***中的CPU和IO业务中的各个子业务模块的绑定关系,实现了存储***的负载均衡,从而提高了存储***的性能和对外服务能力。相应地,本申请公开的一种负载均衡装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种负载均衡方法、装置、设备及可读存储介质。
背景技术
在现有技术中,一般利用异步线程模型处理存储***中的IO业务。其中,一个IO业务中包括多个子业务模块,且存储***为多CPU***,那么当利用异步线程模型处理存储***中的IO业务时,处理每个子业务模块的CPU可能不同,这样可以使存储***中的多个CPU分别处理IO业务中的多个子业务模块。
但是,异步线程模型在实际实施过程中,每个子业务模块由其对应的默认CPU固定处理,使得处理过程中存在部分CPU满负荷运行,另一部分CPU却较为空闲的情况。也就是说,现有的异步线程模型无法实现存储***中的负载均衡,会降低存储***的性能和对外服务能力。
因此,在利用异步线程模型处理存储***中的IO业务时,如何实现存储***的负载均衡,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种负载均衡方法、装置、设备及可读存储介质,以实现存储***的负载均衡。其具体方案如下:
第一方面,本申请提供了一种负载均衡方法,包括:
若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;
根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;
按照绑定关系处理目标IO业务中的各个子业务模块。
优选地,按照绑定关系处理目标IO业务中的各个子业务模块之前,还包括:
将目标IO业务中的各个子业务模块和各个CPU的绑定关系存储至配置文件;
重启存储***,并加载配置文件。
优选地,重启存储***之前,还包括:
根据用户输入的绑定关系修改配置文件中的绑定关系。
优选地,统计存储***中的各个CPU的使用率,包括:
通过top命令统计存储***中的各个CPU的使用率。
优选地,目标IO业务中的子业务模块至少包括:节点间镜像模块、FC业务模块、RAID模块和缓存模块。
优选地,根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的资源占用信息,调整各个CPU和各个子业务模块的绑定关系,包括:
根据各个CPU的使用率确定空闲CPU;
根据目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;
展示目标IO业务中的各个子业务模块、各个CPU、空闲CPU和争抢CPU的子业务模块,以便获取用户输入的目标IO业务中的各个子业务模块和各个CPU的绑定关系。
优选地,根据各个CPU的使用率确定空闲CPU,包括:
将各个CPU的使用率与预设的使用率阈值进行对比,将低于使用率阈值的CPU确定为空闲CPU。
第二方面,本申请提供了一种负载均衡装置,包括:
统计模块,用于若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;
调整模块,用于根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;
处理模块,用于按照绑定关系处理目标IO业务中的各个子业务模块。
第三方面,本申请提供了一种负载均衡设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序,以实现前述公开的负载均衡方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,计算机程序被处理器执行时实现前述公开的负载均衡方法。
通过以上方案可知,本申请提供了一种负载均衡方法,包括:若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块。
可见,当利用异步线程模型处理存储***中的IO业务时,为了实现负载均衡,可在异步线程模型处理IO业务的过程中,统计存储***中的各个CPU的使用率;然后根据各个CPU的使用率和存储***当前处理的IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块,从而调整了存储***中的CPU和IO业务中的各个子业务模块的绑定关系,在一定程度上能够避免存储***中不同CPU负载相差较大的情况,即:实现了存储***的负载均衡,从而提高了存储***的性能和对外服务能力。
相应地,本申请提供的一种负载均衡装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的第一种负载均衡方法流程图;
图2为本申请公开的第二种负载均衡方法流程图;
图3为本申请公开的一种负载均衡装置示意图;
图4为本申请公开的一种负载均衡设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,异步线程模型在实际实施过程中,异步线程模型在实际实施过程中,每个子业务模块由其对应的默认CPU固定处理,使得处理过程中存在部分CPU满负荷运行,另一部分CPU却较为空闲的情况。也就是说,现有的异步线程模型无法实现存储***中的负载均衡,会降低存储***的性能和对外服务能力。为此,本申请提供了一种负载均衡方案,能够实现存储***的负载均衡。
参见图1所示,本申请实施例公开了第一种负载均衡方法,包括:
S101、若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;
S102、根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;
S103、按照绑定关系处理目标IO业务中的各个子业务模块。
具体的,目标IO业务中的子业务模块至少包括:节点间镜像模块、FC(FibreChannel,光纤通道)业务模块、RAID模块和缓存模块。需要说明的是,不同IO业务中包括的子业务模块可能相同,也可能不同。上述列举的节点间镜像模块、FC业务模块、RAID模块和缓存模块是目标IO业务中的典型子业务模块,目标IO业务中还包括其他子业务模块,例如:IO转发模块、存储模块等。
假设目标IO业务仅包括:节点间镜像模块、FC业务模块、RAID模块和缓存模块,那么节点间镜像模块、FC业务模块、RAID模块和缓存模块均对应有物理卷,而每个物理卷所属的CPU是固定的,因此每个子业务模块均对应有默认CPU,由其对应的默认CPU优先处理各个子业务模块。其中,同一子业务模块对应的默认CPU可能为多个,不同子业务模块也可能对应同一默认CPU。
现有的异步线程模型处理存储***中的IO业务时,CPU都是固定处理各个子业务模块,直至某一IO业务被处理完。因此在处理各个子业务模块的过程中,可能存在CPU负载不均的情况,因此利用本实施例提供的方法可以调整处理各个子业务模块的CPU,由空闲CPU来分担满负荷运行的CPU和繁忙状态的CPU处理的子业务模块,从而降低满负荷运行CPU和繁忙状态CPU的压力,也能够增加空闲CPU的使用率,从而实现了存储***的负载均衡。其中,本实施例中的存储***为多CPU存储***,即:存储***中包括多个物理CPU核。具体的,通过统计存储***中的各个CPU的使用率,可以确定存储***中的空闲CPU。
在本实施例中,按照绑定关系处理目标IO业务中的各个子业务模块之前,还包括:将目标IO业务中的各个子业务模块和各个CPU的绑定关系存储至配置文件;重启存储***,并加载配置文件。其中,重启存储***之前,还包括:根据用户输入的绑定关系修改配置文件中的绑定关系。配置绑定关系时,优先给子业务模块绑定其对应的默认CPU,当默认CPU繁忙时,可按照各个空闲CPU的使用率配置绑定关系。
假设存储***中有CPU0、CPU1、CPU2、CPU3、CPU4、CPU5,通过top命令统计出CPU0和CPU1的使用率为100%,CPU2、CPU3、CPU4、CPU5的使用率为70%,那么CPU2、CPU3、CPU4、CPU5即为空闲CPU;同时节点间镜像模块和FC业务模块在CPU0和CPU1上存在争抢资源的情况,那么就可以将FC业务模块绑定至CPU0,节点间镜像模块绑定至CPU1,RAID模块绑定至CPU0、CPU2、CPU3、CPU4和CPU5,缓存模块绑定至CPU1、CPU2、CPU3、CPU4和CPU5。绑定关系若以配置文件reconf.xml存储,具体如下:
<fc_bind>0</fc_bind>
<ntb_bind>1</ntb_bind>
<rd_bind>0,2,3,4,5</rd_bind>
<ca_bind>1,2,3,4,5</ca_bind>
其中,fc_bind配置FC业务模块,ntb_bind配置节点间镜像模块,rd_bind配置RAID模块,ca_bind配置缓存模块。
配置绑定关系时,优先给子业务模块绑定其对应的默认CPU,当默认CPU繁忙时,可按照各个CPU的使用率配置绑定关系。需要说明的是,绑定完成后,一般需要重启存储***,进而加载上述配置文件,从而可使存储***按照配置文件中的绑定关系运行。
其中,用户还可以基于存储***的实际运行情况调整配置文件中的绑定关系。例如:用户基于人机交互设置输入绑定关系,从而修改配置文件中的绑定关系。也就是说,可以提供修改接口,从而实时调整存储***的负载,使其尽可能均衡。本申请提及的负载均衡并非严格意义上的平均,而是相对现有技术负载失衡而言的。
可见,当利用异步线程模型处理存储***中的IO业务时,为了实现负载均衡,可在异步线程模型处理IO业务的过程中,统计存储***中的各个CPU的使用率;然后根据各个CPU的使用率和存储***当前处理的IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块,从而调整了存储***中的CPU和IO业务中的各个子业务模块的绑定关系,在一定程度上能够避免存储***中不同CPU负载相差较大的情况,即:实现了存储***的负载均衡,从而提高了存储***的性能和对外服务能力。
参见图2所示,本申请实施例公开了第二种负载均衡方法,包括:
S201、若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;
S202、根据各个CPU的使用率确定空闲CPU;
S203、根据目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;
S204、展示目标IO业务中的各个子业务模块、各个CPU、空闲CPU和争抢CPU的子业务模块,以便获取用户输入的目标IO业务中的各个子业务模块和各个CPU的绑定关系;
S205、按照绑定关系处理目标IO业务中的各个子业务模块。
在本实施例中,根据各个CPU的使用率确定空闲CPU,包括:将各个CPU的使用率与预设的使用率阈值进行对比,将低于使用率阈值的CPU确定为空闲CPU。
为了便于确定CPU繁忙还是空闲,可以通过CPU使用率来判别。例如:设置使用率阈值,当CPU使用率低于使用率阈值,则判定CPU空闲;当CPU使用率高于使用率阈值,则判定CPU繁忙。当然,还可以设置更精细的判断条件,例如:设置两个使用率阈值:50%和90%,当CPU使用率低于50%,则判定CPU空闲;当CPU使用率高于90%,则判定CPU繁忙;当CPU使用率介于50%至90%之间,则判定CPU为可调整CPU。对于可调整CPU,当子业务模块的数据处理量远大于空闲CPU时,可利用可调整CPU来处理子业务模块。
在本实施例中,统计存储***中的各个CPU的使用率,包括:通过top命令统计存储***中的各个CPU的使用率。top命令可以用于查看进程的相关信息、***负载信息、CPU信息和内存信息等,实际实施时可以将top命令编写为执行脚本,利用执行脚本自动统计存储***中的各个CPU的使用率。同时,还可以通过top命令查看目标IO业务中的各个子业务模块的CPU占用信息,以确定争抢CPU的子业务模块。
在本实施例中,绑定关系是用户基于当前存储***的运行情况自定义,并输入至存储***的。当然,为了实现自动化,可以根据当前存储***的运行情况(当前IO业务中的各个子业务模块,存储***中的各个CPU、空闲CPU和争抢CPU的子业务模块等)制定自动绑定规则,从而按照该规则实现绑定关系的自动调整。
例如:采用top命令统计当前IO业务中包括哪些子业务模块,每个子业务模块对应的默认CPU、每个子业务模块的对于各自默认CPU的CPU占用信息;当前存储***中每个CPU的使用率;确定哪些子业务模块存在争抢CPU的情况等;根据这些信息和预先设置的匹配规则,给每个子业务模块匹配CPU,并将各个子业务模块绑定至新匹配的CPU,从而完成绑定关系的调整。其中,匹配规则可以由技术人员自定义,故本实施例在此不再赘述。
具体的,匹配规则可以为:若某一子业务模块的CPU占用信息超过预设的阈值,则将其单独绑定至一个CPU,或将其绑定至多个CPU;若两个子业务模块存在争抢CPU资源的情况,则将这两个子业务模块分别绑定至两个CPU,避免其争抢资源。
需要说明的是,本实施例中的其他实现步骤与上述实施例相同或类似,故本实施例在此不再赘述。
由上可见,当利用异步线程模型处理存储***中的IO业务时,为了实现负载均衡,可在异步线程模型处理IO业务的过程中,统计存储***中的各个CPU的使用率;然后根据各个CPU的使用率和存储***当前处理的IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块,从而调整了存储***中的CPU和IO业务中的各个子业务模块的绑定关系,在一定程度上能够避免存储***中不同CPU负载相差较大的情况,即:实现了存储***的负载均衡,从而提高了存储***的性能和对外服务能力。
下面对本申请实施例提供的一种负载均衡装置进行介绍,下文描述的一种负载均衡装置与上文描述的一种负载均衡方法可以相互参照。
参见图3所示,本申请实施例公开了一种负载均衡装置,包括:
统计模块301,用于若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;
调整模块302,用于根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;
处理模块303,用于按照绑定关系处理目标IO业务中的各个子业务模块。
在一种具体实施方式中,负载均衡装置还包括:
存储模块,用于将目标IO业务中的各个子业务模块和各个CPU的绑定关系存储至配置文件;
重启模块,用于重启存储***,并加载配置文件。
在一种具体实施方式中,负载均衡装置还包括:
修改模块,用于根据用户输入的绑定关系修改配置文件中的绑定关系。
在一种具体实施方式中,统计模块具体用于:
通过top命令统计存储***中的各个CPU的使用率。
在一种具体实施方式中,调整模块包括:
第一确定单元,用于根据各个CPU的使用率确定空闲CPU;
第二确定单元,用于根据目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;
展示单元,用于展示目标IO业务中的各个子业务模块、各个CPU、空闲CPU和争抢CPU的子业务模块,以便获取用户输入的目标IO业务中的各个子业务模块和各个CPU的绑定关系。
在一种具体实施方式中,第一确定单元具体用于:
将各个CPU的使用率与预设的使用率阈值进行对比,将低于使用率阈值的CPU确定为空闲CPU。
调整模块,用于
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种负载均衡装置,包括:统计模块、调整模块以及处理模块。若利用异步线程模型处理存储***中的IO业务,则由统计模块统计存储***中的各个CPU的使用率;然后调整模块根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;最后处理模块,用于按照绑定关系处理目标IO业务中的各个子业务模块。如此各个模块之间分工合作,各司其职,从而实现存储***的负载均衡。
下面对本申请实施例提供的一种负载均衡设备进行介绍,下文描述的一种负载均衡设备与上文描述的一种负载均衡方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种负载均衡设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现以下步骤:
若利用异步线程模型处理存储***中的IO业务,则统计存储***中的各个CPU的使用率;根据各个CPU的使用率和存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;按照绑定关系处理目标IO业务中的各个子业务模块。
在本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:将目标IO业务中的各个子业务模块和各个CPU的绑定关系存储至配置文件;重启存储***,并加载配置文件。
在本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:根据用户输入的绑定关系修改配置文件中的绑定关系。
在本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:通过top命令统计存储***中的各个CPU的使用率。
在本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:根据各个CPU的使用率确定空闲CPU;根据目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;展示目标IO业务中的各个子业务模块、各个CPU、空闲CPU和争抢CPU的子业务模块,以便获取用户输入的目标IO业务中的各个子业务模块和各个CPU的绑定关系。
在本实施例中,所述处理器执行所述存储器中保存的计算机子程序时,可以具体实现以下步骤:将各个CPU的使用率与预设的使用率阈值进行对比,将低于使用率阈值的CPU确定为空闲CPU。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种负载均衡方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的负载均衡方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种负载均衡方法,其特征在于,包括:
若利用异步线程模型处理存储***中的IO业务,则统计所述存储***中的各个CPU的使用率;
根据所述各个CPU的使用率和所述存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;所述目标IO业务中的子业务模块至少包括:节点间镜像模块、FC业务模块、RAID模块和缓存模块;
按照所述绑定关系处理所述目标IO业务中的各个子业务模块;
其中,所述根据所述各个CPU的使用率和所述存储***当前处理的目标IO业务中的各个子业务模块的资源占用信息,调整各个CPU和各个子业务模块的绑定关系,包括:
根据所述各个CPU的使用率确定空闲CPU;
根据所述目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;
展示所述目标IO业务中的各个子业务模块、所述各个CPU、所述空闲CPU和所述争抢CPU的子业务模块,以便获取用户输入的所述目标IO业务中的各个子业务模块和所述各个CPU的绑定关系;配置绑定关系时,优先给子业务模块绑定其对应的默认CPU。
2.根据权利要求1所述的负载均衡方法,其特征在于,所述按照所述绑定关系处理所述目标IO业务中的各个子业务模块之前,还包括:
将所述目标IO业务中的各个子业务模块和所述各个CPU的绑定关系存储至配置文件;
重启所述存储***,并加载所述配置文件。
3.根据权利要求2所述的负载均衡方法,其特征在于,所述重启所述存储***之前,还包括:
根据用户输入的绑定关系修改所述配置文件中的绑定关系。
4.根据权利要求1所述的负载均衡方法,其特征在于,所述统计所述存储***中的各个CPU的使用率,包括:
通过top命令统计所述存储***中的各个CPU的使用率。
5.根据权利要求1所述的负载均衡方法,其特征在于,所述根据所述各个CPU的使用率确定空闲CPU,包括:
将所述各个CPU的使用率与预设的使用率阈值进行对比,将低于所述使用率阈值的CPU确定为所述空闲CPU。
6.一种负载均衡装置,其特征在于,包括:
统计模块,用于若利用异步线程模型处理存储***中的IO业务,则统计所述存储***中的各个CPU的使用率;
调整模块,用于根据所述各个CPU的使用率和所述存储***当前处理的目标IO业务中的各个子业务模块的CPU占用信息,调整各个CPU和各个子业务模块的绑定关系;所述目标IO业务中的子业务模块至少包括:节点间镜像模块、FC业务模块、RAID模块和缓存模块;
处理模块,用于按照所述绑定关系处理所述目标IO业务中的各个子业务模块;
其中,所述调整模块包括:
第一确定单元,用于根据所述各个CPU的使用率确定空闲CPU;
第二确定单元,用于根据所述目标IO业务中的各个子业务模块的CPU占用信息确定争抢CPU的子业务模块;
展示单元,用于展示所述目标IO业务中的各个子业务模块、所述各个CPU、所述空闲CPU和所述争抢CPU的子业务模块,以便获取用户输入的所述目标IO业务中的各个子业务模块和所述各个CPU的绑定关系;配置绑定关系时,优先给子业务模块绑定其对应的默认CPU。
7.一种负载均衡设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的负载均衡方法。
8.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910555807.4A CN110362402B (zh) | 2019-06-25 | 2019-06-25 | 一种负载均衡方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910555807.4A CN110362402B (zh) | 2019-06-25 | 2019-06-25 | 一种负载均衡方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362402A CN110362402A (zh) | 2019-10-22 |
CN110362402B true CN110362402B (zh) | 2021-08-10 |
Family
ID=68216941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910555807.4A Active CN110362402B (zh) | 2019-06-25 | 2019-06-25 | 一种负载均衡方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362402B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110908807B (zh) * | 2019-11-24 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 一种io任务处理方法、装置、设备及可读存储介质 |
CN111427673B (zh) * | 2020-03-16 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种负载均衡方法、装置及设备 |
CN112667380A (zh) * | 2020-12-30 | 2021-04-16 | 珠海亿智电子科技有限公司 | 多处理器任务调度方法、装置及存储介质 |
CN113590313B (zh) * | 2021-07-08 | 2024-02-02 | 杭州网易数之帆科技有限公司 | 负载均衡方法、装置、存储介质和计算设备 |
CN113590333B (zh) * | 2021-08-06 | 2024-01-26 | 北京天融信网络安全技术有限公司 | 针对业务引擎的***资源调度方法及电子设备 |
CN113672373A (zh) * | 2021-08-30 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种线程绑定的方法、装置及电子设备 |
CN117596212B (zh) * | 2024-01-18 | 2024-04-09 | 苏州元脑智能科技有限公司 | 一种业务处理方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及*** |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN107479976A (zh) * | 2017-08-14 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多程序实例同时运行下cpu资源分配方法及装置 |
CN108845882A (zh) * | 2018-06-07 | 2018-11-20 | 网宿科技股份有限公司 | 基于转码任务调度实现cpu负载均衡的方法和装置 |
CN108958944A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种多核处理***及其任务分配方法 |
CN109491788A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种虚拟化平台负载均衡实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108551489A (zh) * | 2018-05-07 | 2018-09-18 | 广东电网有限责任公司 | 一种应用服务器负载均衡方法、***、装置及存储介质 |
-
2019
- 2019-06-25 CN CN201910555807.4A patent/CN110362402B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840356A (zh) * | 2009-12-25 | 2010-09-22 | 北京网康科技有限公司 | 一种基于ring的多核CPU负载均衡方法及*** |
CN106371894A (zh) * | 2016-08-31 | 2017-02-01 | 华为技术有限公司 | 一种配置方法、装置和数据处理服务器 |
CN107479976A (zh) * | 2017-08-14 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多程序实例同时运行下cpu资源分配方法及装置 |
CN108845882A (zh) * | 2018-06-07 | 2018-11-20 | 网宿科技股份有限公司 | 基于转码任务调度实现cpu负载均衡的方法和装置 |
CN108958944A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种多核处理***及其任务分配方法 |
CN109491788A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种虚拟化平台负载均衡实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110362402A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362402B (zh) | 一种负载均衡方法、装置、设备及可读存储介质 | |
CN110996352B (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算***以及负载均衡方法 | |
EP2701074A1 (en) | Method, device, and system for performing scheduling in multi-processor core system | |
US8893146B2 (en) | Method and system of an I/O stack for controlling flows of workload specific I/O requests | |
CN111817974B (zh) | 基于令牌桶的接口限流方法、装置、***及可读存储介质 | |
WO2015101091A1 (zh) | 一种分布式资源调度方法及装置 | |
US20120221730A1 (en) | Resource control system and resource control method | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
WO2020001287A1 (zh) | 数据校验方法及装置,存储介质 | |
CN111104208A (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
WO2024120205A1 (zh) | 一种应用性能优化方法、装置、电子设备及存储介质 | |
CN111562884B (zh) | 一种数据存储方法、装置及电子设备 | |
JP2020080059A (ja) | 評価装置、評価方法および評価プログラム | |
CN111338803B (zh) | 一种线程处理方法和装置 | |
CN107872480B (zh) | 大数据集群数据平衡方法和装置 | |
CN114816766B (zh) | 一种计算资源分配方法及其相关组件 | |
CN110780999A (zh) | 一种多核cpu的调度***和方法 | |
CN107832140B (zh) | 一种rpc请求控制的方法、存储介质、电子设备和*** | |
CN112015326A (zh) | 集群数据处理方法、装置、设备及存储介质 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
CN113419863A (zh) | 一种基于节点能力的数据分配处理方法及装置 | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN112395058A (zh) | 任务调控装置、方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |