A cloud application continuation calculation method and system for dealing with sudden failures

By specifying execution nodes and supervision nodes in the cloud computing cluster, and using the distributed memory database to save and restore the computing stage breakpoints, the problem of large troubleshooting time overhead in the existing technology is solved, and a cloud application renewal method for rapid failure response and resource conservation is realized.

CN113806126BActive Publication Date: 2025-04-15XI AN JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111044500.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-07
Publication Date
2025-04-15
Estimated Expiration
2041-09-07

AI Technical Summary

Technical Problem

The existing fault response mechanism in the cloud computing field, when dealing with sudden failures, leads to high computing time overhead, and cannot quickly resume interrupted computing work, and puts huge pressure on storage capacity and communication bandwidth.

Method used

A cloud application renewal method is adopted to determine the execution node and the supervision node in the cloud computing cluster, and use the distributed memory database to save and restore the computing stage breakpoints, so as to achieve rapid renewal of the failed node and retain the calculation results.

Benefits of technology

It realizes the rapid detection and handling of sudden failures in cloud computing clusters, reduces the time overhead caused by failures, saves computing, storage, and communication resources, and reduces the fault-tolerant management load of management nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113806126B_ABST
    Figure CN113806126B_ABST
Patent Text Reader

Abstract

The present invention discloses a cloud application continuation method and system for dealing with sudden failures, wherein an execution node for executing a cloud application and a supervisory node responsible for supervising the execution of the corresponding execution node are designated in a cloud computing cluster; the execution node runs a cloud application execution program, and the supervisory node runs a listening program; when the listening program detects that an abnormality occurs in the cloud application in the execution node, the supervisory node where the listening program is located starts the cloud application continuation processing, and continues to complete the unfinished computing work of the interrupted cloud application. The present invention realizes rapid cloud computing task fault discovery and fault-tolerant continuation processing, and at the same time, compared with the existing fault-tolerant methods, it saves more computing, storage, and communication resources of the cloud platform, and effectively reduces the fault-tolerant management load of the cloud platform management node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of cloud computing, and in particular relates to a cloud application continuation computing method and system for coping with sudden failures. Background Art

[0002] With the rapid development of cloud computing technology, the scale of cloud computing clusters is constantly expanding, and it will also provide more and more abundant and complete services. In cloud computing clusters, servers, virtual machines, containers, applications and other layers that provide services may fail, resulting in interruptions to the tasks being executed. Therefore, how to deal with sudden failures has always been a hot research direction in related fields.

[0003] At present, there are quite a few fault response mechanisms in the field of cloud computing, but most of them are to perform overall backup of cloud nodes in cloud computing clusters, that is, to save the status and data of cloud nodes regularly, and when cloud nodes send sudden faults, the data and status of the faulty nodes can be restored on other normal nodes. As cloud computing networks become larger and larger, a large number of cloud nodes need to be backed up for fault tolerance, which will cause huge pressure and waste on the storage capacity and communication bandwidth of cloud computing clusters. This method not only generates huge overhead during backup, but also cannot be handled very quickly after the fault occurs. In addition, the fault tolerance mechanism in most cloud computing clusters cannot retain the intermediate data of cloud applications, which means that the computing work that has been completed by the cloud application will be lost after the fault occurs, and the computing will start from the beginning after the cloud application is restored on other normal nodes. For cloud applications with long running time, restarting will cause huge time overhead, resulting in a significant delay in task completion time, causing huge losses to some application services with strict time requirements.

[0004] In the future cloud computing scenarios, the types of cloud applications will become more and more diverse. Some non-critical cloud applications or cloud applications with very short processing times in cloud computing clusters do not need fault-tolerant mechanisms to ensure their operation. However, there will inevitably be some cloud applications that need a fast renewal mechanism to ensure that the running results are not delayed for too long. Therefore, there is a need for a lightweight cloud application renewal mechanism that can be used for certain specific cloud applications in large-scale cloud computing clusters. Summary of the invention

[0005] The technical problem to be solved by the present invention is to provide a cloud application continuation method and system for dealing with sudden failures in response to the deficiencies in the above-mentioned prior art, thereby ensuring that if a cloud application with a large computing time overhead is interrupted by a failure halfway through its calculation, it can be quickly detected by other normal cloud nodes and the application can be started to complete the unfinished computing work of the interrupted application, thereby minimizing the time overhead caused by the failure.

