Task Rollback Method and Device

By updating metadata in the database to execute tasks, building a task dependency graph and performing task rollback, the problem of inefficient rollback of traditional databases is solved, efficient and accurate task rollback operations are achieved, and computing resource consumption is reduced.

CN119718690BActive Publication Date: 2025-07-04HUNDSUN TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510230014.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-07-04
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

The traditional database rollback mechanism is inefficient under large-scale data processing and high concurrent tasks, and is expensive to calculate, making it difficult to meet the needs of efficient and precise task rollback in complex multi-task and multi-table operation scenarios.

Method used

By updating the metadata of the target business to perform initial tasks, building a task dependency graph, determining the task execution order based on the task execution data, and performing task rollback operations in the metadata dimension, reducing the number of associated task nodes and shortening the rollback time.

Benefits of technology

It improves task execution efficiency, reduces waste of computing resources, and realizes precise rollback and efficient management of complex clearing task flows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718690B_ABST
    Figure CN119718690B_ABST
Patent Text Reader

Abstract

The embodiments of this specification provide a task rollback method and apparatus. The task rollback method includes: executing at least two initial tasks included in a target service by updating metadata corresponding to the target service to obtain task execution data. Constructing a task dependency graph for at least two initial tasks, and determining a task execution order corresponding to the task dependency graph based on the task execution data. When a target task node in the task dependency graph meets the rollback condition, it indicates that the target node in the task dependency graph needs to perform a rollback operation. Determining associated task nodes associated with the target task node in the task dependency graph according to the task execution order, and updating the task execution data in terms of metadata dimension. Performing a task rollback operation on the associated task nodes according to the updated task execution data can reduce the number of associated task nodes that need to perform the task rollback operation, shorten the time for performing the task rollback operation, and reduce the waste of computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of computer technology, and particularly to a task rollback method and apparatus. Background Art

[0002] The rollback mechanism of traditional databases usually relies on transaction logs or pre-created data backups. When performing a task rollback operation, it is necessary to restore the backup data or replay the transaction log to restore the previous state of the database. The transaction log records all change operations of the database, and the backup is usually a complete copy of the database at a specific time point. Through these two methods, traditional databases can ensure data consistency and the atomicity of transactions. However, these methods often face significant performance bottlenecks in large-scale data processing and high-concurrency tasks. Especially in scenarios with a large amount of data or frequent operations, the task rollback operation often takes a long time and has a high computational cost. Therefore, there is an urgent need for a more effective task rollback method to solve the above problems. Summary of the Invention

[0003] In view of this, the embodiments of this specification provide a task rollback method. One or more embodiments of this specification also relate to a task rollback apparatus, a computing device, a computer-readable storage medium, and a computer program product to solve the technical defects existing in the prior art.

[0004] According to the first aspect of the embodiments of this specification, a task rollback method is provided, including:

[0005] Executing at least two initial tasks included in the target business by updating metadata corresponding to the target business to obtain task execution data;

[0006] Constructing a task dependency graph for the at least two initial tasks, and determining a task execution order corresponding to the task dependency graph based on the task execution data;

[0007] When a target task node in the task dependency graph meets the rollback condition, determining associated task nodes associated with the target task node in the task dependency graph according to the task execution order;

[0008] Updating the task execution data in terms of metadata dimension, and performing a task rollback operation on the associated task nodes according to the updated task execution data.

[0009] According to the second aspect of the embodiments of this specification, a task rollback apparatus is provided, including:

[0010] An execution module, configured to execute at least two initial tasks included in the target business by updating metadata corresponding to the target business to obtain task execution data;

[0011] A building module, configured to build a task dependency graph of the at least two initial tasks and determine a task execution order corresponding to the task dependency graph based on the task execution data;

[0012] A determination module, configured to, when a target task node in the task dependency graph meets a rollback condition, determine an associated task node associated with the target task node in the task dependency graph according to the task execution order;

[0013] A rollback module, configured to update the task execution data in terms of metadata dimension and perform a task rollback operation on the associated task nodes according to the updated task execution data.

[0014] According to a third aspect of the embodiments of the present specification, a computing device is provided, including:

[0015] A memory and a processor;

[0016] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the above task rollback method are implemented.

[0017] According to a fourth aspect of the embodiments of the present specification, a computer-readable storage medium is provided, which stores computer-executable instructions. When the instructions are executed by a processor, the steps of the above task rollback method are implemented.

[0018] According to a fifth aspect of the embodiments of the present specification, a computer program product is provided, including a computer program or instructions. When the computer program or instructions are executed by a processor, the steps of the above task rollback method are implemented.

[0019] In an embodiment of the present specification, at least two initial tasks included in a target service are executed by updating metadata corresponding to the target service to obtain task execution data. Implementing the execution of at least two initial tasks by updating metadata can improve task execution efficiency. A task dependency graph of at least two initial tasks is built, and a task execution order corresponding to the task dependency graph is determined based on the task execution data. When a target task node in the task dependency graph meets the rollback condition, it means that the target node in the task dependency graph needs to perform a rollback operation. An associated task node associated with the target task node is determined in the task dependency graph according to the task execution order, and the task execution data is updated in terms of metadata dimension. A task rollback operation is performed on the associated task nodes according to the updated task execution data, which can reduce the number of associated task nodes that need to perform the task rollback operation, shorten the time for performing the task rollback operation, and reduce the waste of computing resources. Description of the Drawings

[0020] Figure 1 It is a schematic diagram of a task rollback method provided by an embodiment of this specification;

[0021] Figure 2 It is a flowchart of a task rollback method provided by an embodiment of this specification;

[0022] Figure 3 It is a task dependency graph of a task rollback method provided by an embodiment of this specification;

[0023] Figure 4 It is a schematic diagram of the reconstruction of the task dependency graph of a task rollback method provided by an embodiment of this specification;

[0024] Figure 5 It is a flowchart of the processing process of a task rollback method provided by an embodiment of this specification;

[0025] Figure 6 It is a schematic structural diagram of a task rollback device provided by an embodiment of this specification;

