Movatterモバイル変換


[0]ホーム

URL:


CN112714071A - Data sending method and device - Google Patents

Data sending method and device
Download PDF

Info

Publication number
CN112714071A
CN112714071ACN201911025600.2ACN201911025600ACN112714071ACN 112714071 ACN112714071 ACN 112714071ACN 201911025600 ACN201911025600 ACN 201911025600ACN 112714071 ACN112714071 ACN 112714071A
Authority
CN
China
Prior art keywords
rate
information
tunnel
sending
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911025600.2A
Other languages
Chinese (zh)
Other versions
CN112714071B (en
Inventor
曹倩
开毅
朱夏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co LtdfiledCriticalHuawei Technologies Co Ltd
Priority to CN201911025600.2ApriorityCriticalpatent/CN112714071B/en
Publication of CN112714071ApublicationCriticalpatent/CN112714071A/en
Application grantedgrantedCritical
Publication of CN112714071BpublicationCriticalpatent/CN112714071B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

In the method, a sending device firstly obtains first information including priority information of a data stream set, the data stream set is loaded on a tunnel between the sending device and a receiving device, then the sending device adjusts the sending rate of the tunnel according to the first information, and sends the data stream to the receiving device according to the adjusted sending rate. The sending equipment can sense the congestion of the tunnel in time, and can automatically adjust the sending rate of the tunnel according to the priority information of the data flow loaded in the tunnel, thereby reducing the interactive flow between the sending equipment and the controller, and realizing the reduction of occupied network resources and time delay when the network congestion is solved.

Description

Data sending method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data sending method and apparatus.
Background
The main principle of the software-defined wide area network (SD-WAN) technology is: an overlay network of itself is constructed by renting a physical network of an operator to provide the SD-WAN service. The method is widely applied to SD-WAN service providers because users do not need to create physical networks, thereby being capable of reducing networking cost.
Currently, in the SD-WAN scenario, the data traffic sent by each link in the SD-WAN is centrally controlled by a controller to achieve the effect of avoiding congestion. For example, a Customer Premises Equipment (CPE) in an SD-WAN scenario may measure the available bandwidth of the link on which it is located and report to the controller. The controller may then determine whether it is necessary to control the data traffic sent by each link based on the last used bandwidth and the current available bandwidth, and then send an adjustment indication to the CPE. After receiving the adjustment instruction, the CPE controls the data traffic sent by the CPE.
In the above manner, the data traffic sent by the link is controlled by the controller, which can avoid network congestion, but occupies more network resources, and the multiple interactions also cause delay, so that network congestion cannot be solved in time.
Disclosure of Invention
The application provides a data sending method and device, which are used for reducing network resources and time delay occupied in solving network congestion in an SD-WAN scene.
In a first aspect, a data sending method is provided, in which a sending device first obtains first information including priority information of a data stream set, the data stream set is carried on a tunnel between the sending device and a receiving device, and then the sending device adjusts a sending rate of the tunnel according to the first information and sends a data stream to the receiving device according to the adjusted sending rate.
In the technical scheme, the sending equipment can timely sense the congestion of the tunnel, and can automatically adjust the sending rate of the tunnel according to the priority information of the data stream carried in the tunnel, so that the interactive flow between the sending equipment and the controller is reduced, and the occupied network resources and time delay when the network congestion is solved can be reduced.
In one possible implementation, the adjusting, by the sending device, the sending rate of the tunnel according to the first information includes: the sending device adjusts a sending rate of a first data flow carried in the tunnel, where the first data flow is a data flow with a priority lower than a first priority in the data flow set.
In the above technical solution, the sending device adjusts the sending rate of the tunnel by adjusting the rate of the data stream with the priority lower than the first priority, which can be understood as the data stream with the lower priority, that is, before and after adjusting the sending rate of the tunnel, the sending rate of the data stream with the higher priority is not changed, so that the problem that the data stream with the higher priority is discarded due to indiscriminate packet loss of the data stream in the transmission process of the SD-WAN network after the tunnel is congested can be avoided, and the data stream with the higher priority can be sent preferentially after the tunnel is congested.
In one possible implementation, the sending device adjusts the sending rate of the tunnel according to the first information, which may include but is not limited to the following three ways:
the first adjustment mode is as follows:
and the sending equipment adjusts the sending rate of the tunnel to a first rate, wherein the first rate is the sum of the rates of the data streams with the priority not lower than the second priority in the data stream set.
That is to say, the adjusted sending rate of the tunnel can ensure that the data stream with the priority not lower than the second priority is sent preferentially, for example, the data stream of a service with high priority, such as voice or video, can be sent preferentially, and user experience can be improved.
The second adjustment mode is as follows:
the sending device increases the sending rate of the tunnel by a rate adjustment value, wherein the rate adjustment value is a preset value or the rate of the data stream with the priority lower than the second priority.
When the available bandwidth of the tunnel is large, the sending device can also increase the sending rate of the tunnel, and can improve the utilization rate of transmission resources.
In a third adjustment manner, if the first information further includes rate information of the data flow set, when a ratio of the first rate to the rate of the data flow set is not greater than a bandwidth occupation threshold, the sending device adjusts the sending rate of the tunnel to a product of the sending rate of the tunnel and the bandwidth occupation threshold; wherein the first rate is the sum of the rates of the data streams in the set of data streams having a priority higher than the second priority. When the ratio of the first rate to the rate of the data stream set is greater than the bandwidth ratio threshold, the sending device adjusts the sending rate of the tunnel to the first rate.
In the above technical solution, when the sending device adjusts the sending rate of the tunnel, the rate ratio of the data stream with higher priority is compared with the bandwidth ratio threshold, so as to ensure that the adjusted sending rate can ensure that the data stream with higher priority is sent preferentially.
In addition, in the above technical solution, the sending device may adjust the sending rate of the tunnel in multiple ways, which may increase the flexibility of the sending device.
In a possible implementation, the sending device may first receive, from the receiving device, second information including network status information of the tunnel, where the network status information includes at least one of delay, jitter, and packet loss information, determine that the tunnel is congested or is decongested according to the second information, and then adjust the sending rate according to the first information.
In one possible implementation, the sending device may first receive third information from the receiving device requesting the sending device to adjust the sending rate, and then adjust the sending rate according to the first information.
In this way, the sending device can adjust the sending rate of the tunnel only when the tunnel is congested or is not congested or receives a speed regulation request of the receiving device, so that the computation amount of the sending device can be reduced.
In a possible implementation, the third information further includes a second rate or an adjustment ratio, and the adjusted sending rate does not exceed the second rate or does not exceed a product of the sending rate and the adjustment ratio.
In the above technical solution, the receiving device may send the adjustment requirement to the sending device through the third information, so that the generating device may determine the adjusted sending rate according to the third information and the first information, and improve the accuracy of rate adjustment.
In a second aspect, the present application provides a data transmission apparatus comprising a processor for implementing the method described in the first aspect above.
The data transmission device may also include a memory for storing program instructions and data. The memory is coupled to the processor, and the processor may call and execute the program instructions stored in the memory, so as to implement any one of the methods described in the above first aspect. The data transmission apparatus may further include a communication interface for the apparatus to communicate with other devices. Illustratively, the other device is a receiving device.
In one possible implementation, the data transmission device processor and communication interface, wherein:
the communication interface is configured to acquire first information, where the first information includes priority information of a data flow set carried in a tunnel between the data sending apparatus and the receiving device;
the processor is used for adjusting the sending rate of the tunnel according to the first information; and controlling the communication interface to transmit the data stream to the receiving device according to the adjusted transmission rate.
In one possible implementation, the processor is specifically configured to:
and adjusting the sending rate of a first data flow carried in the tunnel, wherein the first data flow is a data flow with a priority lower than a first priority in the data flow set.
In one possible implementation, the processor is specifically configured to:
adjusting the sending rate of the tunnel to a first rate, wherein the first rate is the sum of the rates of the data streams with the priority not lower than a second priority in the data stream set; or the like, or, alternatively,
and increasing the sending rate of the tunnel by a rate adjustment value, wherein the rate adjustment value is a preset value or the rate of the data stream with the priority lower than the second priority.
In a possible implementation, the first information further includes rate information of the data flow set, the adjusting module adjusts the sending rate of the tunnel according to the first information, and the processor is specifically configured to:
when the ratio of the first rate to the rate of the data flow set is not greater than the bandwidth ratio threshold, adjusting the sending rate of the tunnel to the product of the sending rate of the tunnel and the bandwidth ratio threshold; wherein the first rate is the sum of the rates of the data streams with priority higher than the second priority in the data stream set;
and when the ratio of the first rate to the rate of the data stream set is greater than a bandwidth ratio threshold, adjusting the sending rate of the tunnel to the first rate.
In one possible implementation, the communication interface is further configured to:
receiving second information from the receiving device, where the second information includes network state information of the tunnel, and the network state information includes at least one of time delay, jitter, and packet loss information;
the processor is further configured to determine that the tunnel is congested or decongested according to the second information.
In one possible implementation, the communication interface is further configured to:
receiving third information from the receiving device, the third information being used to request the data transmitting apparatus to adjust the transmission rate.
In a possible implementation, the third information further includes a second rate or an adjustment ratio, and the adjusted sending rate does not exceed the second rate, or does not exceed a product of the sending rate and the adjustment ratio.
In a third aspect, the present application provides a data sending apparatus, where the data sending apparatus may be a sending device, or may be an apparatus in a sending device, and the data sending apparatus may include an obtaining module, an adjusting module, and a communication module, where these modules may perform corresponding functions performed by a network device in any implementation example of the first aspect, specifically:
a communication module, configured to obtain first information, where the first information includes priority information of a data flow set carried in a tunnel between the data sending apparatus and a receiving device;
the processing module is used for adjusting the sending rate of the tunnel according to the first information;
the communication module is further configured to send the data stream to the receiving device according to the adjusted sending rate.
In a possible implementation, the processing module adjusts the sending rate of the tunnel according to the first information, and is specifically configured to:
and adjusting the sending rate of a first data flow carried in the tunnel, wherein the first data flow is a data flow with a priority lower than a first priority in the data flow set.
In a possible implementation, the processing module adjusts the sending rate of the tunnel according to the first information, and is specifically configured to:
adjusting the sending rate of the tunnel to a first rate, wherein the first rate is the sum of the rates of the data streams with the priority not lower than a second priority in the data stream set; or the like, or, alternatively,
and increasing the sending rate of the tunnel by a rate adjustment value, wherein the rate adjustment value is a preset value or the rate of the data stream with the priority lower than the second priority.
In a possible implementation, the first information further includes rate information of the data flow set, and the processing module adjusts the sending rate of the tunnel according to the first information, specifically to:
when the ratio of the first rate to the rate of the data flow set is not greater than the bandwidth occupation threshold, the adjusting module adjusts the sending rate of the tunnel to be the product of the sending rate of the tunnel and the bandwidth occupation threshold; wherein the first rate is the sum of the rates of the data streams with priority higher than the second priority in the data stream set;
when the ratio of the first rate to the rate of the data stream set is greater than a bandwidth-to-ratio threshold, the adjusting module adjusts the sending rate of the tunnel to the first rate.
In one possible implementation, the communication module is further configured to:
receiving second information from the receiving device, where the second information includes network state information of the tunnel, and the network state information includes at least one of time delay, jitter, and packet loss information;
the processing module is further configured to determine that the tunnel is congested or congestion relief according to the second information.
In one possible implementation, the communication module is further configured to:
receiving third information from the receiving device, the third information being used to request the data transmitting apparatus to adjust the transmission rate.
In a possible implementation, the third information further includes a second rate or an adjustment ratio, and the adjusted sending rate does not exceed the second rate, or does not exceed a product of the sending rate and the adjustment ratio.
In a fourth aspect, the present application provides a communication system, including the transmitting device as described in the second or third aspect, and further including a receiving device. And the sending equipment and the receiving equipment communicate through a tunnel.
In a fifth aspect, the present application also provides a computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of the first aspect.
In a sixth aspect, the present application also provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the first aspect.
In a seventh aspect, an embodiment of the present application provides a chip system, where the chip system includes a processor and may further include a memory, and is configured to implement the method according to the first aspect. The chip system may be formed by a chip, and may also include a chip and other discrete devices.
Advantageous effects of the second to seventh aspects and implementations thereof described above reference may be made to the description of the method of the first aspect and advantageous effects of implementations thereof.
Drawings
Fig. 1 is an architecture diagram of an example of a communication system provided in an embodiment of the present application;
fig. 2 is a flowchart of an example of a data transmission method according to an embodiment of the present application;
fig. 3 is a flowchart of another example of a data transmission method according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an example of a data transmission apparatus according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of another example of a data transmission apparatus according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in further detail with reference to the accompanying drawings.
Technical terms related to the embodiments of the present application are explained below in order to facilitate understanding of the present solution by those skilled in the art.
1) The SD-WAN technology may be understood as a software control network that uses a virtual networking technology to allocate network resources and provide Service Level Agreement (SLA) guarantee for both communication parties that use the network for communication. The virtual networking technology may be, for example, a Virtual Private Network (VPN), an internet protocol security (IPsec) tunnel, a multi-protocol label switching (MPLS) tunnel, and other virtual network management mechanisms, and is not limited herein. In the embodiment of the application, the network established by adopting the SD-WAN technology can be called an SD-WAN network.
2) In the embodiments of the present application, "a plurality" means two or more, and in view of this, the "plurality" may also be understood as "at least two". "at least one" is to be understood as meaning one or more, for example one, two or more. For example, including at least one means including one, two, or more, and does not limit which ones are included, for example, including at least one of A, B and C, then including may be A, B, C, A and B, A and C, B and C, or a and B and C. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" generally indicates that the preceding and following related objects are in an "or" relationship, unless otherwise specified.
Unless stated to the contrary, the embodiments of the present application refer to the ordinal numbers "first", "second", etc., for distinguishing between a plurality of objects, and do not limit the sequence, timing, priority, or importance of the plurality of objects.
First, an application scenario related to the embodiment of the present application is described.
Referring to fig. 1, an architecture diagram of an example of acommunication system 100 to which the embodiments of the present application are applicable is shown. In fig. 1, afirst site 110, an SD-WAN network 120, asecond site 130, and athird site 140 are included.
Thefirst site 110, thesecond site 130, and thethird site 140 may be physically independent small networks, which may be headquarters networks of enterprise users, networks of cloud data centers and branch offices, and the like, and may be created by using Local Area Network (LAN) technology or other communication technology, which is not limited herein.
As shown in fig. 1, thefirst station 110, thesecond station 130, and thethird station 140 are connected to the SD-WAN network 120 through CPEs, respectively, for example, thefirst station 110 is connected to the SD-WAN network 120 through the first CPE111, thesecond station 130 is connected to the SD-WAN network 120 through the second CPE131, and thethird station 140 is connected to the SD-WAN network 120 through thethird CPE 141. The CPEs, for example, the first CPE111, the second CPE131, and the third CPE141, may be a router, a switch, a modem (modem), or may also be a gateway device or a Relay Node (RN), and are configured to provide access to internet services such as a wired broadband, an Internet Protocol Television (IPTV), a voice over internet protocol (VoIP), and the like, for terminal devices in the respective sites (thefirst site 110, thesecond site 130, and the third site 140). The terminal device may be a device providing voice and/or data connectivity to a user, and may include, for example, a handheld device, a computer, and the like having a wired or wireless connection function, a mobile device built in a computer or mounted in a vehicle, a smart wearable device such as smart glasses or a smart watch, a Virtual Reality (VR) device, or a wireless or wired terminal device in a smart home (smart home), and the like.
The SD-WAN network 120 may be operating on one or more carrier networks including carrier edge (PE) devices. The SD-WAN network 120 may be managed by a Software Defined Network (SDN)controller 121, as an example, theSDN controller 121 may control CPE devices of respective sites to access the SD-WAN network 120 through different PE devices, a PE device connected to a CPE may be a PE device attached to an operator network and closest to a physical location of the CPE, as shown in fig. 1, theSDN controller 121 determines a PE device connected to the first CPE111 as afirst PE device 122, a PE device connected to a second CPE131 as asecond PE device 123, and a PE device connected to a third CPE141 as athird PE device 124, and then theSDN controller 121 transmits registration responses to the first CPE111, the second CPE131, and the third CPE141, respectively, to indicate information of PE devices connected thereto, so that the first CPE111 passes through the firstCPE PE device 122, the second CPE131 passes through thesecond PE device 123, the third CPE141 is connected to the SD-WAN network 120 through thethird PE device 124. The plurality of CPEs connected to the SD-WAN network 120 communicate with each other through a virtual network tunnel to interconnect the respective sites. As an example, the virtual network tunnel between any two CPEs may include, but is not limited to, two types, and the first type of virtual network tunnel may be a virtual network tunnel that needs to guarantee quality of service (QoS) of a data flow, for example, a virtual network tunnel that uses a multi-protocol label switching (MPLS) technology or a Virtual Private Network (VPN) technology; the second type of virtual network tunnel may be a virtual network tunnel that does not require QoS guarantee for a data flow, for example, a virtual network tunnel that employs an Internet Protocol (IP) technology. And a plurality of CPEs can carry out many-to-one or one-to-many communication through the virtual network tunnel. The CPEs included in each site are respectively connected to the SD-WAN controllers 150 of the enterprise users, and are collectively managed by the SD-WAN controllers 150, for example, data traffic sent through a tunnel between any two CPEs may be controlled.
It should be noted that the number of stations, CPEs, and PE devices in fig. 1 is only an example, and in practical applications, thecommunication system 100 provided in this application may provide services for more stations or CPEs, and may include more PEs. Further, in thecommunication system 100 as shown in fig. 1, although a site, a CPE, a PE, an SD-WAN controller, and an SDN controller are shown, the architecture of the communication system may not be limited to include the above. For example, a device for carrying virtualized network functions, a wireless relay device, etc. may also be included, and are not described in detail herein.
The network architecture of the communication system provided in the embodiment of the present application may also be applied to the 5th generation communication system (5G), an advanced long term evolution (LTE-a) system, and the like.
In addition, the communication system may also be applied to future-oriented communication technologies, and the communication system described in the embodiment of the present application is for more clearly illustrating the technical solution of the embodiment of the present application, and does not form a limitation on the technical solution provided in the embodiment of the present application.
In the communication system shown in fig. 1, communication between CPEs is performed based on a virtual network tunnel. Because each virtual network tunnel (which may be referred to as a tunnel) has a limited bandwidth, congestion may be caused when the rate of data flow sent in the tunnel is too high.
To alleviate congestion, one common congestion optimization approach is: the data traffic sent through the tunnel is controlled by the SD-WAN controller. Specifically, the SD-WAN controller may determine whether it is necessary to adjust the data traffic sent by each link based on the last used bandwidth on that link and the available bandwidth of the link it is on as measured by the CPE, and then send an adjustment indication to the CPE. After receiving the adjustment instruction, the CPE controls the data traffic sent by the CPE according to the adjustment instruction. However, when the SD-WAN controller controls the data traffic sent by the tunnel, multiple interactions between the SD-WAN controller and the CPE are required to be performed, which may occupy more network resources, and the multiple interactions may also cause delay, which may not solve network congestion in time.
In view of this, the embodiments of the present application provide a data sending method, where a CPE may sense congestion occurring in a tunnel in time, and intelligently adjust a sending rate to alleviate the congestion.
The technical scheme provided by the embodiment of the application is described below with reference to the accompanying drawings.
Please refer to fig. 2, which is a flowchart illustrating a data transmission method according to an embodiment of the present application.
In the following description, the method is applied to thecommunication system 100 shown in fig. 1 as an example, that is, the transmitting device described below may be any one of the first CPE111, the second CPE131 and the third CPE141 in thecommunication system 100 shown in fig. 1, and the receiving device may be another CPE different from the transmitting device. For example, the transmitting device may be the first CPE111 and the receiving device may be the second CPE131, or the transmitting device may be the first CPE111 and the receiving device may be thethird CPE 141.
S201, the sending equipment receives the data stream from the terminal equipment.
In the communication system shown in fig. 1, the CPEs of a site receive data streams from end devices within the site, e.g., the first CPE111 receives at least one data stream from an end device in thefirst site 110. For convenience of explanation, the sending device is taken as the first CPE111 as an example hereinafter.
As an example, the first CPE111 receives 10 data streams from end devices (which may be the same end device or different end devices), and the data streams are respectively marked as data stream 1 to data stream 10. Each data stream includes service type information and an identifier of a destination terminal device. The service type information may be a service name or a service type defined by a standard, or may be an index number corresponding to the service type. The identifier of the destination terminal device may be an IP address of the destination terminal device, and the like, which is not limited herein.
As an example, each CPE may obtain, e.g., from SD-WAN controller 150, a set of identifications of end devices in sites in which other CPEs are located in the SD-WAN. For example, if the identity of the terminal device is an IP address, the set of identities of the terminal device may be a range of IP addresses (also referred to as an IP address segment, usually expressed in the form of an IP address prefix). Specifically, after each station is connected to the SD-WAN network 120, the SD-WAN controller 150 may configure a range of IP addresses that can be used for the end devices in the station, and transmit the range of IP addresses to the CPEs in the station, and at this time, the station may be regarded as one subnet and the CPEs of the station as a gateway of the subnet. Thus, when an end device accesses the CPE, the CPE can select an IP address from the range of IP addresses to assign to the end device. Therefore, after the first CPE111 receives the data stream, the first CPE111 may obtain the range of the IP address corresponding to the CPE at each site from the SD-WAN controller 150, and of course, the first CPE111 may also obtain the range of the IP address corresponding to each CPE in other manners, which is not limited herein. Then, the first CPE111 may determine CPEs to which the IP addresses of the destination terminal devices carried by each data stream belong, for example, the IP addresses allocated by the second CPE131 range from IP address 1 to IP address 200, the IP addresses allocated by the third CPE141 range from IP address 201 toIP address 400, and the IP addresses of the destination terminal devices carried by the data streams 1 to 10 all belong to the IP address range corresponding to thesecond CPE 131.
In the embodiment of the present application, at least one data stream received by a destination receiving device as the same receiving device (CPE) may be regarded as a data stream set. Because the data stream sent by the terminal device in the site is dynamically changed, the data stream set is also dynamically changed, and the data stream can be added newly or deleted after the data stream is sent completely.
S202, the sending device sends the data stream to the receiving device.
After the sending device receives the data streams, the receiving device corresponding to each data stream may be determined according to the identifier of the destination terminal device indicated in the data stream, and then the data streams are sent to the corresponding receiving devices through the tunnel between the sending device and the receiving devices.
Following the above example, the first CPE111 determines that the IP addresses of the destination terminal devices carried by the data streams 1 to 10 all belong to the range of the IP address corresponding to the second CPE131, and then the first CPE111 sends the data streams 1 to 10 to the second CPE131 according to the preset sending rate of the tunnel between the first CPE111 and thesecond CPE 131.
Of course, the first CPE111 may also send another data stream set to the third CPE141 at the same time, and the specific sending manner is similar to the above process, and is not described herein again. For convenience of explanation, a communication process between the first CPE111 and the second CPE131 is taken as an example hereinafter, that is, the receiving apparatus is thesecond CPE 131.
S203, the sending equipment acquires the first information.
In the embodiment of the present application, the first information includes, but is not limited to, the following two cases.
In the first case, the first information includes priority information of a set of data flows carried in a tunnel between the sending device and the receiving device. In the second case, the first information includes priority information of the data stream set and rate information of the data stream set.
It should be noted that the priority information and the rate information of the data flow set are counted in units of tunnels, and data flows sent by terminal devices in the same site may be sent to different destination terminal devices. It can be considered that, if multiple data flows are sent to the same destination terminal device, the multiple data flows are carried in the same tunnel. Therefore, in this embodiment of the present application, after the device sends the data stream, a tunnel corresponding to each data stream may be determined according to an identifier of a destination terminal device included in each data stream, and then priority information or rate information in a data stream set carried by each tunnel is counted.
The following describes the acquisition of priority information and rate information of a set of data flows in a tunnel between the first CPE111 and the second CPE131, respectively.
Priority information of a data flow set:
the priority can be divided into two high and low priorities, or can be divided into four priorities of 1-4, or eight priorities of 1-8, or sixteen priorities of 1-16.
For a first example, a header of a data stream may carry priority information, for example, a Differentiated Services Code Point (DSCP) of a header of a packet carries the priority information. In this case, the priority corresponding to each data flow may be determined directly from the packet header of each data flow.
As a second example, the priority may also be configured in advance according to the service type. For example, different priorities are configured in advance for different traffic types in the first CPE111, as shown in table 1. In table 1, the priorities corresponding to the service types a to G are sequentially priority 1 to priority 7, and the priority levels of the priority 1 to the priority 7 are sequentially decreased.
TABLE 1
Type of servicePriority level
A1
B2
C3
D4
E5
F6
G7
After receiving the data stream set sent by the terminal device, the first CPE111 determines the priority corresponding to each data stream according to the correspondence between the service type and the priority level shown in table 1 and the service type information carried in each data stream. For example, the first CPE111 receives 10 data streams sent by the terminal device, and the data streams are respectively marked as data stream 1 to data stream 10, and if the identifiers of the destination terminal devices carried in the 10 data streams are the same, the 10 data streams are carried in the same tunnel. In the above manner, the priorities of the data streams 1 to 10 are determined to be priority 1, priority 2, priority 3, priority 4, priority 5, priority 6, priority 7, priority 1, priority 2 and priority 3 in turn.
Of course, the priority may also be fixedly set according to the customer requirement when the network is deployed, and in this case, the priority for acquiring each data stream is similar to that in the second example, and is not described herein again.
In the embodiment of the present application, the priority information of the data stream set may be understood as the priority of each data stream in the data stream set.
Rate information of data stream set:
as an example, the sending device may obtain a rate of each data flow in the set of data flows carried by each tunnel, and obtain a total rate of the data flows carried by the tunnel.
For example, the first CPE111 receives 10 data streams sent by the terminal device, and the data streams are respectively marked as data stream 1 to data stream 10, and if the identifiers of the destination terminal devices carried in the 10 data streams are the same, the 10 data streams are carried in the same tunnel. Then, the first CPE111 determines that the rates of the data streams 1 to 10 are 10MB, 30MB, 20MB, 10MB, 30MB, 20MB, 10MB, and 10MB in sequence, so as to obtain that the total rate of the data stream carried by the tunnel is 180 MB.
Alternatively, the rate information may be the rate of each data stream in the set of data streams.
As another example, the sending device may obtain a ratio of a first rate to a rate of a set of data streams of the tunnel, where the first rate is a sum of rates of data streams of the set of data streams having a priority higher than a second priority; alternatively, a ratio of a second rate to a rate of a data flow set of the tunnel may be obtained, where the second rate is a sum of rates of data flows in the data flow set, the priority of which is lower than or equal to a third priority. The second priority and the third priority may be the same or different, and are not limited herein.
In this example, the rate information of the set of data streams may be understood as the rate of the high priority data stream or the rate of the low priority data stream in the set of data streams.
Taking the rate ratio of the data stream with the rate information of the data stream set as the high priority as an example, the second priority may be priority 4, the priority of the first CPE111 for acquiring the data streams 1 to 10 is priority 1, priority 2, priority 3, priority 4, priority 5, priority 6, priority 7, priority 1, priority 2, and priority 3, and the rates of the data streams 1 to 10 are 10MB, 30MB, 20MB, 10MB, 30MB, 20MB, 10MB, and 10 MB. The data streams with priority higher than or equal to priority 4 are respectively data streams 1 to 4 and 7 data streams 8 to 10, the total rate of the 7 data streams is 110MB, and the total rate of the data streams 1 to 10 is 180MB, so the rate ratio of the data streams with high priority is 110/180-11/18.
In the above example, it is described by taking an example that multiple data streams received by the sending device correspond to the same tunnel, and when multiple data streams correspond to different tunnels, a processing manner of a data stream set in each tunnel is similar to the above process, and is not described again here.
Of course, the first information may also include other content, and is not limited herein.
S204, the sending equipment receives the second information from the receiving equipment.
In this embodiment of the application, the second information includes network state information of the tunnel, for example, the network state information includes at least one of time delay, jitter, and packet loss information (e.g., packet loss rate and/or packet loss number). As an example, taking the case that the network status information includes a packet loss rate, when the second CPE131 receives the set of data streams sent by the first CPE111, it may determine whether to drop the packet according to a sequence number of the data packet in each data stream. For example, when the second CPE131 receives a data packet with sequence number 1 and a data packet with sequence number 4 in a certain data stream, it is determined that the data stream includes a total of 4 data packets, and two data packets with sequence number 2 and sequence number 3 are lost. And determining the lost data packet in each data stream in the same way, and determining the packet loss rate through all the data packets from the data stream set and all the lost data packets.
When the second CPE131 obtains the second information, the second information may be carried in feedback information about the data flow, for example, the second information is carried in an Acknowledgement (ACK) and sent to thefirst CPE 111. Alternatively, the second information may be sent to the first CPE111 as an independent information, and in this embodiment, the sending method of the second information is not limited.
It should be noted that, in the embodiment of the present application, step S204 is an optional step, i.e., it is not necessary to perform it, and is indicated by a dashed line in fig. 3. In addition, the execution order of step S203 and step S204 is not limited. For example, step S204 may be executed first and then step S204 is executed, step S204 may be executed first and then step S203 may be executed, or step S203 and step S204 may be executed simultaneously, and step S203 and step S204 are executed first and then step S204 is executed in fig. 3 as an example.
S205, the sending equipment determines that the tunnel is congested.
After the first CPE111 receives the second information, the first CPE111 may determine whether a tunnel between the first CPE111 and the second CPE131 is congested according to the second information. For example, taking the second information as the packet loss rate as an example, the first CPE111 pre-stores a judgment threshold for judging whether congestion occurs, if the first CPE111 determines that the packet loss rate included in the second information exceeds the judgment threshold, the first CPE111 determines that a tunnel between the first CPE111 and the second CPE131 is congested, otherwise, the tunnel is not congested. For example, the determination threshold is 40%, and the packet loss rate obtained by the first CPE111 is 50% > 40%, so the first CPE111 determines that the tunnel is congested. Of course, determining whether the physical link is congested according to the packet loss rate may also adopt other manners, which is not limited herein.
When the second information includes other content, such as packet loss information or jitter information, the first CPE111 may determine whether the tunnel is congested in a manner similar to the above content, which is not described herein again.
S206, the sending equipment adjusts the sending rate of the tunnel according to the first information.
In the embodiment of the present application, the tunnel refers to a tunnel between a sending device and a receiving device, for example, a tunnel between the first CPE111 and thesecond CPE 131. The sending device adjusts the sending rate of the tunnel according to the first information, which may be understood as that the sending device adjusts the sending rate of a first data flow carried in the tunnel, where the first data flow is a data flow in the set of data flows, whose priority is lower than the first priority. Of course, there may be multiple data streams with priority lower than the first priority in the data stream set, for example, there is a second data stream, a third data stream, and so on, and then the sending device further adjusts the sending rate of the second data stream.
Specifically, the sending device adjusting the sending rate of the tunnel according to the first information includes the following two scenarios:
the first scenario is that the tunnel is congested, and the sending equipment reduces the sending rate of the tunnel according to the first information;
the second scenario is that after the tunnel is not congested or congestion is relieved, the sending device increases the sending rate of the tunnel according to the first information.
In the first scenario, the content included in the first information is different, including but not limited to the following various implementations.
A first adjustment manner, where the first information only includes priority information of the data flow set, and the sending device adjusts the sending rate of the tunnel according to the first information, specifically including:
and the sending equipment adjusts the sending rate of the tunnel to a first rate, wherein the first rate is the sum of the rates of the data streams with the priority not lower than the second priority in the data stream set.
As an example, if the first information is priority information of each data stream in the data stream set, the sending device first determines, according to the first information, data streams having a priority not lower than the second priority in the data stream set, for example, the priorities of data streams 1 to 10 are priority 1, priority 2, priority 3, priority 4, priority 5, priority 6, priority 7, priority 1, priority 2, and priority 3, and the second priority is priority 4, the sending device compares the priority of each data stream with the second priority, and determines that the data streams having a priority not lower than the second priority are data streams 1 to 4, and data streams 8 to 10. Thereby adjusting the transmission rate of the tunnel to the rates of data stream 1 to data stream 4 and data stream 8 to data stream 10.
A second adjustment manner, where the first information includes priority information of a data flow set and rate information of the data flow set, and the sending device adjusts a sending rate of the tunnel according to the first information, specifically including:
when the ratio of the first rate to the rate of the data stream set is not greater than the bandwidth ratio threshold, the sending equipment adjusts the sending rate of the tunnel to be the product of the sending rate of the tunnel and the bandwidth ratio threshold; wherein the first rate is the sum of the rates of the data streams with the priority higher than the second priority in the data stream set;
when the ratio of the first rate to the rate of the data stream set is greater than the bandwidth ratio threshold, the sending device adjusts the sending rate of the tunnel to the first rate.
It should be noted that the bandwidth ratio threshold may be a preset transmission rate for adjusting the tunnel by the transmitting device, and if it is not necessary to guarantee that the data stream with higher priority can be transmitted preferentially, when the transmitting device needs to adjust the transmission rate of the tunnel, the transmission rate of the tunnel may be adjusted to be a product of the transmission rate of the tunnel before the adjustment and the bandwidth ratio threshold, where the transmission rate of the tunnel before the adjustment may be a preset transmission rate or a transmission rate after the adjustment.
As an example, assuming that the bandwidth utilization threshold is 5/10, following the previous example, the first rate is 110MB and the ratio of the first rate to the rate of the data stream set is 11/18, since 11/18>5/10, the sending device adjusts the sending rate of the tunnel to the first rate, i.e., 110 MB.
In the above technical solution, in order to ensure that a data flow with a higher priority can be sent preferentially, when the sending device adjusts the sending rate of the tunnel, the rate duty ratio of the data flow with the higher priority is compared with the bandwidth duty ratio threshold, and if the rate duty ratio of the data flow with the higher priority is not greater than the bandwidth duty ratio threshold, the sending device determines that the adjusted sending rate is the product of the sending rate of the tunnel before the adjustment and the bandwidth duty ratio threshold, so that the data flow with the higher priority can be sent preferentially, and since the sending rate of the tunnel is reduced, when the tunnel is congested, the congestion degree of the tunnel can be relieved. If the rate occupation ratio of the data stream with higher priority is greater than the bandwidth occupation ratio threshold, in order to make the data stream with higher priority transmit preferentially, the adjusted transmission rate is determined to be the rate of the data stream with higher priority.
As another example, if the rate information further includes the total rate of the data flows carried by the tunnel, before the sending device adjusts the sending rate of the tunnel, it may be determined whether the total rate of the data flows carried by the tunnel is greater than or equal to a second threshold, and if the total rate of the data flows carried by the tunnel is less than the second threshold, it indicates that there are fewer data flows in the data flow set. If the total rate of the data stream carried by the tunnel is greater than the second threshold, the sending device may adjust the sending rate of the tunnel in the foregoing manner.
It should be noted that, as can be seen from the foregoing description of the rate information of the data stream set in step S203, the rate information may include a plurality of different contents, for example, the rate of each data stream, the total rate of the data streams in the data stream set, or the rate ratio of the data streams with low priority, so that, when the rate information is not the rate ratio of the data streams with high priority in the data stream set, the sending device needs to first determine the rate ratio of the data streams with high priority in the data stream set according to the rate information, and then determine the adjusted sending rate according to the above manner.
In a second scenario, if the first information includes priority information of a data stream set and rate information of the data stream set, the sending device adjusts a sending rate of the tunnel according to the first information, which specifically includes:
the sending device increases the sending rate of the tunnel by a rate adjustment value, wherein the rate adjustment value is a preset value or the rate of the data stream with the priority lower than the second priority.
As an example, the preset value may be a fixed rate, for example, 10 MB. Or, the rate adjustment value may be a rate of a certain data stream, and the data stream may be a data stream of a certain priority, for example, the sending device may preset the rate of the data stream of which the rate adjustment value is priority 5, and then the sending device determines the data stream of priority 5 from the data stream set as the data stream 5 according to the first information, so as to adjust the sending rate of the tunnel to a sum of the sending rate at the current time and the rate of the data stream 5. The transmission rate at the present time may be understood as the transmission rate of the tunnel before the adjustment is made, and may be, for example, a preset transmission rate or a last adjusted transmission rate.
The first priority and the second priority may be the same or different, and are not limited herein. The bandwidth ratio threshold may be other names, and the names are not limited herein.
According to the above technical solution, the sending device adjusts the sending rate by combining the data streams with the priority not lower than the second priority in the data stream set, that is, after the sending rate of the tunnel is adjusted, the sending rate of the data stream with the higher priority can be ensured, so as to avoid the problem that the data stream with the higher priority is discarded due to the indiscriminate packet loss of the data stream in the transmission process of the SD-WAN network 120 after the tunnel is congested, and realize that the data stream with the higher priority can be sent preferentially after the tunnel is congested.
And S207, the sending equipment sends the data stream to the receiving equipment according to the adjusted sending rate.
After determining the adjusted sending rate, the first CPE111 sends the data streams in the data stream set from high to low according to the adjusted sending rate and the priority, thereby ensuring that the data stream with high priority can be sent preferentially.
It should be noted that, if two types of tunnels are included between the sending device and the receiving device, that is, a first type of virtual network tunnel that needs to guarantee the QoS of the data flow and a second type of virtual network tunnel that does not need to guarantee the QoS of the data flow, the above-mentioned adjustment process of the sending rate may be performed for the first type of virtual network tunnel. In this case, if the adjusted sending rate is smaller than the sending rate of the tunnel before the adjustment, the sending device may migrate part of the data stream to the second type of virtual network tunnel for sending, so as to reduce the sending rate of the first type of virtual network tunnel.
In the technical scheme, the sending equipment can timely sense the congestion of the tunnel, and can automatically adjust the sending rate of the tunnel according to the priority information of the data stream carried in the tunnel, so that the interactive flow between the sending equipment and the controller is reduced, and the occupied network resources and time delay when the network congestion is solved can be reduced.
Further, the sending rate of the tunnel is determined according to the priority of the data stream, so that the data stream with high priority can be guaranteed to be sent preferentially, for example, the data stream of a service with high priority, such as voice or video, can be sent preferentially, and the user experience can be improved.
In the embodiment shown in fig. 2, the sending device may adjust the sending rate of the tunnel in combination with the network status information of the tunnel fed back by the receiving device and the priority information of the data flow set. In other embodiments, the sending device may also adjust the sending rate of the tunnel in conjunction with the request to adjust the sending rate sent by the receiving device. Please refer to fig. 3, which is a flowchart illustrating another example of a data transmission method according to an embodiment of the present application, where the flowchart describes the following:
s301, the sending equipment receives the data stream from the terminal equipment.
S302, the sending device sends the data stream to the receiving device.
Steps S301 to S302 are similar to steps S201 to S202, and are not described herein again.
S303, the sending device receives the third information from the receiving device.
In this embodiment, the third information is used to request the sending device to adjust the sending rate of the tunnel.
In the embodiment of the present application, the third information includes, but is not limited to, the following two cases.
In the first case, the third information is only used to request the sending device to adjust the sending rate of the tunnel, and the adjustment of the sending rate may be to increase the sending rate or to decrease the sending rate. In this case, the receiving device merely indicates that the transmitting device needs to adjust the transmission rate of the tunnel, and the adjustment value is decided by the transmitting device.
In the second case, the third information further includes a second rate or an adjustment ratio, and the adjusted sending rate does not exceed the second rate or does not exceed the product of the sending rate of the tunnel before the adjustment and the adjustment ratio. In this case, the receiving device is not only used to indicate that the transmitting device needs to adjust the transmission rate of the tunnel, but the adjustment value is also indicated by the receiving device.
Specifically, the receiving device may determine whether the transmission rate of the tunnel of the transmitting device needs to be adjusted according to at least one of the delay, jitter, and packet loss information (e.g., packet loss rate and/or number of packet losses) of the data stream received in step S402. As an example, the second CPE131 may determine whether the delay of the data stream exceeds a delay threshold, and if the delay of the data stream exceeds the delay threshold, it indicates that a tunnel between the first CPE111 and the second CPE131 is congested, the second CPE131 may determine that the sending rate of the sending device needs to be adjusted, and then generate the third information; if the delay of the data stream does not exceed the delay threshold, the third information may not be generated.
The manner of determining whether to generate the third information according to the packet loss information or the jitter information by the receiving device is similar to that described above, and is not described herein again.
S304, the sending equipment acquires the first information.
Step S304 is similar to step S203 and will not be described herein.
S305, the sending equipment adjusts the sending rate of the tunnel according to the first information and/or the third information.
In this embodiment of the application, the sending device adjusts the sending rate of the tunnel according to the first information and/or the third information, which may include, but is not limited to, the following ways:
in a first manner, the third information is only used to request the sending device to adjust the sending rate of the tunnel, and then the sending device may determine whether to accept the request for adjusting the sending rate of the tunnel sent by the receiving device according to the first information, for example, determine whether the total rate of the data stream set exceeds a preset rate according to the first information, determine the adjusted sending rate according to the first information if the total rate exceeds the preset rate, and if the total rate does not exceed the preset rate, not accept the request for adjusting the sending rate of the tunnel sent by the receiving device, and not adjust the sending rate.
In a second manner, the third information further includes a second rate or an adjustment ratio, the sending device may determine whether to receive the request for adjusting the sending rate of the tunnel sent by the receiving device according to the first information, and if the request for adjusting the sending rate of the tunnel sent by the receiving device is received, determine the adjusted sending rate according to the third information.
In a third manner, if the third information further includes the second rate or the adjustment ratio, the sending device may determine whether to receive the request for adjusting the sending rate of the tunnel sent by the receiving device according to the first information, and if the request for adjusting the sending rate of the tunnel sent by the receiving device is received, the adjusted sending rate is determined according to the first information, and the sending device, after determining the adjusted sending rate, may further determine whether the adjusted sending rate is greater than the second rate in the third information, or determining whether the adjusted rate is greater than the product of the sending rate before the adjustment and the adjustment proportion in the third information, if so, determining that the sending rate of the tunnel is the first rate or the product of the sending rate before adjustment and the adjustment proportion in the third information, and if not, determining that the sending rate of the tunnel is the adjusted sending rate.
In addition, if the sending device determines to increase the sending rate of the tunnel by the rate adjustment value, the rate adjustment value may also be determined according to the second rate or the adjustment ratio in the third information. For example, the rate adjustment value may be a product of the second rate and a preset ratio, which may be 10% or 20%, etc. Alternatively, the rate adjustment value is the product of the transmission rate and the adjustment ratio before the adjustment is made. Then, the transmitting apparatus determines an adjusted transmission rate using the rate adjustment value determined from the third information.
S306, the sending device sends the data stream to the receiving device according to the adjusted sending rate.
Specifically, the sending device sends the data streams in the data stream set from high to low according to the adjusted sending rate, so as to ensure that the data streams with high priority can be sent preferentially.
Step S306 is similar to step S207, and is not described herein again.
The sending equipment can sense the congestion of the tunnel in time, and can automatically adjust the sending rate of the tunnel according to the priority information of the data flow loaded in the tunnel, thereby reducing the interactive flow between the sending equipment and the controller, and realizing the reduction of occupied network resources and time delay when the network congestion is solved.
In the embodiments provided in the present application, the methods provided in the embodiments of the present application are introduced from the perspective of the sending device, respectively. In order to implement the functions in the method provided by the embodiment of the present application, the sending device may include a hardware structure and/or a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure and a software module. Whether any of the above-described functions is implemented as a hardware structure, a software module, or a hardware structure plus a software module depends upon the particular application of the technical solution and the constraints imposed on the implementation.
Fig. 4 shows a schematic structural diagram of adata transmission apparatus 400. Thedata sending apparatus 400 may be a sending device or an apparatus built in the sending device, and can implement the function of the sending device in the method provided by the embodiment of the present application. Thedata transmission apparatus 400 may be a hardware structure, a software module, or a hardware structure plus a software module. Thedata transmission apparatus 400 may be implemented by a system-on-chip. In the embodiment of the present application, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
Thedata transmission apparatus 400 may include aprocessing module 401 and acommunication module 402.
Theprocessing module 401 is configured to obtain first information, where the first information includes priority information of a data flow set carried in a tunnel between a sending device and a receiving device; adjusting the sending rate of the tunnel according to the first information; and according to the adjusted sending rate, sending the data stream to the receiving device by using thecommunication module 402.
Specifically, theprocessing module 401 may be configured to perform step S203, step S205 to step S206 in the embodiment shown in fig. 2, or configured to perform step S304 and step S305 in the embodiment shown in fig. 3, and/or configured to support other processes of the techniques described herein. Thecommunication module 402 is used for thedata transmission apparatus 400 to communicate with other modules, and may be a circuit, a device, an interface, a bus, a software module, a transceiver, or any other apparatus capable of implementing communication.
Theprocessing module 401 executes steps S201 to S202, S204, and S207 in the embodiment shown in fig. 2, or executes steps S301 to S303, and S306 in the embodiment shown in fig. 3, and/or other processes for supporting the techniques described herein, using thecommunication module 402.
All relevant contents of each step related to the above method embodiment may be referred to the functional description of the corresponding functional module, and are not described herein again.
The division of the modules in the embodiments of the present application is schematic, and only one logical function division is provided, and in actual implementation, there may be another division manner, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one module by two or more modules. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
Fig. 5 shows a data transmitting apparatus 500 provided in the embodiment of the present application, where the data transmitting apparatus 500 may be the transmitting device in the embodiments shown in fig. 2 and fig. 3 or an apparatus built in the transmitting device, and can implement the function of the transmitting device in the method provided in the embodiment of the present application. The data transmission device 500 may be a chip system. In the embodiment of the present application, the chip system may be composed of a chip, and may also include a chip and other discrete devices.
The data transmission device 500 includes acommunication interface 510 and aprocessor 520.
Theprocessor 520 is used for implementing or supporting the data transmission apparatus 500 to implement the functions of the transmission device in the method provided by the embodiment of the present application. For example, theprocessor 520 may adjust the sending rate of the tunnel according to the first information, which is specifically described in the detailed description of the method example and is not described herein again.
The data transmission device 500 may also include at least onememory 530 for storing program instructions and/or data. Thememory 530 is coupled to theprocessor 520. The coupling in the embodiments of the present application is an indirect coupling or a communication connection between devices, units or modules, and may be an electrical, mechanical or other form for information interaction between the devices, units or modules. Theprocessor 520 may operate in conjunction with thememory 530.Processor 520 may execute program instructions stored inmemory 530. At least one of the at least one memory may be included in the processor.
The data transmission apparatus 500 can communicate with other devices through thecommunication interface 510. Illustratively, the other device may be a receiving device.Processor 520 may utilizecommunication interface 510 to transmit a data stream to a receiving device.
Thecommunication interface 510 may be a wired communication interface, such as an ethernet interface, a wireless communication interface, or a combination thereof. The ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a WLAN interface, a cellular network communication interface, a combination thereof, or the like.
The specific connection medium among thecommunication interface 510, theprocessor 520, and thememory 530 is not limited in the embodiments of the present application. In the embodiment of the present application, thememory 530, theprocessor 520, and thecommunication interface 510 are connected by abus 540 in fig. 5, the bus is represented by a thick line in fig. 5, and the connection manner between other components is merely illustrative and is not limited thereto. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 5, but this is not intended to represent only one bus or type of bus.
Memory 530 may be used to store table 1 above.
In the embodiment of the present application, theprocessor 520 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP.Processor 520 may also include hardware chips. The hardware chip may be an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof. The steps of a method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in a processor.
In the embodiment of the present application, thememory 530 may be a non-volatile memory, such as a Hard Disk Drive (HDD) or a solid-state drive (SSD), and may also be a volatile memory (RAM), for example, a random-access memory (RAM). The memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such. The memory in the embodiments of the present application may also be circuitry or any other device capable of performing a storage function for storing program instructions and/or data.
Also provided in an embodiment of the present application is a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method performed by the transmitting device in any one of the embodiments of fig. 2 or fig. 3.
Also provided in an embodiment of the present application is a computer program product including instructions that, when executed on a computer, cause the computer to perform the method performed by the transmitting device in any one of the embodiments of fig. 2 or fig. 3.
The embodiment of the present application provides a chip system, where the chip system includes a processor and may further include a memory, and is configured to implement the function of the sending device in the foregoing method. The chip system may be formed by a chip, and may also include a chip and other discrete devices.
An embodiment of the present application provides a communication system, where the communication system includes the foregoing sending device, and further includes a receiving device. And the sending equipment and the receiving equipment communicate through a tunnel.
The method provided by the embodiment of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, a network appliance, a user device, or other programmable apparatus. The computer instructions may be stored in, or transmitted from, a computer-readable storage medium to another computer-readable storage medium, e.g., from one website, computer, server, or data center, over a wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL), for short) or wireless (e.g., infrared, wireless, microwave, etc.) network, the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more integrated servers, data centers, etc., the available medium may be magnetic medium (e.g., floppy disk, hard disk, magnetic tape), optical medium (e.g., digital video disc (digital video disc, DVD for short), or a semiconductor medium (e.g., SSD).
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (16)

Translated fromChinese
1.一种数据发送方法,其特征在于,包括:1. a data transmission method, is characterized in that, comprises:发送设备获取第一信息,所述第一信息中包括所述发送设备与接收设备之间的隧道中承载的数据流集合的优先级信息;The sending device acquires first information, where the first information includes priority information of a set of data streams carried in the tunnel between the sending device and the receiving device;所述发送设备根据所述第一信息调整所述隧道的发送速率;The sending device adjusts the sending rate of the tunnel according to the first information;所述发送设备根据调整后的发送速率,向所述接收设备发送所述数据流。The sending device sends the data stream to the receiving device according to the adjusted sending rate.2.根据权利要求1所述的方法,其特征在于,所述发送设备根据所述第一信息调整所述隧道的发送速率,包括:2. The method according to claim 1, wherein the sending device adjusts the sending rate of the tunnel according to the first information, comprising:所述发送设备调整所述隧道中承载的第一数据流的发送速率,所述第一数据流为所述数据流集合中优先级低于第一优先级的数据流。The sending device adjusts the sending rate of the first data flow carried in the tunnel, where the first data flow is a data flow with a priority lower than the first priority in the data flow set.3.根据权利要求1或2所述的方法,其特征在于,所述发送设备根据所述第一信息调整所述隧道的发送速率,包括:3. The method according to claim 1 or 2, wherein the sending device adjusts the sending rate of the tunnel according to the first information, comprising:所述发送设备将所述隧道的发送速率调整为第一速率,其中,所述第一速率为所述数据流集合中优先级不低于第二优先级的数据流的速率之和;或,The sending device adjusts the sending rate of the tunnel to a first rate, where the first rate is the sum of the rates of the data streams whose priorities are not lower than the second priority in the data stream set; or,所述发送设备将所述隧道的发送速率增加速率调整值,所述速率调整值为预设值或优先级低于所述第二优先级的第二数据流的速率。The sending device increases the sending rate of the tunnel by a rate adjustment value, where the rate adjustment value is a preset value or a rate of a second data stream with a priority lower than the second priority.4.根据权利要求1或2所述的方法,其特征在于,所述第一信息还包括所述数据流集合的速率信息,所述发送设备根据所述第一信息调整所述隧道的发送速率,包括:The method according to claim 1 or 2, wherein the first information further comprises rate information of the data stream set, and the sending device adjusts the sending rate of the tunnel according to the first information ,include:当第一速率与所述数据流集合的速率的比值不大于带宽占比阈值,所述发送设备将所述隧道的发送速率调整为所述隧道的发送速率与所述带宽占比阈值的乘积;其中,所述第一速率为所述数据流集合中优先级不低于第二优先级的数据流的速率之和;When the ratio of the first rate to the rate of the data stream set is not greater than the bandwidth ratio threshold, the sending device adjusts the transmission rate of the tunnel to be the product of the transmission rate of the tunnel and the bandwidth ratio threshold; Wherein, the first rate is the sum of the rates of the data streams whose priorities are not lower than the second priority in the data stream set;当所述第一速率与所述数据流集合的速率的比值大于带宽占比阈值,所述发送设备将所述隧道的发送速率调整为所述第第一速率。When the ratio of the first rate to the rate of the data stream set is greater than the bandwidth ratio threshold, the sending device adjusts the sending rate of the tunnel to the first rate.5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述发送设备根据所述第一信息调整所述发送速率之前,所述方法还包括:5. The method according to any one of claims 1-4, wherein before the sending device adjusts the sending rate according to the first information, the method further comprises:所述发送设备从所述接收设备接收第二信息,所述第二信息包括所述隧道的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;The sending device receives second information from the receiving device, where the second information includes network state information of the tunnel, and the network state information includes at least one of delay, jitter, and packet loss information;所述发送设备根据所述第二信息确定所述隧道发生拥塞或解除拥塞。The sending device determines that the tunnel is congested or uncongested according to the second information.6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述发送设备根据所述第一信息调整所述发送速率之前,所述方法还包括:6. The method according to any one of claims 1-5, wherein before the sending device adjusts the sending rate according to the first information, the method further comprises:所述发送设备从所述接收设备接收第三信息,所述第三信息用于请求所述发送设备调整所述发送速率。The sending device receives third information from the receiving device, where the third information is used to request the sending device to adjust the sending rate.7.根据权利要求6所述的方法,其特征在于,所述第三信息中还包括第二速率或调整比例,所述调整后的发送速率不超过所述第二速率,或者不超过所述隧道的发送速率与所述调整比例的乘积。7. The method according to claim 6, wherein the third information further includes a second rate or an adjustment ratio, and the adjusted transmission rate does not exceed the second rate, or does not exceed the The tunnel's transmit rate multiplied by the scaling.8.一种数据发送装置,其特征在于,包括:8. A data transmission device, comprising:通信模块,用于获取第一信息,所述第一信息中包括所述数据发送装置与接收设备之间的隧道中承载的数据流集合的优先级信息;a communication module, configured to acquire first information, where the first information includes priority information of a set of data streams carried in the tunnel between the data sending apparatus and the receiving device;处理模块,用于根据所述第一信息调整所述隧道的发送速率;a processing module, configured to adjust the transmission rate of the tunnel according to the first information;所述通信模块,还用于根据调整后的发送速率,向所述接收设备发送所述数据流。The communication module is further configured to send the data stream to the receiving device according to the adjusted sending rate.9.根据权利要求8所述的装置,其特征在于,所述处理模块根据所述第一信息调整所述隧道的发送速率,具体用于:9 . The apparatus according to claim 8 , wherein the processing module adjusts the transmission rate of the tunnel according to the first information, and is specifically used for:调整所述隧道中承载的第一数据流的发送速率,所述第一数据流为所述数据流集合中优先级低于第一优先级的数据流。Adjusting the sending rate of the first data flow carried in the tunnel, where the first data flow is a data flow with a priority lower than the first priority in the data flow set.10.根据权利要求8或9所述的装置,其特征在于,所述处理模块根据所述第一信息调整所述隧道的发送速率,具体用于:The device according to claim 8 or 9, wherein the processing module adjusts the transmission rate of the tunnel according to the first information, and is specifically used for:将所述隧道的发送速率调整为第一速率,其中,所述第一速率为所述数据流集合中优先级不低于第二优先级的数据流的速率之和;或,adjusting the transmission rate of the tunnel to a first rate, where the first rate is the sum of the rates of the data streams whose priorities are not lower than the second priority in the data stream set; or,将所述隧道的发送速率增加速率调整值,所述速率调整值为预设值或优先级低于所述第二优先级的数据流的速率。The transmission rate of the tunnel is increased by a rate adjustment value, where the rate adjustment value is a preset value or a rate of a data stream with a priority lower than the second priority.11.根据权利要求8或9所述的装置,其特征在于,所述第一信息还包括所述数据流集合的速率信息,所述处理模块根据所述第一信息调整所述隧道的发送速率,具体用于:The apparatus according to claim 8 or 9, wherein the first information further comprises rate information of the data stream set, and the processing module adjusts the transmission rate of the tunnel according to the first information , specifically for:当第一速率与所述数据流集合的速率的比值不大于带宽占比阈值,所述调整模块将所述隧道的发送速率调整为所述隧道的发送速率与所述带宽占比阈值的乘积;其中,所述第一速率为所述数据流集合中优先级高于第二优先级的数据流的速率之和;When the ratio of the first rate to the rate of the data stream set is not greater than the bandwidth ratio threshold, the adjustment module adjusts the transmission rate of the tunnel to be the product of the transmission rate of the tunnel and the bandwidth ratio threshold; Wherein, the first rate is the sum of the rates of the data streams with priorities higher than the second priority in the data stream set;当所述第一速率与所述数据流集合的速率的比值大于带宽占比阈值,所述调整模块将所述隧道的发送速率调整为所述第一速率。When the ratio of the first rate to the rate of the data stream set is greater than the bandwidth ratio threshold, the adjustment module adjusts the transmission rate of the tunnel to the first rate.12.根据权利要求8-11中任一项所述的装置,其特征在于,所述通信模块还用于:12. The device according to any one of claims 8-11, wherein the communication module is further configured to:从所述接收设备接收第二信息,所述第二信息包括所述隧道的网络状态信息,所述网络状态信息包括时延、抖动以及丢包信息中的至少一种;Receive second information from the receiving device, where the second information includes network status information of the tunnel, and the network status information includes at least one of delay, jitter, and packet loss information;所述处理模块还用于,根据所述第二信息确定所述隧道发生拥塞或解除拥塞。The processing module is further configured to determine, according to the second information, that the tunnel is congested or uncongested.13.根据权利要求8-12中任一项所述的装置,其特征在于,所述通信模块还用于:13. The device according to any one of claims 8-12, wherein the communication module is further configured to:从所述接收设备接收第三信息,所述第三信息用于请求所述数据发送装置调整所述发送速率。Third information is received from the receiving device, the third information is used to request the data transmission apparatus to adjust the transmission rate.14.根据权利要求13所述的装置,其特征在于,所述第三信息中还包括第二速率或调整比例,所述调整后的发送速率不超过所述第二速率,或者不超过所述发送速率与所述调整比例的乘积。14. The apparatus according to claim 13, wherein the third information further includes a second rate or an adjustment ratio, and the adjusted sending rate does not exceed the second rate, or does not exceed the The product of the transmit rate and the adjustment scale.15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-7中任意一项所述的方法。15. A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program includes program instructions that, when executed by a computer, cause the computer to execute a program such as: The method of any one of claims 1-7.16.一种计算机程序产品,其特征在于,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-7中任意一项所述的方法。16. A computer program product, characterized in that the computer program product stores a computer program, and the computer program includes program instructions, the program instructions, when executed by a computer, cause the computer to execute the method according to claim 1- The method of any one of 7.
CN201911025600.2A2019-10-252019-10-25 A method and device for transmitting dataActiveCN112714071B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201911025600.2ACN112714071B (en)2019-10-252019-10-25 A method and device for transmitting data

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201911025600.2ACN112714071B (en)2019-10-252019-10-25 A method and device for transmitting data

Publications (2)

Publication NumberPublication Date
CN112714071Atrue CN112714071A (en)2021-04-27
CN112714071B CN112714071B (en)2024-10-22

Family

ID=75540934

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201911025600.2AActiveCN112714071B (en)2019-10-252019-10-25 A method and device for transmitting data

Country Status (1)

CountryLink
CN (1)CN112714071B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN115967680A (en)*2021-10-122023-04-14中国移动通信有限公司研究院Traffic scheduling method and central station equipment
CN116017582A (en)*2022-12-302023-04-25福建星网智慧科技有限公司WiFi network acceleration method and device based on AI algorithm and storage medium
CN116232849A (en)*2022-12-222023-06-06之江实验室 Flow alarm method, device, equipment and medium based on programmable switch
US12120039B2 (en)2022-12-222024-10-15Zhejiang LabTraffic alarm method and apparatus based on programmable switch, device and medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6144639A (en)*1996-09-032000-11-07Sbc Technology Resources, Inc.Apparatus and method for congestion control in high speed networks
CN102231898A (en)*2011-07-052011-11-02深圳市融创天下科技股份有限公司Network bandwidth self-adaptive QOS (quality of service) transmission method and system and terminal device
CN103248965A (en)*2013-03-052013-08-14上海交通大学Method for video transmission queue scheduling based on approximate time delay
WO2015021343A1 (en)*2013-08-082015-02-12Hughes Network Systems, LlcSystem and method for providing improved quality of service over broadband networks
CN104639466A (en)*2015-03-052015-05-20北京航空航天大学Dynamic priority safeguard method for application network bandwidth based on Storm real-time flow computing framework
US20150334024A1 (en)*2012-04-202015-11-19Jeffrey Clifford MogulControlling Data Rates of Data Flows Based on Information Indicating Congestion
CN108737861A (en)*2018-05-112018-11-02浙江大学A kind of bandwidth resources Optimal Configuration Method based on decoding priority under congested environment
US20190068503A1 (en)*2016-04-282019-02-28Huawei Technologies Co., LtdCongestion processing method, host, and system
US20190158371A1 (en)*2017-11-222019-05-23Hughes Network Systems, LlcLatency increase estimated rate limiter adjustment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6144639A (en)*1996-09-032000-11-07Sbc Technology Resources, Inc.Apparatus and method for congestion control in high speed networks
CN102231898A (en)*2011-07-052011-11-02深圳市融创天下科技股份有限公司Network bandwidth self-adaptive QOS (quality of service) transmission method and system and terminal device
US20150334024A1 (en)*2012-04-202015-11-19Jeffrey Clifford MogulControlling Data Rates of Data Flows Based on Information Indicating Congestion
CN103248965A (en)*2013-03-052013-08-14上海交通大学Method for video transmission queue scheduling based on approximate time delay
WO2015021343A1 (en)*2013-08-082015-02-12Hughes Network Systems, LlcSystem and method for providing improved quality of service over broadband networks
CN104639466A (en)*2015-03-052015-05-20北京航空航天大学Dynamic priority safeguard method for application network bandwidth based on Storm real-time flow computing framework
US20190068503A1 (en)*2016-04-282019-02-28Huawei Technologies Co., LtdCongestion processing method, host, and system
US20190158371A1 (en)*2017-11-222019-05-23Hughes Network Systems, LlcLatency increase estimated rate limiter adjustment
CN108737861A (en)*2018-05-112018-11-02浙江大学A kind of bandwidth resources Optimal Configuration Method based on decoding priority under congested environment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN115967680A (en)*2021-10-122023-04-14中国移动通信有限公司研究院Traffic scheduling method and central station equipment
CN116232849A (en)*2022-12-222023-06-06之江实验室 Flow alarm method, device, equipment and medium based on programmable switch
CN116232849B (en)*2022-12-222023-12-12之江实验室 Traffic alarm method, device, equipment and media based on programmable switch
WO2024130826A1 (en)*2022-12-222024-06-27之江实验室Traffic alert method and apparatus based on programmable switch, device, and medium
US12120039B2 (en)2022-12-222024-10-15Zhejiang LabTraffic alarm method and apparatus based on programmable switch, device and medium
CN116017582A (en)*2022-12-302023-04-25福建星网智慧科技有限公司WiFi network acceleration method and device based on AI algorithm and storage medium

Also Published As

Publication numberPublication date
CN112714071B (en)2024-10-22

Similar Documents

PublicationPublication DateTitle
CN109787801B (en)Network service management method, device and system
CN112714071B (en) A method and device for transmitting data
US10491716B2 (en)Providing functional requirements for a network connection from a local library
JP7288980B2 (en) Quality of Service in Virtual Service Networks
CN105530204B (en)The system and method for video traffic QoS guarantee in software definition wireless network
CN112714072B (en)Method and device for adjusting sending rate
WO2017161982A1 (en)Method and device for multi-flow transmission in sdn network
KR101621193B1 (en)Method for providing bandwidth based on grouping of multi flow
KR20140102398A (en)Method for sharing network based on software defined network to support multiple operator
US20220070736A1 (en)Traffic steering device
CN108566286B (en) A kind of realization method of service quality of intelligent router, router and electronic equipment
KR101786620B1 (en)Method, apparatus and computer program for subnetting of software defined network
CN104735101B (en)Shared processing, sharing method and the device of Internet resources, system
JP2009536006A (en) Profile change for roaming in communication environment
CA2963243C (en)Allocating capacity of a network connection to data streams based on type
US9736719B2 (en)Adaptive resource allocation in congested wireless local area network deployment
CN107211400B (en) Network admission control method, access point and access controller
US11812378B2 (en)User management device, BNG, and BNG user internet access method and system
US12309042B2 (en)Network access method, apparatus, and system
EP4432610A1 (en)Apparatuses, methods and non-transitory computer-readable storage mediums for network access
WO2024193427A1 (en)Traffic control method, apparatus and system
CN117240793A (en)Message transmission method, communication device and communication system
WO2016023149A1 (en)Method for ensuring traffic quality of service and central controller
HK1241484B (en)Providing functional requirements for a network connection from a local library

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp