CN116016357A - Data transmission method, device, storage medium and electronic equipment - Google Patents
Data transmission method, device, storage medium and electronic equipment Download PDFInfo
- Publication number
- CN116016357A CN116016357A CN202211582476.1A CN202211582476A CN116016357A CN 116016357 A CN116016357 A CN 116016357A CN 202211582476 A CN202211582476 A CN 202211582476A CN 116016357 A CN116016357 A CN 116016357A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- transmission link
- determining
- service flow
- message
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application discloses a data transmission method, a data transmission device, a storage medium and electronic equipment. Wherein the method comprises the following steps: acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; and under the condition that the first token number is larger than the first message length, sending a first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link. The method and the device solve the technical problem of low data transmission efficiency caused by low utilization rate of the high-priority link bandwidth.
Description
Technical Field
The present invention relates to the field of IP networks, and in particular, to a method, an apparatus, a storage medium, and an electronic device for data transmission.
Background
In the related art, in the application scenario of multiplexing, operation and maintenance personnel perform service scheduling according to link SLAs, for example, in the SD-WAN scenario, key services for guaranteeing QoS (quality of service) are scheduled on MPLS (multi-protocol label switching) private links, such as video conferences, etc., general services are scheduled on internet/4G/5G networks, and in general practical application, the bandwidth utilization rate of a high-priority link is low, bandwidth resource waste is easily caused, and therefore, the data transmission efficiency is low.
In view of the above problems, no effective solution has been proposed at present.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a device, a storage medium and electronic equipment, which are used for at least solving the technical problem of low data transmission efficiency caused by low utilization rate of high-priority link bandwidth.
According to an aspect of an embodiment of the present application, there is provided a method for data transmission, including: acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result, wherein the signed bandwidth of the first transmission link is smaller than the signed bandwidth of the second transmission link; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; and under the condition that the first token number is larger than the first message length, sending a first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link.
Optionally, when the number of the first tokens is smaller than the length of the first message, the first message corresponding to the first service flow is sent from the sending end to the receiving end in a flow-by-flow manner through the first transmission link, and other services except the first service flow in the first transmission link are sent from the sending end to the receiving end in a packet-by-packet manner through the second transmission link.
Optionally, the sending the first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link includes: obtaining a difference value between the residual bandwidth and the first bandwidth; under the condition that the difference value is larger than a first preset value, a first message corresponding to the first service flow is determined to be sent to a receiving end from a sending end through a second transmission link; and under the condition that the difference value is smaller than a first preset value, determining that a first message corresponding to the first network service flow is sent to the receiving end from the sending end through the first transmission link.
Optionally, determining the remaining bandwidth of the second transmission link includes: determining a real-time bandwidth of a second transmission link and a required second bandwidth of a second traffic to be transmitted; and determining the difference value between the real-time bandwidth and the second bandwidth as the residual bandwidth.
Optionally, comparing the first bandwidth with the remaining bandwidth to obtain a comparison result includes: under the condition that the residual bandwidth is larger than a second preset value, determining and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; and under the condition that the residual bandwidth is smaller than a second preset value, determining that the first message is sent from the sending end to the receiving end through the first transmission link.
Optionally, before acquiring the first bandwidth occupied by the first traffic to be transmitted from the first transmission link, the method further includes: determining each service flow to be transmitted by a first transmission link, and acquiring service priority corresponding to each service flow; and determining the service flow with the highest service priority as the first service flow.
Optionally, the method further comprises: acquiring a second token number of a second token bucket, and determining a second service flow to be transmitted by a second transmission link; and sending the second message corresponding to the second service flow to the receiving end through a second transmission link in a flow-by-flow mode in the second message length corresponding to the second service flow.
Optionally, after receiving the message, the method further includes: at the receiving end, rearranging the message data transmitted by the first transmission link according to the sequence of the message reaching the receiving end.
According to another aspect of the embodiments of the present application, there is also provided an apparatus for data transmission, including: the first acquisition module is used for acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link; the comparison module is used for determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result, wherein the signed bandwidth of the first transmission link is smaller than the signed bandwidth of the second transmission link; the determining module is used for determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; the second acquisition module is used for acquiring a first token number overflowed from the second token bucket to the first token bucket and a first message length corresponding to the first traffic; and the sending module is used for sending the first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link under the condition that the first token number is larger than the first message length.
According to another aspect of the embodiments of the present application, there is also provided a nonvolatile storage medium including: the storage medium includes a stored program, wherein the program, when run, controls a device in which the storage medium is located to perform any one of the methods of data transmission.
According to another aspect of the embodiments of the present application, there is also provided an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the method of any one of the data transmissions.
In the embodiment of the application, a method for carrying out flow scheduling by mixing flow-by-flow and packet-by-packet by non-critical services is adopted, and a first bandwidth occupied by a first service flow to be transmitted from a first transmission link is obtained; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; under the condition that the number of the first tokens is larger than the length of the first message, the first message corresponding to the first service flow is sent to the receiving end from the sending end through the second transmission link, so that the purpose of improving the bandwidth utilization rate of the high-quality link is achieved, the technical effect of improving the service quality of the whole network by utilizing the residual bandwidth of the high-quality link is achieved, and the technical problem of low data transmission efficiency caused by low bandwidth utilization rate of the high-priority link is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute an undue limitation to the application. In the drawings:
fig. 1 is a flow chart of a data transmission method according to an embodiment of the present application;
FIG. 2 is a flow chart of an alternative data transmission method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a traffic classification according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a data transmission according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an out-of-order rearrangement according to an embodiment of the present application;
fig. 6 is a schematic diagram of an apparatus structure for data transmission according to an embodiment of the present application;
fig. 7 is a schematic block diagram of an example electronic device 700, according to an embodiment of the present application.
Detailed Description
In order to make the present application solution better understood by those skilled in the art, the following description will be made in detail and with reference to the accompanying drawings in the embodiments of the present application, it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which are obtained by a person skilled in the art without making any inventive effort, based on the embodiments in the present application shall fall within the scope of protection of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
For a better understanding of those skilled in the art, related embodiments of the present application will now be described with reference to the technical terms or partial terms that may be used in the present application:
flow-by-flow load sharing refers to dividing a message into different flows according to a certain rule, and sending messages of the same flow on the same link.
Packet-by-packet load sharing refers to the uniform distribution of messages to the links participating in the load, in the order in which the messages arrive, when forwarding.
In accordance with the embodiments of the present application, there is provided a method embodiment of data transmission, it being noted that the steps shown in the flowcharts of the figures may be performed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order other than that shown.
Fig. 1 is a method for data transmission according to an embodiment of the present application, as shown in fig. 1, the method includes the following steps:
step S102, a first bandwidth occupied by a first service flow to be transmitted from a first transmission link is acquired;
step S104, determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result, wherein the signed bandwidth of the first transmission link is smaller than the signed bandwidth of the second transmission link;
step S106, determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth;
step S108, obtaining a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to a first traffic volume;
step S110, when the first token number is larger than the first message length, the first message corresponding to the first service flow is sent from the sending end to the receiving end through the second transmission link.
In the embodiment of the application, a method for carrying out flow scheduling by mixing flow-by-flow and packet-by-packet by non-critical services is adopted, and a first bandwidth occupied by a first service flow to be transmitted from a first transmission link is obtained; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; under the condition that the number of the first tokens is larger than the length of the first message, the first message corresponding to the first service flow is sent to the receiving end from the sending end through the second transmission link, so that the purpose of improving the bandwidth utilization rate of the high-quality link is achieved, the technical effect of improving the service quality of the whole network by utilizing the residual bandwidth of the high-quality link is achieved, and the technical problem of low data transmission efficiency caused by low bandwidth utilization rate of the high-priority link is solved.
In an exemplary embodiment of the present application, when the number of the first tokens is smaller than the length of the first packet, the first packet corresponding to the first service flow is sent from the sending end to the receiving end through the first transmission link in a flow-by-flow manner, and other services in the first transmission link except for the first service flow are sent from the sending end to the receiving end through the second transmission link in a packet-by-packet manner.
It can be understood that, when the first token number is greater than the first message length, the first message corresponding to the first service flow is sent from the sending end to the receiving end in a packet-by-packet manner through the first transmission link.
In some optional embodiments of the present application, the sending, by the sending end, the first packet corresponding to the first service flow to the receiving end through the second transmission link includes: obtaining a difference value between the residual bandwidth and the first bandwidth; under the condition that the difference value is larger than a first preset value, a first message corresponding to the first service flow is determined to be sent to a receiving end from a sending end through a second transmission link; and under the condition that the difference value is smaller than a first preset value, determining that a first message corresponding to the first network service flow is sent to the receiving end from the sending end through the first transmission link.
For example, assuming that the first preset value is 5Mbps, when the difference is 8Mbps, a first message corresponding to the first service flow is sent from the sending end to the receiving end through the second transmission link; and if the first preset value is 5Mbps and the difference value is 2Mbps, a first message corresponding to the first network service flow is sent to the receiving end from the sending end through the first transmission link.
As an alternative embodiment, determining the remaining bandwidth of the second transmission link comprises: determining a real-time bandwidth of a second transmission link and a required second bandwidth of a second traffic to be transmitted; and determining the difference value between the real-time bandwidth and the second bandwidth as the residual bandwidth.
In an exemplary embodiment of the present application, comparing the first bandwidth with the remaining bandwidth to obtain a comparison result includes: under the condition that the residual bandwidth is larger than a second preset value, determining and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; and under the condition that the residual bandwidth is smaller than a second preset value, determining that the first message is sent from the sending end to the receiving end through the first transmission link.
For example, assuming that the second preset value is 10Mbps and the residual bandwidth is 15Mbps, a comparison result of the first bandwidth and the residual bandwidth is obtained, and under the instruction of the comparison result, the first message corresponding to the first service flow is sent to the receiving end from the sending end through the second transmission link.
For example, assuming that the second preset value is 10Mbps, and the remaining bandwidth is smaller than the second preset value when the remaining bandwidth is 10Mbps, a portion of the first packet corresponding to the first traffic is sent from the sending end to the receiving end through the first transmission link.
As an optional implementation manner, before acquiring the first bandwidth occupied by the first traffic to be transmitted from the first transmission link, the method further includes: determining each service flow to be transmitted by a first transmission link, and acquiring service priority corresponding to each service flow; and determining the service flow with the highest service priority as the first service flow.
It should be noted that, the first traffic is not limited to the traffic with the highest traffic priority, and a plurality of traffic with the highest traffic priority from high to low is selected according to the remaining bandwidth.
In some optional embodiments of the present application, the method further comprises: acquiring a second token number of a second token bucket, and determining a second service flow to be transmitted by a second transmission link; and sending the second message corresponding to the second service flow to the receiving end through a second transmission link in a flow-by-flow mode in the second message length corresponding to the second service flow.
In an exemplary embodiment of the present application, after receiving the message, the method further includes: at the receiving end, rearranging the message data transmitted by the first transmission link according to the sequence of the message reaching the receiving end.
It can be understood that, the data packets sent from the sending end to the receiving end may be out of order after arriving due to different transmission paths of different packets. The receiving end reorders the out-of-order data packets sent by the sending end, so that unnecessary downlink retransmission can be reduced to a certain extent, the sending efficiency is improved, the time delay is reduced, and the sending rate is improved.
In order to facilitate a better understanding of the technical solutions of the present application, a specific embodiment will now be described.
Fig. 2 is a schematic flow chart of an alternative data transmission method according to an embodiment of the present application, as shown in fig. 2, the flow mainly includes the following steps:
(1) The key traffic (i.e., the second traffic) is scheduled to the high priority link (i.e., the second transmission link) on a stream-by-stream basis;
(2) Non-critical traffic (i.e., the first traffic described above) is scheduled in a mixed flow-by-flow and packet-by-packet manner, with a portion of the traffic being scheduled to the low priority link (i.e., the first transmission link described above) in a flow-by-flow manner and a portion of the traffic being scheduled to the high priority link according to the remaining bandwidth capacity.
It is easy to note that the method for carrying out flow scheduling by mixing flow-by-flow and packet-by-packet by adopting non-critical service is adopted in the method, and the high-priority link bandwidth is fully utilized on the premise of not influencing the communication of the critical service, so that the service quality of the whole network is improved.
Fig. 3 is a schematic diagram of a traffic classification according to an embodiment of the present application, and as shown in fig. 3, the traffic is classified into critical traffic and non-critical traffic.
Fig. 4 is a schematic diagram of data transmission according to an embodiment of the present application, and as shown in fig. 4, the process mainly includes the following steps:
(1) Calculating the residual bandwidth of the high-priority link and the bandwidth of the low-priority link based on the locally counted traffic information;
(2) Select to satisfyWherein F is the residual bandwidth of the high priority link, F i Bandwidth for low priority traffic;
(3) Scheduling the selected part of the first service traffic to a high-priority link in a packet-by-packet manner, wherein a first message corresponding to the selected part of the first service traffic satisfies the following conditionsF represents the residual bandwidth (i.e. the residual message capacity per unit time) of the high priority link, p i Indicating the size of the message.
Fig. 5 is a schematic diagram of out-of-order rearrangement according to an embodiment of the present application, as shown in fig. 5, where the process mainly includes: the messages of the low priority link are packaged with global sequence numbers according to the arrival sequence (namely, the receiving end rearranges the messages according to the sequence numbers).
Fig. 6 is a schematic structural diagram of an apparatus for data transmission according to an embodiment of the present application, as shown in fig. 6, the apparatus includes:
a first obtaining module 60, configured to obtain a first bandwidth occupied by a first traffic to be transmitted from a first transmission link;
the comparing module 62 is configured to determine a remaining bandwidth of the second transmission link, and compare the first bandwidth with the remaining bandwidth to obtain a comparison result, where a signed bandwidth of the first transmission link is smaller than a signed bandwidth of the second transmission link;
a determining module 64, configured to determine a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link when the comparison result indicates that the first bandwidth is less than the remaining bandwidth;
a second obtaining module 66, configured to obtain a first number of tokens overflowed from the second token bucket to the first token bucket, and a first message length corresponding to the first traffic;
and the sending module 68 is configured to send, from the sending end to the receiving end, a first packet corresponding to the first service flow through the second transmission link when the first token number is greater than the first packet length.
In the device, a first acquiring module 60 is configured to acquire a first bandwidth occupied by a first traffic to be transmitted from a first transmission link; the comparing module 62 is configured to determine a remaining bandwidth of the second transmission link, and compare the first bandwidth with the remaining bandwidth to obtain a comparison result, where a signed bandwidth of the first transmission link is smaller than a signed bandwidth of the second transmission link; a determining module 64, configured to determine a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link when the comparison result indicates that the first bandwidth is less than the remaining bandwidth; a second obtaining module 66, configured to obtain a first number of tokens overflowed from the second token bucket to the first token bucket, and a first message length corresponding to the first traffic; the sending module 68 is configured to send, by using the second transmission link, the first message corresponding to the first traffic flow to the receiving end from the sending end when the first token number is greater than the first message length, thereby achieving the purpose of improving the bandwidth utilization rate of the high-quality link, and further achieving the technical effect of improving the overall network service quality by using the remaining bandwidth of the high-quality link, and further solving the technical problem of low data transmission efficiency caused by low bandwidth utilization rate of the high-priority link.
According to another aspect of the embodiments of the present application, there is further provided a nonvolatile storage medium, where the nonvolatile storage medium includes a stored program, and when the program runs, the method for controlling a device in which the nonvolatile storage medium is located to perform any one of data transmission is provided.
Specifically, the storage medium is configured to store program instructions for the following functions, and implement the following functions:
acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; and under the condition that the first token number is larger than the first message length, sending a first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link.
Alternatively, in the present embodiment, the storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In an exemplary embodiment of the present application, a computer program product is also provided, comprising a computer program which, when executed by a processor, implements a method of any of the above data transmission.
Optionally, the computer program may, when executed by a processor, implement the steps of:
acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link; determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result; determining a first token bucket corresponding to the first transmission link and a second token bucket corresponding to the second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth; acquiring a first token number overflowed from a second token bucket to a first token bucket and a first message length corresponding to first traffic; and under the condition that the first token number is larger than the first message length, sending a first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link.
There is provided, according to an embodiment of the present application, an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the data transmissions described above.
Optionally, the electronic device may further include a transmission device and an input/output device, where the transmission device is connected to the processor, and the input device is connected to the processor.
Fig. 7 is a schematic block diagram of an example electronic device 700, according to an embodiment of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the application described and/or claimed herein.
As shown in fig. 7, the apparatus 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 702 or a computer program loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 may also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in device 700 are connected to I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 701 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the method of data transmission. For example, in some embodiments, the method of data transmission may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When the computer program is loaded into RAM 703 and executed by computing unit 701, one or more steps of the method of data transmission described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the method of data transmission by any other suitable means (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
The foregoing embodiment numbers of the present application are merely for describing, and do not represent advantages or disadvantages of the embodiments.
In the foregoing embodiments of the present application, the descriptions of the embodiments are emphasized, and for a portion of this disclosure that is not described in detail in this embodiment, reference is made to the related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed technology content may be implemented in other manners. The above-described embodiments of the apparatus are merely exemplary, and the division of the units, for example, may be a logic function division, and may be implemented in another manner, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interfaces, units or modules, or may be in electrical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely a preferred embodiment of the present application and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present application and are intended to be comprehended within the scope of the present application.
Claims (11)
1. A method of data transmission, comprising:
acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link;
determining the residual bandwidth of a second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result, wherein the signed bandwidth of the first transmission link is smaller than the signed bandwidth of the second transmission link;
determining a first token bucket corresponding to a first transmission link and a second token bucket corresponding to a second transmission link under the condition that the comparison result indicates that the first bandwidth is smaller than the residual bandwidth;
acquiring a first token number overflowed from the second token bucket to the first token bucket and a first message length corresponding to the first traffic;
and under the condition that the first token number is larger than the first message length, sending a first message corresponding to the first service flow from a sending end to a receiving end through a second transmission link.
2. The method according to claim 1, wherein, when the first token number is smaller than the first message length, a first message corresponding to the first traffic is sent from a sending end to a receiving end in a stream-by-stream manner through a first transmission link, and other traffic except the first traffic in the first transmission link is sent from the sending end to the receiving end in a packet-by-packet manner through the second transmission link.
3. The method of claim 1, wherein sending, by the sending end to the receiving end, the first packet corresponding to the first traffic flow through the second transmission link, includes:
acquiring a difference value between the residual bandwidth and the first bandwidth;
under the condition that the difference value is larger than a first preset value, determining that a first message corresponding to the first service flow is sent to the receiving end through a second transmission link by the sending end;
and under the condition that the difference value is smaller than the first preset value, determining that a first message corresponding to the first service flow is sent to a receiving end from the sending end through the first transmission link.
4. The method of claim 1, wherein determining the remaining bandwidth of the second transmission link comprises:
determining a real-time bandwidth of the second transmission link and a required second bandwidth of a second traffic to be transmitted;
and determining the difference value between the real-time bandwidth and the second bandwidth as the residual bandwidth.
5. The method of claim 4, wherein comparing the first bandwidth to the remaining bandwidth results in a comparison result comprising:
under the condition that the residual bandwidth is larger than a second preset value, determining and comparing the first bandwidth with the residual bandwidth to obtain a comparison result;
and under the condition that the residual bandwidth is smaller than a second preset value, determining that the first message is sent from the sending end to the receiving end through the first transmission link.
6. The method of claim 1, wherein prior to acquiring the first bandwidth occupied by the first traffic to be transmitted from the first transmission link, the method further comprises:
determining each service flow to be transmitted by the first transmission link, and acquiring service priority corresponding to each service flow;
and determining the service flow with the highest service priority as the first service flow.
7. The method according to claim 1, wherein the method further comprises:
acquiring a second token number of the second token bucket, and determining a second service flow to be transmitted by the second transmission link;
and transmitting a second message corresponding to the second service flow to the receiving end through the second transmission link in a flow-by-flow mode in a second message length corresponding to the second service flow.
8. The method according to any one of claims 1 to 7, comprising: and at the receiving end, rearranging the message data transmitted by the first transmission link according to the sequence of the message reaching the receiving end.
9. An apparatus for data transmission, comprising:
the first acquisition module is used for acquiring a first bandwidth occupied by a first service flow to be transmitted from a first transmission link;
the comparison module is used for determining the residual bandwidth of the second transmission link, and comparing the first bandwidth with the residual bandwidth to obtain a comparison result, wherein the signed bandwidth of the first transmission link is smaller than the signed bandwidth of the second transmission link;
a determining module, configured to determine a first token bucket corresponding to a first transmission link and a second token bucket corresponding to the second transmission link when the comparison result indicates that the first bandwidth is smaller than the remaining bandwidth;
the second acquisition module is used for acquiring a first token number overflowed from the second token bucket to the first token bucket and a first message length corresponding to the first traffic;
and the sending module is used for sending the first message corresponding to the first service flow from the sending end to the receiving end through the second transmission link under the condition that the first token number is larger than the first message length.
10. A non-volatile storage medium, characterized in that the storage medium comprises a stored program, wherein the program, when run, controls a device in which the storage medium is located to perform the method of data transmission according to any one of claims 1 to 8.
11. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the method of data transmission of any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211582476.1A CN116016357A (en) | 2022-12-09 | 2022-12-09 | Data transmission method, device, storage medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211582476.1A CN116016357A (en) | 2022-12-09 | 2022-12-09 | Data transmission method, device, storage medium and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116016357A true CN116016357A (en) | 2023-04-25 |
Family
ID=86032592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211582476.1A Pending CN116016357A (en) | 2022-12-09 | 2022-12-09 | Data transmission method, device, storage medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116016357A (en) |
-
2022
- 2022-12-09 CN CN202211582476.1A patent/CN116016357A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111769998B (en) | Method and device for detecting network delay state | |
US20190190808A1 (en) | Bidirectional data traffic control | |
US9185047B2 (en) | Hierarchical profiled scheduling and shaping | |
CN111343097B (en) | Link load balancing method and device, electronic equipment and storage medium | |
US8634299B2 (en) | Method of managing a traffic load | |
US8867353B2 (en) | System and method for achieving lossless packet delivery in packet rate oversubscribed systems | |
CN103634223B (en) | A kind of dynamic control transmission method based on network service flow and device | |
CN109257304A (en) | A kind of bandwidth adjusting method, device, storage medium and the network equipment | |
US20210036942A1 (en) | Systems and methods for identifying persistently congested queues | |
EP4037270A1 (en) | Service traffic adjusting method and apparatus | |
US9054985B2 (en) | System and method for dynamic rate limiting and shaping of traffic based on available bandwidth | |
US12052607B2 (en) | Communication apparatus, communication method, and program | |
CN103858474A (en) | Enhanced performance service-based profiling for transport networks | |
CN108234350B (en) | Scheduling method and customer premises equipment | |
CN117278473A (en) | Congestion control method and related equipment | |
CN112615789A (en) | Out-of-band flow control method and device | |
Patel et al. | Comparative analysis of congestion control algorithms using ns-2 | |
CN116016357A (en) | Data transmission method, device, storage medium and electronic equipment | |
CN117014924A (en) | Method and device for reporting service capacity load parameters | |
CN113453285A (en) | Resource adjusting method, device and storage medium | |
CN106506434B (en) | Service data transmission method and device | |
CN118714596B (en) | Isolation attribute detection method, device, electronic equipment, storage medium and program product | |
EP3716549A1 (en) | Bandwidth management | |
Borisov et al. | Optimization of TCP Algorithm for Wired–Wireless Channels Based on Connection State Estimation | |
CN116800693A (en) | Queue scheduling method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |