CN107958349B - 任务分配方法、装置、计算机设备和存储介质 - Google Patents

任务分配方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN107958349B
CN107958349B CN201711377880.4A CN201711377880A CN107958349B CN 107958349 B CN107958349 B CN 107958349B CN 201711377880 A CN201711377880 A CN 201711377880A CN 107958349 B CN107958349 B CN 107958349B
Authority
CN
China
Prior art keywords
tasks
distributed
level
existing
workers
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
CN201711377880.4A
Other languages
English (en)
Other versions
CN107958349A (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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201711377880.4A priority Critical patent/CN107958349B/zh
Publication of CN107958349A publication Critical patent/CN107958349A/zh
Application granted granted Critical
Publication of CN107958349B publication Critical patent/CN107958349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063118Staff planning in a project environment

Abstract

一种任务分配方法,包括:获取工作人员数和每个工作人员已有任务数,将工作人员按已有任务数排序;根据排序结果将已有任务数相同的工作人员划分为同一层级;获取单个工作人员已有任务数最少的层级,计算层级与相邻层级的单个工作人员已有任务数间的差值;计算差值和已有任务数最少的层级中的工作人员数量之间的乘积;获取待分配任务数,将待分配任务数与乘积进行比较;当待分配任务数大于乘积时,则将待分配任务数等于乘积的任务数分配到已有任务数最少的层级的工作人员,得到剩余待分配任务数,返回获取单个工作人员已有任务数最少的层级,计算最少的层级与相邻层级的单个工作人员已有任务数间的差值的步骤,直到剩余待分配任务数分配完。

Description

任务分配方法、装置、计算机设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种任务分配方法、装置、计算机设备和存储介质。
背景技术
在财务共享中分配任务时,为保障每次任务的分配,会每次将任务分配给工作量最少的人。为保障每次获取任务的是工作量最少的人员,会在分配任务前,对人员按工作量进行排序,排序算法为ASC(ascending order,升序)。在分配一条任务时,对被分配人工作量加一。在下次分配任务前会再次对人员按工作量进行排序,以便下一条任务分配时能够分配给工作量最少的人,直到任务完全分配为止。每次分配任务都要进行排序,任务分配比较麻烦,从而导致任务分配的效率底下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高任务分配效率的任务分配方法、装置、计算机设备和存储介质。
一种任务分配方法,包括:
获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按已有任务数进行排序;
根据排序结果将已有任务数相同的工作人员划分为同一层级;
获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值;
计算差值和已有任务数最少的层级中的工作人员数量之间的乘积;
获取待分配任务数,将待分配任务数与乘积进行比较;
当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到剩余的待分配任务数分配完。
在其中一个实施例中,将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,包括:
根据差值将待分配任务数中等于乘积的任务数平均分配到已有任务数最少的层级中的每个工作人员。
在其中一个实施例中,在获取待分配任务数,将待分配任务数与乘积进行比较之后,还包括:
当待分配任务数等于乘积时,则将待分配任务数分配到已有任务数最少的层级中的工作人员。
在其中一个实施例中,在获取待分配任务数,将待分配任务数与乘积进行比较之后,包括:
当待分配任务数小于乘积时,获取已有任务数最少的层级中的工作人员数量;
将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较;
若待分配任务数小于已有任务数最少的层级中的工作人员数量,则获取与待分配任务数相同数量的已有任务数最少的层级中的工作人员,将待分配任务数分配到相同数量的已有任务数最少的层级中的工作人员。
在其中一个实施例中,在将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较之后,还包括:
若待分配任务数大于或者等于已有任务数最少的层级中的工作人员数量,则计算待分配任务数和已有任务数最少的层级中的工作人员数量的取余数;
在已有任务数最少的层级中的每个工作人员分配等于取余数的任务数,得到剩余的待分配任务数;
将剩余的待分配任务数随机分配到已有任务数最少的层级中的工作人员。
在其中一个实施例中,该方法还包括:
若获取的单个工作人员的已有任务数最少的层级为最后一个层级,则获取此时剩余的待分配任务数;
将剩余的待分配任务数和最后一个层级中的工作人员数量进行比较,若剩余的待分配任务数小于工作人员数量,将剩余的待分配任务数分配到最后一个层级中的工作人员。
在其中一个实施例中,在将剩余的待分配任务数和工作人员数量进行比较之后,还包括:
若剩余的待分配任务数大于或者等于工作人员数量,则计算剩余的待分配任务数和工作人员数量的取余数;
在最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数;
将此时剩余的待分配任务数随机分配到最后一个层级中的工作人员。
一种任务分配装置,包括:
排序模块,用于获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按已有任务数进行排序;
划分模块,用于根据排序结果将已有任务数相同的工作人员划分为同一层级;
差值计算模块,用于获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值;
乘积计算模块,用于计算差值和已有任务数最少的层级中的工作人员数量之间的乘积;
比较模块,用于获取待分配任务数,将待分配任务数与乘积进行比较;
分配模块,用于当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到剩余的待分配任务数分配完。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一项任务分配方法中的步骤。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项任务分配方法中的步骤。
上述任务分配方法、装置、计算机设备和存储介质,通过将工作人员按照已有任务数进行排序之后进行层级划分,然后根据层级之间的差值和层级中的工作人员数量的乘积与待分配的任务进行比较,然后在层级中进行分配,直到分配完成,不需要每次分配任务时先对人员按工作量进行排序,提高了任务的分配效率。
附图说明
图1为一个实施例中任务分配方法的具体应用场景图;
图2为一个实施例中任务分配方法的流程示意图;
图3为一个实施例中将工作人员按已有任务数排序后的示意图;
图4为一个实施例中图3分配完待分配的任务数之后的工作人员已有任务数的示意图。
图5为一个实施例中待分配任务数小于乘积时任务分配方法的流程图;
图6为另一个实施例中图3分配完待分配的任务数之后的工作人员已有任务数的示意图;
图7为再一个实施例中图3分配完待分配的任务数之后的工作人员已有任务数的示意图;
图8为一个实施例中已有任务数最少的层级为最后一个层级时的任务分配方法的流程图。
图9为一个具体实施例中工作人员F层级被分配完已有任务数的示意图;
图10为图9中工作人员F、A、C和D层级被分配完已有任务数的示意图;
图11为图9中工作人员F、A、C、D和B层级被分配完已有任务数的示意图;
图12为图9中将待分配任务数全部分配完成之后工作人员已有任务数的示意图;
图13为一个实施例中任务分配装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提供一种任务分配方法的具体应用场景图,包括服务器102和至少一个终端104。每个终端前都需要工作人员去处理服务器102分配给终端的任务。服务器102会获取工作人员数量即与服务器连接的终端数量和每个工作人员的已有任务数即每个终端中已经存在有的任务数,将每个工作人员按所述已有任务数进行排序。服务器102会根据排序结果将已有任务数相同的工作人员划分为同一层级,获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值。然后再计算所述差值和所述已有任务数最少的层级中的工作人员数量之间的乘积。服务器102获取到待分配任务数,将待分配任务数与该乘积进行比较,当待分配任务数大于上述乘积时,则服务器102将所述待分配任务数中等于所述乘积的任务数分配到所述已有任务数最少的层级中的工作人员即分配到对应的终端中,得到剩余的待分配任务数,返回所述获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到所述剩余的待分配任务数分配完。
如图2所示,在一个实施例中,提供一种任务分配方法,该方法应用于图1中的服务器102,包括以下步骤:
S202,获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按已有任务数进行排序。
具体的,服务器获取能够分配任务的工作人员数量和每个工作人员中已有的任务数,将每个工作人员按已有任务数进行排序。其中,排序算法可以采用比较排序算法,也可以使用非比较排序算法。优选的,可以采用非比较排序算法由低到高进行排序。
S204,根据排序结果将已有任务数相同的工作人员划分为同一层级。
具体的,排序后,已有任务数相同的工作人员将会相邻,将已有任务数相同的工作人员划分为同一层级。
S206,获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值。
具体的,同一层级的每个工作人员的已有任务数是相同的。获取单个工作人员的已有任务数最少的层级,计算该层级的已有任务数和相邻层级的单个工作人员已有任务数之间的差值,相邻层级指的是比已有任务数最少的层级大一个层级的层级。
S208,计算差值和已有任务数最少的层级中的工作人员数量之间的乘积。
具体的,计算差值和已有任务数最少的层级中的工作人员数量之间的乘积。该乘积是这一层级的每个工作人员已有任务数要达到相邻层级的每个工作人员已有任务数所需要的任务总数。
S210,获取待分配任务数,将待分配任务数与乘积进行比较。
具体的,获取待分配的任务数,将待分配任务数与乘积进行比较,也就是将待分配的任务数与已有任务数最少的层级的每个工作人员已有任务数要达到相邻层级的每个工作人员已有任务数所需要的任务总数进行比较,判断待分配任务数和乘积的大小,该待分配任务数可能大于乘积,也可能小于或者等于乘积。
S212,当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,
具体的,当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数。即将已有任务数最少的层级分配达到相邻层级的每个工作人员已有的任务数所需要的任务总数,使已有任务数最少的层级成为之前与已有任务数最少的层级相邻的层级。得到剩余的待分配任务数。
S214,判断剩余的待分配任务数是否分配完。
具体的,若剩余的待分配任务数不为0,则返回继续执行步骤S206,直到剩余的待分配任务数为0,则剩余的待分配任务数已分配完。则完成分配,即结束任务分配。
在上述实施例中,通过将工作人员按照已有任务数进行排序之后进行层级划分,然后根据层级之间的差值和层级中的工作人员数量的乘积与待分配的任务进行比较,然后在层级中进行分配,直到分配完成,不需要每次分配任务时先对人员按工作量进行排序,提高了任务的分配效率。具体的,在传统的分配方法中假设任务数为j条,工作人员数量为n。使用最快排序方法其时间复杂度为O(n),每条任务要排序一次,所以要排序的时间复杂度为j*O(n)。设置每条任务处理人的时间复杂度O(j),设置工作人员任务次数,需要O(j)。总的时间复杂度为j*O(n)+2O(j)。而在上述分配任务方法中需要进行一次排序,最快时间复杂度为O(n),进行比较时的时间复杂度为O(n)。计算每人所需任务数时间复杂度为O(3n),为每条任务设置处理人,时间复杂度为O(j)。为每个职员设置任务数,时间复杂度为O(n)。总时间复杂度为4O(n)+O(j)。明显的随时间的增长速度低于传统的分配方法的时间复杂度,提高了任务的分配效率。
在一个实施例中,将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,包括:
根据差值将待分配任务数中等于乘积的任务数平均分配到已有任务数最少的层级中的每个工作人员。
具体的,给已有任务数最少的层级中的每个工作人员都平均分配差值的任务数,刚好分配了的任务数等于乘积的任务数。在该实施例中,任务数平均分配提升了任务分配效率。
在一个实施例中,在获取待分配任务数,将待分配任务数与乘积进行比较之后,还包括:
当待分配任务数等于乘积时,则将待分配任务数分配到已有任务数最少的层级中的工作人员。
具体的,在待分配任务数与乘积进行比较之后,若待分配任务数等于乘积时,则刚好将将待分配任务数到已有任务数最少的层级中的工作人员即可分配完成,即结束分配任务。在该实施例中,待分配任务数刚好能被已有任务数最少的层级中的工作人员分配完成,提高了分配效率。例如,若有A、B、C、D、E和F总共6个可分配任务的工作人员,每个工作人员已有的任务数分别是5、8、5、5、9和1,将每个工作人员按已有任务数进行排序,得到排序后的结果依次是F是1,A是5、C是5、D是5、B是8和E是9。如图3所示,计算出相邻层级已有任务数之间的差值,F和A、C和D这一层级的已有任务数的差值为3条,A、C和D这一层级与B这一层级的已有任务数的差值为3条,B这一层级与E这一层级的已有任务数的差值为1条。则F这一层级的乘积为3。若待分配任务数刚好为3条,如图4所示,则将3条待分配任务数分配到工作人员F中,即分配完成。
如图5所示,在一个实施例中,在步骤S110之后,即在获取待分配任务数,将待分配任务数与乘积进行比较之后,包括步骤:
S502,当待分配任务数小于乘积时,获取已有任务数最少的层级中的工作人员数量。
具体的,当待分配任务数小于乘积数时,说明已有任务数最少的这一层级能够分配完待分配任务数,则首先获取到这一层级的工作人员数量。
S504,将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较。
具体的,将待分配的任务数和已有任务数最少的层级中的工作人员数量进行比较,即判断待分配的任务数和已有任务数最少的层级中的工作人员数量的大小。其中待分配的任务数可能小于已有任务数最少的层级中的工作人员数量,也可能大于或者等于已有任务数最少的层级中的工作人员数量。
若待分配的任务数小于已有任务数最少的层级中的工作人员数量,则执行步骤S504A。若待分配的任务数大于或者等于已有任务数最少的层级中的工作人员数量,则执行步骤S504a。
S504A,获取与待分配任务数相同数量的已有任务数最少的层级中的工作人员,将待分配任务数分配到相同数量的已有任务数最少的层级中的工作人员。
具体的,当待分配任务数小于已有任务数最少的层级中的工作人员数量,则在已有任务数最少的层级中的工作人员数量中随机选择与待分配任务数相同数量的工作人员,将待分配任务数平均分配给得到的工作人员中,就完成分配。例如:在如图3所示的已有任务数的工作人员中,若待分配任务数为6,而F这一层级的乘积数为3,即待分配任务数大于乘积数,则先给工作人员F分配3条待分配任务数,剩余3条待分配任务数。则此时已有任务数最少的工作人员为F、A、C和D这一层级。该层级的工作人员数量为4,明显的此时待分配任务数3小于工作人员数量4,则在F、A、C和D这一层级中任意取3人进行分配。如图6所示,将3条待分配任务数分配给F、A和C之后的工作人员已有任务数示意图。
S504a,计算待分配任务数和已有任务数最少的层级中的工作人员数量的取余数。
具体的,若待分配任务数大于或者等于已有任务数最少的层级中的工作人员数量,则计算待分配任务数和已有任务数最少的层级中的工作人员数量的取余数。即计算待分配任务数除以已有任务数最少的层级中的工作人员数量之后取其整数商为取余数。
S504b,在已有任务数最少的层级中的每个工作人员分配等于取余数的任务数,得到剩余的待分配任务数。
具体的,将已有任务数最少的层级中的每个工作人员分配等于取余数的任务数,若剩余的待分配任务数为0条,则完成分配,若剩余的待分配任务数不为0条,则继续执行步骤S504c。
S504c,将剩余的待分配任务数随机分配到已有任务数最少的层级中的工作人员。
具体的,随机选择与剩余的待分配任务数相同数量的已有任务数最少的层级中的工作人员,将剩余的待分配任务数随机平均分配到选择的工作人员中。
例如,在如图3所示的已有任务数的工作人员中,若待分配任务数为13条,而F这一层级的乘积数为3,即待分配任务数大于乘积数,则先给工作人员F分配3条待分配任务数,剩余10条待分配任务数。则此时已有任务数最少的工作人员为F、A、C和D这一层级,这一层级与相邻层级的差值为3。则计算得到乘积为12。明显的剩余的待分配任务数10小于乘积数12,则判断出剩余的待分配任务数10大于工作人员数量4。则计算10与4的取余数,即10除以4之后取其整数商2。此时,先给工作人员F、A、C和D每人分配2条待分配任务数,剩余的待分配任务数为2条。然后任意选择2个工作人员将剩余的待分配任务数分配。如图7所示,将剩余的待分配任务数2条分配给工作人员F和A之后得到分配完待分配任务数13条的工作人员的已有任务数。
在上述实施例中,当待分配任务数小于乘积,获取已有任务数最少的层级中的工作人员数量时,通过对待分配任务数和已有任务数最少的层级中的工作人员数量进行比较。根据比较结果使用不同的分配方法将待分配任务数进行分配,提高了分配的效率。
如图4所示,在一个实施例中,提供一种已有任务数最少的层级为最后一个层级时的任务分配方法,包括步骤:
S802,若获取的单个工作人员的已有任务数最少的层级为最后一个层级,则获取此时剩余的待分配任务数。
具体的,当获取的单个工作人员的已有任务数最少的层级为最后一个层级,即待分配任务数分配到最后一个层级时还没有分配完。获取此时剩余的待分配任务数。
S804,将剩余的待分配任务数和最后一个层级中的工作人员数量进行比较。
具体的,判断剩余的待分配任务数和最后一个层级中的工作人员数量的大小,若剩余的待分配任务数小于最后一个层级中的工作人员数量,则执行步骤S804A。若剩余的待分配任务数大于或者等于最后一个层级中的工作人员数量,执行步骤S804a。
S804A,将剩余的待分配任务数分配到最后一个层级中的工作人员。
具体的,当剩余的待分配任务数小于最后一个层级中的工作人员数量,则任意在最后一个层级中的工作人员中选择和剩余的待分配任务数一样数量的工作人员,将剩余的待分配任务数分配给选择的每个工作人员中。
S804a,计算剩余的待分配任务数和工作人员数量的取余数。
具体的,若剩余的待分配任务数大于或者等于最后一个层级中的工作人员数量时,计算剩余的待分配任务数和最后一个层级的工作人员数量的取余数,即计算剩余的待分配任务数除以最后一个层级中的工作人员数量得到的整数商即为取余数。例如:若剩余的待分配任务数为6条,最后一个层级的工作人员数量为5,则计算6除以5得到整数商1,则取余数就为1。
S804b,在最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数。
具体的,在最后一个层级中的每个工作人员中分配等于取余数的任务数,将已有任务数等于取余数的任务数分配给最后一个层级中的每个工作人员中,得到此时剩余的待分配任务数。此时,若剩余的待分配任务数等于最后一个层级中的工作人员数量时,此时的剩余的待分配任务数为0,则说明已分配完成。若剩余的待分配任务数大于最后一个层级中的工作人员数量时。此时的剩余的待分配任务数不为0,则继续执行步骤S804c。
S804c,将此时剩余的待分配任务数随机分配到最后一个层级中的工作人员。
具体的,此时剩余的待分配任务数是小于最后一个层级中的工作人员数量的,则任意选择与待分配任务数相同的工作人员,随机将剩余的待分配任务数分配到选择的工作人员中,就完成了分配。例如:此时的剩余的待分配任务数为3条,而最后一个层级的工作人员数量为5,则任意选择3个工作人员,将这3条剩余的待分配任务分配给选择的3个工作人员中,则完成分配。
在上述实施例中,若待分配的任务数分配到了最后一个层级时,不需要计算与相邻层级的差值,也就不需要计算乘积,获取到剩余的待分配任务数,将剩余的待分配任务数和最后一个层级的工作人员数量进行比较,若剩余的待分配任务数小于最后一个层级的工作人员数量,则将剩余的待分配任务数分配到最后一个层级中的工作人员,则完成分配。若剩余的待分配任务数大于或者等于最后一个层级的工作人员数量,则计算计算剩余的待分配任务数和工作人员数量的取余数,然后在最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数,最后将此时剩余的待分配任务数随机分配到最后一个层级中的工作人员,则完成了分配,提高了分配的效率。
在一个实施例中,任务分配方法应用在财务共享中时,若可分配的工作人员数量为6人。工作人员A有5条已有的任务数,B有8条已有的任务数,C有5条已有的任务数,D有5条已有的任务数,E有9条已有的任务数,F有5条已有的任务数。将工作人员按已有任务数进行排序,明显的很容易的将已有任务数相同的工作人员划分为一个层级,则F为单个工作人员已有任务数最少的层级,计算相邻层级的已有任务数的差值,F层级和A、C和D层级的差值为3条,A、C和D层级与B层级的差值为3条,B层级与E层级1条。然后计算F层级的乘积为3,若有35条待分配的任务数,则该乘积数3小于待分配的任务数35,则给工作人员F分配乘积数的待分配任务数3条,即这一层级分配完成。得到分配后的每个工作人员的已有任务数,如图9所示,此时还剩余32条待分配的的任务数。而单个工作人员已有任务数最少的层级已经是新的F、A、C和D这一层级,然后继续计算与相邻层级B的差值,得到3条,然后计算乘积得到12。明显的乘积小于32条待分配的任务数,然后给F、A、C和D这一层级的工作人员每人分配3条待分配任务数,如图10所示,此时工作人员的已有任务数,而此时还剩余20条待分配任务数,然后继续和上述方法一样进行分配在新生成的F、A、C、D和B这一层级分配5条待分配任务数,如图11所示,得到此时工作人员的已有任务数,而此时剩余的15条待分配任务数。但是已经到了最后一个层级,即F、A、C、D、B和E这一层级,此时将剩余的15条待分配任务数和工作人员数量6进行比较,明显是小于关系。然后先在工作人员F、A、C、D、B和E中每人先分配15/6取上整数,即2条。然后得到剩余的3条任务,最后将剩余的3条任务在工作人员F、A、C、D、B和E中任取三人进行分配,即各自增加一条任务,即分配完成,如图12所示,给F、A和C工作人员每人分配1条待分配任务数之后,任务分配完成,实现了待分配任务数的快速分配完成,提高了分配的效率。
如图13所示,在一个实施例中,一种任务分配装置1300,包括排序模块1302、划分模块1304、差值计算模块1306、乘积计算模块1308、比较模块1310和分配模块1312。其中:
排序模块1302,用于获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按已有任务数进行排序。
划分模块1304,用于根据排序结果将已有任务数相同的工作人员划分为同一层级。
差值计算模块1306,用于获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值。
乘积计算模块1308,用于计算差值和已有任务数最少的层级中的工作人员数量之间的乘积。
第一比较模块1310,用于获取待分配任务数,将待分配任务数与乘积进行比较。
第一分配模块1312,用于当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到剩余的待分配任务数分配完。
在上述实施例中,通过排序模块1302对工作人员按照已有任务数进行排序,在划分模块1304中将已有任务数相同的工作人员划分为同一层级,在差值计算模块1306计算出已有任务数最少的层级与相邻的层级的已有任务数的差值,在乘积计算模块1308计算出已有任务数差值和已有任务数最少的层级中的工作人员数量的乘积,在比较模块1310中将待分配任务数与乘积进行比较,最后在分配模块812根据比较结果进行分配,最后完成分配,提高了分配的效率。
在一个实施例中,第一分配模块1312,包括:平均分配模块,用于根据差值将待分配任务数中等于乘积的任务数平均分配到已有任务数最少的层级中的每个工作人员。
在一个实施例中,任务分配装置1300,还包括:第二分配模块,用于当待分配任务数等于乘积时,则将待分配任务数分配到已有任务数最少的层级中的工作人员。
在一个实施例中,任务分配装置1300,还包括:
获取模块,用于当待分配任务数小于乘积时,获取已有任务数最少的层级中的工作人员数量。
第二比较模块,用于将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较。
第三分配模块,用于若待分配任务数小于已有任务数最少的层级中的工作人员数量,则获取与待分配任务数相同数量的已有任务数最少的层级中的工作人员,将待分配任务数分配到相同数量的已有任务数最少的层级中的工作人员。
在一个实施例中,任务分配装置1300,还包括:
取余计算模块,用于若待分配任务数大于或者等于已有任务数最少的层级中的工作人员数量,则计算待分配任务数和已有任务数最少的层级中的工作人员数量的取余数。
第四分配模块,用于在已有任务数最少的层级中的每个工作人员分配等于取余数的任务数,得到剩余的待分配任务数;将剩余的待分配任务数随机分配到已有任务数最少的层级中的工作人员。
在一个实施例中,任务分配装置1300,还包括:
剩余数获取模块,用于若获取的单个工作人员的已有任务数最少的层级为最后一个层级,则获取此时剩余的待分配任务数。
第五分配模块,用于将剩余的待分配任务数和最后一个层级中的工作人员数量进行比较,若剩余的待分配任务数小于工作人员数量,将剩余的待分配任务数分配到最后一个层级中的工作人员。
在一个实施例中,第五分配模块,还包括:
计算模块,若剩余的待分配任务数大于或者等于工作人员数量,则计算剩余的待分配任务数和工作人员数量的取余数。
第六分配模块,用于在最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数;将此时剩余的待分配任务数随机分配到最后一个层级中的工作人员。
如图14所示,在一个实施例中,提供了一种计算机设备,包括通过系统总线连接的处理器、存储器、存储介质、网络接口。存储器包括内存储器和非易失性存储介质,该计算机设备的非易失性存储介质中存储有操作系统和一种任务分配装置的计算机程序,该任务分配装置的计算机程序用于实现一种任务分配方法。该计算机设备的处理器用于提供计算和控制能力,被配置为执行一种任务分配方法。该计算机设备中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。该计算机设备中的网路接口用于获取待分配的任务。该计算机设备可以是台式计算机,也可以是如智能手机、平板电脑或者个人数字助理等的移动终端。本领域技术人员可以理解,图14中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任务分配方法的步骤:获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按已有任务数进行排序;根据排序结果将已有任务数相同的工作人员划分为同一层级;获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值;计算差值和已有任务数最少的层级中的工作人员数量之间的乘积;获取待分配任务数,将待分配任务数与乘积进行比较;当待分配任务数大于乘积时,则将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回获取单个工作人员的已有任务数最少的层级,计算已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到剩余的待分配任务数分配完。
在一个实施例中,将待分配任务数中等于乘积的任务数分配到已有任务数最少的层级中的工作人员,包括:根据差值将待分配任务数中等于乘积的任务数平均分配到已有任务数最少的层级中的每个工作人员。
在一个实施例中,在获取待分配任务数,将待分配任务数与乘积进行比较之后,还包括:当待分配任务数等于乘积时,则将待分配任务数分配到已有任务数最少的层级中的工作人员。
在一个实施例中,在获取待分配任务数,将待分配任务数与乘积进行比较之后,包括:当待分配任务数小于乘积时,获取已有任务数最少的层级中的工作人员数量;将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较;若待分配任务数小于已有任务数最少的层级中的工作人员数量,则获取与待分配任务数相同数量的已有任务数最少的层级中的工作人员,将待分配任务数分配到相同数量的已有任务数最少的层级中的工作人员。
在一个实施例中,在将待分配任务数和已有任务数最少的层级中的工作人员数量进行比较之后,还包括:若待分配任务数大于或者等于已有任务数最少的层级中的工作人员数量,则计算待分配任务数和已有任务数最少的层级中的工作人员数量的取余数;在已有任务数最少的层级中的每个工作人员分配等于取余数的任务数,得到剩余的待分配任务数;将剩余的待分配任务数随机分配到已有任务数最少的层级中的工作人员。
在其中一个实施例中,任务分配方法还包括:若获取的单个工作人员的已有任务数最少的层级为最后一个层级,则获取此时剩余的待分配任务数;将剩余的待分配任务数和最后一个层级中的工作人员数量进行比较,若剩余的待分配任务数小于工作人员数量,将剩余的待分配任务数分配到最后一个层级中的工作人员。
在一个实施例中,在将剩余的待分配任务数和工作人员数量进行比较之后,还包括:若剩余的待分配任务数大于或者等于工作人员数量,则计算剩余的待分配任务数和工作人员数量的取余数;在最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数;将此时剩余的待分配任务数随机分配到最后一个层级中的工作人员。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的非易失性存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种任务分配方法,其特征在于,包括:
服务器获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按所述已有任务数进行排序,其中,所述工作人员数量是指与服务器连接的终端数量,所述每个工作人员的已有任务数是指所述与服务器连接的终端中已经存在的任务数,所述工作人员是指工作人员对应的终端;
服务器根据排序结果将已有任务数相同的工作人员划分为同一层级;
服务器获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值;
服务器计算所述差值和所述已有任务数最少的层级中的工作人员数量之间的乘积;
服务器获取待分配任务数,将所述待分配任务数与所述乘积进行比较;
当所述待分配任务数大于所述乘积时,则服务器将所述待分配任务数中等于所述乘积的任务数分配到所述已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回所述获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到所述剩余的待分配任务数分配完;
当所述待分配任务数小于所述乘积时,获取已有任务数最少的层级中的工作人员数量,将所述待分配任务数和所述已有任务数最少的层级中的工作人员数量进行比较,根据比较结果将待分配任务数进行分配。
2.根据权利要求1所述的方法,其特征在于,将所述待分配任务数中等于所述乘积的任务数分配到所述已有任务数最少的层级中的工作人员,包括:
根据所述差值将所述待分配任务数中等于所述乘积的任务数平均分配到所述已有任务数最少的层级中的每个工作人员。
3.根据权利要求1所述的方法,其特征在于,在所述获取待分配任务数,将所述待分配任务数与所述乘积进行比较之后,还包括:
当所述待分配任务数等于所述乘积时,则将所述待分配任务数分配到所述已有任务数最少的层级中的工作人员。
4.根据权利要求1所述的方法,其特征在于,在获取待分配任务数,将所述待分配任务数与所述乘积进行比较之后,包括:
当所述待分配任务数小于所述乘积时,获取已有任务数最少的层级中的工作人员数量;
将所述待分配任务数和所述已有任务数最少的层级中的工作人员数量进行比较;
若所述待分配任务数小于所述已有任务数最少的层级中的工作人员数量,则获取与所述待分配任务数相同数量的已有任务数最少的层级中的工作人员,将所述待分配任务数分配到所述相同数量的已有任务数最少的层级中的工作人员。
5.根据权利要求4所述的方法,其特征在于,在将所述待分配任务数和所述已有任务数最少的层级中的工作人员数量进行比较之后,还包括:
若所述待分配任务数大于或者等于所述已有任务数最少的层级中的工作人员数量,则计算所述待分配任务数和所述已有任务数最少的层级中的工作人员数量的取余数;
在所述已有任务数最少的层级中的每个工作人员分配等于所述取余数的任务数,得到剩余的待分配任务数;
将所述剩余的待分配任务数随机分配到所述已有任务数最少的层级中的工作人员。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述获取的单个工作人员的已有任务数最少的层级为最后一个层级,则获取此时剩余的待分配任务数;
将所述剩余的待分配任务数和所述最后一个层级中的工作人员数量进行比较,若所述剩余的待分配任务数小于所述工作人员数量,将所述剩余的待分配任务数分配到所述最后一个层级中的工作人员。
7.根据权利要求6所述的方法,其特征在于,在将所述剩余的待分配任务数和所述工作人员数量进行比较之后,还包括:
若所述剩余的待分配任务数大于或者等于所述工作人员数量,则计算所述剩余的待分配任务数和所述工作人员数量的取余数;
在所述最后一个层级中的每个工作人员中分配等于取余数的任务数,得到此时剩余的待分配任务数;
将所述此时剩余的待分配任务数随机分配到所述最后一个层级中的工作人员。
8.一种任务分配装置,其特征在于,包括
排序模块,用于获取工作人员数量和每个工作人员的已有任务数,将每个工作人员按所述已有任务数进行排序,其中,所述工作人员数量是指与服务器连接的终端数量,所述每个工作人员的已有任务数是指所述与服务器连接的终端中已经存在的任务数,所述工作人员是指工作人员对应的终端;
划分模块,用于根据排序结果将已有任务数相同的工作人员划分为同一层级;
差值计算模块,用于获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值;
乘积计算模块,用于计算所述差值和所述已有任务数最少的层级中的工作人员数量之间的乘积;
比较模块,用于获取待分配任务数,将所述待分配任务数与所述乘积进行比较;
分配模块,用于当所述待分配任务数大于所述乘积时,则将所述待分配任务数中等于所述乘积的任务数分配到所述已有任务数最少的层级中的工作人员,得到剩余的待分配任务数,返回所述获取单个工作人员的已有任务数最少的层级,计算所述已有任务数最少的层级与相邻层级中的单个工作人员的已有任务数之间的差值的步骤,直到所述剩余的待分配任务数分配完;当所述待分配任务数小于所述乘积时,获取已有任务数最少的层级中的工作人员数量,将所述待分配任务数和所述已有任务数最少的层级中的工作人员数量进行比较,根据比较结果将待分配任务数进行分配。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述任务分配方法中的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述任务分配方法中的步骤。
CN201711377880.4A 2017-12-19 2017-12-19 任务分配方法、装置、计算机设备和存储介质 Active CN107958349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711377880.4A CN107958349B (zh) 2017-12-19 2017-12-19 任务分配方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711377880.4A CN107958349B (zh) 2017-12-19 2017-12-19 任务分配方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN107958349A CN107958349A (zh) 2018-04-24
CN107958349B true CN107958349B (zh) 2021-03-30

Family

ID=61959408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711377880.4A Active CN107958349B (zh) 2017-12-19 2017-12-19 任务分配方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN107958349B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298940B (zh) * 2018-09-28 2019-12-31 考拉征信服务有限公司 计算任务分配方法、装置、电子设备及计算机存储介质
CN109829598A (zh) * 2018-11-20 2019-05-31 用友网络科技股份有限公司 一种候选人抢占式任务分配方法及系统
CN109902922A (zh) * 2019-01-21 2019-06-18 新疆恒致达信息技术有限公司 审核任务的分配方法、装置、计算机设备和存储介质
CN110009249A (zh) * 2019-04-13 2019-07-12 江苏润桐数据服务有限公司 一种基于客户质量的客户调配方法及装置
CN110070291A (zh) * 2019-04-22 2019-07-30 北京冠群信息技术股份有限公司 审计任务分配方法及系统
CN110348675A (zh) * 2019-05-28 2019-10-18 深圳壹账通智能科技有限公司 基于智能双录系统的任务分配方法及装置、电子设备
CN110222996A (zh) * 2019-06-13 2019-09-10 北京创鑫旅程网络技术有限公司 任务分配方法及装置
CN110688204B (zh) * 2019-08-08 2022-08-26 平安科技(深圳)有限公司 分布式计算系统任务分配方法及相关设备
CN110648076A (zh) * 2019-09-27 2020-01-03 苏州达家迎信息技术有限公司 任务分配方法、装置、设备及存储介质
CN113487239A (zh) * 2021-08-05 2021-10-08 重庆颂车网络科技有限公司 智能分案方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072182A (zh) * 2015-08-10 2015-11-18 北京佳讯飞鸿电气股份有限公司 一种负载均衡方法、负载均衡器和用户终端
CN106339802A (zh) * 2016-08-24 2017-01-18 深圳市讯方技术股份有限公司 任务分配的方法和装置、电子设备
CN106354552A (zh) * 2015-07-17 2017-01-25 宁波森浦融讯科技有限公司 并行计算任务分配方法和装置
CN206480045U (zh) * 2016-08-25 2017-09-08 刘禹锡 一种客服服务器及客服服务系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354552A (zh) * 2015-07-17 2017-01-25 宁波森浦融讯科技有限公司 并行计算任务分配方法和装置
CN105072182A (zh) * 2015-08-10 2015-11-18 北京佳讯飞鸿电气股份有限公司 一种负载均衡方法、负载均衡器和用户终端
CN106339802A (zh) * 2016-08-24 2017-01-18 深圳市讯方技术股份有限公司 任务分配的方法和装置、电子设备
CN206480045U (zh) * 2016-08-25 2017-09-08 刘禹锡 一种客服服务器及客服服务系统

Also Published As

Publication number Publication date
CN107958349A (zh) 2018-04-24

Similar Documents

Publication Publication Date Title
CN107958349B (zh) 任务分配方法、装置、计算机设备和存储介质
CN109783224B (zh) 基于负载调配的任务分配方法、装置及终端设备
CN109587220B (zh) 负载均衡方法、装置、计算机设备和存储介质
CN102546946B (zh) 移动终端处理任务的方法及装置
CN110716796A (zh) 智能任务调度方法及装置、存储介质、电子设备
CN114625523A (zh) 一种资源分配方法、装置和计算机可读存储介质
CN112559147A (zh) 基于gpu占用资源特点的动态匹配算法、系统和设备
CN109544347B (zh) 尾差分配方法、计算机可读存储介质及尾差分配系统
CN114564282A (zh) 一种基于分布式资源共享的仿真平台及其资源分配方法
CN113032093B (zh) 分布式计算方法、装置及平台
CN109977373A (zh) 标识号分配方法、标识号回收方法及装置
CN112596880A (zh) 一种数据处理方法、装置、设备及存储介质
CN112256420B (zh) 任务分配方法、装置及电子设备
WO2018205890A1 (zh) 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备
CN114327897A (zh) 一种资源分配方法、装置及电子设备
GB2504812A (en) Load balancing in a SAP (RTM) system for processors allocated to data intervals based on system load
CN111967798A (zh) 实验样本分配的方法及装置、设备及计算机可读存储介质
CN112862644A (zh) 分班方法、装置、计算机设备和存储介质
CN112070349A (zh) 一种订单分配方法、装置、设备和存储介质
CN114020447B (zh) 一种对车流大数据处理进行服务器资源分配的方法
CN112036502B (zh) 图像数据比对方法、装置及系统
CN117118874B (zh) 流量调整方法、装置、计算机设备及计算机可读存储介质
CN110210786B (zh) 事前风控处理方法及装置
CN114418063B (zh) 神经网络模型中网络层的分配方法与装置
CN112148469B (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