Service chain arrangement method and device

By multiplexing network elements of different service types identified by the same network element in a distributed system and deploying these network elements with a minimum number of nodes, the problem of increasing number of cross-node forwardings is solved, and the effect of reducing node resources and communication bandwidth loss is achieved.

CN120075158APending Publication Date: 2025-05-30QI AN XIN TECHNOLOGY GROUP INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510179827.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In distributed systems, in order to achieve node load balancing, the network elements used in orchestration service chains usually come from multiple nodes, resulting in an increase in the number of cross-node forwarding times, resulting in node resource and communication bandwidth overhead.

Method used

By multiplexing network elements of different service types identified by the same network element in a distributed system and deploying these network elements with a minimum number of nodes, the number of cross-node forwarding times is reduced when orchestrating the service chain. The specific method includes selecting the network elements required for orchestration from the network elements with the same network element identification, and optimizing the use of node resources when deploying the network elements.

Benefits of technology

This reduces the number of cross-node traffic forwarding times between network elements in the service chain, thereby reducing the node resource and communication bandwidth loss caused by cross-node forwarding, and improving system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075158A_ABST
    Figure CN120075158A_ABST
Patent Text Reader

Abstract

The invention discloses a service chain arrangement method and device, relates to the technical field of computers, and mainly aims to arrange a service chain with less cross-node forwarding times. According to the main technical scheme, nodes included in the distributed system are deployed with network elements of at least two service types, the network elements of different service types multiplex the same set of network element identifiers, and the distributed system deploys the network elements with the same network element identifier in the network elements of different service types with the minimum number of nodes; when the service chain to be arranged exists, selecting a first network element required for arranging the service chain from the distributed system; selecting other network elements required for arranging the service chain from the network elements with the same network element identifier as the first network element; and performing service chain arrangement on the first network element and the other network elements to obtain the service chain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and particularly to a service chain orchestration method and apparatus. Background Art

[0002] In nodes of a distributed system, a large number of network elements of different service types are usually deployed to flexibly orchestrate a service chain that meets service requirements based on the network elements, so as to draw traffic through the service chain, and thus enable the network elements in the service chain to perform corresponding service processing on the traffic in sequence.

[0003] However, currently, in order to achieve node load balancing, the network elements used to orchestrate the service chain usually come from multiple nodes. As a result, when the service chain draws traffic, the traffic will be forwarded across nodes among multiple nodes, and the cross-node forwarding will bring a large amount of node resources and communication bandwidth overhead. Summary of the Invention

[0004] In view of this, this application proposes a service chain orchestration method and apparatus, and the main purpose is to orchestrate a service chain with fewer cross-node forwarding times.

[0005] To achieve the above object, this application mainly provides the following technical solutions:

[0006] In a first aspect, this application provides a service chain orchestration method. The service chain orchestration method is applied to a distributed system. The nodes included in the distributed system are deployed with network elements of at least two service types. Network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the least number of nodes. The service chain orchestration method includes: when there is a service chain to be orchestrated, selecting a first network element required for orchestrating the service chain from the distributed system; selecting other network elements required for orchestrating the service chain from the network elements having the same network element identifier as the first network element; and performing service chain orchestration on the first network element and the other network elements to obtain the service chain.

[0007] In some embodiments of this application, the service chain orchestration method further includes: when there is a network element to be deployed of any service type, determining the target network element identifier of the network element to be deployed; detecting whether there is a node in the distributed system that has already been deployed with a network element having the target network element identifier; if so, deploying the network element to be deployed on the corresponding node; if not, selecting a target node for deploying a network element having the target network element identifier in the distributed system, and deploying the network element to be deployed on the target node.

[0008] In some embodiments of the present application, the service chain orchestration method further includes: if it is detected that a node in the distributed system has deployed a network element with the target network element identifier, then determine whether the amount of node resources that the corresponding node can provide is not less than the node resource demand of the network element to be deployed; if it is not less than, then execute the step of deploying the network element to be deployed on the corresponding node; if it is less than, then in the distributed system, select a new target node for deploying the network element with the target network element identifier, and deploy the network element to be deployed on the new target node.

[0009] In some embodiments of the present application, in the distributed system, selecting a new target node for deploying the network element with the target network element identifier includes: determining the amount of node resources that each node in the distributed system can provide; determining all un-deployed network elements with the target network element identifier under all service types that need to be deployed in the distributed system and that have not been deployed to the distributed system currently; detecting whether there is a node in the distributed system whose node resource amount is not less than the sum of the node resource demands of all un-deployed network elements; if there is, then select the corresponding node as the new target node for deploying the network element with the target network element identifier; if not, then select the node corresponding to the largest node resource amount in the node resource amounts as the new target node for deploying the network element with the target network element identifier.

[0010] In some embodiments of the present application, the service chain orchestration method further includes: if it is determined that the amount of node resources that the corresponding node can provide is less than the node resource demand of the network element to be deployed, then determine the amount of node resources that each node in the distributed system can provide; detect whether there is a node in the distributed system whose node resource amount is not less than the node resource demand of the network element to be deployed; if there is, then execute the step of selecting a new target node for deploying the network element with the target network element identifier in the distributed system; if not, then issue a prompt that the distributed system cannot deploy the network element to be deployed.

[0011] In some embodiments of the present application, determining the target network element identifier of the network element to be deployed includes: determining the deployment order of the network element to be deployed in the network elements of the service type to the distributed system; determining the value representing the deployment order as the target network element identifier of the network element to be deployed.

[0012] In some embodiments of the present application, the nodes in the distributed system have a set sorting. Then, in the distributed system, selecting a target node for deploying a network element with the target network element identifier includes: determining the total number of nodes included in the distributed system; performing a modulo operation on the target network element identifier with respect to the total number to obtain a target value; and selecting the node with the sorting number being the target value in the sorting as the target node for deploying the network element with the target network element identifier.

[0013] In some embodiments of the present application, the service chain orchestration method further includes: determining the service types corresponding to all the network elements to be deployed in the distributed system; setting a priority sorting for the service types based on the importance of the service types or the execution sequence of the services of the service types; and sequentially taking the network elements to be deployed corresponding to each service type as the network elements to be deployed based on the priority sorting.

[0014] In some embodiments of the present application, the service chain orchestration method further includes: determining a service type sequence corresponding to the service chain, where the service type sequence includes at least one service type arranged in a preset order;

[0015] Then, selecting the first network element required for orchestrating the service chain from the distributed system includes: determining a first service type at the head of the service type sequence; and selecting the first network element required for orchestrating the service chain from the idle network elements of the first service type in the distributed system.

[0016] In some embodiments of the present application, the service chain orchestration method further includes: if there are network elements of the first service type in the distributed system and there are no idle network elements of the first service type, then performing at least one of the following operations: sending a prompt that the service chain cannot be orchestrated; sending a prompt that there are no idle network elements of the first service type in the distributed system.

[0017] In some embodiments of the present application, the service chain orchestration method further includes: if there are no network elements of the first service type in the distributed system, then performing at least one of the following operations: sending a prompt that the service chain cannot be orchestrated; sending a prompt that the distributed system needs to add and deploy network elements of the first service type.

[0018] In some embodiments of the present application, selecting other network elements required for orchestrating the service chain from the network elements with the same network element identifier as the first network element includes: searching for the network elements corresponding to each service type other than the first in the service type sequence from the network elements with the same network element identifier as the first network element; and selecting the network elements corresponding to each service type other than the first found as the other network elements required for orchestrating the service chain.

[0019] In some embodiments of the present application, the service chain orchestration method further includes: if there is a second service type in the service types other than the first one for which no corresponding network element is found among the network elements having the same network element identifier as the first network element, detecting whether the network elements deployed in the distributed system include network elements of the second service type; if not, performing at least one of the following operations: issuing a prompt indicating that the service chain cannot be orchestrated; issuing a prompt indicating that the distributed system needs to add the deployment of network elements of the second service type; if so, selecting the corresponding network elements of the second service type from the idle network elements of the second service type in the distributed system.

[0020] In some embodiments of the present application, performing service chain orchestration on the first network element and the other network elements to obtain the service chain includes: arranging the preset order used by the at least one service type based on the service type sequence, and orchestrating the first network element and the other network elements to obtain the service chain in which the network elements perform traffic forwarding in accordance with the preset order.

[0021] In a second aspect, the present application provides a service chain orchestration device, which is applied to a distributed system. The distributed system includes nodes on which network elements of at least two service types are deployed. Network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the least number of nodes. The service chain orchestration device includes:

[0022] A first selection module, configured to select the first network element required for orchestrating the service chain from the distributed system when there is a service chain to be orchestrated;

[0023] A second selection module, configured to select the other network elements required for orchestrating the service chain from the network elements having the same network element identifier as the first network element;

[0024] An orchestration module, configured to perform service chain orchestration on the first network element and the other network elements to obtain the service chain.

[0025] In a third aspect, the present application provides a computer-readable storage medium, where the storage medium includes a stored program. When the program runs, it controls the device where the storage medium is located to execute the service chain orchestration method described in the first aspect.

[0026] In a fourth aspect, the present application provides an electronic device, which includes: a memory for storing a program; a processor coupled to the memory for running the program to execute the service chain orchestration method described in the first aspect.

[0027] The service chain orchestration method and apparatus provided by this application, in order to orchestrate a service chain with fewer cross-node forwarding times, manage and control network elements of different service types deployed on nodes of a distributed system to reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the minimum number of nodes. When there is a service chain to be orchestrated, select the first network element required for orchestrating the service chain from the distributed system, and select other network elements required for orchestrating the service chain from the network elements with the same network element identifier as the first network element. Perform service chain orchestration on the first network element and other network elements to obtain a service chain. It can be seen that in the solution provided in this embodiment, network elements of different service types in the distributed system reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the minimum number of nodes. In this way, when there is a service chain to be orchestrated, after selecting the first network element required for orchestrating the service chain from the distributed system, other network elements required for orchestrating the service chain can be directly selected from the network elements with the same network element identifier as the first network element. This can reduce the number of nodes of the source nodes of the first network element and other network elements required for orchestrating the service chain, and the cross-node traffic forwarding times between the service chain network elements orchestrated based on such first network element and other network elements are fewer, thereby reducing the node resources and communication bandwidth losses caused by cross-node forwarding.

[0028] The above description is only an overview of the technical solution of this application. In order to be able to understand the technical means of this application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of this application more obvious and understandable, the following specifically gives the specific implementation manners of this application. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following will briefly introduce the drawings required to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0030] Figure 1 Shows a schematic structural diagram of a distributed system provided by an embodiment of this application;

[0031] Figure 2 Shows a flowchart of a service chain orchestration method provided by an embodiment of this application;

[0032] Figure 3 Shows a schematic structural diagram of a distributed system provided by another embodiment of this application;

[0033] Figure 4Shows a schematic structural diagram of a distributed system provided by another embodiment of the present application;

[0034] Figure 5 Shows a schematic structural diagram of a service chain orchestration device provided by an embodiment of the present application;

[0035] Figure 6 Shows a schematic structural diagram of a service chain orchestration device provided by another embodiment of the present application. Detailed implementation manners

[0036] Hereinafter, exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be fully conveyed to those skilled in the art.

[0037] Currently, when deploying a network element service chain in a node of a distributed system, in order to achieve node load balancing, the network elements used for orchestrating the service chain usually come from multiple nodes. Subsequently, when the traffic is pulled through the orchestrated service chain, it will cause the traffic to be forwarded across nodes among multiple nodes. Exemplarily, as Figure 1 shown, the distributed system includes the following three nodes: Node 1, Node 2, and Node 3. In Node 1, the following network elements are deployed: Network Element 1 and Network Element 2 corresponding to Service Type 1, Network Element 1 and Network Element 2 corresponding to Service Type 2, and Network Element 1 and Network Element 2 corresponding to Service Type 3. In Node 2, the following network elements are deployed: Network Element 3 and Network Element 4 corresponding to Service Type 1, Network Element 3 and Network Element 4 corresponding to Service Type 2, and Network Element 3 and Network Element 4 corresponding to Service Type 3. In Node 3, the following network elements are deployed: Network Element 5 and Network Element 6 corresponding to Service Type 1, Network Element 5 and Network Element 6 corresponding to Service Type 2, and Network Element 5 and Network Element 6 corresponding to Service Type 3. When orchestrating the service chain, in order to achieve node load balancing, Network Element 1 corresponding to Service Type 1, Network Element 3 corresponding to Service Type 2, and Network Element 5 corresponding to Service Type 3 in Node 1 are selected to orchestrate the service chain. The orchestrated service chain pulls traffic according to the Figure 1 virtual circuit path in, so that the traffic will be forwarded across nodes between Node 1 and Node 2 and between Node 2 and Node 3. These cross-node forwards will bring a large amount of node resources and communication bandwidth overheads, thereby affecting the node performance.

[0038] Through research, it is found that when orchestrating a service chain, the fewer the number of nodes from which the network elements used in the service chain orchestration are sourced, the fewer the number of times the traffic needs to be forwarded across nodes during traffic traction of the orchestrated service chain. Based on the above findings, this embodiment proposes a technical solution for service chain orchestration, which orchestrates a service chain with network elements deployed with the least number of nodes to reduce the cross-node traffic forwarding between network elements in the service chain.

[0039] The technical solution for service chain orchestration provided in this embodiment is specifically as follows: Network elements of different service types deployed on nodes of a distributed system reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the least number (for example, one) of nodes. In this way, when there is a service chain to be orchestrated, the first network element required for orchestrating the service chain is selected from the distributed system. Other network elements required for orchestrating the service chain are selected from the network elements with the same network element identifier as the first network element. The first network element and other network elements are orchestrated to obtain a service chain. It can be seen that in the solution provided in this embodiment, since network elements with the same identifier among network elements of different service types are deployed with the least number of nodes in the distributed system, after selecting other network elements required for orchestrating the service chain from the network elements with the same network element identifier as the first network element, the number of nodes from which the first network element and other network elements for orchestrating the service chain are sourced can be reduced. In this way, when traffic traction is performed on the service chain orchestrated based on the first network element and other network elements, the number of cross-node traffic forwarding times between network elements in the service chain can be reduced, thereby reducing the node resource and communication bandwidth losses caused by cross-node forwarding.

[0040] The distributed system provided in this embodiment can be a distributed system located in the cloud or locally, and this embodiment does not make any limitations in this regard. A node is a resource node set in the distributed system, which is used to deploy network elements. A network element is a virtual network element deployed on a node, and its specific service type can be set based on service requirements, and this embodiment does not make any limitations in this regard.

[0041] The technical solution for service chain orchestration provided in this embodiment is applied to a distributed system, so that the distributed system can orchestrate a service chain with network elements deployed with the least number of nodes, thereby reducing the number of cross-node forwarding times between network elements in the service chain, and further reducing the CPU resource and communication bandwidth losses caused by cross-node forwarding. Exemplarily, the distributed system may include a controller, nodes, and network elements. The controller is used for node registration and network element deployment. All nodes in the distributed system need to be registered with the controller, and are centrally controlled by the controller. The controller can deploy network elements on nodes based on service requirements and manage the deployed network elements. It should be noted that when the technical solution for service chain orchestration provided in this embodiment is applied to a distributed system, it can be specifically applied to the controller of the distributed system.

[0042] Based on the above technical solution of service chain orchestration, this embodiment specifically provides a service chain orchestration method and apparatus. The following specifically describes the service chain orchestration method and apparatus provided in this embodiment.

[0043] An embodiment of the present application provides a service chain orchestration method. This service chain orchestration method is applied to a distributed system, so that the distributed system can orchestrate service chains with network elements deployed with the least number of nodes, thereby reducing the number of cross-node traffic forwarding times between network elements in the service chain, and further reducing the node resource and communication bandwidth losses caused by cross-node forwarding.

[0044] A large number of nodes are provided in the distributed system of this embodiment, and the nodes included in the distributed system are deployed with network elements of at least two service types. The service types of the network elements deployed on the nodes of the distributed system can be flexibly selected based on service requirements, and this embodiment does not limit this. Exemplarily, the service types of the network elements deployed on the nodes of the distributed system are all related to network security, and the service types may include, but are not limited to, at least two of the following: firewall type (FW), intrusion prevention type (IPS), web application-level intrusion prevention type (Waf), anti-virus gateway type (AV).

[0045] In order to orchestrate a service chain with fewer cross-node forwarding times in this embodiment, it is necessary to realize orchestrating a service chain with network elements deployed with the least number of nodes. The key point is that network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the least number of nodes. In this way, when there is a service chain to be orchestrated, after selecting the first network element required for orchestrating the service chain from the distributed system, other network elements required for orchestrating the service chain can be directly selected from the network elements with the same network element identifier as the first network element. This can reduce the number of nodes of the source nodes of the first network element and other network elements required for orchestrating the service chain, and the cross-node traffic forwarding times between the network elements of the service chain orchestrated based on such a first network element and other network elements are fewer.

[0046] The following takes Figure 2 to illustrate the service chain orchestration method provided in the embodiment of the present application. As Figure 2 shown, the service chain orchestration method provided in the embodiment of the present application may at least include the following steps 101 to 103:

[0047] 101. When there is a service chain to be orchestrated, select the first network element required for orchestrating the service chain from the distributed system.

[0048] In this embodiment, the user can control the distributed system to perform service chain orchestration by issuing a service chain orchestration request. Therefore, when the distributed system receives the service chain orchestration request, it determines that there is a service chain to be orchestrated.

[0049] The service chain to be orchestrated has a corresponding service type sequence, which includes at least one service type arranged in a preset order. The service type sequence is the basis for orchestrating the service chain, and it specifically specifies the following two key pieces of information: First, which service type of network elements are required for the orchestrated service chain; second, the sorting of the network elements corresponding to the service types in the service chain, and this sorting is indicated by the preset order. Therefore, in order to perform service chain orchestration, when determining the service to be orchestrated, this service chain orchestration method further needs to include the following steps: determining the service type sequence corresponding to the service chain, which includes at least one service type arranged in a preset order. Exemplarily, determining the service type sequence corresponding to the service chain, and the service types included in this service type sequence are, in sequence: Service Type 1, Service Type 2, Service Type 3.

[0050] After determining the service type sequence corresponding to the service chain, the first network element required for the orchestrated service chain can be selected from the distributed system, and the selection process of this first network element can include the following steps 101A to 101B:

[0051] 101A. Determine the first service type at the head of the service type sequence.

[0052] The service type sequence includes at least one service type arranged in a preset order. In order to delimit the search range of the network elements of the service type at the head of the service type sequence, first determine the first service type at the head of the service type sequence.

[0053] 101B. Select the first network element required for the orchestrated service chain from the idle network elements of the first service type in the distributed system.

[0054] After determining the first service type, determine the idle first service type in the distributed system, and then select the first network element required for the orchestrated service chain from the idle network elements of the first service type in the distributed system. The method of selecting the first network element required for the orchestrated service chain from the idle network elements of the first service type in the distributed system can include the following two types:

[0055] First, the network elements deployed in the distributed system have corresponding users, and the network elements of the same service type corresponding to the same user usually have the same node resource amount. Therefore, a network element can be randomly selected from the idle network elements of the first service type in the distributed system as the first network element required for the orchestrated service chain.

[0056] Second, if the distributed system deploys network elements with multiple different node resource amounts for the same service type, then the specific process of selecting the first network element required for the orchestrated service chain from the idle network elements of the first service type in the distributed system may include the following steps: Determine the node resource demand corresponding to the first service type, select, from the idle network elements of the first service type in the distributed system, a network element whose increased node resource amount is not less than the node resource demand, and use the selected network element as the first network element required for the orchestrated service chain.

[0057] Furthermore, if there are network elements of the first service type in the distributed system but no idle network elements of the first service type, it means that the distributed system cannot currently provide network elements of the first service type for service chain orchestration. Therefore, perform at least one of the following operations: First, issue a prompt indicating that the service chain cannot be orchestrated, so that the user can be aware of the fact that the service chain cannot be orchestrated currently, facilitating the user to take corresponding measures. Second, issue a prompt indicating that there are no idle network elements of the first service type in the distributed system, so that the user can be aware of the fact that the distributed system cannot currently provide network elements of the first service type for service chain orchestration. The user can perform, but is not limited to, the following measures based on this prompt: Control the distributed system to deploy new network elements of the first service type for service chain orchestration.

[0058] Furthermore, if there are no network elements of the first service type in the distributed system, it means that the distributed system has not deployed network elements of the first service type. Therefore, perform at least one of the following operations: First, issue a prompt indicating that the service chain cannot be orchestrated, so that the user can be aware of the fact that the service chain cannot be orchestrated currently, facilitating the user to take corresponding measures. Second, issue a prompt indicating that the distributed system needs to add and deploy network elements of the first service type, so that the user can be aware of the fact that the distributed system has not deployed network elements of the first service type, enabling the user to timely control the distributed system to add and deploy network elements of the first service type for service chain orchestration.

[0059] 102. Select other network elements required for the orchestrated service chain from the network elements with the same network element identifier as the first network element.

[0060] After selecting the first network element, determine the network elements in the distributed system with the same network element identifier as the first network element, and select other network elements required for the orchestrated service chain from the network elements with the same network element identifier as the first network element. In this way, the number of source nodes of the first network element and other network elements required for the orchestrated service chain can be reduced as much as possible.

[0061] The specific process of selecting other network elements required for the orchestrated service chain from the network elements with the same network element identifier as the first network element may include the following steps 102A to 102B:

[0062] 102A. Search for the network elements corresponding to each non-first service type in the service type sequence from the network elements having the same network element identifier as the first network element.

[0063] After selecting the first network element, the search scope for finding the network elements corresponding to each non-first service type in the service type sequence is limited. This search scope is the network elements in the distributed system that have the same network element identifier as the first network element, and this search scope can minimize the number of the first network element and the source nodes of other network elements required for orchestrating the service chain.

[0064] 102B. Select the network elements corresponding to each non-first service type found as the other network elements required for orchestrating the service chain.

[0065] After searching for the network elements corresponding to each non-first service type in the service type sequence from the network elements having the same network element identifier as the first network element, if the network elements corresponding to each non-first service type are found, then select the network elements corresponding to each non-first service type found as the other network elements required for orchestrating the service chain. The other network elements and the first network element are all the network elements required for orchestrating the service chain. After the other network elements and the first network element are selected, the first network element and the other network elements can be used for service chain orchestration to obtain the service chain.

[0066] Further, if there is a second service type among the non-first service types for which no corresponding network element is found among the network elements having the same network element identifier as the first network element, then detect whether the network elements deployed in the distributed system include network elements of the second service type.

[0067] If there is a second service type among the non-first service types, it means that the network elements having the same network element identifier as the first network element do not cover the second service type. Therefore, it is necessary to further detect whether the network elements deployed in the distributed system include network elements of the second service type.

[0068] If it is detected that the network elements deployed in the distributed system do not include network elements of the second service type, it means that the distributed system has not yet deployed network elements of the second service type. Therefore, perform at least one of the following operations: First, issue a prompt indicating that the service chain cannot be orchestrated, so that the user can be aware of the fact that the service chain cannot be orchestrated currently for corresponding handling. Second, issue a prompt indicating that the distributed system needs to add the deployment of network elements of the second service type, so that the user can be aware of the fact that the distributed system has not yet deployed network elements of the second service type, enabling the user to timely manage and control the distributed system to add the deployment of network elements of the second service type for service chain orchestration.

[0069] If it is detected that the network elements deployed in the distributed system include network elements of the second service type, it indicates that the distributed system currently deploys network elements of the second service type, but the network element identifiers of the network elements of the second service type are different from those of the first network element. At this time, in order to ensure the orchestration of the service chain, a network element corresponding to the second service type is selected from the idle network elements of the second service type in the distributed system.

[0070] The execution method of selecting a network element corresponding to the second service type from the idle network elements of the second service type in the distributed system is based on the same specific logic as the execution method of selecting the first network element required for orchestrating the service chain from the idle network elements of the first service type in the distributed system, so it will not be elaborated here.

[0071] 103. Orchestrate the service chain for the first network element and other network elements to obtain the service chain.

[0072] After selecting the first network element and other network elements required for orchestrating the service chain, all the network elements required for orchestrating the service chain are available. Therefore, the service chain is orchestrated for the first network element and other network elements to obtain the service chain. The specific process of orchestrating the service chain for the first network element and other network elements to obtain the service chain may include the following steps: Arrange the preset order used by at least one service type based on the service type sequence, and orchestrate the first network element and other network elements to obtain a service chain in which the network elements forward traffic in the preset order. In this way, when the service chain pulls traffic, the traffic can be migrated through the network elements in the service chain in the preset order, and the network elements in the service chain can perform corresponding service processing on the traffic in the preset order.

[0073] It should be noted that since the number of nodes from which the first network element and other network elements in this embodiment are sourced is small, the number of cross-node traffic forwarding times between the network elements of the service chain orchestrated based on such first network element and other network elements is small, thus reducing the large amount of node resources and communication bandwidth overhead caused by cross-node forwarding.

[0074] The service chain orchestration method provided by the embodiments of this application, in order to orchestrate a service chain with fewer cross-node forwarding times, manages and controls that network elements of different service types deployed on the nodes of a distributed system reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the minimum number of nodes. When there is a service chain to be orchestrated, the first network element required for orchestrating the service chain is selected from the distributed system, and other network elements required for orchestrating the service chain are selected from the network elements with the same network element identifier as the first network element. The first network element and other network elements are subjected to service chain orchestration to obtain a service chain. It can be seen that in the solution provided by this embodiment, network elements of different service types in the distributed system reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the minimum number of nodes. In this way, when there is a service chain to be orchestrated, after the first network element required for orchestrating the service chain is selected from the distributed system, other network elements required for orchestrating the service chain can be directly selected from the network elements with the same network element identifier as the first network element. This can reduce the number of nodes of the source nodes of the first network element and other network elements required for orchestrating the service chain, and the cross-node traffic forwarding times between the service chain network elements orchestrated based on such a first network element and other network elements are fewer, thereby reducing the node resources and communication bandwidth losses caused by cross-node forwarding.

[0075] In some embodiments of this application, Figure 3 shows a schematic structural diagram of a distributed system. Below, Figure 3 is used to illustrate the service chain orchestration method provided by this embodiment. Figure 3 The shown distributed system includes the following three nodes: Node 1, Node 2, and Node 3. In Node 1, there are deployed: a network element with network element identifier "01" and a network element with network element identifier "02" corresponding to service type 1, a network element with network element identifier "01" and a network element with network element identifier "02" corresponding to service type 2, and a network element with network element identifier "01" and a network element with network element identifier "02" corresponding to service type 3. In Node 2, there are deployed: a network element with network element identifier "03" and a network element with network element identifier "04" corresponding to service type 1, a network element with network element identifier "03" and a network element with network element identifier "04" corresponding to service type 2, and a network element with network element identifier "03" and a network element with network element identifier "04" corresponding to service type 3. In Node 3, there are deployed: a network element with network element identifier "05" and a network element with network element identifier "06" corresponding to service type 1, a network element with network element identifier "05" and a network element with network element identifier "06" corresponding to service type 2, and a network element with network element identifier "05" and a network element with network element identifier "06" corresponding to service type 3. It can be seen that Figure 3 in the distributed system, network elements with the same network element identifier among different service types are deployed on the same node.

[0076] There is a service chain A to be orchestrated. Determine the sequence of service types corresponding to service chain A. The service types included in this service type sequence are, in order: service type 1, service type 2, and service type 3. Based on the service type sequence, select the first network element required for orchestrating service chain A from the Figure 3 distributed system shown as: the network element corresponding to service type 1 with network element identifier "01". Determine the network elements with the same network element identifier as the first network element as: the network element corresponding to service type 2 with network element identifier "01" and the network element corresponding to service type 3 with network element identifier "01". Based on the service type sequence, select the other network elements required for orchestrating the service chain from the network elements with the same network element identifier as the first network element as: the network element corresponding to service type 2 with network element identifier "01" and the network element corresponding to service type 3 with network element identifier "01".

[0077] Based on the preset order used by each service type arranged according to the service type sequence, orchestrate the first network element and other network elements to obtain service chain A in which the network elements perform traffic forwarding in the preset order. The orchestrated service chain A is Figure 3 traffically pulled according to the virtual circuit path in, so that the traffic will only be forwarded within node 1 and there will be no cross-node forwarding. Therefore, it is possible to avoid a large amount of node resources and communication bandwidth overhead caused by cross-node forwarding.

[0078] In some embodiments of the present application, the service chain orchestration method provided in this embodiment is applied to a distributed system. The distributed system needs to deploy network elements with the same network element identifier of different service types with the least number of nodes to implement a service chain with fewer cross-node forwarding times orchestrated by the distributed system. Therefore, the service chain orchestration method may further include a network element deployment process. The network element deployment process included in the service chain orchestration method may include the following steps 104 to 107:

[0079] 104. When there are network elements to be deployed of any service type, determine the target network element identifier of the network elements to be deployed.

[0080] In practical applications, there will be two or more service types of network elements to be deployed in the distributed system. Therefore, in order to be able to deploy the network elements in an orderly manner, the service chain orchestration method may further include the following steps: determine the service types corresponding to all network elements to be deployed in the distributed system; set the priority ranking of the service types based on the importance of the service types or the order of service execution of the service types; based on the priority ranking, sequentially use the network elements to be deployed corresponding to each service type as the network elements to be deployed.

[0081] To ensure that service types with high priorities are preferentially deployed to the distributed system, in this embodiment, a priority ranking for service types is set based on the importance of the service types or the order of service execution of the service types. And in the order from high to low priority, the network elements that need to be deployed for each service type are successively used as the network elements to be deployed. In this way, the following two effects can be achieved: First, it ensures that the network elements of service types with high priorities are preferentially deployed to the distributed system; Second, it can ensure that the steps of the next service type are carried out only after the deployment of the network elements of one service type is completed, ensuring the orderliness of network element deployment and facilitating the control of the network element deployment process.

[0082] When there are network elements to be deployed for any service type, to preferentially ensure that network elements with the same network element identifier are deployed with the least number of nodes, it is necessary to determine the target network element identifier of the network elements to be deployed, so as to select nodes for them based on the target network element identifier of the network elements to be deployed. The methods for determining the target network element identifier of the network elements to be deployed can include the following two:

[0083] First, determine the deployment order of the network elements to be deployed in the network elements of the corresponding service type to the distributed system; the value representing the deployment order is determined as the target network element identifier of the network elements to be deployed. Exemplarily, if it is determined that the deployment order of the network elements to be deployed in the network elements of the corresponding service type to the distributed system is the second, then the value 02 representing the second is determined as the target network element identifier of the network elements to be deployed.

[0084] Second, the network element identifiers of each network element in the network elements of the same service type are unique. Obtain an identifier set for recording the same set of network element identifiers reused by the network elements of different service types. For any service type, when there are network elements to be deployed for any service type, allocate the corresponding network element identifier for it from the identifier set, and the network element identifier allocated to it will no longer be allocated to subsequent network elements.

[0085] 105. Detect whether there is a node in the distributed system that has already deployed a network element with the target network element identifier; if so, execute step 106; if not, execute step 107.

[0086] To reduce cross-node forwarding, network elements with the same network element identifier are preferentially deployed in the same node. Therefore, it is necessary to detect whether there is a node in the distributed system that has already deployed a network element with the target network element identifier.

[0087] If it is detected that there is a node in the distributed system that has already deployed a network element with the target network element identifier, it means that there is a network element in the distributed system that has the same target network element identifier as the network element to be deployed. Therefore, in order to deploy network elements with the same target network element identifier in the same node, step 106 is executed.

[0088] Exemplarily, the service type of the network element to be deployed is "Service Type 3", and the target network element identifier of the network element to be deployed is 06. After detection, as Figure 4 shown, it is detected that the distributed system has a network element with the target network element identifier "06" already deployed on the node "Node 3". Therefore, step 106 is executed to deploy the network element to be deployed on Node 3. After the network element to be deployed is deployed, the network element deployment status of the distributed system is Figure 3 shown.

[0089] If it is detected that the distributed system has a node where a network element with the target network element identifier is not deployed, it means that the distributed system has not yet deployed a network element with the target network element identifier, and the network element to be deployed is the first network element with the target network identification. Therefore, step 107 is executed.

[0090] 106. Deploy the network element to be deployed on the corresponding node.

[0091] When deploying the network element to be deployed on the corresponding node, determine the node resource requirements of the network element to be deployed. Based on the node resource requirements, allocate the corresponding node resource amount for the network element to be deployed from the nodes. Then, call the node deployment tool to deploy the network element to be deployed based on the allocated node resource amount.

[0092] 107. In the distributed system, select a target node for deploying the network element with the target network element identifier, and deploy the network element to be deployed on the target node.

[0093] In the distributed system, the method for selecting a target node for deploying the network element with the target network element identifier may include the following two types:

[0094] The first type. In the distributed system, the specific process for selecting a target node for deploying the network element with the target network element identifier may include the following steps: Determine the node resource amount that each node in the distributed system can provide; Determine all network elements with the target network element identifier under all service types that need to be deployed in the distributed system; Detect whether there is a node in the distributed system whose node resource amount is not less than the sum of the node resource requirements of all network elements with the target network element identifier; If there is, select the corresponding node as the target node for deploying the network element with the target network element identifier; If not, select the node corresponding to the largest node resource amount in the node resource amount as the target node for deploying the network element with the target network element identifier.

[0095] The second type. The nodes in the distributed system have a set sorting. Then, in the distributed system, the specific process for selecting a target node for deploying the network element with the target network element identifier may include the following steps: Determine the total number of nodes included in the distributed system; Perform a modulo operation on the target network element identifier with respect to the total number to obtain a target value; Select the node with the sorting number equal to the target value in the sorting as the target node for deploying the network element with the target network element identifier.

[0096] Exemplarily, in the set sorting of nodes in a distributed system, the nodes are, in sequence: Node 1, Node 2, Node 3. The total number of nodes included in the distributed system is 3, and the target network element identifier of the network element to be deployed is 02. Then, perform the modulo operation on 02 with 3, and the obtained target value is 0. The node "Node 2" with the serial number in the sorting being the target value 2 will be selected as the target node for deploying the network element with the target network element identifier.

[0097] Further, before selecting the node with the serial number in the sorting being the target value as the target node for deploying the network element with the target network element identifier, the following steps may also be executed: Detect whether the node resource amount that the node with the serial number in the sorting being the target value can provide is not less than the node resource demand of the node to be deployed; if it is not less than, then execute the step of selecting the node with the serial number in the sorting being the target value as the target node for deploying the network element with the target network element identifier. If it is less than, then continue to select the target node for deploying the network element with the target network element identifier in the distributed system by using the first method.

[0098] The above two methods for selecting the target node for deploying the network element with the target network element identifier in the distributed system can be flexibly selected based on service requirements, and this embodiment does not make any limitations thereto.

[0099] Further, considering that the node resource amount of the nodes is limited, if it is detected through step 105 that there is a node in the distributed system that has already deployed the network element with the target network element identifier, then the following steps 108 to 109 may be further executed:

[0100] 108. Judge whether the node resource amount that the corresponding node can provide is not less than the node resource demand of the network element to be deployed; if it is not less than, then execute step 106; if it is less than, then execute step 109.

[0101] If it is determined that the node resource amount that the corresponding node can provide is not less than the node resource demand of the network element to be deployed, it indicates that the node resources of the corresponding node are sufficient to deploy the network element to be deployed. Therefore, execute step 106 to deploy the network element to be deployed on the corresponding node.

[0102] If it is determined that the node resource amount that the corresponding node can provide is less than the node resource demand of the network element to be deployed, it indicates that the node resources of the corresponding node can no longer support the deployment of the network element to be deployed, and other nodes need to be selected to deploy the network element to be deployed. Therefore, execute step 109.

[0103] 109. In the distributed system, select a new target node for deploying the network element with the target network element identifier, and deploy the network element to be deployed on the new target node.

[0104] In a distributed system, the specific process of selecting a new target node for deploying a network element with a target network element identifier may include the following steps: determining the amount of node resources that each node in the distributed system can provide; determining all un-deployed network elements with a target network element identifier under all service types that need to be deployed in the distributed system and that have not been deployed to the distributed system yet; detecting whether there is a node in the distributed system whose node resource amount is not less than the sum of the node resource requirements of all un-deployed network elements; if there is, selecting the corresponding node as the new target node for deploying the network element with the target network element identifier; if not, selecting the node corresponding to the largest node resource amount in the node resource amounts as the new target node for deploying the network element with the target network element identifier.

[0105] If it is detected that there is a node in the distributed system whose node resource amount is not less than the sum of the node resource requirements of all un-deployed network elements, it indicates that this node can deploy all un-deployed network elements. Therefore, in order to reduce the number of nodes for deploying the network element with the target network element identifier, this node is selected as the new target node for deploying the network element with the target network element identifier.

[0106] If it is detected that there is no node in the distributed system whose node resource amount is not less than the sum of the node resource requirements of all un-deployed network elements, at this time, in order to minimize the number of nodes for deploying the network element with the target network element identifier as much as possible, the node corresponding to the largest node resource amount in the node resource amounts is selected as the new target node for deploying the network element with the target network element identifier, so as to deploy most of the un-deployed network elements on the same node as soon as possible.

[0107] After selecting the new target node, deploy the node to be deployed on the new target node.

[0108] Further, if step 108 determines that the amount of node resources that the corresponding node can provide is less than the node resource requirements of the node to be deployed, then determine the amount of node resources that each node in the distributed system can provide; detect whether there is a node in the distributed system whose node resource amount is not less than the node resource requirements of the node to be deployed; if there is, execute step 109; if not, issue a prompt that the distributed system cannot deploy the node to be deployed.

[0109] If it is detected that there is a node in the distributed system whose node resource amount is not less than the node resource requirements of the node to be deployed, it indicates that there is a node in the distributed system that can support the deployment of the node to be deployed. Therefore, execute step 109.

[0110] If it is detected that there is no node in the distributed system whose node resource amount is not less than the node resource requirement of the to-be-deployed network element, it indicates that there is currently no node in the distributed system that can support the deployment of the to-be-deployed network element. Therefore, a prompt that the distributed system cannot deploy the to-be-deployed node is issued, and the deployment of the subsequent network elements that have not been deployed is stopped. The purpose of issuing the prompt is to let the user know that the node resources of the distributed system are insufficient, so that the user can expand new nodes for the distributed system, or so that the user can clear the already deployed and useless network elements to free up node resources.

[0111] In some embodiments of the present application, although network elements of different service types reuse the same set of network element identifiers, in order to distinguish the service type to which the network element belongs and / or the user to which the network element belongs, each network element also needs to have a service type label or a user identifier, and the service type label and the user identifier are unique in the distributed system. Specifically, each network element can be named in the following way: user identifier + service type identifier + network element identifier.

[0112] Furthermore, an embodiment of the present application also provides a service chain orchestration device. This service chain orchestration device is applied to a distributed system. The nodes included in the distributed system are deployed with network elements of at least two service types. Network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with the minimum number of nodes. As Figure 5 shown, this service chain orchestration device includes:

[0113] A first selection module 21, configured to select the first network element required for orchestrating the service chain from the distributed system when there is a service chain to be orchestrated;

[0114] A second selection module 22, configured to select other network elements required for orchestrating the service chain from the network elements having the same network element identifier as the first network element;

[0115] An orchestration module 23, configured to perform service chain orchestration on the first network element and the other network elements to obtain the service chain.

[0116] The service chain orchestration device provided by the embodiment of the present application, in order to orchestrate a service chain with fewer cross-node forwarding times, controls the network elements of different service types deployed by the nodes of the distributed system to reuse the same set of network element identifiers, and the distributed system deploys the network elements with the same network element identifier among the network elements of different service types with the least number of nodes. When there is a service chain to be orchestrated, the first network element required for orchestrating the service chain is selected from the distributed system, and other network elements required for orchestrating the service chain are selected from the network elements with the same network element identifier as the first network element. The first network element and other network elements are orchestrated to obtain a service chain. It can be seen that in the solution provided by this embodiment, the network elements of different service types in the distributed system reuse the same set of network element identifiers, and the distributed system deploys the network elements with the same network element identifier among the network elements of different service types with the least number of nodes. In this way, when there is a service chain to be orchestrated, after selecting the first network element required for orchestrating the service chain from the distributed system, other network elements required for orchestrating the service chain can be directly selected from the network elements with the same network element identifier as the first network element. This can reduce the number of nodes of the source nodes of the first network element and other network elements required for orchestrating the service chain, and the cross-node traffic forwarding times between the network elements of the service chain orchestrated based on such a first network element and other network elements are fewer, thereby reducing the node resources and communication bandwidth losses caused by cross-node forwarding.

[0117] In some embodiments of the present application, as Figure 6 shown, the service chain orchestration device further includes:

[0118] A first determination module 24, configured to determine the target network element identifier of the to-be-deployed network element when there is a to-be-deployed network element of any service type;

[0119] A first detection module 25, configured to detect whether there is a network element with the target network element identifier already deployed on a node in the distributed system; if so, trigger the deployment module 26 to deploy the to-be-deployed network element on the corresponding node; if not, trigger the third selection module 27 to select a target node for deploying the network element with the target network element identifier in the distributed system, and trigger the deployment module 26 to deploy the to-be-deployed network element on the target node selected by the third module.

[0120] In some embodiments of the present application, as Figure 6 shown, the service chain orchestration device further includes:

[0121] A determination module 28, configured to, if the first detection module 25 detects that there is a node in the distributed system that has deployed a network element with the target network element identifier, determine whether the amount of node resources that the corresponding node can provide is not less than the node resource demand of the network element to be deployed; if it is not less than, the deployment module 26 performs the step of deploying the network element to be deployed on the corresponding node; if it is less than, trigger the fourth selection module 29 to select a new target node for deploying the network element with the target network element identifier in the distributed system, and trigger the deployment module 26 to deploy the network element to be deployed on the new target node selected by the fourth selection module 29.

[0122] In some embodiments of the present application, as Figure 6 shown, the fourth selection module 29 is specifically configured to determine the amount of node resources that each node in the distributed system can provide; determine all un-deployed network elements with the target network element identifier under all service types that need to be deployed in the distributed system and that have not been deployed to the distributed system; detect whether there is a node in the distributed system whose node resource amount is not less than the sum of the node resource demands of all un-deployed network elements; if there is, select the corresponding node as a new target node for deploying the network element with the target network element identifier; if not, select the node corresponding to the largest node resource amount in the node resource amounts as a new target node for deploying the network element with the target network element identifier.

[0123] In some embodiments of the present application, as Figure 6 shown, the service chain orchestration device further includes:

[0124] A second detection module 30, configured to, if the determination module 28 determines that the amount of node resources that the corresponding node can provide is less than the node resource demand of the network element to be deployed, determine the amount of node resources that each node in the distributed system can provide; detect whether there is a node in the distributed system whose node resource amount is not less than the node resource demand of the network element to be deployed; if there is, trigger the fourth selection module 29 to perform the step of selecting a new target node for deploying the network element with the target network element identifier in the distributed system; if not, trigger the prompt module 31 to issue a prompt that the distributed system cannot deploy the node to be deployed.

[0125] In some embodiments of the present application, as Figure 6 shown, the first determination module 24 is specifically configured to determine the deployment order of the network element to be deployed in the network elements of the service type to the distributed system; determine the value representing the deployment order as the target network element identifier that the network element to be deployed has.

[0126] In some embodiments of the present application, as Figure 6As shown, the nodes in the distributed system have a set sorting. Then, the third selection module 27 is specifically configured to determine the total number of nodes included in the distributed system; perform a remainder operation on the total number using the target network element identifier to obtain a target value; and select, as the target node for deploying the network element with the target network element identifier, the node with the sorting number equal to the target value in the sorting.

[0127] In some embodiments of the present application, as Figure 6 shown, the service chain orchestration device further includes:

[0128] The second determination module 32 is configured to determine the service types corresponding to all network elements to be deployed in the distributed system; set a priority sorting for the service types based on the importance level of the service types or the execution order of the services of the service types; and sequentially use, as the network elements to be deployed, the network elements corresponding to each service type based on the priority sorting.

[0129] In some embodiments of the present application, as Figure 6 shown, the service chain orchestration device further includes:

[0130] The third determination module 33 is configured to determine the service type sequence corresponding to the service chain, where the service type sequence includes at least one service type arranged in a preset order;

[0131] Then, the first selection module 21 includes:

[0132] The determination unit 211 is configured to determine the first service type at the head of the service type sequence;

[0133] The first selection unit 212 is configured to select, from the network elements of the first service type that are idle in the distributed system, the first network element required for orchestrating the service chain.

[0134] In some embodiments of the present application, as Figure 6 shown, the first selection module 21 further includes:

[0135] The first handling unit 213 is configured to, if there are network elements of the first service type in the distributed system and there are no idle network elements of the first service type, perform at least one of the following operations: issue a prompt that the service chain cannot be orchestrated; issue a prompt that there are no idle network elements of the first service type in the distributed system;

[0136] and / or,

[0137] A second processing unit 214, configured to perform at least one of the following operations if there is no network element of the first service type in the distributed system: issue a prompt indicating that the service chain cannot be orchestrated; issue a prompt indicating that the distributed system needs to add and deploy network elements of the first service type.

[0138] In some embodiments of the present application, as Figure 6 shown, the second selection module 22 includes:

[0139] A search unit 221, configured to search for network elements corresponding to each non-first service type in the service type sequence from network elements having the same network element identifier as the first network element;

[0140] A second selection unit 222, configured to select the network elements corresponding to each non-first service type found as other network elements required for orchestrating the service chain.

[0141] In some embodiments of the present application, as Figure 6 shown, the second selection module 22 further includes:

[0142] A detection unit 223, configured to, if there is a second service type in the non-first service types after the search by the search unit 221 for which no corresponding network element is found among the network elements having the same network element identifier as the first network element, detect whether the network elements deployed in the distributed system include network elements of the second service type; if not, trigger the third processing unit 224 to perform at least one of the following operations: issue a prompt indicating that the service chain cannot be orchestrated; issue a prompt indicating that the distributed system needs to add and deploy network elements of the second service type; if so, trigger the third selection unit 225 to select network elements corresponding to the second service type from the idle network elements of the second service type in the distributed system.

[0143] In some embodiments of the present application, as Figure 6 shown, the orchestration module 23 is specifically configured to orchestrate the first network element and the other network elements based on the preset order in which the at least one service type is used in the service type sequence, to obtain the service chain in which the network elements perform traffic forwarding in the preset order.

[0144] In the service chain orchestration device provided in the embodiments of the present application, the detailed explanations adopted during the operation of each functional module can be referred to the corresponding explanations in the embodiments of the above service chain orchestration method, which will not be elaborated here.

[0145] Furthermore, an embodiment of the present application further provides a computer-readable storage medium, where the storage medium includes a stored program, and wherein, when the program runs, it controls the device where the storage medium is located to execute the above service chain orchestration method.

[0146] Further, an embodiment of the present application also provides an electronic device, which includes: a memory for storing a program; and a processor coupled to the memory for running the program to execute the above service chain orchestration method.

[0147] In the above embodiments, the descriptions of the various embodiments have their own emphases. For parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0148] It can be understood that the relevant features in the above methods and devices can be referred to each other. In addition, the "first", "second", etc. in the above embodiments are used to distinguish the embodiments, and do not represent the advantages or disadvantages of the embodiments.

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

[0150] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The structure required to construct such systems will be apparent from the above description. In addition, the present application is not directed to any particular programming language. It should be understood that the content of the present application described herein can be implemented using various programming languages, and the descriptions of specific languages above are for disclosing the preferred embodiments of the present application.

[0151] In addition, the memory may include non-permanent memory in a computer-readable medium, random access memory (RAM), and / or non-volatile memory such as read-only memory (ROM) or flash RAM, and the memory includes at least one storage chip.

[0152] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0153] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processors of general-purpose computers, special-purpose computers, embedded processors, or other programmable data processing devices to generate a machine, such that the instructions executed by the processors of the computer or other programmable data processing devices produce means for implementing the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0154] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, such that the instructions stored in the computer-readable memory produce a manufacture including instruction means for implementing the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0155] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are performed on the computer or other programmable device to generate a computer-implemented process, thereby providing steps for implementing the functions specified in one or more of the flows Figure 1 one or more of the flows and / or blocks Figure 1 or means for implementing the functions specified in one or more of the blocks.

[0156] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0157] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.

[0158] A computer-readable medium includes permanent and non-permanent, removable and non-removable media that can implement information storage by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media, such as modulated data signals and carrier waves.

[0159] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising one..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the element.

[0160] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0161] The above are only embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims

1. A service chain arrangement method, characterized in that: Applied to a distributed system, the distributed system includes nodes deployed with network elements of at least two service types, network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with a minimum number of nodes, the method comprising: When there is a service chain to be orchestrated, selecting a first network element required for orchestrating the service chain from the distributed system; Selecting other network elements required for orchestrating the service chain from network elements having the same network element identifier as the first network element; Perform service chain orchestration on the first network element and the other network elements to obtain the service chain.

2. The method according to claim 1, characterized in that The method further comprises: When there is a network element to be deployed of any service type, determining a target network element identifier of the network element to be deployed; Detecting whether a node in the distributed system has deployed a network element having the target network element identifier; If so, deploy the network element to be deployed at the corresponding node; If it does not exist, then in the distributed system, a target node for deploying the network element with the target network element identifier is selected, and the network element to be deployed is deployed on the target node.

3. The method according to claim 2, characterized in that The method further comprises: If it is detected that a node in the distributed system has deployed a network element having the target network element identifier, then determining whether the node resource amount that can be provided by the corresponding node is not less than the node resource requirement of the network element to be deployed; If it is not less than, executing the step of deploying the network element to be deployed on the corresponding node; If it is less than, in the distributed system, a new target node for deploying the network element with the target network element identifier is selected, and the network element to be deployed is deployed on the new target node.

4. The method according to claim 3, characterized in that In the distributed system, selecting a new target node for deploying a network element having the target network element identifier includes: Determine the amount of node resources that each node in the distributed system can provide; Determine an undeployed network element having the target network element identifier under all service types that need to be deployed in the distributed system and which has not yet been deployed to the distributed system; Detecting whether there is a node in the distributed system whose node resource amount is not less than the sum of the node resource requirements of all undeployed network elements; If so, selecting the corresponding node as a new target node for deploying the network element having the target network element identifier; If it does not exist, the node corresponding to the maximum node resource amount in the node resource amount is selected as a new target node for deploying the network element with the target network element identifier.

5. The method according to claim 3, characterized in that: The method further comprises: If it is determined that the amount of node resources that the corresponding node can provide is less than the node resource requirement of the network element to be deployed, determining the amount of node resources that each node in the distributed system can provide; Detecting whether there is a node in the distributed system whose node resource amount is not less than the node resource requirement of the network element to be deployed; If so, executing the step of selecting a new target node for deploying the network element having the target network element identifier in the distributed system; If it does not exist, a prompt is issued that the distributed system cannot deploy the node to be deployed.

6. The method according to claim 2, characterized in that Determining the target network element identifier of the network element to be deployed includes: Determine a deployment order in which the network elements to be deployed are deployed in the distributed system among the network elements of the service type; A value representing the deployment order is determined as a target network element identifier of the network element to be deployed.

7. The method according to claim 6, characterized in that The nodes in the distributed system have a set order, and then, in the distributed system, selecting a target node for deploying a network element having the target network element identifier includes: Determining the total number of nodes included in the distributed system; Performing a modulo operation on the target network element identifier and the total number to obtain a target value; A node whose sequence number in the sequence is the target value is selected as a target node for deploying a network element having the target network element identifier.

8. The method according to claim 2, characterized in that: The method further comprises: Determine the corresponding service types of all network elements that need to be deployed in the distributed system; Set the priority of business types based on their importance or the order in which they are executed; Based on the priority sorting, the network elements that need to be deployed corresponding to each service type are sequentially selected as network elements to be deployed.

9. The method according to any one of claims 1 to 8, characterized in that The method further includes: determining a service type sequence corresponding to the service chain, the service type sequence including at least one service type arranged in a preset order; Then, selecting a first network element required for orchestrating the service chain from the distributed system includes: Determine a first service type that is at the top of the service type sequence; A first network element required for orchestrating the service chain is selected from idle network elements of the first service type in the distributed system.

10. The method according to claim 9, characterized in that The method further comprises: If the distributed system has a network element of the first service type and there is no idle network element of the first service type, performing at least one of the following operations: issuing a prompt that the service chain cannot be arranged; issuing a prompt that there is no idle network element of the first service type in the distributed system; and / or, If the distributed system does not have a network element of the first service type, at least one of the following operations is performed: issuing a prompt that the service chain cannot be orchestrated; issuing a prompt that the distributed system needs to add network elements of the first service type to be deployed.

11. The method according to claim 9, characterized in that Selecting other network elements required for orchestrating the service chain from network elements having the same network element identifier as the first network element includes: From the network elements having the same network element identifier as the first network element, searching for the network element corresponding to each service type that is not the first in the service type sequence; The network element corresponding to each service type that is not in the first position is selected as other network elements required for arranging the service chain.

12. The method according to claim 11, characterized in that The method further comprises: If there is a second service type in the non-first service type for which no corresponding network element is found in the network element having the same network element identifier as the first network element, detecting whether the network elements deployed in the distributed system include network elements of the second service type; If not included, performing at least one of the following operations: issuing a prompt that the service chain cannot be orchestrated; issuing a prompt that the distributed system needs to add network elements for deploying the second service type; If included, a network element corresponding to the second service type is selected from the idle network elements of the second service type in the distributed system.

13. The method according to claim 9, characterized in that Performing service chain orchestration on the first network element and the other network elements to obtain the service chain includes: The preset order used by the at least one service type is arranged based on the service type sequence, and the first network element and the other network elements are arranged to obtain the service chain in which the network elements forward traffic according to the preset order.

14. A service chain arrangement device, characterized in that: Applied to a distributed system, the distributed system includes nodes deployed with network elements of at least two service types, network elements of different service types reuse the same set of network element identifiers, and the distributed system deploys network elements with the same network element identifier among network elements of different service types with a minimum number of nodes, the device includes: A first selection module is used to select a first network element required for arranging the service chain from the distributed system when there is a service chain to be arranged; A second selection module is used to select other network elements required for arranging the service chain from network elements having the same network element identifier as the first network element; The orchestration module is used to perform service chain orchestration on the first network element and the other network elements to obtain the service chain.

15. A computer-readable storage medium, characterized in that: The storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the service chain orchestration method described in any one of claims 1 to claim 13.

16. An electronic device, characterized in that: The electronic device comprises: Memory, used to store programs; A processor, coupled to the memory, is used to run the program to execute the service chain orchestration method described in any one of claims 1 to 13.