[0026] Figure 7 It is a structural block diagram of a computing device provided by an embodiment of this specification. Detailed implementation manners

[0027] Many specific details are set forth in the following description in order to provide a thorough understanding of this specification. However, this specification can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the connotation of this specification. Therefore, this specification is not limited by the specific implementations disclosed below.

[0028] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a", "the", and "said" used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0029] It should be understood that although the terms first, second, etc. may be used in one or more embodiments of this specification to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to determining".

[0030] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data that have been authorized by the user or fully authorized by all parties. And the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject.

[0031] First, the noun terms involved in one or more embodiments of this specification are explained.

[0032] Data Lake: A data storage architecture. A data lake is a system or storage that stores data in its natural / raw format, usually object blocks or files. A data lake can accommodate a large amount of different types and formats of data and support advanced queries and processing for data analysis and machine learning. It is a centralized repository that allows users to store all structured and unstructured data at any scale.

[0033] Iceberg (Apache Iceberg): An open table format for large-scale data analysis scenarios, and can also be regarded as a data lake solution. Iceberg provides rich table operation interfaces for the upper-layer data processing engine, while shielding the differences in the underlying data storage formats, and can serve as an intermediate layer to provide abstraction and integration between the computing engine and the underlying storage.

[0034] Metadata: Data about data, or data that describes data. It mainly describes information such as the attributes, characteristics, organization methods, and relationships of data, and is used to support functions such as data storage, retrieval, and management.

[0035] Traditional database rollback techniques have low rollback efficiency, lack fine-grained control at the task level, and are difficult to effectively manage dependencies in complex clearing task flows, easily leading to resource waste and incomplete rollbacks. Data lake technologies such as Iceberg provide a snapshot-based rollback function that allows users to restore historical versions of tables. Different from the rollback mechanism of traditional databases, Iceberg records each change to table data through incremental snapshots, which significantly improves the rollback efficiency, especially in a big data environment. By operating on metadata rather than the data itself to achieve table backup and recovery, Iceberg can avoid storage cost issues in traditional methods and improve the speed of data recovery. However, the rollback ability of Iceberg is still limited to single-table operations and does not provide sufficient support for complex multi-task and multi-table operation scenarios. Both traditional database rollback techniques and data lake technologies such as Iceberg face problems such as low efficiency, insufficient accuracy, and complex management when dealing with rollback scenarios of complex clearing task flows, and are difficult to meet the actual needs of efficient and accurate task rollbacks in a big data environment. Therefore, one or more embodiments of this specification propose a task rollback method to solve the above problems.

[0036] Figure 1 The figure shows a schematic diagram of a task rollback method provided according to an embodiment of this specification. An embodiment of this specification executes at least two initial tasks included in a target service by updating the metadata corresponding to the target service to obtain task execution data. By updating the metadata to implement the execution of at least two initial tasks, the task execution efficiency can be improved. When the initial tasks are executed, the modification and deletion are not directly performed on the original data, but the data is saved in an incremental modification mode. That is, after each modification and deletion, the historical data still exists, but a new incremental file is generated, and the information such as the definition, structure, and location of these data is saved as "metadata". By operating on the metadata to achieve data changes without operating on the data itself.

[0037] By performing dependency parsing on at least two initial tasks, the dependency relationship and data flow between the initial tasks are obtained, and a task dependency graph of at least two initial tasks is constructed based on the dependency relationship and data flow. The task execution order corresponding to the task dependency graph is determined based on the task execution data. When the target task node in the task dependency graph meets the rollback condition, it means that the target node in the task dependency graph needs to perform a rollback operation. At this time, the associated task nodes associated with the target task node are determined in the task dependency graph according to the task execution order, and the task execution data is updated in the metadata dimension. Performing a task rollback operation on the associated task nodes according to the updated task execution data can reduce the number of associated task nodes that need to perform the task rollback operation, shorten the time for performing the task rollback operation, and reduce the waste of computing resources.

[0038] In this specification, a task rollback method is provided. This specification also relates to a task rollback device, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail one by one in the following embodiments.

[0039] See Figure 2 , Figure 2 , which shows a flowchart of a task rollback method provided according to an embodiment of this specification, and specifically includes the following steps.

[0040] Step 202: Execute at least two initial tasks included in the target service by updating the metadata corresponding to the target service, and obtain task execution data.

[0041] Specifically, the target service can be a clearing service, a data analysis service, or a data lake management service. The clearing service includes, but is not limited to, clearing services in the financial field. Clearing services in the financial field can be clearing services in scenarios such as banks and insurance. In the data analysis service, when data scientists and analysts explore different data conversions and attempt to make changes to the data set, if the analysis leads to unsatisfactory results, they can perform a rollback to return to the previous state. This helps them perform more accurate data analysis and decision-making. When validating data or running tests, data rollback provides the function of undoing changes during the test process, thus ensuring the integrity of the production data set. In the data lake management service, when performing data cleaning and transformation in the data lake, if errors or unexpected results occur, data rollback can be used to undo the changes and restore to the previous state. During the data integration and synchronization process, if problems such as data conflicts or overwrites occur, data rollback can help solve these problems and ensure data accuracy. Metadata is data that describes or records the data during the execution of the target service. The initial task is a data processing task under the target service, which is used to implement the addition, deletion, or modification of data under the target service. The task execution data includes the metadata corresponding to the execution of at least two initial tasks, including the submission time, execution status, and execution results of the initial tasks.

[0042] Based on this, when executing at least two initial tasks included in the target service, the execution of at least two initial tasks can be achieved by updating the metadata corresponding to the target service in the metadata dimension. Execute at least two initial tasks to obtain task execution data including the metadata of the target service.

[0043] In practical applications, the execution of at least two initial tasks of the target service can be implemented based on data lake technology. When the initial tasks are executed, the original data corresponding to the initial tasks is not directly processed, but the initial tasks are executed by means of incremental update of the data. The newly added metadata is used to save information such as the definition, structure, and location of the operations on the original data.

