Application management method and related device in edge computing

By determining the target identity and edge node group of target microservice applications in the edge computing scenario, the problem that application services cannot be accessed across sites is solved, and the stability of application services running without cross-region is achieved.

CN111970354BActive Publication Date: 2025-04-01TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010811840.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-13
Publication Date
2025-04-01
Estimated Expiration
2040-08-13

AI Technical Summary

Technical Problem

In edge computing scenarios, due to network restrictions, application services may not be accessible across sites, resulting in the resources within a single site being unable to meet the needs of application services, affecting the stability of application services operation.

Method used

By determining a target identity of the target microservice application, at least one edge node group is determined based on the identification, each edge node group corresponding to the deployment object of the target microservice application, and the deployment object includes a plurality of target processes. Then, a service object matching the target process is determined to determine the execution process, and a verification is performed based on the node corresponding to the execution process and the nodes contained in the edge node group is carried out to guide the operation of the target microservice application.

Benefits of technology

It realizes the operation of application services without spanning the region, avoids cross-region access to services, and improves the operation stability of application services under network fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111970354B_ABST
    Figure CN111970354B_ABST
Patent Text Reader

Abstract

The present application discloses an application management method and related devices in edge computing. By determining the target identifier corresponding to the target microservice application; then determining at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determining the service object matching the target process to determine the execution process; and then verifying the nodes corresponding to the execution process with the nodes contained in the edge node group to guide the operation of the target microservice application. Since each region performs the same application deployment based on the edge node group, the application service can run without crossing regions, and the stability of operation under a single site is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to an application management method and related devices in edge computing. Background Art

[0002] Edge computing refers to the side close to the source of objects or data, which uses an open platform that integrates network, computing, storage, and application core capabilities. The network edge side can be any functional entity between the data source and the cloud computing center. These entities are equipped with an edge computing platform that integrates network, computing, storage, and application core capabilities to provide real-time, dynamic, and intelligent service computing for end users.

[0003] Generally, in edge computing scenarios, multiple edge sites are often managed in the same cluster, and each edge site has one or more computing nodes.

[0004] However, in some scenarios, since the edge computing process is subject to network restrictions, it may happen that business-related application services do not want or cannot access each other across sites. At this time, the resources within a single site cannot meet the needs of the application service, affecting the stability of the application service operation. Summary of the invention

[0005] In view of this, the present application provides an application management method in edge computing, which can improve the stability of application operation in edge computing scenarios.

[0006] The first aspect of the present application provides an application management method in edge computing, which can be applied to a system or program including an application management function in edge computing in a terminal device, specifically including:

[0007] Determine the target identifier corresponding to the target microservice application;

[0008] Determine at least one edge node group based on the target identifier, each edge node group corresponds to a deployment object of the target microservice application, and the deployment object includes multiple target processes;

[0009] Determine a service object that matches the target process to determine the execution process;

[0010] Verification is performed based on the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

[0011] Optionally, in some possible implementations of the present application, determining at least one edge node group based on the target identifier includes:

[0012] Determine the target field corresponding to the target identifier;

[0013] determining a target tag corresponding to the target field;

[0014] At least one edge node group is determined based on the target tag, and each node in the edge node group is marked with the target tag.

[0015] Optionally, in some possible implementations of the present application, determining at least one edge node group based on the target tag includes:

[0016] Determine key information corresponding to the target tag;

[0017] Determine corresponding value information based on the key information;

[0018] Node grouping is performed based on the value information to determine at least one edge node group.

[0019] Optionally, in some possible implementations of the present application, determining a service object that matches the target process to determine the execution process includes:

[0020] Determine a service object that matches the target process to determine the end point information of the target process;

[0021] The execution progress is determined based on the end point information.

[0022] Optionally, in some possible implementations of the present application, the verifying the node corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application includes:

[0023] Determine the service interface of the node corresponding to the execution process;

[0024] Monitoring based on the service interface to obtain an access node group;

[0025] The nodes included in the access node group are verified with the nodes included in the edge node group to guide the operation of the target microservice application.

[0026] Optionally, in some possible implementations of the present application, verifying the nodes included in the access node group with the nodes included in the edge node group to guide the operation of the target microservice application includes:

[0027] If the nodes included in the access node group are the same as the nodes included in the edge node group, generating an execution routing table based on the access node group;

[0028] The operation of the target microservice application is guided based on the execution routing table.

[0029] Optionally, in some possible implementations of the present application, the method further includes:

[0030] If the nodes included in the access node group are different from the nodes included in the edge node group, intercepting the difference item to update the access node group;

[0031] The operation of the target microservice application is guided based on the updated access node group.

[0032] Optionally, in some possible implementations of the present application, determining a target identifier corresponding to a target microservice application includes:

[0033] Obtaining network fluctuation information indicated by the target microservice application;

[0034] The target identifier corresponding to the target microservice application is determined based on the network fluctuation information.

[0035] Optionally, in some possible implementations of the present application, the method further includes:

[0036] Determining, in response to the identification setting instruction, an input field for the target microservice application;

[0037] updating the target identifier based on the input field;

[0038] The deployment object and the service object are marked based on the updated target identifier.

[0039] Optionally, in some possible implementations of the present application, the method further includes:

[0040] Determining a candidate node group in response to a node adding instruction, the candidate node group is used to supply the operation of the target microservice application;

[0041] The candidate node group is marked based on the target identifier.

[0042] Optionally, in some possible implementations of the present application, the method further includes:

[0043] Performing traffic monitoring on the running process of the target microservice application to obtain traffic information;

[0044] The node corresponding to the execution process is adjusted based on the traffic information.

[0045] Optionally, in some possible implementations of the present application, the application management method in edge computing is carried out on a distributed cluster management system, the target microservice application is a reverse proxy web server software, and the target identifier is a unique identifier.

[0046] A second aspect of the present application provides an application management device in edge computing, including:

[0047] A determination unit, used to determine a target identifier corresponding to a target microservice application;

[0048] an identification unit, configured to determine at least one edge node group based on the target identifier, each edge node group corresponding to a deployment object of the target microservice application, the deployment object including a plurality of target processes;

[0049] A matching unit, used to determine a service object that matches the target process to determine an execution process;

[0050] A management unit is used to verify based on the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

[0051] Optionally, in some possible implementations of the present application, the identification unit is specifically used to determine a target field corresponding to the target identifier;

[0052] The identification unit is specifically used to determine a target tag corresponding to the target field;

[0053] The identification unit is specifically configured to determine at least one edge node group based on the target tag, wherein each node in the edge node group is marked with the target tag.

[0054] Optionally, in some possible implementations of the present application, the identification unit is specifically used to determine the key information corresponding to the target tag;

[0055] The identification unit is specifically configured to determine corresponding value information based on the key information;

[0056] The identification unit is specifically configured to perform node grouping based on the value information to determine at least one edge node group.

[0057] Optionally, in some possible implementations of the present application, the matching unit is specifically used to determine a service object that matches the target process to determine the end point information of the target process;

[0058] The matching unit is specifically configured to determine the execution process based on the end point information.

[0059] Optionally, in some possible implementations of the present application, the matching unit is specifically used to determine a service interface of a node corresponding to the execution process;

[0060] The matching unit is specifically configured to monitor based on the service interface to obtain an access node group;

[0061] The matching unit is specifically configured to verify the nodes included in the access node group and the nodes included in the edge node group to guide the operation of the target microservice application.

[0062] Optionally, in some possible implementations of the present application, the management unit is specifically configured to generate an execution routing table based on the access node group if the nodes included in the access node group are the same as the nodes included in the edge node group;

[0063] The management unit is specifically used to guide the operation of the target microservice application based on the execution routing table.

[0064] Optionally, in some possible implementations of the present application, the management unit is specifically configured to intercept a difference item if the nodes included in the access node group are different from the nodes included in the edge node group, so as to update the access node group;

[0065] The management unit is specifically used to guide the operation of the target microservice application based on the updated access node group.

[0066] Optionally, in some possible implementations of the present application, the determining unit is specifically used to obtain network fluctuation information indicated by the target microservice application;

[0067] The determining unit is specifically configured to determine the target identifier corresponding to the target microservice application based on the network fluctuation information.

[0068] Optionally, in some possible implementations of the present application, the management unit is specifically configured to determine an input field for the target microservice application in response to an identification setting instruction;

[0069] The management unit is specifically configured to update the target identifier based on the input field;

[0070] The management unit is specifically configured to mark the deployment object and the service object based on the updated target identifier.

[0071] Optionally, in some possible implementations of the present application, the management unit is specifically used to determine a candidate node group in response to a node adding instruction, and the candidate node group is used to supply the operation of the target microservice application;

[0072] The management unit is specifically configured to mark the candidate node group based on the target identifier.

[0073] Optionally, in some possible implementations of the present application, the management unit is specifically used to monitor the flow of the running process of the target microservice application to obtain flow information;

[0074] The management unit is specifically used to adjust the node corresponding to the execution process based on the traffic information.

[0075] The third aspect of the present application provides a computer device, including: a memory, a processor and a bus system; the memory is used to store program code; the processor is used to execute the application management method in edge computing described in the first aspect or any one of the first aspects according to the instructions in the program code.

[0076] The fourth aspect of the present application provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is run on a computer, it enables the computer to execute the application management method in edge computing described in the first aspect or any one of the first aspects.

[0077] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program including computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the application management method in edge computing provided in the first aspect or various optional implementations of the first aspect.

[0078] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0079] By determining the target identifier corresponding to the target microservice application; then determining at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determining the service object matching the target process to determine the execution process; and then verifying the nodes corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application. Thus, the deployment process of the target microservice application in different regions of the same cluster is realized. Since each region performs the same application deployment based on the edge node group, the application service can be run without crossing regions, avoiding cross-regional access to services and improving the stability of the application service under network fluctuations. BRIEF DESCRIPTION OF THE DRAWINGS

[0080] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0081] Figure 1 A network architecture diagram for managing the application management system in edge computing;

[0082] Figure 2 A system architecture diagram of application management in edge computing provided in an embodiment of the present application;

[0083] Figure 3 A flowchart of an application management method in edge computing provided in an embodiment of the present application;

[0084] Figure 4 A flowchart of another application management method in edge computing provided in an embodiment of the present application;

[0085] Figure 5 A schematic diagram of another scenario of an application management method in edge computing provided in an embodiment of the present application;

[0086] Figure 6 A flowchart of another application management method in edge computing provided in an embodiment of the present application;

[0087] Figure 7 A schematic diagram of the structure of an application management device in edge computing provided in an embodiment of the present application;

[0088] Figure 8 A schematic diagram of the structure of a server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0089] The embodiment of the present application provides an application management method and related devices in edge computing, which can be applied to a system or program in a terminal device that includes an application management function in edge computing, by determining the target identifier corresponding to the target microservice application; then determining at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determining the service object that matches the target process to determine the execution process; and then verifying the nodes corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application. Thereby, the deployment process of the target microservice application in different regions of the same cluster is realized. Since each region performs the same application deployment based on the edge node group, the application service can be run without crossing regions, avoiding cross-regional access to services, and improving the stability of the application service under network fluctuations.

[0090] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein, for example. In addition, the terms "including" and "corresponding to" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0091] First, some terms that may appear in the embodiments of the present application are explained.

[0092] Kubernetes: Also known as k8s, it is a distributed cluster management system. On each node, an executor (worker) must be run to manage the life cycle of the container. The executor is kubelet.

[0093] Kubelet: The main function is to periodically obtain the expected state of the microservice process on the node from somewhere (what container is running, the number of running replicas, how the network or storage is configured, etc.), and call the corresponding container platform interface to achieve this state.

[0094] Pod: The smallest / simplest basic unit created or deployed by Kubernetes. A Pod represents a microservice process running on the cluster, and a microservice process encapsulates an edge container that provides a microservice application (there can also be multiple edge containers), storage resources, an independent network IP, and policy options for managing and controlling how the container runs.

[0095] kube-proxy: An interface proxy used to manage service object access entries. Proxy objects include access from microservice processes within the cluster to service objects and access from outside the cluster to service objects.

[0096] selector: A selector that selects nodes through the Kubernetes label selection mechanism to schedule microservice processes to target nodes.

[0097] It should be understood that the application management method in edge computing provided in the present application can be applied to a system or program in a terminal device that includes an application management function in edge computing, such as an edge computing platform. Specifically, the application management system in edge computing can be run on Figure 1 In the network architecture shown in Figure 1 As shown in FIG. 1 , it is a network architecture diagram of the application management system in edge computing. The diagram shows the architecture of the microservice application operation, including the deployment object (Deployment), process management (ReplicaSet), multiple microservice processes (Pod) and service objects (Service) corresponding to the microservice application. Specifically, the microservice process is the smallest unit managed by k8s, including one or more containers, and is a component that provides actual business services. The process management is the management and control component of the microservice process, which monitors the health of the microservice process and ensures that the microservice process runs according to the user's expectations. It also includes an upgraded version of the controller (ReplicationController) component, which adds the range selection function of the label selector. Correspondingly, the deployment object can control the process management and microservice process, and realize the rolling upgrade and rollback, expansion and reduction of the microservice process application. As for the role of the service object, since the number and access address of the microservice process in the cluster may change, the business application in the above microservice process needs to provide services to the outside, so a unified service address can be provided to the outside through the service object. The service object matches a group of microservice processes that provide services through the label selector, thereby isolating the changes of the backend microservice process from the client.

[0098] The present application relates to a management process for deployment objects and service objects, thereby implementing a region-based division process for microservice processes.

[0099] Edge computing refers to the side close to the source of objects or data, which uses an open platform that integrates network, computing, storage, and application core capabilities. The network edge side can be any functional entity between the data source and the cloud computing center. These entities are equipped with an edge computing platform that integrates network, computing, storage, and application core capabilities to provide real-time, dynamic, and intelligent service computing for end users.

[0100] Generally, in edge computing scenarios, multiple edge sites are often managed in the same cluster, and each edge site has one or more computing nodes.

[0101] However, in some scenarios, since the edge computing process is subject to network restrictions, it may happen that business-related application services do not want or cannot access each other across sites. At this time, the resources within a single site cannot meet the needs of the application service, affecting the stability of the application service operation.

[0102] In the above scenarios, k8s is generally used for edge computing, but k8s does not directly provide solutions for the following scenarios.

[0103] The first is the problem of multiple regional deployments. Usually, an edge cluster manages many edge sites (each edge site has one or more computing resources). The central cloud scenario is often a central computer room in a large region. The edge regions are more numerous than the central cloud scenario. For example, there is an edge computer room in a small city, and the number of regions may be very large. In native k8s, it is difficult to specify the creation of microservice processes unless node affinity is used to deploy them for each region. However, if there are more than a dozen or even dozens of regions, taking the deployment object that needs to deploy multiple services in each region as an example, the name and selector of each deployment object need to be different. Dozens of regions mean that hundreds of corresponding different names, selectors, microservice process labels, and affinity deployment markup languages ​​(yaml) are required. Writing deployment markup languages ​​is a huge, time-consuming and labor-intensive task.

[0104] In addition, the service corresponding to the service object needs to be associated with the region. For example, the transcoding and synthesis services in the audio and video service need to complete the access to the audio and video service within the region. Users hope that the mutual calls between services can be limited to the local domain, rather than cross-region access. This also requires users to prepare hundreds of local domain deployment objects with different selectors and names for the setting deployment markup language of the service object.

[0105] Furthermore, if the mutual access between services in the user program uses the service object name, then in the current environment, since the service object name is different in each region, for the user, the original application may not even work, and needs to be adapted separately for each region, which is too complicated.

