WO2013097611A1 - Data processing method, device and system - Google Patents

Data processing method, device and system Download PDF

Info

Publication number
WO2013097611A1
WO2013097611A1 PCT/CN2012/086537 CN2012086537W WO2013097611A1 WO 2013097611 A1 WO2013097611 A1 WO 2013097611A1 CN 2012086537 W CN2012086537 W CN 2012086537W WO 2013097611 A1 WO2013097611 A1 WO 2013097611A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow control
transmission protocol
control transmission
data block
protocol data
Prior art date
Application number
PCT/CN2012/086537
Other languages
French (fr)
Chinese (zh)
Inventor
周义梁
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2013097611A1 publication Critical patent/WO2013097611A1/en

Links

Classifications

    • 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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data processing method, apparatus, and system. Background technique
  • the signaling transmission in the telecommunication network generally uses the STREAM CONTROL TRANSMISSION PROTOCOL.
  • SCTP SCTP protocol
  • the packet transmission mode is defined, and the message packet is The quantity directly affects the ability of the network to forward messages.
  • the number of users continues to increase, the number of services provided by operators continues to increase, resulting in an increase in the number of messages on the network. If data is to be transmitted quickly under limited network bandwidth,
  • the number of messages on the network needs to be reduced. To increase the number of messages on the network, the delay of message transmission is inevitable. The increase of data traffic directly leads to the increasingly tight network resources. The network meets both low latency and high latency. Load is a difficult problem currently facing.
  • the bound transmission control mode is configured to wait for a plurality of user data to be bound together, and the delay is large, and the non-binding transmission control mode is separately assembled into a data packet for each user's data, on the network.
  • the number of message packets is large.
  • Embodiments of the present invention provide a data processing method, apparatus, and system for reducing network delay while increasing network load.
  • An embodiment of the present invention provides a data processing method, including: converting received data into a flow control transmission protocol data block; storing the flow control transmission protocol data block into a buffer, and transmitting the flow control Setting a state of the protocol data block to a to-be-sent state; determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, the buffer All flow control transmission protocol data blocks in the to-be-transmitted state are sent together, and if not, the flow control transmission protocol data block is transmitted.
  • An embodiment of the present invention provides a data processing apparatus, including: a converting unit, configured to convert received data into a flow control transmission protocol data block; and a storage unit, configured to store the flow control transmission protocol data block a buffer unit, configured to: set a state of the flow control transmission protocol data block to a to-be-sent state; and determine, by the determining unit, whether another flow control transmission protocol in a state to be sent exists in the buffer a data unit; a sending unit, configured to: if there are other flow control transmission protocol data blocks in the buffer to be sent, all the flow control transmission protocol data blocks in the buffer to be sent are And sending, if there is no other flow control transmission protocol data block in the buffer to be sent, sending the flow control transmission protocol data block.
  • An embodiment of the present invention provides a data processing system, including: a sending end device, a gateway device, and a receiving end device; the sending end device is configured to send data to the gateway device; and the gateway device is configured to receive the received Converting the data into a flow control transmission protocol data block; storing the flow control transmission protocol data block in a buffer, and setting a state of the flow control transmission protocol data block to a to-be-sent state; determining the buffer Whether there are other flow control transmission protocol data blocks in a state to be sent, and if so, all flow control transmission protocol data blocks in the buffer to be sent are sent to the receiving device together, if not, to The receiving end device sends the flow control transmission protocol data block; the receiving end device is configured to receive the flow control transmission protocol data block sent by the gateway device.
  • the embodiment of the present invention has the following advantages: Converting the received data into a stream control transmission protocol data block and storing it in a buffer, and setting the state of the flow control transmission protocol data block to be Sending status, determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, transmitting all the flow control transmission protocol data blocks in the buffer to be sent to reduce The number of flow control transport protocol messages in the network, if not, the flow control transport protocol data block is directly sent, avoiding waiting for other data to reduce the transmission delay, thereby dynamically adjusting the control flow control transmission protocol according to the network condition The way data is used to increase network load while reducing network latency.
  • DRAWINGS 1 is a schematic diagram of an embodiment of a data processing method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of another embodiment of a data processing method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a data block format of a flow control transmission protocol
  • FIG. 4 is a schematic diagram of a format of a flow control transmission protocol packet
  • FIG. 5 is a schematic diagram of an embodiment of a data processing apparatus according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of another embodiment of a data processing apparatus according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of an embodiment of a data processing system according to an embodiment of the present invention. detailed description
  • the embodiment of the invention provides a data processing method and device, which are used for dynamically adjusting the control data according to the network state in the process of transmitting data, thereby reducing the network delay and improving the utilization of the network bandwidth. The details are described below separately.
  • an embodiment of a data processing method in an embodiment of the present invention includes:
  • the user sends a message trigger, the timer times out, and the received selective acknowledgement (SACK, selective acknowledgement) requires retransmission trigger.
  • SACK selective acknowledgement
  • the manner in which the message is sent by the user is used as an example to describe the control process of the message sending.
  • the sending control process is the same in other trigger modes, and details are not described herein again.
  • pre-processing the received data for example, determining whether to fragment the data according to the data size, determining whether it is a null packet, and converting it into an SCTP data block, meeting the requirements of the SCTP rule.
  • the flow control transmission protocol data block is stored in a buffer, and the state of the flow control transmission protocol data block is set to a to-be-sent state;
  • the preprocessed SCTP data block is stored in a buffer (SendBuffer), and the state of the SCTP data block is set to a pending state.
  • step 104 If yes, go to step 104. If no, go to step 105.
  • the SendBuffer has other SCTP data blocks in the pending state, all the SCTP data blocks in the SendBuffer are sent together and sent to the protocol (IP, Internet Protocol) layer of the network in the network.
  • IP Internet Protocol
  • the SCTP data block is sent and sent to the IP layer in the network.
  • the SCTP data block is directly sent without waiting for other users' data to reduce the delay.
  • the SCTP data retains the message frame boundary of the application during the transmission process, even if the data blocks of different applications are bundled and transmitted, the subsequent peer receiving device does not affect the processing data.
  • the received data is converted into a flow control transmission protocol data block and stored in a buffer, and the state of the flow control transmission protocol data block is set to a pending state, and it is determined whether the buffer exists.
  • Other flow control transmission protocol data blocks in the to-be-sent state if any, all the flow control transmission protocol data blocks in the buffer to be sent are sent together to reduce the number of flow control transmission protocol messages in the network, if Otherwise, the flow control transmission protocol data block is directly sent to avoid waiting for other data to reduce the transmission delay. Therefore, according to the network condition, the manner of controlling the transmission data is dynamically adjusted, thereby reducing the network delay and increasing the network load. the amount.
  • another method for processing data in the embodiment of the present invention is described in detail in another embodiment.
  • another embodiment of the method for processing data in the embodiment of the present invention includes: 201. Convert the received data into a flow control transmission protocol data block.
  • pre-processing the received data for example, determining whether to fragment the data according to the data size, determining whether it is a null packet, and converting it into an SCTP data block, meeting the requirements of the SCTP rule.
  • the flow control transmission protocol data block is stored in a buffer, and the state of the flow control transmission protocol data block is set to a to-be-sent state;
  • the preprocessed SCTP data block is stored in the SendBuffer, and the state of the SCTP data block is set to the pending state.
  • step 204 is performed.
  • the sending conditions include the congestion window (CWND, Congestion Window) of the peer device, and the size of the receiving window (RWND, Receiver Window), determine the size of the CWND of the peer device, and the size of the RWND. Whether to allow sending SCTP packets.
  • the SCTP packet is temporarily stored in the SendBuffer, and then sent when the condition allows transmission.
  • step 205 is performed, and when the SendBuffer has other SCTP data blocks in the pending state, the steps are performed. 207.
  • the SCTP data block structure includes the type of data block, subcontracting, Length, transmission sequence number, flow identification, in-stream identification, bearer data protocol identification, and user data.
  • SCTP data block A, the SCTP data block, and the SCTP data block C are assembled into an SCTP packet, and the format of the SCTP packet is shown in FIG. 4, where the SCTP data packet header includes the SCTP.
  • Data block control information is shown in FIG. 4, where the SCTP data packet header includes the SCTP.
  • the SCTP data packet is sent to send the flow control protocol data block, and the flow control protocol data block is sent to an IP layer in the network.
  • the current sending condition is determined whether the SCTP message is allowed to carry more SCTP data blocks, and the sending condition includes the size of the CWND and the RWND of the peer device.
  • step 210 If yes, go to step 210. If no, go to step 213.
  • the other flow control transmission protocol data block in the to-be-transmitted state is assembled into the flow control transmission protocol packet, and its state is set to a status to be confirmed;
  • the other flow control transmission protocol data block in the to-be-transmitted state is assembled into the flow control transmission protocol packet, and the The state of another flow control transport protocol data block in the state to be transmitted is set to the WaitAck state.
  • step 212 Determine whether the size of the flow control transmission protocol packet reaches the maximum transmission unit size; if the buffer is not empty, and still stores data, determine whether the size of the SCTP packet reaches the maximum transmission unit (MTU, Max Transfer Unit) the size of.
  • the user sends a data block with a length of 100 bytes, and the size of the MTU can be preset.
  • the size of the MTU is preset to 1500 bytes, so that each SCTP packet is sent when data is normally sent. There is only one SCTP data block in the middle.
  • the rate at which the data is sent by the user is higher than the transmission rate of the network, the number of SCTP data blocks in each SCTP data packet is constantly changing, and the number thereof is maintained between 1 and 15.
  • the rate at which the data is sent by the user returns to normal, there is only one SCTP data block in each SCTP packet.
  • step 206 is performed. If the size of the SCTP packet does not reach the MTU size, step 208 is performed.
  • the difference between the bound and unbound data is weakened, and in the data transmission process, the current transmission rate, the receiving window, and the like are integrated, and the maximum delay is sent as much as possible.
  • Data messages while ensuring low latency and high load, better adaptive network transmission capabilities.
  • step 206 is performed.
  • the SCTP data block currently in the to-be-sent state is directly assembled into an SCTP data packet, and sent to the IP layer in the network. If there are other SCTP data blocks in the buffer to be sent, all the SCTP data blocks in the buffer to be sent are assembled into an SCTP packet, and its state is set to the WaitAck state, and then obtained. Another SCTP data block in the buffer to be sent to determine whether the current network transmission condition allows more SCTP data blocks to be carried in the SCTP message. If allowed, another SCTP data block in the to-be-sent state is also Assembled into the SCTP packet to send more SCTP data blocks in the pending state at a time.
  • the SCTP data block in another pending state is repeatedly acquired. Assembling more SCTP data blocks in an SCTP packet until the SCTP packet does not reach the MTU size, thus, if network conditions permit, A SCTP packet Assembling more SCTP data blocks in the pending state, sending more SCTP data blocks in the pending state at one time, reducing the number of network messages, and there are no other SCTP data blocks in the buffer to be sent, and directly
  • the SCTP data block currently in the to-be-sent state is assembled into an SCTP data packet transmission, and does not wait for the buffer to receive other SCTP data blocks and then send them together, thereby reducing the network delay, and thus can be based on the network status and the SCTP data block.
  • the situation dynamically adjust the transmission method, and increase the network load while reducing the network delay.
  • an embodiment of the data processing apparatus in the embodiment of the present invention includes:
  • the converting unit 501 is configured to convert the received data into an SCTP data block (refer to step 101); the storing unit 502 is configured to store the SCTP data block in a buffer (refer to step 102); Setting the state of the SCTP data block to the to-be-sent state (see step 103);
  • the determining unit 504 is configured to determine whether there are other SCTP data blocks in the buffer to be sent (see step 104);
  • the sending unit 505 is configured to: if there are other SCTP data blocks in the buffer to be sent, send all the SCTP data blocks in the buffer to be sent together, if the buffer is as shown in step 105. ).
  • the converting unit 501 converts the received data into an SCTP data block
  • the storing unit 502 stores the SCTP data block in a buffer
  • the setting unit sets the state of the SCTP data block to the to-be-sent state.
  • the determining unit 504 determines whether there are other SCTP data blocks in the buffer to be sent. If there are other SCTP data blocks in the buffer to be sent, the sending unit 505 stores all the buffers in the buffer. The SCTP data block in the to-be-sent state is sent together to reduce the number of flow control transmission protocol messages in the network. If there is no other SCTP data block in the buffer to be sent, the sending unit 505 sends the SCTP data block. Avoid waiting for other data to reduce the transmission delay.
  • FIG. 6 another embodiment of the data processing apparatus in the embodiment of the present invention includes:
  • the converting unit 601 is configured to convert the received data into an SCTP data block (see steps 101 and 201);
  • the storage unit 602 is configured to store the SCTP data block in a buffer (see steps 102 and 202); and the setting unit 603 is configured to set a state of the SCTP data block to a to-be-sent state (see steps 102 and 202). Also used to set the state of the SCTP data block in the SCTP packet to the to-be-confirmed state (see step 205);
  • the determining unit 604 is configured to determine whether there are other SCTP data blocks in the buffer to be sent (see steps 103 and 203); and is further configured to determine whether the current sending condition allows the sending of the SCTP message, where the sending condition includes the peer end The congestion window of the device and the size of the receiving window (see step 204);
  • the data processing apparatus in the example of the present invention may further include: an assembling unit 605, an obtaining unit 606;
  • the assembling unit 605 is configured to: if the current sending condition is allowed to send the SCTP message, assemble all the SCTP data blocks in the buffer to be sent into an SCTP packet (refer to step 207); If the condition allows the sending of the SCTP message, the SCTP data block is assembled into an SCTP packet (see step 205);
  • the obtaining unit 606 is configured to acquire another SCTP data block in the buffer to be sent (see step 208).
  • the determining unit 604 is further configured to determine whether the current sending condition allows the SCTP message to carry more SCTP data blocks, where the sending condition includes a congestion window of the peer device and a size of the receiving window (refer to step 209), and if currently If the sending condition does not allow the SCTP message to carry more SCTP data blocks, it is determined whether the SCTP packet is empty (see step 213);
  • the assembling unit 605 is further configured to: if the current sending condition allows the SCTP message to carry more SCTP data blocks, assemble the other SCTP data block in the to-be-sent state into the SCTP packet (refer to step 210);
  • the setting unit 603 is further configured to set a state of the another SCTP data block in a to-be-transmitted state to a to-be-confirmed state (refer to step 210);
  • the determining unit 604 is further configured to determine whether the buffer is empty. If the buffer is not empty, it is further used to determine whether the size of the SCTP packet reaches a maximum transmission unit size (see steps 211, 212);
  • the obtaining unit 606 is further configured to: if the size of the SCTP packet reaches the maximum transmission unit size, obtain another SCTP data block in the buffer to be sent (see step 212).
  • the data processing apparatus in the example of the present invention may further include a sending unit 607;
  • the sending unit 607 is configured to: if the SCTP packet is not empty, send the SCTP packet to send the SCTP data block; if the buffer is empty, send the SCTP packet to send the SCTP data block; if the SCTP packet is If the size does not reach the size of the largest transmission unit, the SCTP packet is transmitted to transmit the SCTP data block (see step 212).
  • the converting unit 601 converts the received data into an SCTP data block
  • the storing unit 602 stores the SCTP data block in a buffer
  • the setting unit 603 sets the state of the SCTP data block to the to-be-sent state.
  • the determining unit 604 determines whether there are other SCTP data blocks in the buffer to be sent. If not, the assembling unit 605 assembles the SCTP data block into an SCTP packet, and the SCTP data is set by the setting unit 603.
  • the state of the block is set to the pending (WaitAck) state, and the transmitting unit 607 transmits the SCTP packet to transmit the SCTP data block.
  • the determining unit 604 is further configured to determine whether the current sending condition allows the SCTP message to be sent. If the current sending condition allows the sending of the SCTP message, and there is no other SCTP data block in the buffer to be sent, the assembling unit 605 assembles the SCTP data block into one SCTP packet, and the setting unit 603 sets the state of the SCTP data block to the to-be-confirmed state.
  • the assembling unit 405 assembles all the SCTP data blocks in the buffer to be sent into one.
  • the unit 605 assembles the other SCTP data block in the to-be-sent state into the SCTP, and the setting unit 603 will The status is set to the status to be confirmed, and then the determining unit 404 determines whether the buffer is empty.
  • the sending unit 607 sends the SCTP packet to send the SCTP data block. If not, the determining unit 604 determines. Whether the size of the SCTP packet reaches the maximum transmission unit size. If yes, the sending unit 607 sends the SCTP packet to send the SCTP data block. If not, the acquisition unit 606 acquires another one in the buffer. The flow control transport protocol data block to be sent.
  • the SCTP data block currently in the to-be-sent state is directly assembled into an SCTP data packet, if the buffer is present.
  • the other SCTP data blocks to be sent are assembled into an SCTP packet in the buffer, and the state is set to the WaitAck state, and then another one in the buffer is obtained.
  • the SCTP data block in the to-be-sent state determines whether the current network transmission condition allows more SCTP data blocks to be carried in the SCTP message, and if so, another SCTP data block in the to-be-sent state is also assembled into the SCTP packet. To send more SCTP data blocks in the pending state at a time.
  • the SCTP data block in another pending state is repeatedly acquired to assemble more in the same SCTP packet. SCTP data block until the SCTP packet does not reach the MTU size, thus, in the case of network conditions, in the same More SCTP data blocks in the pending state are assembled in the SCTP packet, and more SCTP data blocks in the pending state are transmitted at a time, which can reduce the SCTP data block currently being sent to be sent into an SCTP data packet, and does not Waiting for the buffer to receive other SCTP data blocks and then sending them together can reduce the network delay. Therefore, the transmission mode can be dynamically adjusted according to the network status and the status of the SCTP data block, and the network load can be increased while reducing the network delay. .
  • the embodiment of the present invention further provides a data processing system.
  • the data processing system in the embodiment of the present invention includes:
  • the gateway device 702 is configured to convert the received data into a flow control transport protocol data block, and store the flow control transport protocol data block in a buffer, and The state of the flow control transport protocol data block Set to the to-be-sent state, and determine whether there are other flow control transport protocol data blocks in the buffer to be sent, and if so, all the flow control transport protocol data blocks in the buffer to be sent are combined. Sending to the receiving device 703, if not, transmitting the flow control transmission protocol data block to the receiving device 703;
  • the receiving end device 703 is configured to receive a flow control transmission protocol data block sent by the gateway device 702. Further, the gateway device 702 is further configured to determine whether the current transmission condition allows the flow control transmission protocol message to be sent, and if the current transmission condition allows the flow control transmission protocol message to be sent, all the flow control transmission protocols in the buffer are in a to-be-sent state.
  • the data block is assembled into a flow control transport protocol packet; the state of the flow control transport protocol data block in the flow control transport protocol packet is set to a pending state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Disclosed are a data processing method, device and system, for dynamically adjusting a data control method according to the network status, so as to reduce the network delay and meanwhile improve the utilization of network bandwidth. The method of the embodiment of the present invention comprises: converting received data into a stream control transmission protocol data block, saving the stream control transmission protocol data block in a buffer area, and setting the stream control transmission protocol data block to a to-be-sent state; and determining whether another stream control transmission protocol data block in a to-be-sent state exists in the buffer area, and if yes, sending all the stream control transmission protocol data blocks in a to-be-sent state in the buffer area; if not, sending said stream control transmission protocol data block.

Description

一种数据处理方法、 装置及系统 技术领域  Data processing method, device and system
本发明涉及通信技术领域, 尤其涉及一种数据处理方法、 装置及系统。 背景技术  The present invention relates to the field of communications technologies, and in particular, to a data processing method, apparatus, and system. Background technique
当前通信系统中, 在电信网 IP化以后, 电信网中信令的传输一般使用流 控制传输协议 ( SCTP, STREAM CONTROL TRANSMISSION PROTOCOL ), 在 SCTP协议下,定义的是包传输的方式, 消息包的数量直接影响了网络转发 消息的能力。 由于用户数量不断增加, 运营商提供的服务不断增多, 导致网 络上的消息数量不断增加, 在有限的网络带宽下, 如果要快速传送数据, 则  In the current communication system, after the IP network of the telecommunication network, the signaling transmission in the telecommunication network generally uses the STREAM CONTROL TRANSMISSION PROTOCOL. Under the SCTP protocol, the packet transmission mode is defined, and the message packet is The quantity directly affects the ability of the network to forward messages. As the number of users continues to increase, the number of services provided by operators continues to increase, resulting in an increase in the number of messages on the network. If data is to be transmitted quickly under limited network bandwidth,
+ 需要降低网络上的消息数量, 而要增加网络上的消息数量, 则不可避免导致 消息传输时延, 数据流量的增加直接导致当前的网络资源越来越紧张, 网络 同时满足低延时、 高负载是当前面临的一个难题。  + The number of messages on the network needs to be reduced. To increase the number of messages on the network, the delay of message transmission is inevitable. The increase of data traffic directly leads to the increasingly tight network resources. The network meets both low latency and high latency. Load is a difficult problem currently facing.
现有技术中, 在 SCTP协议下有两种传输控制方式, 一种是绑定式, 将多 个用户数据组装成一个数据包发送, 来减少网络上消息包的个数; 另一种是 非绑定式, 当每个用户的数据到达后, 不做任何的等待, 直接组装成数据包 进行发送, 来降低消息发送的时延。  In the prior art, there are two transmission control modes under the SCTP protocol, one is a binding type, which assembles multiple user data into one data packet to reduce the number of message packets on the network; The formula, when each user's data arrives, does not wait for any, directly assembles into a data packet for transmission, to reduce the delay of message transmission.
在以上现有技术中, 绑定式传输控制方式由于等待多个用户数据一并绑 定, 时延大, 而非绑定式传输控制方式由于每个用户的数据单独组装成数据 包, 网络上消息包的个数较多。 发明内容  In the above prior art, the bound transmission control mode is configured to wait for a plurality of user data to be bound together, and the delay is large, and the non-binding transmission control mode is separately assembled into a data packet for each user's data, on the network. The number of message packets is large. Summary of the invention
本发明实施例提供了一种数据处理方法、 装置及系统, 用以降低网络时 延的同时提高网络负载量。  Embodiments of the present invention provide a data processing method, apparatus, and system for reducing network delay while increasing network load.
本发明实施例提供了一种数据处理方法, 包括: 将接收到的数据转换为 流控制传输协议数据块; 将所述流控制传输协议数据块存入緩冲区, 并将所 述流控制传输协议数据块的状态设置为待发送状态; 判断所述緩冲区内是否 存在处于待发送状态的其他流控制传输协议数据块, 若是, 则将所述緩冲区 内所有处于待发送状态的流控制传输协议数据块一并发送, 若否, 则发送所 述流控制传输协议数据块。 An embodiment of the present invention provides a data processing method, including: converting received data into a flow control transmission protocol data block; storing the flow control transmission protocol data block into a buffer, and transmitting the flow control Setting a state of the protocol data block to a to-be-sent state; determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, the buffer All flow control transmission protocol data blocks in the to-be-transmitted state are sent together, and if not, the flow control transmission protocol data block is transmitted.
本发明实施例提供了一种数据处理装置, 包括: 转换单元, 用于将接收 到的数据转换为流控制传输协议数据块;存入单元, 用于将所述流控制传输协 议数据块存入緩冲区; 设置单元, 用于将所述流控制传输协议数据块的状态 设置为待发送状态; 判断单元, 用于判断所述緩冲区内是否存在处于待发送 状态的其他流控制传输协议数据块; 发送单元, 用于若所述緩冲区内存在处 于待发送状态的其他流控制传输协议数据块, 则将所述緩冲区内所有处于待 发送状态的流控制传输协议数据块一并发送, 若所述緩冲区内不存在处于待 发送状态的其他流控制传输协议数据块, 则发送所述流控制传输协议数据块。  An embodiment of the present invention provides a data processing apparatus, including: a converting unit, configured to convert received data into a flow control transmission protocol data block; and a storage unit, configured to store the flow control transmission protocol data block a buffer unit, configured to: set a state of the flow control transmission protocol data block to a to-be-sent state; and determine, by the determining unit, whether another flow control transmission protocol in a state to be sent exists in the buffer a data unit; a sending unit, configured to: if there are other flow control transmission protocol data blocks in the buffer to be sent, all the flow control transmission protocol data blocks in the buffer to be sent are And sending, if there is no other flow control transmission protocol data block in the buffer to be sent, sending the flow control transmission protocol data block.
本发明实施例提供了一种数据处理系统, 包括: 发送端设备, 网关设备 以及接收端设备; 所述发送端设备用于向所述网关设备发送数据; 所述网关 设备用于将接收到的数据转换为流控制传输协议数据块; 将所述流控制传输 协议数据块存入緩冲区, 并将所述流控制传输协议数据块的状态设置为待发 送状态; 判断所述緩冲区内是否存在处于待发送状态的其他流控制传输协议 数据块, 若是, 将所述緩冲区内所有处于待发送状态的流控制传输协议数据 块一并向所述接收端设备发送, 若否, 向所述接收端设备则发送所述流控制 传输协议数据块; 所述接收端设备用于接收所述网关设备发送的所述流控制 传输协议数据块。  An embodiment of the present invention provides a data processing system, including: a sending end device, a gateway device, and a receiving end device; the sending end device is configured to send data to the gateway device; and the gateway device is configured to receive the received Converting the data into a flow control transmission protocol data block; storing the flow control transmission protocol data block in a buffer, and setting a state of the flow control transmission protocol data block to a to-be-sent state; determining the buffer Whether there are other flow control transmission protocol data blocks in a state to be sent, and if so, all flow control transmission protocol data blocks in the buffer to be sent are sent to the receiving device together, if not, to The receiving end device sends the flow control transmission protocol data block; the receiving end device is configured to receive the flow control transmission protocol data block sent by the gateway device.
从以上技术方案可以看出, 本发明实施例具有以下优点: 将接收到的数 据转换为流控制传输协议数据块后存入緩冲区, 并将该流控制传输协议数据 块的状态设置为待发送状态, 判断緩冲区内是否存在处于待发送状态的其他 流控制传输协议数据块, 如果存在, 则将緩冲区内所有处于待发送状态的流 控制传输协议数据块一并发送, 以减少网络中流控制传输协议消息的数量, 若否, 则将该流控制传输协议数据块直接发送, 避免等待其他数据, 以降低 传输时延, 由此, 根据网络状况, 动态调整控制发送流控制传输协议数据的 方式, 在降低网络时延的同时提高网络负载量。 附图说明 图 1为本发明实施例中数据处理方法的一个实施例示意图; 图 2为本发明实施例中数据处理方法的另一个实施例示意图; It can be seen from the above technical solution that the embodiment of the present invention has the following advantages: Converting the received data into a stream control transmission protocol data block and storing it in a buffer, and setting the state of the flow control transmission protocol data block to be Sending status, determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, transmitting all the flow control transmission protocol data blocks in the buffer to be sent to reduce The number of flow control transport protocol messages in the network, if not, the flow control transport protocol data block is directly sent, avoiding waiting for other data to reduce the transmission delay, thereby dynamically adjusting the control flow control transmission protocol according to the network condition The way data is used to increase network load while reducing network latency. DRAWINGS 1 is a schematic diagram of an embodiment of a data processing method according to an embodiment of the present invention; FIG. 2 is a schematic diagram of another embodiment of a data processing method according to an embodiment of the present invention;
图 3为流控制传输协议数据块格式示意图;  3 is a schematic diagram of a data block format of a flow control transmission protocol;
图 4为流控制传输协议包格式示意图;  4 is a schematic diagram of a format of a flow control transmission protocol packet;
图 5为本发明实施例中数据处理装置的一个实施例示意图;  FIG. 5 is a schematic diagram of an embodiment of a data processing apparatus according to an embodiment of the present invention; FIG.
图 6为本发明实施例中数据处理装置的另一个实施例示意图;  6 is a schematic diagram of another embodiment of a data processing apparatus according to an embodiment of the present invention;
图 7为本发明实施例中数据处理系统的一个实施例示意图。 具体实施方式  FIG. 7 is a schematic diagram of an embodiment of a data processing system according to an embodiment of the present invention. detailed description
本发明实施例提供了一种数据处理方法及装置, 用于在发送数据的过程 中, 根据网络状态, 动态调整控制数据方法, 在降低网络时延的同时提高网 络带宽的利用率。 以下分别进行详细说明。  The embodiment of the invention provides a data processing method and device, which are used for dynamically adjusting the control data according to the network state in the process of transmitting data, thereby reducing the network delay and improving the utilization of the network bandwidth. The details are described below separately.
请参阅图 1 , 本发明实施例中的数据处理方法的一个实施例包括: Referring to FIG. 1, an embodiment of a data processing method in an embodiment of the present invention includes:
101、 将接收到的数据转换为流控制传输协议数据块; 101. Convert the received data into a flow control transmission protocol data block.
在网络中, 存在多种触发消息发送的方式, 例如用户下发消息触发, 定 时器超时触发, 收到的选择性应答(SACK, selective acknowledgement )要求 重传触发。 为描述方便, 本发明的实施例中均以用户下发消息触发的方式为 例, 描述消息发送的控制过程, 其他的触发方式下发送控制过程相同, 此处 不再赘述。  In the network, there are multiple ways to trigger message transmission. For example, the user sends a message trigger, the timer times out, and the received selective acknowledgement (SACK, selective acknowledgement) requires retransmission trigger. For the convenience of description, in the embodiment of the present invention, the manner in which the message is sent by the user is used as an example to describe the control process of the message sending. The sending control process is the same in other trigger modes, and details are not described herein again.
接收到用户发送的数据后, 对接收到的数据进行预处理, 例如, 根据数 据大小判断是否对其进行分片,判断其是否为空包,并将其转换为 SCTP数据 块, 符合 SCTP规则要求。  After receiving the data sent by the user, pre-processing the received data, for example, determining whether to fragment the data according to the data size, determining whether it is a null packet, and converting it into an SCTP data block, meeting the requirements of the SCTP rule. .
102、 将该流控制传输协议数据块存入緩冲区, 并将该流控制传输协议数 据块的状态设置为待发送状态;  102. The flow control transmission protocol data block is stored in a buffer, and the state of the flow control transmission protocol data block is set to a to-be-sent state;
将预处理后的 SCTP数据块存入緩冲区( SendBuffer ),并将该 SCTP数据 块的状态设置为待发送(pending )状态。  The preprocessed SCTP data block is stored in a buffer (SendBuffer), and the state of the SCTP data block is set to a pending state.
103、 判断緩冲区内是否存在处于待发送状态的其他流控制传输协议数据 块;  103. Determine whether there are other flow control transmission protocol data blocks in the buffer to be sent;
判断 SendBuffer内是否存在处于 pending状态的,除该 SCTP数据块之外 的其他 SCTP数据块。 Determine whether there is a pending state in the SendBuffer, except for the SCTP data block. Other SCTP data blocks.
若是, 则执行步骤 104, 若否, 则执行步骤 105。  If yes, go to step 104. If no, go to step 105.
104、 将緩冲区内所有处于待发送状态的流控制传输协议数据块一并发 送;  104. Send all the flow control transport protocol data blocks in the buffer to be sent together;
如果 SendBuffer 内存在处于 pending状态的其他 SCTP数据块, 则将 SendBuffer内所有处于 pending状态的 SCTP数据块一并发送, 发送给网络中 的网络之间互连的协议 ( IP, Internet Protocol )层。  If the SendBuffer has other SCTP data blocks in the pending state, all the SCTP data blocks in the SendBuffer are sent together and sent to the protocol (IP, Internet Protocol) layer of the network in the network.
若 SendBuffer内存在处于 pending状态的其他 SCTP数据块,表明当前网 络状态不理想, 消息数量可能已经产生瓶颈, 需要减少网络中传输的消息数 量, 因此, 将 SendBuffer内所有处于 pending状态的 SCTP数据块一并发送, 以减少网络中的消息数量。  If there are other SCTP data blocks in the pending state in the SendBuffer, indicating that the current network status is not ideal, the number of messages may have a bottleneck, and the number of messages transmitted in the network needs to be reduced. Therefore, all the SCTP data blocks in the pending state in the SendBuffer are And send to reduce the number of messages in the network.
105、 发送该流控制传输协议数据块。  105. Send the flow control transport protocol data block.
如果 SendBuffer内不存在处于 pending状态的其他 SCTP数据块,则将该 SCTP数据块发送, 发送给网络中的 IP层。  If there are no other SCTP data blocks in the pending state in the SendBuffer, the SCTP data block is sent and sent to the IP layer in the network.
若 SendBuffer内不存在处于 pending状态的其他 SCTP数据块,表明当前 网络状态很好, 消息数量不会构成瓶颈, 因此, 将该 SCTP数据块直接发送, 不等待其他用户的数据, 以降低时延。  If there are no other SCTP data blocks in the pending state in the SendBuffer, the current network status is good, and the number of messages does not constitute a bottleneck. Therefore, the SCTP data block is directly sent without waiting for other users' data to reduce the delay.
需要说明的是, 由于 SCTP数据在传输过程中,保留了应用程序的消息框 架边界, 因而即便不同应用程序的数据块绑定在一起传输, 也不会影响后续 对端接收设备处理数据。  It should be noted that, because the SCTP data retains the message frame boundary of the application during the transmission process, even if the data blocks of different applications are bundled and transmitted, the subsequent peer receiving device does not affect the processing data.
本发明实施例中, 将接收到的数据转换为流控制传输协议数据块后存入 緩冲区, 并将该流控制传输协议数据块的状态设置为待发送状态, 判断緩冲 区内是否存在处于待发送状态的其他流控制传输协议数据块, 如果存在, 则 将緩冲区内所有处于待发送状态的流控制传输协议数据块一并发送, 以减少 网络中流控制传输协议消息的数量, 若否, 则将该流控制传输协议数据块直 接发送, 避免等待其他数据, 以降低传输时延, 由此, 根据网络状况, 动态 调整控制发送数据的方式, 实现降低网络时延的同时提高网络负载量。  In the embodiment of the present invention, the received data is converted into a flow control transmission protocol data block and stored in a buffer, and the state of the flow control transmission protocol data block is set to a pending state, and it is determined whether the buffer exists. Other flow control transmission protocol data blocks in the to-be-sent state, if any, all the flow control transmission protocol data blocks in the buffer to be sent are sent together to reduce the number of flow control transmission protocol messages in the network, if Otherwise, the flow control transmission protocol data block is directly sent to avoid waiting for other data to reduce the transmission delay. Therefore, according to the network condition, the manner of controlling the transmission data is dynamically adjusted, thereby reducing the network delay and increasing the network load. the amount.
为便于理解, 下面以另一实施例详细说明本发明实施例中的处理数据的 方法, 请参阅图 2, 本发明实施例中的处理数据的方法的另一实施例包括: 201、 将接收到的数据转换为流控制传输协议数据块; For the sake of understanding, another method for processing data in the embodiment of the present invention is described in detail in another embodiment. Referring to FIG. 2, another embodiment of the method for processing data in the embodiment of the present invention includes: 201. Convert the received data into a flow control transmission protocol data block.
接收到用户发送的数据后, 对接收到的数据进行预处理, 例如, 根据数 据大小判断是否对其进行分片,判断其是否为空包,并将其转换为 SCTP数据 块, 符合 SCTP规则要求。  After receiving the data sent by the user, pre-processing the received data, for example, determining whether to fragment the data according to the data size, determining whether it is a null packet, and converting it into an SCTP data block, meeting the requirements of the SCTP rule. .
202、 将该流控制传输协议数据块存入緩冲区, 并将该流控制传输协议数 据块的状态设置为待发送状态;  202. The flow control transmission protocol data block is stored in a buffer, and the state of the flow control transmission protocol data block is set to a to-be-sent state;
将预处理后的 SCTP数据块存入 SendBuffer,并将该 SCTP数据块的状态 设置为 pending状态。  The preprocessed SCTP data block is stored in the SendBuffer, and the state of the SCTP data block is set to the pending state.
203、 判断该緩冲区内是否存在, 处于待发送状态的其他流控制传输协议 数据块;  203. Determine, if the buffer exists, another flow control transmission protocol data block that is in a state to be sent;
判断 SendBuffer内是否存在处于 pending状态的,除该 SCTP数据块之外 的其他 SCTP数据块, 无论是否存在其他处于 pending状态的 SCTP数据块, 均执行步骤 204。  If there is any SCTP data block other than the SCTP data block in the SendBuffer, whether or not there is another SCTP data block in the pending state, step 204 is performed.
204、 判断当前发送条件是否允许发送流控制传输协议消息;  204. Determine whether the current sending condition allows to send a flow control transmission protocol message.
判断当前发送条件是否允许发送 SCTP包,发送条件包括对端设备的拥塞 窗口(CWND, Congestion Window ),及接收窗口(RWND, Receiver Window ) 的大小, 判断对端设备的 CWND的大小, RWND的大小是否允许发送 SCTP 包。  Determine whether the current sending condition allows sending SCTP packets. The sending conditions include the congestion window (CWND, Congestion Window) of the peer device, and the size of the receiving window (RWND, Receiver Window), determine the size of the CWND of the peer device, and the size of the RWND. Whether to allow sending SCTP packets.
若当前发送条件不允许发送 SCTP 包, 则将 SCTP 包暂时存放于该 SendBuffer内, 待条件允许发送时, 再进行发送。  If the current transmission condition does not allow the SCTP packet to be sent, the SCTP packet is temporarily stored in the SendBuffer, and then sent when the condition allows transmission.
若当前发送条件允许发送 SCTP包, 那么, 当该 SendBuffer内不存在处 于待发状态的其他 SCTP数据块, 则执行步骤 205, 当该 SendBuffer内存在处 于待发状态的其他 SCTP数据块, 则执行步骤 207。  If the current sending condition allows the SCTP packet to be sent, if there is no other SCTP data block in the pending state in the SendBuffer, step 205 is performed, and when the SendBuffer has other SCTP data blocks in the pending state, the steps are performed. 207.
205、 将该流控制传输协议数据块组装为一个流控制传输协议包, 并将该 流控制传输协议数据块的状态设置为待确认状态; 允许发送 SCTP包, 则将该 SCTP数据块组装为一个 SCTP包, 并将该 SCTP 数据块的状态设置为待确认(WaitAck )状态。  205. Assemble the flow control transport protocol data block into a flow control transport protocol packet, and set a state of the flow control transport protocol data block to a pending state; if the SCTP packet is allowed to be sent, the SCTP data block is assembled into a The SCTP packet is set to the state of the SCTP data block to be acknowledged (WaitAck).
为便于理解, 请参阅图 3 , SCTP数据块结构包括数据块的类型、 分包、 长度、 传输序列号、 流标识、 流内标识、 承载数据协议标识以及用户数据。 将 SCTP数据块组装为 SCTP包后, 例如将 SCTP数据块 A、 SCTP数据 块^ SCTP数据块 C组装为 SCTP包, 则该 SCTP包的格式示意图请参见图 4, 其中, SCTP数据包头中包含 SCTP数据块控制信息。 For ease of understanding, please refer to Figure 3. The SCTP data block structure includes the type of data block, subcontracting, Length, transmission sequence number, flow identification, in-stream identification, bearer data protocol identification, and user data. After the SCTP data block is assembled into an SCTP packet, for example, the SCTP data block A, the SCTP data block, and the SCTP data block C are assembled into an SCTP packet, and the format of the SCTP packet is shown in FIG. 4, where the SCTP data packet header includes the SCTP. Data block control information.
206、 发送该流控制传输协议包以发送该流控制协议数据块;  206. Send the flow control transport protocol packet to send the flow control protocol data block.
发送该 SCTP数据包以发送该流控制协议数据块,将该流控制协议数据块 发送给网络中的 IP层。  The SCTP data packet is sent to send the flow control protocol data block, and the flow control protocol data block is sent to an IP layer in the network.
207、 将緩冲区内所有处于待发送状态的流控制传输协议数据块, 组装为 一个流控制传输协议包, 并将其状态设置为待确认状态;  207. Assemble, in the buffer, all the flow control transport protocol data blocks in the buffer to be sent into a flow control transport protocol packet, and set the state to the to-be-confirmed state;
如果緩冲区内存在处于待发状态的其他 SCTP数据块,且, 当前发送条件 允许发送 SCTP协议包, 则将緩冲区内所有处于待发送状态的 SCTP数据块, 包括当前 SCTP数据块和其他 SCTP数据块, 组装为一个 SCTP包, 并将其状 态设置为 WaitAck状态。  If there are other SCTP data blocks in the buffer in the pending state, and the current transmission condition allows the SCTP protocol packet to be sent, all the SCTP data blocks in the buffer to be sent, including the current SCTP data block and other The SCTP data block is assembled into an SCTP packet and its state is set to the WaitAck state.
208、 获取緩冲区内的另一个处于待发送状态的流控制传输协议数据块; 在緩冲区内, 获取另一个处于待发送状态的流控制传输协议数据块。 208. Acquire another flow control transmission protocol data block in a buffer to be sent. In the buffer, acquire another flow control transmission protocol data block in a to-be-transmitted state.
209、 判断当前发送条件, 是否允许流控制传输协议消息中携带更多流控 制传输协议数据块; 209. Determine, according to the current sending condition, whether the flow control transmission protocol message is allowed to carry more flow control transmission protocol data blocks;
判断当前发送条件,是否允许 SCTP消息中携带更多 SCTP数据块, 该发 送条件包括对端设备的 CWND及 RWND的大小。  The current sending condition is determined whether the SCTP message is allowed to carry more SCTP data blocks, and the sending condition includes the size of the CWND and the RWND of the peer device.
若是, 则执行步骤 210, 若否, 则执行步骤 213。  If yes, go to step 210. If no, go to step 213.
210、 将该另一个处于待发送状态的流控制传输协议数据块组装至该流控 制传输协议包中, 并将其状态设置为待确认状态;  210. The other flow control transmission protocol data block in the to-be-transmitted state is assembled into the flow control transmission protocol packet, and its state is set to a status to be confirmed;
若当前发送条件, 允许流控制传输协议包发送更多流控制传输协议数据 块, 则将该另一个处于待发送状态的流控制传输协议数据块组装至该流控制 传输协议包中, 并将该另一个处于待发送状态的流控制传输协议数据块的状 态设置为 WaitAck状态。  If the current transmission condition allows the flow control transmission protocol packet to send more flow control transmission protocol data blocks, the other flow control transmission protocol data block in the to-be-transmitted state is assembled into the flow control transmission protocol packet, and the The state of another flow control transport protocol data block in the state to be transmitted is set to the WaitAck state.
211、 判断緩冲区是否为空;  211. Determine whether the buffer is empty.
判断緩冲区是否为空, 是否緩冲区中已经没有任何数据。  Determine if the buffer is empty, and if there is no data in the buffer.
若是, 则执行步骤 206, 若否, 则执行步骤 212。 212、 判断流控制传输协议包的大小是否达到最大传输单元的大小; 若緩冲区内不为空,还存有数据,则判断 SCTP包的大小是否达到最大传 输单元(MTU, Max Transfer Unit ) 的大小。 If yes, go to step 206. If no, go to step 212. 212: Determine whether the size of the flow control transmission protocol packet reaches the maximum transmission unit size; if the buffer is not empty, and still stores data, determine whether the size of the SCTP packet reaches the maximum transmission unit (MTU, Max Transfer Unit) the size of.
在实际应用过程中, 用户下发长度为 100字节的数据块, 可预设 MTU的 大小, 例如将 MTU的大小预设为 1500字节, 这样, 在数据正常发送时, 每 个 SCTP数据包中都只有一个 SCTP数据块,当用户下发数据的速率高于网络 的传输速率时,自动调整,每个 SCTP数据包中的 SCTP数据块数量不断变化, 其数量维持在 1-15之间, 而当用户下发数据的速率恢复正常时, 每个 SCTP 数据包中再次只有一个 SCTP数据块。  In the actual application process, the user sends a data block with a length of 100 bytes, and the size of the MTU can be preset. For example, the size of the MTU is preset to 1500 bytes, so that each SCTP packet is sent when data is normally sent. There is only one SCTP data block in the middle. When the rate at which the data is sent by the user is higher than the transmission rate of the network, the number of SCTP data blocks in each SCTP data packet is constantly changing, and the number thereof is maintained between 1 and 15. When the rate at which the data is sent by the user returns to normal, there is only one SCTP data block in each SCTP packet.
若 SCTP包的大小达到 MTU的大小, 则执行步骤 206, 若 SCTP包的大 小未达到 MTU的大小, 则执行步骤 208。  If the size of the SCTP packet reaches the MTU size, step 206 is performed. If the size of the SCTP packet does not reach the MTU size, step 208 is performed.
本发明实施中,在 SCTP协议下,弱化绑定式和非绑定式传输数据的差异 性, 而在数据发送过程中, 综合当前的发送速率, 接收窗口等情况, 尽量以 最小时延发送最多的数据消息, 在保证低时延高负载的同时, 更好的自适应 网络的传输能力。  In the implementation of the present invention, under the SCTP protocol, the difference between the bound and unbound data is weakened, and in the data transmission process, the current transmission rate, the receiving window, and the like are integrated, and the maximum delay is sent as much as possible. Data messages, while ensuring low latency and high load, better adaptive network transmission capabilities.
213、 判断流控制传输协议包是否为空。  213. Determine whether the flow control transmission protocol packet is empty.
当前发送条件不允许 SCTP包发送更多 SCTP数据块,则判断 SCTP包是 否为空, 若否, 则执行步骤 206。  If the current sending condition does not allow the SCTP packet to send more SCTP data blocks, it is determined whether the SCTP packet is empty. If not, step 206 is performed.
本发明实施例中,如果緩冲区内不存在处于待发送状态的其他 SCTP数据 块, 则直接将当前处于待发送状态的 SCTP数据块组装为一个 SCTP数据包, 发送给网络中的 IP层, 如果緩冲区内存在处于待发送状态的其他 SCTP数据 块,则将緩冲区内所有处于待发送状态的 SCTP数据块,组装为一个 SCTP包, 并将其状态设置为 WaitAck状态, 而后, 获取緩冲区内的另一个处于待发送 状态的 SCTP数据块,判断当前的网络发送条件是否允许 SCTP消息中携带更 多 SCTP数据块, 如果允许, 则将另一个处于待发送状态的 SCTP数据块也组 装至该 SCTP包中, 以一次发送更多的 pending状态下的 SCTP数据块, 若此 时 SCTP 包未超出 MTU大小的限制, 则重复获取另一个 pending状态下的 SCTP数据块步骤,以在同一个 SCTP包中组装更多的 SCTP数据块,直至 SCTP 包未达到 MTU的大小, 由此, 在网络条件允许的情况下, 在同一个 SCTP包 中组装更多的处于 pending状态 SCTP数据块, 一次发送更多的处于 pending 状态 SCTP数据块,可减少网络消息数量, 而緩冲区内不存在处于待发送状态 的其他 SCTP数据块,则直接将当前处于待发送状态的 SCTP数据块组装为一 个 SCTP数据包发送, 并不等待緩冲区接收其他 SCTP数据块后再一并发送, 则可降低网络时延, 因而可根据网络状态及 SCTP数据块的状况,动态调整发 送方式, 在降低网络时延的同时提高网络负载量。 In the embodiment of the present invention, if there are no other SCTP data blocks in the buffer to be sent, the SCTP data block currently in the to-be-sent state is directly assembled into an SCTP data packet, and sent to the IP layer in the network. If there are other SCTP data blocks in the buffer to be sent, all the SCTP data blocks in the buffer to be sent are assembled into an SCTP packet, and its state is set to the WaitAck state, and then obtained. Another SCTP data block in the buffer to be sent to determine whether the current network transmission condition allows more SCTP data blocks to be carried in the SCTP message. If allowed, another SCTP data block in the to-be-sent state is also Assembled into the SCTP packet to send more SCTP data blocks in the pending state at a time. If the SCTP packet does not exceed the MTU size limit, the SCTP data block in another pending state is repeatedly acquired. Assembling more SCTP data blocks in an SCTP packet until the SCTP packet does not reach the MTU size, thus, if network conditions permit, A SCTP packet Assembling more SCTP data blocks in the pending state, sending more SCTP data blocks in the pending state at one time, reducing the number of network messages, and there are no other SCTP data blocks in the buffer to be sent, and directly The SCTP data block currently in the to-be-sent state is assembled into an SCTP data packet transmission, and does not wait for the buffer to receive other SCTP data blocks and then send them together, thereby reducing the network delay, and thus can be based on the network status and the SCTP data block. The situation, dynamically adjust the transmission method, and increase the network load while reducing the network delay.
下面介绍本发明实施例的数据处理装置,请参阅图 5 , 本发明实施例中的 数据处理装置的一个实施例包括:  The data processing apparatus of the embodiment of the present invention is described below. Referring to FIG. 5, an embodiment of the data processing apparatus in the embodiment of the present invention includes:
转换单元 501 ,用于将接收到的数据转换为 SCTP数据块(参见步骤 101 ); 存入单元 502 , 用于将该 SCTP数据块存入緩冲区 (参见步骤 102 ); 设置单元 503 , 用于将该 SCTP数据块的状态设置为待发送状态(参见步 骤 103 );  The converting unit 501 is configured to convert the received data into an SCTP data block (refer to step 101); the storing unit 502 is configured to store the SCTP data block in a buffer (refer to step 102); Setting the state of the SCTP data block to the to-be-sent state (see step 103);
判断单元 504 , 用于判断该緩冲区内是否存在处于待发送状态的其他 SCTP数据块 (参见步骤 104 );  The determining unit 504 is configured to determine whether there are other SCTP data blocks in the buffer to be sent (see step 104);
发送单元 505 ,用于若该緩冲区内存在处于待发送状态的其他 SCTP数据 块,则将该緩冲区内所有处于待发送状态的 SCTP数据块一并发送,若该緩冲 见步骤 105 )。  The sending unit 505 is configured to: if there are other SCTP data blocks in the buffer to be sent, send all the SCTP data blocks in the buffer to be sent together, if the buffer is as shown in step 105. ).
本发明实施例中的各单元实现各自功能的具体过程, 请参见前述图 1 所 示实施例中的相关描述内容, 此处不再赘述。  For the specific process of the respective functions in the embodiments of the present invention, refer to the related descriptions in the foregoing embodiment shown in FIG. 1 , and details are not described herein again.
本发明实施例中,转换单元 501将接收到的数据转换为 SCTP数据块,存 入单元 502将该 SCTP数据块存入緩冲区,设置单元将该 SCTP数据块的状态 设置为待发送状态, 判断单元 504判断该緩冲区内是否存在处于待发送状态 的其他 SCTP数据块,若该緩冲区内存在处于待发送状态的其他 SCTP数据块, 则发送单元 505则将该緩冲区内所有处于待发送状态的 SCTP数据块一并发 送, 以减少网络中流控制传输协议消息的数量, 若该緩冲区内不存在处于待 发送状态的其他 SCTP数据块,发送单元 505则发送该 SCTP数据块,避免等 待其他数据, 以降低传输时延, 由此, 根据网络状况, 动态调整控制发送流 控制传输协议数据的方式, 在降低网络时延的同时提高网络负载量。 为便于理解, 下面以另一实施例详细描述本发明实施例的数据处理装置, 请参阅图 6, 本发明实施例中的数据处理装置的另一个实施例包括: In the embodiment of the present invention, the converting unit 501 converts the received data into an SCTP data block, and the storing unit 502 stores the SCTP data block in a buffer, and the setting unit sets the state of the SCTP data block to the to-be-sent state. The determining unit 504 determines whether there are other SCTP data blocks in the buffer to be sent. If there are other SCTP data blocks in the buffer to be sent, the sending unit 505 stores all the buffers in the buffer. The SCTP data block in the to-be-sent state is sent together to reduce the number of flow control transmission protocol messages in the network. If there is no other SCTP data block in the buffer to be sent, the sending unit 505 sends the SCTP data block. Avoid waiting for other data to reduce the transmission delay. Therefore, according to the network condition, dynamically adjust the way of controlling the transmission flow control transmission protocol data, and reduce the network delay while reducing the network load. For ease of understanding, the data processing apparatus of the embodiment of the present invention is described in detail below with reference to another embodiment. Referring to FIG. 6, another embodiment of the data processing apparatus in the embodiment of the present invention includes:
转换单元 601 ,用于将接收到的数据转换为 SCTP数据块(参见步骤 101、 201 );  The converting unit 601 is configured to convert the received data into an SCTP data block (see steps 101 and 201);
存入单元 602, 用于将该 SCTP数据块存入緩冲区(参见步骤 102、 202 ); 设置单元 603 , 用于将该 SCTP数据块的状态设置为待发送状态(参见步 骤 102、 202 ); 还用于将 SCTP包中的 SCTP数据块的状态设置为待确认状态 (参见步骤 205 );  The storage unit 602 is configured to store the SCTP data block in a buffer (see steps 102 and 202); and the setting unit 603 is configured to set a state of the SCTP data block to a to-be-sent state (see steps 102 and 202). Also used to set the state of the SCTP data block in the SCTP packet to the to-be-confirmed state (see step 205);
判断单元 604 , 用于判断该緩冲区内是否存在处于待发送状态的其他 SCTP数据块(参见步骤 103、 203 ); 还用于判断当前发送条件是否允许发送 SCTP消息, 该发送条件包括对端设备的拥塞窗口及接收窗口的大小(参见步 骤 204 );  The determining unit 604 is configured to determine whether there are other SCTP data blocks in the buffer to be sent (see steps 103 and 203); and is further configured to determine whether the current sending condition allows the sending of the SCTP message, where the sending condition includes the peer end The congestion window of the device and the size of the receiving window (see step 204);
需要说明的是, 本发明实例中的数据处理装置还可以进一步包括: 组装 单元 605 , 获取单元 606;  It should be noted that the data processing apparatus in the example of the present invention may further include: an assembling unit 605, an obtaining unit 606;
其中, 组装单元 605 , 用于若当前发送条件允许发送 SCTP消息, 则将緩 冲区内所有处于待发送状态的 SCTP数据块,组装为一个 SCTP包(参见步骤 207 ); 还用于若当前发送条件允许发送 SCTP消息, 则将该 SCTP数据块组装 为一个 SCTP包(参见步骤 205 );  The assembling unit 605 is configured to: if the current sending condition is allowed to send the SCTP message, assemble all the SCTP data blocks in the buffer to be sent into an SCTP packet (refer to step 207); If the condition allows the sending of the SCTP message, the SCTP data block is assembled into an SCTP packet (see step 205);
获取单元 606 ,用于获取该緩冲区内的另一个处于待发送状态的 SCTP数 据块(参见步骤 208 )。  The obtaining unit 606 is configured to acquire another SCTP data block in the buffer to be sent (see step 208).
进一步的, 判断单元 604 , 还用于判断当前发送条件是否允许 SCTP消息 中携带更多 SCTP数据块,该发送条件包括对端设备的拥塞窗口及接收窗口的 大小(参见步骤 209 ),以及若当前发送条件不允许 SCTP消息中携带更多 SCTP 数据块, 则判断该 SCTP包是否为空 (参见步骤 213 );  Further, the determining unit 604 is further configured to determine whether the current sending condition allows the SCTP message to carry more SCTP data blocks, where the sending condition includes a congestion window of the peer device and a size of the receiving window (refer to step 209), and if currently If the sending condition does not allow the SCTP message to carry more SCTP data blocks, it is determined whether the SCTP packet is empty (see step 213);
组装单元 605 , 还用于若当前发送条件允许 SCTP消息中携带更多 SCTP 数据块,则将该另一个处于待发送状态的 SCTP数据块组装至该 SCTP包中(参 见步骤 210 );  The assembling unit 605 is further configured to: if the current sending condition allows the SCTP message to carry more SCTP data blocks, assemble the other SCTP data block in the to-be-sent state into the SCTP packet (refer to step 210);
设置单元 603 ,还用于将该另一个处于待发送状态的 SCTP数据块的状态 设置为待确认状态 (参见步骤 210 ); 判断单元 604 , 还用于判断该緩冲区是否为空, 若该緩冲区不为空, 则还 用于判断该 SCTP 包的大小是否达到最大传输单元的大小 (参见步骤 211、 212 ); The setting unit 603 is further configured to set a state of the another SCTP data block in a to-be-transmitted state to a to-be-confirmed state (refer to step 210); The determining unit 604 is further configured to determine whether the buffer is empty. If the buffer is not empty, it is further used to determine whether the size of the SCTP packet reaches a maximum transmission unit size (see steps 211, 212);
获取单元 606 , 还用于若 SCTP包的大小达到最大传输单元的大小, 则获 取该緩冲区内的另一个处于待发送状态的 SCTP数据块(参见步骤 212 )。  The obtaining unit 606 is further configured to: if the size of the SCTP packet reaches the maximum transmission unit size, obtain another SCTP data block in the buffer to be sent (see step 212).
需要说明的是, 本发明实例中的数据处理装置还可以进一步包括发送单 元 607;  It should be noted that the data processing apparatus in the example of the present invention may further include a sending unit 607;
发送单元 607 , 用于若该 SCTP 包不为空, 则发送该 SCTP 包以发送该 SCTP数据块; 若该緩冲区为空, 则发送该 SCTP包以发送该 SCTP数据块; 若 SCTP包的大小未达到最大传输单元的大小,则发送该 SCTP包以发送所述 SCTP数据块 (参见步骤 212 )。  The sending unit 607 is configured to: if the SCTP packet is not empty, send the SCTP packet to send the SCTP data block; if the buffer is empty, send the SCTP packet to send the SCTP data block; if the SCTP packet is If the size does not reach the size of the largest transmission unit, the SCTP packet is transmitted to transmit the SCTP data block (see step 212).
本发明实施例中的各单元实现各自功能的具体过程,请参见前述图 1、 图 4所示实施例中的相关描述内容, 此处不再赘述。  For the specific process of the respective functions in the embodiments of the present invention, refer to the related descriptions in the foregoing embodiments shown in FIG. 1 and FIG. 4, and details are not described herein again.
本发明实施例中,转换单元 601将接收到的数据转换为 SCTP数据块,存 入单元 602将该 SCTP数据块存入緩冲区 ,设置单元 603将该 SCTP数据块的 状态设置为待发送状态, 判断单元 604判断该緩冲区内是否存在处于待发送 状态的其他 SCTP数据块, 若不存在, 则组装单元 605将该 SCTP数据块组装 为一个 SCTP包, 并由设置单元 603将该 SCTP数据块的状态设置为待确认 ( WaitAck )状态, 发送单元 607发送该 SCTP包以发送该 SCTP数据块。  In the embodiment of the present invention, the converting unit 601 converts the received data into an SCTP data block, the storing unit 602 stores the SCTP data block in a buffer, and the setting unit 603 sets the state of the SCTP data block to the to-be-sent state. The determining unit 604 determines whether there are other SCTP data blocks in the buffer to be sent. If not, the assembling unit 605 assembles the SCTP data block into an SCTP packet, and the SCTP data is set by the setting unit 603. The state of the block is set to the pending (WaitAck) state, and the transmitting unit 607 transmits the SCTP packet to transmit the SCTP data block.
进一步的, 判断单元 604还用于判断当前发送条件是否允许发送 SCTP 消息, 若该当前发送条件允许发送 SCTP消息, 且, 緩冲区内不存在处于待发 送状态的其他 SCTP数据块, 则组装单元 605将该 SCTP数据块组装为一个 SCTP包, 并由设置单元 603将该 SCTP数据块的状态设置为待确认状态。  Further, the determining unit 604 is further configured to determine whether the current sending condition allows the SCTP message to be sent. If the current sending condition allows the sending of the SCTP message, and there is no other SCTP data block in the buffer to be sent, the assembling unit 605 assembles the SCTP data block into one SCTP packet, and the setting unit 603 sets the state of the SCTP data block to the to-be-confirmed state.
若该当前发送条件允许发送 SCTP消息,且,该緩冲区内存在处于待发送 状态的其他 SCTP数据块,则组装单元 405将緩冲区内所有处于待发送状态的 SCTP数据块, 组装为一个 SCTP包, 获取单元 606获取该緩冲区内的另一个 处于待发送状态的 SCTP数据块, 判断单元 604判断当前发送条件是否允许 SCTP消息中携带更多流控制传输协议数据块, 若是, 则组装单元 605将该另 一个处于待发送状态的 SCTP数据块组装至该 SCTP中,并由设置单元 603将 其状态设置为待确认状态, 而后, 判断单元 404判断緩冲区是否为空, 若为 空, 则发送单元 607发送该 SCTP包以发送该 SCTP数据块, 若不为空, 则判 断单元 604判断 SCTP包的大小是否达到最大传输单元的大小,若达到,则发 送单元 607发送该 SCTP包以发送该 SCTP数据块, 若未达到, 则重复执行由 获取单元 606获取緩冲区内的另一个处于待发送状态的流控制传输协议数据 块。 If the current sending condition allows the SCTP message to be sent, and there are other SCTP data blocks in the buffer to be sent, the assembling unit 405 assembles all the SCTP data blocks in the buffer to be sent into one. The SCTP packet, the obtaining unit 606 acquires another SCTP data block in the buffer to be sent, and the determining unit 604 determines whether the current sending condition allows the SCTP message to carry more flow control transmission protocol data blocks, and if so, assembles The unit 605 assembles the other SCTP data block in the to-be-sent state into the SCTP, and the setting unit 603 will The status is set to the status to be confirmed, and then the determining unit 404 determines whether the buffer is empty. If it is empty, the sending unit 607 sends the SCTP packet to send the SCTP data block. If not, the determining unit 604 determines. Whether the size of the SCTP packet reaches the maximum transmission unit size. If yes, the sending unit 607 sends the SCTP packet to send the SCTP data block. If not, the acquisition unit 606 acquires another one in the buffer. The flow control transport protocol data block to be sent.
本发明实施例中,如果緩冲区内不存在处于待发送状态的其他 SCTP数据 块,则直接将当前处于待发送状态的 SCTP数据块组装为一个 SCTP数据包发 送,如果緩冲区内存在处于待发送状态的其他 SCTP数据块,则将緩冲区内所 有处于待发送状态的 SCTP数据块,组装为一个 SCTP包, 并将其状态设置为 WaitAck状态,而后,获取緩冲区内的另一个处于待发送状态的 SCTP数据块, 判断当前的网络发送条件是否允许 SCTP消息中携带更多 SCTP数据块,如果 允许, 则将另一个处于待发送状态的 SCTP数据块也组装至该 SCTP包中, 以 一次发送更多的 pending状态下的 SCTP数据块,若此时 SCTP包未超出 MTU 大小的限制, 则重复获取另一个 pending状态下的 SCTP数据块步骤, 以在同 一个 SCTP包中组装更多的 SCTP数据块,直至 SCTP包未达到 MTU的大小, 由此,在网络条件允许的情况下,在同一个 SCTP包中组装更多的处于 pending 状态 SCTP数据块, 一次发送更多的处于 pending状态 SCTP数据块, 可减少 接将当前处于待发送状态的 SCTP数据块组装为一个 SCTP数据包发送,并不 等待緩冲区接收其他 SCTP数据块后再一并发送,则可降低网络时延, 因而可 根据网络状态及 SCTP数据块的状况,动态调整发送方式,在降低网络时延的 同时提高网络负载量。  In the embodiment of the present invention, if there are no other SCTP data blocks in the buffer to be sent, the SCTP data block currently in the to-be-sent state is directly assembled into an SCTP data packet, if the buffer is present. The other SCTP data blocks to be sent are assembled into an SCTP packet in the buffer, and the state is set to the WaitAck state, and then another one in the buffer is obtained. The SCTP data block in the to-be-sent state determines whether the current network transmission condition allows more SCTP data blocks to be carried in the SCTP message, and if so, another SCTP data block in the to-be-sent state is also assembled into the SCTP packet. To send more SCTP data blocks in the pending state at a time. If the SCTP packet does not exceed the MTU size limit, the SCTP data block in another pending state is repeatedly acquired to assemble more in the same SCTP packet. SCTP data block until the SCTP packet does not reach the MTU size, thus, in the case of network conditions, in the same More SCTP data blocks in the pending state are assembled in the SCTP packet, and more SCTP data blocks in the pending state are transmitted at a time, which can reduce the SCTP data block currently being sent to be sent into an SCTP data packet, and does not Waiting for the buffer to receive other SCTP data blocks and then sending them together can reduce the network delay. Therefore, the transmission mode can be dynamically adjusted according to the network status and the status of the SCTP data block, and the network load can be increased while reducing the network delay. .
本发明实施例还提供了一种数据处理系统,请参阅图 7, 本发明实施例中 的数据处理系统包括:  The embodiment of the present invention further provides a data processing system. Referring to FIG. 7, the data processing system in the embodiment of the present invention includes:
发送端设备 701 , 网关设备 702, 接收端设备 703; 网关设备 702, 用于将接收到的数据转换为流控制传输协议数据块, 将该 流控制传输协议数据块存入緩冲区, 并将该流控制传输协议数据块的状态设 置为待发送状态, 并判断该緩冲区内是否存在处于待发送状态的其他流控制 传输协议数据块, 若是, 将该緩冲区内所有处于待发送状态的流控制传输协 议数据块一并向接收端设备 703发送, 若否, 向接收端设备 703发送该流控 制传输协议数据块; a sender device 701, a gateway device 702, and a sink device 702. The gateway device 702 is configured to convert the received data into a flow control transport protocol data block, and store the flow control transport protocol data block in a buffer, and The state of the flow control transport protocol data block Set to the to-be-sent state, and determine whether there are other flow control transport protocol data blocks in the buffer to be sent, and if so, all the flow control transport protocol data blocks in the buffer to be sent are combined. Sending to the receiving device 703, if not, transmitting the flow control transmission protocol data block to the receiving device 703;
接收端设备 703 , 用于接收网关设备 702发送的流控制传输协议数据块。 进一步的, 网关设备 702还用于判断当前发送条件是否允许发送流控制 传输协议消息, 若当前发送条件允许发送流控制传输协议消息, 则将緩冲区 内所有处于待发送状态的流控制传输协议数据块, 组装为一个流控制传输协 议包; 将该流控制传输协议包中的流控制传输协议数据块的状态设置为待确 认状态。  The receiving end device 703 is configured to receive a flow control transmission protocol data block sent by the gateway device 702. Further, the gateway device 702 is further configured to determine whether the current transmission condition allows the flow control transmission protocol message to be sent, and if the current transmission condition allows the flow control transmission protocol message to be sent, all the flow control transmission protocols in the buffer are in a to-be-sent state. The data block is assembled into a flow control transport protocol packet; the state of the flow control transport protocol data block in the flow control transport protocol packet is set to a pending state.
本发明实施例中的数据处理系统的功能实现过程, 请参阅前述图 1、 图 2 所示实施例中的具体描述内容, 此处不再赘述。  For the function implementation process of the data processing system in the embodiment of the present invention, refer to the specific description in the foregoing embodiment shown in FIG. 1 and FIG. 2, and details are not described herein again.
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可 以通过程序来指令相关的硬件完成, 所述的程序可以存储于一种计算机可读 存储介质中, 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。  A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be performed by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, the above mentioned storage medium. It can be a read-only memory, a disk or a disc, and the like.
以上对本发明所提供的一种数据处理方法、 装置及系统进行了详细介绍, 对于本领域的技术人员, 依据本发明实施例的思想, 在具体实施方式及应用 范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限 制。  The data processing method, device and system provided by the present invention are described in detail above. For those skilled in the art, according to the idea of the embodiment of the present invention, there are some changes in the specific implementation manner and application scope. In summary, the content of the specification should not be construed as limiting the invention.

