Edge cloud system, edge control method, control node and storage medium
By introducing dual management and control mechanisms of center and edge in edge computing systems, the problem of poor connection stability in the cloud and edge side is solved, and high availability and service reliability of edge applications are achieved.
Patent Information
- Application Number
- CN202110139135.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-01
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2041-02-01
AI Technical Summary
In the prior art, the public network connection between the cloud and the edge side causes edge computing applications to be often separated from cloud control, and cannot guarantee the serviceability of edge applications.
The central and edge control method is adopted, and the central control node and edge control node cooperate with each other to ensure that when the central control node does not meet the control conditions, the edge control node can independently manage containerized applications in the edge cluster, and restore central control after the central control node meets the conditions again.
It improves the edge autonomy capabilities of cloud-edge converged architecture, improves the service capabilities of edge containerized applications, and ensures the serviceability and high availability of edge applications.
Smart Images

Figure CN113296903B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of edge cloud technology, and in particular to an edge cloud system, an edge management and control method, a management and control node, and a storage medium. Background Art
[0002] With the advent of 5G and the Internet of Things, and the gradual increase in cloud computing applications, the terminal side has higher and higher requirements for cloud computing resources in terms of latency, bandwidth and other performance. The centralized cloud network can no longer meet the increasing demands of the terminal side, so edge computing technology has emerged. Edge computing is a form of distributed computing that processes and stores data in edge nodes that are closer to the terminal, close to the data source, which is conducive to reducing service response latency and bandwidth costs.
[0003] With the increasing development of edge computing, a large number of applications need to be deployed on the edge side. As a cloud-native technology, containers have excellent characteristics such as lightweight and portability, which are very suitable for carrying application instances in edge computing scenarios. In addition, since containers are naturally more compatible with applications, it is easy to quickly and conveniently deploy or shut down application instances in a short time to meet the real-time traffic on the edge side. However, how to orchestrate and schedule edge containers is a technical problem faced by the fusion of cloud-native and edge computing (referred to as cloud-edge fusion).
[0004] In the prior art, the open source container orchestration and scheduling system Kubernetes is used to solve the orchestration and scheduling problems of containers in cloud-native and edge computing fusion scenarios. Specifically, the master component of Kubernetes can be hosted in the cloud, and the worker component of Kubernetes can be deployed on the edge computing node. The worker component is connected to the master component in the cloud through the public network. The master component and the worker component cooperate with each other to realize the orchestration and scheduling of containers in the cloud-edge fusion scenario. However, due to the public network connection between the cloud and the edge, objective factors such as the delay and instability of the public network make the applications running on the edge side often out of the cloud control, and the serviceability of the edge application cannot be guaranteed. Summary of the invention
[0005] Multiple aspects of the present application provide an edge cloud system, an edge management method, a management node and a storage medium to realize edge autonomy under a cloud-edge fusion architecture and ensure the serviceability of edge applications.
[0006] The embodiment of the present application provides an edge cloud system, including: a central control node, and at least one edge cluster connected to the central control node network, each edge cluster including an edge control node and an edge computing node, and containerized applications can be deployed on the edge computing node;
[0007] The edge control node is used to control the containerized application in the target edge cluster to which the edge control node belongs, so that the containerized application continues to provide services during the period when the central control node does not meet the control conditions for the target edge cluster to which the edge control node belongs;
[0008] The central control node is used to re-control the containerized application in the target edge cluster after the control condition for the target edge cluster is re-satisfied, based on the control state of the containerized application in the target edge cluster before the control condition is not met.
[0009] An embodiment of the present application also provides an edge management method, applicable to an edge management node, the method comprising: determining that a central management node in an edge cloud system does not meet management conditions for a target edge cluster; and during a period when the central management node does not meet management conditions for the target edge cluster, managing containerized applications in the target edge cluster so that the containerized applications continue to provide services; wherein the target edge cluster is an edge cluster to which the edge management node in the edge cloud system belongs.
[0010] An embodiment of the present application also provides an edge management method, which is applicable to a central management node, and the method includes: during a period when the management conditions for the target edge cluster in the edge cloud system are not met, determining whether the management conditions for the target edge cluster are met again; based on the management status of the containerized applications in the target edge cluster before the management conditions are not met, re-managing the containerized applications in the target edge cluster; wherein the target edge cluster is any edge cluster in the edge cloud system, and during a period when the central management node does not meet the management conditions for the target edge cluster, the edge management node in the target edge cluster manages the containerized applications in the target edge cluster.
[0011] An embodiment of the present application also provides an edge management and control node, including: a memory and a processor; the memory is used to store a computer program; the processor is coupled to the memory and is used to execute the computer program, so as to: determine that a central management and control node in the edge cloud system to which it belongs does not meet the management and control conditions for a target edge cluster; and during the period when the central management and control node does not meet the management and control conditions for the target edge cluster, manage the containerized application in the target edge cluster so that the containerized application continues to provide services; wherein the target edge cluster is the edge cluster to which the edge management and control node in the edge cloud system belongs.
[0012] An embodiment of the present application also provides a central control node, comprising: a memory and a processor; the memory is used to store a computer program; the processor is coupled to the memory and is used to execute the computer program, so as to: determine whether to re-satisfy the control conditions for the target edge cluster in the edge cloud system to which it belongs during the period when the control conditions for the target edge cluster in the edge cloud system to which it belongs are not met; re-control the containerized applications in the target edge cluster based on the control status of the containerized applications in the target edge cluster before the control conditions are not met; wherein the target edge cluster is any edge cluster in the edge cloud system, and during the period when the central control node does not meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized applications in the target edge cluster.
[0013] An embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is caused to implement the steps of any method provided in the embodiment of the present application.
[0014] An embodiment of the present application also provides a computer program product, including a computer program / instruction, wherein when the computer program / instruction is executed by a processor, the processor is caused to implement the steps of any method provided in the embodiment of the present application.
[0015] In an embodiment of the present application, a cloud-edge fusion architecture is provided. For this cloud-edge fusion architecture, in addition to controlling the containerized applications in the edge cluster through the central control node, an edge control node is also added in the edge cluster, so that the edge control node can control the containerized applications in its edge cluster during the period when the central control node does not meet the control conditions. The use of central and edge dual control can greatly improve the edge autonomy capability of the cloud-edge fusion architecture and greatly enhance the service capability of edge containerized applications. Furthermore, after the central control node meets the control conditions again, it does not rely on the control status of the edge cluster by the edge control node, but instead controls the containerized applications in the edge cluster again based on the control status of the edge cluster before the control conditions are not met. In this way, the two control nodes are loosely coupled and independently controlled, and the edge autonomy capability is more flexible. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0017] Figure 1a A schematic diagram of the structure of an edge cloud system provided for an exemplary embodiment of the present application;
[0018] Figure 1b A schematic diagram of the relationship state of data interaction between a central control node, an edge control node, and an edge computing node in an edge cloud system provided in an embodiment of the present application;
[0019] Figure 2a A schematic diagram of a flow chart of an edge management method provided for an exemplary embodiment of the present application;
[0020] Figure 2b A flowchart of another edge management method provided for an exemplary embodiment of the present application;
[0021] Figure 2c A flowchart of another edge management method provided for an exemplary embodiment of the present application;
[0022] Figure 3a A schematic diagram of the structure of an edge management and control device provided for an exemplary embodiment of the present application;
[0023] Figure 3b A schematic diagram of the structure of an edge management and control node provided for an exemplary embodiment of the present application;
[0024] Figure 4a A schematic structural diagram of another edge management device provided for an exemplary embodiment of the present application;
[0025] Figure 4b A schematic diagram of the structure of a central control node provided for an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0027] Figure 1a The schematic diagram of the structure of an edge cloud system provided by the exemplary embodiment of the present application is as follows. Figure 1a As shown, the edge cloud system 100 includes: a central management and control node 101, and at least one edge cluster 102 connected to the central management and control node 101. Each edge cluster 102 includes an edge management and control node 102a and an edge computing node 102b, wherein a containerized application can be deployed on the edge computing node 102b.
[0028] The edge cloud system 100 of this embodiment is a cloud computing platform built on edge infrastructure based on cloud computing technology and edge computing capabilities. It is a network system with computing, network, storage and security capabilities close to the edge. Edge cloud is a relative concept. Edge cloud refers to a cloud computing platform relatively close to the terminal. The terminal here refers to the demand side of cloud computing services, such as the terminal or user end in the Internet, or the terminal or user end in the Internet of Things. In other words, the edge cloud system 100 of this embodiment is different from the central cloud or traditional cloud computing platform. The central cloud or traditional cloud computing platform may include a data center with scaled resources and centralized locations, while the edge cloud system 100 of this embodiment includes at least one edge cluster 102. These edge clusters 102 cover a wider network range and therefore have the characteristics of being closer to the terminal. The resource scale of a single edge cluster 102 is small, but the number of edge clusters 102 is relatively large.
[0029] In this embodiment, each edge cluster 102 includes a series of edge infrastructures, including but not limited to: distributed data centers (DCs), wireless computer rooms or clusters, operator communication networks, core network equipment, base stations, edge gateways, home gateways, computing devices and / or storage devices and other edge devices and corresponding network environments, etc. In some optional embodiments, the edge cluster 102 can be implemented as an Internet Data Center (IDC) located at the edge, that is, an edge IDC is an edge cluster 102 in the embodiment of the present application; or, the edge cluster 102 can be implemented as a computer room located at the edge, that is, a computer room is an edge cluster 102 in the embodiment of the present application. It is explained here that the location, capabilities and infrastructure included in different edge clusters 102 can be the same or different. Based on these edge infrastructures, the edge cluster 102 can provide various resources to the outside, such as resources with certain computing capabilities such as CPUs, GPUs, servers, computing devices, resources with storage capabilities such as memory and hard disks, and network resources such as bandwidth. In this embodiment, resources with certain computing capabilities in the edge cluster 102 are referred to as edge computing nodes 102 b , which may be servers, computing devices, etc., and each edge cluster 102 includes at least one edge computing node 102 b .
[0030] The edge cloud system 100 of this embodiment can be applied to various application scenarios such as content delivery network (CDN), e-commerce, games, audio and video, Internet of Things, logistics, industrial brain, city brain, etc., and provide cloud computing services to end users in various scenarios. Specifically, for each application scenario, an application (hereinafter referred to as an application) that can provide cloud computing services in the application scenario can be deployed in the edge cluster 102 in the edge cloud system 100, wherein deploying the application in the edge cluster 102 is actually the process of deploying the application on the edge computing node 102b in the edge cluster 102. For example, in an e-commerce scenario, an application that can provide online shopping functions can be deployed on the edge computing node 102b in the edge cluster 102, such as a server of an online shopping application, which interacts with a shopping terminal to provide online shopping functions for shopping users; in a game scenario, an application that can provide online game functions can be deployed on the edge computing node 102b in the edge cluster 102, such as a server of an online game application, which interacts with a game terminal to provide online game services for game users; in the audio and video field, an application that can provide audio and video functions can be deployed on the edge computing node 102b in the edge cluster 102, such as a live broadcast server, a video-on-demand server, or a video monitoring server, which interacts with a playback terminal to provide live broadcast, video-on-demand, or monitoring services for viewing users.
[0031] Considering that a large number of applications may need to be deployed in the edge cloud system 100, and in view of the excellent characteristics of container-based cloud native technology such as lightweight and portability, in this embodiment, container-based cloud native technology is adopted, that is, applications are carried by containers, and then applications are deployed in units of containers, so that a cloud native and edge computing fusion architecture can be realized, referred to as cloud-edge fusion architecture. In this embodiment, the application carried in the container is called a containerized application, which can also be referred to as a container instance. By running these containerized applications deployed on the edge computing node 102b, corresponding cloud computing services can be provided to end users. This involves the deployment of containerized applications. In addition, in actual applications, in order to ensure the serviceability of containerized applications, other management and control operations may also be performed on containerized applications. For example, if the edge computing node 102b carrying the containerized application may fail, it will involve hot migration operations on the containerized application, or, when the resources of the edge computing node 102b carrying the containerized application are insufficient, it will involve resource expansion for the containerized application, or, when the load of the containerized application is too high, it will also involve resource expansion or upgrade processing of the containerized application. This means that the edge cloud system 100 of this embodiment faces various management and control issues for containerized applications.
[0032] In the edge cloud system 100 of this embodiment, a central control node 101 is deployed. The central control node 101 can take the edge cluster 102 as the control object and control the containerized applications in each edge cluster 102. Among them, the central control node 101 can control the containerized applications in the corresponding edge cluster 102 according to the service demand information submitted by the edge service demander. For example, the service demand information submitted by the edge service demander can be a request to deploy containerized applications in a specified area, change the service quality requirements of the containerized application, or require the containerized application to be upgraded, or require an increase or decrease in the number of containerized applications, etc. Among them, the edge service demander refers to a party that needs to use the edge cluster 102 to provide cloud computing services for it. In addition, the central control node 101 can also automatically monitor the running status of the containerized applications in the edge cluster 102, and control these containerized applications accordingly. Among them, the running status of the containerized application mainly refers to whether the containerized application is running normally.
[0033] Regardless of which of the above information is used to manage and control the containerized application, the management and control of the containerized application includes at least one of the following: deployment, reconstruction, upgrade, migration, resource expansion, resource reduction, shutdown, restart and release of the containerized application. Further, regardless of which type of management and control is performed on the containerized application, the central management and control node 101 can implement the management and control operations of the containerized application in the edge cluster 102 through the edge computing node 102b in the edge cluster 102. Specifically, the central management and control node 101 can generate the first management and control data required for managing the containerized application in the edge cluster 102 based on the service demand information submitted by the edge service demander and / or the monitored running status of the containerized application, and send the first management and control data to the corresponding edge computing node 102b in the edge cluster 102, and the corresponding edge computing node 102b performs at least one management and control operation of deployment, upgrade, migration, resource expansion, resource reduction, shutdown, restart and release for the containerized application to be managed according to the first management and control data. Among them, the first control data refers to the data required for the edge computing node 102b to control the containerized application in the edge cluster 102 to which it belongs, and the data includes the type of control operation and various actions and parameters related to the control. It should be noted that, depending on the service demand information and / or the running state of the containerized application, the content of the first control data and the type of control operation indicated will be different, and the control operation performed by the edge computing node 102b will also be different. The following is an exemplary explanation:
[0034] Deployment of containerized applications:In some optional embodiments, the central control node 101 provides a demand submission entry to the outside, and the demand submission entry can be a web page, an application page, or a command window. The function of the demand submission entry is for the edge service demand direction to submit its own service demand information to the central control node 101. Based on this, in the initial stage, the edge service demand party can provide the central control node 101 with service demand information requesting the deployment of containerized applications through the demand submission entry provided by the central control node 101. The service demand information includes: edge cluster selection parameters, resource selection parameters, and information pointing to the image file required by the application; the edge cluster selection parameters include the regional location of the edge cluster and / or the performance requirements for the edge cluster, etc., which are mainly used to select the edge cluster; the resource selection parameters include the resource type, the number of resources, and the performance requirements for the resource device, etc., which are mainly used to select the edge computing node 102b in the edge cluster 102; the information pointing to the image file required by the application can be the storage address of the image file, or the access address of the device that can provide the image file, which is used to obtain the image file required by the application. Based on this, the central control device 101 selects an edge cluster that meets the parameter requirements from at least one edge cluster 102 according to the edge cluster selection parameter; further, the edge computing node 102b in the target edge cluster 102 is scheduled according to the resource selection parameter, and the control data related to the deployment of the containerized application is sent to the scheduled edge computing node 102b, and the control data includes information pointing to the image file required by the application and the resource information required by the containerized application, so as to instruct the scheduled edge computing node 102b to deploy the containerized application thereon according to the control data. According to the control data, the scheduled edge computing node 102b reserves resources for the containerized application according to the resource information in the control data on the one hand, and obtains the image file according to the information pointing to the image file in the control data on the other hand, and runs the image file to complete the deployment of the containerized application on the reserved resources.
[0035] During the operation of the containerized application, the edge service demander can query the log data generated by the containerized application and the edge computing node 102b in the edge cluster 102 through the central control node 101. The running status of the containerized application and the edge computing node 102b where it is located can be understood through these log data, and it can be determined whether to perform management operations such as upgrading, migrating, expanding resources, shrinking resources, shutting down, restarting or releasing the containerized application. Alternatively, the edge service demander can also determine whether to perform management operations such as upgrading, migrating, expanding resources, shrinking resources, shutting down, restarting or releasing the containerized application based on the running status of the containerized application or the edge computing node 102b where it is located returned by the central control node 101. Alternatively, the edge service demander can also actively request the central control node 101 to perform management operations such as upgrading, migrating, expanding resources, shrinking resources, shutting down, restarting or releasing the containerized application based on service requirements. The following examples are provided:
[0036] Scaling containerized applications: During the operation of containerized applications, edge service demanders may wish to expand the resources of containerized applications due to factors such as service expansion requirements, increased user traffic, or improved service performance. They may provide service demand information requesting expansion to the central control node 101 through the demand submission portal provided by the central control node 101. The service demand information includes: resource increment or total amount of resources after increment. Based on this, the central control device 101 sends control data indicating expansion to the edge computing node 102b carrying the containerized application based on the resource increment or total amount of resources after increment. After receiving the control data indicating expansion, the edge computing node 102b performs resource expansion for the containerized application based on the control data, for example, increasing the memory resources allocated to the containerized application from 2Gb to 4Gb, and increasing the number of CPU cores allocated to the containerized application from 2 cores to 4 cores.
[0037] Of course, during the operation of the containerized application, the central control node 101 can also automatically monitor the running status of the containerized application. When it is found that the resources of the edge computing node 102b carrying the containerized application are insufficient or the load of the containerized application is too high, it can also send control data indicating capacity expansion to the edge computing node 102b carrying the containerized application. After receiving the control data indicating capacity expansion, the edge computing node 102b expands the resources for the containerized application according to the control data.
[0038] Similarly, the central control node 101 may also request capacity reduction based on service demand information provided by the edge service demander, or, when it is detected that the resources of the edge computing node 102b carrying the containerized application are in excess or the load of the containerized application is low, send control data indicating capacity reduction to the edge computing node 102b carrying the containerized application. After receiving the control data indicating capacity reduction, the edge computing node 102b reduces the resources of the containerized application according to the control data, for example, reducing the memory resources allocated to the containerized application from 2Gb to 1Gb, reducing the number of CPU cores allocated to the containerized application from 2 cores to 1 core, etc.
[0039] Rebuilding containerized applications: During the operation of the containerized application, if the edge service demander receives a notification message from the central control node 101 that the edge computing node 102b where the containerized application is located has failed, in order to ensure the serviceability of the containerized application, the service demand information requesting reconstruction can be provided to the central control node 101. The service demand information may include information indicating the reconstruction of the containerized application, and may optionally include information of a new edge computing node 102b. Of course, the new edge computing node 102b may also be independently selected by the central control node 101 based on the load, resource margin, and other information of each edge computing node 102b, and there is no limitation on this. Based on the service demand information, the central control node 101 sends control data indicating the reconstruction of the containerized application to the new edge computing node 102b. The control data includes the identification information of the containerized application to be rebuilt and the required image file or file template, etc. After receiving the control data indicating the reconstruction of the containerized application, the new edge computing node 102b locally rebuilds the containerized application based on the image file or file template in the control data.
[0040] Of course, during the operation of the containerized application, the central control node 101 can also automatically monitor the operating status of the edge computing node 102b where the containerized application is located. When it is found that the original edge computing node 102b carrying the containerized application fails, in order to ensure serviceability, the containerized application on the failed edge computing node can be rebuilt on the new edge computing node 102b, and control data instructing the reconstruction of the containerized application is sent to the new edge computing node 102b. After receiving the control data instructing the reconstruction of the containerized application, the new edge computing node 102b locally rebuilds the corresponding containerized application according to the image file or file template contained in the control data.
[0041] Hot migration of containerized applications:During the operation of containerized applications, it may be necessary to migrate the containerized applications from the original edge computing node to the new edge computing node due to resource consolidation, edge computing node upgrades and other requirements. In order to ensure the serviceability of containerized applications, hot migration can be used. The edge service demander can provide service demand information requesting hot migration to the central control node 101. The service demand information may include information indicating hot migration, and may optionally include information of the new edge computing node 102b, such as an IP address, etc. Of course, the new edge computing node 102b can also be independently selected by the central control node 101 based on the load, resource margin and other information of each edge computing node 102b, and there is no limitation on this. Based on the service demand information, the central control node 101 sends control data indicating hot migration to the original edge computing node 102b and the new edge computing node 102b carrying the containerized application, respectively. The control data includes information of the new edge computing node 102b, such as the IP address, identification information of the containerized application to be migrated, and the required image file or file template. After receiving the control data indicating hot migration, the original edge computing node 102b and the new edge computing node 102b establish a communication connection between the two and start migrating the containerized application, which mainly refers to synchronizing the state of the containerized application. During this period, the new edge computing node 102b will first create a containerized application locally according to the image file or file template in the control data, and start and run the containerized application according to the state data synchronized from the original edge computing node 102b. After the containerized application successfully runs on the new edge computing node 102b, the original edge computing node 102b releases the resources occupied by the containerized application.
[0042] Of course, during the operation of the containerized application, the central control node 101 can also automatically monitor the resource fragments on the edge computing node 102b. When it is detected that there are many resource fragments on a certain edge computing node 102b and resources need to be merged, it is determined that the containerized application on the edge computing node 102b needs to be hot migrated to other edge computing nodes 102b, so the control data indicating hot migration is sent to the original edge computing node 102b and the new edge computing node 102b respectively. After receiving the control data indicating hot migration, the original edge computing node 102b and the new edge computing node 102b establish a communication connection and start migrating the containerized application. After the containerized application successfully runs on the new edge computing node 102b, the original edge computing node 102b releases the resources occupied by the containerized application.
[0043] Upgrading containerized applications:As service requirements change or image versions are updated, the corresponding containerized applications deployed on the edge computing node 102b need to be upgraded. In the case of service requirements changes or image version upgrades, the edge service demander can query the running status of the containerized application to be upgraded through the central control node 101, and judge whether the containerized application to be upgraded is suitable for upgrading, when it is suitable for upgrading, what method to use for upgrading, etc., based on the running status of the containerized application to be upgraded, such as the service request of the containerized application to be upgraded and the response status of the service request, and then generate an upgrade strategy for the containerized application to be upgraded, and carry the identifier of the containerized application to be upgraded and the upgrade strategy in the upgrade notification to the central control node 101. The central control node 101 receives the upgrade notification sent by the edge service demander, determines the identification information such as the ID and name of the containerized application to be upgraded and its corresponding upgrade strategy, and generates control data indicating the upgrade accordingly. The control data includes the identification information such as the ID and name of the containerized application to be upgraded and the upgrade strategy, and sends the control data to the corresponding edge computing node 102b in the edge cluster 102 where the containerized application to be upgraded is located; after receiving the control data, the edge computing node 102b can upgrade the containerized application identified by the identification information according to the upgrade strategy in the control data. Among them, the upgrade strategy may include: upgrade time, upgrade method, etc.
[0044] Of course, the upgrade of containerized applications can also be actively initiated by the central control node 101. For example, the central control node 101 can monitor the version information of the image corresponding to each containerized application. When a new version of the image is found, it can be determined that the containerized application corresponding to the new version of the image needs to be upgraded; or, the running status, life cycle and other information of each containerized application can be monitored. When it is found that vulnerabilities, instability, incomplete functions, excessive CPU or memory resource consumption, etc. occur during the operation of the containerized application, it can be determined that the containerized application with these problems needs to be upgraded, and control data indicating the upgrade is generated. The control data includes identification information such as the ID and name of the containerized application to be upgraded and the upgrade strategy, and the control data is sent to the corresponding edge computing node 102b in the edge cluster 102 where the containerized application to be upgraded is located; after receiving the control data, the edge computing node 102b can upgrade the containerized application identified by the identification information according to the upgrade strategy in the control data.
[0045] Among them, the edge computing node 102b upgrades the containerized application to be upgraded mainly by shutting down the containerized application to be upgraded, updating the containerized application to be upgraded according to the image of the new version, and restarting the containerized application after the update.
[0046] In this embodiment, when the central control node 101 controls the containerized application through the edge computing node 102b in the edge cluster 102, the central control node 101 needs to maintain a network connection with the edge computing node 102b. In actual applications, it may happen that the network connection between the central control node 101 and the edge computing node 102b is disconnected. In order to facilitate the central control node 101 to perceive whether the network connection between it and the edge computing node 102b is disconnected, a heartbeat connection can be maintained between the edge computing node 102b and the central control node 101, that is, the edge computing node 102b can report a heartbeat message to the central control node 101 at regular intervals. If the central control node 101 does not receive the heartbeat message reported by the edge computing node 102b within a certain period of time, it is considered that the network connection between it and the edge computing node 102b is disconnected. If the network connection between the central control node 101 and the edge computing node 102b is disconnected, optionally, the central control node 101 may no longer schedule the edge computing node 102b, but the edge computing node 102b and the containerized application deployed thereon remain in the current state. For example, when a new containerized application needs to be deployed in the edge cluster 102 or a containerized application needs to be hot migrated, the central control node 101 will only select the edge computing node to be used from the edge computing node 102b that maintains a network connection with it, and will not consider the edge computing node that is disconnected from the network. Of course, in addition to this method, considering that the edge cluster 102 usually includes multiple edge computing nodes 102b, and the edge computing nodes 102b are usually connected to the network, after the network connection between the central control node 101 and a certain edge computing node 102b is disconnected, the central control node 101 can also indirectly control the containerized application on the edge computing node 102b that is disconnected from it through other edge computing nodes 102b based on the communication connection between it and other edge computing nodes 102b.
[0047] Based on the above, in an optional embodiment of the present application, taking the edge cluster 102 as a dimension, consider whether the network connection between the central control node 101 and the edge cluster 102 is disconnected; if the network connection between the central control node 101 and the edge cluster 102 is disconnected, the central control node 101 cannot manage the containerized application in the edge cluster 102. Further optionally, it can be determined whether the network connection between the central control node 101 and the edge cluster 102 is disconnected through the information of the edge computing node 102b that maintains a communication connection between the central control node 101 and the edge cluster 102.
[0048] In an optional embodiment, it is possible to determine whether the network connection between the central control node 101 and the edge cluster 102 is disconnected based on the number or number ratio of the edge computing nodes 102b that maintain communication connection between the central control node 101 and the edge cluster 102. For example, if the number of edge computing nodes that maintain communication connection between the central control node 101 and the edge cluster 102 is greater than or equal to the set number threshold, or the number ratio is greater than or equal to the set ratio threshold, it is determined that the network connection between the central control node 101 and the edge cluster 102 is maintained; conversely, if the number of edge computing nodes that maintain communication connection between the central control node 101 and the edge cluster 102 is less than the set number threshold, or the number ratio is less than the set ratio threshold, it is determined that the network connection between the central control node 101 and the edge cluster 102 is disconnected. The values of the number threshold and the ratio threshold are not limited in the embodiments of the present application. Taking the ratio threshold as an example, the ratio threshold can be 1, that is, the central control node 101 is required to maintain communication connection with all edge computing nodes in the edge cluster 102, so that it can be considered that the central control node 101 and the edge cluster 102 maintain a network connection; of course, the ratio threshold can be 0.8, that is, the central control node 101 is required to maintain communication connection with no less than 80% of the edge computing nodes in the edge cluster 102, so that it can be considered that the central control node 101 and the edge cluster 102 maintain a network connection.
[0049] In another optional embodiment, it is possible to determine whether the network connection between the central control node 101 and the edge cluster 102 is disconnected based on whether the edge computing nodes 102b that maintain communication connection between the central control node 101 and the edge cluster 102 include a designated edge computing node. For example, if the central control node 101 maintains a communication connection with a designated edge computing node in the edge cluster 102, it is determined that the network connection between the central control node 101 and the edge cluster 102 is maintained; conversely, if the central control node 101 does not maintain a communication connection with any designated edge computing node in the edge cluster 102, it is determined that the network connection between the central control node 101 and the edge cluster 102 is disconnected. Among them, the disconnection of the network connection between the central control node 101 and the edge cluster 102 mainly refers to the situation where the edge cluster 102 is out of or substantially out of the control of the central control node 101, and may include various situations that cause the network connection to be disconnected.
[0050] In the embodiment of the present application, in addition to being unable to control the containerized applications in the edge cluster 102 when the network connection between the central control node 101 and the edge cluster 102 is disconnected, the central control node 101 may also be unable to control the containerized applications in the edge cluster 102 due to other factors. For example, the edge service demander can configure the central control node 101 not to control the containerized applications in the edge cluster 102 within a set time. For another example, the containerized applications in the edge cluster 102 may not be controlled during the upgrade of the central control node 101. In view of this, in this embodiment, the control conditions corresponding to the edge cluster 102 can be pre-configured, and the control conditions can be: requiring the central control node 101 to maintain a communication connection with the edge cluster 102, the central control node 101 is not during the upgrade period, and is not in the non-control time set by the edge service demander. In this way, the central control node 101 can perform various controls on the containerized applications in the edge cluster 102 during the period when the control conditions for the edge cluster 102 are met.
[0051] Then, during the period when the central control node 101 does not meet the control conditions for the edge cluster 102, due to the lack of control over the containerized application, the serviceability of the containerized application may decrease, and even the situation of being unable to provide services may occur. For example, when the edge computing node 102b where the containerized application is located fails, the containerized application will not be able to continue to provide services due to the failure to timely rebuild the containerized application on other edge computing nodes. In order to ensure the serviceability of the containerized application, in the edge cloud system 100 of this embodiment, an edge control node 102a is added to each edge cluster 102. The edge control node 102a can be responsible for controlling the containerized application in the edge cluster 102 to which it belongs during the period when the central control node 101 does not meet the control conditions for the edge cluster 102 to which the edge control node 102a belongs. Further, after the central control node 101 meets the control conditions for the edge cluster 102 again, the control authority can be reclaimed and the containerized application in the edge cluster 102 can be controlled again. In this embodiment, the dual control method of center and edge is adopted, which can greatly improve the edge autonomy capability of the cloud-edge fusion architecture and greatly enhance the service capability of edge containerized applications.
[0052] Further, in this embodiment, after the central control node 101 re-satisfies the control conditions for the edge cluster 102, it does not rely on the control state of the edge cluster 102 by the edge control node 102a, but re-controls the containerized applications in the edge cluster 102 based on the control state of the containerized applications in the edge cluster 102 before the control conditions are not met. It should be noted that when the central control node 101 determines that the control conditions for the edge cluster 102 are not met, it can also record the control state of the containerized applications in the edge cluster 102 at this time, recorded as the first control state, so that after the control conditions are re-satisfied, the containerized applications in the edge cluster 102 can be re-controlled based on the previous control state, without relying on the control state of the containerized applications in the edge cluster 102 by the edge control node 102a. It can be seen that in this embodiment of the present application, the central control node 101 and the edge control node 102a are loosely coupled, each is independently controlled, and the edge autonomy capability is more flexible. Among them, the control status of the containerized application in the edge cluster 102 by the edge control node 102a or the central control node 101 refers to the state reached by the containerized application in the edge cluster 102 after the edge control node 102a or the central control node 101 controls the containerized application in the edge cluster 102 according to the corresponding control data, which may include but is not limited to the following information: which containerized applications are included in the edge cluster 102, on which edge computing nodes the containerized applications run, what are the resource specifications of the containerized application, the creation time, whether it is in a shutdown state, etc.
[0053] In this embodiment, during the period when the edge control node 102a controls the edge cluster 102 to which it belongs, that is, during the period when the central control node 101 does not meet the control conditions for the edge cluster 102, the edge control node 102a can also perform at least one control operation of upgrading, migrating, resource expansion, resource reduction, shutting down, restarting and releasing the containerized application in the edge cluster 102 to which it belongs. Moreover, no matter what kind of control is performed on the containerized application, the edge control node 102a can implement the control operation of the containerized application in the edge cluster 102 through the edge computing node 102b in the edge cluster 102 to which it belongs. Specifically, the edge control node 102a can generate the second control data required for controlling the containerized application in the edge cluster 102 according to the service demand information submitted by the edge service demander and / or the running state of the monitored containerized application, and send the second control data to the corresponding edge computing node 102b in the edge cluster 102, and the corresponding edge computing node 102b performs at least one control operation of deployment, upgrade, migration, resource expansion, resource reduction, shutdown, restart and release for the containerized application to be controlled according to the second control data. Among them, the second control data refers to the data required for the edge computing node 102b to control the containerized application in the edge cluster 102 to which it belongs, and the data includes the type of control operation and various actions and parameters related to the control. It should be noted that according to the service demand information and / or the running state of the containerized application, the content of the second control data and the type of control operation indicated will be different, and the control operation performed by the edge computing node 102b will also be different.
[0054] It should be noted that during the period when the edge control node 102a controls the containerized application in the edge cluster 102 to which it belongs, the edge service demander can interact with the edge control node 102a, and can query the running status of the containerized application through the edge control node 102a, or initiate the control operation for the containerized application to the edge computing node 102b. In other words, the edge control node 102a can initiate the control operation of the containerized application in the edge cluster 102 to which it belongs by the edge service demander. Of course, the edge control node 102a can also automatically monitor the running status of the containerized application and / or the edge computing node to which it belongs in the edge cluster 102, and automatically initiate the control operation of the containerized application according to the monitoring results. In either case, the process of the edge control node 102a performing various control operations on the containerized application in the edge cluster 102 to which it belongs is the same or similar to the process of the central control node 101 performing various control operations on the containerized application in the edge cluster 102, and the detailed process will not be repeated, and the aforementioned example can be referred to. Among them, the main difference between the edge control node 102a and the central control node 101 in controlling the containerized applications in the edge cluster 102 is that when the edge control node 102a determines that the central control node 101 does not meet the control conditions for the edge cluster 102, it can obtain the control state of the central control node 101 controlling the containerized applications in the edge cluster before the control conditions are not met, and continue to control the containerized applications in the edge cluster from this control state. For the convenience of distinction and description, the control state of the central control node 101 controlling the containerized applications in the edge cluster before the control conditions are not met is recorded as the first control state.
[0055] Among them, when the edge control node 102a controls the containerized application in the edge cluster 102 through the edge computing node 102b in the edge cluster 102 to which it belongs, the edge control node 102a needs to be connected to the edge computing node 102b in the edge cluster 102 to which it belongs. In actual applications, the network connection between the edge control node 102a and the edge computing node 102b may be disconnected. In order to facilitate the edge control node 102a to perceive whether the network connection between it and the edge computing node 102b is disconnected, the edge computing node 102b and the edge control node 102a can maintain a heartbeat connection, that is, the edge computing node 102b can report a heartbeat message to the edge control node 102a at regular intervals. If the edge control node 102a does not receive the heartbeat message reported by the edge computing node 102b within a certain period of time, it is considered that the network connection between it and the edge computing node 102b is disconnected.
[0056] Further optionally, whether during the control period of the central control node 101 or during the control period of the edge control node 102a, when the heartbeat message of the edge computing node 102b is not received within a certain period of time, the edge computing node 102a can also report the information of the failed edge computing node 102b to the central control node 101 through the network connection between the central control node 101, and the information at least includes the identification information of the failed edge computing node 102b, so as to assist the central control node 101 in determining whether the network connection between it and the edge cluster 102 to which the edge computing node 102b belongs is disconnected. It should be noted that in this embodiment, the same edge computing node 102b can simultaneously establish a network connection with the edge control node 102a and the central control node 101 in the edge cluster 102 to which it belongs. At a certain moment, the edge computing node 102b only maintains a network connection with one of the central control node 101 or the edge control node 102a, and disconnects the network connection with the other party, or disconnects the network connection with both parties at the same time. In view of this, when the central control node 101 determines whether the network connection between it and a certain edge computing node 102b is disconnected, it can determine whether it has received the heartbeat message of the edge computing node 102b within a certain period of time. If it has not received the heartbeat message of the edge computing node 102b, and has also received the information reported by the edge control node 102a that the edge computing node 102b has failed, it can be determined that the network connection between it and the edge computing node 102b is disconnected. The two-step judgment is helpful to improve the accuracy of the determination result.
[0057] Furthermore, during the period when the central control node 101 controls the containerized application in the edge cluster 102, if the central control node 101 does not receive the heartbeat message of a certain edge computing node 102b within the set time, and also receives the information reported by the edge control node 102a that the edge computing node 102b has failed, it can be determined that the edge computing node 102b has failed and it is not disconnected due to a network failure. In order to ensure that the containerized application on the failed edge computing node 102b can continue to provide services, the central control node 101 can rebuild the containerized application on the failed edge computing node on other edge computing nodes in the edge cluster 102. Specifically, the central control node 101 can select other edge computing nodes and send control data for rebuilding the containerized application to other edge computing nodes. The control data includes the identification information of the containerized application and the required image file or file template, etc., to instruct other edge computing nodes to rebuild the containerized application.
[0058] Whether the central control node 101 controls the containerized application in the edge cluster 102, or the edge control node 102a in the edge cluster 102 controls the containerized application in the cluster, the containerized application is controlled by the edge computing node 102b in the cluster. For the edge computing node 102b, during the execution of the control operation on the containerized application according to the first control data issued by the central control node 101, the first control data can also be cached locally. In addition, the edge computing node 102b can also synchronize the first control data cached locally to the edge control node 102a in the edge cluster 102 to which it belongs. In this way, when the edge control node 102a determines that the central control node 101 does not meet the control conditions for the edge cluster 102, the first control state of the containerized application in the edge cluster 102 before the control conditions are not met can be determined according to the first control data synchronized by the edge computing node 102b, and the containerized application in the edge cluster 102 can continue to be controlled from the first control state.
[0059] In this embodiment, the time when the edge computing node 102b synchronizes the first control data to the edge control node 102a is not limited, and the first control data can be synchronized to the edge control node 102a at any time before the edge control node 102a needs the first control data. In an optional embodiment, the edge computing node 102b can synchronize the first control data to the edge control node 102a in the edge cluster 102 to which it belongs when it detects that the network connection between it and the central control node 101 is disconnected. Based on this, the edge control node 102a can monitor the information of the edge computing node 102b to which it synchronizes the first control data in the edge cluster 102 to which it belongs, and determine based on the information that the central control node 101 no longer meets the control conditions for the edge cluster 102. For example, the information of the edge computing node 102b that synchronizes the first control data to the edge control node 102a may be the number of edge computing nodes. If the edge control node 102a determines that the number of edge computing nodes to which the first control data is synchronized is greater than or equal to the set number threshold, or the number ratio is greater than or equal to the set ratio threshold, it indicates that the number of edge computing nodes in the edge cluster 102 to which it belongs that maintain a network connection with the central control node 101 is less than the set number threshold, or the number ratio is less than the set ratio threshold. Then, it is determined that the network connection between the central control node 101 and the edge cluster 102 is disconnected, which is a situation where the control conditions for the edge cluster 102 are not met. For another example, the information of edge computing node 102b that synchronizes the first control data to edge control node 102a includes information of all specified edge computing nodes. If edge control node 102a determines that the edge computing nodes to which it synchronizes the first control data include all specified edge computing nodes, it means that any specified edge computing nodes in the edge cluster 102 to which it belongs do not maintain a network connection with the central control node 101. It is then determined that the network connection between the central control node 101 and the edge cluster 102 is disconnected, which means that the control conditions for the edge cluster 102 are not met.
[0060] In the above embodiment, the edge control node 102a determines whether the edge computing node 102b is disconnected from the central control node 101 according to the number of edge computing nodes 102b that report the first control data to it. In addition, the edge control node 102a can also actively send an inquiry message to the edge computing node 102b to inquire whether the edge computing node 102b maintains a network connection with the central control node 101; after receiving the inquiry message, the edge computing node 102b can return a response message to the edge control node 102a, and the response message can indicate that it maintains a network connection with the central control node 101 or disconnects the network connection; the edge control node 102a counts the number of edge computing nodes 102b that are disconnected from the network with the central control node 101 according to the response message returned by the edge computing node 102b; when the number is greater than or equal to the set number threshold, it is determined that the central control node is disconnected from the edge cluster 102, and the control condition for the edge cluster 102 is not met.
[0061] Similarly, for the edge computing node 102b, during the execution of the control operation on the containerized application according to the second control data sent by the edge control node 102a, the second control data can also be cached locally. In addition, the edge computing node 102b can also synchronize the locally cached second control data to the central control node 101. Optionally, the edge computing node 102b can synchronize the second control data to the central control node 101 when the central control node 101 meets the control conditions for the edge cluster 102 again. In this way, when the central control node 101 determines that it meets the control conditions for the edge cluster 102 again, it can determine the second control state of the edge control node 102a for the containerized application in the edge cluster 102 during the period when the control conditions are not met according to the second control data synchronized by the edge computing node 102b, and judge whether the second control state is consistent with the first control state of the containerized application in the edge cluster 102 before the control conditions are not met; if the second control state is inconsistent with the first control state, it is necessary to roll back the containerized application in the edge cluster 102 from the second control state to the first control state, and start from the first control state to control the containerized application in the edge cluster 102 again. On the contrary, if the second control state is consistent with the first control state, it is directly started from the first control state or the second control state to continue to control the containerized application in the edge cluster 102.
[0062] Further, the central control node 101 can compare the second control state with the first control state, and through the comparison, the containerized application to be rolled back in the edge cluster 102 can be identified. The containerized application to be rolled back is a containerized application in the edge cluster 102 that has differences between the second control state and the first control state; then, it is determined whether the edge computing node 102b where the containerized application to be rolled back is located is faulty; if not, the containerized application to be rolled back is rolled back, that is, the containerized application to be rolled back is rolled back from the second control state to the first control state. Depending on the control situation, the containerized application to be rolled back and the edge computing node where the containerized application to be rolled back is located will be different. The following examples are provided to illustrate:
[0063] Optionally, the containerized application to be rolled back may be a newly added containerized application in the edge cluster 102, that is, a containerized application that is not included in the edge cluster 102 in the first control state but is included in the second control state. For example, during the control period of the edge control center 102a, if the containerized application is rebuilt due to the failure of the edge computing node, the containerized application rebuilt on other edge computing nodes is the newly added containerized application in the edge cluster. For another example, during the control period of the edge control center 102a, the number of containerized applications increased due to service demand, and these added containerized applications also belong to the newly added containerized applications in the edge cluster. In this regard, when the central control node 101 rolls back the containerized application to be rolled back from the second control state to the first control state, specifically: the newly added containerized application is deleted. In this case, the edge computing node 102b where the containerized application to be rolled back is located refers to the edge computing node 102b where the newly added containerized application is currently located. The central management and control node 101 can delete the newly added containerized application on the edge computing node 102b if the edge computing node 102b where the newly added containerized application is currently located is not faulty (normal).
[0064] Optionally, the containerized application to be rolled back may be an original containerized application that has been deleted in the edge cluster 102, that is, a containerized application that is included in the edge cluster 102 in the first control state but not in the second control state. For example, during the control period of the edge control center 102a, because the service demand reduces the number of containerized applications, some containerized applications need to be deleted, and relative to the first control state, there will be a situation where the original containerized application is deleted. Alternatively, during the control period of the edge control center 102a, if the containerized application is rebuilt due to the failure of the edge computing node, the containerized application on the failed edge computing node can also be regarded as the deleted original containerized application. For this, when the central control node 101 rolls back the containerized application to be rolled back from the second control state to the first control state, specifically: rebuild the deleted original containerized application on the edge computing node where the original containerized application was deleted. In this case, the edge computing node 102b where the containerized application to be rolled back is located refers to the edge computing node 102b where the deleted original containerized application was originally located. The central management and control node 101 can rebuild the deleted original containerized application on the edge computing node 102b if the edge computing node 102b where the deleted original containerized application was originally located is not faulty (normal).
[0065] Optionally, the containerized application to be rolled back may be an original containerized application whose resource specifications have changed in the edge cluster 102, that is, the containerized application exists in the edge cluster 102 in both the first control state and the second control state, but the resource specifications are different. In this regard, when the central control node 101 rolls back the containerized application to be rolled back from the second control state to the first control state, specifically: restore the resource specifications of the original containerized application whose resource specifications have changed to its resource specifications in the first control state. In this case, the edge computing node 102b where the containerized application to be rolled back is located refers to the edge computing node 102b where the original containerized application whose resource specifications have changed has always been located.
[0066] Further optionally, if the edge computing node 102b where the containerized application to be rolled back is located fails, the rollback process of the containerized application to be rolled back can be skipped, or adaptive processing can be performed according to the situation of the containerized application to be rolled back. For example, during the control of the edge control center 102a, the reconstruction of the containerized application occurs due to the failure of edge computing node A. Assuming that the containerized application on edge computing node A is rebuilt on edge computing node B, the number of containerized applications rebuilt on edge computing node B is the same as the number of containerized applications on edge computing node A and the resource configuration are the same, then during the rollback process, the central control node 101 needs to delete the rebuilt containerized application on edge computing node B on the one hand, and rebuild the original containerized application on edge computing node A on the other hand; if edge computing node A is still in a faulty state at this time, other normal edge computing nodes can be selected in the edge cluster 102, and the containerized application originally on edge computing node A can be rebuilt on other edge computing nodes.
[0067] The following takes the case where the edge control center 102a expands the resource capacity of the containerized application in its edge cluster during the control period as an example to exemplify the rollback process after the central control node 101 resumes control:
[0068] Assume that during the period when the central control node 101 controls the edge cluster 102, a containerized application A is deployed in the edge cluster 102, and the containerized application A occupies 2 CPU cores. The containerized application A is an application that provides online education services. For a period of time, the public network between the central control node 101 and the edge cluster 102 fails, and the central control node 101 is unable to control the edge cluster 102. At this time, the edge control node 102a in the edge cluster 102 is responsible for controlling the containerized application in the edge cluster 102. During the period when the edge control node 102a controls the edge cluster 102, the student vacation arrives, the number of users of the online education application increases sharply, the number of service requests of the containerized application A is large, and the load is too heavy. Therefore, the edge control node 102a expands the resources of the containerized application A and increases the number of CPU cores allocated to the containerized application A from 2 to 4. After a period of time, the network failure between the central control node 101 and the edge cluster 102 is eliminated, and the central control node 101 re-controls the edge cluster 102 and obtains that the number of CPU cores occupied by the containerized application A is 4 at this time, which is different from the resource specifications before the network failure. Therefore, the resources of the containerized application A are first reduced, and the number of CPU cores occupied by the containerized application A is restored from 4 to 2, and then the containerized application A continues to be controlled from this state; during the control period, it is found that the load of the containerized application A is heavy and the response delay is large, which does not meet the current application requirements of the service demander. Then, according to the current application requirements of the service demander, the containerized application A is controlled to expand its resources, and the number of CPU cores occupied by the containerized application A is expanded from 2 to 4, 5 or more through the edge computing node 102b in the edge cluster 102 to meet the current application requirements. It should be noted that after the central control node 101 rolls back the containerized application in the edge cluster 102 to the control state before it does not meet the control conditions (i.e., the first control state mentioned above), it can start from the first control state and re-control the containerized application in the edge cluster 102 in combination with the current service needs of the edge service demander. If the current service needs of the edge service demander require hot migration of the containerized application, the central control node 101 performs hot migration of the containerized application in the edge cluster 102 based on the first control state; if the current service needs of the edge service demander require reconstruction of the containerized application, the central control node 101 rebuilds the containerized application in the edge cluster 102 based on the first control state; if the current service needs of the edge service demander require upgrading of the containerized application, the central control node 101 upgrades the containerized application in the edge cluster 102 based on the first control state.
[0069] Regarding other controls of the edge control node 102a on the containerized applications in the edge cluster 102 during the control period, the central control node 101 will also perform similar rollback processing when it re-controls the edge cluster 102, which will not be described in detail here.
[0070] It is explained here that between the central control node and the edge control node, in addition to the automatic switching based on whether the central control node meets the control conditions of the edge cluster as described above, the edge service demander can also send a control switching instruction to the edge control node when it is determined that the central control node cannot control the target edge cluster, indicating that the control authority is switched from the central control node to the edge control node. Based on this, the edge control node can also determine that the central control node does not meet the control conditions of the edge cluster when receiving the control switching instruction sent by the edge service demander. In addition, the edge service demander can also flexibly switch between the central control node and the edge control node according to application requirements. For example, when the central control node meets the control conditions of the edge cluster, if due to special needs, the central control node is not required to control the containerized application in the edge cluster, but the containerized application needs to be controlled by the edge control node in the edge cluster, then the edge service demander can also send a control switching instruction to the edge control node to instruct the edge control node to control the containerized application in the edge cluster to which it belongs.
[0071] In each embodiment of the present application, with the help of the edge computing node 102b in the edge cluster 102, the control data and control status information are synchronized between the central control node 101 and the edge control node 102a, forming the following Figure 1b As shown in the interactive loop. Figure 1b As shown, during the control period of the central control node 101, the first control data is provided to the edge computing node 102b, the edge computing node 102 caches it locally, and synchronizes it to the edge control node 102a; during the control period of the edge control node 102a, the second control data is provided to the edge computing node 102b, the edge computing node 102 caches it locally, and synchronizes it to the central control node 101. The use of central and edge dual control combined with caching technology can improve the edge autonomy of the cloud-edge fusion architecture and the service capabilities of edge containerized applications. In the case of cloud-edge network anomalies, it can also quickly recover and ensure that edge containerized applications provide services uninterruptedly, and this synchronization method can also ensure the consistency of data synchronization. Further, after the central control node meets the control conditions again, it does not rely on the control state of the edge cluster by the edge control node, but re-controls the containerized applications in the edge cluster based on its control state of the edge cluster before the control conditions are not met. In this way, the two control nodes are loosely coupled, each is independently controlled, and the edge autonomy is more flexible.
[0072] In this embodiment, the central control node 101 and the edge control node 102a cooperate with each other to perform various controls on the containerized applications in the edge cluster 102 to ensure the serviceability of the containerized applications, but the specific technology used by the central control node 101 and the edge control node 102a to control the containerized applications is not limited. Figure 1a As shown, Kubernetes (K8s) technology can be used. Specifically, the master components of Kubernetes can be deployed on the central control node 101 and the edge control node 102, respectively, and are recorded as the central master component and the edge master component, respectively. The worker component of kubernetes is deployed on the edge computing node 102b in the edge cluster 102. The two master components and the worker component cooperate with each other to realize the deployment, upgrade, migration, resource expansion, resource reduction, shutdown, restart or release of containerized applications in the edge cluster 102. Various control operations. In an embodiment using K8s technology, container groups (Pods) can be used to organize and manage containerized applications. Pods are the smallest atomic units that can be scheduled. Among them, when the central master component meets the control conditions for the edge cluster, the central master component performs various control operations on the Pods in the edge cluster through the worker component; and when the central master component does not meet the control conditions for the edge cluster, the edge master component in the cluster performs various control operations on the Pods through the worker component. Among them, the central master component and the edge master component cooperate with each other. When the cloud-edge network is disconnected, the edge side can still perform management and control operations such as migration, expansion and contraction, and upgrade of edge applications, and can still ensure that edge applications can provide services uninterruptedly. Cloud-edge network disconnection mainly refers to the situation where the edge side is out of cloud control. In addition, using K8s technology, edge service demanders can perform native K8s operation and maintenance management operations at the edge, such as querying the operating status and log data of edge clusters and edge computing nodes, and can also log in to the Pod to perform various operation and maintenance operations. Furthermore, the orchestration and scheduling capabilities of K8s can be fully utilized to improve the production efficiency and operation and maintenance efficiency of edge computing scenarios.
[0073] It should be noted that, in addition to controlling the containerized applications in the edge cluster 102, the central control node 101 can also control the edge cluster 102 in terms of resource scheduling, operation and maintenance, network, security, etc., so as to place the edge services in each edge cluster 102 for processing. In terms of deployment and implementation, the central control node 101 can be deployed in one or more cloud computing data centers, or it can be deployed in one or more traditional data centers. The central control node 101 can also be deployed in one or more edge clusters 102 under its control, which is not limited in this embodiment. In the edge cloud system 100 of this embodiment, tasks such as network forwarding, storage, computing and / or intelligent data analysis can be placed in each edge cluster 102 for processing. Since each edge cluster 102 is closer to the terminal, the response delay can be reduced, the pressure on the central cloud or traditional cloud computing platform can be reduced, and the bandwidth cost can be reduced.
[0074] Figure 2a A flow chart of an edge management method provided for an exemplary embodiment of the present application. The method is applicable to Figure 1a The edge cloud system shown in Figure 2a As shown, the method includes:
[0075] 21a. The central control node controls the containerized application in the target edge cluster while the control conditions for the target edge cluster are met. The target edge cluster is any edge cluster in the edge cloud system.
[0076] 22a. During the period when the central control node does not meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized application in the target edge cluster so that the containerized application continues to provide services.
[0077] 23a. After the control conditions for the target edge cluster are met again, the central control node re-controls the containerized applications in the target edge cluster based on the control status of the containerized applications in the target edge cluster before the control conditions are not met.
[0078] Figure 2b A flow chart of another edge management method provided for an exemplary embodiment of the present application. The method is described from the perspective of an edge management node, such as Figure 2b As shown, the method includes:
[0079] 21b. The edge control node determines that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, and the target edge cluster is the edge cluster to which the edge control node in the edge cloud system belongs.
[0080] 22b. During the period when the central control node does not meet the control conditions for the target edge cluster, the containerized application in the target edge cluster is controlled so that the containerized application continues to provide services.
[0081] In an optional embodiment, the above-mentioned implementation method of controlling the containerized applications in the target edge cluster during the period when the central control node does not meet the control conditions for the target edge cluster includes: when it is determined that the central control node does not meet the control conditions for the target edge cluster, obtaining the first control state of the central control node on the containerized applications in the target edge cluster before the control conditions are not met; and controlling the containerized applications in the target edge cluster from the first control state.
[0082] Further optionally, an implementation method for obtaining the first control state of the central control node on the containerized application in the target edge cluster before the control conditions are not met includes: determining the first control state of the central control node on the containerized application in the target edge cluster before the control conditions are not met based on the first control data synchronized by the edge computing node in the target edge cluster; wherein the first control data is sent by the central control node to the edge computing node before the control conditions are not met for it to control the containerized application in the target edge cluster.
[0083] In an optional embodiment, the method of this embodiment also includes: during the management and control of the containerized application in the target edge cluster, generating second management and control data required for the management and control of the containerized application in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application; and sending the second management and control data to the edge computing node in the target edge cluster so that the edge computing node can perform management and control operations on the containerized application.
[0084] Further optionally, an implementation method of determining that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster includes: monitoring information of edge computing nodes in the target edge cluster that synchronize first control data to the edge control node, and determining, based on the information, that the central control node does not meet the control conditions for the target edge cluster; wherein, the edge computing node synchronizes the first control data to the edge control node when the network connection between the edge computing node and the central control node is disconnected.
[0085] or,
[0086] Further optionally, another implementation method of the above-mentioned determination that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster includes: sending an inquiry message to the edge computing nodes in the target edge cluster to inquire whether the edge computing nodes maintain a network connection with the central control node, and counting the number of edge computing nodes that have disconnected from the network with the central control node based on the response messages returned by the edge computing nodes; when the number is greater than or equal to a set number threshold, determining that the central control node does not meet the control conditions for the target edge cluster.
[0087] or,
[0088] Further optionally, another implementation method of the above-mentioned determination that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster is, when receiving a control switching instruction sent by the edge service demander, determining that the central control node does not meet the control conditions for the target edge cluster; wherein, the control switching instruction is sent by the edge service demander when the edge service demander does not need the central control node to control the target edge cluster or when it is determined that the central control node cannot control the target edge cluster.
[0089] Figure 2c A flow chart of another edge control method provided for an exemplary embodiment of the present application is provided. The method is described from the perspective of a central control node, such as Figure 2c As shown, the method includes:
[0090] 21c. During a period when the control condition for the target edge cluster in the edge cloud system is not met, the central control node determines to re-satisfy the control condition for the target edge cluster, where the target edge cluster is any edge cluster in the edge cloud system;
[0091] 22c. Based on the control status of the containerized applications in the target edge cluster before the control conditions are not met, the containerized applications in the target edge cluster are re-controlled; wherein, during the period when the central control node does not meet the control conditions for the target edge cluster, the containerized applications in the target edge cluster are controlled by the edge control node in the target edge cluster.
[0092] In an optional embodiment, the method also includes: before the control conditions for the target edge cluster are met, the central control node generates first control data required for controlling the containerized application in the target edge cluster based on the service demand information submitted by the edge service demander and / or the running status of the containerized application; and sends the first control data to the edge computing node in the target edge cluster, so that the edge computing node performs control operations on the containerized application according to the first control data.
[0093] In an optional embodiment, the above-mentioned implementation method of re-controlling the containerized applications in the target edge cluster based on the control state of the containerized applications in the target edge cluster before the control conditions are not met includes: obtaining the second control state of the containerized applications in the target edge cluster by the edge control node; if the second control state is inconsistent with the first control state of the containerized applications in the target edge cluster by the central control node before the control conditions are not met, rolling back the containerized applications in the target edge cluster from the second control state to the first control state; and re-controlling the containerized applications in the target edge cluster starting from the first control state.
[0094] Further optionally, the above-mentioned implementation method of rolling back the containerized application in the target edge cluster from the second control state to the first control state includes: identifying the containerized application to be rolled back in the target edge cluster, the containerized application to be rolled back is a containerized application in which there is a difference between the second control state and the first control state of the target edge cluster; determining whether the edge computing node where the containerized application to be rolled back is located is faulty; if not, rolling back the containerized application to be rolled back from the second control state to the first control state.
[0095] Further optionally, rolling back the containerized application to be rolled back from the second control state to the first control state includes at least one of the following situations:
[0096] If the containerized application to be rolled back is a newly added containerized application in the target edge cluster, the newly added containerized application is deleted;
[0097] If the containerized application to be rolled back is an original containerized application that has been deleted in the target edge cluster, the deleted original containerized application is rebuilt on the edge computing node where the original containerized application has been deleted;
[0098] If the containerized application to be rolled back is an original containerized application whose resource specifications have changed in the target edge cluster, the resource specifications of the original containerized application whose resource specifications have changed are restored to the resource specifications in the first control state.
[0099] Further optionally, an implementation method of obtaining the second control status of the edge control node over the containerized application in the target edge cluster includes: determining the second control status of the edge control node over the containerized application in the target edge cluster based on the second control data synchronized by the edge computing node in the target edge cluster; wherein the second control data is sent by the edge control node to the edge computing node during the period of controlling the target edge cluster for the edge computing node to control the containerized application in the target edge cluster.
[0100] In an optional embodiment, the above-mentioned method of determining whether the control conditions for the target edge cluster in the edge cloud system are met again during the period when the control conditions for the target edge cluster are not met includes: during the period when the control conditions for the target edge cluster are not met, counting the information of edge computing nodes in the target edge cluster that maintain network connection with the central control node; and determining, based on the information, whether the central control node meets the control conditions for the target edge cluster again.
[0101] Further optionally, the above-mentioned implementation method of determining whether the central control node re-satisfies the control conditions for the target edge cluster based on the information of the edge computing nodes that maintain network connection with the central control node in the target edge cluster includes: if the number of edge computing nodes that maintain heartbeat connection with the central control node is greater than or equal to a set number threshold, or the number ratio is greater than or equal to a set ratio threshold, then it is determined that the central control node re-satisfies the control conditions for the target edge cluster.
[0102] Further optionally, the method of this embodiment also includes: determining the number or proportion of edge computing nodes that maintain network connection with the edge computing nodes based on the number of heartbeat messages received from the edge computing nodes and the information of the failed edge computing nodes reported by the edge management and control nodes; wherein, when the edge management and control node fails to receive the heartbeat message from the edge computing node, it reports the failure information of the edge computing node to the central management and control node.
[0103] Further optionally, the method of this embodiment also includes: if the information of the failed edge computing node reported by the edge control node is received, and the heartbeat message of the failed edge computing node is not received within the set time, then the containerized application on the failed edge computing node is rebuilt on other edge computing nodes in the target edge cluster. In the above method embodiment, the cloud native technology of container is adopted in the edge cloud system to realize a cloud-edge fusion architecture. In this cloud-edge fusion architecture, the dual control of the center and the edge is adopted, which can greatly improve the edge autonomy of the cloud-edge fusion architecture and greatly improve the service capability of the edge containerized application; further, after the central control node meets the control conditions again, it does not rely on the control state of the edge cluster by the edge control node, but re-controls the containerized application in the edge cluster based on its control state of the edge cluster before the control conditions are not met. In this way, the two control nodes are loosely coupled, each is independently controlled, and the edge autonomy is more flexible.
[0104] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, in steps 21a to 23a, the execution subject of steps 21a and 23a can be a central control node, and the execution subject of step 22a can be an edge control node; and so on.
[0105] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or executed in parallel, and the sequence numbers of the operations, such as 21a, 22a, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit the "first" and "second" to be different types.
[0106] Figure 3a The schematic diagram of the structure of an edge management device provided by the exemplary embodiment of the present application. The edge management device can be applied to the edge management node in the above system, such as Figure 3a As shown, the device includes: a determination module 31a and a management and control module 32a.
[0107] The determination module 31a is used to determine that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, and the target edge cluster is the edge cluster to which the edge control node in the edge cloud system belongs.
[0108] A control module 32a, configured to control the containerized application in the target edge cluster during a period when the central control node does not meet the control conditions for the target edge cluster, so that the containerized application continues to provide services;
[0109] In an optional embodiment, the management and control module 32a is specifically used to: when it is determined that the central management and control node does not meet the management and control conditions for the target edge cluster, obtain the first management and control state of the central management and control node on the containerized application in the target edge cluster before the management and control conditions are not met; and manage the containerized application in the target edge cluster starting from the first management and control state.
[0110] In an optional embodiment, when obtaining the first control state, the management and control module 32a is specifically used to: determine the first control state of the containerized application in the target edge cluster by the central management and control node before the control conditions are met based on the first control data synchronized by the edge computing node in the target edge cluster; wherein the first control data is sent by the central management and control node to the edge computing node before the control conditions are met for it to manage the containerized application in the target edge cluster.
[0111] In an alternative embodiment, if Figure 3a As shown, the device further includes: a generating module 33a and a sending module 34a.
[0112] The generating module 33a is used to generate the second control data required for controlling the containerized application in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application during the control of the containerized application in the target edge cluster. The sending module 34a is used to send the second control data to the edge computing node in the target edge cluster so that the edge computing node can perform the control operation on the containerized application.
[0113] In an optional embodiment, the determination module 31a is specifically used to: monitor information of the edge computing node in the target edge cluster that synchronizes the first control data to the edge control node, and based on the information, determine that the central control node does not meet the control conditions for the target edge cluster; wherein, the edge computing node synchronizes the first control data to the edge control node when the network connection between it and the central control node is disconnected.
[0114] In an optional embodiment, the determination module 31a is specifically used to: send an inquiry message to the edge computing nodes in the target edge cluster to inquire whether the edge computing nodes maintain a network connection with the central control node, and count the number of edge computing nodes that have disconnected from the network with the central control node based on the response message returned by the edge computing node; when the number is greater than or equal to a set number threshold, determine that the central control node does not meet the control conditions for the target edge cluster.
[0115] In an optional embodiment, the determination module 31a is specifically used to: upon receiving a control switching instruction sent by an edge service demander, determine that the central control node does not meet the control conditions for the target edge cluster; wherein the control switching instruction is sent by the edge service demander when the edge service demander does not need the central control node to control the target edge cluster or when it is determined that the central control node cannot control the target edge cluster.
[0116] The above describes the internal functions and structure of the edge control device, such as Figure 3bAs shown, in practice, the edge management and control device can be implemented as an edge management and control node, including: a memory 31b, a processor 32b and a communication component 33b.
[0117] The memory 31b is used to store computer programs and can be configured to store various other data to support operations on the edge management node. Examples of such data include instructions for any application or method operating on the edge management node, contact data, phone book data, messages, pictures, videos, etc.
[0118] The processor 32b is coupled to the memory 31b and is used to execute the computer program in the memory 31b, so as to: determine that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster; and during the period when the central control node does not meet the control conditions for the target edge cluster, manage the containerized application in the target edge cluster so that the containerized application continues to provide services; wherein the target edge cluster is the edge cluster to which the edge control node in the edge cloud system belongs.
[0119] In an optional embodiment, when the processor 32b manages the containerized applications in the target edge cluster, it is specifically used to: when it is determined that the central control node does not meet the control conditions for the target edge cluster, obtain the first control state of the central control node on the containerized applications in the target edge cluster before the control conditions are not met; and start to manage the containerized applications in the target edge cluster from the first control state.
[0120] In an optional embodiment, when the processor 32b obtains the first control state, it is specifically used to: determine the first control state of the containerized application in the target edge cluster by the central control node before the control conditions are met based on the first control data synchronized by the edge computing node in the target edge cluster; wherein the first control data is sent by the central control node to the edge computing node before the control conditions are met for it to control the containerized application in the target edge cluster.
[0121] In an optional embodiment, the processor 32b is also used to: during the management and control of the containerized applications in the target edge cluster, generate second management and control data required for the management and control of the containerized applications in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application; and send the second management and control data to the edge computing node in the target edge cluster through the communication component 33b, so that the edge computing node can perform management and control operations on the containerized application.
[0122] In an optional embodiment, when the processor 32b determines that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, it is specifically used to: monitor the information of the edge computing node in the target edge cluster that synchronizes the first control data to the edge control node, and determine, based on the information, that the central control node does not meet the control conditions for the target edge cluster; wherein, the edge computing node synchronizes the first control data to the edge control node when the network connection between it and the central control node is disconnected.
[0123] In an optional embodiment, when the processor 32b determines that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, it is specifically used to: send an inquiry message to the edge computing nodes in the target edge cluster to inquire whether the edge computing nodes maintain a network connection with the central control node, and count the number of edge computing nodes that have disconnected from the network with the central control node based on the response messages returned by the edge computing nodes; when the number is greater than or equal to a set number threshold, it is determined that the central control node does not meet the control conditions for the target edge cluster.
[0124] In an optional embodiment, when the processor 32b determines that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, it is specifically used to: upon receiving a control switching instruction sent by the edge service demander, determine that the central control node does not meet the control conditions for the target edge cluster; wherein the control switching instruction is sent by the edge service demander when the edge service demander does not need the central control node to control the target edge cluster or when it is determined that the central control node cannot control the target edge cluster.
[0125] Further, if Figure 3b As shown, the edge management and control node also includes: a display 34b, a power supply component 35b, an audio component 36b and other components. Figure 3b Only some components are shown schematically, which does not mean that the edge control node only includes Figure 3b In addition, Figure 3b Some components shown in the figure, such as the components in the dotted box, are optional components rather than mandatory components, and the specific components may depend on the device form of the edge control node.
[0126] Accordingly, an embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is enabled to implement each step that can be executed by the edge management and control node in the above method embodiment.
[0127] Accordingly, an embodiment of the present application also provides a computer program product, including a computer program / instruction. When the computer program / instruction is executed by a processor, the processor is enabled to implement each step that can be executed by an edge management node in the above method embodiment.
[0128] Figure 4a This is a schematic diagram of the structure of another edge management and control device provided in an embodiment of the present application. The edge management and control device can be applied to the central management and control node in the above system, such as Figure 4a As shown, the device includes: a determination module 41a and a management and control module 42a.
[0129] The determination module 41a is used to determine whether the control conditions for the target edge cluster in the edge cloud system are met again during the period when the central control node does not meet the control conditions for the target edge cluster.
[0130] The control module 42a is used to re-control the containerized applications in the target edge cluster based on the control status of the containerized applications in the target edge cluster before the central control node fails to meet the control conditions; wherein, the target edge cluster is any edge cluster in the edge cloud system, and during the period when the central control node fails to meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized applications in the target edge cluster.
[0131] In an optional embodiment, the management and control module 42a is specifically used to: obtain the second management and control state of the edge management node on the containerized application in the target edge cluster; if the second management and control state is inconsistent with the first management and control state of the containerized application in the target edge cluster by the central management and control node before the management conditions are not met, roll back the containerized application in the target edge cluster from the second management and control state to the first management and control state; and re-manage the containerized application in the target edge cluster starting from the first management and control state.
[0132] In an optional embodiment, when obtaining the second control state, the management and control module 42a is specifically used to: determine the second control state of the edge management node over the containerized application in the target edge cluster based on the second control data synchronized by the edge computing node in the target edge cluster; wherein the second control data is sent by the edge management node to the edge computing node during the period of managing the target edge cluster for it to manage the containerized application in the target edge cluster.
[0133] In an optional embodiment, when the control module 42a rolls back the containerized application in the target edge cluster from the second control state to the first control state, it is specifically used to: identify the containerized application to be rolled back in the target edge cluster, wherein the containerized application to be rolled back is a containerized application in which there is a difference between the second control state and the first control state of the target edge cluster; determine whether the edge computing node where the containerized application to be rolled back is located is faulty; if not, roll back the containerized application to be rolled back from the second control state to the first control state.
[0134] Further optionally, when rolling back the containerized application to be rolled back from the second control state to the first control state, the control module 42a is specifically used to: if the containerized application to be rolled back is a newly added containerized application in the target edge cluster, delete the newly added containerized application; if the containerized application to be rolled back is an original containerized application deleted in the target edge cluster, rebuild the deleted original containerized application on the edge computing node from which the original containerized application was deleted; if the containerized application to be rolled back is an original containerized application in the target edge cluster whose resource specifications have changed, restore the resource specifications of the original containerized application whose resource specifications have changed to those in the first control state.
[0135] In an optional embodiment, the determination module 41a is specifically used to: during the period when the central control node does not meet the control conditions for the target edge cluster, collect information on edge computing nodes in the target edge cluster that maintain network connection with the central control node; based on the information, determine whether the central control node meets the control conditions for the target edge cluster again.
[0136] Further optionally, when determining that the central control node re-satisfies the control conditions for the target edge cluster, the determination module 41a is specifically used to: if the number of edge computing nodes that maintain a heartbeat connection with the central control node is greater than or equal to a set number threshold, or the number ratio is greater than or equal to a set ratio threshold, then determine that the central control node re-satisfies the control conditions for the target edge cluster.
[0137] Further optionally, the determination module 41a is also used to: determine the number or proportion of edge computing nodes that maintain network connection with the edge computing nodes based on the number of heartbeat messages received from the edge computing nodes and the information of the failed edge computing nodes reported by the edge management and control nodes; wherein, when the edge management and control node fails to receive the heartbeat message from the edge computing node, it reports the information that the edge computing node has failed to the central management and control node.
[0138] Further optionally, the management and control module 42a is also used to: upon receiving information about a failed edge computing node reported by the edge management and control node, and failing to receive a heartbeat message from the failed edge computing node within a set time, rebuild the containerized application on the failed edge computing node on other edge computing nodes in the target edge cluster.
[0139] The above describes the internal functions and structure of the edge control device, such as Figure 4b As shown, in practice, the edge management and control device can be implemented as a central management and control node, including: a memory 41b, a processor 42b and a communication component 43b.
[0140] The memory 41b is used to store computer programs and can be configured to store various other data to support operations on the central control node. Examples of such data include instructions for any application or method operating on the central control node, contact data, phone book data, messages, pictures, videos, etc.
[0141] The processor 42b is coupled to the memory 41b and is used to execute the computer program in the memory 41b, so as to: determine whether the control conditions for the target edge cluster in the edge cloud system are met again during the period when the central control node does not meet the control conditions for the target edge cluster in the edge cloud system; re-control the containerized applications in the target edge cluster based on the control status of the containerized applications in the target edge cluster by the central control node before the control conditions are not met; wherein the target edge cluster is any edge cluster in the edge cloud system, and during the period when the central control node does not meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized applications in the target edge cluster.
[0142] In an optional embodiment, when the processor 42b re-controls the containerized application in the target edge cluster, it is specifically used to: obtain the second control state of the edge control node on the containerized application in the target edge cluster; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control condition is not met, roll back the containerized application in the target edge cluster from the second control state to the first control state; and re-control the containerized application in the target edge cluster starting from the first control state.
[0143] Further optionally, when the processor 42b obtains the second control state of the edge control node over the containerized application in the target edge cluster, it is specifically used to: determine the second control state of the edge control node over the containerized application in the target edge cluster based on the second control data synchronized by the edge computing node in the target edge cluster; wherein the second control data is sent by the edge control node to the edge computing node during the period of controlling the target edge cluster for the edge computing node to control the containerized application in the target edge cluster.
[0144] In an optional embodiment, when the processor 42b rolls back the containerized application in the target edge cluster from the second control state to the first control state, it is specifically used to: identify the containerized application to be rolled back in the target edge cluster, where the containerized application to be rolled back is a containerized application in which there is a difference between the second control state and the first control state of the target edge cluster; determine whether the edge computing node where the containerized application to be rolled back is located is faulty; if not, roll back the containerized application to be rolled back from the second control state to the first control state.
[0145] Further optionally, when the processor 42b rolls back the containerized application to be rolled back from the second control state to the first control state, it is specifically used to: if the containerized application to be rolled back is a newly added containerized application in the target edge cluster, delete the newly added containerized application; if the containerized application to be rolled back is an original containerized application deleted in the target edge cluster, rebuild the deleted original containerized application on the edge computing node from which the original containerized application was deleted; if the containerized application to be rolled back is an original containerized application in the target edge cluster whose resource specifications have changed, restore the resource specifications of the original containerized application whose resource specifications have changed to the resource specifications in the first control state.
[0146] Further optionally, when determining that the control conditions for the target edge cluster are met again, the processor 42b is specifically used to: during the period when the control conditions for the target edge cluster are not met, count the information of edge computing nodes in the target edge cluster that maintain network connection with the central control node; and determine, based on the information, whether the central control node meets the control conditions for the target edge cluster again.
[0147] Further optionally, when the processor 42b determines that the central control node re-satisfies the control conditions for the target edge cluster based on the above information, it is specifically used to: if the number of edge computing nodes that maintain a heartbeat connection with the central control node is greater than or equal to a set number threshold, or the number ratio is greater than or equal to a set ratio threshold, then determine that the central control node re-satisfies the control conditions for the target edge cluster.
[0148] Further optionally, the processor 42b is also used to: determine the number or proportion of edge computing nodes that maintain network connection with the edge computing nodes based on the number of heartbeat messages received from the edge computing nodes and the information of the failed edge computing nodes reported by the edge management and control node; wherein, when the edge management and control node fails to receive the heartbeat message from the edge computing node, it reports the information that the edge computing node has failed to the central management and control node.
[0149] Further optionally, the processor 42b is also used to: upon receiving information about a failed edge computing node reported by the edge management and control node, and failing to receive a heartbeat message from the failed edge computing node within a set time, rebuild the containerized application on the failed edge computing node on other edge computing nodes in the target edge cluster.
[0150] Further, if Figure 4b As shown, the central management and control node also includes: a display 44b, a power supply component 45b, an audio component 46b and other components. Figure 4b Only some components are shown schematically, which does not mean that the central control node only includes Figure 4b In addition, Figure 4b Some components shown in the figure, such as the components in the dotted box, are optional components, not mandatory components, and the specific components may depend on the device form of the central control node.
[0151] Accordingly, an embodiment of the present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is enabled to implement each step that can be executed by the central control node in the above method embodiment.
[0152] Accordingly, an embodiment of the present application also provides a computer program product, including a computer program / instruction. When the computer program / instruction is executed by a processor, the processor is enabled to implement each step that can be executed by the central control node in the above method embodiment.
[0153] The memory in the above embodiments can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0154] The communication component in the above-mentioned embodiment is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0155] The display in the above-mentioned embodiment includes a screen, and the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
[0156] The power supply assembly in the above embodiments provides power to various components of the device where the power supply assembly is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply assembly is located.
[0157] The audio component in the above embodiment can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting an audio signal.
[0158] 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.
[0159] The present application is described with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, and the combination of the process and / or box in the flowchart and / or block diagram can be realized 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 produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one process or multiple processes in the flowchart and / or one box or multiple boxes in the block diagram.
[0160] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0161] These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0162] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0163] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0164] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules 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 cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0165] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0166] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. An edge cloud system, characterized in that: include: A central control node, and at least one edge cluster connected to the central control node network, each edge cluster including an edge control node and an edge computing node, and containerized applications can be deployed on the edge computing node; The edge control node is used to control the containerized application in the target edge cluster to which the edge control node belongs, so that the containerized application continues to provide services during the period when the central control node does not meet the control conditions for the target edge cluster to which the edge control node belongs; The central control node is used to obtain the second control state of the edge control node on the containerized application in the target edge cluster after the control conditions for the target edge cluster are met again; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control conditions are not met, the containerized application in the target edge cluster is rolled back from the second control state to the first control state, and the containerized application in the target edge cluster is re-controlled starting from the first control state.
2. The system according to claim 1, characterized in that The edge management and control node is specifically used for: When it is determined that the central control node does not meet the control conditions for the target edge cluster, obtain the first control state of the central control node on the containerized application in the target edge cluster before the control conditions are not met, and start to manage the containerized application in the target edge cluster from the first control state.
3. The system according to claim 2, characterized in that The central control node is also used for: Before the control condition for the target edge cluster is not met, generating first control data required for controlling the containerized application in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application; The first control data is sent to the edge computing node in the target edge cluster, so that the edge computing node performs a control operation on the containerized application according to the first control data.
4. The system according to claim 3, characterized in that The edge computing node is further used to: cache the first management and control data locally, and synchronize it to the edge management and control node; The edge control node is specifically used to: when it is determined that the central control node does not meet the control conditions for the target edge cluster, determine, based on the first control data synchronized by the edge computing node, a first control state of the containerized application in the target edge cluster by the central control node before the control conditions are not met.
5. The system according to claim 1, characterized in that During the period of managing the containerized application in the target edge cluster, the edge management and control node is specifically used to: Generate second management and control data required for managing and controlling the containerized application in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application; The second control data is sent to the edge computing node in the target edge cluster, so that the edge computing node performs a control operation on the containerized application according to the second control data.
6. The system according to claim 5, characterized in that The edge computing node in the target edge cluster is further used to: cache the second control data locally, and synchronize it to the central control node after the central control node meets the control condition again; The central control node is specifically used to: after the control conditions for the target edge cluster are met again, determine the second control state of the edge control node on the containerized application in the target edge cluster according to the second control data synchronized by the edge computing node.
7. The system according to claim 1, characterized in that The central control node is also used for: If the second control state is consistent with the first control state, the containerized application in the target edge cluster continues to be controlled starting from the second control state.
8. The system according to claim 1, characterized in that When the central control node rolls back the containerized application in the target edge cluster from the second control state to the first control state, the central control node is specifically used to: Identify a containerized application to be rolled back in the target edge cluster, where the containerized application to be rolled back is a containerized application in which there is a difference between the second control state and the first control state of the target edge cluster; Determine whether the edge computing node where the containerized application to be rolled back is located is faulty; if not, roll back the containerized application to be rolled back from the second control state to the first control state.
9. The system according to claim 8, characterized in that When the central control node rolls back the containerized application to be rolled back from the second control state to the first control state, the central control node is specifically configured to: If the containerized application to be rolled back is a newly added containerized application in the target edge cluster, deleting the newly added containerized application; If the containerized application to be rolled back is an original containerized application deleted in the target edge cluster, rebuilding the deleted original containerized application on the edge computing node from which the original containerized application was deleted; If the containerized application to be rolled back is an original containerized application whose resource specifications have changed in the target edge cluster, the resource specifications of the original containerized application whose resource specifications have changed are restored to the resource specifications of the original containerized application in the first control state.
10. The system according to claim 3 or 5, characterized in that: The management and control operations for containerized applications include: at least one of the following management and control operations: reconstruction, upgrade, migration, resource expansion, resource reduction, shutdown, restart, and release of containerized applications.
11. The system according to any one of claims 2 to 9, characterized in that: The edge management and control node is also used for: Monitoring information of an edge computing node in the target edge cluster to which the first control data is synchronized, and determining, based on the information, that the central control node does not meet the control conditions for the target edge cluster; wherein the edge computing node synchronizes the first control data to the edge control node when the network connection between the edge computing node and the central control node is disconnected; or, Sending an inquiry message to the edge computing node in the target edge cluster to inquire whether the edge computing node maintains a network connection with the central control node, and counting the number of edge computing nodes that have disconnected from the network with the central control node according to the response message returned by the edge computing node; when the number is greater than or equal to a set number threshold, determining that the central control node does not meet the control conditions for the target edge cluster; or, Upon receiving a control switching instruction sent by an edge service demander, it is determined that the central control node does not meet the control conditions for the target edge cluster; wherein the control switching instruction is sent by the edge service demander when the edge service demander does not need the central control node to control the target edge cluster or when it is determined that the central control node cannot control the target edge cluster.
12. The system according to claim 11, characterized in that The edge management and control node is specifically used for: If the number of edge computing nodes to which the first control data is synchronized is greater than or equal to a set number threshold, or the number ratio is greater than or equal to a set ratio threshold, it is determined that the central control node does not meet the control conditions for the target edge cluster.
13. The system according to any one of claims 1 to 9, characterized in that: The central control node is also used for: Collecting information about edge computing nodes in the target edge cluster that maintain network connection with the target edge cluster; and determining, based on the information, that the central control node does not meet control conditions for the target edge cluster.
14. The system according to claim 13, characterized in that The central control node is specifically used for: If the number of edge computing nodes that maintain heartbeat connections with it is less than a set number threshold, or the number ratio is less than a set ratio threshold, it is determined that the central control node does not meet the control conditions for the target edge cluster.
15. The system according to claim 14, characterized in that The central control node is specifically used for: Determine the number or ratio of edge computing nodes that maintain network connection with the edge computing nodes according to the number of heartbeat messages received from the edge computing nodes and the information of the failed edge computing nodes reported by the edge management and control node; When the edge management and control node fails to receive the heartbeat message from the edge computing node, it reports the failure information of the edge computing node to the central management and control node.
16. The system according to claim 15, characterized in that The central control node is also used for: If the information of the failed edge computing node reported by the edge management and control node is received, and the heartbeat message of the failed edge computing node is not received within the set time, the containerized application on the failed edge computing node is rebuilt on other edge computing nodes in the target edge cluster.
17. An edge management method, characterized in that: Applicable to edge management and control nodes, the method includes: Determining that a central control node in the edge cloud system does not satisfy control conditions for a target edge cluster; and During the period when the central control node does not meet the control condition for the target edge cluster, the containerized application in the target edge cluster is controlled so that the containerized application continues to provide services; The target edge cluster is the edge cluster to which the edge management and control node in the edge cloud system belongs; Among them, the central control node is used to obtain the second control state of the edge control node on the containerized application in the target edge cluster after the control conditions for the target edge cluster are met again; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control conditions are not met, the containerized application in the target edge cluster is rolled back from the second control state to the first control state, and the containerized application in the target edge cluster is re-controlled starting from the first control state.
18. The method according to claim 17, characterized in that During the period when the central control node does not meet the control condition for the target edge cluster, the containerized application in the target edge cluster is controlled, including: When it is determined that the central control node does not meet the control condition for the target edge cluster, obtaining a first control state of the central control node on the containerized application in the target edge cluster before the control condition is not met; Starting from the first control state, the containerized application in the target edge cluster is controlled.
19. The method according to claim 18, characterized in that Obtaining a first control state of the central control node on the containerized application in the target edge cluster before the control condition is not met, including: Determining, according to the first control data synchronized by the edge computing node in the target edge cluster, a first control state of the containerized application in the target edge cluster by the central control node before the control condition is not met; The first control data is sent by the central control node to the edge computing node before the control condition is met so that the edge computing node can control the containerized application in the target edge cluster.
20. The method according to claim 19, characterized in that Also includes: During the management and control of the containerized application in the target edge cluster, generating second management and control data required for managing the containerized application in the target edge cluster according to the service demand information submitted by the edge service demander and / or the running status of the containerized application; The second control data is sent to the edge computing node in the target edge cluster, so that the edge computing node performs a control operation on the containerized application according to the second control data.
21. The method according to claim 19 or 20, characterized in that Determine that the central control node in the edge cloud system does not meet the control conditions for the target edge cluster, including: Monitoring information of edge computing nodes in the target edge cluster that synchronize the first control data to the edge control node, and determining, based on the information, that the central control node does not meet the control conditions for the target edge cluster; wherein the edge computing node synchronizes the first control data to the edge control node when the network connection between the edge computing node and the central control node is disconnected; or, Sending an inquiry message to the edge computing node in the target edge cluster to inquire whether the edge computing node maintains a network connection with the central control node, and counting the number of edge computing nodes that have disconnected from the network with the central control node according to the response message returned by the edge computing node; when the number is greater than or equal to a set number threshold, determining that the central control node does not meet the control conditions for the target edge cluster; or, Upon receiving a control switching instruction sent by an edge service demander, it is determined that the central control node does not meet the control conditions for the target edge cluster; wherein the control switching instruction is sent by the edge service demander when the edge service demander does not need the central control node to control the target edge cluster or when it is determined that the central control node cannot control the target edge cluster.
22. An edge management method, characterized in that: Applicable to the central control node, the method includes: During a period in which a control condition for a target edge cluster in the edge cloud system is not satisfied, determining that the control condition for the target edge cluster is satisfied again; Obtain a second control state of the containerized application in the target edge cluster by the edge control node; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control condition is not met, roll back the containerized application in the target edge cluster from the second control state to the first control state; and re-control the containerized application in the target edge cluster starting from the first control state; The target edge cluster is any edge cluster in the edge cloud system. During the period when the central control node does not meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized application in the target edge cluster.
23. The method according to claim 22, characterized in that Obtaining a second control state of the edge control node on the containerized application in the target edge cluster includes: Determining, according to the second management and control data synchronized by the edge computing node in the target edge cluster, a second management and control state of the containerized application in the target edge cluster by the edge management and control node; The second control data is sent by the edge control node to the edge computing node during the control of the target edge cluster so that the edge computing node can control the containerized application in the target edge cluster.
24. The method according to any one of claims 22-23, characterized in that: During a period when a control condition for a target edge cluster in the edge cloud system is not satisfied, determining whether the control condition for the target edge cluster is satisfied again includes: During the period when the control conditions for the target edge cluster are not met, collecting information on edge computing nodes in the target edge cluster that maintain network connection with the central control node; According to the information, it is determined that the central control node meets the control condition for the target edge cluster again.
25. An edge management and control node, characterized in that: include: Memory and processor; The memory is used to store computer programs; The processor, coupled to the memory, is configured to execute the computer program to: Determine that a central control node in the edge cloud system to which it belongs does not meet the control conditions for the target edge cluster; and during the period when the central control node does not meet the control conditions for the target edge cluster, manage the containerized application in the target edge cluster so that the containerized application continues to provide services; The target edge cluster is the edge cluster to which the edge management and control node in the edge cloud system belongs; Among them, the central control node is used to obtain the second control state of the edge control node on the containerized application in the target edge cluster after the control conditions for the target edge cluster are met again; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control conditions are not met, the containerized application in the target edge cluster is rolled back from the second control state to the first control state, and the containerized application in the target edge cluster is re-controlled starting from the first control state.
26. A central control node, characterized in that: include: Memory and processor; The memory is used to store computer programs; The processor, coupled to the memory, is configured to execute the computer program to: During a period when a control condition for a target edge cluster in the edge cloud system to which it belongs is not satisfied, determining to satisfy the control condition for the target edge cluster again; Obtain a second control state of the containerized application in the target edge cluster by the edge control node; if the second control state is inconsistent with the first control state of the containerized application in the target edge cluster by the central control node before the control condition is not met, roll back the containerized application in the target edge cluster from the second control state to the first control state; and re-control the containerized application in the target edge cluster starting from the first control state; The target edge cluster is any edge cluster in the edge cloud system. During the period when the central control node does not meet the control conditions for the target edge cluster, the edge control node in the target edge cluster controls the containerized application in the target edge cluster.
27. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the processor is caused to implement the steps in the method according to any one of claims 17 to 24.
28. A computer program product comprising a computer program / instructions, wherein: When the computer program / instructions are executed by a processor, the processor is caused to implement the steps in the method according to any one of claims 17 to 24.
Citation Information
Patent Citations
Edge computing system with novel architecture
CN112202900A