CN107704320B - 一种分布式***的任务分配方法及*** - Google Patents

一种分布式***的任务分配方法及*** Download PDF

Info

Publication number
CN107704320B
CN107704320B CN201710333404.6A CN201710333404A CN107704320B CN 107704320 B CN107704320 B CN 107704320B CN 201710333404 A CN201710333404 A CN 201710333404A CN 107704320 B CN107704320 B CN 107704320B
Authority
CN
China
Prior art keywords
total score
resource
process resource
combination
scoring
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.)
Active
Application number
CN201710333404.6A
Other languages
English (en)
Other versions
CN107704320A (zh
Inventor
沈杰
张炎泼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Baishan cloud Polytron Technologies Inc
Original Assignee
Guizhou White Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou White Cloud Technology Co Ltd filed Critical Guizhou White Cloud Technology Co Ltd
Priority to CN201710333404.6A priority Critical patent/CN107704320B/zh
Publication of CN107704320A publication Critical patent/CN107704320A/zh
Priority to PCT/CN2018/085624 priority patent/WO2018205890A1/zh
Application granted granted Critical
Publication of CN107704320B publication Critical patent/CN107704320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种分布式***的任务分配方法和***。该方法包括:步骤1,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;步骤2,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;步骤3,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务。本发明方法和***可以实现资源的充分利用,节约成本,极大提高服务可用性。此外,在进行任务分配时实现自动分配,提高***的健壮性。

Description

一种分布式***的任务分配方法及***
技术领域
本发明涉及数据处理领域,尤其涉及一种分布式***的任务分配方法及***。
背景技术
分布式***通常涉及多个服务器,每个服务器上包括多个磁盘。分布式***需要处理的数据量通常是非常大的,如果将数据分配给某个或某几个磁盘进行处理,则会导致有些磁盘一直处于繁忙状态,而有些磁盘则一直处于空闲状态,从而不能合理地利用服务器上的处理资源。
因此,当通过分布式***对数据进行读写、处理等操作时,需要一种能够合理利用各个服务器上的处理资源,提高服务器处理效率的方法和***。
发明内容
为了解决现有技术中向服务器上的处理资源分配任务的问题,提出了一种用于分布式***的任务分配方法和***。
根据本发明的一个方面,提供了一种分布式***的任务分配方法,所述方法包括:
步骤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还用于:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
本发明中的分布式***的任务分配方法和***,通过利用处理资源组合中各处理资源的评分和权重计算处理资源的总分,并将总分排序后分段,选择处理资源组合分配任务,可以有效地利用处理资源,避免部分处理资源过于繁忙,部分处理资源却过于空闲,从而提高***的处理效率。因此,采用本发明的方法和***,可以实现资源的充分利用,节约成本,极大提高服务可用性。此外,在进行任务分配时实现自动分配,提高***的健壮性。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

Claims (14)

1.一种分布式***的任务分配方法,其特征在于,所述方法包括:
步骤1,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
步骤2,利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;
步骤3,基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务;
其中所述步骤3包括:将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
2.如权利要求1所述的方法,其特征在于,所述步骤2包括:
基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
3.如权利要求2所述的方法,其特征在于,所述步骤3包括:
将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
4.如权利要求1所述的方法,其特征在于,所述步骤2还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
5.如权利要求3所述的方法,其特征在于,所述步骤2还包括根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
6.如权利要求1或2所述的方法,其特征在于,在所述步骤2之前还包括:
根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
7.如权利要求1或3所述的方法,其特征在于,
从所述前m个总分集合的每个总分集合中分别选择设定数量的总分包括:基于哈希运算,从每个总分集合中分别选择设定数量的总分。
8.一种分布式***的任务分配***,其特征在于,所述***包括:
资源状况获取模块,获取多个服务器包括的每个处理资源组合的多个处理资源的当前资源状况;
总分计算模块,用于利用获取的每个处理资源组合的多个处理资源的当前资源状况以及每个处理资源组合的多个处理资源的权重,计算每个所述处理资源组合的总分;
任务分配模块,用于基于计算的各处理资源组合的总分,选择处理资源组合,并向所选择的处理资源组合分配处理任务;
其中,所述任务分配模块还用于:将各处理资源组合的总分按从高到低排序后进行分段,得到n个总分集合,第i个总分集合中的总分均大于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
9.如权利要求8所述的***,其特征在于,所述总分计算模块还用于:
基于每个处理资源组合的多个处理资源的当前资源状况确定各处理资源的评分,将每个处理资源组合中处理资源的评分乘以该处理资源的权重后得到该处理资源的加权评分,并将每个处理资源组合中各处理资源的加权评分相加,分别得到每个处理资源组合的总分。
10.如权利要求9所述的***,其特征在于,所述任务分配模块还用于:
将各处理资源组合的总分按从低到高排序后进行分段,得到n个总分集合,第i个总分集合中的总分均小于第i+1个总分集合至第n个总分集合中的总分,从所述n个总分集合中选择前m个总分集合,并从所述前m个总分集合的每个总分集合中分别选择设定数量的总分,向与所选择的总分对应的处理资源组合分配处理任务,其中n、m和i均为大于0的正整数,且m≤n,i≤n。
11.如权利要求8所述的***,其特征在于,所述总分计算模块还用于根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的可用资源占比大于等于设定阈值时,将该处理资源的评分确定为该可用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的可用资源占比小于所述设定阈值时,将该处理资源的评分确定为零分。
12.如权利要求10所述的***,其特征在于,所述总分计算模块还用于根据以下方式确定各处理资源的评分:
方式一,当一处理资源的当前资源状况表示该处理资源的已用资源占比小于等于设定阈值时,将该处理资源的评分确定为该已用资源占比;
方式二,当一处理资源的当前资源状况表示该处理资源的已用资源占比大于所述设定阈值时,将该处理资源的评分确定为零分。
13.如权利要求8或9所述的***,其特征在于,所述***还包括:
权重设置模块,用于根据所述处理资源组合的属性,为所述处理资源组合的多个处理资源设置相应的权重。
14.如权利要求8或10所述的***,其特征在于,所述任务分配模块还用于:
基于哈希运算,从每个总分集合中分别选择设定数量的总分。
CN201710333404.6A 2017-05-12 2017-05-12 一种分布式***的任务分配方法及*** Active CN107704320B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710333404.6A CN107704320B (zh) 2017-05-12 2017-05-12 一种分布式***的任务分配方法及***
PCT/CN2018/085624 WO2018205890A1 (zh) 2017-05-12 2018-05-04 一种分布式***的任务分配方法及***及其计算机可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710333404.6A CN107704320B (zh) 2017-05-12 2017-05-12 一种分布式***的任务分配方法及***

Publications (2)

Publication Number Publication Date
CN107704320A CN107704320A (zh) 2018-02-16
CN107704320B true CN107704320B (zh) 2018-08-17

Family

ID=61169482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710333404.6A Active CN107704320B (zh) 2017-05-12 2017-05-12 一种分布式***的任务分配方法及***

Country Status (2)

Country Link
CN (1) CN107704320B (zh)
WO (1) WO2018205890A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022662A (zh) * 2014-04-22 2015-11-04 ***股份有限公司 一种分布式任务分配方法
CN105427171A (zh) * 2015-11-30 2016-03-23 北京口袋财富信息科技有限公司 一种互联网借贷平台评级的数据处理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
CN102902587B (zh) * 2011-07-28 2015-10-07 ***通信集团四川有限公司 分布式任务调度方法、***和装置
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
US9778957B2 (en) * 2015-03-31 2017-10-03 Stitch Fix, Inc. Systems and methods for intelligently distributing tasks received from clients among a plurality of worker resources
CN106445676B (zh) * 2015-08-05 2019-10-22 杭州海康威视***技术有限公司 一种分布式数据计算的任务分配方法和任务分配装置
CN106126346B (zh) * 2016-07-05 2019-02-26 东北大学 一种大规模分布式数据采集***及方法
CN107704320B (zh) * 2017-05-12 2018-08-17 贵州白山云科技有限公司 一种分布式***的任务分配方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022662A (zh) * 2014-04-22 2015-11-04 ***股份有限公司 一种分布式任务分配方法
CN105427171A (zh) * 2015-11-30 2016-03-23 北京口袋财富信息科技有限公司 一种互联网借贷平台评级的数据处理方法

Also Published As

Publication number Publication date
CN107704320A (zh) 2018-02-16
WO2018205890A1 (zh) 2018-11-15

Similar Documents

Publication Publication Date Title
CN109783224B (zh) 基于负载调配的任务分配方法、装置及终端设备
CN102929707B (zh) 并行任务动态分配方法
CN109685609B (zh) 订单分配方法、装置、电子设备及存储介质
CN106878415B (zh) 数据消费的负载均衡方法及装置
CN111880939A (zh) 容器动态迁移方法、装置及电子设备
CN105589750A (zh) 一种cpu资源调度方法和服务器
CN103391206B (zh) 一种任务调度方法及其装置
CN111045808B (zh) 一种分布式网络任务调度方法及装置
CN106055706B (zh) 一种缓存资源存储方法及装置
CN103927231A (zh) 一种面向数据处理的能耗优化数据集分配方法
CN105516325A (zh) 一种根据应用负载进行弹性扩容和流量分发扩展的云负载平衡手段
CN110708369B (zh) 设备节点的文件部署方法、装置、调度服务器及存储介质
CN108108384A (zh) 一种数据存储方法及装置
CN111176840B (zh) 分布式任务的分配优化方法和装置、存储介质及电子装置
CN110502321A (zh) 一种资源调度方法及***
CN107704320B (zh) 一种分布式***的任务分配方法及***
EP3238055A1 (en) Allocating cloud computing resources in a cloud computing environment
CN102932271A (zh) 负载均衡的实现方法和装置
CN104598316A (zh) 一种存储资源分配方法及装置
CN104778125B (zh) 一种内存管理方法及***
CN104618492B (zh) 一种基于多个服务器的数据处理***
CN109445863A (zh) 一种基于fpga的数据处理方法、装置、设备及介质
CN116248676A (zh) 边缘云节点组合确定方法及装置
CN112667392B (zh) 云计算资源分配方法、装置、计算机设备和存储介质
CN116225694A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100015 5 floor, block E, 201 IT tower, electronic city, 10 Jiuxianqiao Road, Chaoyang District, Beijing.

Patentee after: Guizhou Baishan cloud Polytron Technologies Inc

Address before: 100015 5 floor, block E, 201 IT tower, electronic city, 10 Jiuxianqiao Road, Chaoyang District, Beijing.

Patentee before: Guizhou white cloud Technology Co., Ltd.