CN103200116B - 非面向连接的可靠udp传输协议及数据传输方法 - Google Patents

非面向连接的可靠udp传输协议及数据传输方法 Download PDF

Info

Publication number
CN103200116B
CN103200116B CN201310154860.6A CN201310154860A CN103200116B CN 103200116 B CN103200116 B CN 103200116B CN 201310154860 A CN201310154860 A CN 201310154860A CN 103200116 B CN103200116 B CN 103200116B
Authority
CN
China
Prior art keywords
information
message
receipt
transmission
unit
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.)
Active
Application number
CN201310154860.6A
Other languages
English (en)
Other versions
CN103200116A (zh
Inventor
况忠强
马正红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Valley Weiye Technology Co. Ltd.
Original Assignee
CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd filed Critical CHENGDU ONGOING INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310154860.6A priority Critical patent/CN103200116B/zh
Publication of CN103200116A publication Critical patent/CN103200116A/zh
Application granted granted Critical
Publication of CN103200116B publication Critical patent/CN103200116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种非面向连接的可靠UDP传输协议及数据传输方法,用于集群节点间通信,它包括多个集群节点,每个集群节点包括发送模块、接收模块和流量控制模块,发送模块包括信息发送单元和发送控制单元,接收模块包括信息接收单元和接收控制单元,信息发送单元和发送控制单元连接,信息接收单元连接接收控制单元。它包括以下步骤:初始化、发送信息、接收信息、超时重发、延迟回执和流量控制几个步骤。本发明采用非面向连接传输模式,提高网络传输的效率,能够充分发挥整个分布式系统的处理能力;采用时槽机制、超时重发和延时回执相结合,能够保证信息的完整性与有序性;能够根据网络的繁忙程度动态伸缩调整发送窗口的大小。

Description

非面向连接的可靠UDP传输协议及数据传输方法
技术领域
本发明涉及一种非面向连接的可靠UDP传输协议及数据传输方法,属于计算机技术领域。
背景技术
目前,数据库从单机到集群到云,各个节点间的通讯是非常重要的一个问题,涉及到效率,安全,快捷。传统的数据传输协议多采用面向连接通讯方式,N节点(Node)的集群,每增加一个节点(Node)便需多维护N条连接,提高了系统的维护费用。
在传统的传输层协议中TCP和UDP协议是比较出名的两个。选择UDP协议,高效灵活。是无连接协议,头部小,不需要像TCP三次握手建立连接这样一个过程。即时发送无需等待。在系统多达6万台节点的云数据库系统中,如果使用TCP协议,光维护这些连接就是一笔高昂的系统开销。
在分布式系统环境下,网络传输效率的高低直接会影响到整个集群工作的效率。UDP协议快捷方便,但是单纯的UDP协议是无保证的传输,一不保证传输的数据有序,又不保证丢包重传,还不保证接收方收到了消息,更不保证消息的正确完整。所以直接使用UDP协议是不能满足实际的生产需求的,我们做的正是要让UDP传输能达到我们的生产需求所做的发明创新。
发明内容
本发明的目的在于克服现有技术的不足,提供一种采用非面向连接传输模式,提高网络传输的效率,能够充分发挥整个分布式系统的处理能力的非面向连接的可靠UDP传输协议,以及提供一种非面向连接的可靠UDP传输协议的数据传输方法,该方法具有超时重发和延时回执功能,能够保证信息的完整性与有序性,保障消息的可靠发送与接收;能够根据网络的繁忙程度动态伸缩调整发送窗口的大小,调整的过程是在信息传输的过程中根据网络情况自适应调节,智能实用。
本发明的目的是通过以下技术方案来实现的:非面向连接的可靠UDP传输协议,用于集群节点间通信,它包括多个集群节点,每个集群节点包括发送模块、接收模块和流量控制模块,发送模块包括信息发送单元和发送控制单元,接收模块包括信息接收单元和接收控制单元,信息发送单元和发送控制单元连接,信息接收单元连接接收控制单元,信息发送单元和信息接收单元均将消息通道划分为多个时槽。
非面向连接的可靠UDP传输协议的数据传输方法,它包括以下步骤:
S1:初始化UDP协议所需资源,包括初始化超时检测时槽和延迟回执时槽,启动集群节点的发送模块、接收模块和流量控制模块;
S2:发送信息:采用无连接通信协议,知道对方节点号和端口号,确定对方节点存活,信息发送子模块无须与对方建立连接直接通过某一时槽向目标节点发送信息,并将信息的相关信息记录到发送控制单元,无需等待目标节点反馈;
S3:接收信息:目标节点采用侦听通道的方式循环接收消息,根据收到的消息,取得发送方的节点号、消息通道号和消息编号并绑定接收控制子模块,根据新接收的包与已接收包和已派送包之间的关系,作相应的处理;
S4:超时重发:发送模块在发送信息后,不会马上释放信息而是将信息传输到发送控制单元放入超时检测队列,定期对其进行检测,释放掉已回执的信息,重发未回执的信息并将其放入超时检测队列;
S5:延迟回执:接收模块根据一定的算法设计回执,并非每次信息接收单元收到数据均马上回执,而是将接收到的信息归入接收控制单元的延迟回执队列,由接收控制单元统一进行回执;
S6:流量控制:在信息的传输过程中通过记录连续无丢包记录计数的方式检测网络传输状态,当网络传输状态良好时,增大发送窗口,提高发送效率;而网络较差时,减小发送窗口,减小网络压力,改善传输质量,且这个调整的过程是在信息传输的过程中根据网络情况自适应调节。
为保证消息有序,消息通道内传输的数据根据消息号按时槽划分发送与接收:发送模块选择一可用信息通道按照消息号用哈希算法绑定到不同发送时槽进行发送,接收模块依据消息号根据哈希算法绑定到相应时槽,按照相应消息通道的不同时槽接收。
步骤S3接收控制子模块进行处理时包括以下两种异常情况:
a乱序:在接收过程出现包空洞,接收模块并非立即回执,而是不处理包空洞,继续接收,接收完成后再进行处理;
b丢包:经检测确认为丢包情况,此时接收控制单元向发送模块发送丢失位码消息,发送模块收到消息后重发丢失包。
本发明的有益效果是:
1、采用非面向连接传输模式,只需知道对方节点号和端口号,确定对方节点存活,无需建立连接便可直接通过时槽发送消息,而且无需等待对方节点的反馈,提高了网络传输的效率,同时也不需要维护连接操作系统资源,降低开销,每两个节点之间可以进行通讯,多个节点之间的通讯可以并行进行,能够充分发挥整个分布式系统的处理能力;
2、设有超时重发和延时回执功能,能够保证信息的完整性与有序性,保障消息的可靠发送与接收;
3、能够根据网络的繁忙程度动态伸缩调整发送窗口的数量和大小,调整的过程是在信息传输的过程中根据网络情况自适应调节,智能实用;
4、控制信息与发送的数据信息分流,方便管理传输过程中遇到的问题与进行及时调整。
附图说明
图1为本发明的多个节点连接示意图;
图2为本发明传输乱序示意图。
具体实施方式
下面结合附图进一步说明本发明的技术方案,但本发明所保护的内容不局限于以下所述。
如图1所示,非面向连接的可靠UDP传输协议,用于集群节点间通信,它包括多个集群节点Node1、Node2、…NodeN,每个集群节点包括发送模块、接收模块和流量控制模块,发送模块包括信息发送单元和发送控制单元,接收模块包括信息接收单元和接收控制单元,信息发送单元和发送控制单元连接,信息接收单元连接接收控制单元,信息发送单元和信息接收单元均将消息通道划分为多个时槽。
非面向连接的可靠UDP传输协议的数据传输方法,它包括以下步骤:
S1:初始化UDP协议所需资源,包括初始化超时检测时槽和延迟回执时槽,启动集群节点的发送模块、接收模块和流量控制模块;
S2:发送信息:采用无连接通信协议,知道对方节点号和端口号,确定对方节点存活,信息发送子模块无须与对方建立连接直接通过某一时槽向目标节点发送信息,并将信息的相关信息记录到发送控制单元,无需等待目标节点反馈;
S3:接收信息:目标节点采用侦听通道的方式循环接收消息,根据收到的消息,取得发送方的节点号、消息通道号和消息编号并绑定接收控制子模块,根据新接收的包与已接收包和已派送包之间的关系,作相应的处理;
S4:超时重发:发送模块在发送信息后,不会马上释放信息而是将信息传输到发送控制单元放入超时检测队列,定期对其进行检测,释放掉已回执的信息,重发未回执的信息并将其放入超时检测队列;
S5:延迟回执:接收模块根据一定的算法设计回执,并非每次信息接收单元收到数据均马上回执,而是将接收到的信息归入接收控制单元的延迟回执队列,由接收控制单元统一进行回执;
S6:流量控制:在信息的传输过程中通过记录连续无丢包记录计数的方式检测网络传输状态,当网络传输状态良好时,增大发送窗口,提高发送效率;而网络较差时,减小发送窗口,减小网络压力,改善传输质量,且这个调整的过程是在信息传输的过程中根据网络情况自适应调节。
为保证消息有序,消息通道内传输的数据根据消息号按时槽划分发送与接收:发送模块选择一可用信息通道按照消息号用哈希算法绑定到不同发送时槽进行发送,接收模块依据消息号根据哈希算法绑定到相应时槽,按照相应消息通道的不同时槽接收。
步骤S3接收控制子模块进行处理时包括以下两种异常情况:
a乱序:在接收过程出现包空洞,接收模块并非立即回执,而是不处理包空洞,继续接收,接收完成后再进行处理;
b丢包:经检测确认为丢包情况,此时接收控制单元向发送模块发送丢失位码消息,发送模块收到消息后重发丢失包。
对于因乱序出现的包空洞状态,因后面的消息补齐了空洞时槽,使得消息连续,回执时仅回执最大接收包序号即可;而对于丢包造成的包空洞,则回执最大已派送包(包空洞前的最后一个包)。根据接收模块接收方反馈的最大已派送包调整发送模块的发送窗口重发丢失包。
接收控制单元中丢包检测模块对乱序造成的包空洞和丢包造成的包空洞的识别,一般接收方收到的消息序号是连续递增的,如果出现跳跃,则接收时槽出现包空洞。此时丢包检测对其进行记录,根据一定算法,之后再收到的若干数量的包补齐了接收时槽,则确认为局部乱序,若之后接收多个包仍未补齐,则确认为包丢失,会按丢失位码方式反馈至发送方,发送方发送管理单元根据情况重发丢失包,或调整发送窗口重发丢失包之后的消息。接收方收取丢失包并丢弃重复包。
如图2所示,接收模块收到前三个包时发现控制信息显示出的发送序号为1、3、4,在2号时槽发生了包空洞,此时接收模块并非立即回执,而是不处理包空洞,继续接收,此时可能出现两种情况:收到2号包填补空洞或者是2号包丢失。到需要回执时进行消息检测,回执最大已提交消息号,让发送模块重发之后的消息,在此处为让发送模块发送2、3、4消息,接收模块收到重发的消息后,发现3、4号消息重复而丢弃。

Claims (3)

1.一种使用非面向连接的可靠UDP传输协议的数据传输方法,其特征在于:所述的非面向连接的可靠UDP传输协议用于集群节点间通信,包括多个集群节点,每个集群节点包括发送模块、接收模块和流量控制模块,发送模块包括信息发送单元和发送控制单元,接收模块包括信息接收单元和接收控制单元,信息发送单元和发送控制单元连接,信息接收单元连接接收控制单元,信息发送单元和信息接收单元均将消息通道划分为多个时槽;
所述的使用非面向连接的可靠UDP传输协议的数据传输方法包括以下步骤:
S1:初始化UDP协议所需资源,包括初始化超时检测时槽和延迟回执时槽,启动集群节点的发送模块、接收模块和流量控制模块;
S2:发送信息:采用无连接通信协议,知道对方节点号和端口号,确定对方节点存活,信息发送单元无须与对方建立连接直接通过某一时槽向目标节点发送信息,并将信息的相关信息记录到发送控制单元,无需等待目标节点反馈;
S3:接收信息:目标节点采用侦听通道的方式循环接收消息,根据收到的消息,取得发送方的节点号、消息通道号和消息编号并绑定接收控制单元,根据新接收的包与已接收包和已派送包之间的关系,作相应的处理;
S4:超时重发:发送模块在发送信息后,不会马上释放信息而是将信息传输到发送控制单元放入超时检测队列,定期对其进行检测,释放掉已回执的信息,重发未回执的信息并将其放入超时检测队列;
S5:延迟回执:接收模块根据一定的算法设计回执,并非每次信息接收单元收到数据均马上回执,而是将接收到的信息归入接收控制单元的延迟回执队列,由接收控制单元统一进行回执;
S6:流量控制:在信息的传输过程中通过记录连续无丢包记录计数的方式检测网络传输状态,当网络传输状态良好时,增大发送窗口,提高发送效率;而网络较差时,减小发送窗口,减小网络压力,改善传输质量,且这个调整的过程是在信息传输的过程中根据网络情况自适应调节。
2.根据权利要求1所述的一种使用非面向连接的可靠UDP传输协议的数据传输方法,其特征在于:为保证消息有序,消息通道内传输的数据根据消息号按时槽划分发送与接收:发送模块选择一可用信息通道按照消息号用哈希算法绑定到不同发送时槽进行发送,接收模块依据消息号根据哈希算法绑定到相应时槽,按照相应消息通道的不同时槽接收。
3.根据权利要求1所述的一种使用非面向连接的可靠UDP传输协议的数据传输方法,其特征在于:所述的步骤S3接收控制单元进行处理时包括以下两种异常情况:
a乱序:在接收过程出现包空洞,接收模块并非立即回执,而是不处理包空洞,继续接收,接收完成后再进行处理;
b丢包:经检测确认为丢包情况,此时接收控制单元向发送模块发送丢失位码消息,发送模块收到消息后重发丢失包。
CN201310154860.6A 2013-04-28 2013-04-28 非面向连接的可靠udp传输协议及数据传输方法 Active CN103200116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310154860.6A CN103200116B (zh) 2013-04-28 2013-04-28 非面向连接的可靠udp传输协议及数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310154860.6A CN103200116B (zh) 2013-04-28 2013-04-28 非面向连接的可靠udp传输协议及数据传输方法

Publications (2)

Publication Number Publication Date
CN103200116A CN103200116A (zh) 2013-07-10
CN103200116B true CN103200116B (zh) 2015-10-14

Family

ID=48722479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310154860.6A Active CN103200116B (zh) 2013-04-28 2013-04-28 非面向连接的可靠udp传输协议及数据传输方法

Country Status (1)

Country Link
CN (1) CN103200116B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133831B (zh) * 2014-02-25 2017-07-07 清华大学 跨域数据联接系统、跨域数据联接方法及节点
CN105763519A (zh) * 2014-12-18 2016-07-13 华为技术有限公司 一种一致性控制方法,装置及系统
CN106027599B (zh) * 2016-04-29 2020-01-17 掌赢信息科技(上海)有限公司 一种数据传输通道建立方法、系统和服务器
CN106250250A (zh) * 2016-08-09 2016-12-21 广州唯品会信息科技有限公司 数据通信方法及装置
CN106210924B (zh) * 2016-08-16 2020-01-24 北京东方嘉禾文化发展股份有限公司 视频网络传输控制方法和系统
CN107920064A (zh) * 2017-11-02 2018-04-17 河北科技大学 一种基于rudp的多移动机器人通信方法
CN110830472B (zh) * 2019-11-07 2021-09-24 西北工业大学 基于tcp/ip协议的灵活数据传输协议的灵活数据传输方法
CN112543494B (zh) * 2020-12-01 2021-09-17 北京时代凌宇信息技术有限公司 无线通讯中快速入网并自动跳频的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856599B1 (en) * 2000-09-13 2005-02-15 Harris Corporation System and method of reducing retransmission of messages in a TCP/IP environment
CN101436978A (zh) * 2007-11-15 2009-05-20 盛乐信息技术(上海)有限公司 使用udp协议进行可靠数据传输的方法
CN102045362A (zh) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 一种基于udp协议的数据传输方法和系统
CN103036904A (zh) * 2012-12-27 2013-04-10 东方通信股份有限公司 一种在通信网络中使用udp协议进行数据可靠传输的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856599B1 (en) * 2000-09-13 2005-02-15 Harris Corporation System and method of reducing retransmission of messages in a TCP/IP environment
CN101436978A (zh) * 2007-11-15 2009-05-20 盛乐信息技术(上海)有限公司 使用udp协议进行可靠数据传输的方法
CN102045362A (zh) * 2010-12-21 2011-05-04 北京高森明晨信息科技有限公司 一种基于udp协议的数据传输方法和系统
CN103036904A (zh) * 2012-12-27 2013-04-10 东方通信股份有限公司 一种在通信网络中使用udp协议进行数据可靠传输的方法

Also Published As

Publication number Publication date
CN103200116A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103200116B (zh) 非面向连接的可靠udp传输协议及数据传输方法
CN106850188B (zh) 一种基于多路异构单向传输通道的数据传输系统
CN102263697B (zh) 一种聚合链路流量分担方法和装置
WO2016187813A1 (zh) 一种光电混合网络的数据传输方法及装置
CN104618236A (zh) 一种加速网络的并行数据传输系统及方法
CN102084634B (zh) 与阈值有关的传输协议优化选择
CN106850169B (zh) 一种资源调度分配的方法以及通信设备
CN110418376A (zh) 数据传输方法及装置
CN104486051A (zh) 一种数据重传方法及装置
CN104378308A (zh) 报文发送速率检测方法及装置
CN104660627B (zh) 一种上位机与下位机的通信方法和系统
US10645609B2 (en) Method and apparatus for transmitting TCP ACK in communication system
CN107682434A (zh) 一种水下传感器网络架构及其实现方法
CN102801508A (zh) 处理网络丢包的控制方法
CN105471763A (zh) 控制报文传输方法及装置
CN102209021A (zh) 一种包聚合传输的方法和装置
CN105763297A (zh) 一种基于云计算系统的远程数据优化传输方法和装置
CN105763375A (zh) 一种数据包发送方法、接收方法及微波站
CN110808917B (zh) 多链路聚合数据重传方法及发送设备
EP2482501A1 (en) Pipeline network device and related data transmission method
CN104283647B (zh) 基于空中接口的数据传输方法、装置和网络通信设备
CN105634894B (zh) 一种增强型can总线数据重发方法和装置
CN109067663B (zh) 一种针对应用程序内控制请求响应速率的系统和方法
CN101631074B (zh) 一种多链路报文发送方法、装置和网络设备
US9762353B2 (en) Data packet for bidirectional transmission of data packets during data transmission between a first and a second communication appliance, and method for transmitting such a data packet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180327

Address after: 610218 Sichuan city of Chengdu province Tianfu Zheng Xing Shun Shing Street No. 172

Patentee after: Chengdu Valley Weiye Technology Co. Ltd.

Address before: 610041 Chengdu high tech Zone, Xiaojiahe Province, No. two ring road, south of the No. four, No., No. 16

Patentee before: Chengdu Ongoing Information Technology Co., Ltd.

TR01 Transfer of patent right