[0044] Furthermore, there is usually a task dependency among at least two initial tasks, that is, the execution of one task depends on the execution result of the previous task. Therefore, when executing at least two initial tasks, it is necessary to distinguish between the main task and the branch task. The specific implementation is as follows:

[0045] Determine the main task and the branch task among the at least two initial tasks included in the target service; execute the main task by updating the metadata corresponding to the target service in the metadata dimension to obtain the main task execution data; execute the branch task by updating the main task execution data in the metadata dimension to obtain the task execution data.

[0046] Specifically, the main task refers to the initial task that is depended on. The execution of the branch task depends on the execution result of the main task. The branch task is continued to be executed based on the execution result of the main task. The main task execution data refers to the data obtained after adding the main task metadata corresponding to the main task execution, the main task execution status data, the main task submission time, etc. to the metadata of the target service.

[0047] Based on this, determine the main task and the branch task among the at least two initial tasks included in the target service based on the task dependency and the task data flow. Execute the main task by updating the metadata corresponding to the target service in the metadata dimension, and add the main task metadata for executing the main task, the main task execution status data, and the main task submission time to the metadata of the target service to obtain the main task execution data. Execute the branch task by updating the main task execution data in the metadata dimension, and add the branch task metadata for executing the branch task, the branch task execution status data, and the branch task submission time to the main task execution data to obtain the task execution data.

[0048] For example, in a batch processing scenario, the target service can be a scientific computing or data processing task. In the data processing flow, there are multiple consecutive subtasks. During the execution of any subtask or after its execution, according to the task rollback requirement, it can be rolled back to the previous subtask of the current subtask, and the target service can be continued to be executed based on the previous subtask starting from the previous subtask. The series of subtasks included in the data processing flow are the initial tasks included in the target service. The data processing flow includes a main process and a branch process. When executing the target service, it is necessary to first execute the main task on the main process in the metadata dimension and record the task execution information. Then execute the branch task on the branch process based on the task execution information corresponding to the main task.

[0049] In summary, by updating the metadata corresponding to the target service to execute the main task and updating the data for executing the main task in the metadata dimension to execute the branch task, the orderly execution of the initial tasks under the target service is realized, and the task execution efficiency and accuracy are improved.

[0050] Step 204: Construct a task dependency graph for the at least two initial tasks, and determine the task execution order corresponding to the task dependency graph based on the task execution data.

[0051] Specifically, after obtaining the task execution data by updating the metadata corresponding to the target service to execute at least two initial tasks included in the target service, a task dependency graph for the at least two initial tasks can be constructed, and the task execution order corresponding to the task dependency graph can be determined based on the task execution data. Herein, the task dependency graph is a directed acyclic graph. The task dependency graph represents the dependency relationship and data flow between at least two initial tasks. Combining the task dependency graph and the task execution data can determine the task execution order between at least two initial tasks.

[0052] Based on this, after obtaining the task execution data by updating the metadata corresponding to the target service to execute at least two initial tasks included in the target service, a task dependency graph for the at least two initial tasks is constructed according to the dependency relationship and data flow between the at least two initial tasks, and the execution order corresponding to each task node in the task dependency graph is determined based on the task execution data, and then the task execution order corresponding to the task dependency graph is determined.

[0053] Furthermore, considering that there is a task dependency relationship and data flow between at least two initial tasks, the task dependency relationship between at least two initial tasks needs to be fully considered when constructing the task dependency graph. The specific implementation is as follows:

[0054] Determine the task dependency relationship corresponding to the at least two initial tasks based on the task execution data; construct task nodes based on the at least two initial tasks, and construct a task dependency graph for the at least two initial tasks based on the task dependency relationship and the task nodes.

[0055] Specifically, the task dependency relationship corresponding to at least two initial tasks refers to the dependency relationship between the initial tasks, which can represent the execution order and data flow direction of the initial tasks. The task nodes are graph nodes, which are represented in the form of geometric figures such as circles and squares. The task dependency relationship is represented as a directed connection line between task nodes, and the pointing direction is the data flow direction.

[0056] Based on this, based on the task submission times of at least two initial tasks in the task execution data, as well as the data flow direction and dependency relationship of the at least two initial tasks, determine the task dependency relationship corresponding to the at least two initial tasks. Construct task nodes based on the at least two initial tasks, and construct the connection lines between the task nodes based on the task dependency relationship to construct the task dependency graph of the at least two initial tasks.

[0057] Continuing with the above example, in a batch processing scenario, when the target business includes 12 initial tasks such as Task 1 - Task 12, a task dependency graph can be constructed based on the 12 initial tasks such as Task 1 - Task 12. According to the task execution data, the task dependency relationship between the 12 initial tasks included in the target business can be determined, that is, Task 10 depends on Task 9, Task 8, and Task 12; both Task 8 and Task 9 depend on Task 7, and Task 8 also depends on Task 6; Task 6 depends on Task 3, Task 12 depends on Task 11, Task 7 depends on Task 4 and Task 5; both Task 4 and Task 4 depend on Task 2; Task 2, Task 3, and Task 11 depend on Task 1. Based on the above tasks and the dependency relationships between the tasks, the task dependency graph as Figure 3 shown can be constructed.

[0058] In summary, construct task nodes based on at least two initial tasks, and construct the connection lines between the task nodes based on the task dependency relationship to construct the task dependency graph of the at least two initial tasks, realizing the visualization of the task dependencies of the at least two initial tasks.

[0059] Furthermore, when at least two initial tasks included in the target business are executed, when the task execution is completed and submitted, the task submission time will be recorded. The task execution order can be determined based on the task submission time. The specific implementation is as follows:

[0060] Determine the task submission data corresponding to the task dependency graph in the task execution data; determine the task submission times corresponding to at least two graph nodes in the task dependency graph based on the task submission data, and determine the task execution order corresponding to the task dependency graph based on the task submission times of the at least two graph nodes respectively.

[0061] Specifically, the task submission data corresponding to the task dependency graph includes data such as the task execution results, task execution status, and task submission times of the initial tasks corresponding to each task node in the task dependency graph. The task execution order can be determined according to the sequence of the task submission times, and the initial tasks that are completed first are prioritized.

[0062] Based on this, determine the task submission data corresponding to the task dependency graph in the task execution data; determine the task submission times corresponding to at least two graph nodes in the task dependency graph based on the task submission time data included in the task submission data. Sort the task nodes in the task dependency graph based on the task submission times of at least two graph nodes respectively to obtain the task execution order corresponding to the task dependency graph.

[0063] Continuing with the above example, determine the task submission times corresponding to at least two graph nodes in the task dependency graph from the task execution data. Sort tasks 1 - 12 according to the task submission times to obtain the task execution order: Task 1 - Task 2 - Task 11 - Task 5 - Task 3 - Task 4 - Task 6 - Task 7 - Task 9 - Task 12 - Task 8 - Task 10.

[0064] In summary, determine the task execution order corresponding to the task dependency graph based on the task submission times of at least two graph nodes respectively to ensure the accuracy of the task execution order.

[0065] Step 206: When the target task node in the task dependency graph meets the rollback condition, determine the associated task nodes associated with the target task node in the task dependency graph according to the task execution order.

[0066] Specifically, after constructing the task dependency graph of at least two initial tasks and determining the task execution order corresponding to the task dependency graph based on the task execution data, when the target task node in the task dependency graph meets the rollback condition, determine the associated task nodes associated with the target task node in the task dependency graph according to the task execution order. Here, the target task node can be a node that meets the rollback condition. The target task node meeting the rollback condition can indicate that there is an abnormality in the initial task corresponding to the target task node, or it can indicate that the target task node is a specified node that needs to be rolled back. The rollback condition detection can be performed on the task dependency graph to detect the target task node that meets the rollback condition in the task dependency graph. The associated task nodes associated with the target task node are the task nodes corresponding to the initial tasks that continue to be executed after the execution of the initial task corresponding to the target task node, determined based on the task execution order.

[0067] Based on this, after constructing the task dependency graph of at least two initial tasks and determining the task execution order corresponding to the task dependency graph as above, when the target task node in the task dependency graph meets the rollback condition, it means that starting from the target task node, the subsequent initial tasks corresponding to the task nodes need to be rolled back. Determine the associated task nodes arranged after the target task node in the task dependency graph according to the task execution order.

[0068] Further, after determining that the task rollback operation starts from the target task node in the task dependency graph, all associated task nodes executed after the target task node need to perform the rollback operation. The associated task nodes can be determined by detecting the subsequent task nodes. The specific implementation is as follows:

[0069] In the task dependency graph, determine the subsequent task nodes of the target task node according to the task execution order; based on the task dependency graph, perform node detection on the target task node and the subsequent task nodes, and determine the associated task nodes associated with the target task node according to the detection results.

[0070] Specifically, the subsequent task nodes of the target task node are the task nodes arranged after the target task node determined based on the task execution order. The purpose of performing node detection on the target task node and the subsequent task nodes is to detect whether there is an accessible relationship between the subsequent task nodes and the target task node, that is, to detect whether there is a connection edge relationship between the target task node and the subsequent task nodes in the task dependency graph.

[0071] Based on this, determine the subsequent task nodes arranged after the target task node in the task dependency graph according to the task execution order. Perform node detection on the target task node and the subsequent task nodes based on the task dependency graph to detect whether there is a direct dependency relationship between the target task node and the subsequent task nodes. Determine the associated task nodes that have a direct dependency relationship with the target task node according to the detection results.

[0072] Continuing with the above example, after determining the task execution order corresponding to the task dependency graph: Task 1 - Task 2 - Task 11 - Task 5 - Task 3 - Task 4 - Task 6 - Task 7 - Task 9 - Task 12 - Task 8 - Task 10. When determining that Task 4 is the target task node, the subsequent task nodes of Task 4 can be determined based on the task execution order. As Figure 4 shown in (a) below, according to the task execution order, it can be determined that Task 6, Task 7, Task 9, Task 12, Task 8, and Task 10 are the subsequent task nodes of Task 4. By performing node detection on the subsequent task nodes such as Task 6, Task 7, Task 9, Task 12, Task 8, and Task 10, determine the associated task nodes corresponding to Task 4 among the subsequent task nodes.

[0073] In summary, determine the subsequent task nodes arranged after the target task node in the task dependency graph according to the task execution order. Furthermore, determine the associated task nodes that need to perform the task rollback operation by performing node detection on the target task node and the subsequent task nodes.

[0074] Further, considering that in the task dependency graph, among the subsequent task nodes corresponding to the target task node, there are nodes that are not connected to the target task node, such nodes can be exempted from the rollback operation. The specific implementation is as follows:

[0075] Based on the task dependency graph, perform node connectivity detection on the target task node and at least two subsequent task nodes respectively; determine the associated task nodes that are connected to the target task node among the at least two subsequent task nodes according to the detection results.

[0076] Specifically, the node connectivity detection is used to detect whether there is an edge connection between the target task node and the subsequent task node in the task dependency graph, that is, whether the target task node and the subsequent task node in the task dependency graph are connected.

[0077] Based on this, perform node connectivity detection on the target task node and at least two subsequent task nodes respectively based on the task dependency graph. When there are at least two subsequent task nodes, it is necessary to form detection pairs with the target task node and each subsequent task node respectively for connectivity detection. Determine the associated task nodes that are connected to the target task node among the at least two subsequent task nodes according to the detection results.

[0078] Continuing with the above example, as Figure 4 shown in (b) above, after determining that task 6, task 7, task 9, task 12, task 8, and task 10 are the subsequent task nodes of task 4, node connectivity detection can be performed on the target task node of task 4 and each subsequent task node respectively based on the task dependency graph. According to the task dependency graph, it can be seen that task 6 and task 12 are not connected to task 4. Then task 7, task 9, task 8, and task 10 are the associated task nodes that are connected to task 4.

