CN113225269B - Container-based workflow scheduling method, device and system and storage medium - Google Patents
Container-based workflow scheduling method, device and system and storage medium Download PDFInfo
- Publication number
- CN113225269B CN113225269B CN202110417260.9A CN202110417260A CN113225269B CN 113225269 B CN113225269 B CN 113225269B CN 202110417260 A CN202110417260 A CN 202110417260A CN 113225269 B CN113225269 B CN 113225269B
- Authority
- CN
- China
- Prior art keywords
- workflow
- target
- scheduler
- scheduling
- container
- 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 74
- 238000012545 processing Methods 0.000 claims description 35
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/58—Changing or combining different scheduling modes, e.g. multimode scheduling
-
- 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
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于容器的工作流调度方法、装置、系统及存储介质,应用于基于容器的工作流调度系统,系统包括一级调度器和二级调度器,方法包括:当接收到工作流执行请求时,确定工作流执行请求对应的目标工作流,并将目标工作流分配到预设工作流队列;通过一级调度器监听预设工作流队列,以从预设工作流队列中获取目标工作流,并通过一级调度器确定目标工作流对应的计算资源节点;通过一级调度器启动计算资源节点对应的目标二级调度器,并通过目标二级调度器对目标工作流进行调度。本发明采用多级调度架构在不同计算资源节点实现分布调度,从而达到调度可扩展的目的,提高系统的调度性能。
The invention discloses a container-based workflow scheduling method, device, system and storage medium, which are applied to a container-based workflow scheduling system. The system includes a first-level scheduler and a second-level scheduler. The method includes: when receiving a job When a flow executes a request, determine the target workflow corresponding to the workflow execution request, and assign the target workflow to the preset workflow queue; monitor the preset workflow queue through the first-level scheduler to obtain from the preset workflow queue Target workflow, and determine the computing resource node corresponding to the target workflow through the primary scheduler; start the target secondary scheduler corresponding to the computing resource node through the primary scheduler, and schedule the target workflow through the target secondary scheduler . The invention adopts a multi-level scheduling framework to realize distributed scheduling on different computing resource nodes, so as to achieve the purpose of scalable scheduling and improve the scheduling performance of the system.
Description
技术领域technical field
本发明涉及网络通信技术领域,尤其涉及基于容器的工作流调度方法、装置、系统及存储介质。The invention relates to the technical field of network communication, in particular to a container-based workflow scheduling method, device, system and storage medium.
背景技术Background technique
工作流(Work Flow)指在业务过程的部分或整体在计算机环境下的自动化过程,是工作流程的计算模型,是对工作流及其各操作步骤之间业务规则的抽象、概括描述。而随着信息化技术的发展,容器技术已经成为新一代云计算的核心技术之一,而工作流管理的概念也为信息系统的开发提供了新的业务视角,因此,如何基于容器进行工作流调度,对工作流系统的部署和运维具有重要意义。Workflow refers to the automatic process of part or whole of the business process in the computer environment. It is a calculation model of the workflow and an abstract and general description of the business rules between the workflow and its various operation steps. With the development of information technology, container technology has become one of the core technologies of the new generation of cloud computing, and the concept of workflow management also provides a new business perspective for the development of information systems. Therefore, how to implement workflow based on containers Scheduling is of great significance to the deployment and operation and maintenance of workflow systems.
传统的工作流调度方法集中在单一计算资源上进行调度,调度性能低下,而随着数据规模增长及工作流程的复杂化,在单一计算资源上进行调度的方法已经不能满足当下的工作流管理需求。The traditional workflow scheduling method focuses on scheduling on a single computing resource, and the scheduling performance is low. With the growth of data scale and the complexity of workflow, the method of scheduling on a single computing resource can no longer meet the current workflow management needs. .
发明内容Contents of the invention
本发明的主要目的在于提出一种基于容器的工作流调度方法、装置、系统及存储介质,旨在提高工作流调度系统的扩展性。The main purpose of the present invention is to propose a container-based workflow scheduling method, device, system and storage medium, aiming at improving the scalability of the workflow scheduling system.
为实现上述目的,本发明提供一种基于容器的工作流调度方法,应用于基于容器的工作流调度系统,所述基于容器的工作流调度系统包括一级调度器和二级调度器,所述方法包括如下步骤:To achieve the above object, the present invention provides a container-based workflow scheduling method, which is applied to a container-based workflow scheduling system. The container-based workflow scheduling system includes a first-level scheduler and a second-level scheduler. The method includes the following steps:
当接收到工作流执行请求时,确定所述工作流执行请求对应的目标工作流,并将所述目标工作流分配到预设工作流队列;When a workflow execution request is received, determine a target workflow corresponding to the workflow execution request, and assign the target workflow to a preset workflow queue;
通过所述一级调度器监听所述预设工作流队列,以从所述预设工作流队列中获取所述目标工作流,并通过所述一级调度器确定所述目标工作流对应的计算资源节点;Monitor the preset workflow queue through the first-level scheduler to obtain the target workflow from the preset workflow queue, and determine the calculation corresponding to the target workflow through the first-level scheduler resource node;
通过所述一级调度器启动所述计算资源节点对应的目标二级调度器,并通过所述目标二级调度器对所述目标工作流进行调度。The target secondary scheduler corresponding to the computing resource node is started by the primary scheduler, and the target workflow is scheduled by the target secondary scheduler.
优选地,所述通过所述一级调度器确定所述目标工作流对应的计算资源节点的步骤包括:Preferably, the step of determining the computing resource node corresponding to the target workflow through the primary scheduler includes:
根据所述工作流执行请求确定所述目标工作流对应的初始计算资源节点;determining an initial computing resource node corresponding to the target workflow according to the workflow execution request;
获取所述初始计算资源节点对应的负载情况,并通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点。Obtain the load condition corresponding to the initial computing resource node, and determine the target computing resource node corresponding to the target workflow according to the load condition through the primary scheduler.
优选地,所述通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点的步骤包括:Preferably, the step of determining the target computing resource node corresponding to the target workflow according to the load condition by the primary scheduler includes:
当所述负载情况处于预设负载范围内时,通过所述一级调度器确定所述初始计算资源节点为所述目标工作流对应的目标计算资源节点;When the load condition is within a preset load range, the primary scheduler determines that the initial computing resource node is a target computing resource node corresponding to the target workflow;
当所述负载情况不处于预设负载范围内时,通过所述一级调度器侦测其他计算资源节点的节点负载情况,并从节点负载情况处于所述预设负载范围内的其他计算资源节点中,确定所述目标工作流对应的目标计算资源节点。When the load condition is not within the preset load range, the primary scheduler detects the node load conditions of other computing resource nodes, and obtains from other computing resource nodes whose node load conditions are within the preset load range , determine the target computing resource node corresponding to the target workflow.
优选地,所述通过所述目标二级调度器对所述目标工作流进行调度的步骤包括:Preferably, the step of scheduling the target workflow through the target secondary scheduler includes:
通过所述目标二级调度器对所述目标工作流进行解析处理,以确定所述目标工作流对应的任务节点;Analyzing the target workflow through the target secondary scheduler to determine the task node corresponding to the target workflow;
通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度。The task nodes are executed concurrently by the target secondary scheduler, so as to schedule the target workflow.
优选地,所述通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度的步骤之后,还包括:Preferably, after the step of performing concurrent execution processing on the task nodes through the target secondary scheduler to schedule the target workflow, it further includes:
通过所述目标二级调度器接收各所述任务节点返回的执行处理结果;receiving execution processing results returned by each of the task nodes through the target secondary scheduler;
根据所述执行处理结果,确定所述目标工作流是否调度完成。According to the execution processing result, it is determined whether the target workflow is scheduled to be completed.
优选地,所述通过所述一级调度器监听所述预设工作流队列,以从所述预设工作流队列中获取所述目标工作流,并通过所述一级调度器确定所述目标工作流对应的计算资源节点的步骤包括:Preferably, the first-level scheduler monitors the preset workflow queue to obtain the target workflow from the preset workflow queue, and determines the target workflow through the first-level scheduler The steps of computing resource nodes corresponding to the workflow include:
通过所述一级调度器监听所述预设工作流队列,并通过所述一级调度器从所述预设工作流队列中主动拉取所述目标工作流,以获取所述目标工作流中的工作流信息;Monitor the preset workflow queue through the first-level scheduler, and actively pull the target workflow from the preset workflow queue through the first-level scheduler, so as to obtain the target workflow workflow information;
通过所述一级调度器根据所述工作流信息确定所述目标工作流对应的计算资源节点。The computing resource node corresponding to the target workflow is determined by the primary scheduler according to the workflow information.
优选地,所述确定所述工作流执行请求对应的目标工作流的步骤之前,还包括:Preferably, before the step of determining the target workflow corresponding to the workflow execution request, it further includes:
确定待执行工作流,并根据预设描述方式对所述待执行工作流进行描述,得到对应的描述模型;Determining the workflow to be executed, and describing the workflow to be executed according to a preset description method, to obtain a corresponding description model;
基于所述描述模型接收工作流执行请求。A workflow execution request is received based on the description model.
此外,为实现上述目的,本发明还提供一种基于容器的工作流调度装置,应用于基于容器的工作流调度系统,所述基于容器的工作流调度系统包括一级调度器和二级调度器,所述基于容器的工作流调度装置包括:In addition, in order to achieve the above object, the present invention also provides a container-based workflow scheduling device, which is applied to a container-based workflow scheduling system, and the container-based workflow scheduling system includes a first-level scheduler and a second-level scheduler , the container-based workflow scheduling device includes:
接收确定模块,用于当接收到工作流执行请求时,确定所述工作流执行请求对应的目标工作流,并将所述目标工作流分配到预设工作流队列;A receiving and determining module, configured to determine a target workflow corresponding to the workflow execution request when a workflow execution request is received, and assign the target workflow to a preset workflow queue;
监听确定模块,用于通过所述一级调度器监听所述预设工作流队列,以从所述预设工作流队列中获取所述目标工作流,并通过所述一级调度器确定所述目标工作流对应的计算资源节点;A monitoring and determining module, configured to monitor the preset workflow queue through the primary scheduler, so as to obtain the target workflow from the preset workflow queue, and determine the preset workflow queue through the primary scheduler. The computing resource node corresponding to the target workflow;
启动调度模块,用于通过所述一级调度器启动所述计算资源节点对应的目标二级调度器,并通过所述目标二级调度器对所述目标工作流进行调度。The starting scheduling module is configured to start the target secondary scheduler corresponding to the computing resource node through the primary scheduler, and schedule the target workflow through the target secondary scheduler.
优选地,所述监听确定模块还包括节点确定单元,所述节点确定单元用于:Preferably, the monitoring determination module further includes a node determination unit, and the node determination unit is used for:
根据所述工作流执行请求确定所述目标工作流对应的初始计算资源节点;determining an initial computing resource node corresponding to the target workflow according to the workflow execution request;
获取所述初始计算资源节点对应的负载情况,并通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点。Obtain the load condition corresponding to the initial computing resource node, and determine the target computing resource node corresponding to the target workflow according to the load condition through the primary scheduler.
优选地,所述节点确定单元还用于:Preferably, the node determining unit is also used for:
当所述负载情况处于预设负载范围内时,通过所述一级调度器确定所述初始计算资源节点为所述目标工作流对应的目标计算资源节点;When the load condition is within a preset load range, the primary scheduler determines that the initial computing resource node is a target computing resource node corresponding to the target workflow;
当所述负载情况不处于预设负载范围内时,通过所述一级调度器侦测其他计算资源节点的节点负载情况,并从节点负载情况处于所述预设负载范围内的其他计算资源节点中,确定所述目标工作流对应的目标计算资源节点。When the load condition is not within the preset load range, the primary scheduler detects the node load conditions of other computing resource nodes, and obtains from other computing resource nodes whose node load conditions are within the preset load range , determine the target computing resource node corresponding to the target workflow.
优选地,所述启动调度模块还用于:Preferably, the startup scheduling module is also used for:
通过所述目标二级调度器对所述目标工作流进行解析处理,以确定所述目标工作流对应的任务节点;Analyzing the target workflow through the target secondary scheduler to determine the task node corresponding to the target workflow;
通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度。The task nodes are executed concurrently by the target secondary scheduler, so as to schedule the target workflow.
优选地,所述基于容器的工作流调度装置还包括执行反馈单元,所述执行反馈单元用于:Preferably, the container-based workflow scheduling device further includes an execution feedback unit, and the execution feedback unit is used for:
通过所述目标二级调度器接收各所述任务节点返回的执行处理结果;receiving execution processing results returned by each of the task nodes through the target secondary scheduler;
根据所述执行处理结果,确定所述目标工作流是否调度完成。According to the execution processing result, it is determined whether the target workflow is scheduled to be completed.
优选地,所述监听确定模块还用于:Preferably, the monitoring determination module is also used for:
通过所述一级调度器监听所述预设工作流队列,并通过所述一级调度器从所述预设工作流队列中主动拉取所述目标工作流,以获取所述目标工作流中的工作流信息;Monitor the preset workflow queue through the first-level scheduler, and actively pull the target workflow from the preset workflow queue through the first-level scheduler, so as to obtain the target workflow workflow information;
通过所述一级调度器根据所述工作流信息确定所述目标工作流对应的计算资源节点。The computing resource node corresponding to the target workflow is determined by the primary scheduler according to the workflow information.
优选地,所述基于容器的工作流调度装置还包括描述触发单元,所述描述触发单元用于:Preferably, the container-based workflow scheduling device further includes a description trigger unit, and the description trigger unit is used for:
确定待执行工作流,并根据预设描述方式对所述待执行工作流进行描述,得到对应的描述模型;Determining the workflow to be executed, and describing the workflow to be executed according to a preset description method, to obtain a corresponding description model;
基于所述描述模型接收工作流执行请求。A workflow execution request is received based on the description model.
此外,为实现上述目的,本发明还提供一种基于容器的工作流调度系统,所述基于容器的工作流调度系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于容器的工作流调度程序,所述基于容器的工作流调度程序被所述处理器执行时实现如上所述的基于容器的工作流调度方法的步骤。In addition, in order to achieve the above object, the present invention also provides a container-based workflow scheduling system, the container-based workflow scheduling system includes: a memory, a processor, and a The container-based workflow scheduler running on the above-mentioned container-based workflow scheduler implements the steps of the container-based workflow scheduler method when executed by the processor.
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于容器的工作流调度程序,所述基于容器的工作流调度程序被处理器执行时实现如上所述的基于容器的工作流调度方法的步骤。In addition, in order to achieve the above object, the present invention also provides a storage medium, on which a container-based workflow scheduler is stored, and when the container-based workflow scheduler is executed by a processor, the above-mentioned Steps of a container-based workflow scheduling method.
本发明提出的基于容器的工作流调度方法,应用于基于容器的工作流调度系统,系统包括一级调度器和二级调度器,方法包括:当接收到工作流执行请求时,确定工作流执行请求对应的目标工作流,并将目标工作流分配到预设工作流队列;通过一级调度器监听预设工作流队列,以从预设工作流队列中获取目标工作流,并通过一级调度器确定目标工作流对应的计算资源节点;通过一级调度器启动计算资源节点对应的目标二级调度器,并通过目标二级调度器对目标工作流进行调度。本发明采用多级调度架构在不同计算资源节点实现分布调度,从而达到调度可扩展的目的,提高系统的调度性能。The container-based workflow scheduling method proposed by the present invention is applied to a container-based workflow scheduling system. The system includes a first-level scheduler and a second-level scheduler. The method includes: when a workflow execution request is received, determine the workflow execution Request the corresponding target workflow, and assign the target workflow to the preset workflow queue; monitor the preset workflow queue through the first-level scheduler to obtain the target workflow from the preset workflow queue, and pass the first-level scheduling The controller determines the computing resource node corresponding to the target workflow; starts the target secondary scheduler corresponding to the computing resource node through the primary scheduler, and schedules the target workflow through the target secondary scheduler. The invention adopts a multi-level scheduling framework to realize distributed scheduling on different computing resource nodes, so as to achieve the purpose of scalable scheduling and improve the scheduling performance of the system.
附图说明Description of drawings
图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;Fig. 1 is a schematic diagram of the system structure of the hardware operating environment involved in the solution of the embodiment of the present invention;
图2为本发明基于容器的工作流调度方法第一实施例的流程示意图;FIG. 2 is a schematic flowchart of the first embodiment of the container-based workflow scheduling method of the present invention;
图3为本发明基于容器的工作流调度方法较佳实施例的多级调度结构图;3 is a multi-level scheduling structure diagram of a preferred embodiment of the container-based workflow scheduling method of the present invention;
图4为本发明基于容器的工作流调度方法较佳实施例的功能模块示意图。Fig. 4 is a schematic diagram of functional modules of a preferred embodiment of the container-based workflow scheduling method of the present invention.
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization of the purpose of the present invention, functional characteristics and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings.
具体实施方式Detailed ways
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图。As shown in FIG. 1 , FIG. 1 is a schematic diagram of the system structure of the hardware operating environment involved in the solution of the embodiment of the present invention.
本发明实施例系统包括一级调度器和二级调度器等。The system in the embodiment of the present invention includes a first-level scheduler and a second-level scheduler.
如图1所示,该系统可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。As shown in FIG. 1 , the system may include: a
本领域技术人员可以理解,图1中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。Those skilled in the art can understand that the system structure shown in FIG. 1 does not constitute a limitation to the system, and may include more or less components than shown in the figure, or combine some components, or arrange different components.
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于容器的工作流调度程序。As shown in FIG. 1 , the
其中,操作系统是管理和控制基于容器的工作流调度系统与软件资源的程序,支持网络通信模块、用户接口模块、基于容器的工作流调度程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。Among them, the operating system is a program that manages and controls the container-based workflow scheduling system and software resources, and supports the operation of the network communication module, user interface module, container-based workflow scheduling program, and other programs or software; the network communication module is used for Manage and control the
在图1所示的基于容器的工作流调度系统中,所述基于容器的工作流调度系统通过处理器1001调用存储器1005中存储的基于容器的工作流调度程序,并执行下述基于容器的工作流调度方法各个实施例中的操作。In the container-based workflow scheduling system shown in Figure 1, the container-based workflow scheduling system calls the container-based workflow scheduler stored in the
基于上述硬件结构,提出本发明基于容器的工作流调度方法实施例。Based on the above hardware structure, an embodiment of the container-based workflow scheduling method of the present invention is proposed.
参照图2,图2为本发明基于容器的工作流调度方法第一实施例的流程示意图,所述方法包括:Referring to FIG. 2, FIG. 2 is a schematic flowchart of the first embodiment of the container-based workflow scheduling method of the present invention, the method comprising:
步骤S10,当接收到工作流执行请求时,确定所述工作流执行请求对应的目标工作流,并将所述目标工作流分配到预设工作流队列;Step S10, when a workflow execution request is received, determine a target workflow corresponding to the workflow execution request, and assign the target workflow to a preset workflow queue;
本实施例基于容器的工作流调度方法运用于各大企业、集团的基于容器的工作流调度系统中。为描述方便,基于容器的工作流调度系统以调度系统简称。在本实施例中,调度系统包括一级调度器和二级调度器,其中,一级调度器负责对工作流进行分发处理,当接收到工作流执行请求时,就根据工作流请求对工作流进行分发,以确定工作流对应的运行环境;二级调度器负责解析工作流,然后执行工作流的逻辑调度,对工作流的节点任务进行调度。The container-based workflow scheduling method of this embodiment is applied to container-based workflow scheduling systems of various enterprises and groups. For the convenience of description, the container-based workflow scheduling system is referred to as scheduling system. In this embodiment, the scheduling system includes a first-level scheduler and a second-level scheduler. The first-level scheduler is responsible for distributing workflows. Distribute to determine the corresponding operating environment of the workflow; the secondary scheduler is responsible for parsing the workflow, and then executes the logical scheduling of the workflow to schedule the node tasks of the workflow.
随着信息化技术的发展,容器技术已经成为新一代云计算的核心技术之一,而工作流管理的概念也为信息系统的开发提供了新的业务视角,因此,如何基于容器进行工作流调度,对工作流系统的部署和运维具有重要意义。传统的工作流调度方法,集中在单一计算资源上进行调度,调度性能低下,而随着数据规模增长及工作流程的复杂化,在单一计算资源上进行调度的方法已经不能满足当下的工作流管理需求。With the development of information technology, container technology has become one of the core technologies of the new generation of cloud computing, and the concept of workflow management also provides a new business perspective for the development of information systems. Therefore, how to schedule workflow based on containers , which is of great significance to the deployment and operation and maintenance of the workflow system. The traditional workflow scheduling method focuses on scheduling on a single computing resource, and the scheduling performance is low. With the growth of data scale and the complexity of workflow, the method of scheduling on a single computing resource can no longer meet the current workflow management. need.
在本实施例中,由于工作流执行请求中携带着待执行的目标工作流以及对应的工作流信息,当调度系统接收到工作流执行请求时,可通过读取工作流执行请求,确定待执行的目标工作流,然后将目标工作流分配到预设工作流队列。将目标工作流分配到预设工作流队列之前,可采用预设中间件技术建立预设工作流队列,其中,预设中间件技术优选为Redis(Remote Dictionary Service,远程字典服务)等高效中间件技术,使得工作流队列可遵循先进先出的规则来执行目标工作流。此外,利用Redis建立的预设工作流队列包括生产者消费者模式、发布者订阅者模式等队列模式。具体的,采用生产者-消费者模型,通过生产者产生工作流,并将工作流分配到队列,同时通过消费者调度处理工作流,如通过多个消费者同时监听工作流队列,谁先抢到消息谁就会从工作流队列中取走消息,如果工作流队列里没有消息,则消费者继续监听,因此,生产者消费者模式一般用来处理高并发情况;利用消息发布订阅机制,可对工作流进行异步高效处理。利用多种队列模式可以满足工作流的不同场景需求,且利用高效中间件技术和生产者-消费者等队列模式可实现高效能调度。In this embodiment, since the workflow execution request carries the target workflow to be executed and the corresponding workflow information, when the scheduling system receives the workflow execution request, it can determine the workflow execution request by reading the workflow execution request. , and then assign the target workflow to the preset workflow queue. Before the target workflow is assigned to the preset workflow queue, the preset middleware technology can be used to establish the preset workflow queue, wherein the preset middleware technology is preferably efficient middleware such as Redis (Remote Dictionary Service, remote dictionary service) technology, so that the workflow queue can follow the first-in-first-out rule to execute the target workflow. In addition, the preset workflow queues established using Redis include queue modes such as producer-consumer mode and publisher-subscriber mode. Specifically, the producer-consumer model is used to generate workflows through producers and assign workflows to queues, while scheduling and processing workflows through consumers, such as monitoring workflow queues through multiple consumers at the same time. Whoever receives the message will take the message from the workflow queue. If there is no message in the workflow queue, the consumer will continue to monitor. Therefore, the producer-consumer mode is generally used to handle high concurrency situations; using the message publish and subscribe mechanism, you can Asynchronous and efficient processing of workflows. A variety of queue modes can be used to meet the needs of different scenarios of workflow, and high-efficiency scheduling can be achieved by using efficient middleware technology and producer-consumer queue modes.
此外,将目标工作流分配到预设工作流队列,可通过获取目标工作流对应的工作流运行环境ID来确定各个目标工作流对应的目标队列,然后将各个目标工作流写入对应的目标队列。工作流运行环境ID是工作流运行环境的唯一标识,其中,工作流运行环境ID可通过主动方式策略或被动自适应策略来获取。通过主动方式策略获取工作流运行环境ID,即用户通过客户端执行目标工作流时,主动选择不同的工作流队列来获得工作流运行环境ID;通过被动自适应策略获取工作流运行环境ID,即调度系统通过监控每个预设工作流队列的拥塞情况,进行自适应分配来确定工作流运行环境ID。在确定各个目标工作流对应的目标队列之后,获取目标工作流对应的运行唯一标识符ID,再根据运行唯一标识符ID和对应的运行环境生成各个目标工作流对应的key;然后将目标工作流对应的工作流信息作为value,通过键值对的方式将各个目标工作流的value和key对应地写入到预设工作流队列,可以有效地解决工作流执行时的碰撞问题。In addition, to assign the target workflow to the preset workflow queue, the target queue corresponding to each target workflow can be determined by obtaining the workflow running environment ID corresponding to the target workflow, and then write each target workflow into the corresponding target queue . The workflow running environment ID is a unique identifier of the workflow running environment, wherein the workflow running environment ID can be acquired through active strategy or passive adaptive strategy. The ID of the workflow running environment is obtained through the active strategy, that is, when the user executes the target workflow through the client, the user actively selects a different workflow queue to obtain the ID of the workflow running environment; the ID of the workflow running environment is obtained through the passive adaptive strategy, that is, The scheduling system determines the ID of the workflow running environment by monitoring the congestion of each preset workflow queue and performing adaptive allocation. After determining the target queue corresponding to each target workflow, obtain the running unique identifier ID corresponding to the target workflow, and then generate the key corresponding to each target workflow according to the running unique identifier ID and the corresponding running environment; then the target workflow The corresponding workflow information is used as value, and the value and key of each target workflow are correspondingly written into the preset workflow queue through key-value pairs, which can effectively solve the collision problem during workflow execution.
步骤S20,通过所述一级调度器监听所述预设工作流队列,以从所述预设工作流队列中获取所述目标工作流,并通过所述一级调度器确定所述目标工作流对应的计算资源节点;Step S20, monitor the preset workflow queue through the first-level scheduler to obtain the target workflow from the preset workflow queue, and determine the target workflow through the first-level scheduler The corresponding computing resource node;
在本实施例中,通过一级调度器实时监听不同的工作流队列,可利用各个目标工作流生成的key从工作流队列中读取各个目标工作流的工作流信息,一旦某个一级调度器从工作流队列中获取到目标工作流,则通过该一级调度器对获取到的目标工作流进行分发处理,以确定二级调度器运行的计算资源节点。其中,目标工作流对应的计算资源节点,即目标工作流的运行环境,确定目标工作流的计算资源节点,即可确定工作流将要在哪些计算资源节点上运行,如确定目标工作流需要运行在虚拟机1上,那么,虚拟机1就是该目标工作流对应的计算资源节点。In this embodiment, different workflow queues are monitored in real time by the first-level scheduler, and the workflow information of each target workflow can be read from the workflow queue by using the key generated by each target workflow. If the controller acquires the target workflow from the workflow queue, the first-level scheduler distributes the acquired target workflow to determine the computing resource node to be run by the second-level scheduler. Among them, the computing resource node corresponding to the target workflow is the operating environment of the target workflow. After determining the computing resource node of the target workflow, it is possible to determine which computing resource nodes the workflow will run on. virtual machine 1, then virtual machine 1 is the computing resource node corresponding to the target workflow.
进一步地,步骤S20还包括:Further, step S20 also includes:
步骤a1,通过所述一级调度器监听所述预设工作流队列,并通过所述一级调度器从所述预设工作流队列中主动拉取所述目标工作流,以获取所述目标工作流中的工作流信息;Step a1, monitor the preset workflow queue through the first-level scheduler, and actively pull the target workflow from the preset workflow queue through the first-level scheduler to obtain the target workflow information in the workflow;
步骤a2,通过所述一级调度器根据所述工作流信息确定所述目标工作流对应的计算资源节点。In step a2, the computing resource node corresponding to the target workflow is determined by the primary scheduler according to the workflow information.
在本实施例中,一级调度器至少包括一个,若一级调度器有多个时,分布在不同计算资源节点上的一级调度器实时监听不同的预设工作流队列,可通过用户在前端配置一级调度器监听不同预设工作流队列,通过主动或者被动增加队列的方式对一级调度器进行扩展;也可通过监听预设工作流队列的拥挤程度进行自动扩展。然后一级调度器通过竞争消费队列的方式从预设工作流队列中主动拉取工作流信息,再由拉取到工作流信息的一级调度器分别根据各自拉取到的工作流信息,确定对应的计算资源节点。通过竞争消费队列的方式,可实现一级调度器侧的自适应功能,既可以减少算法配置参数的复杂性,也可以使调度结构更容易扩展。In this embodiment, at least one primary scheduler is included. If there are multiple primary schedulers, the primary schedulers distributed on different computing resource nodes monitor different preset workflow queues in real time. The front-end configures the first-level scheduler to monitor different preset workflow queues, and expands the first-level scheduler by actively or passively adding queues; it can also automatically expand by monitoring the congestion level of the preset workflow queues. Then the first-level scheduler actively pulls the workflow information from the preset workflow queue by competing for the consumption queue, and then the first-level scheduler that pulls the workflow information determines the The corresponding computing resource node. By competing for consumption queues, the self-adaptive function of the first-level scheduler can be realized, which can not only reduce the complexity of algorithm configuration parameters, but also make the scheduling structure easier to expand.
步骤S30,通过所述一级调度器启动所述计算资源节点对应的目标二级调度器,并通过所述目标二级调度器对所述目标工作流进行调度。Step S30, start the target secondary scheduler corresponding to the computing resource node through the primary scheduler, and schedule the target workflow through the target secondary scheduler.
在本实施例中,由于不同任务所对应的应用程序各不相同,不同应用程序对应的计算资源节点也不相同,指定队列的任务节点会被调度到相应队列的计算资源节点上,相应队列的计算资源节点也只会运行指定队列的任务节点。因此,在检测到一级调度器对目标工作流分发处理完成后,由一级调度器启动目标工作流对应的计算资源节点上的二级调度器,即目标二级调度器,接着通过目标二级调度器根据可配置调度算法对目标工作流进行调度。利用多级调度架构,并采取分布式技术,实现调度可扩展功能。In this embodiment, since the application programs corresponding to different tasks are different, and the computing resource nodes corresponding to different application programs are also different, the task nodes of the specified queue will be scheduled to the computing resource nodes of the corresponding queue, and the corresponding Computing resource nodes will only run task nodes of the specified queue. Therefore, after detecting that the first-level scheduler has finished distributing and processing the target workflow, the first-level scheduler starts the second-level scheduler on the computing resource node corresponding to the target workflow, that is, the target second-level scheduler, and then passes the target second-level scheduler. The level scheduler schedules target workflows according to a configurable scheduling algorithm. Utilize the multi-level scheduling architecture and adopt distributed technology to realize the scalable scheduling function.
进一步地,所述通过所述目标二级调度器对所述目标工作流进行调度的步骤包括:Further, the step of scheduling the target workflow through the target secondary scheduler includes:
步骤b1,通过所述目标二级调度器对所述目标工作流进行解析处理,以确定所述目标工作流对应的任务节点;Step b1, analyzing and processing the target workflow through the target secondary scheduler to determine the task node corresponding to the target workflow;
在本实施例中,由于在触发工作流执行请求之前,需要通过有向无环图来描述工作流模型,且模型中保存的工作流信息与建模语言有关,如果采用json结构对待执行工作流进行建模,那么,预设工作流队列中存储的元素即为json格式的工作流信息。因此,通过目标二级调度器进行工作流调度时,需要通过目标二级调度器先对目标工作流进行解析处理,如将json结构的工作流信息解析为有向无环图,从而确定目标工作流对应的任务节点。可以理解的,在有向无环图中,圆圈为任务节点,代表被调度的任务;连接两个圆圈之间的边为通信边,代表被调度的任务之间的通信;边的方向表示为任务执行的顺序,因此,通过目标二级调度器对目标工作流进行解析处理,可确定目标工作流对应的任务节点。In this embodiment, since a directed acyclic graph needs to be used to describe the workflow model before triggering a workflow execution request, and the workflow information stored in the model is related to the modeling language, if the workflow to be executed using the json structure Then, the elements stored in the preset workflow queue are the workflow information in json format. Therefore, when the workflow scheduling is performed through the target secondary scheduler, the target workflow needs to be analyzed and processed by the target secondary scheduler first, for example, the workflow information of the json structure is parsed into a directed acyclic graph, so as to determine the target work The task node corresponding to the flow. It can be understood that in a directed acyclic graph, the circles are task nodes, which represent the scheduled tasks; the edges connecting two circles are communication edges, which represent the communication between the scheduled tasks; the direction of the edges is expressed as The sequence of task execution, therefore, the task node corresponding to the target workflow can be determined by parsing and processing the target workflow through the target secondary scheduler.
步骤b2,通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度。Step b2, performing concurrent execution processing on the task nodes through the target secondary scheduler, so as to schedule the target workflow.
在本实施例中,由于有向无环图中的任务节点包含需要执行的任务信息,因此,通过预设遍历算法遍历调度系统每一层的任务节点,并通过目标二级调度器对各个任务节点进行并发执行处理,就能通过目标二级调度器根据目标工作流中的任务信息,对目标工作流进行调度,且利用并发技术可实现同一层子女任务节点并发执行。In this embodiment, since the task nodes in the directed acyclic graph contain task information that needs to be executed, the task nodes at each level of the scheduling system are traversed through the preset traversal algorithm, and each task is processed by the target secondary scheduler. When the nodes perform concurrent execution processing, the target workflow can be scheduled through the target secondary scheduler according to the task information in the target workflow, and the concurrent execution of child task nodes of the same layer can be realized by using concurrency technology.
具体的,预设遍历算法优选为宽度遍历算法,也称为广度优先遍历(BFS)。广度优先遍历,指的是从图的一个未遍历的节点出发,先遍历这个节点的相邻节点,再依次遍历每个相邻节点的相邻节点。由于每个任务节点对应的值即为它们各自的遍历顺序,所以,广度优先遍历也叫层序遍历。通过BFS遍历各个任务节点时,每个任务节点是以最短路径被访问一遍,有利于提高工作流的执行效率。此外,并行处理就是让计算机同时运行几个程序或同时运行同一程序的多个进程或线程。并行处理的主要目的是节省大型和复杂问题的解决时间。如图3所示,图3为本发明基于容器的工作流调度方法较佳实施例的多级调度结构图,通过前端APP发送工作流执行请求至后端APP,后端APP根据工作流请求中工作流对应的执行环境,将工作流分配到不同的一级调度器中执行,且一个一级调度器支持并发起动多个二级调度器,在不同计算资源节点上的二级调度器也可支持同一节点并发多个APP,从而通过多个具体APP完成工作流的调度工作。利用多线程或多协程技术实现每一层调度器的并发执行,可提高调度系统的调度能力。Specifically, the preset traversal algorithm is preferably a width traversal algorithm, also known as breadth-first traversal (BFS). Breadth-first traversal refers to starting from an untraversed node in the graph, first traversing the adjacent nodes of this node, and then traversing the adjacent nodes of each adjacent node in turn. Since the value corresponding to each task node is their respective traversal order, breadth-first traversal is also called layer-order traversal. When traversing each task node through BFS, each task node is visited by the shortest path, which is beneficial to improve the execution efficiency of the workflow. Also, parallel processing is having a computer run several programs at the same time or multiple processes or threads of the same program at the same time. The main purpose of parallel processing is to save time in solving large and complex problems. As shown in Figure 3, Figure 3 is a multi-level scheduling structure diagram of a preferred embodiment of the container-based workflow scheduling method of the present invention. The execution environment corresponding to the workflow, the workflow is assigned to different first-level schedulers for execution, and one first-level scheduler supports concurrently launching multiple second-level schedulers, and the second-level schedulers on different computing resource nodes can also Support multiple APPs concurrently on the same node, so as to complete the scheduling work of the workflow through multiple specific APPs. Using multi-thread or multi-coroutine technology to realize the concurrent execution of each layer of scheduler can improve the scheduling ability of the scheduling system.
需要说明的是,本发明所涉及的“一级调度器”和“二级调度器”只是起到区分不同调度器的作用,而且根据任务需求,一级调度器和/或二级调度器均可以为多个。It should be noted that the "first-level scheduler" and "secondary scheduler" involved in the present invention only serve to distinguish different schedulers, and according to task requirements, the first-level scheduler and/or the second-level scheduler are both Can be multiple.
本实施例的基于容器的工作流调度方法,应用于基于容器的工作流调度系统,系统包括一级调度器和二级调度器,方法包括:当接收到工作流执行请求时,确定工作流执行请求对应的目标工作流,并将目标工作流分配到预设工作流队列;通过一级调度器监听预设工作流队列,以从预设工作流队列中获取目标工作流,并通过一级调度器确定目标工作流对应的计算资源节点;通过一级调度器启动计算资源节点对应的目标二级调度器,并通过目标二级调度器对目标工作流进行调度。本发明采用多级调度架构在不同计算资源节点实现分布调度,从而达到调度可扩展的目的,提高系统的调度性能。The container-based workflow scheduling method of this embodiment is applied to a container-based workflow scheduling system. The system includes a first-level scheduler and a second-level scheduler. The method includes: when a workflow execution request is received, determine the workflow execution Request the corresponding target workflow, and assign the target workflow to the preset workflow queue; monitor the preset workflow queue through the first-level scheduler to obtain the target workflow from the preset workflow queue, and pass the first-level scheduling The controller determines the computing resource node corresponding to the target workflow; starts the target secondary scheduler corresponding to the computing resource node through the primary scheduler, and schedules the target workflow through the target secondary scheduler. The invention adopts a multi-level scheduling framework to realize distributed scheduling on different computing resource nodes, so as to achieve the purpose of scalable scheduling and improve the scheduling performance of the system.
进一步地,基于本发明基于容器的工作流调度方法第一实施例,提出本发明基于容器的工作流调度方法第二实施例。Further, based on the first embodiment of the container-based workflow scheduling method of the present invention, a second embodiment of the container-based workflow scheduling method of the present invention is proposed.
基于容器的工作流调度方法的第二实施例与基于容器的工作流调度方法的第一实施例的区别在于,所述确定所述工作流执行请求对应的目标工作流的步骤之前,还包括:The difference between the second embodiment of the container-based workflow scheduling method and the first embodiment of the container-based workflow scheduling method is that before the step of determining the target workflow corresponding to the workflow execution request, it further includes:
步骤c1,确定待执行工作流,并根据预设描述方式对所述待执行工作流进行描述,得到对应的描述模型;Step c1, determining the workflow to be executed, and describing the workflow to be executed according to a preset description method, to obtain a corresponding description model;
在本实施例中,首先,通过容器技术对工作流所需要的应用程序进行封装,然后根据工作流调度时所需的各类应用程序、应用程序调用的先后逻辑关系等确定待执行工作流。可以理解的,通过容器技术对工作流所需要的应用程序进行封装,可以确保应用程序拥有必需的库、依赖项和文件,更重要的是,用户还可以在生产中自如地迁移这些应用程序,且不会产生任何负面影响。由此可见,容器技术为应用程序的跨平台运行提供了保障。此外,采用容器集群技术,可实现应用程序分布式运行,在增强应用程序稳定性的同时,达到负载均衡的目的,提高大规模容器集群管理的便捷性,其中,容器集群技术可为k8s(Kubernetes,一种开源容器集群管理系统),k8s在Docker(一个开源的应用容器引擎)技术的基础上,可为容器化的应用程序提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。In this embodiment, firstly, the application programs required by the workflow are encapsulated by the container technology, and then the workflow to be executed is determined according to various application programs required for workflow scheduling and the order and logic relationship of application program calls. It is understandable that packaging the applications required by the workflow through container technology can ensure that the applications have the necessary libraries, dependencies, and files. More importantly, users can also freely migrate these applications in production. without any negative impact. It can be seen that container technology provides a guarantee for the cross-platform operation of applications. In addition, the use of container cluster technology can realize the distributed operation of applications. While enhancing the stability of applications, it can also achieve the purpose of load balancing and improve the convenience of large-scale container cluster management. Among them, the container cluster technology can be k8s (Kubernetes , an open source container cluster management system), based on Docker (an open source application container engine) technology, k8s can provide containerized applications with a series of complete functions such as deployment and operation, resource scheduling, service discovery and dynamic scaling .
在确定待执行工作流之后,再通过预设描述方式,如有向无环图(Direct AcyclicGragh,DAG)对待执行工作流进行描述,得到对应的描述模型,即工作流模型。在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图。而工作流是由工作流节点构成的,每个工作流节点可包含一个或者多个应用,DAG是一种数据结构,通过DAG对待执行工作流进行描述,即通过这种数据结构去存储待执行工作流的节点、节点应用程序的调用关系等信息。此外,对DAG进行建模时,可以采用json或者yaml等格式的建模语言对其进行建模,以将待执行工作流对应的工作流信息保存到工作流模型中。由于有向无环图支持异步并发,且可构成一种拓扑的树状结构,因此,通过DAG对待执行工作流进行描述,能极大地提高工作流调度系统的扩展性。After the workflow to be executed is determined, the workflow to be executed is described by a preset description method, such as a directed acyclic graph (Direct Acyclic Gragh, DAG), to obtain a corresponding description model, that is, a workflow model. In graph theory, if a directed graph cannot start from a certain vertex and return to that point through several edges, then the graph is a directed acyclic graph. The workflow is composed of workflow nodes, and each workflow node can contain one or more applications. DAG is a data structure. The DAG is used to describe the workflow to be executed, that is, to store the pending execution through this data structure. Workflow nodes, node application calling relationship and other information. In addition, when modeling the DAG, it can be modeled with a modeling language such as json or yaml, so as to save the workflow information corresponding to the workflow to be executed in the workflow model. Since the directed acyclic graph supports asynchronous concurrency and can form a topological tree structure, describing the workflow to be executed through DAG can greatly improve the scalability of the workflow scheduling system.
具体的,描述模型包括工作流顶点集合和工作流边集合,工作流顶点集合中的每个顶点代表一个应用接口数组描述;工作流边集合中的每个边由一个边描述数组组成。其中,工作流顶点集合包括应用接口唯一标识符ID、应用接口名称、应用接口参数等,应用接口唯一标识符ID是采用UUID(Universally Unique Identifier,通用唯一识别码)规范生成唯一表示字符串;应用接口名称是采用字符串表示的;应用接口参数是采用键值对数组来表示。此外,工作流边集合,即每个边由一个边描述数组组成,包括边唯一标识符ID、源顶点、目的顶点、条件等,边唯一标识符ID是采用UUID规范生成唯一表示字符串;源顶点、目的顶点都是采用应用接口唯一标识符ID来表示;条件,即边执行的条件集合。Specifically, the description model includes a workflow vertex set and a workflow edge set, each vertex in the workflow vertex set represents an array description of an application interface; each edge in the workflow edge set is composed of an edge description array. Among them, the workflow vertex set includes the unique identifier ID of the application interface, the name of the application interface, the parameters of the application interface, etc., and the unique identifier ID of the application interface is a unique representation string generated by using the UUID (Universally Unique Identifier) specification; The interface name is represented by a string; the application interface parameter is represented by an array of key-value pairs. In addition, workflow edge collection, that is, each edge is composed of an edge description array, including edge unique identifier ID, source vertex, destination vertex, condition, etc. The edge unique identifier ID is a unique representation string generated by UUID specification; source The vertex and the destination vertex are represented by the unique identifier ID of the application interface; the condition is the set of conditions for edge execution.
需要说明的是,UUID是一种软件建构的标准,可让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个工作流都可以创建唯一的UUID,不会与其他工作流产生冲突,在创建数据库时也就不需要考虑名称重复的问题。It should be noted that UUID is a standard for software construction, which allows all elements in a distributed system to have unique identification information, without the need to specify the identification information through the central control terminal. In this way, each workflow can create a unique UUID, which will not conflict with other workflows, and there is no need to consider the problem of duplicate names when creating a database.
步骤c2,基于所述描述模型接收工作流执行请求。Step c2, receiving a workflow execution request based on the description model.
在本实施例中,若通过DAG对待执行工作流进行描述,得到对应的描述模型之后,可通过扫描DAG格式的描述模型,并存入预设数据库中。然后可通过用户在客户端上获取预设数据库中的工作流相关信息,按照实际应用需求触发工作流执行请求;也可以在调度系统中预先设置各个待执行工作流的工作流执行开始时间点,在达到该开始时间点时,客户端自动触发工作流执行请求。当接收到工作流执行请求时,调度系统可根据该工作流执行请求稳定、有序地对工作流进行调度。例如,客户在调度系统中提交了订单信息,即订单信息产生,则会激活描述模型中的订单处理流程,调度系统会根据订单处理流程进行工作流调度。In this embodiment, if the workflow to be executed is described by DAG, after obtaining the corresponding description model, the description model in DAG format can be scanned and stored in a preset database. Then, the user can obtain the workflow-related information in the preset database on the client, and trigger the workflow execution request according to the actual application requirements; it is also possible to pre-set the workflow execution start time point of each workflow to be executed in the scheduling system, When this start time point is reached, the client automatically triggers a workflow execution request. When receiving a workflow execution request, the scheduling system can schedule the workflow in a stable and orderly manner according to the workflow execution request. For example, when a customer submits order information in the scheduling system, that is, when the order information is generated, the order processing process in the description model will be activated, and the scheduling system will perform workflow scheduling according to the order processing process.
本实施例的基于容器的工作流调度方法,通过构建工作流模型来触发工作流执行请求,可提高工作流的执行效率,并有利于提高调度系统的稳定性。The container-based workflow scheduling method of this embodiment triggers a workflow execution request by building a workflow model, which can improve workflow execution efficiency and help improve the stability of the scheduling system.
进一步地,基于本发明基于容器的工作流调度方法第一、第二实施例,提出本发明基于容器的工作流调度方法第三实施例。Further, based on the first and second embodiments of the container-based workflow scheduling method of the present invention, a third embodiment of the container-based workflow scheduling method of the present invention is proposed.
基于容器的工作流调度方法的第三实施例与基于容器的工作流调度方法的第一、第二实施例的区别在于,所述通过所述一级调度器确定所述目标工作流对应的计算资源节点的步骤包括:The difference between the third embodiment of the container-based workflow scheduling method and the first and second embodiments of the container-based workflow scheduling method is that the calculation corresponding to the target workflow is determined by the first-level scheduler The steps for a resource node include:
步骤d1,根据所述工作流执行请求确定所述目标工作流对应的初始计算资源节点;Step d1, determining the initial computing resource node corresponding to the target workflow according to the workflow execution request;
步骤d2,获取所述初始计算资源节点对应的负载情况,并通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点。Step d2, obtaining the load condition corresponding to the initial computing resource node, and determining the target computing resource node corresponding to the target workflow through the primary scheduler according to the load condition.
在本实施例中,用户通过客户端执行目标工作流时,工作流对应的计算资源节点是用户进行选择的,也即,工作流执行请求中包含目标工作流对应的初始计算资源节点的相关信息。当调度系统接收到工作流执行请求后,会优先考虑初始计算资源节点上的负载情况,然后一级调度器根据具体的负载情况来对目标工作流进行分发,从而确定目标工作流对应的计算资源节点。In this embodiment, when the user executes the target workflow through the client, the computing resource node corresponding to the workflow is selected by the user, that is, the workflow execution request contains information about the initial computing resource node corresponding to the target workflow . When the scheduling system receives a workflow execution request, it will give priority to the load on the initial computing resource node, and then the first-level scheduler will distribute the target workflow according to the specific load, so as to determine the computing resources corresponding to the target workflow node.
进一步地,所述通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点的步骤包括:Further, the step of determining the target computing resource node corresponding to the target workflow according to the load condition through the primary scheduler includes:
步骤e1,当所述负载情况处于预设负载范围内时,通过所述一级调度器确定所述初始计算资源节点为所述目标工作流对应的目标计算资源节点;Step e1, when the load condition is within a preset load range, the primary scheduler determines that the initial computing resource node is the target computing resource node corresponding to the target workflow;
步骤e2,当所述负载情况不处于预设负载范围内时,通过所述一级调度器侦测其他计算资源节点的节点负载情况,并从节点负载情况处于所述预设负载范围内的其他计算资源节点中,确定所述目标工作流对应的目标计算资源节点。Step e2, when the load condition is not within the preset load range, the node load condition of other computing resource nodes is detected by the first-level scheduler, and other nodes whose node load condition is within the preset load range are obtained In the computing resource node, the target computing resource node corresponding to the target workflow is determined.
在本实施例中,为了保证工作流的高效执行,预先设置了计算资源节点上的负载范围,即预设负载范围。当检测到初始计算资源节点上的负载情况在预设负载范围内时,则说明初始计算资源节点上资源充足,一级调度器会优先将目标工作流分配到该初始计算资源节点上;当检测到初始计算资源节点上的负载情况不在预设负载范围内时,也即,初始计算资源节点上的资源受限时,则一级调度器重新对目标工作流进行编排,为其分配合适的运行环境。具体的,一级调度器通过侦测其他计算资源节点上的负载情况,即节点负载情况,并从节点负载情况处于预设负载范围内的其他计算资源节点中,选择一个计算资源节点作为目标工作流对应的目标计算资源节点。In this embodiment, in order to ensure efficient execution of the workflow, a load range on computing resource nodes is preset, that is, a preset load range. When it is detected that the load on the initial computing resource node is within the preset load range, it means that the resources on the initial computing resource node are sufficient, and the first-level scheduler will preferentially allocate the target workflow to the initial computing resource node; When the load on the initial computing resource node is not within the preset load range, that is, when the resources on the initial computing resource node are limited, the first-level scheduler re-arranges the target workflow and assigns it a suitable running surroundings. Specifically, the first-level scheduler detects the load on other computing resource nodes, that is, the node load, and selects a computing resource node as the target work from other computing resource nodes whose node load is within the preset load range The target computing resource node corresponding to the flow.
可以理解的,由于某个一级调度器通过竞争消费队列的方式能够从工作流队列中抢占到资源,则说明该一级调度器上的负载比其他一级调度器的更轻,也就能够从工作流队列中竞争获取到工作流信息,因此,一级调度器会优先使用初始计算资源节点对目标工作流进行处理。It is understandable that since a certain first-level scheduler can seize resources from the workflow queue by competing for consumption queues, it means that the load on this first-level scheduler is lighter than that of other first-level schedulers, and it can The workflow information is competitively obtained from the workflow queue, so the first-level scheduler will preferentially use the initial computing resource node to process the target workflow.
本实施例的基于容器的工作流调度方法,根据初始计算资源节点上的负载情况来确定目标工作流对应的目标计算资源节点,通过优先考虑在工作流执行请求中默认的初始计算资源节点上对目标工作流进行处理,提高了调度系统的工作流调度效率。In the container-based workflow scheduling method of this embodiment, the target computing resource node corresponding to the target workflow is determined according to the load on the initial computing resource node, and the default initial computing resource node in the workflow execution request is prioritized. The target workflow is processed, which improves the workflow scheduling efficiency of the scheduling system.
进一步地,基于本发明基于容器的工作流调度方法第一、第二、第三实施例,提出本发明基于容器的工作流调度方法第四实施例。Further, based on the first, second, and third embodiments of the container-based workflow scheduling method of the present invention, a fourth embodiment of the container-based workflow scheduling method of the present invention is proposed.
基于容器的工作流调度方法的第四实施例与基于容器的工作流调度方法的第一、第二、第三实施例的区别在于,所述通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度的步骤之后,还包括:The difference between the fourth embodiment of the container-based workflow scheduling method and the first, second, and third embodiments of the container-based workflow scheduling method is that the task node After the step of performing concurrent execution processing to schedule the target workflow, it further includes:
步骤f1,通过所述目标二级调度器接收各所述任务节点返回的执行处理结果;Step f1, receiving the execution processing results returned by each of the task nodes through the target secondary scheduler;
步骤f2,根据所述执行处理结果,确定所述目标工作流是否调度完成。Step f2, according to the execution processing result, determine whether the target workflow is scheduled to be completed.
在本实施例中,各个任务节点执行完成后,可通过调用Restful API返回任务节点的执行处理结果,然后通过目标二级调度器接收各个任务节点返回的执行处理结果,并将执行结果反馈给用户。当所有任务节点的执行处理结果反馈完成后,目标二级调度器统一收集执行处理结果,并根据执行处理结果反馈每一层的工作流调度结果,从而根据工作流调度结果,确定本次待执行的目标工作流是否调度完成。具体的,如果给用户反馈DAG调度成功的结果,则可在用户确认之后,将目标工作流映射到计算资源上进行调度;如果给用户反馈DAG调度失败的结果,用户会根据反馈回来的执行处理结果,进行下一个活动的选择,直至完成本次工作流的调度工作。In this embodiment, after the execution of each task node is completed, the execution processing result of the task node can be returned by calling the Restful API, and then the execution processing result returned by each task node can be received through the target secondary scheduler, and the execution result can be fed back to the user . After the feedback of the execution processing results of all task nodes is completed, the target secondary scheduler collects the execution processing results in a unified manner, and feeds back the workflow scheduling results of each layer according to the execution processing results, so as to determine the task to be executed according to the workflow scheduling results Whether the target workflow is scheduled to complete. Specifically, if the user is fed back the result of DAG scheduling success, the target workflow can be mapped to computing resources for scheduling after the user confirms; if the user is fed back the result of DAG scheduling failure, the user will execute the processing according to the feedback As a result, the selection of the next activity is carried out until the scheduling work of this workflow is completed.
本实施例的基于容器的工作流调度方法,通过目标二级调度器对各个任务节点进行并发执行处理后,通过接收各个任务节点返回的执行处理结果,以确定目标工作流是否调度完成,有助于用户及时了解到工作流调度的执行进度,并在一定程度上提高了调度系统的稳定性。In the container-based workflow scheduling method of this embodiment, after performing concurrent execution processing on each task node through the target secondary scheduler, by receiving the execution processing results returned by each task node, it is helpful to determine whether the target workflow scheduling is completed. It helps users know the execution progress of workflow scheduling in time, and improves the stability of the scheduling system to a certain extent.
本发明还提供一种基于容器的工作流调度装置。参照图4,本发明基于容器的工作流调度装置应用于基于容器的工作流调度系统,所述基于容器的工作流调度系统包括一级调度器和二级调度器,所述装置包括:The invention also provides a container-based workflow scheduling device. Referring to Fig. 4, the container-based workflow scheduling device of the present invention is applied to a container-based workflow scheduling system, the container-based workflow scheduling system includes a first-level scheduler and a second-level scheduler, and the device includes:
接收确定模块10,用于当接收到工作流执行请求时,确定所述工作流执行请求对应的目标工作流,并将所述目标工作流分配到预设工作流队列;The receiving
监听确定模块20,用于通过所述一级调度器监听所述预设工作流队列,以从所述预设工作流队列中获取所述目标工作流,并通过所述一级调度器确定所述目标工作流对应的计算资源节点;The
启动调度模块30,用于通过所述一级调度器启动所述计算资源节点对应的目标二级调度器,并通过所述目标二级调度器对所述目标工作流进行调度。The starting
优选地,所述监听确定模块还包括节点确定单元,所述节点确定单元用于:Preferably, the monitoring determination module further includes a node determination unit, and the node determination unit is used for:
根据所述工作流执行请求确定所述目标工作流对应的初始计算资源节点;determining an initial computing resource node corresponding to the target workflow according to the workflow execution request;
获取所述初始计算资源节点对应的负载情况,并通过所述一级调度器根据所述负载情况确定所述目标工作流对应的目标计算资源节点。Obtain the load condition corresponding to the initial computing resource node, and determine the target computing resource node corresponding to the target workflow according to the load condition through the primary scheduler.
优选地,所述节点确定单元还用于:Preferably, the node determining unit is also used for:
当所述负载情况处于预设负载范围内时,通过所述一级调度器确定所述初始计算资源节点为所述目标工作流对应的目标计算资源节点;When the load condition is within a preset load range, the primary scheduler determines that the initial computing resource node is a target computing resource node corresponding to the target workflow;
当所述负载情况不处于预设负载范围内时,通过所述一级调度器侦测其他计算资源节点的节点负载情况,并从节点负载情况处于所述预设负载范围内的其他计算资源节点中,确定所述目标工作流对应的目标计算资源节点。When the load condition is not within the preset load range, the primary scheduler detects the node load conditions of other computing resource nodes, and obtains from other computing resource nodes whose node load conditions are within the preset load range , determine the target computing resource node corresponding to the target workflow.
优选地,所述启动调度模块还用于:Preferably, the startup scheduling module is also used for:
通过所述目标二级调度器对所述目标工作流进行解析处理,以确定所述目标工作流对应的任务节点;Analyzing the target workflow through the target secondary scheduler to determine the task node corresponding to the target workflow;
通过所述目标二级调度器对所述任务节点进行并发执行处理,以对所述目标工作流进行调度。The task nodes are executed concurrently by the target secondary scheduler, so as to schedule the target workflow.
优选地,所述基于容器的工作流调度装置还包括执行反馈单元,所述执行反馈单元用于:Preferably, the container-based workflow scheduling device further includes an execution feedback unit, and the execution feedback unit is used for:
通过所述目标二级调度器接收各所述任务节点返回的执行处理结果;receiving execution processing results returned by each of the task nodes through the target secondary scheduler;
根据所述执行处理结果,确定所述目标工作流是否调度完成。According to the execution processing result, it is determined whether the target workflow is scheduled to be completed.
优选地,所述监听确定模块还用于:Preferably, the monitoring determination module is also used for:
通过所述一级调度器监听所述预设工作流队列,并通过所述一级调度器从所述预设工作流队列中主动拉取所述目标工作流,以获取所述目标工作流中的工作流信息;Monitor the preset workflow queue through the first-level scheduler, and actively pull the target workflow from the preset workflow queue through the first-level scheduler, so as to obtain the target workflow workflow information;
通过所述一级调度器根据所述工作流信息确定所述目标工作流对应的计算资源节点。The computing resource node corresponding to the target workflow is determined by the primary scheduler according to the workflow information.
优选地,所述基于容器的工作流调度装置还包括描述触发单元,所述描述触发单元用于:Preferably, the container-based workflow scheduling device further includes a description trigger unit, and the description trigger unit is used for:
确定待执行工作流,并根据预设描述方式对所述待执行工作流进行描述,得到对应的描述模型;Determining the workflow to be executed, and describing the workflow to be executed according to a preset description method, to obtain a corresponding description model;
基于所述描述模型接收工作流执行请求。A workflow execution request is received based on the description model.
本发明还提供一种存储介质。The invention also provides a storage medium.
本发明存储介质上存储有基于容器的工作流调度程序,所述基于容器的工作流调度程序被处理器执行时实现如上所述的基于容器的工作流调度方法的步骤。A container-based workflow scheduler is stored on the storage medium of the present invention, and when the container-based workflow scheduler is executed by a processor, the steps of the above-mentioned container-based workflow scheduler are implemented.
其中,在所述处理器上运行的基于容器的工作流调度程序被执行时所实现的方法可参照本发明基于容器的工作流调度方法各个实施例,此处不再赘述。For the method implemented when the container-based workflow scheduling program running on the processor is executed, reference may be made to various embodiments of the container-based workflow scheduling method of the present invention, which will not be repeated here.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。It should be noted that, as used herein, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or system comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or system. Without further limitations, an element defined by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article or system comprising that element.
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the above embodiments of the present invention are for description only, and do not represent the advantages and disadvantages of the embodiments.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端系统(可以是手机,计算机,服务器,空调器,或者网络系统等)执行本发明各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on such an understanding, the technical solution of the present invention can be embodied in the form of a software product in essence or in other words, the part that contributes to the prior art, and the computer software product is stored in a storage medium (such as ROM/RAM) as described above. , magnetic disk, optical disk), including several instructions to make a terminal system (which can be a mobile phone, a computer, a server, an air conditioner, or a network system, etc.) execute the methods described in various embodiments of the present invention.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technical fields , are all included in the scope of patent protection of the present invention in the same way.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110417260.9A CN113225269B (en) | 2021-04-16 | 2021-04-16 | Container-based workflow scheduling method, device and system and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110417260.9A CN113225269B (en) | 2021-04-16 | 2021-04-16 | Container-based workflow scheduling method, device and system and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225269A CN113225269A (en) | 2021-08-06 |
CN113225269B true CN113225269B (en) | 2022-11-22 |
Family
ID=77087887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110417260.9A Active CN113225269B (en) | 2021-04-16 | 2021-04-16 | Container-based workflow scheduling method, device and system and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225269B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934520B (en) * | 2021-09-08 | 2025-04-18 | 深圳云天励飞技术股份有限公司 | Task processing method, device, electronic device and storage medium |
WO2023102869A1 (en) * | 2021-12-10 | 2023-06-15 | 上海智药科技有限公司 | Task management system, method and apparatus, device, and storage medium |
CN118567819B (en) * | 2024-07-30 | 2024-10-08 | 浙江大华技术股份有限公司 | Container dispatching system and container batch dispatching method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2532442A1 (en) * | 2005-01-10 | 2006-07-10 | Hill-Rom Services, Inc. | System and method for managing workflow |
CN109639791A (en) * | 2018-12-06 | 2019-04-16 | 广东石油化工学院 | Cloud workflow schedule method and system under a kind of container environment |
CN111522730A (en) * | 2020-03-09 | 2020-08-11 | 平安科技(深圳)有限公司 | Program testing method and device, computer device and computer readable medium |
CN112202899A (en) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | Workflow processing method and device, intelligent workstation and electronic equipment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1770515A1 (en) * | 2005-09-27 | 2007-04-04 | Sap Ag | Enabling pervasive execution of workflows |
CN109471727B (en) * | 2018-10-29 | 2021-01-22 | 北京金山云网络技术有限公司 | Task processing method, device and system |
CN111506406B (en) * | 2020-04-10 | 2024-07-02 | 深圳前海微众银行股份有限公司 | Workflow scheduling method, device, system and computer readable storage medium |
CN111897622B (en) * | 2020-06-10 | 2022-09-30 | 中国科学院计算机网络信息中心 | High-throughput computing method and system based on container technology |
CN111861412B (en) * | 2020-07-27 | 2024-03-15 | 上海交通大学 | Scientific workflow scheduling method and system for completion time optimization |
CN112486648B (en) * | 2020-11-30 | 2024-11-26 | 北京百度网讯科技有限公司 | Task scheduling method, device, system, electronic device and storage medium |
-
2021
- 2021-04-16 CN CN202110417260.9A patent/CN113225269B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2532442A1 (en) * | 2005-01-10 | 2006-07-10 | Hill-Rom Services, Inc. | System and method for managing workflow |
CN109639791A (en) * | 2018-12-06 | 2019-04-16 | 广东石油化工学院 | Cloud workflow schedule method and system under a kind of container environment |
CN111522730A (en) * | 2020-03-09 | 2020-08-11 | 平安科技(深圳)有限公司 | Program testing method and device, computer device and computer readable medium |
CN112202899A (en) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | Workflow processing method and device, intelligent workstation and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
CN113225269A (en) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113225269B (en) | Container-based workflow scheduling method, device and system and storage medium | |
Tang et al. | A stochastic scheduling algorithm for precedence constrained tasks on grid | |
CN113454614A (en) | System and method for resource partitioning in distributed computing | |
CN111367644B (en) | Task scheduling method and device for heterogeneous fusion system | |
CN106681820B (en) | Scalable big data computing method based on message composition | |
CN105956021A (en) | Automated task parallel method suitable for distributed machine learning and system thereof | |
CN110768914B (en) | Decentralized Internet of things gateway system based on semantic scene instance migration | |
CN102763086A (en) | Task processing system for distributed computation and task processing method for distributed computation | |
CN115022311B (en) | Method and device for selecting micro-service container instance | |
WO2021143590A1 (en) | Distributed container image construction scheduling system and method | |
CN107943457A (en) | A kind of workflow modeling method and system of service-oriented object | |
CN113342532B (en) | Zookeeper-based distributed task scheduling method and system | |
WO2012116513A1 (en) | Business process modeling notation (bpmn) composite service execution engine and method for optimizing concurrency | |
CN117707759A (en) | Multi-tenant GPU cluster elastic quota scheduling method and system | |
CN112199184A (en) | Cross-language task scheduling method, device, equipment and readable storage medium | |
Kiss et al. | A cloud-agnostic queuing system to support the implementation of deadline-based application execution policies | |
CN116302464A (en) | Cloud platform resource arrangement method, device and electronic equipment based on singly linked list | |
CN116010064A (en) | Method, system and device for DAG job scheduling and cluster management | |
CN113472557B (en) | A virtual network element processing method, device and electronic equipment | |
CN101018192A (en) | Grid workflow virtual service scheduling method based on the open grid service architecture | |
CN116302448B (en) | Task scheduling method and system | |
Diwakar et al. | Optimizing load distribution in big data ecosystems: A comprehensive survey | |
JP2015095096A (en) | Mapreduce job execution system and mapreduce job execution method | |
Tao et al. | A new replication scheduling strategy for grid workflow applications | |
CN115904673B (en) | Cloud computing resource concurrent scheduling method, device, system, equipment and medium |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Zongzhe Inventor after: Han Weihong Inventor after: Huang Jun Inventor after: Xiang Wenli Inventor after: Yu Yicheng Inventor after: Ji Qingli Inventor before: Li Zongzhe Inventor before: Fu Yongquan Inventor before: Han Weihong Inventor before: Huang Jun Inventor before: Xiang Wenli Inventor before: Yu Yicheng Inventor before: Ji Qingli |