A processing method and an electronic device

By dynamically sharing computing resources between light edge clusters and generating kernel layer forwarding rules, the problem of insufficient computing in light edge clusters is solved, and rapid and unaware application service quality improvement is achieved.

CN115550365BActive Publication Date: 2025-07-22LENOVO (BEIJING) LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211170422.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-22
Publication Date
2025-07-22
Estimated Expiration
2042-09-22

AI Technical Summary

Technical Problem

Insufficient computing resources in light edge clusters lead to a decline in application service quality. The traditional solution requires the intervention of operation and maintenance personnel, which is time-consuming and labor-intensive and costly.

Method used

By borrowing and returning computing resources between multiple edge clusters, cross-cluster access paths are generated and forwarding rules are embedded to the platform system kernel, computing power sharing and dynamic load balancing are realized.

Benefits of technology

It can quickly solve the problem of insufficient resources without hardware investment, improve application service quality, and reduce user-perceived access latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115550365B_ABST
    Figure CN115550365B_ABST
Patent Text Reader

Abstract

The present application discloses a processing method and an electronic device. The method includes: obtaining an access path of a target application, where the target application is a corresponding application provided by a first edge cluster, and the obtained access path includes: an access path of the target application in the first edge cluster and access paths in at least one second edge cluster, where the target application is deployed in the first edge cluster and cross-cluster deployed in at least one second edge cluster; generating a forwarding rule for an access request for accessing the target application according to the obtained access path; and embedding the generated forwarding rule into the kernel of the platform system of the first edge cluster through a preset interface.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the technical field of resource allocation and scheduling, and particularly relates to a processing method and an electronic device. Background Art

[0002] In a light edge cluster, the situation of insufficient computing resources often occurs. Light edge clusters are often in various complex environments and are far from professional operation and maintenance personnel. Once the problem of insufficient resources appears, users usually have to endure relatively poor application services and wait for the operation and maintenance personnel to arrange time for resource replenishment, such as replacing hardware or deploying new servers, etc.

[0003] This solution requires the intervention of operation and maintenance personnel on the one hand, which is time-consuming, laborious and inefficient. It may take one day or even several days to complete resource replenishment, affecting the quality of application services for users. On the other hand, it requires more capital / resource investment, resulting in an increase in costs. Summary of the Invention

[0004] For this reason, the present application discloses the following technical solutions:

[0005] A processing method, the method comprising:

[0006] Obtaining an access path of a target application; the target application is a corresponding application provided by a first edge cluster, and the access path includes: an access path of the target application in the first edge cluster and access paths in at least one second edge cluster; the target application is deployed in the first edge cluster and is deployed across clusters in the at least one second edge cluster;

[0007] Generating a forwarding rule for an access request for accessing the target application according to the access path;

[0008] Embedding the forwarding rule into the kernel of the platform system of the first edge cluster through a preset interface.

[0009] Optionally, the preset interface is an interface provided by an extended Berkeley Packet Filter eBPF.

[0010] Optionally, the obtaining of the access path of the target application includes:

[0011] Using a load proxy deployed at the application layer of the platform system of the first edge cluster to obtain the configured path information of the first edge cluster and the path information of the at least one second edge cluster transmitted by the management party as the access path of the target application;

[0012] Wherein, in response to the target application not meeting the performance conditions on the first edge cluster, the management party deploys the target application across clusters to at least one second edge cluster.

[0013] Optionally, generating a forwarding rule for the access request for accessing the target application according to the access path includes:

[0014] Using the load balancer deployed in the application layer of the platform system of the first edge cluster, generating a forwarding rule for the access request for accessing the target application according to the access path and a preset load balancing policy;

[0015] Embedding the request forwarding rule into the kernel of the platform system of the first edge cluster through a preset interface includes:

[0016] Using the load balancer to call the preset interface, and embedding the forwarding rule into the kernel of the platform system of the first edge cluster by calling the preset interface.

[0017] Optionally, the above method further includes:

[0018] In the request forwarding stage, in response to obtaining an access request for accessing the target application, forwarding the access request based on the forwarding rule in the kernel of the platform system of the first edge cluster.

[0019] A processing method, the method includes:

[0020] Determining the application performance of applications respectively deployed in multiple edge clusters;

[0021] In response to there being a first edge cluster in which the application performance of the deployed application does not meet the performance condition, determining at least one second edge cluster that meets the scheduling condition from the multiple edge clusters;

[0022] Deploying the target application of the first edge cluster that does not meet the performance condition to the at least one second edge cluster;

[0023] Transmitting the access path corresponding to the at least one second edge cluster of the target application to the first edge cluster.

[0024] Optionally, determining the application performance of applications respectively deployed in multiple edge clusters includes:

[0025] Obtaining the operation situation information corresponding to each edge cluster, where the operation situation information includes resource usage status information and / or application performance situation information of the deployed application;

[0026] Determining the application performance of applications respectively deployed in each edge cluster according to the operation situation information corresponding to each edge cluster.

[0027] Optionally, determining at least one second edge cluster that meets the scheduling conditions from the multiple edge clusters includes:

[0028] Determining at least one second edge cluster that meets the scheduling conditions from the multiple edge clusters according to the topology data and operation status information corresponding to the multiple edge clusters;

[0029] Wherein, the scheduling conditions include constraint conditions on the idle resources of the edge cluster and constraint conditions on the relative position with the first edge cluster.

[0030] Optionally, the above method further includes:

[0031] In response to the access volume of the target application meeting the access volume condition, cancel the deployment of the target application in at least one second edge cluster.

[0032] An electronic device includes:

[0033] A memory for storing at least a set of computer instruction sets;

[0034] A processor for implementing the processing method as described in any one of the above by calling and executing the instruction sets stored in the memory.

[0035] As can be seen from the above solutions, the processing method and electronic device disclosed in this application deploy the target application provided by the first edge cluster in the first edge cluster and across clusters in at least one second edge cluster, obtain the access paths of the target application in the first edge cluster and the above at least one second edge cluster, generate forwarding rules for access requests for accessing the target application according to the obtained access paths, and embed the generated forwarding rules into the kernel of the platform system of the first edge cluster through a preset interface, realizing cross-cluster computing power sharing, and can dynamically solve the application service quality problems caused by insufficient resources and increased business pressure in edge clusters online, and can avoid the disadvantages of the need to increase hardware investment in the traditional method.

[0036] In addition, by embedding the generated forwarding rules into the kernel of the platform system of the first edge cluster through a preset interface, this application can further accelerate the forwarding rate of access requests for the target application, realize cross-cluster request forwarding without user perception, and avoid the problems of large application access latency and poor user experience in cross-cluster deployment. Description of the Drawings

[0037] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can also be obtained based on the provided drawings.

[0038] Figure 1 It is a schematic diagram of the resource usage differences of different light edge clusters;

[0039] Figure 2 It is a schematic diagram of the centralized monitoring and application management deployment of multiple edge clusters by the management party provided by the present application;

[0040] Figure 3 It is a schematic flowchart of a processing method applied to the edge side provided by the present application;

[0041] Figure 4 It is another schematic flowchart of a processing method applied to the edge side provided by the present application;

[0042] Figure 5 It is a schematic flowchart of a processing method applied to the management party provided by the present application;

[0043] Figure 6 It is another schematic flowchart of a processing method applied to the management party provided by the present application;

[0044] Figure 7 It is a schematic diagram of the composition structure of the management party and the edge side provided by the present application;

[0045] Figure 8 It is an exemplary processing flow of the cloud management platform and the edge cluster in the case of an application performance bottleneck provided by the present application;

[0046] Figure 9 It is a schematic diagram of the cross-cluster application deployment and deployment result distribution of the cloud management platform among different clusters provided by the present application;

[0047] Figure 10 It is an exemplary processing flow for canceling the cross-cluster deployment of an application provided by the present application;

[0048] Figure 11(a) - Figure 11(b) It is a schematic diagram for comparing the resource usage status and application performance of the known technology and multiple edge clusters in the present application;

[0049] Figure 12 It is a composition structure diagram of the electronic device provided by the present application. Detailed implementation manners

[0050] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0051] The present application discloses a processing method and an electronic device, which are used to solve problems such as poor application performance and degraded application service quality caused by insufficient internal resources and increased business pressure in environments such as light edge clusters.

[0052] The applicant found that in the light edge cluster platform, there are often some light edge clusters that encounter insufficient computing resources, while other light edge clusters may have a large amount of redundant computing power due to low business volume, such as Figure 1 The exemplary provided resource usage difference situations of different light edge clusters. Therefore, the present application solves the above technical problems by balancing computing resources / computing capabilities among multiple clusters, that is, by borrowing and returning computing resources / computing capabilities between different clusters.

[0053] The processing method provided by the present application includes a processing method applied to the edge side and a processing method applied to the management side / management party. Among them, the processing method applied to the edge side can specifically but not limited to be applied to servers deployed in a light edge cluster or a similar cluster environment, and the processing method applied to the management side / management party can specifically but not limited to be applied to a cloud management platform.

[0054] As Figure 2 shown, for multiple light edge clusters (or non-light edge clusters in a similar environment) in the present application, a management party such as a cloud management platform is deployed. By using the management party such as the cloud management platform, capabilities of centralized resource / application monitoring for multiple clusters, dynamic resource application and release across clusters, application deployment and uninstallation across clusters, and collection and distribution of access paths of applications deployed across clusters are provided, so as to realize that when the application performance of a certain cluster cannot meet the requirements, the application of this cluster is dynamically and online deployed to other clusters with redundant resources / capabilities to support cross-cluster access of the application.

[0055] See Figure 3 , a flowchart of the processing method applied to the edge side in the present application is provided. The processing method applied to the edge side at least includes the following processing steps:

[0056] Step 301: Obtain the access path of the target application; the target application is the corresponding application provided by the first edge cluster, and the obtained access path includes: the access path of the target application in the first edge cluster and the access paths in at least one second edge cluster; the target application is deployed in the first edge cluster and cross-cluster deployed in the at least one second edge cluster.

[0057] The first edge cluster and the second edge cluster can be different light edge clusters or non-light edge clusters respectively, without limitation.

[0058] Furthermore, the target application is an application in the first edge cluster whose application performance fails to meet the performance conditions due to insufficient current resources / calculation power within the cluster. The performance conditions can be, but are not limited to, any one or more of the following: the business latency of the application does not exceed the set duration, the application has availability, etc.

[0059] Among them, the application having availability can mean that the application connection is normal, the application is not suspended, not offline, etc.

[0060] Combined with Figure 2 , the management party, such as a cloud management platform, can determine the cluster whose application performance fails to meet the performance conditions and the target application in that cluster that fails to meet the performance conditions by centrally monitoring the resource status (such as CPU / disk / memory utilization) and / or application performance of each cluster within the managed scope. When it is monitored that the target application in the first edge cluster fails to meet the performance conditions, the target application in the first edge cluster is online and dynamically cross-cluster deployed to at least one second edge cluster with a higher resource / calculation power redundancy within the managed scope of each cluster. That is, during the cross-cluster deployment of the target application, the target application on the first edge cluster remains online and does not need to be taken offline. After the deployment of the target application in at least one second edge cluster is completed subsequently, it seamlessly switches to providing the corresponding business service based on the target application deployed on the first edge cluster and at least one second edge cluster.

[0061] On this basis, the management party, such as a cloud management platform, further collects the access paths of the target application in the at least one second edge cluster for cross-cluster deployment and distributes the collected access paths to the first edge cluster. Specifically, the path information of the at least one second edge cluster can be collected as the access path of the target application corresponding to the at least one second edge cluster. The collected path information of the second edge cluster can include, but is not limited to, information such as the domain name and / or IP (Internet Protocol) address of the second edge cluster.

[0062] Optionally, in the application layer of the platform systems of each cluster at the edge side in the embodiments of the present application, load proxies are respectively deployed. The deployed load proxies are responsible for receiving the cross-cluster application access paths sent by the management side, and generating and deploying access request forwarding rules based on the received access paths.

[0063] In this step, the load proxy deployed in the application layer of the platform system of the first edge cluster is correspondingly used to obtain the path information of the above-mentioned at least one second edge cluster transmitted by the management side. In addition, the load proxy also obtains the path information of the first edge cluster configured in advance, and uses the path information of the first edge cluster and the path information of the above-mentioned at least one second edge cluster as the access path of the target application together.

[0064] The path information of the first edge cluster includes, but is not limited to, information such as the domain name and / or IP address of the first edge cluster configured in advance.

[0065] Step 302: Generate a forwarding rule for the access request used to access the target application according to the obtained access path.

[0066] After obtaining the access path of the target application, the load proxy deployed in the application layer of the platform system of the first edge cluster generates a forwarding rule for the access request used to access the target application according to the obtained access path and the preset load balancing strategy.

[0067] The load forwarding strategy may be, but is not limited to, any one of the following strategies:

[0068] a. Randomly forward the access requests used to access the target application between the first edge cluster and at least one second edge cluster where the target application is deployed across clusters;

[0069] b. Forward the access requests used to access the target application between the first edge cluster and at least one second edge cluster where the target application is deployed across clusters in proportion;

[0070] c. According to the resource usage, load status, and / or network status (whether the network is stable) of different clusters, etc., preferentially forward the access requests used to access the target application between the first edge cluster and at least one second edge cluster where the target application is deployed across clusters.

[0071] In practical applications, a load forwarding strategy that can achieve load balancing for each cluster where the target application is deployed can be preferably used to generate the forwarding rule.

[0072] Step 303: Embed the generated forwarding rule into the kernel of the platform system of the first edge cluster through a preset interface.

[0073] After the generation of the forwarding rules is completed, the load proxy in the first edge cluster further deploys the generated forwarding rules on the platform system of the first edge cluster. Subsequently, when the platform system of the first edge cluster receives an access request initiated by a client for a target application, it can selectively forward the access request for the target application among the clusters based on the deployed forwarding rules.

[0074] Among them, specifically, according to the obtained access path and the set load forwarding policy, the forwarding rules can be generated in the form of a load balancing program. Subsequently, the generated load balancing program can be further deployed as a load balancer in the platform system of the first edge cluster to support rule-based request forwarding processing.

[0075] Preferably, in the embodiment of the present application, the load proxy in the first edge cluster calls a preset interface, and by calling the preset interface, embeds the generated forwarding rules (such as a load balancing program) into the kernel of the platform system of the first edge cluster to support forwarding of access requests for accessing the target application at the kernel layer of the platform system of the first edge cluster.

[0076] Optionally, the preset interface is provided by an extended Berkeley Packet Filter eBPF.

