CN110764908A - 一种负载调节方法、装置、服务器及存储介质 - Google Patents
一种负载调节方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110764908A CN110764908A CN201910967351.2A CN201910967351A CN110764908A CN 110764908 A CN110764908 A CN 110764908A CN 201910967351 A CN201910967351 A CN 201910967351A CN 110764908 A CN110764908 A CN 110764908A
- Authority
- CN
- China
- Prior art keywords
- load
- data
- service
- target
- server
- 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
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/5038—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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种负载调节方法、装置、服务器及存储介质,其中,负载调节方法包括:获取业务服务器的负载数据;根据负载数据与负载阈值的匹配情况,确定负载调节规则集合中与负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括负载阈值与业务配置数据的映射关系;获取所述目标负载调节规则中的目标业务配置数据;将目标业务配置数据发送给业务服务器的配置线程,以使业务服务器的配置线程根据目标业务配置数据对业务服务器内存中的业务配置进行更新。本发明实现对业务服务器负载的自动调节,高峰时段可以通过自动降低业务配置,以服务降级来保证服务的可用性,非常适用于私有化部署场景。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种负载调节方法、装置、服务器及存储介质。
背景技术
随着计算机技术的发展,计算机能够为用户提供的业务服务越来越多,其中,有些业务服务属于计算密集型的服务,这种业务服务需要占用较多的计算资源(如物理机或者虚拟机),如涉及到人脸识别、身份识别等的计算机视觉(Computer Vision,CV)应用服务。对于像CV应用服务这种CPU/GPU计算密集型的服务,为了保证在周末和大型节假日等高峰情况下服务的可用性,相关技术中常采用的是按照负载的峰值估算和部署计算资源(如物理机或者虚拟机),通过弹性调度方式在高峰时段拉取更多的计算资源。
然而,对于机房大小和散热条件等具有限制性的私有化部署场景下,按照负载的峰值部署机器以达到高峰情况下服务的可用性目的,需要对私有化机房进行改造扩张,并增加各种物理资源如机架、空调、交换机等设备,不仅需要投入大量的人力和物力,而且由于私有化部署场景下机器用途单一,非峰值时期的机器利用率低,造成资源的浪费。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种负载调节方法、装置、服务器及存储介质。所述技术方案如下:
一方面,提供了一种负载调节方法,所述方法包括:
获取业务服务器的负载数据;
根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系;
获取所述目标负载调节规则中的目标业务配置数据;
将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
另一方面,提供了一种负载调节方法,应用于业务服务器,所述业务服务器包括配置线程和工作线程,所述方法包括:
所述配置线程接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置;
所述工作线程从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
另一方面,提供了一种负载调节装置,所述装置包括:
第一获取模块,用于获取业务服务器的负载数据;
第一确定模块,用于根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系;
第二获取模块,用于获取所述目标负载调节规则中的目标业务配置数据;
发送模块,用于将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
在一个可选的实施方式中,所述第一确定模块包括:
匹配模块,用于按照负载调节规则集合中负载调节规则的优先级由高至低,将所述负载数据与所述负载调节规则中的负载阈值进行匹配,直至得到与所述负载数据相匹配的负载阈值;
确定子模块,用于将与所述负载数据相匹配的负载阈值所对应的负载调节规则作为所述目标负载调节规则。
在一个可选的实施方式中,所述匹配模块包括:
第二确定模块,用于确定负载数据中与所述负载调节规则相对应的目标负载数据;
判断模块,用于判断所述目标负载数据是否超过所述负载调节规则中的负载阈值;
第三确定模块,用于在所述判断模块判断的结果为是时,确定所述负载调节规则为目标负载调节规则。
在一个可选的实施方式中,所述第一获取模块包括:
订阅模块,用于向分布式消息总线订阅所述业务服务器的负载数据;所述分布式消息总线用于接收所述业务服务器发布的负载数据;
接收模块,用于接收所述分布式消息总线在接收到所述业务服务器发布的负载数据时发送的订阅消息,所述订阅消息中携带所述业务服务器发布的负载数据。
在一个可选的实施方式中,所述装置还包括:
第三获取模块,用于获取输入的负载阈值和业务配置数据;
关系建立模块,用于建立所述负载阈值与所述业务配置数据的映射关系;
规则生成模块,用于根据所述负载阈值与所述业务配置数据的映射关系生成负载调节规则;
第四确定模块,用于确定所述负载调节规则在所述负载调节规则集合中的优先级。
另一方面,提供了一种业务服务器,包括配置线程和工作线程,其中,
所述配置线程,用于接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置;
所述工作线程,用于从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
另一方面,提供了一种负载调节服务器,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述负载调节方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的负载调节方法。
本发明实施例通过负载数据与负载阈值的匹配情况确定目标负载调节规则,进而获取该目标负载调节规则中的目标业务配置数据,将该目标业务配置数据发送给业务服务器的配置线程,以使该配置线程根据目标业务配置数据对业务服务器内存中的业务配置进行更新,如此后续业务服务器的工作线程可以基于该更新后的业务配置进行业务请求的处理,从而实现对业务服务器负载的自动调节,高峰时段可以通过自动降低业务配置,以服务降级来保证服务的可用性,无需对机房进行改造扩张,节省了大量的人力和物力,避免了资源的浪费,非常适用于私有化部署场景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种负载调节方法的***架构图;
图2是本发明实施例提供的一种负载调节方法的流程示意图;
图3是本发明实施例提供的根据负载数据与负载阈值的匹配情况,确定负载调节规则集合中与负载数据相匹配的目标负载调节规则的一个具体示例的流程示意图;
图4是本发明实施例提供的另一种负载调节方法的流程示意图;
图5是本发明实施例提供的另一种负载调节方法的流程示意图;
图6是本发明实施例提供的动态配置加载的示意图;
图7是本发明实施例提供的一种负载调节装置的结构示意图;
图8是本发明实施例提供的另一种负载调节装置的结构示意图;
图9是本发明实施例提供的一种服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的一种负载调节方法的***架构图,该***可以包括负载调节服务器110和至少一个业务服务器120,负载调节服务器110与至少一个业务服务器120可以通过分布式消息总线进行数据的交互。
至少一个业务服务器120可以如图1所示部署在同一个机房,也可以部署在不同的机房。至少一个业务服务器120可以提供相同的业务服务,也可以提供不同的业务服务,该业务服务可以但不限于包括计算机视觉应用服务,如人脸识别服务、身份识别服务等等。
负载调节服务器110可以是对业务服务器的负载提供调节的服务器,该负载调节服务器110可以是一个独立运行的服务器,也可以是由多个服务器组成的服务器集群。
请参阅图2,其所示为本发明实施例提供的一种负载调节方法的流程示意图,该方法可以应用于图1中的负载调节服务器。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,获取业务服务器的负载数据。
其中,负载是指业务服务器在处理业务时所占用的资源量,负载数据可以包括多种类型的负载数据,其可以但不限于包括CPU(Central Processing Unit,中央处理器)占用率、内存使用率、业务请求数、带宽占用率等。
本说明书实施例中,负载调节服务器可以通过分布式消息总线获取各业务服务器的负载数据,该分布式消息总线用于接收各业务服务器发布的负载数据。具体的,负载调节服务器可以向分布式消息总线订阅各业务服务器的负载数据;分布式消息总线在接收到业务服务器发布的负载数据后,将该负载数据以订阅消息的形式发送给负载调节服务器,相应的,负载调节服务器接收分布式消息总线发送的携带有业务服务器发布的负载数据的订阅消息。其中,分布式消息总线可以但不限于包括MSMQ(MicroSoftMessage Queue,微软消息队列)、开源的NServiceBus的发布订阅机制等等。
S203,根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则。
其中,所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系。
负载阈值可以根据实际运行中的历史经验进行设定,其可以是一个具体的数值,也可以是一个数值范围。业务配置数据与业务服务器所提供的业务服务相关联,可以是业务服务过程中涉及的一个或者多个操作参数。例如,业务服务为计算机视觉应用服务时,业务服务器在提供该业务服务时可能会涉及到的业务操作可以但不限于包括图像属性提取、图像特征提取、质量分过滤、聚类等等,那么业务配置数据可以但不限于包括图像保存数量、聚类时长、质量分大小等等。实际应用中,业务配置数据中各数据的数值可以根据历史经验进行设定,并可以在使用过程中进行动态的调整。
实际应用中,负载调节规则集合中可以包括多个负载调节规则,每个负载调节规则可以针对一种类型的负载数据设置相应的负载阈值与业务配置数据的映射关系,该多个负载调节规则可以但不限于包括第一负载调节规则(CPU占用率阈值与业务配置数据1的映射关系)、第二负载调节规则(内存使用率阈值与业务配置数据2的映射关系)、第三负载调节规则(业务请求数阈值与业务配置数据3的映射关系)、第四负载调节规则(带宽占用率阈值与业务配置数据4的映射关系)等等。其中,各负载调节规则中对应的业务配置数据1、业务配置数据2、业务配置数据3和业务配置数据4可以为根据历史经验设定的业务配置的数据;各负载阈值也可以根据实际运行中的历史经验进行设定,例如CPU占用率阈值可以设定为90%,内存使用率阈值可以设定为90%,业务请求数阈值可以设定为800qps-1000qps(Queries Per Second),带宽占用率阈值可以设定为100%。
本说明书实施例中,负载调节规则集合中的多个负载调节规则可以根据实际需要设置有不同的优先级,在执行步骤S203时,按照负载调节规则集合中负载调节规则的优先级由高至低,将负载数据与负载调节规则中的负载阈值进行匹配,直至得到与负载数据相匹配的负载阈值;将与负载数据相匹配的负载阈值所对应的负载调节规则作为目标负载调节规则。
由于负载调节规则集合中每个负载调节规则所针对的负载数据的类型可以不同,因此,在按照负载调节规则集合中负载调节规则的优先级由高至低,将负载数据与负载调节规则中的负载阈值进行匹配,直至得到与负载数据相匹配的负载阈值时可以包括以下步骤:
确定负载数据中与所述负载调节规则相对应的目标负载数据。具体的,根据当前负载调节规则中负载阈值所对应的负载数据的类型,确定负载数据中与该类型相一致的负载数据。例如,当前负载调节规则为第一负载调节规则(CPU占用率阈值与业务配置数据1的映射关系),则该第一负载调节规则中负载阈值所对应的负载数据的类型为CPU占用率,可以确定负载数据中CPU占用率作为目标负载数据。
判断所述目标负载数据是否超过所述负载调节规则中的负载阈值。具体的,将目标负载数据与当前负载调节规则中的负载阈值进行比对,判定目标负载数据是否超过当前负载调节规则中的负载阈值。例如,当前负载调节规则为第一负载调节规则(CPU占用率阈值与业务配置数据1的映射关系),则将负载数据中的CPU占用率与CPU占用率阈值进行比对,判定CPU占用率是否超过CPU占用率阈值。
在判断的结果为是时,确定所述负载调节规则为目标负载调节规则。例如,负载数据中的CPU占用率大于CPU占用率阈值,则表明当前的第一负载调节规则为目标负载调节规则。
下面举例对步骤S203进行说明,该举例中,负载数据包括:CPU占用率、内存使用率、业务请求数、带宽占用率;负载调节规则集合中的负载调节规则按照优先级由高至低为:第一负载调节规则(CPU占用率阈值与业务配置数据1的映射关系)、第二负载调节规则(内存使用率阈值与业务配置数据2的映射关系)、第三负载调节规则(业务请求数阈值与业务配置数据3的映射关系)、第四负载调节规则(带宽占用率阈值与业务配置数据4的映射关系)。
如图3所示,在执行步骤S203时,首先针对第一负载调节规则,判断负载数据中的CPU占用率是否超过CPU占用率阈值,当CPU占用率超过CPU占用率阈值时,将第一负载调节规则作为目标负载调节规则,执行步骤S205;当CPU占用率未超过CPU占用率阈值时,进一步针对第二负载调节规则,判断负载数据中的内存使用率是否超过内存使用率阈值,当内存使用率超过内存使用率阈值时,将第二负载调节规则作为目标负载调节规则,执行步骤S205;当内存使用率未超过内存使用率阈值时,进一步针对第三负载调节规则,判断负载数据中的业务请求数是否超过业务请求数阈值,当业务请求数超过业务请求数阈值时,将第三负载调节规则作为目标负载调节规则,执行步骤S205;当业务请求数未超过业务请求数阈值时,进一步针对第四负载调节规则,判断带宽占用率是否超过带宽占用率阈值,当带宽占用率超过带宽占用率阈值时,将第四负载调节规则作为目标负载调节规则,执行步骤S205;当带宽占用率未超过带宽占用率阈值时,表明当前业务服务器的负载处于正常范围,不需进行负载调节,针对当前负载数据的处理结束。
S205,获取所述目标负载调节规则中的目标业务配置数据。
例如,当目标负载调节规则为第一负载调节规则时,业务配置数据1即为目标业务配置数据;当目标负载调节规则为第二负载调节规则时,业务配置数据2即为目标业务配置数据;当目标负载调节规则为第三负载调节规则时,业务配置数据3即为目标业务配置数据;当目标负载调节规则为第四负载调节规则时,业务配置数据4即为目标业务配置数据。
S207,将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
本说明书实施例中,负载调节服务器可以将目标业务配置数据发布到分布式消息总线,然后由分布式消息总线将目标业务配置数据发送给相应的业务服务器的配置线程。
实际应用中,负载调节服务器可以提供负载调节服务和配置更新服务,其中,负载调节服务可以实现步骤S203至步骤S205的相应功能以得到目标业务配置数据,负载调节服务可以将该目标业务配置数据发送给配置更新服务,配置更新服务在接收到目标业务配置数据后会生成携带该目标业务配置数据的配置更新消息,并将该配置更新消息发布到分布式消息总线。业务服务器的配置线程可以从分布式消息总线订阅配置更新服务的配置更新消息,分布式消息总线在接收到配置更新服务发送的配置更新消息后可以将该配置更新消息发送给相应业务服务器的配置线程。
在一个可选的实施方式中,如图4提供的另一种负载调节方法的流程示意图,步骤S203之前,所述方法还可以包括:
S401,获取输入的负载阈值和业务配置数据。
本说明书实施例中,负载调节服务器可以提供负载调节规则管理接口,运维人员通过该管理接口可以进行负载调节规则的管理,该管理可以但不限于包括删除、查看、增加、修改等等。具体的实施中,负载调节服务器可以基于负载调节规则管理接口获取输入的负载阈值和业务配置数据。
S403,建立所述负载阈值与所述业务配置数据的映射关系。
S405,根据所述负载阈值与所述业务配置数据的映射关系生成负载调节规则。
S407,确定所述负载调节规则在所述负载调节规则集合中的优先级。
具体的,可以根据运维人员选择的优先级顺序来确定当前生成的负载调节规则在负载调节规则集合中的优先级。
现有技术中在判断是否进行负载调节时需要人为干预,通过运维人员观察线上负载监控指标,然后根据经验决定是否进行调节,使得负载调节的效率大大降低。本发明实施例通过预先设置负载调节规则,实现在不同的负载状态下自动匹配相对应的负载调节规则,从而大大提高了负载调节的效率,而且由于负载调节规则是预先设置好的,负载调节的准确性也可以得到保证。
由本发明实施例的上述技术方案可见,本发明实施例通过负载数据与负载阈值的匹配情况确定目标负载调节规则,进而获取该目标负载调节规则中的目标业务配置数据,将该目标业务配置数据发送给业务服务器的配置线程,以使该配置线程根据目标业务配置数据对业务服务器内存中的业务配置进行更新,如此后续业务服务器的工作线程可以基于该更新后的业务配置进行业务请求的处理,从而实现对业务服务器负载的自动调节,高峰时段可以通过自动降低业务配置,例如对于计算机视觉应用服务,可以减少保存的图像数量、缩短聚类时间、提高过滤的质量分等,以服务降级来保证服务的可用性,无需对机房进行改造扩张,节省了大量的人力和物力,避免了资源的浪费,非常适用于私有化部署场景。
现有技术中,业务服务器在进行业务配置的更新时需要滚动重启业务服务实例,这个过程会造成业务服务的短暂不可用,即使是滚动重启的方式,在高峰时段还未重启的业务服务实例会被新增的流量压垮,而且正在处理请求的业务服务实例重启可能会造成数据丢失。
为了避免业务服务器在进行业务配置的更新时出现的服务暂停现象,本发明实施例提供了另一种负载调节方法,该方法可以应用于业务服务器,该业务服务器包括配置线程和工作线程,如图5所示,该方法包括:
S501,配置线程接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置。
其中,目标业务配置数据是负载调节服务器获取业务服务器的负载数据,根据该负载数据与负载阈值的匹配情况确定负载调节规则集合中与该负载数据相匹配的目标负载调节规则,进而从该目标负载调节规则中获取的。
S503,工作线程从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
本说明书实施例的上述步骤S501和步骤S503实质是一个动态配置加载的过程,如图6所示,业务服务器的配置线程与工作线程分离,配置线程与工程线程共享用于存储业务配置的内存,用配置线程单独管理业务配置数据,配置线程去获取负载调节服务器发送的目标业务配置数据并更新到内存中。工作线程每次处理新的业务请求时会从该内存中获取到更新后的业务配置,然后根据更新后的业务配置进行业务请求的处理,一般业务服务器会有多个工作线程,所有的工作线程都会在处理新的业务请求时拿到更新后的业务配置,从而所有的工作线程在处理新的业务请求时都能收敛到一致的新业务配置。
本发明实施例通过上述的动态配置加载,使得业务服务器在进行业务配置的更新时无需重启,进而不会出现业务服务的暂停现象,确保了负载调节的可靠性。
与上述几种实施例提供的负载调节方法相对应,本发明实施例还提供一种负载调节装置,由于本发明实施例提供的负载调节装置与上述几种实施例提供的负载调节服务器侧的负载调节方法相对应,因此前述负载调节服务器侧的负载调节方法的实施方式也适用于本实施例提供的负载调节装置,在本实施例中不再详细描述。
请参阅图7,其所示为本发明实施例提供的一种负载调节装置的结构示意图,该装置具有实现上述方法实施例中负载调节服务器侧的负载调节方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。如图7所示,该装置可以包括:
第一获取模块710,用于获取业务服务器的负载数据;
第一确定模块720,用于根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系;
第二获取模块730,用于获取所述目标负载调节规则中的目标业务配置数据;
发送模块740,用于将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
在一个可选的实施方式中,第一确定模块720可以包括:
匹配模块,用于按照负载调节规则集合中负载调节规则的优先级由高至低,将所述负载数据与所述负载调节规则中的负载阈值进行匹配,直至得到与所述负载数据相匹配的负载阈值;
确定子模块,用于将与所述负载数据相匹配的负载阈值所对应的负载调节规则作为所述目标负载调节规则。
在一个可选的实施方式中,匹配模块可以包括:
第二确定模块,用于确定负载数据中与所述负载调节规则相对应的目标负载数据;
判断模块,用于判断所述目标负载数据是否超过所述负载调节规则中的负载阈值;
第三确定模块,用于在所述判断模块判断的结果为是时,确定所述负载调节规则为目标负载调节规则。
在一个可选的实施方式中,第一获取模块710可以包括:
订阅模块,用于向分布式消息总线订阅所述业务服务器的负载数据;所述分布式消息总线用于接收所述业务服务器发布的负载数据;
接收模块,用于接收所述分布式消息总线在接收到所述业务服务器发布的负载数据时发送的订阅消息,所述订阅消息中携带所述业务服务器发布的负载数据。
在一个可选的实施方式中,如图8提供的另一种负载调节装置的结构示意图,所述装置还可以包括:
第三获取模块750,用于获取输入的负载阈值和业务配置数据;
关系建立模块760,用于建立所述负载阈值与所述业务配置数据的映射关系;
规则生成模块770,用于根据所述负载阈值与所述业务配置数据的映射关系生成负载调节规则;
第四确定模块780,用于确定所述负载调节规则在所述负载调节规则集合中的优先级。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例的负载调节装置实现了对业务服务器负载的自动调节,高峰时段可以通过自动降低业务配置,例如对于计算机视觉应用服务,可以减少保存的图像数量、缩短聚类时间、提高过滤的质量分等,以服务降级来保证服务的可用性,无需对机房进行改造扩张,节省了大量的人力和物力,避免了资源的浪费,非常适用于私有化部署场景。
本发明实施例提供了一种业务服务器,包括配置线程和工作线程,其中,
所述配置线程,用于接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置;
所述工作线程,用于从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
本发明实施例的业务服务器通过将配置线程与工作线程分离,由配置线程单独管理业务配置数据,从而在进行业务配置的更新时无需重启,进而不会出现业务配置更新时的业务服务的暂停现象,确保了负载调节的可靠性。
本发明实施例提供了一种负载调节服务器,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述负载调节服务器侧的负载调节方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及负载调节。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图9是本发明实施例提供的运行一种负载调节方法的服务器的硬件结构框图,如图9所示,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在服务器900上执行存储介质920中的一系列指令操作。服务器900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作***921,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现一种负载调节方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的负载调节方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种负载调节方法,其特征在于,所述方法包括:
获取业务服务器的负载数据;
根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系;
获取所述目标负载调节规则中的目标业务配置数据;
将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
2.根据权利要求1所述的负载调节方法,其特征在于,所述根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则包括:
按照负载调节规则集合中负载调节规则的优先级由高至低,将所述负载数据与所述负载调节规则中的负载阈值进行匹配,直至得到与所述负载数据相匹配的负载阈值;
将与所述负载数据相匹配的负载阈值所对应的负载调节规则作为所述目标负载调节规则。
3.根据权利要求2所述的负载调节方法,其特征在于,所述将所述负载数据与所述负载调节规则中的负载阈值进行匹配,直至得到与所述负载数据相匹配的负载阈值包括:
确定负载数据中与所述负载调节规则相对应的目标负载数据;
判断所述目标负载数据是否超过所述负载调节规则中的负载阈值;
在判断的结果为是时,确定所述负载调节规则为目标负载调节规则。
4.根据权利要求1所述的负载调节方法,其特征在于,所述获取业务服务器的负载数据包括:
向分布式消息总线订阅所述业务服务器的负载数据;所述分布式消息总线用于接收所述业务服务器发布的负载数据;
接收所述分布式消息总线在接收到所述业务服务器发布的负载数据时发送的订阅消息,所述订阅消息中携带所述业务服务器发布的负载数据。
5.根据权利要求2所述的负载调节方法,其特征在于,所述方法还包括:
获取输入的负载阈值和业务配置数据;
建立所述负载阈值与所述业务配置数据的映射关系;
根据所述负载阈值与所述业务配置数据的映射关系生成负载调节规则;
确定所述负载调节规则在所述负载调节规则集合中的优先级。
6.一种负载调节方法,其特征在于,应用于业务服务器,所述业务服务器包括配置线程和工作线程,所述方法包括:
所述配置线程接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置;
所述工作线程从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
7.一种负载调节装置,其特征在于,所述装置包括:
第一获取模块,用于获取业务服务器的负载数据;
第一确定模块,用于根据所述负载数据与负载阈值的匹配情况,确定负载调节规则集合中与所述负载数据相匹配的目标负载调节规则;所述负载调节规则集合中的负载调节规则包括所述负载阈值与业务配置数据的映射关系;
第二获取模块,用于获取所述目标负载调节规则中的目标业务配置数据;
发送模块,用于将所述目标业务配置数据发送给所述业务服务器的配置线程,以使所述业务服务器的配置线程根据所述目标业务配置数据对所述业务服务器内存中的业务配置进行更新。
8.一种业务服务器,其特征在于,包括配置线程和工作线程,其中,
所述配置线程,用于接收负载调节服务器发送的目标业务配置数据,根据所述目标业务配置数据对内存中的业务配置进行更新,得到更新后的业务配置;
所述工作线程,用于从所述内存中获取所述更新后的业务配置,根据所述更新后的业务配置进行业务请求的处理。
9.一种负载调节服务器,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1~5中任一项所述的负载调节方法。
10.一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1~5任一项所述的负载调节方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967351.2A CN110764908A (zh) | 2019-10-12 | 2019-10-12 | 一种负载调节方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910967351.2A CN110764908A (zh) | 2019-10-12 | 2019-10-12 | 一种负载调节方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110764908A true CN110764908A (zh) | 2020-02-07 |
Family
ID=69331631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910967351.2A Pending CN110764908A (zh) | 2019-10-12 | 2019-10-12 | 一种负载调节方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764908A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506434A (zh) * | 2020-06-30 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN111711575A (zh) * | 2020-03-18 | 2020-09-25 | 宁波送变电建设有限公司永耀科技分公司 | 分布式多站融合***故障诊断与流量动态调度方法 |
CN111770349A (zh) * | 2020-05-28 | 2020-10-13 | 微梦创科网络科技(中国)有限公司 | 一种直播流量突发的应对方法及*** |
CN114003371A (zh) * | 2021-09-28 | 2022-02-01 | 中汽创智科技有限公司 | 一种自动驾驶负载均衡方法、装置、电子设备及存储介质 |
CN114125066A (zh) * | 2021-01-15 | 2022-03-01 | 北京京东乾石科技有限公司 | 一种处理业务请求的方法和装置 |
CN114419717A (zh) * | 2022-01-27 | 2022-04-29 | 睿云联(厦门)网络通讯技术有限公司 | 一种终端设备的人脸检测、识别加速方法及*** |
-
2019
- 2019-10-12 CN CN201910967351.2A patent/CN110764908A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711575A (zh) * | 2020-03-18 | 2020-09-25 | 宁波送变电建设有限公司永耀科技分公司 | 分布式多站融合***故障诊断与流量动态调度方法 |
CN111770349A (zh) * | 2020-05-28 | 2020-10-13 | 微梦创科网络科技(中国)有限公司 | 一种直播流量突发的应对方法及*** |
CN111506434A (zh) * | 2020-06-30 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN111506434B (zh) * | 2020-06-30 | 2020-10-13 | 腾讯科技(深圳)有限公司 | 一种任务处理方法、装置及计算机可读存储介质 |
CN114125066A (zh) * | 2021-01-15 | 2022-03-01 | 北京京东乾石科技有限公司 | 一种处理业务请求的方法和装置 |
CN114003371A (zh) * | 2021-09-28 | 2022-02-01 | 中汽创智科技有限公司 | 一种自动驾驶负载均衡方法、装置、电子设备及存储介质 |
CN114419717A (zh) * | 2022-01-27 | 2022-04-29 | 睿云联(厦门)网络通讯技术有限公司 | 一种终端设备的人脸检测、识别加速方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764908A (zh) | 一种负载调节方法、装置、服务器及存储介质 | |
CN107026907B (zh) | 一种负载均衡方法、负载均衡器及负载均衡*** | |
CN110597858A (zh) | 任务数据处理方法、装置、计算机设备和存储介质 | |
CN105791254B (zh) | 网络请求处理方法、装置及终端 | |
CN108667938B (zh) | 切换流量的方法、装置及服务器 | |
CN110677459A (zh) | 资源调整方法、装置、计算机设备和计算机存储介质 | |
CN110995617B (zh) | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 | |
WO2020045189A1 (ja) | ネットワークサービス管理装置、ネットワークサービス管理方法およびネットワークサービス管理プログラム | |
CN112486642A (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN109726007B (zh) | 一种容器编排配额管理方法和装置、及容器编排*** | |
CN109992392B (zh) | 一种资源部署方法、装置及资源服务器 | |
CN107423134B (zh) | 一种大规模计算集群的动态资源调度方法 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN110868323A (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN114168312A (zh) | 一种分布式集群负载均衡方法、装置及存储介质 | |
CN112948104B (zh) | 负载均衡的数据采集方法及装置 | |
CN115484167B (zh) | 通信网络中的网络切片关断方法、计算机装置及存储介质 | |
CN108347341A (zh) | 一种用于调整虚拟机加速能力的加速能力调整方法及装置 | |
CN109697115B (zh) | 用于调度应用的方法、装置以及计算机可读介质 | |
CN109981731B (zh) | 一种数据处理方法和设备 | |
CN112395063B (zh) | 一种动态多线程调度方法及*** | |
CN115378885A (zh) | 超融合架构下的虚拟机业务网络带宽管理方法及装置 | |
CN109271234B (zh) | 一种监控信息收集方法、装置及设备 | |
CN111698174A (zh) | 流量动态分配方法、装置、设备及存储介质 | |
CN110069338B (zh) | 资源控制方法、装置及设备、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020186 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |