WO2017045501A1 - 一种报文调度方法和装置、存储介质 - Google Patents

一种报文调度方法和装置、存储介质 Download PDF

Info

Publication number
WO2017045501A1
WO2017045501A1 PCT/CN2016/095366 CN2016095366W WO2017045501A1 WO 2017045501 A1 WO2017045501 A1 WO 2017045501A1 CN 2016095366 W CN2016095366 W CN 2016095366W WO 2017045501 A1 WO2017045501 A1 WO 2017045501A1
Authority
WO
WIPO (PCT)
Prior art keywords
tcp
packet
queue
transmission
scheduling
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.)
Ceased
Application number
PCT/CN2016/095366
Other languages
English (en)
French (fr)
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.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology 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 Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Publication of WO2017045501A1 publication Critical patent/WO2017045501A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related

Definitions

  • the present invention relates to communications technologies, and in particular, to a message scheduling method and apparatus, and a storage medium.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • PON passive optical network
  • the embodiment of the present invention is to provide a packet scheduling method and apparatus, which can improve the interference of an ACK packet by a data packet, and delay the transmission of the ACK packet. It is stable in a range to achieve the expected maximum transmission rate and to ensure the stability of the transmission rate.
  • an embodiment of the present invention provides a packet scheduling method, where the method includes:
  • TCP Transmission Control Protocol
  • the transmission queue is scheduled to be transmitted according to a preset scheduling policy.
  • TCP Transmission Control Protocol
  • the TCP packet is parsed, and the process information corresponding to the TCP packet is determined according to the parsed header information.
  • the determining, according to the parsed header information, that the TCP packet is an ACK packet without a data payload or a data packet carrying a data payload includes:
  • the TCP packet is an ACK packet.
  • the TCP packet is a data packet.
  • the determining, according to the obtained packet header information, the process information corresponding to the TCP packet including:
  • the process information corresponding to the TCP packet is determined according to the source port information and/or the destination port information of the TCP packet obtained by the parsing.
  • the TCP packet when the TCP packet is determined to be an acknowledgement ACK packet without a data payload or a data packet carrying a data payload, according to the parsed header information, the TCP packet is used according to the TCP packet.
  • the type of the text and the preset mapping mechanism map the TCP packet to the corresponding transmission queue, including:
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, including:
  • the corresponding ACK message transmission queue and the TCP service transmission queue in the TCP transmission channel are scheduled and transmitted according to a priority scheduling or a polling scheduling or a weighted polling scheduling algorithm.
  • the TCP packet when the TCP packet is determined to be an acknowledgement ACK packet without a data payload or a data packet carrying a data payload, according to the parsed header information, the TCP packet is used according to the TCP packet.
  • the type of the text and the preset mapping mechanism map the TCP packet to the corresponding transmission queue, including:
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, including:
  • the TCP service transmission queues in each TCP transmission channel are scheduled and transmitted according to the priority scheduling or the polling scheduling or the weighted polling scheduling algorithm.
  • the process information corresponding to the TCP packet is determined according to the parsed header information, the type according to the type of the TCP packet and a preset mapping mechanism
  • the TCP packet is mapped to the corresponding transmission queue, including:
  • the scheduling and transmitting the transmission queue according to a preset scheduling policy includes:
  • a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • Schedule transmission a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • the TCP packet is mapped according to the type of the TCP packet and a preset mapping mechanism.
  • the TCP packet is mapped according to the type of the TCP packet and a preset mapping mechanism.
  • the TCP packet is stored in the sub-queue resource pool according to the corresponding TCP transmission channel, and the TCP packet is mapped to the corresponding TCP transmission channel in the sub-queue resource pool according to the process information of the TCP packet. TCP transfer subqueue.
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, including:
  • the TCP transmission sub-queue in each TCP transmission channel is scheduled according to a polling schedule or a weighted polling scheduling algorithm, and a scheduling queue corresponding to each TCP transmission channel is obtained;
  • the scheduling queue corresponding to each TCP transmission channel and the regular transmission queue in the corresponding TCP transmission channel are scheduled and transmitted according to a preset scheduling policy.
  • an embodiment of the present invention provides a packet scheduling apparatus, where the apparatus includes: a parsing unit, a mapping unit, and a scheduling unit;
  • the parsing unit is configured to parse the TCP packet encapsulated by the transmission control protocol TCP, Obtaining the type of the TCP packet;
  • the mapping unit is configured to map the TCP packet to a corresponding transmission queue according to the type of the TCP packet and a preset mapping mechanism;
  • the scheduling unit is configured to schedule transmission of the transmission queue according to a preset scheduling policy.
  • the parsing unit is further configured to:
  • the TCP packet is parsed, and the process information corresponding to the TCP packet is determined according to the parsed header information.
  • the parsing unit is further configured to:
  • the TCP packet is an ACK packet.
  • the TCP packet is a data packet.
  • the parsing unit is further configured to:
  • the process information corresponding to the TCP packet is determined according to the source port information and/or the destination port information of the TCP packet obtained by the parsing.
  • mapping unit is further configured to:
  • the scheduling unit is further configured to schedule the corresponding ACK message transmission queue and the TCP service transmission queue in the TCP transmission channel according to priority scheduling or polling scheduling. Or with a weight polling scheduling algorithm for scheduled transmission.
  • mapping unit is further configured to:
  • the scheduling unit is further configured to: schedule, according to a preset scheduling policy, a TCP service transmission queue in each TCP transmission channel according to a priority scheduling or a polling scheduling or a weighted polling scheduling algorithm.
  • the scheduling queue and the global queue are scheduled for transmission.
  • mapping unit is further configured to:
  • the scheduling unit is further configured to:
  • a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • Schedule transmission a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • mapping unit is further configured to:
  • the TCP packet is stored in the sub-queue resource pool according to the corresponding TCP transmission channel, and the TCP packet is mapped to the corresponding TCP transmission channel in the sub-queue resource pool according to the process information of the TCP packet. TCP transfer subqueue.
  • the scheduling unit is further configured to:
  • the TCP transmission sub-queue in each TCP transmission channel is scheduled according to a polling schedule or a weighted polling scheduling algorithm, and a scheduling queue corresponding to each TCP transmission channel is obtained;
  • the scheduling queue corresponding to each TCP transmission channel and the regular transmission queue in the corresponding TCP transmission channel are scheduled and transmitted according to a preset scheduling policy.
  • an embodiment of the present invention provides a packet scheduling apparatus, where the apparatus includes:
  • the processor and the storage medium are stored in the storage medium, and the executable instructions are used to cause the processor to execute the message scheduling method provided by the embodiment of the present invention.
  • an embodiment of the present invention provides a storage medium.
  • the storage medium stores executable instructions, where the executable instructions are used to execute a packet scheduling method provided by an embodiment of the present invention.
  • the embodiment of the invention provides a message scheduling method and device, and a storage medium, which can improve the interference of the ACK message by the data message by mapping the TCP message to the transmission queue according to the type and then performing the scheduling transmission.
  • the transmission delay of the ACK message is stabilized within a range, thereby achieving the expected maximum transmission rate and ensuring the stability of the transmission rate.
  • FIG. 1 is a schematic flowchart of a packet scheduling method according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of a packet scheduling method according to an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of another packet scheduling method according to an embodiment of the present disclosure.
  • FIG. 4 is a schematic flowchart of still another packet scheduling method according to an embodiment of the present disclosure.
  • FIG. 5 is a schematic flowchart of still another packet scheduling method according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a packet scheduling apparatus according to an embodiment of the present invention.
  • a packet scheduling method according to an embodiment of the present invention is shown. It should be noted that the method can be applied to a device for transmitting a TCP packet in a bidirectional manner, and the method may include:
  • S101 Parsing a TCP packet encapsulated by the TCP to obtain a type of the TCP packet.
  • S102 Map the TCP packet to a corresponding transmission queue according to the type of the TCP packet and a preset mapping mechanism.
  • S103 Perform scheduling transmission by using the transmission queue according to a preset scheduling policy.
  • the TCP packet can be mapped to the transmission queue according to the type and then scheduled and transmitted, thereby avoiding congestion of the TCP protocol and Severe jitter in the transmission rate improves link rate and stability.
  • step S101 the TCP packet encapsulated by the transmission control protocol TCP is parsed to obtain the type of the TCP packet, which may include, for example:
  • the TCP packet is parsed, and the process information corresponding to the TCP packet is determined according to the parsed header information.
  • the method for obtaining a TCP packet type according to the second embodiment, determining, according to the parsed header information, that the TCP packet is an ACK packet without a data payload or a data packet carrying a data payload Can include:
  • the TCP packet is an ACK packet.
  • the TCP packet is a data packet.
  • the specific implementation process for determining that the TCP packet is an ACK packet or a data packet may be: determining a TCP packet according to the packet header obtained by parsing the TCP packet and the determining policy.
  • the ACK packet or the data packet may be matched by the ACL (Access Control List) to determine whether the TCP packet is an ACK packet or a data packet.
  • ACL Access Control List
  • the TCP packet is determined to be an acknowledgement ACK packet without a data payload or a data packet carrying a data payload, according to the parsed header information, the according to the TCP packet
  • the type and the preset mapping mechanism map the TCP packet to the corresponding transmission queue, including:
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, for example, Can include:
  • the corresponding ACK message transmission queue and the TCP service transmission queue in the TCP transmission channel are scheduled and transmitted according to a priority scheduling or a polling scheduling or a weighted polling scheduling algorithm.
  • the ACK packet and the data packet can be respectively input to the corresponding TCP transmission channel, such as TCP channel 1 ... TCP channel N; Then, in each TCP transmission channel, TCP channel 1 is taken as an example, and the ACK message corresponding to TCP channel 1 is mapped to a separate ACK message transmission queue q 10 ; the data packet corresponding to TCP channel 1 is mapped to the corresponding In the TCP service transmission queue, such as q 11 , q 12 , ..., q 1x ; understandably, for other TCP transmission channels, such as TCP channel N, corresponding mapping is also performed.
  • TCP channel 1 is still taken as an example, and the ACK in TCP channel 1 can be performed according to a preset scheduling algorithm, such as priority scheduling or polling scheduling or a weighted polling scheduling algorithm.
  • the message transmission queue q 10 and the TCP service transmission queues q 11 , q 12 , ..., q 1x are scheduled.
  • the specific scheduling implementation process is a conventional technical means of those skilled in the art, and details are not described herein again.
  • mapping the TCP packet to the corresponding transmission queue according to the type of the TCP packet and the preset mapping mechanism including:
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, and include:
  • the TCP service transmission queues in each TCP transmission channel are scheduled and transmitted according to the priority scheduling or the polling scheduling or the weighted polling scheduling algorithm.
  • the ACK packet can be mapped to the global queue, and the data packet is input to the corresponding TCP transmission channel, such as TCP channel 1. ... TCP channel N; then in each TCP transmission channel, taking TCP channel 1 as an example, mapping the data packet corresponding to TCP channel 1 to the corresponding TCP service transmission queue, such as q 10 , q 11 , ... , q 1x ; understandably, for other TCP transmission channels, such as TCP channel N, also corresponding mapping.
  • TCP channel 1 is still taken as an example, and TCP service transmission queues q 10 and q 11 in TCP channel 1 can be performed according to priority scheduling or polling scheduling or with a weight polling scheduling algorithm.
  • q 12 , ..., q 1x are scheduled to obtain a scheduling queue; then, the scheduling queue corresponding to each TCP transmission channel is combined with the global queue according to a preset scheduling algorithm, such as priority scheduling or polling scheduling or The weight polling scheduling algorithm and the like perform scheduled transmission.
  • the method for obtaining the TCP packet type according to the second embodiment, and determining the process information corresponding to the TCP packet according to the parsed header information may include:
  • the process information corresponding to the TCP packet is determined according to the source port information and/or the destination port information of the TCP packet obtained by the parsing.
  • the transmission queue can include:
  • the TCP packet is mapped to the corresponding TCP from the available queue resources of the TCP transmission channel corresponding to the TCP packet according to the process information corresponding to the TCP packet and the preset queue mapping management mechanism.
  • the service transmission queue may include, for example:
  • the process corresponding to the TCP packet is just created, so in the available queue resources of the TCP transmission channel, the The TCP packet is mapped to the TCP service transmission queue associated with the process information corresponding to the newly created TCP packet. It can be understood that when the TCP transmission channel has no available queue resources, the TCP packet is transmitted to the regular report.
  • the text transmission queue it should be noted that, in this embodiment, the regular message can be regarded as a non-TCP protocol message.
  • the TCP can be considered as The process corresponding to the packet has been completed. Therefore, the existing transmission queue in the TCP transmission channel is searched according to the process information of the TCP packet. When it is found, the TCP transmission channel and the TCP packet are deleted. The existing transmission queue corresponding to the process information of the text becomes the available resource; understandably, when not found, the TCP packet is transmitted to the regular message transmission queue;
  • the process corresponding to the TCP packet is being transmitted, so the process according to the TCP packet can be performed at this time.
  • the information is searched in the TCP service transmission queue of the TCP transmission channel, and when found, the TCP packet is mapped to the corresponding TCP service transmission queue according to the matched process information; understandably, when not found, the The TCP message is transmitted to a regular message transmission queue.
  • the end message of the corresponding process of the TCP packet is not received (ie, the FIN flag is 1), and the TCP transmission channel is corresponding to the TCP packet.
  • the TCP service transmission queue cannot be deleted, resulting in the shortage of available resources and the waste of storage resources.
  • the timing aging mechanism can be adopted, and in the preset time period, the TCP service transmission queue has no corresponding mapping of new TCP packets.
  • the TCP service transmission queue will be aged out, and the occupied queue resources will be released.
  • the specific aging process is prior art, and is not described in detail in the embodiments of the present invention.
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, and include:
  • a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • Schedule transmission a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • TCP packets in the incoming packets are separated from the non-TCP packets
  • the TCP packets and non-TCP packets are input to the corresponding TCP transmission channel, such as TCP channel 1...TCP.
  • TCP channel 1 is taken as an example, and TCP packets in the TCP channel are mapped to corresponding TCP service transmission queues according to TCP port and other similar process information, such as TCP service queue q 1m +1 , q 1m+2 , ...
  • the specific mapping process can be performed in the above manner, and will not be described here; then, in each TCP transmission channel, it can be scheduled according to polling or weighted Polling scheduling algorithm, etc., scheduling TCP service transmission queues q 1m+1 , q 1m+2 , ... q 1m+n in TCP channel 1 to obtain a scheduling queue; then, scheduling queues and the same TCP transmission channel
  • the regular service transmission queue such as the regular queues q 10 , q 11 , ... q 1n , performs scheduled transmission according to a preset scheduling algorithm, such as priority scheduling or polling scheduling or a weighted polling scheduling algorithm. It can be understood that similar processing is performed for other TCP transmission channels, such as TCP channel N.
  • the transmission queue can include:
  • the TCP packet is stored in the sub-queue resource pool according to the corresponding TCP transmission channel, and the TCP packet is mapped to the corresponding TCP transmission channel in the sub-queue resource pool according to the process information of the TCP packet. TCP transfer subqueue.
  • the transmission queue is scheduled and transmitted according to a preset scheduling policy, and include:
  • the TCP transmission sub-queue in each TCP transmission channel is scheduled according to a polling schedule or a weighted polling scheduling algorithm, and a scheduling queue corresponding to each TCP transmission channel is obtained;
  • the scheduling queue corresponding to each TCP transmission channel and the regular transmission queue in the corresponding TCP transmission channel are scheduled and transmitted according to a preset scheduling policy.
  • the TCP packet is input into the pre-opened sub-queue resource pool according to the corresponding TCP transmission channel, and the corresponding TCP transmission channel may be, for example, TCP channel 1 ... TCP channel N; subsequently, according to the TCP packet
  • the process information maps the TCP packet to the TCP transmission sub-queue in the corresponding TCP transmission channel in the sub-queue resource pool.
  • TCP channel 1 as an example, the TCP packet in the TCP channel is processed according to the TCP port and the like.
  • the mapping to the corresponding TCP transmission sub-queue is a conventional technique of those skilled in the art, and will not be described here; Or with a weight polling scheduling algorithm, etc., the TCP transmission sub-queues sq 10 , sq 11 , ... sq 1x corresponding to TCP channel 1 are scheduled to obtain a scheduling queue, and then the scheduling queue and the regular in the same TCP transmission channel
  • the service transmission queue such as the regular queues q 10 , q 11 , ... q 1m , is adjusted according to a preset scheduling algorithm, such as priority scheduling or polling scheduling or a weighted polling scheduling algorithm. Degree transmission; in detail, the scheduling queue obtained after subqueue scheduling can be considered as the regular queue q 1m+1 . It can be understood that similar processing is performed for other TCP transmission channels, such as TCP channel N.
  • FIG. 6 is a schematic structural diagram of a packet scheduling apparatus 60 according to an embodiment of the present invention
  • the apparatus 60 can be applied to a device for transmitting TCP packets in two directions
  • the device 60 may include: a parsing unit 601, a mapping unit 602, and a scheduling unit 603;
  • the parsing unit 601 is configured to parse the TCP packet encapsulated by the transport control protocol TCP, and obtain the type of the TCP packet.
  • the mapping unit 602 is configured to map the TCP packet to a corresponding transmission queue according to the type of the TCP packet and a preset mapping mechanism.
  • the scheduling unit 603 is configured to schedule transmission of the transmission queue according to a preset scheduling policy.
  • the parsing unit 601 is further configured to:
  • the TCP packet is parsed, and the process information corresponding to the TCP packet is determined according to the parsed header information.
  • the parsing unit 601 is further configured to:
  • the TCP packet is an ACK packet.
  • the TCP packet is a data packet.
  • the parsing unit 601 is further configured to:
  • the process information corresponding to the TCP packet is determined according to the source port information and/or the destination port information of the TCP packet obtained by the parsing.
  • mapping unit 602 is further configured to:
  • the scheduling unit 603 is further configured to perform scheduling transmission according to a priority scheduling or a polling scheduling or a weighted polling scheduling algorithm for the corresponding ACK packet transmission queue and the TCP service transmission queue in the TCP transmission channel.
  • mapping unit 602 is further configured to:
  • the scheduling unit 603 is further configured to: according to a preset scheduling policy, the TCP service transmission queue in each TCP transmission channel is scheduled according to priority or polled or weighted The scheduling queue obtained by the polling scheduling algorithm is scheduled and transmitted by the global queue.
  • mapping unit 602 is further configured to:
  • the scheduling unit 603 is further configured to:
  • a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • Schedule transmission a scheduling queue obtained by scheduling all TCP service transmission queues in the TCP transmission channel according to a polling schedule or a weighted polling scheduling algorithm, and a regular service transmission queue in the TCP transmission channel.
  • mapping unit 602 is further configured to:
  • the TCP packet is stored in the sub-queue resource pool according to the corresponding TCP transmission channel, and the TCP packet is mapped to the corresponding TCP transmission channel in the sub-queue resource pool according to the process information of the TCP packet. TCP transfer subqueue.
  • the scheduling unit 603 is further configured to:
  • the TCP transmission sub-queue in each TCP transmission channel is scheduled according to a polling schedule or a weighted polling scheduling algorithm, and a scheduling queue corresponding to each TCP transmission channel is obtained;
  • the scheduling queue corresponding to each TCP transmission channel and the regular transmission queue in the corresponding TCP transmission channel are scheduled and transmitted according to a preset scheduling policy.
  • each unit in the message scheduling device can be implemented by a processor, an application specific integrated circuit (ASIC), or a logic programmable gate array (FPGA).
  • ASIC application specific integrated circuit
  • FPGA logic programmable gate array
  • An embodiment of the present invention further provides a message scheduling apparatus, where the apparatus includes: a processor and a storage medium; the storage medium stores executable instructions, where the executable instructions are used to cause the processor to execute the present A message scheduling method provided by an embodiment of the invention.
  • the embodiment of the invention further provides a storage medium; the storage medium stores executable The executable instruction is used to execute the message scheduling method provided by the embodiment of the present invention.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种报文调度方法和装置、存储介质,该方法可以包括:将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;将所述传输队列按照预设的调度策略进行调度传输。

