A Method and System for Autonomous Generation and Matching of On-Demand Networking Service Instances
Through the autonomous generation and matching method of on-demand network service instances, using the behavior tree architecture and Kubernetes automated scheduling, the problems of insufficient ability to generate service instances and low network bandwidth resource utilization in the existing technology are solved, and the rapid response to user needs and efficient resource utilization is achieved.
Patent Information
- Application Number
- CN202310430486.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-20
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-04-20
AI Technical Summary
The existing networking technology lacks the ability to generate service instances independently, and the network bandwidth resource utilization efficiency is low, and it is unable to quickly respond to user needs and changes in the network environment.
The on-demand networking service instance autonomous generation and matching method is adopted, and the business needs are broken down into multiple independent microservice instances and container instances through the behavior tree architecture. It uses resource management and service scheduling technology to dynamically deploy it on cloud-edge devices, and automatically schedule and monitor it through Kubernetes.
It realizes rapid deployment of services, reduces resource waste, improves resource utilization and service quality, enhances system flexibility and scalability, and improves service response speed and availability.
Smart Images

Figure CN116436923B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of communications and cloud computing, and in particular relates to a method for autonomously generating and matching on-demand networking service instances. Background Art
[0002] With the development of IoT technology, an increasing number of sensors, terminal devices, and embedded systems are connected to the internet, requiring them to process massive amounts of data and achieve real-time responses. Due to the widespread distribution of IoT devices and limited computing resources, traditional cloud computing models are no longer able to meet these demands. Consequently, cloud-edge collaborative technology has emerged. Edge computing is a new computing model that brings computation and data storage closer to terminal devices, enabling more flexible and efficient computing. Cloud-edge collaborative technology can combine edge computing and cloud computing to optimize resources and coordinate tasks, improving overall system performance.
[0003] To better meet the real-time and efficient management and control of the network, it is possible to detect business needs within the network and provide on-demand networking services. On-demand networking services refer to a service model based on cloud computing technology that allows users to flexibly create, start, manage, and terminate network service instances based on their needs. In this on-demand networking service model, users can select the required service instances, such as virtual machines, databases, and load balancers, through the console or API provided by the cloud computing platform, and then configure and deploy them according to their needs. Users can scale service instances at any time, adding or reducing computing, storage, network, and other resources based on their business needs and traffic load.
[0004] The existing technical solutions mainly include:
[0005] (1) Cloud-edge fusion services
[0006] Cloud-edge fusion service is a service deployment solution based on cloud-edge collaborative technology. The main problem it solves is how to achieve flexible migration and deployment of services between the cloud and the edge to improve service availability and response speed.
[0007] The core concept of cloud-edge converged services is to deploy services across multiple instances in the cloud and edge, and load balance them to optimize service response time and availability. Specifically, the same service instance can be deployed in the cloud and edge, and dynamic deployment and load balancing of services can be achieved through network load balancing and dynamic routing technologies.
[0008] The advantage of cloud-edge converged services lies in their ability to dynamically deploy and load balance services by deploying identical service instances on both the cloud and edge, using network load balancing and dynamic routing technologies to optimize service response time and availability. Furthermore, cloud-edge converged services can leverage edge computing and cloud computing collaboration technologies to enable resource sharing and collaboration between the cloud and edge, improving service availability and response speed.
[0009] However, cloud-edge fusion services also have some challenges and limitations, such as network communication and security issues, and service quality assurance. Therefore, comprehensive consideration and optimization are needed in practical applications.
[0010] (2) Service Containerization
[0011] Service containerization is a technology that encapsulates applications and their related components, libraries, configuration files, etc. into independent, portable, and reusable containers. These containers can run in different computing environments, including local computers, cloud computing platforms, and container cloud platforms.
[0012] The core of service containerization is container technology, a virtualization technology that isolates applications at the operating system level, ensuring their independence and security. The advantage of containers is that they provide a lightweight, fast, and easy-to-manage deployment method, enabling rapid iteration and deployment, and supporting cross-platform and cross-cloud application deployment.
[0013] Service containerization has become the mainstream approach to modern application development and deployment. Open source software projects such as Docker and Kubernetes are widely used in the development and management of container technologies.
[0014] (3) Self-organizing networks
[0015] A self-organizing network is a form of network organization based on distributed collaboration. Through self-organization and autonomy between nodes, the entire network becomes adaptive and robust, able to quickly adapt to changes in the network environment and improve network reliability and flexibility.
[0016] Self-organizing networks typically don't require a central control node. Instead, network management and maintenance are accomplished through communication and collaboration between nodes. Nodes in a self-organizing network can be sensors, mobile devices, computers, and other devices, connected by local area networks, wireless networks, and the internet.
[0017] The main features of self-organizing networks include the following: Distributed and decentralized: Self-organizing networks do not require a centralized control node, and each node completes network management and maintenance through mutual collaboration. Adaptability and robustness: Self-organizing networks can quickly adapt to changes in the network environment and have high robustness and reliability. Limited resources: Nodes in self-organizing networks usually have limited resources, such as bandwidth, energy, computing power, etc., so it is necessary to design some resource-saving mechanisms, such as routing algorithms, power control, etc. Security: There is usually a lack of trust between nodes in a self-organizing network, so it is necessary to design some security mechanisms, such as encryption, authentication, access control, etc., to ensure the security of the network.
[0018] Self-organizing networks have a wide range of applications, including sensor networks, mobile self-organizing networks, peer-to-peer networks, and wireless self-organizing networks. In these applications, self-organizing networks offer low-cost, low-power, easy-to-deploy and maintain solutions, supporting applications in areas such as the Internet of Things, intelligent transportation, and environmental monitoring. Furthermore, self-organizing networks are a key direction for the future of the Internet, offering a more flexible, robust, and secure approach to network organization.
[0019] The existing technology mainly has the following shortcomings:
[0020] (1) Lack of ability to autonomously generate service instances: Most existing networking technologies require manual configuration of service instances and scheduling strategies. They lack the ability to autonomously generate service instances and are unable to quickly respond to changes in user needs and network environment.
[0021] (2) Low efficiency in network bandwidth resource utilization: Existing technologies can often only deploy service instances on the cloud or edge nodes, but cannot fully utilize cloud-edge resources, resulting in low efficiency in network bandwidth resource utilization. Summary of the Invention
[0022] In order to overcome the shortcomings of the above-mentioned prior art, the purpose of the present invention is to provide a method for autonomously generating and matching on-demand networking service instances, so as to achieve rapid deployment of services, reduce resource waste, and achieve high availability of services.
[0023] In order to achieve the above object, the technical solution adopted by the present invention is:
[0024] A method for autonomously generating and matching on-demand networking service instances, comprising:
[0025] S101, Requirements Analysis
[0026] Analyze user requirements, including instance type, quantity, configuration, and network topology, to determine which service instances need to be deployed on routing nodes;
[0027] S102, self-generated
[0028] Automatically generate service instances that meet specific requirements based on the demand information obtained from the demand analysis; the automatic generation includes resource management and service scheduling; the resource management manages the computing, storage, and network bandwidth resources on the cloud edge devices, and dynamically allocates and schedules resources based on the demand and performance data of the service instances; the service scheduling dynamically deploys the service instances on the cloud edge devices based on the resource management results, and is responsible for monitoring the status and performance data of the service instances;
[0029] S103, real-time monitoring
[0030] Monitor business load and service instance performance data, and automatically adjust the number and location of service instances based on real-time conditions to ensure business availability and performance.
[0031] In one embodiment, the S101 includes:
[0032] Step 1011: Input user requirements, including application characteristics, network topology, resource information, and quality indicators;
[0033] Step 1012: extracting various resource information from user requirements and converting them into a computer-processable form;
[0034] Step 1013: Analyze the user's business needs and determine the number and type of service instances that need to be generated by determining the business type;
[0035] Step 1014: Analyze the user's environmental requirements and determine the environmental characteristics, i.e., resource requirements, of the service instance to be deployed, so as to select the most appropriate cloud and edge nodes for deployment;
[0036] Step 1015: Output the requirement information in the specified format.
[0037] In one embodiment, the various resource information in the user requirements include computing resources, storage resources, and network bandwidth resources; in step 1013, determining the service instance to generate a behavior tree, determining the business type of the user requirements, and generating specific microservice instances and container instances.
[0038] In one embodiment, the behavior tree uses user demand as a trigger condition, with a fallback node set under the root node. When any subtree under the root node returns a success status, that is, a type judgment matches, the polling ends, and specific microservice instances and container instances are generated according to the specific business type. The judgment of each business type is set as a small subtree with a business type judgment condition node and a specific service instance generation action node set under the sequence node. For business types that need to be newly expanded, a new subtree is added to the behavior tree. If a business type no longer provides services to users, its subtree is deleted from the behavior tree.
[0039] In one embodiment, the user's business requirement is a video streaming service, and three microservice instances are generated: video encoding, video decoding, and network transmission, as well as two container instances: video streaming transmission and video stream storage. The three microservice instances and the two container instances are deployed on different nodes on the cloud side and the edge side, where the video encoding and video decoding microservices provide computing resources, the network transmission microservice provides network bandwidth resources, and the video streaming transmission and video stream storage provide storage resources.
[0040] The environmental requirements include computing resource requirements for video resolution and frame rate; storage resource requirements for duration and bit rate; and network bandwidth resource requirements for bit rate and network delay. The computing resources are used for video encoding and decoding. The higher the video resolution and frame rate, the greater the computing resources required. The storage resources are used to store the encoded video stream and the decoded original video data. The longer the video and the higher the bit rate, the greater the storage resources required. The network bandwidth resources are used to realize the transmission of the video stream. The higher the bit rate and the greater the network delay, the greater the network bandwidth resources required.
[0041] In one embodiment, the S102 includes:
[0042] Step 1: Enter the required information;
[0043] Step 2: Resource Management: First, monitor the status of various resources on the cloud and edge devices in real time, then compare and analyze them with business needs to calculate an optimal resource scheduling plan;
[0044] Step 3: Service Scheduling: Based on the resource scheduling solution, the requirements of various service instances are combined. The resource status and performance data of cloud and edge service instances are comprehensively considered to develop the optimal scheduling strategy.
[0045] Step 4: Deploy the service instances under the final scheduling strategy on the cloud and edge nodes.
[0046] In one embodiment, the step 2 of calculating the optimal resource scheduling solution is to set optimization targets for computing resources, storage resources, and network bandwidth resources, construct a multi-objective optimization problem, and then solve it using a weighted objective function;
[0047] In step three, the optimal scheduling strategy is formulated using the Kubernetes container orchestration system. First, a Kubernetes cluster is created, and a Kubernetes cluster is created on the cloud and edge sides respectively. The clusters are connected so that the cloud and edge sides can communicate and schedule with each other. Then, microservice instances and container instances are deployed on different nodes using node labels. The weighted objective function is written into the Kubernetes scheduler, and Kubernetes allocates resources to each microservice and container based on the results of resource scheduling. The Horizontal Pod Autoscaler and Vertical Pod Autoscaler resource objects of Kubernetes are used to automatically adjust the number of containers and resource usage as needed to meet the resource requirements on each node.
[0048] In one embodiment, the user's service requirement is a video streaming service. The optimization objectives of computing resource settings include resolution and frame rate, the optimization objectives of storage resource settings include duration and bit rate, and the optimization objectives of network bandwidth resources include bit rate and network latency. The constructed weighted objective function is expressed as follows:
[0049] (x)=w1f1(x)+w2f2(x)+w3f3(x)
[0050] The optimization goal of the weighted objective function is to minimize F(x), where x represents the resource selection and allocation scheme. w1, w2, and w3 represent the weights of f1(x), f2(x), and f3(x), respectively, to balance the importance of each optimization goal. f1(x), f2(x), and f3(x) represent the optimization goals of computing resources, storage resources, and network bandwidth resources, respectively, and are expressed as:
[0051] f1(x)=0.5*(restarget(x)-rescur(x)) 2 +0.5*(fpstarget(x)-fpscur(x)) 2
[0052] f2(x)=(filesize(x)*8) / (bitrate(x))
[0053] f3(x)=bitrate(x) / (1+0.5×delay(x))
[0054] Where restarget(x) indicates the target resolution, rescur(x) indicates the current resolution, fpstarget(x) indicates the target frame rate, and fpscur(x) indicates the current frame rate. filesize(x) indicates the file size, bitrate(x) indicates the bitrate, and delay(x) indicates the network delay.
[0055] In one embodiment, the S103 includes:
[0056] Step 1: Monitor the running status of the service instance in real time;
[0057] Step 2: Analyze monitoring data to identify potential issues, including bottlenecks or excessive load on service instances.
[0058] Step 3: If a possible problem is identified, determine whether the service instance can be automatically optimized. That is, when the fluctuation is less than the set value, automatically optimize the service instance by adjusting the resource usage of the service instance;
[0059] Step 4: If possible, automatically optimize; otherwise, regenerate the service instance scheduling plan.
[0060] Another aspect of the present invention provides a computing device including a storage unit and a processing unit, wherein the storage unit stores a computer program, and when the processing unit executes the computer program, it implements the steps of the on-demand networking service instance autonomous generation and matching method described in the present invention.
[0061] Compared with existing cloud-edge fusion service technologies, the present invention has the following advantages:
[0062] (1) Greater autonomy and flexibility: This method uses the behavior tree architecture to decompose business requirements into multiple independent microservice instances and container instances, enabling autonomous generation and matching of service instances. It is no longer restricted by existing service templates and architectures and has greater autonomy and flexibility.
[0063] (2) Higher resource utilization and service quality: This method optimizes the scheduling algorithm and selects the most suitable cloud and edge nodes for service instance deployment based on user needs and resource conditions. It can fully utilize the computing, storage, and bandwidth resources of each node, thereby improving resource utilization and service quality.
[0064] (3) Better scalability: This method decomposes business requirements into multiple independent microservice instances and container instances according to the behavior tree architecture. It can easily add or delete business service subtrees to achieve dynamic expansion and contraction of business services.
[0065] (4) Better service deployment and availability: This method uses a behavior tree architecture to dynamically generate service instances based on user needs and automatically deploys and schedules them through Kubernetes. Compared to traditional deployment methods, it can respond to user needs more quickly and improve service response speed and availability. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Figure 1 It is a sequential relationship diagram of three modules in the on-demand networking service instance autonomous generation and matching method of the present invention.
[0067] Figure 2 It is a flow chart of the demand analysis module in the on-demand networking service instance autonomous generation and matching method of the present invention.
[0068] Figure 3 It is a flow chart of the autonomous generation module in the on-demand networking service instance autonomous generation and matching method of the present invention.
[0069] Figure 4 It is a flow chart of the real-time monitoring module in the on-demand networking service instance autonomous generation and matching method of the present invention.
[0070] Figure 5 2 is a schematic diagram of a behavior tree architecture for determining service instance generation in an embodiment of the present invention. DETAILED DESCRIPTION
[0071] The embodiments of the present invention are described in detail below with reference to the accompanying drawings and examples.
[0072] refer to Figure 1 The present invention provides a method for autonomously generating and matching on-demand networking service instances, comprising:
[0073] S101, Requirements Analysis
[0074] Analyze user needs, including instance type, quantity, configuration, and network topology, to determine which service instances need to be deployed on routing nodes. Figure 1 The requirements analysis module is implemented as shown.
[0075] S102, self-generated
[0076] Using autonomous generation technology, based on the results of demand analysis, that is, demand information, service instances that meet specific needs are automatically generated. It includes two parts: resource management and service scheduling. Resource management, that is, managing the computing, storage and network bandwidth resources on cloud edge devices, dynamically allocating and scheduling resources according to the needs and performance data of service instances. Service scheduling, that is, dynamically deploying service instances on cloud edge devices based on the results of resource management, and being responsible for monitoring the status and performance data of service instances. After the service scheduling is dynamically deployed according to the results of resource management, the networking process for the service instance is generated. This step is done through Figure 1 The self-generated module implementation shown.
[0077] S103, real-time monitoring
[0078] Monitor business load and service instance performance data, and automatically adjust the number and location of service instances based on real-time conditions to ensure business availability and performance. Figure 1 The real-time monitoring module is implemented as shown.
[0079] like Figure 2 As shown, the detailed process of the demand analysis module, that is, S101, is analyzed as follows:
[0080] Step 1011: Input user requirements, including application characteristics, network topology, resource information, quality indicators, etc. User requirements include business requirements and environmental requirements. Business requirements refer to user requirements for services, such as video streaming services, while environmental requirements refer to user requirements for the usage environment, such as whether to deploy on cloud nodes with strong computing power but less timeliness, or on edge nodes with strong timeliness but less computing power.
[0081] Step 1012: Extract the various resource information from the user's needs and convert it into a computer-processable format. Here, various resource information primarily includes computing resources, storage resources, and network bandwidth resources. Specifically, computing resources include CPU, memory, GPU, etc.; storage resources include disk capacity, read / write speed, etc.; and network bandwidth resources include bandwidth, latency, etc.
[0082] Step 1013: Analyze the user's business needs and determine indicators such as business type to determine the number and type of service instances to generate. Specifically, a behavior tree can be generated by determining the service instance generation behavior tree to determine the business type required by the user and generate specific microservice instances and container instances.
[0083] refer to Figure 3This behavior tree uses user needs as trigger conditions, with a fallback node (also called a selection node) set under the root node. When any subtree under the root node returns a success status, meaning a type match is found, the polling cycle ends and specific microservice instances and container instances are generated based on the specific business type. Each business type determination is structured as a small subtree with a business type determination condition node and a specific service instance generation action node set under a sequence node. Figure 3 The behavior tree shown in the figure details the service type determination for three user needs: video streaming, file transfer, and gaming. For new service types that require expansion, you can add a new subtree to the behavior tree using the template on the far right of the figure. If a service type no longer provides services to users, you can delete its subtree from the behavior tree.
[0084] This embodiment uses a self-generated service instance technology based on a behavior tree architecture. Through the behavior tree architecture, business requirements can be decomposed into multiple independent service instances. At the same time, business service subtrees can be easily added or deleted to achieve the purpose of quickly responding to user needs and improving system flexibility and scalability.
[0085] For example, for video streaming, three microservice instances—video encoding, video decoding, and network transmission—and two container instances—video streaming and video stream storage—are generated. Once the service type is determined, the number and type of these two service instances can be determined. These three microservice instances and two container instances are deployed on different nodes on the cloud and edge sides. The video encoding and video decoding microservices provide computing resources, the network transmission microservice provides network bandwidth, and the video streaming and video stream storage microservices provide storage resources.
[0086] Step 1014: Analyze the user's environmental requirements and determine the environmental characteristics (i.e., requirements for various resources) in which the service instance needs to be deployed, such as bandwidth, latency, storage, etc., in order to select the most appropriate cloud and edge nodes for deployment.
[0087] Taking video streaming as an example, computing resources are used for video encoding and decoding and are determined by the video resolution and frame rate. The higher the resolution and frame rate, the more computing resources are required. Storage resources are used to store the encoded video stream and the decoded raw video data. They are determined by the video's duration and bitrate. The longer the video and the higher the bitrate, the more storage resources are required. Network bandwidth resources are used to transmit the video stream and are determined by the video's bitrate and network latency. The higher the bitrate and the greater the network latency, the more network bandwidth is required.
[0088] Step 1015: Output the requirement information in the specified format as input to the autonomous generation module.
[0089] Still taking the video streaming service as an example, the required information in the prescribed format is expressed as shown in the following table.
[0090]
[0091] like Figure 4 As shown, the process of the autonomous generation module, that is, the detailed process of S102, is analyzed as follows:
[0092] Step 1: Input the demand information obtained by the demand analysis module.
[0093] Step 2: Resource Management
[0094] In the resource management part, we first monitor the status of various resources on the cloud and edge devices in real time, and then compare and analyze them with the resource type, quantity, and quality requirements of the business needs to calculate an optimal resource scheduling plan, including which devices to select to provide resources and how to allocate resources.
[0095] In this step, for computing resources, storage resources, and network bandwidth resources, optimization goals are set for each resource, a multi-objective optimization problem is constructed, and then a weighted objective function is used to solve it to obtain an optimal resource scheduling solution.
[0096] Taking the video streaming service as an example, three different microservices and two different containers are deployed on different nodes on the cloud and edge sides. The video encoding / decoding microservice mainly provides computing resources, the network transmission microservice mainly provides network bandwidth resources, and the video streaming / storage container mainly provides storage resources. Regarding the specific resource scheduling calculation method, for the three aspects of computing resources, storage resources, and network bandwidth resources, each aspect has two small optimization objectives. That is, optimizing computing resources requires considering both resolution and frame rate, optimizing storage resources requires considering both duration and bit rate, and optimizing network bandwidth resources requires considering both bit rate and network latency. Therefore, these small optimization objectives can be constructed into a multi-objective optimization problem, which can then be solved using a weighted objective function.
[0097] Specifically, assuming that the optimization targets for computing resources, storage resources, and network bandwidth resources are f1(x), f2(x), and f3(x), respectively, where x represents the resource selection and allocation scheme, the weighted objective function can be defined as:
[0098] (x)=w1f1(x)+w2f2(x)+w3f3(x)
[0099] The optimization goal of the weighted objective function is to minimize F(x). w1, w2, and w3 represent the weights of f1(x), f2(x), and f3(x), respectively, which are used to balance the importance of each optimization goal. These weights vary depending on the microservices and containers that provide resources.
[0100] The specific calculation formula needs to be defined according to each small optimization goal. Specifically, f1(x), f2(x), and f3(x) can be expressed as:
[0101] f1(x)=0.5*(restar get(x)-rescur(x)) 2 +0.5*(fpstarget(x)-fpscur(x)) 2
[0102] f2(x)=(filesize(x)*8) / (bitrate(x))
[0103] f3(x)=bitrate(x) / (1+0.5×delay(x))
[0104] Where restarget(x) represents the target value of the resolution, rescur(x) represents the current value of the resolution, fpstarget(x) represents the target value of the frame rate, fpscur(x) represents the current value of the frame rate, and f1(x) represents the weighted addition of the squares of the differences between the target and current values of the resolution and frame rate to obtain the optimal value of computing resources.
[0105] Filesize(x) represents the file size, bitrate(x) represents the bit rate, and f2(x) represents the ratio of file size to bit rate to obtain the optimal value of storage resources.
[0106] delay(x) represents the network delay, and f3(x) represents the optimal value of network bandwidth resources obtained by using bit rate and delay.
[0107] According to the different microservices and containers available on different nodes, calculations are performed separately, and based on the optimization results, the optimal value of resources allocated to different microservices and containers is selected.
[0108] Step 3: Service Scheduling
[0109] In the service scheduling part, the resource scheduling scheme provided by the resource management part is combined into various service instance requirements. At the same time, the resource status and performance data of cloud and edge service instances are comprehensively considered to formulate the optimal scheduling strategy.
[0110] Taking the video streaming service as an example, the Kubernetes container orchestration system is used to formulate the optimal scheduling strategy. First, a Kubernetes cluster is created, one on the cloud side and one on the edge side, and they are connected so that the cloud side and the edge side can communicate and schedule with each other. Then, the video encoding / decoding microservice, network transmission microservice, and video streaming transmission / storage container are deployed on different nodes using node labels. The weighted objective function is written into the Kubernetes scheduler, and Kubernetes can allocate resources to each microservice and container based on the results of resource scheduling. The Kubernetes Horizontal Pod Autoscaler and Vertical Pod Autoscaler resource objects are used to automatically adjust the number of containers and resource usage as needed to meet the resource requirements on each node.
[0111] Step 4: Deploy the service instances under the final scheduling strategy on the cloud and edge nodes.
[0112] This embodiment adopts resource management and service scheduling technology based on cloud-edge collaboration technology. It uses K8s through cloud-edge collaboration technology, taking the video transmission stream service as an example, and adopts a weighted target optimization algorithm to combine the computing resources, storage resources and network bandwidth resources of the cloud and edge nodes to improve resource utilization efficiency; at the same time, it can automatically optimize or regenerate service instance scheduling plans according to actual network dynamic changes to improve service quality and user experience.
[0113] like Figure 5 As shown, the detailed process of the real-time monitoring module, that is, S103, is analyzed as follows:
[0114] Step 1: Monitor the running status of the service instance in real time, such as CPU utilization, memory utilization, disk utilization, network latency, and other indicators.
[0115] Step 2: Analyze the monitoring data to identify possible problems, such as bottlenecks or excessive load on service instances.
[0116] Step 3: If a potential problem is identified, such as a bottleneck or excessive load on a service instance, determine whether the service instance can be automatically optimized.
[0117] Step 4: If possible, automatically optimize; otherwise, regenerate the service instance scheduling plan.
[0118] Specifically, automatic optimization of service instances here means that when the fluctuation is less than the set value, the service instance can be automatically optimized by adjusting the memory, CPU and other resource usage of the service instance; when the fluctuation is large and the consistency of business needs cannot be restored through fine-tuning, the service instance scheduling plan must be regenerated.
[0119] For example, in this step, the various resource indicators in each current node can be monitored, and the standard deviation of the indicators and the target indicators of the business needs can be calculated and counted. If one of the indicators does not exceed 10% of the target indicator within a business communication demand cycle, it is considered that its fluctuation is small. Large fluctuations usually refer to the change of a certain indicator exceeding 10% of the target indicator within a business communication demand cycle. For example, if the bandwidth resource occupancy rate of a node exceeds 10% of the target indicator within a business communication demand cycle, it can be considered that the bandwidth resource fluctuation of the node is large. In this case, resources need to be scheduled and managed to ensure the stability and reliability of business needs.
[0120] Rescheduling a service instance refers to regenerating the entire process based on business needs, including regenerating and issuing resource scheduling plans and service scheduling policies.
[0121] Taking the video streaming service as an example, compared with the existing technology, after adopting the on-demand networking service instance autonomous generation and matching method of the present invention, on the one hand, by optimizing the scheduling algorithm and selecting appropriate cloud and edge nodes for service instance deployment, and comprehensively planning and selecting the optimal network resource scheduling scheme, it can reduce network latency and packet loss rate, improve the real-time performance of video streaming transmission, and thus bring better real-time performance. On the other hand, since it is possible to select the most appropriate cloud and edge nodes for service instance deployment based on user needs and resource conditions, and fully utilize the computing, storage and bandwidth resources of each node, resource utilization is greatly improved. On the third hand, due to the use of containerization technology, load balancing between containers can be achieved, thus ensuring the high reliability of video streaming transmission.
[0122] Accordingly, in order to build and maintain an efficient and reliable network, combined with cloud-edge collaborative technology, the system of the present invention for realizing the method of autonomous generation and matching of on-demand networking service instances includes a demand analysis module, an autonomous generation module and a real-time monitoring module. The demand analysis module is responsible for analyzing business requirements, including information such as the type, quantity, configuration and network topology of the instance, so as to determine which service instances need to be deployed on the routing node. The autonomous generation module uses autonomous generation technology to automatically generate service instances that meet specific requirements based on the results of the demand analysis module. This module includes a resource management part and a service scheduling part. The resource management part is responsible for managing the computing, storage and network bandwidth resources on the cloud-edge device, and dynamically allocating and scheduling resources based on the requirements and performance data of the service instance. The service scheduling part is responsible for dynamically deploying the service instance on the cloud-edge device based on the results of the resource management module, and is also responsible for monitoring the status and performance data of the service instance. The real-time monitoring module is responsible for monitoring the business load and the performance data of the service instance, and automatically adjusting the number and location of the service instance according to the real-time situation to ensure the availability and performance of the business.
Claims
1. A method for autonomously generating and matching on-demand networking service instances, characterized in that: include: S101, Requirements Analysis Analyze user requirements, including instance type, quantity, configuration, and network topology, to determine which service instances need to be deployed on routing nodes; S102, autonomous generation Automatically generate service instances that meet specific requirements based on the demand information obtained from the demand analysis; the automatic generation includes resource management and service scheduling; the resource management, namely managing the computing, storage, and network bandwidth resources on the cloud edge devices, dynamically allocates and schedules resources based on the service instance's requirements and performance data; The service scheduling dynamically deploys service instances on cloud-edge devices based on resource management results, and is responsible for monitoring the status and performance data of service instances; S103, real-time monitoring Monitor business load and service instance performance data, and automatically adjust the number and location of service instances based on real-time conditions to ensure business availability and performance; The S101 includes: Step 1011: Input user requirements, including application characteristics, network topology, resource information, and quality indicators; the resource information includes computing resources, storage resources, and network bandwidth resources; Step 1012: extracting various resource information from user requirements and converting them into a computer-processable form; Step 1013: Analyze the user's business needs and determine the number and type of service instances that need to be generated by determining the business type; Step 1014: Analyze the user's environmental requirements and determine the environmental characteristics, i.e., resource requirements, of the service instance to be deployed, so as to select the most appropriate cloud and edge nodes for deployment; Step 1015: Output the required information in a specified format; In step 1013, determining the service instance to generate a behavior tree, determining the service type required by the user, and generating a specific microservice instance and container instance; The S102 includes: Step 1: Enter the required information; Step 2: Resource Management: First, monitor the status of various resources on the cloud and edge devices in real time, then compare and analyze them with business needs to calculate an optimal resource scheduling plan; Step 3: Service Scheduling: Based on the resource scheduling solution, the requirements of various service instances are combined. The resource status and performance data of cloud and edge service instances are comprehensively considered to develop the optimal scheduling strategy. Step 4: Deploy the service instances under the final scheduling strategy on the cloud and edge nodes; The second step is to calculate the optimal resource scheduling solution, which is to set optimization goals for each resource, such as computing resources, storage resources, and network bandwidth resources, construct a multi-objective optimization problem, and then solve it using a weighted objective function; In step three, the optimal scheduling strategy is formulated using the Kubernetes container orchestration system. First, a Kubernetes cluster is created, one on the cloud side and one on the edge side, and they are connected so that the cloud side and the edge side can communicate and schedule with each other. Then, microservice instances and container instances are deployed on different nodes using node labels. The weighted objective function is written into the Kubernetes scheduler, and Kubernetes allocates resources to each microservice and container based on the resource scheduling results. The Horizontal Pod Autoscaler and Vertical Pod Autoscaler resource objects of Kubernetes are used to automatically adjust the number of containers and resource usage as needed to meet the resource requirements on each node. The user's service requirement is video streaming. The optimization targets for computing resource settings include resolution and frame rate, storage resource settings include duration and bit rate, and network bandwidth resource settings include bit rate and network latency. The constructed weighted objective function is expressed as follows: F(x)=w1f1(x)+w2f2(x)+w3f3(x) The optimization goal of the weighted objective function is to minimize F(x), where x represents the resource selection and allocation scheme. w1, w2, and w3 represent the weights of f1(x), f2(x), and f3(x), respectively, to balance the importance of each optimization goal. f1(x), f2(x), and f3(x) represent the optimization goals of computing resources, storage resources, and network bandwidth resources, respectively, and are expressed as: f1(x)=0.5*(restarget(x)-rescur(x)) 2 +0.5*(fpstarget(x)-fpscur(x)) 2 f2(x)=(filesize(x)*8) / (bitrate(x)) f3(x)=bitrate(x) / (1+0.5×delay(x)) Where restarget(x) indicates the target resolution, rescur(x) indicates the current resolution, fpstarget(x) indicates the target frame rate, and fpscur(x) indicates the current frame rate. filesize(x) indicates the file size, bitrate(x) indicates the bitrate, and delay(x) indicates the network delay.
2. The method for autonomously generating and matching on-demand networking service instances according to claim 1, characterized in that: The behavior tree uses user needs as trigger conditions, and a fallback node is set under the root node. When any subtree under the root node returns a success status, that is, a certain type judgment matches, the polling ends, and specific microservice instances and container instances are generated according to the specific business type. The judgment of each business type is set as a small subtree with a business type judgment condition node and a specific service instance generation action node set under the sequence node; For business types that require new extensions, add new subtrees to the behavior tree; If a business type no longer provides services to users, delete its subtree from the behavior tree.
3. The method for autonomously generating and matching on-demand networking service instances according to claim 1, characterized in that: The user's business requirement is video streaming transmission. Three microservice instances, namely video encoding, video decoding, and network transmission, as well as two container instances, namely video streaming transmission and video stream storage, are generated. The three microservice instances and the two container instances are deployed on different nodes on the cloud side and the edge side. The video encoding and video decoding microservices provide computing resources, the network transmission microservice provides network bandwidth resources, and the video streaming transmission and video stream storage provide storage resources. The environmental requirements and computing resource requirements are video resolution and frame rate; The storage resource requirements are duration and bit rate; the network bandwidth resource requirements are bit rate and network delay; the computing resources are used for video encoding and decoding. The higher the video resolution and frame rate, the more computing resources are required; the storage resources are used to store the encoded video stream and the decoded original video data. The longer the video and the higher the bit rate, the more storage resources are required; the network bandwidth resources are used to realize the transmission of the video stream. The higher the bit rate and the greater the network delay, the more network bandwidth resources are required.
4. The method for autonomously generating and matching on-demand networking service instances according to claim 1, characterized in that: The S103 includes: Step 1: Monitor the running status of the service instance in real time; Step 2: Analyze monitoring data to identify potential issues, including bottlenecks or excessive load on service instances. Step 3: If a possible problem is identified, determine whether the service instance can be automatically optimized. That is, when the fluctuation is less than the set value, automatically optimize the service instance by adjusting the resource usage of the service instance; Step 4: If possible, automatically optimize; otherwise, regenerate the service instance scheduling plan.
5. A computing device comprising a storage unit and a processing unit, wherein the storage unit stores a computer program, wherein: When the processing unit executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Container resource allocation method and device, computer equipment and storage medium
CN110597623A
Micro-service resource scheduling system and method
CN112799817A