[0006] The present invention adopts the following technical solutions:

[0007] A cloud application continuation method for coping with sudden failures, wherein an execution node for executing a cloud application and a supervisory node responsible for supervising the execution of the corresponding execution node are designated in a cloud computing cluster; the execution node runs a cloud application execution program, and the supervisory node runs a listening program; when the listening program detects that an abnormality occurs in the cloud application execution program in the execution node, the supervisory node where the listening program is located starts the cloud application continuation processing, and continues to complete the unfinished computing work of the interrupted cloud application execution program.

[0008] Specifically, the cloud application run by the execution node is divided into stages, and the key operations and key intermediate data generated during the program running process are analyzed; then the divided stages are numbered according to the execution logic sequence, and the key data generated at the end of each stage and required for the next stage calculation is used as the stage breakpoint to ensure that when the node has the application, the completed stage number, and the corresponding stage breakpoint, the unfinished calculation will continue from the completed stage.

[0009] Furthermore, a distributed memory database is established on both the execution node and the supervision node. The storage and acquisition of stage breakpoints are based on the distributed memory database. The execution node stores the completed stage breakpoint data in the distributed memory database, and the supervision node obtains the breakpoint data from the distributed memory database using the cloud application number and stage number as indexes.

[0010] Specifically, the cloud application execution program periodically sends a heartbeat packet carrying the most recently completed phase number information to the supervisory node, and the supervisory node runs a monitoring program to determine whether the task execution is abnormally interrupted by monitoring the heartbeat packet.

[0011] Furthermore, both the execution node and the supervision node are provided with a cloud application execution program for the computing task.

[0012] Furthermore, the supervisory node determines whether a failure has occurred after not receiving a heartbeat packet within 2 to 10 heartbeat cycles, and starts the cloud application execution program to obtain breakpoint data from the distributed memory database using the cloud application number and the most recently received stage number as indexes.

[0013] Specifically, the supervisory nodes include multiple supervisory nodes, and the multiple supervisory nodes are not connected to each other.

[0014] Furthermore, the server node with the shortest physical distance and the lowest network latency is selected as the supervisory node to achieve continued processing, and the server nodes distributed across regions are selected as supervisory nodes to avoid large-scale regional failures.

[0015] Furthermore, a management node is also set up in the cloud computing cluster. After receiving a cloud application execution request that requires continued computing and fault tolerance, the management node designates an execution node to execute the cloud application calculation, and designates multiple supervisory nodes to monitor the status of the computing tasks being executed by the execution node.

[0016] Another technical solution of the present invention is a cloud application continuation computing system for coping with sudden failures, comprising:

[0017] An execution module selects an execution node in the cloud computing cluster to execute the cloud application execution program;

[0018] A supervisory module selects supervisory nodes in the cloud computing cluster, and the supervisory nodes supervise the execution of the cloud application execution program by the execution nodes selected by the execution module;

[0019] The continuation module, when the supervision module detects that the cloud application execution program of the execution node selected by the execution module has an exception, controls the supervision node selected by the supervision module to start the cloud application continuation processing, and continues to complete the unfinished computing work of the interrupted cloud application execution program.

[0020] Compared with the prior art, the present invention has at least the following beneficial effects:

[0021] The present invention provides a cloud application continuation method for dealing with sudden failures, which uses a local cloud node binding method for supervision and continuation. In a large-scale cloud computing cluster, this method not only minimizes the computing, storage, communication and other resource overheads for the cluster as a whole, but also can achieve the most rapid fault anomaly discovery and processing, and ensures that the previously completed calculations are not lost while restarting the cloud application, greatly reducing the time wasted caused by the failure. At the same time, users can freely specify cloud applications that need to be continued to calculate fault tolerance guarantees, rather than backing up the cloud node as a whole, which further speeds up the fault handling speed and reduces resource overhead. In addition, as a lightweight cloud application continuation mechanism, the present invention can be easily integrated into various existing cloud computing management frameworks as an optional plug-in, which is of great significance for practical applications.

[0022] Furthermore, the execution phases of cloud applications are divided to mark the completed and unfinished computing parts. When a failure occurs, the supervisory node does not need to execute the completed phase again, but can directly start execution from the position of the phase mark in the cloud application through the phase number guidance. And through reasonable analysis of the cloud application execution program, the key data required for the calculation of each phase can be distinguished and used as breakpoints. Compared with saving the current state of the entire program as a breakpoint, this can greatly reduce the size of the breakpoint data.

[0023] Furthermore, a local distributed memory database is established on the execution node and supervisory node corresponding to a cloud application in the cloud cluster, and accessed in a key-value manner to ensure the rapid storage and retrieval of breakpoint data in the cloud application stage. And this local approach saves the overall cost of the cloud cluster to the greatest extent.

[0024] Furthermore, the execution node uses the stage number as an index to store the stage breakpoint data in the distributed memory database, and the supervisory node needs to obtain the breakpoint data from the database through the stage number during fault-tolerant processing, and the stage number known to the supervisory node needs to be continuously updated by the execution node through heartbeat packets.

[0025] Furthermore, when a failure occurs, the fault-tolerant mechanism starts the cloud application on the supervisory node. If the supervisory node does not have the application locally at this time, it needs to download the program from the cloud, which will greatly reduce the fault-tolerant processing speed.

[0026] Furthermore, the supervisory node determines whether an abnormality occurs in the task execution of the execution node by whether the heartbeat packet is received normally, and locates the stage from which the cloud application continues to run after restarting by the stage number contained in the heartbeat packet.

[0027] Furthermore, multiple supervisory nodes are not connected to each other, which can reduce the complexity of network communication and bandwidth pressure. Independent monitoring and fault-tolerant processing of supervisory nodes have a good guarantee effect on fault tolerance. In addition, the probability of cloud application failure is small, and this processing method will not cause too much additional pressure on the cloud computing cluster.

[0028] Furthermore, the distance of the geographical location determines the length of the network transmission delay. If the geographical locations are far apart, the time to transmit data through the network will definitely be longer, but the geographical locations are far apart. It can effectively deal with regional large-scale power outages and other faults.

[0029] Furthermore, the management node is a cloud node running a cluster management program, which is responsible for the management of the cloud computing cluster, such as request processing and task scheduling.

[0030] In summary, the present invention realizes rapid cloud computing task fault discovery and fault-tolerant continuation processing. At the same time, compared with existing fault-tolerant methods, it saves more computing, storage, and communication resources of the cloud platform and effectively reduces the fault-tolerant management load of the cloud platform management nodes.

[0031] The technical solution of the present invention is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 It is a schematic diagram of the process of the present invention;

[0033] Figure 2 The figure is a schematic diagram of a usage scenario of the present invention in a cloud computing cluster. DETAILED DESCRIPTION

[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0035] In the description of the present invention, it should be understood that the terms “include” and “comprises” indicate the presence of described features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or collections thereof.

[0036] It should also be understood that the terms used in the present specification are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the present specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.

[0037] It should be further understood that the term "and / or" used in the present description and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0038] Various structural schematic diagrams of the embodiments disclosed in the present invention are shown in the accompanying drawings. These figures are not drawn to scale, and some details are magnified and some details may be omitted for the purpose of clear expression. The shapes of various regions and layers shown in the figures and the relative sizes and positional relationships therebetween are only exemplary, and may deviate in practice due to manufacturing tolerances or technical limitations, and those skilled in the art may additionally design regions / layers with different shapes, sizes, and relative positions according to actual needs.

[0039] The present invention provides a cloud application continuation method for dealing with sudden failures. In a cloud computing cluster, by specifying an execution node for executing cloud applications and multiple supervisory nodes for supervising execution, such a local cloud node binding method is used to supervise and guarantee the continuation of cloud applications. When a cloud application fails, it can be quickly discovered by the supervisory node and the application can be started to continue the unfinished computing work of the interrupted cloud application, thereby reducing the time overhead caused by the failure to the greatest extent. Compared with the prior art, the present invention adopts a local cloud node binding mode, and can selectively select cloud applications for fault tolerance, which can not only achieve the fastest fault response and processing, but also minimize the overhead of computing, storage, communication and other resources.

[0040] The present invention provides a cloud application continuation computing method for coping with sudden failures, comprising the following steps:

[0041] S1. Designate an execution node for executing cloud application operations in a cloud computing cluster and designate multiple supervisory nodes responsible for supervising the execution of corresponding cloud applications;

[0042] In order to enable the monitoring node where the listening program is located to continue running the cloud application from the known most recent computing stage, the application is divided into execution stages during the development of the cloud application. The stage division requires the analysis of the key operations and key intermediate data generated during the program running process. Then the divided stages are numbered according to the execution logic order, and the key data generated at the end of each stage and required for the next stage calculation is used as the stage breakpoint to ensure that the node can continue the unfinished calculation from the completed stage when it has the application, the completed stage number, and the corresponding stage breakpoint.

