WO2019085601A1 - Procédé et appareil d'exécution de tâche - Google Patents

Procédé et appareil d'exécution de tâche Download PDF

Info

Publication number
WO2019085601A1
WO2019085601A1 PCT/CN2018/101567 CN2018101567W WO2019085601A1 WO 2019085601 A1 WO2019085601 A1 WO 2019085601A1 CN 2018101567 W CN2018101567 W CN 2018101567W WO 2019085601 A1 WO2019085601 A1 WO 2019085601A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
node
executed
nodes
execution
Prior art date
Application number
PCT/CN2018/101567
Other languages
English (en)
Chinese (zh)
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 WO2019085601A1 publication Critical patent/WO2019085601A1/fr

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

Definitions

  • the present application relates to the field of information technology, and in particular, to a method and an apparatus for performing tasks.
  • Directed acyclic graph is an effective method to describe the process of project, system, task flow, etc., as shown in Figure 1.
  • Figure 1 is a schematic diagram of a DAG diagram in which multiple nodes and arrows connecting the nodes are visible.
  • the tasks corresponding to the nodes in FIG. 1 are different steps in the task flow, and the arrows indicate which steps need to be performed in the next step after the previous step is executed.
  • the arrow starting node is the upstream node
  • the arrow ending node is the downstream node.
  • a complex task flow can be simplified to multiple subtasks by DAG diagrams.
  • the existing DAG maps are pre-set before the task is executed, that is, what needs to be performed in each step of the task and how to perform is predetermined.
  • the execution of the task ie, simplifying the complex task into multiple subtask executions
  • the task corresponding to the downstream node can be determined according to the execution result only after the task corresponding to the upstream node is executed, so that the DAG graph of the task cannot be determined in advance. For example, suppose that when it is necessary to determine the data having the largest value among the plurality of data, each node in the DAG map corresponding to the task can be generated according to the data required to execute the task. However, since the specific value of the input data cannot be determined in advance, the execution result of the task corresponding to each node cannot be predetermined. This makes it impossible to predetermine the DAG map corresponding to the task, and thus the task cannot be performed by the DAG diagram assisting the execution of the task.
  • the embodiment of the present invention provides a method and a device for performing task execution, which are used to solve the problem that when a downstream node is generated according to a task execution result of an upstream node in a task scenario, it is difficult to split the complex task into a simple subtask through the DAG diagram.
  • the way to perform tasks is used to solve the problem that when a downstream node is generated according to a task execution result of an upstream node in a task scenario, it is difficult to split the complex task into a simple subtask through the DAG diagram.
  • a method of task execution including:
  • downstream node is generated according to the execution result, and the downstream node is regarded as a to-be-executed node, and the task corresponding to the node to be executed is continuously executed until it is determined that the task corresponding to the task request is completed.
  • a task execution device comprising:
  • Receiving a module receiving a task request
  • Determining a module generating a leaf node of the directed acyclic graph DAG according to the task request, and determining a total number of nodes of the DAG graph;
  • An execution module the leaf node is regarded as a node to be executed, and a task corresponding to the node to be executed is determined and executed, and an execution result is obtained;
  • Determining a generation module determining whether the task corresponding to the task request is completed according to the number of nodes that have executed the corresponding task and the total number of nodes, and if so, using the execution result as a task result, and if not, according to the The execution result generates a downstream node, and the execution module uses the downstream node as a node to be executed, and continues to execute a task corresponding to the node to be executed until it is determined that the task corresponding to the task request is completed.
  • a server comprising: one or more memories and a processor, the memory storing a program and configured to perform the following steps by the one or more processors:
  • downstream node is generated according to the execution result, and the downstream node is regarded as a to-be-executed node, and the task corresponding to the node to be executed is continuously executed until it is determined that the task corresponding to the task request is completed.
  • an initial DAG map may be constructed, that is, a leaf node of the DAG map is generated, and the total number of nodes of the DAG map is determined. After the leaf node is regarded as the node to be executed, the corresponding task is executed and the execution result is obtained. When the task corresponding to the task request is not executed according to the total number of nodes and the number of nodes that have executed the corresponding task, the downstream node is determined according to the execution result. The node to be executed is executed, and the corresponding task is continued until the task corresponding to the task request is not executed.
  • FIG. 1 is a schematic view of a DAG diagram in the prior art
  • FIG. 2 is a flowchart of a task execution process according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a leaf node of a DAG diagram provided by an embodiment of the present disclosure
  • 4a and 4b are schematic diagrams for determining the total number of DAG graph nodes provided by the implementation of the present specification
  • FIG. 5 is a schematic diagram of an execution queue and a preparation queue provided by an embodiment of the present disclosure
  • 6a to 6c are schematic diagrams of an execution queue and a preparation queue in a task execution process according to an embodiment of the present disclosure
  • FIG. 7 is a schematic diagram of a task execution system corresponding to a task execution method according to an embodiment of the present disclosure
  • FIG. 8 is a schematic structural diagram of a task execution apparatus according to an embodiment of the present disclosure.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present disclosure.
  • FIG. 2 is a process of performing task execution according to an embodiment of the present invention, which may specifically include the following steps:
  • a task request may be received by a service provider's device and a corresponding task may be executed in accordance with the task request.
  • the device provided by the service may be a terminal or a server, for example, a mobile phone, a personal computer, a server, etc., which is not limited in this specification.
  • the following is an example of the execution body of the task execution process by the server.
  • the task request may carry data required to perform the task, so that the server performs subsequent tasks.
  • the server can be a single device or a system composed of multiple devices, such as a distributed server.
  • the task request may be a request for determining extreme value data in a plurality of data.
  • some of the data may be data required to perform a task corresponding task, and the extreme value data may be a maximum value or a minimum value among the required data.
  • the extreme value data may directly be the data itself required to perform the task (eg, selecting the data with the largest or smallest corresponding value from several data), or may also be required to perform the task.
  • the data identifies the results.
  • the data required to perform the task may include the identity information of the users A to D, the transaction record, and the like, when further based on the data required to perform the task,
  • the maximum value is determined from each loan risk result. Then, the extreme value data is not the input data itself, but the result calculated based on the input data.
  • S102 Generate a leaf node of the directed acyclic graph DAG according to the task request, and determine a total number of the DAG graph nodes.
  • the server may, according to the task request, be a leaf node in the DAG map corresponding to the task, to split the task request corresponding task into several simple subtasks through each leaf node of the DAG map. Execute the task to request the corresponding task.
  • the server since the server has determined the leaf node of the DAG map, the server may further determine the total number of nodes of the DAG map according to the task request, so that when the downstream node is subsequently generated by executing the task, it may be determined when the task is executed. Finished (eg, when all nodes of the DAG graph are generated).
  • the server may first determine, according to the task request, data that needs to be input for the task corresponding to the task request, and then generate each leaf node in the DAG map according to the determined data.
  • the server may directly generate each leaf node in the DAG map according to the data carried by the task request.
  • the above two methods for generating leaf nodes may be used alone or in combination, and the description is not limited.
  • the server receives the task request to determine which bank A has the most deposits in the banks a to d.
  • Banks a to d may all be the bank with the largest deposit of user A. Therefore, the server can determine that the data that needs to be input for the task is the deposit of user A in banks a to d.
  • the server can determine the deposits of the user A in the banks a to d by sending the query requests to the banks a to d, respectively, as the data that needs to be input for the task corresponding to the execution of the task request. Or, suppose that the task request is sent by the bank a, and the task request carries the deposit value of the user A in the bank a, so the server can send a query request to the bank b ⁇ d to determine the task corresponding to the task request. The data that needs to be entered.
  • the server can generate a leaf node of the DAG map according to the deposit of the user A at each bank a to d, and generate a leaf node of the DAG map.
  • each leaf node is identified by a node identifier 1 to 4, wherein each leaf node corresponds to a bank identifier.
  • the server may use the deposit value of the user A in the bank corresponding to the leaf node as the value corresponding to the leaf node. Therefore, it can be seen that each leaf node in FIG. 3 corresponds to the identifier of the bank and the deposit value of the user A in the bank.
  • the above example is only an example provided by the embodiment of the present specification.
  • the present specification does not limit how the server generates each leaf node, and how to determine the value corresponding to each leaf node.
  • the generated leaf nodes may only correspond to the value of each single deposit with user A in each bank.
  • the leaf node may be separately generated according to each webpage that the user has browsed, and the number of times the user browses each webpage is respectively used as a value corresponding to each leaf node. ,and many more.
  • the server may also determine the total number of nodes of the DAG map, that is, determine how many nodes should exist in the DAG map. Therefore, it is determined that the task corresponding to the task request is executed based on the total number of nodes of the DAG map.
  • the task assembly condition can be stored in advance in the server.
  • the server may determine the total number of DAG graph nodes according to the number of leaf nodes that have been generated and the pre-stored task assembly conditions.
  • the task assembly condition may specifically be: selecting a preset number of nodes that have not performed the corresponding task, and the preset quantity may be based on Need to be set, for example, 2, 3, etc.
  • the server is pre-configured with the task assembly condition as: selecting two nodes that have not performed the task, that is, the preset number is 2.
  • the server can determine that for the four leaf nodes, the total number of DAG graph nodes can be determined to be 7 according to the task assembly condition, as shown in Figure 4a. Or, assuming that the server generates 7 leaf nodes, according to the same task assembly condition, the total number of nodes of the DAG graph can be determined to be 13, as shown in FIG. 4b.
  • FIGS. 4a and 4b are schematic diagrams for determining the total number of DAG graph nodes provided by the implementation of the present specification, wherein the leaf node is a generated node, represented by a solid line, and the remaining nodes in the DAG graph have not been generated, indicated by a broken line, in the figure
  • the dotted arrow indicates the direction of the DAG diagram, that is, the upstream and downstream relationship of the node.
  • dashed lines shown in FIG. 4a to FIG. 4b are schematic. Since the tasks are not assembled at this time, the arrows are dashed lines to indicate a possible task assembly situation, and it does not mean that the DAG diagram will follow The dotted line represents the form of the node generated, which is only one possible form of the final DAG diagram corresponding to the task in the final determination.
  • S104 The leaf node is used as a node to be executed, and a task corresponding to the node to be executed is determined and executed, and an execution result is obtained.
  • the server as described in step S102 can assemble and execute a task according to preset task assembly conditions. Therefore, the server may first use each leaf node as a node to be executed, and then determine a corresponding task to be executed by the receiving node. Finally, the tasks corresponding to the nodes satisfying the task assembly conditions are assembled, and the execution results are obtained by executing the assembled tasks.
  • the tasks corresponding to the nodes 1 and 2 in the DAG map are the comparison data sizes. After that, it can be determined that there are more deposits in bank b, then it can be determined that the execution result is bank b, and the corresponding value is 200 yuan. If the tasks corresponding to nodes 3 and 4 are assembled and executed, it can be determined that the execution result is bank c, and the corresponding value is 5000 yuan.
  • a DAG diagram is usually converted into a linked list form, and a subtask to be executed is determined according to the linked list.
  • the server since there is no data index in the data structure of the linked list, the server usually needs to traverse the linked list to determine which node needs to be executed each time determining what needs to be performed next time (for example, determining which node corresponds to which task to execute later). Task.
  • the server may add or remove the node by using the queue executed by the two auxiliary tasks according to whether the node to be executed satisfies the task assembly condition.
  • a queue of task executions that assists in the dynamic generation of nodes in the DAG diagram, thereby facilitating the execution of tasks.
  • the server may determine the to-be-executed node that satisfies the task assembly condition, add to the execution queue, determine the to-be-executed node that does not satisfy the task assembly condition, and add to the preparation queue. Then, according to the task assembly condition, the task corresponding to the node to be executed in the execution queue is assembled and executed. Moreover, after the node in the preparation queue satisfies the task assembly condition, the node that satisfies the task assembly condition can be moved to the execution queue to assemble the task and execute. On the one hand, the execution of the task is assisted, and on the other hand, since the form of the linked list is not adopted, the problem that the server needs to repeatedly traverse the linked list in the prior art is avoided.
  • a description will be given by taking an example in which seven leaf nodes are generated by a server.
  • the task assembly condition is: select two nodes that have not performed the task.
  • the server may select 6 leaf nodes from the 7 leaf nodes, add the node to the execution queue as the node satisfying the task assembly condition, and add the remaining leaf node that does not satisfy the task assembly condition to the preparation queue, as shown in FIG. 5. Shown.
  • the server may also remove the to-be-executed node that has executed the corresponding task as the executed node from the execution queue to avoid repeated assembly. Node task.
  • the present specification does not limit when the node to be executed that satisfies the task assembly condition is moved to the execution queue as long as it is moved before the execution result is obtained.
  • the server may also first assemble and execute the task corresponding to the node to be executed that satisfies the task assembly condition, and then the node to be executed that satisfies the task assembly condition. Move to the execution queue.
  • the server may determine whether the task corresponding to the task request is executed, and perform different subsequent operations according to the determination result.
  • the server may determine that the DAG map has been determined according to the number of nodes that have executed the corresponding task (that is, the number of nodes that have been generated). The number of nodes that have been generated and have been executed corresponding to the task, whether it is consistent with the total number of nodes, and if so, it indicates that for the task corresponding to the task request, each sub-task that the server splits according to the assistance of the DAG diagram has been executed, then Step S108 is performed, if otherwise, step S110 is performed.
  • the server may be consistent with the total number of nodes according to the number of nodes that have been generated, and in the above step S104. Whether the execution queue and the preparation queue are both empty, to determine whether the task corresponding to the task request is completed.
  • the server since the server has determined the total number of nodes of the DAG map in step S102, when the number of generated nodes is equal to the total number of nodes, it can be determined that all nodes are generated. As shown in FIG. 4a, when the lowest node is generated, it can be determined that all nodes of the DAG map have been generated.
  • the server may also determine whether there is a node in the execution queue and in the preparation queue. Because, for the node to be executed, when the corresponding task is executed, the server may move the node to be executed as an executed node out of the execution queue, so when the execution queue is empty, it may be determined that the nodes satisfying the task assembly condition are all The task has been executed. If there is still a node to be executed in the preparation queue at this time, it indicates that there is still a node that does not perform the corresponding task, so it can be determined that the task corresponding to the task request has not been executed yet. When both the preparation queue and the execution queue are empty, it can be determined that the generated nodes have performed tasks.
  • step S108 determines whether the number of generated nodes is equal to the total number of nodes, and determines whether the preparation queue and the execution queue are both empty, if the determination result is yes, it is determined that the task corresponding to the task request is completed, and step S108 is performed, if If the result of any determination is no, it is determined that the task corresponding to the task request has not been executed, and step S110 is performed.
  • a node on which a corresponding task has been executed can be regarded as a node that assembles and executes a task with other nodes according to a task assembly condition, and a node that executes a task of "returning the execution result”.
  • the server may use the execution result as a task result.
  • the nodes that have executed the corresponding tasks are all nodes that the server has generated, and the downstream nodes are generated according to the execution result. Therefore, for each node, the server can determine the upstream and downstream relationship of the node with other nodes. Then, when the task result is determined, the DAG map corresponding to the task has also been generated, that is, all nodes of the DAG map are dynamically generated.
  • S110 Generate a downstream node according to the execution result, and use the downstream node as a to-be-executed node to continue executing a task corresponding to the to-be-executed node until it is determined that the task corresponding to the task request is completed.
  • the server when determining that the task corresponding to the task request is not executed, may further generate a downstream node according to the execution result, so as to continue to use the downstream node as a node to be executed, and execute Execute the task corresponding to the node until the task corresponding to the task request is not executed.
  • the downstream node may be added to the preparation queue as a to-be-executed node, and step S104 and step S106 are repeated.
  • the server determines 7 leaf nodes, and the task assembly condition is still: select two nodes that have not performed the task. It is further assumed that the tasks corresponding to the node 3 and the node 4 have been executed, and then the downstream node is determined according to the execution result: the node 8 and the downstream node of the node 3 and the node 4, as shown in Fig. 6a. The server can then move node 3 and node 4 out of the execution queue and add node 8 to the preparation queue, as shown in Figure 6b.
  • the node 7 and the node 8 may exist in the preparation queue, and the server may determine that the nodes 7 and 8 satisfy the task assembly condition, and move the node 7 and the node 8 into the execution queue, and assemble the tasks corresponding to the node 7 and the node 8, And executed, as shown in Figure 6c.
  • the execution bodies of the steps of the method provided by the embodiment of the present application may all be the same device, or the method may also be performed by different devices.
  • the execution body of step S100 may be device 1
  • the execution body of step S102 may be device 2.
  • the server may be a distributed server, which includes multiple management parties and multiple executing parties.
  • the tasks corresponding to the task request are jointly performed by the respective management parties, and the DAG map corresponding to the task is maintained.
  • the task corresponding to the node to be executed is received by the executing party and executed, and the execution result is determined and returned to any management party, as shown in FIG. 7.
  • FIG. 7 is a schematic diagram of a task execution system for executing the task execution method shown in FIG. 2 according to an embodiment of the present disclosure. It can be seen that the system is divided into a management party and an executing party, and there are multiple, and the dotted line box indicates the task execution process jointly maintained by each management party.
  • any management party may perform the operation corresponding to step S102 and the part of determining the task corresponding to the node to be executed in step S104. After that, the task can be sent to any of the performers, the task of the receiving task is executed, and the execution result is returned to any of the management parties. Then, the management party that has received the execution result performs the determination operation of step S106. When it is determined that step S110 is performed, the above process is repeated until step S106 is performed.
  • the task flow can continue to be executed regardless of which management party the execution party returns the execution result.
  • the management party can perform asynchronous execution when assigning tasks. That is, when the tasks corresponding to the plurality of nodes to be executed are determined, the determined tasks may be separately sent to different performers. Therefore, for each executing party, when the executing party determines the execution result, the execution result can be returned to any one of the management parties, so that the management party continues the operation of the subsequent steps.
  • the embodiment of the present specification further provides a task execution apparatus, as shown in FIG. 8.
  • FIG. 8 is a schematic structural diagram of a data depositing device according to an embodiment of the present disclosure, including:
  • Receiving module 200 receiving a task request
  • a determining module 202 generating a leaf node of the directed acyclic graph DAG according to the task request, and determining a total number of nodes of the DAG graph;
  • the execution module 204 is configured to execute the task corresponding to the node to be executed and execute the result, and obtain the execution result;
  • the determination generation module 206 determines whether the task corresponding to the task request is completed according to the number of nodes that have executed the corresponding task and the total number of the nodes, and if so, the execution result is used as the task result, and if not, according to The execution result generates a downstream node, and the execution node 204 uses the downstream node as a node to be executed, and continues to execute a task corresponding to the node to be executed until it is determined that the task corresponding to the task request is completed.
  • the determining module 202 determines, according to the task request, data that needs to be input by executing a task corresponding to the task request, and generates each leaf node in the DAG map according to the determined data.
  • the determining module 202 determines the total number of nodes of the DAG graph according to preset task assembly conditions and the number of leaf nodes.
  • the execution module 204 determines that the to-be-executed node that satisfies the task assembly condition is added to the execution queue, determines the to-be-executed node that does not satisfy the task assembly condition, adds to the preparation queue, and assembles according to the task assembly condition.
  • the task corresponding to the node to be executed in the execution queue is executed and executed.
  • the execution module 204 after obtaining the execution result, moves the to-be-executed node as an executed node out of the execution queue.
  • the execution module 204 adds the downstream node as a to-be-executed node to the preparation queue, and determines whether there is a node to be executed that satisfies the task assembly condition in the preparation queue, and if yes, the task assembly is satisfied.
  • the conditional execution node moves to the execution queue to assemble and execute the task corresponding to the node to be executed in the execution queue according to the task assembly condition, and if not, wait for other to-be-executed nodes to add to the preparation queue.
  • the determination generation module 206 determines whether the number of generated nodes is equal to the total number of nodes, and determines whether the preparation queue and the execution queue are both empty. If the determination result is yes, it is determined that the task corresponding to the task request is completed. If any of the determination results is no, it is determined that the task corresponding to the task request is not executed.
  • the task request is a request to determine extreme value data from a number of data.
  • the executing module 204 determines a task corresponding to the to-be-executed node, and sends the to-be-executed task to an executing party, so that the executing party executes the task, and returns an execution result.
  • the present specification correspondingly provides a server, as shown in FIG. 9, including: one or more processors and a memory, the memory stores a program, and is configured to be processed by one or more Perform the following steps:
  • downstream node is generated according to the execution result, and the downstream node is regarded as a to-be-executed node, and the task corresponding to the node to be executed is continuously executed until it is determined that the task corresponding to the task request is completed.
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • HDL Hardware Description Language
  • the controller can be implemented in any suitable manner, for example, the controller can take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (eg, software or firmware) executable by the (micro)processor.
  • computer readable program code eg, software or firmware
  • examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, The Microchip PIC18F26K20 and the Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory's control logic.
  • the controller can be logically programmed by means of logic gates, switches, ASICs, programmable logic controllers, and embedding.
  • Such a controller can therefore be considered a hardware component, and the means for implementing various functions included therein can also be considered as a structure within the hardware component.
  • a device for implementing various functions can be considered as a software module that can be both a method of implementation and a structure within a hardware component.
  • the system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • a typical implementation device is a computer.
  • the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include temporary storage of computer readable media, such as modulated data signals and carrier waves.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment in combination of software and hardware.
  • the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • the application can be described in the general context of computer-executable instructions executed by a computer, such as a program module.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

L'invention concerne un procédé et un appareil d'exécution de tâche. Le procédé comprend les étapes suivantes : lorsqu'une demande de tâche est reçue, être capable d'abord de construire un graphe acyclique orienté initial, c'est-à-dire de générer un nœud feuille du graphe acyclique orienté, puis prendre le nœud feuille en tant que nœud à exécuter ; exécuter une tâche correspondant à celui-ci et obtenir un résultat d'exécution ; lorsqu'il est déterminé qu'une tâche correspondant à la demande de tâche n'est pas complètement exécutée, déterminer un nœud en aval comme étant le nœud à exécuter selon le résultat d'exécution ; et continuer à exécuter la tâche correspondante jusqu'à ce que la tâche correspondant à la demande de tâche soit complètement exécutée.
PCT/CN2018/101567 2017-10-31 2018-08-21 Procédé et appareil d'exécution de tâche WO2019085601A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711049658.1 2017-10-31
CN201711049658.1A CN109725989B (zh) 2017-10-31 2017-10-31 一种任务执行的方法及装置

Publications (1)

Publication Number Publication Date
WO2019085601A1 true WO2019085601A1 (fr) 2019-05-09

Family

ID=66294248

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/101567 WO2019085601A1 (fr) 2017-10-31 2018-08-21 Procédé et appareil d'exécution de tâche

