CN111369162A - 任务分配方法和系统、客户关系管理系统、设备和介质 - Google Patents
任务分配方法和系统、客户关系管理系统、设备和介质 Download PDFInfo
- Publication number
- CN111369162A CN111369162A CN202010177949.4A CN202010177949A CN111369162A CN 111369162 A CN111369162 A CN 111369162A CN 202010177949 A CN202010177949 A CN 202010177949A CN 111369162 A CN111369162 A CN 111369162A
- Authority
- CN
- China
- Prior art keywords
- distributed
- target object
- task
- allocated
- tasks
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000009826 distribution Methods 0.000 claims abstract description 88
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000003860 storage Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,提供一种任务分配方法和系统、客户关系管理系统、设备和介质。所述任务分配方法包括步骤:基于待分配任务,自数据库中查询已分配数据,所述数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;根据查询结果,自所述映射关系中确定一目标对象,作为所述待分配任务的待分配对象;以及将所述待分配任务分配至所述待分配对象,并将分配结果返回所述数据库,以更新所述映射关系。本发明基于数据库的实时查询分配任务,并将分配结果更新至数据库,解决因一台服务器的任务分配对其他服务器不可见导致的任务分配不均的问题,实现灵活按需分配,满足业务需求。
Description
技术领域
本发明涉及数据处理技术领域,具体地说,涉及一种任务分配方法和系统、客户关系管理系统、设备和介质。
背景技术
目前,很多企业通过在线系统进行工作任务分配。例如客户关系管理系统(Customer Relationship Management,简称CRM)中,通过任务方式将工作分配给销售人员,销售人工则通过做任务来完成工作。
在任务分配场景中,现有的技术是基于机器内存进行任务分配,每台机器的分配情况只对该机器可见。对于单机部署应用,基于内存的任务分配方式没有问题。但随着技术的发展,目前的生产环境几乎都是多台机器集群部署。在集群部署的环境下,基于内存的任务分配由于分配数据信息没有同步,导致一台机器的分配情况对其他机器不可见,影响最终的分配结果,导致分配不均的问题。
需要说明的是,在上述背景技术部分申请的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种任务分配方法和系统、客户关系管理系统、设备和介质,基于数据库的实时查询分配任务,并将分配结果更新至数据库,解决任务分配不均的问题,实现灵活按需分配,满足业务需求。
本发明的第一方面提供一种任务分配方法,包括步骤:基于待分配任务,自数据库中查询已分配数据,所述数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;根据查询结果,自所述映射关系中确定一目标对象,作为所述待分配任务的待分配对象;以及将所述待分配任务分配至所述待分配对象,并将分配结果返回所述数据库,以更新所述映射关系。
在一些实施例中,所述映射关系包括记录每个目标对象及其权重值的权重关系表和记录一当前目标对象及其当前分配数量的当前分配表;所述自所述映射关系中确定一目标对象的步骤包括:判断所述当前分配数量是否小于所述当前目标对象的权重值;若是,则将所述当前目标对象作为所述待分配对象;若否,则自所述当前目标对象起轮询所述权重关系表,获得权重值大于等于所述待分配任务的数量的下一目标对象,作为所述待分配对象。
在一些实施例中,所述更新所述映射关系的步骤包括:当所述待分配对象为所述当前目标对象,以所述待分配任务的数量与所述当前分配数量之和更新所述当前分配表中的所述当前分配数量;当所述待分配对象为所述下一目标对象,以所述下一目标对象和所述待分配任务的数量更新所述当前分配表。
在一些实施例中,所述权重关系表中,每个所述目标对象的权重值根据每个所述目标对象在同一阶段的历史完成任务数量确定。
在一些实施例中,所述映射关系还包括记录每个所述目标对象及其已分配数量的负载关系表;所述自所述映射关系中确定一目标对象的步骤包括:自所述负载关系表中获得已分配数量最小的最小目标对象,作为所述待分配对象。
在一些实施例中,所述更新所述映射关系的步骤包括:以所述待分配任务的数量与所述最小目标对象的已分配数量之和更新所述负载关系表中所述最小目标对象的已分配数量。
在一些实施例中,所述任务分配方法还包括:根据各所述目标对象的完成任务数量,实时更新所述负载关系表中各所述目标对象的已分配数量;以及根据目标对象的变动,实时更新所述权重关系表和所述负载关系表中的目标对象。
在一些实施例中,所述自数据库中查询已分配数据的步骤中,根据所述待分配任务的预定分配方式,自所述权重关系表和所述当前分配表中,或自所述负载关系表中查询已分配数据。
在一些实施例中,所述权重关系表、所述当前分配表和所述负载关系表各自设有供查询数据的查询接口和供写入数据的写入接口;所述任务分配方法还包括:监测所述负载关系表,当所述负载关系表中的最大已分配数量和/或最小已分配数量与所述负载关系表中的各所述目标对象的平均已分配数量的差值大于预设阈值,关闭所述权重关系表和所述当前分配表的查询接口和写入接口。
本发明的第二方面提供一种任务分配系统,包括:数据查询模块,用于基于待分配任务,自数据库中查询已分配数据,所述数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;对象确定模块,用于根据查询结果,自所述映射关系中确定一目标对象,作为所述待分配任务的待分配对象;以及任务分配模块,用于将所述待分配任务分配至所述待分配对象,并将分配结果返回所述数据库,以更新所述映射关系。
本发明的第三方面提供一种客户关系管理系统,包括服务器集群和一数据库,所述服务器集群中的每台服务器配置有上述任务分配系统实施例所述的数据查询模块、对象确定模块和任务分配模块。
本发明的第四方面提供一种任务分配设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意实施例所述的任务分配方法的步骤。
本发明的第五方面提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述任意实施例所述的任务分配方法的步骤。
本发明与现有技术相比的有益效果至少包括:
通过数据库记录分配状态,服务器集群中每台服务器分配任务前查询数据库中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库,实现基于数据库实时查询的任务分配,解决集群部署环境中因一台服务器的任务分配对其他服务器不可见导致的任务分配不均的问题,实现灵活按需分配,满足业务需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明实施例中任务分配方法的应用场景图;
图2示出本发明实施例中任务分配方法的步骤示意图;
图3示出本发明实施例中任务分配方法的查询场景图;
图4示出本发明实施例中任务分配系统的模块示意图;
图5示出本发明实施例中任务分配设备的结构示意图;
图6示出本发明实施例中计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
图1示出实施例中任务分配方法的应用场景,参照图1所示,本实施例的任务分配方法应用于包括具有多台服务器(如图中示出两台,分别是第一服务器111和第二服务器112)的服务器集群11和一数据库12的集群系统。该集群系统可以是任意需要进行任务分配的系统,例如CRM系统、OA(Office Automation,办公自动化)系统等等。服务器集群11中的每台服务器可与数据库12进行数据交互,基于数据库12的数据查询,将待分配任务分配至目标对象。
图2示出实施例中任务分配方法的主要步骤,本实施例的任务分配方法由上述集群系统中的任意具有待分配任务的服务器执行,例如由第一服务器111执行。结合图1和图2所示,在一些实施例中,任务分配方法包括:在步骤S10中,第一服务器111基于待分配任务,自数据库12中查询已分配数据,数据库12中存储有记录目标对象和分配数量的已分配数据的映射关系;在步骤S20中,第一服务器111根据查询结果,自映射关系中确定一目标对象,作为待分配任务的待分配对象;以及步骤S30中,第一服务器111将待分配任务分配至待分配对象,并将分配结果返回数据库12,以更新映射关系。
其中,每个目标对象采用标识ID进行标识,例如图1示出五个目标对象,依次是第一目标对象A01、第二目标对象B02、第三目标对象C03、第四目标对象D04和第五目标对象E05。在本次第一服务器111分配任务前,数据库12中已经存储的映射关系例如为:第一目标对象A01已由第一服务器111分配任务a1,第二目标对象B02已由第一服务器111分配任务b2,第三目标对象C03已由第二服务器112分配任务c3。则第一服务器111自数据库12中查询已分配数据后,基于分配均衡的原则,并按照标识ID的顺序,会将第四目标对象D04确定为待分配对象。而如果没有采用数据库12记录已分配数据供服务器集群11共享并实时更新,第一服务器111和第二服务器112的分配结果仅对各自可见,则本次第一服务器111会将第三目标对象C03确定为待分配对象,导致分配不均。本实施例通过数据库12记录各台服务器的分配状态,服务器集群11中每台服务器分配任务前查询数据库12中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库12,为下一次的分配提供依据,实现灵活按需分配,满足业务需求。
在一些实施例中,可以基于权重进行任务分配,实现根据目标对象的业务能力差异化分配任务。具体来说,数据库12中存储的映射关系包括记录每个目标对象及其权重值的权重关系表和记录一当前目标对象及其当前分配数量的当前分配表。此时,自映射关系中确定一目标对象的步骤包括:第一服务器111判断当前分配数量是否小于当前目标对象的权重值;若是,则将当前目标对象作为待分配对象;若否,则自当前目标对象起轮询权重关系表,获得权重值大于等于待分配任务的数量的下一目标对象,作为待分配对象,实现基于权重,即每个目标对象的业务能力的分配均衡。例如,在数据库12中,权重关系表是Weight表,记录所有目标对象的权重值,其中以“Sales ID”字段记录目标对象的标识ID,以“Weight”字段记录权重值,“Sales ID”的值和“Weight”的值一一对应。当前分配表是Current表,其中以“Sales ID”字段记录当前目标对象的标识ID,以“TaskCnt”字段记录当前分配数量。第一服务器111在判断时,若TaskCnt<Weight则接着给该当前目标对象分配,若否则按照标识ID顺序自Weight表找到下一个Weight>0的目标对象进行分配。当轮询到Weight表的最后一个目标对象,则按照标识ID的排序从第一个目标对象开始接着轮询。
举例来说,权重关系表中记录的数据依次为:第一目标对象A01的权重值为1、第二目标对象B02的权重值为2、第三目标对象C03的权重值为2、第四目标对象D04的权重值为3、第五目标对象E05的权重值为1。当前分配表中记录的数据为:第三目标对象C03的当前分配数量为1。则第一服务器111根据查询结果,判断第三目标对象C03的当前分配数量小于其权重值,因此将第三目标对象C03作为待分配对象。再如,在另一个实施例中,权重关系表中记录的数据仍如上所述,而当前分配表中记录的数据为:第三目标对象C03的当前分配数量为2。则第一服务器111根据查询结果,判断第三目标对象C03的当前分配数量并不小于其权重值,因此自第三目标对象C03起轮询权重关系表,获得权重值大于等于待分配任务的数量(例如为1)的下一目标对象,即第四目标对象D04,作为待分配对象。通常,待分配任务按个进行分配,即每次分配一个待分配任务。在一些情况下,也可以调整待分配任务的数量,每次分配两个、三个等等。
进一步的,基于权重进行任务分配时,更新映射关系的步骤包括:当待分配对象为当前目标对象,以待分配任务的数量与当前分配数量之和更新当前分配表中的当前分配数量;当待分配对象为下一目标对象,以下一目标对象和待分配任务的数量更新当前分配表。例如,在上述第三目标对象C03的当前分配数量小于其权重值,将第三目标对象C03作为待分配对象的实施例中,将待分配任务分配至第三目标对象C03后,对当前分配表中第三目标对象C03的当前分配数量进行更新,将待分配任务的数量与当前分配数量之和作为更新后的当前分配数量。则下一次基于权重进行任务分配时,当前分配表中第三目标对象C03的当前分配数量为2,等于其权重值,那么会将后续的目标对象确定为下一次的待分配对象,然后将该后续的目标对象及其分配到的任务数量更新至当前分配表,作为新的当前目标对象和新的当前分配数量。再如,在上述将第四目标对象D04作为待分配对象的实施例中,将待分配任务分配至第四目标对象D04后,对当前分配表中进行更新,将第四目标对象D04以及待分配任务的数量分别作为更新后的当前目标对象和更新后的当前分配数量。
上述实施例中,每个目标对象的权重值可以进行设定,使每个目标对象的权重值与其业务能力相符。例如,根据每个目标对象在同一阶段,如三个月内的历史完成任务数量确定每个目标对象的权重值。具体来说,将三个月内所有目标对象的完成任务数量作为基数,以每个目标对象的完成任务数量占该基数的占比作为系数,乘以一固定常数,并进行精确度计算,使每个目标对象的权重值为正整数。
在一些实施例中,可以基于负载进行任务分配,使每个目标对象分配到的任务数量相同或大致相同。具体来说,数据库12中存储的映射关系还包括记录每个目标对象及其已分配数量的负载关系表,此时第一服务器111自映射关系中确定一目标对象的步骤包括:自负载关系表中获得已分配数量最小的最小目标对象,作为待分配对象。待分配任务的数量通常也是一个,当然也可以将两个、三个或者更多的待分配任务同时分配。在待分配任务的数量大于一个时,可以自负载关系表中获得已分配数量从大到小排序在某位的一个或多个目标对象作为待分配对象,并且根据每个待分配对象分配待分配任务后其已分配数量小于等于负载关系表中各目标对象的平均已分配数量的方式,确定分配给每个待分配对象的待分配任务的数量。从而,使每个目标对象的已分配数量相同或大致相同,实现基于负载,即数量的分配均衡。
进一步的,基于负载进行任务分配时,更新映射关系的步骤包括:以待分配任务的数量与最小目标对象的已分配数量之和更新负载关系表中最小目标对象的已分配数量。也即,将待分配任务分配至对应的目标对象后,将负载关系表中该目标对象的已分配数量加上其被分配的待分配任务的数量即可。
上述的任务分配方法还包括:根据各目标对象的完成任务数量,实时更新负载关系表中各目标对象的已分配数量,将对应的目标对象的已分配数量减去其完成的任务数量,实现负载关系表的实时更新。以及,根据目标对象的变动,实时更新权重关系表和负载关系表中的目标对象。例如,当有目标对象离职或新入职,实时更新权重关系表和负载关系表,并视需要更新当前分配表。
在一些实施例中,自数据库中查询已分配数据的步骤中,可以根据需要的分配方式选择对应的关系表。根据待分配任务的预定分配方式,自权重关系表和当前分配表中,或自负载关系表中查询已分配数据,进而实现择一地按照权重进行分配或按照负载进行分配。
参照图3所示的查询场景,数据库12中存储的权重关系表、当前分配表和负载关系表各自设有供查询数据的查询接口和供写入数据的写入接口。第一服务器111根据权重分配方式或负载分配方式,自对应的查询接口查询已分配数据,并在分配完成后自对应的写入接口更新已分配数据。进一步的,任务分配方法还包括:监测负载关系表,当负载关系表中的最大已分配数量和/或最小已分配数量与负载关系表中的各目标对象的平均已分配数量的差值大于预设阈值,关闭权重关系表和当前分配表的查询接口和写入接口。当连续多次基于权重分配任务后,可能导致不同目标对象的任务数量过于悬殊,因此基于一预设阈值对负载关系表进行监测。该预设阈值例如为一比例值,如50%,则当负载关系表中的最大已分配数量和最小已分配数量中的任意一个与各目标对象的平均已分配数量的差值,占平均已分配数量的比值达到50%,即关闭权重关系表和当前分配表的查询接口和写入接口,仅提供负载分配方式,以平衡各目标对象手中的任务数。当进行负载分配均衡后,负载关系表中的最大已分配数量/最小已分配数量与各目标对象的平均已分配数量的差值,占平均已分配数量的比值回落到一设定值,例如20%,则开启权重关系表和当前分配表的查询接口和写入接口,提供权重分配方式和负载分配方式两种方式,供任务分配方选择。在一些实施例中,该预设阈值也可以是一个数量值,用于衡量负载关系表中的最大已分配数量/最小已分配数量与各目标对象的平均已分配数量的差值。
采用上述的任务分配方法,通过数据库记录分配状态,服务器集群中每台服务器分配任务前查询数据库中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库,使每台服务器的分配情况对服务器集群中的其他服务器均可见,以利于均衡分配,每台服务器可基于已分配数据灵活按需分配,满足业务需求。同时提供按权重分配和按负载分配,按权重分配考虑不同目标对象的业务能力不同,设置不同的权重值,分配时轮询各个目标对象,根据权重决定分配数量,以实现根据目标对象的业务能力差异化分配任务;按负载分配每次分配时根据目标对象已有的任务数量决定分配对象,最终理想目标是每个目标对象的任务数量相同或大致相同,以实现目标对象的已分配数量的均衡。同时对权重分配和负载分配进行监测,实现两种分配方式的平衡。
本发明实施例还提供一种任务分配系统,参照图4所示,该任务分配系统4包括:数据查询模块410,用于基于待分配任务,自数据库中查询已分配数据,数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;在一些实施例中,数据查询模块410可用于执行上述任务分配方法实施例的步骤S10。对象确定模块420,用于根据查询结果,自映射关系中确定一目标对象,作为待分配任务的待分配对象;在一些实施例中,对象确定模块420可用于执行上述任务分配方法实施例的步骤S20。任务分配模块430,用于将待分配任务分配至待分配对象,并将分配结果返回数据库,以更新映射关系;在一些实施例中,任务分配模块430可用于执行上述任务分配方法实施例的步骤S30。
本发明实施例还提供一种客户关系管理系统,该客户关系管理系统包括服务器集群和一数据库,服务器集群包括多台服务器,其中每台服务器配置有上述任务分配系统实施例的数据查询模块、对象确定模块和任务分配模块。客户关系管理系统CRM是销售客户关系维护系统,其中销售即对应目标对象,目标对象通过做任务的方式来完成工作,给目标对象分配任务时即采用上述实施例所描述的任务分配方式。当然,客户关系管理系统中还包括实现其他业务功能的模块,本实施例不再展示讨论。
在给目标对象分配任务时,通过数据库记录分配状态,服务器集群中每台服务器分配任务前查询数据库中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库,使每台服务器的分配情况对服务器集群中的其他服务器均可见,以利于均衡分配,每台服务器可基于已分配数据灵活按需分配,满足业务需求。同时提供按权重分配和按负载分配,按权重分配考虑不同目标对象的业务能力不同,设置不同的权重值,分配时轮询各个目标对象,根据权重决定分配数量,以实现根据目标对象的业务能力差异化分配任务;按负载分配每次分配时根据目标对象已有的任务数量决定分配对象,最终理想目标是每个目标对象的任务数量相同或大致相同,以实现目标对象的已分配数量的均衡。同时对权重分配和负载分配进行监测,实现两种分配方式的平衡。
本发明实施例还提供一种任务分配设备,包括处理器和存储器,存储器中存储有可执行指令,处理器被配置为经由执行可执行指令来执行上述实施例中的任务分配方法的步骤。
如上所述,本发明的任务分配设备通过数据库记录分配状态,服务器集群中每台服务器分配任务前查询数据库中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库,使每台服务器的分配情况对服务器集群中的其他服务器均可见,以利于均衡分配,每台服务器可基于已分配数据灵活按需分配,满足业务需求。同时提供按权重分配和按负载分配,按权重分配考虑不同目标对象的业务能力不同,设置不同的权重值,分配时轮询各个目标对象,根据权重决定分配数量,以实现根据目标对象的业务能力差异化分配任务;按负载分配每次分配时根据目标对象已有的任务数量决定分配对象,最终理想目标是每个目标对象的任务数量相同或大致相同,以实现目标对象的已分配数量的均衡。同时对权重分配和负载分配进行监测,实现两种分配方式的平衡。
图5是本发明实施例中任务分配设备的结构示意图,应当理解的是,图5仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图5来描述本发明的任务分配设备(以下简称电子设备)500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同平台组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
其中,存储单元存储有程序代码,程序代码可以被处理单元510执行,使得处理单元510执行上述实施例中描述的任务分配方法的步骤。例如,处理单元510可以执行如图2所示的步骤。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现上述实施例描述的任务分配方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行上述实施例描述的任务分配方法的步骤。
如上所述,本发明的计算机可读存储介质通过数据库记录分配状态,服务器集群中每台服务器分配任务前查询数据库中的已分配数据,根据查询结果确定待分配对象,并将分配结果更新至数据库,使每台服务器的分配情况对服务器集群中的其他服务器均可见,以利于均衡分配,每台服务器可基于已分配数据灵活按需分配,满足业务需求。同时提供按权重分配和按负载分配,按权重分配考虑不同目标对象的业务能力不同,设置不同的权重值,分配时轮询各个目标对象,根据权重决定分配数量,以实现根据目标对象的业务能力差异化分配任务;按负载分配每次分配时根据目标对象已有的任务数量决定分配对象,最终理想目标是每个目标对象的任务数量相同或大致相同,以实现目标对象的已分配数量的均衡。同时对权重分配和负载分配进行监测,实现两种分配方式的平衡。
图6是本发明的计算机可读存储介质的结构示意图。参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (13)
1.一种任务分配方法,其特征在于,包括步骤:
基于待分配任务,自数据库中查询已分配数据,所述数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;
根据查询结果,自所述映射关系中确定一目标对象,作为所述待分配任务的待分配对象;以及
将所述待分配任务分配至所述待分配对象,并将分配结果返回所述数据库,以更新所述映射关系。
2.如权利要求1所述的任务分配方法,其特征在于,所述映射关系包括记录每个目标对象及其权重值的权重关系表和记录一当前目标对象及其当前分配数量的当前分配表;
所述自所述映射关系中确定一目标对象的步骤包括:
判断所述当前分配数量是否小于所述当前目标对象的权重值;
若是,则将所述当前目标对象作为所述待分配对象;
若否,则自所述当前目标对象起轮询所述权重关系表,获得权重值大于等于所述待分配任务的数量的下一目标对象,作为所述待分配对象。
3.如权利要求2所述的任务分配方法,其特征在于,所述更新所述映射关系的步骤包括:
当所述待分配对象为所述当前目标对象,以所述待分配任务的数量与所述当前分配数量之和更新所述当前分配表中的所述当前分配数量;
当所述待分配对象为所述下一目标对象,以所述下一目标对象和所述待分配任务的数量更新所述当前分配表。
4.如权利要求2所述的任务分配方法,其特征在于,所述权重关系表中,每个所述目标对象的权重值根据每个所述目标对象在同一阶段的历史完成任务数量确定。
5.如权利要求2所述的任务分配方法,其特征在于,所述映射关系还包括记录每个所述目标对象及其已分配数量的负载关系表;
所述自所述映射关系中确定一目标对象的步骤包括:
自所述负载关系表中获得已分配数量最小的最小目标对象,作为所述待分配对象。
6.如权利要求5所述的任务分配方法,其特征在于,所述更新所述映射关系的步骤包括:
以所述待分配任务的数量与所述最小目标对象的已分配数量之和更新所述负载关系表中所述最小目标对象的已分配数量。
7.如权利要求5所述的任务分配方法,其特征在于,还包括:
根据各所述目标对象的完成任务数量,实时更新所述负载关系表中各所述目标对象的已分配数量;以及
根据目标对象的变动,实时更新所述权重关系表和所述负载关系表中的目标对象。
8.如权利要求5所述的任务分配方法,其特征在于,所述自数据库中查询已分配数据的步骤中,根据所述待分配任务的预定分配方式,自所述权重关系表和所述当前分配表中,或自所述负载关系表中查询已分配数据。
9.如权利要求8所述的任务分配方法,其特征在于,所述权重关系表、所述当前分配表和所述负载关系表各自设有供查询数据的查询接口和供写入数据的写入接口;
所述任务分配方法还包括:
监测所述负载关系表,当所述负载关系表中的最大已分配数量和/或最小已分配数量与所述负载关系表中的各所述目标对象的平均已分配数量的差值大于预设阈值,关闭所述权重关系表和所述当前分配表的查询接口和写入接口。
10.一种任务分配系统,其特征在于,包括:
数据查询模块,用于基于待分配任务,自数据库中查询已分配数据,所述数据库中存储有记录目标对象和分配数量的已分配数据的映射关系;
对象确定模块,用于根据查询结果,自所述映射关系中确定一目标对象,作为所述待分配任务的待分配对象;以及
任务分配模块,用于将所述待分配任务分配至所述待分配对象,并将分配结果返回所述数据库,以更新所述映射关系。
11.一种客户关系管理系统,其特征在于,包括服务器集群和一数据库,所述服务器集群中的每台服务器配置有如权利要求10所述的数据查询模块、对象确定模块和任务分配模块。
12.一种电子设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任一项所述的任务分配方法的步骤。
13.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至9任一项所述的任务分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177949.4A CN111369162A (zh) | 2020-03-13 | 2020-03-13 | 任务分配方法和系统、客户关系管理系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177949.4A CN111369162A (zh) | 2020-03-13 | 2020-03-13 | 任务分配方法和系统、客户关系管理系统、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111369162A true CN111369162A (zh) | 2020-07-03 |
Family
ID=71207324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010177949.4A Withdrawn CN111369162A (zh) | 2020-03-13 | 2020-03-13 | 任务分配方法和系统、客户关系管理系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111369162A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782383A (zh) * | 2020-08-26 | 2020-10-16 | 北京元心科技有限公司 | 任务分配方法、服务器、电子终端及计算机可读存储介质 |
CN112330163A (zh) * | 2020-11-09 | 2021-02-05 | 北京元心科技有限公司 | 任务分配方法、系统、电子设备及计算机可读存储介质 |
CN112948106A (zh) * | 2020-09-07 | 2021-06-11 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
-
2020
- 2020-03-13 CN CN202010177949.4A patent/CN111369162A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782383A (zh) * | 2020-08-26 | 2020-10-16 | 北京元心科技有限公司 | 任务分配方法、服务器、电子终端及计算机可读存储介质 |
CN112948106A (zh) * | 2020-09-07 | 2021-06-11 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
CN112948106B (zh) * | 2020-09-07 | 2024-05-31 | 深圳市明源云科技有限公司 | 任务分配方法及装置 |
CN112330163A (zh) * | 2020-11-09 | 2021-02-05 | 北京元心科技有限公司 | 任务分配方法、系统、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747126B2 (en) | Optimization of virtual machines | |
US9749208B2 (en) | Integrated global resource allocation and load balancing | |
CN104937584B (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
CN111369162A (zh) | 任务分配方法和系统、客户关系管理系统、设备和介质 | |
JP4377369B2 (ja) | リソース割当調停装置およびリソース割当調停方法 | |
US11573835B2 (en) | Estimating resource requests for workloads to offload to host systems in a computing environment | |
US20170230306A1 (en) | Asset management with respect to a shared pool of configurable computing resources | |
KR20020005470A (ko) | 사용자와의 서비스 계약에 기초한 계산기 자원의 동적할당 장치 및 방법 | |
JP2001331333A (ja) | 計算機システム及び計算機システムの制御方法 | |
US10841369B2 (en) | Determining allocatable host system resources to remove from a cluster and return to a host service provider | |
US9184982B2 (en) | Balancing the allocation of virtual machines in cloud systems | |
US6918117B2 (en) | Apparatus and method for dynamic load balancing of multiple cryptographic devices | |
US20210294651A1 (en) | Cost-Savings Using Ephemeral Hosts In Infrastructure As A Service Environments | |
US10248469B2 (en) | Software based collection of performance metrics for allocation adjustment of virtual resources | |
US10164897B1 (en) | System and method for host isolation in a web-based computing system | |
US10990519B2 (en) | Multi-tenant cloud elastic garbage collector | |
CN112241319A (zh) | 均衡负载的方法、电子设备和计算机程序产品 | |
CN114327852A (zh) | 基于性能和成本来平衡大型机和分布式工作负载 | |
US11513860B2 (en) | Serverless function colocation with storage pools | |
US10877814B2 (en) | Profiling workloads in host systems allocated to a cluster to determine adjustments to allocation of host systems to the cluster | |
US20060015841A1 (en) | Control on demand data center service configurations | |
CN107562510B (zh) | 一种应用实例的管理方法及管理设备 | |
US11847482B2 (en) | Distributed resource scheduler as a service | |
JP2015045899A (ja) | 仮想マシンリソース割り当てシステムおよび方法 | |
US11507431B2 (en) | Resource allocation for virtual machines |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200703 |