[0043] See also Figure 1 A local distributed memory database is established on the designated cloud application execution node and cloud application supervision node in the cloud computing cluster. The storage and acquisition of stage breakpoints are based on the distributed memory database. The execution node stores the completed stage breakpoint data in the distributed memory database, and the supervision node obtains the breakpoint data from the distributed memory database using the cloud application number and stage number as indexes. This local synchronization method not only has a fast data synchronization speed, but also can save the storage and communication resources of the entire cloud platform.

[0044] S2, the execution node runs the cloud application execution program, and the supervision node runs the monitoring program;

[0045] The management node in the cloud computing cluster is a cloud node running the cluster management program, responsible for request processing and task scheduling, corresponding to the master node in the current open source cloud platform container management software kubenetes. If the fault tolerance method goal is embedded in kubenetes, after receiving a cloud application execution request that requires continued calculation and fault tolerance, in addition to specifying an execution node for executing cloud application calculations, it is also necessary to specify several other supervisory nodes to monitor the status of the computing tasks being executed. And ensure that both the execution node and the supervisory node have the cloud application execution program for the computing task, but only the execution node runs the cloud application execution program, and the supervisory node runs a simple, low-overhead listening program.

[0046] The listener is similar to a server interface that receives data sent periodically.

[0047] S3. When the monitoring program detects that an abnormality occurs in the cloud application in the execution node, the node where the monitoring program is located immediately starts the cloud application continuation processing.

[0048] The cloud application execution program periodically sends heartbeat packets carrying the most recently completed stage number information to the supervisory node. The supervisory node runs a monitoring program to determine whether the task execution is abnormally interrupted by monitoring the heartbeat packets. The supervisory node has a cloud application execution program. If it does not receive a heartbeat packet within 2 to 10 heartbeat cycles, it determines that a fault has occurred and starts the cloud application execution program. The duration of one heartbeat cycle is 100ms to 10s. The cloud application number and the most recently received stage number are used as indexes to obtain breakpoint data from the distributed memory database to quickly continue the cloud application execution.

[0049] The supervisory nodes are not connected to each other. If a cloud application on an execution node fails, each normally functioning supervisory node will continue to calculate after discovering it, and the cloud application calculation result finally adopted by the client is the result that was delivered the earliest. The probability of cloud node failure is not high, and the probability of multiple cloud nodes failing at the same time is even lower. This mechanism can not only be applied to almost all actual failure situations (as long as one of the execution node and the supervisory node is operating normally, the delivery of the calculation result can be guaranteed), but also simplifies the supervision and continuation mechanism as much as possible, avoiding overly complex communication operations and node status changes in large-scale actual applications, and achieving lightweight and universality in terms of mechanism.

[0050] See also Figure 2 When the present invention is actually applied in a cloud computing cluster, there are multiple cloud applications that need to be guaranteed to continue computing. The management node in the cloud computing cluster selects the cloud application execution node according to the current operating status of each cloud node (such as CPU usage, memory usage, etc.). The selection of the supervisory node is not only affected by the operating status of the cloud node, but also by user needs.

[0051] If you want to be as fast as possible, it means to shorten the physical distance between the supervisory node and the execution node as much as possible. The shorter the physical distance, the lower the network transmission delay. For example, in the same computer room, two server nodes connected to the same switch are definitely the fastest. In order to prevent regional power outages and other failures in the location of the computer room, you can choose server nodes in computer rooms that are not in the same area, but the network transmission distance will increase and the delay will definitely increase. The supervisory node that is close to the execution node is selected for the continued calculation. If you want to avoid large-scale regional failures, you can select a supervisory node that is far away.

[0052] In another embodiment of the present invention, a cloud application continuation calculation method system for dealing with sudden failures is provided. The system can be used to implement the above-mentioned cloud application continuation calculation method for dealing with sudden failures. Specifically, the cloud application continuation calculation method system for dealing with sudden failures includes an execution module, a supervision module and a continuation calculation module.

[0053] Among them, the execution module selects an execution node in the cloud computing cluster to execute the cloud application execution program;

[0054] A supervisory module selects supervisory nodes in the cloud computing cluster, and the supervisory nodes supervise the execution of the cloud application execution program by the execution nodes selected by the execution module;

