Computing power routing load balancing method, storage medium, electronic device and computer program product
Patent Information
- Application Number
- CN202510343591.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-21
- Publication Date
- 2026-09-22
AI Technical Summary
[0013]通过本申请上述实施例,可以综合算力服务能力信息生成面向多个服务实例的多路径路由转发表项,在单个调度周期内将算力服务业务流量按比例散布在多个服务实例,因此,解决了相关技术中无法有效实现算力服务流量在多个实例间的合理负载均衡,导致资源分配不均和资源利用率低的问题,进而达到了避免流量调度极化,有效提高算网资源的利用率的效果。
Smart Images

Figure CN122802440A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more specifically, to a computing power routing load balancing method, a storage medium, an electronic device, and a computer program product. Background Technology
[0002] Driven by current 5G technology, multi-access edge computing (MEC) has become a focus of industry attention, accelerating its deployment in emerging business areas such as the Industrial Internet. To meet the demands of the future Industrial Internet and more real-time interactive applications for an exceptional user experience, computing power networks have emerged. Computing power routing aims to match computing power service requests with service instances and network forwarding paths that meet quality of service requirements, based on computing network resources and capabilities, thereby achieving the routing and service assurance of computing power services that meet user experience needs.
[0003] In traditional distributed multi-instance deployment scenarios for computing power services, the computing power network control plane typically uses the following two methods to match the service instance and network forwarding path for computing power service requests:
[0004] (1) Select an optimal computing service instance (e.g., the lowest processing latency and the highest resource capacity) and its corresponding forwarding path to provide computing services.
[0005] (2) Select multiple (groups) computing service instances that meet the computing service experience requirements (e.g., processing latency below a certain threshold of 20ms, resource usage below 80%) and their corresponding forwarding paths to provide computing services together in the form of load balancing.
[0006] However, if the computing power network control plane and the computing power routing gateway only support selecting an optimal computing power service instance and its corresponding forwarding path to provide computing power services within the scheduling cycle, problems such as traffic polarization will easily occur (for example, in 0-1 minutes, the computing power routing gateway diverts all traffic from 1 to 100 users to resource pool 1, and in 1-2 minutes, the computing power routing gateway diverts all traffic from 100 to 200 users to resource pool 2). This will result in a heavy computational and re-optimization computational burden on the computing power network control plane (for example, the re-optimization and re-routing computation cycle is 1 minute) and poor robustness in dealing with sudden traffic (for example, if 2,000 users access the network within the 0-1 minute period, and all of them are diverted to a single resource pool, the capacity of that resource pool is very likely to be insufficient, which will lead to a failure to guarantee the service experience for these users).
[0007] There is no good solution to the above problems in the relevant technologies. Summary of the Invention
[0008] This application provides a computing power routing load balancing method, storage medium, electronic device, and computer program product to at least solve the problem in related technologies that it is impossible to effectively achieve reasonable load balancing of computing power service traffic among multiple instances, resulting in uneven resource allocation and low resource utilization.
[0009] According to one embodiment of this application, a computing power routing load balancing method is provided, comprising: acquiring computing power service capability information related to multiple service instances of a target computing power service; generating a multi-path routing forwarding table entry for multiple service instances based on the computing power service capability information, wherein the multi-path routing forwarding table entry includes computing power service capability information of multiple service instances and forwarding weights used to indicate traffic sharing ratios; and forwarding computing power service traffic to multiple service instances according to the forwarding weights of multiple service instances in the multi-path routing forwarding table entry within a preset period in accordance with corresponding ratios.
[0010] According to yet another embodiment of this application, a computer-readable storage medium is also provided, which stores a computer program, wherein the computer program, when executed by a processor, implements the steps in any of the above method embodiments.
[0011] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in any of the above method embodiments.
[0012] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.
[0013] Through the above embodiments of this application, multi-path routing and forwarding table entries for multiple service instances can be generated by comprehensively considering computing power service capability information. Within a single scheduling cycle, computing power service traffic is distributed proportionally among multiple service instances. Therefore, the problem of ineffective load balancing of computing power service traffic among multiple instances, resulting in uneven resource allocation and low resource utilization, is solved in related technologies. This achieves the effect of avoiding traffic scheduling polarization and effectively improving the utilization rate of computing network resources. Attached Figure Description
[0014] Figure 1 This is a schematic diagram of the architecture of a computing power routing network according to an embodiment of this application;
[0015] Figure 2 This is a flowchart of a computing power routing load balancing method according to an embodiment of this application;
[0016] Figure 3This is a flowchart (I) illustrating the process of obtaining computing power service capability information in one embodiment of this application;
[0017] Figure 4 This is a flowchart (II) illustrating the process of obtaining computing power service capability information in one embodiment of this application;
[0018] Figure 5 This is a schematic diagram of the process for generating multi-path routing forwarding table entries in one embodiment of this application;
[0019] Figure 6 This is a schematic diagram of the process of forwarding computing power service traffic according to forwarding weight in one embodiment of this application;
[0020] Figure 7 This is a schematic diagram of resource constraints for integrated computing and network load balancing in one embodiment of this application;
[0021] Figure 8 This is a schematic diagram of the structure of BGP extended community attributes in one embodiment of this application (I);
[0022] Figure 9 This is a schematic diagram (II) of the structure of BGP extended community attributes in one embodiment of this application;
[0023] Figure 10 This is a schematic diagram of the structure of BGP path attributes in one embodiment of this application (I);
[0024] Figure 11 This is a schematic diagram (II) of the structure of BGP path attributes in one embodiment of this application;
[0025] Figure 12 This is a schematic diagram of information transmission across AS based on the BGP protocol in one embodiment of this application;
[0026] Figure 13 This is a schematic diagram of a hierarchical architecture for computing power routing service traffic scheduling and load balancing in one embodiment of this application;
[0027] Figure 14 This is a schematic diagram of the computing power routing network for a cloud rendering service in one embodiment of this application;
[0028] Figure 15 This is a schematic diagram of the computing power routing load balancing result in one embodiment of this application. Detailed Implementation
[0029] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.
[0030] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0031] The method embodiments in this application can be run on a computing power routing network. Figure 1 This is a schematic diagram of the architecture of a computing power routing network according to an embodiment of this application, as shown below. Figure 1 As shown, the network architecture includes: an Ingress Gateway (IGW) 10, an Egress Gateway (EGW) 20, and an Edge Cloud 30. The Ingress Gateway 10 is typically the first point of contact for data flows or service requests entering the computing network. It receives user service requests and, based on a pre-defined load balancing algorithm, selects the most suitable computing resources and network path to distribute traffic to the computing resource pool. The Egress Gateway 20 is the final point of contact for data flows or service requests leaving the computing network. The Edge Cloud 30 provides computing services, including computing resource pools or computing service instances. It is a data center or computing node within the computing network. The Edge Cloud 30 is directly connected to the Egress Gateway 20 and receives data flows or service requests from the Ingress Gateway 10 through the Egress Gateway 20. Figure 1 This is just one example of a computing power routing network, but this application is not limited to it. For example, there may be more intermediate nodes between the ingress gateway 10 and the egress gateway 20, and one egress gateway 20 may connect to multiple edge clouds 30. Figure 1 The computing power routing network in this application is only an example, and this application does not impose any limit on the number of network nodes in the computing power routing network.
[0032] In traditional networks, there are load balancing technologies based on the Internet Protocol (IP). These technologies are mainly implemented by calculating the feasible load-sharing ratio of traffic to the same destination on various forwarding paths based on the bandwidth constraints that may exist in network-side links and forwarding paths, thereby distributing the traffic across multiple network forwarding paths.
[0033] In contrast, in a computing power network, if the IP address is also used as the routing prefix to identify computing power services, there may be multiple computing power service instances under the same routing prefix, corresponding to multiple forwarding paths for each service instance. Compared to load balancing methods in traditional networks, in a computing power network, in addition to potential bandwidth constraints on network-side links and forwarding paths, the capacity and capabilities of the computing power service instances themselves are also limited.
[0034] However, according to current testing standards for computing power routing systems, traditional computing power routing load balancing methods are based on computing network resource information, selecting an optimal computing power service instance and its corresponding forwarding path to provide computing power services. Therefore, in computing power networks, computing power routing gateways urgently need to achieve load balancing across multiple instances and paths based on a comprehensive understanding of computing network resource information.
[0035] This embodiment provides a computing power routing load balancing method operating on the above-described network architecture. Figure 2 This is a flowchart of a computing power routing load balancing method according to an embodiment of this application, such as... Figure 2 As shown, the process includes the following steps:
[0036] Step S202: Obtain computing power service capability information related to multiple service instances of the target computing power service;
[0037] Step S204: Generate a multi-path routing forwarding table entry for multiple service instances based on the computing power service capability information. The multi-path routing forwarding table entry includes the computing power service capability information of multiple service instances and forwarding weights used to indicate the traffic sharing ratio.
[0038] Step S206: Based on the forwarding weights of multiple service instances in the multi-path routing forwarding table entries, forward computing power service traffic to multiple service instances in a corresponding proportion within a preset period.
[0039] The entities performing the above steps can be user equipment, routers, computing power routing gateways (e.g., ingress gateways), but are not limited to these. The following embodiments all use computing power routing gateways as examples for illustration, but this application is not limited to this.
[0040] In this embodiment, the target computing power service refers to a specific computing power service that the user requests to access or use, such as cloud rendering service or machine learning model inference service. In the computing power network, each computing power service can be deployed with multiple service instances or edge clouds. Each service instance has certain computing power resources and storage space, and can independently process service requests. The computing power service traffic is the traffic corresponding to the target computing power service. This application does not limit the type of computing power service.
[0041] In this embodiment, the computing power service capability information reflects the processing capability of the service instance and the overall performance of the forwarding link corresponding to the service instance. It is an important parameter when the computing power routing gateway performs Unequal Cost Multipath Routing (UCMP) or Equal Cost Multipath Routing (ECMP) calculations.
[0042] In this embodiment, the multi-path routing forwarding table entry is a routing table entry inside the router or gateway, used to indicate which service instances and corresponding network paths can be distributed to the computing power service traffic. The forwarding weight in the multi-path routing forwarding table entry is used to indicate the traffic sharing ratio among multiple service instances.
[0043] In this embodiment, the preset period refers to the time interval during which the computing power routing gateway performs traffic load balancing calculations and updates forwarding policies.
[0044] Through the above steps, multi-path routing and forwarding table entries for multiple service instances can be generated by comprehensively analyzing computing power service capability information. Within a single scheduling cycle (i.e., the aforementioned preset cycle), computing power service traffic is distributed proportionally across multiple service instances. Therefore, this solves the problem in related technologies where it is impossible to effectively achieve reasonable load balancing of computing power service traffic among multiple instances, resulting in uneven resource allocation and low resource utilization. This achieves the effect of avoiding traffic scheduling polarization and effectively improving the utilization rate of computing network resources. This technical solution not only ensures the reasonable utilization of network link resources and computing power service resources, but also improves the user experience.
[0045] In some embodiments, computing power service capability information may include computing power resource access side capability information and service instance capacity constraint information.
[0046] Among them, service instance capacity constraint information refers to information related to the service instance's own business processing capabilities, and computing resource access side capability information refers to link-related information on the computing resource access side. For example, the computing resource access side can be from the service instance to a remote device or from the service instance to an intermediate device. Each service instance is connected to a remote device, and the remote device can connect directly to the current device or connect to the current device through one or more intermediate devices.
[0047] Figure 3 This is a flowchart (I) illustrating the process of obtaining computing power service capability information in one embodiment of this application, as follows: Figure 3 As shown, step S202 above, namely obtaining computing power service capability information related to multiple service instances of the target computing power service, may include the following steps:
[0048] Step S2022: Obtain the computing resource access capability information of multiple service instances from at least one remote device by using the extended Border Gateway Protocol (BGP);
[0049] Step S2024: Obtain service instance capacity constraint information for multiple service instances from at least one remote device by extending BGP.
[0050] In this embodiment, the computing power routing gateway can obtain computing power resource access-side capability information and / or service instance capacity constraint information by receiving BGP messages from remote devices. That is, the BGP messages can carry computing power resource access-side capability information and / or service instance capacity constraint information. Through real-time updates and acquisition of this information, the current device can accurately determine the current status of each service instance, thereby enabling more reasonable allocation of forwarding weights and achieving load balancing when generating multi-path routing forwarding table entries.
[0051] In some embodiments, the computing power resource access side capability information may include: access side remaining bandwidth, access side reserved bandwidth, or access side available bandwidth, wherein the access side remaining bandwidth, access side reserved bandwidth, or access side available bandwidth are carried in the extended field of the BGP extended community attribute in the BGP message.
[0052] In one exemplary embodiment, if the computing power resource access side capability information is the remaining bandwidth on the access side, the extended field can be set as the remaining bandwidth field, but this application is not limited to this.
[0053] In some embodiments, the service instance capacity constraint information includes: the remaining capacity of the service instance or the available capacity of the service instance, wherein the remaining capacity of the service instance or the available capacity of the service instance is carried in the extended field of the extended BGP path attribute in the BGP message.
[0054] In one exemplary embodiment, if the service instance capacity constraint information is the remaining capacity of the service instance, the extended field can be set to the remaining capacity field, but this application is not limited to this.
[0055] The method embodiments in this application can be applied not only within a single autonomous system, but also to complex computing networks containing multiple autonomous systems.
[0056] In some embodiments, step S2022 may include: in response to the current device and the remote device being located in different autonomous systems, obtaining computing power resource access side capability information through multiple intermediate devices between the remote device and the current device, wherein the computing power resource access side capability information is carried in a computing power routing message sent by the remote device, and the computing power resource access side capability information is updated by the intermediate device when the intermediate device forwards the computing power routing message and updates the next-hop device identifier in the computing power routing message.
[0057] In this embodiment, if the current device (e.g., the ingress gateway) and the remote device (e.g., the egress gateway) are located in different autonomous systems, the computing power routing message (e.g., a BGP message) needs to be transmitted through multiple intermediate devices from the remote device to the current device. During message transmission, if an intermediate device needs to update the next-hop device identifier in the computing power routing message, the computing power resource access side capability information in the computing power routing message will also be updated simultaneously. In this case, the intermediate device to the computing power service instance can be regarded as a new computing power service access side. This application does not limit the number and type of autonomous systems that transmit computing power routing messages, thereby enhancing the flexibility and real-time nature of information acquisition.
[0058] In some embodiments, the computing power service capability information may also include network-side traffic engineering resource information.
[0059] In this embodiment, network-side traffic engineering resource information can reflect the allocation and usage of network resources. By adding network-side traffic engineering resource information as an important indicator for generating multi-path routing forwarding table entries, network traffic allocation can be optimized and network efficiency can be improved.
[0060] Figure 4 This is a flowchart (II) illustrating the process of obtaining computing power service capability information in one embodiment of this application, as shown below. Figure 4 As shown, step S202 above, namely obtaining computing power service capability information related to multiple service instances of the target computing power service, may include the following steps:
[0061] Step S2022: Obtain the computing resource access capability information of multiple service instances from at least one remote device by using the extended Border Gateway Protocol (BGP);
[0062] Step S2024: Obtain service instance capacity constraint information of multiple service instances from at least one remote device by extending BGP;
[0063] Step S2026: Obtain network-side traffic engineering resource information from the device locality.
[0064] In some embodiments, step S2026 may include: obtaining network-side traffic engineering resource information based on BGP route iteration traffic engineering (TE) tunnel, wherein the network-side traffic engineering resource information includes one of the following: the configured bandwidth of the traffic engineering tunnel, the available bandwidth of the traffic engineering tunnel, or the remaining bandwidth of the traffic engineering tunnel.
[0065] In this embodiment, by obtaining network-side traffic engineering resource information through the BGP routing iteration mechanism, the allocation of network resources can be more accurately assessed and forwarding weights can be allocated reasonably when generating multi-path routing forwarding table entries.
[0066] In this embodiment, a TE tunnel refers to a path in the network that is reserved and optimized specifically for a particular type of traffic. For example, a TE tunnel may include, but is not limited to, tunnels based on IPv6 Segment Routing over IPv6 Policy (SRv6 Policy), Segment Routing Policy (SR Policy), Multiprotocol Label Switching-Traffic Engineering (MPLS-TE), etc.
[0067] Figure 5 This is a schematic diagram of the process for generating multi-path routing forwarding table entries in one embodiment of this application, as shown below. Figure 5 As shown, step S204 above, which is to generate multi-path routing forwarding table entries for multiple service instances based on computing power service capability information, may include the following steps:
[0068] Step S2042: For each service instance, determine the forwarding weight based on the computing power resource access side capability information, service instance capacity constraint information, and network side traffic engineering resource information;
[0069] Step S2044: Distribute the forwarding weights of multiple service instances to the forwarding plane, and generate multi-path routing forwarding table entries through the forwarding plane.
[0070] In this embodiment, the multi-path routing forwarding table entry includes multiple forwarding entries corresponding to multiple forwarding paths of multiple service instances. Each service instance corresponds to at least one forwarding path, and each forwarding path corresponds to one forwarding entry. The forwarding entry includes: service instance identifier, next-hop device identifier, service capability information, and forwarding weight.
[0071] In an exemplary embodiment, the service instance identifier can be a segment routing over IPv6 segment identifier (SRv6 SID). In scenarios where an egress gateway can connect to / deploy multiple service instances or multiple computing resource clouds, using SRv6 SID can accurately identify the corresponding service instance, avoiding the inability to identify multiple service instances connected to the same egress gateway when using IP identifiers for computing services in traditional solutions.
[0072] In some embodiments, step S2042 may include one of the following:
[0073] Forwarding weight = MIN{value of computing power resource access side capability information, value of service instance capacity constraint information, value of network side traffic engineering resource information};
[0074] Forwarding weight = Preset first weight × MIN{value of network-side traffic engineering resource information, value of computing power resource access-side capability information} + Preset second weight × value of service instance capacity constraint information.
[0075] In this embodiment, MIN is used to obtain the minimum value of multiple parameters. The preset first weight and preset second weight can be set by the user or administrator in the computing power routing gateway through a method such as BGP sorting rules configuration. The above two methods in this embodiment are both UCMP calculations for computing power routing. The forwarding weight of each forwarding entry in the multi-path routing forwarding table is calculated independently, thereby enabling dynamic load balancing of traffic.
[0076] In this embodiment, the forwarding weight can be determined based on the minimum value of the computing power resource access side capability information, service instance capacity constraint information, and network side traffic engineering resource information, or the forwarding weight can be determined by weighted summation of different information through preset weights. The former ensures that the allocation ratio of service traffic will not exceed the minimum value of any key indicator, avoiding overload of computing power resources or network resources, while the latter allows for flexible adjustment of the weights of different information according to different service needs and network conditions, thereby improving the comprehensive utilization rate of network resources and computing power resources.
[0077] In an exemplary embodiment, if the network-side traffic engineering resource information is the remaining bandwidth of the traffic engineering tunnel, the computing power resource access-side capacity information is the remaining bandwidth of the access side, and the service instance capacity constraint information is the remaining capacity of the service instance, then the forwarding weight can be represented as the comprehensive remaining bandwidth value of the computing power routing. For example, the comprehensive remaining bandwidth value of the computing power routing can be determined in the following manner:
[0078] The total remaining bandwidth value for computing power routing = MIN{remaining bandwidth value of the traffic engineering tunnel, remaining bandwidth value of the access side, remaining capacity value of the service instance}; or,
[0079] The total remaining bandwidth value of the computing power routing = preset first weight × MIN{the remaining bandwidth value of the traffic engineering tunnel, the remaining bandwidth value of the access side} + preset second weight × the remaining capacity value of the service instance.
[0080] In another exemplary embodiment, if the network-side traffic engineering resource information is the available bandwidth of the traffic engineering tunnel, the computing power resource access-side capability information is the available bandwidth of the access side, and the service instance capacity constraint information is the available capacity of the service instance, then the forwarding weight can be represented as the comprehensive available bandwidth value of the computing power routing. For example, the comprehensive available bandwidth value of the computing power routing can be determined in the following manner:
[0081] The total available bandwidth value for computing power routing = MIN{available bandwidth value of traffic engineering tunnel, available bandwidth value of access side, available capacity value of service instance}; or,
[0082] The total available bandwidth value of the computing power routing = preset first weight × MIN{the available bandwidth value of the traffic engineering tunnel, the available bandwidth value of the access side} + preset second weight × the available capacity value of the service instance.
[0083] In this embodiment of the application, the premise for realizing the computing power routing UCMP calculation for multiple service instances is that the full information of computing power service capability information related to multiple service instances (i.e., the full information required to calculate forwarding weight) has been obtained by the current device. However, in actual operation, due to network fluctuations, line failures, and other reasons, there may be cases where some information is missing. At this time, the computing power routing UCMP calculation can be degraded on demand according to the actual situation. The full information of computing power service capability information includes computing power resource access side capability information, service instance capacity constraint information, and network side traffic engineering resource information.
[0084] In some embodiments, depending on the availability of computing power service capability information, step S2042 can be reduced to at least one of the following:
[0085] Degradation mode 1: In response to the current device not obtaining full information on computing power service capabilities related to multiple service instances, the forwarding weights of multiple service instances are set to the same value.
[0086] In this case, degradation mode 1 is equivalent to degradation from UCMP to ECMP. The proportion of computing power service traffic distributed to each path is the same. If each service instance corresponds to a forwarding path, it means that the traffic distribution ratio of each service instance is also the same.
[0087] Degradation method 2: In response to the current device not obtaining full information on computing power service capability information related to the first service instance, the first service instance is removed from multiple service instances, and the forwarding weight of the remaining service instances is determined based on the computing power resource access side capability information, service instance capacity constraint information, and network side traffic engineering resource information. The first service instance can be any service instance among the multiple service instances.
[0088] Among them, degradation method 2 is equivalent to deleting the service instance that has not obtained full information from the multi-path routing forwarding table entry, and no longer forwarding business traffic to it within the current preset period. This method is suitable for scenarios where the total number of service instances is greater than or equal to 3. A single service instance is temporarily degraded, while the remaining service instances can still perform UCMP calculation.
[0089] Degradation method 3: In response to the current device having obtained the computing power resource access side capability information and service instance capacity constraint information of the second service instance, but not obtaining the network side traffic engineering resource information of the second service instance, the forwarding weight of the second service instance is determined based on the computing power resource access side capability information and service instance capacity constraint information, wherein the second service instance is any service instance among multiple service instances.
[0090] Among them, degradation method 3 is limited to scenarios where network-side traffic engineering resource information is missing. It is equivalent to degrading the calculation of forwarding weight from three types of information (computing power resource access side capability information, service instance capacity constraint information, and network-side traffic engineering resource information) to calculating forwarding weight based on two types of information (computing power resource access side capability information and service instance capacity constraint information).
[0091] In one exemplary embodiment, the information acquisition status of the computing power routing gateway and the final calculated forwarding weight are shown in Tables 1, 2, and 3, depending on the different degradation methods.
[0092] Table 1: Information acquisition and forwarding weight of degradation mode 1.
[0093] Computing power routing entries Network-side TE resources Computing resource access capabilities Service instance capacity constraints Forwarding weight 1 1G 0.5G 0.4G 1 2 1G 0.5G 0.3G 1 3 unknown 0.7G 0.5G 1
[0094] As shown in Table 1, according to degradation mode 1, the computing power routing gateway can perform UCMP calculation only when it obtains the full information of computing power service capability information related to multiple service instances, and perform ECMP calculation in other cases. That is, all forwarding weights are set to the same value (e.g., 1), thereby achieving proportional forwarding of traffic.
[0095] Table 2: Information acquisition and forwarding weight of degradation mode 2.
[0096]
[0097] As shown in Table 2, according to degradation method 2, the computing power routing gateway can remove computing power routing entries that do not have full information from the computing power routing table, and only perform computing power routing UCMP calculation on computing power routing entries that have full information.
[0098] Table 3: Information acquisition and forwarding weight of degradation mode 3.
[0099]
[0100] As shown in Table 3, according to degradation method 3, the computing power routing gateway can perform simplified computing power routing UCMP calculation based on incomplete computing power service capability information (including computing power resource access side capability information and service instance capacity constraint information) even when network-side traffic engineering resource information is missing. For example, the simplified UCMP calculation can be applied only to computing power routing entries with missing information; or, the simplified UCMP calculation can be applied to the entire computing power routing table entry, meaning that the computing power routing gateway no longer considers any network-side traffic engineering resource information when calculating forwarding weights.
[0101] In one exemplary embodiment, according to degradation method 3, the formula for calculating the computing power routing UCMP above can be degraded to one of the following:
[0102] Forwarding weight = MIN{value of computing resource access side capability information, value of service instance capacity constraint information};
[0103] Forwarding weight = preset first weight × value of computing power resource access side capability information + preset second weight × value of service instance capacity constraint information.
[0104] In this embodiment, the above-mentioned degradation methods can all ensure that the computing power service traffic can still be reasonably distributed even when the information is incomplete, thereby improving the stability and fault tolerance of the system.
[0105] Figure 6 This is a schematic diagram illustrating the process of forwarding computing power service traffic according to forwarding weight in one embodiment of this application, as shown below. Figure 6 As shown, step S206 above, which involves forwarding computing power service traffic to multiple service instances according to the forwarding weights of multiple service instances in the multi-path routing forwarding table entry within a preset period in accordance with the corresponding proportions, may include the following steps:
[0106] Step S2062: Determine the sum of the forwarding weights of the current device based on the forwarding weights of multiple forwarding entries in the multi-path routing forwarding table.
[0107] Step S2064: The ratio of the forwarding weight of each forwarding entry to the total forwarding weight of the current device is determined as the traffic sharing ratio of the forwarding path corresponding to the forwarding entry;
[0108] Step S2066: Within a preset period, according to the traffic sharing ratio of each forwarding path, forward the computing power service traffic to multiple service instances.
[0109] In this embodiment, the traffic of computing power service can be distributed based on a hash algorithm to avoid a large amount of traffic from flooding into the same forwarding path or the same service instance in a certain period of time. However, this application is not limited to this, and other hash algorithms can also be used, such as weighted round-robin.
[0110] In an exemplary embodiment, the forwarding weights of the three forwarding entries (i.e., the three forwarding paths) corresponding to the target computing power service are 1, 2, and 3, respectively. Therefore, the traffic sharing ratios of the three forwarding paths are 1 / 6, 1 / 3, and 1 / 2, respectively. Furthermore, if a total of 6G of computing power service traffic is received within a preset period, the current device (such as a computing power routing device) can distribute the computing power service traffic across the three forwarding paths according to the corresponding ratio based on a hash algorithm. Within the preset period, the traffic allocated to the three forwarding paths is approximately 1G, 2G, and 3G, respectively.
[0111] In this embodiment, by distributing computing service traffic proportionally to various forwarding paths, the utilization rate of computing and network resources can be comprehensively improved, service latency can be reduced, and it is suitable for large-scale distributed computing service scenarios. It can effectively avoid the waste and overload of computing resources and provide solid technical support for the efficient operation of computing networks.
[0112] Through the embodiments of this application, the extended features of the BGP protocol can be utilized to obtain computing power service capability information in real time. By dynamically adjusting the forwarding weight based on information such as the access capabilities of comprehensive computing power resources, service instance capacity constraints, and network-side traffic engineering resources, the load balancing efficiency and accuracy of computing power services can be significantly improved. This enables intelligent distribution of computing power service traffic and solves the problem in related technologies where it is impossible to effectively achieve reasonable load balancing of computing power service traffic among multiple instances, resulting in uneven resource allocation and low resource utilization. This achieves the effect of avoiding traffic scheduling polarization and effectively improving the utilization rate of computing network resources.
[0113] In this embodiment, computing power routing service traffic is evenly distributed across multiple valid instances within a scheduling cycle, solving the polarization problem of service scheduling and traffic diversion. Since computing power routing service traffic can be evenly distributed within a scheduling cycle, the risk of exceeding the limits of each computing power service instance with limited resources is reduced, thereby further reducing the frequency of computing power announcements and recalculations / optimizations on the control plane, thus alleviating the burden on the control plane. Moreover, the distribution of computing power routing service traffic is calculated based on the computing network resource situation, thus conforming to the resource capabilities of the computing network infrastructure, thereby effectively improving the utilization rate of computing network resources.
[0114] Figure 7 This is a schematic diagram of resource constraints for integrated computing and network load balancing in one embodiment of this application, as shown below. Figure 7As shown, resource constraints that may affect the operational efficiency of computing resources / network resources include: computing resource access capabilities, service instance capacity constraints, and network-side traffic engineering resources.
[0115] The computing power resource access-side capability information in this application can be carried through BGP extended community attributes in BGP messages. For example, based on the existing support for carrying link bandwidth in BGP extended community attributes, the attributes can be extended to carry remaining access-side bandwidth, reserved access-side bandwidth, or available access-side bandwidth. Similar to link bandwidth extended community attributes, remaining or reserved bandwidth extended community attributes can also be declared as transitive or non-transitive to indicate whether the information can be transmitted between different autonomous systems. The encoding method for remaining or reserved bandwidth extended community attributes is the same as that for link bandwidth extended community attributes, and the source of the value can include, but is not limited to, traffic sampling information or configuration information from physical interfaces, Service Gateway (SG) interfaces, etc.
[0116] Figure 8 This is a schematic diagram (a) of the structure of BGP extended community attributes in one embodiment of this application, as shown below. Figure 8 As shown, the extended field is set to carry the Available Link Bandwidth Value, which is the value of the available bandwidth on the access side.
[0117] Figure 9 This is a schematic diagram (II) of the structure of BGP extended community attributes in one embodiment of this application, as shown below. Figure 9 As shown, the extended field is set to carry the Residual Link Bandwidth Value, which is the value of the remaining bandwidth on the access side.
[0118] The sub-type in the BGP extended community attribute can be assigned by the Internet Assigned Numbers Authority (IANA).
[0119] The service instance capacity constraint information in this application can be carried through the BGP PathAttribute in the BGP message. For example, the BGP PathAttribute can be extended by expanding the Metric Type based on fields such as the Service-Oriented Capability Sub-TLV field and the Service-Oriented Available Resource Sub-TLV field in the MetadataAttribute. The type is assigned by IANA. For example, Metric Type = 1 identifies the bandwidth attribute of the computing service instance.
[0120] Figure 10 This is a schematic diagram (I) of the structure of BGP path attributes in one embodiment of this application, as shown below. Figure 10 As shown, when Metric Type = 1 in Service-Oriented Capability Sub-TLV, the remaining capacity of the service instance can be carried through the Capable Resource field.
[0121] Figure 11 This is a schematic diagram (II) of the structure of BGP path attributes in one embodiment of this application, as shown below. Figure 11 As shown, when Metric Type = 1 in Service-Oriented Available Resource Sub-TLV, the available capacity of the computing service instance can be carried through the Available Resource field.
[0122] Through the above embodiments, BGP can be used to obtain and update computing resource access side capability information and service instance capacity constraint information in real time, thereby more accurately calculating the forwarding weight and traffic sharing ratio of each service instance and improving computing network service efficiency.
[0123] The multi-path routing forwarding table entries in this embodiment extend the traditional UCMP / ECMP forwarding table entries by adding service instance identifiers and service capability information. The IGW device distributes the forwarding weights calculated via UCMP / ECMP to the device forwarding plane, forming UCMP / ECMP forwarding table entries on the device forwarding plane to guide the forwarding of computing power service traffic. Examples of multi-path routing forwarding table entries are shown in Tables 4 and 5. Tables 4 and 5 only show a portion of the multi-path routing forwarding table entries, and this application is not limited to them.
[0124] Table 4: Each service instance corresponds to a multipath routing forwarding table entry for a forwarding path.
[0125] Next jump SRv6 SID corresponding to the computing power service instance Forwarding weight Example Next Hop1 END.DX1 Weight 1 1 Next Hop1 END.DX2 Weight 2 2 Next Hop1 END.DX3 Weight 3 3 Next Hop2 END.DX Weight 4 4 Next Hop3 END.DT Weight 5 5
[0126] Table 5: Multipath routing forwarding entries for one service instance with multiple forwarding paths (multiple next hops).
[0127] Next jump SRv6 SID corresponding to the computing power service instance Forwarding weight Example Next Hop1 END.DX1 Weight 1 1 Next Hop2 END.DX2 Weight 2 1
[0128] In this embodiment, if multiple forwarding paths have the same next hop, for example, END.DX1, END.DX2, and END.DX3 all have Next Hop1 as their next hop, then the traffic sharing ratio of that next hop is the sum of the traffic sharing ratios of the corresponding multiple forwarding paths. Furthermore, if the same next hop for the same service instance has multiple forwarding paths, the load balancing situation here is not reflected in the protocol table, but is generally reflected directly in the forwarding plane table entry, and therefore will not be further explained in this application.
[0129] In an exemplary embodiment, the IGW device can calculate the traffic sharing ratio (also known as the traffic load balancing ratio) for the computing power service instance and the network-side TE forwarding path in the following manner:
[0130] Traffic sharing ratio between computing service instance 1 and network-side TE forwarding path 1 = forwarding weight of computing service instance 1 and network TE forwarding path 1 in the next-hop UCMP entry / sum of forwarding weights in the next-hop UCMP entry;
[0131] Among them, the forwarding weights of computing service instance 1 and network TE forwarding path 1 in the next-hop UCMP table are equivalent to the forwarding weights of a single forwarding entry, and the sum of the forwarding weights in the next-hop UCMP table is equivalent to the sum of the forwarding weights of the current device mentioned above.
[0132] Figure 12 This is a schematic diagram of cross-AS information transmission based on the BGP protocol in one embodiment of this application, as shown below. Figure 12 As shown, when the computing power resource access side capability information and service instance capacity constraint information are transmitted across ASs based on the BGP protocol, the bandwidth information in the extended community attribute carried in the computing power routing advertisement can be modified according to the BGP protocol design principles and bandwidth information transmission needs.
[0133] In this embodiment, Nh is the next hop carried in the computing power routing, BW in Ex-Comm is the computing power resource access side capability information (such as the remaining / reserved / available bandwidth on the access side) carried in the computing power routing, and BW in Metadata is the service instance capacity constraint information carried in the computing power routing.
[0134] In this embodiment, when the Autonomous System Boundary Router (ASBR) transmits computing power routes to its BGP neighbor and modifies the next hop to itself, the bandwidth values in the extended community attributes such as the extended remaining bandwidth, reserved bandwidth, and available bandwidth in this application can be modified as needed, and the current ASBR device to the computing power service instance is regarded as the new computing power service instance access side.
[0135] In this embodiment, the strategy for modifying the bandwidth value in the extended community attribute includes, but is not limited to, one of the following:
[0136] The new remaining bandwidth extended community attribute value = MIN{original remaining bandwidth extended community attribute value, remaining bandwidth of the original next-hop iteration TE tunnel of the computing power route};
[0137] The new remaining bandwidth extended community attribute value = the remaining bandwidth of the original next-hop iteration TE tunnel in the computing power routing;
[0138] The new remaining bandwidth extended community attribute value = weight 1 × original remaining bandwidth extended community attribute value + weight 2 × remaining bandwidth of the original next-hop iteration TE tunnel of the computing power route.
[0139] As computing power routing is transmitted across domains, the bandwidth values in the remaining bandwidth and reserved bandwidth extension community attributes can be updated sequentially as needed, and ultimately applied to the IGW access-side computing power routing gateway for load balancing strategy calculation.
[0140] Through the various embodiments in this application, integrated UCMP and ECMP calculations for computing power services can be performed based on network-side traffic engineering resources, computing power resource access-side capability information, and service instance capacity constraint information, thus realizing a new service instance-level load balancing method. Furthermore, by combining with traditional network-side technologies, this application can also form a multi-layered traffic scheduling and load balancing architecture for computing power routing.
[0141] Figure 13 This is a schematic diagram of a load balancing hierarchical architecture for computing power routing service traffic scheduling in one embodiment of this application, as shown below. Figure 13 As shown, the architecture consists of the following three layers:
[0142] (1) For a computing power service, traffic can be distributed across multiple computing power service instances, which is the problem solved in this application.
[0143] (2) For a computing power service instance, traffic can be distributed across multiple next hops (computing power routing gateways) of that computing power service instance, such as existing dual-homing, multi-homing, protection and other technologies and features.
[0144] (3) For a next hop (computing power routing gateway), traffic can be distributed on multiple forwarding paths of that next hop, such as the existing SRv6 Policy that distributes traffic in multiple segment lists, and the Traffic Engineering Group (TE Group) that distributes traffic in multiple SR policies.
[0145] The above-described business traffic scheduling load balancing architecture can comprehensively balance the constraints of the computing network in various aspects such as computing power services and network forwarding. Load balancing can be achieved across multiple nodes, including the ingress gateway and the computing power routing gateways that are the next hops from the ingress gateway, thereby improving the computing power service efficiency and network forwarding efficiency of the entire computing network.
[0146] The computing power routing load balancing method in the above embodiments of this application will be described in detail below with reference to specific application scenarios. Figure 14 This is a schematic diagram of the computing power routing network for the cloud rendering service in one embodiment of this application, as shown below. Figure 14 As shown, this computing power routing network has the following characteristics:
[0147] (1) The cloud rendering service is identified by the computing power routing prefix 1.1.1.1.
[0148] (2) Edge Cloud 1, 2 and 3 have capacities of 0.5G, 0.4G and 0.5G respectively, and all have deployed service instances of cloud rendering service, which can provide this service to the outside world.
[0149] (3) The cloud rendering services of edge clouds 1, 2 and 3 are deployed in a virtual private network (VPN). For the service instances, the PE devices they are connected to are assigned SRv6 SIDs END.DX1, END.DX2 and END.DX3 respectively to the corresponding edge clouds.
[0150] (4) The link bandwidths between edge clouds 1, 2 and 3 and the provider edge (PE) devices they are connected to are 1G, 4G and 3G, respectively.
[0151] (5) SRv6 Policy1 and Policy2 are deployed between PE1 and PE2 and PE3, with a bandwidth of 10G each.
[0152] According to the various method embodiments in this application, the computing power routing load balancing process of the cloud rendering service is as follows:
[0153] In step S1, PE2 publishes a computing power route of 1.1.1.1 to PE1, with its next hop being itself (i.e., PE2). The route carries 1G of link bandwidth information for connecting to edge cloud 1 in the Extended Community attribute, 0.5G of capacity information for edge cloud 1 in the Metadata Attribute, and the SRv6 SID (END.DX1) associated with the edge cloud in the Prefix SID attribute.
[0154] In step S2, PE3 similarly publishes the computing power route 1.1.1.1, carrying relevant information about edge clouds 2 and 3. (Since it is necessary to publish multiple instance routing information for the same service, the Additional Path capability needs to be enabled, i.e., through...) Figure 14 The path identifier (Path id) is used to distinguish them.
[0155] In step S3, PE1 receives the computing power routes published by PE2 and PE3, performs UCMP calculation on the computing power routes, and sends the corresponding calculated entries (as shown in Table 6) to the device forwarding plane.
[0156] Table 6: UCMP calculation results for computing power routing of cloud rendering services.
[0157]
[0158] In step S4, based on the forwarding weight in the table, PE1 can distribute the users who need to access the cloud rendering service proportionally across multiple cloud rendering service instances.
[0159] Figure 15 This is a schematic diagram of the computing power routing load balancing result in one embodiment of this application, as shown below. Figure 15 As shown, based on the forwarding weights corresponding to each computing power service instance, the computing power service traffic can be distributed across each computing power service instance in a corresponding proportion within a preset period.
[0160] For example, if 1.4k requests are received within 2 hours, then, based on the capacity and bandwidth ratio, the forwarding plane can distribute the requests in proportions of approximately 0.5k, 0.4k, and 0.5k across edge clouds 1, 2, and 3 using methods such as hashing.
[0161] Through the embodiments of this application, for the scenario of distributed multi-instance deployment of computing power services, the computing power service traffic can achieve effective and reasonable load balancing among distributed multi-service instances, thereby meeting the user's requirements for service experience and quality, and improving the utilization rate of computing network resources during computing network scheduling.
[0162] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0163] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps in any of the above method embodiments.
[0164] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0165] Embodiments of this application also provide an electronic device including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.
[0166] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.
[0167] Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.
[0168] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0169] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.
[0170] The above description is merely an exemplary embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A computing power routing load balancing method, characterized in that, include: Obtain computing power service capability information related to multiple service instances of the target computing power service; A multi-path routing forwarding table entry is generated for the plurality of service instances based on the computing power service capability information, wherein the multi-path routing forwarding table entry includes the computing power service capability information of the plurality of service instances and a forwarding weight used to indicate the traffic sharing ratio; Based on the forwarding weights of the multiple service instances in the multi-path routing forwarding table entries, computing power service traffic is forwarded to the multiple service instances in a corresponding proportion within a preset period.
2. The method according to claim 1, characterized in that, The acquisition of computing power service capability information related to multiple service instances of the target computing power service includes: The computing resource access capability information of the multiple service instances is obtained from at least one remote device by extending the Border Gateway Protocol (BGP). The service instance capacity constraint information of the plurality of service instances is obtained from the at least one remote device by extending BGP; The computing power service capability information includes the computing power resource access side capability information and the service instance capacity constraint information, and each service instance is connected to one of the remote devices.
3. The method according to claim 2, characterized in that, The computing power resource access side capability information includes: access side remaining bandwidth, access side reserved bandwidth, or access side available bandwidth, wherein the access side remaining bandwidth, access side reserved bandwidth, or access side available bandwidth are carried in the extended field of the BGP extended community attribute in the BGP message.
4. The method according to claim 2, characterized in that, The service instance capacity constraint information includes: the remaining capacity of the service instance or the available capacity of the service instance, wherein the remaining capacity of the service instance or the available capacity of the service instance is carried in the extended field of the extended BGP path attribute in the BGP message.
5. The method according to claim 2, characterized in that, The step of obtaining the computing resource access-side capability information of the multiple service instances from at least one remote device via the Extended Border Gateway Protocol (BGP) includes: In response to the fact that the current device and the remote device are located in different autonomous systems, the computing power resource access side capability information is obtained through multiple intermediate devices between the remote device and the current device. The computing power resource access side capability information is carried in the computing power routing message sent by the remote device. The computing power resource access side capability information is updated by the intermediate device when the intermediate device forwards the computing power routing message and updates the next-hop device identifier in the computing power routing message.
6. The method according to claim 2, characterized in that, The acquisition of computing power service capability information related to multiple service instances of the target computing power service also includes: The network-side traffic engineering resource information is obtained locally from the device, wherein the computing power service capability information also includes the network-side traffic engineering resource information.
7. The method according to claim 6, characterized in that, The step of obtaining the network-side traffic engineering resource information from the device locality includes: The traffic engineering tunnel based on BGP routing iteration obtains the network-side traffic engineering resource information, wherein the network-side traffic engineering resource information includes one of the following: the configured bandwidth of the traffic engineering tunnel, the available bandwidth of the traffic engineering tunnel, or the remaining bandwidth of the traffic engineering tunnel.
8. The method according to claim 2 or 6, characterized in that, The step of generating multi-path routing forwarding table entries for the multiple service instances based on the computing power service capability information includes: For each of the service instances, the forwarding weight is determined based on the computing power resource access side capability information, the service instance capacity constraint information, and the network side traffic engineering resource information; The forwarding weights of the multiple service instances are distributed to the forwarding plane, and the multi-path routing forwarding table entries are generated through the forwarding plane. The multi-path routing forwarding table entries include multiple forwarding entries corresponding to multiple forwarding paths of the multiple service instances. Each service instance corresponds to at least one forwarding path, and each forwarding path corresponds to one forwarding entry. The forwarding entry includes: service instance identifier, next-hop device identifier, computing power service capability information, and forwarding weight.
9. The method according to claim 8, characterized in that, For each service instance, the forwarding weight is determined based on the computing power resource access-side capability information, the service instance capacity constraint information, and the network-side traffic engineering resource information, including one of the following: The forwarding weight = MIN{the value of the computing power resource access side capability information, the value of the service instance capacity constraint information, and the value of the network side traffic engineering resource information}; The forwarding weight = preset first weight × MIN{the value of the network-side traffic engineering resource information, the value of the computing power resource access-side capability information} + preset second weight × the value of the service instance capacity constraint information.
10. The method according to claim 8, characterized in that, The determination of the forwarding weight for each service instance based on the computing power resource access-side capability information, the service instance capacity constraint information, and the network-side traffic engineering resource information includes at least one of the following: In response to the current device not obtaining full information on the computing power service capability information related to the multiple service instances, the forwarding weight of the multiple service instances is set to the same value; In response to the current device not obtaining full information of the computing power service capability information related to the first service instance, the first service instance is removed from the plurality of service instances, and the forwarding weight of the remaining service instances is determined according to the computing power resource access side capability information, the service instance capacity constraint information and the network side traffic engineering resource information, wherein the first service instance is any service instance among the plurality of service instances; In response to the current device having obtained the computing resource access-side capability information and the service instance capacity constraint information of the second service instance, but not having obtained the network-side traffic engineering resource information of the second service instance, the forwarding weight of the second service instance is determined based on the computing resource access-side capability information and the service instance capacity constraint information, wherein the second service instance is any service instance among the plurality of service instances.
11. The method according to claim 8, characterized in that, The step of forwarding computing power service traffic to the multiple service instances according to the forwarding weights of the multiple service instances in the multi-path routing forwarding table entries within a preset period in accordance with a corresponding proportion includes: The sum of the forwarding weights of the current device is determined based on the forwarding weights of multiple forwarding entries in the multi-path routing forwarding table. The ratio of the forwarding weight of each forwarding entry to the sum of the forwarding weights of the current device is determined as the traffic sharing ratio of the forwarding path corresponding to the forwarding entry; Within the preset period, the computing power service traffic is forwarded to the multiple service instances according to the traffic sharing ratio of each forwarding path.
12. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 11.
13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1 to 11.
14. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method described in any one of claims 1 to 11.