Claims

权 利 要 求 书 Claim
1、 一种数据处理方法, 其特征在于, 包括:  A data processing method, comprising:
将接收到的数据转换为流控制传输协议数据块;  Converting the received data into a stream control transport protocol data block;
将所述流控制传输协议数据块存入緩冲区, 并将所述流控制传输协议数 据块的状态设置为待发送状态;  And storing the flow control transmission protocol data block in a buffer, and setting a state of the flow control transmission protocol data block to a to-be-sent state;
判断所述緩冲区内是否存在处于待发送状态的其他流控制传输协议数据 块, 若是, 则将所述緩冲区内所有处于待发送状态的流控制传输协议数据块 一并发送, 若否, 则发送所述流控制传输协议数据块。  Determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, transmitting all the flow control transmission protocol data blocks in the buffer to be sent, if not And transmitting the flow control transport protocol data block.
2、 根据权利要求 1所述的方法, 其特征在于, 所述若緩冲区内存在处于 待发送状态的其他流控制传输协议数据块之后包括:  The method according to claim 1, wherein the buffer includes, after the other flow control transmission protocol data blocks in the to-be-transmitted state, the following:
判断当前发送条件是否允许发送流控制传输协议消息, 所述发送条件包 括对端设备的拥塞窗口及接收窗口的大小;  Determining whether the current transmission condition allows to send a flow control transmission protocol message, where the transmission condition includes a congestion window of the opposite device and a size of the reception window;
若当前发送条件允许发送流控制传输协议消息, 则将緩冲区内所有处于 待发送状态的流控制传输协议数据块, 组装为一个流控制传输协议包;  If the current transmission condition allows the flow control transmission protocol message to be sent, all the flow control transmission protocol data blocks in the buffer to be sent are assembled into one flow control transmission protocol packet;
将所述流控制传输协议包中的流控制传输协议数据块的状态设置为待确 认状态。  The state of the flow control transport protocol data block in the flow control transport protocol packet is set to the state to be confirmed.
3、 根据权利要求 2所述的方法, 其特征在于, 所述将流控制传输协议数 据块的状态设置为待确认状态之后包括:  The method according to claim 2, wherein the setting the state of the flow control transmission protocol data block to the to-be-confirmed state comprises:
获取所述緩冲区内的另一个处于待发送状态的流控制传输协议数据块; 判断当前发送条件是否允许流控制传输协议消息中携带更多流控制传输 协议数据块, 所述发送条件包括对端设备的拥塞窗口及接收窗口的大小; 若是, 则将所述另一个处于待发送状态的流控制传输协议数据块组装至 所述流控制传输协议包中, 并将所述另一个处于待发送状态的流控制传输协 议数据块的状态设置为待确认状态;  Obtaining another flow control transmission protocol data block in the buffer to be sent; determining whether the current transmission condition allows the flow control transmission protocol message to carry more flow control transmission protocol data blocks, where the sending condition includes Congestion window of the end device and the size of the receiving window; if yes, assembling the other flow control transmission protocol data block in the to-be-transmitted state into the flow control transmission protocol packet, and placing the other one to be sent The status of the flow control transport protocol data block is set to the status to be confirmed;
若否, 则判断所述流控制传输协议包是否为空, 若不为空, 则发送所述 流控制传输协议包以发送所述流控制传输协议数据块。  If not, it is determined whether the flow control transport protocol packet is empty, and if not, the flow control transport protocol packet is sent to send the flow control transport protocol data block.
4、 根据权利要求 3所述的方法, 其特征在于, 所述将另一个处于待发送 状态的流控制传输协议数据块的状态设置为待确认状态之后包括:  The method according to claim 3, wherein the setting of the state of the flow control transmission protocol data block in another state to be sent to the to-be-confirmed state comprises:
判断所述緩冲区是否为空; 若是, 则发送所述流控制传输协议包以发送所述流控制传输协议数据块; 若否, 则判断所述流控制传输协议包的大小是否达到最大传输单元的大 小, 若达到, 则获取所述緩冲区内的另一个处于待发送状态的流控制传输协 议数据块, 若未达到, 则发送所述流控制传输协议包以发送所述流控制传输 协议数据块。 Determining whether the buffer is empty; If yes, sending the flow control transmission protocol packet to send the flow control transmission protocol data block; if not, determining whether the size of the flow control transmission protocol packet reaches a maximum transmission unit size, and if so, acquiring the location And another flow control transmission protocol data block in the buffer to be sent, if not, sending the flow control transmission protocol packet to send the flow control transmission protocol data block.
5、 根据权利要求 1至 4任一项所述的方法, 其特征在于, 所述若緩冲区 内不存在处于待发送状态的其他流控制传输协议数据块之后包括:  The method according to any one of claims 1 to 4, wherein the following if there is no other flow control transmission protocol data block in the buffer to be sent, the method includes:
判断当前发送条件是否允许发送流控制传输协议消息, 所述发送条件包 括对端设备的拥塞窗口及接收窗口的大小;  Determining whether the current transmission condition allows to send a flow control transmission protocol message, where the transmission condition includes a congestion window of the opposite device and a size of the reception window;
若是, 则将所述流控制传输协议数据块组装为一个流控制传输协议包, 并将所述流控制传输协议包中的流控制传输协议数据块的状态设置为待确认 状态;  If yes, assembling the flow control transmission protocol data block into a flow control transmission protocol packet, and setting a state of the flow control transmission protocol data block in the flow control transmission protocol packet to a to-be-confirmed state;
发送所述流控制传输协议包以发送所述流控制传输协议数据。  The flow control transport protocol packet is sent to send the flow control transport protocol data.
6、 一种数据处理装置, 其特征在于, 包括:  6. A data processing apparatus, comprising:
转换单元, 用于将接收到的数据转换为流控制传输协议数据块; 存入单元, 用于将所述流控制传输协议数据块存入緩冲区;  a conversion unit, configured to convert the received data into a flow control transmission protocol data block; and store the unit, configured to store the flow control transmission protocol data block into a buffer;
设置单元, 用于将所述流控制传输协议数据块的状态设置为待发送状态; 判断单元, 用于判断所述緩冲区内是否存在处于待发送状态的其他流控 制传输协议数据块;  a setting unit, configured to set a state of the flow control transmission protocol data block to a to-be-sent state; and a determining unit, configured to determine whether another flow control transmission protocol data block in a state to be sent exists in the buffer;
发送单元, 用于若所述緩冲区内存在处于待发送状态的其他流控制传输 协议数据块, 则将所述緩冲区内所有处于待发送状态的流控制传输协议数据 块一并发送, 若所述緩冲区内不存在处于待发送状态的其他流控制传输协议 数据块, 则发送所述流控制传输协议数据块。  a sending unit, configured to: if there are other flow control transmission protocol data blocks in the buffer to be sent, send all the flow control transmission protocol data blocks in the buffer to be sent, If there is no other flow control transport protocol data block in the buffer to be sent, the flow control transport protocol data block is sent.
7、 根据权利要求 6所述的装置, 其特征在于,  7. Apparatus according to claim 6 wherein:
所述判断单元, 还用于判断当前发送条件是否允许发送流控制传输协议 消息, 所述发送条件包括对端设备的拥塞窗口及接收窗口的大小;  The determining unit is further configured to determine whether the current sending condition allows to send a flow control transmission protocol message, where the sending condition includes a congestion window of the peer device and a size of the receiving window;
所述装置还包括:  The device also includes:
组装单元, 用于若当前发送条件允许发送流控制传输协议消息, 则将緩 冲区内所有处于待发送状态的流控制传输协议数据块, 组装为一个流控制传 输协议包; An assembly unit, configured to: if the current transmission condition allows to send a flow control transmission protocol message, assemble all the flow control transmission protocol data blocks in the buffer to be sent into a flow control transmission Transfer protocol package;
所述设置单元, 还用于将所述流控制传输协议包中的流控制传输协议数 据块的状态设置为待确认状态。  The setting unit is further configured to set a state of the flow control transmission protocol data block in the flow control transmission protocol packet to a to-be-confirmed state.
8、 根据权利要求 6或 7所述的装置, 其特征在于,  8. Apparatus according to claim 6 or claim 7 wherein:
所述装置还包括:  The device also includes:
获取单元, 用于获取所述緩冲区内的另一个处于待发送状态的流控制传 输协议数据块;  An acquiring unit, configured to acquire another flow control transmission protocol data block in the buffer to be sent;
所述判断单元, 还用于判断当前发送条件是否允许流控制传输协议消息 中携带更多流控制传输协议数据块, 所述发送条件包括对端设备的拥塞窗口 及接收窗口的大小; 以及若当前发送条件不允许流控制传输协议消息中携带 更多流控制传输协议数据块, 则判断所述流控制传输协议包是否为空;  The determining unit is further configured to determine whether the current sending condition allows the flow control transmission protocol message to carry more flow control transmission protocol data blocks, where the sending condition includes a congestion window of the peer device and a size of the receiving window; The sending condition does not allow the flow control transmission protocol message to carry more flow control transmission protocol data blocks, and then determines whether the flow control transmission protocol packet is empty;
所述组装单元, 还用于若当前发送条件允许流控制传输协议消息中携带 更多流控制传输协议数据块, 则将所述另一个处于待发送状态的流控制传输 协议数据块组装至所述流控制传输协议包中;  The assembling unit is further configured to: if the current transmission condition allows the flow control transmission protocol message to carry more flow control transmission protocol data blocks, assemble the another flow control transmission protocol data block in a to-be-transmitted state to the Flow control transmission protocol packet;
所述设置单元, 还用于将所述另一个处于待发送状态的流控制传输协议 数据块的状态设置为待确认状态;  The setting unit is further configured to set a state of the another flow control transmission protocol data block in a to-be-transmitted state to a to-be-confirmed state;
所述发送单元, 用于若所述流控制传输协议包不为空, 则发送所述流控 制传输协议包以发送所述流控制传输协议数据块。  The sending unit is configured to send the flow control transmission protocol packet to send the flow control transmission protocol data block if the flow control transmission protocol packet is not empty.
9、 根据权利要求 8所述的装置, 其特征在于,  9. Apparatus according to claim 8 wherein:
所述判断单元, 还用于判断所述緩冲区是否为空; 若所述緩冲区不为空, 则还用于判断所述流控制传输协议包的大小是否达到最大传输单元的大小; 所述发送单元, 还用于若所述緩冲区为空, 则发送所述流控制传输协议 包以发送所述流控制传输协议数据块; 还用于若所述流控制传输协议包的大 小未达到最大传输单元的大小, 则发送所述流控制传输协议包以发送所述流 控制传输协议数据块;  The determining unit is further configured to determine whether the buffer is empty; if the buffer is not empty, it is further used to determine whether the size of the flow control transport protocol packet reaches a maximum transmission unit size; The sending unit is further configured to: if the buffer is empty, send the flow control transmission protocol packet to send the flow control transmission protocol data block; and if the flow control transmission protocol packet size If the size of the maximum transmission unit is not reached, the flow control transmission protocol packet is sent to send the flow control transmission protocol data block;
所述获取单元, 用于若所述流控制传输协议包的大小达到最大传输单元 的大小, 则获取所述緩冲区内的另一个处于待发送状态的流控制传输协议数 据块。  And the acquiring unit is configured to: if the size of the flow control transmission protocol packet reaches a maximum transmission unit size, acquire another flow control transmission protocol data block in the buffer to be sent.
10、 根据权利要求 9所述的装置, 其特征在于, 所述组装单元, 还用于判断单元判断当前发送条件允许发送流控制传输 协议消息, 则将所述流控制传输协议数据块组装为一个流控制传输协议包。 10. Apparatus according to claim 9 wherein: The assembling unit is further configured to determine, by the determining unit, that the current sending condition allows the flow control transmission protocol message to be sent, and then assemble the flow control transmission protocol data block into a flow control transmission protocol packet.
11、 一种数据处理系统, 其特征在于, 包括: 发送端设备, 网关设备以 及接收端设备, 其中:  A data processing system, comprising: a transmitting device, a gateway device, and a receiving device, wherein:
所述发送端设备用于向所述网关设备发送数据;  The sending end device is configured to send data to the gateway device;
所述网关设备用于将接收到的数据转换为流控制传输协议数据块; 将所 述流控制传输协议数据块存入緩冲区, 并将所述流控制传输协议数据块的状 态设置为待发送状态; 判断所述緩冲区内是否存在处于待发送状态的其他流 控制传输协议数据块, 若是, 将所述緩冲区内所有处于待发送状态的流控制 传输协议数据块一并向所述接收端设备发送, 若否, 向所述接收端设备发送 所述流控制传输协议数据块;  The gateway device is configured to convert the received data into a flow control transmission protocol data block; store the flow control transmission protocol data block into a buffer, and set a state of the flow control transmission protocol data block to be Sending a state; determining whether there are other flow control transmission protocol data blocks in the buffer to be sent, and if so, all the flow control transmission protocol data blocks in the buffer to be sent are collectively The receiving end device sends, if not, sends the flow control transmission protocol data block to the receiving end device;
所述接收端设备用于接收所述网关设备发送的所述流控制传输协议数据 块。  The receiving end device is configured to receive the flow control transmission protocol data block sent by the gateway device.
12、 根据权利要求 11所述的系统, 其特征在于,  12. The system of claim 11 wherein:
所述网关设备还用于判断当前发送条件是否允许发送流控制传输协议消 息, 所述发送条件包括对端设备的拥塞窗口及接收窗口的大小; 若当前发送 条件允许发送流控制传输协议消息, 则将緩冲区内所有处于待发送状态的流 控制传输协议数据块, 组装为一个流控制传输协议包; 将所述流控制传输协 议包中的流控制传输协议数据块的状态设置为待确认状态。  The gateway device is further configured to determine whether the current transmission condition allows to send a flow control transmission protocol message, where the sending condition includes a congestion window of the peer device and a size of the receiving window; if the current sending condition allows the flow control transmission protocol message to be sent, All flow control transmission protocol data blocks in the buffer to be sent are assembled into one flow control transmission protocol packet; the state of the flow control transmission protocol data block in the flow control transmission protocol packet is set to the to-be-confirmed state .
PCT/CN2012/086537 2011-12-31 2012-12-13 Data processing method, device and system WO2013097611A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110459775.1A CN102546626B (en) 2011-12-31 2011-12-31 Data processing method, device and system
CN201110459775.1 2011-12-31

Publications (1)

Publication Number Publication Date
WO2013097611A1 true WO2013097611A1 (en) 2013-07-04

Family

ID=46352584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/086537 WO2013097611A1 (en) 2011-12-31 2012-12-13 Data processing method, device and system

Country Status (2)

Country Link
CN (1) CN102546626B (en)
WO (1) WO2013097611A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546626B (en) * 2011-12-31 2014-11-05 华为技术有限公司 Data processing method, device and system
CN104967570B (en) * 2015-07-13 2018-09-18 宁波尚为信息技术有限公司 A kind of intelligence Big Dipper router

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007065296A1 (en) * 2005-12-07 2007-06-14 Zte Corporation Method for managing the sctp output stream queue and implementing date transmission
CN101217466A (en) * 2007-12-28 2008-07-09 中国科学院计算技术研究所 A data processing method and processing device of wireless network media access control system
CN101651687A (en) * 2009-09-14 2010-02-17 华为技术有限公司 Packet forming method, transmission method and device of data packet of flow control transmission protocol
CN102546626A (en) * 2011-12-31 2012-07-04 华为技术有限公司 Data processing method, device and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262437B (en) * 2008-04-17 2011-07-13 中兴通讯股份有限公司 A method for state migration of stream control transmission protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007065296A1 (en) * 2005-12-07 2007-06-14 Zte Corporation Method for managing the sctp output stream queue and implementing date transmission
CN101217466A (en) * 2007-12-28 2008-07-09 中国科学院计算技术研究所 A data processing method and processing device of wireless network media access control system
CN101651687A (en) * 2009-09-14 2010-02-17 华为技术有限公司 Packet forming method, transmission method and device of data packet of flow control transmission protocol
CN102546626A (en) * 2011-12-31 2012-07-04 华为技术有限公司 Data processing method, device and system

