Communication method and apparatus
By building a preset model and selecting the target path using the column generation principle, the problem of difficulty in achieving global optimization in the transmission network is solved, and efficient transmission network operation is achieved.
Patent Information
- Application Number
- PCT/CN2024/109238
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-08
- Filing Date
- 2024-08-01
- Publication Date
- 2025-03-13
AI Technical Summary
The prior art is difficult to achieve global optimization in the transmission network and cannot effectively alleviate network congestion, resulting in excessive response delay and poor user experience.
By constructing a preset model, the transmission rate on each transmission path corresponding to the service is calculated to meet the preset conditions for the operation efficiency of the transmission network. Using the column generation principle, select the target path that meets the conditions as the new transmission path to optimize the operation efficiency of the transmission network.
It achieves the effect of global optimization in the transmission network, reduces the congestion of the transmission network and the dependence of services on new paths, and improves the operation efficiency of the transmission network.
Smart Images

Figure CN2024109238_13032025_PF_FP_ABST
Abstract
Description
Communication method and device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 8, 2023, with application number 202311159850.1 and application name “Communication Method and Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of computers, and in particular to a communication method and device. Background Art
[0003] Currently, congestion often occurs in transmission networks, leading to problems such as long application response delays and poor user experience.
[0004] To alleviate congestion, existing technologies can adjust the data transmission rate of the sender to avoid congestion on the transmission path. For example, for a service sending data from network device A to network device B, if congestion is detected on the transmission path from network device A to network device B, the congestion can be alleviated by reducing the data transmission rate of network device A. However, this method can only make local adjustments within the existing transmission path corresponding to the service and cannot achieve global optimization across the transmission network.
[0005] Furthermore, in order to achieve global optimization in the transmission network, the existing technology can also increase the transmission paths corresponding to the services, so as to use the newly added paths with smaller loads to carry the services, thereby achieving the purpose of load balancing and alleviating congestion.
[0006] Among them, in the process of achieving the purpose of load balancing and alleviating congestion by increasing the transmission paths corresponding to the services, how to select the newly added transmission paths and how to determine the transmission rate on each transmission path corresponding to the services to improve the operating efficiency of the transmission network are the problems that need to be solved at present.
[0007] Summary of the Invention
[0008] The present application provides a communication method and apparatus for determining the transmission rate on each transmission path corresponding to a service.
[0009] In a first aspect, a communication method is provided, which is applied to a controller in a transmission network. The method includes: obtaining a first path set corresponding to a first service. The first path set includes at least one transmission path for carrying the first service. Based on the first path set, a first calculation result of a preset model is obtained. The first calculation result includes the transmission rate of the first service on each transmission path in the first path set. The preset model is used to calculate the transmission rate on each transmission path corresponding to the service so that the operating efficiency of the transmission network meets preset conditions. The first calculation result is executed. A target path outside the first path set corresponding to the first service is determined. The operating efficiency of the transmission network when the target path is used to carry the first service is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result. Based on a second path set, a second calculation result of the preset model is obtained; the second path set includes the first path set and the target path; the second calculation result includes the transmission rate of each transmission path of the first service in the second path set. The second calculation result is executed.
[0010] In the communication method provided in the embodiment of the present application, on the one hand, after obtaining the first path set corresponding to the first service, the first calculation result of the preset model can be obtained according to the first path set and the first calculation result can be executed, so that the first service is transmitted according to the transmission rate on each transmission path in the first calculation result. In this way, since the first calculation result is calculated by the preset model, when the first service is transmitted according to the transmission rate on each transmission path in the first calculation result, the operating efficiency of the transmission network can be guaranteed. On the other hand, when adding a new transmission path, the relevant principle of column generation is utilized to select a target path that meets the conditions (i.e., when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result) as the newly added transmission path. Furthermore, after obtaining the second calculation result of the preset model according to the second path set (i.e., the path set including the first path set and the target path), the operating efficiency of the transmission network after the newly added transmission path (i.e., the target path) can be guaranteed by executing the second calculation result.
[0011] In one implementation, the operation efficiency of the transmission network meets preset conditions, including: the congestion level of the transmission network and the dependence of services on the transmission network on the newly added path meet preset conditions.
[0012] In the above implementation, the transport network's operational efficiency is reflected by using two pieces of information: the transport network's congestion level and the degree to which services on the transport network rely on newly added paths. This can reduce both the transport network's congestion level and the service's reliance on newly added paths.
[0013] In one implementation, the preset model includes optimization objectives for minimizing congestion in the transmission network and minimizing the reliance of services on newly added paths. The preset model also includes a first constraint corresponding to links in the transmission network, which is used to ensure that the total traffic on the links does not exceed the corresponding traffic limit, and a second constraint corresponding to services in the transmission network, which is used to ensure that the bandwidth requirements of the services are met.
[0014] By building a preset model using the aforementioned implementation, we can obtain a calculation result that minimizes transmission network congestion and minimizes the reliance of services on newly added paths, while ensuring that the traffic on each link does not exceed the traffic limit and that the bandwidth requirements of each service are met. This ensures that the transmission network's operational efficiency is maintained when service data is transmitted at the transmission rates corresponding to each transmission path in the aforementioned calculation results.
[0015] In one implementation, determining a target path outside the first path set corresponding to a first service includes: calculating, based on a first calculation result, dual variable values of links in a transmission network and dual variable values of the first service in a preset model. Based on the dual variable values of the links in the transmission network and the dual variable values of the first service, determining a target path outside the first path set corresponding to the first service. The target path is a transmission path where the sum of the dual variable values of the links on the path is less than the dual variable value of the first service, and where the sum of the dual variable values of the links on the path is the smallest.
[0016] Through the above implementation, a target path that meets the conditions can be determined efficiently and quickly.
[0017] In one implementation, a target path outside the first path set corresponding to the first service is determined based on the dual variable value of the link in the transmission network and the dual variable value of the first service, including: sending the dual variable value of the link in the transmission network and the dual variable value of the first service to the end-side device of the first service, and receiving the target path from the end-side device.
[0018] Through the above implementation, the calculation amount of the controller can be reduced and the operation speed can be improved.
[0019] In one implementation, the optimization objective includes the following formula 1:
[0020] Among them, c p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δe It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0021] In one implementation, the optimization objective includes the following formula 2:
[0022] Among them, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0023] In one implementation, the first constraint includes:
[0024] Among them, α represents the congestion threshold, b e represents the bandwidth capacity on link e, D represents the set of services in the transmission network, and p m represents the set of existing paths for service m, E m Represents the set of links that service m passes through.
[0025] In one implementation, the second constraint includes:
[0026] Among them, d m Indicates the bandwidth requirement of service m.
[0027] According to a second aspect, a communication device is provided, characterized by being a controller used in a transmission network, comprising: an acquisition unit configured to acquire a first path set corresponding to a first service. The first path set includes at least one transmission path for carrying the first service. A processing unit configured to obtain a first calculation result of a preset model based on the first path set; the first calculation result includes the transmission rate of the first service on each transmission path in the first path set; the preset model is used to calculate the transmission rate on each transmission path corresponding to the service so that the operating efficiency of the transmission network meets preset conditions. The processing unit is further configured to execute the first calculation result. The processing unit is further configured to determine a target path outside the first path set corresponding to the first service; wherein, when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than when the first calculation result is used to carry the first service. The processing unit is further configured to obtain a second calculation result of the preset model based on a second path set; the second path set includes the first path set and the target path; the second calculation result includes the transmission rate of each transmission path in the second path set for the first service. The processing unit is further configured to execute the second calculation result.
[0028] In one implementation, the operation efficiency of the transmission network meets preset conditions, including: the congestion level of the transmission network and the dependence of services on the transmission network on the newly added path meet preset conditions.
[0029] In one implementation, the preset model includes an optimization goal of minimizing the congestion of the transmission network and minimizing the dependence of services on the transmission network on newly added paths; the preset model also includes: a first constraint condition corresponding to the link in the transmission network, the first constraint condition is used to ensure that the total traffic of the link in the transmission network does not exceed the traffic upper limit corresponding to the link, and a second constraint condition corresponding to the service in the transmission network, the second constraint condition is used to ensure that the bandwidth demand of the service is met.
[0030] In one implementation, the processing unit is further configured to determine a target path outside the first path set corresponding to the first service, including: the processing unit is further configured to calculate, based on the first calculation result, the dual variable values of the links in the transmission network and the dual variable values of the first service in a preset model. The processing unit is further configured to determine, based on the dual variable values of the links in the transmission network and the dual variable values of the first service, the target path outside the first path set corresponding to the first service; the target path is a transmission path in which the sum of the dual variable values of the links on the path is the smallest, and the sum of the dual variable values of the links on the path is less than the dual variable value of the first service.
[0031] In one implementation, the processing unit is further used to determine a target path outside the first path set corresponding to the first service based on the dual variable value of the link in the transmission network and the dual variable value of the first service, including: the processing unit is further used to send the dual variable value of the link in the transmission network and the dual variable value of the first service to the end-side device of the first service, and receive the target path of the end-side device.
[0032] In one implementation, the optimization objective includes the following formula 1:
[0033] Among them, c p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0034] In one implementation, the optimization objective includes the following formula 2:
[0035] Among them, p' mrepresents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0036] In one implementation, the first constraint includes:
[0037] Among them, α represents the congestion threshold, b e represents the bandwidth capacity on link e, D represents the set of services in the transmission network, and p m represents the set of existing paths for service m, E m Represents the set of links that service m passes through.
[0038] In one implementation, the second constraint includes:
[0039] Among them, d m Indicates the bandwidth requirement of service m.
[0040] In a third aspect, a communication device is provided, comprising a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and execute the computer instructions from the memory to implement the method described in the first aspect or any implementation method of the first aspect.
[0041] In a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores instructions, and when the instructions are executed on a processor, the method as described in the first aspect or any one of the implementations of the first aspect is implemented.
[0042] In a fifth aspect, a computer program product comprises instructions, which, when executed on a processor, implement the method as described in the first aspect or any one of the implementations of the first aspect.
[0043] The technical effects produced by any implementation method in the above-mentioned second to fifth aspects and each aspect can refer to the above-mentioned first aspect and the corresponding implementation method in the first aspect, and the repetitions will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] FIG1 is a schematic diagram of the structure of a transmission network provided in an embodiment of the present application;
[0045] FIG2 is a schematic diagram of a flow chart of a solution to a column generation problem provided by an embodiment of the present application;
[0046] FIG3 is a flow chart of a communication method provided in an embodiment of the present application;
[0047] FIG4 is a schematic diagram of a frame structure provided in an embodiment of the present application;
[0048] FIG5 is a schematic structural diagram of a communication device provided in an embodiment of the present application;
[0049] FIG6 is a schematic structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] To facilitate understanding of the embodiments of the present application, the relevant technologies involved in the embodiments of the present application are first introduced.
[0051] Currently, to alleviate congestion, existing technologies can adjust the data transmission rate of the sender to avoid congestion on the transmission path. For example, explicit congestion notification (ECN) in the Data Center Transmission Control Protocol (DCTCP) can be used to detect congestion on the transmission path. When congestion occurs on the transmission path, the sender's data transmission rate is reduced, thereby alleviating congestion.
[0052] Specifically, take the service of sending data from network device a to network device b as an example, wherein the transmission path between network device a and network device b may include one or more intermediate nodes. The method may include: first, setting a threshold k on the intermediate node. When a data packet passes through an intermediate node, if the queue occupancy value exceeds k, the intermediate node will add an ECN identifier to the data packet and forward the data containing the ECE identifier to the next hop on the transmission path. When the receiving end (i.e., network device b) receives the data packet carrying the ECN identifier, it sends an acknowledgment signal (ACK) carrying an "ECN-echo" identifier (hereinafter referred to as the ECE identifier) to the sending end. Then, based on the received ACK (which may include an ACK carrying the ECE identifier or an ACK without the ECE identifier), the sending end may determine the congestion level parameter c according to the following formula (1): c←(1-g)×c+g*F Formula (1)
[0053] Where F is the proportion of ECN-marked packets received in the current window, and g is a preset weight parameter between 0 and 1.
[0054] Furthermore, the sender can adjust the size of the congestion window (cwnd) according to the following formula (2): cwnd←cwnd(1-c) Formula (2)
[0055] Among them, when the c value is small, it means that the congestion on the transmission path is relatively mild. At this time, the congestion window changes little, and the sender sends data at a relatively fast rate. When the c value is large, it means that the congestion on the transmission path is relatively severe. At this time, the congestion window changes greatly, and the sender sends data at a relatively slow rate.
[0056] It can be seen that the above method can only make local adjustments within the existing transmission path corresponding to the service, and cannot achieve global optimization of the transmission network. For example, if congestion occurs on transmission path 1 corresponding to the service, even if the transmission network includes other idle transmission paths 2, the above method will only reduce the service traffic on transmission path 1, and will not actively switch the service traffic to transmission path 2 for transmission.
[0057] Furthermore, to achieve global optimization within the transmission network, a second related technology can adjust the transmission paths corresponding to services, allowing them to be carried on less-loaded paths, thereby achieving load balancing and alleviating congestion. For example, within a transmission network, a controller can monitor the congestion status of each link. If link congestion occurs, the controller can re-determine a new path for the service on the congested link that does not contain the congested link and, through rerouting, switch all or part of the service's traffic to this new path.
[0058] It can be seen that in the second related art method described above, although global optimization of the transmission network can be achieved by adjusting the transmission paths corresponding to the services, this method, however, requires allocating the service traffic to multiple transmission paths (including existing paths and newly added paths) for transmission. Therefore, how to determine the transmission rate on each transmission path corresponding to the service in order to improve the operating efficiency of the transmission network is a problem that needs to be solved.
[0059] It should be noted that, for ease of description, in the embodiments of this application, the transmission paths corresponding to the services are divided into: existing paths and newly added paths. An "existing path" refers to the transmission path used to carry the service before the transmission path is added. A "newly added path" refers to the transmission path added during the service transmission process.
[0060] It can be understood that the existing paths and the newly added paths in the embodiments of the present application are concepts relative to the process of adding a transmission path. For example, take service x that transmits data from network device a to network device b as an example. In the initial process, service x corresponds to transmission path 1 (that is, in the initial process, the data of service x can be forwarded from network device a to network device b through transmission path 1). In addition, in the subsequent data transmission process, for the purpose of load balancing, transmission path 2, transmission path 3 and transmission path 4 are added in sequence as the transmission path of service x. Then, when transmission path 1 is taken as the existing path, transmission path 2, transmission path 3 and transmission path 4 are taken as newly added paths (at this time, it can be understood as: the existing path and the newly added path are divided by the process of adding transmission path 2. Among them, the transmission path 1 used to carry service x before the newly added transmission path 2 is taken as the existing path, and the transmission path 2, transmission path 3 and transmission path 4 added after the newly added transmission path 2 are taken as newly added paths). In addition, when transmission path 1 and transmission path 2 are regarded as existing paths, transmission path 3 and transmission path 4 can be regarded as newly added paths (in this case, it can be understood that the existing paths and newly added paths are divided according to the process of adding transmission path 3. Among them, transmission path 1 and transmission path 2 used to carry service x before the new transmission path 3 is added are regarded as existing paths, and transmission path 3 and transmission path 4 added after the new transmission path 3 is added are regarded as newly added paths). In addition, when transmission path 1, transmission path 2 and transmission path 3 are regarded as existing paths, transmission path 4 can be regarded as newly added path (in this case, it can be understood that the existing paths and newly added paths are divided according to the process of adding transmission path 4. Among them, transmission path 1, transmission path 2 and transmission path 3 used to carry service x before the new transmission path 4 is added are regarded as existing paths, and transmission path 4 added after the new transmission path 4 is added is regarded as newly added path).
[0061] In addition, in the embodiments of the present application, "transmission path" is used to represent the path from the sending end to the receiving end corresponding to the service. "Link" is used to represent the link between adjacent nodes in the transmission network. In other words, a transmission path can be composed of one or more links.
[0062] In addition, it should be noted that, in actual application, the embodiment of the present application can determine the standard for judging the operating efficiency of the transmission network according to actual needs.
[0063] For example, in one application, the operating efficiency of a transmission network can be specifically reflected as the degree of congestion of the transmission network (wherein the "degree of congestion of the transmission network" can specifically be expressed as information such as the degree of congestion of each link in the transmission network and the number of congested links in the transmission network). For example, under the same conditions, when the degree of congestion of each link in the transmission network is high, it can be determined that the operating efficiency of the transmission network is low; conversely, when the degree of congestion of each link in the transmission network is low, it can be determined that the operating efficiency of the transmission network is high. For another example, under the same conditions, when the number of congested links in the transmission network is large, it can be determined that the operating efficiency of the transmission network is low; conversely, when the number of congested links in the transmission network is small, it can be determined that the operating efficiency of the transmission network is high.
[0064] Alternatively, in another application, the operating efficiency of the transmission network can be specifically reflected as the degree of dependence of the services in the transmission network on the newly added paths (wherein, "the degree of dependence of the services on the newly added paths" can be specifically expressed as the number of newly added paths corresponding to the services, the amount of traffic on the newly added paths corresponding to the services, and other information).
[0065] Exemplarily, when other conditions are the same, when the number of new paths corresponding to the services in the transmission network is large, it is determined that the operating efficiency of the transmission network is low; conversely, when the number of new paths corresponding to the services in the transmission network is small, it is determined that the operating efficiency of the transmission network is high; further exemplarily, when other conditions are the same, when the traffic on the new paths corresponding to the services in the transmission network is large, it is determined that the operating efficiency of the transmission network is low; conversely, when the traffic on the new paths corresponding to the services in the transmission network is small, it is determined that the operating efficiency of the transmission network is high.
[0066] Alternatively, in another application, the operational efficiency of a transport network can be specifically reflected by the degree of congestion in the transport network and the degree to which services in the transport network rely on newly added paths. In other words, the operational efficiency of a transport network can be determined by combining the degree of congestion in the transport network and the degree to which services in the transport network rely on newly added paths.
[0067] Alternatively, in another application, the operating efficiency of the transmission network may also be reflected by other information (e.g., whether the bandwidth requirements of each service are met, etc.) in addition to the degree of congestion in the transmission network and the degree of dependence of services in the transmission network on newly added paths. In actual application, the specific information content corresponding to the operating efficiency of the transmission network can be determined as needed, and this embodiment of the present application is not limited to this.
[0068] Regarding the problem of how to determine the transmission rate on each transmission path corresponding to the service to improve the operating efficiency of the transmission network, the embodiments of the present application take into account:
[0069] First, a model (hereinafter referred to as a "preset model" for ease of description) can be constructed. The preset model can be used to calculate the transmission rate on each transmission path corresponding to the service so that the operating efficiency of the transmission network meets the preset conditions.
[0070] In one implementation, when the transmission network's congestion level and the service's reliance on newly added paths are used as the basis for determining the transmission network's operational efficiency, the pre-set model may include an optimization objective corresponding to the transmission network's congestion level and the service's reliance on newly added paths. This optimization objective can then be used to calculate the transmission rate of each transmission path corresponding to the service, while minimizing the service's reliance on newly added paths and minimizing the service's reliance on newly added paths (that is, the pre-set condition may specifically be "minimizing the service's reliance on newly added paths and minimizing the service's reliance on newly added paths").
[0071] Specifically, in one possible design, the optimization objectives in the preset model may include:
[0072] Among them, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0073] in, It can be used to reflect the degree of dependence of business m on the newly added path. It can be used to reflect the congestion level of the transmission network. Therefore, using the preset model with Formula 2 as the optimization target, it is possible to calculate the transmission rate of each transmission path corresponding to the service while minimizing the service's dependence on the newly added path and making the service's dependence on the newly added path as low as possible.
[0074] In addition, considering that the total traffic of the link in the transmission network does not exceed the traffic upper limit corresponding to the link, the preset model also includes a first constraint condition for the link in the transmission network. Specifically, the first constraint condition may include:
[0075] Among them, α represents the congestion threshold, which can be a preset value in the application process, and b e represents the bandwidth capacity on link e, D represents the set of services in the transmission network, and p m represents the set of existing paths for service m, E mrepresents the set of links that service m passes through. In addition, It means that for each service in set D, the constraints of formula (4) are applicable to all links that the service passes through.
[0076] In addition, considering that the transmission network also needs to meet the bandwidth requirements of each service, the preset model also includes a second constraint condition for ensuring that the bandwidth requirements of the service are met. Specifically, the first constraint condition may include:
[0077] Among them, d m Indicates the bandwidth requirement of service m. In addition, It means that all services in set D are subject to the constraints of formula (5).
[0078] In addition, considering that the traffic volume of services on each transmission path in the transmission network is non-negative, and the congestion level of each link in the transmission network (which can be expressed as “δ e ” indicates) are all non-negative values. Therefore, the preset model can also include the following constraint conditions of formula (6):
[0079] In this way, by calculating the preset model composed of the above formulas (3), (4), (5) and (6), it is possible to obtain the transmission rate of each transmission path corresponding to the service while making the service's dependence on the newly added path as low as possible and making the service's dependence on the newly added path as low as possible.
[0080] In another possible design, in order to reduce the number of newly added paths corresponding to the service (thus saving the configuration overhead of adding transmission paths), the optimization objective in the preset model can be replaced by the following formula (7) instead of the above formula (3):
[0081] Among them, "p' in formula (7) m ”, “y mp ”, “M δ ” and “δ e The definition of " can refer to the description of formula (3), specifically: p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0082] In addition, c in formula (7) p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time.p The value of satisfies: where y * mp Indicates the actual transmission rate of service m on path p within the preset time. ε is a value greater than 0. ε is used to avoid The denominator is 0.
[0083] In this way, since in formula (7), c p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time, so p' m In the example, the c corresponding to the newly added path with high actual transmission rate is p The value of is small, and the c corresponding to the newly added path with low actual transmission rate p The value of is large, so that the newly added path with small traffic can correspond to "c p *y mp The value of " is relatively larger, so that in the process of solving the preset model, there is a certain probability that the newly added path with small traffic will be forced to 0 traffic (that is, the business no longer transmits data through the newly added path), which can achieve the purpose of reducing the number of newly added paths.
[0084] In addition, in the preset model with formula (7) as the optimization target, the contents of formulas (4)-(6) above can also be used as constraints. For the description of the constraints of the preset model with formula (7) as the optimization target, please refer to the corresponding contents of formulas (4)-(6) above, and the repeated contents will not be repeated here.
[0085] In the above implementation, the contents of formulas (3) to (7) are mainly used to exemplify the optimization objectives and constraints in the preset model when the congestion level of the existing transmission network and the degree of service dependence on the newly added path are used as the basis for judging the operating efficiency of the transmission network. In the specific implementation process, other information can also be used as the basis for judging the operating efficiency of the transmission network, and then the corresponding optimization objectives and constraints can be used to construct the preset model.
[0086] For example, when the degree of congestion of a transmission network is used to represent the operating efficiency of the transmission network, the preset model may include an optimization objective corresponding to the degree of congestion of the transmission network. This optimization objective can then be used to calculate the transmission rate of each transmission path corresponding to the service, while minimizing the degree of congestion of the transmission network (that is, the preset condition in this case can be specifically reflected as "minimizing the degree of congestion of the transmission network"). For another example, when the degree of dependence of a service on a newly added path is used to represent the operating efficiency of the transmission network, the preset model may include an optimization objective corresponding to the degree of dependence of the service on the newly added path. This optimization objective can then be used to calculate the transmission rate of each transmission path corresponding to the service, while minimizing the degree of dependence of the service on the newly added path (that is, the preset condition in this case can be specifically reflected as "minimizing the degree of dependence of the service on the newly added path").
[0087] The embodiments of the present application may not limit the specific contents of the optimization objectives and constraints that constitute the preset model.
[0088] Furthermore, when the above-mentioned preset model is constructed, in the communication method provided in the embodiment of the present application, the principle of column generation can be utilized to alternately solve a restricted linear problem (restricted linear program, RLP) and a sub-problem (integer program, IP) to obtain the solution to the original problem (linear program, LP).
[0089] Specifically, in an embodiment of the present application, solving the optimization objective of the aforementioned preset model can be formulated as an RLP problem, and finding a target path that satisfies a condition (the condition being that the transmission network's operating efficiency when using the target path to carry the service is higher than the transmission network's operating efficiency when carrying the service according to the calculation result of the RLP problem) can be formulated as an IP problem. Alternatively, the LP problem can be used to determine transmission paths suitable for the service and the transmission rates on each transmission path.
[0090] As shown in Figure 2, when calculating the LP problem (i.e., determining the transmission path suitable for the service and the transmission rate on each transmission path), the original problem can be first converted to an RLP problem. The RLP problem is then solved and the calculation result (i.e., the optimal multiplier) is obtained. Based on the calculation result (i.e., the optimal multiplier), the IP problem is then solved. If solving the IP problem yields a target path that meets the requirements (i.e., the optimal solution to the IP problem is negative), the target path is added to the input of the RLP problem and the RLP problem is recalculated (i.e., the target path is added to the transmission path corresponding to the service and the RLP problem is recalculated). If solving the IP problem fails to yield a target path that meets the requirements (i.e., the optimal solution to the IP problem is non-negative), the current solution to the RLP problem is the optimal solution to the original problem.
[0091] Using the above principles, in the communication method provided in the embodiment of the present application, after obtaining the transmission path (hereinafter referred to as the "first path set") currently corresponding to the service (hereinafter referred to as the "first service" for ease of distinction), the calculation result of the above-mentioned preset model (called the "first calculation result") can be obtained according to the first path set and the first calculation result can be executed, so that the first service is transmitted data according to the transmission rate on each transmission path in the first calculation result. In addition, after obtaining the first calculation result, the communication method also includes: searching for a target path outside the first path set corresponding to the first service, wherein the target path satisfies: when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result. Then, according to the second path set (that is, the path set including the first path set and the target path), the second calculation result of the preset model is obtained and the second calculation result is executed, so that the first service is transmitted data according to the transmission rate on each transmission path in the second calculation result.
[0092] In this way, in the above-mentioned communication method, on the one hand, since the first calculation result is calculated by the above-mentioned preset model, when the first service is transmitted according to the transmission rate on each transmission path in the first calculation result, the operating efficiency of the transmission network can be guaranteed (for example, it can be guaranteed that the congestion level is as low as possible during the data transmission process and the service's dependence on the newly added path is as low as possible). On the other hand, when adding a new transmission path, the principle of column generation is utilized to select a target path that meets the conditions (that is, when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result) as the newly added transmission path. Furthermore, after obtaining the second calculation result of the preset model based on the second path set (that is, the path set including the first path set and the target path), by executing the second calculation result, the operating efficiency of the transmission network after the newly added transmission path (that is, the target path) can be guaranteed.
[0093] In addition, in the communication method provided in the embodiment of the present application, after obtaining the second calculation result of the preset model, a target path that satisfies the condition (i.e., when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than when the second calculation result is used to carry the first service) can be searched again. This target path and the second path set are then combined into a third path set, and the third calculation result of the preset model is obtained based on the third path set. This process is repeated until no target path that satisfies the condition can be obtained by solving the IP problem (i.e., the optimal solution to the IP problem is non-negative), indicating that the solution to the current RLP problem is the optimal solution to the original problem.
[0094] The following is a detailed description of the technical solutions provided in the embodiments of the present application with reference to specific examples:
[0095] To facilitate understanding of the technical solutions provided by the embodiments of the present application, the application scenarios of the embodiments of the present application are first introduced by way of example. As shown in Figure 1, a schematic diagram of the structure of a transmission network provided by an embodiment of the present application is shown. Among them, the transmission network 10 includes a plurality of interconnected network devices (network devices 111-network devices 117 are used as an example in Figure 1). It can be understood that Figure 1 only exemplarily introduces a possible structure of the transmission network 10 to facilitate introduction to the technical solutions provided by the embodiments of the present application. In actual application, the transmission network may include more or fewer network devices, and the structure of the transmission network may also be more complex or simpler than the structure of the transmission network 10, which is not limited in the embodiments of the present application.
[0096] The network devices may be connected to each other via wired or wireless means to facilitate data transmission between the network devices. In practical applications, each network device may be a hardware device such as a server, switch, or router; alternatively, each network device may be understood as a software / hardware functional module within a server, switch, or router with a separate access address, in which case each network device may be understood as a transmission node within the transmission network. The embodiments of this application do not impose any restrictions on the hardware type of each network device.
[0097] In addition, the transmission network 10 also includes a controller 121 connected to one or more network devices. The controller 121 can determine the transmission rate of the service on each transmission path according to the method provided in the embodiment of the present application, and send a control message to the network device through the connection between the network device to enable the network device to perform the corresponding task (for example, enable the network device to forward data according to the determined transmission rate of the service on each transmission path). For example, the controller 121 can send a control message to one or more network devices directly connected to the controller 121 (such as network device 111, network device 112 and network device 115 in the figure) to control the network device to perform the corresponding task; in addition, the controller 121 can also control the network devices that are not directly connected to the controller 121 (such as other network devices other than network device 111, network device 112 and network device 115 in Figure 2) through the communication link between the network devices. It should be noted that the controller 121 in Figure 2 is only directly connected to the network device 111, the network device 112 and the network device 115 for example. In actual application, the controller 121 can also be connected to more or fewer network devices to control the network devices connected to the controller 121.
[0098] The communication method provided by the embodiment of the present application is described in detail below in conjunction with the transmission network 10 shown in Figure 1. Taking the service of forwarding data from network device 111 to network device 116 in Figure 1 (hereinafter referred to as the first service) as an example, as shown in Figure 3, the communication method may include:
[0099] S201 . A terminal-side device of a first service sends a bandwidth requirement of the first service to a controller 121 .
[0100] In actual application, the end-side device of the first service may be a sending end of the first service (ie, network device 111 ), a receiving end of the first service (ie, network device 116 ), or other devices for managing the first service.
[0101] Exemplarily, the bandwidth requirement of the first service may specifically include: the sending end identifier of the first service (such as the access address of the network device 111), the receiving end identifier of the first service (such as the access address of the network device 116), and the bandwidth required to transmit the data of the first service and other information.
[0102] S202 : The controller 121 determines an existing path corresponding to the first service according to the bandwidth requirement of the first service.
[0103] Specifically, after obtaining the bandwidth requirement of the first service, the controller 121 may allocate a transmission path for the first service (ie, an existing path corresponding to the first service) according to the bandwidth requirement of the first service.
[0104] In actual application, the existing paths corresponding to the first service may include one or more transmission paths. For ease of description, the existing paths corresponding to the first service are referred to as a path set L1.
[0105] S203 : The controller 121 obtains a calculation result a1 of a preset model according to the path set L1 corresponding to the first service.
[0106] The preset model is used to calculate the transmission rate on each transmission path corresponding to the service, so that the operating efficiency of the transmission network meets the preset conditions. Specifically, for the specific content of the preset model, please refer to the above description, and repeated content will not be repeated here.
[0107] For ease of understanding, the following text mainly uses the preset model composed of formula (7), formula (4), formula (5) and formula (6) as an example to introduce the implementation process of this communication method.
[0108] In the preset model composed of formula (7), formula (4), formula (5) and formula (6), "according to the path set L1 corresponding to the first service, the calculation result a1 of the preset model is obtained", which can be specifically understood as: when the path set L1 is used as the transmission path of the first service, the calculation result a1 in formula (7) is calculated. When the value of is as small as possible, the transmission rate of each service on each transmission path (ie, calculation result a1) is calculated. The calculation result a1 includes the transmission rate of the first service on each transmission path in the path set L1.
[0109] S204 , the controller 121 executes the calculation result a1 , so that each service performs data transmission according to the transmission rate of each transmission path in the calculation result a1 .
[0110] Specifically, the controller 121 may send the calculation result a1 to the end-side device of each service, so that the end-side device of each service forwards the data of the service according to the transmission rate of each transmission path in the calculation result a1.
[0111] In addition, during the data forwarding process, each service may also adjust the transmission rate according to relevant technical methods (for example, according to the above-mentioned DCTCP method) to adapt to sudden changes in traffic.
[0112] S205 : The controller 121 determines a target path f1 outside the path set L1 corresponding to the first service.
[0113] The target path f1 is a path that satisfies the following condition: when the target path f1 is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result.
[0114] In one implementation, S205 may specifically include:
[0115] S2051 : The controller 121 calculates the dual variable value of each link in the transmission network and the dual variable value of the first service in the preset model according to the calculation result a1 .
[0116] For example, taking the preset model composed of formula (7), formula (4), formula (5) and formula (6) as an example, when the first service corresponds to the path set L1, a set of y can be obtained by using a solver (such as the simplex method or the interior point method) mp and δ e The optimal solution (i.e., the calculated result a1) can be directly obtained from the solver (generally, the solver provides the getBasis() interface to obtain it). The basis set corresponding to this optimal solution is referred to as basis set B. Assuming the problem has N variables and M constraints, basis set B is a set of M variable numbers. For example, if the problem has a total of 200 variables and 100 constraints, then set B is an integer set containing 100 variable numbers. Each of these 100 variable numbers corresponds to a variable in the problem.
[0117] Then, the dual multiplier π of this problem can be obtained by the following formula (8):
[0118] Among them, C B is a vector consisting of the target coefficients of the variables corresponding to the basis set B (i.e., the coefficients of the variables in the optimization target, such as the coefficients of the variables in formula (7)), with a size of 1×M. It's A B The inverse matrix of A. B is a submatrix consisting of the columns of the constraint coefficient matrix of the variables corresponding to set B. The “constraint coefficient matrix” refers to the matrix consisting of the coefficients of the variables in each constraint in the pre-model, such as the matrix consisting of the coefficients of the variables in formula (4), formula (5), and formula (6).
[0119] The dual multiplier π is the result of vector and matrix multiplication, so the size of the dual multiplier π is 1×M. Then, we can use the first |∪ m∈D E m | elements, representing the dual variable values of each link in the transmission network {q e}; Use the last |D| elements of the dual multiplier π to represent the dual variable values of each service in the transmission network {q m}(which includes the dual variable value of the first business).
[0120] S2052: The controller 121 determines a target path f1 outside the path set L1 corresponding to the first service according to the dual variable value of the link in the transmission network and the dual variable value of the first service.
[0121] The target path f1 is a transmission path where the sum of the dual variable values of the links on the path is the smallest, and the sum of the dual variable values of the links on the path is less than the dual variable value of the first service.
[0122] In one implementation, after the controller 121 obtains the dual variable values of each link in the transmission network and the dual variable values of each service through the process of S2051, it can send the dual variable values of each link in the transmission network and the dual variable values of each service to the end-side device of each service, so that the end-side device of the service can determine the target path f1 based on the dual variable values of the links in the transmission network and the dual variable values of the first service. This can reduce the load of the controller 121 and improve computing efficiency. Therefore, S2052 can specifically include:
[0123] The controller sends the dual variable value of the link in the transmission network and the dual variable value of the first service to the end-side device, and receives the target path f1 from the end-side device.
[0124] Specifically, the end-side device may determine the target path f1 that meets the above requirements based on the locally stored topological adjacency relationship of the transmission network, the dual variable values of each link in the transmission network, and the dual variable value of the first service.
[0125] The topological adjacency relationship of the transmission network may be sent by the controller 121 to the end-side device. In this embodiment of the present application, the topological adjacency relationship may be stored or transmitted using the structure "{(src_node_id, dst_node_id, 1 / 0)}." Here, "src_node_id" represents the source node identifier, "dst_node_id" represents the sink node identifier, and "1 / 0" represents a direct or indirect connection.
[0126] The calculation result a1, topological adjacency, and dual variable value sent by the controller 121 to the end-side device can be carried in the "option" field in the IPv6 packet header and sent to the end-side device. For example, FIG4 is a schematic diagram of the structure of the IPv6 packet header.
[0127] S206 : The controller 121 obtains a calculation result a2 of a preset model according to the path set L2 corresponding to the first service.
[0128] The path set L2 includes the transmission paths and the target path f1 in the path set L1.
[0129] Take the preset model composed of formula (7), formula (4), formula (5) and formula (6) as an example: On the one hand, as mentioned above, since each service can adjust the transmission rate according to the relevant technology (for example, according to the above DCTCP method) during the data forwarding process, the actual transmission rate y of the service in each transmission path is * mp and the transmission rate y in the calculation results of the preset model mp Therefore, the end-side device of the service can calculate the actual transmission rate y on each transmission path corresponding to the service in the preset time period. * mp The data is sent to the controller 121 so that the controller 121 can calculate the actual transmission rate y on each transmission path corresponding to the service in the preset time period. * mp , calculate c in formula (7) p .
[0130] Therefore, the method may further include:
[0131] The controller 121 receives the actual transmission rate y on each transmission path corresponding to the service within the preset time period sent by the terminal side device. * mp .
[0132] The actual transmission rate y on each transmission path corresponding to the service within the preset time period sent by the terminal side device to the controller 121 is * mp The target path f1 sent by the end-side device to the controller 121 in S2052 may be carried in the "option" field in the header of the IPv6 data packet.
[0133] Furthermore, S206 may specifically include: the controller 121 performs a control based on the path set L2 corresponding to the first service and the actual transmission rate y on each transmission path corresponding to the service in the preset time period. * mp , and obtain the calculation result a2 of the preset model.
[0134] S207 : The controller 121 executes the calculation result a2 so that each service performs data transmission according to the transmission rate of each transmission path in the calculation result a2 .
[0135] Specifically, the controller 121 may send the calculation result a2 to the end-side device of each service, so that the end-side device of each service forwards the data of the service according to the transmission rate of each transmission path in the calculation result a2.
[0136] In addition, during the data forwarding process, each service may also adjust the transmission rate according to relevant technical methods (for example, according to the above-mentioned DCTCP method) to adapt to sudden changes in traffic.
[0137] S208 : The controller 121 determines a target path f2 outside the path set L2 corresponding to the first service.
[0138] The target path f2 is a path that satisfies the following condition: when the target path f2 is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the second calculation result.
[0139] In one implementation, similar to S205 above, S209 may specifically include:
[0140] S2081: The controller 121 calculates the dual variable value of each link in the transmission network and the dual variable value of the first service in the preset model according to the calculation result a2.
[0141] S2082: The controller 121 determines a target path f2 outside the path set L2 corresponding to the first service according to the dual variable value of the link in the transmission network and the dual variable value of the first service.
[0142] Among them, for the specific implementation process of S2081 and S2082, please refer to the contents of S2051 and S2052 above.
[0143] S209 : The controller 121 obtains a calculation result a3 of a preset model according to the path set L3 corresponding to the first service.
[0144] The path set L3 includes the transmission paths in the path set L2 and the target path f2.
[0145] For the specific implementation process of S209, reference may be made to the content of S206 above.
[0146] S210 , the controller 121 executes the calculation result a3 , so that each service performs data transmission according to the transmission rate of each transmission path in the calculation result a3 .
[0147] Specifically, the controller 121 may send the calculation result a3 to the end-side device of each service, so that the end-side device of each service forwards the data of the service according to the transmission rate of each transmission path in the calculation result a3.
[0148] In addition, during the data forwarding process, each service may also adjust the transmission rate according to relevant technical methods (for example, according to the above-mentioned DCTCP method) to adapt to sudden changes in traffic.
[0149] After S210, the method may continue to alternately solve the RLP problem (i.e., solve the preset model) and the IP problem (i.e., solve the target path) until the first service stream transmission ends, or until the optimal solution to the IP problem becomes non-negative (i.e., no target path that meets the conditions can be found). The process of solving the RLP problem can refer to the corresponding contents of S203, S206, and S209 above; the process of solving the IP problem can refer to the corresponding contents of S205 and S208 above.
[0150] The following is an introduction to the effects achieved by the above-mentioned communication method provided in the embodiment of the present application in combination with actual application scenarios. Specifically, 8 transmission networks are taken as an example in the embodiment of the present application. Among them, the number of nodes, the number of links, and the number of services included in the 8 transmission networks are shown in the first, second, and third columns of Table 1 and Table 2 below. In addition, Table 1 also shows the number of newly added paths corresponding to the service and the time consumed for solution when the communication method provided in the embodiment of the present application is not applied; Table 2 shows the number of newly added paths corresponding to the service and the time consumed for solution when the communication method provided in the embodiment of the present application is applied.
[0151] Table 1
[0152] Table 2
[0153] It can be seen that after applying the communication method provided in the embodiments of the present application, the number of newly added paths and the time consumed for solution for each transmission network have decreased, with the effect being particularly significant in transmission network 7. In transmission network 7, the number of newly added paths was reduced from 131 to 120, and the solution time was reduced from 45.3s to 9.98s. This shows that the communication method provided in the embodiments of the present application can effectively reduce the number of newly added paths while reducing congestion.
[0154] It is understood that in order to implement the above embodiments, the controller 121 includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily appreciate that, in conjunction with the units and method steps of each example described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a manner driven by computer software depends on the specific application scenario and design constraints of the technical solution.
[0155] As shown in Figure 5, which is a schematic diagram of the structure of a communication device provided by the present application, the communication device 30 can be used to implement the functions of the steps executed by the controller 121 described in Figures 1 or 3 above, and thus can also achieve the beneficial effects of the above method embodiments.
[0156] As shown in FIG5 , the communication device 30 includes an acquiring unit 301 and a processing unit 302 .
[0157] The acquiring unit 301 is configured to acquire a first path set corresponding to a first service, wherein the first path set includes at least one transmission path for carrying the first service.
[0158] Processing unit 302 is used to obtain a first calculation result of a preset model based on the first path set; the first calculation result includes the transmission rate of the first service on each transmission path in the first path set; the preset model is used to calculate the transmission rate on each transmission path corresponding to the service so that the operating efficiency of the transmission network meets the preset conditions.
[0159] The processing unit 302 is further configured to execute the first calculation result. The processing unit is further configured to determine a target path outside the first path set corresponding to the first service; wherein, when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result.
[0160] The processing unit 302 is further configured to obtain a second calculation result of the preset model based on the second path set; the second path set includes the first path set and the target path; the second calculation result includes the transmission rate of each transmission path of the first service in the second path set.
[0161] The processing unit 302 is further configured to execute the second calculation result.
[0162] In one implementation, the operation efficiency of the transmission network meets preset conditions, including: the congestion level of the transmission network and the dependence of services on the transmission network on the newly added path meet preset conditions.
[0163] In one implementation, the preset model includes an optimization goal of minimizing the congestion of the transmission network and minimizing the dependence of services on the transmission network on newly added paths; the preset model also includes: a first constraint condition corresponding to the link in the transmission network, the first constraint condition is used to ensure that the total traffic of the link in the transmission network does not exceed the traffic upper limit corresponding to the link, and a second constraint condition corresponding to the service in the transmission network, the second constraint condition is used to ensure that the bandwidth demand of the service is met.
[0164] In one implementation, the processing unit 302 is further configured to determine a target path outside the first path set corresponding to the first service, including:
[0165] The processing unit 302 is further configured to calculate, according to the first calculation result, a dual variable value of a link in the transmission network and a dual variable value of the first service in the preset model.
[0166] The processing unit 302 is further used to determine a target path outside the first path set corresponding to the first service based on the dual variable values of the links in the transmission network and the dual variable values of the first service; the target path is a transmission path in which the sum of the dual variable values of the links on the path is the smallest, and the sum of the dual variable values of the links on the path is less than the dual variable value of the first service.
[0167] In one implementation, the processing unit 302 is further configured to determine, based on the dual variable value of the link in the transmission network and the dual variable value of the first service, a target path outside the first path set corresponding to the first service, including:
[0168] The processing unit 302 is further configured to send the dual variable value of the link in the transmission network and the dual variable value of the first service to the end-side device of the first service, and receive a target path from the end-side device.
[0169] In one implementation, the optimization objective includes the following formula 1:
[0170] Among them, c p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0171] In one implementation, the optimization objective includes the following formula 2:
[0172] Among them, p' m represents the set of new paths for service m, y mp Indicates the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the ratio of the traffic exceeding the congestion threshold on link e to the total traffic on link e.
[0173] In one implementation, the first constraint includes:
[0174] Among them, α represents the congestion threshold, b e represents the bandwidth capacity on link e, D represents the set of services in the transmission network, and p m represents the set of existing paths for service m, E m Represents the set of links that service m passes through.
[0175] In one implementation, the second constraint includes:
[0176] Among them, d m Indicates the bandwidth requirement of service m.
[0177] For a more detailed description of the acquisition unit 301 and the processing unit 302 , please refer to the relevant description in the method embodiments shown in FIG. 1 to FIG. 3 , which will not be repeated here.
[0178] Figure 6 is a schematic diagram of the structure of another communication device provided in this embodiment. The communication device 40 may be a chip or system-on-chip. Furthermore, the communication device 40 may include all or part of the hardware in a desktop computer, tablet computer, desktop, laptop, handheld computer, notebook computer, ultra-mobile personal computer, netbook, as well as a cellular phone, personal digital assistant, augmented reality / virtual reality device, or other device capable of performing anomaly detection.
[0179] The communication device 40 may include: a processor 401 , a communication line 402 , a memory 403 , and part or all of at least one communication interface 404 .
[0180] The processor 401 is configured to execute all or part of the steps executed by the controller 121 in the method provided in FIG. 1 and FIG. 3 of this embodiment.
[0181] Specifically, the processor 401 may include a general-purpose central processing unit (CPU), and the processor 401 may also include a microprocessor, a field programmable gate array (FPGA), a digital signal processor (DSP) or an application-specific integrated circuit (ASIC), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0182] In a specific implementation, as an embodiment, the processor 401 may include one or more CPUs, such as CPU0 and CPU1 in FIG6 .
[0183] In a specific implementation, as an embodiment, apparatus 40 may include multiple processors, such as processor 401 and processor 408 in FIG6 . Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing, for example, computer data (computer program instructions).
[0184] In addition, the memory 403 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM). Memory 403 can be independent and connected to processor 401 via communication line 402. Memory 403 can also be integrated with processor 401.
[0185] Memory 403 stores computer instructions. Processor 401 can execute all or part of the steps in the method provided in this embodiment by executing the computer instructions stored in memory 403. As shown in FIG6 , the computer instructions stored in memory 403 can include software modules for implementing the functions of the acquisition unit 301 and processing unit 302 described above. Processor 401 can execute the method provided in this embodiment by executing the computer instructions stored in memory 403.
[0186] Optionally, the computer-executable instructions in this embodiment may also be referred to as application code, which is not specifically limited in this embodiment.
[0187] In addition, the communication interface 404 uses any transceiver or other device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.
[0188] In addition, the communication line 402 is used to connect the various components in the communication device 40. Specifically, the communication line 402 may include a data bus, a power bus, a control bus, and a status signal bus, etc. However, for the sake of clarity, various buses are labeled as communication lines 402 in the figure.
[0189] In a specific implementation, as an embodiment, the data processing device 40 may further include an output device 407 and an input device 406. The output device 407 may communicate with the processor 401 and may display information in a variety of ways. For example, the output device 407 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 406 may communicate with the processor 401 and may receive user input in a variety of ways. For example, the input device 406 may be a mouse, a keyboard, a touch screen device, or a sensor device.
[0190] In addition, the communication device 40 may further include a storage medium 405. The storage medium 405 is used to store computer instructions and various data for implementing the technical solution of this embodiment. When the communication device 40 executes the above-mentioned method of this embodiment, the computer instructions and various data stored in the storage medium 405 are loaded into the memory 403, so that the processor 401 can execute the computer instructions stored in the memory 403 to perform the method provided by this embodiment.
[0191] The method steps in this embodiment can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in RAM, flash memory, ROM, PROM, EPROM, EEPROM, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a communication device. Of course, the processor and storage medium can also exist in the communication device as discrete components.
[0192] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in this embodiment are performed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a communication device, a user device, or other programmable device. The computer program or instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions may be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; an optical medium, such as a digital video disc (DVD); or a semiconductor medium, such as an SSD.
[0193] In this embodiment, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different implementations are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form a new embodiment based on their internal logical relationships.
[0194] In this embodiment, "at least one" means one or more, "more than one" means two or more, and other quantifiers are similar. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, for elements (element) in the singular form "a", "an" and "the", unless the context clearly stipulates otherwise, it does not mean "one or only one", but means "one or more than one". For example, "a device" means one or more such devices. Furthermore, at least one (at least one of)..." means one or any combination of the subsequent associated objects, for example, "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC. In the text description of this embodiment, the character " / " generally indicates that the previous and next associated objects are in an "or" relationship; in the formula of this embodiment, the character " / " indicates that the previous and next associated objects are in a "division" relationship.
Claims
1. A communication method, characterized in that: Controllers used in transmission networks include: Acquire a first path set corresponding to a first service; the first path set includes at least one transmission path for carrying the first service; According to the first path set, a first calculation result of a preset model is obtained; the first calculation result includes a transmission rate of the first service on each transmission path in the first path set; the preset model is used to calculate the transmission rate on each transmission path corresponding to the service, so that the operation efficiency of the transmission network meets the preset conditions; executing the first calculation result; Determine a target path outside the first path set corresponding to the first service; wherein, when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result; According to the second path set, a second calculation result of the preset model is obtained; the second path set includes the first path set and the target path; the second calculation result includes the transmission rate of each transmission path of the first service in the second path set; The second calculation result is executed.
2. The method according to claim 1, characterized in that: The operation efficiency of the transmission network meets preset conditions, including: the congestion level of the transmission network and the dependence level of services on the transmission network on the newly added path meet preset conditions.
3. The method according to claim 2, characterized in that The preset model includes optimization objectives of minimizing the congestion of the transmission network and minimizing the dependence of services on the transmission network on newly added paths; The preset model also includes: a first constraint condition corresponding to the link in the transmission network, the first constraint condition is used to ensure that the total traffic of the link in the transmission network does not exceed the traffic upper limit corresponding to the link, and a second constraint condition corresponding to the service in the transmission network, the second constraint condition is used to meet the bandwidth requirements of the service.
4. The method according to claim 3, characterized in that The determining a target path outside the first path set corresponding to the first service includes: Calculate, according to the first calculation result, a dual variable value of a link in the transmission network and a dual variable value of the first service in the preset model; According to the dual variable values of the links in the transmission network and the dual variable values of the first service, a target path outside the first path set corresponding to the first service is determined; the target path is a transmission path in which the sum of the dual variable values of the links on the path is smaller than the dual variable value of the first service, and the sum of the dual variable values of the links on the path is the smallest.
5. The method according to claim 4, characterized in that The determining, according to the dual variable value of the link in the transmission network and the dual variable value of the first service, a target path outside the first path set corresponding to the first service, comprises: The dual variable value of the link in the transmission network and the dual variable value of the first service are sent to an end-side device of the first service, and the target path of the end-side device is received.
6. The method according to any one of claims 3 to 5, characterized in that: The optimization objective includes the following formula 1: Among them, c p The value of is negatively correlated with the actual transmission rate of service m on path p within the preset time, p' m represents the set of newly added paths for service m, y mp represents the transmission rate of service m on path p, M δ is the preset parameter, δ e It indicates the proportion of the traffic on link e that exceeds the congestion threshold in the total traffic on link e.
7. The method according to any one of claims 3 to 5, characterized in that: The optimization objective includes the following formula 2: Among them, p' m represents the set of newly added paths for service m, y mp represents the transmission rate of service m on path p, M δ For preset parameters Number, δ e It indicates the proportion of the traffic on link e that exceeds the congestion threshold in the total traffic on link e.
8. The method according to claim 6 or 7, characterized in that: The first constraint condition includes: Among them, α represents the congestion threshold, b e represents the bandwidth capacity on link e, D represents the set of services in the transmission network, and p m represents the set of existing paths of service m, E m Represents the set of links that service m passes through.
9. The method according to any one of claims 6 to 8, characterized in that: The second constraint condition includes: Among them, d m Indicates the bandwidth requirement of service m.
10. A communication device, characterized in that: Controllers used in transmission networks include: An acquisition unit, configured to acquire a first path set corresponding to a first service; the first path set includes at least one transmission path for carrying the first service; a processing unit, configured to obtain a first calculation result of a preset model according to the first path set; the first calculation result includes a transmission rate of the first service on each transmission path in the first path set; the preset model is used to calculate the transmission rate on each transmission path corresponding to the service, so that the operation efficiency of the transmission network meets a preset condition; The processing unit is further used to execute the first calculation result; The processing unit is further configured to determine a target path outside the first path set corresponding to the first service; wherein, when the target path is used to carry the first service, the operating efficiency of the transmission network is higher than the operating efficiency of the transmission network when the first service is carried according to the first calculation result; The processing unit is further configured to obtain a second calculation result of the preset model according to a second path set; the second path set includes the first path set and the target path; the second calculation result includes a transmission rate of the first service on each transmission path in the second path set; The processing unit is further used to execute the second calculation result.
11. A communication device, characterized in that: The system comprises a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and execute the computer instructions from the memory to implement the method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed on a processor, the method according to any one of claims 1 to 9 is implemented.
13. A computer program product, characterized in that The computer program product comprises instructions which, when executed on a processor, implement the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Route computing method, device and system
CN113411688A
Transmission path adjustment method, storage medium and electronic device
CN116032843A
Service path calculation method, electronic equipment and computer readable storage medium
CN116094980A
Network path prediction and selection using machine learning
US20180359172A1
Reliability enhancements for multi-access traffic management
US20220109622A1