[0106] In addition, in order to make the scheduling plan of containerized services consistent with that of services previously running on virtual machines (VMs) or physical machines, users naturally think of assigning a public Internet Protocol (IP) address to each microservice process. However, the number of public IP addresses is obviously insufficient.

[0107] In order to solve the above problems, this application proposes an application management method in edge computing, which is applied to Figure 2 In the system framework of application management in edge computing shown in Figure 2 As shown, it is a system architecture diagram of application management in edge computing provided by an embodiment of the present application. The figure shows that for microservice applications, the corresponding services are distributed to each local area network (region) through the cloud console, and further by setting the basic fields and the deployment objects and service objects consistent, and adding the grid unique identification (gridUniqKey) field, the deployment object grid controller (DeploymentGrid controller) and the service object grid controller (ServiceGrid controller) continuously reconcile the created deployment object grid (DeploymentGrid) and service object grid (ServiceGrid) resources to the desired deployment objects and service objects, and by combining the service object grid, the grid unique identification field on the deployment object grid and the grouping label of the node, the deployment object is deployed in each edge node group (NodeGroup), and the application grid wrapper (application-grid-wrapper) is used to limit the service object within the scope of the edge node group, wherein, if the edge node group includes multiple edge node units (NodeUnit), the application grid wrapper is used to limit the service object within the corresponding edge node unit range, thereby achieving self-satisfaction of microservices in the region, that is, the operation of microservice applications can be carried in the local region.

[0108] In this embodiment, the deployment object grid controller generates instructions corresponding to the deployment object grid to manage the deployment objects of the native k8s and update the node divisions, that is, the service object grid controller generates instructions corresponding to the service object grid to manage the service objects of the native k8s and update the node divisions; it should be understood that the deployment objects and service objects shown in this application have all undergone an adjustment management process.

[0109] In addition, the above process can realize the deployment of services in a large number of different regions through two deployment markup language files, without the need for application adaptation or modification. It can conveniently deploy a group of services in different computer rooms or regions belonging to the same cluster, and make the requests between each service complete within the computer room or local domain, avoiding cross-regional access to services.

[0110] It is understandable that the method provided by the present application can be written as a program to serve as a processing logic in a hardware system, or as an application management device in edge computing, which implements the above processing logic in an integrated or external manner. As an implementation method, the application management device in the edge computing determines the target identifier corresponding to the target microservice application; then determines at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determines the service object that matches the target process to determine the execution process; and then verifies the nodes corresponding to the execution process and the nodes contained in the edge node group to guide the operation of the target microservice application. Thereby, the deployment process of the target microservice application in different regions of the same cluster is realized. Since each region performs the same application deployment based on the edge node group, the application service can be run without crossing regions, avoiding cross-regional access to services and improving the stability of the application service under network fluctuations.

[0111] Combined with the above system architecture, the following will introduce the application management method in edge computing in this application. Figure 3 , Figure 3 A flowchart of an application management method in edge computing provided in an embodiment of the present application, the embodiment of the present application at least includes the following steps:

[0112] 301. Determine a target identifier corresponding to a target microservice application.

[0113] In this embodiment, the target identifier may be a unique identifier such as a field that has an identification function, that is, the target microservice application can be associated through the target identifier.

[0114] It can be understood that the target microservice application is a task to be assigned to the edge computing node in the main data center (DC). The application management method provided in this application can deploy the target microservice application to different edge node groups, and these edge node groups correspond to different areas. The specific area divisions can be different computer rooms, different geographical areas or different local area networks. The specific method depends on the actual scenario.

[0115] In addition, for the setting of target identification, that is, Figure 1The process of logically updating the deployment objects and service objects in the network architecture shown in the figure, specifically, writing the fields of the deployment objects based on the deployment object grid, the format of the deployment object grid is similar to that of the deployment objects, <deployment-template>The field is the template field of the original deployment object, but the format of the deployment object grid also includes a grid unique identifier field, namely the target identifier; this field specifies the key value of the label of the node group, namely the key information, for the range specified by the target identifier. For the update of service objects, the format of the service object grid is similar to that of the service object. <service-template>The fields are the template fields of the original service object, but the format of the service object grid also includes a grid unique identification field, namely the target identification; this field specifies the key value of the label of the node grouping.

[0116] It is understandable that the deployment object grid can be implemented through the functions of the deployment object grid controller, and the service object grid can be implemented through the functions of the service object grid controller. The specific device can be a physical device or a program written, and the specific method depends on the actual scenario.

[0117] 302. Determine at least one edge node group based on the target identifier.

[0118] In this embodiment, each edge node group corresponds to a deployment object of a target microservice application, and the deployment object includes multiple target processes, i.e., microservice processes; wherein the edge node group can be set to different regions, and each edge node group contains a complete deployment object of the target microservice application, i.e., self-satisfaction can be achieved within the region corresponding to the edge node group.

[0119] Specifically, the division process of the edge node group can be performed based on the correspondence between the grid unique identification field and the node grouping label on the service object grid and the deployment object grid, that is, first determine the target field corresponding to the target identification; then determine the target label corresponding to the target field; thereby determining at least one edge node group based on the target label, and each node in the edge node group is marked with a target label.

[0120] Optionally, since the edge node group contains one or more nodes, these nodes can be assigned values, and nodes with the same value information belong to the same edge node group, so the key information corresponding to the target tag can be determined first; then the corresponding value information can be determined based on the key information; and then the nodes can be grouped based on the value information to determine at least one edge node group. This ensures the accuracy of the edge node group division.

[0121] In a possible scenario, when a new deployment object grid object is created, that is, when a target microservice application needs to be added; the deployment object grid controller will obtain a new add event and perform corresponding operations of the add event, searching the key values ​​of the labels of all current nodes with the value of the grid unique identification field of the created deployment object grid, and creating a deployment object with the corresponding value information (value) quantity. The deployment object corresponds to different edge node groups, that is, a group of nodes corresponds to one deployment object.

[0122] It is understandable that since edge node groups may be deployed in different areas and may include multiple edge node units, in this embodiment, in the scenario where the edge node group includes only one edge node unit, the edge node unit may be equivalent to the edge node group.

[0123] 303. Determine a service object that matches the target process to determine the execution process.

[0124] In this embodiment, based on Figure 1 In the network architecture shown, the operation of the target microservice application requires the deployment object and the service object to be adapted based on the microservice process. Therefore, the process of determining the execution process can be based on the end point information (endpoint) indicated by the service object, that is, first determine the service object that matches the target process to determine the end point information of the target process; then determine the execution process based on the end point information.

[0125] In a possible scenario, corresponding to the creation process of the deployment object grid in step 302, when a new service object grid object is created, the service object grid controller will obtain a new newly added event, perform the corresponding operation of the newly added event, and create a service object object. The service object will match the microservice processes created by all deployment objects created by the above deployment object grid controller. Therefore, the process will also create the end point information corresponding to the microservice processes under all different deployment object grids, thereby obtaining the execution process.

[0126] 304. Verify the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

[0127] In this embodiment, steps 301-303 can realize the deployment of the same application in multiple regions, but the traffic cannot be limited to the range of the edge node group, that is, the accuracy of edge node selection during the execution process cannot be guaranteed.

[0128] Therefore, the node corresponding to the execution process can be verified with the node included in the edge node group to obtain the node group actually used for traffic passing. Specifically, the service interface of the node corresponding to the execution process can be determined first; then the access node group can be obtained by monitoring based on the service interface; and then the nodes included in the access node group can be verified with the nodes included in the edge node group to guide the operation of the target microservice application. Among them, the monitoring process can be based on the application grid packaging, which proxies the request of the interface proxy and monitors the actual service node, service object and end point information resources corresponding to the service object interface (apiserver).

[0129] Furthermore, the above verification process is to detect whether the nodes included in the access node group are the same as the nodes included in the edge node group; if the nodes included in the access node group are the same as the nodes included in the edge node group, an execution routing table is generated based on the access node group; and the operation of the target microservice application is guided based on the execution routing table. That is, when the end point information resource is obtained, the node in the microservice process information corresponding to the end point information is compared to see whether it belongs to the same edge node unit as the edge node group. If they are the same, the resource information is forwarded to the downstream interface agent, and the interface agent will guide the operation of the target microservice application according to the execution routing table.

[0130] When the nodes included in the access node group are different from the nodes included in the edge node group, the difference items are intercepted to update the access node group; then the operation of the target microservice application is guided based on the updated access node group. Specifically, if the node to which the microservice process belongs does not belong to the same edge node unit as the edge node group, the application grid packaging will intercept the information and will not forward it to the interface proxy, so that when viewing the end point information, all the end point information contained in the service object in the entire cluster can be known, while in fact the routing table items of the node's service object only contain relevant items of the nodes in the same edge node unit; thereby ensuring that mutual access between services in the edge node unit will be limited to the current edge node unit, avoiding the problem of cross-node group or cross-computer room and cross-region access, and improving the accuracy of the operation of the target microservice application.

[0131] Optionally, in a possible scenario, an edge node group can be added based on the above embodiment. Specifically, a candidate node group can be determined in response to a node addition instruction, and the candidate node group is used to supply the operation of the target microservice application; then the candidate node group is marked based on the target identifier. That is, for a node group that is added to the cluster after the deployment object grid and service object grid are deployed, the marked deployment object and service object can be automatically created in the new node group.

[0132] Optionally, in another possible scenario, during the operation of the target microservice, the traffic of the target microservice application can be monitored to obtain traffic information; then the node corresponding to the execution process is adjusted based on the traffic information. For example, when the traffic is abnormal, other edge node units in the same edge node group are switched to run the target microservice application, thereby ensuring the stability of the operation of the target microservice application.

[0133] Optionally, in another possible scenario, the target identifier can also be modified, that is, the input field for the target microservice application is determined in response to the identifier setting instruction; then the target identifier is updated based on the input field; and then the deployment object and service object are marked based on the updated target identifier. That is, in this scenario, the custom resource name can be changed at will, and the method for connecting nodes and service object grids can be completed by modifying the service object interface, interface proxy or adding intermediate components, thereby realizing the process of marking the deployment object and service object based on the updated target identifier.

[0134] In combination with the above embodiments, it can be known that by determining the target identifier corresponding to the target microservice application; then determining at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determining the service object that matches the target process to determine the execution process; and then verifying the nodes corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application. Thus, the deployment process of the target microservice application in different regions of the same cluster is realized. Since each region performs the same application deployment based on the edge node group, the application service can be run without crossing regions, avoiding cross-regional access to services and improving the stability of the application service in the case of network fluctuations.