[0077] From the above solutions, it can be seen that the method of the embodiment of the present application realizes cross-cluster computing power sharing by deploying the target application provided by the first edge cluster in the first edge cluster and cross-cluster in at least one second edge cluster, obtaining the access paths of the target application in the first edge cluster and the at least one second edge cluster, generating forwarding rules for access requests for accessing the target application according to the obtained access paths, and embedding the generated forwarding rules into the kernel of the platform system of the first edge cluster through a preset interface. It can dynamically solve the application service quality problems caused by insufficient resources and increased business pressure in the edge cluster online, and can avoid the disadvantages of the traditional method that requires increasing hardware investment.

[0078] In addition, by embedding the generated forwarding rules into the kernel of the platform system of the first edge cluster through a preset interface, the embodiment of the present application can further accelerate the forwarding rate of access requests for the target application, realize cross-cluster request forwarding without user perception, and avoid the problems of large application access latency and poor user experience in cross-cluster deployment.

[0079] See Figure 4 As shown in the flowchart of the processing method, in one embodiment, the processing method applied to the edge side provided by the present application may further include the following processing:

[0080] Step 304: In the request forwarding stage, in response to obtaining an access request for accessing the target application, the kernel of the platform system in the first edge cluster forwards the obtained access request based on the forwarding rules.

[0081] In the request forwarding stage, the load balancer deployed in the kernel of the platform system in the first edge cluster is responsible for intercepting the access request (network request packet) for the target application and forwarding the obtained access request.

[0082] Specifically, at the kernel layer, the load balancing program used as the load balancer can be run to implement specifying a corresponding access path for each network request packet based on the forwarding rules. For example, the access path that the network request packet defaults to accessing the first edge cluster (such as the domain name / IP address of the first edge cluster) is modified to the access path for a certain second edge cluster determined based on the forwarding rules (such as the domain name / IP address of the second edge cluster), etc., so as to disperse the access requests for accessing the target application to different clusters and improve the problem of poor performance of the target application caused by insufficient resources / calculation power in the first edge cluster by means of cross-cluster computing power.

[0083] The known technology deploys the forwarding rules and forwards requests at the application layer (i.e., the user state). The embodiment of the present application adopts the eBPF technology. By calling the interface provided by eBPF to embed the generated forwarding rules into the kernel of the cluster platform system, it is possible to perform fast and efficient forwarding of application access requests at a lower layer, namely the kernel layer of the platform system, avoiding the problem of large application access latency and poor user experience caused by the existence of the load balancer.

[0084] Figure 5 Further shows the flowchart of the processing method applied to the management end / management party. As Figure 5 shown, the processing method applied to the management end / management party provided by the embodiment of the present application includes:

[0085] Step 501: Determine the application performance of the applications deployed in multiple edge clusters respectively.

[0086] The management party can obtain the operation status information corresponding to each edge cluster respectively, and determine the application performance of the applications deployed in each edge cluster respectively according to the obtained operation status information.

[0087] The operation status information corresponding to each edge cluster respectively includes, but is not limited to, the resource usage status information corresponding to each edge cluster respectively and / or the application performance situation information of the deployed applications.

[0088] Optionally, a management party such as a cloud management platform can monitor the resource usage status of each edge cluster within the scope of management in real time, and / or monitor the performance of applications on each cluster. For example, monitor the resource usage status such as CPU utilization rate, disk utilization rate, memory utilization rate, file read / write rate, and whether the CPU is overheated of each edge cluster, and monitor the performance such as application latency and application availability. The resource usage status information and / or application performance information of each cluster obtained by monitoring are used as the operation status information of each cluster to determine the application performance of the applications deployed on each cluster respectively.

[0089] Among them, specifically, based on the monitored resource usage status information and / or application performance information, it can be determined whether the application performance of the applications deployed on multiple edge clusters respectively meets the performance conditions.

[0090] The performance conditions can be, but are not limited to, set as any one or more of the business latency of the application not exceeding the set duration, the application having availability (such as the application connection is normal, not suspended, not offline), etc.

[0091] For example, according to the monitored application performance information, determine whether the business latency of the applications in each edge cluster times out and whether the application has availability, and / or according to the monitored CPU / disk / memory utilization rate, file read / write rate, etc., determine whether the business latency of the applications in each edge cluster will time out and whether the application has availability, etc., so as to determine whether the application performance of the applications in each edge cluster meets the performance conditions.

[0092] Further, optionally, in one embodiment, specifically, according to various monitoring information at the resource and / or application level, it can be determined whether the applications deployed in each edge cluster meet the performance conditions at the current moment to detect whether there is a performance bottleneck in the applications in each cluster at the current moment.

[0093] However, it is not limited to this. In other embodiments, a prediction algorithm can also be run, such as a prediction algorithm based on machine learning. According to the historical trend data of the application and various monitoring data such as the current resource usage status and application performance, it can be predicted whether the application will not meet the performance conditions and cause a performance bottleneck in a future period of time, and the time when the performance bottleneck occurs. In practical applications, either of the two embodiments can be adopted according to requirements, without limitation.

[0094] Step 502, in response to the existence of a first edge cluster in which the application performance of the deployed application does not meet the performance conditions, determine at least one second edge cluster that meets the scheduling conditions from the above-mentioned multiple edge clusters.

