CN109032801A - 一种请求调度方法、系统及电子设备和存储介质 - Google Patents
一种请求调度方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN109032801A CN109032801A CN201810835346.1A CN201810835346A CN109032801A CN 109032801 A CN109032801 A CN 109032801A CN 201810835346 A CN201810835346 A CN 201810835346A CN 109032801 A CN109032801 A CN 109032801A
- Authority
- CN
- China
- Prior art keywords
- request
- load
- scheduling method
- master node
- total amount
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种请求调度方法、系统及一种电子设备和计算机可读存储介质,该方法包括:当接收到客户端的目标请求时,确定所述目标请求的请求类型;根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;根据所述负载总量确定所述目标请求的响应主节点。本申请提供的请求调度方法利用各主节点的负载总量确定响应主节点,分散了单一主节点压力、减轻集群压力,又利于集群负载均衡,具有良好的自适应性。同时提高系统的响应速度,有效地避免了集中式调度的单一集群入口所造成的业务风险。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种请求调度方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
随着计算机科学与技术的飞速发展,大规模分布式存储系统也进入了以网络为中心的计算时代。而大规模存储计算节点以网络管理软件为客户端,更加直观地向用户提供数据基础存储和数据计算等服务。那么,存储系统对于客户端请求的调度也成为扩展存储系统性能、均衡分布式集群节点负载的重要方法和功能。
目前,分布式存储集群对于客户端的请求调度大多采用集中式调度:客户端请求直接在集群部署单一主节点上下发并进行处理。集中式调度往往造成集群主节点压力过大、负载占用过高等问题;同时,部署主节点作为整个集群单一入口点,很少考虑集群部署主节点的可靠性和稳定性,一旦出现故障,对于相应的存储业务将会造成严重的损失。
因此,如何在请求调度时减少主节点的负载压力是本领域技术人员需要解决的问题。
发明内容
本申请的目的在于提供一种请求调度方法、系统及一种电子设备和一种计算机可读存储介质,在请求调度时减少了主节点的负载压力。
为实现上述目的,本申请提供了一种请求调度方法,应用于分布式存储集群,所述分布式存储集群包括N个主节点,N为大于1的正整数,所述方法包括:
当接收到客户端的目标请求时,确定所述目标请求的请求类型;
根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
根据所述负载总量确定所述目标请求的响应主节点。
其中,所述请求类型包括查询类请求和配置类请求,所述查询类请求包括动态请求和静态请求,所述配置类请求包括动态请求。
其中,根据所述负载总量确定所述目标请求的响应主节点,包括:
将所述负载总量最小值对应的主节点确定为所述目标请求的响应主节点。
其中,根据所述负载总量确定所述目标请求的响应主节点之后,还包括:
更新所有所述主节点的所有所述资源指标项的当前负载数据。
其中,若所述目标请求的请求类型为查询类请求,则所述更新所有所述主节点的所有所述资源指标项的当前负载数据之后,还包括:
所述响应主节点向所述客户端返回所述目标请求对应的请求数据。
其中,所述所有资源指标项对应的权重值的和为1。
其中,根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量,包括:
根据负载总量计算公式计算所有所述主节点的负载总量;其中,所述负载总量计算公式具体为:
其中,TL(j)为第j个主节点的负载总量,LSC(i)为第i个资源指标项的当前负载数据,Weight(i)为所述目标请求的第i个资源指标项对应的权重值;n为所述资源指标项的总数量。
为实现上述目的,本申请提供了一种请求调度系统,应用于分布式存储集群,所述分布式存储集群包括N个主节点,N为大于1的正整数,所述系统包括:
接收模块,用于当接收到客户端的目标请求时,确定所述目标请求的请求类型;
确定模块,用于根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
计算模块,用于获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
响应模块,用于根据所述负载总量确定所述目标请求的响应主节点。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述请求调度方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述请求调度方法的步骤。
通过以上方案可知,本申请提供的一种请求调度方法,包括:当接收到客户端的目标请求时,确定所述目标请求的请求类型;根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;根据所述负载总量确定所述目标请求的响应主节点。
本申请提供的请求调度方法,首先细分了客户端请求类型,在集群中设置多个主节点,统计集群中各个主节点的负载数据后,为各资源指标项分配权重值,并根据不同的客户端请求类型和负载节点状态确定各个主节点的负载总量,可以将负载总量最小的主节点作为响应主节点,实现了动态自适应地调整请求响应规则。由此可见,本申请提供的请求调度方法利用各主节点的负载总量确定响应主节点,分散了单一主节点压力、减轻集群压力,又利于集群负载均衡,具有良好的自适应性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种请求调度方法的流程图;
图2为本申请实施例公开的另一种请求调度方法的流程图;
图3为本申请实施例公开的另一种请求调度方法的时序图;
图4为本申请实施例公开的一种分布式存储集群的架构图;
图5为本申请实施例公开的一种请求调度系统的结构图;
图6为本申请实施例公开的一种电子设备的结构图;
图7为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种请求调度方法,在请求调度时减少了主节点的负载压力。
参见图1,本申请实施例公开的一种请求调度方法的流程图,如图1所示,包括:
S101:当接收到客户端的目标请求时,确定所述目标请求的请求类型;
在具体实施中,分布式存储集群包括多个主节点,每个主节点的功能相同,当接收到客户端的请求时,首先确定该请求的请求类型。作为一种优选实施方式,本步骤的请求类型可以包括查询类请求和配置类请求,查询类请求可以包括动态请求和静态请求,配置类请求一般为动态请求。
S102:根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
需要说明的是,为后续步骤选举请求响应节点提供依据,在本步骤中,需要针对上一步骤确定的请求类型,确定该请求所有资源指标项对应的权重值。
在具体实施中,首先定义每个资源指标项负载的权重为Weight(i),即该变量表示第i个资源指标项负载的权重。其中,i表示具体的资源指标项,如硬盘IO、CPU(中文全称:中央处理器,英文全称:Central Processing Unit)、内存等。作为一种优选实施方式,所有的负载权重均使用归一化数值,即所有资源指标项对应的权重值的和为1,即:
根据不同的客户端请求类型,分配不同的负载权重,例如,对于静态请求(IO密集型)的硬盘IO指标项的权重值分配为0.8,而其他的资源指标项的权重值分配为0.1或0;对于动态请求(CPU密集型)的CPU和硬盘IO指标项的负载权重分配为0.4,而其他的资源指标项的权重值则相对分配少些,对于网络密集型请求的网口带宽负载权重分配高一些,而其他的指标项的负载权重则相对分配少一些。
S103:获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
在具体实施中,根据主节点各资源指标项的当前负载数据和上一步骤中确定的权重值计算负载总量。具体的负载总量计算公式可以为下述形式:
其中,TL(j)为第j个主节点的负载总量,LSC(i)为第i个资源指标项的当前负载数据,Weight(i)为所述目标请求的第i个资源指标项对应的权重值;n为所述资源指标项的总数量。
其中,LSCused(i)为为第i个资源指标项的已使用量,LSCtotal(i)为第i个资源指标项的总量。例如,该资源指标项具体为内存,则LSCused(i)为内存的已使用量,LSCtotal(i)为内存总量。
S104:根据所述负载总量确定所述目标请求的响应主节点。
在具体实施中,得到各主节点的负载总量后,可以将负载总量最小值对应的主节点确定为目标请求的响应主节点。该响应主节点负载目标请求的调度任务。采用负载总量最小的响应主节点也提高系统的响应速度,有效地避免了集中式调度的单一集群入口所造成的业务风险。本申请还公开了一种请求调度系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
本申请实施例提供的请求调度方法,首先细分了客户端请求类型,在集群中设置多个主节点,统计集群中各个主节点的负载数据后,为各资源指标项分配权重值,并根据不同的客户端请求类型和负载节点状态确定各个主节点的负载总量,可以将负载总量最小的主节点作为响应主节点,实现了动态自适应地调整请求响应规则。由此可见,本申请实施例提供的请求调度方法利用各主节点的负载总量确定响应主节点,分散了单一主节点压力、减轻集群压力,又利于集群负载均衡,具有良好的自适应性。
本申请实施例公开了一种请求调度方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,本申请实施例提供的另一种请求调度方法的流程图,如图2所示,包括:
S201:当接收到客户端的查询类请求时,根据预设的权重规则和所述查询类请求确定所述目标请求的所有资源指标项对应的权重值;
S202:获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
S203:将所述负载总量最小值对应的主节点确定为所述查询类请求的响应主节点;
本实施例详细介绍了分布式存储集群对查询类请求响应过程,如图3所示,客户端通过网络向主节点中的客户端请求标记模块发送查询请求,该模块根据预设的权重规则为该查询请求的各资源指标项标记权重,并发送至节点负载计算模块,该模块计算主节点的负载总量后,由分布式请求调度模块确定响应主节点。
S204:更新所有所述主节点的所有所述资源指标项的当前负载数据;
S205:所述响应主节点向所述客户端返回所述查询类请求对应的请求数据。
在具体实施中,响应主节点完成调度请求响应,向客户端返回请求数据的同时,需要更新主节点的各资源指标项的当前负载数据,以便当接收到客户端的其他请求时重新计算各主节点的负载总量。
下面介绍本申请公开的请求调度方法的具体应用实施例,具体的如图4所示,分布式存储集群包括若干个主节点,每个主节点均包括节点负载采集模块、节点负载计算模块、客户端请求标记模块、分布式请求调度模块和DB数据库,各主节点、各模块之间通过异步消息通道进行数据通信和交互。
节点负载采集模块中存在一个独立采集进程和一个对外提供数据查询的接口,返回数据以Json为交换格式。该采集进程内根据不同的资源负载指标项创建不同的定时采集线程,定时时间可以设定为15秒,即每隔15秒通过底层命令查询一次负载数据,并将负载数据持久化至本节点DB数据库中。同时,该模块对外提供一个Json数据交换格式的查询接口,供上层查询调用。该模块的具体流程如下:
Step1:节点负载采集模块在各个主节点上创建独立的负载采集进程。
Step2:采集进程根据不同的系统负载指标数据来源,按照15s的时间粒度开启不同的定时负载采集线程。
Step3:定时采集线程调用不同的底层命令获取相应类型的负载样本数据。
Step4:定时线程采集本节点数据的同时,将采集数据持久化到本节点DB数据库中。
Step5:独立进程内的数据查询线程将数据库中的数据封装为统一的数据查询接口供上层查询使用。
Step6:当数据查询请求传至节点负载采集模块,该模块按照消息通道格式将消息封装后分发到对应的模块。
客户端请求标记模块根据客户端传来的不同类型请求,为节点负载计算模块中的各资源指标项标记不同的权重值。该模块的具体流程如下:
Step1:客户端请求标记模块在各个主节点上创建并定义一套统一的负载权重分配规则。
Step2:该模块针对不同类型的请求为请求分配不同的负载权重。
Step3:该模块将分配的负载权重结果传递给节点负载计算模块。
Step4:该使用异步消息通道向各个主节点同步分配的负载权重。
节点负载计算模块根据节点负载采集模块和客户端请求标记模块发送过来的负载数据和负载权重计算该主节点的负载总量。该模块的具体数据流程如下:
Step1:节点负载计算模块接收节点负载采集模块传来的各资源指标项的负载值。
Step2:节点负载计算模块接收客户端请求标记模块传来的权重值。
Step3:节点负载计算模块根据负载值和权重值,计算各个主节点的负载总量。
Step4:节点负载计算模块将各主节点的负载总量计算结果发送给分布式调度模块。
分布式请求调度模块将节点负载计算模块发送过来的负载数据添加到各个主节点对应的负载队列中。当用户触发客户端请求时,遍历负载队列负载值,统计负载队列中的负载总量,并选择负载总量最小的节点作为请求的响应主节点。负载队列按照先进先出原则(FIFO)仅存放固定数量的负载数据。
Step1:分布式请求调度模块接收节点负载计算模块发送过来的负载数据。
Step2:分布式请求调度模块将负载数据添加到各个主节点的负载队列中。
Step3:当接收到客户端请求,分布式请求调度模块遍历负载队列,选举当前负载队列负载最小的节点作为请求响应节点。
Step4:分布式请求调度模块将请求指令下发至请求响应节点,并返回请求数据结果。
异步消息通道负责主节点与主节点、节点负载采集模块与节点负载计算模块、节点负载计算模块与客户端请求标记模块、分布式调度模块与节点负载计算模块等进行的通信,通信过程中主要涉及客户端节点数据查询请求、主节点间数据同步、各模块间消息分发与处理等,这些消息的处理流程基本一致,具体的:
Step1:消息发送源(客户端、主节点、各模块)与消息接收源通过异步消息通道产生消息模块订阅和被订阅关系。
Step2:消息源通过异步消息通道将数据发送至消息接收源。
Step3:消息接收源收到消息后解码,根据不同的消息类型,进行消息处理、消息过滤后(重复消息过滤等)发送到目的地,对不同的消息进行分发。
下面对本申请实施例提供的一种请求调度系统进行介绍,下文描述的一种请求调度系统与上文描述的一种请求调度方法可以相互参照。
参见图5,本申请实施例提供的一种请求调度系统的结构图,如图5所示,包括:
接收模块501,用于当接收到客户端的目标请求时,确定所述目标请求的请求类型;
确定模块502,用于根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
计算模块503,用于获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
响应模块504,用于根据所述负载总量确定所述目标请求的响应主节点。
本申请实施例提供的请求调度系统,首先细分了客户端请求类型,在集群中设置多个主节点,统计集群中各个主节点的负载数据后,为各资源指标项分配权重值,并根据不同的客户端请求类型和负载节点状态确定各个主节点的负载总量,可以将负载总量最小的主节点作为响应主节点,实现了动态自适应地调整请求响应规则。由此可见,本申请实施例提供的请求调度系统利用各主节点的负载总量确定响应主节点,分散了单一主节点压力、减轻集群压力,又利于集群负载均衡,具有良好的自适应性。
在上述实施例的基础上,作为一种优选实施方式,所述请求类型包括查询类请求和配置类请求,所述查询类请求包括动态请求和静态请求,所述配置类请求包括动态请求。
在上述实施例的基础上,作为一种优选实施方式,所述响应模块504具体为将所述负载总量最小值对应的主节点确定为所述目标请求的响应主节点的模块。
在上述实施例的基础上,作为一种优选实施方式,还包括:
更新模块,用于更新所有所述主节点的所有所述资源指标项的当前负载数据。
在上述实施例的基础上,作为一种优选实施方式,若所述目标请求的请求类型为查询类请求,则还包括:
返回模块,用于所述响应主节点向所述客户端返回所述目标请求对应的请求数据。
在上述实施例的基础上,作为一种优选实施方式,所述所有资源指标项对应的权重值的和为1。
在上述实施例的基础上,作为一种优选实施方式,所述计算模块503包括:
获取单元,用于获取所有所述主节点的所有所述资源指标项的当前负载数据;
计算单元,用于根据负载总量计算公式计算所有所述主节点的负载总量;其中,所述负载总量计算公式具体为:
其中,TL(j)为第j个主节点的负载总量,LSC(i)为第i个资源指标项的当前负载数据,Weight(i)为所述目标请求的第i个资源指标项对应的权重值;n为所述资源指标项的总数量。
本申请还提供了一种电子设备,参见图6,本申请实施例提供的一种电子设备的结构图,如图6所示,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述任一实施例所提供的请求调度方法的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现上述任一实施例所提供的请求调度方法的步骤。
本申请实施例首先细分了客户端请求类型,在集群中设置多个主节点,统计集群中各个主节点的负载数据后,为各资源指标项分配权重值,并根据不同的客户端请求类型和负载节点状态确定各个主节点的负载总量,可以将负载总量最小的主节点作为响应主节点,实现了动态自适应地调整请求响应规则。由此可见,本申请实施例利用各主节点的负载总量确定响应主节点,分散了单一主节点压力、减轻集群压力,又利于集群负载均衡,具有良好的自适应性。
在上述实施例的基础上,作为优选实施方式,参见图7,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。具体的,在本实施例中,通过输入接口300输入预设的权重规则等。
显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为PC机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,可以通过显示单元400显示请求数据等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。具体的,在本实施例中,可以通过网络端口500向处理器200导入预设的权重规则等。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所提供的请求调度方法的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种请求调度方法,其特征在于,应用于分布式存储集群,所述分布式存储集群包括N个主节点,N为大于1的正整数,所述方法包括:
当接收到客户端的目标请求时,确定所述目标请求的请求类型;
根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
根据所述负载总量确定所述目标请求的响应主节点。
2.根据权利要求1所述请求调度方法,其特征在于,所述请求类型包括查询类请求和配置类请求,所述查询类请求包括动态请求和静态请求,所述配置类请求包括动态请求。
3.根据权利要求1所述请求调度方法,其特征在于,根据所述负载总量确定所述目标请求的响应主节点,包括:
将所述负载总量最小值对应的主节点确定为所述目标请求的响应主节点。
4.根据权利要求2所述请求调度方法,其特征在于,根据所述负载总量确定所述目标请求的响应主节点之后,还包括:
更新所有所述主节点的所有所述资源指标项的当前负载数据。
5.根据权利要求4所述请求调度方法,其特征在于,若所述目标请求的请求类型为查询类请求,则所述更新所有所述主节点的所有所述资源指标项的当前负载数据之后,还包括:
所述响应主节点向所述客户端返回所述目标请求对应的请求数据。
6.根据权利要求1所述请求调度方法,其特征在于,所述所有资源指标项对应的权重值的和为1。
7.根据权利要求1-6任一项所述请求调度方法,其特征在于,根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量,包括:
根据负载总量计算公式计算所有所述主节点的负载总量;其中,所述负载总量计算公式具体为:
其中,TL(j)为第j个主节点的负载总量,LSC(i)为第i个资源指标项的当前负载数据,Weight(i)为所述目标请求的第i个资源指标项对应的权重值;n为所述资源指标项的总数量。
8.一种请求调度系统,其特征在于,应用于分布式存储集群,所述分布式存储集群包括N个主节点,N为大于1的正整数,所述系统包括:
接收模块,用于当接收到客户端的目标请求时,确定所述目标请求的请求类型;
确定模块,用于根据预设的权重规则和所述请求类型确定所述目标请求的所有资源指标项对应的权重值;
计算模块,用于获取所有所述主节点的所有所述资源指标项的当前负载数据,并根据所述当前负载数据和所述权重值计算所有所述主节点的负载总量;
响应模块,用于根据所述负载总量确定所述目标请求的响应主节点。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述请求调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述请求调度方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810835346.1A CN109032801B (zh) | 2018-07-26 | 2018-07-26 | 一种请求调度方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810835346.1A CN109032801B (zh) | 2018-07-26 | 2018-07-26 | 一种请求调度方法、系统及电子设备和存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109032801A true CN109032801A (zh) | 2018-12-18 |
| CN109032801B CN109032801B (zh) | 2022-02-18 |
Family
ID=64645666
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810835346.1A Active CN109032801B (zh) | 2018-07-26 | 2018-07-26 | 一种请求调度方法、系统及电子设备和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109032801B (zh) |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109769031A (zh) * | 2019-02-18 | 2019-05-17 | 珠海天天放送科技有限公司 | 一种动态自适应负载均衡方法及系统 |
| CN110209693A (zh) * | 2019-05-10 | 2019-09-06 | 苏宁云计算有限公司 | 高并发数据查询方法、装置、系统、设备及可读存储介质 |
| CN110399296A (zh) * | 2019-06-29 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
| CN110795238A (zh) * | 2019-10-11 | 2020-02-14 | Oppo广东移动通信有限公司 | 负载计算方法、装置、存储介质及电子设备 |
| CN111338575A (zh) * | 2020-02-20 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种存储服务质量控制方法、装置、设备及存储介质 |
| CN111381928A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种虚拟机迁移方法、云计算管理平台和存储介质 |
| CN111459677A (zh) * | 2020-04-01 | 2020-07-28 | 北京顺达同行科技有限公司 | 请求分配方法、装置、计算机设备和存储介质 |
| CN111597023A (zh) * | 2020-05-12 | 2020-08-28 | 湖北美和易思教育科技有限公司 | 一种基于学习状态的集群智能调度方法及装置 |
| CN112308709A (zh) * | 2020-11-24 | 2021-02-02 | 上海浦东发展银行股份有限公司 | 一种用于信用卡获客平台的分流方法、系统及存储介质 |
| CN112463390A (zh) * | 2020-12-11 | 2021-03-09 | 厦门市美亚柏科信息股份有限公司 | 一种分布式任务调度方法、装置、终端设备及存储介质 |
| CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
| CN113419993A (zh) * | 2021-05-19 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 读写请求处理方法、装置、电子设备及存储介质 |
| CN113612841A (zh) * | 2021-08-02 | 2021-11-05 | 北京金山云网络技术有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
| CN113900823A (zh) * | 2021-10-28 | 2022-01-07 | 中国工商银行股份有限公司 | 服务器数据查询请求的负载均衡方法、装置及电子设备 |
| CN114968507A (zh) * | 2021-04-27 | 2022-08-30 | 中移互联网有限公司 | 图像处理任务的调度方法及装置 |
| CN115102958A (zh) * | 2022-06-17 | 2022-09-23 | 深圳市网心科技有限公司 | 一种服务器节点调度方法、装置、设备及存储介质 |
| CN115794837A (zh) * | 2023-02-01 | 2023-03-14 | 天翼云科技有限公司 | 数据表的同步方法、系统和电子设备及存储介质 |
| CN115878306A (zh) * | 2021-09-29 | 2023-03-31 | 中兴通讯股份有限公司 | Hqos的限速方法、装置、单板及存储介质 |
| CN116436920A (zh) * | 2022-01-04 | 2023-07-14 | 北京沃东天骏信息技术有限公司 | 获取数据的方法、系统、设备和计算机可读介质 |
| CN116719632A (zh) * | 2023-08-11 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140181834A1 (en) * | 2012-12-20 | 2014-06-26 | Research & Business Foundation, Sungkyunkwan University | Load balancing method for multicore mobile terminal |
| CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
| CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
-
2018
- 2018-07-26 CN CN201810835346.1A patent/CN109032801B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140181834A1 (en) * | 2012-12-20 | 2014-06-26 | Research & Business Foundation, Sungkyunkwan University | Load balancing method for multicore mobile terminal |
| CN105718479A (zh) * | 2014-12-04 | 2016-06-29 | 中国电信股份有限公司 | 跨idc大数处理架构下执行策略生成方法、装置 |
| CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
Non-Patent Citations (2)
| Title |
|---|
| 田丰等: ""面向高并发服务请求的负载均衡技术研究"", 《中国民航大学学报》 * |
| 赵金雁等: ""多核集群中的自适应并行调度算法"", 《2010年中国计算机大会论文集》 * |
Cited By (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111381928A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种虚拟机迁移方法、云计算管理平台和存储介质 |
| CN109769031A (zh) * | 2019-02-18 | 2019-05-17 | 珠海天天放送科技有限公司 | 一种动态自适应负载均衡方法及系统 |
| CN110209693A (zh) * | 2019-05-10 | 2019-09-06 | 苏宁云计算有限公司 | 高并发数据查询方法、装置、系统、设备及可读存储介质 |
| CN110399296A (zh) * | 2019-06-29 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
| CN110399296B (zh) * | 2019-06-29 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 测试客户端与服务端之间交互接口的方法、系统和介质 |
| CN110795238A (zh) * | 2019-10-11 | 2020-02-14 | Oppo广东移动通信有限公司 | 负载计算方法、装置、存储介质及电子设备 |
| CN110795238B (zh) * | 2019-10-11 | 2023-09-01 | Oppo广东移动通信有限公司 | 负载计算方法、装置、存储介质及电子设备 |
| CN111338575B (zh) * | 2020-02-20 | 2021-06-29 | 苏州浪潮智能科技有限公司 | 一种存储服务质量控制方法、装置、设备及存储介质 |
| CN111338575A (zh) * | 2020-02-20 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种存储服务质量控制方法、装置、设备及存储介质 |
| CN111459677A (zh) * | 2020-04-01 | 2020-07-28 | 北京顺达同行科技有限公司 | 请求分配方法、装置、计算机设备和存储介质 |
| CN111597023B (zh) * | 2020-05-12 | 2023-07-07 | 武汉美和易思数字科技有限公司 | 一种基于学习状态的集群智能调度方法及装置 |
| CN111597023A (zh) * | 2020-05-12 | 2020-08-28 | 湖北美和易思教育科技有限公司 | 一种基于学习状态的集群智能调度方法及装置 |
| CN112308709A (zh) * | 2020-11-24 | 2021-02-02 | 上海浦东发展银行股份有限公司 | 一种用于信用卡获客平台的分流方法、系统及存储介质 |
| CN112308709B (zh) * | 2020-11-24 | 2022-08-12 | 上海浦东发展银行股份有限公司 | 一种用于信用卡获客平台的分流方法、系统及存储介质 |
| CN112463390A (zh) * | 2020-12-11 | 2021-03-09 | 厦门市美亚柏科信息股份有限公司 | 一种分布式任务调度方法、装置、终端设备及存储介质 |
| CN113010315A (zh) * | 2021-03-18 | 2021-06-22 | 中国邮政储蓄银行股份有限公司 | 资源分配方法及分配装置、计算机可读存储介质 |
| CN114968507B (zh) * | 2021-04-27 | 2023-08-15 | 中移互联网有限公司 | 图像处理任务的调度方法及装置 |
| CN114968507A (zh) * | 2021-04-27 | 2022-08-30 | 中移互联网有限公司 | 图像处理任务的调度方法及装置 |
| CN113419993B (zh) * | 2021-05-19 | 2024-06-04 | 北京达佳互联信息技术有限公司 | 读写请求处理方法、装置、电子设备及存储介质 |
| CN113419993A (zh) * | 2021-05-19 | 2021-09-21 | 北京达佳互联信息技术有限公司 | 读写请求处理方法、装置、电子设备及存储介质 |
| CN113612841A (zh) * | 2021-08-02 | 2021-11-05 | 北京金山云网络技术有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
| CN115878306A (zh) * | 2021-09-29 | 2023-03-31 | 中兴通讯股份有限公司 | Hqos的限速方法、装置、单板及存储介质 |
| CN113900823A (zh) * | 2021-10-28 | 2022-01-07 | 中国工商银行股份有限公司 | 服务器数据查询请求的负载均衡方法、装置及电子设备 |
| CN116436920A (zh) * | 2022-01-04 | 2023-07-14 | 北京沃东天骏信息技术有限公司 | 获取数据的方法、系统、设备和计算机可读介质 |
| CN115102958A (zh) * | 2022-06-17 | 2022-09-23 | 深圳市网心科技有限公司 | 一种服务器节点调度方法、装置、设备及存储介质 |
| CN115102958B (zh) * | 2022-06-17 | 2024-09-06 | 深圳市网心科技有限公司 | 一种服务器节点调度方法、装置、设备及存储介质 |
| CN115794837A (zh) * | 2023-02-01 | 2023-03-14 | 天翼云科技有限公司 | 数据表的同步方法、系统和电子设备及存储介质 |
| WO2024159953A1 (zh) * | 2023-02-01 | 2024-08-08 | 天翼云科技有限公司 | 数据表的同步方法、系统和电子设备及存储介质 |
| CN116719632A (zh) * | 2023-08-11 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
| CN116719632B (zh) * | 2023-08-11 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 任务调度方法、装置、设备以及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109032801B (zh) | 2022-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109032801A (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
| CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
| CN109495524B (zh) | 一种物联网资源订阅的方法、设备和系统 | |
| CN111694646B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
| WO2019149016A1 (zh) | 网络切片创建方法、系统、网络设备及存储介质 | |
| WO2018161940A1 (zh) | 媒体文件的推送方法及装置、存储介质以及电子装置 | |
| WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
| CN107295090A (zh) | 一种资源调度的方法和装置 | |
| CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
| CN112241319B (zh) | 均衡负载的方法、电子设备和计算机程序产品 | |
| CN115129463A (zh) | 算力调度方法及装置、系统及存储介质 | |
| CN113037791B (zh) | 运维方法和系统、计算机可读存储介质 | |
| CN107370808B (zh) | 一种用于对大数据任务进行分布式处理的方法 | |
| CN109002364A (zh) | 进程间通信的优化方法、电子装置以及可读存储介质 | |
| CN115766876A (zh) | 资源调度方法、装置、设备及存储介质 | |
| CN111240822A (zh) | 任务调度方法、装置、系统及存储介质 | |
| CN110891087A (zh) | 一种日志传输方法、装置及电子设备和存储介质 | |
| EP3723343B1 (en) | Resource processing method and system, storage medium and electronic device | |
| CN110119300A (zh) | 虚拟单元集群的负载均衡方法和装置 | |
| CN106874108A (zh) | 移动云计算中最小化微云使用个数技术 | |
| CN113395291B (zh) | 流量控制方法、装置、电子设备及存储介质 | |
| WO2019169998A1 (zh) | 选择数据节点的方法、系统以及相关设备 | |
| CN118069302A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
| CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
| CN115334158A (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 |