[0135] The above embodiment introduces the process of guiding the target microservice application to run based on the target identifier, and the setting of the target identifier can be set and associated in advance. The following is an introduction to the scenario. Figure 4 As shown, Figure 4 A flowchart of another application management method in edge computing provided in an embodiment of the present application, the embodiment of the present application at least includes the following steps:

[0136] 401. Determine a target identifier of a target microservice application.

[0137] In this embodiment, the process of determining the target identifier of the target microservice application is to determine the characteristic key value (UniqKey) corresponding to the service object group (ServiceGroup). Specifically, the characteristic key value used by the service object group logical tag can be recorded as a service zone (zone).

[0138] It is understandable that the service object group may include one or more target microservice applications, that is, the target identifier may be used to mark multiple microservice applications having an associated relationship, and the specific number depends on the actual scenario.

[0139] In a possible scenario, the target microservice application is a reverse proxy web server software (nginx), that is, taking the deployment of the reverse proxy web server software at the edge as an example, the reverse proxy web server software services are deployed in multiple node groups respectively.

[0140] 402. Group edge nodes based on target identifiers.

[0141] In this embodiment, the edge nodes are deployed in an outer center (OC), and the process of grouping the edge nodes can be based on labels. Specifically, kubectl can be used to label the edge nodes.

[0142] In one possible scenario, combined with Figure 5 To explain, Figure 5 A scenario diagram of an application management method in edge computing provided by an embodiment of the present application; therefore, nodes 12 and 14 are labeled as service domain = edge node unit 1; nodes 21 and 23 are labeled as service domain = edge node unit 2. Among them, node unit 1 and node unit 2 are edge node groups deployed in different areas.

[0143] It is understandable that the key value of the above label is consistent with the characteristic key value of the service object group, and the value information corresponding to the key value of the label is the unique key value of the edge node unit, that is, nodes with the same value information belong to the same edge node unit. Among them, the edge node unit is usually one or more computing resource instances located in the same edge site, and it is necessary to ensure that the node intranet in the same edge node unit is connected.

[0144] In a possible scenario, if there are multiple service object groups in the same cluster, different feature key values ​​can be assigned to each service object group, and the corresponding edge node group division process is performed respectively. The services in the service object group run within an edge node unit.

[0145] In addition, for the edge node group, the edge node group contains one or more edge node units, and ensures that the services in the service object group are deployed on each edge node unit in the set. When an edge node unit is added to the cluster, the services in the service object group are automatically deployed to the newly added edge node unit.

[0146] Optionally, the setting of the edge node group can be performed through the management plug-in (tkeedge), that is, the management plug-in allows the user to set the number of microservice processes running in an edge node unit, and the management plug-in can limit the calls between services within the edge node unit, thereby realizing the setting of the edge node group.

[0147] In a possible scenario, the relationship between the edge node group and the edge node unit is also maintained by the edge node group controller, and the edge node group object saves the information of the contained edge node units through labels, that is, both can be used as objects of the edge node group.

[0148] 403. Mark the deployment object and the service object based on the target identifier.

[0149] In this embodiment, for the marking process of the deployment object, the grid feature key value field of the deployed deployment object grid may be filled with the grid feature key value: service domain according to the target identifier determined above.

[0150] As for the marking process of the service object, the grid feature key value field of the deployed service object grid may be filled with the grid feature key value: service domain according to the target identifier determined above.

[0151] Since the grid feature key field is set to the service domain, the feature key of the label used when grouping the nodes is the service domain. If there are three groups of nodes, add the labels service domain-0, service domain-1, and service domain-2 to them respectively; at this time, each group of nodes has the deployment object of the reverse proxy web server software and the corresponding microservice process. Accessing the unified service object within the node will only send the request to the nodes in this group.

[0152] In addition, for node groups that are added to the cluster after the deployment object grid and service object grid are deployed, this function will automatically create the specified deployment objects and service objects in the new node group.

[0153] Specifically, after marking the target identifier, when the end device needs to request a microservice application, the edge node unit in the edge cloud receives the original data sent by the end device, processes the original data, and sends the processed data to the main data center in the corresponding central cloud, thereby completing the execution process of the microservice application requested by the end device.

[0154] It can be seen from the above embodiments that the service object group can conveniently deploy a group of services in different computer rooms or regions belonging to the same cluster, and the requests between each service can be completed within the computer room or local domain, avoiding cross-regional access to services. In addition, the specific node location created by the microservice process of the deployment object cannot be controlled in native k8s, and it needs to be indirectly completed by coordinating the affinity of the node. When the number of edge sites and the number of services to be deployed are too large, the management and deployment are extremely complicated, and there is only a theoretical possibility; at the same time, in order to limit the mutual calls between services to a certain range, the business party needs to create a dedicated service object for each deployment object. The management workload is huge and it is very easy to make mistakes and cause online business anomalies. In addition, the service object group is designed for this scenario. Customers only need to use the k8s resources developed by the two management plug-ins, the deployment object grid and the service object grid provided by the service object group, to conveniently deploy services to these node groups and perform service traffic control. In addition, the number of services and disaster recovery in each region can be guaranteed.

[0155] In another possible scenario, the application management process is based on network fluctuation information. The following describes this scenario. Figure 6 , Figure 6 A flowchart of another application management method in edge computing provided in an embodiment of the present application, the embodiment of the present application at least includes the following steps:

[0156] 601. Obtain network fluctuation information.

[0157] In this embodiment, due to network restrictions, cross-site access is not desired or possible between services with business connections, so the application management process can be started when the network fluctuation information indicates that the current network delay is greater than a threshold, for example, when the network delay is greater than 300ms, the application management process is started. The specific value depends on the actual scenario and is not limited here.

[0158] 602. Determine a target identifier corresponding to a target microservice application;

[0159] 603. Determine at least one edge node group based on the target identifier, each edge node group corresponds to a deployment object of a target microservice application, and the deployment object includes multiple target processes;

[0160] 604. Determine a service object that matches the target process to determine the execution process;

[0161] 605. Verify the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

[0162] In this embodiment, steps 602-605 and Figure 3 Steps 301 - 304 of the illustrated embodiment are similar, and the description of related features may be referred to and are not limited here.

[0163] 606. Monitor network fluctuation information in real time to indicate switching of operation modes.

[0164] In this embodiment, the detection of network fluctuation information can be performed in real time, that is, once the network returns to normal, multiple clusters can be used to jointly execute microservice applications to provide services, thereby improving the flexibility of the application management process and ensuring the operation requirements of microservice applications in different scenarios.

[0165] In order to better implement the above solution of the embodiment of the present application, the following also provides related devices for implementing the above solution. Figure 7 , Figure 7 A schematic diagram of the structure of an application management device in edge computing provided in an embodiment of the present application, wherein the application management device 700 includes:

[0166] A determination unit 701 is used to determine a target identifier corresponding to a target microservice application;

[0167] An identification unit 702 is used to determine at least one edge node group based on the target identifier, each edge node group corresponds to a deployment object of the target microservice application, and the deployment object includes multiple target processes;

[0168] A matching unit 703, used to determine a service object that matches the target process to determine an execution process;

[0169] The management unit 704 is used to verify the nodes corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

[0170] Optionally, in some possible implementations of the present application, the identification unit 702 is specifically configured to determine a target field corresponding to the target identifier;

[0171] The identification unit 702 is specifically configured to determine a target tag corresponding to the target field;

[0172] The identification unit 702 is specifically configured to determine at least one edge node group based on the target tag, wherein each node in the edge node group is marked with the target tag.

[0173] Optionally, in some possible implementations of the present application, the identification unit 702 is specifically configured to determine key information corresponding to the target tag;

[0174] The identification unit 702 is specifically configured to determine corresponding value information based on the key information;

[0175] The identification unit 702 is specifically configured to group nodes based on the value information to determine at least one edge node group.

[0176] Optionally, in some possible implementations of the present application, the matching unit 703 is specifically configured to determine a service object that matches the target process to determine the end point information of the target process;

[0177] The matching unit 703 is specifically configured to determine the execution process based on the end point information.

[0178] Optionally, in some possible implementations of the present application, the matching unit 703 is specifically used to determine the service interface of the node corresponding to the execution process;

[0179] The matching unit 703 is specifically configured to monitor based on the service interface to obtain an access node group;

[0180] The matching unit 703 is specifically configured to verify the nodes included in the access node group and the nodes included in the edge node group to guide the operation of the target microservice application.

[0181] Optionally, in some possible implementations of the present application, the management unit 704 is specifically configured to generate an execution routing table based on the access node group if the nodes included in the access node group are the same as the nodes included in the edge node group;

[0182] The management unit 704 is specifically configured to guide the operation of the target microservice application based on the execution routing table.

[0183] Optionally, in some possible implementations of the present application, the management unit 704 is specifically configured to intercept a difference item if the nodes included in the access node group are different from the nodes included in the edge node group, so as to update the access node group;

[0184] The management unit 704 is specifically configured to guide the operation of the target microservice application based on the updated access node group.

[0185] Optionally, in some possible implementations of the present application, the determining unit 701 is specifically used to obtain network fluctuation information indicated by the target microservice application;

[0186] The determining unit 701 is specifically configured to determine the target identifier corresponding to the target microservice application based on the network fluctuation information.

[0187] Optionally, in some possible implementations of the present application, the management unit 704 is specifically configured to determine an input field for the target microservice application in response to an identification setting instruction;

[0188] The management unit 704 is specifically configured to update the target identifier based on the input field;

[0189] The management unit 704 is specifically configured to mark the deployment object and the service object based on the updated target identifier.

[0190] Optionally, in some possible implementations of the present application, the management unit 704 is specifically used to determine a candidate node group in response to a node adding instruction, and the candidate node group is used to supply the operation of the target microservice application;

[0191] The management unit 704 is specifically configured to mark the candidate node group based on the target identifier.

[0192] Optionally, in some possible implementations of the present application, the management unit 704 is specifically used to monitor the flow of the running process of the target microservice application to obtain flow information;

[0193] The management unit 704 is specifically configured to adjust the node corresponding to the execution process based on the traffic information.

[0194] By determining the target identifier corresponding to the target microservice application; then determining at least one edge node group based on the target identifier, wherein each edge node group corresponds to the deployment object of the target microservice application, and the deployment object includes multiple target processes; further determining the service object matching the target process to determine the execution process; and then verifying the nodes corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application. Thus, the deployment process of the target microservice application in different regions of the same cluster is realized. Since each region performs the same application deployment based on the edge node group, the application service can be run without crossing regions, avoiding cross-regional access to services and improving the stability of the application service under network fluctuations.

