WO2023185137A1 - 一种任务管理方法、装置、设备及存储介质 - Google Patents

一种任务管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2023185137A1
WO2023185137A1 PCT/CN2022/141660 CN2022141660W WO2023185137A1 WO 2023185137 A1 WO2023185137 A1 WO 2023185137A1 CN 2022141660 W CN2022141660 W CN 2022141660W WO 2023185137 A1 WO2023185137 A1 WO 2023185137A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
subtask
executed
target
parameter object
Prior art date
Application number
PCT/CN2022/141660
Other languages
English (en)
French (fr)
Inventor
张德波
刘茂扬
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2023185137A1 publication Critical patent/WO2023185137A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Definitions

  • the present application relates to the field of task management, and in particular to a task management method, device, equipment and storage medium.
  • pod consists of a group of containers. When the pod is rebuilt, all the containers will be rebuilt, and the processes in the corresponding containers will also be closed and reopened.
  • an important feature of pod is that, It may be rebuilt at any time, causing the services running on it to be interrupted at any time. Therefore, if an application uses pod mode to run on Kubernetes, one issue it must consider is whether its business will be interrupted if the pod is suddenly rebuilt, and whether it will cause garbage data and other problems, especially in the face of long-term tasks, reducing Improve the efficiency of long-term task execution.
  • the purpose of this application is to provide a task management method, device, equipment and medium that can improve task execution efficiency.
  • the specific plan is as follows:
  • this application discloses a task management method, including:
  • the parameter object is read to determine the target subtask being executed when the process was interrupted, and the target subtask is re-executed to resume the task process.
  • the target execution task after dividing the target execution task to obtain a corresponding number of subtasks, it also includes:
  • each subtask corresponds to a parameter value.
  • a task process is launched to perform subtasks including:
  • the filter uses the filter to filter out the subtask corresponding to the initial parameters from all subtasks as the first subtask to be executed, and execute the first subtask to be executed;
  • the controller uses the filter to filter out the corresponding subtasks from all subtasks according to the current parameter value of the parameter object and executes it until all subtasks of the target execution task are completed.
  • updating the parameter object according to the currently executed subtask includes:
  • the parameter object is read to determine the target subtask being executed when the process is interrupted, including:
  • a filter is used to filter out the subtask corresponding to the target parameter value from all subtasks as the target subtask being executed when the process is interrupted.
  • a corresponding parameter object for saving task execution progress is created for the target execution task, including:
  • the parameter object is read to determine the target subtask being executed when the process is interrupted, including:
  • the task identifier of the target execution task determine the parameter object corresponding to the target execution task from the storage space;
  • the target execution task is divided into a corresponding number of subtasks, including:
  • this application discloses a task management device, including:
  • the segmentation module is used to segment the target execution task to obtain a corresponding number of subtasks, and create a corresponding parameter object for the target execution task to save the task execution progress;
  • the parameter object update module is used to start the task process to execute the subtask and update the parameter object according to the currently executed subtask;
  • the process recovery module is used to read the parameter object to determine the target subtask being executed when the process is interrupted if the task process is interrupted, and re-execute the target subtask to resume the task process.
  • this application discloses an electronic device, including:
  • Memory used to hold computer programs
  • the processor is used to execute the computer program to implement the aforementioned task management method.
  • the present application discloses a computer non-volatile readable storage medium for storing a computer program; wherein the computer program implements the aforementioned task management method when executed by a processor.
  • a corresponding number of subtasks are obtained by dividing the target execution task, and a corresponding parameter object for saving the task execution progress is created for the target execution task; the task process is started to execute the subtasks, and the task process is started according to the currently executed subtasks.
  • the task updates the parameter object; if the task process is interrupted, the parameter object is read to determine the target subtask being executed when the process was interrupted, and the target subtask is re-executed to resume the task process.
  • the target subtask executed at the time of interruption is determined by querying the parameter object, and from The target subtask starts to re-execute the target task, which solves the problem of long-term task interruption running on Kubernetes, enables recovery after long-term task interruption, and reduces repeated actions in the task by dividing the task into multiple subtasks for execution. , saving a lot of time spent on task re-execution and improving task execution efficiency.
  • Figure 1 is a flow chart of a task management method provided by some embodiments of the present application.
  • Figure 2 is a schematic diagram of a specific subtask definition structure provided by some embodiments of the present application.
  • Figure 3 is a specific task execution flow chart provided by some embodiments of the present application.
  • Figure 4 is a specific task recovery flow chart provided by some embodiments of the present application.
  • Figure 5 is a schematic structural diagram of a task management device provided by some embodiments of the present application.
  • Figure 6 is a structural diagram of an electronic device provided by some embodiments of the present application.
  • this application proposes a long-term task management method in the kubernetes scenario, which can improve task execution efficiency.
  • the embodiment of the present application discloses a task management method, as shown in Figure 1.
  • the method may include the following steps:
  • Step S11 Divide the target execution task into a corresponding number of subtasks, and create a corresponding parameter object for saving the task execution progress for the target execution task.
  • the target execution task is first divided to obtain a corresponding number of subtasks, and a corresponding parameter object for saving the task execution progress is created for the target execution task.
  • dividing the target execution task to obtain a corresponding number of subtasks may include: dividing the target execution task according to task idempotence to obtain a corresponding number of idempotent subtasks.
  • An idempotent task means that a task can get the same result no matter whether it is successfully executed once or multiple times. Then this is an idempotent task; therefore, in order to ensure that no matter how many times the task is interrupted, no matter where it is interrupted, ensure that it can get the same result.
  • the correct result is achieved by dividing the target execution task according to task idempotence to ensure the accuracy of the task results generated by re-executing the sub-task after subsequent interruptions.
  • each subtask may also include: defining each subtask according to the task base class and referencing the filter annotation.
  • each subtask corresponds to a parameter value.
  • a parameter value For example, as shown in Figure 2, by providing a task base class and forming a filter through annotations and annotation processors, users can implement the task class by themselves based on the task base class and reference the filter annotation.
  • the task class inherits from the task base class.
  • Each task class Contains at least a set of initial parameters, a series of subtask methods, and each subtask is defined using filter annotations. That is to say, the function method that refers to the filter annotation is considered a subtask.
  • Step S12 Start the task process to execute the subtask, and update the parameter object according to the currently executed subtask.
  • the subtasks of the target execution task are sequentially executed, and the parameter object corresponding to the target execution task is updated at least once each time a subtask is executed.
  • starting a task process to perform a subtask may include: starting the task process through the controller of the task manager and reading initial parameters from the parameter object; using a filter to obtain the initial parameters from the parameter object according to the parameter value corresponding to each subtask. Filter out the subtask corresponding to the initial parameters from all subtasks as the first to-be-executed subtask, and execute the first to-be-executed subtask; when the first to-be-executed subtask is completed, the controller uses the filter according to the parameter object According to the current parameter value, the corresponding subtasks are filtered out from all subtasks and executed until all subtasks of the target execution task are completed.
  • the parameter value corresponding to the subtask is related to the execution process of the target execution task before the task is divided.
  • the parameter object initially stores an initial value, and the subtask corresponding to the initial value is the first subtask of the target execution task.
  • Task by continuously updating the object parameters, the next sub-task to be executed can be determined according to the order of parameter values, until all sub-tasks are completed.
  • updating the parameter object according to the currently executed subtask may include: updating the parameter object according to the parameter value corresponding to the currently executed subtask. It is understandable that the update of the parameter object depends on the implementation of each specific subtask. Generally speaking, in each subtask, there is at least one operation to update the parameter object. By reading the parameter object, it is necessary to be able to accurately determine that the parameter object has been updated. Executed subtasks and unexecuted subtasks; and the parameter object can also be used to save marks during task execution to determine which subtasks have been successfully executed and which need to be re-executed among the executed subtasks. Task.
  • creating a corresponding parameter object for saving the task execution progress for the target execution task may include: creating a corresponding parameter object for the target execution task for saving the task identification (ID), task name, and task entry during the task execution process.
  • the parameter object of the parameter (that is, the updated parameter value of the currently executed subtask), and saves the parameter object to the storage space in a persistent storage manner. That is, the above parameter object is used to save the input parameters required for the task and record the progress of the task. That is, the parameter object can be used to record the task ID, the task class name corresponding to the task, task input parameters, markers during task execution, etc., so that the execution status of the subtask can be judged based on it.
  • parameter objects can be stored in the form of configmap, and the format can be in an easy-to-parse json format; configmap is a resource in the kubernetes platform and is used to record a set of text information, and the text can be any Format.
  • Step S13 If the task process is interrupted, read the parameter object to determine the target subtask being executed when the process was interrupted, and re-execute the target subtask to resume the task process.
  • the parameter object corresponding to the target execution task is read to determine the target subtask being executed when the process was interrupted, and the target subtask is re-executed to resume the task process. Therefore, in some embodiments, tasks that require long-term execution are cut into subtasks one by one, and the target execution task maintains a parameter object correspondingly. During the execution of the subtask, the content in the parameter object is updated as needed. After the task is interrupted, this parameter object can be read to determine the progress of the last execution, and based on this, determine which subtasks need to be executed next. It is suitable for complex tasks with many steps and takes a long time, and has good versatility.
  • reading the parameter object to determine the target subtask being executed when the process is interrupted may include: obtaining the target parameter value currently saved by the parameter object by reading the parameter object; according to the parameter value corresponding to each subtask, using The filter filters out the subtasks corresponding to the target parameter values from all subtasks as the target subtasks being executed when the process is interrupted. It can be understood that the filter uses the parameter value obtained from the parameter object as the triggering condition of the subtask. When the filter is referenced, the parameter value is provided to identify which conditions need to be triggered when the subtask is met. When the filter cannot match When any subtask is executed, the target execution task is considered to have been completed, and the corresponding parameter object can be deleted and the task process can be exited.
  • reading the parameter object to determine the target subtask being executed when the process is interrupted may include: determining the parameter object corresponding to the target execution task from the storage space according to the task identifier of the target execution task; reading A parameter object to determine the target subtask that was executing when the process was interrupted. It can be understood that since there may be multiple task processes in the system at the same time, there are also multiple parameter objects. Therefore, it is necessary to determine the parameter object corresponding to the task after the task is interrupted. In some embodiments, the task identifier is used to distinguish .
  • the business process creates an instance of task class A based on the task base class and references the filter annotation;
  • the business process calls the controller of the task manager and passes task instance A to it;
  • the controller creates task process A and generates a task ID
  • the controller calls k8s-client (the client object that connects to kubernetes and operates its resources), creates the parameter object configmap-A, and writes the initial parameters of the task instance to configmap-A.
  • the matched subtask is action1, and the controller calls and executes action1;
  • the current parameter a 3. Combined with the filter, the controller finds that no subtask matches this condition. The controller considers that task A has been completed and calls k8s-client to delete the parameter object configmap-A.
  • controller When the controller starts, it first calls k8s-client to traverse the parameter object, finds configmap-A, and reads its task ID, corresponding task class name, and parameter value;
  • apiserver is one of the core services of kubernetes and is used to provide a series of http interfaces through which Kubernetes resources can be queried and operated externally; the task manager is responsible for the life cycle management of the task process; The controller in the task manager is responsible for the life cycle management of tasks and is used to create multiple asynchronous task processes on demand.
  • Each task process judges the execution progress of the task based on the parameter values and status values in the corresponding parameter objects, and filters
  • the parameter conditions declared in the controller determine the subtasks that need to be executed next and trigger these subtasks. When no more subtasks can match the parameter values, the task is considered to have ended and the corresponding task process exits. It can be seen from the above that the parameter object is updated in time after the normal execution of action1. After the task is interrupted, there is no need to execute action1 again. The execution starts from action2, that is, the task is restored normally and some repeated actions are avoided.
  • a corresponding number of subtasks are obtained by dividing the target execution task, and a corresponding parameter object for saving the task execution progress is created for the target execution task; the task process is started to execute the subtasks, and Update the parameter object according to the currently executing subtask; if the task process is interrupted, read the parameter object to determine the target subtask being executed when the process was interrupted, and re-execute the target subtask to resume the task process.
  • the target subtask executed at the time of interruption is determined by querying the parameter object, and from The target subtask starts to re-execute the target task, which solves the problem of long-term task interruption running on Kubernetes, enables recovery after long-term task interruption, and reduces repeated actions in the task by dividing the task into multiple subtasks for execution. , saving a lot of time spent on task re-execution and improving task execution efficiency.
  • the embodiment of the present application also discloses a task management device, as shown in Figure 5.
  • the device includes:
  • the segmentation module 11 is used to segment the target execution task to obtain a corresponding number of subtasks, and create a corresponding parameter object for the target execution task for saving the task execution progress;
  • the parameter object update module 12 is used to start the task process to execute the subtask, and update the parameter object according to the currently executed subtask;
  • the process recovery module 13 is used to read the parameter object to determine the target subtask being executed when the process is interrupted if the task process is interrupted, and re-execute the target subtask to resume the task process.
  • a corresponding number of subtasks are obtained by dividing the target execution task, and a corresponding parameter object for saving the task execution progress is created for the target execution task; the task process is started to execute the subtasks, and Update the parameter object according to the currently executing subtask; if the task process is interrupted, read the parameter object to determine the target subtask being executed when the process was interrupted, and re-execute the target subtask to resume the task process.
  • the target subtask executed at the time of interruption is determined by querying the parameter object, and from The target subtask starts to re-execute the target task, which solves the problem of long-term task interruption running on Kubernetes, enables recovery after long-term task interruption, and reduces repeated actions in the task by dividing the task into multiple subtasks for execution. , saving a lot of time spent on task re-execution and improving task execution efficiency.
  • the task management device may include:
  • the subtask definition unit is used to define each subtask based on the task base class and reference the filter annotation. After definition, each subtask corresponds to a parameter value.
  • the parameter object update module 12 may specifically include:
  • the initial parameter reading unit is used to start the task process through the controller of the task manager and read the initial parameters from the parameter object;
  • the first to-be-executed subtask execution unit is used to use filters to filter out the subtasks corresponding to the initial parameters from all subtasks based on the parameter values corresponding to each subtask as the first to-be-executed subtask, and execute the first to-be-executed subtask. Execute subtasks;
  • the remaining subtask execution units are used to use the filter through the controller to filter out the corresponding subtasks from all subtasks according to the current parameter value of the parameter object and execute them until the target is executed. All subtasks of the task are completed.
  • the parameter object update module 12 may specifically include:
  • the parameter object update unit is used to update the parameter object according to the parameter value corresponding to the currently executed subtask;
  • the process recovery module 13 may specifically include:
  • the target parameter value determination unit is used to obtain the target parameter value currently saved by the parameter object by reading the parameter object;
  • the target subtask determination unit is used to use a filter to filter out the subtasks corresponding to the target parameter value from all subtasks according to the parameter value corresponding to each subtask as the target subtask being executed when the process is interrupted.
  • the segmentation module 11 can be used to create a parameter object for the target execution task for saving the task identifier, task name, and task input parameters during the task execution process, and save the parameter object in a persistent storage manner. to storage space.
  • the process recovery module 13 may specifically include:
  • the parameter object determination unit is used to determine the parameter object corresponding to the target execution task from the storage space according to the task identifier of the target execution task;
  • the target subtask determination unit is used to read the parameter object to determine the target subtask being executed when the process is interrupted.
  • the dividing module 11 can be used to divide the target execution task according to the idempotence of the task to obtain a corresponding number of idempotent subtasks.
  • the embodiment of the present application also discloses an electronic device, as shown in FIG. 6 .
  • the content in the figure cannot be considered as any limitation on the scope of the present application.
  • FIG. 6 is a schematic structural diagram of an electronic device 20 provided by an embodiment of the present application.
  • the electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input-output interface 25 and a communication bus 26.
  • the memory 22 is used to store computer programs, and the computer programs are loaded and executed by the processor 21 to implement relevant steps in the task management method disclosed in any of the foregoing embodiments.
  • the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20;
  • the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can Any communication protocol applicable to the technical solution of this application is not specifically limited here;
  • the input and output interface 25 is used to obtain external input data or output data to the external world, and its specific interface type can be selected according to specific application needs. This is not specifically limited.
  • the memory 22, as a carrier for resource storage can be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc.
  • the resources stored thereon include the operating system 221, the computer program 222 and the data 223 including the training set, etc., and the storage
  • the method can be temporary storage or permanent storage.
  • the operating system 221 is used to manage and control each hardware device and computer program 222 on the electronic device 20 to realize the calculation and processing of the massive data 223 in the memory 22 by the processor 21.
  • It can be Windows Server, Netware, Unix, Linux etc.
  • the computer program 222 may further include computer programs that can be used to complete other specific tasks.
  • embodiments of the present application also disclose a computer non-volatile readable storage medium.
  • Computer executable instructions are stored in the computer non-volatile readable storage medium. When the computer executable instructions are loaded and executed by the processor, , implement the task management method steps disclosed in any of the foregoing embodiments.
  • RAM random access memory
  • ROM read-only memory
  • electrically programmable ROM electrically erasable programmable ROM
  • registers hard disks, removable disks, CD-ROMs, or anywhere in the field of technology. any other known form of storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种任务管理方法、装置、设备及存储介质,涉及任务管理领域。该方法包括:对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。解决了kubernetes上运行的长时任务中断问题,能够实现长时任务中断后的恢复,并且通过将任务分为多个子任务执行,减少了任务中的重复动作,节省了任务重新执行消耗的大量时间,提高了任务执行效率。

Description

一种任务管理方法、装置、设备及存储介质
相关申请的交叉引用
本申请要求于2022年03月31日提交中国专利局,申请号为202210334877.9,申请名称为“一种任务管理方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及任务管理领域,特别涉及一种任务管理方法、装置、设备及存储介质。
背景技术
目前,随着kubernetes的迅猛发展,其在现实中的应用越来越多。pod作为kubernetes的最小管理单元,由一组容器组成,当pod重建时,这一组容器会全部重建,对应容器内的进程也会随之关闭后重新开启,然而,pod的一个重大特点就是,随时可能被重建,由此导致运行在上面的业务随时可能被中断。因此,一个应用如果采用pod方式在kubernetes上运行,其必须考虑的一个问题是,pod如果突然重建,其业务是否会中断,以及是否会造成垃圾数据等问题,尤其是面对长时间任务,降低了长时任务执行效率。
发明内容
有鉴于此,本申请的目的在于提供一种任务管理方法、装置、设备及介质,能够提高任务执行效率。其具体方案如下:
第一方面,本申请公开了一种任务管理方法,包括:
对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;
启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;
若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。
在一些实施例中,对目标执行任务进行分割得到对应数量的子任务之后,还包括:
根据任务基类并引用过滤器注解对每个子任务进行定义,定义后每个子任务对应一个参数值。
在一些实施例中,启动任务进程以执行子任务,包括:
通过任务管理器的控制器启动任务进程并从参数对象中读取初始参数;
根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与初始参数对应的子任务作为首个待执行子任务,并执行首个待执行子任务;
当首个待执行子任务执行完成后,通过控制器利用过滤器根据参数对象的当前参数值,从所有子任务中过滤出对应的子任务并执行,直至目标执行任务的所有子任务均执行完成。
在一些实施例中,根据当前执行的子任务更新参数对象,包括:
根据当前执行的子任务对应的参数值,更新参数对象;
相应的,读取参数对象以确定进程中断时正在执行的目标子任务,包括:
通过读取参数对象获取参数对象当前保存的目标参数值;
根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与目标参数值对应的子任务作为进程中断时正在执行的目标子任务。
在一些实施例中,为目标执行任务创建对应的用于保存任务执行进度的参数对象,包括:
为目标执行任务创建用于保存任务标识、任务名称以及任务执行过程中的任务入参的参数对象,并将参数对象以持久性存储方式保存至存储空间。
在一些实施例中,读取参数对象以确定进程中断时正在执行的目标子任务,包括:
根据目标执行任务的任务标识,从存储空间内确定出与目标执行任务对应的参数对象;
读取参数对象以确定进程中断时正在执行的目标子任务。
在一些实施例中,对目标执行任务进行分割得到对应数量的子任务,包括:
根据任务幂等性对目标执行任务进行分割,以得到对应数量的具有幂等性的子任务。
第二方面,本申请公开了一种任务管理装置,包括:
分割模块,用于对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;
参数对象更新模块,用于启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;
进程恢复模块,用于若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行计算机程序,以实现前述的任务管理方法。
第四方面,本申请公开了一种计算机非易失性可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的任务管理方法。
本申请中,通过对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。可见,通过将目标执行任务分割成多个子任务,并为目标执行任务创建用于保存任务执行进度的参数对象,当任务中断后,通过查询参数对象确定出中断时执行的目标子任务,并从该目标子任务开始重新执行目标任务,解决了kubernetes上运行的长时任务中断问题,能够实现长时任务中断后的恢复,并且通过将任务分为多个子任务执行,减少了任务中的重复动作,节省了任务重新执行消耗的大量时间,提高了任务执行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请一些实施例提供的一种任务管理方法流程图;
图2为本申请一些实施例提供的一种具体子任务定义结构示意图;
图3为本申请一些实施例提供的一种具体任务执行流程图;
图4为本申请一些实施例提供的一种具体任务恢复流程图;
图5为本申请一些实施例提供的一种任务管理装置结构示意图;
图6为本申请一些实施例提供的一种电子设备结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,一个应用如果采用pod方式在kubernetes上运行,需要面对pod如果突然重建,其业务是否会中断,以及是否会造成垃圾数据等问题。为克服上述技术问题,本申请提出一种kubernetes场景下的长时任务管理的方法,能够提高任务执行效率。
本申请实施例公开了一种任务管理方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象。
在一些实施例中,获取目标执行任务后,首先对目标执行任务进行分割,以得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象。在一些实施例中,对目标执行任务进行分割得到对应数量的子任务,可以包括:根据任务幂等性对目标执行任务进行分割,以得到对应数量的具有幂等性的子任务。幂等任务即一个任务无论成功执行一次还是成功执行多次,都能得到相同的结果,那么这个就是幂等任务;因此,为了确保无论任务中断多少次,无论在何处中断,都确保能得到正确的结果,通过根据任务幂等性对目标执行任务进行分割,以保证后续发生中断后重新执行子任务生成的任务结果的准确性。
在一些实施例中,对目标执行任务进行分割得到对应数量的子任务之后,还可以包括:根据任务基类并引用过滤器注解对每个子任务进行定义,定义后每个子任务对应一个参数值。例如图2所示,通过提供任务基类,并通过注解和注解处理器形成过滤器,用户根据任务基类并引用过滤器注解自行实现任务类,任务类继承自任务基类,每个任务类至少包含一组初始参数、一系列子任务方法,并且每个子任务都采用过滤器注解进行定义。也就是说,引用过滤器注解的函数方法认为是一个子任务,引用过滤器时,需声明执行此子任务需满足的参数条件,后续子任务根据参数值更新参数对象后以确保这些所需的参数能从参数对象中获取。
步骤S12:启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象。
在一些实施例中,启动目标执行任务对应的任务进程后,开始依次执行目标执行任务的子任务,并且每执行一个子任务至少更新一次目标执行任务对应的参数对象。
在一些实施例中,启动任务进程以执行子任务,可以包括:通过任务管理器的控制器启动任务进程并从参数对象中读取初始参数;根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与初始参数对应的子任务作为首个待执行子任务,并执行首个待执行子任务;当首个待执行子任务执行完成后,通过控制器利用过滤器根据参数对象的当前参数值,从所有子任务中过滤出对应的子任务并执行,直至目标执行任务的所有子任务均执行完成。可以理解的是,子任务对应的参数值与任务分割前的目标执行任务的执行流程相关,参数对象最初存有一个初始值,该初始值对应的子任务即目标执行任务的最开始的一个子任务,后续通过不断更新对象参数,根据参数值顺序可以确定出下一个需要执行的子任务,直至所有子任务执行完成。
在一些实施例中,根据当前执行的子任务更新参数对象,可以包括:根据当前执行的子任务对应的参数值,更新参数对象。可以理解的是,参数对象的更新依赖于具体每个子任务的实现,通常来讲,在每个子任务中,都至少有一次更新参数对象的操作,通过读取参数对象,需要能够准确判断出已经执行的子任务,未执行的子任务;并且参数对象还可以用于保存任务执行过程中的标记,以判断在已经执行的子任务中,执行成功的子任务,未执行成功需要重新执行的子任务。
在一些实施例中,为目标执行任务创建对应的用于保存任务执行进度的参数对象,可以包括:为目标执行任务创建用于保存任务标识(ID)、任务名称以及任务执行过程中的任务入参的参数对象(即更新的当前执行的子任务的参数值),并将参数对象以持久性存储方式保存至存储空间。即上述参数对象用于保存任务所需入参并记录任务的进度。即参数对象可以用来记录任务ID、任务对应的任务类名称、任务入参、任务执行过程中的标记等,以便根据其判断子任务的执行情况。为了确保任务再次执行时能够获取到参数对象应有的入参从而正确恢复任务,这些入参不能只存在于内存中,需要以一种可持久的方式保存,比如数据库、文件,以确保任务进程中断后能够正常获取。具体的,在一些实施例中参数对象可以以configmap的形式存储,格式可以采用易解析的json格式;其中,configmap是kubernetes平台中的一种资源,用来记录一组文本信息,文本可以是任意格式。
步骤S13:若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。
在一些实施例中,当任务进程中断后,读取目标执行任务对应的参数对象以确定进程中断时正在执行的目标子任务,并重新执行该目标子任务以恢复任务进程。由此,在一些实施例中通过把需要长时间执行的任务切割成一个个的子任务,且目标执行任务对应维护一个参数对象,在子任务执行过程中,按需更新参数对象中的内容,任务中断后,可以读取这个参数对象来判断上次执行到什么进度,并据此判断下一步需要执行哪些子任务。适用于步骤繁多、耗时较长的复杂任务,且具备较好的通用性。
在一些实施例中,读取参数对象以确定进程中断时正在执行的目标子任务,可以包括:通过读取参数对象获取参数对象当前保存的目标参数值;根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与目标参数值对应的子任务作为进程中断时正在执行的目标子任务。可以理解的是,过滤器根据从参数对象获取的参数值作为子任务的触发条件,引用过滤器时,通过提供参数值来标识满足哪些条件时需要触发此子任务,而当过滤器无法匹配 到任何子任务时,则认为该目标执行任务已执行完毕,可以删除对应的参数对象并退出任务进程。
在一些实施例中,读取参数对象以确定进程中断时正在执行的目标子任务,可以包括:根据目标执行任务的任务标识,从存储空间内确定出与目标执行任务对应的参数对象;读取参数对象以确定进程中断时正在执行的目标子任务。可以理解的是,由于系统中可能会同时存在多个任务进程,也就存在多个参数对象,因此需要在任务中断后确定出该任务对应的参数对象,在一些实施例中通过任务标识进行区分。
下面通过举例说明阐述本实施例的工作流程,如图3所示,业务进程使用本实施例创建一个长时任务的流程如下:
1、业务进程根据任务基类并引用过滤器注解创建任务类A的一个实例;
2、业务进程调用任务管理器的控制器,并将任务实例A传递过去;
3、控制器创建任务进程A,并生成任务ID;
4、控制器调用k8s-client(连接kubernetes并操作其资源的客户端对象),创建参数对象configmap-A,并将任务实例的初始参数写入到configmap-A,本例中初始参数a=1,此外,还要记录任务ID以及对应的任务类名称;
5、控制器根据初始参数a=1,结合过滤器,过滤出匹配的子任务,本例中匹配到的子任务是action1,控制器调用执行action1;
6、action1正常执行,并调用k8s-client更新参数值a=2;
7、action1执行结束,正常返回给控制器;
8、当前参数值a=2,结合过滤器,控制器据此判断,下一步需要执行子任务action2,控制器调用执行action2;
9、action2正常执行,并调用k8s-client更新参数值a=3;
10、action2执行结束,正常返回给控制器;
11、当前参数a=3,结合过滤器,控制器发现没有任何子任务匹配到此条件,控制器认为任务A已经执行完成,调用k8s-client删除参数对象configmap-A。
例如图4所示,以上述图3为基础,若假设在执行action2时突然宕机,action2异常中断,此时还没有更新参数,a=2,任务进程异常中断后恢复任务的流程如下:
1、控制器启动时首先调用k8s-client遍历参数对象,发现configmap-A,读取其任务ID、对应的任务类名称、参数值;
2、根据任务类名称找到对应任务类,创建该类的实例;
3、开启任务进程;
4、根据当前参数值a=2,结合过滤器筛选出符合条件的子任务,在本例中,符合条件的子任务是action2,然后调用执行action2;
5、action2正常执行后更新参数值a=3;
6、action2正常返回;
7、根据当前参数值a=3,结合过滤器没有发现任何符合条件的子任务,控制器认为任务已经执行完成,调用k8s-client删除参数对象,退出任务进程A。其中,上述图3和图4中,apiserver为kubernetes的核心服务之一,用于提供一系列http接口,外部可通过这些接口查询和操作kubernetes资源;任务管理器用于负责任务进程的生命周期管理;任务 管理器中的控制器负责任务的生命周期管理,用于按需创建多个异步任务进程,每个任务进程根据相应参数对象中的参数值和状态值来判断任务的执行进度,并根据过滤器中声明的参数条件判断出下一步需要执行的子任务,并触发这些子任务,当不再有任何子任务能够与参数值匹配时,则认为任务已结束,退出相应任务进程。由上可见,在action1正常执行后及时更新了参数对象,任务中断后便不再需要再次执行action1,从action2开始执行,即正常恢复了任务,同时又避免了一些重复动作。
由上可见,在一些实施例中通过对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。可见,通过将目标执行任务分割成多个子任务,并为目标执行任务创建用于保存任务执行进度的参数对象,当任务中断后,通过查询参数对象确定出中断时执行的目标子任务,并从该目标子任务开始重新执行目标任务,解决了kubernetes上运行的长时任务中断问题,能够实现长时任务中断后的恢复,并且通过将任务分为多个子任务执行,减少了任务中的重复动作,节省了任务重新执行消耗的大量时间,提高了任务执行效率。
相应的,本申请实施例还公开了一种任务管理装置,参见图5所示,该装置包括:
分割模块11,用于对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;
参数对象更新模块12,用于启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;
进程恢复模块13,用于若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。
由上可见,在一些实施例中通过对目标执行任务进行分割得到对应数量的子任务,并为目标执行任务创建对应的用于保存任务执行进度的参数对象;启动任务进程以执行子任务,并根据当前执行的子任务更新参数对象;若任务进程中断,则读取参数对象以确定进程中断时正在执行的目标子任务,并重新执行目标子任务以恢复任务进程。可见,通过将目标执行任务分割成多个子任务,并为目标执行任务创建用于保存任务执行进度的参数对象,当任务中断后,通过查询参数对象确定出中断时执行的目标子任务,并从该目标子任务开始重新执行目标任务,解决了kubernetes上运行的长时任务中断问题,能够实现长时任务中断后的恢复,并且通过将任务分为多个子任务执行,减少了任务中的重复动作,节省了任务重新执行消耗的大量时间,提高了任务执行效率。
在一些具体实施例中,任务管理装置具体可以包括:
子任务定义单元,用于根据任务基类并引用过滤器注解对每个子任务进行定义,定义后每个子任务对应一个参数值。
在一些具体实施例中,参数对象更新模块12具体可以包括:
初始参数读取单元,用于通过任务管理器的控制器启动任务进程并从参数对象中读取初始参数;
首个待执行子任务执行单元,用于根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与初始参数对应的子任务作为首个待执行子任务,并执行首个待执行子任务;
其余子任务执行单元,用于当首个待执行子任务执行完成后,通过控制器利用过滤器根据参数对象的当前参数值,从所有子任务中过滤出对应的子任务并执行,直至目标执行任务的所有子任务均执行完成。
在一些具体实施例中,参数对象更新模块12具体可以包括:
参数对象更新单元,用于根据当前执行的子任务对应的参数值,更新参数对象;
相应的,进程恢复模块13具体可以包括:
目标参数值确定单元,用于通过读取参数对象获取参数对象当前保存的目标参数值;
目标子任务确定单元,用于根据每个子任务对应的参数值,利用过滤器从所有子任务中过滤出与目标参数值对应的子任务作为进程中断时正在执行的目标子任务。
在一些具体实施例中,分割模块11具体可以用于为目标执行任务创建用于保存任务标识、任务名称以及任务执行过程中的任务入参的参数对象,并将参数对象以持久性存储方式保存至存储空间。
在一些具体实施例中,进程恢复模块13具体可以包括:
参数对象确定单元,用于根据目标执行任务的任务标识,从存储空间内确定出与目标执行任务对应的参数对象;
目标子任务确定单元,用于读取参数对象以确定进程中断时正在执行的目标子任务。
在一些具体实施例中,分割模块11具体可以用于根据任务幂等性对目标执行任务进行分割,以得到对应数量的具有幂等性的子任务。
进一步的,本申请实施例还公开了一种电子设备,参见图6所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,存储器22用于存储计算机程序,计算机程序由处理器21加载并执行,以实现前述任一实施例公开的任务管理方法中的相关步骤。
在一些实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括训练集在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施 例公开的由电子设备20执行的任务管理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机非易失性可读存储介质,计算机非易失性可读存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的任务管理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种任务管理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (20)

  1. 一种任务管理方法,其特征在于,包括:
    对目标执行任务进行分割得到对应数量的子任务,并为所述目标执行任务创建对应的用于保存任务执行进度的参数对象;
    启动任务进程以执行所述子任务,并根据当前执行的所述子任务更新所述参数对象;
    若所述任务进程中断,则读取所述参数对象以确定进程中断时正在执行的目标子任务,并重新执行所述目标子任务以恢复所述任务进程。
  2. 根据权利要求1所述的任务管理方法,其特征在于,所述对目标执行任务进行分割得到对应数量的子任务之后,还包括:
    根据任务基类并引用过滤器注解对每个子任务进行定义,定义后每个所述子任务对应一个参数值。
  3. 根据权利要求2所述的任务管理方法,其特征在于,所述启动任务进程以执行所述子任务,包括:
    通过任务管理器的控制器启动任务进程并从所述参数对象中读取初始参数;
    根据每个所述子任务对应的参数值,利用过滤器从所有所述子任务中过滤出与所述初始参数对应的子任务作为首个待执行子任务,并执行所述首个待执行子任务;
    当所述首个待执行子任务执行完成后,通过所述控制器利用所述过滤器根据所述参数对象的当前参数值,从所有所述子任务中过滤出对应的子任务并执行,直至所述目标执行任务的所有子任务均执行完成。
  4. 根据权利要求2所述的任务管理方法,其特征在于,所述根据当前执行的所述子任务更新所述参数对象,包括:
    根据当前执行的所述子任务对应的参数值,更新所述参数对象;
    相应的,所述读取所述参数对象以确定进程中断时正在执行的目标子任务,包括:
    通过读取所述参数对象获取所述参数对象当前保存的目标参数值;
    根据每个所述子任务对应的参数值,利用过滤器从所有所述子任务中过滤出与所述目标参数值对应的子任务作为进程中断时正在执行的所述目标子任务。
  5. 根据权利要求1所述的任务管理方法,其特征在于,所述为所述目标执行任务创建对应的用于保存任务执行进度的参数对象,包括:
    为所述目标执行任务创建用于保存任务标识、任务名称以及任务执行过程中的任务入参的参数对象,并将所述参数对象以持久性存储方式保存至存储空间。
  6. 根据权利要求5所述的任务管理方法,其特征在于,所述读取所述参数对象以确定进程中断时正在执行的目标子任务,包括:
    根据所述目标执行任务的任务标识,从所述存储空间内确定出与所述目标执行任务对应的所述参数对象;
    读取所述参数对象以确定进程中断时正在执行的目标子任务。
  7. 根据权利要求1至6任一项所述的任务管理方法,其特征在于,所述对目标执行任务进行分割得到对应数量的子任务,包括:
    根据任务幂等性对所述目标执行任务进行分割,以得到对应数量的具有幂等性的子 任务。
  8. 根据权利要求1所述的任务管理方法,其特征在于,所述启动任务进程以执行所述子任务,并根据当前执行的所述子任务更新所述参数对象,包括:
    启动所述目标执行任务对应的任务进程后,开始依次执行所述目标执行任务的子任务,并且每执行一个所述子任务,至少更新一次所述目标执行任务对应的参数对象。
  9. 根据权利要求5所述的任务管理方法,其特征在于,所述将所述参数对象以持久性存储方式保存至存储空间,包括:
    将所述参数对象以configmap的形式保存至存储空间。
  10. 根据权利要求9所述的任务管理方法,其特征在于,所述configmap用来记录一组任意格式的文本信息。
  11. 根据权利要求7所述的任务管理方法,其特征在于,执行一次或多次所述幂等性的子任务,均得到相同的结果。
  12. 根据权利要求2所述的任务管理方法,其特征在于,所述根据任务基类并引用过滤器注解对每个子任务进行定义,包括:
    通过提供任务基类、注解和注解处理器形成过滤器;
    根据任务基类并引用过滤器注解,自行实现任务类;其中,所述任务类继承自所述任务基类;
    采用所述过滤器注解对每个子任务进行定义。
  13. 根据权利要求12所述的任务管理方法,其特征在于,每个所述任务类至少包含一组初始参数、一系列子任务方法。
  14. 根据权利要求12所述的任务管理方法,其特征在于,引用所述过滤器时,声明执行每个子任务需满足的参数条件。
  15. 根据权利要求1所述的任务管理方法,其特征在于,所述启动任务进程以执行所述子任务,并根据当前执行的所述子任务更新所述参数对象,包括:
    启动目标执行任务对应的任务进程后,开始依次执行所述目标执行任务的子任务,并且每执行一个子任务,则至少更新一次所述目标执行任务对应的参数对象。
  16. 根据权利要求3所述的任务管理方法,其特征在于,所述当所述首个待执行子任务执行完成后,通过所述控制器利用所述过滤器根据所述参数对象的当前参数值,从所有所述子任务中过滤出对应的子任务并执行,直至所述目标执行任务的所有子任务均执行完成,包括:
    在所述首个待执行子任务执行前,所述参数对象存有一个初始的参数值,当所述首个待执行子任务执行完成后,通过不断更新所述参数对象对应的参数值,根据所述参数值的顺序确定出下一个需要执行的子任务,直至所述目标执行任务的所有子任务均执行完成。
  17. 一种任务管理装置,其特征在于,包括:
    分割模块,用于对目标执行任务进行分割得到对应数量的子任务,并为所述目标执行任务创建对应的用于保存任务执行进度的参数对象;
    参数对象更新模块,用于启动任务进程以执行所述子任务,并根据当前执行的所述子任务更新所述参数对象;
    进程恢复模块,用于若所述任务进程中断,则读取所述参数对象以确定进程中断时 正在执行的目标子任务,并重新执行所述目标子任务以恢复所述任务进程。
  18. 根据权利要求17所述的任务管理装置,其特征在于,所述装置还包括:
    子任务定义单元,用于根据任务基类并引用过滤器注解对每个子任务进行定义,定义后每个算是子任务对应一个参数值。
  19. 一种电子设备,其特征在于,包括:
    存储器,用于保存计算机程序;
    处理器,用于执行所述计算机程序,以实现如权利要求1至16任一项所述的任务管理方法。
  20. 一种计算机非易失性可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至16任一项所述的任务管理方法。