Also Published As

Publication number Publication date
CN102546626A (en) 2012-07-04
CN102546626B (en) 2014-11-05

Similar Documents

Publication Publication Date Title
US10237153B2 (en) Packet retransmission method and apparatus
US7558247B2 (en) Optimized radio bearer configuration for voice over IP
US9647945B2 (en) Mechanisms to improve the transmission control protocol performance in wireless networks
US8843654B2 (en) Data packet transfer over wide area network in fast and reliable manner
JP3430509B2 (en) Data communication system and method
JP4323432B2 (en) Method for improving the transmission quality of streaming media
EP3075110B1 (en) Controlling a transmission control protocol window size
JP2000224261A (en) Data link control protocol directly supporting network layer protocol and its method
EP2228965A1 (en) Gateway and method for connecting an IP network to a sensor network
JP2010522468A (en) Throughput improvement in LAN by managing TCPACK
WO2012126424A2 (en) Method and device for forwarding data packet
JP2009147786A (en) Communication apparatus, data frame transmission control method, and program
WO2011144141A1 (en) Method, system and network device for congestion control
WO2012051963A1 (en) Method and device for data transmission
US11671377B2 (en) System and method for reducing bandwidth usage of a network
US20030048751A1 (en) Dual mode service platform within network communication system
US20180070263A1 (en) Supporting Delivery of Data Packets Using Transmission Control Protocol in a Wireless Communication Network
WO2020147453A1 (en) Data transmission method and related apparatus
WO2015082021A1 (en) SCTP bundling
WO2006086691A2 (en) A network for providing a streaming service
WO2018233376A9 (en) Message transmission method, proxy server and computer-readable storage medium
WO2013097611A1 (en) Data processing method, device and system
JP4227621B2 (en) Data packet transmission method and transmitter
JP4953965B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND PACKET TRANSMISSION METHOD
CN113424578B (en) Acceleration method and device for transmission control protocol

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: 12863009

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: 12863009

Country of ref document: EP

Kind code of ref document: A1