[0055] The continuation module, when the supervision module detects that an exception occurs in the cloud application execution program in the execution node selected by the execution module, controls the supervision node selected by the supervision module to start the cloud application continuation processing, and continues to complete the unfinished computing work of the interrupted cloud application.

[0056] In another embodiment of the present invention, a terminal device is provided, the terminal device includes a processor and a memory, the memory is used to store a computer program, the computer program includes program instructions, and the processor is used to execute the program instructions stored in the computer storage medium. The processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. It is the computing core and control core of the terminal, which is suitable for implementing one or more instructions, and is specifically suitable for loading and executing one or more instructions to implement the corresponding method flow or corresponding function; the processor described in the embodiment of the present invention can be used for the operation of the cloud application continuation method for dealing with sudden failures, including:

[0057] In the cloud computing cluster, an execution node for executing cloud applications and a supervisory node responsible for supervising the execution of the corresponding execution node are designated; the execution node runs the cloud application execution program, and the supervisory node runs the listening program; when the listening program detects that an abnormality has occurred in the cloud application in the execution node, the supervisory node where the listening program is located starts the cloud application continuation processing and continues to complete the unfinished computing work of the interrupted cloud application.

[0058] In another embodiment of the present invention, the present invention further provides a storage medium, specifically a computer-readable storage medium (Memory), which is a memory device in a terminal device for storing programs and data. It can be understood that the computer-readable storage medium here can include both the built-in storage medium in the terminal device and the extended storage medium supported by the terminal device. The computer-readable storage medium provides a storage space, which stores the operating system of the terminal. In addition, one or more instructions suitable for being loaded and executed by the processor are also stored in the storage space, and these instructions can be one or more computer programs (including program codes). It should be noted that the computer-readable storage medium here can be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage.

[0059] The processor may load and execute one or more instructions stored in the computer-readable storage medium to implement the corresponding steps of the cloud application continuation computing method for coping with sudden failures in the above embodiment; the processor may load and execute the following steps of one or more instructions in the computer-readable storage medium:

[0060] In the cloud computing cluster, an execution node for executing cloud applications and a supervisory node responsible for supervising the execution of the corresponding execution node are designated; the execution node runs the cloud application execution program, and the supervisory node runs the listening program; when the listening program detects that an abnormality has occurred in the cloud application in the execution node, the supervisory node where the listening program is located starts the cloud application continuation processing and continues to complete the unfinished computing work of the interrupted cloud application.

[0061] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. The components of the embodiments of the present invention described and shown in the drawings here can usually be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present invention provided in the drawings is not intended to limit the scope of the claimed invention, but merely represents selected embodiments of the present invention. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0062] kubenetes, a cloud platform container management software widely used in the cloud computing community, performs heartbeat detection on applications on all cloud nodes through the master node, i.e., the management node. On the one hand, such centralized fault detection places a heavy burden on the management node. On the other hand, the minimum inspection cycle it can achieve is 1s, and the minimum inspection timeout is 1s, i.e., the time to discover a fault is at least 2s. In addition, the fault tolerance mechanism it provides is only to rerun the application once on other normal cloud nodes, and it is impossible to retain the previously completed calculations, resulting in a waste of computing resources and time. However, through distributed supervision, we have reduced the burden on the management node, and can detect faults as quickly as 200ms, and retain the completed calculation part of the application, and continue to calculate the subsequent part, which greatly reduces the time waste caused by faults.

[0063] To sum up, the present invention provides a cloud application continuation calculation method and system for dealing with sudden failures, which are used to ensure that some important cloud application computing tasks are delivered on time, and the calculation results will not be delayed too long due to sudden failures. It also saves the computing, storage, and communication resources of the cloud platform as much as possible and reduces the task load of the cloud platform management nodes.

[0064] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0065] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0066] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0067] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0068] The above contents are only for explaining the technical idea of ​​the present invention and cannot be used to limit the protection scope of the present invention. Any changes made on the basis of the technical solution in accordance with the technical idea proposed by the present invention shall fall within the protection scope of the claims of the present invention.

Claims