[0079] In summary, determine the associated task nodes that are connected to the target task node among the at least two subsequent task nodes according to the detection results. Nodes that are not connected to the target task node among the subsequent task nodes do not need to be rolled back, reducing the number of associated task nodes that need to perform the task rollback operation, shortening the time for performing the task rollback operation, and reducing the waste of computing resources.

[0080] Step 208: Update the task execution data in terms of metadata dimension, and perform a task rollback operation on the associated task nodes according to the updated task execution data.

[0081] Specifically, when the target task node in the task dependency graph meets the rollback condition, after determining the associated task nodes associated with the target task node in the task dependency graph according to the task execution order, the task execution data can be updated in terms of metadata, and the task rollback operation can be performed on the associated task nodes according to the updated task execution data. Herein, updating the task execution data means processing the metadata related to the associated task nodes in the task execution data in terms of metadata, which can be deleting or invalidating the metadata related to the associated task nodes in the task execution data. The task rollback operation refers to performing a task rollback on the initial task corresponding to the associated task node, that is, re-executing the initial task corresponding to the associated task node.

[0082] Based on this, when the target task node in the task dependency graph meets the rollback condition, after determining the associated task nodes associated with the target task node in the task dependency graph according to the task execution order, the task execution data is updated in terms of metadata, the metadata related to the associated task nodes in the task execution data is deleted or invalidated in terms of metadata, and the task rollback operation is performed on the associated task nodes according to the updated task execution data, and the initial task corresponding to the associated task node is re-executed.

[0083] Furthermore, considering that it is necessary to perform a task rollback operation on the associated task nodes, the task execution data contains the associated task data generated by the execution of the initial task corresponding to the associated task node. Therefore, it is necessary to update the associated task data to facilitate the task rollback operation of the associated task nodes. The specific implementation is as follows:

[0084] Update the associated task data corresponding to the associated task node in the task execution data to obtain the updated task execution data.

[0085] Specifically, the associated task data corresponding to the associated task node is the data generated during the execution of the initial task corresponding to the associated task node. The associated task data can include the metadata, task execution result, task execution status, and task submission time during the execution of the initial task corresponding to the associated task node.

[0086] Based on this, the associated task data corresponding to the associated task node is updated in terms of metadata in the task execution data to obtain the updated task execution data. The updated task execution data contains the target task node and the task execution data corresponding to the previous task nodes of the target task node. The previous task nodes of the target task node are the task nodes whose task submission time is before the task submission time of the target task node.

[0087] Further, when updating the associated task data, since the associated task nodes corresponding to the associated task data need to perform task rollback operations, the data related to the execution of the initial tasks corresponding to the associated task nodes in the associated task data are all useless data and can be deleted. The specific implementation is as follows:

[0088] Determine the associated task data corresponding to the associated task node in the task execution data; delete the associated task execution data included in the associated task data, and update the task status data included in the associated task data.

[0089] Specifically, the associated task execution data included in the associated task data is the associated task metadata generated by the execution of the initial tasks corresponding to the associated task nodes. The task status data included in the associated task data is the execution status data recorded during the execution of the initial tasks corresponding to the associated task nodes. The task execution status data can be updated to the task incomplete status.

[0090] Based on this, determine the associated task data corresponding to the associated task node in the task execution data. Delete the associated task execution data included in the associated task data. The associated task execution data can include the associated task metadata of the initial tasks corresponding to the associated task nodes, the data corresponding to the task execution process and the task execution result. After deleting the associated task execution data included in the associated task data, the task status data included in the associated task data can be updated, and the task status can be updated to unexecuted.

[0091] Continuing with the above example, determine the associated task data corresponding to the associated task nodes (Task 7, Task 9, Task 8, and Task 10) in the task execution data. Delete the associated task execution data corresponding to Task 7, Task 9, Task 8, and Task 10 respectively in the associated task data. Update the task status data corresponding to Task 7, Task 9, Task 8, and Task 10 respectively included in the associated task data to the incomplete status.

[0092] In summary, deleting the associated task execution data included in the associated task data can avoid the existence of useless associated task execution data in the task execution data when performing task rollback operations on the associated task nodes, and avoid wasting storage space.

[0093] Further, when performing a task rollback operation on an associated task node, it is necessary to pull the branch task execution data of the branch task nodes related to the task execution of the target task node from at least two subsequent task nodes. The specific implementation is as follows:

[0094] Determine, according to the detection result, among the at least two subsequent task nodes, the branch task nodes that are not connected to the target task node; determine, in the task execution data, the branch task execution data corresponding to the branch task nodes; perform the associated task corresponding to the associated task node by updating the updated task execution data in the metadata dimension based on the branch task execution data, and complete the task rollback operation of the associated task node.

[0095] Specifically, the branch task node is a task node determined based on the task dependency graph among the at least two subsequent task nodes and is not directly connected to the target task node, that is, there is no connected edge between the branch task node and the target task node in the task dependency graph. The branch task execution data corresponding to the branch task node is the task execution data generated during the initial task execution corresponding to the branch task node, including task execution metadata, the task execution process, and the data corresponding to the task execution result.

[0096] Based on this, determine, according to the detection result, among the at least two subsequent task nodes, the branch task nodes that are not connected to the target task node, and determine, in the task execution data, the branch task execution data corresponding to the branch task nodes. During the task rollback operation of the subsequent associated task nodes, the branch task execution data corresponding to the branch task nodes will be pulled. By updating the updated task execution data in the metadata dimension based on the branch task execution data, the execution of the associated task corresponding to the associated task node can be completed, that is, the task rollback operation of the associated task node is completed. When executing the associated task corresponding to the associated task node, pull and merge the branch task execution data corresponding to the branch task nodes according to the node connection relationship in the task dependency graph to ensure that the task rollback operation of the associated task node is successfully completed while ensuring data accuracy.

[0097] Continuing with the above example, as Figure 4 shown in (b) therein, task 6 and task 12 in the task dependency graph are branch task nodes. When performing the task rollback operation on the associated task nodes (task 7, task 9, task 8, and task 10), it is necessary to merge the records (branch task execution data) submitted by the branch task nodes in the task execution data into the rollback process of the associated task nodes to successfully complete the task rollback process.