Country Status (3)

Country Link
CN (1) CN109725989B (fr)
TW (1) TWI679581B (fr)
WO (1) WO2019085601A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214289A (zh) * 2019-07-11 2021-01-12 腾讯科技(深圳)有限公司 一种任务调度方法、装置及服务器、存储介质
CN112799797B (zh) * 2019-11-14 2024-04-16 北京沃东天骏信息技术有限公司 一种任务管理的方法和装置
CN111581449B (zh) * 2020-05-18 2023-04-28 网易(杭州)网络有限公司 一种任务节点的执行方法、装置、计算机设备和介质
CN112131297A (zh) * 2020-09-28 2020-12-25 广州亚信技术有限公司 数据处理方法、装置、设备及存储介质
CN112346842B (zh) * 2020-11-19 2024-03-26 广州嘉为科技有限公司 一种基于有向无环图的工作流任务调度方法
CN114035968B (zh) * 2022-01-10 2022-03-18 北京一流科技有限公司 用于多流并行的冲突处理系统及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536814A (zh) * 2015-01-16 2015-04-22 北京京东尚科信息技术有限公司 一种处理工作流的方法和系统
CN106155791A (zh) * 2016-06-30 2016-11-23 电子科技大学 一种分布式环境下的工作流任务调度方法
CN106339252A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 分布式dag系统的自适应优化方法和装置
CN107239468A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 任务节点管理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI313437B (en) * 2006-09-20 2009-08-11 Nat Chiao Tung Universit Matching method for interdependent scheduling
US8301755B2 (en) * 2007-12-14 2012-10-30 Bmc Software, Inc. Impact propagation in a directed acyclic graph
TW201211509A (en) * 2010-09-15 2012-03-16 Tomtom Int Bv Navigation devices
US9170843B2 (en) * 2011-09-24 2015-10-27 Elwha Llc Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement
CN102945295B (zh) * 2012-10-15 2015-09-02 浪潮(北京)电子信息产业有限公司 一种格子玻尔兹曼方法的并行加速方法及系统
CN103336723B (zh) * 2013-07-21 2017-03-29 哈尔滨理工大学 基于关键路径的适应处理器内核紧缺调度方法
JP6346376B2 (ja) * 2014-09-10 2018-06-20 アマゾン・テクノロジーズ・インコーポレーテッド 拡張縮小可能なログベーストランザクション管理
TWI537817B (zh) * 2014-09-18 2016-06-11 國立清華大學 找小値方法以及找小値器
US10235337B2 (en) * 2015-06-24 2019-03-19 EMC IP Holding Company LLC Distributed work flow using database replication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536814A (zh) * 2015-01-16 2015-04-22 北京京东尚科信息技术有限公司 一种处理工作流的方法和系统
CN106339252A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 分布式dag系统的自适应优化方法和装置
CN107239468A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 任务节点管理方法及装置
CN106155791A (zh) * 2016-06-30 2016-11-23 电子科技大学 一种分布式环境下的工作流任务调度方法

