Traffic scheduling method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202510534529.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-25
- Publication Date
- 2026-10-27
AI Technical Summary
[0010]在本申请实施例中,采用基于与目标服务提供商关联的多个网络运营商的流量转发规则,确定用户流量支持的候选调度路径;所述用户流量包括用户端与所述多个网络运营商之间的双向流量,所述候选调度路径用于指示所述用户流量中从第一网络运营商调配到第二网络运营商的调度流量所途经的通信链路,所述第一网络运营商和所述第二网络运营商为所述多个网络运营商中的不同网络运营商;基于预设的流量优化模型,从所述候选调度路径获取目标调度路径,以及从所述用户流量中确定所述目标调度路径对应的目标调度流量的方法;申请相较于现有技术人工的流量调度方法,不仅能够对公网带宽的流量自动且智能化的进行调度,降低企业对应的公网带宽成本,还能显著提升公网带宽资源的利用率。
Smart Images

Figure CN122994232A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a traffic scheduling method, apparatus, electronic device, and storage medium. Background Technology
[0002] With the continuous increase in the number of internet users, network traffic is showing a rapid growth trend, which in turn increases the difficulty and operating costs of enterprises managing public network bandwidth resources. However, due to differences in traffic billing and communication link utilization among network operators in different regions, enterprises are presented with opportunities to optimize their bandwidth resource and operating cost management.
[0003] In related technologies, traffic scheduling is generally performed using manual judgment, relying on past experience to make decisions that save on traffic costs. However, this manual traffic scheduling method has limitations in bandwidth resource management, as it cannot comprehensively and accurately evaluate the effect of each decision on traffic scheduling optimization; therefore, it is difficult to effectively reduce the corresponding public network bandwidth costs for enterprises, and the utilization rate of public network bandwidth resources is low. Summary of the Invention
[0004] In view of the above problems, this application provides a traffic scheduling method, apparatus, electronic device and storage medium to at least solve the technical problem that manual traffic scheduling is difficult to effectively reduce the cost of public network bandwidth for enterprises in related technologies.
[0005] According to a first aspect of the embodiments of this application, a traffic scheduling method is provided, the method comprising: determining candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with a target service provider; the user traffic including bidirectional traffic between a user terminal and the multiple network operators, the candidate scheduling paths being used to indicate the communication links traversed by scheduled traffic in the user traffic allocated from a first network operator to a second network operator, the first network operator and the second network operator being different network operators among the multiple network operators; obtaining a target scheduling path from the candidate scheduling paths based on a preset traffic optimization model, and determining the target scheduled traffic corresponding to the target scheduling path from the user traffic.
[0006] According to a second aspect of the embodiments of this application, a traffic scheduling apparatus is provided, characterized in that the apparatus includes: a first determining unit, configured to determine candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with a target service provider; the user traffic includes bidirectional traffic between a user terminal and the multiple network operators, the candidate scheduling path being used to indicate the communication link traversed by the scheduled traffic in the user traffic allocated from a first network operator to a second network operator, wherein the first network operator and the second network operator are different network operators among the multiple network operators; and a first obtaining unit, configured to obtain a target scheduling path from the candidate scheduling paths based on a preset traffic optimization model, and to determine the target scheduling traffic corresponding to the target scheduling path.
[0007] According to a third aspect of the embodiments of this application, an electronic device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the traffic scheduling method in the above embodiments.
[0008] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, and the computer program is configured to execute the traffic scheduling method of the first aspect described above when running.
[0009] According to a fifth aspect of the embodiments of this application, a computer program product is also provided, including a computer program that is executed by a processor to perform the traffic scheduling method in the above embodiments.
[0010] In this embodiment, candidate scheduling paths supported by user traffic are determined based on traffic forwarding rules of multiple network operators associated with the target service provider. The user traffic includes bidirectional traffic between the user terminal and the multiple network operators. The candidate scheduling paths indicate the communication links traversed by the scheduled traffic from the first network operator to the second network operator in the user traffic. The first network operator and the second network operator are different network operators among the multiple network operators. Based on a preset traffic optimization model, a target scheduling path is obtained from the candidate scheduling paths, and a method is used to determine the target scheduled traffic corresponding to the target scheduling path from the user traffic. Compared with the existing manual traffic scheduling methods, this application can not only automatically and intelligently schedule public network bandwidth traffic, reducing the corresponding public network bandwidth costs for enterprises, but also significantly improve the utilization rate of public network bandwidth resources. Attached Figure Description
[0011] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiments below. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0012] Figure 1 This is a schematic diagram of an application environment for an optional traffic scheduling method according to an embodiment of this application;
[0013] Figure 2 This is a schematic diagram of an application environment for another optional traffic scheduling method according to an embodiment of this application;
[0014] Figure 3 This is a flowchart illustrating an optional traffic scheduling method according to an embodiment of this application;
[0015] Figure 4 This is a flowchart illustrating another optional traffic scheduling method according to an embodiment of this application;
[0016] Figure 5 This is a flowchart illustrating another optional traffic scheduling method according to an embodiment of this application;
[0017] Figure 6 This is a flowchart illustrating another optional traffic scheduling method according to an embodiment of this application;
[0018] Figure 7 This is a schematic diagram of an optional traffic scheduling system architecture according to an embodiment of this application;
[0019] Figure 8 This is a schematic diagram of an optional traffic optimization model according to an embodiment of this application;
[0020] Figure 9 This is a flowchart illustrating another optional traffic scheduling method according to an embodiment of this application;
[0021] Figure 10 This is a schematic diagram of an optional material flow scheduling device according to an embodiment of this application;
[0022] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0023] To enable those skilled in the art to better understand the present invention, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0025] The following is an explanation of the technical terms that may be involved in this application:
[0026] Public network cost optimization: Reduce enterprise costs for public network bandwidth usage through various strategies and methods, thereby improving the efficiency of network resource utilization.
[0027] 95th Percentile: In network billing rules, the 95th percentile refers to a specific period in which 95% of the traffic is below this value. This standard is commonly used in operator billing rules.
[0028] Traffic scheduling: In a network, data traffic is intelligently allocated to different paths or operators to achieve resource optimization and cost savings.
[0029] Guaranteed bandwidth: The basic guaranteed bandwidth stipulated in the agreement signed with the operator. It is the minimum fee that the enterprise needs to pay, even if the actual traffic usage is lower than this standard.
[0030] Traffic reuse ratio: Measures how effectively bandwidth resources are reused across different time periods or different users to increase bandwidth utilization efficiency.
[0031] Pearson correlation coefficient: used to measure the strength and direction of the linear relationship between two variables, with values ranging from -1 (perfectly negative correlation) to 1 (perfectly positive correlation).
[0032] Integer linear programming: a mathematical optimization method that aims to maximize or minimize an objective function through linear relationships, requiring variables to take integer values.
[0033] Mixed-integer linear programming (MILP) is a mathematical optimization technique used to solve optimization problems involving integer and continuous variables. It can minimize or maximize the objective function while satisfying a series of linear constraints.
[0034] Outbound traffic and inbound traffic: Outbound traffic refers to the data traffic transmitted from the enterprise cloud service to the external user network, while inbound traffic is the data traffic from the external user accessing the enterprise cloud service.
[0035] Scheduling path: The transmission path of data from the source to the destination in the network, which may involve multiple operators and nodes.
[0036] Traffic trends: Observing how traffic changes within a specific time period based on collected traffic data.
[0037] Quality of Service (QoS) levels: Cloud services typically categorize users into different service levels such as gold, silver, and bronze to provide differentiated transmission quality assurance when network resources are strained, ensuring that the service needs of high-priority users are met first.
[0038] MindOpt: An optimization solver for optimization problems. It quickly solves complex optimization problems by modeling existing resources, requirements, and constraints, and applying methods such as integer linear programming and dynamic programming to support real-time decision-making and adaptive adjustment.
[0039] As an optional implementation, the traffic scheduling method described above in this application can be applied to... Figure 1 The application environment shown. For example... Figure 1As shown, user 102 and electronic device 104 can interact. Electronic device 104 includes memory 106 and processor 108; memory 106 is used to store traffic forwarding rules of network operators, as well as bidirectional traffic between the user terminal and each network operator; processor 108 is used to determine candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with the target service provider; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link traversed by the scheduled traffic from the first network operator to the second network operator in the user traffic, where the first network operator and the second network operator are different network operators among the multiple network operators; based on a preset traffic optimization model, a target scheduling path is obtained from the candidate scheduling paths, and the target scheduling traffic corresponding to the target scheduling path is determined from the user traffic.
[0040] Optionally, the aforementioned electronic device 104 includes, but is not limited to, mobile phones, laptops, tablets, PDAs, mobile internet devices (MIDs), desktop computers, smart TVs, etc. The aforementioned electronic device 104 can also be a server, which can be a single server, a server cluster composed of multiple servers, or a cloud server. The aforementioned cloud server includes, but is not limited to, private cloud servers or public cloud servers. The above is merely an example, and no limitation is made in this embodiment.
[0041] In related technologies, traffic scheduling is generally performed using manual judgment, relying on past experience to make decisions that save on traffic costs. However, this manual traffic scheduling method has limitations in bandwidth resource management. It cannot comprehensively and accurately evaluate the effect of each decision on traffic scheduling optimization; it is also difficult to effectively reduce the corresponding public network bandwidth costs for enterprises, as well as the utilization rate of public network bandwidth resources.
[0042] To address the aforementioned technical problems, as an optional implementation method, such as Figure 2 As shown in the figure, this application provides a traffic scheduling method, including the following steps:
[0043] S202, based on the traffic forwarding rules of multiple network operators associated with the target service provider, determine the candidate scheduling path supported by the user traffic; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, and the first network operator and the second network operator are different network operators among the multiple network operators.
[0044] Specifically, in this embodiment, the target service provider can be an enterprise or organization providing online services (e.g., cloud services), and the network operators associated with the target service provider include providers of network services to users, such as telecommunications operators. Multiple user terminals interact with the target service provider by accessing the network operators. The user traffic includes bidirectional traffic between the user terminal and the multiple network operators, which can be bidirectional traffic between the user terminal and the multiple network operators within a preset time period. The preset time period can be, for example, traffic data within a month with a 5-minute time granularity. This traffic data can be traffic from the user terminal accessing the target service provider through the network operator, or traffic from the target service provider to the user terminal through the network operator. The traffic forwarding rules can be, for example, traffic forwarding rules based on a preferred routing table, which includes, for example, different indicators such as network topology, link status, and traffic priority. For example, the network operators associated with the target service provider include network operator A (the first network operator) and network operator B (the second network operator). The aforementioned candidate scheduling path refers to the communication link through which user traffic is allocated from one network operator (such as network operator A) to another network operator (such as network operator B) in a multi-network operator environment.
[0045] S204, based on a preset traffic optimization model, obtain a target scheduling path from the candidate scheduling paths, and determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
[0046] Specifically, in this embodiment, the traffic optimization model transforms the service provider's service rules (such as cost limits, QoS levels, resource allocation strategies, etc.) into constraints and performs mathematical modeling and analysis. For example, candidate scheduling paths are obtained based on network topology, user traffic, and key operator information. An optimization solver is used to search the global space to output the target scheduling path under the optimal cost condition, as well as the scheduling traffic corresponding to the target scheduling path. Based on the above traffic optimization model and the candidate scheduling paths supported by user traffic, this application can automatically and efficiently filter out the target scheduling traffic from the first network operator to the second network operator from the user traffic.
[0047] In this embodiment, a scheduling path supported by user traffic is determined based on traffic forwarding rules of each network operator associated with the target service provider. The user traffic includes bidirectional traffic between the user terminal and each network operator within a preset time period. The scheduling path indicates the communication link through which the user traffic is routed from the first network operator to the second network operator. The first network operator and the second network operator are different network operators among the network operators. A method is used to obtain the target scheduling traffic from the first network operator to the second network operator from the user traffic based on a preset traffic optimization model and the scheduling path. Compared with the existing manual traffic scheduling method, this application can not only automatically and intelligently schedule public network bandwidth traffic, reducing the corresponding public network bandwidth cost for enterprises, but also significantly improve the utilization rate of public network bandwidth resources.
[0048] As an alternative implementation method, such as Figure 3 As shown in the figure, this application provides a traffic scheduling method, including the following steps:
[0049] S302, determine the forwarding traffic corresponding to each of the multiple network operators in the user traffic;
[0050] S304, Based on the operator type of each network operator, the geographical location of each network operator, and the forwarding traffic, determine whether there is a scheduling path between the first network operator and the second network operator;
[0051] S306, when there is a scheduling path between the first network operator and the second network operator, a candidate scheduling path is selected from the scheduling path whose number of traffic forwarding nodes is less than or equal to a preset number.
[0052] Specifically, in this embodiment, firstly, the network operator to which the user traffic belongs is determined based on the characteristics of the user traffic (such as IP address range, protocol type, port number, etc.), and then the forwarding traffic corresponding to each network operator can be further determined. Based on the type of operator and its geographical location, the path used for traffic forwarding support is determined. For example, for cross-regional traffic, the link of the local operator is preferentially selected to reduce latency. The type of operator can be, for example, different types such as Internet Service Provider (IPT), Private Network Infrastructure (PNI), Internet Exchange Point (IXP), and Paid Peer Network. The aforementioned regions can be divided, for example, based on geographical location and network latency. Within the same region, public services such as elastic computing, block storage, object storage, VPC networks, elastic public IPs, and mirrors are shared. Regions are divided into general regions and dedicated regions. General regions provide general cloud services to public tenants; dedicated regions are special regions that only carry the same type of service or only provide network services to specific tenants. Based on the operator type of each network operator, the geographical location of each network operator, and the forwarding traffic, this application can accurately determine the scheduling path supported by the user traffic, that is, determine whether there is a scheduling path between different network operators.
[0053] A scheduling path will only be generated when there is schedulable user traffic between the two network operators. This occurs at the first network operator's ISP. i and the second network operator ISP j When scheduling paths exist, a candidate scheduling path is selected from the scheduling paths whose number of traffic forwarding nodes is less than or equal to a preset number. For example, when ISP... i and ISP j There exists |l ij | candidate scheduling paths, where |l ij | represents the path set l ijThe number of elements in the list represents the total number of possible scheduling paths between the two network operators. Each candidate scheduling path may pass through several intermediate nodes and long-haul paths. That is, during the process of traffic being scheduled from one operator to another, it may pass through multiple traffic forwarding nodes, which may include network devices such as routers and switches in the backbone network. To ensure network stability and latency, the length of all candidate scheduling paths cannot exceed l. In this embodiment, it is recommended to choose l = 3. Here, l represents the maximum length of the candidate scheduling path, i.e., from ISP... i to ISP j The scheduling path can pass through a maximum of 3 traffic forwarding nodes.
[0054] S308, based on a preset traffic optimization model, obtain the target scheduling path from the candidate scheduling paths, and determine the target scheduling traffic corresponding to the target scheduling path.
[0055] Step S308 has been explained above and will not be repeated here.
[0056] In one or more embodiments, determining whether a scheduling path exists between the first network operator and the second network operator based on the operator type of each network operator, the geographical location of the network operator, and the forwarding traffic includes:
[0057] If the first network operator and the second network operator are located in the same region and have the same operator type, it is determined that there is a scheduling path between the first network operator and the second network operator.
[0058] If the first network operator and the second network operator are located in the same area, the first network operator and the second network operator correspond to different operator types, and both the first network operator and the second network operator record the forwarding traffic of the same Internet Protocol IP address range, it is determined that there is a scheduling path between the first network operator and the second network operator.
[0059] In cases where the first network operator and the second network operator are located in different regions, and user traffic in the respective regions of the first network operator and the second network operator is forwarded through a single network operator, it is determined that a scheduling path exists between the first network operator and the second network operator.
[0060] Specifically, in this embodiment of the application, the network operator associated with the target service provider is referred to as the ISP. S ={isp i}, using s i Indicate the type of each operator, denoted by r.i This indicates its location. Each network operator has independent traffic forwarding rules, and traffic may be transmitted through the network operator's ISP. i There exists a forwarding path for user u (corresponding to a range of IP addresses), but this is not the case with the network operator's ISP. j However, this is not supported. Each network operator maintains a Preferred Routing Table (RMC), which records the traffic forwarding rules corresponding to the network operator. This is represented by the tuple set RMC = {rmc...} iu} represents the network operator ISP i Does user u have forwarding conditions?
[0061] D={d iu}: Indicates from the network operator ISP i Peak traffic to user u is 95%. (Using r) u This indicates the region where user u is located.
[0062] inter ij : indicates ISP i and ISP j The maximum number of users that can be scheduled is the sum of 95% of the peak traffic of the schedulable users.
[0063] The scheduling of user traffic between different network operators must meet the following rules:
[0064] For traffic scheduling between network operators in the same region (i.e., r) i =r j It must meet the following rules:
[0065] Service rule a: If the service type of both the source and destination network operators is IPT (i.e., s) i =s j =IPT), then by default all data from ISP i All user traffic can be routed to the ISP. j .
[0066] Under rule a, inter ij The calculation formula is: inter ij =∑ u d iu ;
[0067] The meaning of this formula is: isp i and ISP j The maximum total user traffic that can be scheduled between them is equal to the total number of users from the ISP. i To user ISP j The sum of 95% of the peak flow.
[0068] Service rule b: At least one network operator's service type is not IPT type, that is, when at least one of the source network operator's and destination network operator's service types is not IPT type (i.e., s i ≠IPT or s j (≠IPT), scheduling needs to ensure that both sides have recorded forwarding traffic. At this point, inter... ij The calculation formula is:
[0069] inter ij =∑ u d iu ·II(rmc iu >0∧rmc ju >0); where II is an indicator function, its value is 1 when the condition in parentheses is true, and 0 otherwise. That is, it is only true when user u is from isp i to ISP j When all forwarding traffic is greater than 0, the user's traffic d iu Only then will it be counted in inter ij .
[0070] For traffic scheduling between network operators across regions (i.e., r) i ≠r j The service rules require that each user's traffic u has only one exit point in the regions where both the source and destination network operators are located. In this case, the traffic scheduling calculation formula is:
[0071] inter ij =∑ u d iu ·II(∑ isp∈ri rm cisp,u =1∧∑ isp∈rj rmc isp,u =1)
[0072] The formula means that when user u is in the source region r i and target region r j When exactly one network operator meets the forwarding conditions, the user's traffic d iu Only then will it be included in the scheduling traffic inter ij .
[0073] Based on the above calculation formula and service rules for scheduling traffic, for inter... ij Network operator ISP > 0 i and ISP j Candidate scheduling paths can be generated between two network operators. That is, a scheduling path will only be generated when there is schedulable user traffic between the two network operators. In the ISP... i and ISPj There exists |l ij | candidate scheduling paths. Here, |l ij | represents the path set l ij The number of elements in the path represents the total number of possible scheduling paths between the two network operators. Each candidate scheduling path may pass through several intermediate nodes and long-haul paths. That is, during the process of traffic being scheduled from one operator to another, it may pass through multiple network nodes (intermediate nodes), which may include network devices such as routers and switches in the backbone network. To ensure network stability and latency, the length of all candidate scheduling paths cannot exceed l. In this embodiment, it is recommended to choose l = 3. Here, l represents the maximum length of the candidate scheduling path, i.e., from ISP... i to ISP j The scheduling path can pass through a maximum of 3 intermediate nodes.
[0074] In one or more embodiments, before obtaining the target scheduling path from the candidate scheduling paths based on a preset traffic optimization model, and determining the target scheduling traffic corresponding to the target scheduling path, the method further includes:
[0075] The candidate scheduling path, the operating parameters of each network operator, the bandwidth corresponding to the candidate scheduling path, and the latency data before and after traffic scheduling are used as the initialization parameters of the traffic optimization model.
[0076] The constraints of the traffic optimization model are obtained based on the initialization parameters;
[0077] The traffic optimization model is constructed based on the constraints and the objective function; the objective function is used to obtain the minimum bandwidth cost for the target service provider among the network operators.
[0078] Specifically, in this application embodiment, the network operator's operating parameters may include, for example, the operator's Quality of Service (QoS), cost, bandwidth limitations, etc. The QoS in this application can, for example, categorize users into different service levels such as gold, silver, and bronze, to provide differentiated transmission quality guarantees when network resources are strained, thereby ensuring that the network service needs of high-priority users are met first. The cost here may include parameters such as network operation and maintenance costs or equipment upgrade costs.
[0079] The latency data here can be obtained, for example, from the transmission latency of user traffic from the server to the user via the original scheduling path before scheduling, and the difference between the transmission latency from the server to the user via the aforementioned candidate scheduling paths after traffic scheduling. In one example, before traffic scheduling, the corresponding forwarding path for user traffic includes path 1: Operator A → Operator B → Operator C, with a latency of 60ms and available bandwidth of 5Gbps. After traffic scheduling, the corresponding forwarding path for user traffic includes path 2: Operator A → Operator C → Operator D, with a latency of 80ms and available bandwidth of 8Gbps. The available bandwidth referred to here is the maximum rate at which a network link or network path can actually be used to transmit data in the current state. Taking path 1 as an example, the available bandwidth for Operator A → Operator B is 8Gbps, and the available bandwidth for Operator B → Operator C is 5Gbps, so the available bandwidth for Operator A → Operator B → Operator C is 5Gbps.
[0080] After determining the candidate scheduling paths supported by user traffic, the determined scheduling paths, the available bandwidth of each scheduling path, and the latency changes of user traffic before and after scheduling are used as initialization parameters for obtaining the traffic optimization model.
[0081] Here, for example, based on the latency data in the initialization parameters, latency constraints can be created for the traffic optimization model. Traffic constraints and bandwidth limitations can be created based on the network operator's operating parameters. Then, with the target service provider's minimum bandwidth cost among the network operators as the optimization objective, an objective function is created, and the traffic optimization model is constructed based on the constraints and the objective function.
[0082] As an alternative implementation method, such as Figure 4 As shown in the figure, this application provides a traffic scheduling method, including the following steps:
[0083] S402, based on the traffic forwarding rules of multiple network operators associated with the target service provider, determines the candidate scheduling paths supported by the user traffic.
[0084] S404, the candidate scheduling path, the operating parameters of each network operator, the bandwidth corresponding to the candidate scheduling path, and the latency data between the network operator and the user terminal are used as the initialization parameters of the traffic optimization model.
[0085] S406, Obtain the constraints of the traffic optimization model based on the initialization parameters.
[0086] S408, construct the traffic optimization model based on the constraints and objective function; the objective function is used to obtain the minimum bandwidth cost between the target service provider and each network operator.
[0087] S410, Input the initialization parameters into the traffic optimization model, and initialize the traffic optimization model based on the initialization parameters;
[0088] S412, the scheduling traffic corresponding to each of the candidate scheduling paths is used as a decision variable;
[0089] S414, Solve the traffic optimization model based on the initialization parameters and the decision variables to obtain the optimal solution of the decision variables of the traffic optimization model;
[0090] S416, Obtain the decision variables that are greater than zero in the optimal solution, and take the scheduling path corresponding to the decision variables that are greater than zero as the target scheduling path.
[0091] Specifically, in the embodiments of this application, the network operator ISP i Operating parameters may include, for example: c i i.e., ISP i Cost coefficient; b i i.e., ISP i Guaranteed bandwidth; in i i.e., ISP i Inbound flow; outbound flow i i.e., ISP i Outbound traffic. Here, inbound traffic can be the monthly 95% peak value of inbound traffic, and outbound traffic can be the monthly 95% peak value of outbound traffic. ISP i Final billing bandwidth B i Defined as the maximum 95% value for inbound and outbound flow: B i =max(in i out i Since users have different service levels, the latency data before and after user traffic scheduling can be assigned different latency thresholds. To ensure that the network service needs of high-priority users are met first, the latency data of the scheduled traffic for high-priority users before and after scheduling can be controlled within a small range; in one example, for high-priority user u, user u's traffic is redirected from ISP... i via any path Scheduled to ISP j At that time, the quality loss (delay data) must not exceed the empirical value σ. Among them, Indicates network operator ISP i To network operator ISP j The nth path. The formula for calculating quality loss is: ΔTD + ΔRTT < σ; where: ΔTD represents the value from isp i to ISP j The path delay changes.
[0092] Where f ij (n) indicates from isp i to ISP j The flow on the nth path, Indicates from network operators To network operators The time delay. The change in round-trip time ΔRTT = rtt ju -rtt iu ;rtt ju This indicates that from the network operator ISP j Round-trip time to user u, RTT iu This indicates that from the network operator ISP i Round-trip time to user u.
[0093] The initialization parameters are input into the initial traffic optimization model, and then the corresponding scheduling traffic in each of the candidate scheduling paths is used as the decision variable. in, This indicates the path taken from network operator ISPI to network operator ISPJ. The scheduled traffic. Based on the above initialization parameters and the decision variables. Solve the traffic optimization model to obtain the optimal solution for the decision variables of the traffic optimization model. The optimal solution This can satisfy the requirement that the target service provider minimizes the sum of bandwidth costs among the various network operators; based on this optimal solution... Obtain the optimal solution For decision variables that are greater than zero, the scheduling path corresponding to that decision variable is taken as the target scheduling path. This allows us to determine the ISP. i to ISP j Corresponding target scheduling path Target scheduling path The corresponding target scheduling traffic is
[0094] It should be noted that, due to the uncertainty of user access to network operators, the embodiments of this application are mainly used to optimize and schedule outbound traffic from network operators.
[0095] Steps S402 to S408 have been explained above and will not be repeated here.
[0096] In one or more embodiments, the operating parameters include the network operator's cost factor, the network operator's guaranteed bandwidth, the network operator's inbound traffic, and the network operator's outbound traffic.
[0097] The constraint includes at least one of the following: the total scheduling traffic corresponding to each of the candidate scheduling paths is less than or equal to the user traffic;
[0098] The transmission bandwidth occupied by the scheduling traffic corresponding to the candidate scheduling path is less than or equal to the intermediate link bandwidth, and the intermediate link bandwidth is the minimum bandwidth among the bandwidths of each communication link in the candidate scheduling path.
[0099] The difference between the first delay and the second delay is less than or equal to a preset threshold. The first delay is the transmission delay of user traffic from the first network operator to the user terminal of the target IP address segment, and the second delay is the transmission delay of user traffic from the second network operator to the user terminal of the target IP address segment.
[0100] The billing bandwidth of the first network operator is greater than or equal to the guaranteed bandwidth of the first network operator, and the billing bandwidth of the second network operator is greater than or equal to the guaranteed bandwidth of the second network operator.
[0101] The scheduling traffic between the first network operator and the second network operator is less than or equal to the maximum scheduling volume between them.
[0102] Each network operator's billing bandwidth is the maximum of its inbound and outbound traffic.
[0103] Specifically, in this application, the aforementioned constraints include traffic demand constraints, which stipulate that the total scheduled traffic corresponding to each candidate scheduling path is less than or equal to the user traffic. That is, the traffic scheduled between network operators must be less than or equal to the aforementioned user traffic.
[0104] The aforementioned constraints may also include transmission bandwidth constraints, which stipulate that the transmission bandwidth occupied by the scheduling traffic corresponding to each candidate scheduling path is less than or equal to the intermediate link bandwidth, wherein the intermediate link bandwidth is the minimum bandwidth among the communication links in the scheduling path. This bandwidth constraint can be expressed by the following formula:
[0105]
[0106] in, This represents the scheduling traffic along the nth scheduling path from operator ISP1 to operator ISP2. isp1isp2 This indicates the scheduling path from operator ISP1 to operator ISP2. isp1isp2 (n) represents the scheduling traffic corresponding to the nth scheduling path from operator isp1 to operator isp2. and This represents two adjacent network operators on the nth scheduling path; Representing region r i To region r j Available bandwidth. and Indicates from the operator's ISP i To the operator ISP j The area where it is located.
[0107] The aforementioned constraints may further include a latency constraint, which includes: the difference between a first latency and a second latency is less than or equal to a preset threshold, where the first latency is the transmission latency of user traffic from the first network operator to the user terminal of the target IP address range, and the second latency is the transmission latency of user traffic from the second network operator to the user terminal of the target IP address range. This latency constraint can be expressed by the following formula:
[0108]
[0109] Where σ is a preset threshold, and rtt ju RTT represents the transmission delay from operator j to user u. iu This represents the transmission delay from operator i to user u. Indicates from network operators To network operators The time delay.
[0110] The aforementioned constraints may also include a guaranteed bandwidth constraint, which includes: the billing bandwidth of the first network operator is greater than or equal to the guaranteed bandwidth of the first network operator, and the billing bandwidth of the second network operator is greater than or equal to the guaranteed bandwidth of the second network operator; the latency constraint can be expressed by the following formula:
[0111]
[0112] Among them, B i For network operators ISP i Billing bandwidth, b i Network operator ISP i The guaranteed minimum bandwidth.
[0113] The aforementioned constraints may also include a maximum schedulable quantity constraint, which states that the corresponding target schedulable traffic between the first network operator and the second network operator is less than or equal to the maximum schedulable traffic between them. This maximum schedulable quantity constraint can be expressed by the following formula:
[0114]
[0115] in, This indicates that from the network operator ISP i To network operator ISP j The scheduling traffic passing through the nth scheduling path, l ij This indicates that from the network operator ISP i To network operator ISP j The set of scheduling paths; inter ij Indicates isp i and ISP j The maximum schedulable quantity between them.
[0116] The aforementioned constraints may also include billing rule constraints, which include: each network operator's billing bandwidth is the maximum of its inbound and outbound traffic.
[0117] Network operator ISP i export flow y i The calculation formula is as follows:
[0118]
[0119] Among them, out i For network operators ISP i The original outbound flow, This indicates that from the network operator ISP i To network operator ISP j The scheduling traffic passing through the nth scheduling path, This indicates that from the network operator ISP j To network operator ISP i The scheduling traffic passing through the nth scheduling path; |l ij | Indicates from network operator ISP i To network operator ISP j The number of scheduling paths; |l ji | Indicates from network operator ISP j To network operator ISP i The number of scheduling paths.
[0120] Furthermore, based on the aforementioned billing rules, the target service provider is associated with the network operator's ISP. i Final billing is Among them, in i For network operators ISP i The inflow rate. The objective function described above can be expressed by the following formula:
[0121] min∑i c i ×B i ; where c i For network operators ISP i The unit bandwidth cost.
[0122] As an alternative implementation method, such as Figure 5 As shown in the figure, this application provides a traffic scheduling method, including the following steps:
[0123] S502 determines candidate scheduling paths supported by user traffic based on the traffic forwarding rules of each network operator associated with the target service provider.
[0124] S504, Based on the preset traffic optimization model, obtain the target scheduling path from the candidate scheduling paths.
[0125] S506, if the size of the first scheduled traffic is less than or equal to the size of the second scheduled traffic, the first scheduled traffic is taken as the target scheduled traffic; the first scheduled traffic is the candidate scheduled traffic between the first network operator and the second network operator that meets the scheduling conditions, and the second scheduled traffic is the scheduled traffic between the first network operator and the second network operator obtained through the traffic optimization model.
[0126] S508, if the first scheduled flow is greater than the second scheduled flow, select the flow with the same size as the second scheduled flow from the first scheduled flow as the target scheduled flow.
[0127] Specifically, in this embodiment of the application, the candidate scheduling traffic that meets the scheduling conditions is the scheduling traffic supported between the two network operators. Assuming that the first network operator is ISP1 and the second network operator is ISP2, and the unit cost per GB of operator ISP1 is higher than that of operator ISP2, then the outbound traffic of ISP1 can be scheduled to ISP2. For example, if the outbound traffic that ISP1 can schedule to ISP2 is 30G, and the fitted scheduling traffic between ISP1 and ISP2 is 50G through the traffic optimization model, then the target scheduling traffic corresponding to ISP1 and ISP2 is 30G.
[0128] In another scenario, for example, if ISP1 has 50G of outbound traffic that can be scheduled to ISP2, and the traffic optimization model yields a fitted scheduling traffic of 30G between ISP1 and ISP2, then 30G of traffic needs to be selected from this 50G outbound traffic as the target scheduling traffic for ISP1 and ISP2. This selection method includes, but is not limited to, selecting based on the priority or service level of each user in the outbound traffic. For example, all candidate scheduling traffic can be sorted, prioritizing high-priority traffic until the total scheduling volume approaches the target value. Optimal scheduling traffic requires minimizing source (ISP1) traffic while keeping destination (ISP2) traffic as stable as possible. This avoids excessive fluctuations in destination traffic that could lead to increased latency and packet loss, reducing bandwidth costs while preventing negative impacts on user experience.
[0129] Steps S502 and S504 have been explained above and will not be repeated here.
[0130] In one or more embodiments, the step of selecting a third scheduling traffic from the first scheduling traffic as the target scheduling traffic includes:
[0131] Determine the first correlation coefficient between the traffic of each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the first network operator in the user traffic;
[0132] A second correlation coefficient is determined between the traffic of each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the second network operator in the user traffic; both the first correlation coefficient and the second correlation coefficient are used to characterize the consistency of traffic trends.
[0133] Based on the weighted value of the first correlation coefficient and the second correlation coefficient, the scheduling priority corresponding to the traffic of each IP address segment is obtained;
[0134] Traffic from each IP address range is selected sequentially based on the scheduling priority from high to low until the total size of the selected traffic is the same as the second scheduled traffic. The selected traffic is then used as the target scheduled traffic.
[0135] Specifically, in this embodiment, when the size of the first scheduled traffic is greater than the size of the second scheduled traffic, i.e., when the candidate scheduled traffic satisfying the scheduling conditions between the first network operator and the second network operator is greater than the fitted scheduled traffic obtained by fitting through the traffic optimization model, this application can use a consistency judgment method to screen the target scheduled traffic. For the source end (the network operator to which the traffic is to be scheduled out), the ideal state is that the traffic to be scheduled is completely consistent with the traffic trend of the source end. When the trends are consistent, the 95% peak value of the traffic at the source end will be significantly reduced after scheduling, thus reducing the bandwidth cost for the target service provider at the source end. For the destination end (the network operator to which the traffic is to be scheduled in), the traffic trend of the traffic to be scheduled and the traffic trend of the destination end need to be completely opposite, that is, after the traffic is scheduled to the destination end, the traffic trend at the destination end should not have new peaks and troughs. This can avoid the situation where the traffic at the destination end fluctuates too much, resulting in increased latency and data packet loss, thereby reducing bandwidth costs and avoiding the impact on user experience.
[0136] Based on this, this application can determine the correlation between scheduled traffic and source and destination traffic using the Pearson correlation coefficient; specifically, the following formula can be used for judgment:
[0137]
[0138] Where r is the correlation coefficient corresponding to the traffic, and x i For source traffic, y i For destination traffic; For x i The average value, For y i The average value of r; the range of r is [-1, 1], when r = 1 it means x i and y i A perfect positive correlation means that x is positively correlated when r = -1. i and y i A perfect negative correlation; when r = 0, it indicates that x i and y i No correlation.
[0139] A first correlation coefficient r1 is determined between the traffic of each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the first network operator in the user traffic; a second correlation coefficient r2 is determined between the traffic of each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the second network operator in the user traffic; the weight value of the first correlation coefficient r1 is set to ω1, and the weight value of the second correlation coefficient r2 is set to ω2; the consistency coefficient r = ω1r1 + ω2r2 between the traffic to be scheduled and the traffic trends of the source and destination ends can be obtained; the closer the r value is to 0, the better the scheduling effect of the traffic. In one example, the values of ω1 and ω2 are both 0.5; the scheduling priority corresponding to each IP address segment traffic can be obtained according to the r value corresponding to each IP address segment traffic. For example, the IP address segment traffic with the r value closer to 0 is determined as a high-level scheduling priority, and the IP address segment traffic with the r value further away from 0 is determined as a low-level scheduling priority. Then, based on the scheduling priority, the traffic is filtered sequentially from high priority to low priority until the traffic with the same size as the second scheduling traffic is selected from each IP address range as the target scheduling traffic.
[0140] In one example, the range of values for r can be divided into n parts, with each part falling within the range [0-n×α, n×α], where n≥1 and n×α≤1, and α is the step size parameter. User traffic within a given range is considered to have the same scheduling effect, with scheduling priority decreasing sequentially from 1 to n. Within the same range, the IP address segment with the largest traffic and the least impact on user traffic latency is recursively queried and prioritized for scheduling until the traffic of the IP address segment corresponding to the queried range reaches the second-largest scheduling traffic size. In this embodiment, for example, the value range of r can be divided into two parts, i.e., n is 2 and α is 1 / 2; the value range of r is [-0.5, 0.5] and [-1, 1], and the traffic corresponding to the value range [-0.5, 0.5] is queried first; for example, when the value range of r can be divided into four parts, i.e., n is 4 and α is 1 / 4; the value range of r is [-0.25, 0.25], [-0.5, 0.5], [-0.75], etc. The four intervals are [-0.25, 0.25] and [-1, 1]. The user traffic corresponding to the value range of r is queried first. If the traffic corresponding to the value range of r is [-0.25, 0.25] does not reach the second scheduling traffic size, the traffic corresponding to the value range of r is queried first. This process is repeated until the traffic with the same size as the second scheduling traffic is selected from the traffic of each IP address range as the target scheduling traffic.
[0141] As an alternative implementation method, such as Figure 6As shown in the figure, this application provides a traffic scheduling method, including the following steps:
[0142] S602, based on the traffic forwarding rules of each network operator associated with the target service provider, determines the candidate scheduling path supported by the user traffic.
[0143] S604, based on a preset traffic optimization model, obtain a target scheduling path from the candidate scheduling paths, and determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
[0144] S606, Based on the target scheduling traffic, simulate scheduling of traffic for the first network operator and the second network operator;
[0145] S608, determine each evaluation indicator between the target service provider and the multiple network operators, and the weight coefficient corresponding to each evaluation indicator;
[0146] S610, obtain the first indicator value corresponding to each evaluation indicator before the simulation scheduling, and obtain the second indicator value corresponding to each evaluation indicator after the simulation scheduling.
[0147] S612, the first evaluation value is obtained by weighted summation of each first indicator value and its corresponding weight coefficient, and the second evaluation value is obtained by weighted summation of each second indicator value and its corresponding weight coefficient; if the second evaluation value is greater than the first evaluation value, the traffic optimization model is adjusted.
[0148] Specifically, in this embodiment, for example, after obtaining the target scheduling traffic between ISP1 and ISP2 of the first network operator, the traffic of ISP1 and ISP2 is simulated and scheduled according to the target scheduling traffic; then, it is calculated whether the evaluation index of the target service provider for ISP1 and ISP2 before the simulated scheduling is less than the evaluation index of the target service provider for ISP1 and ISP2 after the scheduling. If yes, it indicates that the above traffic scheduling recommendation scheme is feasible. If no, it indicates that the above traffic scheduling recommendation scheme is not feasible and the traffic optimization model needs to be adjusted. The above evaluation index includes bandwidth cost and / or transmission latency.
[0149] In one example, assuming the above evaluation metrics include bandwidth cost and transmission delay, the weight coefficient W1 for the bandwidth cost evaluation metric and the weight coefficient W2 for the transmission delay evaluation metric are determined, with W1 + W2 = 1. The first metric values for bandwidth cost and transmission delay before the simulated scheduling are obtained as C1 and L1, respectively, and the second metric values for bandwidth cost and transmission delay after the simulated scheduling are obtained as C2 and L2, respectively. A weighted sum of each first metric value and its corresponding weight coefficient is performed to obtain a first evaluation value E1, E1 = C1 * W1 + L1 * W2. A weighted sum of each second metric value and its corresponding weight coefficient is performed to obtain a second evaluation value E2, E2 = C2 * W1 + L2 * W2. If the second evaluation value E2 is greater than the first evaluation value E1, the traffic optimization model needs to be adjusted.
[0150] This feedback mechanism will help achieve dynamic network optimization in actual network operations, and improve overall traffic scheduling efficiency and cost-effectiveness.
[0151] Steps S602 and S604 have been explained above and will not be repeated here.
[0152] Based on the above embodiments, in one application embodiment, such as Figure 7 As shown, the above traffic scheduling method is applied to a global optimization engine for public network bandwidth costs. This engine includes: a schedulable traffic filtering module, a traffic optimization solution module, an IP segment filtering module, and a deduction module.
[0153] The schedulable traffic filtering module combines network operator traffic forwarding rules and user traffic to filter out traffic that meets scheduling criteria. This process requires integrating underlying traffic acquisition and quality detection to identify traffic between different network operators that meet network interoperability conditions. Next, scheduling paths are generated between operators with interoperable traffic, and these paths are provided to the optimization solution module. The input parameters of the schedulable traffic filtering module include network operator traffic forwarding rules and 5-minute granularity user traffic information; the output parameters include a set of schedulable paths and a set of candidate user traffic (IP address ranges).
[0154] The traffic optimization solution module constructs a global cost optimization model based on a pre-defined optimization controller, transforming network service rules into constraints and performing mathematical modeling and analysis. It builds scheduling paths based on network topology, user traffic, available transmission bandwidth, and operator operating parameters, and uses an optimization solver to search the global space to output the recommended scheduling path under optimal cost conditions and the corresponding target scheduling traffic.
[0155] Combination Figure 8As shown, the traffic optimization solution module includes a traffic optimization solver, which can be a solver based on MindOpt. This solver uses a high-level programming language to define the constraints of the traffic optimization model and inputs a series of key data (same / cross-regional scheduling paths, operator operating parameters, available transmission bandwidth, and transmission latency) for calculation. It can query traffic data, network operator operating parameters, and backbone network topology in real time. Changes in data (such as topology changes, fault occurrences, and changes in constraints) can update the model and recalculate in real time. The integer linear programming solver calculates the optimal solution based on the constraints and objective function, determines the path corresponding to the optimal solution as the scheduling path (recommended scheduling path), and the corresponding scheduling traffic for the scheduling path.
[0156] The IP segment filtering module selects traffic from the outbound traffic of the source network operator that meets the requirements of minimal scheduling frequency and minimal latency fluctuation, and combines them into recommended scheduling traffic. The input parameter of the IP segment filtering module is the total traffic to be scheduled by each network operator, and the output parameter is the specific user traffic (IP address range) to be scheduled.
[0157] like Figure 9 As shown, the IP segment filtering module filters IP segments through the following steps:
[0158] 1. Obtain source traffic (user traffic corresponding to the source network operator) and target scheduling traffic (scheduling traffic from the source network operator to the target network operator obtained based on the optimization solution module).
[0159] 2. Determine if the source traffic is less than the target scheduling traffic. If so, end the traffic filtering process; otherwise, proceed to step 3.
[0160] 3. Calculate the Pearson correlation coefficient r1 between the source traffic and the target scheduled traffic, and the Pearson correlation coefficient r2 between the destination traffic (user traffic corresponding to the target network operator) and the target scheduled traffic; set the weight value of the correlation coefficient r1 to ω1 and the weight value of the correlation coefficient r2 to ω2; the consistency coefficient r = ω1r1 + ω2r2 between the traffic to be scheduled and the trend of the source and destination traffic can be obtained; the closer the r value is to 0, the better the traffic can achieve the scheduling effect.
[0161] 4. Set both ω1 and ω2 to 0.5. Based on the r value corresponding to the traffic of each IP address segment, the scheduling priority for that IP address segment can be obtained. IP address segments with r values closer to 0 are assigned higher scheduling priority, while those with r values further away from 0 are assigned lower scheduling priority. The range of r values can be divided into n parts, with intervals ranging from [0-n×α, n×α], where n≥1 and n×α≤1, and α is the step size parameter. User traffic within a given interval is considered to have the same scheduling effect, with scheduling priority decreasing sequentially from 1 to n. Within the same interval, the IP address segment with the largest traffic and the least impact on user traffic latency is recursively queried as the estimated scheduling traffic. When the estimated scheduling traffic is greater than or equal to the target scheduling traffic, the traffic filtering process ends.
[0162] The simulation module requires that the recommended traffic scheduling scheme be verified through a simulation system to ensure that the scheduling conditions are met. This application conducts a detailed analysis of the recommended scheduling traffic, simulates the actual situation after the scheduling is implemented through the simulation system, and filters out traffic scheduling schemes that result in excessive latency or increased costs by evaluating latency changes and cost benefits.
[0163] The input parameter of the simulation module is the recommended scheduled traffic, and the output parameters are the cost-benefit (bandwidth cost-benefit) parameter and the quality change (latency change) evaluation parameter.
[0164] In this process, traffic that meets the evaluation criteria is output and executed. Conversely, traffic that does not meet the evaluation criteria is removed from the recommended solutions and tagged accordingly so that the optimization solution module can be updated in subsequent optimization processes. The simulation module also provides a feedback mechanism to support real-time monitoring and updates. If new data or changes affect the scheduling effect, the system can automatically adjust or recalculate a new scheduling solution to ensure that operations always meet real-time needs and changes. This helps to achieve dynamic optimization in actual operation, improving the overall traffic scheduling efficiency and cost-effectiveness.
[0165] The traffic scheduling scheme proposed in this application has the ability to be deployed in real time, can perform dynamic calculations daily, and flexibly recommend scheduling schemes that adapt to traffic changes, thereby better coping with network load fluctuations and demand changes, while also ensuring the system's efficiency and response speed, making traffic scheduling more accurate and intelligent.
[0166] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the present invention is not limited to the described order of actions, because according to the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to the present invention.
[0167] According to another aspect of the embodiments of this application, a traffic scheduling apparatus for implementing the above-described traffic scheduling method is also provided, such as... Figure 10 As shown, the traffic scheduling device includes:
[0168] The first determining unit 1002 is used to determine candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with the target service provider; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, wherein the first network operator and the second network operator are different network operators among the multiple network operators.
[0169] The first acquisition unit 1004 is used to acquire a target scheduling path from the candidate scheduling paths based on a preset traffic optimization model, and to determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
[0170] In this embodiment, candidate scheduling paths supported by user traffic are determined based on traffic forwarding rules of multiple network operators associated with the target service provider. The user traffic includes bidirectional traffic between the user terminal and the multiple network operators. The candidate scheduling path indicates the communication link traversed by the scheduled traffic from the first network operator to the second network operator in the user traffic. The first network operator and the second network operator are different network operators among the multiple network operators. A method for obtaining target scheduled traffic from the first network operator to the second network operator from the user traffic is based on a preset traffic optimization model and the scheduling path. Compared with the existing manual traffic scheduling method, this application can not only automatically and intelligently schedule traffic on public network bandwidth, reducing the corresponding public network bandwidth cost for enterprises, but also significantly improve the utilization rate of public network bandwidth resources.
[0171] In one or more embodiments, the first determining unit 1002 described above includes:
[0172] The first determining module is used to determine the forwarding traffic corresponding to each network operator in the user traffic;
[0173] The second determining module is used to determine whether there is a scheduling path between the first network operator and the second network operator based on the operator type of each network operator, the geographical location of each network operator, and the forwarding traffic.
[0174] The selection module is used to select a candidate scheduling path from the scheduling path where the number of traffic forwarding nodes is less than or equal to a preset number, when there is a scheduling path between the first network operator and the second network operator.
[0175] In one or more embodiments, the second determining module includes:
[0176] The first determining subunit is used to determine that there is a scheduling path between the first network operator and the second network operator when the first network operator and the second network operator are located in the same area and have the same operator type.
[0177] The second determining subunit is used to determine that there is a scheduling path between the first network operator and the second network operator when the first network operator and the second network operator are located in the same area, the first network operator and the second network operator correspond to different operator types, and the first network operator and the second network operator both record the forwarding traffic of the same Internet Protocol IP address range.
[0178] The third determining subunit is used to determine that there is a scheduling path between the first network operator and the second network operator when the first network operator and the second network operator are located in different regions and the user traffic in the regions corresponding to the first network operator and the second network operator is forwarded through a network operator.
[0179] In one or more embodiments, the above-described traffic scheduling apparatus further includes:
[0180] The second determining unit is used to use the candidate scheduling path, the operating parameters of each network operator, the bandwidth corresponding to the candidate scheduling path, and the latency data between the network operator and the user terminal as the initialization parameters of the traffic optimization model.
[0181] The second acquisition unit is used to acquire the constraints of the traffic optimization model based on the initialization parameters;
[0182] A construction unit is used to construct the traffic optimization model based on the constraints and the objective function; the objective function is used to obtain the minimum bandwidth cost between the target service provider and each network operator.
[0183] In one or more embodiments, the first acquisition unit 1004 includes:
[0184] The input module is used to input the initialization parameters into the traffic optimization initial model and initialize the traffic optimization model based on the initialization parameters;
[0185] The third determining module is used to use the corresponding scheduling traffic in each of the candidate scheduling paths as a decision variable;
[0186] The solution module is used to solve the traffic optimization model based on the initialization parameters and the decision variables to obtain the optimal solution of the decision variables of the traffic optimization model;
[0187] The fourth determining module is used to obtain the decision variables that are greater than zero in the optimal solution, and to take the scheduling path corresponding to the decision variables that are greater than zero as the target scheduling path.
[0188] In one or more embodiments, the operating parameters include the network operator's cost factor, the network operator's guaranteed bandwidth, the network operator's inbound traffic, and the network operator's outbound traffic.
[0189] The constraint includes at least one of the following: the total scheduling traffic corresponding to each of the candidate scheduling paths is less than or equal to the user traffic;
[0190] The transmission bandwidth occupied by the scheduling traffic corresponding to the candidate scheduling path is less than or equal to the intermediate link bandwidth, and the intermediate link bandwidth is the minimum bandwidth among the bandwidths of each communication link in the candidate scheduling path.
[0191] The difference between the first delay and the second delay is less than or equal to a preset threshold. The first delay is the transmission delay of user traffic from the first network operator to the user terminal of the target IP address segment, and the second delay is the transmission delay of user traffic from the second network operator to the user terminal of the target IP address segment.
[0192] The billing bandwidth of the first network operator is greater than or equal to the guaranteed bandwidth of the first network operator, and the billing bandwidth of the second network operator is greater than or equal to the guaranteed bandwidth of the second network operator.
[0193] The scheduling traffic between the first network operator and the second network operator is less than or equal to the maximum scheduling volume between them.
[0194] Each network operator's billing bandwidth is the maximum of its inbound and outbound traffic.
[0195] In one or more embodiments, the first acquisition unit 1004 includes:
[0196] The fifth determining module is used to determine the first scheduling traffic as the target scheduling traffic when the traffic size of the first scheduling traffic is less than or equal to the traffic size of the second scheduling traffic; the first scheduling traffic is the candidate scheduling traffic between the first network operator and the second network operator that meets the scheduling conditions, and the second scheduling traffic is the scheduling traffic between the first network operator and the second network operator obtained through the traffic optimization model.
[0197] The filtering module is used to filter out traffic with the same size as the second scheduling traffic from the first scheduling traffic when the traffic size of the first scheduling traffic is greater than the traffic size of the second scheduling traffic.
[0198] In one or more embodiments, the filtering module includes:
[0199] The fourth determining subunit is used to determine the first correlation coefficient between the traffic corresponding to each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the first network operator in the user traffic.
[0200] The fifth determining subunit is used to determine the second correlation coefficient between the traffic of each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the second network operator in the user traffic; both the first correlation coefficient and the second correlation coefficient are used to characterize the consistency of traffic trends.
[0201] The acquisition subunit is used to obtain the scheduling priority corresponding to the traffic of each IP address segment based on the weighted value of the first correlation coefficient and the second correlation coefficient.
[0202] The filtering subunit is used to select the traffic of each IP address range in descending order of scheduling priority until the total size of the selected traffic is the same as the second scheduling traffic, and then use the selected traffic as the target scheduling traffic.
[0203] In one or more embodiments, the above-described traffic scheduling apparatus further includes:
[0204] The simulation scheduling unit is used to simulate the scheduling of traffic from the first network operator and the second network operator based on the target scheduling traffic.
[0205] The second determining unit is used to determine each evaluation indicator between the target service provider and the plurality of network operators, and the weight coefficient corresponding to each evaluation indicator.
[0206] The calculation unit is used to obtain the first index value corresponding to each evaluation index before the simulation scheduling, and to obtain the second index value corresponding to each evaluation index after the simulation scheduling.
[0207] The adjustment unit is used to perform a weighted summation of each first indicator value and its corresponding weight coefficient to obtain a first evaluation value, and to perform a weighted summation of each second indicator value and its corresponding weight coefficient to obtain a second evaluation value; if the second evaluation value is greater than the first evaluation value, the traffic optimization model is adjusted.
[0208] According to another aspect of the embodiments of this application, an electronic device for implementing the above-described traffic scheduling method is also provided. This electronic device may be... Figure 1 The electronic device shown is illustrated in this embodiment, which uses the electronic device as a computing node in a cloud network center as an example. Figure 11 As shown, the electronic device includes a memory 1102 and a processor 1104. The memory 1102 stores a computer program, and the processor 1104 is configured to execute the steps of any of the above method embodiments via the computer program.
[0209] Optionally, in this embodiment, the aforementioned electronic device may be at least one of a plurality of network devices in a computer network.
[0210] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0211] S1, based on the traffic forwarding rules of multiple network operators associated with the target service provider, determine the candidate scheduling path supported by the user traffic; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, and the first network operator and the second network operator are different network operators among the multiple network operators.
[0212] S2, based on a preset traffic optimization model, obtain the target scheduling path from the candidate scheduling paths, and determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
[0213] The memory 1102 can be used to store software programs and modules, such as the program instructions / modules corresponding to the traffic scheduling method and apparatus in this embodiment. The processor 1104 executes various functional applications and data processing by running the software programs and modules stored in the memory 1102, thereby implementing the aforementioned traffic scheduling method. The memory 1102 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1102 may further include memory remotely located relative to the processor 1104, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Specifically, the memory 1102 may be used, but is not limited to, to store target scheduling paths and to determine the target scheduling traffic corresponding to the target scheduling paths.
[0214] As an example, such as Figure 11 As shown, the memory 1102 may include, but is not limited to, the first determining unit 1002 and the first acquiring unit 1004 from the traffic scheduling device. Furthermore, it may include, but is not limited to, other module units from the traffic scheduling device, which will not be elaborated upon in this example.
[0215] Optionally, the transmission device 1106 described above is used to receive or send data via a network. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 1106 includes a Network Interface Controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 1106 is a radio frequency (RF) module, used for wireless communication with the Internet.
[0216] In addition, the aforementioned electronic device also includes a connection bus 1108 for connecting various module components in the aforementioned electronic device.
[0217] In other embodiments, the aforementioned electronic device can be a node in a distributed system, which can be a blockchain system. This blockchain system is formed by connecting multiple nodes through network communication. The nodes can form a peer-to-peer (P2P) network, and any type of computing device, such as a server or terminal, can become a node in the blockchain system by joining this peer-to-peer network.
[0218] In one or more embodiments, this application also provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the traffic scheduling method described above. The computer program is configured to execute the steps of any of the method embodiments described above when running.
[0219] Optionally, in this embodiment, the computer-readable storage medium described above may be configured to store a computer program for performing the following steps:
[0220] S1, based on the traffic forwarding rules of multiple network operators associated with the target service provider, determine the candidate scheduling path supported by the user traffic; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, and the first network operator and the second network operator are different network operators among the multiple network operators.
[0221] S2, based on a preset traffic optimization model, obtain the target scheduling path from the candidate scheduling paths, and determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
[0222] Optionally, in this embodiment, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0223] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0224] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods of the various embodiments of the present invention.
[0225] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0226] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or the indirect coupling or communication connection of units or modules may be electrical or other forms.
[0227] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0228] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0229] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
[0230] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
Claims
1. A traffic scheduling method, characterized in that, The method includes: Based on the traffic forwarding rules of multiple network operators associated with the target service provider, candidate scheduling paths supported by user traffic are determined; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, wherein the first network operator and the second network operator are different network operators among the multiple network operators. Based on a preset traffic optimization model, a target scheduling path is obtained from the candidate scheduling paths, and the target scheduling traffic corresponding to the target scheduling path is determined from the user traffic.
2. The method according to claim 1, characterized in that, The process of determining candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with the target service provider includes: Determine the forwarding traffic corresponding to each of the multiple network operators in the user traffic; Based on the operator type of the multiple network operators, the geographical location of the multiple network operators, and the forwarding traffic, determine whether there is a scheduling path between the first network operator and the second network operator; When there is a scheduling path between the first network operator and the second network operator, a candidate scheduling path is selected from the scheduling path with a number of traffic forwarding nodes less than or equal to a preset number.
3. The method according to claim 2, characterized in that, The step of determining whether a scheduling path exists between the first network operator and the second network operator based on the operator type of the multiple network operators, the geographical location of the multiple network operators, and the forwarding traffic includes: If the first network operator and the second network operator are located in the same region and have the same operator type, it is determined that there is a scheduling path between the first network operator and the second network operator. If the first network operator and the second network operator are located in the same area, the first network operator and the second network operator correspond to different operator types, and both the first network operator and the second network operator record forwarding traffic of the same Internet Protocol IP address range, it is determined that there is a scheduling path between the first network operator and the second network operator. In cases where the first network operator and the second network operator are located in different regions, and user traffic in the respective regions of the first network operator and the second network operator is forwarded through a single network operator, it is determined that a scheduling path exists between the first network operator and the second network operator.
4. The method according to any one of claims 1 to 3, characterized in that, Before obtaining the target scheduling path from the candidate scheduling paths and determining the target scheduling traffic corresponding to the target scheduling path from the user traffic based on the preset traffic optimization model, the method further includes: The candidate scheduling path, the operating parameters of each network operator, the bandwidth corresponding to the candidate scheduling path, and the latency data between the network operator and the user terminal are used as the initialization parameters of the traffic optimization model. The constraints of the traffic optimization model are obtained based on the initialization parameters; The traffic optimization model is constructed based on the constraints and the objective function; the objective function is used to obtain the minimum bandwidth cost for the target service provider among the network operators.
5. The method according to claim 1, characterized in that, The step of obtaining the target scheduling path from the candidate scheduling paths based on the preset traffic optimization model includes: The initialization parameters are input into the traffic optimization model, and the traffic optimization model is initialized based on the initialization parameters; The scheduling traffic corresponding to each of the candidate scheduling paths is used as a decision variable; Based on the initialization parameters and the decision variables, the traffic optimization model is solved to obtain the optimal solution of the decision variables of the traffic optimization model; Obtain the decision variables that are greater than zero in the optimal solution, and use the scheduling paths corresponding to the decision variables that are greater than zero as the target scheduling paths.
6. The method according to claim 4, characterized in that, The operating parameters include the network operator's cost coefficient, the network operator's guaranteed bandwidth, the network operator's inbound traffic, and the network operator's outbound traffic. The constraints include at least one of the following: The sum of the scheduling traffic corresponding to each of the candidate scheduling paths is less than or equal to the user traffic. The transmission bandwidth occupied by the scheduling traffic corresponding to the candidate scheduling path is less than or equal to the intermediate link bandwidth, and the intermediate link bandwidth is the minimum bandwidth among the bandwidths of each communication link in the candidate scheduling path. The difference between the first delay and the second delay is less than or equal to a preset threshold. The first delay is the transmission delay of user traffic from the first network operator to the user terminal of the target IP address segment, and the second delay is the transmission delay of user traffic from the second network operator to the user terminal of the target IP address segment. The billing bandwidth of the first network operator is greater than or equal to the guaranteed bandwidth of the first network operator, and the billing bandwidth of the second network operator is greater than or equal to the guaranteed bandwidth of the second network operator. The scheduling traffic between the first network operator and the second network operator is less than or equal to the maximum scheduling volume between them. Each network operator's billing bandwidth is the maximum of its inbound and outbound traffic.
7. The method according to any one of claims 1 to 3, characterized in that, Determining the target scheduling traffic corresponding to the target scheduling path from the user traffic includes: If the size of the first scheduled traffic is less than or equal to the size of the second scheduled traffic, the first scheduled traffic is taken as the target scheduled traffic; the first scheduled traffic is the candidate scheduled traffic between the first network operator and the second network operator that meets the scheduling conditions, and the second scheduled traffic is the scheduled traffic between the first network operator and the second network operator obtained through the traffic optimization model. If the size of the first scheduled traffic is greater than the size of the second scheduled traffic, traffic with the same size as the second scheduled traffic is selected from the first scheduled traffic as the target scheduled traffic.
8. The method according to claim 7, characterized in that, The step of selecting traffic from the first scheduled traffic that is the same size as the second scheduled traffic as the target scheduled traffic includes: Determine the first correlation coefficient between the traffic corresponding to each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the first network operator in the user traffic; A second correlation coefficient is determined between the traffic corresponding to each IP address segment in the first scheduling traffic and the outbound traffic corresponding to the second network operator in the user traffic; both the first correlation coefficient and the second correlation coefficient are used to characterize the consistency of traffic trends. Based on the weighted value of the first correlation coefficient and the second correlation coefficient, the scheduling priority corresponding to the traffic of each IP address segment is obtained; Traffic from each IP address range is selected sequentially based on the scheduling priority from high to low until the total size of the selected traffic is the same as the second scheduled traffic. The selected traffic is then used as the target scheduled traffic.
9. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Based on the target scheduling traffic, simulated scheduling is performed on the traffic of the first network operator and the second network operator; Determine the evaluation indicators between the target service provider and the multiple network operators, and the weight coefficients corresponding to each evaluation indicator; Obtain the first indicator value corresponding to each evaluation indicator before the simulation scheduling, and obtain the second indicator value corresponding to each evaluation indicator after the simulation scheduling; A first evaluation value is obtained by weighting and summing each of the first indicator values with their corresponding weight coefficients; a second evaluation value is obtained by weighting and summing each of the second indicator values with their corresponding weight coefficients; if the second evaluation value is greater than the first evaluation value, the traffic optimization model is adjusted.
10. A flow scheduling device, characterized in that, The device includes: The first determining unit is used to determine candidate scheduling paths supported by user traffic based on traffic forwarding rules of multiple network operators associated with the target service provider; the user traffic includes bidirectional traffic between the user terminal and the multiple network operators, and the candidate scheduling path is used to indicate the communication link through which the scheduled traffic from the first network operator to the second network operator in the user traffic passes, wherein the first network operator and the second network operator are different network operators among the multiple network operators. The first acquisition unit is used to acquire a target scheduling path from the candidate scheduling paths based on a preset traffic optimization model, and to determine the target scheduling traffic corresponding to the target scheduling path from the user traffic.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to implement the method as described in any one of claims 1 to 9.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, The program is executed by a processor to implement the method as described in any one of claims 1 to 9.
13. A computer program product, comprising a computer program, characterized in that, The computer program is executed by a processor to implement the method according to any one of claims 1 to 9.