Description

一种报文调度方法和装置、存储介质 技术领域
本发明涉及通信技术,尤其涉及一种报文调度方法和装置、存储介质。
背景技术
目前的通信网络,大多采用传输控制协议/互联网络协议(TCP/IP,Transmission Control Protocol/Internet Protocol)为传输协议。随着宽带网络日益普及,尤其是无源光网络(PON,Passive Optical Network)技术的应用,使得用户接入带宽越来越大,运营商和用户对于传输的稳定性和传输速率也有更高的要求,所以,当前更加关注的是通信设备对于同一用户或者同一通道的双向数据传输的稳定性和最大传输速率。
目前现有的设备和技术,大多都不能很好的支持同一用户或者同一通道内的双向TCP传输,目前存在的问题是,下载速率会因为确认字符(ACK,Acknowledgement)报文被上传数据干扰而大幅抖动,上传速率也会因为其ACK报文被下载数据干扰而大幅抖动,并且都达不到预期的最大速率;出现该问题的原因是TCP协议报文中的ACK报文受到同一个用户或者同一个通道上另一个方向的大量数据报文的影响,导致ACK报文延迟变大,延迟抖动,甚至因为数据报文拥塞而导致ACK报文丢弃,这些因素都会导致TCP协议的拥塞窗口频繁伸缩,发送速率剧烈抖动,从而使得链路速率和稳定性变差。
发明内容
为解决上述技术问题,本发明实施例期望提供一种报文调度方法和装置,能够改善ACK报文被数据报文干扰的情况,使得ACK报文的传输延 迟稳定在一个范围内,从而达到预期的最大传输速率,并且保证传输速率的稳定性。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供了一种报文调度方法,所述方法包括:
将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
将所述传输队列按照预设的调度策略进行调度传输。
在上述方案中,所述将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型,包括:
对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
在上述方案中,所述根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文,包括:
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,所述TCP报文为ACK报文;
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空任一个不满足时,所述TCP报文为数据报文。
在上述方案中,所述根据解析的得到的报文头信息确定所述TCP报文对应的进程信息,包括:
根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
在上述方案中,当根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
将所述ACK报文和所述数据报文输入到对应的TCP传输通道;以及在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
在上述方案中,将所述传输队列按照预设的调度策略进行调度传输,包括:
将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度传输。
在上述方案中,当根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
在上述方案中,将所述传输队列按照预设的调度策略进行调度传输,包括:
根据预设的调度策略将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
在上述方案中,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述 TCP报文映射到对应的传输队列,包括:
按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
在上述方案中,所述将所述传输队列按照预设的调度策略进行调度传输,包括:
根据预设的调度策略将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度所得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
在上述方案中,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
在上述方案中,将所述传输队列按照预设的调度策略进行调度传输,包括:
所述在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
第二方面,本发明实施例提供了一种报文调度装置,所述装置包括:解析单元、映射单元和调度单元;其中,
所述解析单元,配置为将传输控制协议TCP封装的TCP报文进行解析, 获得所述TCP报文的类型;
所述映射单元,配置为按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
所述调度单元,配置为将所述传输队列按照预设的调度策略进行调度传输。
在上述方案中,所述解析单元,还配置为:
对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
在上述方案中,所述解析单元,还配置为:
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,所述TCP报文为ACK报文;
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空任一个不满足时,所述TCP报文为数据报文。
在上述方案中,所述解析单元,还配置为:
根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
在上述方案中,所述映射单元,还配置为:
将所述ACK报文和所述数据报文输入到对应的TCP传输通道;以及在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
在上述方案中,所述调度单元,还配置为将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度 或者带权重轮询调度算法进行调度传输。
在上述方案中,所述映射单元,还配置为:
将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
在上述方案中,所述调度单元,还配置为:根据预设的调度策略将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
在上述方案中,所述映射单元,还配置为:
按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
在上述方案中,所述调度单元,还配置为:
根据预设的调度策略将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度所得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
在上述方案中,所述映射单元,还配置为:
将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
在上述方案中,所述调度单元,还配置为:
所述在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
第三方面,本发明实施例提供了一种报文调度装置,所述装置包括:
处理器和存储介质;所述存储介质中存储有可执行指令,所述可执行指令用于引起所述处理器执行本发明实施例提供的报文调度方法。
第四方面,本发明实施例提供了一种存储介质;所述存储介质中存储有可执行指令,所述可执行指令用于执行本发明实施例提供的报文调度方法。
本发明实施例提供了一种报文调度方法和装置、存储介质,通过将TCP报文按照类型分别进行映射到传输队列后再进行调度传输,能够改善ACK报文被数据报文干扰的情况,使得ACK报文的传输延迟稳定在一个范围内,从而达到预期的最大传输速率,并且保证传输速率的稳定性。
附图说明
图1为本发明实施例提供的一种报文调度方法流程示意图;
图2为本发明实施例提供的一种报文调度方法具体流程示意图;
图3为本发明实施例提供的另一种报文调度方法具体流程示意图;
图4为本发明实施例提供的又一种报文调度方法具体流程示意图;
图5为本发明实施例提供的再一种报文调度方法具体流程示意图;
图6为本发明实施例提供的一种报文调度装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
参见图1,其示出了本发明实施例提供的一种报文调度方法,需要说明的是,该方法可以应用于双向传输TCP报文的设备,该方法可以包括:
S101:将TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
S102:按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
S103:将所述传输队列按照预设的调度策略进行调度传输。
可以理解地,通过上述S101至S103所描述的对于双向传输的TCP报文的调度过程,可以将TCP报文按照类型分别进行映射到传输队列后再进行调度传输,从而能够避免TCP协议出现拥塞以及发送速率的剧烈抖动,提高了链路速率和稳定性。
实施例二
基于实施例一所述的对于双向传输的TCP报文的调度过程,在步骤S101中,将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型,例如可以包括:
对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
可以理解地,除了上述两种获得TCP报文类型的方式之外,本领域技术人员还可以根据其他的确定策略来对TCP报文的类型进行确定,本实施例对此不再赘述。
实施例三
基于实施例二所述的获得TCP报文类型的方式,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文,可以包括:
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,所述TCP报文为ACK报文;
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部 分为空任一个不满足时,所述TCP报文为数据报文。
举例来说,上述针对TCP报文为ACK报文或数据报文的进行确定的具体实现过程可以是:根据对TCP报文进行解析所得到的报文头以及上述确定策略来确定TCP报文为ACK报文或数据报文;或者也可以是通过访问控制列表(ACL,Access Control List)对TCP报文进行匹配来确定TCP报文为ACK报文或数据报文。本发明实施例对上述的具体实现过程不作具体限定。
优选地,当根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
将ACK报文和数据报文输入到对应的TCP传输通道;以及在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
例如,对应于上述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列的方式,将所述传输队列按照预设的调度策略进行调度传输,例如可以包括:
将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度传输。
以图2为例,当TCP报文被确定为ACK报文和数据报文之后,可以将ACK报文和数据报文分别输入到对应的TCP传输通道,比如TCP通道1……TCP通道N;随后在每个TCP传输通道中,以TCP通道1为例,将TCP通道1对应的ACK报文映射到单独的ACK报文传输队列q10;将TCP通道1对应的数据报文映射到对应的TCP业务传输队列中,比如q11、 q12、……、q1x;可以理解地,对于其他的TCP传输通道,如TCP通道N,也进行相应的映射。此时,对于每个TCP传输通道,仍以TCP通道1为例,可以按照预设的调度算法,例如优先级调度或者轮询调度或者带权重轮询调度算法等,将TCP通道1中的ACK报文传输队列q10以及TCP业务传输队列q11、q12、……、q1x进行调度。具体的调度实现过程为本领域技术人员的常规技术手段,在此不再赘述。
优选地,为了不占用TCP传输通道的队列资源,当根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
例如,对应于上述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列的方式,将所述传输队列按照预设的调度策略进行调度传输,可以包括:
根据预设的调度策略将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
以图3为例,当TCP报文被确定为ACK报文和数据报文之后,可以将ACK报文映射到全局队列中,将数据报文分别输入到对应的TCP传输通道,比如TCP通道1……TCP通道N;随后在每个TCP传输通道中,以TCP通道1为例,将TCP通道1对应的数据报文映射到对应的TCP业务传输队列中,比如q10、q11、……、q1x;可以理解地,对于其他的TCP传输通道,如TCP通道N,也进行相应的映射。此时,对于每个TCP传输通道,仍以TCP通道1为例,可以按照优先级调度或者轮询调度或者带权重轮询 调度算法等,将TCP通道1中TCP业务传输队列q10、q11、q12、……、q1x进行调度,从而得到调度队列;接着,将各TCP传输通道对应的调度队列与全局队列一起,按照预设的调度算法,例如优先级调度或者轮询调度或者带权重轮询调度算法等进行调度传输。
实施例四
基于实施例二所述的获得TCP报文类型的方式,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息,例如可以包括:
根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
优选地,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,例如可以包括:
按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
优选地,按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列,例如可以包括:
当所述TCP报文协议头字段的SYN标志位为1时,则可以认为所述TCP报文对应的进程刚刚创建,所以此时可以在所述TCP传输通道的可用队列资源中,将所述TCP报文映射到新建的所述TCP报文对应的进程信息相关联的TCP业务传输队列;可以理解地,当所述TCP传输通道没有可用队列资源时,将所述TCP报文传输至常规报文传输队列;需要说明的是,在本实施例中,常规报文可以认为是非TCP协议报文。
当所述TCP报文协议头字段的FIN标志位为1时,则可以认为所述TCP 报文对应的进程已经结束,所以此时根据所述TCP报文的进程信息查找在所述TCP传输通道的已有传输队列,当查找到时,删除所述TCP传输通道中与所述TCP报文的进程信息对应的已有传输队列,使其变为可用资源;可以理解地,当没有查找到时,将所述TCP报文传输至常规报文传输队列;
当所述TCP报文协议头字段的SYN标志位与FIN标志位均不为1时,则可以认为所述TCP报文对应的进程正在传输中,所以此时可以根据所述TCP报文的进程信息查找在所述TCP传输通道的TCP业务传输队列,当查找到时,将所述TCP报文按照匹配的进程信息映射至对应的TCP业务传输队列;可以理解地,当没有查找到时,将所述TCP报文传输至常规报文传输队列。
优选地,为了防止网络故障导致没有收到所述TCP报文对应进程的结束报文(即,FIN标志位为1的报文),进而导致所述TCP传输通道中与所述TCP报文对应的TCP业务传输队列无法删除,从而造成可用资源的紧张和存储资源的浪费,可以采用定时老化机制,及在预设的时间段内,TCP业务传输队列没有新的TCP报文对应映射加入,则TCP业务传输队列会被老化掉,释放掉占用的队列资源。具体的老化过程为现有技术,本发明实施例不做详细描述。
例如,对应于上述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列的方式,将所述传输队列按照预设的调度策略进行调度传输,可以包括:
根据预设的调度策略将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度所得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
以图4为例,将输入的报文中的TCP报文与非TCP报文区分完毕之后,将TCP报文与非TCP报文输入到对应的TCP传输通道中,比如TCP通道 1……TCP通道N;随后在每个TCP传输通道中,以TCP通道1为例,将TCP通道中的TCP报文按照TCP端口等类似的进程信息映射到对应的TCP业务传输队列,比如TCP业务队列q1m+1,q1m+2,……q1m+n,具体的映射过程可以按照上述的方式进行,在此不再赘述;接着,在每个TCP传输通道中,可以按照轮询调度或者带权重轮询调度算法等,将TCP通道1中TCP业务传输队列q1m+1,q1m+2,……q1m+n进行调度,从而得到调度队列;然后,将调度队列与同一TCP传输通道中的常规业务传输队列,如常规队列q10,q11,……q1n一起,按照预设的调度算法,例如优先级调度或者轮询调度或者带权重轮询调度算法等进行调度传输。可以理解地,对于其他的TCP传输通道,如TCP通道N,也进行相类似的处理过程。
优选地,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,例如可以包括:
将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
例如,对应于上述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列的方式,将所述传输队列按照预设的调度策略进行调度传输,可以包括:
在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
以图5为例,将TCP报文按照对应的TCP传输通道输入到预先开辟的 子队列资源池中,对应的TCP传输通道,可以比如TCP通道1……TCP通道N;随后,按照TCP报文的进程信息将TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列,以TCP通道1为例,将TCP通道中的TCP报文按照TCP端口等类似的进程信息映射到对应的TCP传输子队列,比如TCP子队列sq10,sq11,……sq1x,具体的映射过程为本领域技术人员的常规技术,在此不再赘述;接着,可以按照轮询调度或者带权重轮询调度算法等,将TCP通道1对应的TCP传输子队列sq10,sq11,……sq1x进行调度,从而得到调度队列,然后,将调度队列与同一TCP传输通道中的常规业务传输队列,如常规队列q10,q11,……q1m一起,按照预设的调度算法,例如优先级调度或者轮询调度或者带权重轮询调度算法等进行调度传输;详细地,子队列调度之后得到调度队列可以认为是常规队列q1m+1。可以理解地,对于其他的TCP传输通道,如TCP通道N,也进行相类似的处理过程。
实施例五
基于前述实施例相同的技术构思,参见图6,其示出了本发明实施例提供的一种报文调度装置60的结构示意图,该装置60可以应用于双向传输TCP报文的设备中,该装置60可以包括:解析单元601、映射单元602和调度单元603;其中,
所述解析单元601,配置为将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
所述映射单元602,配置为按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
所述调度单元603,配置为将所述传输队列按照预设的调度策略进行调度传输。
示例性地,所述解析单元601,还配置为:
对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
优选地,所述解析单元601,还配置为:
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,所述TCP报文为ACK报文;
当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空任一个不满足时,所述TCP报文为数据报文。
优选地,所述解析单元601,还配置为:
根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
在上述方案中,所述映射单元602,还配置为:
将所述ACK报文和所述数据报文输入到对应的TCP传输通道;以及在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
相应地,所述调度单元603,还配置为将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度传输。
在上述方案中,所述映射单元602,还配置为:
将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
相应地,所述调度单元603,还配置为:根据预设的调度策略将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重 轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
在上述方案中,所述映射单元602,还配置为:
按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
相应地,所述调度单元603,还配置为:
根据预设的调度策略将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度所得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
在上述方案中,所述映射单元602,还配置为:
将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
相应地,所述调度单元603,还配置为:
所述在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
实际应用中,报文调度装置中的各单元可以由处理器、专用集成电路(ASIC)或逻辑可编程门阵列(FPGA)实现。
本发明实施例还提供了一种报文调度装置,所述装置包括:处理器和存储介质;所述存储介质中存储有可执行指令,所述可执行指令用于引起所述处理器执行本发明实施例提供的报文调度方法。
本发明实施例还提供了一种存储介质;所述存储介质中存储有可执行 指令,所述可执行指令用于执行本发明实施例提供的报文调度方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (26)

  1. 一种报文调度方法,所述方法包括:
    将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
    按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
    将所述传输队列按照预设的调度策略进行调度传输。
  2. 根据权利要求1所述的方法,其中,所述将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型,包括:
    对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
    或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
  3. 根据权利要求2所述的方法,其中,所述根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文,包括:
    当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,确定所述TCP报文为ACK报文;
    当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空任一个不满足时,确定所述TCP报文为数据报文。
  4. 根据权利要求2所述的方法,其中,所述根据解析的得到的报文头信息确定所述TCP报文对应的进程信息,包括:
    根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
  5. 根据权利要求2所述的方法,其中,当根据解析的得到的报文头信 息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
    将所述ACK报文和所述数据报文输入到对应的TCP传输通道;在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
  6. 根据权利要求5所述的方法,其中,将所述传输队列按照预设的调度策略进行调度传输,包括:
    将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度传输。
  7. 根据权利要求2所述的方法,其中,当根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
    将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
  8. 根据权利要求7所述的方法,其中,将所述传输队列按照预设的调度策略进行调度传输,包括:
    根据预设的调度策略将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
  9. 根据权利要求2所述的方法,其中,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
    按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
  10. 根据权利要求9所述的方法,其中,所述将所述传输队列按照预设的调度策略进行调度传输,包括:
    将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度得到调度队列,将所调度得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
  11. 根据权利要求2所述的方法,其中,当根据解析的得到的报文头信息确定所述TCP报文对应的进程信息时,所述按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列,包括:
    将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
  12. 根据权利要求11所述的方法,其中,将所述传输队列按照预设的调度策略进行调度传输,包括:
    所述在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
    按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
  13. 一种报文调度装置,所述装置包括:解析单元、映射单元和调度单元;其中,
    所述解析单元,配置为将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
    所述映射单元,配置为按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
    所述调度单元,配置为将所述传输队列按照预设的调度策略进行调度传输。
  14. 根据权利要求13所述的装置,其中,所述解析单元,还配置为:
    对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文为不带数据净荷的确认ACK报文或携带数据净荷的数据报文;
    或者,对所述TCP报文进行解析,根据解析的得到的报文头信息确定所述TCP报文对应的进程信息。
  15. 根据权利要求14所述的装置,其中,所述解析单元,还配置为:
    当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空同时满足时,所述TCP报文为ACK报文;
    当所述TCP报文的报文头中ACK标志位为1以及携带的数据净荷部分为空任一个不满足时,所述TCP报文为数据报文。
  16. 根据权利要求14所述的装置,其中,所述解析单元,还配置为:
    根据解析得到的所述TCP报文的源端口信息和/或目的端口信息确定所述TCP报文对应的进程信息。
  17. 根据权利要求14所述的装置,其中,所述映射单元,还配置为:
    将所述ACK报文和所述数据报文输入到对应的TCP传输通道;以及在所述TCP传输通道中,将所述TCP传输通道对应的ACK报文映射到单独的ACK报文传输队列,并将所述TCP传输通道对应数据报文映射到所述TCP传输通道对应的TCP业务传输队列中。
  18. 根据权利要求17所述的装置,其中,所述调度单元,还配置为将所述TCP传输通道中对应的ACK报文传输队列和TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度传输。
  19. 根据权利要求14所述的装置,其中,所述映射单元,还配置为:
    将所述TCP报文中的所有ACK报文映射到单独的全局传输队列中,并将所述数据报文映射到对应的TCP传输通道中的TCP业务传输队列。
  20. 根据权利要求19所述的装置,其中,所述调度单元,还配置为:将各TCP传输通道中的TCP业务传输队列按照优先级调度或者轮询调度或者带权重轮询调度算法进行调度所得到调度队列与全局队列进行调度传输。
  21. 根据权利要求14所述的装置,其中,所述映射单元,还配置为:
    按照所述TCP报文对应的进程信息以及预设的队列映射管理机制,从所述TCP报文对应的TCP传输通道的可用队列资源中,将所述TCP报文映射到对应的TCP业务传输队列。
  22. 根据权利要求21所述的装置,其中,所述调度单元,还配置为:
    根据预设的调度策略将所述TCP传输通道中的所有TCP业务传输队列按照轮询调度或者带权重轮询调度算法进行调度,将所调度得到的调度队列与所述TCP传输通道中的常规业务传输队列进行调度传输。
  23. 根据权利要求14所述的装置,其中,所述映射单元,还配置为:
    将所述TCP报文按照对应的TCP传输通道存储在子队列资源池,并按照所述TCP报文的进程信息将所述TCP报文映射到所述子队列资源池中对应TCP传输通道内的TCP传输子队列。
  24. 根据权利要求23所述的装置,其中,所述调度单元,还配置为:
    所述在子队列资源池中,按照轮询调度或者带权重轮询调度算法对每个TCP传输通道内的TCP传输子队列进行调度,得到每个TCP传输通道对应的调度队列;以及,
    按照预设的调度策略将每个TCP传输通道对应的调度队列与对应的TCP传输通道中的常规传输队列进行调度传输。
  25. 一种报文调度装置,所述报文调度装置包括处理器和存储介质;所述存储介质中存储有可执行指令,所述可执行指令用于引起所述处理器执行以下的操作:
    将传输控制协议TCP封装的TCP报文进行解析,获得所述TCP报文的类型;
    按照所述TCP报文的类型及预设的映射机制将所述TCP报文映射到对应的传输队列;
    将所述传输队列按照预设的调度策略进行调度传输。
  26. 一种存储介质,所述存储介质中存储有可执行指令,所述可执行指令用于执行权利要求1至12任一项所述的报文调度方法。