Also Published As

Publication number Publication date
CN109725989B (zh) 2020-07-31
TW201918878A (zh) 2019-05-16
TWI679581B (zh) 2019-12-11
CN109725989A (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
WO2019085601A1 (fr) Procédé et appareil d'exécution de tâche
AU2018246770B2 (en) Block chain based data processing method and device
AU2018246765B2 (en) Block chain-based data processing method and equipment
WO2018177235A1 (fr) Procédé et dispositif de consensus de chaîne de blocs
EP3550803B1 (fr) Procédé et dispositif d'acceptation et de consensus de service de chaîne de blocs
TWI767106B (zh) 配置支付流程、執行支付流程的方法、裝置及設備
WO2019192258A1 (fr) Procédé, dispositif et appareil de synchronisation de données
WO2016004814A1 (fr) Procédé et système de visualisation de service
WO2023231345A1 (fr) Procédé de regroupement d'une pluralité de transactions, et nœud de chaîne de blocs
CN110297955B (zh) 一种信息查询方法、装置、设备及介质
WO2021239087A1 (fr) Appareil, dispositif et procédé de traitement de données, et support
WO2020168901A1 (fr) Procédé et moteur de calcul de données
WO2019020082A1 (fr) Procédé de génération de blocage géographique et dispositif associé
WO2023231342A1 (fr) Procédé et appareil pour exécuter automatiquement un contrat sur la base d'un état variable
WO2024001025A1 (fr) Procédé de nettoyage de données en mémoire cache de pré-exécution et nœud de chaîne de blocs
US11474837B2 (en) Method and apparatus for efficient programming of electronic payment processing
CN116662292A (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: 18873950

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18873950

Country of ref document: EP

Kind code of ref document: A1