[0098] In summary, by updating the updated task execution data in the metadata dimension based on the branch task execution data to execute the associated task corresponding to the associated task node and complete the task rollback operation of the associated task node, the accuracy and credibility of the task rollback of the associated task node are improved.

[0099] In one embodiment of this specification, at least two initial tasks included in a target service are executed by updating metadata corresponding to the target service to obtain task execution data. Implementing the execution of at least two initial tasks by updating metadata can improve the task execution efficiency. A task dependency graph for at least two initial tasks is constructed, and the task execution order corresponding to the task dependency graph is determined based on the task execution data. When a target task node in the task dependency graph meets the rollback condition, it means that the target node in the task dependency graph needs to perform a rollback operation. The associated task nodes associated with the target task node are determined in the task dependency graph according to the task execution order, and the task execution data is updated in terms of metadata dimension. Performing a task rollback operation on the associated task nodes according to the updated task execution data can reduce the number of associated task nodes that need to perform the task rollback operation, shorten the time for performing the task rollback operation, and reduce the waste of computing resources.

[0100] The following, in combination with the attached Figure 5 , taking the application of the task rollback method provided in this specification in the rollback of the liquidation service as an example, further describes the task rollback method. Among them, Figure 5 shows the processing procedure flowchart of a task rollback method provided by an embodiment of this specification, which specifically includes the following steps.

[0101] Step 502: Execute at least two tasks included in the target service by updating the metadata corresponding to the target service to obtain task execution data.

[0102] In an actual liquidation service scenario, the target service is the liquidation service. One "operation" of the liquidation service usually consists of multiple tasks. Among them, the execution of some tasks may depend on the outputs of multiple previous other tasks. At the same time, some tasks may also exist independently. When executing at least two tasks included in the target service, the tasks can be executed by modifying the metadata, that is, data modification and deletion are not directly performed on the original data, but are written into the metadata in an incremental modification mode, saving information such as the definition, structure, and location of these data, and obtaining task execution data including task submission time, task data flow relationship, etc.

[0103] Step 504: Determine the task dependency relationship corresponding to at least two tasks based on the task execution data, construct task nodes based on at least two tasks, and construct a task dependency graph based on the task dependency relationship and the task nodes.

[0104] Perform dependency parsing on the clearing business based on task execution data to determine the task dependencies corresponding to at least two tasks. By analyzing the data flow relationships between tasks, accurately identify the dependencies between each task, and construct an intuitive directed acyclic graph, that is, a task dependency graph. In the task dependency graph, the relationships between task nodes clearly express the data flow and execution order. Task nodes can be executed in parallel, but their execution depends on the completion of the parent nodes connected to them. In the task dependency graph, there must be no data processing dependencies between two "unreachable nodes". Through such dependency parsing, it is possible to ensure the correctness of the task execution order and data flow, while improving the efficiency of parallel execution and avoiding unnecessary resource competition and bottlenecks.

[0105] Step 506: Determine the task submission times corresponding to at least two graph nodes in the task dependency graph based on the task submission data corresponding to the task dependency graph, and determine the task execution order corresponding to the task dependency graph based on the task submission times of at least two graph nodes respectively.

[0106] In practical applications, in order to ensure the traceability of tasks, a branch management method needs to be adopted for version control. Specifically, for the execution of each task, first pull a new task branch from the main branch and perform relevant operations on this task branch. After the task execution is completed, the task branch will be merged back into the main branch, and each task needs to save the current commit ID and time. Since the dependencies between tasks have been ensured to be clear and definite during the dependency parsing stage, and there are no data processing dependencies between "unreachable nodes" in the graph, therefore, when multiple "unreachable nodes" are merged back into the main branch after parallel execution, no merge conflicts will occur. The operation of branch merging is an update at the metadata level, so it is extremely fast and usually can be completed within seconds. Through this branch management method, the data lake can flexibly perform parallel processing and version control of tasks, thus supporting efficient task scheduling and rollback operations. The task execution order corresponding to the task dependency graph can be determined according to the submission time of each task.

[0107] Step 508: Determine the target task node for rollback in the task dependency graph, and determine the subsequent task nodes of the target task node according to the task execution order.

[0108] Step 510: Perform node detection on the target task node and subsequent task nodes based on the task dependency graph, and determine the associated task nodes associated with the target task node according to the detection results.

[0109] The purpose of performing node detection on the target task node and subsequent task nodes is to determine the reachable nodes and unreachable nodes of the target task node among the subsequent task nodes.

[0110] In practical applications, when the liquidation "operation" rolls back to the target task node, the tasks corresponding to the subsequent task nodes need to be executed again. When re-executing, it is not necessary to re-execute all tasks in the "uncompleted" state. The task process can be refined and reconstructed. All "reachable nodes" after the target task node have a dependency relationship with the target task node and need to be re-executed, while unreachable nodes do not need to be re-executed. Only the deepest nodes in the unreachable nodes of the target task node need to be found, and the commit records of the branches where these nodes are located are re-merged onto the main branch. In this way, the smooth completion of the task process can be achieved only by operating on metadata without actual data calculation.

[0111] Step 512: Determine the associated task data corresponding to the associated task node in the task execution data, delete the associated task execution data contained in the associated task data, and update the task status data contained in the associated task data.

[0112] Step 514: Determine the branch task nodes that are not connected to the target task node among at least two subsequent task nodes according to the detection result, and determine the branch task execution data corresponding to the branch task nodes in the task execution data.

[0113] Step 516: Update the updated task execution data in the metadata dimension based on the branch task execution data, execute the associated task corresponding to the associated task node, and complete the task rollback operation of the associated task node.

[0114] When performing the task rollback operation, the reference pointer of the main branch can be switched to the commit ID position submitted by the task branch where the target task node is located, so as to achieve the rollback of the main branch. At the same time, all commit records after the task branch of the target task node are deleted, and the task status corresponding to these deleted commit records is marked as the uncompleted state, so that the state of the main branch is restored to the state after the execution of the target task node. The above operations are completed by modifying the metadata and do not directly operate on the data, so they can be completed within seconds.