PCT/CN2016/095366 2015-09-15 2016-08-15 一种报文调度方法和装置、存储介质 Ceased WO2017045501A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510589389.2 2015-09-15
CN201510589389.2A CN106533954A (zh) 2015-09-15 2015-09-15 一种报文调度方法和装置

Publications (1)

Publication Number Publication Date
WO2017045501A1 true WO2017045501A1 (zh) 2017-03-23

Family

ID=58288459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/095366 Ceased WO2017045501A1 (zh) 2015-09-15 2016-08-15 一种报文调度方法和装置、存储介质

Country Status (2)

Country Link
CN (1) CN106533954A (zh)
WO (1) WO2017045501A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464270A (zh) * 2020-04-09 2020-07-28 南京才华科技集团有限公司 一种可面向多业务数据分发的分组传输机制系统
CN112804162A (zh) * 2019-11-13 2021-05-14 深圳市中兴微电子技术有限公司 一种调度方法、装置、终端设备和存储介质
CN112799840A (zh) * 2021-01-29 2021-05-14 北京百度网讯科技有限公司 用于传输数据的方法、装置、设备以及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111181697B (zh) * 2018-11-13 2025-09-09 三星电子株式会社 用于tcp ack包的传输的方法和系统
CN109710416B (zh) * 2019-01-11 2021-03-02 银清科技有限公司 资源调度方法及装置
CN113938258A (zh) * 2020-06-29 2022-01-14 中兴通讯股份有限公司 数据传输方法、装置以及计算机存储介质
CN114449586B (zh) * 2020-11-06 2025-08-22 中国移动通信有限公司研究院 一种通信调度方法、装置和存储介质
CN116418733B (zh) * 2021-12-30 2026-04-21 南京盛科通信有限公司 报文的上行传输方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011061003A1 (en) * 2009-11-19 2011-05-26 Icera Inc Wireless terminal for transmitting packets of different types
CN102118298A (zh) * 2009-12-31 2011-07-06 联芯科技有限公司 在非对称传输速率下提高数据传输效率的方法和装置
US8879387B2 (en) * 2010-09-08 2014-11-04 Verizon Patent And Licensing Inc. Transmission control protocol (TCP) throughput optimization in point-to-multipoint and heterogeneous wireless access networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103748845B (zh) * 2012-07-26 2017-02-01 华为技术有限公司 报文发送方法、接收方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011061003A1 (en) * 2009-11-19 2011-05-26 Icera Inc Wireless terminal for transmitting packets of different types
CN102118298A (zh) * 2009-12-31 2011-07-06 联芯科技有限公司 在非对称传输速率下提高数据传输效率的方法和装置
US8879387B2 (en) * 2010-09-08 2014-11-04 Verizon Patent And Licensing Inc. Transmission control protocol (TCP) throughput optimization in point-to-multipoint and heterogeneous wireless access networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804162A (zh) * 2019-11-13 2021-05-14 深圳市中兴微电子技术有限公司 一种调度方法、装置、终端设备和存储介质
CN112804162B (zh) * 2019-11-13 2024-04-09 深圳市中兴微电子技术有限公司 一种调度方法、装置、终端设备和存储介质
CN111464270A (zh) * 2020-04-09 2020-07-28 南京才华科技集团有限公司 一种可面向多业务数据分发的分组传输机制系统
CN112799840A (zh) * 2021-01-29 2021-05-14 北京百度网讯科技有限公司 用于传输数据的方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN106533954A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
WO2017045501A1 (zh) 一种报文调度方法和装置、存储介质
US12341687B2 (en) Reliable fabric control protocol extensions for data center networks with failure resilience
US20210297351A1 (en) Fabric control protocol with congestion control for data center networks
US20210297350A1 (en) Reliable fabric control protocol extensions for data center networks with unsolicited packet spraying over multiple alternate data paths
US10171369B2 (en) Systems and methods for buffer management
US10027781B2 (en) TCP link configuration method, apparatus, and device
Briscoe et al. Reducing internet latency: A survey of techniques and their merits
US20140164640A1 (en) Small packet priority congestion control for data center traffic
US20140164641A1 (en) Congestion control for data center traffic
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
CN102143078B (zh) 一种报文处理方法、转发设备及系统
WO2018210117A1 (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
CN106464596B (zh) 开放流通信方法、系统、控制器和业务网关
EP3735768B1 (en) Improving qoe for video and web services using cross-layer information
WO2022143468A1 (zh) 数据传输方法、装置、系统及存储介质
US20170295019A1 (en) Communication device and packet transmission/reception program
WO2014042966A1 (en) Telemetry data routing
WO2017097201A1 (zh) 一种数据传输方法、发送装置及接收装置
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
US20180091631A1 (en) Systems and methods for writing prioritized http/2 data to a socket buffer
CN105897767A (zh) 调度方法、调度响应方法及设备和系统
CN115348335B (zh) 异构数据流的通用传输架构
CN115348336B (zh) 异构数据流的通用传输架构
JP6263452B2 (ja) 帯域制御システム、帯域制御方法、及びプログラム
JP2013251737A (ja) 通信装置、通信装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16845615

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16845615

Country of ref document: EP

Kind code of ref document: A1