[0095] It is easy to understand that the first edge cluster where the application performance of the deployed application in each edge cluster does not meet the performance conditions may refer to the first edge cluster where the application performance of the deployed application does not meet the performance conditions at the current moment, or the first edge cluster where the application performance of the deployed application does not meet the performance conditions within a preset future time period (such as the next half hour, one hour, etc.), depending on the actual detection and determination strategy of the management party.

[0096] Optionally, the above scheduling conditions include the constraint conditions for the edge cluster in terms of idle resources and the constraint conditions in terms of the relative position with the first edge cluster.

[0097] The constraint conditions for the edge cluster in terms of idle resources can be, but are not limited to, set as: the resource occupancy rate of the CPU / disk / memory, etc. of the edge cluster is lower than the corresponding threshold to ensure that the edge cluster has sufficient redundant computing power to deploy at least part of the business services of the target application. The constraint conditions in terms of the relative position with the first edge cluster can be, but are not limited to, set as: the distance from the first edge cluster does not exceed the preset distance threshold, or the distance from the first edge cluster belongs to the top k (k≥1 and k is an integer) of the distances between each edge cluster within the scope of management of the cloud management platform and the first edge cluster.

[0098] However, it is not limited to this. The scheduling conditions can also include the constraint conditions for the edge cluster in terms of network status, business load, etc., to support, in the case of the first edge cluster where the application performance does not meet the performance conditions, based on the scheduling conditions, and taking the principles of proximity, resource sharing, and no impact on the local cluster's business as the criteria, to determine at least one second edge cluster with a relatively small distance from the first edge cluster, sufficient resource / computing power redundancy, relatively low business load, and relatively stable network status as much as possible for cross-cluster deployment of the target application whose performance conditions are not met in the first edge cluster.

[0099] Optionally, a management party such as a cloud management platform maintains the topology data of each edge cluster within the scope of management. The maintained topology data includes, but is not limited to, the geographical location topology relationship data between each cluster and the service access delay information between clusters.

[0100] When the management party determines that there is a first edge cluster where the application performance of the deployed application does not meet the performance conditions at the current moment or within a preset future time period, it can, at the current moment, or after the current moment and before the time when application performance bottlenecks will occur in the future, determine at least one second edge cluster that meets the above scheduling conditions from multiple edge clusters according to the topology data corresponding to each edge cluster within the scope of management and the operation situation information such as the resource usage status and / or the application performance of the deployed application corresponding to each edge cluster.

[0101] Step 503: Deploy the target application of the first edge cluster that does not meet the performance condition to the at least one second edge cluster.

[0102] After determining at least one second edge cluster that meets the above-mentioned scheduling conditions, the management direction dynamically applies for resources to the at least one second edge cluster, and issues an application deployment request for the target application to implement the deployment of the target application in the at least one second edge cluster, thereby combining the computing power of the first edge cluster and the computing power shared by at least one second edge cluster to provide business services corresponding to the target application.

[0103] Among them, the deployment of the target application in the second edge cluster includes but is not limited to the business services involved in the target application and the deployment of the business data (such as various databases) based on it in the second edge cluster.

[0104] Step 504: Transmit the access path corresponding to the target application in the at least one second edge cluster to the first edge cluster.

[0105] At the same time, the management party collects the path information of the at least one second edge cluster where the target application is deployed, such as collecting the domain name / IP address of the at least one second edge cluster, and uses the collected information as the access path of the target application in the at least one second edge cluster, and sends it to the load agent of the first edge cluster. The load agent of the first edge cluster generates forwarding rules for access requests for accessing the target application based on the path information of the at least one second edge cluster received from the management party and the pre-configured path information of the first edge cluster, such as generating a load balancing program, and calling the interface provided by eBPF to embed it into the kernel of the platform system of the first edge cluster, so as to realize the load balancing and request forwarding capabilities at the kernel layer.

[0106] The embodiment of the present application utilizes the centralized resource monitoring, application performance monitoring, and cross-cluster management and deployment capabilities of cloud management platforms and other management parties, and combines the use of eBPF technology at the edge end to delegate the request forwarding capabilities of applications in different clusters to the kernel layer, so as to quickly and efficiently distribute the business pressure of applications across clusters to other edge clusters. In the case of insufficient resources / computing power in any edge cluster, it has the technical advantages of cross-cluster application deployment and load balancing / request forwarding without user perception.

[0107] See also Figure 6 As shown in the processing method flow chart, in one embodiment, the processing method provided by the present application and applied to the management party may also include the following processing:

[0108] Step 505: In response to the page views of the target application satisfying the page view condition, cancel the deployment of the target application in at least one second edge cluster.

[0109] Optionally, after the target application of the first edge cluster is deployed to at least one second edge cluster, the cloud management platform and other management parties monitor the client's access to the target application in real time. When the cloud management platform monitors that the access volume of the target application meets the access volume condition, such as the access volume is reduced to below a preset threshold, the resource pressure of the first edge cluster is reduced accordingly. After the performance requirements of the target application (such as availability, delay below a preset duration, etc.) can be met based on the first edge cluster alone, a deletion / uninstall request for the target application can be sent to at least one second edge cluster where the target application is deployed.

[0110] After receiving the request, the second edge cluster responds to it and deletes or uninstalls the deployed target application to cancel the deployment of the target application in the second edge cluster, so that the first edge cluster returns the borrowed resources / computing power to the borrowed cluster.

[0111] Among them, when there are multiple second edge clusters deployed with the target application, preferably, the management party can adopt a strategy of gradually deleting / uninstalling the target application, and send deletion / uninstallation requests for the target application to each second edge cluster at different times, so as to gradually cancel the deployment of the target application in multiple second edge clusters, so as to avoid the problem of a short-term sudden drop in the performance of the target application due to the simultaneous cancellation of the target application in multiple second edge clusters, which in turn leads to the failure to meet the performance requirements.

[0112] The embodiments of the present application achieve flexible balancing of the computing power of multiple edge clusters by borrowing and returning computing power in multiple edge clusters according to the dynamic operation status of each cluster application, which can not only meet the high resource and high computing power requirements of high access pressure clusters, but also avoid resource waste caused by clusters in a resource redundant state without increasing hardware investment. On this basis, by combining eBPF technology to deploy forwarding rules at the system kernel layer of the edge cluster, a completely imperceptible cross-cluster request forwarding capability is provided to client users, further accelerating the request forwarding rate of applications deployed across clusters.

[0113] An application example of the method of the present application is further provided below.

[0114] In this example, see Figure 7 The management party and edge end are shown in the architecture, in which a cloud management platform is deployed as the management party to provide centralized resource monitoring, application performance monitoring, and cross-cluster application management and deployment capabilities. The cloud management platform mainly includes six functional modules: cluster resource monitoring, cluster application monitoring, cross-cluster scheduling, load balancing management, application prediction, and application management.

[0115] The functions of each module are as follows:

[0116] Cluster resource monitoring: Responsible for real-time monitoring of the resource status of each edge cluster within the scope of management, such as monitoring CPU / disk / memory utilization, file read / write rate, etc.

[0117] Cluster application monitoring: Responsible for real-time monitoring of the application performance of each edge cluster within the scope of management, such as monitoring application latency, application availability, etc., and detecting whether the application has a performance bottleneck based on the monitoring data.

[0118] Among them, if the application performance does not meet the performance conditions, it is regarded as having a performance bottleneck.

[0119] Application prediction: Run machine learning prediction algorithms to predict whether an application will have a performance bottleneck and the time of occurrence of the performance bottleneck within a certain period in the future based on the historical trend data of the application.

[0120] Cross-cluster scheduling: Used to provide the ability to select clusters when deploying cross-cluster applications. Specifically, it can refer to the topology data, resources, and application monitoring data of each cluster within the scope of management, and select a suitable cluster to deploy applications that will have performance bottlenecks across clusters.

[0121] Application management: Provide the ability to deploy, delete / uninstall applications for use by the load balancing management module.

[0122] Load balancing management: Responsible for calling the monitoring information of the cluster and the monitoring information of the application, including the prediction results of the application, to decide whether to perform cross-cluster deployment and resource sharing processing of the application on a certain cluster. If cross-cluster deployment and resource sharing of the application are to be performed, it is responsible for selecting a cluster available for resource sharing through the cross-cluster scheduling module, and calling the application management module to send an application deployment request to the selected cluster, and responsible for sending the cross-cluster access path of the application to the load proxy module of the corresponding edge cluster (i.e., the cluster where the application performance bottleneck occurs).

[0123] Edge clusters are used to provide load proxies and load balancers. Among them:

[0124] Load proxy: Deployed in the application layer of the platform system of the edge cluster, used to receive the cross-cluster access path of the application sent by the cloud management platform, combine it with the access path of the application configured in this cluster to generate a forwarding rule, such as a load balancing program, and call the eBPF interface to embed the load balancing program into the kernel of the platform system of this cluster as a load balancer.

[0125] Load balancer: Deployed in the kernel layer of the platform system of the edge cluster, responsible for intercepting the network request packets of the application and modifying the access path of the packets, and dispersing and forwarding the access requests of the application to different clusters corresponding to different paths.

[0126] If it is detected that the application has a performance bottleneck or it is predicted that the application may have a performance bottleneck in the near future, an exemplary processing flow chart of the cloud management platform and the edge cluster is as Figure 8 shown, including:

[0127] 11) The cloud management platform monitors each edge cluster within the scope of management, including monitoring of resource usage status and application performance;

[0128] 12) The cloud management platform discovers that the application of cluster A (referred to as the target application here) has a too large delay. At the same time, referring to the resource occupancy, it is found that the CPU utilization rate is too high; or, the application prediction module of the cloud management platform predicts according to the application historical trend of cluster A that the target application may have a performance bottleneck in a short time in the future;