[0115] In summary, the task rollback method provided in this embodiment realizes the precise rollback and efficient management of complex liquidation task flows through steps such as dependency parsing, version control, branch rollback, and task reconstruction. Based on the task dependency graph, it automatically parses the dependency relationships and execution status of tasks, accurately identifies the scope of tasks that need to be rolled back and reconstructed, and effectively avoids operations on unrelated tasks in the traditional global rollback mode. By adjusting the reference pointer of the main branch instead of recalculating the underlying data, the rollback operation only involves metadata management. This method fully reuses the existing task status, quickly generates the required task flow, greatly improves the rollback efficiency, and significantly reduces the consumption of computing and storage resources. It supports the rollback and reconstruction of any task, providing a highly flexible solution for the dynamic adjustment of complex liquidation task flows.

[0116] Corresponding to the above method embodiment, this specification also provides an embodiment of a task rollback device. Figure 6 The structural schematic diagram of a task rollback device provided by an embodiment of this specification is shown. As Figure 6 shown, the device includes:

[0117] An execution module 602, configured to execute at least two initial tasks included in the target service by updating the metadata corresponding to the target service, and obtain task execution data;

[0118] A construction module 604, configured to construct a task dependency graph of the at least two initial tasks, and determine the task execution order corresponding to the task dependency graph based on the task execution data;

[0119] A determination module 606, configured to, when a target task node in the task dependency graph meets the rollback condition, determine associated task nodes associated with the target task node in the task dependency graph according to the task execution order;

[0120] A rollback module 608, configured to update the task execution data in terms of metadata dimension, and perform a task rollback operation on the associated task nodes according to the updated task execution data.

[0121] In an optional embodiment, the determination module 606 is further configured to:

[0122] Determine subsequent task nodes of the target task node in the task dependency graph according to the task execution order;

[0123] Perform node detection on the target task node and the subsequent task nodes based on the task dependency graph, and determine the associated task nodes associated with the target task node according to the detection result.

[0124] An optional embodiment, the determining module 606 is further configured to:

[0125] Perform node connectivity detection on the target task node and at least two subsequent task nodes respectively based on the task dependency graph;

[0126] Determine the associated task nodes that are connected to the target task node among the at least two subsequent task nodes according to the detection results.

[0127] An optional embodiment, the execution module 602 is further configured to:

[0128] Determine a primary task and a branch task among the at least two initial tasks included in the target service;

[0129] Execute the primary task by updating the metadata corresponding to the target service in the metadata dimension to obtain primary task execution data;

[0130] Execute the branch task by updating the primary task execution data in the metadata dimension to obtain the task execution data.

[0131] An optional embodiment, the building module 604 is further configured to:

[0132] Determine the task dependency relationships corresponding to the at least two initial tasks based on the task execution data;

[0133] Build task nodes based on the at least two initial tasks, and build a task dependency graph of the at least two initial tasks based on the task dependency relationships and the task nodes.

[0134] An optional embodiment, the building module 604 is further configured to:

[0135] Determine the task submission data corresponding to the task dependency graph in the task execution data;

[0136] Determine the task submission times corresponding to at least two graph nodes in the task dependency graph based on the task submission data, and determine the task execution order corresponding to the task dependency graph based on the task submission times of the at least two graph nodes respectively.

[0137] An optional embodiment, the rollback module 608 is further configured to:

[0138] Update the associated task data corresponding to the associated task nodes in the task execution data to obtain updated task execution data.

[0139] An optional embodiment, the rollback module 608 is further configured to:

[0140] Determine the associated task data corresponding to the associated task node in the task execution data;

[0141] Delete the associated task execution data included in the associated task data, and update the task status data included in the associated task data.

[0142] An optionally implemented example, the rollback module 608 is further configured to:

[0143] Determine, according to the detection result, a branch task node that is not connected to the target task node among the at least two subsequent task nodes;

[0144] Determine the branch task execution data corresponding to the branch task node in the task execution data;

[0145] Perform the associated task corresponding to the associated task node by updating the updated task execution data in the metadata dimension based on the branch task execution data, and complete the task rollback operation of the associated task node.

[0146] In an embodiment of the present specification, at least two initial tasks included in the target service are executed by updating the metadata corresponding to the target service, and task execution data is obtained. By updating the metadata to implement the execution of at least two initial tasks, the task execution efficiency can be improved. Construct a task dependency graph of at least two initial tasks, and determine the task execution order corresponding to the task dependency graph based on the task execution data. When the target task node in the task dependency graph meets the rollback condition, it means that the target node in the task dependency graph needs to perform a rollback operation. Determine the associated task nodes associated with the target task node in the task dependency graph according to the task execution order, and update the task execution data in the metadata dimension. Perform the task rollback operation on the associated task nodes according to the updated task execution data, which can reduce the number of associated task nodes that need to perform the task rollback operation, shorten the time for performing the task rollback operation, and reduce the waste of computing resources.

[0147] The above is a schematic solution of a task rollback device in this embodiment. It should be noted that the technical solution of this task rollback device and the technical solution of the above task rollback method belong to the same concept. For the details not described in detail in the technical solution of the task rollback device, reference can be made to the description of the technical solution of the above task rollback method.

[0148] Figure 7A structural block diagram of a computing device 700 provided according to an embodiment of this specification is shown. The components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. The processor 720 is connected to the memory 710 via a bus 730, and a database 750 is used to store data.

[0149] The computing device 700 further includes an access device 740, which enables the computing device 700 to communicate via one or more networks 760. Examples of these networks include the Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 740 may include one or more of any type of wired or wireless network interfaces (e.g., a network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a Near Field Communication (NFC) interface.

[0150] In an embodiment of this specification, the above components of the computing device 700, as well as Figure 7 other components not shown, may also be connected to each other, for example, via a bus. It should be understood that Figure 7 the shown structural block diagram of the computing device is for illustrative purposes only and is not a limitation on the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0151] The computing device 700 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 700 can also be a mobile or stationary server.

