CN114339135A - 一种负载均衡方法、装置、电子设备和存储介质 - Google Patents
一种负载均衡方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114339135A CN114339135A CN202011025750.6A CN202011025750A CN114339135A CN 114339135 A CN114339135 A CN 114339135A CN 202011025750 A CN202011025750 A CN 202011025750A CN 114339135 A CN114339135 A CN 114339135A
- Authority
- CN
- China
- Prior art keywords
- server
- service
- load pressure
- virtual node
- weight
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种负载均衡方法、装置、电子设备和存储介质,方法包括:响应于负载均衡触发操作,获取预先设置的权值表;其中权值表中包括业务类型以及每种业务类型对应的不同需求的权值;获取预设时间段内业务数据;基于权值表和业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。本申请实施例中,基于获取的权值表和预设时间段内业务数据,可以分析出各服务器的业务负载压力,进而通过调整一致性哈希环分布,使业务负载压力均匀的分布在监控系统各服务器中,由此解决了因为每个接入设备的使用频率和不同业务的性能消耗都不同所导致的系统各服务器的业务负载压力不均衡的问题。
Description
技术领域
本申请实施例涉及视频监控技术领域,尤其涉及一种负载均衡方法、装置、电子设备和存储介质。
背景技术
随着视频监控技术在各行业的普遍运用,摄像机等监控设备的布设数量以及访问客户数量成倍增长,传统单机服务器已难以满足要求,分布式部署服务器的方案逐渐成为主流构建监控后台的方案。在用户访问监控业务分布式系统中的服务器时,需要通过负载均衡服务器将任务按一定规则(例如负载均衡规则)进行分发。
在分布式系统的负载均衡服务器中,很重要的一项指标就是在保持同一接入设备(例如摄像机)时序一致性(需要保证接入设备收到的任务前后顺序,在网络上要求发送到该接入设备的请求是通过同一台服务器按顺序下发)的同时保证负载均衡性。目前,常用时序一致性的方法主要是:通过一致性哈希算法,将与物理节点(即服务器)关联的虚拟节点放在哈希环上,其中,虚拟节点与物理节点在哈希空间是对应的,一个物理节点对应了若干个虚拟节点。进而根据客户端操作请求中的接入设备编码求得哈希值,并根据求得的哈希值在哈希环上匹配相应的服务器。由于每个接入设备的设备编码是不变的,客户端请求该设备时,计算得到的哈希值是不变的,使得匹配到的虚拟节点也是不变的,因此针对同一接入设备的操作请求只会通过同一台服务器处理,保证了请求操作的时序一致性。同时通过算法将接入设备与服务器绑定,并使得每个服务器绑定的设备数量均匀,以此保证负载均衡性。
由于监控系统实际使用过程中,每个接入设备的使用频率和不同业务的性能消耗都不相同,导致实际情况下监控系统中的各服务器的业务负载压力不同,也即并没有做到真正的业务负载均衡。
发明内容
本申请实施例提供一种负载均衡方法、装置、电子设备和存储介质,以实现在安防监控业务场景下提升分布式监控系统的负载均衡性能的效果。
第一方面,本申请实施例提供了一种负载均衡方法,包括:
响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
第二方面,本申请实施例提供了一种负载均衡装置,包括:
权值表获取模块,用于响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
业务数据获取模块,用于获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
均衡模块,用于基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
第三方面,本申请实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本申请任一实施例的负载均衡方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请任一实施例的负载均衡方法。
本申请实施例中,基于获取到的包括业务类型以及每种业务类型对应的不同需求的权值的权值表和预设时间段内业务数据,可以分析出各服务器的业务负载压力,进而通过调整一致性哈希环分布,使业务负载压力均匀的分布在监控系统各服务器中,由此解决了因为每个接入设备的使用频率和不同业务的性能消耗都不同所导致的系统各服务器的业务负载压力不均衡的问题。
附图说明
图1a是本申请实施例中的分布式监控系统的结构示意图;
图1b是根据本申请第一实施例中的负载均衡方法的流程示意图;
图1c是根据本申请第一实施例中的一致性哈希环的示意图;
图2是根据本申请第二实施例中的负载均衡方法的流程示意图;
图3是根据本申请第三实施例中的负载均衡方法的流程示意图;
图4是根据本申请第四实施例中的负载均衡装置的结构示意图;
图5是根据本申请第五实施例中的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非所有结构。
图1a是本申请实施例中的分布式监控系统的结构示意图,参见图1a,监控系统中包括一个用于控制系统负载均衡的负载均衡服务器、多个用于处理业务请求的服务器,每个服务器下预先绑定有多个接入设备。其中,负载均衡服务器通常采用一致性哈希算法实现系统的负载均衡;接入设备可选的为摄像机或NVR(Network Video Recorder,网络录像机)设备,NVR设备是网络视频监控系统的存储转发部分,NVR设备与视频编码器或网络摄像机协同工作,完成视频的存储及转发功能。
图1b是根据本申请第一实施例的负载均衡方法的流程图,本实施例可适用于均衡分布式监控系统中各服务器的业务负载压力的情况,该方法可以由负载均衡装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在电子设备中,该电子设备可选的为监控系统中的负载均衡服务器。
如图1b所示,负载均衡方法具体包括如下流程:
S101、响应于负载均衡触发操作,获取预先设置的权值表。
本申请实施例中,负载均衡服务器启动后先按照正常的一致性哈希算法实现基本的客户端下发任务分配。只有在检测到负载均衡触发操作时,执行本申请的负载均衡方法。其中,负载均衡触发操作可选的为定时操作或者用户主动触发的操作(例如点击操作)。权值表中包括业务类型以及每种业务类型对应的不同需求的权值,其中,不同需求包括性能需求、业务实时性需求和设备关注度需求;而权值用于量化表示业务性能需求,业务实时性需求,设备关注度等需求对系统实际业务压力的影响。
其中,性能需求主要是指业务消耗的服务器的CPU、内存等资源的情况,性能需求的判断标准为固定时间段内服务器可以执行完成的业务数量(即规格)。权值表中的性能需求的权值可以由熟悉业务规格的开发或维护人员根据版本性能测试结果预先指定。其中,测试结果是由一台单纯的性能评估服务器模拟并评估各项业务后产生的。示例性的,参见表1,其示出了包括性能需求权值的权值表,其中,规格大小和需求评估值成反比,权值示例性的根据业务规格高低取值1~3,例如规格高的监控业务,其性能权值为1;规格中的监控业务,其性能权值为2;规格低的监控业务,其性能权值为3。需要说明的是,性能权值也可以设置为其它值,在此不做具体限定。而且,监控业务规格除了分为高、中、低三挡外,还可以进行细分为不同的等级,并为每个等级对应的设置一个权值,具体的等级数和各等级对应的性能权值不做具体限定。
表1.包括性能需求权值的权值表
业务实时性需求是指用户对业务实时响应速度的要求,例如云台控制等用户实时操作并等待结果的业务,在实时性需求上必然大于相机参数配置等异步操作(有些相机配置成功后还需要花几分钟重启)。业务实时性权值可以由熟悉用户使用习惯的维护人员预先评估设置。示例性的,业务实时性需求越高的监控业务,业务实时性需求权值越大,因此可将根据业务响应类型确定业务实时性需求的权值,例如取值1~3,权值也可以为其它数值,在此不做具体限定,权值表可参见下表2。
表2.包括业务实时性需求权值的权值表
设备关注度需求是指:在监控业务中,一些接入设备处于重要位置,和一般接入设备相比用户关注度更高,相同业务相同访问频率的条件下需要更加快速的响应,所以不同的接入设备也存在关注度需求差异。设备关注度需求权值可以由用户指定,示例性的,交通监控行业中早晚高峰时期,繁忙路口或事故高发路段的摄像机的关注度需求权值可以预先设置一个较大值。
示例性的,可根据实际的需求,设置设备关注度需求权值,例如将设备关注度需求分为5个等级,设备关注度需求权值的取值范围为1~5,也可以为其它数值,在此不做具体限定。参见表3,其示出了接入设备的设备实时性需求权值,IPC是指网络摄像机。
表3.包括设备关注度需求权值的权值表
在此需要说明的是,表1-表3中的监控业务类型可用数字字典进行扩充。
S102、获取预设时间段内业务数据。
本申请实施例中,负载均衡服务器启动后,会自动记录下发到接入设备的任务类型和次数,而在响应于负载均衡触发操作时没处理获取权值表外,还获取预设时间段的业务数据,其中,业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数,预设时间段示例性的为响应于负载均衡触发操作之前的一段时间(例如3天)。
S103、基于权值表和业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
本申请实施例中,一致性哈希环是利用一致性哈希算法实现负载均衡的核心。参见图1c,其示出了一致性哈希环的示意图,其中,一致性哈希环中包括多个虚拟节点,每个虚拟节点根据映射关系唯一对应一个服务器,例如虚拟节点N1和N1-1对应同一个服务器,虚拟节点N2和N2-1对应同一个服务器,虚拟节点N3和N3-1对应同一个服务器。在接收到客户端业务请求时,根据业务请求中的设备编码求得哈希值并在一致性哈希环上匹配服务器。然而,现有的均衡方法中,哈希环的分布是不变的,由此因为每个设备的使用频率和不同业务的性能消耗都不相同而导致各服务器实际的业务负载压力不均衡。
基于上述问题,发明人提出的负载均衡方法,根据权值表和业务数据可以分析出预设时间段内各个服务器承受的业务负载压力,进而调整一致性哈希环分布,使得后续业务负载压力均匀分布在监控系统的各服务器中。在此需要说明的是,调整一致性哈希环分布主要是调整哈希环上各个服务器的虚拟节点的数量,例如使得业务负载压力大的服务器的虚拟节点减少,增加业务负载压力轻的服务器的虚拟节点的数量。
在一种可选的实施方式中,基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中,包括S1031-S1033:
S1031.基于权值表和业务数据,计算一致性哈希环上各虚拟节点的业务负载压力。
本申请实施例中,可利用权重值表示各虚拟节点的业务负载压力和各服务器的业务负载压力。可选的,基于所述权值表和所述业务数据,计算一致性哈希环上各虚拟节点的业务负载压力,包括:
针对任一虚拟节点,按照如下公式计算该虚拟节点的业务负载压力:
其中,Y表示服务器服务虚拟节点之前预设时间内的业务负载压力;n1,n2,n3分别表示之前预设时间段内的不同类型业务触发次数;P1,P2,P3分别表示不同类型业务的性能需求权值;Q1,Q2,Q3表示不同类型业务的实时性需求权值;Xi表示不同接入设备的设备关注度需求权值,d表示在匹配到该虚拟节点的接入设备的数量。
S1032.根据各服务器和各虚拟节点的对应关系,计算各服务器的业务负载压力。
通过S1031可以计算出每个虚拟节点的业务负载压力,进而根据各服务器和各虚拟节点的对应关系,确定各服务器各自对应的虚拟节点,由此每个服务器的业务负载压力等于该服务器对应的虚拟节点的业务负载压力的和。
S1033.根据各服务器的业务负载压力,调整一致性哈希环上各服务器的虚拟节点的数量,以使得业务负载压力均匀分布在监控系统的各服务器中。
在一种可选的实施方式中,为了均衡各服务器的业务负载压力,可调整一致性哈希环上各服务器的虚拟节点的数量,例如将业务负载压力大的服务器的虚拟节点转移到业务负载压力小的服务器中,也即由业务负载压力小的服务器分担业务负载压力大的服务器的部分业务。
本申请实施例中,基于获取到的包括业务类型以及每种业务类型对应的不同需求的权值的权值表和预设时间段内业务数据,可以分析出各服务器的业务负载压力,进而通过调整一致性哈希环分布,使业务负载压力均匀的分布在监控系统各服务器中,由此解决了因为每个接入设备的使用频率和不同业务的性能消耗不同所导致的系统各服务器的业务负载压力不均衡的问题。
图2是根据本申请第二实施例的负载均衡方法的流程图,本实施例是在上述实施例的基础上进行优化,参见图2,该方法包括:
S201、响应于负载均衡触发操作,获取预先设置的权值表。
其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值。
S202、获取预设时间段内业务数据。
其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数。
S203、基于所述权值表和所述业务数据,计算一致性哈希环上各虚拟节点的业务负载压力。
S204、根据各服务器和各虚拟节点的对应关系,计算各服务器的业务负载压力。
S205、根据各服务器的业务负载压力,确定一致性哈希环上需要转移的目标虚拟节点。
在一种可选的实施方式中,根据各服务器的业务负载压力,确定一致性哈希环上需要转移的目标虚拟节点,包括:
将各服务器的业务负载压力进行两两比较,根据比较结果选出第一服务器和第二服务器;其中,第一服务器的业务负载压力大于第二服务器的业务负载压力,且第一服务器和第二服务器的业务负载压力比较结果大于预设阈值;
按照预设筛选规则,从第一服务器的虚拟节点中确定需要转移的目标虚拟节点,其中预设筛选规则可选的为筛选业务负载压力最小的虚拟节点。
S206、修改一致性哈希环中的目标虚拟节点与服务器的映射关系,以使得业务负载压力均匀分布在监控系统的各服务器中。
修改一致性哈希环中的目标虚拟节点与服务器的映射关系,其目的是调整各服务器的虚拟节点的数量。在一种可选的实施方式中,修改一致性哈希环中的目标虚拟节点与服务器的映射关系,包括:
删除一致性哈希环中的目标虚拟节点与所述第一服务器的映射关系,并建立所述目标虚拟节点与所述第二服务器之间的映射关系。
示例性的,针对上述过程进行距离说明。服务器A对应的虚拟节点为YA,YA-1,YA-2;服务器B对应的虚拟节点为YB,YB-1,YB-2;服务器C对应的虚拟节点为YC,YC-1,YC-2。RA,RB,RC的值分别表时服务器A,B,C的权重值(即业务负载压力),虚拟节点的权重值即为虚拟节点的业务负载压力。
表4.各节点对应的权重值和各服务器权重值
根据权重值的大小调整哈希环上各服务器的虚拟节点数量,实现各服务器权重值占比均衡,也即实现各服务器业务负载压力均衡,以上述计算结果为例:
(1)RA和RC占比相差近26.7%,大于设定的阈值y=10%(阈值y可以防止虚拟节点来回切换,且y的值可以根据实际需求进行设定)。在服务器A对应的虚拟子节点中,选出最小权重值YA-2,修改对应虚拟节点在哈希环映射关系缓存中的值为C-3(From A),也即虚拟节点YA-2与服务器C建立的映射关系,后续匹配到虚拟节点YA-2的业务请求不再由服务器A处理,而是由服务器C处理,由此降低了服务器A的业务负载压力。通过上述计算可知,转移虚拟节点YA-2后,RA业务权重值占比下降为43%。需要说明的是,标记From A的目的是便于后续需要从服务器C向服务器A转移虚拟节点时,优先转移标记From A的虚拟节点。
(2)重复上述步骤,比较RA和RB占比,将虚拟节点YA-1的映射关系修改为B-3(FromA),RA业务权重值占比下降为33.3%,虚拟节点转移后的权重值计算结果如下:
表5.调整后各节点对应的权重值和各服务器权重值
(3)服务器A,B,C的权重占比最终变成了33.3%,36.7%,30%。基本形成一个虚拟节点数量分布不均匀但业务权重值基本均匀的哈希环,由此实现了业务负载压力均匀分布在监控系统的各服务器中。需要说明的是,只要任意两个服务器权重的差值小于设定的阈值(例如10%),则认为形成一个虚拟节点数量分布不均匀但业务权重值基本均匀的哈希环。
本申请实施例中,通过将业务负载压力大的服务器的部分虚拟节点,转移到业务负载压力小的服务器上,由此保证了各个服务器的业务负载压力均衡。
进一步的,为了保证业务请求分发的一致性,在修改一致性哈希环中的目标虚拟节点与服务器的映射关系之前,还包括:暂停业务请求任务的分发,并等到当前业务请求任务发送完成。
除此之外,虚拟节点转移还需要注意:(1)服务器A上的权重值比例可能随时间和任务压力的变化而减小,此时做权重计算时优先从服务器B、C的虚拟节点中找回From A的转移虚拟节点。(2)删除监控系统某一服务器时,需要同步删除该服务器的所有虚拟节点,包括转移出去的节点。(3)虚拟节点切换频率需要做限制,防止由于业务压力微调导致节点来回切换。
图3是根据本申请第三实施例的负载均衡方法的流程图,本实施例是在上述实施例的基础上进行优化,参见图3,该方法包括:
S301、根据用户体验反馈或基于人工设置的方式更新权值表中性能需求和业务实时性需求的权值。
针对性能需求的权值,除了根据用户体验反馈或基于人工设置的方式进行更新外,示例性的,还可以设置一个评估服务器,通过评估服务器对各项业务的规格(固定时间段内服务器可以执行完成的业务数量)进行评估,进而根据评估结果更新性能需求权值。需要说明的是,通过反馈用户体验或手动设置的方式更新性能需求和业务实时性需求权值,可提高某个设备或某类业务的响应速度。
S302、根据同步业务的历史访问频率,更新权值表中设备关注度需求的权值。
本申请实施例中,设备关注度需求的权值除了可以通过人工指定的方式更新外,还可以根据同步业务的历史访问频率,更新权值表中设备关注度需求的权值。示例性的,以早晚高峰时期,繁忙路口或事故高发路段的摄像机为例,可通过自动学习分析用户在早晚高峰时间段内的操作习惯,根据同步业务的历史访问频率自动更新。在一种可选的实施方式中,可按照如下公式,计算更新权值表中设备关注度需求的权值:
其中,X表示新的设备关注度需求的权值;-1,N-2,N-3分别表示预设时间段中某一天的业务请求次数;m表示预设时间段的长度,例如总的天数;z表示业务频率评级指数。
进一步的,则得到新的设备关注度权值后,通过在高峰到来前预先加载权值表,可提高关注度高的常使用设备在高峰时间段内的响应速度。
本申请实施例中,通过更新权值表可以保证业务负载均衡的准确性。
图4是根据本申请第四实施例的负载均衡装置的结构示意图,本实施例可适用于均衡分布式监控系统中各服务器的业务负载压力的情况,参见图4,该装置包括:
权值表获取模块401,用于响应负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
业务数据获取模块402,用于获取预设时间段内业务数据;其中,业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
均衡模块403,用于基于权值表和业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
本申请实施例中,基于获取到的包括业务类型以及每种业务类型对应的不同需求的权值的权值表和预设时间段内业务数据,可以分析出各服务器的业务负载压力,进而通过调整一致性哈希环分布,使业务负载压力均匀地分布在监控系统各服务器中,由此解决了因为每个接入设备的使用频率和不同业务的性能消耗都不同所导致的系统各服务器的业务负载压力不均衡的问题。
在上述实施例的基础上,可选的,不同需求包括性能需求、业务实时性需求和设备关注度需求。在上述实施例的基础上,可选的,第一计算单元具体用于:
针对任一虚拟节点,按照如下公式计算该虚拟节点的业务负载压力:
其中,Y表示服务器服务虚拟节点之前预设时间内的业务负载压力;n1,n2,n3分别表示之前预设时间段内的不同类型业务触发次数;P1,P2,P3分别表示不同类型业务的性能需求权值;Q1,Q2,Q3表示不同类型业务的实时性需求权值;Xi表示不同接入设备的设备关注度需求权值,d表示在匹配到该虚拟节点的接入设备的数量;
相应的,每个服务器的业务负载压力等于该服务器对应的虚拟节点的业务负载压力的和。
在上述实施例的基础上,可选的,该装置还包括:
第一更新模块,用于根据用户体验反馈或基于人工设置的方式更新权值表中性能需求和业务实时性需求的权值;
第二更新模块,用于根据同步业务的历史访问频率,更新权值表中设备关注度需求的权值。
在上述实施例的基础上,可选的,第二更新模块具体用于:
按照如下公式,计算更新权值表中设备关注度需求的权值:
其中,X表示新的设备关注度需求的权值;-1,N-2,N-3分别表示预设时间段中某一天的业务请求次数;m表示预设时间段的长度;z表示业务频率评级指数。
在上述实施例的基础上,可选的,均衡模块包括:
第一计算单元,用于基于权值表和业务数据,计算一致性哈希环上各虚拟节点的业务负载压力;
第二计算单元,用于根据各服务器和各虚拟节点的对应关系,计算各服务器的业务负载压力;
均衡单元,用于根据各服务器的业务负载压力,调整一致性哈希环上各服务器的虚拟节点的数量,以使得业务负载压力均匀分布在监控系统的各服务器中。
在上述实施例的基础上,可选的,均衡单元包括:
节点筛选子单元,用于根据各服务器的业务负载压力,确定一致性哈希环上需要转移的目标虚拟节点;
映射关系修改子单元,用于修改一致性哈希环中的目标虚拟节点与服务器的映射关系。
在上述实施例的基础上,可选的,节点筛选子单元具体用于:
将各服务器的业务负载压力进行两两比较,根据比较结果选出第一服务器和第二服务器;其中,第一服务器的业务负载压力大于第二服务器的业务负载压力,且第一服务器和第二服务器的业务负载压力比较结果大于预设阈值;
按照预设筛选规则,从第一服务器的虚拟节点中确定需要转移的目标虚拟节点。
在上述实施例的基础上,可选的,映射关系修改子单元具体用于:
删除一致性哈希环中的目标虚拟节点与所述第一服务器的映射关系,并建立所述目标虚拟节点与所述第二服务器之间的映射关系。
在上述实施例的基础上,可选的,该装置还包括:
等待模块,用于在修改一致性哈希环中的目标虚拟节点与服务器的映射关系之前,暂停业务请求任务的分发,并等到当前业务请求任务发送完成。
本申请实施例所提供的负载均衡装置可执行本申请任意实施例所提供的负载均衡方法,具备执行方法相应的功能模块和有益效果。
图5是本申请第六实施例中提供的一种电子设备的结构示意图。如图5所示结构,本申请实施例中提供的电子设备包括:一个或多个处理器502和存储器501;该电子设备中的处理器502可以是一个或多个,图5中以一个处理器502为例;存储器501用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器502执行,使得所述一个或多个处理器502实现如本申请实施例中任一项所述的负载均衡方法。
该电子设备还可以包括:输入装置503和输出装置504。
该电子设备中的处理器502、存储器501、输入装置503和输出装置504可以通过总线或其他方式连接,图5中以通过总线连接为例。
该电子设备中的存储装置501作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本申请实施例中所提供的应用控制方法对应的程序指令/模块。处理器502通过运行存储在存储装置501中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中负载均衡方法。
存储装置501可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器501可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置503可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置504可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器502执行时,程序进行如下操作:
响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被一个或者多个处理器502执行时,程序还可以进行本申请任意实施例中所提供的应用控制方法中的相关操作。
本申请的一个实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行负载均衡方法,该方法包括:
响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
可选的,该程序被处理器执行时还可以用于执行本申请任意实施例中所提供的方法。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言(诸如“C”语言或类似的程序设计语言)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(例如包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (13)
1.一种负载均衡方法,其特征在于,所述方法包括:
响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
2.根据权利要求1所述的方法,其特征在于,所述不同需求包括性能需求、业务实时性需求和设备关注度需求。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据用户体验反馈或基于人工设置的方式更新权值表中性能需求和业务实时性需求的权值;
根据同步业务的历史访问频率,更新权值表中设备关注度需求的权值。
6.根据权利要求1-5任一项所述的方法,其特征在于,基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中,包括:
基于所述权值表和所述业务数据,计算一致性哈希环上各虚拟节点的业务负载压力;
根据各服务器和各虚拟节点的对应关系,计算各服务器的业务负载压力;
根据各服务器的业务负载压力,调整一致性哈希环上各服务器的虚拟节点的数量,以使得业务负载压力均匀分布在监控系统的各服务器中。
7.根据权利要求6所述的方法,其特征在于,根据各服务器的业务负载压力,调整一致性哈希环上各服务器的虚拟节点的数量,包括:
根据各服务器的业务负载压力,确定一致性哈希环上需要转移的目标虚拟节点;
修改一致性哈希环中的目标虚拟节点与服务器的映射关系。
8.根据权利要求7所述的方法,其特征在于,根据各服务器的业务负载压力,确定一致性哈希环上需要转移的目标虚拟节点,包括:
将各服务器的业务负载压力进行两两比较,根据比较结果选出第一服务器和第二服务器;其中,第一服务器的业务负载压力大于第二服务器的业务负载压力,且第一服务器和第二服务器的业务负载压力比较结果大于预设阈值;
按照预设筛选规则,从第一服务器的虚拟节点中确定需要转移的目标虚拟节点。
9.根据权利要求8所述的方法,其特征在于,修改一致性哈希环中的目标虚拟节点与服务器的映射关系,包括:
删除一致性哈希环中的目标虚拟节点与所述第一服务器的映射关系,并建立所述目标虚拟节点与所述第二服务器之间的映射关系。
10.根据权利要求7所述的方法,其特征在于,在修改一致性哈希环中的目标虚拟节点与服务器的映射关系之前,所述方法还包括:
暂停业务请求任务的分发,并等到当前业务请求任务发送完成。
11.一种负载均衡装置,其特征在于,包括:
权值表获取模块,用于响应于负载均衡触发操作,获取预先设置的权值表;其中,权值表中包括业务类型以及每种业务类型对应的不同需求的权值;
业务数据获取模块,用于获取预设时间段内业务数据;其中,所述业务数据包括预设时间段内触发的业务的类型和每种类型业务触发次数;
均衡模块,用于基于所述权值表和所述业务数据,调整一致性哈希环分布,以使得业务负载压力均匀分布在监控系统的各服务器中。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的负载均衡方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011025750.6A CN114339135A (zh) | 2020-09-25 | 2020-09-25 | 一种负载均衡方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011025750.6A CN114339135A (zh) | 2020-09-25 | 2020-09-25 | 一种负载均衡方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114339135A true CN114339135A (zh) | 2022-04-12 |
Family
ID=81011623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011025750.6A Pending CN114339135A (zh) | 2020-09-25 | 2020-09-25 | 一种负载均衡方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339135A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150448A (zh) * | 2022-06-14 | 2022-10-04 | 北京车网科技发展有限公司 | 一种会话数据处理方法、系统、存储介质和电子设备 |
CN115766737A (zh) * | 2023-01-09 | 2023-03-07 | 北京微吼时代科技有限公司 | 负载均衡方法和装置、电子设备 |
CN117745514A (zh) * | 2024-02-20 | 2024-03-22 | 浙江宇视科技有限公司 | 智能服务器集群的图像分配方法、装置、设备及介质 |
CN117745514B (zh) * | 2024-02-20 | 2024-05-10 | 浙江宇视科技有限公司 | 智能服务器集群的图像分配方法、装置、设备及介质 |
-
2020
- 2020-09-25 CN CN202011025750.6A patent/CN114339135A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150448A (zh) * | 2022-06-14 | 2022-10-04 | 北京车网科技发展有限公司 | 一种会话数据处理方法、系统、存储介质和电子设备 |
CN115150448B (zh) * | 2022-06-14 | 2023-08-25 | 北京车网科技发展有限公司 | 一种会话数据处理方法、系统、存储介质和电子设备 |
CN115766737A (zh) * | 2023-01-09 | 2023-03-07 | 北京微吼时代科技有限公司 | 负载均衡方法和装置、电子设备 |
CN117745514A (zh) * | 2024-02-20 | 2024-03-22 | 浙江宇视科技有限公司 | 智能服务器集群的图像分配方法、装置、设备及介质 |
CN117745514B (zh) * | 2024-02-20 | 2024-05-10 | 浙江宇视科技有限公司 | 智能服务器集群的图像分配方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545246B (zh) | 一种基于令牌桶的限流方法、装置和计算机可读介质 | |
US11934868B2 (en) | Systems and methods for scheduling tasks | |
US11032210B2 (en) | Software load balancer to maximize utilization | |
US10057341B2 (en) | Peer-to-peer architecture for web traffic management | |
US8412810B1 (en) | Provisioning and managing a cluster deployed on a cloud | |
CA2964461C (en) | Composite partition functions | |
CN108965242B (zh) | 基于角色的控制的方法、系统及计算机可读存储介质 | |
CN111786895A (zh) | 动态全局限流的方法和装置 | |
CN112839067B (zh) | 一种数据同步方法及装置 | |
CN114339135A (zh) | 一种负载均衡方法、装置、电子设备和存储介质 | |
CN110650209A (zh) | 实现负载均衡的方法和装置 | |
US20220413906A1 (en) | Method, device, and program product for managing multiple computing tasks based on batch | |
CN115129463A (zh) | 算力调度方法及装置、系统及存储介质 | |
US9021109B1 (en) | Controlling requests through message headers | |
JP2021506002A (ja) | リソースの処理方法及びシステム、記憶媒体、電子機器 | |
CN112667368A (zh) | 一种任务数据处理方法和装置 | |
CN115442129A (zh) | 一种管理集群访问权限的方法、装置和系统 | |
CN115567602A (zh) | Cdn节点回源方法、设备及计算机可读存储介质 | |
JP2023031248A (ja) | エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体 | |
TWI766387B (zh) | 一種具延遲感知負載平衡的反向代理方法和存儲裝置 | |
CN114612212A (zh) | 一种基于风险控制的业务处理方法、装置和系统 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN113434218A (zh) | 微服务配置方法、装置、电子设备和介质 | |
CN116450353A (zh) | 处理器核匹配方法、装置、电子设备及存储介质 | |
JP2011070435A (ja) | 計算機システム、リクエスト処理方法及びサーバ装置 |
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 |