CN106101026A - 一种高可靠低延迟的udp多播方法 - Google Patents
一种高可靠低延迟的udp多播方法 Download PDFInfo
- Publication number
- CN106101026A CN106101026A CN201610399179.1A CN201610399179A CN106101026A CN 106101026 A CN106101026 A CN 106101026A CN 201610399179 A CN201610399179 A CN 201610399179A CN 106101026 A CN106101026 A CN 106101026A
- Authority
- CN
- China
- Prior art keywords
- message
- transmitting terminal
- numbering
- terminal
- standby
- 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
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/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/806—Broadcast or multicast traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种高可靠低延迟的UDP多播方法,包括:可靠传输:接收端只接收编号连续递增的报文,一旦收到大于当前期望编号的报文,接收端立即启动向发送端请求重传从当前期望编号到当前收到报文编号之间的报文的机制,这种机制称之为NACK;数据持久化:发送端对发送出去的报文进行异步持久化操作;主备同步:发送端子系统部署主用发送端实例、备用发送端实例,主用发送端实例在将报文发送给接收端之前,先同步发送到备用发送端实例。本发明的有益效果是:极大保证了数据通信环节的可靠性,优化了通信的性能。
Description
技术领域
本发明涉及UDP多播方法,尤其涉及一种高可靠低延迟的UDP多播方法。
背景技术
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(OpenSystem Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。
目前IT行业一般基于标准的UDP多播技术来构建高性能、低延迟的高可用集群的通信解决方案,或者在标准UDP的基础之上实现私有的传输层,通过类似TCP的会话机制,一定程度上弥补标准UDP存在丢包、乱序的天然缺陷,然而上述这些方案均不能达到金融领域对数据通信严苛的可靠性和性能要求。
标准的UDP多播技术在设计上就不保证通信过程中不丢包、不乱序。而引入类似TCP的会话机制,对通信报文进行编号传输,接收端通过发送确认或者请求重传的方式,在一定程度上保证了通信过程的可靠。然而在出现网络设备故障、通信链路故障或者通信主机发生故障的情况下,仍然会造成通信报文的丢失。
发明内容
为了解决现有技术中的问题,本发明提供了一种高可靠低延迟的UDP多播方法。
一种高可靠低延迟的UDP多播方法,包括:
可靠传输:接收端只接收编号连续递增的报文,一旦收到大于当前期望编号的报文,接收端立即启动向发送端请求重传从当前期望编号到当前收到报文编号之间的报文的机制,这种机制称之为NACK;
数据持久化:发送端对发送出去的报文进行异步持久化操作;
主备同步:发送端子系统部署主用发送端实例、备用发送端实例,主用发送端实例在将报文发送给接收端之前,先同步发送到备用发送端实例;
平滑发送:发送端和接收端都设计缓冲队列,发送端以毫秒为单位将时间切片,将发送队列中待发送的报文均匀地分配到各时间切片内发送;
流量调控:接收端以NACK的方式向发送端反馈数据报文的丢失或乱序,发送端基于收到的NACK报文从数据持久化层存取并向接收端补发丢失或乱序的数据报文,发送端根据一段时间内收到的NACK报文数量的变化对发送速率进行动态调节,使发送速率总是向着最符合当前网络状况的方向演变。
作为本发明的进一步改进,数据持久化中,只在内存中保留最近发送的报文。
本发明的有益效果是:通过上述方案,极大保证了数据通信环节的可靠性,优化了通信的性能。
附图说明
图1是本发明一种高可靠低延迟的UDP多播方法的示意图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
如图1所示,一种高可靠低延迟的UDP多播方法,为了发挥UDP多播技术的优势并规避其劣势,达到金融交易系统对数据通信极其严苛的可靠性要求,设计在UDP层之上增加可靠传输层,包含可靠传输、数据持久化、主备同步、平滑发送、流量调控的特性。
一、可靠传输:
不同于TCP滑动窗口的设计,接收端总是期望接收到编号连续递增的报文,一旦收到
大于当前期望编号的报文,接收端会认为丢失了从当前期望编号到当前收到报文编号之间的报文,立即启动向发送端请求重传这些报文的机制(称之为NACK机制);
二、数据持久化:
指发送端对发送出去的报文会进行异步持久化操作,这么做一方面是为了节省内存,只在内存中保留最近发送的报文,因为这么报文有更大的概率被请求重传,另一方面是为了进一步提高可靠性:只要报文被保存到磁盘上,那么即使发送端程序实例发生了异常、甚至通信主机发生了断电重启等情况,报文仍然能从磁盘恢复;
三、主备同步:
发送端子系统可以部署主用、备用两个实例,发送端在将报文发送给接收端之前,先同步发送到备用实例,进一步提高可靠性。即使主用通信主机发生故障无法恢复,报文仍能从备用机恢复;
四、平滑发送:
发送端和接收端都设计缓冲队列,发送端以毫秒为单位将时间切片,将发送队列中待发送的报文尽可能均匀地分配到各时间切片内发送,这种平滑发送的处理能够大大降低UDP通信的丢包率;
五、流量调控:
接收端以NACK的方式向发送端反馈数据报文的丢失或乱序,发送端基于收到的NACK报文从数据持久化层存取并向接收端补发丢失或乱序的数据报文。发送端根据一段时间内收到的NACK报文数量的变化对发送速率进行动态调节,使发送速率总是向着最符合当前网络状况的方向演变。
本发明提供的一种高可靠低延迟的UDP多播方法,已经应用于证券交易系统领域,极大保证了数据通信环节的可靠性,优化了通信的性能。据压力测试数据,实现该算法的通信子系统,单队列吞吐量达到6万笔/秒(报文长度256Byte),通信延迟在100微秒以内。远远超过了当前金融领域通信系统的性能表现。
本发明提供的一种高可靠低延迟的UDP多播方法,适合金融领域量化交易/程序化交易等对数据通信环节有高可用、高性能、低延迟需求的情况,特别适合需要构建高性能多活交易核心系统的场景。本发明对所运行的操作系统平台没有要求,但建议通信双方子系统部署于同一局域网。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (2)
1.一种高可靠低延迟的UDP多播方法,其特征在于,包括:
可靠传输:接收端只接收编号连续递增的报文,一旦收到大于当前期望编号的报文,接收端立即启动向发送端请求重传从当前期望编号到当前收到报文编号之间的报文的机制,这种机制称之为NACK;
数据持久化:发送端对发送出去的报文进行异步持久化操作;
主备同步:发送端子系统部署主用发送端实例、备用发送端实例,主用发送端实例在将报文发送给接收端之前,先同步发送到备用发送端实例;
平滑发送:发送端和接收端都设计缓冲队列,发送端以毫秒为单位将时间切片,将发送队列中待发送的报文均匀地分配到各时间切片内发送;
流量调控:接收端以NACK的方式向发送端反馈数据报文的丢失或乱序,发送端基于收到的NACK报文从数据持久化层存取并向接收端补发丢失或乱序的数据报文,发送端根据一段时间内收到的NACK报文数量的变化对发送速率进行动态调节,使发送速率总是向着最符合当前网络状况的方向演变。
2.根据权利要求1所述的高可靠低延迟的UDP多播方法,其特征在于:数据持久化中,只在内存中保留最近发送的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610399179.1A CN106101026A (zh) | 2016-06-07 | 2016-06-07 | 一种高可靠低延迟的udp多播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610399179.1A CN106101026A (zh) | 2016-06-07 | 2016-06-07 | 一种高可靠低延迟的udp多播方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106101026A true CN106101026A (zh) | 2016-11-09 |
Family
ID=57228005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610399179.1A Pending CN106101026A (zh) | 2016-06-07 | 2016-06-07 | 一种高可靠低延迟的udp多播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101026A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274466A (zh) * | 2018-08-07 | 2019-01-25 | 中国人民银行清算总中心 | 一种中间件报文传输方法及系统 |
CN109361723A (zh) * | 2018-04-18 | 2019-02-19 | 上海锐智集数电子有限公司 | 一种udp有效报文发送时序控制方法 |
CN109743143A (zh) * | 2018-11-16 | 2019-05-10 | 深圳证券交易所 | 数据的重传方法、装置和计算机可读存储介质 |
CN111064674A (zh) * | 2019-11-05 | 2020-04-24 | 珠海格力电器股份有限公司 | 数据的传输方法及装置、系统 |
CN111835712A (zh) * | 2020-06-01 | 2020-10-27 | 北京百卓网络技术有限公司 | 一种数据传输方法、装置、系统、设备及存储介质 |
CN112565430A (zh) * | 2020-12-08 | 2021-03-26 | 上证所信息网络有限公司 | 一种多市场行情数据在广域网的低时延可靠传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102221905A (zh) * | 2011-07-14 | 2011-10-19 | 中国铁道科学研究院通信信号研究所 | 双机切换延长设备 |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
US9185045B1 (en) * | 2015-05-01 | 2015-11-10 | Ubitus, Inc. | Transport protocol for interactive real-time media |
-
2016
- 2016-06-07 CN CN201610399179.1A patent/CN106101026A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102221905A (zh) * | 2011-07-14 | 2011-10-19 | 中国铁道科学研究院通信信号研究所 | 双机切换延长设备 |
CN104580215A (zh) * | 2015-01-09 | 2015-04-29 | 烽火通信科技股份有限公司 | 一种tcp连接热备份的实现方法 |
US9185045B1 (en) * | 2015-05-01 | 2015-11-10 | Ubitus, Inc. | Transport protocol for interactive real-time media |
CN105871736A (zh) * | 2015-05-01 | 2016-08-17 | 英属开曼群岛优比特思有限公司 | 一种封包低延迟传输方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361723A (zh) * | 2018-04-18 | 2019-02-19 | 上海锐智集数电子有限公司 | 一种udp有效报文发送时序控制方法 |
CN109361723B (zh) * | 2018-04-18 | 2021-08-31 | 上海锐智集数电子有限公司 | 一种udp有效报文发送时序控制方法 |
CN109274466A (zh) * | 2018-08-07 | 2019-01-25 | 中国人民银行清算总中心 | 一种中间件报文传输方法及系统 |
CN109274466B (zh) * | 2018-08-07 | 2022-02-22 | 中国人民银行清算总中心 | 一种中间件报文传输方法及系统 |
CN109743143A (zh) * | 2018-11-16 | 2019-05-10 | 深圳证券交易所 | 数据的重传方法、装置和计算机可读存储介质 |
CN109743143B (zh) * | 2018-11-16 | 2021-07-30 | 深圳证券交易所 | 数据的重传方法、装置和计算机可读存储介质 |
CN111064674A (zh) * | 2019-11-05 | 2020-04-24 | 珠海格力电器股份有限公司 | 数据的传输方法及装置、系统 |
CN111835712A (zh) * | 2020-06-01 | 2020-10-27 | 北京百卓网络技术有限公司 | 一种数据传输方法、装置、系统、设备及存储介质 |
CN112565430A (zh) * | 2020-12-08 | 2021-03-26 | 上证所信息网络有限公司 | 一种多市场行情数据在广域网的低时延可靠传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101026A (zh) | 一种高可靠低延迟的udp多播方法 | |
US6954797B1 (en) | Data Communication method, terminal equipment, interconnecting installation, data communication system and recording medium | |
US6091733A (en) | Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer | |
US7839783B2 (en) | Systems and methods of improving performance of transport protocols | |
CN102474463B (zh) | 通信装置以及通信方法 | |
US8316276B2 (en) | Upper layer protocol (ULP) offloading for internet small computer system interface (ISCSI) without TCP offload engine (TOE) | |
US9577791B2 (en) | Notification by network element of packet drops | |
EP2632102A1 (en) | Method and device for data transmission | |
JP3814678B2 (ja) | サテライトを介するインターネット | |
US7965625B2 (en) | Communication device and logical link abnormality detection method | |
KR101610715B1 (ko) | 단방향 데이터 송수신 시스템 및 방법 | |
US7676593B2 (en) | Method of bandwidth control by rewriting ACK number | |
WO2014092779A1 (en) | Notification by network element of packet drops | |
WO2021128602A1 (zh) | 一种数据传输的方法和装置 | |
US10104016B2 (en) | Communication device, communication device system, and communication method | |
US9075926B2 (en) | Distributed interconnect bus apparatus | |
CN110011967A (zh) | 一种用于数据传输的方法和系统 | |
US20110038369A1 (en) | Communication method and apparatus based on user datagram protocol | |
US20060198373A1 (en) | Communication system | |
US8185795B1 (en) | Side channel for forward error correction used with long-haul IP links | |
CN102904764A (zh) | 一种数据传输装置及其传输方法 | |
JP2006191368A (ja) | ネットワーク伝送装置 | |
JP5723307B2 (ja) | パケット監視システム | |
Hurtig et al. | SCTP: designed for timely message delivery? | |
US20070070999A1 (en) | Synchronization of historical data without retransmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161109 |