1. A cloud application continuation method for dealing with sudden failures, characterized in that: Taking a single cloud application as a fault-tolerant unit, an execution node for executing the cloud application and a supervisory node responsible for supervising the execution of the corresponding execution node are designated in the cloud computing cluster; Divide the cloud applications running on the execution nodes into stages and analyze the key operations and key intermediate data generated during the program running process; Then the divided stages are numbered according to the execution logic order, and the key data generated at the end of each stage and required for the next stage calculation is used as the stage breakpoint to ensure that when the node has the application, the completed stage number, and the corresponding stage breakpoint, the unfinished calculation will continue from the completed stage. A distributed memory database is established on both the execution node and the supervision node. The storage and acquisition of stage breakpoints are based on the distributed memory database. The execution node stores the completed stage breakpoint data in the distributed memory database, and the supervision node uses the cloud application number and stage number as indexes to obtain the breakpoint data from the distributed memory database. The execution node runs the cloud application execution program, the supervision node runs the monitoring program, and independently monitors the heartbeat signal; The cloud application execution program periodically sends a heartbeat packet carrying the most recently completed stage number information to the supervisory node. The supervisory node runs a monitoring program to monitor the heartbeat packet to determine whether the task execution is abnormally interrupted. The cloud application execution program for the computing task is set on both the execution node and the supervisory node. If the supervisory node does not receive a heartbeat packet within 2 to 10 heartbeat cycles, it determines whether a fault has occurred and starts the cloud application execution program, using the cloud application number and the most recently received stage number as indexes to obtain breakpoint data from the distributed memory database. There are multiple supervisory nodes, which are not connected to each other. The server node with the shortest physical distance and the lowest network delay is selected as the supervisory node to realize the continued computing process. The server nodes distributed across regions are selected as supervisory nodes to avoid large-scale regional failures. A management node is also set in the cloud computing cluster. After receiving a cloud application execution request that needs to be continued computing fault-tolerant, the management node designates an execution node for executing cloud application computing, and designates multiple supervisory nodes to monitor the computing task status of the execution node. When the listening program detects that an exception occurs in the cloud application execution program in the execution node, the supervisory node where the listening program is located starts the cloud application continuation processing to complete the unfinished computing work of the interrupted cloud application execution program.

2. A cloud application continuation computing system for dealing with sudden failures, characterized in that: include: An execution module selects an execution node in the cloud computing cluster to execute the cloud application execution program; Divide the cloud applications running on the execution nodes into stages and analyze the key operations and key intermediate data generated during the program running process; Then the divided stages are numbered according to the execution logic order, and the key data generated at the end of each stage and required for the next stage calculation is used as the stage breakpoint to ensure that when the node has the application, the completed stage number, and the corresponding stage breakpoint, the unfinished calculation will continue from the completed stage. A distributed memory database is established on both the execution node and the supervision node. The storage and acquisition of stage breakpoints are based on the distributed memory database. The execution node stores the completed stage breakpoint data in the distributed memory database, and the supervision node uses the cloud application number and stage number as indexes to obtain the breakpoint data from the distributed memory database. The supervisory module selects a supervisory node in the cloud computing cluster, and the supervisory node supervises the execution of the cloud application execution program by the execution node selected by the execution module, and independently monitors the heartbeat signal of the execution module; The cloud application execution program periodically sends a heartbeat packet carrying the most recently completed stage number information to the supervisory node. The supervisory node runs a monitoring program to monitor the heartbeat packet to determine whether the task execution is abnormally interrupted. The cloud application execution program for the computing task is set on both the execution node and the supervisory node. If the supervisory node does not receive a heartbeat packet within 2 to 10 heartbeat cycles, it determines whether a fault has occurred and starts the cloud application execution program, using the cloud application number and the most recently received stage number as indexes to obtain breakpoint data from the distributed memory database. There are multiple supervisory nodes, which are not connected to each other. The server node with the shortest physical distance and the lowest network delay is selected as the supervisory node to realize the continued computing process. The server nodes distributed across regions are selected as supervisory nodes to avoid large-scale regional failures. A management node is also set in the cloud computing cluster. After receiving a cloud application execution request that needs to be continued computing fault-tolerant, the management node designates an execution node for executing cloud application computing, and designates multiple supervisory nodes to monitor the computing task status of the execution node. The continuation module, when the supervision module detects that the cloud application execution program of the execution node selected by the execution module has an exception, controls the supervision node selected by the supervision module to start the cloud application continuation processing, and continues to complete the unfinished computing work of the interrupted cloud application execution program.

Citation Information

Patent Citations

  • On-line fault tolerance method in cluster data processing system

    CN103678051A

  • Background task execution method, distributed system and computer readable storage medium

    CN112732420A