WO2018205890A1 - 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 - Google Patents
一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- WO2018205890A1 WO2018205890A1 PCT/CN2018/085624 CN2018085624W WO2018205890A1 WO 2018205890 A1 WO2018205890 A1 WO 2018205890A1 CN 2018085624 W CN2018085624 W CN 2018085624W WO 2018205890 A1 WO2018205890 A1 WO 2018205890A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processing resource
- total score
- processing
- resource
- score
- Prior art date
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/5044—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 hardware capabilities
-
- 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/501—Performance criteria
Abstract
一种分布式系统的任务分配方法和系统。该方法包括:步骤1,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况(101);步骤2,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分(102);步骤3,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务(103)。可以实现资源的充分利用,节约成本,极大提高服务可用性。此外,在进行任务分配时实现自动分配,提高系统的健壮性。
Description
本申请要求在2017年05月12日提交中国专利局、申请号为201710333404.6、发明名称为“一种分布式系统的任务分配方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明实施例涉及但不限于数据处理领域,尤其涉及一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备。
分布式系统通常涉及多个服务器,每个服务器上包括多个磁盘。分布式系统需要处理的数据量通常是非常大的,如果将数据分配给某个或某几个磁盘进行处理,则会导致有些磁盘一直处于繁忙状态,而有些磁盘则一直处于空闲状态,从而不能合理地利用服务器上的处理资源。
因此,当通过分布式系统对数据进行读写、处理等操作时,需要一种能够合理利用各个服务器上的处理资源,提高服务器处理效率的方法和系统。
发明内容
为了解决现有技术中向服务器上的处理资源分配任务的问题,提出了一种用于分布式系统的任务分配方法和系统。
根据本发明实施例的一个方面,提供了一种分布式系统的任务分配方法,所述方法包括:
步骤1,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
步骤2,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;
步骤3,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
其中,所述步骤2包括:
基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
其中,所述步骤3包括:
将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述步骤3包括:
将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述步骤2还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
其中,所述步骤2还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
其中,在所述步骤2之前还包括:
根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
其中,从所述前m个总分集合的每个总分集合中分别选择设定数量的总分 包括:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
根据本发明实施例的另一方面,还提供了一种分布式系统的任务分配系统,所述系统包括:
资源状况获取模块,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
总分计算模块,被设置为利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;
任务分配模块,被设置为基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
其中,所述总分计算模块还被设置为:
基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
其中,所述任务分配模块还被设置为:
将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述任务分配模块还被设置为:
将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述总分计算模块还被设置为根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
其中,所述总分计算模块还被设置为根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
其中,所述系统还包括:
权重设置模块,被设置为根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
其中,所述任务分配模块还被设置为:
基于哈希运算,从每个总分集合中分别选择设定数量的总分。
本发明实施例的另一方面提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
本发明实施例的另一方面提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明实施例中的分布式系统的任务分配方法和系统,通过利用处理资源组合中各处理资源的评分和权重计算处理资源的总分,并将总分排序后分段,选择处理资源组合分配任务,可以有效地利用处理资源,避免部分处理资源过于繁忙,部分处理资源却过于空闲,从而提高系统的处理效率。因此,采用本发明实施例的方法和系统,可以实现资源的充分利用,节约成本,极大提高服务可用性。此外,在进行任务分配时实现自动分配,提高系统的健壮性。
构成本发明实施例的一部分的附图用来提供对本发明实施例的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的分布式系统的任务分配方法流程图;
图2是根据本发明实施例的分布式系统的任务分配系统模块图。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供了一种分布式系统的任务分配方法,如图1所述,该方法包括:
步骤101,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
步骤102,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个处理资源组合的总分;
步骤103,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
上述步骤102包括:基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。即,处理资源的总分是由各处理资源的评分和相应的权重进行计算得到的。
上述步骤103包括:将各处理资源组合的总分按高低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
即,将各处理资源组合的总分按高低排序后分段,得到多个总分集合,例如,第1总分集合、第2总分集合、…、第n总分集合。排在前面的总分集合 中的总分均大于排在后面的总分集合中的总分。另外,在选择处理资源组合时,并不是全部从排名最靠前的总分集合中选择,而是首先选择几个排名靠前的总分集合,然后分别从所选的总分集合中选择设定数量的总分。这是因为,在步骤102中计算的总分是根据各处理资源上报的当前资源状况计算的,而各处理资源的资源使用状况可能会实时改变,即计算出的总分可能会实时调整,在这种情况下,如果全部从排名最靠前的总分集合中进行选择,则这个分配方法不一定是最优的。而采用本发明实施例这种排序分段,并从多个集合中分别选择多个总分的方法,可以有效保证处理资源的实时优化利用。
在这种情况下,步骤102还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
在上述确定处理资源的评分的方式中,当处理资源的可用资源占比比较小时,则认为该处理资源不可用,即将该处理资源的评分确定为零分。另外,步骤101中获取的处理资源的当前资源状况可以是该处理资源的资源已使用状况或资源可用状况,即已用资源占比或可用资源占比。当获取的是已用资源占比时,计算1-已用资源占比即可得到可用资源占比,其中的占比可以是百分比。
另外,上述步骤103还可以包括:将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。该排序方法与前面的从高到低的方法相反,是因为所使用的处理资源的评分是已用资源占比,即已用资源占比越小越好。
在这种情况下,步骤102还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
在上述确定处理资源的评分的方式中,当处理资源的已用资源占比比较大时,则认为该处理资源不可用,即将该处理资源的评分确定为零分。另外,步骤101中获取的处理资源的当前资源状况可以是该处理资源的资源已使用状况或资源可用状况,即已用资源占比或可用资源占比。当获取的是可用资源占比时,计算1-可用资源占比即可得到已用资源占比,其中的占比可以是百分比。
需要说明的是,从前m个总分集合的每个总分集合中分别选择设定数量的总分包括:基于哈希运算,从每个总分集合中分别选择设定数量的总分。即,先按照总分从高到低的顺序排序后分段,或者按照总分从低到高的顺序排序后分段。分段后,从每个总分集合中选择设定数量的总分时可以采用随机哈希运算进行选择。在一个总分集合中,尽管各个总分值不完全相同,但是非常接近,因此,从该总分集合中可随机选择设定数量的总分。除了哈希运算,也可以采用其他随机选择算法。
在上述步骤102之前还包括:根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。即,在计算每个处理资源组合的总分之前,还需要为各处理资源设置权重。处理资源组合的属性可以是,例如,计算性、数据写入、数据读取。其中计算性资源组合中,CPU、内存的优先级高,即权重大;数据写入资源组合中,磁盘I/O、网络I/O的优先级高,即权重大;数据读取资源组合中,网络I/O、磁盘I/O、网络I/O的优先级高,即权重大。下表列出了一个示例性实施例中各属性对应的处理资源的权重。
表1
CPU权重 | 内存权重 | 网络I/O权重 | 磁盘I/O权重 | 磁盘容量权重 | |
计算性 | 50 | 40 | 10 | 0 | 0 |
数据写入 | 10 | 10 | 20 | 30 | 30 |
数据读取 | 10 | 10 | 40 | 40 | 0 |
这种对各处理资源的评分进行加权求和的方法,基于处理资源组合的属性,为各处理资源设置合适的权重,计算该处理资源组合的合理的总分,该总分代表该处理资源组合的处理能力,从而依据各处理资源组合的总分选择处理能力较强的处理资源组合,来分配任务。这样,能够有效地利用分布式系统的资源,提高分布式系统的处理效率。
上述处理资源至少包括:CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量。
另外,各处理资源会周期性地上报自己的当前资源状况,例如每分钟上报一次,以便系统可以根据实时的数据进行计算以及任务分配。
下面给出根据本发明实施例的分布式系统的任务分配方法的具体实施例。在该实施例中,分布式系统包括3个服务器,每个服务器包括4个磁盘,即4个处理资源组合,处理资源包括CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量。其中,服务器一为用于数据读取的服务器,服务器二为用于数据写入的服务器,服务器三为用于数据计算的服务器。具体的任务分配方法如下:
第一步,获取3个服务器中每个磁盘的CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的当前资源状况。
第二步,根据获取的当前资源状况确定每个磁盘的CPU、内存、网络输入/输出、磁盘输入/输出磁盘容量的可用资源占比,并进一步确定每个磁盘的CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的评分。例如,确定的服务器一的4个磁盘的CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的评分如表2所示,其中的评分为可用资源占比乘以100:
表2
CPU评分 | 内存评分 | 网络I/O评分 | 磁盘I/O评分 | 磁盘容量评分 | |
磁盘一 | 80 | 40 | 20 | 40 | 100 |
磁盘二 | 50 | 60 | 70 | 100 | 70 |
磁盘三 | 50 | 60 | 70 | 80 | 90 |
磁盘四 | 50 | 60 | 70 | 40 | 0 |
第三步,基于每个磁盘的评分及其相应的权重,计算每个磁盘的总分。其中,服务器一的属性为数据读取,对于服务器一中的磁盘,设定CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的权重分别为10%、10%、20%、30%、30%。将各处理资源的评分与权重相乘并求和,得到磁盘一、磁盘二、磁盘三、磁盘四的总分分别为:36、79、71、55。以此类推,分别计算服务器二和服务 器三中各磁盘的总分。其中,服务器二的属性为数据写入,其中各磁盘的CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的权重分别为10%、10%、20%、30%、30%;服务器三的属性为数据计算,其中各磁盘的CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的权重分别为10%、10%、40%、40%、0%。例如,计算得到的服务器二中四个磁盘的总分分别为:58、76、76、37,计算得到的服务器三中四个磁盘的总分分别为:58、56、56、56。
第四步,利用哈希运算将计算得到12个磁盘的总分排序并分段。按总分从高到低排序后得到79、76、76、71、58、58、56、56、56、55、37、36。其中,将总分在71-80内的分值分到第1总分集合中,将总分在51-60内的分值分到第2总分集合中,将总分在31-40内的分值分到第3总分集合中。分段后,第1总分集合包括4个总分,第2总分集合包括6个总分,第3总分集合包括2个总分。
第五步,从第1总分集合中选择2个总分,从第2总分集合中选择1个总分,从第3总分集合中选择1个总分。该步骤中从各总分集合中选择总分的个数是根据大量实验得出的经验值进行设定的。并且,在各总分集合中的选择是随机的。
第六步,向与所选择的总分对应的磁盘分配任务。
该实施例中,选择CPU、内存、网络输入/输出、磁盘输入/输出、磁盘容量的可用资源占比作为其评分,并且在对磁盘总分进行排序时,按照从高到低的顺序进行排序并分段。在其他实施例中,可以选择已用资源占比作为评分,按照从低到高的顺序对磁盘总分进行排序并分段。
本发明实施例还提供了一种计算机可读存储介质,此存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行此程序时实现上述方法的步骤。
本发明实施例还提供了一种分布式系统的任务分配系统,所述系统包括:
资源状况获取模块201,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
总分计算模块202,被设置为利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;
任务分配模块203,被设置为基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
其中,所述总分计算模块202还被设置为:
基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
其中,所述任务分配模块203还被设置为:
将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述任务分配模块203还被设置为:
将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
其中,所述总分计算模块202还被设置为根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
其中,所述总分计算模块202还被设置为根据以下方式确定各处理资源的 评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
其中,所述系统还包括:
权重设置模块204,被设置为根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
其中,所述处理资源至少包括:CPU、内存、磁盘输入/输出、网络输入/输出。
其中,所述任务分配模块203还被设置为:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
本发明实施例中的分布式系统的任务分配方法和系统,通过利用处理资源组合中各处理资源的评分和权重计算处理资源的总分,并将总分排序后分段,选择处理资源组合分配任务,可以有效地利用处理资源,避免部分处理资源过于繁忙,部分处理资源却过于空闲,从而提高系统的处理效率。因此,采用本发明实施例的方法和系统,可以实现资源的充分利用,节约成本,极大提高服务可用性。此外,在进行任务分配时实现自动分配,提高系统的健壮性。
本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或者等同替换,而不脱离本发明实施例技术方案的精神和范围,均应涵盖在权利要求范围当中。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或 暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明实施例的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
本发明实施例中的分布式系统的任务分配方法和系统,通过利用处理资源组合中各处理资源的评分和权重计算处理资源的总分,并将总分排序后分段,选择处理资源组合分配任务,可以有效地利用处理资源,避免部分处理资源过于繁忙,部分处理资源却过于空闲,从而提高系统的处理效率。此外,在进行任务分配时实现自动分配,提高系统的健壮性。
Claims (18)
- 一种分布式系统的任务分配方法,所述方法包括:步骤1,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;步骤2,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;步骤3,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
- 如权利要求1所述的方法,其中,所述步骤2包括:基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
- 如权利要求2所述的方法,其中,所述步骤3包括:将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
- 如权利要求2所述的方法,其中,所述步骤3包括:将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
- 如权利要求3所述的方法,其中,所述步骤2还包括根据以下方式确定各处理资源的评分:方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
- 如权利要求4所述的方法,其中,所述步骤2还包括根据以下方式确定各处理资源的评分:方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
- 如权利要求1或2所述的方法,其中,在所述步骤2之前还包括:根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
- 如权利要求3或4所述的方法,其中,从所述前m个总分集合的每个总分集合中分别选择设定数量的总分包括:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
- 一种分布式系统的任务分配系统,所述系统包括:资源状况获取模块,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;总分计算模块,被设置为利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;任务分配模块,被设置为基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。
- 如权利要求9所述的系统,其中,所述总分计算模块还被设置为:基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
- 如权利要求10所述的系统,其中,所述任务分配模块还被设置为:将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合, 第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
- 如权利要求10所述的系统,其中,所述任务分配模块还被设置为:将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
- 如权利要求11所述的系统,其中,所述总分计算模块还被设置为根据以下方式确定各处理资源的评分:方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
- 如权利要求12所述的系统,其中,所述总分计算模块还被设置为根据以下方式确定各处理资源的评分:方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
- 如权利要求9或10所述的系统,其中,所述系统还包括:权重设置模块,被设置为根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
- 如权利要求11或12所述的系统,其中,所述任务分配模块还被设置为:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
- 一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述 程序被处理器执行时实现权利要求1至8中任意一项所述方法的步骤。
- 一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至8中任意一项所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710333404.6A CN107704320B (zh) | 2017-05-12 | 2017-05-12 | 一种分布式系统的任务分配方法及系统 |
CN201710333404.6 | 2017-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018205890A1 true WO2018205890A1 (zh) | 2018-11-15 |
Family
ID=61169482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/085624 WO2018205890A1 (zh) | 2017-05-12 | 2018-05-04 | 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107704320B (zh) |
WO (1) | WO2018205890A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704320B (zh) * | 2017-05-12 | 2018-08-17 | 贵州白山云科技有限公司 | 一种分布式系统的任务分配方法及系统 |
CN111858014A (zh) * | 2019-04-24 | 2020-10-30 | 中国移动通信集团河北有限公司 | 资源分配方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
CN105022662A (zh) * | 2014-04-22 | 2015-11-04 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
US20160292011A1 (en) * | 2015-03-31 | 2016-10-06 | Stitch Fix, Inc. | Systems and methods for intelligently distributing tasks received from clients among a plurality of worker resources |
CN106126346A (zh) * | 2016-07-05 | 2016-11-16 | 东北大学 | 一种大规模分布式数据采集系统及方法 |
CN107704320A (zh) * | 2017-05-12 | 2018-02-16 | 贵州白山云科技有限公司 | 一种分布式系统的任务分配方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US9880885B2 (en) * | 2015-02-04 | 2018-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system to rebalance constrained services in a cloud using a genetic algorithm |
CN106445676B (zh) * | 2015-08-05 | 2019-10-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
CN105427171A (zh) * | 2015-11-30 | 2016-03-23 | 北京口袋财富信息科技有限公司 | 一种互联网借贷平台评级的数据处理方法 |
-
2017
- 2017-05-12 CN CN201710333404.6A patent/CN107704320B/zh active Active
-
2018
- 2018-05-04 WO PCT/CN2018/085624 patent/WO2018205890A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902587A (zh) * | 2011-07-28 | 2013-01-30 | 中国移动通信集团四川有限公司 | 分布式任务调度方法、系统和装置 |
CN105022662A (zh) * | 2014-04-22 | 2015-11-04 | 中国银联股份有限公司 | 一种分布式任务分配方法 |
US20160292011A1 (en) * | 2015-03-31 | 2016-10-06 | Stitch Fix, Inc. | Systems and methods for intelligently distributing tasks received from clients among a plurality of worker resources |
CN106126346A (zh) * | 2016-07-05 | 2016-11-16 | 东北大学 | 一种大规模分布式数据采集系统及方法 |
CN107704320A (zh) * | 2017-05-12 | 2018-02-16 | 贵州白山云科技有限公司 | 一种分布式系统的任务分配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107704320A (zh) | 2018-02-16 |
CN107704320B (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200134558A1 (en) | Order allocation method and device | |
US8726290B2 (en) | System and/or method for balancing allocation of data among reduce processes by reallocation | |
CA2780231C (en) | Goal oriented performance management of workload utilizing accelerators | |
CN110413412B (zh) | 一种基于gpu集群资源分配的方法和装置 | |
US10884667B2 (en) | Storage controller and IO request processing method | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
US20170149690A1 (en) | Resource Aware Classification System | |
CN109710406B (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
CN109146349B (zh) | 订单分配方法及装置 | |
CN105589750A (zh) | 一种cpu资源调度方法和服务器 | |
WO2015144008A1 (zh) | 为虚拟机分配物理机的方法及装置 | |
Delavar et al. | A synthetic heuristic algorithm for independent task scheduling in cloud systems | |
WO2018205890A1 (zh) | 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 | |
CN112559187A (zh) | 一种移动边缘计算服务器动态分配任务方法及系统 | |
CN114237908A (zh) | 一种面向边缘计算的资源编排优化方法及系统 | |
CN107038067B (zh) | 分布式流处理中处理资源的管理方法和装置 | |
CN107784195A (zh) | 数据处理方法及装置 | |
CN109544347B (zh) | 尾差分配方法、计算机可读存储介质及尾差分配系统 | |
CN109445863B (zh) | 一种基于fpga的数据处理方法、装置、设备及介质 | |
CN110069319B (zh) | 一种面向朵云资源管理的多目标虚拟机调度方法及系统 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN112289379A (zh) | 细胞类型的确定方法、装置、存储介质及电子装置 | |
CN112000485B (zh) | 任务分配方法、装置、电子设备及计算机可读存储介质 | |
CN110209350A (zh) | 一种混合存储架构hpc系统中应用i/o请求的动态调度方法 | |
CN112468546B (zh) | 账号位置确定方法、装置、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18798337 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18798337 Country of ref document: EP Kind code of ref document: A1 |