CN116974771B - 资源调度方法、相关装置、电子设备及介质 - Google Patents
资源调度方法、相关装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116974771B CN116974771B CN202311200403.6A CN202311200403A CN116974771B CN 116974771 B CN116974771 B CN 116974771B CN 202311200403 A CN202311200403 A CN 202311200403A CN 116974771 B CN116974771 B CN 116974771B
- Authority
- CN
- China
- Prior art keywords
- resource
- target
- resource pool
- resources
- seed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 181
- 230000008569 process Effects 0.000 claims description 71
- 238000004364 calculation method Methods 0.000 claims description 55
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 34
- 230000001502 supplementing effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 239000000463 material Substances 0.000 description 100
- 238000013500 data storage Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 239000013589 supplement Substances 0.000 description 13
- 238000012216 screening Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000000153 supplemental effect Effects 0.000 description 8
- 239000000047 product Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 6
- 230000007812 deficiency Effects 0.000 description 5
- 239000000725 suspension Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009469 supplementation Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000013590 bulk material Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
-
- 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
-
- 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/06313—Resource planning in a project environment
-
- 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/06315—Needs-based resource requirements planning or analysis
-
- 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/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开提供了一种资源调度方法、相关装置、电子设备及介质。该资源调度方法包括:响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定所述候选资源组合对应的种子资源池;根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。本公开用于网络技术领域。本公开实施例能够提高资源调度效率、和资源调度的灵活度。
Description
技术领域
本公开涉及网络技术领域,特别是涉及一种资源调度方法、相关装置、电子设备及介质。
背景技术
在网络科技逐年发展伴生万物互联的时代中,经常需要面对资源调度的需求。进行资源调度时,可能需要从不同类型、不同储备条件的多个资源池中对需要用到的资源进行选择与配置,进而得到多个备选的资源配置方案,然后从中选出符合需求的方案来实施资源的调度。目前,基于多个备选的资源池配置资源调度方案的资源调度方法,主要有基于预设的事件模版形成与之匹配的资源调拨方案、基于遗传算法求解资源调拨方案等。前一种方法中,由于预设的事件模版并不能应对较为多变的应用场景,因此该方法灵活度和适应性较差;后一种方法中,遗传算法依赖大量的样本进行训练,时间成本较高、资源分配效率较低。
发明内容
本公开实施例提供了一种资源调度方法、相关装置、电子设备及介质,它能够提高资源调度的灵活度、和资源调度效率。
根据本公开的一方面,提供了一种资源调度方法,包括:
响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;
针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定所述候选资源组合对应的种子资源池;
根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
根据本公开的一方面,提供了一种资源调度装置,包括:
第一获取单元,用于响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;
资源搜索单元,用于针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定所述候选资源组合对应的种子资源池;
第一确定单元,用于根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
可选的,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;
所述资源搜索单元,具体用于:
针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,如果所述多级资源池中的一个待考察资源池,针对每种所述目标资源的所述目标资源数目,都能用单种所述通用类型下的所述资源数目去满足,则在所述待考察资源池中确定所述种子资源池。
可选的,所述资源搜索单元,具体用于:
如果所述待考察资源池的数目为一个,将所述待考察资源池确定为所述种子资源池;
如果所述待考察资源池的数目为二个以上,基于二个以上所述待考察资源池的级别确定所述种子资源池。
可选的,所述资源搜索单元,具体用于:
如果所述待考察资源池的数目为二个以上,将二个以上所述待考察资源池中所述级别低的所述待考察资源池确定为所述种子资源池;
如果所述待考察资源池的数目为二个以上,且二个以上所述待考察资源池的所述级别相同,确定二个以上所述待考察资源池的调度返还量,并基于所述调度返还量确定所述种子资源池;
如果所述二个以上所述待考察资源池的所述调度返还量相同,基于二个以上所述待考察资源池的资源池类型确定所述种子资源池。
可选的,所述资源搜索单元,具体用于:
获取所述待考察资源池的多个资源容器的资源容器容量;
将多个所述资源容器按照所述资源容器容量的大小从大到小排序;
将所述排序最前的所述资源容器确定为待考察资源容器,将所述目标资源数目确定为未调度资源数目;
执行第一过程,所述第一过程包括:用所述未调度资源数目模所述待考察资源容器的所述资源容器容量的余数,更新所述未调度调用数目,用所述排序中的下一个所述资源容器,更新所述待考察资源容器,并重复所述第一过程,直到所述待考察资源容器为空;
基于所述未调度资源数目,确定所述调度返还量。
可选的,所述资源搜索单元,具体用于:
获取所述待考察资源池的离散资源数目;
如果所述离散资源数目大于所述未调度资源数目,确定所述调度返还量为0;
如果所述离散资源数目不大于所述未调度资源数目,用所述排序最后的所述资源容量的所述资源容器容量减去所述未调度资源数目,得到所述调度返还量。
可选的,所述资源搜索单元,具体还用于:
如果所述多级资源池中的任一个存储资源池,都不能针对每种所述目标资源的所述目标资源数目,用所述单种通用类型下的所述资源数目去满足,则在所述级别最低的所述存储资源池中,选择一个用所述单种通用类型下的所述资源数目去满足所述目标资源数目后的缺失额最小的一个所述存储资源池,作为一个所述种子资源池,将所述单种通用类型作为目标通用类型,将用所述单种通用类型下的所述资源数目去满足所述目标资源数目后仍未满足的所述资源数目作为剩余资源数目;
在所述级别最低的其它所述存储资源池中,选择一个用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后的缺失额最小的另一个所述存储资源池,作为一个所述种子资源池,并用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后仍未满足的所述资源数目更新所述剩余资源数目, 直到遍历完所述级别最低的所述存储资源池。
可选的,所述资源搜索单元,具体还用于:
执行第二过程,所述第二过程包括:如果遍历完所述级别最低的所述存储资源池,所述剩余资源数目仍然不为0,将倒数第二级作为目标级,在所述目标级的所述存储资源池中进行遍历,在未遍历的所述存储资源池中,选择一个用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后的缺失额最小的一个所述存储资源池,作为一个所述种子资源池,并用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后仍未满足的所述资源数目更新所述剩余资源数目,直到遍历完所述目标级的所述存储资源池,并以所述目标级的上一级更新所述目标级,重复第二过程,直到达到最高级。
可选的,所述第一确定单元,具体用于:
如果每个所述候选资源组合对应于一个所述种子资源池,获取各个所述候选资源组合对应的所述种子资源池的所述级别;
将各个所述候选资源组合对应的所述种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
可选的,所述第一确定单元,具体用于:
如果所述级别最低的所述种子资源池为二个以上,确定二个以上所述种子资源池的调度返还量,并基于所述调度返还量确定所述目标资源池;
如果所述二个以上所述种子资源池的所述调度返还量相同,基于二个以上所述种子资源池的资源池类型确定所述目标资源池。
可选的,所述第一确定单元,还具体用于:
如果一部分所述候选资源组合对应于多个所述种子资源池,获取多个所述种子资源池中级别最高的一个所述种子资源池,作为筛选后种子资源池,对于对应于单个所述种子资源池的另一部分所述候选资源组合,将单个所述种子资源池作为所述筛选后种子资源池;
将各个所述候选资源组合对应的所述筛选后种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
可选的,所述资源调度装置还包括:
任务接收单元,用于接收多个任务的所述资源调度请求,多个所述任务包括所述目标任务;
队列生成单元,用于将多个所述任务放到任务队列中排队;
任务提取单元,用于按照所述任务队列从前到后的顺序,取出所述任务,其中,在取出的前一所述任务执行完毕后,才取出后一所述任务。
可选的,所述队列生成单元,具体用于:
确定多个所述任务中每一所述任务具有的优先级标识;
根据所述优先级标识,将多个所述任务排成所述任务队列。
可选的,所述资源调度装置还包括:
第二确定单元,用于确定所述任务队列中多个所述任务所需的每种资源的资源数目;
第一计算单元,用于针对每种所述资源,将多个所述任务所需的该种所述资源的资源数目加和,得到该种所述资源的第一总资源数目;
第二计算单元,用于将所述多级资源池中该种所述资源的所述资源数目加和,得到该种所述资源的第二总资源数目;
资源补充单元,用于如果所述第一总资源数目大于所述第二总资源数目,向备用资源库发送补充请求,用于向所述多级资源池补充资源。
可选的,所述资源补充单元,具体用于:
确定所述第一总资源数目与所述第二总资源数目的差;
基于所述差和预定倍数,确定补充资源数目;
以所述补充资源数目向备用资源库发送补充请求,用于向所述多级资源池补充所述补充资源数目的资源。
可选的,所述资源调度方法由多个候选计算节点中的目标计算节点执行,所述目标计算节点通过以下方式从多个所述候选计算节点中选出:
获取多个所述候选计算节点的处理能力;
获取多个所述候选计算节点的已分配任务数;
基于所述处理能力和所述已分配任务数,从多个所述候选计算节点中选择所述目标计算节点。
可选的,所述目标计算节点包括主目标计算节点和从目标计算节点,多个所述候选计算节点包括第一组候选计算节点和第二组候选计算节点;
所述基于所述处理能力和所述已分配任务数,从多个所述候选计算节点中选择所述目标计算节点,包括:基于所述处理能力和所述已分配任务数,从所述第一组候选计算节点中确定所述主目标计算节点,并从所述第二组候选计算节点中确定所述从目标计算节点。
可选的,所述候选计算节点的数目通过以下方式周期性改变:
获取资源平台在当前周期的总任务数;
根据所述总任务数,确定所述候选计算节点的数目。
可选的,所述资源调度装置还包括:
第二获取单元,用于获取资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库;
水位模型构建单元,用于将所述资源池水位信息库结构化为水位模型,将所述资源池位置信息库结构化为分布位置模型,将所述任务资源关系库结构化为资源模型,将所述计算指令库结构化为计算模型;
所述第一获取单元,具体用于:
通过所述计算模型调用所述资源模型,响应于所述资源调度请求,获取所述目标任务对应的多个候选资源组合;
所述资源搜索单元,具体用于:
通过所述计算模型按照所述分布位置模型确定各级所述资源池的位置,并调用所述水位模型,确定所述候选资源组合对应的种子资源池;
所述第一确定单元,具体用于:
通过所述计算模型,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的资源调度方法。
根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的资源调度方法。
根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的资源调度方法。
本公开实施例中,资源调度方法需要响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合;其中,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目。然后,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。因此,目标任务对应的每一个候选资源组合都可以确定出一系列对应的种子资源池。进一步,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。需要指出,由于本公开资源调度方法是依照各个候选资源组合对应的种子资源池的级别来确定满足资源调度请求的目标资源池,因而会具备较快的速度响应目标任务的资源调度请求,如此一来,便能够提高资源调度效率。以上方案没有限定必须针对什么样的任务和什么样的候选资源组合,因此能够适用于较为多变的应用场景,合理确定用于满足资源调度请求的目标资源池,因此资源调度的灵活度较高。
本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1是根据本公开的实施例的资源调度方法应用的系统的体系架构图;
图2A-图2C是根据本公开的实施例的资源调度方法应用于调度虚拟资源时对应的前端界面示例图;
图2D-图2F是根据本公开的实施例的资源调度方法应用于调度实体资源时对应的前端界面示例图;
图3是根据本本公开的一个实施例的资源调度方法的总体流程图;
图4A是本公开实施例资源调度方法获取候选资源组合的示例图;
图4B是本公开实施例调度虚拟资源时确定种子资源池的示例图;
图4C是本公开实施例调度实体资源时确定种子资源池的示例图;
图4D是本公开实施例确定为目标资源池的一个示例图;
图5是图3中步骤320的一个可选的具体流程图;
图6是本公开实施例依据单种通用类型确定种子资源池的一个示例图;
图7是图5中步骤520的一个可选的具体流程图;
图8是图7中步骤720的一个可选的具体流程图;
图9是本公开实施例搜索多级资源池的一个示例图;
图10是图8中步骤820的一个可选的具体流程图;
图11A至图11D示出了本公开实施例确定待考察资源池的调度返还量的示例图;
图12是图10中步骤1060的一个可选的具体流程图;
图13示出了本公开实施例确定调度返还量的一个示例图;
图14是图3中步骤320的一个可选的具体流程图;
图15A至图15B示出了本公开实施例依据缺失额确定种子资源池的示例图;
图16是本公开实施例图14中步骤1420之后执行第二过程的可选的具体流程图;
图17是图3中步骤330的一个可选的具体流程图;
图18是图17中步骤1720的一个可选的具体流程图;
图19示出了本公开实施例确定目标资源池的一个示例图;
图20是图3中步骤330的一个可选的具体流程图;
图21示出了本公开实施例确定目标资源池的一个示例图;
图22是图3中步骤300的另一个可选的具体流程图;
图23是图22中步骤2200的一个可选的具体流程图;
图24是本公开实施例向多级资源池补充资源的可选的具体流程图;
图25是图24中步骤2440的一个可选的具体流程图;
图26是本公开实施例向多级资源池补充资源的一个示例图;
图27是从多个候选计算节点中选出目标计算节点的一个可选的具体流程图;
图28是图3中步骤300的另一个可选的具体流程图;
图29是图28中步骤2840的一个可选的具体流程图;
图30示出了一类应用本公开实施例的资源调度方法的系统架构示例图;
图31是本公开实施例资源调度系统架构中资源调度控制层异步操作的示例图;
图32是本公开实施例资源调度方法的一个具体示例图;
图33是根据本公开的一个实施例的资源调度装置的框图;
图34示出了根据本公开的一个实施例实施图3所示的资源调度方法的终端结构图;
图35示出了根据本公开的一个实施例实施图3所示的资源调度方法的服务器结构图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
目标任务:指的是在各种业务场景下所需要作为目标而予以执行的任务;其中,为了使得目标任务得以正常执行,目标任务具备一个对应的资源调度请求,资源调度请求用于对目标任务正常执行需要所需要的资源进行调度。
候选资源组合:指的是用于表征执行目标任务所需要的目标资源和目标资源数目。
资源池:资源池是指一个组织或系统中可供使用的资源的集合。这些资源可以是物资,也可以是计算机算力,还可以是一个计算机系统中可供程序使用的硬件和软件资源或者其他类型资源的集合。
在网络科技逐年发展伴生万物互联的时代中,经常需要面对资源调度的需求。进行资源调度时,可能需要从不同类型、不同储备条件的多个资源池中对需要用到的资源进行选择与配置,进而得到多个备选的资源配置方案,然后从中选出符合需求的方案来实施资源的调度。
目前,基于多个备选的资源池配置资源调度方案的资源调度方法,主要有基于预设的事件模版形成与之匹配的资源调拨方案、基于遗传算法求解资源调拨方案等。前一种方法中,由于预设的事件模版并不能应对较为多变的应用场景,因此该方法灵活度和适应性较差;后一种方法中,遗传算法依赖大量的样本进行训练,时间成本较高、资源分配效率较低。
本公开实施例应用的系统体系构架及场景说明
图1是根据本公开的实施例的资源调度方法所应用的系统构架图。它包括终端140、互联网130、网关120、资源调度服务器110等。
终端140是用于显示输入框、输入信息与候选词的设备。它包括台式电脑、笔记本电脑、平板电脑、PDA(个人数字助理)、手机、车载终端等多种形式。另外,它可以是单台设备,也可以是多台设备组合的集合。例如,多台设备通过局域网连接,公用一台显示设备进行协同工作,共同构成一个终端140。终端140也可以以有线或无线的方式与互联网130进行通信,交换数据。
资源调度服务器110是指能根据目标任务来实现资源调度的计算机系统。相对于普通终端140来说,资源调度服务器110在稳定性、安全性、性能等方面都要求很高。资源调度服务器110可以是网络平台中的一台高性能计算机、多台高性能计算机的集群、一台高性能计算机中划出的一部分(例如虚拟机)、多台高性能计算机中划出的一部分(例如虚拟机)的组合等。需要说明的是,资源调度服务器110包括目标任务获取模块、资源查询模块与资源配置模块。其中,目标任务获取模块用于获取当前业务场景下所需要执行的目标任务,并解析出目标任务所对应的资源调度请求;资源查询模块用于根据资源调度请求从多个资源池中查询与之匹配的目标资源池;资源配置模块用于在确定出与资源调度请求匹配的目标资源池之后,将目标资源池内的目标资源配置给需要执行的目标任务,完成资源调度。
网关120又称网间连接器、协议转换器。网关在传输层上实现网络互联,是一种充当转换作用的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。同时,网关也可以提供过滤和安全功能。
终端140向资源调度服务器110发送的消息要通过网关120发送到相应的资源调度服务器110。资源调度服务器110向终端140发送的消息也要通过网关120发送到相应的终端140。应理解,终端140可以用于通过互联网130与网关120,将目标任务下达给资源调度服务器。
需要强调的是,本公开实施例适用于多个类型的业务场景,不同业务场景下,目标任务、目标资源、候选资源组合、资源池的含义存在区别。以下选取其中两个类型的业务场景,进行说明:
其一类型的实施例中,当目标任务涉及虚拟资源的调度时。例如:为构建一个应用程序,需要从不同的数据存储模块中调用代码块;在此类业务场景下,其中涉及的目标任务可以是“构建应用程序”、涉及的目标资源可以是“代码块”、涉及的资源池可以是“存储有代码块的数据存储模块”,候选资源组合可以是“构建应用程序所需要的候选代码块组合A、候选代码块组合B、候选代码块组合C”;
参照图2A,图中示出了当目标任务涉及虚拟资源的调度时,基于应用程序构建而调度各个代码块的相关记录信息。为了查询基于应用程序构建而调度各个代码块的相关记录信息,需要输入查询条件;查询条件中,“任务类型”字段用于填入需要查询的目标任务的类型,本实施例中也即“应用程序构建”;“指定资源池”字段用于填入需要指定用于资源调度的资源池,本实施例中也即“数据存储模块A、数据存储模块B、数据存储模块C”;“任务编号”字段用于填入需要查询的目标任务的编号,本实施例中也即“001#02”;“执行状态”字段用于填入需要查询的目标任务所对应的执行状态,本实施例中也即需要查询“已完成”状态的目标任务;“是否包括子任务”字段用于填入需要查询的目标任务中是否显示主任务对应的子任务,本实施例中填入“是”,也即需要显示子任务对应的相关记录信息;“候选资源组合”字段用于填入需要作为资源调度基准的候选资源组合,本实施例中也即“候选代码块组合A{[代码块A,1];[代码块C,3];[代码块F,4]}、候选代码块组合B{[代码块B,2];[代码块D,2];[代码块F,4]}、候选代码块组合C{[代码块A,5];[代码块E,3];[代码块F,2]}”;“资源调度说明”字段用于填入资源调度相关的解释说明内容。应理解,查询条件中的字段类型与可填入的内容类型多种多样,在此不一一举例。
参照图2B,图中示出了当目标任务涉及虚拟资源的调度时,为构建应用程序而执行一次代码块类型的资源调度的请求数据。请求数据中,针对此次代码块类型的资源调度,记载了相关联的各个资源调度请求所需要的信息,例如记录了根据资源调度请求基于每一候选代码块组合进行资源调度下,目标任务所对应的任务地址信息、代码块类型资源调度的资源需求数量、此次调度的资源调度类型与资源类型信息等关联数据。具体而言,当目标资源是代码块时,资源调度类型可以是“整体代码块”、“代码块片段语句”等表征代码块调度的类型,资源类型信息则可以是对代码块功能的描述、对代码块适配信息的描述等。
应理解,图2B示出的实施例仅做示意理解,实际应用中有关请求数据的内容可以包括,但不限于上述举出的具体实施例。
参照图2C,图中示出了当目标任务涉及虚拟资源的调度时,为构建应用程序而执行一次代码块类型的资源调度的调度数据。调度数据中,针对此次代码块类型的资源调度,记载了相关联的各个实际执行资源调度之后所记录的明细信息,例如基于每一候选代码块组合实际执行资源调度的过程中,目标任务所对应的任务地址信息、代码块类型资源调度的资源需求数量、此次调度的资源调度类型与资源类型信息等关联数据。
应理解,图2C示出的实施例仅做示意理解,实际应用中有关调度数据的内容可以包括,但不限于上述举出的具体实施例。
其二类型的实施例中,当目标任务涉及实体资源的调度。例如:为满足一个物料需求,从各地的储货仓中调拨物料;在此类业务场景下,其中涉及的目标任务可以是“满足物料需求”、涉及的目标资源可以是“物料”、涉及的资源池可以是“储蓄有物料的储货仓”,候选资源组合可以是“填充物料缺口所需要的物料A、物料B、物料C”。
参照图2D,图中示出了当目标任务涉及实体资源的调度时,基于填充某一物料缺口而调度各储货仓中存蓄物料的相关记录信息。为了查询基于填充物料缺口而调度各个物料的相关记录信息,需要输入查询条件;查询条件中,“任务类型”字段用于填入需要查询的目标任务的类型,本实施例中也即“填充物料缺口”;“指定资源池”字段用于填入需要指定用于资源调度的资源池,本实施例中也即“储货仓A、储货仓B、储货仓C”;“任务编号”字段用于填入需要查询的目标任务的编号,本实施例中也即“002#03”;“执行状态”字段用于填入需要查询的目标任务所对应的执行状态,本实施例中也即需要查询“已完成”状态的目标任务;“是否包括子任务”字段用于填入需要查询的目标任务中是否显示主任务对应的子任务,本实施例中填入“是”,也即需要显示子任务对应的相关记录信息;“候选资源组合”字段用于填入需要作为资源调度基准的候选资源组合,本实施例中也即“候选物料组合A{[物料A,33];[物料C,45];[物料F,48]}、候选物料组合B{[物料A,47];[物料C,56];[物料F,78]}、候选物料组合C{[物料A,34];[物料C,45];[物料F,69]}”;“资源调度说明”字段用于填入资源调度相关的解释说明内容。应理解,查询条件中的字段类型与可填入的内容类型多种多样,在此不一一举例。
参照图2E,图中示出了当目标任务涉及实体资源的调度时,为构建应用程序而执行一次物料类型的资源调度的请求数据。请求数据中,针对此次物料类型的资源调度,记载了相关联的各个资源调度请求所需要的信息,例如记录了根据资源调度请求基于每一候选物料组合进行资源调度下,目标任务所对应的任务地址信息、物料类型资源调度的资源需求数量、此次调度的资源调度类型与资源类型信息等关联数据。具体而言,当目标资源是物料时,资源调度类型可以是“整箱物料”、“散件物料”、“物料组成部件”等表征物料调度的类型,资源类型信息则可以是对物料功能的描述、对物料适配信息的描述等。
应理解,图2E示出的实施例仅做示意理解,实际应用中有关请求数据的内容可以包括,但不限于上述举出的具体实施例。
参照图2F,图中示出了当目标任务涉及实体资源的调度时,为构建应用程序而执行一次物料类型的资源调度的调度数据。调度数据中,针对此次物料类型的资源调度,记载了相关联的各个实际执行资源调度之后所记录的明细信息,例如基于每一候选物料组合实际执行资源调度的过程中,目标任务所对应的任务地址信息、物料类型资源调度的资源需求数量、此次调度的资源调度类型与资源类型信息等关联数据。
应理解,图2F示出的实施例仅做示意理解,实际应用中有关调度数据的内容可以包括,但不限于上述举出的具体实施例。
需要指出,本公开实施例可以应用的业务场景多种多样,可以包括,但不限于上述举出的具体实施例。
本公开实施例的总体说明
需要强调的是,本公开实施例适用于多个类型的业务场景,不同业务场景下,目标任务、目标资源、候选资源组合、资源池的含义存在区别。当目标任务涉及虚拟资源的调度时。例如:为构建一个应用程序,需要从不同的数据存储模块中调用代码块;在此类业务场景下,其中涉及的目标任务可以是“构建应用程序”、涉及的目标资源可以是“代码块”、涉及的资源池可以是“存储有代码块的数据存储模块”,候选资源组合可以是“构建应用程序所需要的候选代码块组合A、候选代码块组合B、候选代码块组合C”;当目标任务涉及实体资源的调度。例如:为满足一个物料需求,从各地的储货仓中调拨物料;在此类业务场景下,其中涉及的目标任务可以是“满足物料需求”、涉及的目标资源可以是“物料”、涉及的资源池可以是“储蓄有物料的储货仓”,候选资源组合可以是“填充物料缺口所需要的物料A、物料B、物料C”。应理解,本公开实施例可以应用的业务场景多种多样,可以包括,但不限于上述举出的具体实施例。
步骤300的详细描述
参照图3,本公开一个实施例的资源调度方法,可以包括,但不限于下述步骤310至步骤330。
步骤310,响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目;
步骤320,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池;
步骤330,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。
下面对步骤310至步骤330进行详细描述。
在步骤310中,响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目。需要强调的是,目标任务指的是在各种业务场景下所需要作为目标而予以执行的任务,其中为了使得目标任务得以正常执行,目标任务具备一个对应的资源调度请求,资源调度请求用于对目标任务正常执行需要所需要的资源进行调度。因此,为了给目标任务调度相应资源,需要通过获取目标任务对应的多个候选资源组合,以响应目标任务的资源调度请求。其中,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目。
参照图4A示出的资源调度请求示例图,针对目标任务的资源调度请求进行响应,可以获取到多种多样的候选资源组合。
“候选资源组合A”包含目标任务所需的{[目标资源A,3]、[目标资源C,4]、[目标资源D,5]},目标资源A对应的目标资源数目为3、目标资源C对应的目标资源数目为4、目标资源D对应的目标资源数目为5;
“候选资源组合B”包含目标任务所需的{[目标资源B,2]、[目标资源D,5]、[目标资源E,8]},目标资源B对应的目标资源数目为2、目标资源D对应的目标资源数目为5、目标资源E对应的目标资源数目为8;
“候选资源组合C”包含目标任务所需的{[目标资源A,30]、[目标资源F,40]},目标资源A对应的目标资源数目为30、目标资源F对应的目标资源数目为40;
“候选资源组合D”包含目标任务所需的{[目标资源A,5]、[目标资源C,6]、[目标资源D,7]、[目标资源F,9]},目标资源A对应的目标资源数目为5、目标资源C对应的目标资源数目为6、目标资源D对应的目标资源数目为7、目标资源F对应的目标资源数目为9;
“候选资源组合E”包含目标任务所需的{[目标资源A,36]、[目标资源C,88]、[目标资源D,90]},目标资源A对应的目标资源数目为36、目标资源C对应的目标资源数目为88、目标资源D对应的目标资源数目为90;
“候选资源组合F”包含目标任务所需的{[目标资源B,166]、[目标资源D,64]、[目标资源G,83]},目标资源B对应的目标资源数目为166、目标资源D对应的目标资源数目为64、目标资源G对应的目标资源数目为83。
应理解,图4A用于对资源调度请求与候选资源组合之间的关系作示意性说明,实际应用的业务场景下,资源调度请求与候选资源组合可以包括,但不限于上述举出的具体实施例。
在步骤320中,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。需要强调的是,资源池是指一个组织或系统中可供使用的资源的集合。这些资源可以是物资,也可以是计算机算力,还可以是一个计算机系统中可供程序使用的硬件和软件资源或者其他类型资源的集合。针对每个候选资源组合,可以基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。所谓种子资源池,即用于为候选资源组合提供需要调度的资源的资源池。
需要指出,资源池的等级可以有多种多样的评级基准,资源池的等级从低级到高级,其资源调度所带来的开销依次升高。例如,当目标任务涉及虚拟资源的调度时,可以基于每一数据存储模块的读写速度来划分其等级。如此一来,按照从低级到高级的顺序搜索多级资源池,相当于从读写速度快到读写速度慢的顺序搜索多级数据存储模块,从中确定出为候选资源组合提供需要调度的资源的种子资源池,来提高资源调度效率;例如,当目标任务涉及实体资源的调度时,可以基于每一储货仓与物料缺口之间距离来划分储货仓的等级。如此一来,按照从低级到高级的顺序搜索多级资源池,相当于从距离物料缺口从近到远的顺序搜索多级储货仓,从中确定出为候选资源组合提供需要调度的资源的种子资源池,来提高资源调度效率。应理解,资源池的评级基准可以包括,但不限于上述举例。
参照图4B,一些实施例中,当目标任务涉及虚拟资源的调度时。例如:为构建一个应用程序,需要从不同的数据存储模块中调用代码块,在此类业务场景下,资源池即为“存储有代码块的数据存储模块”,具体可以包括数据存储模块A、数据存储模块B、数据存储模块C。其中,基于每一数据存储模块的读写速度来划分其等级,读写速度最快的数据存储模块A为低级、读写速度中等的数据存储模块B为中级、读写速度最慢的数据存储模块C为高级。
如此一来,针对每个候选资源组合,可以基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。具体可以是:
针对候选代码块组合A,基于候选代码块组合A中的3类代码块与各类代码块的数量,即{[代码块A,1];[代码块C,3];[代码块F,4]},先搜索低级的数据存储模块A得到1个代码块A和2个代码块C、再搜索中级的数据存储模块B得到1个代码块C和1个代码块F、进一步搜索高级的数据存储模块C得到3个代码块F。应理解,数据存储模块从低级到高级的顺序,是其读写速度从快速到慢速的顺序,因此优先从读写速度快的数据存储模块中调度出需要的代码块,可以提升资源调度的效率。
需要指出,代码块A是从数据存储模块A调度出来的、代码块C从数据存储模块B调度出来的、代码块F从数据存储模块C调度出来的,因此数据存储模块A、数据存储模块B与数据存储模块C均确定为候选代码块组合A对应的种子资源池。应理解,种子资源池是用于为候选资源组合提供需要调度的资源的资源池,若存在另外的数据存储模块D,而数据存储模块D却并未向候选代码块组合A提供资源,则数据存储模块D不能确定为候选代码块组合A对应的种子资源池。
参照图4C,一些实施例中,当目标任务涉及实体资源的调度。例如:为满足一个物料需求,从各地的储货仓中调拨物料;在此类业务场景下,资源池即为“储蓄有物料的储货仓”,具体可以包括储货仓A、储货仓B、储货仓C。其中,基于每一储货仓与物料缺口之间距离来划分其等级,与物料缺口之间距离最近的储货仓A为低级、与物料缺口之间距离中等的储货仓B为中级、与物料缺口之间距离最远的储货仓C为高级。
如此一来,针对每个候选资源组合,可以基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。具体可以是:
针对候选物料组合A,基于候选物料组合A中的3类物料与各类物料的数量,即{[物料A,33];[物料C,45];[物料F,48]},先搜索低级的储货仓A得到15个物料A和20个物料C,再搜索中级的储货仓B得到18个物料A、10个物料C和20个物料F,进一步搜索高级的储货仓C得到15个物料C和28个物料F。应理解,储货仓从低级到高级的顺序,是储货仓与物料缺口之间距离从近到远的顺序,因此优先从距离较近的储货仓中调度出需要的物料,可以提升资源调度的效率。
需要指出,物料A是从储货仓A调度出来的、物料C从储货仓B调度出来的、物料F从储货仓C调度出来的,因此储货仓A、储货仓B与储货仓C均确定为候选物料组合A对应的种子资源池。应理解,种子资源池是用于为候选资源组合提供需要调度的资源的资源池,若存在另外的储货仓D,而储货仓D却并未向候选物料组合A提供资源,则储货仓D不能确定为候选物料组合A对应的种子资源池。
在步骤330中,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。需要说明的是,在确定出多个种子资源池之后,要进一步通过步骤330来在多个种子资源池中确定用于满足资源调度请求的目标资源池。需要指出,基于多个候选资源组合中任一个候选资源组合进行资源调度,都可以满足目标任务的资源调度请求,然而,满足资源调度请求在其调度效果上存在差异。因此,需要根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。
一些较为具体的实施例中,当目标任务涉及虚拟资源的调度时。例如:为构建一个应用程序,需要从不同的数据存储模块中调用代码块。其中数据存储模块即资源池,基于每一数据存储模块的读写速度来划分其等级,读写速度最快的数据存储模块A为低级、读写速度中等的数据存储模块B为中级、读写速度最慢的数据存储模块C为高级。在此类业务场景下,若基于候选代码块组合A来进行资源调度,将从数据存储模块A中获取代码块;若基于候选代码块组合B来进行资源调度,将从数据存储模块B和数据存储模块C中获取代码块。鉴于数据存储模块A的等级低于数据存储模块B、数据存储模块C,读写速度更快,因此将数据存储模块A确定为用于满足资源调度请求的目标资源池,能够提升资源调度的效率。
另一些较为具体的实施例中,当目标任务涉及实体资源的调度。例如:为满足一个物料需求,从各地的储货仓中调拨物料。其中储货仓即资源池,基于每一储货仓与物料缺口之间的距离来划分其等级,与物料缺口之间距离最近的储货仓A为低级、与物料缺口之间距离中等的储货仓B为中级、与物料缺口之间距离最远的储货仓C为高级。在此类业务场景下,若基于候选物料组合A来进行资源调度,将从储货仓A中获取物料;若基于候选物料组合B来进行资源调度,将从储货仓B和储货仓C中获取物料。鉴于储货仓A的等级低于储货仓B、储货仓C,与物料缺口之间距离更近,因此将储货仓A确定为用于满足资源调度请求的目标资源池,能够提升资源调度的效率。
参照图4D示出的实施例,响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合,具体包括候选资源组合A、候选资源组合B、候选资源组合C、候选资源组合D、候选资源组合E、候选资源组合F。
进一步,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。应理解,资源池等级A、资源池等级B、资源池等级C、资源池等级D的等级依次升高,其中资源池等级A的资源池包括资源池A1、资源池A2、资源池A3等,资源池等级B的资源池包括资源池B1、资源池B2、资源池B3等,资源池等级C的资源池包括资源池C1、资源池C2、资源池C3等,资源池等级D的资源池包括资源池D1、资源池D2、资源池D3等。应理解,每一候选资源组合可以确定出多个对应的种子资源池。
需要说明的是,某一候选资源组合对应的多个种子资源池的集合可以称为种子资源池集合。具体而言,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合A对应的种子资源池集合A、确定候选资源组合B对应的种子资源池集合B、确定候选资源组合C对应的种子资源池集合C、确定候选资源组合D对应的种子资源池集合D、确定候选资源组合E对应的种子资源池集合E、确定候选资源组合F对应的种子资源池集合F。
再进一步,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。图4D示出的本公开实施例中,候选资源组合B对应的种子资源池被确定为是目标资源池,因此种子资源池集合B中具体包含的资源池A1、资源池B2和资源池C3这三个种子资源池,也随即被确定为用于满足资源调度请求的目标资源池。
需要强调,本公开资源调度方法的具体实施方式多种多样,不限于上述图4D举出的具体实施例。
通过步骤310至步骤330示出的本公开实施例,资源调度方法需要响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合;其中,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目。然后,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。因此,目标任务对应的每一个候选资源组合都可以确定出一系列对应的种子资源池。进一步,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。需要指出,由于本公开资源调度方法是依照各个候选资源组合对应的种子资源池的级别来确定满足资源调度请求的目标资源池,因而会具备较快的速度响应目标任务的资源调度请求,如此一来,便能够提高资源调度效率。以上方案能够针对较为多变的应用场景,合理确定用于满足资源调度请求的目标资源池,因此资源调度的灵活度较高。
步骤320的详细描述
参照图5,本公开提供的一些实施例中,多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和存储资源在各种通用类型下的资源数目。步骤320可以包括,但不限于下述步骤510至步骤520。
步骤510,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池;
步骤520,如果多级资源池中的一个待考察资源池,针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,则在待考察资源池中确定种子资源池。
下面对步骤510至步骤520进行详细描述。
在步骤510中,针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池。需要说明的是,为了从多级资源池中确定出为候选资源组合提供需要调度的资源的种子资源池,需要针对每个候选资源组合来搜索多级资源池,而搜索多级资源池所遵循的依据则是各级资源池的等级,按照从低级到高级的顺序搜索。需要强调,资源池的等级可以有多种多样的评级基准。
在步骤520中,如果多级资源池中的一个待考察资源池,针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,则在待考察资源池中确定种子资源池。需要说明的是,待考察资源池指的是搜索多级资源池以确定种子资源池的过程中待搜索的资源池。当待考察资源池可以满足候选资源组合中的每种目标资源的目标资源数目,并且每一种目标资源都能用单种通用类型下的资源数目去满足,则可以在待考察资源池中确定种子资源池。
需要明确的是,通用类型指的是某一目标资源的通用类型,同一通用类型的目标资源可以混用、不同通用类型的目标资源不能混用。一些情形下,某一资源池存储的资源不一定可以符合资源调度请求对每一资源细分种类的需求,同一通用类型下各个资源可以相互替代、起到相同作用,因此在资源池无法符合资源调度请求对每一资源细分种类的需求的情况下,利用同一通用类型下各个资源进行平等替换,同样可以满足资源调度请求,如此便能提高资源调度的灵活度。
一些实施例中,当目标资源是代码块时,通用类型A下包括用于实现功能A的代码块A1、代码块A2、代码块A3;通用类型B下包括用于实现功能B的代码块B1、代码块B2、代码块B3。其中,通用类型A下的代码块A1、代码块A2、代码块A3在作用上可以互相取代,当资源调度请求需要通用类型A的代码块,可以在数据存储模块中调用代码块A1、代码块A2、代码块A3中的任一种作为目标资源进行调度,即使数据存储模块中并未存储有代码块A1,只要数据存储模块中存储有代码块A2或者代码块A3,就可以满足资源调度请求。而通用类型B下的代码块B1、代码块B2、代码块B3,则不能满足资源调度请求对通用类型A代码块的需要。
另一些实施例中,当目标资源是线缆时,通用类型A下包括型号A1、型号A2、型号A3三种线缆;通用类型B下包括型号B1、型号B2、型号B3三种线缆。其中,通用类型A下的型号A1、型号A2、型号A3的线缆可以混用,当型号A1线缆储量不足、难以满足资源调度请求时,可以用型号A2线缆或者型号A3线缆进行补货,以满足资源调度请求,通用类型B下型号B1、型号B2、型号B3三种线缆则不能用于对型号A1线缆储量的不足进行补货。
应理解,如果某一个待考察资源池针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,意味着该待考察资源池可以一次性满足资源调度请求。本公开实施例为提高资源调度的效率,可以将一次性满足资源调度请求确定为种子资源池。一些实施例中,多级资源池中也可以存在多个能够一次性满足资源调度请求的待考察资源池,此时就需要从多个待考察资源池中确定种子资源池。
需要强调,步骤510至步骤520示出的本公开实施例中如果多级资源池中的一个待考察资源池,针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,则待考察资源池能够一次性满足资源调度请求。也因其能够一次性满足资源调度请求,将其确定为种子资源池,有助于进一步提高资源调度的效率。
参照图6提供的一些本公开实施例,示出了如果多级资源池中的一个待考察资源池,针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足的情形。具体而言,资源调度请求中有候选资源组合A、候选资源组合B、候选资源组合C,其中每一候选资源组合都具有对应的多种目标资源、与需要满足的目标资源数目,候选资源组合A需要3个目标资源A、4个目标资源C以及5个目标资源D,候选资源组合B需要2个目标资源B、5个目标资源D以及8个目标资源E,候选资源组合C需要30个目标资源A、40个目标资源F。
可以明确,针对目标资源A、目标资源B、目标资源C、目标资源D、目标资源E、目标资源F中的每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,意味着待考察资源池中与目标资源A相同通用类型的资源至少存储有33个、与目标资源B相同通用类型的资源至少存储有2个、与目标资源C相同通用类型的资源至少存储有4个、与目标资源D相同通用类型的资源至少存储有10个、与目标资源E相同通用类型的资源至少存储有8个、与目标资源F相同通用类型的资源至少存储有40个。
在此基础上,基于各种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,可以确定出多级资源池中存在待考察资源池A1、待考察资源池B2,能够针对目标资源A、目标资源B、目标资源C、目标资源D、目标资源E、目标资源F中的每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足。因此,可以在待考察资源池A1与待考察资源池B2中确定出种子资源池。
参照图7,本公开提供的一些实施例中,步骤520可以包括,但不限于下述步骤710至步骤720。
步骤710,如果待考察资源池的数目为一个,将待考察资源池确定为种子资源池;
步骤720,如果待考察资源池的数目为二个以上,基于二个以上待考察资源池的级别确定种子资源池。
下面对步骤710至步骤720进行详细描述。
在步骤710中,如果待考察资源池的数目为一个,将待考察资源池确定为种子资源池。需要强调,待考察资源池指的是搜索多级资源池以确定种子资源池的过程中,待搜索的资源池。需要说明的是,如果多级资源池中只有一个待考察资源池,意味着多级资源池中只有一个资源池可以用于满足资源调度请求,因此,可以将这一个待考察资源池确定为种子资源池。
在步骤720中,如果待考察资源池的数目为二个以上,基于二个以上待考察资源池的级别确定种子资源池。需要说明的是,如果多级资源池中的待考察资源池的数目为二个以上,意味着多级资源池中有两个以上的资源池可以用于满足资源调度请求,则需要在这二个以上的待考察资源池中基于级别来确定出种子资源池。
通过步骤710至步骤720示出的本公开实施例,指出了当多级资源池中只有一个待考察资源池可以满足资源调度请求时,将这一待考察资源池确定为种子资源池,可以降低资源调度过程中产生的经济成本与时间成本、提高资源调度效率。而当多级资源池中有两个以上的待考察资源池可以满足资源调度请求时,则需要依照资源池的级别来从这两个以上的待考察资源池中筛选出较优的选择,来进一步降低资源调度过程中产生的经济成本与时间成本、提高资源调度效率。
参照图8,本公开提供的一些实施例中,步骤720可以包括,但不限于下述步骤810至步骤830。
步骤810,如果待考察资源池的数目为二个以上,将二个以上待考察资源池中级别低的待考察资源池确定为种子资源池;
步骤820,如果待考察资源池的数目为二个以上,且二个以上待考察资源池的级别相同,确定二个以上待考察资源池的调度返还量,并基于调度返还量确定种子资源池;
步骤830,如果二个以上待考察资源池的调度返还量相同,基于二个以上待考察资源池的资源池类型确定种子资源池。
下面对步骤810至步骤830进行详细描述。
在步骤810中,如果待考察资源池的数目为二个以上,将二个以上待考察资源池中级别低的待考察资源池确定为种子资源池。需要强调,待考察资源池指的是搜索多级资源池以确定种子资源池的过程中,待搜索的资源池。需要说明的是,如果待考察资源池的数目为二个以上,并且这二个以上待考察资源池对应的等级存在差异。则可以依照待考察资源池的等级来从这两个以上的待考察资源池中筛选出较优的选择,进一步降低资源调度过程中产生的经济成本与时间成本、提高资源调度效率。
在步骤820中,如果待考察资源池的数目为二个以上,且二个以上待考察资源池的级别相同,确定二个以上待考察资源池的调度返还量,并基于调度返还量确定种子资源池。需要说明的是,如果待考察资源池的数目为二个以上,并且这二个以上待考察资源池对应等级是级别相同的,那么则需要通过确定二个以上待考察资源池的调度返还量,来基于调度返还量筛选出较优的选择。需要指出,调度返还量指的是利用资源池的储量进行资源调度过程中需要返还资源池的结余量。应理解,调度返还量因资源池储量未能恰好满足资源调度请求而产生。因此,待考察资源池的调度返还量越小,意味着将结余资源返还给资源池的开销越低。可以明确,二个以上待考察资源池的级别相同时,确定二个以上待考察资源池的调度返还量,并基于调度返还量确定种子资源池,有助于降低资源调度过程中产生的经济成本与时间成本、提高资源调度效率。
在步骤830中,如果二个以上待考察资源池的调度返还量相同,基于二个以上待考察资源池的资源池类型确定种子资源池。需要说明的是,如果待考察资源池的数目为二个以上、这二个以上待考察资源池对应等级是级别相同的,并且这二个以上待考察资源池的调度返还量也相同,那么则需要基于二个以上待考察资源池的资源池类型确定种子资源池。需要指出,资源池类型可以由多种分类标准,例如依据容量规模进行划分的资源池类型、依据储蓄余量进行划分的资源池类型、依据资源调度权限划分的资源池类型以及其他各种各样的资源池类型。
通过步骤810至步骤830示出的本公开实施例,为了从二个以上待考察资源池确定出种子资源池,需要先依照资源池级别来对这二个以上待考察资源池进行择优,从中选出级别较低的待考察资源池确定为种子资源池;如果这二个以上待考察资源池对应等级是级别相同的,再依照调度返还量来对这二个以上待考察资源池进行择优;如果这二个以上待考察资源池对应等级是级别相同的,且调度返还量也是相同的,再基于二个以上待考察资源池的资源池类型进行择优,最终确定种子资源池。如此一来,便能够从二个以上待考察资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的种子资源池。
参照图9,一些实施例中需要对多级资源池进行搜索。如果待考察资源池的数目为一个,将待考察资源池确定为种子资源池。如果待考察资源池的数目为二个以上,具体而言,资源池等级A、资源池等级B、资源池等级C、资源池等级D的等级依次升高,其中资源池等级A的资源池包括资源池A1、资源池A2、资源池A3等,资源池等级B的资源池包括资源池B1、资源池B2、资源池B3等,资源池等级C的资源池包括资源池C1、资源池C2、资源池C3等,资源池等级D的资源池包括资源池D1、资源池D2、资源池D3等。
本公开实施例中,如果待考察资源池的数目为二个以上,则需要先依照资源池级别来对这二个以上待考察资源池进行择优,从资源池等级A、资源池等级B、资源池等级C、资源池等级D中选出级别较低的待考察资源池确定为种子资源池。
若只有资源池等级B对应的资源池B1、资源池B2、资源池B3、资源池B4等多个待考察资源池能够满足资源调度请求,则这二个以上待考察资源池对应等级是级别相同的,需要进一步依照调度返还量来对这二个以上待考察资源池进行择优,确定种子资源池。
若资源池B2、资源池B5、资源池B8、资源池B9、资源池B11、资源池B14等多个待考察资源池能够满足资源调度请求的同时还具备相同的调度返还量,此时需要基于资源池B2、资源池B5、资源池B8、资源池B9、资源池B11、资源池B14等多个待考察资源池对应的资源池类型来确定种子资源池。
如此一来,便能够从二个以上待考察资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的种子资源池。
参照图10,本公开提供的一些实施例中,步骤820确定二个以上待考察资源池的调度返还量,可以包括,但不限于下述步骤1010至步骤1060。
步骤1010,获取待考察资源池的多个资源容器的资源容器容量;
步骤1020,将多个资源容器按照资源容器容量的大小从大到小排序;
步骤1030,将排序最前的资源容器确定为待考察资源容器,将目标资源数目确定为未调度资源数目;
步骤1040,执行第一过程,第一过程包括:用未调度资源数目模待考察资源容器的资源容器容量的余数,更新未调度调用数目,用排序中的下一个资源容器,更新待考察资源容器;
步骤1050,重复第一过程,直到待考察资源容器为空;
步骤1060,基于未调度资源数目,确定调度返还量。
下面对步骤1010至步骤1060进行详细描述。
在步骤1010中,获取待考察资源池的多个资源容器的资源容器容量。需要说明的是,待考察资源池中各个资源具体可以通过资源容器来存储,每一个资源容器能够存储一定数量的资源。需要指出,资源容器容量为资源容器可供存储的资源数量,由于不同资源容器可供存储的资源数量不尽相同,因此不同资源容器的资源容器容量也可能存在差异。
在步骤1020中,将多个资源容器按照资源容器容量的大小从大到小排序。需要说明的是,将多个资源容器按照资源容器容量的大小从大到小排序,其目的在于,以便在后续步骤中依据这一排序进行资源调度,并确定待考察资源池对应的调度返还量,其中排序最前的资源容器即为资源容器容量最大的资源容器。
在步骤1030至步骤1050中,将排序最前的资源容器确定为待考察资源容器,将目标资源数目确定为未调度资源数目。进一步,执行第一过程,第一过程包括:用未调度资源数目模待考察资源容器的资源容器容量的余数,更新未调度调用数目,用排序中的下一个资源容器,更新待考察资源容器,并重复第一过程,直到待考察资源容器为空。需要强调的是,将多个资源容器按照资源容器容量的大小从大到小排序,其中排序最前的资源容器即为资源容器容量最大的资源容器。在此基础上,为了满足资源调度请求,需要先将排序最前的资源容器确定为待考察资源容器,将目标资源数目确定为未调度资源数目,然后基于待考察资源容器与未调度资源数目执行第一过程,对待考察资源容器与未调度资源数目进行更新。需要指出,第一过程中需要先用未调度资源数目模待考察资源容器的资源容器容量的余数。应理解,由于未调度资源数目往往会大于单一待考察资源容器的资源容器容量,因此待考察资源容器的资源容器容量,一般情况下只能满足一部分未调度资源数目,难以一次性满足未调度资源数目。因此,需要在未调度资源数目、待考察资源容器的资源容器容量之间进行取模运算,即可求出当前待考察资源容器尚不能满足未调度资源数目所对应的余数。由于待考察资源容器的资源容器容量满足了一部分未调度资源数目,因此再进一步,对未调度调用数目进行更新,然后为了确定下一个资源容器的资源容器容量能够满足多少更新后的未调度调用数目,需要用排序中的下一个资源容器,更新待考察资源容器,并重复第一过程,直到待考察资源容器为空。应理解,每一轮第一过程都需要用排序中的下一个资源容器,更新待考察资源容器,相当于用下一个资源容器替换当前资源容器作为更新后的待考察资源容器的过程,当待考察资源容器为空,也即不存在下一个资源容器,意味着排序中的各个资源容器遍历完成。
在步骤1060中,基于未调度资源数目,确定调度返还量。需要说明的是,通过步骤1030至步骤1050直到待考察资源容器为空,即可实现对排序中的各个资源容器的尽数遍历,此时的未调度资源数目也就成为排序中各个资源容器不一定能够正好满足的资源数目。故此,可以基于未调度资源数目与排序中具备最小资源容器容量的资源容器的进行比对,进而确定出资源调度过程中需要返还资源池的调度返还量。
通过步骤1010至步骤1050示出的本公开实施例,示出了确定待考察资源池的调度返还量的一系列可行步骤。各个步骤中,先用资源容器容量较大来满足目标资源数目,然后再用资源容器容量较大满足剩余的目标资源数目,直至最小资源容器容量的资源容器也无法完整满足目标资源数目,即可确定出需要返还资源池的调度返还量。如此一来,为从二个以上待考察资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的种子资源池提供了便利。
参照图11A至图11D提供的一些较为具体的本公开实施例,示出了确定待考察资源池的调度返还量的可选过程。
图11A中,待考察资源池包括资源容器A、资源容器B、资源容器C、资源容器D、资源容器E、资源容器F,将多个资源容器按照资源容器容量的大小从大到小排序,得到依次排列的资源容器E、资源容器C、资源容器B、资源容器A、资源容器D、资源容器F。进一步,将排序最前的资源容器E确定为待考察资源容器,将目标资源数目120确定为未调度资源数目,开始执行第一过程。其中,第一轮次的第一过程,需要先确定待考察资源容器的资源容器容量,也即资源容器E中的资源容器容量50,并用未调度资源数目120与待考察资源容器的资源容器容量50进行取模运算:120%50,求得余数20。
求得余数20之后,将未调度资源数目更新为20,并用排序中的下一个资源容器C更新待考察资源容器。
图11B中,待考察资源容器即为资源容器C,未调度资源数目即为20。在此基础上,进行新一轮的第一过程。先确定资源容器C中的资源容器容量25,并用未调度资源数目20与待考察资源容器的资源容器容量25进行取模运算:20%25,求得余数20。需要指出,资源容器C的资源容器容量25是大于未调度资源数目20的,因此这一轮第一过程并没有对未调度资源数目作出变动。
求得余数20之后,将未调度资源数目更新为20,并用排序中的下一个资源容器B更新待考察资源容器。
图11C中,待考察资源容器即为资源容器B,未调度资源数目即为20。在此基础上,进行新一轮的第一过程。先确定资源容器B中的资源容器容量15,并用未调度资源数目20与待考察资源容器的资源容器容量15进行取模运算:20%15,求得余数5。需要指出,资源容器C的资源容器容量15是小于未调度资源数目20的,因此这一轮第一过程将未调度资源数目20调整为未调度资源数目5。
将未调度资源数目更新为5之后,用排序中的下一个资源容器A更新待考察资源容器。按照如上方式,重复第一过程。
图11D中,直到资源容器F对应的第一过程结束,待考察资源容器更新为空。需要说明,资源容器A的资源容器容量12、资源容器D的资源容器容量10、资源容器F的资源容器容量8均大于未调度资源数目5的,因此这三轮第一过程并没有对未调度资源数目5作出变动。可以明确,第一过程结束后对应的未调度资源数目为5。此时,需要更进一步基于未调度资源数目与排序中具备最小资源容器容量的资源容器的进行比对,即可确定出资源调度过程中需要返还资源池的调度返还量。具体而言,基于未调度资源数目为5,排序中具备最小资源容器容量8的资源容器为资源容器F。为了使得目标资源数目可以被满足,需要将资源容器容量为8的资源容器F用于满足剩余的未调度资源数目5,此情形下,相对应需要返还资源池的调度返还量即为:8-5=3,因此本公开实施例中调度返还量为3。
应理解,确定待考察资源池的中调度返还量的实施方式多种多样,可以包括,但是不限于上述举出的具体实施例。
参照图12,本公开提供的一些实施例中,步骤1060可以包括,但不限于下述步骤1210至步骤1230。
步骤1210,获取待考察资源池的离散资源数目;
步骤1220,如果离散资源数目大于未调度资源数目,确定调度返还量为0;
步骤1230,如果离散资源数目不大于未调度资源数目,用排最后的资源容量的资源容器容量减去未调度资源数目,得到调度返还量。
下面对步骤1210至步骤1230进行详细描述。
在步骤1210中,获取待考察资源池的离散资源数目。需要说明的是,离散资源数目指的是待考察资源池中存储的离散资源的数目。可以明确,按照资源容器容量从小到大排序的各个资源容器不一定能够正好满足目标资源数目。具体而言,在对排序中的各个资源容器的尽数遍历之后目标资源数目仍然尚未满足,若使用排序中具备最小资源容器容量的资源容器满足目标资源数目,补给目标资源数目的资源会超出未调度资源数目,从而产生了需要返还资源池的调度返还量。待考察资源池中存储的离散资源正是用于应对这种情况,在在对排序中的各个资源容器的尽数遍历之后目标资源数目仍然尚未满足时,根据未调度资源数目来从待考察资源池中确定离散资源,以实现正好满足目标资源数目。
在步骤1220中,如果离散资源数目大于未调度资源数目,确定调度返还量为0。需要说明的是,如果离散资源数目大于未调度资源数目,则意味着从待考察资源池中存储的多个离散资源中,可以选出未调度资源数目个资源,以满足目标资源数目,那么目标资源数目正好满足,即可确定调度返还量为0。
在步骤1230中,如果离散资源数目不大于未调度资源数目,用排序最后的资源容量的资源容器容量减去未调度资源数目,得到调度返还量。 需要说明的是,如果离散资源数目不大于未调度资源数目,意味着考察资源池中存储的多个离散资源就算都补给目标资源数目,也无法使目标资源数目得到满足。此情形下,就需要用排序最后的资源容量,也就是排序中具备最小资源容器容量的资源容器,以其资源容器容量来满足目标资源数目。其中,补给目标资源数目的资源将会超出未调度资源数目,因此可以通过排序最后的资源容量的资源容器容量减去未调度资源数目,来得到调度返还量。以便于在两个以上待考察资源池中,基于调度返还量来进行择优。需要指出,由于调度返还量越小时,将资源返还资源池的开销也将越小,因此在两个以上待考察资源池中,调度返还量更小的待考察资源池可以被确定是更好的选择。
通过步骤1210至步骤1230示出的本公开实施例。为了减少将资源返还资源池的开销,需要优先判断待考察资源池中的离散资源数目是否能够覆盖未调度资源数目。若离散资源数目能够覆盖未调度资源数目,从待考察资源池中确定未调度资源数目个离散资源,用于正好满足目标资源数目;若离散资源数目不足以覆盖未调度资源数目,则需要用到排序中具备最小资源容器容量的资源容器来满足目标资源数目,而此时由于补给目标资源数目的资源将会超出未调度资源数目,因此可以通过排序最后的资源容量的资源容器容量减去未调度资源数目,来得到调度返还量。如此一来,便可以在二个以上待考察资源池等级相同的情况下,依照调度返还量来对这二个以上待考察资源池进行择优,能够从二个以上待考察资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的种子资源池。
参照图13提供的一些本公开实施例,示出了确定调度返还量的示例图。当待考察资源池包括资源容器A、资源容器B、资源容器C、资源容器D、资源容器E、资源容器F这六个资源容器,以及离散资源A、离散资源B、离散资源C、离散资源D等多个离散资源。需要指出,基于目标资源数目遍历待考察资源池中的资源容器A、资源容器B、资源容器C、资源容器D、资源容器E、资源容器F,其中各个资源容器不一定能够正好满足目标资源数目,因此可以得到未调度资源数目。为了进一步确定出待考察资源池对应的调度返还量,需要先获取待考察资源池的离散资源数目,然后将离散资源数目与未调度资源数目进行比对,如果离散资源数目大于未调度资源数目,确定调度返还量为0,如果离散资源数目不大于未调度资源数目,用排最后的资源容量的资源容器容量减去未调度资源数目,即可得到调度返还量。如此一来,便可以在二个以上待考察资源池等级相同的情况下,依照调度返还量来对这二个以上待考察资源池进行择优,能够从二个以上待考察资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的种子资源池。
参照图14,本公开提供的一些实施例中,步骤320还可以包括,但不限于下述步骤1410至步骤1420。
步骤1410,如果多级资源池中的任一个存储资源池,都不能针对每种目标资源的目标资源数目,用单种通用类型下的资源数目去满足,则在级别最低的存储资源池中,选择一个用单种通用类型下的资源数目去满足目标资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池,将单种通用类型作为目标通用类型,将用单种通用类型下的资源数目去满足目标资源数目后仍未满足的资源数目作为剩余资源数目。
步骤1420,在级别最低的其它存储资源池中,选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的另一个存储资源池,作为一个种子资源池,并用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目,直到遍历完级别最低的存储资源池。
下面对步骤1410至步骤1420进行详细描述。
在步骤1410中,如果多级资源池中的任一个存储资源池,都不能针对每种目标资源的目标资源数目,用单种通用类型下的资源数目去满足,则在级别最低的存储资源池中,选择一个用单种通用类型下的资源数目去满足目标资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池,将单种通用类型作为目标通用类型,将用单种通用类型下的资源数目去满足目标资源数目后仍未满足的资源数目作为剩余资源数目。需要指出,资源池的等级可以有多种多样的评级基准,资源池的等级从低级到高级,其资源调度所带来的开销依次升高。
需要强调的是,通用类型指的是某一目标资源的通用类型,同一通用类型的目标资源可以混用、不同通用类型的目标资源不能混用。一些情形下,某一资源池存储的资源不一定可以符合资源调度请求对每一资源细分种类的需求,同一通用类型下各个资源可以相互替代、起到相同作用,因此在资源池无法符合资源调度请求对每一资源细分种类的需求的情况下,利用同一通用类型下各个资源进行平等替换,同样可以满足资源调度请求,如此便能提高资源调度的灵活度。
因此,本公开实施例中如果多级资源池中的一个待考察资源池,针对每种目标资源的目标资源数目,都能用单种通用类型下的资源数目去满足,则在待考察资源池中确定种子资源池。然而,如果多级资源池中的任一个存储资源池,都不能针对每种目标资源的目标资源数目,用单种通用类型下的资源数目去满足,则需要通过其他方式来确定种子资源池。
一些较为具体的实施例中,可以在级别最低的存储资源池中,选择一个用单种通用类型下的资源数目去满足目标资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池;其目的在于,先用级别最低的存储资源池尽可能多地满足单种通用类型下的资源数目,确定出对应资源的缺失额,然后将缺失额最小的一个存储资源池确定为一个种子资源池。由于资源池的等级从低级到高级,其资源调度所带来的开销依次升高,通过这种方式来确定种子资源池,有助于拉低资源调度的总体开销、提升资源调度效率。
进一步,将单种通用类型作为目标通用类型,将用单种通用类型下的资源数目去满足目标资源数目后仍未满足的资源数目作为剩余资源数目,以便后续步骤作出剩余资源的调度,以补足目标资源数目。
在步骤1420中,在级别最低的其它存储资源池中,选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的另一个存储资源池,作为一个种子资源池,并用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目,直到遍历完级别最低的存储资源池。
需要说明的是,在将单种通用类型作为目标通用类型,将用单种通用类型下的资源数目去满足目标资源数目后仍未满足的资源数目作为剩余资源数目之后,为了进一步补足目标资源数目,需要从级别最低的其它存储资源池确定出用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的另一个存储资源池。其原因在于,从级别最低的其它存储资源池确定另一个存储资源池,有助于拉低资源调度的总体开销、提升资源调度效率,并且进一步提高了对目标资源数目的补足效率,需要选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的另一个存储资源池,作为一个种子资源池。若这两个存储资源池仍然不能补足目标资源数目,则需要用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目,在级别最低的其它存储资源池中寻找下一个用于提供目标资源的种子资源池,直到遍历完级别最低的存储资源池。
经由步骤1410至步骤1420示出的本公开实施例,由于资源池的等级从低级到高级,其资源调度所带来的开销依次升高,因此优先在级别最低的多个存储资源池中确定种子资源池,有助于拉低资源调度的总体开销、提升资源调度效率,并且进一步提高了对目标资源数目的补足效率。
参照图15A至图15B提供的一些本公开实施例,示出了如果多级资源池中的任一个存储资源池,都不能针对每种目标资源的目标资源数目,用单种通用类型下的资源数目去满足的情形。应理解,资源池等级A、资源池等级B、资源池等级C、资源池等级D的等级依次升高,其中资源池等级A的资源池包括资源池A1、资源池A2、资源池A3等,资源池等级B的资源池包括资源池B1、资源池B2、资源池B3等,资源池等级C的资源池包括资源池C1、资源池C2、资源池C3等,资源池等级D的资源池包括资源池D1、资源池D2、资源池D3等。
参照图15A,具体而言,资源调度请求中的候选资源组合A,需要345个目标资源A、需要425个目标资源C、需要540个目标资源D。多级资源池中的任一个存储资源池,都不能针对每种目标资源的目标资源数目,用单种通用类型下的资源数目去满足。此时,需要从级别最低的存储资源池,也就是资源池等级A的资源池A1、资源池A2、资源池A3、资源池A4中,选择一个用单种通用类型下的资源数目去满足目标资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池。可以明确,由于资源池A1能够最大程度地满足各种目标资源数目,其满足目标资源数目后对应的缺失额最小。因此,将资源池A1确定为种子资源池。而后将单种通用类型作为目标通用类型,将用单种通用类型下的资源数目去满足目标资源数目后仍未满足的资源数目作为剩余资源数目。其中,剩余资源与剩余资源数目具体为:[目标资源A,45]、[目标资源C,25]、[目标资源D,190]。
参照图15B,在确定了剩余资源与剩余资源数目之后,进一步在级别最低的其它存储资源池中,选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的另一个存储资源池,作为一个种子资源池。由于级别最低的其它存储资源池:资源池A2、资源池A3、资源池A4中,资源池A3能够最大程度地满足各种剩余资源数目,其满足剩余资源数目后对应的缺失额最小。缺失额可以由剩余资源数目减去对应资源池中存储的资源数目得到,具体为:[目标资源A,5]、[目标资源C,0]和[目标资源D,90]。因此,用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的资源池A2,即可确定为另一个种子资源池。另外,用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目。
按照上述方式遍历完级别最低的存储资源池,即可确定出多个种子资源池。如此一来,确定出的多个种子资源池有助于拉低资源调度的总体开销、提升资源调度效率,并且进一步提高了对目标资源数目的补足效率。
参照图16,在步骤1420遍历完级别最低的存储资源池之后,本公开实施例的资源调度方法还可以执行第二过程,第二过程可以包括,但不限于下述步骤1610至步骤1630。
步骤1610,如果遍历完级别最低的存储资源池,剩余资源数目仍然不为0,将倒数第二级作为目标级,在目标级的存储资源池中进行遍历;
步骤1620,在未遍历的存储资源池中,选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池;
步骤1630,用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目,直到遍历完目标级的存储资源池,并以目标级的上一级更新目标级,重复第二过程,直到达到最高级。
下面对步骤1610至步骤1630进行详细描述。
在步骤1610至步骤1630中,如果遍历完级别最低的存储资源池,剩余资源数目仍然不为0,将倒数第二级作为目标级,在目标级的存储资源池中进行遍历;进一步,在未遍历的存储资源池中,选择一个用目标通用类型下的资源数目去满足剩余资源数目后的缺失额最小的一个存储资源池,作为一个种子资源池;再进一步,用目标通用类型下的资源数目去满足剩余资源数目后仍未满足的资源数目更新剩余资源数目,直到遍历完目标级的存储资源池,并以目标级的上一级更新目标级,重复第二过程,直到达到最高级。
需要强调的是,资源池的等级可以有多种多样的评级基准,资源池的等级从低级到高级,其资源调度所带来的开销依次升高。因此,如果遍历完级别最低的存储资源池,剩余资源数目仍然不为0,则可以将倒数第二级作为目标级,在目标级的存储资源池中进行遍历。其目的在于,先用级别较低的存储资源池尽可能多地满足单种通用类型下的资源数目,确定出倒数第二级资源池对应资源的缺失额,然后将缺失额最小的一个存储资源池确定为一个种子资源池。针对倒数第二级按照如遍历级别最低的资源池的方式,进行遍历,对目标资源目标进行补足。由于资源池的等级从低级到高级,其资源调度所带来的开销依次升高,通过这种方式来确定种子资源池,有助于拉低资源调度的总体开销、提升资源调度效率。
同理,当倒数第二级资源池遍历完成之后,若剩余资源数目仍然不为0,则以目标级的上一级更新目标级,重复第二过程,直到达到最高级。需要指出,若剩余资源数目在对目标级资源池的过程中清零,则可以确定出用于提供目标资源的全部种子资源池。
经由1610至1630示出的本公开实施例,由于资源池的等级从低级到高级,其资源调度所带来的开销依次升高,因此优先在级别较低的多个存储资源池中确定种子资源池,有助于拉低资源调度的总体开销、提升资源调度效率,并且进一步提高了对目标资源数目的补足效率。
步骤330的详细描述
参照图17,步骤330可以包括,但不限于下述步骤1710至步骤1720。
步骤1710,如果每个候选资源组合对应于一个种子资源池,获取各个候选资源组合对应的种子资源池的级别;
步骤1720,将各个候选资源组合对应的种子资源池中级别最低的种子资源池,确定为目标资源池。
下面对步骤1710至步骤1720进行详细描述。
在步骤1710中,如果每个候选资源组合对应于一个种子资源池,获取各个候选资源组合对应的种子资源池的级别。需要说明的是,为了在多个种子资源池中确定用于满足资源调度请求的目标资源池,需要先获取各个候选资源组合对应的种子资源池的级别,以便于在多个种子资源池中择优筛选。
在步骤1720中,将各个候选资源组合对应的种子资源池中级别最低的种子资源池,确定为目标资源池。需要强调的是,基于多个候选资源组合中任一个候选资源组合进行资源调度,都可以满足目标任务的资源调度请求,然而,满足资源调度请求在其调度效果上存在差异。由于资源池的等级从低级到高级,其资源调度所带来的开销依次升高,因此本公开实施例将各个候选资源组合对应的种子资源池中级别最低的种子资源池确定为目标资源池,降低资源调度所产生的开销、提升资源调度效率。
通过步骤1710至步骤1720示出的本公开实施例,本公开实施例优先选择了等级最低的种子资源池并将其确定为目标资源池,有助于提高资源调度的效率。
参照图18,步骤1720可以包括,但不限于下述步骤1810至步骤1820。
步骤1810,如果级别最低的种子资源池为二个以上,确定二个以上种子资源池的调度返还量,并基于调度返还量确定目标资源池;
步骤1820,如果二个以上种子资源池的调度返还量相同,基于二个以上种子资源池的资源池类型确定目标资源池。
下面对步骤1810至步骤1820进行详细描述。
在步骤1810中,如果级别最低的种子资源池为二个以上,确定二个以上种子资源池的调度返还量,并基于调度返还量确定目标资源池。需要说明的是,如果级别最低的种子资源池为两个以上,意味着仅基于种子资源池的级别无法进一步作出择优筛选。在此基础上,可以确定二个以上种子资源池的调度返还量,并基于调度返还量择优筛选,确定出目标资源池。需要强调,调度返还量指的是利用资源池的储量进行资源调度过程中需要返还资源池的结余量。应理解,调度返还量因资源池储量未能恰好满足资源调度请求而产生。因此,待考察资源池的调度返还量越小,意味着将结余资源返还给资源池的开销越低。可以明确,如果级别最低的种子资源池为二个以上,确定二个以上种子资源池的调度返还量,并基于调度返还量确定目标资源池,有助于降低资源调度过程中产生的经济成本与时间成本、提高资源调度效率。
在步骤1820中,如果二个以上种子资源池的调度返还量相同,基于二个以上种子资源池的资源池类型确定目标资源池。需要说明的是,如果级别最低的种子资源池为两个以上,并且还存在二个以上种子资源池的调度返还量相同,意味着基于种子资源池的级别、基于种子资源池的调度返还量无法进一步作出择优筛选。需要强调,资源池类型可以由多种分类标准,例如依据容量规模进行划分的资源池类型、依据储蓄余量进行划分的资源池类型、依据资源调度权限划分的资源池类型以及其他各种各样的资源池类型。
通过步骤1810至步骤1820示出的本公开实施例,为了从二个以上种子资源池确定出目标资源池,需要先依照资源池级别来对这二个以上种子资源池进行择优,从中选出级别较低的种子资源池确定为目标资源池;如果这二个以上种子资源池对应等级是级别相同的,再依照调度返还量来对这二个以上种子资源池进行择优;如果这二个以上种子资源池对应等级是级别相同的,且调度返还量也是相同的,再基于二个以上种子资源池的资源池类型进行择优,最终确定目标资源池。如此一来,便能够从二个以上种子资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的目标资源池。
参照图19,根据本公开提供的一些实施例,资源池等级A、资源池等级B、资源池等级C、资源池等级D的等级依次升高,其中资源池等级A的资源池包括资源池A1、资源池A2、资源池A3等,资源池等级B的资源池包括资源池B1、资源池B2、资源池B3等,资源池等级C的资源池包括资源池C1、资源池C2、资源池C3等,资源池等级D的资源池包括资源池D1、资源池D2、资源池D3等。
候选资源组合A对应的种子资源池被囊括在种子资源池集合A中,包括资源池A1、资源池A2、资源池A3,对应的资源返还量为50,资源池类型是“大规模资源池”。
候选资源组合B对应的种子资源池被囊括在种子资源池集合B中,包括资源池A4、资源池A5、资源池A6,对应的资源返还量为25,资源池类型是“大规模资源池”。
候选资源组合C对应的种子资源池被囊括在种子资源池集合C中,包括资源池A7、资源池A8、资源池A9,对应的资源返还量为25,资源池类型是“大规模资源池”。
候选资源组合D对应的种子资源池被囊括在种子资源池集合D中,包括资源池B1、资源池B2、资源池B3,对应的资源返还量为25,资源池类型是“大规模资源池”。
图19示出了在多个种子资源池中确定目标资源池的可选实施方式:
为了从多个种子资源池确定出目标资源池,需要先依照资源池级别来对这多个种子资源池进行择优,从中选出级别较低的种子资源池确定为目标资源池。具体而言,由于种子资源池集合A、种子资源池集合B、种子资源池集合C的资源池等级都为资源池等级A,而候选资源组合D资源池等级为资源池等级B。在资源池等级A低于资源池等级B的前提下,基于资源池等级择优筛选出的种子资源池具体为种子资源池集合A、种子资源池集合B与种子资源池集合C中的种子资源池。
进一步,由于存在多个种子资源池对应等级是级别相同的,因此需要依照调度返还量来对这二个以上种子资源池进行择优。种子资源池集合A、种子资源池集合B与种子资源池集合C中,种子资源池集合A的调度返还量是50,而种子资源池集合B与种子资源池集合C的调度返还量25。因此,择优筛选出调度返还量为25的种子资源池集合B与种子资源池集合C。
再进一步,由于存在多个种子资源池对应等级是级别相同的,且调度返还量也是相同的,因此需要依照资源池类型来对这多个种子资源池进行择优。需要说明的是,一些实施例中,大规模资源池相较于小规模资源池具备更加完善的资源调度体系、更加规范的资源调度流程、更加高效的资源调度渠道。故此,依照资源池类型来对种子资源池集合B与种子资源池集合C进行择优,筛选出的是大规模资源池类型的种子资源池集合C。
可以明确,经由三层筛选过后,种子资源池集合C中的种子资源池随即被确定为目标资源池。种子资源池集合C对应的候选资源组合C,也将作为实际用于资源调度的资源组合,响应目标任务的资源调度请求。如此一来,便能够从二个以上种子资源池中筛选出有助于进一步降低资源调度成本、提高资源调度效率的目标资源池。
参照图20,步骤330还可以包括,但不限于下述步骤2010至步骤2020。
步骤2010,如果一部分候选资源组合对应于多个种子资源池,获取多个种子资源池中级别最高的一个种子资源池,作为筛选后种子资源池,对于对应于单个种子资源池的另一部分候选资源组合,将单个种子资源池作为筛选后种子资源池;
步骤2020,将各个候选资源组合对应的筛选后种子资源池中级别最低的种子资源池,确定为目标资源池。
下面对步骤2010至步骤2020进行详细描述。
需要说明的是,在根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池的过程中,如果一部分候选资源组合对应于多个种子资源池,并且这多个种子资源池的资源池等级并不一致,则可以通过步骤2010至步骤2020示出的本公开实施例来确定目标资源池。
在步骤2010至步骤2020中,如果一部分候选资源组合对应于多个种子资源池,获取多个种子资源池中级别最高的一个种子资源池,作为筛选后种子资源池,对于对应于单个种子资源池的另一部分候选资源组合,将单个种子资源池作为筛选后种子资源池。进一步,将各个候选资源组合对应的筛选后种子资源池中级别最低的种子资源池,确定为目标资源池。需要说明的是,候选资源组合的筛选后种子资源池用于对候选资源组合对应的种子资源池进行择优筛选。当候选资源组合对应于单个种子资源池,可以直接将单个种子资源池作为筛选后种子资源池。当候选资源组合对应于多个种子资源池,并且这多个种子资源池的资源池等级并不一致,则需要从这一候选资源组合对应的多个种子资源池中确定出级别最高的一个种子资源池,将其作为筛选后种子资源池。如此一来,不同的候选组合之间,则可以依照筛选后种子资源池,进行资源池等级的比较,以此来将各个候选资源组合对应的筛选后种子资源池中级别最低的种子资源池,确定为目标资源池。
通过步骤2010至步骤2020示出的本公开实施例,能够在候选资源组合对应于多个种子资源池,并且这多个种子资源池的资源池等级并不一致的情况下,根据各个候选资源组合对应的种子资源池的级别,实现在多个种子资源池中确定用于满足资源调度请求的目标资源池,有助于进一步降低资源调度成本、提高资源调度效率的目标资源池。
参照图21提供的一个本公开实施例,资源池等级A、资源池等级B、资源池等级C、资源池等级D的等级依次升高,其中资源池等级A的资源池包括资源池A1、资源池A2、资源池A3等,资源池等级B的资源池包括资源池B1、资源池B2、资源池B3等,资源池等级C的资源池包括资源池C1、资源池C2、资源池C3等,资源池等级D的资源池包括资源池D1、资源池D2、资源池D3等。
候选资源组合A对应的种子资源池被囊括在种子资源池集合A中,包括资源池D1;
候选资源组合B对应的种子资源池被囊括在种子资源池集合B中,包括资源池A2、资源池B3、资源池C4;
候选资源组合C对应的种子资源池被囊括在种子资源池集合C中,包括资源池B2、资源池B4、资源池C1;
候选资源组合D对应的种子资源池被囊括在种子资源池集合D中,包括资源池C2、资源池D2、资源池C3;
图21示出了在候选资源组合对应于多个种子资源池,并且这多个种子资源池的资源池等级并不一致的情况下,如何确定目标资源池的实施例,具体而言:
候选资源组合A对应于单个种子资源池,也即资源池D1,因此可以将单个种子资源池作为筛选后种子资源池;
候选资源组合B对应于资源池A2、资源池B3、资源池C4三个种子资源池,因此获取这三个种子资源池中级别最高的一个种子资源池,也即资源池A2,作为筛选后种子资源池;
候选资源组合C对应于资源池B2、资源池B4、资源池C1三个种子资源池,因此获取这三个种子资源池中级别最高的一个种子资源池,也即资源池B2、资源池B4,作为筛选后种子资源池;
候选资源组合B对应于资源池C2、资源池D2、资源池C3三个种子资源池,因此获取这三个种子资源池中级别最高的一个种子资源池,也即资源池C2、资源池C3,作为筛选后种子资源池;
进一步,将各个候选资源组合对应的筛选后种子资源池中级别最低的种子资源池,确定为目标资源池。具体而言,就是将资源池D1、资源池A2、资源池B2、资源池B4、资源池C2、资源池C3中级别最低的种子资源池,也就是资源池A2,确定为目标资源池。如此一来,能够在候选资源组合对应于多个种子资源池,并且这多个种子资源池的资源池等级并不一致的情况下,根据各个候选资源组合对应的种子资源池的级别,实现在多个种子资源池中确定用于满足资源调度请求的目标资源池,有助于进一步降低资源调度成本、提高资源调度效率的目标资源池。
步骤310之前的可行实施方式的详细描述
参照图22,根据本公开提供的一些实施例,在步骤310之前,本公开实施例的资源调度方法还可以包括,但是不限于下述步骤2210至步骤2230。
步骤2210,接收多个任务的资源调度请求,多个任务包括目标任务;
步骤2220,将多个任务放到任务队列中排队;
步骤2230,按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务。
下面对步骤2210至步骤2230进行详细描述。
在步骤2210中,接收多个任务的资源调度请求,多个任务包括目标任务。需要说明的是,在众多业务场景中,往往会存在多个任务需要调度资源。在此情形下,需要先接收多个任务的资源调度请求,以便后续步骤为各个任务调度资源。
在步骤2220至步骤2230中,将多个任务放到任务队列中排队,并按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务。需要说明的是,考虑到不同任务可能会使用到同一资源池中相同的资源,若同时对各个任务进行并行的资源调度,可能会带来资源竞争,影响资源调度的效率。为此,本公开实施例中需要将多个任务放到任务队列中排队,并按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务。
通过步骤2210至步骤2230示出的本公开实施例,接收多个任务的资源调度请求,多个任务包括目标任务,将多个任务放到任务队列中排队,然后按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务。如此一来,各个任务就可以被排成串行队列,针对每一任务依次进行资源调度,方可进一步提升资源调度的效率。
参照图23,根据本公开提供的一些实施例,步骤2220可以包括,但不限于下述步骤2310至步骤2320。
步骤2310,确定多个任务中每一任务具有的优先级标识;
步骤2320,根据优先级标识,将多个任务排成任务队列。
下面对步骤2310至步骤2320进行详细描述。
在步骤2310至步骤2320中,确定多个任务中每一任务具有的优先级标识。进一步,根据优先级标识,将多个任务排成任务队列。需要说明的是,多个任务排队进行调度资源,需要将多个任务放到任务队列中排队。其中,有一些任务需要被优先执行,因而在排队时需要将其放置到任务队列的队首。需要指出,任务配置的优先级标识用于表征当前任务所对应的优先等级,其中优先等级较高的任务将在任务队列中排到靠前的顺序优先取出,优先等级等级较低的任务将在任务队列中排到靠后的顺序较后取出。
通过步骤2310至步骤2320示出的本公开实施例,先确定多个任务中每一任务具有的优先级标识,再根据优先级标识,将多个任务排成任务队列。如此一来,便可以按照不同任务的轻重缓急来合理确定资源调度的顺序,可以进一步提升资源调度的效率和灵活性。
参照图24,根据本公开提供的一些实施例,在步骤2220之后,本公开实施例的资源调度方法还可以包括,但不限于下述步骤2410至步骤2440。
步骤2410,确定任务队列中多个任务所需的每种资源的资源数目;
步骤2420,针对每种资源,将多个任务所需的该种资源的资源数目加和,得到该种资源的第一总资源数目;
步骤2430,将多级资源池中该种资源的资源数目加和,得到该种资源的第二总资源数目;
步骤2440,如果第一总资源数目大于第二总资源数目,向备用资源库发送补充请求,用于向多级资源池补充资源。
下面对步骤2410至步骤2440进行详细描述。
需要说明的是,一些实施例中需要先接收多个任务的资源调度请求,多个任务包括目标任务,将多个任务放到任务队列中排队,然后按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务。在此过程中,如果出现多级资源池中资源匮乏的情况,则需要中止对当前任务的资源调度,等待多级资源池的资源补充完毕,方可恢复资源调度的正常进行。若发生资源调度中止的情形,针对任务队列中各个任务的资源调度效率将会降低。为了解决这一问题,本公开实施例提供了步骤2410至步骤2440示出的实施例。
在步骤2410中,确定任务队列中多个任务所需的每种资源的资源数目。需要说明的是,任务队列中可以包含多个任务,而每个任务又需要多种资源的调度。因此,为了明确任务队列对于资源的需求,需要先确定任务队列中多个任务所需的每种资源的资源数目。
在步骤2420中,针对每种资源,将多个任务所需的该种资源的资源数目加和,得到该种资源的第一总资源数目。需要说明的是,任务队列中的多个任务可能会对同一种资源都有所需求,因此,需要针对每种资源,将多个任务所需的该种资源的资源数目加和,得到该种资源的第一总资源数目。需要指出,第一总资源数目可以反映当前任务队列中各个任务对某种资源的总需求量。
在步骤2430中,将多级资源池中该种资源的资源数目加和,得到该种资源的第二总资源数目。需要说明的是,为了判断多级资源池中是否存储有足以涵盖当前任务队列需求的余量,需要将多级资源池中该种资源的资源数目加和,得到该种资源的第二总资源数目。应理解,第二总资源数目可以反映当前多级资源池中某种资源的总余量。
在步骤2440中,如果第一总资源数目大于第二总资源数目,向备用资源库发送补充请求,用于向多级资源池补充资源。需要说明的是,第一总资源数目反映当前任务队列中各个任务对某种资源的总需求量,第二总资源数目反映当前多级资源池中某种资源的总余量。因此,如果第一总资源数目大于第二总资源数目,意味着多级资源池对该种资源的存储余量较为匮乏,因此需要向备用资源库发送补充请求,用于向多级资源池补充资源。需要指出,备用资源库是多级资源池之外的资源存储单位。
通过步骤2410至步骤2440示出的本公开实施例,如果某种资源的第一总资源数目大于第二总资源数目,判断多级资源池对该种资源的存储余量较为匮乏,进而向备用资源库发送补充请求,以使得备用资源库向多级资源池补充资源。如此一来,便可以降低资源调度中止发生的可能性,进一步提升资源调度的效率。
一些较为具体的实施例中,鉴于备用资源库向多级资源池补充资源需要消耗一些时间,因此向多级资源池中补充至超出第一总资源数目的存储资源,能够更进一步降低资源调度中止的发生可能性。例如,第一总资源数目大于第二总资源数目,具体可以是当第二总资源数目小于第一总资源数目的若干倍,则可以判定为需要向备用资源库发送补充请求,以使得备用资源库向多级资源池补充资源。
参照图25,根据本公开提供的一些实施例,步骤2440可以包括,但不限于下述步骤2510至步骤2530。
步骤2510,确定第一总资源数目与第二总资源数目的差;
步骤2520,基于差和预定倍数,确定补充资源数目;
步骤2530,以补充资源数目向备用资源库发送补充请求,用于向多级资源池补充资源数目的资源。
下面对步骤2510至步骤2530进行详细描述。
在步骤2510至步骤2530中,先确定第一总资源数目与第二总资源数目的差;进一步,基于差和预定倍数,确定补充资源数目;再进一步,以补充资源数目向备用资源库发送补充请求,用于向多级资源池补充资源数目的资源。需要强调的是,鉴于备用资源库向多级资源池补充资源需要消耗一些时间,因此向多级资源池中补充至超出第一总资源数目的存储资源,能够更进一步降低资源调度中止的发生可能性。为此,本公开实施例需要先确定第一总资源数目与第二总资源数目的差,然后基于第一总资源数目与第二总资源数目的差乘上预定背书,从而确定出对应的补充资源数目。在此基础上,以补充资源数目向备用资源库发送补充请求,即可更进一步降低资源调度中止的发生可能性。
参照图26提供的一些本公开实施例,示出了向备用资源库发送补充请求,用于向多级资源池补充资源的一个可选实施方式。
需要说明的是,任务队列中包括任务A、任务B、任务C、任务D,其中每个任务都需要目标资源A、目标资源B与目标资源C。针对每种资源,将多个任务所需的该种资源的资源数目加和,得到该种资源的第一总资源数目,可以确定出目标资源A的第一总资源数目为160、目标资源B的第一总资源数目为59、目标资源C的第一总资源数目为76。
另外,多级资源池中也包括资源池A、资源池B、资源池C这三个资源池,可以确定出目标资源A的第二总资源数目为200、目标资源B的第二总资源数目为200、目标资源C的第二总资源数目为230。
在确定出各种资源的第一总资源数目与第二总资源数目之后,需要进一步判断第一总资源数目是否大于第二总资源数目,以判定是否需要向备用资源库发送补充请求。由于目标资源A、目标资源B与目标资源C的第一总资源数目均大于第二总资源数目,因此针对这三种资源都需要进行资源补充。
再进一步,先确定第一总资源数目与第二总资源数目的差,其中目标资源A的差为60、目标资源B的差为59、目标资源C的差为49。需要指出,预定倍数为2,意味着需要在第一总资源数目与第二总资源数目的差的基础上,进行两倍的资源补充给到多级资源池。因此,目标资源A的补充资源数目为120、目标资源B的补充资源数目为118、目标资源C的补充资源数目为98。
以目标资源A的补充资源数目120、目标资源B的补充资源数目118、目标资源C的补充资源数目98向备用资源库发送补充请求,以使得备用资源库向多级资源池补充资源数目的资源。如此一来,便可以更进一步降低资源调度中止的发生可能性。
参照图27,根据本公开提供的一些实施例,本公开资源调度方法可以由多个候选计算节点中的目标计算节点执行,目标计算节点通过以下方式从多个候选计算节点中选出:
步骤2710,获取多个候选计算节点的处理能力;
步骤2720,获取多个候选计算节点的已分配任务数;
步骤2730,基于处理能力和已分配任务数,从多个候选计算节点中选择目标计算节点。
下面对步骤2710至步骤2730进行详细描述。
在步骤2710至步骤2730中,先获取多个候选计算节点的处理能力,再获取多个候选计算节点的已分配任务数,进一步基于处理能力和已分配任务数,从多个候选计算节点中选择目标计算节点。需要说明的是,计算节点用于提供资源调度过程所需的算力,候选计算节点指的是预设可能被选中用于为资源调度提供算力的计算节点,目标计算节点从多个候选计算节点中被选出。具体而言,为了从多个候选计算节点中选出目标计算节点,需要先获取多个候选计算节点的已分配任务数,然后基于处理能力和已分配任务数,从多个候选计算节点中选择目标计算节点。其目的在于,依照某一候选计算节点的处理能力和已分配任务数,可以确定该候选计算节点当前可用于投入资源调度处理过程的算力,使得资源调度的过程能够从对应计算节点中获取到更为充沛的算力,进一步提高了资源调度效率。
参照图28,根据本公开提供的一些实施例,目标计算节点包括主目标计算节点和从目标计算节点,多个候选计算节点包括第一组候选计算节点和第二组候选计算节点。步骤2730可以包括,但不限于下述步骤2810至步骤2820。
步骤2810,基于处理能力和已分配任务数,从第一组候选计算节点中确定主目标计算节点;
步骤2820,从第二组候选计算节点中确定从目标计算节点。
下面对步骤2810至步骤2820进行详细描述。
需要强调的是,目标计算节点是被选中用于为资源调度提供算力的计算节点。需要指出,在基于处理能力和已分配任务数,从多个候选计算节点中选择目标计算节点的实施例中,如若该目标计算节点出现故障,则可能会导致目标计算节点难以支持资源调度所需要的算力,抗干扰能力、鲁棒性这方面的表现不佳。为了解决这一问题,本公开实施例提供了步骤2810至步骤2820示出的实施例。
在步骤2810中,基于处理能力和已分配任务数,从第一组候选计算节点中确定主目标计算节点。需要强调的是,依照某一候选计算节点的处理能力和已分配任务数,可以确定该候选计算节点当前可用于投入资源调度处理过程的算力。一些实施例中,可以将处理能力较佳或者已分配任务数较少的候选计算节点确定为第一组候选计算节点。在此基础上,再基于处理能力和已分配任务数,从第一组候选计算节点中确定主目标计算节点,可以使得主目标计算节点能够用到更为充沛的算力。
在步骤2820中,从第二组候选计算节点中确定从目标计算节点。针对处理能力一般或者已分配任务数较多的这部分候选计算节点,可以将其确定为第二组候选计算节点。在此基础上,从第二组候选计算节点中确定从目标计算节点,如此一来,便可以为主目标计算节点提供备用方案。当主目标计算节点出现故障,则从目标计算节点即可替代主目标计算节点投入使用,为资源调度延续提供所需要的算力。
通过步骤2810至步骤2820示出的本公开实施例,降低了部分目标计算节点出现故障时导致算力失去支持的风险,提高了本公开实施例中资源调度方法的抗干扰能力和鲁棒性。
根据本公开一些较为具体的实施例,目标计算节点可以配置有其对应的属性信息。通过目标计算节点执行本公开资源调度方法的过程中,若主目标计算节点出现故障,则可以优先调用具备相同属性信息的从目标计算节点,替代主目标计算节点投入使用,为资源调度延续提供所需要的算力。其目的在于,用相同属性信息的从目标计算节点替换住目标计算节点,可以降低替换过程中带来的适应成本,以及减少兼容性问题发生的可能性。应理解,属性信息可以包括目标计算节点的所处位置信息、系统配置信息、处理能力和已分配任务数等各方面信息。
一些较为具体的实施例中,候选计算节点的数目通过以下方式周期性改变:
获取资源平台在当前周期的总任务数;
根据总任务数,确定候选计算节点的数目。
需要说明的是,多个候选计算节点,可同时用于分别响应不同任务的资源调度请求。因此为了灵活应对不同任务的资源调度请求,本公开实施例中候选计算节点的数目需要进行周期性改变。当资源调度请求较少时,减少候选计算节点的数量,当资源调度请求较多时扩容候选计算节点,以满足计算需求。因此,需要先获取资源平台在当前周期的总任务数,再根据总任务数,确定候选计算节点的数目。如此一来,便可以灵活应对不同任务的资源调度请求。
参照图29,根据本公开提供的一些实施例,在步骤310之前,资源调度方法还可以包括,但不限于下述步骤2910至步骤2920。
步骤2910,获取资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库;
步骤2920,将资源池水位信息库结构化为水位模型,将资源池位置信息库结构化为分布位置模型,将任务资源关系库结构化为资源模型,将计算指令库结构化为计算模型;
步骤310可以包括,但不限于下述步骤2930。
步骤2930,通过计算模型调用资源模型,响应于资源调度请求,获取目标任务对应的多个候选资源组合;
步骤320按照从低级到高级的顺序搜索多级资源池,可以包括,但不限于下述步骤2940。
步骤2940,通过计算模型按照分布位置模型确定各级资源池的位置,并调用水位模型,确定候选资源组合对应的种子资源池;
步骤330在多个种子资源池中确定用于满足资源调度请求的目标资源池,可以包括,但不限于下述步骤2950。
步骤2950,通过计算模型,在多个种子资源池中确定用于满足资源调度请求的目标资源池。
下面对步骤2910至步骤2950进行详细描述。
在步骤2910中,获取资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库。需要说明的是,资源池水位信息库用于存储各级资源池的资源存量信息,随着资源调度的不断进行,资源池中的资源存量信息将会越来越少,也即资源池的水位越来越低。一些实施例中,目标任务对应于一个需要填充资源的调度目标位置,当资源池所处位置与调度目标位置之间的距离越远,则资源调度带来的开销越大。因此需要将资源池所处位置记录在资源池位置信息库之中,以便计算开销时从资源池位置信息库调取资源池所处位置。任务资源关系库存储有各类任务与其所需资源之间的对应关系。计算指令库存储有针对各类数据进行计算处理所需要的指令。
在步骤2920中,将资源池水位信息库结构化为水位模型,将资源池位置信息库结构化为分布位置模型,将任务资源关系库结构化为资源模型,将计算指令库结构化为计算模型。需要说明的是,将将资源池水位信息库结构化为水位模型,将资源池位置信息库结构化为分布位置模型,将任务资源关系库结构化为资源模型,将计算指令库结构化为计算模型,其目的在于,便于计算节点从各个模型中调用所需的数据。
在步骤2930中,通过计算模型调用资源模型,响应于资源调度请求,获取目标任务对应的多个候选资源组合。需要说明的是,由于任务资源关系库存储有各类任务与其所需资源之间的对应关系,且任务资源关系库被结构化为资源模型。因此,为了响应目标任务的资源调度请求,需要通过计算模型调用资源模型来从获取目标任务对应的多个候选资源组合,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目。
在步骤2940中,通过计算模型按照分布位置模型确定各级资源池的位置,并调用水位模型,确定候选资源组合对应的种子资源池。由于计算指令库存储有针对各类数据进行计算处理所需要的指令、资源池位置信息库存储有各级资源池的所处位置、资源池水位信息库用于存储各级资源池的资源存量信息,并且资源池水位信息库被结构化为水位模型、资源池位置信息库被结构化为分布位置模型、计算指令库被结构化为计算模型。因此,需要通过计算模型按照分布位置模型确定各级资源池的位置,旨在针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,并调用水位模型,确定候选资源组合对应的种子资源池。需要明确,一些实施例中资源池的资源池等级基于资源池所处位置与调度目标位置之间的距离来划分,资源池所处位置与调度目标位置之间的距离越近,对应的资源池等级越低,资源池所处位置与调度目标位置之间的距离越远,对应的资源池等级越高。
在步骤2950中,通过计算模型,在多个种子资源池中确定用于满足资源调度请求的目标资源池。需要说明的是,在确定出候选资源组合对应的种子资源池之后,方可通过计算模型,在多个种子资源池中确定用于满足资源调度请求的目标资源池。具体而言,通过计算模型来根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。
通过步骤2910至步骤2950示出的本公开实施例,在资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库的基础上,对本公开实施例的资源调度方法结构化为基于水位模型、分布位置模型、资源模型与计算模型来实现的资源调度方法,清晰地确定出了个模型在资源调度过程中起到的作用。如此一来,可以为本公开实施例资源调度方法的落地实施提供便利。
参照图30示出的一些本公开实施例,示出了一类应用本公开资源调度方法的系统架构。图30示出的资源调度系统架构中包括数据信息层、模型处理层、资源调度计算层、资源调度控制层以及应用层。以下针对各层作出具体说明:
数据信息层,用于存储资源调度所需要用到的各类数据和信息,可以包括,但不限于资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库。
模型处理层,用于抽取数据信息层的数据信息并将其结构化,以便资源调度计算层调取相应的数据信息。其中,资源池水位信息库被结构化为水位模型,资源池位置信息库结构化被为分布位置模型,任务资源关系库结构化被为资源模型,计算指令库结构化被为计算模型。
资源调度计算层,用于从资源调度控制层获取需求信息,在需求信息的指示下执行相应的调度计算。资源调度计算层再进行计算时,会从资源调度计算层调取相应的数据信息,作为计算的基础。需要指出,资源调度计算层可以分为两部分,其一用于进行资源需求的计算,其二用于进行资源存量的计算。应理解,资源调度本质上是分配资源存量用于满足资源需求的过程,因此将资源调度的调度计算拆解成两部分有助于充分利用计算节点所具备的算力。
资源调度控制层,可以实现资源调度、串行队列、异步请求与水位检查等各个方面的功能。其中资源调度指的是本公开实施例中的资源调度方法是在资源调度控制层中被作为控制逻辑的,而资源调度方法的具体实现需要结合资源调度计算层的计算能力;串行队列,指的是考虑到不同任务可能会使用到同一资源池中相同的资源,若同时对各个任务进行并行的资源调度,可能会带来资源竞争,影响资源调度的效率,为此,本公开实施例中需要将多个任务放到任务队列中排队,并按照任务队列从前到后的顺序,取出任务,其中,在取出的前一任务执行完毕后,才取出后一任务;异步操作,指的是本公开实施例中的各部分执行逻辑可以在解耦之后通过异步操作来实现;水位检查,指的是本公开实施例资源调度控制层还可以针对多级资源池的资源存量进行检测,以便于确定各类资源的调度方案,以及针对多级资源池的补货操作。
应用层,本公开实施例适用于多个类型的业务场景,不同业务场景下可以在资源调度系统架构中的应用层下达所需要调度资源的任务。
参照图31提供的一些本公开实施例,示出了本公开实施例中异步操作的示例图。需要强调,异步操作指的是本公开实施例中的各部分执行逻辑可以在解耦之后通过异步操作来实现。图31中,资源调度控制层各部分执行逻辑解耦成不同的模块予以进行。具体而言:
任务解析模块,用于响应于目标任务的资源调度请求,获取目标任务对应的多个候选资源组合,每个候选资源组合包含目标任务所需的至少一种目标资源、和目标资源的目标资源数目;
资源配置模块,用于针对每个候选资源组合,基于至少一种目标资源和目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池;进一步,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。
调度执行模块,用于在确定好用于满足资源调度请求的目标资源池之后执行资源的实际调度;
日志模块,用于根据实际执行的资源调度操作来更新记录系统操作信息的计算机日志;
告警模块,用于在资源调度发生紧急情况时进行告警操作;
资源统计模块,用于在资源调度被实际执行之后被触发,用以根据实际调度的资源更新多级资源池中的资源存量信息;
存量管理模块,可以用于检查多级资源池的存量是否达到较为匮乏的程度,也即水位检查的执行逻辑;
资源补充模块,用于在多级资源池的存量达到较为匮乏的程度时,向备用资源库发送补充请求,以实现对多级资源池的资源补充。
如此一来,本公开实施例中的各部分执行逻辑可以在解耦之后通过异步操作来实现,清晰地确定出了个模块在资源调度过程中起到的作用,可以为本公开实施例资源调度方法的落地实施提供便利。
参照图32提供的本公开实施例,示出了资源调度方法一些较为具体的示例。需要指出,串行队列中可以包括n个任务,分别是任务1、任务2、任务3、...、任务n。
为了使得不同任务之间的资源调度免于竞争,将这n个任务放在串行队列中依次进行资源调度。需要明确,每一任务都尤其对应的若干个候选配套组合,其中任务1中包括候选资源组合A、候选资源组合B、候选资源组合C、候选资源组合D等多个候选资源组合。而每一候选资源组合尤其对应的若干种目标资源,其中候选资源组合A中就包括了目标资源a、目标资源b、目标资源c、目标资源d、目标资源e、目标资源f、目标资源g等多种类型的目标资源。需要指出,候选组合中各个候选资源组合的目标资源都具有其对应的目标资源数目,用于指示满足目标任务所需要的目标资源的数目。应理解,从目标任务中解析出候选资源组合中的目标资源及其数目的过程是可以并行处理的,以此来提高计算效率。
在明确各个候选资源组合的目标资源与目标资源数目之后,方可进行资源调度方案的配置。针对每个候选资源组合,基于至少一种目标资源和目标资源数目,先从低级资源池中选择种子资源池,再从倒数第二级资源池中选择种子资源池,按照这种方式从低级到高级的顺序搜索多级资源池,以确定候选资源组合对应的种子资源池。再进一步,根据各个候选资源组合对应的种子资源池的级别,在多个种子资源池中确定用于满足资源调度请求的目标资源池。其中,具体可以根据多级资源池的所处位置来确定目标资源池,也即资源池位置选择;也可以根据资源池相应的返还量来确定目标资源池;还可以根据离散资源的数目来确定目标资源池。
在确定目标资源池之后,即可基于目标资源池来执行资源占用,以防对应的资源被其他任务或者进程调用。在此基础上,可以将占用好的资源配置给应用层,从而完成资源调度。应理解,从目标任务中解析出候选资源组合直至资源占有、将资源配置给应用层的全过程都可以记录在日志信息之中。如此一来,便能够提高资源调度效率。以上方案能够针对较为多变的应用场景,合理确定用于满足资源调度请求的目标资源池,因此资源调度的灵活度较高。
本公开实施例的实验数据描述
一些较为具体实施例中,针对A地点填充在设备元器件这方面物料缺口的目标任务,分别运用传统的基于产品编号的资源调度方法来调度其他地点的设备元器件以填充上述物料缺口,以及,运用本公开实施例的资源调度方法来调度其他地点的设备元器件以填充上述物料缺口。
为了明确本公开实施例中资源调度方法的有益效果,本公开实施例对两种资源调度方法的资源调度指标进行了比对,见表1。
表1
需要说明的是,本公开实施例具体针对两种资源调度方法的匹配速度、是否支持区域划分、是否支持考虑距离、是否支持配套调拨、出入库效率这五类资源调度指标进行了比较。
针对调度方案匹配速度这一资源调度指标,传统的基于产品编号的资源调度方法的调度方案匹配速度是小时级的;而本公开实施例资源调度方法的调度方案匹配速度是分钟级、秒钟级的。可以明确,本公开实施例的资源调度方法能够提高资源调度的效率。一些较为具体的实施例中,针对500块C4模块(一种设备元器件)进行全国范围的资源调度时,本公开实施例的资源调度方法可以将调度方案匹配速度从2小时提升至10秒钟,匹配效率提升约99.86%。
针对是否支持区域划分这一指标,传统的基于产品编号的资源调度方法无法确定出与A地点相关联的区域,因此就无法从关联区域中确定出储存有设备元器件的储货仓;而本公开实施例资源调度方法可以基于与A地点相关联的区域,对各个储货仓进行级别划分,然后按照从低级到高级的顺序搜索多级作为资源池的储货仓。可以明确,本公开实施例的资源调度方法中,储货仓所处区域的选择与物料缺口的所处方位是息息相关的,故而不同地点的物料缺口可以有不同的资源调度方案,提高了资源调度的灵活度。
针对是否支持考虑距离,传统的基于产品编号的资源调度方法无法依照与A地点物料缺口的距离,确定需要提供资源用以调度的储货仓;而本公开实施例资源调度方法可以依照与A地点物料缺口的距离,对各个储货仓进行级别划分,然后按照从低级到高级的顺序搜索多级作为资源池的储货仓。如此一来,便可以确定出与物料缺口较近的储货仓,将其用以资源调度可以节省货运开销,提高了资源调度的效率。
针对是否支持配套调拨,传统的基于产品编号的资源调度方法无法支持配套的资源调度。以设备元器件的资源调度为例,元器件型号之间往往存在配套的对应关系,如若型号不对应则难以将其组装使用。基于此,本公开实施例的资源调度方法,可以获取物料缺口对应的候选资源组合,然后基于候选资源组合去确定储货仓,便能够实现资源的配套调拨,提高了资源调度的效率与灵活性。
针对出入库效率,传统的基于产品编号的资源调度方法一般是2天时间可以完成一单资源调度的资源出库与资源入库;而本公开实施例资源调度方法可以在1天时间内完成一单资源调度的资源出库与资源入库。可以明确,本公开实施例的资源调度方法能够提高资源调度的效率。
本公开实施例的装置和设备描述
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的表征依次显示,但是这些步骤并不是必然按照箭头表征的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
根据本公开的一方面,如图33所示,提供了一种资源调度装置3300,包括:
第一获取单元3310,用于响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;
资源搜索单元3320,用于针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,以确定所述候选资源组合对应的种子资源池;
第一确定单元3330,用于根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
可选的,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;
所述资源搜索单元3320,具体用于:
针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,如果所述多级资源池中的一个待考察资源池,针对每种所述目标资源的所述目标资源数目,都能用单种所述通用类型下的所述资源数目去满足,则在所述待考察资源池中确定所述种子资源池。
可选的,所述资源搜索单元3320,具体用于:
如果所述待考察资源池的数目为一个,将所述待考察资源池确定为所述种子资源池;
如果所述待考察资源池的数目为二个以上,基于二个以上所述待考察资源池的级别确定所述种子资源池。
可选的,所述资源搜索单元3320,具体用于:
如果所述待考察资源池的数目为二个以上,将二个以上所述待考察资源池中所述级别低的所述待考察资源池确定为所述种子资源池;
如果所述待考察资源池的数目为二个以上,且二个以上所述待考察资源池的所述级别相同,确定二个以上所述待考察资源池的调度返还量,并基于所述调度返还量确定所述种子资源池;
如果所述二个以上所述待考察资源池的所述调度返还量相同,基于二个以上所述待考察资源池的资源池类型确定所述种子资源池。
可选的,所述资源搜索单元3320,具体用于:
获取所述待考察资源池的多个资源容器的资源容器容量;
将多个所述资源容器按照所述资源容器容量的大小从大到小排序;
将所述排序最前的所述资源容器确定为待考察资源容器,将所述目标资源数目确定为未调度资源数目;
执行第一过程,所述第一过程包括:用所述未调度资源数目模所述待考察资源容器的所述资源容器容量的余数,更新所述未调度调用数目,用所述排序中的下一个所述资源容器,更新所述待考察资源容器,并重复所述第一过程,直到所述待考察资源容器为空;
基于所述未调度资源数目,确定所述调度返还量。
可选的,所述资源搜索单元3320,具体用于:
获取所述待考察资源池的离散资源数目;
如果所述离散资源数目大于所述未调度资源数目,确定所述调度返还量为0;
如果所述离散资源数目不大于所述未调度资源数目,用所述排序最后的所述资源容量的所述资源容器容量减去所述未调度资源数目,得到所述调度返还量。
可选的,所述资源搜索单元3320,具体还用于:
如果所述多级资源池中的任一个存储资源池,都不能针对每种所述目标资源的所述目标资源数目,用所述单种通用类型下的所述资源数目去满足,则在所述级别最低的所述存储资源池中,选择一个用所述单种通用类型下的所述资源数目去满足所述目标资源数目后的缺失额最小的一个所述存储资源池,作为一个所述种子资源池,将所述单种通用类型作为目标通用类型,将用所述单种通用类型下的所述资源数目去满足所述目标资源数目后仍未满足的所述资源数目作为剩余资源数目;
在所述级别最低的其它所述存储资源池中,选择一个用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后的缺失额最小的另一个所述存储资源池,作为一个所述种子资源池,并用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后仍未满足的所述资源数目更新所述剩余资源数目, 直到遍历完所述级别最低的所述存储资源池。
可选的,所述资源搜索单元3320,具体还用于:
执行第二过程,所述第二过程包括:如果遍历完所述级别最低的所述存储资源池,所述剩余资源数目仍然不为0,将倒数第二级作为目标级,在所述目标级的所述存储资源池中进行遍历,在未遍历的所述存储资源池中,选择一个用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后的缺失额最小的一个所述存储资源池,作为一个所述种子资源池,并用所述目标通用类型下的所述资源数目去满足所述剩余资源数目后仍未满足的所述资源数目更新所述剩余资源数目,直到遍历完所述目标级的所述存储资源池,并以所述目标级的上一级更新所述目标级,重复第二过程,直到达到最高级。
可选的,所述第一确定单元3330,具体用于:
如果每个所述候选资源组合对应于一个所述种子资源池,获取各个所述候选资源组合对应的所述种子资源池的所述级别;
将各个所述候选资源组合对应的所述种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
可选的,所述第一确定单元3330,具体用于:
如果所述级别最低的所述种子资源池为二个以上,确定二个以上所述种子资源池的调度返还量,并基于所述调度返还量确定所述目标资源池;
如果所述二个以上所述种子资源池的所述调度返还量相同,基于二个以上所述种子资源池的资源池类型确定所述目标资源池。
可选的,所述第一确定单元3330,还具体用于:
如果一部分所述候选资源组合对应于多个所述种子资源池,获取多个所述种子资源池中级别最高的一个所述种子资源池,作为筛选后种子资源池,对于对应于单个所述种子资源池的另一部分所述候选资源组合,将单个所述种子资源池作为所述筛选后种子资源池;
将各个所述候选资源组合对应的所述筛选后种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
可选的,所述资源调度装置3300还包括:
任务接收单元(未示),用于接收多个任务的所述资源调度请求,多个所述任务包括所述目标任务;
队列生成单元(未示),用于将多个所述任务放到任务队列中排队;
任务提取单元(未示),用于按照所述任务队列从前到后的顺序,取出所述任务,其中,在取出的前一所述任务执行完毕后,才取出后一所述任务。
可选的,所述队列生成单元(未示),具体用于:
确定多个所述任务中每一所述任务具有的优先级标识;
根据所述优先级标识,将多个所述任务排成所述任务队列。
可选的,所述资源调度装置3300还包括:
第二确定单元(未示),用于确定所述任务队列中多个所述任务所需的每种资源的资源数目;
第一计算单元(未示),用于针对每种所述资源,将多个所述任务所需的该种所述资源的资源数目加和,得到该种所述资源的第一总资源数目;
第二计算单元(未示),用于将所述多级资源池中该种所述资源的所述资源数目加和,得到该种所述资源的第二总资源数目;
资源补充单元(未示),用于如果所述第一总资源数目大于所述第二总资源数目,向备用资源库发送补充请求,用于向所述多级资源池补充资源。
可选的,所述资源补充单元(未示),具体用于:
确定所述第一总资源数目与所述第二总资源数目的差;
基于所述差和预定倍数,确定补充资源数目;
以所述补充资源数目向备用资源库发送补充请求,用于向所述多级资源池补充所述补充资源数目的资源。
可选的,所述资源调度方法由多个候选计算节点中的目标计算节点执行,所述目标计算节点通过以下方式从多个所述候选计算节点中选出:
获取多个所述候选计算节点的处理能力;
获取多个所述候选计算节点的已分配任务数;
基于所述处理能力和所述已分配任务数,从多个所述候选计算节点中选择所述目标计算节点。
可选的,所述候选计算节点的数目通过以下方式周期性改变:
获取资源平台在当前周期的总任务数;
根据所述总任务数,确定所述候选计算节点的数目。
可选的,所述资源调度装置3300还包括:
第二获取单元,用于获取资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库;
水位模型构建单元(未示),用于将所述资源池水位信息库结构化为水位模型,将所述资源池位置信息库结构化为分布位置模型,将所述任务资源关系库结构化为资源模型,将所述计算指令库结构化为计算模型;
所述第一获取单元3310,具体用于:
通过所述计算模型调用所述资源模型,响应于所述资源调度请求,获取所述目标任务对应的多个候选资源组合;
所述资源搜索单元3320,具体用于:
通过所述计算模型按照所述分布位置模型确定各级所述资源池的位置,并调用所述水位模型,确定所述候选资源组合对应的种子资源池;
所述第一确定单元3330,具体用于:
通过所述计算模型,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
可选的,所述资源搜索单元3320,具体用于:
接收对所述水位模型的目标域名的调用请求,其中所述目标域名被所述主水位模型和所述备水位模型共有;
如果所述主水位模型正常运行,将所述调用请求转发到所述主水位模型执行;
如果所述主水位模型故障,将所述调用请求转发到所述备水位模型执行。
参照图34,图34为实现本公开实施例的用于内容推荐的资源调度方法的终端140的部分的结构框图,该终端包括:射频(Radio Frequency,简称RF)电路3410、存储器3415、输入单元3430、显示单元3440、传感器3450、音频电路3460、无线保真(wireless fidelity,简称WiFi)模块3470、处理器3480、以及电源3490等部件。本领域技术人员可以理解,图34中示出的终端结构并不构成对手机或电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
RF电路3410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器3480处理;另外,将设计上行的数据发送给基站。
存储器3415可用于存储软件程序以及模块,处理器3480通过运行存储在存储器3415的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。
输入单元3430可用于接收输入的数字或字符信息,以及产生与终端的设置以及功能控制有关的键信号输入。具体地,输入单元3430可包括触控面板3431以及其他输入装置3432。
显示单元3440可用于显示输入的信息或提供的信息以及终端的各种菜单。显示单元3440可包括显示面板3441。
音频电路3460、扬声器3461,传声器3462可提供音频接口。
在本实施例中,该终端所包括的处理器3480可以执行前面实施例的用于内容推荐的资源调度方法。
本公开实施例的终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本公开实施例可应用于各种场景,包括但不限于人工智能、大数据、数据处理等。
参照图35,图35为实施本公开实施例的用于内容推荐的资源调度方法的服务器的部分的结构框图,服务器110可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)3522(例如,一个或一个以上处理器)和存储器3532,一个或一个以上存储应用程序3542或数据3544的存储介质3530(例如一个或一个以上海量存储装置)。其中,存储器3532和存储介质3530可以是短暂存储或持久存储。存储在存储介质3530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器3500中的一系列指令操作。更进一步地,中央处理器3522可以设置为与存储介质3530通信,在服务器3500上执行存储介质3530中的一系列指令操作。
服务器3500还可以包括一个或一个以上电源3526,一个或一个以上有线或无线网络接口3550,一个或一个以上输入输出接口3558,和/或,一个或一个以上操作系统3541,例如Windows ServerTM,Mac OS XTM,UnixTM ,LinuxTM,FreeBSDTM等等。
服务器3500中的处理器可以用于执行本公开实施例的用于内容推荐的资源调度方法。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的资源调度方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序。计算机设备的处理器读取该计算机程序并执行,使得该计算机设备执行实现上述的资源调度方法。
本公开的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“包含”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
应当理解,在本公开中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
应了解,在本公开实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
还应了解,本公开实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本公开的实施方式的具体说明,但本公开并不局限于上述实施方式,熟悉本领域的技术人员在不违背本公开精神的条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本公开权利要求所限定的范围内。
Claims (16)
1.一种资源调度方法,其特征在于,包括:
响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;
针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池;其中,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;
如果所述多级资源池中的一个待考察资源池,针对每种所述目标资源的所述目标资源数目,都能用单种所述通用类型下的所述资源数目去满足,则在所述待考察资源池中确定种子资源池;其中,如果所述待考察资源池的数目为一个,将所述待考察资源池确定为所述种子资源池;如果所述待考察资源池的数目为二个以上,将二个以上所述待考察资源池中级别低的所述待考察资源池确定为所述种子资源池;如果所述待考察资源池的数目为二个以上,且二个以上所述待考察资源池的所述级别相同,确定二个以上所述待考察资源池的调度返还量,并基于所述调度返还量确定所述种子资源池,针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,所述调度返还量指的是利用资源池的储量进行资源调度过程中需要返还资源池的结余量;其中,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;如果所述二个以上所述待考察资源池的所述调度返还量相同,基于二个以上所述待考察资源池的资源池类型确定所述种子资源池;
根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
2.根据权利要求1所述的资源调度方法,其特征在于,所述确定二个以上所述待考察资源池的调度返还量,包括:
获取所述待考察资源池的多个资源容器的资源容器容量;
将多个所述资源容器按照所述资源容器容量的大小从大到小排序;
将所述排序最前的所述资源容器确定为待考察资源容器,将所述目标资源数目确定为未调度资源数目;
执行第一过程,所述第一过程包括:用所述未调度资源数目模所述待考察资源容器的所述资源容器容量的余数,更新所述未调度调用数目,用所述排序中的下一个所述资源容器,更新所述待考察资源容器,并重复所述第一过程,直到所述待考察资源容器为空;
基于所述未调度资源数目,确定所述调度返还量。
3.根据权利要求2所述的资源调度方法,其特征在于,所述基于所述未调度资源数目,确定所述调度返还量,包括:
获取所述待考察资源池的离散资源数目;
如果所述离散资源数目大于所述未调度资源数目,确定所述调度返还量为0;
如果所述离散资源数目不大于所述未调度资源数目,用所述排序最后的所述资源容量的所述资源容器容量减去所述未调度资源数目,得到所述调度返还量。
4.根据权利要求1所述的资源调度方法,其特征在于,所述根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池,包括:
如果每个所述候选资源组合对应于一个所述种子资源池,获取各个所述候选资源组合对应的所述种子资源池的所述级别;
将各个所述候选资源组合对应的所述种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
5.根据权利要求4所述的资源调度方法,其特征在于,所述将各个所述候选资源组合对应的所述种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池,包括:
如果所述级别最低的所述种子资源池为二个以上,确定二个以上所述种子资源池的所述调度返还量,并基于所述调度返还量确定所述目标资源池;
如果所述二个以上所述种子资源池的所述调度返还量相同,基于二个以上所述种子资源池的资源池类型确定所述目标资源池。
6.根据权利要求1所述的资源调度方法,其特征在于,所述根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池,还包括:
如果一部分所述候选资源组合对应于多个所述种子资源池,获取多个所述种子资源池中级别最高的一个所述种子资源池,作为筛选后种子资源池,对于对应于单个所述种子资源池的另一部分所述候选资源组合,将单个所述种子资源池作为所述筛选后种子资源池;
将各个所述候选资源组合对应的所述筛选后种子资源池中所述级别最低的所述种子资源池,确定为所述目标资源池。
7.根据权利要求1所述的资源调度方法,其特征在于,在响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合之前,所述资源调度方法还包括:
接收多个任务的所述资源调度请求,多个所述任务包括所述目标任务;
将多个所述任务放到任务队列中排队;
按照所述任务队列从前到后的顺序,取出所述任务,其中,在取出的前一所述任务执行完毕后,才取出后一所述任务。
8.根据权利要求7所述的资源调度方法,其特征在于,所述将多个所述任务放到任务队列中排队,包括:
确定多个所述任务中每一所述任务具有的优先级标识;
根据所述优先级标识,将多个所述任务排成所述任务队列。
9.根据权利要求7所述的资源调度方法,其特征在于,在将多个所述任务放到任务队列中排队之后,所述资源调度方法还包括:
确定所述任务队列中多个所述任务所需的每种资源的资源数目;
针对每种所述资源,将多个所述任务所需的该种所述资源的资源数目加和,得到该种所述资源的第一总资源数目;
将所述多级资源池中该种所述资源的所述资源数目加和,得到该种所述资源的第二总资源数目;
如果所述第一总资源数目大于所述第二总资源数目,向备用资源库发送补充请求,用于向所述多级资源池补充资源。
10.根据权利要求1所述的资源调度方法,其特征在于,所述资源调度方法由多个候选计算节点中的目标计算节点执行,所述目标计算节点通过以下方式从多个所述候选计算节点中选出:
获取多个所述候选计算节点的处理能力;
获取多个所述候选计算节点的已分配任务数;
基于所述处理能力和所述已分配任务数,从多个所述候选计算节点中选择所述目标计算节点。
11.根据权利要求10所述的资源调度方法,其特征在于,所述目标计算节点包括主目标计算节点和从目标计算节点,多个所述候选计算节点包括第一组候选计算节点和第二组候选计算节点;
所述基于所述处理能力和所述已分配任务数,从多个所述候选计算节点中选择所述目标计算节点,包括:基于所述处理能力和所述已分配任务数,从所述第一组候选计算节点中确定所述主目标计算节点,并从所述第二组候选计算节点中确定所述从目标计算节点。
12.根据权利要求10所述的资源调度方法,其特征在于,所述候选计算节点的数目通过以下方式周期性改变:
获取资源平台在当前周期的总任务数;
根据所述总任务数,确定所述候选计算节点的数目。
13.根据权利要求1所述的资源调度方法,其特征在于,在响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合之前,所述资源调度方法还包括:
获取资源池水位信息库、资源池位置信息库、任务资源关系库和计算指令库;
将所述资源池水位信息库结构化为水位模型,将所述资源池位置信息库结构化为分布位置模型,将所述任务资源关系库结构化为资源模型,将所述计算指令库结构化为计算模型;
所述响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,包括:通过所述计算模型调用所述资源模型,响应于所述资源调度请求,获取所述目标任务对应的多个候选资源组合;
所述按照从低级到高级的顺序搜索多级资源池,包括:通过所述计算模型按照所述分布位置模型确定各级所述资源池的位置,并调用所述水位模型,确定所述候选资源组合对应的种子资源池;
所述在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池,包括:通过所述计算模型,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
14.一种资源调度装置,其特征在于,包括:
第一获取单元,用于响应于目标任务的资源调度请求,获取所述目标任务对应的多个候选资源组合,每个所述候选资源组合包含所述目标任务所需的至少一种目标资源、和所述目标资源的目标资源数目;
资源搜索单元,用于针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池;其中,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;如果所述多级资源池中的一个待考察资源池,针对每种所述目标资源的所述目标资源数目,都能用单种所述通用类型下的所述资源数目去满足,则在所述待考察资源池中确定种子资源池;其中,如果所述待考察资源池的数目为一个,将所述待考察资源池确定为所述种子资源池;如果所述待考察资源池的数目为二个以上,将二个以上所述待考察资源池中级别低的所述待考察资源池确定为所述种子资源池;如果所述待考察资源池的数目为二个以上,且二个以上所述待考察资源池的所述级别相同,确定二个以上所述待考察资源池的调度返还量,并基于所述调度返还量确定所述种子资源池,针对每个所述候选资源组合,基于所述至少一种目标资源和所述目标资源数目,按照从低级到高级的顺序搜索多级资源池,所述调度返还量指的是利用资源池的储量进行资源调度过程中需要返还资源池的结余量;其中,所述多级资源池中的每个存储资源池包括各种通用类型的各种存储资源、和所述存储资源在各种所述通用类型下的资源数目;如果所述二个以上所述待考察资源池的所述调度返还量相同,基于二个以上所述待考察资源池的资源池类型确定所述种子资源池;
第一确定单元,用于根据各个所述候选资源组合对应的所述种子资源池的级别,在多个所述种子资源池中确定用于满足所述资源调度请求的目标资源池。
15.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13任意一项所述的资源调度方法。
16.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13任意一项所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200403.6A CN116974771B (zh) | 2023-09-18 | 2023-09-18 | 资源调度方法、相关装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311200403.6A CN116974771B (zh) | 2023-09-18 | 2023-09-18 | 资源调度方法、相关装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116974771A CN116974771A (zh) | 2023-10-31 |
CN116974771B true CN116974771B (zh) | 2024-01-05 |
Family
ID=88479846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311200403.6A Active CN116974771B (zh) | 2023-09-18 | 2023-09-18 | 资源调度方法、相关装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116974771B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160645A (ja) * | 1993-12-02 | 1995-06-23 | Fujitsu Ltd | マルチプロセッサシステムにおける共通資源排他制御方法 |
CN104871149A (zh) * | 2012-12-21 | 2015-08-26 | 国际商业机器公司 | 具有特殊技能和/或能力的资产分配 |
CN110389816A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于资源调度的方法、装置以及计算机程序产品 |
CN112905342A (zh) * | 2021-02-07 | 2021-06-04 | 广州虎牙科技有限公司 | 资源调度方法、装置、设备及计算机可读存储介质 |
CN114416355A (zh) * | 2021-12-31 | 2022-04-29 | 北京三快在线科技有限公司 | 资源调度方法、装置、系统、电子设备及介质 |
CN115292014A (zh) * | 2022-08-03 | 2022-11-04 | 苏州创意云网络科技有限公司 | 图像渲染方法、装置和服务器 |
CN115480989A (zh) * | 2022-09-20 | 2022-12-16 | 海光信息技术股份有限公司 | 用于处理器的验证方法、系统、设备以及存储介质 |
CN115509754A (zh) * | 2022-09-29 | 2022-12-23 | 中国建设银行股份有限公司 | 一种业务数据处理方法、装置、电子设备及存储介质 |
CN116166395A (zh) * | 2022-12-05 | 2023-05-26 | 北京火山引擎科技有限公司 | 任务调度方法、装置、介质及电子设备 |
-
2023
- 2023-09-18 CN CN202311200403.6A patent/CN116974771B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160645A (ja) * | 1993-12-02 | 1995-06-23 | Fujitsu Ltd | マルチプロセッサシステムにおける共通資源排他制御方法 |
CN104871149A (zh) * | 2012-12-21 | 2015-08-26 | 国际商业机器公司 | 具有特殊技能和/或能力的资产分配 |
CN110389816A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于资源调度的方法、装置以及计算机程序产品 |
CN112905342A (zh) * | 2021-02-07 | 2021-06-04 | 广州虎牙科技有限公司 | 资源调度方法、装置、设备及计算机可读存储介质 |
CN114416355A (zh) * | 2021-12-31 | 2022-04-29 | 北京三快在线科技有限公司 | 资源调度方法、装置、系统、电子设备及介质 |
CN115292014A (zh) * | 2022-08-03 | 2022-11-04 | 苏州创意云网络科技有限公司 | 图像渲染方法、装置和服务器 |
CN115480989A (zh) * | 2022-09-20 | 2022-12-16 | 海光信息技术股份有限公司 | 用于处理器的验证方法、系统、设备以及存储介质 |
CN115509754A (zh) * | 2022-09-29 | 2022-12-23 | 中国建设银行股份有限公司 | 一种业务数据处理方法、装置、电子设备及存储介质 |
CN116166395A (zh) * | 2022-12-05 | 2023-05-26 | 北京火山引擎科技有限公司 | 任务调度方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116974771A (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170206481A1 (en) | Order sourcing with asynchronous communication and using optimization for large sourcing networks | |
CN108960708A (zh) | 货物上架方法、装置、系统、货物上架终端及存储介质 | |
CN109697153A (zh) | 监控方法、监控系统及计算机可读存储介质 | |
CN111654416B (zh) | 一种物联网测试云平台和方法 | |
CN101799808A (zh) | 一种数据处理方法及其系统 | |
CN114090265A (zh) | 数据处理方法、装置、存储介质以及计算机终端 | |
CN111324429A (zh) | 一种基于多代血统参考距离的微服务组合调度方法 | |
CN116974771B (zh) | 资源调度方法、相关装置、电子设备及介质 | |
CN107402812A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN116700929A (zh) | 基于人工智能的任务批量处理方法及系统 | |
CN106203810A (zh) | 基于云平台的crm数据处理方法 | |
CN115809292A (zh) | 数据处理方法、装置、设备及介质 | |
US20090249020A1 (en) | Techniques for optimizing configuration partitioning | |
CN106209443A (zh) | 基于云计算的客户关系管理方法 | |
CN113055476B (zh) | 一种集群式服务系统、方法、介质和计算设备 | |
CN117194080B (zh) | 消息处理方法及装置 | |
CN115665157B (zh) | 一种基于应用资源类型的均衡调度方法和系统 | |
CN117635001B (zh) | 基于供应链运输场景中时间窗约束的配送方法 | |
CN113242357B (zh) | 基于智能语音呼叫的物流信息处理方法、装置和介质 | |
CN117112183A (zh) | 资源调度方法、装置、设备、可读存储介质及程序产品 | |
US20230030839A1 (en) | Inbound load delivery-type predictor | |
CN106202339A (zh) | 企业crm系统数据存储方法 | |
CN117992239A (zh) | 资源管理分配方法、智能计算云操作系统以及计算平台 | |
CN117742931A (zh) | 大数据集群部署方案的确定方法、装置、集群和存储介质 | |
CN115291997A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40098043 Country of ref document: HK |