CN107145384A - 任务分配方法和系统 - Google Patents
任务分配方法和系统 Download PDFInfo
- Publication number
- CN107145384A CN107145384A CN201710249577.XA CN201710249577A CN107145384A CN 107145384 A CN107145384 A CN 107145384A CN 201710249577 A CN201710249577 A CN 201710249577A CN 107145384 A CN107145384 A CN 107145384A
- Authority
- CN
- China
- Prior art keywords
- task
- server
- resource
- available server
- available
- 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
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/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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
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
技术领域
本发明涉及计算机集群技术领域,特别涉及任务分配方法和系统。
背景技术
集群由多个服务器或处理单元组成,属于同一集群的服务器或处理单元通常由统一的系统管理,通过网络联系起来,并进行同一种服务。负载均衡技术是集群技术的关键技术之一,其能够将请求分摊到多个处理单元上执行,充分利用各处理单元,从而提升系统整体处理能力。目前业界通常采用的任务分配方法包括轮询、加权轮询、IP负载均衡、最小连接数等方法。
然而,采用现有的任务分配方法,在访问量增加、复杂请求增加的情况下,网络系统仍存在整体吞吐量低,部分请求任务长时间得不到响应的问题。
发明内容
本发明提出一种任务分配方法和系统,可提高整体服务器的吞吐量和请求响应速度。
本发明一方面提供了一种任务分配方法,所述方法包括:
当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
在获取所述任务类型后,从服务器列表中选择可用服务器;
获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
将所述待分配任务分配到所述待分配服务器去执行。
作为更优选地,所述获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比,包括:
获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
在所述方法的一个实施方式中,所述对于可用服务器Si,获取可用服务器Si上第c种资源的资源空闲率Hc(Si),包括:
获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
获取可用服务器Si上第c种资源的资源总量Uc(Si);
计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
在所述方法的一个实施方式中,所述获取可用服务器Si上第c种资源的资源空闲量Vc(Si),包括:
从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的资源空闲量Vc(Si);
判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
在所述方法的一个实施方式中,所述根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器,包括:
计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
本发明另一方面还提供了一种任务分配系统,所述系统包括:
获取任务类型模块,用于当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
选择可用服务器模块,用于在获取所述任务类型后,从服务器列表中选择可用服务器;
获取资源供需比模块,用于获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
获取连接数量模块,用于获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
选取待分配服务器模块,用于根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
分配任务模块,用于将所述待分配任务分配到所述待分配服务器去执行。
作为更优选地,所述获取资源供需比模块包括:
资源空闲率获取单元,用于获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
资源供需比分量计算单元,用于计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
资源供需比求和单元,用于将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
在所述系统的一个实施方式中,所述资源空闲率获取单元包括:
资源空闲量获取单元,用于获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
资源总量获取单元,用于获取可用服务器Si上第c种资源的资源总量Uc(Si);
资源空闲率计算单元,用于计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
在所述系统的一个实施方式中,所述资源空闲量获取单元包括:
第一获取单元,用于从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的的资源空闲量Vc(Si);
生存时间判断单元,用于判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
资源空闲量更新单元,用于当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
在所述系统的一个实施方式中,所述选取待分配服务器模块包括:
选取单元,用于计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
相对于现有技术,本发明具有如下突出的有益效果:本发明提供了一种任务分配方法与系统,其中任务分配方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。本发明提供的任务分配方法与系统,通过在分配任务时充分考虑服务器的资源供需比、当前执行的任务数量和任务类型来选取待分配服务器,实现服务器资源的充分利用,提升了整体的服务器吞吐量,增强了待分配服务器的选取的准确性,进而提高了网络系统的请求响应速度,防止了在大访问量、复杂请求的情况下部分请求任务长时间得不到响应的情况。
附图说明
图1是本发明提供的任务分配方法的第一实施例的流程示意图;
图2是本发明提供的任务分配系统的第一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的任务分配方法的第一实施例的流程示意图,所述方法包括:
S101,当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
S102,在获取所述任务类型后,从服务器列表中选择可用服务器;
S103,获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
S104,获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
S105,根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
S106,将所述待分配任务分配到所述待分配服务器去执行。
在一种可选的实施方式中,所述从服务器列表中选择可用服务器,包括:
向所述服务器列表中的服务器发送在线确认包;
判断是否收到所述服务器在收到所述在线确认包后发送的反馈消息;
当收到所述反馈消息时,判定所述服务器为可用服务器;
当没有收到所述反馈消息时,判定所述服务器为不可用服务器。
即通过判断是否收到服务器在收到在线确认包后发送的反馈消息,快速可靠地将不可用服务器排除在选取范围内,提高了可用服务器的选取的效率。
在一种可选的实施方式中,所述方法还包括:
从服务器列表中选择可用服务器时,若所述服务器列表没有可用的服务器,则返回错误信息。
即通过返回错误信息及时反馈服务器状态,防止了在所述服务器列表没有可用的服务器时仍继续选取可用服务器所造成的处理资源的浪费。
需要说明的是,所述任务类型包括但不限于CPU密集型、IO密集型、内存密集型、GPU密集型、数据库写类型、数据库读类型、会话相关型和会话无关型。所述资源供需比包括但不限于CPU资源供需比、内存资源供需比和硬盘读写资源供需比。
即通过在分配任务时充分考虑服务器的资源供需比、当前执行的任务数量和任务类型来选取待分配服务器,实现服务器资源的充分利用,提升了整体的服务器吞吐量,增强了待分配服务器的选取的准确性,进而提高了网络系统的请求响应速度,防止了在大访问量、复杂请求的情况下部分请求任务长时间得不到响应的情况。
作为更优选地,所述获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比,包括:
获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
例如,将所述任务类型分为m类,若在所述服务器列表中选取的所述可用服务器的总数为n,则用Si∈{S1,S2,…,Sn}表示所述可用服务器的集合;若获取的所述待分配任务的任务类型为m种任务类型中的第j类,则将第j类任务对各种资源的资源供需比分量Hc(Si)/Rc进行求和,得到的可用服务器Si上对第j类任务的资源供需比为
对于所述资源供需比分量Hc(Si)/Rc,若Hc(Si)越大,Rc越小,则说明可用服务器Si上第c种资源的供给满足第j类任务对第c种资源的需求。将第j类任务对各种资源的资源供需比分量Hc(Si)/Rc进行求和,即考虑了待分配任务对每种资源的需求和服务器对每种资源的供给情况,从而寻找出对待分配任务能提供资源最充足的服务器,降低了服务器资源被闲置的概率,进一步提升了整体的服务器吞吐量。
本发明还提供了一种任务分配方法的第二实施例,所述方法包括上述任务分配方法的第一实施例中的步骤S101-S106,还进一步限定了所述对于可用服务器Si,获取可用服务器Si上第c种资源的资源空闲率Hc(Si),包括:
获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
获取可用服务器Si上第c种资源的资源总量Uc(Si);
计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
在本实施例中,在可用服务器Si上第c种资源的资源总量Uc(Si)由可用服务器Si的硬件决定,因此,在任务分配过程中,资源总量Uc(Si)通常不会发生变化,故可用服务器Si上第c种资源的资源空闲量Vc(Si)越大,则资源空闲率Hc(Si)越大,即通过影响资源空闲率的最主要因素来计算资源空闲率,实现了计算过程的简单化,从而提高了系统的处理效率。
本发明还提供了一种任务分配方法的第三实施例,所述方法包括上述任务分配方法的第一实施例中的步骤S101-S106,还进一步限定了所述获取可用服务器Si上第c种资源的资源空闲量Vc(Si),包括:
从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的资源空闲量Vc(Si);
判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
即通过本地数据库对资源空闲量Vc(Si)的存储,便于系统在资源空闲量Vc(Si)的生存时间未超过所述时长阈值时根据需求从本地数据库获取资源空闲量Vc(Si),而无需直接向所述可用服务器发送指令来获取资源空闲量Vc(Si),从而提高了系统的处理速度,且减少了所述可用服务器对所述指令的处理次数,进而缓解了所述可用服务器的压力;通过判断资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值来决定是否在本地数据库中更新资源空闲量Vc(Si),从而获得实时的资源空闲量Vc(Si),动态考虑了服务器状态,进一步提高了待分配服务器的选取的准确性。
本发明还提供了一种任务分配方法的第四实施例,所述方法包括上述任务分配方法的第一实施例中的步骤S101-S106,还进一步限定了所述根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器,包括:
计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
在本实施例中,对于所述资源压力系数,所述可用服务器上当前执行的具有所述任务类型的任务的数量越少,每个所述可用服务器上所述资源供需比越大,则所述资源压力系数越小。所述可用服务器上当前执行的具有所述任务类型的任务的数量越少,说明对应的可用服务器的空闲程度越高;每个所述可用服务器上所述资源供需比越大,说明对应的可用服务器提供的资源最充足;通过选取具有最小的所述比值的待分配服务器,使得所述待分配服务器同时符合服务器的空闲程度高以及提供的资源最充足的特点,从而提高了待分配服务器的选取的准确性。
本发明还提供了一种任务分配系统的第一实施例。参见图2,是本发明提供的任务分配系统的第一实施例的结构示意图,所述系统包括:
获取任务类型模块201,用于当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
选择可用服务器模块202,用于在获取所述任务类型后,从服务器列表中选择可用服务器;
获取资源供需比模块203,用于获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
获取连接数量模块204,用于获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
选取待分配服务器模块205,用于选取待分配服务器模块,用于根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
分配任务模块206,用于将所述待分配任务分配到所述待分配服务器去执行。
在一种可选的实施方式中,所述选择可用服务器模块包括:
询问单元,用于向所述服务器列表中的服务器发送在线确认包;
反馈判断单元,用于判断是否收到所述服务器在收到所述在线确认包后发送的反馈消息;
第一判定单元,用于当收到所述反馈消息时,判定所述服务器为可用服务器;
第二判定单元,用于当没有收到所述反馈消息时,判定所述服务器为不可用服务器。
即通过判断是否收到服务器在收到在线确认包后发送的反馈消息,快速可靠地将不可用服务器排除在选取范围内,提高了可用服务器的选取的效率。
在一种可选的实施方式中,所述系统还包括:
错误信息模块,用于从服务器列表中选择可用服务器时,若所述服务器列表没有可用的服务器,则返回错误信息。
即通过返回错误信息及时反馈服务器状态,防止了在所述服务器列表没有可用的服务器时仍继续选取可用服务器所造成的处理资源的浪费。
需要说明的是,所述任务类型包括但不限于CPU密集型、IO密集型、内存密集型、GPU密集型、数据库写类型、数据库读类型、会话相关型和会话无关型。所述资源供需比包括但不限于CPU资源供需比、内存资源供需比和硬盘读写资源供需比。
即通过在分配任务时充分考虑服务器的资源供需比、当前执行的任务数量和任务类型来选取待分配服务器,实现服务器资源的充分利用,提升了整体的服务器吞吐量,增强了待分配服务器的选取的准确性,进而提高了网络系统的请求响应速度,防止了在大访问量、复杂请求的情况下部分请求任务长时间得不到响应的情况。
作为更优选地,所述获取资源供需比模块包括:
资源空闲率获取单元,用于获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
资源供需比分量计算单元,用于计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
资源供需比求和单元,用于将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
例如,将所述任务类型分为m类,若在所述服务器列表中选取的所述可用服务器的总数为n,则用Si∈{S1,S2,…,Sn}表示所述可用服务器的集合;若获取的所述待分配任务的任务类型为m种任务类型中的第j类,则将第j类任务对各种资源的资源供需比分量Hc(Si)/Rc进行求和,得到的可用服务器Si上对第j类任务的资源供需比为
对于所述资源供需比分量Hc(Si)/Rc,若Hc(Si)越大,Rc越小,则说明可用服务器Si上第c种资源的供给满足第j类任务对第c种资源的需求。将第j类任务对各种资源的资源供需比分量Hc(Si)/Rc进行求和,即考虑了待分配任务对每种资源的需求和服务器对每种资源的供给情况,从而寻找出对待分配任务能提供资源最充足的服务器,降低了服务器资源被闲置的概率,进一步提升了整体的服务器吞吐量。
本发明还提供了一种任务分配系统的第二实施例,其包括上述任务分配系统的第一实施例的获取任务类型模块201、选择可用服务器模块202、获取资源供需比模块203、获取连接数量模块204、选取待分配服务器模块205、分配任务模块206,还进一步限定了所述资源空闲率获取单元包括:
资源空闲量获取单元,用于获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
资源总量获取单元,用于获取可用服务器Si上第c种资源的资源总量Uc(Si);
资源空闲率计算单元,用于计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
在本实施例中,服务器响应时间阈值为预设值;具有所述任务类型的任务在不同可用服务器上的请求响应时间可能小于服务器响应时间阈值、可能大于服务器响应时间阈值,也可能等于服务器响应时间阈值。
在本实施例中,在可用服务器Si上第c种资源的资源总量Uc(Si)由可用服务器Si的硬件决定,因此,在任务分配过程中,资源总量Uc(Si)通常不会发生变化,故可用服务器Si上第c种资源的资源空闲量Vc(Si)越大,则资源空闲率Hc(Si)越大,即通过影响资源空闲率的最主要因素来计算资源空闲率,实现了计算过程的简单化,从而提高了系统的处理效率。
本发明还提供了一种任务分配系统的第三实施例,其包括上述任务分配系统的第一实施例的获取任务类型模块201、选择可用服务器模块202、获取资源供需比模块203、获取连接数量模块204、选取待分配服务器模块205、分配任务模块206,还进一步限定了所述资源空闲量获取单元包括:
第一获取单元,用于从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的的资源空闲量Vc(Si);
生存时间判断单元,用于对于判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
资源空闲量更新单元,用于当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
即通过本地数据库对资源空闲量Vc(Si)的存储,便于系统在资源空闲量Vc(Si)的生存时间未超过所述时长阈值时根据需求从本地数据库获取资源空闲量Vc(Si),而无需直接向所述可用服务器发送指令来获取资源空闲量Vc(Si),从而提高了系统的处理速度,且减少了所述可用服务器对所述指令的处理次数,进而缓解了所述可用服务器的压力;通过判断资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值来决定是否在本地数据库中更新资源空闲量Vc(Si),从而获得实时的资源空闲量Vc(Si),动态考虑了服务器状态,进一步提高了待分配服务器的选取的准确性。
本发明还提供了一种任务分配系统的第四实施例,其包括上述任务分配系统的第一实施例的获取任务类型模块201、选择可用服务器模块202、获取资源供需比模块203、获取连接数量模块204、选取待分配服务器模块205、分配任务模块206,还进一步限定了所述选取待分配服务器模块包括:
选取单元,用于计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
在本实施例中,对于所述资源压力系数,所述可用服务器上当前执行的具有所述任务类型的任务的数量越少,每个所述可用服务器上所述资源供需比越大,则所述资源压力系数越小。所述可用服务器上当前执行的具有所述任务类型的任务的数量越少,说明对应的可用服务器的空闲程度越高;每个所述可用服务器上所述资源供需比越大,说明对应的可用服务器提供的资源最充足;通过选取具有最小的所述比值的待分配服务器,使得所述待分配服务器同时符合服务器的空闲程度高以及提供的资源最充足的特点,从而提高了待分配服务器的选取的准确性。
本发明提供的任务分配方法与系统,通过在分配任务时充分考虑服务器的资源供需比、当前执行的任务数量和任务类型来选取待分配服务器,实现服务器资源的充分利用,提升了整体的服务器吞吐量,增强了待分配服务器的选取的准确性,进而提高了网络系统的请求响应速度,防止了在大访问量、复杂请求的情况下部分请求任务长时间得不到响应的情况。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种任务分配方法,其特征在于,所述方法包括:
当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
在获取所述任务类型后,从服务器列表中选择可用服务器;
获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
将所述待分配任务分配到所述待分配服务器去执行。
2.如权利要求1所述的任务分配方法,其特征在于,所述获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比,包括:
获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
3.如权利要求2所述的任务分配方法,其特征在于,所述对于可用服务器Si,获取可用服务器Si上第c种资源的资源空闲率Hc(Si),包括:
获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
获取可用服务器Si上第c种资源的资源总量Uc(Si);
计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
4.如权利要求3所述的任务分配方法,其特征在于,所述获取可用服务器Si上第c种资源的资源空闲量Vc(Si),包括:
从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的资源空闲量Vc(Si);
判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
5.如权利要求1~4任一项所述的任务分配方法,其特征在于,所述根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器,包括:
计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
6.一种任务分配系统,其特征在于,所述系统包括:
获取任务类型模块,用于当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;
选择可用服务器模块,用于在获取所述任务类型后,从服务器列表中选择可用服务器;
获取资源供需比模块,用于获取每个所述可用服务器上对具有所述任务类型的任务的资源供需比;
获取连接数量模块,用于获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;
选取待分配服务器模块,用于根据每个所述可用服务器上对具有所述任务类型的任务的资源供需比以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;
分配任务模块,用于将所述待分配任务分配到所述待分配服务器去执行。
7.如权利要求6所述的任务分配系统,其特征在于,所述获取资源供需比模块包括:
资源空闲率获取单元,用于获取可用服务器Si上第c种资源的资源空闲率Hc(Si);
资源供需比分量计算单元,用于计算可用服务器Si上第c种资源的资源空闲率Hc(Si)与具有所述任务类型的任务对第c种资源的需求值Rc的比值,作为具有所述任务类型的任务对第c种资源的资源供需比分量Hc(Si)/Rc;其中,具有所述任务类型的任务对第c种资源的需求值Rc为预设值;
资源供需比求和单元,用于将具有所述任务类型的任务对各种资源的资源供需比分量进行求和,以得到可用服务器Si上对具有所述任务类型的任务的资源供需比;
其中,所述可用服务器Si为所有可用服务器中的任意一个服务器。
8.如权利要求7所述的任务分配系统,其特征在于,所述资源空闲率获取单元包括:
资源空闲量获取单元,用于获取可用服务器Si上第c种资源的资源空闲量Vc(Si);
资源总量获取单元,用于获取可用服务器Si上第c种资源的资源总量Uc(Si);
资源空闲率计算单元,用于计算可用服务器Si上第c种资源的资源空闲量Vc(Si)与可用服务器Si上第c种资源的资源总量Uc(Si)的比值,作为可用服务器Si上第c种资源的资源空闲率Hc(Si)。
9.如权利要求8所述的任务分配系统,其特征在于,所述资源空闲量获取单元包括:
第一获取单元,用于从本地数据库获取可用服务器Si上第c种资源的资源空闲量Vc(Si);其中,所述本地数据库中存储了可用服务器Si上第c种资源的的资源空闲量Vc(Si);
生存时间判断单元,用于判断可用服务器Si上第c种资源的资源空闲量Vc(Si)在本地数据库中的生存时间是否超过预设的时长阈值;
资源空闲量更新单元,用于当超过所述时长阈值时,向可用服务器Si发送指令以重新获取可用服务器Si上第c种资源的资源空闲量Vc(Si)并更新到所述本地数据库中。
10.如权利要求6~9任一项所述的任务分配系统,其特征在于,所述选取待分配服务器模块包括:
选取单元,用于计算每个所述可用服务器上当前执行的具有所述任务类型的任务的数量与对应的所述资源供需比的比值,作为每个所述可用服务器的资源压力系数,并在所述可用服务器选取具有最小的所述资源压力系数的待分配服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710249577.XA CN107145384A (zh) | 2017-04-17 | 2017-04-17 | 任务分配方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710249577.XA CN107145384A (zh) | 2017-04-17 | 2017-04-17 | 任务分配方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107145384A true CN107145384A (zh) | 2017-09-08 |
Family
ID=59773719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710249577.XA Pending CN107145384A (zh) | 2017-04-17 | 2017-04-17 | 任务分配方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145384A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055321A (zh) * | 2017-12-11 | 2018-05-18 | 中国电子科技集团公司第二十八研究所 | 基于国产化平台的高可靠集群构建方法 |
CN108920260A (zh) * | 2018-05-16 | 2018-11-30 | 成都淞幸科技有限责任公司 | 一种异构系统的交互方法及其装置 |
CN109739627A (zh) * | 2018-12-26 | 2019-05-10 | 上海连尚网络科技有限公司 | 任务的调度方法、电子设备及介质 |
CN110209166A (zh) * | 2019-05-22 | 2019-09-06 | 重庆大学 | 多个移动式服务机器人的协同控制方法、装置和存储介质 |
CN110515535A (zh) * | 2018-05-22 | 2019-11-29 | 杭州海康威视数字技术股份有限公司 | 硬盘读写控制方法、装置、电子设备及存储介质 |
CN110941493A (zh) * | 2019-11-21 | 2020-03-31 | 中国联合网络通信集团有限公司 | 任务调度方法及装置 |
CN111782383A (zh) * | 2020-08-26 | 2020-10-16 | 北京元心科技有限公司 | 任务分配方法、服务器、电子终端及计算机可读存储介质 |
CN112352222A (zh) * | 2018-09-28 | 2021-02-09 | 阿菲尼帝有限公司 | 在任务分配系统中使行为配对适应运行时条件的技术 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156660A (zh) * | 2011-04-12 | 2011-08-17 | 东南大学 | 多主体系统中基于双层分解的任务分配方法 |
CN103227838A (zh) * | 2013-05-10 | 2013-07-31 | 中国工商银行股份有限公司 | 一种多重负载均衡处理装置与方法 |
CN104881322A (zh) * | 2015-05-18 | 2015-09-02 | 中国科学院计算技术研究所 | 一种基于装箱模型的集群资源调度方法及装置 |
CN105049268A (zh) * | 2015-08-28 | 2015-11-11 | 东方网力科技股份有限公司 | 分布式计算资源分配系统和任务处理方法 |
CN105791371A (zh) * | 2014-12-22 | 2016-07-20 | 中国科学院上海高等研究院 | 一种云存储服务系统及方法 |
CN106325998A (zh) * | 2015-06-30 | 2017-01-11 | 华为技术有限公司 | 一种基于云计算的应用部署的方法和装置 |
-
2017
- 2017-04-17 CN CN201710249577.XA patent/CN107145384A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156660A (zh) * | 2011-04-12 | 2011-08-17 | 东南大学 | 多主体系统中基于双层分解的任务分配方法 |
CN103227838A (zh) * | 2013-05-10 | 2013-07-31 | 中国工商银行股份有限公司 | 一种多重负载均衡处理装置与方法 |
CN105791371A (zh) * | 2014-12-22 | 2016-07-20 | 中国科学院上海高等研究院 | 一种云存储服务系统及方法 |
CN104881322A (zh) * | 2015-05-18 | 2015-09-02 | 中国科学院计算技术研究所 | 一种基于装箱模型的集群资源调度方法及装置 |
CN106325998A (zh) * | 2015-06-30 | 2017-01-11 | 华为技术有限公司 | 一种基于云计算的应用部署的方法和装置 |
CN105049268A (zh) * | 2015-08-28 | 2015-11-11 | 东方网力科技股份有限公司 | 分布式计算资源分配系统和任务处理方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055321A (zh) * | 2017-12-11 | 2018-05-18 | 中国电子科技集团公司第二十八研究所 | 基于国产化平台的高可靠集群构建方法 |
CN108055321B (zh) * | 2017-12-11 | 2021-06-11 | 中国电子科技集团公司第二十八研究所 | 基于国产化平台的高可靠集群构建方法 |
CN108920260A (zh) * | 2018-05-16 | 2018-11-30 | 成都淞幸科技有限责任公司 | 一种异构系统的交互方法及其装置 |
CN110515535A (zh) * | 2018-05-22 | 2019-11-29 | 杭州海康威视数字技术股份有限公司 | 硬盘读写控制方法、装置、电子设备及存储介质 |
CN110515535B (zh) * | 2018-05-22 | 2021-01-01 | 杭州海康威视数字技术股份有限公司 | 硬盘读写控制方法、装置、电子设备及存储介质 |
CN112352222A (zh) * | 2018-09-28 | 2021-02-09 | 阿菲尼帝有限公司 | 在任务分配系统中使行为配对适应运行时条件的技术 |
CN112352222B (zh) * | 2018-09-28 | 2021-10-19 | 阿菲尼帝有限公司 | 在任务分配系统中使行为配对适应运行时条件的技术 |
CN109739627A (zh) * | 2018-12-26 | 2019-05-10 | 上海连尚网络科技有限公司 | 任务的调度方法、电子设备及介质 |
CN110209166A (zh) * | 2019-05-22 | 2019-09-06 | 重庆大学 | 多个移动式服务机器人的协同控制方法、装置和存储介质 |
CN110209166B (zh) * | 2019-05-22 | 2020-07-24 | 重庆大学 | 多个移动式服务机器人的协同控制方法、装置和存储介质 |
CN110941493A (zh) * | 2019-11-21 | 2020-03-31 | 中国联合网络通信集团有限公司 | 任务调度方法及装置 |
CN111782383A (zh) * | 2020-08-26 | 2020-10-16 | 北京元心科技有限公司 | 任务分配方法、服务器、电子终端及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145384A (zh) | 任务分配方法和系统 | |
CN106936925A (zh) | 负载均衡方法和系统 | |
US7065526B2 (en) | Scalable database management system | |
CN104580538B (zh) | 一种提高Nginx服务器负载均衡效率的方法 | |
US7523454B2 (en) | Apparatus and method for routing a transaction to a partitioned server | |
US7437460B2 (en) | Service placement for enforcing performance and availability levels in a multi-node system | |
CN103338252B (zh) | 一种分布式数据库并发存储虚拟请求机制的实现方法 | |
CN106909451A (zh) | 一种分布式任务调度系统及方法 | |
CN104461740A (zh) | 一种跨域集群计算资源聚合和分配的方法 | |
CN107436813A (zh) | 一种元数据服务器动态负载均衡的方法及系统 | |
CN101938504A (zh) | 集群服务器智能调度的方法及系统 | |
CN105471985A (zh) | 负载均衡方法及云平台计算方法、云平台 | |
GB2338386A (en) | Management of server connections | |
CN101149692A (zh) | 在分区间重新分配资源的方法和装置 | |
CN104994156A (zh) | 一种集群的负载均衡方法及系统 | |
CN110471900A (zh) | 数据处理方法及终端设备 | |
US7660897B2 (en) | Method, system, and program for distributing application transactions among work servers | |
CN106302640A (zh) | 数据请求处理方法及装置 | |
CN104283963A (zh) | 一种分布合作式的cdn负载均衡方法 | |
CN107480254B (zh) | 适用于分布式内存数据库的在线负载均衡方法 | |
CN105872082B (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
CN109165096A (zh) | web集群的缓存利用系统及方法 | |
CN107395708A (zh) | 一种处理下载请求的方法和装置 | |
CN104901999A (zh) | 一种可靠性感知的虚拟数据中心跨域映射方法 | |
CN106020732A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170908 |