An asynchronous task execution method in network orchestration based on distributed scheduling

By using distributed scheduling and asynchronous API calls from the SDN controller, the problem of incomplete data in asynchronous task execution during network orchestration is solved, achieving efficient process execution and data synchronization.

CN114595075BActive Publication Date: 2026-02-10CHINA UNITECHS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011409024.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-04
Publication Date
2026-02-10
Estimated Expiration
2040-12-04

Smart Images

  • Figure CN114595075B_ABST
    Figure CN114595075B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a method for asynchronous task execution in network arrangement based on distributed scheduling. The method comprises: when a flow process reaches an asynchronous task node, calling an SDN controller to execute an asynchronous API, sending a serial number and a node code of the current asynchronous task node to the SDN controller, and suspending the flow process execution; when a configuration result message is received, storing the configuration result message in a message queue, triggering a callback service to parse the serial number and the node code of the asynchronous task node from the configuration result message; querying a corresponding flow number, a service instance and a flow execution record, calling an arrangement engine corresponding to the service instance, continuing the flow process from the asynchronous task node, and returning work order information after the flow process ends. In this way, the receiving of synchronous service data is not affected in the process of executing the asynchronous flow, and the service data execution efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention generally relate to the field of service provisioning, and more specifically, to an asynchronous task execution method in network orchestration based on distributed scheduling. Background Technology

[0002] Network orchestration involves configuring the APIs of the SDN controller or professional network management system to enable service provisioning. During orchestration, some APIs have lengthy configuration deployment processes, so the SDN controller or professional network management system can only provide asynchronous interfaces. However, for network orchestration, calling asynchronous interfaces prevents the synchronous reception of service data, resulting in incomplete data at other nodes in the process and hindering configuration deployment. Summary of the Invention

[0003] According to an embodiment of the present invention, an asynchronous task execution scheme in network orchestration based on distributed scheduling is provided.

[0004] In a first aspect of the present invention, a method for executing asynchronous tasks in network orchestration based on distributed scheduling is provided. The method includes:

[0005] Receive orders from the work order system, execute the corresponding processes, and store the process execution records in the ES database and MySQL database;

[0006] When an asynchronous task node is executed, the SDN controller is called to execute the asynchronous API, and the sequence number and node code of the current asynchronous task node are sent to the SDN controller, while the process execution is paused.

[0007] When a configuration result message is received, the configuration result message is stored in a message queue, the callback service interface is called, and the callback service is triggered to parse the serial number and node code of the asynchronous task node from the configuration result message, and the corresponding business data is stored in the ES database.

[0008] Based on the sequence number and node code of the asynchronous task node, query the corresponding process number, service instance and process execution record in the MySQL database, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read the context business data from the ES database;

[0009] After the process is completed, the work order information is returned.

[0010] Furthermore, the process execution record includes the execution process node, request parameters, and return parameters.

[0011] Furthermore, the process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

[0012] Furthermore, the configuration result message includes a configuration success message and a configuration failure message.

[0013] In a second aspect of the invention, an asynchronous task execution apparatus for network orchestration based on distributed scheduling is provided. The apparatus includes:

[0014] The process execution module is used to receive orders issued by the work order system, execute the corresponding process, and store the process execution records in the ES database and MySQL database.

[0015] The first asynchronous execution module is used to call the SDN controller to execute the asynchronous API when an asynchronous task node is reached, send the sequence number and node code of the current asynchronous task node to the SDN controller, and pause the process execution at the same time;

[0016] The second asynchronous execution module is used to store the configuration result message into a message queue when it receives the configuration result message, call the callback service interface, trigger the callback service to parse the serial number and node code of the asynchronous task node from the configuration result message, and store the corresponding business data in the ES database.

[0017] The third asynchronous execution module is used to query the corresponding process number, service instance and process execution record in the MySQL database according to the serial number and node code of the asynchronous task node, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read context business data from the ES database.

[0018] The return module is used to return work order information after the process is completed.

[0019] Furthermore, the process execution record includes the execution process node, request parameters, and return parameters.

[0020] Furthermore, the process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

[0021] Furthermore, the configuration result message includes a configuration success message and a configuration failure message.

[0022] In a third aspect of the invention, an electronic device is provided. The electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor, when executing the program, implements the method described above.

[0023] In a fourth aspect of the invention, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method according to a first aspect of the invention.

[0024] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of the present invention, nor is it intended to restrict the scope of the invention. Other features of the invention will become readily apparent from the following description.

[0025] This invention executes asynchronous processes by calling a third-party asynchronous API, accurately returning asynchronous execution node information and continuing the process. It can also receive synchronous business data without affecting the execution of asynchronous processes, thus improving the efficiency of business data execution. Attached Figure Description

[0026] The above and other features, advantages, and aspects of the various embodiments of the present invention will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0027] Figure 1 A flowchart of an asynchronous task execution method in network orchestration based on distributed scheduling according to an embodiment of the present invention is shown;

[0028] Figure 2 A block diagram of an asynchronous task execution device in a network orchestration based on distributed scheduling according to an embodiment of the present invention is shown;

[0029] Figure 3 A block diagram of an exemplary electronic device capable of implementing embodiments of the present invention is shown. Detailed Implementation

[0030] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0031] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0032] In this invention, by calling a third-party asynchronous API to execute asynchronous processes, the asynchronous execution node information can be accurately returned, allowing the process to continue. This ensures that receiving synchronous business data is not affected during the execution of the asynchronous process, thereby improving the efficiency of business data execution.

[0033] Figure 1 A flowchart of an asynchronous task execution method in a network orchestration based on distributed scheduling, according to an embodiment of the present invention, is shown.

[0034] The method includes:

[0035] S101. Receive orders issued by the work order system, execute the corresponding process, and store the process execution records in the ES database and MySQL database.

[0036] Execution process of multiple distributed orchestration engines.

[0037] The process execution record includes the executed process nodes, request parameters, and return parameters. These process nodes, request parameters, and return parameters are stored in an Elasticsearch database and a MySQL database.

[0038] Elasticsearch (ES) is a NoSQL database. ES is short for Elasticsearch. ES is a highly scalable, open-source full-text search and analysis engine that can store, search, and analyze massive amounts of data in near real-time.

[0039] MySQL is a relational database that uses Structured Query Language (SQL), the most commonly used database management language, for database management.

[0040] The process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

[0041] S102. When an asynchronous task node is executed, the SDN controller is called to execute the asynchronous API, and the serial number and node code of the current asynchronous task node are sent to the SDN controller. At the same time, the process execution is paused.

[0042] The SDN controller is an application in Software-Defined Networking (SDN) responsible for flow control to ensure intelligent networking. Based on protocols such as OpenFlow, the SDN controller allows servers to tell switches where to send data packets.

[0043] By executing an asynchronous API through the SDN controller, the current orchestration engine's process is paused, and an asynchronous process is executed. At this time, other distributed orchestration engines can still execute their processes.

[0044] By sending the sequence number and node code of the current asynchronous task node to the SDN controller, the controller can find the current asynchronous task node and continue execution after returning the configuration result message.

[0045] S103. When a configuration result message is received, the configuration result message is stored in a message queue, the callback service interface is called, and the callback service is triggered to parse the serial number and node code of the asynchronous task node from the configuration result message, and the corresponding business data is stored in the ES database.

[0046] After pausing the process, the orchestration engine waits for notification of the configuration result message. The configuration result message includes both successful and failed configuration messages. Upon receiving the configuration result message, the SDN controller sends it to the message queue and calls the orchestration callback service interface. The callback service receives the configuration result message, parses it, generates a serial number and node code, and uses the serial number and node code to match the corresponding asynchronous task node. Simultaneously, it stores the business data in the Elasticsearch database.

[0047] S104. Based on the serial number and node code of the asynchronous task node, query the corresponding process number, service instance and process execution record in the MySQL database, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read the context business data from the ES database.

[0048] S105. After the process is completed, return the work order information.

[0049] According to an embodiment of the present invention, by calling a third-party asynchronous API to execute an asynchronous process, the asynchronous execution node information can be accurately returned, and the process can continue to be executed. This ensures that the receipt of synchronous business data is not affected during the execution of the asynchronous process, thereby improving the efficiency of business data execution.

[0050] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to the present invention.

[0051] The above is an introduction to the method embodiments. The following describes the solution of the present invention further through device embodiments.

[0052] like Figure 2As shown, the device 200 includes:

[0053] The process execution module 210 is used to receive orders issued by the work order system, execute the corresponding process, and store the process execution records in the ES database and the MySQL database.

[0054] The process execution record includes the executed process nodes, request parameters, and return parameters. These process nodes, request parameters, and return parameters are stored in an Elasticsearch database and a MySQL database.

[0055] Elasticsearch (ES) is a NoSQL database. ES is short for Elasticsearch. ES is a highly scalable, open-source full-text search and analysis engine that can store, search, and analyze massive amounts of data in near real-time.

[0056] MySQL is a relational database that uses Structured Query Language (SQL), the most commonly used database management language, for database management.

[0057] The process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

[0058] The first asynchronous execution module 220 is used to call the SDN controller to execute the asynchronous API when an asynchronous task node is reached, send the serial number and node code of the current asynchronous task node to the SDN controller, and pause the process execution at the same time.

[0059] The SDN controller is an application in Software-Defined Networking (SDN) responsible for flow control to ensure intelligent networking. Based on protocols such as OpenFlow, the SDN controller allows servers to tell switches where to send data packets.

[0060] The first asynchronous execution module 220 pauses the current orchestration engine's process and executes an asynchronous process. At this time, other distributed orchestration engines can still execute their processes.

[0061] Because the first asynchronous execution module 220 sends the serial number and node code of the current asynchronous task node to the SDN controller, it can find the current asynchronous task node and continue execution after returning the configuration result message.

[0062] The second asynchronous execution module 230 is used to store the configuration result message into a message queue when it receives the configuration result message, call the callback service interface, trigger the callback service to parse the serial number and node code of the asynchronous task node from the configuration result message, and store the corresponding business data in the ES database.

[0063] After pausing the process, the orchestration engine waits for notification of the configuration result message. The configuration result message includes both successful and failed configuration messages. Upon receiving the configuration result message, the SDN controller sends it to the message queue. The second asynchronous execution module 230 calls the orchestration callback service interface. After receiving the configuration result message, the callback service parses the message, generates a serial number and node code. The serial number and node code (nodeid) are used to match the corresponding asynchronous task node. Simultaneously, the second asynchronous execution module 230 stores the business data in the Elasticsearch database.

[0064] The third asynchronous execution module 240 is used to query the corresponding process number, service instance and process execution record in the MySQL database according to the serial number and node code of the asynchronous task node, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read context business data from the ES database.

[0065] The return module 250 is used to return work order information after the process is completed.

[0066] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the described module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0067] like Figure 3 As shown, the device includes a central processing unit (CPU), which can perform various appropriate actions and processes based on computer program instructions stored in read-only memory (ROM) or loaded from storage units into random access memory (RAM). The RAM can also store various programs and data required for device operation. The CPU, ROM, and RAM are interconnected via a bus. Input / output (I / O) interfaces are also connected to the bus.

[0068] Multiple components in the device are connected to the I / O interface, including: input units such as keyboards and mice; output units such as various types of displays and speakers; storage units such as disks and optical discs; and communication units such as network interface cards (NICs), modems, and wireless transceivers. The communication unit allows the device to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0069] The processing unit executes the various methods and processes described above, such as methods S101 to S105. For example, in some embodiments, methods S101 to S105 may be implemented as computer software programs tangibly contained in a machine-readable medium, such as a storage unit. In some embodiments, part or all of the computer program may be loaded and / or installed on the device via ROM and / or a communication unit. When the computer program is loaded into RAM and executed by the CPU, one or more steps of methods S101 to S105 described above may be performed. Alternatively, in other embodiments, the CPU may be configured to execute methods S101 to S105 by any other suitable means (e.g., by means of firmware).

[0070] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload programmable logic devices (CPLDs), and so on.

[0071] The program code used to implement the methods of the present invention can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code can be executed entirely on the machine, partially on the machine, as a standalone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0072] In the context of this invention, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0073] Furthermore, although the operations are described in a specific order, this should be understood as requiring that such operations be performed in the specific order shown or in sequential order, or requiring that all illustrated operations be performed to achieve the desired result. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the invention. Certain features described in the context of individual embodiments may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented individually or in any suitable sub-combination in multiple implementations.

[0074] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A method for asynchronous task execution in network orchestration based on distributed scheduling, characterized in that, include: The system receives orders from the work order system, executes the corresponding processes through multiple distributed orchestration engines, and stores the process execution records in an Elasticsearch database and a MySQL database. When an asynchronous task node is executed, the SDN controller is invoked to execute the asynchronous API, sending the sequence number and node code of the current asynchronous task node to the SDN controller, while pausing the current orchestration engine's process execution. When a configuration result message is received, the configuration result message is stored in a message queue, the callback service interface is called, and the callback service is triggered to parse the serial number and node code of the asynchronous task node from the configuration result message, and the corresponding business data is stored in the ES database. Based on the serial number and node code of the asynchronous task node, query the corresponding process number, service instance and process execution record in the MySQL database, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read the context business data from the ES database; After the process is completed, the work order information is returned; The process execution record includes the execution process nodes, request parameters, and return parameters.

2. The method according to claim 1, characterized in that, The process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

3. The method according to claim 1, characterized in that, The configuration result message includes a configuration success message and a configuration failure message.

4. An asynchronous task execution device in network orchestration based on distributed scheduling, characterized in that, include: The process execution module is used to receive orders issued by the work order system, execute the corresponding processes through multiple distributed orchestration engines, and store the process execution records in the ES database and MySQL database. The first asynchronous execution module is used to call the SDN controller to execute the asynchronous API when an asynchronous task node is reached, send the serial number and node code of the current asynchronous task node to the SDN controller, and pause the current orchestration engine's process execution at the same time. The second asynchronous execution module is used to store the configuration result message into a message queue when it receives the configuration result message, call the callback service interface, trigger the callback service to parse the serial number and node code of the asynchronous task node from the configuration result message, and store the corresponding business data in the ES database. The third asynchronous execution module is used to query the corresponding process number, service instance and process execution record in the MySQL database according to the serial number and node code of the asynchronous task node, call the orchestration engine corresponding to the service instance, continue to execute the process from the asynchronous task node, and read context business data from the ES database. The return module is used to return work order information after the process is completed; The process execution record includes the execution process nodes, request parameters, and return parameters.

5. The apparatus according to claim 4, characterized in that, The process includes asynchronous task nodes; the asynchronous task nodes are nodes with an asynchronous tag added.

6. The apparatus according to claim 4, characterized in that, The configuration result message includes a configuration success message and a configuration failure message.

7. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1 to 3.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Task processing method and equipment based on asynchronous callback

    CN107506247A

  • Processing method and apparatus for a payment flow,

    CN109299946A