CN112015554B - 任务处理方法和装置 - Google Patents
任务处理方法和装置 Download PDFInfo
- Publication number
- CN112015554B CN112015554B CN202010880873.1A CN202010880873A CN112015554B CN 112015554 B CN112015554 B CN 112015554B CN 202010880873 A CN202010880873 A CN 202010880873A CN 112015554 B CN112015554 B CN 112015554B
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- complexity
- processed
- range
- 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
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
-
- 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/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个实施例提供了一种任务处理方法和装置,该方法包括:获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;获取目标任务的待处理数据量,根据复杂度、待处理数据量以及预先确定的资源分配策略,确定目标任务每种资源的资源分配模型;根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。通过本实施例,能够解决根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
Description
技术领域
本文件涉及大数据技术领域,尤其涉及一种任务处理方法和装置。
背景技术
随着分布式系统的发展,能够利用分布式系统处理各种各样的任务,比如处理大数据筛选任务,或者,处理大数据清洗任务。在分布式系统中进行任务处理时,首先需要确定处理该任务所需分配的资源量,比如确定所需分配的内存大小、虚拟核数量和执行器数量等,从而根据所需分配的资源量,利用分布系统中的空闲节点实现对该任务的处理。
然而,目前在确定任务所需分配的资源量时,主要通过个人经验进行确定,确定得到的资源量不够准确,导致任务处理时资源不足或者资源浪费,降低任务处理效率。因此,有必要提供一种技术方案,以提高确定任务的资源分配量的准确性,提高任务的处理效率。
发明内容
本说明书一个实施例的目的是提供一种任务处理方法和装置,以解决根据个人经验确定任务所需分配的资源量不准确、降低任务处理效率的问题,提高确定任务的资源分配量的准确性,提高任务的处理效率。
为解决上述技术问题,本说明书一个实施例是这样实现的:
第一方面,本说明书一个实施例提供了一种任务处理方法,包括:
获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
第二方面,本说明书另一个实施例提供了一种任务处理装置,包括:
复杂度确定模块,用于获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
模型确定模块,用于获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
分配量确定模块,用于根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
任务处理模块,用于根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
第三方面,本说明书又一个实施例提供了一种任务处理设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的任务处理方法的步骤。
第四方面,本说明书再一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的任务处理方法的步骤。
在本说明书一个实施例中,首先,获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;接着,获取目标任务的待处理数据量,根据目标任务的复杂度、待处理数据量、以及、预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该种资源关联的资源分配策略包括该资源对应的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系;然后,根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;最后,根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。由此可见,通过本实施例,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
附图说明
图1为本说明书一个实施例提供的任务处理方法的第一种流程示意图;
图2为本说明书一个实施例提供的任务处理方法的第二种流程示意图;
图3为本说明书一个实施例提供的任务处理装置的模块组成示意图;
图4为本说明书一个实施例提供的任务处理设备的结构示意图。
具体实施方式
本说明书一个实施例的目的是提供一种任务处理方法和装置,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
图1为本说明书一个实施例提供的任务处理方法的第一种流程示意图,如图1所示,该流程包括以下步骤:
步骤S102,获取待处理的目标任务的代码,遍历代码,以确定代码包含的算子的种类和每种算子的数量,根据算子的种类、每种算子的数量和预先确定的每种算子的复杂度权重,确定目标任务的复杂度;
步骤S104,获取目标任务的待处理数据量,根据目标任务的复杂度、目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
步骤S106,根据目标任务的待处理数据量和目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量;
步骤S108,根据目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理目标任务的目标节点,并利用目标节点处理目标任务。
本实施例中,首先,获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;接着,获取目标任务的待处理数据量,根据目标任务的复杂度、待处理数据量、以及、预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该种资源关联的资源分配策略包括该资源对应的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系;然后,根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;最后,根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。由此可见,通过本实施例,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
在一个实施例中,步骤S102、步骤S104以及步骤S106均由资源分配量预估系统执行,步骤S108由分布式资源管理器执行。在资源分配量预估系统执行步骤S106之后,资源分配量预估系统将确定的目标任务的每种资源的分配量发送至分布式资源分布管理器。在另一个实施例中,步骤S102、步骤S104、步骤S106以及步骤S108均由分布式资源管理器执行。
步骤S102中,目标任务可以是对待处理数据进行计算的任务,例如,目标任务为数据清洗任务,即从待处理数据中剔除不需要的数据,仅保留目标数据的任务,则该目标任务的代码为数据清洗的脚本代码。又例如,目标任务为统计待处理数据的方差、标准差等参数的任务,则该目标任务的代码为对待处理数据计算得到各统计学参数的代码。
本实施例中,可以通过扫描目标任务的代码的方式确定代码包含的算子的种类和每种算子的数量。遍历(Traversal),是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问,遍历代码可理解为将代码的全部内容扫描一遍。
目标任务的代码具有至少一个算子,一个算子通常对应于一个运行该代码时执行的动作。大数据计算逻辑中常用的算子的种类包括且不限于:map算子、reduce算子、filter算子、groupby算子。算子中可能包含函数,例如,累加函数、字符串处理函数等,也可能不包含函数。代码中除算子外的函数通常为简单的函数,对分配资源的影响可忽略不计。
针对目标任务进行任务处理时需调用的资源可以是硬件资源,例如,内存、虚拟核以及执行器。其中,内存可以是物理内存,也可以是虚拟内存。虚拟核即虚拟中央处理器(CPU,central processing unit),待分配的资源也可以是物理CPU,求出虚拟CPU和物理CPU中的一个即可计算得到另一个。执行器可以是服务器,服务器可以是物理服务器,也可以是虚拟服务器。后文中的执行器均以服务器为例,进行阐述。
不同种类的算子代表不同的计算方式和逻辑,所以不同种类的算子的复杂程度不同。每种算子的复杂度权重用于表示该种算子的复杂程度。不同种类的算子的复杂度权重可能相同也可能不同,例如,map类的算子一般会比groupby类的算子简单,map类的算子的复杂度权重为1,而groupby类的算子的复杂度权重为2。复杂度权重可以是整数,如,1,2,3等;复杂度权重也可以是实数,如1.5,2.75,5.08等。每种算子内包含的函数会对算子的复杂度造成影响,但该影响已体现在复杂度权重中,故计算目标任务的复杂度时无需考虑每种算子内包含的函数。
本实施例中可以根据经验为每种算子分配复杂度权重,每种算子的复杂度权重可以存入数据表中,该数据表可以存储于算子复杂度权重配置库中。一般使用关系型数据库管理系统mysql进行元数据的存储,若后续发现复杂度权重设置得不合理,便于修改。具体地,可以建立一个算子复杂度权重表,包含算子种类、算子复杂度权重等字段用来存储基础信息,该表属于算子配置表。
可选地,根据算子的种类、每种算子的数量和预先确定的每种算子的复杂度权重,确定目标任务的复杂度,包括:对于每种算子,将该种算子的数量与该种算子的复杂度权重相乘;将每种算子的乘积结果进行求和,得到目标任务的复杂度。
例如,扫描目标任务的代码,得到A算子1个,B算子3个,C算子5个,获取预先确定的每种算子的复杂度权重,其中,A算子的复杂度权重为2,B算子的复杂度权重为5,C算子的复杂度权重为1,则目标任务的复杂度为1x2+3x5+5x1=22。
又例如,扫描目标任务的代码,得到A算子1个,B算子3个,C算子5个,获取预先确定的每种算子的复杂度权重,其中,A算子的复杂度权重为2.5,B算子的复杂度权重为4.7,C算子的复杂度权重为0.85,则目标任务的复杂度为1x2.5+3x4.7+5x0.85=20.85。
步骤S104中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系。
针对每种资源,与该资源关联的资源分配策略包括多个任务复杂度范围、多个待处理数据量范围以及多个资源分配模型。
本实施例中,可预先设置与每种资源关联的任务复杂度范围,例如,(0,5],(5,10],(10,15]等,或者,(0,1],(1,2],(2,3]等。
本实施例中,可预先设置与每种资源关联的待处理数据量范围,例如,与内存关联的待处理数据量范围(0,200]、(200,400]、(400,600]、(600,800]等。待处理数据量范围的大小可以是预先设定的固定值。在设置针对每种资源的待处理数据量范围时,待处理数据量范围的大小越小,在该范围内的待处理数据量与该种资源的分配量之间的线性关系越明显,但若待处理数据量范围设置得过小,会导致预先确定的资源分配策略太复杂,预先存储的资源分配模型数量太多,且该资源分配模型的资源分配系数需要定期更新,工作量过大。
例如,将与每种资源关联的各个待处理数据量范围的大小均设置为200M,且与每种资源关联的各个待处理数据量范围均相同,既能够保证各个待处理数据量范围内的待处理数据量与该种资源的分配量之间的线性关系明显,又能降低预先确定的资源分配策略的复杂程度,降低更新资源分配系数的工作量。
可选地,根据目标任务的复杂度、目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型,包括:针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与目标任务的待处理数据量相匹配的目标数据量范围;在该种资源关联的资源分配策略所包括的资源分配模型中,将与目标复杂度范围且与目标数据量范围相对应的资源分配模型,确定为目标任务的该种资源的资源分配模型。
针对每种资源,在该种资源关联的资源分配策略包括的任务复杂度范围中查找与目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略包括的待处理数据量范围中查找与目标任务的待处理数据量相匹配的目标数据量范围。例如,针对内存,在与内存关联的多个任务复杂度范围,如任务复杂度范围(0,5]、任务复杂度范围(5,10]、任务复杂度范围(10,15]等中查找到与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15];在与内存关联的多个待处理数据量范围,如待处理数据量范围(0,200]、待处理数据量范围(200,400]、待处理数据量范围(400,600]等中查找到与目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。针对其他种类的资源的实施例,与上述针对内存的实施例相似,不再赘述。
表1为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与内存关联的资源分配策略。该资源分配策略包括内存对应的任务复杂度范围、内存对应的待处理数据量范围、内存对应的资源分配模型之间的对应关系。
参照表1所示,当目标任务的复杂度为12.2,目标任务的待处理数据量为405M时,可从表1中查找到与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15],且从表1中查找到与目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。则在与内存关联的任务复杂度范围、待处理数据量范围、资源分配模型之间如表1所示的对应关系中,将与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的资源分配模型y=2x+1,确定为目标任务的内存的资源分配模型。针对其他种类的资源的实施例,与上述针对内存的实施例相似。
表1
任务复杂度范围 | 待处理数据量范围(单位:兆) | 资源分配模型 |
(5,10] | (0,200] | y=x |
(5,10] | (200,400] | y=x+1 |
(5,10] | (400,600] | y=x+2 |
(10,15] | (400,600] | y=2x+1 |
(10,15] | (600,800] | y=2x+2 |
(10,15] | (800,1000] | y=2x+3 |
在一实施例中,查找过程可以是先从表1的多个任务复杂度范围(5,10]、(10,15]等中查找与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15],由表1可知,与任务复杂度范围(10,15]对应的待处理数据量范围包括待处理数据量范围(200,400]、(400,600]、(600,800],则再从待处理数据量范围(200,400]、(400,600]、(600,800]中查找目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。根据查找结果,确定与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的目标任务的内存的资源分配模型为y=2x+1。
在另一实施例中,查找过程还可以是先从表1的多个待处理数据量范围(0,200]、(200,400]、(400,600]、(600,800]、(800,1000]中查找目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600],由表1可知,与待处理数据量范围(400,600]对应的任务复杂度范围包括任务复杂度范围(5,10]、(10,15],则再从任务复杂度范围(5,10]、(10,15]中查找与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15]。根据查找结果,确定与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的目标任务的内存的资源分配模型为y=2x+1。
在又一实施例中,查找过程还可以是对表1设置两重筛选条件,例如,将任务复杂度范围这一列的筛选条件设置为与目标任务的复杂度12.2相匹配的任务复杂度范围(10,15],将待处理数据量范围这一列的筛选条件设置为与目标任务的待处理数据量405M相匹配的待处理数据量范围(400,600],同时根据两列的筛选条件对表1进行筛选,得到同时符合两种筛选条件的结果即为查找结果。根据查找结果,确定与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的目标任务的内存的资源分配模型为y=2x+1。
表2为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与虚拟核关联的资源分配策略。该资源分配策略包括虚拟核对应的任务复杂度范围、虚拟核对应的待处理数据量范围、虚拟核对应的资源分配模型之间的对应关系。
参照表2所示,当目标任务的复杂度为12.2,目标任务的待处理数据量为405M时,可从表2中查找到与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15],且从表2中查找到与目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。则在与虚拟核关联的任务复杂度范围、待处理数据量范围、资源分配模型之间如表2所示的对应关系中,将与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的资源分配模型y=1/100x+1,确定为虚拟核的资源分配模型。需要注意的是,虚拟核数只能为整数,故当通过该资源分配模型确定的虚拟核数的分配量不为整数时,需要按照预设规则对该分配量进行数据处理,例如,预设规则可以是对确定的分配量进行四舍五入,将4.05处理后得到4,或者,预设规则也可以是把该分配量向前进一位,将4.05处理后得到5。
表2
任务复杂度范围 | 待处理数据量范围(单位:兆) | 资源分配模型 |
(5,10] | (0,200] | y=1/200x |
(5,10] | (200,400] | y=1/200x+1 |
(5,10] | (400,600] | y=1/200x+2 |
(10,15] | (400,600] | y=1/100x+1 |
(10,15] | (600,800] | y=1/100x+2 |
(10,15] | (800,1000] | y=1/100x+3 |
表3为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与服务器关联的资源分配策略。该资源分配策略包括服务器对应的任务复杂度范围、服务器对应的待处理数据量范围、服务器对应的资源分配模型之间的对应关系。
参照表3所示,当目标任务的复杂度为12.2,目标任务的待处理数据量为405M时,可从表3中查找到与目标任务的复杂度12.2相匹配的目标复杂度范围为任务复杂度范围(10,15],且从表3中查找到与目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。则在与服务器关联的任务复杂度范围、待处理数据量范围、资源分配模型之间如表3所示的对应关系中,将与目标复杂度范围(10,15]且与目标数据量范围(400,600]相对应的资源分配模型y=1/200x+1,确定为服务器的资源分配模型。需要注意的是,服务器数只能为整数,故当通过该资源分配模型确定的服务器数的分配量不为整数时,需要按照预设规则对该分配量进行数据处理,例如,预设规则可以是对确定的分配量进行四舍五入,将2.025处理后得到2,或者,预设规则也可以是把该分配量向前进一位,将2.025处理后得到3。
表3
任务复杂度范围 | 待处理数据量范围(单位:兆) | 资源分配模型 |
(5,10] | (0,200] | y=1/400x |
(5,10] | (200,400] | y=1/400x+1 |
(5,10] | (400,600] | y=1/400x+2 |
(10,15] | (400,600] | y=1/200x+1 |
(10,15] | (600,800] | y=1/200x+2 |
(10,15] | (800,1000] | y=1/200x+3 |
参照表1、表2以及表3可知,针对每一种资源,从该种资源关联的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系表中查找与目标任务的复杂度相匹配的目标复杂度范围,以及从该表中查找与目标任务的待处理数据量相匹配的目标数据量范围,这两个步骤的执行顺序是可换的。
需要注意的是,一个任务复杂度范围可以对应至少一个待处理数据量范围。不同的任务复杂度范围可以对应同一个待处理数据量范围。
另外,当多个目标任务的复杂度的取值范围过大时,例如,复杂度最低为1,最高为1000,或目标任务的复杂度为实数(可能非整数)时,通过合理地设置任务复杂度范围,能够有效地简化每一种资源关联的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系。例如,当杂度最低为1,最高为1000时,适当增大任务复杂度范围,如从(0,5],(5,10],(10,15]变更为(0,50],(50,100],(100,150]……参照表1、表2以及表3,可理解为增大任务复杂度范围后,表1、表2、表3中的任意一个对应关系表中存储的对应关系从600种不同的对应关系减少到60种(即600行数据减少到60行数据)。
在另一实施例中,特殊地,将任务复杂度范围设置为各个整数,即,任务复杂度范围[1,1],任务复杂度范围[2,2],任务复杂度范围[3,3]等。在预先确定的每种算子的复杂度权重均为整数时,根据代码中算子的种类、每种算子的个数以及预先确定的每种算子的复杂度权重,确定目标任务的复杂度也均为整数。则针对每一种资源,该种资源关联的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系,即,该种资源关联的复杂度、待处理数据量范围、资源分配模型之间的对应关系,可参照表4所示。
表4为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与内存关联的资源分配策略。该资源分配策略包括内存对应的复杂度、内存对应的待处理数据量范围、内存对应的资源分配模型之间的对应关系。
参照表4所示,当目标任务的复杂度为2,目标任务的待处理数据量为405M时,可从表4中查找到与目标任务的复杂度2相匹配的目标复杂度为复杂度2,且从表4中查找到与目标任务的待处理数据量405M相匹配的目标数据量范围为待处理数据量范围(400,600]。则在与内存关联的复杂度、待处理数据量范围、资源分配模型之间如表4所示的对应关系中,将与目标复杂度2且与目标数据量范围(400,600]相对应的资源分配模型y=2x+1,确定为内存的资源分配模型。
表4
需要注意的是,针对每一种资源,一个复杂度可以对应至少一个待处理数据量范围。不同的复杂度可以对应同一个待处理数据量范围。
步骤S106中,每种资源的资源分配模型可以是以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程。例如,内存的资源分配模型为y=x+2,x为待处理数据量,y为内存的分配量。
可选地,根据目标任务的待处理数据量和目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,包括:针对每种资源,将目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;将该种资源的资源分配模型的计算结果,作为目标任务的该种资源的分配量。
例如,针对内存,将目标任务的待处理数据量405M输入至内存的资源分配模型y=2x+1进行计算,将计算结果811M作为目标任务的内存的分配量。针对其他种类的资源的实施例与上述针对内存的实施例相似,不再赘述。
在另一个实施例中,可选地,为每种进行任务处理时需调用的资源预先确定的资源分配策略,通过以下方式确定:获取多个历史任务的已处理数据量、复杂度、每种资源的分配量,以及获取多个预设的任务复杂度范围,对多个历史任务的已处理数据量和复杂度进行统计,确定每个任务复杂度范围对应的至少一个待处理数据量范围;针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,待求解的资源分配模型中包括待求解的资源分配系数;针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;根据目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
可选地,对多个历史任务的已处理数据量和复杂度进行统计,确定每个任务复杂度范围对应的至少一个待处理数据量范围,包括:针对每个任务复杂度范围,对多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;根据最大值、最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。多个预设的任务复杂度范围,如(0,5],(5,10],(10,15]等。
表5为本说明书一个实施例提供的一种历史任务参数表,该历史任务参数表以6组数据为例展示了历史任务的参数,该参数包括历史任务的已处理数据量与历史任务的复杂度。
对表5中的6个历史任务的已处理数据量和复杂度进行统计,确定任务复杂度范围(5,10]对应的待处理数据量范围为(200,400]、(400,600]、(600,800]。
具体地,针对任务复杂度范围(5,10],对历史任务1-6对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围(5,10]的历史任务1、2、4、5、6所对应的已处理数据量的最大值为621M和最小值为290M。根据最大值621M、最小值290M和预先确定的数据量范围确定规则,确定该任务复杂度范围(5,10]对应的至少一个待处理数据量范围。预先确定的数据量范围确定规则,可以是,从预设的多个待处理数据量范围中,如(0,200](200,400]、(400,600]、(600,800]等,确定最大值621M对应的待处理数据量范围(600,800],且确定最小值290M对应的待处理数据量范围(200,400],则可确定待处理数据量范围(200,400]、待处理数据量范围(600,800]以及二者之间的待处理数据量范围(400,600]均为该任务复杂度范围(5,10]对应的至少一个待处理数据量范围。确定其他任务复杂度范围对应的至少一个待处理数据量范围的实施例与任务复杂度范围(5,10]的实施例类似,不再赘述。
表5
已处理数据量(单位:兆) | 复杂度 | |
历史任务1 | 290 | 5.1 |
历史任务2 | 408 | 9 |
历史任务3 | 1000 | 12.05 |
历史任务4 | 401 | 7.4 |
历史任务5 | 578 | 8.21 |
历史任务6 | 621 | 10 |
预先确定的数据量范围确定规则,也可以是根据已处理数据量的最大值为621M和最小值为290M,将待处理数据量范围(290,621]划分为均等的预设数量个待处理数据量范围。
本实施例中,可以隔一段时间更新一次每个任务复杂度范围对应的至少一个待处理数据量范围,例如一周更新一次数据,能够动态调整任务复杂度范围与待处理数据量范围的对应关系,避免长期不更新对应关系导致的计算目标任务的每种资源的分配量的结果不准确的问题。
可选地,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,包括:将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
表6为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与内存关联的待处理数据量范围、任务复杂度范围以及待求解的资源分配模型之间的对应关系。
参照表6所示,为一组相互对应的待处理数据量范围(0,200]、任务复杂度范围(5,10]配置的该种资源对应的待求解的资源分配模型为y=a1x+b1,a1和b1为待求解的资源分配系数;为一组相互对应的待处理数据量范围(200,400]、任务复杂度范围(5,10]配置的该种资源对应的待求解的资源分配模型为y=a2x+b2,a2和b2为待求解的资源分配系数;为一组相互对应的待处理数据量范围(400,600]、任务复杂度范围(5,10]配置的该种资源对应的待求解的资源分配模型为y=a3x+b3,a3和b3为待求解的资源分配系数;为一组相互对应的待处理数据量范围(400,600]、任务复杂度范围(10,15]配置的该种资源对应的待求解的资源分配模型为y=a4x+b4,a4和b4为待求解的资源分配系数;为一组相互对应的待处理数据量范围(600,800]、任务复杂度范围(10,15]配置的该种资源对应的待求解的资源分配模型为y=a5x+b5,a5和b5为待求解的资源分配系数;为一组相互对应的待处理数据量范围(800,1000]、任务复杂度范围(10,15]配置的该种资源对应的待求解的资源分配模型为y=a6x+b6,a6和b6为待求解的资源分配系数。
表6
具体地,针对内存,为一组相互对应的待处理数据量范围(0,200]与任务复杂度范围(5,10],配置内存对应的待求解的资源分配模型y=a1x+b1,其中,a1和b1为待求解的资源分配系数,以得到与内存关联的任务复杂度范围(5,10]、待处理数据量范围(0,200]、待求解的资源分配模型y=a1x+b1之间的对应关系。
针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务,可参照表5与表6,具体示例如下:
(a1)针对内存关联的一组任务复杂度范围(5,10]、待处理数据量范围(0,200],根据历史任务1-6对应的复杂度,确定复杂度在(5,10]的历史任务为历史任务1、2、4、5、6,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(0,200]的历史任务为空,即不存在待处理数据量在(0,200]的历史任务,因此,不存在既满足复杂度在(5,10],又满足待处理数据量在(0,200]的历史任务,即不存在属于该组任务复杂度范围(5,10]、待处理数据量范围(0,200]的目标历史任务。
(a2)针对内存关联的一组任务复杂度范围(5,10]、待处理数据量范围(200,400],根据历史任务1-6对应的复杂度,确定复杂度在(5,10]的历史任务为历史任务1、2、4、5、6,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(200,400]的历史任务为历史任务1,因此,既满足复杂度在(5,10],又满足待处理数据量在(200,400]的历史任务为历史任务1,即确定属于该组任务复杂度范围(5,10]、待处理数据量范围(200,400]的目标历史任务为历史任务1。
(a3)针对内存关联的一组任务复杂度范围(5,10]、待处理数据量范围(400,600],根据历史任务1-6对应的复杂度,确定复杂度在(5,10]的历史任务为历史任务1、2、4、5、6,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(400,600]的历史任务为历史任务2、4、5,因此,既满足复杂度在(5,10],又满足待处理数据量在(400,600]的历史任务为历史任务2、4、5,即确定属于该组任务复杂度范围(5,10]、待处理数据量范围(400,600]的目标历史任务为历史任务2、4、5。
(a4)针对内存关联的一组任务复杂度范围(10,15]、待处理数据量范围(400,600],根据历史任务1-6对应的复杂度,确定复杂度在(10,15]的历史任务为历史任务3,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(400,600]的历史任务为历史任务2、4、5,因此,不存在既满足复杂度在(10,15],又满足待处理数据量在(400,600]的历史任务,即不存在属于该组任务复杂度范围(10,15]、待处理数据量范围(400,600]的目标历史任务。
(a5)针对内存关联的一组任务复杂度范围(10,15]、待处理数据量范围(600,800],根据历史任务1-6对应的复杂度,确定复杂度在(10,15]的历史任务为历史任务3,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(600,800]的历史任务为历史任务6,因此,不存在既满足复杂度在(10,15],又满足待处理数据量在(600,800]的历史任务,即不存在属于该组任务复杂度范围(10,15]、待处理数据量范围(600,800]的目标历史任务。
(a6)针对内存关联的一组任务复杂度范围(10,15]、待处理数据量范围(800,1000],根据历史任务1-6对应的复杂度,确定复杂度在(10,15]的历史任务为历史任务3,根据历史任务1-6对应的待处理数据量,确定待处理数据量在(800,1000]的历史任务为历史任务3,因此,既满足复杂度在(10,15],又满足待处理数据量在(800,1000]的历史任务为历史任务3,即确定属于该组任务复杂度范围(10,15]、待处理数据量范围(800,1000]的目标历史任务为历史任务3。
针对其他种类资源的实施例与上述针对内存的实施例类似,不再赘述。
根据目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型。
表7为本说明书一个实施例提供的一种历史任务参数表,该历史任务参数表展示了与内存的某一组待处理数据量范围、任务复杂度范围以及待求解的资源分配模型相对应的3个历史任务的参数,该参数包含已处理数据量和内存的分配量。
表7
参照表7所示,根据目标历史任务(如历史任务2、4、5)的已处理数据量和内存的分配量,针对内存关联的一组任务复杂度范围(5,10]、待处理数据量范围(400,600]对应的内存对应的待求解的资源分配模型y=a3x+b3进行求解,其中,已处理数据量为x,内存的分配量为y,利用多个目标历史任务的(x,y)的值,即历史任务2的(408,410)、历史任务4的(401,403)、历史任务5的(578,580),以及线性回归方程算法,计算得到a3和b3的值,例如a3=1,b3=2,a3和b3为待求解的资源分配系数,进而确定与内存关联的该组任务复杂度范围(5,10]、待处理数据量范围(400,600]和资源分配模型y=x+2。需要注意的是,目标历史任务的数量越多,计算得到的资源分配系数越准确。
针对其他种类资源的实施例与上述针对内存的实施例类似,不再赘述。
表8为本说明书一个实施例提供的一种对应关系表,该对应关系表以6组数据为例展示了与内存关联的资源分配策略。该资源分配策略包括内存对应的任务复杂度范围、内存对应的待处理数据量范围、内存对应的资源分配模型之间的对应关系,该资源分配模型为针对待求解的资源分配模型进行求解后得到的资源分配模型。
参照表8所示,一个任务复杂度范围对应于至少一个待处理数据量范围,不同的任务复杂度范围可对应于同一个待处理数据量范围。不同组的资源分配模型可能相同也可能不同。
表8
待处理数据量范围(单位:兆) | 任务复杂度范围 | 资源分配模型 |
(0,200] | (5,10] | y=x |
(200,400] | (5,10] | y=x+1 |
(400,600] | (5,10] | y=x+2 |
(400,600] | (10,15] | y=2x+1 |
(600,800] | (10,15] | y=2x+2 |
(800,1000] | (10,15] | y=2x+3 |
针对其他种类资源的实施例与上述针对内存的实施例类似,不再赘述。
本实施例中,可以隔一段时间更新一次与每种资源关联的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系,例如两天更新一次资源分配系数的值,能够动态调整与每种资源关联的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系,经常更新资源分配策略,避免根据长期固定的资源分配策略针对新任务确定每种资源的分配量的结果不准确的问题。
将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。具体举例为,与内存关联的资源分配策略包括与内存关联的各组任务复杂度范围、待处理数据量范围和资源分配模型;与虚拟核关联的资源分配策略包括与虚拟核关联的各组任务复杂度范围、待处理数据量范围和资源分配模型;与服务器关联的资源分配策略包括与服务器关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,等。
步骤S108中,分布式任务处理网络包含主节点与多个工作节点,主节点可以为上述的分布式资源管理器,主节点从多个工作节点中选取目标节点,以使目标节点处理目标任务。
在一个实施例中,主节点预先存储有服务器(即上述的工作节点)列表,主节点从该服务器列表中的多个服务器中选取执行目标任务的目标服务器,以使目标服务器处理目标任务。该服务器列表中各服务器根据空闲的资源量进行排序,例如,从上到下依次为,服务器1、服务器2等,其中,服务器1包含空闲内存500M、空闲虚拟核5个,服务器2包含空闲内存400M、空闲虚拟核3个。服务器列表中的各服务器为工作节点,本实施例中将服务器列表中的各服务器统一称为工作节点。处理目标任务的服务器为目标节点,本实施例中将被主节点选取用于处理目标任务的服务器统一称为目标节点。
在一个具体的例子中,目标任务的每种资源的分配量为:内存大小200M、虚拟核数4个以及目标节点数4个。主节点向多个工作节点发出任务处理请求,各个工作节点将可为目标任务提供的每种资源的分配量返回。
各个向主节点反馈信息的工作节点的顺序依次为,工作节点1、工作节点2、工作节点3、工作节点4。工作节点1可为目标任务分配100M内存和2个虚拟核,工作节点2可为目标任务分配50M和1个虚拟核,工作节点3可为目标任务分配50M内存和1个虚拟核,工作节点4可为目标任务分配100M内存和2个虚拟核。
主节点判断先向主节点反馈的工作节点可提供的每种资源的分配量是否到达目标任务的每种资源的分配量。例如,主节点判断先反馈信息的各工作节点可为目标任务提供的内存大小是否大于等于200M,且,各工作节点可为目标任务提供的虚拟核数是否大于等于4。判断结果包含且不限于:
(b1)若在接收到工作节点1、工作节点2的反馈信息后,主节点判断工作节点1、工作节点2可为目标任务分配的内存大小之和为150M,小于200M,且,主节点判断工作节点1、工作节点2可为目标任务分配的虚拟核数为3个,小于4个,则主节点继续等待下一个工作节点的反馈信息。
(b2)若在接收到工作节点1、工作节点2的反馈信息后,主节点判断工作节点1、工作节点2可为目标任务分配的内存大小之和为250M,大于200M,且,主节点判断工作节点1、工作节点2可为目标任务分配的虚拟核数为3个,小于4个,则主节点继续等待下一个工作节点的反馈信息。
(b3)若在接收到工作节点1、工作节点2的反馈信息后,主节点判断工作节点1、工作节点2可为目标任务分配的内存大小之和为150M,小于200M,且,主节点判断工作节点1、工作节点2可为目标任务分配的虚拟核数为5个,大于4个,则主节点继续等待下一个工作节点的反馈信息。
(b4)若在接收到工作节点1、工作节点2、工作节点3的反馈信息后,主节点确定工作节点1、工作节点2以及工作节点3可为目标任务分配的内存大小之和等于200M,且主节点确定工作节点1、工作节点2以及工作节点3可为目标任务分配的虚拟核数等于4个,则主节点将此三个工作节点确定为目标节点。
主节点根据各目标节点的反馈信息将目标任务拆分为三部分,分别发送拆分后的每部分任务至工作节点1、2、3,由各目标节点来执行目标任务。
需要注意的是,主节点在选取目标节点时,确定目标节点能够提供的资源时满足内存的分配量需求和虚拟核的分配量需求即可,目标节点数可以不符合目标节点的分配量需求。例如,目标任务的每种资源的分配量为:内存大小200M、虚拟核数4个以及目标节点数4个。主节点向多个工作节点发出任务处理请求,各个工作节点将可为目标任务提供的每种资源的分配量返回。工作节点1为第一个反馈主节点的工作节点,工作节点1可分配给目标任务200M内存和4个虚拟核,则主节点将工作节点1确定为目标节点,此时,执行目标任务无需4个目标节点。
图2为本说明书一个实施例提供的任务处理方法的第二种流程示意图,如图2所示,该流程包括以下步骤:
步骤S202,获取待处理的目标任务的代码、预先确定的每种算子的复杂度权重以及目标任务的待处理数据量。
分布式资源管理器获取目标任务的代码。从算子复杂度权重配置库中获取预先确定的每种算子的复杂度权重。本实施例中,分布式资源管理器可以根据待处理数据的输入地址信息,获取待处理数据并统计待处理数据量,也可以直接读取通过其他系统、软件或组件等统计得到的待处理数据量。
步骤S204,对代码、复杂度权重以及待处理数据量进行处理,得到目标任务的每种资源对应的线性关系方程y=ax+b,a和b为已知常数,将待处理数据量作为自变量代入该方差,计算得到目标任务的每种资源的分配量。
分布式资源管理器遍历代码,以确定代码包含的算子的种类和每种算子的数量,根据算子的种类、每种算子的数量和预先确定的每种算子的复杂度权重,确定目标任务的复杂度。根据目标任务的复杂度、目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略(即线性方程公式y=ax+b),确定目标任务的每种资源对应的线性关系方程y=ax+b,a和b为已知常数,且不同种资源的a和b的值可能不同,也可能相同。每种资源指的是执行目标任务所需的各种资源,该资源可以是硬件资源,例如内存、虚拟核数、执行器数等。执行器可以是服务器,后文中出现的执行器均为服务器为例,进行阐述。针对每一种资源,分布式资源管理器将待处理数据量作为自变量x代入与该种资源对应的方程y=ax+b,计算得到每种资源的分配量,每种资源的分配量包含且不限于内存大小、虚拟核数以及服务器数。
步骤S206,根据目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理目标任务的目标节点,并利用目标节点处理目标任务。
分布式任务处理网络包含主节点与多个工作节点,主节点从多个工作节点中选取目标节点,以使目标节点处理目标任务。
在步骤S206中,服务器选取服务器为例进行阐述。分布式资源管理器预先存储有服务器(即上述工作节点)列表,分布式资源管理器从该服务器列表中的多个服务器中选取执行目标任务的目标服务器,以使目标服务器处理目标任务。该服务器列表中各服务器根据空闲的资源量进行排序。其中,分布式资源管理器为分布式任务处理网络的主节点,本实施例中统一称为主节点。服务器为一种服务器的示例。服务器列表中的各服务器为工作节点,则在步骤S206中统一称为工作节点。处理目标任务的服务器为目标节点,在步骤S206中统一称为目标节点。
例如,在步骤S202-S204中,主节点计算得到目标任务的每种资源的分配量,如:内存大小200M、虚拟核数4个以及目标节点数4个。主节点向多个工作节点发出任务处理请求,各个工作节点将可为目标任务提供的每种资源的分配量返回。各个向主节点反馈信息的工作节点的顺序依次为,工作节点1、工作节点2、工作节点3、工作节点4。各个工作节点向服务器反馈的信息分别为:工作节点1可为目标任务分配100M内存和2个虚拟核,工作节点2可为目标任务分配50M和1个虚拟核,工作节点3可为目标任务分配50M内存和1个虚拟核,工作节点4可为目标任务分配100M内存和2个虚拟核。则主节点判断先向主节点反馈每种资源的分配量的工作节点可提供的资源是否到达目标任务的每种资源的分配量。在接收到工作节点1、工作节点2、工作节点3的反馈信息后,主节点将工作节点1、工作节点2、工作节点3确定为目标节点。主节点根据各目标节点的反馈信息将目标任务拆分为三部分,分别发送拆分后的每部分任务至工作节点1、工作节点2、工作节点3,由各目标节点来执行目标任务。
步骤S208,将目标任务保存为历史任务,并存储历史任务的与资源分配相关的数据。
分布式资源管理器保存目标任务为历史任务,并保存该历史任务的已处理数据量、复杂度以及每种资源的分配量。
步骤S210,根据历史任务的与资源分配相关的数据,确定每个复杂度对应的至少一个待处理数据量区间,为每组相互对应的复杂度和待处理数据量区间配置每种资源对应的待求解的线性关系方程,分别计算每种资源的各个待求解的线性关系方程的参数a和b。
分布式资源管理器根据已保存的多个历史任务的已处理数据量、复杂度、每种资源的分配量,对多个历史任务的已处理数据量和复杂度进行统计,确定每个复杂度对应的至少一个待处理数据量范围;针对任意一种资源,分别为每组相互对应的待处理数据量范围、复杂度配置该种资源对应的待求解的线性关系方程y=ax+b,以得到与该种资源关联的复杂度、待处理数据量范围、待求解的线性关系方程之间的对应关系;其中,待求解的线性关系方程y=ax+b中包括待求解的线性关系方程的参数a和b;针对该种资源关联的任意一组复杂度、待处理数据量范围,根据多个历史任务对应的复杂度和已处理数据量,确定属于该组复杂度、待处理数据量范围的目标历史任务;根据目标历史任务的已处理数据量和该种资源的分配量,对该组复杂度、待处理数据量范围对应的待求解的线性关系方程y=ax+b进行求解,以确定与该种资源关联的该组复杂度、待处理数据量范围和线性关系方程y=ax+b。
本说明书一实施例提供的任务处理方法能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
图3为本说明书一个实施例提供的任务处理装置的模块组成示意图。如图3所示,该装置包括:
复杂度确定模块31,用于获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
模型确定模块32,用于获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
分配量确定模块33,用于根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
任务处理模块34,用于根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
可选地,所述复杂度确定模块31具体用于:对于每种所述算子,将该种算子的数量与该种算子的复杂度权重相乘;将每种所述算子的乘积结果进行求和,得到所述目标任务的复杂度。
可选地,所述模型确定模块32具体用于:针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与所述目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与所述目标任务的待处理数据量相匹配的目标数据量范围;在该种资源关联的资源分配策略所包括的资源分配模型中,将与所述目标复杂度范围且与所述目标数据量范围相对应的资源分配模型,确定为所述目标任务的该种资源的资源分配模型。
可选地,所述分配量确定模块33具体用于:针对每种资源,将所述目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;将该种资源的资源分配模型的计算结果,作为所述目标任务的该种资源的分配量。
可选地,该装置还包括:分配策略建立模块,用于:获取多个历史任务的已处理数据量、复杂度、每种资源的分配量,以及获取多个预设的任务复杂度范围,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围;针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,所述待求解的资源分配模型中包括待求解的资源分配系数;针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据所述多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;根据所述目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
可选地,所述分配策略建立模块具体用于:针对每个任务复杂度范围,对所述多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;根据所述最大值、所述最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。
可选地,所述分配策略建立模块具体用于:将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
在本说明书一个实施例中,首先,获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;接着,获取目标任务的待处理数据量,根据目标任务的复杂度、待处理数据量、以及、预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该种资源关联的资源分配策略包括该资源对应的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系;然后,根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;最后,根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。由此可见,通过本实施例,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
本说明书一实施例提供的任务处理装置能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书一个实施例还提供了一种任务处理设备,图4为本说明书一个实施例提供的任务处理设备的结构示意图,如图4所示,该设备包括:存储器401、处理器402、总线403和通信接口404。存储器401、处理器402和通信接口404通过总线403进行通信,通信接口404可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图4中,所述存储器401上存储有可在所述处理器402上运行的计算机可执行指令,所述计算机可执行指令被所述处理器402执行时实现以下流程:
获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度,包括:对于每种所述算子,将该种算子的数量与该种算子的复杂度权重相乘;将每种所述算子的乘积结果进行求和,得到所述目标任务的复杂度。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型,包括:针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与所述目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与所述目标任务的待处理数据量相匹配的目标数据量范围;在该种资源关联的资源分配策略所包括的资源分配模型中,将与所述目标复杂度范围且与所述目标数据量范围相对应的资源分配模型,确定为所述目标任务的该种资源的资源分配模型。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量,包括:针对每种资源,将所述目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;将该种资源的资源分配模型的计算结果,作为所述目标任务的该种资源的分配量。
可选地,所述计算机可执行指令被所述处理器执行时,为每种进行任务处理时需调用的资源预先确定的资源分配策略,通过以下方式确定:获取多个历史任务的已处理数据量、复杂度、每种资源的分配量,以及获取多个预设的任务复杂度范围,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围;针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,所述待求解的资源分配模型中包括待求解的资源分配系数;针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据所述多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;根据所述目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
可选地,所述计算机可执行指令被所述处理器执行时,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围,包括:针对每个任务复杂度范围,对所述多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;根据所述最大值、所述最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。
可选地,所述计算机可执行指令被所述处理器执行时,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,包括:将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
在本说明书一个实施例中,首先,获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;接着,获取目标任务的待处理数据量,根据目标任务的复杂度、待处理数据量、以及、预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该种资源关联的资源分配策略包括该资源对应的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系;然后,根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;最后,根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。由此可见,通过本实施例,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
本说明书一实施例提供的任务处理设备能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书另一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现以下流程:
获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度,包括:对于每种所述算子,将该种算子的数量与该种算子的复杂度权重相乘;将每种所述算子的乘积结果进行求和,得到所述目标任务的复杂度。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型,包括:针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与所述目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与所述目标任务的待处理数据量相匹配的目标数据量范围;在该种资源关联的资源分配策略所包括的资源分配模型中,将与所述目标复杂度范围且与所述目标数据量范围相对应的资源分配模型,确定为所述目标任务的该种资源的资源分配模型。
可选地,所述计算机可执行指令被所述处理器执行时,根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量,包括:针对每种资源,将所述目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;将该种资源的资源分配模型的计算结果,作为所述目标任务的该种资源的分配量。
可选地,所述计算机可执行指令被所述处理器执行时,为每种进行任务处理时需调用的资源预先确定的资源分配策略,通过以下方式确定:获取多个历史任务的已处理数据量、复杂度、每种资源的分配量,以及获取多个预设的任务复杂度范围,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围;针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,所述待求解的资源分配模型中包括待求解的资源分配系数;针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据所述多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;根据所述目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
可选地,所述计算机可执行指令被所述处理器执行时,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围,包括:针对每个任务复杂度范围,对所述多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;根据所述最大值、所述最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。
可选地,所述计算机可执行指令被所述处理器执行时,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,包括:将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
在本说明书一个实施例中,首先,获取目标任务的代码,以确定算子种类和每种算子数量,根据算子种类、每种算子数量,确定目标任务的复杂度;接着,获取目标任务的待处理数据量,根据目标任务的复杂度、待处理数据量、以及、预先确定的资源分配策略,确定目标任务的每种资源的资源分配模型;其中,针对每种资源,与该种资源关联的资源分配策略包括该资源对应的任务复杂度范围、待处理数据量范围、资源分配模型之间的对应关系;然后,根据目标任务的待处理数据量和每种资源的资源分配模型,确定目标任务的每种资源的分配量;最后,根据每种资源的分配量,在分布式任务处理网络中选取目标节点,利用目标节点处理目标任务。由此可见,通过本实施例,能够确定目标任务的复杂度,根据目标任务的复杂度,确定目标任务的每种资源的资源分配模型,根据目标任务的每种资源的资源分配模型,确定目标任务的每种资源的分配量,进而选取目标节点以处理目标任务,从而解决了根据个人经验确定任务所需的资源分配量不准确以致降低了任务处理效率的问题,能够提高确定任务的资源分配量的准确性,进而提高任务的处理效率。
以上所述仅为本说明书的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本说明书的实施例可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (12)
1.一种任务处理方法,其特征在于,包括:
获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
获取所述目标任务的待处理数据量,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型;其中,针对每种资源,与该资源关联的资源分配策略包括该资源对应的任务复杂度范围、该资源对应的待处理数据量范围、该资源对应的资源分配模型之间的对应关系;
根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务;
其中,根据所述目标任务的复杂度、所述目标任务的待处理数据量、以及、为每种进行任务处理时需调用的资源预先确定的资源分配策略,确定所述目标任务的每种资源的资源分配模型,包括:
针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与所述目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与所述目标任务的待处理数据量相匹配的目标数据量范围;
在该种资源关联的资源分配策略所包括的资源分配模型中,将与所述目标复杂度范围且与所述目标数据量范围相对应的资源分配模型,确定为所述目标任务的该种资源的资源分配模型。
2.根据权利要求1所述的方法,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度,包括:
对于每种所述算子,将该种算子的数量与该种算子的复杂度权重相乘;
将每种所述算子的乘积结果进行求和,得到所述目标任务的复杂度。
3.根据权利要求1所述的方法,其特征在于,根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量,包括:
针对每种资源,将所述目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;
将该种资源的资源分配模型的计算结果,作为所述目标任务的该种资源的分配量。
4.根据权利要求1所述的方法,其特征在于,为每种进行任务处理时需调用的资源预先确定的资源分配策略,通过以下方式确定:
获取多个历史任务的已处理数据量、复杂度、每种资源的分配量,以及获取多个预设的任务复杂度范围,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围;
针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,所述待求解的资源分配模型中包括待求解的资源分配系数;
针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据所述多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;
根据所述目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;
将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
5.根据权利要求4所述的方法,其特征在于,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围,包括:
针对每个任务复杂度范围,对所述多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;
根据所述最大值、所述最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。
6.根据权利要求4所述的方法,其特征在于,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,包括:
将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
7.一种任务处理装置,其特征在于,包括:
复杂度确定模块,用于获取待处理的目标任务的代码,遍历所述代码,以确定所述代码包含的算子的种类和每种算子的数量,根据所述算子的种类、每种所述算子的数量和预先确定的每种算子的复杂度权重,确定所述目标任务的复杂度;
模型确定模块,用于获取所述目标任务的待处理数据量;
针对每种资源,在该种资源关联的资源分配策略所包括的任务复杂度范围中查找与所述目标任务的复杂度相匹配的目标复杂度范围,在该种资源关联的资源分配策略所包括的待处理数据量范围中查找与所述目标任务的待处理数据量相匹配的目标数据量范围;
在该种资源关联的资源分配策略所包括的资源分配模型中,将与所述目标复杂度范围且与所述目标数据量范围相对应的资源分配模型,确定为所述目标任务的该种资源的资源分配模型;
分配量确定模块,用于根据所述目标任务的待处理数据量和所述目标任务的每种资源的资源分配模型,确定所述目标任务的每种资源的分配量;
任务处理模块,用于根据所述目标任务的每种资源的分配量,在分布式任务处理网络中选取用于处理所述目标任务的目标节点,并利用所述目标节点处理所述目标任务。
8.根据权利要求7所述的装置,所述复杂度确定模块具体用于:
对于每种所述算子,将该种算子的数量与该种算子的复杂度权重相乘;
将每种所述算子的乘积结果进行求和,得到所述目标任务的复杂度。
9.根据权利要求7所述的装置,其特征在于,所述分配量确定模块具体用于:
针对每种资源,将所述目标任务的待处理数据量输入至该种资源的资源分配模型进行计算;
将该种资源的资源分配模型的计算结果,作为所述目标任务的该种资源的分配量。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
分配策略建立模块,用于:
获取多个历史任务的已处理数据量和复杂度,以及获取多个预设的任务复杂度范围,对所述多个历史任务的已处理数据量和复杂度进行统计,确定每个所述任务复杂度范围对应的至少一个待处理数据量范围;
针对任意一种资源,分别为每组相互对应的待处理数据量范围、任务复杂度范围配置该种资源对应的待求解的资源分配模型,以得到与该种资源关联的任务复杂度范围、待处理数据量范围、待求解的资源分配模型之间的对应关系;其中,所述待求解的资源分配模型中包括待求解的资源分配系数;
针对该种资源关联的任意一组任务复杂度范围、待处理数据量范围,根据所述多个历史任务对应的复杂度和已处理数据量,确定属于该组任务复杂度范围、待处理数据量范围的目标历史任务;
根据所述目标历史任务的已处理数据量和该种资源的分配量,对该组任务复杂度范围、待处理数据量范围对应的待求解的资源分配模型进行求解,以确定与该种资源关联的该组任务复杂度范围、待处理数据量范围和资源分配模型;
将与该种资源关联的各组任务复杂度范围、待处理数据量范围和资源分配模型,确定为与该种资源关联的资源分配策略,以确定与每种资源关联的资源分配策略。
11.根据权利要求10所述的装置,其特征在于,所述分配策略建立模块具体用于:
针对每个任务复杂度范围,对所述多个历史任务对应的已处理数据量和复杂度进行统计,确定位于该任务复杂度范围的历史任务所对应的已处理数据量的最大值和最小值;
根据所述最大值、所述最小值和预先确定的数据量范围确定规则,确定该任务复杂度范围对应的至少一个待处理数据量范围。
12.根据权利要求10所述的装置,其特征在于,所述分配策略建立模块具体用于:
将以待处理数据量为自变量、该种资源的分配量为因变量的线性关系方程,配置为每种资源对应的待求解的资源分配模型;其中,所述线性关系方程中的待求解系数为所述待求解的资源分配系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880873.1A CN112015554B (zh) | 2020-08-27 | 2020-08-27 | 任务处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010880873.1A CN112015554B (zh) | 2020-08-27 | 2020-08-27 | 任务处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015554A CN112015554A (zh) | 2020-12-01 |
CN112015554B true CN112015554B (zh) | 2023-02-28 |
Family
ID=73503323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010880873.1A Active CN112015554B (zh) | 2020-08-27 | 2020-08-27 | 任务处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015554B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502791A (zh) * | 2016-10-14 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种任务分配方法及装置 |
CN108270805A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团河北有限公司 | 用于数据处理的资源分配方法及装置 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
CN110502339A (zh) * | 2019-07-23 | 2019-11-26 | 苏宁云计算有限公司 | 数据服务资源分配方法、装置、系统和存储介质 |
CN110659137A (zh) * | 2019-09-24 | 2020-01-07 | 支付宝(杭州)信息技术有限公司 | 针对离线任务的处理资源分配方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697121B (zh) * | 2017-10-20 | 2023-05-05 | 伊姆西Ip控股有限责任公司 | 用于向应用分配处理资源的方法、设备和计算机可读介质 |
-
2020
- 2020-08-27 CN CN202010880873.1A patent/CN112015554B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502791A (zh) * | 2016-10-14 | 2017-03-15 | 浪潮电子信息产业股份有限公司 | 一种任务分配方法及装置 |
CN108270805A (zh) * | 2016-12-30 | 2018-07-10 | 中国移动通信集团河北有限公司 | 用于数据处理的资源分配方法及装置 |
CN109684092A (zh) * | 2018-12-24 | 2019-04-26 | 新华三大数据技术有限公司 | 资源分配方法及装置 |
CN110502339A (zh) * | 2019-07-23 | 2019-11-26 | 苏宁云计算有限公司 | 数据服务资源分配方法、装置、系统和存储介质 |
CN110659137A (zh) * | 2019-09-24 | 2020-01-07 | 支付宝(杭州)信息技术有限公司 | 针对离线任务的处理资源分配方法及系统 |
Non-Patent Citations (2)
Title |
---|
model allocation resource complexity data volume;Kunqi Guo;《 First International Conference on Innovative Computing, Information and Control - Volume I (ICICIC"06)》;20061016;1-4 * |
基于ISE算法的分布式ETL任务调度策略研究;王卓昊等;《计算机科学》;20191231(第12期);7-13 * |
Also Published As
Publication number | Publication date |
---|---|
CN112015554A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514045B2 (en) | Structured cluster execution for data streams | |
US10102038B2 (en) | Data mining method and node | |
CN101639769B (zh) | 在多处理器系统上对数据集进行划分及排序的方法和装置 | |
US9513806B2 (en) | Dimension based load balancing | |
US8560472B2 (en) | Systems and methods for supporting restricted search in high-dimensional spaces | |
US7725900B2 (en) | Method of assigning objects to processing units | |
CN109359115B (zh) | 基于图数据库的分布式存储方法、装置及系统 | |
CN110414569B (zh) | 聚类实现方法及装置 | |
US20070299835A1 (en) | Search engine for software components and a search program for software components | |
US20180165335A1 (en) | Parallel processing of queries with inverse distribution function | |
CN111538867B (zh) | 一种有界增量图划分方法和系统 | |
US7664858B2 (en) | Method for balancing load between processors in a multi-processor environment | |
CN108052832B (zh) | 一种基于排序的微聚集匿名化方法 | |
US20240176657A1 (en) | Task processing method and apparatus, electronic device, storage medium and program product | |
Filippidou et al. | Online and on-demand partitioning of streaming graphs | |
CN112015554B (zh) | 任务处理方法和装置 | |
CN117407921A (zh) | 基于必连和勿连约束的差分隐私直方图发布方法及系统 | |
US7647592B2 (en) | Methods and systems for assigning objects to processing units | |
CN116910061A (zh) | 一种数据库的分库分表方法、装置、设备及可读存储介质 | |
CN116089083A (zh) | 一种多目标数据中心资源调度方法 | |
CN112965825A (zh) | 一种面向负载均衡的动态均衡分区方法及系统 | |
CN112346861A (zh) | 资源分配方法、装置、设备和超融合系统 | |
CN104598385B (zh) | 内存分配方法及装置 | |
Tzovas et al. | Distributing sparse matrix/graph applications in heterogeneous clusters-an experimental study | |
Patil et al. | K-way Balanced Graph Partitioning for Parallel Computing |
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 |