PCT/CN2022/141660 2022-03-31 2022-12-23 一种任务管理方法、装置、设备及存储介质 WO2023185137A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210334877.9A CN114625515A (zh) 2022-03-31 2022-03-31 一种任务管理方法、装置、设备及存储介质
CN202210334877.9 2022-03-31

Publications (1)

Publication Number Publication Date
WO2023185137A1 true WO2023185137A1 (zh) 2023-10-05

Family

ID=81905481

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141660 WO2023185137A1 (zh) 2022-03-31 2022-12-23 一种任务管理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114625515A (zh)
WO (1) WO2023185137A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625515A (zh) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 一种任务管理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388370A (zh) * 2009-06-19 2012-03-21 核心科技有限公司 计算机进程管理
CN109558237A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种任务状态管理方法及装置
CN113076182A (zh) * 2021-03-24 2021-07-06 成都海光集成电路设计有限公司 计算任务的恢复方法、装置、用户设备及存储介质
CN114625515A (zh) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 一种任务管理方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102388370A (zh) * 2009-06-19 2012-03-21 核心科技有限公司 计算机进程管理
CN109558237A (zh) * 2017-09-27 2019-04-02 北京国双科技有限公司 一种任务状态管理方法及装置
CN113076182A (zh) * 2021-03-24 2021-07-06 成都海光集成电路设计有限公司 计算任务的恢复方法、装置、用户设备及存储介质
CN114625515A (zh) * 2022-03-31 2022-06-14 苏州浪潮智能科技有限公司 一种任务管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114625515A (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
US10453010B2 (en) Computer device, method, and apparatus for scheduling business flow
JP6818014B2 (ja) ジョブ用の動作リトライ方法及び機器
US8140591B2 (en) Enabling workflow awareness within a business process management (BPM) system
CN106575244B (zh) 确保云应用的高可用性的修补过程
JP2016541056A5 (zh)
US20080120618A1 (en) Issuing syncpoints during execution of a batch application to minimize or eliminate periods of record unavailability due to batch related record locking
CN107016016B (zh) 一种数据处理的方法及装置
WO2018000678A1 (zh) 模块流程化调度方法及装置
US8271768B2 (en) Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions
WO2020232951A1 (zh) 一种任务执行方法及装置
WO2023185137A1 (zh) 一种任务管理方法、装置、设备及存储介质
US20150180960A1 (en) Using a same program on a local system and a remote system
US8146085B2 (en) Concurrent exception handling using an aggregated exception structure
CN111666141A (zh) 任务调度方法、装置、设备及计算机存储介质
US8468386B2 (en) Detecting and recovering from process failures
US10649808B2 (en) Outcome-based job rescheduling in software configuration automation
CN107958414B (zh) 一种清除cics系统长交易的方法及系统
CN110109747B (zh) 基于Apache Spark的数据交换方法及系统、服务器
CN113971074A (zh) 事务处理方法、装置、电子设备及计算机可读存储介质
US8239870B2 (en) Scheduling execution of work units with policy based extension of long-term plan
CN112732415B (zh) 基于资源交换代理系统的事务处理方法、装置和设备
JP7024804B2 (ja) システム更新装置およびシステム更新方法
US20230065589A1 (en) Using persistent finite state machine to coordinate lifecycle operations in service broker
CN112272823B (zh) 管理分布式计算系统中的共享资源
CN114064244A (zh) 联机定时交易方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22934952

Country of ref document: EP

Kind code of ref document: A1