[0129] 13) Start the application load balancing module of the cloud management platform. The load balancing module triggers the cluster scheduling module to select, based on principles such as proximity, resource sharing, and no impact on the business of the local cluster, the edge clusters that can be used for cross-cluster deployment of the target application of cluster A according to the topology data of the managed clusters and the resource status data and application performance data of each supervised cluster. Suppose clusters B and C are selected;

[0130] 14) Call the application management module of the cloud management platform to issue an application deployment request to the selected clusters B and C to deploy the target application of cluster A across clusters to the selected clusters B and C;

[0131] 15) After the target application is successfully deployed in clusters B and C, the load balancing management module of the cloud management platform issues the access paths of the target application in clusters B and C to cluster A;

[0132] See Figure 9 , which provides a schematic diagram of cross-cluster application deployment and deployment result (cross-cluster access path of the application) issuance by the cloud management platform among different clusters.

[0133] 16) The load proxy of cluster A receives the issued access path, combines it with the configured access path of the target application in cluster A, generates a load balancing program, and calls the interface provided by eBPF to embed the load balancing program as a load balancer into the kernel of the platform system of cluster A;

[0134] 17) In the request forwarding stage, the load balancing program in the kernel of the platform system of cluster A intercepts the network request packets for the target application and selectively forwards the network request packets among clusters A, B, and C.

[0135] During the cross-cluster application forwarding process, the cloud management platform continuously monitors the access volume of the target application. If it is monitored that the access volume of the target application has decreased significantly and there is no need to occupy resources across clusters, the cross-cluster deployment of the target application is cancelled. Refer to Figure 10, the corresponding exemplary processing flow is as follows:

[0136] 21) The cloud management platform monitors the resources and applications of each edge cluster within the scope of management. If it is monitored that the access volume of the target application has decreased significantly and dropped below the preset threshold, the load balancing management module of the cloud management platform is called to cancel the cross-cluster deployment of the target application;

[0137] 22) The load balancing management module adopts a stepped cancellation method. Among them, the load balancing management module can further call the cluster scheduling module. The cluster scheduling module, according to the topology data of each cluster and the resource / application monitoring data, first selects the first cluster that shares computing resources with cluster A to be removed, assumed to be cluster B;

[0138] 23) The application management module of the cloud management platform issues an uninstall request for the target application to cluster B to instruct cluster B to uninstall the target application and cancel the cross-cluster deployment of the target application in cluster B;

[0139] 24) The application management module of the cloud management platform synchronously sends a notice to the load proxy of cluster A to remove the access path of the target application in cluster B;

[0140] 25) The load proxy of cluster A, according to the notice information, calls the eBPF interface to modify the load balancing program in the kernel and remove the access path of the target application in cluster B from it.

[0141] 26) After canceling the cross-cluster deployment of the target application in cluster B, according to the monitoring data of the target application, gradually remove the deployment of the target application in other clusters that share computing resources, such as cluster C.

[0142] Figure 11(a) - Figure 11(b) Further shows a schematic diagram of the comparison of the resource usage status and application performance of multiple edge clusters in the prior art and this application. Among them, referring to Fig. 11(a), in the prior art, the resource utilization rates of multiple edge clusters usually vary greatly. For clusters with application performance bottlenecks caused by high business pressure, it is necessary to supplement hardware resources to solve the problem, while other clusters with low business pressure have resource waste. After adopting the method of this application, as shown in Fig. 11(b), by borrowing and returning computing power in multiple edge clusters, the computing power of multiple edge clusters is flexibly balanced, which can not only meet the high resource and high computing power requirements of high-business-pressure clusters, but also avoid resource waste caused by clusters in a resource redundant state.

[0143] The embodiment of this application also discloses an electronic device, which can specifically be a server in the management party or an edge cluster. The composition structure of this electronic device, as Figure 12 shown, at least includes:

[0144] A memory 10 for storing a computer instruction set;

[0145] The computer instruction set can be implemented in the form of a computer program.

[0146] A processor 20 for implementing the processing method applied to the edge side or the processing method applied to the management side disclosed in any of the above method embodiments by executing the computer instruction set.

[0147] The processor 20 can be a Central Processing Unit (CPU), an application-specific integrated circuit (ASIC), a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or other programmable logic devices, etc.

[0148] The electronic device is equipped with a display device and / or has a display interface and can externally connect to a display device.

[0149] Optionally, the electronic device further includes a camera component and / or is connected to an external camera component.

[0150] In addition, the electronic device may further include components such as a communication interface and a communication bus. The memory, the processor, and the communication interface complete communication with each other through the communication bus.

[0151] The communication interface is used for communication between the electronic device and other devices. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc.

[0152] In summary, the processing method and the electronic device provided in the embodiments of the present application have at least the following technical advantages compared with the known technologies:

[0153] a. High real-time performance: After the cluster service pressure increases, the service pressure can be balanced within minutes, and cross-cluster computing power sharing can be achieved;

[0154] b. High flexibility: Solve the problem of the variability of application pressure in different edge clusters at different times (for example, sometimes the access pressure of the application on cluster A is high, and sometimes the access pressure of the application on cluster B is high), and avoid the disadvantage of increasing hardware investment in each cluster with application performance problems in the traditional method;

