CN111913670A - 负载均衡的处理方法、装置、电子设备及存储介质 - Google Patents
负载均衡的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111913670A CN111913670A CN202010791373.0A CN202010791373A CN111913670A CN 111913670 A CN111913670 A CN 111913670A CN 202010791373 A CN202010791373 A CN 202010791373A CN 111913670 A CN111913670 A CN 111913670A
- Authority
- CN
- China
- Prior art keywords
- load
- node
- hard disk
- value
- flow
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000005192 partition Methods 0.000 claims abstract description 161
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000013508 migration Methods 0.000 claims abstract description 76
- 230000005012 migration Effects 0.000 claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000001514 detection method Methods 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 238000003745 diagnosis Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了负载均衡的处理方法、装置、电子设备及存储介质,涉及集群的数据处理、分布式传输处理、负载处理领域。具体实现方案为:根据分布式传输中至少包括各节点硬盘容量负载及输入输出(IO)负载的多维度负载,得到各节点的负载值;响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。采用本申请,可以提高动态调度的处理速度及基于负载值进行动态调度的准确性。
Description
技术领域
本申请涉及数据处理领域。本申请尤其涉及集群的数据处理、分布式传输处理、负载处理领域、可应用于与负载均衡相关的负载场景诊断、负载调度等领域。
背景技术
随着用户对数据处理速度的要求越来越高,将多个工作任务分摊到集群或分布式传输中的多个操作单元上进行处理成为常态。即将负载(即多个工作任务)进行平衡、分摊到多个节点(即操作单元)上进行执行,例如借助网络传输的视频下载及解析、企业架构中涉及的数据传输等工作任务等,通过负载均衡,借助集群或分布式传输中的多个节点来共同完成该多个工作任务。
然而,现有的负载均衡,多数是针对单一维度的指标来实现负载计算及负载相应的调度处理,从而导致调度的处理速度及准确性都不高。
发明内容
本申请提供了一种负载均衡的处理方法、装置、电子设备及存储介质。
根据本申请的一方面,提供了一种负载均衡的处理方法,包括:
根据分布式传输中至少包括各节点硬盘容量负载及输入输出(IO)负载的多维度负载,得到各节点的负载值;
响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
根据本申请的另一方面,提供了一种负载均衡的处理装置,包括:
负载运算模块,用于根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值;
负载均衡处理模块,用于响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本申请任意一实施例所提供的方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本申请任意一项实施例所提供的方法。
采用本申请,可以根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值;响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。由于是基于至少包括各节点硬盘容量负载及输入输出负载的多维度负载得到的负载值,因此,根据该负载值进行的动态调度,不仅可以实现负载均衡及动态调度,而且,可以提高动态调度的处理速度及基于负载值进行动态调度的准确性。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的负载均衡的处理方法的流程示意图;
图2是根据本申请实施例的负载均衡的处理方法的流程示意图;
图3是根据本申请实施例的应用示例中进行动态调度的示意图;
图4是根据本申请实施例的负载均衡的处理装置的组成结构示意图;
图5是用来实现本申请实施例的负载均衡的处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
相关技术中,分布式传输负载均衡方案,可以是指在分布式传输系统中分片存储(Partition)如何在集群代理(Broker)节点之间分配的策略。在实际业务中需要均衡Broker节点的负载来提高系统的可用性。可以采用如下三种方式解决负载均衡问题。
(1)轮询调度(Round-Robin):通过将N个Broker和待分配的I个Partition排序,将第i号Partition分配到第i%N号Broker上,实际中为了避免头部Broker相对总体分配过多的Partition,每分配Partition先随机挑选一个Broker作为0号位开始进行取模计算。这种方案只是力求Parition个数的分布均匀,很容易造成数据热点,并且覆盖不了集群异构带来的Broker性能差异场景。
(2)一致性哈希:使用一致性哈希来约定Partition调度关系。一致性哈希可以理解为一个函数,Y=ConsistentHash(X),任意的X取值都能映射为一个固定区间内的唯一数值Y,简单来说,一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0~2^32-1(即哈希值是一个32位无符号整形),该一致性哈希处理即为:将任意的X取值映射到0~2^32-1次方的数值空间,可以将这个空间想象成一个首(0)尾(2^32-1)相接的圆环。整个空间按顺时针方向组织。“0”和“2^32-1”在零点中方向重合。然后将各个Broker使用Hash进行一个哈希,具体可以选择Broker的ip或主机名作为关键字进行哈希,这样每台Broker就能确定其在哈希环上的位置。
之后,可以使用如下算法定位Partition访问到相应Broker,描述如下:
将Partition key使用相同的函数Hash计算出哈希值,并确定此数据在环上的位置,从此位置沿环顺时针“行走”,第一台遇到的Broker就是其应该定位到的服务器。实际上,为了使圆环划分的更加均匀和节点上下线更加稳定,每个Broker节点将根据自身性能对应不同的多个虚拟节点以力求均衡。使用一致性哈希的调度方式,解决了上述方案(1)中集群异构场景问题,但是其他问题依旧存在,各Partition在调度中的权重是一样的,并没有考虑Partition其他指标,例如每秒请求数(QPS,Query Per Second)和流量的差异,且一致性哈希算法的映射关系,用户无法干预和调节。
(3)动态调度:开发一种分布式传输系统,如可以针对流式数据处理的数据分发平台(DataHub)采用该调度策略,可以根据Broker实际负载计算出一个负载值。通过中心节点周期性调度,将高负载Broker上的Partition迁往低负载Broker,在迁移过程中通过Broker间固定迁移数量和周期间隔,来限制控制集群总体迁移的速度。对于Broker,可以配置有多块磁盘,在选盘的考量上选取空闲空间最大的磁盘来承载Partition。此方案基本解决了上述方案(1)和上述方案(2)中的问题,但是依然存在一下问题:a.对于Partition的迁移没有量化,容易造成迁移过度或者迁移不足的情况。b.对于选盘的考虑因素单一,很容易出现磁盘IO瓶颈的情况。
综上所述,上述三种方案还有一个共同的缺点:对Broker的负载计算方式单一维度,没有对特殊场景做场景诊断,比如,无法识别慢节点,是否达到设计上限的高吞吐Partition,及节点内部硬盘负载不均等。采用本申请,针对上述方案及问题,可以通过至少包括各节点硬盘容量负载及输入输出负载的多维度负载得到负载值,进而根据该负载值进行场景诊断和/或动态调度,从而不仅实现了负载均衡的处理,还可以识别不同的负载场景,以及提高动态调度的处理速度及准确性。
根据本申请的实施例,提供了一种负载均衡的处理方法,图1是根据本申请实施例的负载均衡的处理方法流程示意图,该方法可以应用于负载均衡的处理装置,例如,该装置可以部署于终端或服务器或其它处理设备执行的情况下,可以执行负载运算、基于负载运算的场景诊断、基于负载运算的动态调度等等。其中,终端可以为用户设备(UE,UserEquipment)、移动设备、蜂窝电话、无绳电话、个人数字处理(PDA,Personal DigitalAssistant)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,包括:
S101、根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值。
一示例中,各节点可以为各Broker节点,可以根据分布式传输中至少包括各Broker节点内的硬盘容量负载及各节点的IO负载之间的最大值,得到各节点的负载值。
S102、响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
一示例中,各节点可以为各Broker节点,逻辑分区可以为Partition,Partition可以视为Broker节点内硬盘的存储单位,多个Partition可以构成存储集合(Topic),Topic可以是一个存储多个Partition的逻辑概念,比如以分布式传输为消息传输为例,可以采用Partition为存储单位来存储各个消息此时,Topic可以理解为一个消息集合。
一示例中,在分布式传输中,对于Broker节点的负载计算,该负载计算是多维度的,可以取硬盘容量负载及IO负载的最大值,如果负载不均衡,则需要调度,即将Broker节点内硬盘承载的Partition迁移到其他Broker节点。
采用本申请,可以根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值;响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。由于是基于至少包括各节点硬盘容量负载及IO负载的多维度负载得到的负载值,因此,根据该负载值进行的动态调度,不仅可以实现负载均衡及动态调度,而且,可以提高动态调度的处理速度及基于负载值进行动态调度的准确性。
一实施方式中,所述各节点硬盘容量负载及IO负载,可以通过包括:硬盘负载、网络负载、中央处理器(CPU)负载、内存负载、延迟负载中至少两方面的指标进行评估。所述根据所述各节点硬盘容量负载及IO负载之间的最大值,得到所述负载值,包括:根据所述硬盘负载、所述网络负载、所述CPU负载、所述内存负载、所述延迟负载中至少两方面的指标中的最大值,得到所述负载值。
一示例中,Broker节点的负载计算,可以考虑了硬盘负载、所述网络负载、所述CPU负载、所述内存负载、所述延迟负载五个方面,并可以选择其中最高的负载作为Broker节点的负载。比如,具体考虑各节点磁盘容量的负载、网络传输的负载、CPU占用的负载、内存读取的负载、各节点内硬盘所承载逻辑分区的处理延迟负载等,并作为上述用于评估的各项指标。
根据本申请的实施例,提供了一种负载均衡的处理方法,图2是根据本申请实施例的负载均衡的处理方法的流程示意图,如图2所示,包括:
S201、根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值。
一示例中,各节点可以为各Broker节点,可以根据分布式传输中至少包括各Broker节点内的硬盘容量负载及各节点的输入输出负载之间的最大值,得到各节点的负载值。
S202、根据所述负载值对当前的负载状态进行检测,得到检测结果。
一示例中,对当前的负载状态进行检测,得到的检测结果可以包括:当前节点是否为慢节点、各节点硬盘负载不均、当前节点是否存在故障硬盘、当前节点的硬盘是否存在高吞吐Partition、各节点之间是否存在负载不均衡、各节点之间是否存在过载且需要扩容中的至少一种场景诊断的检测结果。
S203、响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
一示例中,各节点可以为各Broker节点,逻辑分区可以为Partition,Partition可以视为Broker节点内硬盘的存储单位,多个Partition可以构成Topic,Topic可以是一个存储多个Partition的逻辑概念,比如以分布式传输为消息传输为例,可以采用Partition为存储单位来存储各个消息此时,Topic可以理解为一个消息集合。
一示例中,在分布式传输中,对于Broker节点的负载计算,该负载计算是多维度的,可以取硬盘容量负载及IO负载的最大值,如果负载不均衡,则需要调度,即将Broker节点内硬盘承载的Partition迁移到其他Broker节点。
采用本申请,可以根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值;响应于负载均衡的处理,不仅可以根据所述负载值对当前的负载状态进行检测,得到各场景诊断的检测结果,还可以根据该检测结果和/或所述负载值,来调度各节点内硬盘所承载逻辑分区的迁移。由于是基于至少包括各节点硬盘容量负载及IO负载的多维度负载,以及针对各场景诊断的检测结果得到的负载值,因此,根据该负载值进行的动态调度,不仅可以实现负载均衡及动态调度,而且,可以提高动态调度的处理速度及基于负载值进行动态调度的准确性。
一实施方式中,针对上述场景诊断的检测结果而言,可以采用包括以下一种或多种方式,来根据所述负载值对当前的负载状态进行检测,从而得到该检测结果,描述如下:
方式一:将所述负载值与当前节点(如Broker节点)内硬盘所承载逻辑分区(如Partition)的处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否为慢节点的检测结果;
方式二:针对所述负载值取决于硬盘容量负载的情况,比对各节点(如Broker节点)内硬盘容量负载以得到负载差值,根据所述负载差值实现所述检测,得到各节点硬盘负载不均的检测结果;
方式三:将所述负载值与当前节点(如Broker节点)内硬盘所承载逻辑分区(如Partition)的流量及处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否存在故障硬盘的检测结果;
方式四:将所述负载值与当前节点(如Broker节点)内硬盘所承载逻辑分区(如Partition)的流量进行比对,以实现所述检测,得到所述当前节点的硬盘是否存在高吞吐逻辑分区的检测结果;
方式五:根据所述负载值得到各节点(如Broker节点)负载的方差,根据所述各节点负载的方差与第一阈值范围的比对,以实现所述检测,得到所述的检测结果;
方式六:根据所述负载值得到平均负载,根据所述平均负载与第二阈值范围的比对,以实现所述检测,得到所述各节点(如Broker节点)之间是否存在过载且需要扩容的检测结果。
一实施方式中,针对上述迁移而言,可以将所述各节点(如Broker节点)内硬盘所承载逻辑分区(如Partition),从基于所述负载值检测得到的负载值高的源节点向负载低的目的节点进行迁移。
一示例中,迁移可以是对各Broker节点内硬盘所承载的Partition进行迁移,具体是将负载值高的源Broker节点上的Partition迁移到其他Broker节点,比如从构成整个分布式传输的集群中选择出一个或多个其他Broker节点,这些其他Broker节点相对于该负载值高的源Broker节点而言,可以是经由所述负载值检测得到的负载低的目的Broker节点,使用负载低的该一个或多个目的Broker节点内硬盘来承载所迁移的该Partition,也就是说,响应于负载均衡的处理,根据负载均衡的原则,将高负载的源Broker节点上的Partition迁往低负载的Broker节点。
一实施方式中,针对上述迁移,可以采用包括以下一种或多种方式,来根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移,描述如下:
方式一:根据所述负载值得到所述源节点(如源Broker节点)期望迁出逻辑分区(如Partition)的第一流量、以及所述目的节点支持迁入逻辑分区的第二流量,根据所述第一流量及所述第二流量得到流量迁移值,以根据所述流量迁移值实现所述迁移;
方式二:根据所述负载值得到所述源节点(如源Broker节点)当前期望迁出逻辑分区(如Partition)的目标流量,若已选定所述目的节点支持迁入的逻辑分区流量符合所述目标流量,则支持根据所述目标流量实现所述迁移,否则,所述目的节点支持迁入的逻辑分区流量低于所述目标流量过多,会出现过迁的行为;
方式三:根据所述负载值对所述源节点(如源Broker节点)中至少一个逻辑分区(如Partition)进行流量的分布式控制,设置所述至少一个逻辑分区属于同一个数据存储集合(如Topic)的阈值上限,根据所述阈值上限控制所述至少一个逻辑分区在所迁入的至少一个所述目的节点的流量分布,以实现所述迁移;
方式四:根据所述负载值结合负载均衡的分布式控制,在满足所述负载均衡的分布式控制情况下得到所述源节点(如源Broker节点)中至少一个逻辑分区(如Partition)集中与当前期望迁出逻辑分区的目标流量在负载上最接近的目标逻辑分区集,将所述目标逻辑分区集作为期望迁出的逻辑分区集,以实现所述迁移。
应用示例:
应用本申请实施例一处理流程包括如下内容:
(1)在负载计算上进行多维度考量
以DataHub为例,可以从多个维度去计算负载值,比如QPS、网络、硬盘等。其中,主要体现在对于节点硬盘的负载计算上,在选择目标节点内硬盘所承载Partition时,对于硬盘负载可以至少采用硬盘容量负载及IO负载这两个维度,可以根据木桶原则取硬盘容量负载和IO负载之间的最大值作为硬盘对外的负载值,而不是在选盘的时候只考虑单一的硬盘容量因素。
(2)支持场景诊断
在负载均衡过程会因为非预期的场景影响负载均衡的正确性。因为软件和硬件原因出现慢节点,因为Partition吞吐过大导致慢Partition,及节点内部硬盘的负载不均,集群整体过载等多种场景。可以对这些非预期场景进行诊断,从而根据场景诊断的检测结果做出合理操作,比如进一步的进行动态调度的操作。
(3)在迁移阶段对迁移Partition进行了量化
在负载均衡过程每个根据每个Broker节点的负载情况差异,需要迁出的Partition数量以及迁出的流量不同,对于需要迁出Partition高负载Broke节点以及需要迁入Partition的低负载Broker节点做预计算,计算出是使负载均匀正向发展的迁移的Partition量,每次迁移的Partition流量不能高于该源和目的节点的可迁移流量最小值等等。
(4)针对负载不均衡,不光是迁移,还可以结合上述场景诊断的检测结果给出对应的动态调度等操作。
比如,对于慢节点会尝试重启,如果没有效果会进行加黑操作防止Partition迁入该节点,对于集群过载进行扩容通知。
对本申请负载均衡处理中负载值的计算,基于该负载值进行场景诊断的检测,及根据该负载值和/或场景诊断的检测,来实现动态调度等操作,如下描述:。
一:负载值的计算
针对Broker节点的负载计算,可以考虑了节点硬盘负载、网络负载、CPU负载、内存负载、处理延迟负载等方面,可以根据木桶原则选择其中最高的负载作为Broker节点的负载值。
BrokerLoad←Max(AvgDiskLoad,NetLoad,CpuLoad,MemLoad,DealLatencyLoad),上述负载主要关于Broker负载计算相关,除此之外采集了Broker承载的各个Parition的流量和读写延迟。
(1)硬盘负载
对于Broker节点的读和写操作都属于IO类作业,硬盘、CPU、主存三者速率直接的差距导致硬盘IO负载很容易成为系统的瓶颈,在硬盘使用容量没有达到极限之前硬盘的IO为硬盘的主要负载因素,基于此磁盘负载分别从空间和IO两个纬度计算,当磁盘空间负载超过一定阈值才参与磁盘负载的计算。
DiskSpaceLoad←DiskUsedSpace/DiskCapacity
DiskIOLoad←DiskAvgLatency/DiskLatencyThreshold
if(DiskIOLoad≥DiskSpaceLoadEffectiveThreshold)DiskLoad←Max(DiskSpaceLoad,DiskIOLoad)
else DiskLoad←DiskIOLoad
(2)网络负载
网络负载主要从读写流量两个方面考量:
NetInLoad←NetInFlow/NetInFlowQuota
NetOutLoad←NetOutFlow/NetOutFlowQuota
NetLoad←Max(NetInLoad,NetOutLoad)
(3)CPU、内存负载采用常规的CPU使用率和内存使用率
CpuLoad←CpuUsed/CpuQuota
MemLoad←MemUsed/MemQuota
(4)处理延迟负载
处理延迟负载主要考虑到由于硬件差别或这其他方面原因导致Broker节点在上述负载基本相同的负载下处理能力差的场景,对于这种场景加入Broker节点整体处理延迟的考量,把处理延迟作为一个负载因子,处理延迟负载有在延迟相对比较明显的情况下才加入考量。
DealLatencyLoad←(DealLatency-DealLatencyEffectiveThreshold)/DealLatencyBase
二:基于该负载值进行场景诊断的检测
(1)慢节点
通过判断Broker节点的负载情况和节点承载的Partition延迟情况判断该Broker节点是否为慢节点,若某Broker节点延迟很高但除延迟之外其他负载很低的情况下,假如这种情况持续几个周期,则将该Broker节点上的Partition迁移到其他Broker节点,同时重启该Broker节点,如果重启之后如果没有改善,则标记该Broker节点为慢节点,防止其他Partition迁入该Broker节点,同时触发慢节点通知。
(2)节点内硬盘负载不均
通过判断Broker节点内硬盘间负载差值来判断负载是否均衡,如果不均衡则触发Broker节点内硬盘负载均衡。节点内硬盘负载均只需要计算出要迁移的Partition,重新分配给该Broker节点即可,在分配该Broker节点的过程中在Broker节点内部会选择负载小的硬盘来承载该Partition。
(3)硬盘故障
通过判断硬盘的负载情况和其承载的Partition流量以及延迟情况,如果硬盘本身负载不高,同时其上承载的Partition数据落盘阶段常态处于不可容忍的高延迟状态,则标记该硬盘标记为故障硬盘,同时将其上的Partition迁移,触发硬盘故障通知。
(4)高吞吐Partition
通过Partition的流量是否达到设计上限,来判断是否为高吞吐Partition,如果为高吞吐Partition则进行通知。
(5)集群负载不均衡
通过计算集群内Broker节点负载的方差是否在阈值范围内,来判断集群负载是否均衡,如果不均衡通过调度计算,进行Partition迁移。
(6)集群过载
通过计算集群的平均负载判集群是否处于过载状态,如果过载则通知扩容。
三:根据该负载值和/或场景诊断的检测,来实现动态调度
调度计算是通过Broker节点的负载情况和以下计算方法和控制综合得出迁移涉及的源和目标Broker节点以及待迁移的Partition。
(1)流量迁移计算
在负载均衡过程中需要计算高负载的源Broker节点期望迁出的流量和低负载的目的Broker节点可迁入的流量,迁入迁出流量是根据当前源Broker节点负载和当前承载的流量以及集群平均负载计算得到的。比如,可以根据源Broker节点当前负载流量和负载值得到比例系数,按照该比例系数计算假设当源Broker节点负载等于集群平均负载时流量的变化量为期望迁移的流量。
高负载节点期望迁出流量计算:
NodeExpectEmigrateFlow←NodeFlow-NodeFlow/NodeLoad*AvgBrokerLoad
低负载节点期望迁入流量计算:
NodeExpectImmigrateFlow←NodeFlow/NodeLoad*AvgBrokerLoad–NodeFlow
(2)迁移目标Partition计算
选择迁移目标Partition策略根据当前期望迁移的流量计算得到的,首先在迁移之前已经确定了目的Broker节点,因此当前迁移的Partition流量不高于期望迁移的流量比例太多,否则很可能出现过迁的行为。
最大可迁移流量计算:
MaxPartitionEmigrateFlow←Min(NodeExpectEmigrateFlow,NodeExpectImmigrateFlow)*ProportionExceedThreshold
(3)Partition分布控制
同一Topic下的Partition一般有着相同的流量特征,尽量在波峰的时候Partition分布在不同节点上同时也有利于IO的分布均匀,因此,可以设定限制同一Topic下的Partition分布在同一Broker上阈值max_partition_num_on_same_broker。
(4)迁移Partition选择:
结合分布控制,选择在满足分布控制的条件下最接近期望流量的Partition集合作为期望迁移的Partition集合。
图3是根据本申请实施例的应用示例中进行动态调度的示意图,如图3所示,包括如下内容:
“堆”是一种非线性结构,可以把堆看作一个数组,也可以被看作一个完全二叉树,也就是说,“堆”可以是利用完全二叉树的结构来维护的一维数组,但堆并不一定是完全二叉树,按照堆的特点可以把堆分为大顶堆和小顶堆。其中,大顶堆,指每个节点的值都大于或等于其左右孩子节点的值;小顶堆,指每个节点的值都小于或等于其左右孩子节点的值。
首先,将按照节点的负载可正常服务的Broker放到该大顶堆和该小顶堆中,每次取大顶堆的堆顶元素做为源Broker节点,取小顶堆的堆顶元素作为目的Broker节点,按照上述调度计算的规则(如上述规则(1)-规则(4))计算出期望迁移的Partition实行迁移。这里需要注意的是:可迁入流量依赖于Broker节点的负载和其本身的物理配置。尽管选择的目的Broke节点负载是最小的,但不代表其可迁入流量最大,所以可能会计算不出可迁移的Partition,如图3所示,当计算不出可迁移的Partition时,将当前目的Broker节点暂时移出小顶堆,选择下一个目的Broker节点。
需要指出的是,针对硬盘的调度计算,如上述描述,即硬盘负载不均衡时计算迁移的Parition过程和上述负载不均衡调度计算的原理相同,不做赘述。
根据本申请的实施例,提供了一种负载均衡的处理装置,图4是根据本申请实施例的负载均衡的处理装置的组成结构示意图,如图4所示,包括:负载运算模块41,用于根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值;负载均衡处理模块42,用于响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
一实施方式中,所述负载运算模块,用于根据所述各节点硬盘容量负载及IO负载之间的最大值,得到所述负载值。
一示例中,所述负载运算模块,包括:指标评估子模块,用于所述各节点硬盘容量负载及IO负载,通过包括硬盘负载、网络负载、CPU负载、内存负载、延迟负载中至少两方面的指标进行评估;负载运算子模块,用于根据所述硬盘负载、所述网络负载、所述CPU负载、所述内存负载、所述延迟负载中至少两方面的指标中的最大值,得到所述负载值。
一实施方式中,所述负载均衡处理模块,包括场景诊断子模块,用于根据所述负载值对当前的负载状态进行检测,得到检测结果。
一示例中,所述场景诊断子模块,用于:根据包括以下一种或多种方式进行所述检测,以得到所述检测结果;
方式一:将所述负载值与当前节点内硬盘所承载逻辑分区的处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否为慢节点的检测结果;
方式二:针对所述负载值取决于硬盘容量负载的情况,比对各节点内硬盘容量负载以得到负载差值,根据所述负载差值实现所述检测,得到各节点硬盘负载不均的检测结果;
方式三:将所述负载值与当前节点内硬盘所承载逻辑分区的流量及处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否存在故障硬盘的检测结果;
方式四:将所述负载值与当前节点内硬盘所承载逻辑分区的流量进行比对,以实现所述检测,得到所述当前节点的硬盘是否存在高吞吐逻辑分区的检测结果;
方式五:根据所述负载值得到各节点负载的方差,根据所述各节点负载的方差与第一阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在负载不均衡的检测结果;
方式六:根据所述负载值得到平均负载,根据所述平均负载与第二阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在过载且需要扩容的检测结果。
一实施方式中,所述负载均衡处理模块,还包括调度子模块,用于将所述各节点内硬盘所承载逻辑分区,从基于所述负载值检测得到的负载值高的源节点向负载低的目的节点进行迁移。
一示例中,所述调度子模块,用于根据包括以下一种或多种方式进行所述迁移;
方式一:根据所述负载值得到所述源节点期望迁出逻辑分区的第一流量、以及所述目的节点支持迁入逻辑分区的第二流量,根据所述第一流量及所述第二流量得到流量迁移值,以根据所述流量迁移值实现所述迁移;
方式二:根据所述负载值得到所述源节点当前期望迁出逻辑分区的目标流量,若已选定所述目的节点支持迁入的逻辑分区流量符合所述目标流量,则支持根据所述目标流量实现所述迁移,否则,所述目的节点支持迁入的逻辑分区流量低于所述目标流量过多,会出现过迁的行为;
方式三:根据所述负载值对所述源节点中至少一个逻辑分区进行流量的分布式控制,设置所述至少一个逻辑分区属于同一个数据存储集合的阈值上限,根据所述阈值上限控制所述至少一个逻辑分区在所迁入的至少一个所述目的节点的流量分布,以实现所述迁移;
方式四:根据所述负载值结合负载均衡的分布式控制,在满足所述负载均衡的分布式控制情况下得到所述源节点中至少一个逻辑分区集中与当前期望迁出逻辑分区的目标流量在负载上最接近的目标逻辑分区集,将所述目标逻辑分区集作为期望迁出的逻辑分区集,以实现所述迁移。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图5所示,是用来实现本申请实施例的负载均衡的处理方法的电子设备的框图。该电子设备可以为前述部署设备或代理设备。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的负载均衡的处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的负载均衡的处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的负载均衡的处理方法对应的程序指令/模块(例如,附图4所示的负载运算模块、负载均衡处理模块等模块)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的负载均衡的处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
负载均衡的处理方法的电子设备,还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
采用本申请,可以根据分布式传输中至少包括各节点硬盘容量负载及输入输出负载的多维度负载,得到各节点的负载值;响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。由于是基于至少包括各节点硬盘容量负载及输入输出负载的多维度负载得到的负载值,因此,根据该负载值进行的动态调度,不仅可以实现负载均衡及动态调度,而且,可以提高动态调度的处理速度及基于负载值进行动态调度的准确性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种负载均衡的处理方法,所述方法包括:
根据分布式传输中至少包括各节点硬盘容量负载及输入输出IO负载的多维度负载,得到各节点的负载值;
响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
2.根据权利要求1所述的方法,其中,所述根据分布式传输中至少包括各节点硬盘容量负载及IO负载的多维度负载,得到各节点的负载值,包括:
根据所述各节点硬盘容量负载及IO负载之间的最大值,得到所述负载值。
3.根据权利要求2所述的方法,其中,所述各节点硬盘容量负载及IO负载,通过包括:硬盘负载、网络负载、中央处理器CPU负载、内存负载、延迟负载中至少两方面的指标进行评估;
所述根据所述各节点硬盘容量负载及IO负载之间的最大值,得到所述负载值,包括:
根据所述硬盘负载、所述网络负载、所述CPU负载、所述内存负载、所述延迟负载中至少两方面的指标中的最大值,得到所述负载值。
4.根据权利要求1-3中任一项所述的方法,其中,所述响应于负载均衡的处理,还包括:
根据所述负载值对当前的负载状态进行检测,得到检测结果。
5.根据权利要求4所述的方法,其中,根据所述负载值对当前的负载状态进行检测,得到检测结果,包括以下一种或多种方式:
方式一:将所述负载值与当前节点内硬盘所承载逻辑分区的处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否为慢节点的检测结果;
方式二:针对所述负载值取决于硬盘容量负载的情况,比对各节点内硬盘容量负载以得到负载差值,根据所述负载差值实现所述检测,得到各节点硬盘负载不均的检测结果;
方式三:将所述负载值与当前节点内硬盘所承载逻辑分区的流量及处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否存在故障硬盘的检测结果;
方式四:将所述负载值与当前节点内硬盘所承载逻辑分区的流量进行比对,以实现所述检测,得到所述当前节点的硬盘是否存在高吞吐逻辑分区的检测结果;
方式五:根据所述负载值得到各节点负载的方差,根据所述各节点负载的方差与第一阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在负载不均衡的检测结果;
方式六:根据所述负载值得到平均负载,根据所述平均负载与第二阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在过载且需要扩容的检测结果。
6.根据权利要求1-3中任一项所述的方法,其中,所述响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移,包括:
将所述各节点内硬盘所承载逻辑分区,从基于所述负载值检测得到的负载值高的源节点向负载低的目的节点进行迁移。
7.根据权利要6所述的方法,其中,所述将所述各节点内硬盘所承载逻辑分区,从基于所述负载值检测得到的负载值高的源节点向负载低的目的节点进行迁移,包括以下一种或多种方式:
方式一:根据所述负载值得到所述源节点期望迁出逻辑分区的第一流量、以及所述目的节点支持迁入逻辑分区的第二流量,根据所述第一流量及所述第二流量得到流量迁移值,以根据所述流量迁移值实现所述迁移;
方式二:根据所述负载值得到所述源节点当前期望迁出逻辑分区的目标流量,若已选定所述目的节点支持迁入的逻辑分区流量符合所述目标流量,则支持根据所述目标流量实现所述迁移;
方式三:根据所述负载值对所述源节点中至少一个逻辑分区进行流量的分布式控制,设置所述至少一个逻辑分区属于同一个数据存储集合的阈值上限,根据所述阈值上限控制所述至少一个逻辑分区在所迁入的至少一个所述目的节点的流量分布,以实现所述迁移;
方式四:根据所述负载值结合负载均衡的分布式控制,在满足所述负载均衡的分布式控制情况下得到所述源节点中至少一个逻辑分区集中与当前期望迁出逻辑分区的目标流量在负载上最接近的目标逻辑分区集,将所述目标逻辑分区集作为期望迁出的逻辑分区集,以实现所述迁移。
8.一种负载均衡的处理装置,所述装置包括:
负载运算模块,用于根据分布式传输中至少包括各节点硬盘容量负载及输入输出IO负载的多维度负载,得到各节点的负载值;
负载均衡处理模块,用于响应于负载均衡的处理,根据所述负载值调度各节点内硬盘所承载逻辑分区的迁移。
9.根据权利要求8所述的装置,其中,所述负载运算模块,用于:
根据所述各节点硬盘容量负载及IO负载之间的最大值,得到所述负载值。
10.根据权利要求9所述的装置,其中,所述负载运算模块,包括:
指标评估子模块,用于所述各节点硬盘容量负载及IO负载,通过包括硬盘负载、网络负载、中央处理器CPU负载、内存负载、延迟负载中至少两方面的指标进行评估;
负载运算子模块,用于根据所述硬盘负载、所述网络负载、所述CPU负载、所述内存负载、所述延迟负载中至少两方面的指标中的最大值,得到所述负载值。
11.根据权利要求8-10中任一项所述的装置,其中,所述负载均衡处理模块,包括场景诊断子模块,用于:
根据所述负载值对当前的负载状态进行检测,得到检测结果。
12.根据权利要求11所述的装置,其中,所述场景诊断子模块,用于:根据包括以下一种或多种方式进行所述检测,以得到所述检测结果;
方式一:将所述负载值与当前节点内硬盘所承载逻辑分区的处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否为慢节点的检测结果;
方式二:针对所述负载值取决于硬盘容量负载的情况,比对各节点内硬盘容量负载以得到负载差值,根据所述负载差值实现所述检测,得到各节点硬盘负载不均的检测结果;
方式三:将所述负载值与当前节点内硬盘所承载逻辑分区的流量及处理延迟情况进行比对,以实现所述检测,得到所述当前节点是否存在故障硬盘的检测结果;
方式四:将所述负载值与当前节点内硬盘所承载逻辑分区的流量进行比对,以实现所述检测,得到所述当前节点的硬盘是否存在高吞吐逻辑分区的检测结果;
方式五:根据所述负载值得到各节点负载的方差,根据所述各节点负载的方差与第一阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在负载不均衡的检测结果;
方式六:根据所述负载值得到平均负载,根据所述平均负载与第二阈值范围的比对,以实现所述检测,得到所述各节点之间是否存在过载且需要扩容的检测结果。
13.根据权利要求8-10中任一项所述的装置,其中,所述负载均衡处理模块,还包括调度子模块,用于:
将所述各节点内硬盘所承载逻辑分区,从基于所述负载值检测得到的负载值高的源节点向负载低的目的节点进行迁移。
14.根据权利要13所述的装置,其中,所述调度子模块,用于根据包括以下一种或多种方式进行所述迁移;
方式一:根据所述负载值得到所述源节点期望迁出逻辑分区的第一流量、以及所述目的节点支持迁入逻辑分区的第二流量,根据所述第一流量及所述第二流量得到流量迁移值,以根据所述流量迁移值实现所述迁移;
方式二:根据所述负载值得到所述源节点当前期望迁出逻辑分区的目标流量,若已选定所述目的节点支持迁入的逻辑分区流量符合所述目标流量,则支持根据所述目标流量实现所述迁移;
方式三:根据所述负载值对所述源节点中至少一个逻辑分区进行流量的分布式控制,设置所述至少一个逻辑分区属于同一个数据存储集合的阈值上限,根据所述阈值上限控制所述至少一个逻辑分区在所迁入的至少一个所述目的节点的流量分布,以实现所述迁移;
方式四:根据所述负载值结合负载均衡的分布式控制,在满足所述负载均衡的分布式控制情况下得到所述源节点中至少一个逻辑分区集中与当前期望迁出逻辑分区的目标流量在负载上最接近的目标逻辑分区集,将所述目标逻辑分区集作为期望迁出的逻辑分区集,以实现所述迁移。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791373.0A CN111913670B (zh) | 2020-08-07 | 2020-08-07 | 负载均衡的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010791373.0A CN111913670B (zh) | 2020-08-07 | 2020-08-07 | 负载均衡的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913670A true CN111913670A (zh) | 2020-11-10 |
CN111913670B CN111913670B (zh) | 2024-04-02 |
Family
ID=73284719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010791373.0A Active CN111913670B (zh) | 2020-08-07 | 2020-08-07 | 负载均衡的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913670B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667160A (zh) * | 2020-12-25 | 2021-04-16 | 深圳创新科技术有限公司 | 一种海量存储系统快速均衡方法及装置 |
CN113778692A (zh) * | 2021-11-10 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法及装置、计算机设备和存储介质 |
CN113986557A (zh) * | 2021-11-15 | 2022-01-28 | 北京航空航天大学 | 一种面向全流量采集的存储负载均衡方法及系统 |
CN114598705A (zh) * | 2022-03-07 | 2022-06-07 | 北京百度网讯科技有限公司 | 消息负载均衡方法、装置、设备和介质 |
CN116150160A (zh) * | 2023-04-17 | 2023-05-23 | 北京谷数科技股份有限公司 | 数据库集群处理节点的调整方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353853A (zh) * | 2013-07-26 | 2013-10-16 | 浪潮电子信息产业股份有限公司 | 一种负载自动调节的方法 |
CN104978236A (zh) * | 2015-07-07 | 2015-10-14 | 四川大学 | 一种基于多衡量指标的hdfs负载源宿节点选取方法 |
US20160004571A1 (en) * | 2014-07-02 | 2016-01-07 | Oracle International Corporation | System and method for load balancing in a distributed system by dynamic migration |
CN108009016A (zh) * | 2016-10-31 | 2018-05-08 | 华为技术有限公司 | 一种资源负载均衡控制方法及集群调度器 |
CN110633151A (zh) * | 2019-09-20 | 2019-12-31 | 北京小米移动软件有限公司 | 分布式发布消息集群分区平衡的方法、装置及存储介质 |
CN111061561A (zh) * | 2019-11-27 | 2020-04-24 | 扆亮海 | 云计算管理平台的全阶段负载分担综合优化方法 |
-
2020
- 2020-08-07 CN CN202010791373.0A patent/CN111913670B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353853A (zh) * | 2013-07-26 | 2013-10-16 | 浪潮电子信息产业股份有限公司 | 一种负载自动调节的方法 |
US20160004571A1 (en) * | 2014-07-02 | 2016-01-07 | Oracle International Corporation | System and method for load balancing in a distributed system by dynamic migration |
CN104978236A (zh) * | 2015-07-07 | 2015-10-14 | 四川大学 | 一种基于多衡量指标的hdfs负载源宿节点选取方法 |
CN108009016A (zh) * | 2016-10-31 | 2018-05-08 | 华为技术有限公司 | 一种资源负载均衡控制方法及集群调度器 |
CN110633151A (zh) * | 2019-09-20 | 2019-12-31 | 北京小米移动软件有限公司 | 分布式发布消息集群分区平衡的方法、装置及存储介质 |
CN111061561A (zh) * | 2019-11-27 | 2020-04-24 | 扆亮海 | 云计算管理平台的全阶段负载分担综合优化方法 |
Non-Patent Citations (2)
Title |
---|
康承昆;刘晓洁;: "一种基于多衡量指标的HDFS负载均衡算法", 四川大学学报(自然科学版), no. 06, 28 November 2014 (2014-11-28) * |
高子妍;王勇;: "面向云服务的分布式消息系统负载均衡策略", 计算机科学, no. 1, 15 June 2020 (2020-06-15) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667160A (zh) * | 2020-12-25 | 2021-04-16 | 深圳创新科技术有限公司 | 一种海量存储系统快速均衡方法及装置 |
CN113778692A (zh) * | 2021-11-10 | 2021-12-10 | 腾讯科技(深圳)有限公司 | 一种数据处理的方法及装置、计算机设备和存储介质 |
CN113986557A (zh) * | 2021-11-15 | 2022-01-28 | 北京航空航天大学 | 一种面向全流量采集的存储负载均衡方法及系统 |
CN113986557B (zh) * | 2021-11-15 | 2023-09-12 | 北京航空航天大学 | 一种面向全流量采集的存储负载均衡方法及系统 |
CN114598705A (zh) * | 2022-03-07 | 2022-06-07 | 北京百度网讯科技有限公司 | 消息负载均衡方法、装置、设备和介质 |
CN114598705B (zh) * | 2022-03-07 | 2023-08-15 | 北京百度网讯科技有限公司 | 消息负载均衡方法、装置、设备和介质 |
CN116150160A (zh) * | 2023-04-17 | 2023-05-23 | 北京谷数科技股份有限公司 | 数据库集群处理节点的调整方法、装置及存储介质 |
CN116150160B (zh) * | 2023-04-17 | 2023-06-23 | 北京谷数科技股份有限公司 | 数据库集群处理节点的调整方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111913670B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111913670A (zh) | 负载均衡的处理方法、装置、电子设备及存储介质 | |
US10635664B2 (en) | Map-reduce job virtualization | |
JP6423468B2 (ja) | 記憶階層の動的選択 | |
JP6081293B2 (ja) | ファブリック分散リソースのスケジューリング | |
WO2018076791A1 (zh) | 一种资源负载均衡控制方法及集群调度器 | |
US9195510B2 (en) | Information handling system application decentralized workload management | |
Shen et al. | A resource usage intensity aware load balancing method for virtual machine migration in cloud datacenters | |
US20150052528A1 (en) | Management of prioritizing virtual machines in an operating environment | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
CN104937584A (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
CN111538558B (zh) | 用于自动选择安全虚拟机的系统和方法 | |
US9448824B1 (en) | Capacity availability aware auto scaling | |
US11614977B2 (en) | Optimizing clustered applications in a clustered infrastructure | |
CN106133693A (zh) | 虚拟机的迁移方法、装置及设备 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
US10409648B1 (en) | Splitting processing responsibility for separately stored data partitions | |
US10977091B2 (en) | Workload management with data access awareness using an ordered list of hosts in a computing cluster | |
KR20200080458A (ko) | 클라우드 멀티-클러스터 장치 | |
US20190310893A1 (en) | Workload management with data access awareness in a computing cluster | |
KR102062157B1 (ko) | 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 | |
CN112118314B (zh) | 负载均衡方法和装置 | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system | |
US11336519B1 (en) | Evaluating placement configurations for distributed resource placement | |
US20190324662A1 (en) | Storage Controller and IO Request Processing Method | |
WO2023029485A1 (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 |