CN102404184A - 数据传输系统及其传输方法 - Google Patents
数据传输系统及其传输方法 Download PDFInfo
- Publication number
- CN102404184A CN102404184A CN2010102772075A CN201010277207A CN102404184A CN 102404184 A CN102404184 A CN 102404184A CN 2010102772075 A CN2010102772075 A CN 2010102772075A CN 201010277207 A CN201010277207 A CN 201010277207A CN 102404184 A CN102404184 A CN 102404184A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- data transmission
- network state
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
一种数据传输系统,其包括服务器,该服务器包括数据发送模块。数据发送模块可向客户端发送数据包。服务器还包括数据管理模块。数据管理模块用于获取客户端当前的网络状态,并在预设的数据包大小中选择与客户端当前的网络状态相匹配的数据包大小进行组包,并通过数据发送模块对组包后的数据进行发送。本发明还提供了一种数据传输方法。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种数据传输系统及其传输方法。
背景技术
现有技术中,客户端和服务器之间通过UDP(User DatagramProtocol)协议进行数据传输,其通常采用固定数据包的大小进行传输,若设置数据包的传输大小为传输的数据包的最大值65507Bytes进行数据传输时,当用户对网络资源的需求超过固有容量(即网络拥塞),就会导致服务器停止输出数据包,造成当前数据信息不能实时传输且容易丢失数据包影响数据传输质量;若设置数据包的传输大小为小于MTU(Maximum Transmission Unit,即传输路径上不需分片即可传输的最大传输单元的最小值)的一预设值进行传输时,由于其采用小于MTU的预设值进行数据传输,导致服务器发送数据的频率增加,进而影响服务器的性能。
发明内容
有鉴于此,有必要提供一种可根据网络状态自动调整数据包大小传输的数据传输系统。
另外,必要提供一种可根据网络状态自动调整数据传输包大小的数据传输方法。
一种数据传输系统,其包括服务器,该服务器包括数据发送模块。数据发送模块可向客户端发送数据包。服务器还包括数据管理模块。数据管理模块用于获取客户端当前的网络状态,并在预设的数据包大小中选择与客户端当前的网络状态相匹配的数据包大小进行组包,并通过数据发送模块对组包后的数据进行发送。
一种数据传输方法,用于在连接的客户端和服务器之间数据传输,该数据传输方法包括如下步骤:
服务器检测是否接收到客户端当前网络状态信号;
若接收到客户端当前的网络状态信号,服务器根据当前的网络状态信号在预设的不同数据包中选择与当前网络状态匹配的数据包进行数据组包并输出数据包发送给客户端。
通过使用上述数据传输系统及数据传输方法,可根据当前网络状态自动调整数据传输的模式,优化了数据传输系统。
附图说明
图1为一较佳实施方式的数据传输系统的模块图。
图2为一较佳实施方式的数据传输方法的流程图。
图3为另一较佳实施方式的数据传输方法的流程图。
主要元件符号说明
数据传输系统 100
服务器 10
数据提取模块 11
数据管理模块 13
数据发送模块 15
判断模块 17
客户端 20
检测模块 21
数据传输方法步骤 S301~S308
具体实施方式
本发明提供一种数据传输系统和数据传输方法,在数据传输过程中,能够根据网络状态调整数据包大小进行传输。
请参看图1,其为一种数据传输系统100的模块图。数据传输系统100包括服务器10和客户端20。在本实施方式中,服务器10为组播服务器。客户端20通过TCP协议于服务器10进行连接。至于客户端20和服务器10之间如何建立连接为习知技术,在此不再赘述。
客户端20与服务器10建立连接后,服务器10和客户端20将进行数据传输,并在数据传输时根据客户端20的不同的网络状态采用不同的数据包的大小进行组包。在本实施方式中,服务器10与客户端20之间通过UDP协议进行数据包传输。
以下详细介绍如何实现根据客户端20的网络状态自动调整数据包的大小的。
客户端20向服务器10发出请求,以请求服务器10提供其所需要的数据,并检测当前的网络状态。具体地,客户端20包括网络检测模块21。网络检测模块21用于检测客户端20当前的网络状态,并当网络处于拥塞状态时,产生表示网络处于拥塞状态的第一状态信号,当网络处于顺畅状态时,产生网络处于顺畅状态的第二状态信号。
服务器10响应客户端20的请求,提取客户端20所需要的数据,并根据客户端20当前的网络状态选择合适的数据包大小对客户端20所需要的数据进行组包。具体地,服务器10包括数据提取模块11、数据管理模块13、数据发送模块15以及判断模块17。数据提取模块11用于提取客户端20所需要的数据。
数据管理模块13用于从数据提取模块11中取得预设第一数据包大小的数据进行组包,并通过数据发送模块15发送给客户端20。在本实施方式中,第一预设数据包大小为65507Bytes,亦即数据包的最大值。
判断模块17还用于接收第一状态信号或者第二状态信号,并在接收到第一状态信号或者第二状态信号时,用于判断数据提取模块11中是否还存在数据。判断模块17还用于在数据提取模块11存在数据时,将所接收到的第一状态信号或者第二状态信息发送给数据管理模块13。
数据管理模块13还用于响应第一状态信号时,从数据提取模块11中提取出第二预设数据包大小的数据进行组包,并通过数据发送模块15并发送给客户端20。数据管理模块13还用于响应第二状态信号时,从数据提取模块11中提取出第三预设数据包大小的数据进行组包,并通过数据发送模块15发送给客户端20。换句话说,数据管理模块13用于在预设的数据包大小中选择与客户端20当前的网络状态相匹配的数据包大小。在本实施方式中,该第二预设数据包大小为1024Bytes。即为传输路径上不需分片即可传输的最大传输单元的最小值。第三预设数据包大小与第一预设数据包大小相同。在其他实施方式中,该第一预设数据可以设置为1024Bytes,且第二预设数据包大小与第一预设数据的大小相同,该第三预设数据包大小可设置为65507Bytes,亦即数据包的最大值。或者该第一、第二和第三预设数据包大小可根据用户自定义进行设置,只要确保客户端20的网络处于拥塞状态下以较小的数据包进行传输,而在网络处于顺畅状态下以较大的数据包进行传输即可。
上述实施方式中,客户端20的网络状态是在客户端20中进行检测的。在其它实施方式中,客户端20的网络状态也可以是由服务器10进行检测或者是通过独立的设备进行检测,即网络状态检测模块21可以设置于服务器10中也可以设置在其他设备中。另外,上述实施方式中,客户端20的网络状态划分为拥塞和顺畅两种状态,在其它实施方式中,客户端20的网络状态可以根据客户端的网络状态好坏程度,划分为两个以上的多个网络状态,相应地,设置与该多个网络状态一一对应的多个预设数据包大小。
请参看图2,其为数据传输方法的流程图。该数据传输用于根据网络状态的不同采用不同的数据包大小进行数据传输。该数据传输方法包括如下步骤:
步骤S301,客户端与服务器建立网络连接。在本实施方式中,建立网络连接后,客户端可发送请求给服务器。
步骤S302,服务器响应客户端请求并提取需要传输的数据。
步骤S303,服务器获取提取的数据中第一预设数据包大小的数据组包并发送。在本实施方式中,该第一预设数据包的大小为65507Bytes。
步骤S304,检测服务器中是否存在未发送的数据。若存在未发送的数据,则进入步骤S305;若不存在未发送的数据,则结束。
步骤S305,判断是否接收到网络状态信号。若接收到网络状态信号,则进入步骤S306;若为接收到网络状态信号,则进入步骤S303。在本实施方式中,该网络状态信号为网络拥塞状态信号。
步骤S306,获取数据中第二预设数据包大小的数据组包并发送。在本实施方式中,该第二预设数据包的大小为1024Bytes。
如图3所示,其为另一较佳种实施方式的数据传输方法的流程图。此种方式中,将客户端20的网络状态划分为拥塞和顺畅两种状态,并在网络状态为拥塞时产生第一状态信号并在顺畅时产生第二状态信号。
步骤S301,客户端与服务器建立网络连接。在本实施方式中,建立网络连接后,客户端可发送请求给服务器。
步骤S302,服务器响应客户端请求并提取需要传输的数据。
步骤S303,服务器获取提取的数据中第一预设数据包大小的数据组包并发送。在本实施方式中,该第一预设数据包的大小为65507Bytes。
步骤S304,检测服务器中是否存在未发送的数据。若存在未发送的数据,则进入步骤S305;若不存在未发送的数据,则结束。
步骤S305,判断是否接收到网络状态信号。若接收到网络状态信号,则进入步骤S306;若为接收到网络状态信号,则进入步骤S303。
步骤S306,服务器判断是否为第一状态信号。若网络状态信号为第一状态信号,则进入步骤S306;若网络状态信号为第二状态信号,则进入步骤S308。
步骤S307,服务器获取提取的数据中第二预设数据包大小的数据组包并发送。
步骤S308,服务器获取提取的数据中第三预设数据包大小的数据组包并发送。在本实施方式中,该第三预设值与第一预设数据包大小相同为65507Bytes。在其他实施方式中,该第一预设数据可以设置为1024Bytes,且第二预设数据包大小与第一预设数据的大小相同,该第三预设数据包大小可设置为65507Bytes,亦即数据包的最大值。或者该第一、第二和第三预设数据包大小可根据用户自定义进行设置,只要确保客户端20的网络处于拥塞状态下以较小的数据包进行传输,而在网络处于顺畅状态下以较大的数据包进行传输即可。
本技术领域的普通技术人员应当认识到,以上的实施方式仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围之内,对以上实施例所作的适当改变和变化都落在本发明要求保护的范围之内。
Claims (10)
1.一种数据传输系统,其包括服务器,该服务器包括数据发送模块,该数据发送模块可向客户端发送数据包,其特征在于:该服务器还包括数据管理模块,该数据管理模块用于接收该客户端当前的网络状态信号,并在预设的数据包大小中选择与该客户端当前的网络状态相匹配的数据包大小进行组包,并通过该数据发送模块对组包后的数据进行发送。
2.如权利要求1所述的数据传输系统,其特征在于:该数据传输系统还包括该数据提取模块,该数据提取模块用于响应该客户端请求并提取该客户端需要的数据。
3.如权利要求2所述的数据传输系统,其特征在于:该客户端根据当前网络状态信号包括第一状态信号和第二状态信号,当该数据管理模块接收第一状态信号时,从该数据中提取第一预设数据包大小的数据进行组包;当该数据管理模块接收第二状态信号时,从该数据中提取第二预设数据包大小的数据进行组包。
4.如权利要求3所述的数据传输系统,其特征在于:该第一状态信号为客户端网络处于顺畅状态,该第二状态信号为客户端网络拥塞状态。
5.如权利要求4所述的数据传输系统,其特征在于:该数据传输系统还包括判断模块,该判断模块用于在接收该网络状态并判断该数据提取模块中是否还存在未发送的数据;若该数据提取模块中存在未发送的数据,则该判断模块输出网络状态信号给该数据管理模块。
6.一种数据传输方法,用于在连接的客户端和服务器之间数据传输,该数据传输方法包括如下步骤:
服务器检测是否接收到客户端当前网络状态信号;
若接收到客户端当前的网络状态信号,服务器根据当前的网络状态信号在预设的不同数据包中选择与当前网络状态匹配的数据包进行数据组包并输出数据包发送给客户端。
7.如权利要求6所述的数据传输方法,其特征在于:该网络状态信号包括第一状态信号和第二状态信号,该数据传输方法包括如下步骤:
判断客户端的网络状态是否为第一状态信号,当客户端的网络状态为第一状态信号时,选择第一预设数据包大小对数据进行组包;
当客户端的网络状态为第二状态信号时,选择第二预设数据包大小对数据进行组包。
8.如权利要求7所述的数据传输方法,其特征在于:该第一状态信号为客户端网络处于顺畅状态,该第二状态信号为客户端网络拥塞状态。
9.如权利要求6所述的数据传输方法,其特征在于:该数据传输方法在服务器检测是否接收到客户端当前网络状态信号之前,还包括如下步骤:
服务器响应客户端请求,提取需要传输的数据;
获取该数据中以第三预设数据包大小的数据进行组包并发送;
判断是否存在未发送的数据,若存在未发送的数据,则检测是否接收到客户端当前网络状态信号。
10.如权利要求9所述的数据传输方法,其特征在于:该第三预设数据包大小与该第一预设数据包和该第二预设数据包中的一者大小相同。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102772075A CN102404184A (zh) | 2010-09-09 | 2010-09-09 | 数据传输系统及其传输方法 |
US13/192,700 US20120066305A1 (en) | 2010-09-09 | 2011-07-28 | Transmitting system and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102772075A CN102404184A (zh) | 2010-09-09 | 2010-09-09 | 数据传输系统及其传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102404184A true CN102404184A (zh) | 2012-04-04 |
Family
ID=45807735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102772075A Pending CN102404184A (zh) | 2010-09-09 | 2010-09-09 | 数据传输系统及其传输方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120066305A1 (zh) |
CN (1) | CN102404184A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106792895A (zh) * | 2016-12-05 | 2017-05-31 | 中国联合网络通信集团有限公司 | 一种确定数据包大小的方法及设备 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013060367A1 (en) * | 2011-10-27 | 2013-05-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in wireless communication networks |
CN109041262B (zh) | 2018-08-23 | 2020-06-16 | Oppo广东移动通信有限公司 | 数据传输方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999018690A1 (en) * | 1997-10-08 | 1999-04-15 | Lockheed Martin Missiles And Space Company | Packet satellite communication system with balanced links |
CN1980238A (zh) * | 2006-10-30 | 2007-06-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输/控制协议的h.264流媒体传输控制方法 |
CN101227414A (zh) * | 2008-02-04 | 2008-07-23 | 浙江大学 | 基于传输数据包长度在线优化的无线网络数据传输方法 |
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7796517B2 (en) * | 2004-06-28 | 2010-09-14 | Minghua Chen | Optimization of streaming data throughput in unreliable networks |
GB2449252B (en) * | 2007-05-14 | 2012-05-16 | Toshiba Res Europ Ltd | Multichannel MAC in wireless networks |
US20090086729A1 (en) * | 2007-09-28 | 2009-04-02 | Parthasarathy Sarangam | User datagram protocol (UDP) transmit acceleration and pacing |
GB0809014D0 (en) * | 2008-05-17 | 2008-06-25 | Slever Solutions Ltd | Improvements in and relating to the management of data congestion in a data network |
-
2010
- 2010-09-09 CN CN2010102772075A patent/CN102404184A/zh active Pending
-
2011
- 2011-07-28 US US13/192,700 patent/US20120066305A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999018690A1 (en) * | 1997-10-08 | 1999-04-15 | Lockheed Martin Missiles And Space Company | Packet satellite communication system with balanced links |
CN1980238A (zh) * | 2006-10-30 | 2007-06-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输/控制协议的h.264流媒体传输控制方法 |
CN101227414A (zh) * | 2008-02-04 | 2008-07-23 | 浙江大学 | 基于传输数据包长度在线优化的无线网络数据传输方法 |
CN101562615A (zh) * | 2009-05-20 | 2009-10-21 | 宁波大学 | 基于mpeg-4编码的多媒体数据流自适应网络带宽的传输方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106792895A (zh) * | 2016-12-05 | 2017-05-31 | 中国联合网络通信集团有限公司 | 一种确定数据包大小的方法及设备 |
CN106792895B (zh) * | 2016-12-05 | 2019-12-13 | 中国联合网络通信集团有限公司 | 一种确定数据包大小的方法及设备 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
CN114389999B (zh) * | 2021-12-27 | 2023-08-18 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20120066305A1 (en) | 2012-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248452B (zh) | 数据发送装置、数据接收装置、终端和数据传输方法 | |
CN101662418B (zh) | 一种传输文件的检测方法及终端 | |
CN101534249B (zh) | 一种在捆绑链路上发送数据的方法及网络设备 | |
CN106612284B (zh) | 一种流数据的传输方法和装置 | |
CN105591912B (zh) | 一种转发路径的选择方法和装置 | |
CN110418376A (zh) | 数据传输方法及装置 | |
CN110808873B (zh) | 一种检测链路故障的方法及装置 | |
CN105681881A (zh) | 一种基于移动终端的多媒体数据发送方法及移动终端 | |
CN103607665A (zh) | 一种多链路的无线实时视频传输方法及系统 | |
CN101753586A (zh) | 发送数据的方法、接收数据的处理方法和装置 | |
CN103200116B (zh) | 非面向连接的可靠udp传输协议及数据传输方法 | |
CN101924659A (zh) | 网络设备及其物理端口链路的检测方法 | |
CN109561395A (zh) | 一种蓝牙传输方法及装置 | |
CN102217251A (zh) | 一种数据转发方法、数据处理方法、系统以及相关设备 | |
CN105791439A (zh) | 一种数据处理方法、数据接收设备及数据处理系统 | |
CN107872365A (zh) | 一种以太网长网线打流性能测试方法及系统 | |
CN106464581A (zh) | 一种数据传输方法、系统和接收装置 | |
WO2009148500A8 (en) | Method for providing seamless transition between networks following different protocols | |
CN102404184A (zh) | 数据传输系统及其传输方法 | |
CN102780621B (zh) | 一种上行数据包发送方法、装置及网络设备 | |
CN103401898A (zh) | 在移动终端之间传输数据的方法及移动终端 | |
CN103379046A (zh) | Ip报文合并和分拆的技术提高报文发送效率的方法 | |
CN105847101A (zh) | 一种基于车辆总线的数据传输方法 | |
CN102238064B (zh) | 数据传输方法、装置和系统 | |
CN102780633A (zh) | 一种基于capwap协议进行数据传输的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120404 |