[0155] c. User imperceptibility: In the implementation of underlying service balancing, the forwarding rules are deployed to the kernel layer by adopting the eBPF technology to accelerate the request forwarding across clusters, avoiding the problems of large application latency and poor user experience caused by the existence of the load balancer.

[0156] d. Advance prediction: Based on the collected business performance data, trend data, etc., the cloud management platform can adopt machine learning prediction algorithms to predict the performance bottlenecks of applications in advance and layout the application load balancing in advance.

[0157] It should be noted that each embodiment in this specification is described in a progressive manner. The key point of each embodiment is to illustrate the differences from other embodiments. The same or similar parts among the embodiments can be referred to each other.

[0158] For the convenience of description, when describing the above system or device, it is divided into various modules or units according to functions for separate description. Of course, when implementing this application, the functions of each unit can be realized in the same or multiple software and / or hardware.

[0159] From the description of the above implementation manners, those skilled in the art can clearly understand that this application can be realized by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of this application, in essence, or the part that makes contributions to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments of this application.

[0160] Finally, it should also be noted that in this article, relational terms such as first, second, third, and fourth are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of another identical element in the process, method, article or device including the said element.

[0161] The above are only the preferred embodiments of the present application. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present application.

Claims

1. A processing method applied to the edge side, the method comprising: Obtaining an access path of a target application; The target application is a corresponding application provided by a first edge cluster, and the access path includes: the access path of the target application in the first edge cluster and the access paths in at least one second edge cluster; the target application is deployed in the first edge cluster and cross-cluster deployed in the at least one second edge cluster; the target application is an application in the first edge cluster whose application performance fails to meet the performance condition due to insufficient current resources / calculation power within the cluster; Generating a forwarding rule for an access request for accessing the target application according to the access path; Embedding the forwarding rule into the kernel of the platform system of the first edge cluster through a preset interface; Wherein, obtaining the access path of the target application includes: Using a load proxy deployed in the application layer of the platform system of the first edge cluster to obtain the configured path information of the first edge cluster and the path information of the at least one second edge cluster transmitted by the management party as the access path of the target application; Wherein, in response to the target application not meeting the performance condition on the first edge cluster, the management party deploys the target application cross-cluster to at least one second edge cluster.

2. The method according to claim 1, wherein the preset interface is an interface provided by an extended Berkeley Packet Filter eBPF.

3. The method according to claim 1, wherein generating a forwarding rule for an access request for accessing the target application according to the access path includes: Using a load proxy deployed in the application layer of the platform system of the first edge cluster to generate a forwarding rule for an access request for accessing the target application according to the access path and a preset load balancing policy; The embedding the forwarding rule into the kernel of the platform system of the first edge cluster through the preset interface includes: Using the load proxy to call the preset interface, and embedding the forwarding rule into the kernel of the platform system of the first edge cluster by calling the preset interface.

4. The method according to claim 1, further comprising: In the request forwarding stage, in response to obtaining an access request for accessing the target application, forwarding the access request based on the forwarding rule in the kernel of the platform system of the first edge cluster.

5. A processing method applied to a management party, the method comprising: Determining the application performance of applications respectively deployed in multiple edge clusters; In response to there being a first edge cluster in which the application performance of the deployed application fails to meet the performance condition, determining at least one second edge cluster that meets the scheduling condition from the multiple edge clusters; Deploying the target application of the first edge cluster that fails to meet the performance condition to the at least one second edge cluster; Transmit the access path corresponding to the at least one second edge cluster for the target application to the first edge cluster; so that the load proxy deployed in the application layer of the platform system of the first edge cluster obtains the configured path information of the first edge cluster and the access path corresponding to the at least one second edge cluster transmitted by the management party as the access path of the target application.

6. The method according to claim 5, wherein determining the application performance of the applications respectively deployed in the multiple edge clusters includes: Obtain the operation condition information respectively corresponding to each edge cluster, where the operation condition information includes resource usage status information and / or application performance condition information of the deployed applications; Determine the application performance of the applications respectively deployed in each edge cluster according to the operation condition information respectively corresponding to each edge cluster.

7. The method according to claim 6, wherein determining at least one second edge cluster that meets the scheduling conditions from the multiple edge clusters includes: Determine at least one second edge cluster that meets the scheduling conditions from the multiple edge clusters according to the topology data and operation condition information corresponding to the multiple edge clusters; wherein the scheduling conditions include constraint conditions on the idle resources of the edge cluster and constraint conditions on the relative position with the first edge cluster.

8. The method according to claim 5, further comprising: In response to the access volume of the target application meeting the access volume condition, cancel the deployment of the target application in at least one second edge cluster.

9. An electronic device, comprising: A memory for storing at least a set of computer instruction sets; A processor for implementing the edge-side processing method according to any one of claims 1-4 or the management-side processing method according to any one of claims 5-8 by calling and executing the instruction sets stored in the memory.

Citation Information

Patent Citations

  • Service load balancing processing method and device and cloud server

    CN113094182A