Flow transmission control method based on distributed cloud and related device and system
By grouping traffic metadata on the central node and generating bandwidth allocation data, the problem of poor cross-node traffic transmission stability in distributed cloud scenarios is solved, and effective control of data traffic on edge nodes and improved transmission stability is achieved.
Patent Information
- Application Number
- CN202311563804.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-21
- Publication Date
- 2025-05-23
AI Technical Summary
The poor stability of cross-node traffic transmission in existing distributed cloud scenarios leads to easy congestion in transmission channels and the inability to transmit important data in time.
The central node performs traffic packet processing on the traffic metadata of different business scenarios, generates bandwidth allocation data, and sends it to the edge node, so that the edge node can control the data traffic transmitted to the central node based on the bandwidth allocation data.
It effectively solves the poor stability of cross-node traffic transmission in distributed cloud scenarios, avoids transmission channel congestion, and ensures timely transmission of important data.
Smart Images

Figure CN120034534A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a distributed cloud-based traffic transmission control method and related devices and systems. Background Art
[0002] Distributed cloud is an extension of the central cloud capabilities, aiming to provide ubiquitous cloud computing services to meet the needs of nearby access such as edge data processing and real-time computing. Compared with the central cloud, the use of any location and flexible application scenarios determine the characteristics of distributed cloud, which is lightweight and compact. Compared with the high-bandwidth dedicated line interconnection between central cloud nodes, distributed cloud nodes are interconnected through the public network at a lower cost, and bandwidth resources can be purchased on demand to meet the needs of most nodes. However, the disadvantages of public network interconnection are also obvious. Due to the small bandwidth limit, burst traffic can easily lead to congestion of the transmission channel, and the data traffic of each system in the cloud node will randomly occupy limited bandwidth resources, which can easily lead to the failure of important data to be transmitted in time.
[0003] Therefore, it is urgent to solve the technical problem of poor stability of cross-node traffic transmission in existing distributed cloud scenarios. Summary of the invention
[0004] To solve the above technical problems, the embodiments of the present application provide a distributed cloud-based traffic transmission control method and device, an electronic device, a computer-readable storage medium, and a computer program product.
[0005] One aspect of an embodiment of the present application provides a traffic transmission control method based on a distributed cloud, which is executed by a central node, and includes: in response to a traffic transmission management request for an edge node, obtaining multiple traffic metadata, different traffic metadata corresponding to different data transmission scenarios; performing traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups; determining bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, the bandwidth allocation data including a maximum bandwidth of the group and a minimum bandwidth of the group; generating a traffic transmission control instruction according to the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and sending the traffic transmission control instruction to the edge node, so that the edge node controls the data traffic transmitted to the central node by executing the traffic transmission control instruction.
[0006] Another aspect of the embodiments of the present application provides a traffic transmission control device based on a distributed cloud. The device is deployed on a central node and includes: a metadata acquisition module configured to acquire a plurality of traffic metadata in response to a traffic transmission management request for an edge node, where different traffic metadata corresponds to different data transmission scenarios; a traffic grouping module configured to perform traffic grouping processing on the plurality of traffic metadata to obtain a plurality of traffic groups; a bandwidth allocation module configured to determine bandwidth allocation data corresponding to each traffic group according to the upper bandwidth limit value of the edge node, where the bandwidth allocation data includes a maximum group bandwidth and a minimum group bandwidth; a transmission control module configured to generate a traffic transmission control instruction according to the plurality of traffic groups and the bandwidth allocation data respectively corresponding to each traffic group, and send the traffic transmission control instruction to the edge node, so that the edge node controls the data traffic transmitted to the central node by executing the traffic transmission control instruction.
[0007] Another aspect of the embodiments of the present application also provides another traffic transmission control method based on a distributed cloud. The method is executed by an edge node and includes: receiving a traffic transmission control instruction sent by a central node, where the traffic transmission control instruction contains bandwidth allocation data respectively corresponding to a plurality of traffic groups, and the bandwidth allocation data includes a maximum group bandwidth and a minimum group bandwidth; in response to the traffic transmission control instruction, transmitting the data traffic required by each traffic group to the central node according to the minimum group bandwidth corresponding to each traffic group; and performing speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node and based on the minimum group bandwidth and the maximum group bandwidth corresponding to each traffic group.
[0008] Another aspect of the embodiments of the present application also provides another traffic transmission control device based on a distributed cloud. The device is deployed on an edge node and includes: a control instruction receiving module configured to receive a traffic transmission control instruction sent by a central node, where the traffic transmission control instruction contains bandwidth allocation data respectively corresponding to a plurality of traffic groups, and the bandwidth allocation data includes a maximum group bandwidth and a minimum group bandwidth; an initial transmission module configured to transmit the data traffic required by each traffic group to the central node according to the minimum group bandwidth corresponding to each traffic group in response to the traffic transmission control instruction; and a speed limit implementation module configured to perform speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node and based on the minimum group bandwidth and the maximum group bandwidth corresponding to each traffic group.
[0009] Another aspect of the embodiment of the present application further provides another distributed cloud-based traffic transmission control system, including a central node and an edge node, wherein a metadata management module and a gateway controller are deployed on the central node, and a speed limit implementation module is deployed on the edge node, wherein: the metadata management module responds to a traffic transmission management request for the edge node, obtains multiple traffic metadata, performs traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups, and determines bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, wherein the bandwidth allocation data includes a maximum bandwidth of the group and a minimum bandwidth of the group; the gateway controller generates a traffic transmission control instruction according to the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and sends the traffic transmission control instruction to the speed limit implementation module; the speed limit implementation module responds to the traffic transmission control instruction, transmits the data traffic required by each traffic group to the central node according to the minimum bandwidth of the group corresponding to each traffic group, and implements speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum bandwidth of the group and the maximum bandwidth of the group corresponding to each traffic group.
[0010] Another aspect of an embodiment of the present application provides an electronic device, comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the electronic device implements the steps in the distributed cloud-based traffic transmission control method as described above.
[0011] Another aspect of an embodiment of the present application provides a computer-readable storage medium having computer-readable instructions stored thereon. When the computer-readable instructions are executed by a processor of a computer, the computer executes the steps in the distributed cloud-based traffic transmission control method as described above.
[0012] Another aspect of an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the steps in the distributed cloud-based traffic transmission control method as described above.
[0013] In the technical solution provided in the embodiment of the present application, the central node performs traffic grouping processing on the traffic metadata of different business scenarios to realize pre-grouping of business traffic, and then determines the bandwidth allocation data of each traffic group according to the bandwidth upper limit value of the edge node, and sends the bandwidth allocation data to the edge node, so that the edge controls the business traffic transmitted to the central node based on the bandwidth allocation data. Therefore, the present application can solve the problem of poor stability of cross-node traffic transmission in existing distributed cloud scenarios by generating traffic transmission control instructions for different traffic groups on the central node and executing specific traffic transmission control on the edge node in response to the traffic transmission control instructions.
[0014] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a schematic diagram of the framework for cross-node traffic transmission in a distributed cloud scenario proposed in this application;
[0016] Figure 2 yes Figure 1 A schematic diagram of the processing flow of the metadata management module in the illustrated framework;
[0017] Figure 3 yes Figure 1 A schematic diagram of the processing flow of the speed limit implementation module in the illustrated framework;
[0018] Figure 4 is a flow chart of a distributed cloud-based traffic transmission control method shown in an exemplary embodiment of the present application;
[0019] Figure 5 is a flow chart of a distributed cloud-based traffic transmission control method shown in another exemplary embodiment of the present application;
[0020] Figure 6 It is a flow diagram of the edge node proposed in the present application, which increases the transmission bandwidth corresponding to each flow group in turn according to the priority of each flow group;
[0021] Figure 7 is a block diagram of a distributed cloud-based traffic transmission control device shown in an exemplary embodiment of the present application;
[0022] Figure 8 is a block diagram of a distributed cloud-based traffic transmission control device shown in another exemplary embodiment of the present application;
[0023] Fig. 9 A schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application is shown. DETAILED DESCRIPTION
[0024] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.
[0025] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0026] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0027] The term "multiple" as used in this application refers to two or more than two. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.
[0028] The terms "first", "second", "third" and "fourth" etc. in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. The terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units inherent to these processes, methods, products or devices.
[0029] In today's era of rapid development of information technology, cloud technology has been widely used. It can be understood that cloud technology refers to a hosting technology that unifies hardware, software, network and other resources in a wide area network or local area network to achieve data calculation, storage, processing and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool that can be used on demand and is flexible and convenient. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.
[0030] Cloud computing is a computing model that distributes computing tasks across a large number of computer resource pools, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called a "cloud". From the user's perspective, the resources in the "cloud" are infinitely scalable and can be accessed at any time, used on demand, expanded at any time, and paid for as needed.
[0031] In the field of cloud computing, distributed cloud is an important architectural model that allows decentralized deployment and management of resources to achieve high availability, scalability, and elastic service provision. Specifically, distributed cloud is an architectural model based on the concept of distributed computing and cloud computing, which distributes computing, storage, and network resources on different physical or virtual nodes and works together through the network to provide high performance, high availability, and high scalability services.
[0032] In daily use, due to the functional and resource limitations of a single distributed cloud node, data transmission across cloud nodes is almost ubiquitous.
[0033] However, the existing cross-cloud node database transmission solution also has the following problems:
[0034] First, channel congestion is likely to occur
[0035] The lack of bandwidth redundancy at edge nodes has become a bottleneck for cross-node data transmission. In addition, there are many systems in cloud nodes, and large-volume transmission needs may occur at any time. Large-volume transmission tasks initiated by multiple systems at the same time will exhaust bandwidth resources and cause channel congestion, leading to a series of problems such as the inability to issue control commands and loss of connection with cloud nodes. The reliability of cloud services is reduced, thus affecting customer business.
[0036] Second, disorderly competition for bandwidth resources
[0037] In the existing distributed cloud cross-node traffic transmission solution, important traffic with higher priority, such as "customer business" and "high availability management", is mixed with unimportant traffic with lower priority, such as "node upgrade" and "file pull". The two compete with each other to grab the limited bandwidth resources of edge nodes. Although in most cases the traffic demand is not large, these two types of traffic transmission can be used in staggered periods without interfering with each other. However, in scenarios with large traffic demand, due to the lack of an effective management mechanism and random bandwidth allocation, important traffic may not be transmitted in a timely and effective manner, resulting in a product experience that does not meet expectations.
[0038] To solve the above problems, the technical solution of this application proposes to manage and control the public network bandwidth of the edge nodes to avoid traffic out of control, thereby effectively improving the stability of cross-node traffic transmission in distributed cloud scenarios and improving product experience.
[0039] First see Figure 1 , Figure 1 This is a schematic diagram of the framework for cross-node traffic transmission in a distributed cloud scenario proposed in this application. Figure 1 It can be seen that a complete cross-node traffic transmission link consists of three parts: edge node sending, public network speed-limited transmission, and central node processing. This application also sets up a metadata management module and a gateway controller at the central node, and a speed-limited implementation module at the edge node. These functional modules are used to achieve traffic classification, optimize traffic transmission between cloud nodes, and improve system stability.
[0040] Below Figure 1 The framework content shown is introduced as follows:
[0041] Edge node transmission means that data traffic is first sent from the internal system of the edge node, passes through the virtual router, and routes the data to any gateway according to the traffic five-tuple information (source IP, destination IP, source port, destination port, communication protocol). After the gateway receives the data, it completes data encryption, compression and other operations in turn, and finally delivers the data to the public Internet. The internal systems of edge nodes are numerous. Generally, there are thousands of internal systems inside edge nodes. Each system may initiate a transmission request at any time. Therefore, overall, the traffic demand of edge nodes has great uncertainty.
[0042] Public network speed-limited transmission means that the public network transmission capacity is provided by the public network operator, and the operator's bandwidth resources need to be purchased in advance. Due to cost constraints, the public network bandwidth of edge nodes is generally low (about 50-100 mbps). The data delivered to the public network by the traffic gateway is speed-limited by the operator, and some data packets are discarded and some are transmitted normally. The public network bandwidth resources of the central node are relatively sufficient (about 10Gbps), and all arriving data can be received. Therefore, from the inequality of resources on both sides of the central node and the edge node, it can be seen that the bottleneck of the entire transmission system is the public network bandwidth of the edge node.
[0043] Central node processing means that after the public network transmission is completed, the data is received by the high-performance gateway of the central node. The gateway completes the decompression and decryption of the data in turn to obtain the original data. According to the different destination IP and port in the data, the data is sent to different background system modules respectively. Each background system module sends back the data according to the processing results, or ends the entire transmission process.
[0044] The metadata management module is responsible for managing the basic information of the traffic transmitted between cloud nodes. The processing flow of the metadata management module is as follows: Figure 2 As shown, the metadata management module serves as the system management entrance, provides the function of entering traffic metadata, and persists the entered traffic metadata in the database. When it is necessary to manage a certain edge node, the system loads the traffic metadata from the database, and combines the traffic control factors to group and sort the traffic, obtain traffic groups sorted by priority, and then sets the bandwidth limit of each traffic group according to the bandwidth limit of the edge node, thereby obtaining the group control information of the traffic group. Finally, the group control information is encapsulated into a control command and sent to the speed limit implementation module on the edge node. It should be noted that since the speed limit implementation module is deployed on the traffic gateway of the edge node, Figure 2 It indicates that the control command is sent to the traffic gateway.
[0045] It should be understood that the traffic metadata mentioned in this application refers to the information set necessary for traffic transmission control, such as routing information, traffic control factors, and the upper bandwidth limit supported by each edge node. Routing information is, for example, the aforementioned traffic quintuple information, namely, source IP, destination IP, source port, destination port, and communication protocol. The upper bandwidth limit supported by each edge node is also the maximum bandwidth supported by each edge node.
[0046] The flow control factor is a factor related to the data flow transmission control strategy, and each routing information corresponds to its own flow control factor. For example, to ensure the stability of the data transmission system, high-priority traffic should be transmitted first, so the priority can be used as a flow control factor; for another example, the importance of the flow transmission operation triggered by the customer in the system should be higher than the importance of the flow transmission operation automatically triggered by the system, so the operation source can also be used as a flow control factor. Exemplarily, the flow control factors include priority, timeliness level, operation source, expected bandwidth, etc.
[0047] The gateway controller is responsible for managing the entire life cycle of the edge node traffic gateway. The gateway controller is directly connected to the edge node traffic gateway, receives control commands from the metadata management module, and sends control commands to the speed limit implementation module. The gateway controller maintains heartbeat alarms with the edge node, provides alarm capabilities, and ensures the availability of the edge gateway speed limit module.
[0048] The speed limit implementation module is responsible for executing the group speed limit control command. The processing flow of the speed limit implementation module is as follows: Figure 3 The speed limit implementation module is deployed on the traffic gateway of the edge node. Figure 3 It can be seen that when the speed limit implementation module is working, it receives the control commands issued by the gateway controller, executes the speed limit logic, and also regularly detects the congestion status of the transmission channel, and dynamically adjusts the speed limit upper limit of the traffic group according to the congestion status. The overall speed limit control strategy of the speed limit implementation module can be summarized as increasing the speed limit upper limit under low load to improve overall efficiency; reducing the upper limit of low-priority traffic under high load to avoid congestion and improve the efficiency of important data transmission, thereby achieving overall stability of traffic transmission across cloud nodes.
[0049] It should be noted that Figure 2 The detailed process of traffic grouping and group rate limiting involved in Figure 3 For the specific content of the overall speed limit implementation strategy involved, please refer to the relevant records in the subsequent method embodiments and will not be repeated here.
[0050] See also Figure 4 , Figure 4 is a flow chart of a distributed cloud-based traffic transmission control method shown in an exemplary embodiment of the present application. It should be noted that the method is applicable to Figure 1 The cross-cloud node traffic transmission architecture shown in Figure 1 The central node in the illustrated architecture is specifically executed, and it can also be understood that the method is specifically executed by the metadata management module in the central node.
[0051] like Figure 4 As shown, the exemplary distributed cloud-based traffic transmission control method includes S410-S440, which are described in detail as follows:
[0052] S410 , in response to a traffic transmission management request for an edge node, obtaining a plurality of traffic metadata.
[0053] Generally speaking, the traffic transmission management request for the edge node is initiated by the public network resource manager. After the central node and the edge node complete the response processing for the traffic transmission management request, the data traffic transmission between the central node and the edge node can be carried out in an orderly manner, thereby ensuring the overall stability of the system. It can be understood that the public network resource manager usually refers to the network operator, but this embodiment does not limit it to only the network operator, and it can be determined based on the actual application scenario.
[0054] In response to the traffic management request for the edge node, the central node first obtains the pre-entered traffic metadata from the database. The entry of traffic metadata in the database can be understood as adding, updating, and deleting traffic metadata in the database. Exemplarily, the data metadata can be stored in the database in the form of a traffic five-tuple list.
[0055] It is also necessary to understand that different traffic metadata corresponds to different data transmission scenarios, which can be generally understood as one traffic metadata characterizing the data traffic transmission in one data transmission scenario. For example, <watching TV> is one data transmission scenario, <listening to the radio> is another data transmission scenario, and <system upgrade> is another data transmission scenario. It can be seen that in different data transmission scenarios, the data traffic transmission paths are different. At the same time, it can also be understood that different data transmission scenarios correspond to different business needs.
[0056] S420, performing traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups.
[0057] The data traffic transmission requirements in different data transmission scenarios may appear at the same time, which will cause the simultaneous occupation of public network resources, resulting in traffic out-of-control problems such as channel congestion and lack of competition for bandwidth resources. Of course, since the public network bandwidth of edge nodes has a large bottleneck, these traffic out-of-control problems usually occur at edge nodes.
[0058] To solve this problem, the central node first groups the multiple traffic metadata obtained. The purpose of traffic grouping is to reduce the complexity of traffic transmission control and thus improve the efficiency of traffic control.
[0059] It can be understood that, as mentioned above, in actual application scenarios, there are usually thousands of systems inside the edge node, and each system can be understood as corresponding to a data transmission scenario, or corresponding to a business scenario. If the traffic transmission of each system is controlled separately, it will lead to high control complexity, which will increase the overall resource burden of the system. Therefore, this application groups multiple traffic metadata and controls traffic transmission in units of traffic groups, rather than in units of each business scenario. If it is assumed that the business scenarios of thousands of systems are divided into 50 traffic groups, compared with the edge node controlling the traffic transmission of these 50 traffic groups separately, and controlling the transmission of these thousands of system business traffic, it obviously saves a lot of scheduling resources and improves the efficiency of traffic control.
[0060] As an exemplary implementation, under the premise of presetting the number of traffic groups, multiple traffic metadata can be randomly divided into these traffic groups. For example, assuming that the number of traffic groups is 50, the average number of traffic metadata that should be contained in each traffic group can be calculated first, and then the corresponding number of traffic metadata can be divided into each traffic group. Of course, the number of traffic metadata divided into each traffic group can also be uneven, which can be selected according to actual application requirements, and this embodiment does not limit this.
[0061] As another exemplary implementation, under the premise of still presetting the number of traffic groups, the traffic metadata can be precisely divided based on the control scores of each traffic metadata. The precise division mentioned here is understood to mean that the traffic metadata divided into the same traffic group have similarities in the traffic transmission control method.
[0062] Exemplarily, the control score of each traffic metadata can be determined based on the traffic control factors contained in each traffic metadata and the weights corresponding to each traffic control factor, and then the multiple traffic metadata can be grouped according to the determined control scores to obtain multiple traffic groups. It can be understood that the size of the weight corresponding to each traffic control factor is positively correlated with the degree of influence of the traffic control factor on the traffic transmission control strategy. The greater the influence of the traffic control factor on the traffic transmission control strategy, the greater the corresponding weight value. In addition, the influence of the traffic control factor on the traffic transmission control strategy of the traffic metadata is further divided into positive and negative. The positive influence is used to improve the control score, and the negative influence is used to reduce the control score.
[0063] If the traffic control factors include priority, timeliness level, operation source and expected bandwidth, their influence on the traffic transmission control strategy should decrease in sequence, so their corresponding weight values should also decrease in sequence, or their relevance to the control score should decrease in sequence. For example, if the control score of the traffic metadata is expressed as score, the control score can be calculated according to the following formula:
[0064] score = priority * 10000 + timeliness level * 100 + operation source * 10 - expected bandwidth
[0065] It can be seen that the weight corresponding to the priority is 10000, the weight corresponding to the timeliness level is 100, the weight corresponding to the operation source is 10, and the weight corresponding to the expected bandwidth is 1. In addition, the priority, timeliness level, and operation source are positively correlated with the control score, and the expected bandwidth is negatively correlated with the control score.
[0066] There may be many ways to group multiple traffic metadata according to the control scores of each traffic metadata, which are not limited here. For example, the score interval corresponding to each traffic group can be pre-set, and the traffic metadata with control scores in the same score interval can be divided into the same traffic group; for another example, multiple traffic metadata are first arranged in order from large to small or from small to large based on the control scores, and then these traffic metadata are divided into corresponding traffic groups. However, no matter which division method is adopted, traffic metadata with similarities in traffic transmission control methods will be divided into the same traffic group. For example, in the data transmission scenarios of <Watch TV> and <Listen to the Radio> in the aforementioned example, since the application scenarios of the two are similar, there should also be similarities in the traffic transmission control methods, and the control scores of the traffic metadata corresponding to the two should also be close, so the traffic metadata corresponding to the two can be divided into the same traffic group.
[0067] In other exemplary embodiments, the number of traffic groups may also be dynamically determined based on the number of traffic metadata recorded by the central node in an actual scenario, rather than being pre-set. For example, the maximum number of traffic metadata contained in each traffic group may be pre-set, and traffic metadata exceeding the maximum number may be correspondingly divided into another traffic group, thereby obtaining multiple traffic groups.
[0068] In other exemplary implementations, only the priority may be considered, and the traffic groups may be divided directly according to the priority of the traffic metadata.
[0069] It should be noted that in actual application scenarios, you can choose which traffic grouping method to use based on actual application requirements. For example, if the accuracy of traffic grouping is mainly considered, choose to use the traffic control factor to first calculate the control score of each traffic metadata, and then divide multiple traffic metadata into multiple traffic groups based on the control score.
[0070] S430: Determine bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, where the bandwidth allocation data includes a maximum bandwidth of the group and a minimum bandwidth of the group.
[0071] The database records the bandwidth upper limit of each edge node. Therefore, the bandwidth size of each traffic group can be allocated according to the bandwidth upper limit of the edge node to obtain the bandwidth allocation data corresponding to each traffic group.
[0072] For example, the allocation strategy can generally adopt the principle of efficiency and fairness, and divide all traffic of edge nodes into three parts: reserved buffer traffic, on-demand allocated traffic, and priority allocated traffic. The reserved buffer traffic is used for traffic that is not included in the traffic metadata management; the on-demand allocated traffic is used as a guarantee, so that the edge node can respond to the needs of various internal systems for traffic transmission; the priority allocated traffic is used to ensure that all traffic is transmitted normally, and important traffic is transmitted first.
[0073] Of course, the allocation strategy can also be adjusted according to actual needs. For example, if the impact of traffic that is not included in traffic metadata management on actual applications is not considered, or the impact of traffic that is not included in traffic metadata management on actual applications is very small, the allocation strategy may not reserve buffer traffic. For another example, the traffic proportion of each part can be adjusted according to actual application needs.
[0074] Based on the allocation strategy in the above example, the process of determining bandwidth allocation data for each traffic group may include the following steps:
[0075] S431, according to the expected bandwidth contained in each flow metadata in each flow group, the bandwidth proportion of each flow group is determined accordingly, where the bandwidth proportion is the ratio of the sum of the expected bandwidths in each flow group to the sum of the expected bandwidths in all flow metadata;
[0076] S432, determining a buffer bandwidth of the edge node according to the bandwidth upper limit of the edge node;
[0077] S433, taking the difference between the bandwidth upper limit of the edge node and the buffer bandwidth of the edge node as the maximum bandwidth of each traffic group;
[0078] S434, determining the minimum bandwidth of each traffic group according to the buffer bandwidth of the edge node, the bandwidth proportion of each traffic group, and the maximum bandwidth of each traffic group.
[0079] It should be understood that the bandwidth share of each traffic group is the ratio of the sum of the expected bandwidth contained in each traffic metadata in the traffic group to the sum of the expected bandwidth in all traffic metadata. Therefore, the bandwidth share of each traffic group can reflect the bandwidth allocation requirements of each traffic group for edge nodes.
[0080] The allocation strategy often presets the percentage data of the reserved buffer traffic, for example, 20% of the total traffic of the edge node is reserved as the reserved buffer. Therefore, S432 can determine the buffer bandwidth according to the bandwidth upper limit value of the edge node and this percentage data. The calculation formula is as follows:
[0081] buffer=max(down_max*20%, 20)
[0082] Among them, buffer represents the buffer bandwidth of the edge node, down_max represents the upper limit of the bandwidth of the edge node, 20% is the reserved buffer traffic ratio preset by the allocation strategy, and 20 is used to represent the minimum limit of the buffer bandwidth.
[0083] For each traffic group, except for the reserved buffer traffic, other traffic of the edge node can be used for traffic transmission, which can be used to increase the traffic speed limit of each traffic group under low load conditions, thereby improving transmission efficiency. Therefore, S433 uses the difference between the bandwidth upper limit value of the edge node and the buffer bandwidth of the edge node as the maximum bandwidth of each traffic group. It can be seen that the maximum bandwidth of the group is also the maximum bandwidth that can be used by each traffic group.
[0084] Exemplarily, the maximum bandwidth of each traffic group can be obtained by the following formula:
[0085] group_bandmax=down_max-buffer
[0086] Among them, group_bandmax represents the maximum bandwidth of the traffic group, buffer represents the buffer bandwidth of the edge node, and down_max represents the upper limit of the bandwidth of the edge node.
[0087] The minimum packet bandwidth of each traffic group refers to the bandwidth for achieving guaranteed traffic transmission for each traffic group. It is used in high-load situations, when all traffic groups transmit concurrently with the minimum packet bandwidth, and the health of the transmission channel can still be maintained. As recorded in S434, the minimum packet bandwidth of each traffic group needs to be determined based on the buffer bandwidth of the edge node, the bandwidth proportion of each traffic group, and the maximum packet bandwidth of each traffic group.
[0088] Exemplarily, the minimum packet bandwidth of each traffic group may be determined based on the following process:
[0089] Determine the reference bandwidth of the group according to the maximum bandwidth of the group;
[0090] If the bandwidth ratio is greater than or equal to the preset bandwidth reservation ratio, the minimum bandwidth of the group is determined according to the bandwidth ratio and the group reference bandwidth;
[0091] If the bandwidth ratio is less than the bandwidth reservation ratio, the minimum bandwidth of the group is determined according to the bandwidth reservation ratio and the group base bandwidth.
[0092] In the above process, the group base bandwidth is a benchmark value determined based on the maximum bandwidth of the group. The minimum bandwidth of the traffic group will be further determined based on the bandwidth ratio of the traffic group. The bandwidth reservation ratio refers to the reserved traffic in the edge node, which is used to ensure the health of the transmission channel when all traffic groups are transmitting concurrently.
[0093] If the bandwidth share of the traffic group is greater than or equal to the preset bandwidth reservation share, the minimum bandwidth of the group is determined based on the bandwidth share and the group base bandwidth; if the bandwidth share is less than the bandwidth reservation share, the minimum bandwidth of the group is determined based on the bandwidth reservation share and the group base bandwidth. In this way, it can be ensured that at least 0.5% of the bandwidth is reserved in the edge node.
[0094] Exemplarily, the minimum packet bandwidth of each traffic group can be calculated by the following formula:
[0095] group_bandmin=grou_bandmax / 2*max(band_percent,0.5%)
[0096] Among them, group_bandmin indicates the minimum bandwidth of the traffic group, group_bandmax indicates the maximum bandwidth of the traffic group, and band_percent indicates the bandwidth percentage of the traffic group.
[0097] It can be seen that the minimum bandwidth of the traffic group is allocated according to the bandwidth ratio after the maximum bandwidth of the group is halved, and at least 0.5% of the bandwidth is reserved. After the maximum bandwidth of the group is halved, the group base bandwidth is obtained.
[0098] However, it should be noted that the group base bandwidth can also be determined based on other methods rather than directly halving the group maximum bandwidth. For example, a suitable base factor can be determined based on the number of traffic metadata in the traffic group. The base factor is a positive number less than 1, and the product of the group maximum bandwidth and the base factor is used as the group base bandwidth. If the number of traffic metadata in the traffic group is large, the base factor can be determined as a larger value, and the final value of the group minimum bandwidth will also be larger; and if the number of traffic metadata in the traffic group is small, the base factor can be determined as a smaller value, and the final value of the group minimum bandwidth will also be smaller. Therefore, when all traffic in the traffic group is transmitted concurrently with the group minimum bandwidth, the bandwidth of the edge node can be used to the greatest extent.
[0099] S440, generating a traffic transmission control instruction according to multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and sending the traffic transmission control instruction to the edge node, so that the edge node controls the data flow transmitted to the central node by executing the traffic transmission control instruction.
[0100] The central node assembles the data of multiple traffic groups and the bandwidth allocation data corresponding to each traffic group into traffic transmission control instructions, and sends the traffic transmission control instructions to the edge nodes. The purpose is to enable the edge nodes to control the data flow transmitted to the central node by executing the received traffic transmission control instructions.
[0101] It can be understood that the data of multiple traffic groups is the traffic metadata contained in each traffic group. The data traffic transmitted from the edge node to the central node is the data traffic corresponding to the routing information contained in each traffic metadata, which can also be understood as business data that matches business needs.
[0102] The edge node executes the traffic transmission control instruction, and the process of controlling the data flow transmitted to the central node is also called Figure 1 The execution process of the speed limit implementation module in the structure shown is described in detail in the subsequent embodiments, and this embodiment will not elaborate on this.
[0103] It should be noted that the technical solution proposed in this embodiment can solve the problem of poor stability of cross-node traffic transmission in existing distributed cloud scenarios by generating traffic transmission control instructions for different traffic groups on the central node and performing specific traffic transmission control on the edge node in response to the traffic transmission control instructions.
[0104] Please continue reading Figure 5 , Figure 5FIG. 1 is a flow chart of another exemplary embodiment of the present application showing a method for controlling traffic transmission based on a distributed cloud. It should be noted that the method is applicable to Figure 1 The cross-cloud node traffic transmission architecture shown in Figure 1 The edge node in the illustrated architecture is specifically executed, and it can also be understood that the method is specifically executed by a speed limit implementation module in the edge node.
[0105] like Figure 5 As shown, in an exemplary embodiment, the traffic transmission control method based on the distributed cloud includes S510-S530, which are described in detail as follows:
[0106] S510, receiving a traffic transmission control instruction sent by a central node, wherein the traffic transmission control instruction contains bandwidth allocation data corresponding to a plurality of traffic groups, and the bandwidth allocation data includes a maximum bandwidth of the group and a minimum bandwidth of the group.
[0107] For the detailed process of the central node sending the traffic transmission control instruction to the edge node, please refer to the record in the previous embodiment, which will not be repeated in this embodiment.
[0108] S520, in response to the traffic transmission control instruction, the data traffic required by each traffic group is transmitted to the central node according to the minimum packet bandwidth corresponding to each traffic group.
[0109] In response to the traffic transmission control instructions sent by the central node, the edge node will first perform initialization configuration according to the traffic transmission control instructions. The initialization configuration includes creating traffic groups in sequence according to the control information contained in the traffic transmission control instructions, configuring multiple traffic quintuples in each traffic group, and setting the expected bandwidth of the traffic group to the minimum bandwidth of the group to ensure that the traffic transmission channel will not be congested in the initial situation.
[0110] After completing the initialization configuration, the edge node will implement speed limits on each traffic group according to the minimum bandwidth of the group corresponding to each traffic group. Exemplarily, the edge node can use the traffic controller to implement speed limits on each traffic group in turn, and all five-element information groups in each traffic group will share the bandwidth limit of the edge node. After the internal traffic of the edge node is rectified by speed limit, it is delivered to the public network and transmitted to the central node, thereby realizing the transmission of the data traffic required by each traffic group to the central node according to the minimum bandwidth of the group corresponding to each traffic group.
[0111] S530, according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group, implement speed limit control on the data traffic transmitted to the central node.
[0112] A heartbeat packet is periodically initiated between the central node and the edge node. The heartbeat packet can be sent from the central node to the edge node, or from the edge node to the central node. This embodiment does not limit this. The heartbeat packet has the highest priority to ensure that the heartbeat packet is always transmitted on the traffic transmission channel between the central node and the edge node. If the delay of the heartbeat packet is high or even packet loss occurs, it means that the public network transmission across the cloud nodes is congested. Therefore, the congestion state of the traffic transmission channel between the central node and the edge node can be detected by a regular heartbeat mechanism.
[0113] If the heartbeat packet is sent from the central node to the edge node, the central node can detect the transmission status data of the heartbeat packet, which includes, for example, delay duration, packet loss, etc., and determine the real-time congestion detection result of the traffic transmission channel between the central node and the edge node based on the transmission status data. Generally speaking, the real-time congestion detection result includes a result message indicating that congestion has occurred or has not occurred. The central node will promptly feed back the detected real-time congestion detection result to the edge node, so that the edge node can promptly implement speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result, so as to avoid a series of problems caused by congestion, thereby improving system stability.
[0114] If the heartbeat packet is sent from the edge node to the central node, the edge node can detect the transmission status data of the heartbeat packet, and determine the real-time congestion detection result of the traffic transmission channel between the central node and the edge node based on the transmission status data, and perform the next step of processing based on the obtained real-time congestion detection result.
[0115] Exemplarily, the process of the edge node implementing rate limit control on the data traffic transmitted to the central node according to the real-time congestion detection result is as follows:
[0116] S531, if the real-time congestion detection result indicates that the traffic transmission channel is not congested, the transmission bandwidth corresponding to each traffic group is increased in turn according to the priority of each traffic group;
[0117] S531, if the real-time congestion detection result indicates that the traffic transmission channel is congested, the data traffic required by each traffic group is re-controlled according to the minimum packet bandwidth corresponding to each traffic group.
[0118] In the above control process, if the real-time congestion detection result indicates that the traffic transmission channel is not congested, it means that the overall system load is light. In order to avoid the waste of bandwidth resources at the edge node due to the low speed limit of the traffic group, the transmission bandwidth corresponding to each traffic group can be increased in turn according to the priority of each traffic group.
[0119] If the real-time congestion detection result indicates that the traffic transmission channel is congested, it means that the overall system load is heavy. For example, there are multiple traffic groups in the traffic transmission channel running with large traffic, and all have the need to transmit large traffic, resulting in the sum of the total bandwidth exceeding the bandwidth limit of the edge node. To solve this problem, it is necessary to re-control the transmission of the data traffic required by each traffic group according to the minimum bandwidth of the group corresponding to each traffic group, that is, reset the speed limit of each traffic group to the minimum bandwidth of the group to ensure that the congestion state is resolved and the system is restored to health.
[0120] It should be noted that since congestion detection is performed in real time, the process of edge nodes implementing speed limit control on data traffic transmitted to the central node based on real-time congestion detection results is also dynamically executed. Therefore, the entire process of edge nodes implementing speed limit control can be generally expressed as: when the load is low, increase the speed limit upper limit of each traffic group to improve the overall transmission efficiency; when the load is high, reduce the traffic upper limit of each traffic group to avoid congestion and improve the stability of the system.
[0121] It should also be noted that for the data traffic corresponding to the traffic metadata not included in the traffic group, the edge node directly transmits it to the central node according to its expected bandwidth and uses the buffer bandwidth. That is, the edge node does not perform speed limit processing on the traffic metadata not included in the traffic group.
[0122] In an exemplary embodiment, when the real-time congestion detection result indicates that the traffic transmission channel is not congested, the edge node sequentially increases the transmission bandwidth corresponding to each traffic group according to the priority of each traffic group as follows:
[0123] Obtain the preset maximum bandwidth for a single increase, and use the traffic group with the highest available priority as the target traffic group;
[0124] Calculate the sum of the current transmission bandwidth of the target traffic group and the maximum bandwidth of a single increase. If the sum does not exceed the maximum bandwidth of the group corresponding to the target traffic group, increase the transmission bandwidth of the target traffic group to the sum; if the sum exceeds the maximum bandwidth of the group corresponding to the target traffic group, increase the transmission bandwidth of the target traffic group to the maximum bandwidth of the group, and use the remaining bandwidth of the maximum bandwidth of a single increase to increase the transmission bandwidth of the next priority traffic group.
[0125] The transmission bandwidth improvement process is performed on the traffic group with the highest available priority based on the maximum bandwidth improved at a single time in a loop until all traffic groups have completed the transmission bandwidth improvement process.
[0126] It should be noted that the traffic group with the highest available priority refers to the traffic group with the highest priority among the traffic groups that have not yet undergone transmission bandwidth improvement processing. The priority of a traffic group is determined based on the priority of the traffic metadata contained therein, for example, it can be the average priority or the maximum priority, which is not restricted here. When the priority of the traffic metadata in a traffic group is higher, the priority of the traffic group is obviously higher. Conversely, when the priority of the traffic metadata in a traffic group is lower, the priority of the traffic group is obviously lower.
[0127] Therefore, each transmission bandwidth increase process is for the current highest available priority traffic group, thereby ensuring that congestion problems caused by repeated speed increases will not occur. In addition, this embodiment also limits the bandwidth increase amount for each transmission bandwidth increase process, that is, the maximum bandwidth for a single increase, which can avoid congestion problems caused by over-speed increases.
[0128] To further facilitate understanding of the speed-up process proposed in this embodiment, Figure 7 The example process is used to introduce in more detail the process of edge nodes increasing the transmission bandwidth corresponding to each traffic group in turn according to the priority of each traffic group. Figure 6 As shown, the speed-up process includes the following steps:
[0129] S610, obtaining a preset single maximum bandwidth increase;
[0130] S620, using the traffic group with the highest available priority as the target traffic group;
[0131] S630, calculating the sum of the current transmission bandwidth of the target traffic group and the maximum bandwidth of a single increase;
[0132] S640, determining whether the sum value exceeds the maximum bandwidth of the target traffic group;
[0133] S650, increasing the transmission bandwidth of the target traffic group to a sum value;
[0134] S660, after the transmission bandwidth of the target traffic group is increased to the maximum bandwidth of the group, the remaining bandwidth of the maximum bandwidth increased once is used to increase the transmission bandwidth of the traffic group of the next priority;
[0135] S670, determine whether all traffic groups have been accelerated, if not, jump to S620; if yes, end the process.
[0136] It can be seen from the above process that this embodiment limits the bandwidth increase amount of each transmission bandwidth increase process, specifically the maximum bandwidth for a single increase. If the current transmission bandwidth of the target traffic group is increased by the maximum bandwidth for a single increase, and it does not exceed the maximum bandwidth of the group of the target traffic group, then the current transmission bandwidth of the target traffic group is directly increased by the maximum bandwidth for a single increase, that is, the sum of the current transmission bandwidth of the target traffic group and the maximum bandwidth for a single increase in S630. If the current transmission bandwidth of the target traffic group is increased by the maximum bandwidth for a single increase, it has exceeded the maximum bandwidth of the group of the target traffic group, which is obviously not allowed. In this case, the transmission bandwidth of the target traffic group is first increased to the maximum bandwidth of the group, and then the remaining bandwidth of the maximum bandwidth for a single increase is used as the bandwidth increase amount of the next priority traffic group. Afterwards, it is judged whether all traffic groups have completed the speed-up. If all traffic groups have completed the speed-up, it can be understood that the bandwidth upper limits configured by all traffic groups have reached the maximum bandwidth of the group. Therefore, when the judgment is yes, it means that there is no traffic group that can be accelerated, so the process ends directly; when the judgment is no, it jumps to S620 to continue to execute the next transmission bandwidth improvement process.
[0137] It can be seen from the above that in the process of adjusting the bandwidth speed limit value of each traffic group, this embodiment gradually approaches the maximum value of the speed limit (i.e., the maximum bandwidth of the group), increases the bandwidth quantitatively each time, and the high-priority traffic group is allocated the speed increase first, and the low-priority traffic group is allocated the speed increase later, which can ensure that the high-priority group traffic can be transmitted first until channel congestion occurs.
[0138] It should also be emphasized that after the edge node responds to the initial execution of the traffic transmission control instruction, that is, after transmitting the data traffic required by each traffic group to the central node according to the minimum group bandwidth corresponding to each traffic group, the real-time congestion detection and the speed limit control based on the real-time congestion detection results are performed synchronously. It can also be understood that during the entire traffic transmission process, the edge node will continuously and dynamically adjust the speed limit bandwidth of each traffic group according to the real-time congestion detection results.
[0139] Therefore, the embodiments of the present application can significantly reduce channel congestion and node disconnection caused by large traffic transmission between distributed cloud nodes by executing processes such as traffic grouping speed limiting, real-time congestion detection, and channel self-healing, and can effectively improve the stability of cloud nodes. As a test of the effectiveness of the technical solution, based on the statistics of the number of abnormal alarms of distributed cloud nodes, the average number of alarms for a single cloud node has been reduced from 5 times per month to 0.4 times per month, a reduction of more than 90%, which greatly reduces the pressure on node operation and maintenance. And with the improvement of traffic metadata entry, the number of abnormal alarms tends to gradually approach 0.
[0140] The embodiments of the present application can also effectively improve the transmission efficiency of important traffic. Specifically, in the idle state, each service can be transmitted with the maximum bandwidth without affecting other services. In the congested state, according to the traffic priority, high-priority important traffic is transmitted first, and low-priority traffic is transmitted later. Taking the edge node with 100mbps public network bandwidth as an example, the test results show that in the case of congestion, the average transmission speed of high-priority traffic is increased from 52mbps to 76mbps, an increase of about 46%.
[0141] Another exemplary embodiment of the present application further proposes a traffic transmission control system based on a distributed cloud, including a central node and an edge node, wherein a metadata management module and a gateway controller are deployed on the central node, and a speed limit implementation module is deployed on the edge node, wherein:
[0142] The metadata management module responds to the traffic transmission management request for the edge node, obtains multiple traffic metadata, performs traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups, and determines the bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, the bandwidth allocation data including the maximum bandwidth of the group and the minimum bandwidth of the group;
[0143] The gateway controller generates a traffic transmission control instruction according to the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and sends the traffic transmission control instruction to the speed limit implementation module;
[0144] The speed limit implementation module responds to the traffic transmission control instruction, transmits the data traffic required by each traffic group to the central node according to the minimum packet bandwidth corresponding to each traffic group, and implements speed limit control on the data traffic transmitted to the central node based on the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and maximum packet bandwidth corresponding to each traffic group.
[0145] It should be noted that the execution process of each part of the system has been described in detail in the aforementioned embodiments, and will not be repeated in this embodiment.
[0146] See also Figure 7 , Figure 7 This is a block diagram of a distributed cloud-based traffic transmission control device shown in an exemplary embodiment of the present application. The device is configured on a central node. The device includes:
[0147] The metadata acquisition module 710 is configured to obtain a plurality of traffic metadata in response to a traffic transmission management request for an edge node, wherein different traffic metadata correspond to different data transmission scenarios;
[0148] The traffic grouping module 720 is configured to perform traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups;
[0149] The bandwidth allocation module 730 is configured to determine the bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, and the bandwidth allocation data includes the maximum bandwidth of the group and the minimum bandwidth of the group;
[0150] The transmission control module 740 is configured to generate a traffic transmission control instruction based on multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and send the traffic transmission control instruction to the edge node, so that the edge node controls the data flow transmitted to the central node by executing the traffic transmission control instruction.
[0151] In another exemplary embodiment, the traffic metadata includes routing information and traffic control factors corresponding to the data transmission scenario; the traffic grouping module 720 includes:
[0152] A score calculation unit configured to determine a control score for each flow metadata according to a flow control factor included in each flow metadata and a weight corresponding to each flow control factor;
[0153] The score processing unit is configured to group the multiple traffic metadata according to the control scores to obtain multiple traffic groups.
[0154] In another exemplary embodiment, the traffic control factors include priority, timeliness level, operation source and expected bandwidth, priority, timeliness level and operation source are positively correlated with the control score, and the correlation with the control score decreases successively, and the expected bandwidth is negatively correlated with the control score.
[0155] In another exemplary embodiment, the bandwidth allocation module 730 includes:
[0156] A bandwidth share calculation unit is configured to determine the bandwidth share of each traffic group according to the expected bandwidth contained in each traffic metadata in each traffic group, wherein the bandwidth share is the ratio of the sum of the expected bandwidths in each traffic group to the sum of the expected bandwidths in all traffic metadata;
[0157] a buffer bandwidth calculation unit configured to determine a buffer bandwidth of an edge node according to an upper bandwidth limit of the edge node;
[0158] An upper bandwidth calculation unit is configured to use the difference between the bandwidth upper limit value of the edge node and the buffer bandwidth of the edge node as the maximum bandwidth of each traffic group;
[0159] The lower bandwidth calculation unit is configured to determine the minimum bandwidth of each traffic group according to the buffer bandwidth of the edge node, the bandwidth proportion of each traffic group, and the maximum bandwidth of each traffic group.
[0160] In another exemplary embodiment, the lower bandwidth calculation unit is configured as follows:
[0161] Determine the reference bandwidth of the group according to the maximum bandwidth of the group;
[0162] If the bandwidth ratio is greater than or equal to the preset bandwidth reservation ratio, the minimum bandwidth of the group is determined according to the bandwidth ratio and the group reference bandwidth;
[0163] If the bandwidth ratio is less than the bandwidth reservation ratio, the minimum bandwidth of the group is determined according to the bandwidth reservation ratio and the group base bandwidth.
[0164] In another exemplary embodiment, the apparatus further includes a congestion detection module, and the congestion detection module is configured to:
[0165] Send heartbeat packets to edge nodes regularly, and heartbeat packets have the highest priority;
[0166] Detecting the transmission status data of the heartbeat packet, and determining the real-time congestion detection result of the traffic transmission channel between the central node and the edge node based on the transmission status data;
[0167] Feedback real-time congestion detection results to edge nodes.
[0168] See also Figure 8 , Figure 8 : is a block diagram of a distributed cloud-based traffic transmission control device shown in another exemplary embodiment of the present application. The device is configured on an edge node. The device includes:
[0169] The control instruction receiving module 810 is configured to receive a flow transmission control instruction sent by the central node, wherein the flow transmission control instruction contains bandwidth allocation data corresponding to a plurality of flow groups, and the bandwidth allocation data includes a maximum bandwidth of the group and a minimum bandwidth of the group;
[0170] The initial transmission module 820 is configured to transmit the data traffic required by each flow group to the central node according to the minimum bandwidth of the group corresponding to each flow group in response to the flow transmission control instruction;
[0171] The speed limit implementation module 830 is configured to implement speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection results of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group.
[0172] In another exemplary embodiment, the speed limit implementation module 830 includes:
[0173] The speed-up processing unit is configured to increase the transmission bandwidth corresponding to each flow group in turn according to the priority of each flow group if the real-time congestion detection result indicates that the traffic transmission channel is not congested;
[0174] The reset processing unit is configured to re-control the transmission of the data traffic required by each traffic group according to the minimum packet bandwidth corresponding to each traffic group if the real-time congestion detection result indicates that the traffic transmission channel is congested.
[0175] In another exemplary embodiment, the speed-up processing unit is configured as follows:
[0176] Obtain the preset maximum bandwidth for a single increase, and use the traffic group with the highest available priority as the target traffic group;
[0177] Calculate the sum of the current transmission bandwidth of the target traffic group and the maximum bandwidth of a single increase. If the sum does not exceed the maximum bandwidth of the group corresponding to the target traffic group, increase the transmission bandwidth of the target traffic group to the sum.
[0178] If the sum exceeds the maximum bandwidth of the group corresponding to the target traffic group, the transmission bandwidth of the target traffic group is increased to the maximum bandwidth of the group, and the remaining bandwidth of the single maximum bandwidth increase is used to increase the transmission bandwidth of the next priority traffic group;
[0179] The transmission bandwidth improvement process is performed on the traffic group with the highest available priority based on the maximum bandwidth improved at a single time in a loop until all traffic groups have completed the transmission bandwidth improvement process.
[0180] In another exemplary embodiment, the device further includes a buffer flow processing module, and the buffer flow processing module is configured to:
[0181] Get the expected bandwidth of the traffic metadata not included in the traffic group;
[0182] According to the expected bandwidth, the data traffic corresponding to the traffic metadata not included in the traffic group is transmitted to the central node using the buffer bandwidth.
[0183] It should be noted that the distributed cloud-based traffic transmission control device provided in the above embodiment and the distributed cloud-based traffic transmission control method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here. In actual applications, the distributed cloud-based traffic transmission control device provided in the above embodiment can allocate the above functions to different functional modules as needed, that is, divide the internal structure of the device into different functional modules to complete all or part of the functions described above, and this is not limited here.
[0184] An embodiment of the present application also provides an electronic device, comprising: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the electronic device implements the distributed cloud-based traffic transmission control method provided in the above-mentioned embodiments.
[0185] Fig. 9 The structure diagram of the computer system suitable for implementing the electronic device of the embodiment of the present application is shown. It should be noted that: Fig. 9 The computer system 1000 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0186] like Fig. 9 As shown, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage part 908 to the random access memory (RAM) 903, such as executing the method described in the above embodiment. In the RAM 903, various programs and data required for system operation are also stored. The CPU 901, ROM 902 and RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0187] The following components are connected to the I / O interface 905: an input section 906 including a keyboard, a mouse, etc.; an output section 907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as needed. A removable medium 911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 910 as needed so that a computer program read therefrom is installed into the storage section 908 as needed.
[0188] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 909, and / or installed from a removable medium 911. When the computer program is executed by a central processing unit (CPU) 901, various functions defined in the system of the present application are executed.
[0189] It should be noted that the computer-readable medium shown in the embodiment of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. The computer program contained in the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0190] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0191] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not, in some cases, constitute limitations on the units themselves.
[0192] Another aspect of the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the above-described distributed cloud-based traffic transmission control method. The computer-readable storage medium may be included in the electronic device described in the above embodiments, or may exist independently without being assembled into the electronic device.
[0193] Another aspect of the present application also provides a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the distributed cloud-based traffic transmission control method provided in each of the above embodiments.
[0194] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. A person skilled in the art can easily make corresponding changes or modifications based on the main concept and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.
[0195] It can be understood that in the specific implementation of the present application, related data such as traffic metadata and bandwidth upper limit are involved. When the above embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
Claims
1. A traffic transmission control method based on distributed cloud, It is characterized in that The method is performed by a central node, and comprises: In response to a traffic transmission management request for an edge node, a plurality of traffic metadata are obtained, where different traffic metadata correspond to different data transmission scenarios; Performing traffic grouping processing on the multiple traffic metadata to obtain multiple traffic groups; Determine bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, wherein the bandwidth allocation data includes a maximum bandwidth of the group and a minimum bandwidth of the group; A traffic transmission control instruction is generated according to the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and the traffic transmission control instruction is sent to the edge node, so that the edge node controls the data flow transmitted to the central node by executing the traffic transmission control instruction.
2. The method according to claim 1, It is characterized in that The traffic metadata includes routing information and traffic control factors corresponding to the data transmission scenario; the traffic grouping processing is performed on the multiple traffic metadata to obtain multiple traffic groups, including: Determine the control score of each flow metadata according to the flow control factor contained in each flow metadata and the weight corresponding to each flow control factor; The plurality of traffic metadata are grouped according to the control scores to obtain a plurality of traffic groups.
3. The method according to claim 2, It is characterized in that The traffic control factors include priority, timeliness level, operation source and expected bandwidth. The priority, timeliness level and operation source are positively correlated with the control score, and the correlation with the control score decreases successively. The expected bandwidth is negatively correlated with the control score.
4. The method according to claim 1, It is characterized in that Determining bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node includes: According to the expected bandwidth contained in each traffic metadata in each traffic group, the bandwidth proportion of each traffic group is determined accordingly, where the bandwidth proportion is the ratio of the sum of the expected bandwidths in each traffic group to the sum of the expected bandwidths in all traffic metadata; Determining a buffer bandwidth of the edge node according to an upper bandwidth limit of the edge node; The difference between the bandwidth upper limit of the edge node and the buffer bandwidth of the edge node is used as the maximum bandwidth of each traffic group; The minimum bandwidth of each traffic group is determined according to the buffer bandwidth of the edge node, the bandwidth proportion of each traffic group, and the maximum bandwidth of each traffic group.
5. The method according to claim 4, It is characterized in that Determining the minimum bandwidth of each traffic group according to the buffer bandwidth of the edge node, the bandwidth proportion of each traffic group, and the maximum bandwidth of each traffic group includes: Determine a reference bandwidth for a group according to the maximum bandwidth for the group; If the bandwidth ratio is greater than or equal to the preset bandwidth reservation ratio, determining the minimum bandwidth of the group according to the bandwidth ratio and the group reference bandwidth; If the bandwidth ratio is less than the bandwidth reservation ratio, the minimum bandwidth of the group is determined according to the bandwidth reservation ratio and the group reference bandwidth.
6. The method according to claim 1, It is characterized in that The method further comprises: Sending a heartbeat packet to the edge node regularly, wherein the heartbeat packet has the highest priority; Detecting transmission status data of the heartbeat packet, and determining a real-time congestion detection result of a traffic transmission channel between the central node and the edge node based on the transmission status data; Feedback the real-time congestion detection result to the edge node.
7. A traffic transmission control method based on distributed cloud, It is characterized in that The method is performed by an edge node, and the method includes: Receiving a flow transmission control instruction sent by a central node, wherein the flow transmission control instruction contains bandwidth allocation data corresponding to a plurality of flow groups, wherein the bandwidth allocation data includes a maximum bandwidth of a group and a minimum bandwidth of a group; In response to the traffic transmission control instruction, the data traffic required by each traffic group is transmitted to the central node according to the minimum bandwidth of each traffic group; According to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group, speed limit control is implemented on the data traffic transmitted to the central node.
8. The method according to claim 7, It is characterized in that The method of implementing speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group includes: If the real-time congestion detection result indicates that the traffic transmission channel is not congested, the transmission bandwidth corresponding to each traffic group is increased in turn according to the priority of each traffic group; If the real-time congestion detection result indicates that congestion occurs in the traffic transmission channel, the data traffic required by each traffic group is re-controlled according to the minimum packet bandwidth corresponding to each traffic group.
9. The method according to claim 8, It is characterized in that The step of increasing the transmission bandwidth corresponding to each traffic group in turn according to the priority of each traffic group includes: Obtain the preset maximum bandwidth for a single increase, and use the traffic group with the highest available priority as the target traffic group; Calculate the sum of the current transmission bandwidth of the target traffic group and the maximum bandwidth increased at a single time. If the sum does not exceed the maximum bandwidth of the group corresponding to the target traffic group, increase the transmission bandwidth of the target traffic group to the sum. If the sum exceeds the maximum bandwidth of the group corresponding to the target traffic group, after the transmission bandwidth of the target traffic group is increased to the maximum bandwidth of the group, the remaining bandwidth of the single increase in the maximum bandwidth is used to increase the transmission bandwidth of the traffic group of the next priority; The transmission bandwidth improvement process for the traffic group with the highest available priority is performed cyclically based on the single maximum bandwidth improvement process until the transmission bandwidth improvement process for all traffic groups has been completed.
10. The method according to claim 7, It is characterized in that The method further comprises: Get the expected bandwidth of the traffic metadata not included in the traffic group; According to the expected bandwidth, the data traffic corresponding to the traffic metadata not included in the traffic group is transmitted to the central node using the buffer bandwidth.
11. A traffic transmission control system based on distributed cloud, It is characterized in that It includes a central node and an edge node. The central node is equipped with a metadata management module and a gateway controller. The edge node is equipped with a speed limit implementation module, wherein: The metadata management module obtains a plurality of traffic metadata in response to a traffic transmission management request for an edge node, performs traffic grouping processing on the plurality of traffic metadata to obtain a plurality of traffic groups, and determines bandwidth allocation data corresponding to each traffic group according to a bandwidth upper limit value of the edge node, wherein the bandwidth allocation data includes a maximum bandwidth of a group and a minimum bandwidth of a group; The gateway controller generates a traffic transmission control instruction according to the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and sends the traffic transmission control instruction to the speed limit implementation module; The speed limit implementation module responds to the traffic transmission control instruction, transmits the data traffic required by each traffic group to the central node according to the minimum packet bandwidth corresponding to each traffic group, and implements speed limit control on the data traffic transmitted to the central node based on the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group.
12. A traffic transmission control device based on distributed cloud, It is characterized in that The device is configured on a central node, and comprises: A metadata acquisition module, configured to obtain a plurality of traffic metadata in response to a traffic transmission management request for an edge node, wherein different traffic metadata correspond to different data transmission scenarios; A traffic grouping module, configured to perform traffic grouping processing on the plurality of traffic metadata to obtain a plurality of traffic groups; A bandwidth allocation module, configured to determine bandwidth allocation data corresponding to each traffic group according to the bandwidth upper limit value of the edge node, wherein the bandwidth allocation data includes a maximum bandwidth of a group and a minimum bandwidth of a group; The transmission control module is configured to generate a traffic transmission control instruction based on the multiple traffic groups and the bandwidth allocation data corresponding to each traffic group, and send the traffic transmission control instruction to the edge node, so that the edge node controls the data flow transmitted to the central node by executing the traffic transmission control instruction.
13. A traffic transmission control device based on distributed cloud, It is characterized in that The device is configured on an edge node, and includes: A control instruction receiving module is configured to receive a flow transmission control instruction sent by a central node, wherein the flow transmission control instruction contains bandwidth allocation data corresponding to a plurality of flow groups, wherein the bandwidth allocation data includes a maximum bandwidth of a group and a minimum bandwidth of a group; an initial transmission module, configured to transmit the data traffic required by each flow group to the central node in response to the traffic transmission control instruction according to the minimum packet bandwidth corresponding to each flow group; The speed limit implementation module is configured to implement speed limit control on the data traffic transmitted to the central node according to the real-time congestion detection result of the traffic transmission channel between the central node and the edge node, and based on the minimum packet bandwidth and the maximum packet bandwidth corresponding to each traffic group.
14. An electronic device, It is characterized in that include: one or more processors; A memory for storing one or more programs, which, when executed by the one or more processors, enables the electronic device to implement the distributed cloud-based traffic transmission control method as described in any one of claims 1-6 or 7-10.
15. A computer-readable storage medium, It is characterized in that Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the distributed cloud-based traffic transmission control method described in any one of claims 1-6 or 7-10.
Citation Information
Cited By
Traffic transmission control method, apparatus, and system, device, storage medium, and program product
EP4746380A1