[0152] Wherein, the processor 720 is configured to execute the following computer-executable instructions, and when the computer-executable instructions are executed by the processor, the steps of the above task rollback method are implemented.

[0153] The above is a schematic solution of a computing device according to this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above task rollback method belong to the same concept. For the details not described in detail in the technical solution of the computing device, reference can be made to the description of the technical solution of the above task rollback method.

[0154] An embodiment of this specification also provides a computer-readable storage medium, which stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the steps of the above task rollback method are implemented.

[0155] The above is a schematic solution of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the above task rollback method belong to the same concept. For the details not described in detail in the technical solution of the storage medium, reference can be made to the description of the technical solution of the above task rollback method.

[0156] An embodiment of this specification also provides a computer program product, including a computer program or instructions, and when the computer program or instructions are executed by a processor, the steps of the above task rollback method are implemented.

[0157] The above is a schematic solution of a computer program product according to this embodiment. It should be noted that the technical solution of the computer program product and the technical solution of the above task rollback method belong to the same concept. For the details not described in detail in the technical solution of the computer program product, reference can be made to the description of the technical solution of the above task rollback method.

[0158] The above description is of specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the acts or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0159] The computer instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, removable hard disk, magnetic disk, optical disc, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0160] It should be noted that for the foregoing method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of this specification are not limited by the described order of actions, because according to the embodiments of this specification, certain steps may be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments of this specification.

[0161] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0162] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The alternative embodiments do not elaborate on all the details and do not limit the invention to only the specific embodiments described. Obviously, many modifications and variations can be made according to the content of the embodiments of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the embodiments of this specification, so that those skilled in the art can well understand and utilize this specification.

Claims

1. A task rollback method, characterized in that, Including: Executing at least two initial tasks included in the target service by updating metadata corresponding to the target service to obtain task execution data; Constructing a task dependency graph for the at least two initial tasks and determining a task execution order corresponding to the task dependency graph based on the task execution data; When a target task node in the task dependency graph meets the rollback condition, determining at least two subsequent task nodes of the target task node in the task dependency graph according to the task execution order, and respectively performing node connectivity detection on the target task node and the at least two subsequent task nodes based on the task dependency graph; Determining associated task nodes connected to the target task node among the at least two subsequent task nodes according to the detection result; Deleting associated task execution data in the task execution data in terms of metadata dimension, updating task status data in the task execution data to an unfinished state to obtain updated task execution data, and performing a task rollback operation on the associated task nodes according to the updated task execution data.

2. The task rollback method according to claim 1, wherein The step of executing at least two initial tasks included in the target service by updating metadata corresponding to the target service to obtain task execution data includes: Determining a main task and branch tasks among the at least two initial tasks included in the target service; Executing the main task by updating the metadata corresponding to the target service in terms of metadata dimension to obtain main task execution data; Executing the branch tasks by updating the main task execution data in terms of metadata dimension to obtain the task execution data.

3. The task rollback method according to claim 1, characterized in that The step of constructing a task dependency graph for the at least two initial tasks includes: Determining a task dependency relationship corresponding to the at least two initial tasks based on the task execution data; Constructing task nodes based on the at least two initial tasks, and constructing a task dependency graph for the at least two initial tasks based on the task dependency relationship and the task nodes.

4. The task rollback method according to claim 1, characterized in that The step of determining a task execution order corresponding to the task dependency graph based on the task execution data includes: Determining task submission data corresponding to the task dependency graph in the task execution data; Determining task submission times respectively corresponding to at least two graph nodes in the task dependency graph based on the task submission data, and determining a task execution order corresponding to the task dependency graph based on the task submission times of the at least two graph nodes respectively.

5. The task rollback method according to claim 1, wherein The step of updating the task execution data in terms of metadata dimension includes: Updating associated task data corresponding to the associated task nodes in the task execution data to obtain updated task execution data.

6. The task rollback method according to claim 5, wherein The step of updating associated task data corresponding to the associated task nodes in the task execution data includes: Determining the associated task data corresponding to the associated task nodes in the task execution data; Deleting associated task execution data included in the associated task data and updating task status data included in the associated task data.

7. The task rollback method according to claim 1, wherein The step of performing a task rollback operation on the associated task nodes according to the updated task execution data includes: Determine, according to the detection result, the branch task nodes that are not connected to the target task node among the at least two subsequent task nodes; Determine, in the task execution data, the branch task execution data corresponding to the branch task nodes; Execute the associated task corresponding to the associated task node by updating the task execution data in the metadata dimension based on the branch task execution data, and complete the task rollback operation of the associated task node.

8. A task rollback device, characterized in that, Comprising: An execution module, configured to execute at least two initial tasks included in the target service by updating the metadata corresponding to the target service, and obtain task execution data; A construction module, configured to construct a task dependency graph of the at least two initial tasks, and determine the task execution order corresponding to the task dependency graph based on the task execution data; A determination module, configured to, when the target task node in the task dependency graph meets the rollback condition, determine at least two subsequent task nodes of the target task node in the task dependency graph according to the task execution order, and perform node connectivity detection on the target task node and the at least two subsequent task nodes respectively based on the task dependency graph; determine the associated task nodes that are connected to the target task node among the at least two subsequent task nodes according to the detection result; A rollback module, configured to obtain updated task execution data by deleting the associated task execution data in the task execution data in the metadata dimension and updating the task status data in the task execution data to an unfinished state, and perform a task rollback operation on the associated task node according to the updated task execution data.

9. A computing device, characterized in that, Comprising: A memory and a processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the task rollback method according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium, characterized in that, It stores computer-executable instructions, and when the computer-executable instructions are executed by the processor, the steps of the task rollback method according to any one of claims 1 to 7 are implemented.

11. A computer program product, characterized in that, Including a computer program or instructions, and when the computer program or instructions are executed by the processor, the steps of the task rollback method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • System and method for modifying execution of scripts for a job scheduler using deontic logic

    US20100211815A1