[0195] The present application also provides a server. Figure 8 , Figure 8 800 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 822 (for example, one or more processors) and memory 832, and one or more storage media 830 (for example, one or more mass storage devices) storing application programs 842 or data 844. Among them, the memory 832 and the storage medium 830 may be short-term storage or permanent storage. The program stored in the storage medium 830 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 822 may be configured to communicate with the storage medium 830 to execute a series of instruction operations in the storage medium 830 on the server 800.

[0196] The server 800 may also include one or more power supplies 826, one or more wired or wireless network interfaces 850, one or more input and output interfaces 857, and / or one or more operating systems 841, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.

[0197] The steps performed by the management device in the above embodiment can be based on the Figure 8 The server structure shown.

[0198] In an embodiment of the present application, a computer-readable storage medium is also provided. The computer-readable storage medium stores application management instructions in edge computing. When the computer-readable storage medium is run on a computer, the computer executes the above-mentioned Figures 2 to 6 The illustrated embodiment describes the steps performed by the application management device in edge computing.

[0199] The present application also provides a computer program product including an application management instruction in edge computing, which, when executed on a computer, enables the computer to execute the aforementioned Figures 2 to 6 The illustrated embodiment describes the steps performed by the application management device in edge computing.

[0200] The embodiment of the present application also provides an application management system in edge computing, and the application management system in edge computing may include Figure 7 The application management device in the edge computing of the described embodiments, or Figure 8 The server being described.

[0201] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0202] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0203] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0204] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0205] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or partly contribute to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, an application management device in edge computing, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0206] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for application management in edge computing, characterized in that: include: Determine the target identifier corresponding to the target microservice application; Determine at least one edge node group based on the target identifier, each edge node group corresponds to a deployment object of the target microservice application, and the deployment object includes multiple target processes; Determine a service object that matches the target process to determine the execution process; Verification is performed based on the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

2. The method according to claim 1, characterized in that The determining at least one edge node group based on the target identifier includes: Determine the target field corresponding to the target identifier; determining a target tag corresponding to the target field; At least one edge node group is determined based on the target tag, and each node in the edge node group is marked with the target tag.

3. The method according to claim 2, characterized in that The determining at least one edge node group based on the target tag includes: Determine key information corresponding to the target tag; Determine corresponding value information based on the key information; Node grouping is performed based on the value information to determine at least one edge node group.

4. The method according to claim 1, characterized in that: The determining of a service object matching the target process to determine the execution process includes: Determine a service object that matches the target process to determine the end point information of the target process; The execution progress is determined based on the end point information.

5. The method according to claim 1, characterized in that The verifying the node corresponding to the execution process with the nodes included in the edge node group to guide the operation of the target microservice application includes: Determine the service interface of the node corresponding to the execution process; Monitoring based on the service interface to obtain an access node group; The nodes included in the access node group are verified with the nodes included in the edge node group to guide the operation of the target microservice application.

6. The method according to claim 5, characterized in that The verifying the nodes included in the access node group and the nodes included in the edge node group to guide the operation of the target microservice application includes: If the nodes included in the access node group are the same as the nodes included in the edge node group, generating an execution routing table based on the access node group; The operation of the target microservice application is guided based on the execution routing table.

7. The method according to claim 6, characterized in that The method further comprises: If the nodes included in the access node group are different from the nodes included in the edge node group, intercepting the difference item to update the access node group; The operation of the target microservice application is guided based on the updated access node group.

8. The method according to claim 1, characterized in that: The determining of the target identifier corresponding to the target microservice application includes: Obtaining network fluctuation information indicated by the target microservice application; The target identifier corresponding to the target microservice application is determined based on the network fluctuation information.

9. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: Determining, in response to the identification setting instruction, an input field for the target microservice application; updating the target identifier based on the input field; The deployment object and the service object are marked based on the updated target identifier.

10. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: Determining a candidate node group in response to a node adding instruction, the candidate node group is used to supply the operation of the target microservice application; The candidate node group is marked based on the target identifier.

11. The method according to any one of claims 1 to 8, characterized in that: The method further comprises: Performing traffic monitoring on the running process of the target microservice application to obtain traffic information; The node corresponding to the execution process is adjusted based on the traffic information.

12. The method according to claim 1, characterized in that The application management method in edge computing is carried out on a distributed cluster management system, the target microservice application is a reverse proxy web server software, and the target identifier is a unique identifier.

13. An application management device in edge computing, characterized in that: include: A determination unit, used to determine a target identifier corresponding to a target microservice application; an identification unit, configured to determine at least one edge node group based on the target identifier, each edge node group corresponding to a deployment object of the target microservice application, the deployment object including a plurality of target processes; A matching unit, used to determine a service object that matches the target process to determine an execution process; A management unit is used to verify based on the node corresponding to the execution process and the nodes included in the edge node group to guide the operation of the target microservice application.

14. A computer device, characterized in that: The computer device comprises a processor and a memory: The memory is used to store program code; the processor is used to execute the application management method in edge computing as described in any one of claims 1 to 12 according to the instructions in the program code.

15. A computer-readable storage medium, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is executed on a computer, the computer executes the application management method in edge computing as described in any one of claims 1 to 12.

Citation Information

Patent Citations

  • Business processing method and device based on application service, gateway equipment and medium

    CN110138862A

  • Cloud over IP for enterprise hybrid cloud network and security

    US10382401B1