CN101188555B - 一种提高非可靠通讯环境下单向通讯可靠性的方法 - Google Patents
一种提高非可靠通讯环境下单向通讯可靠性的方法 Download PDFInfo
- Publication number
- CN101188555B CN101188555B CN2007101250362A CN200710125036A CN101188555B CN 101188555 B CN101188555 B CN 101188555B CN 2007101250362 A CN2007101250362 A CN 2007101250362A CN 200710125036 A CN200710125036 A CN 200710125036A CN 101188555 B CN101188555 B CN 101188555B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- sender
- communication
- buffering formation
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种提高非可靠通讯环境下单向通讯可靠性的方法。该方法主要涉及单向通讯的发送者和接收者通过非可靠传输通道进行数据传输。发送者是通讯的发起者,负责组织数据包并将数据发送给非可靠传输通道;接收者是数据包的接受者,完成对发送者发送的数据包的接收及处理。本发明通过进行发送过程的调整,可以在很大程度上提高单向通讯的可靠性,尤其是在大数据量的情况下,将数据按照一定的时间间隔均匀发送,能很好的调整网络流量,缓解网络拥塞的情况,对减少丢包率效果非常明显;另外,由于兼顾考虑了数据包缓存的数量和每次发送包的大小,对效率的影响可控制在可以接受的范围之内,在完全不增加接收者任何工作的情况下提高了通讯的可靠性。
Description
技术领域
本发明属于不可靠数据通讯传送预处理领域,具体涉及一种提高非可靠通讯环境下单向通讯可靠性的方法。
背景技术
通讯协议从可靠性角度可以分为可靠传输和非可靠传输。有些网络管理标准为了兼顾效率、实现简便性等方面的因素会选择以非可靠通讯协议作为底层的传输支撑,如SNMP协议(Simple Network Management Protocol,简单网络管理协议)中就是应用不可靠的UDP协议(User Datagram Protocol,用户数据报协议)。当选择非可靠传输时,就存在着数据包丢失的可能,尤其是在网络繁忙时。单向传输由于通讯两端的应用层之间缺少交互,数据包丢失则成了无法补救的问题。数据包丢失造成的问题很多,在网络管理中一个非常明显的问题是会造成通讯两端的数据不一致,给用户造成维护上的误导。
为了解决这种问题,有一些专利也致力于该方面的研究,但是都存在一些问题。如中国ZL 02149439.8“简单网络管理协议中数据包传送的可靠性保证方法”是通过发送端在每个TRAP中增加流水号、接收端解释处理该流水号,并在发生问题时向发送端进行重新申请;中国ZL 01131969.0“简单网络管理协议中报文可靠传输的方法”是通过在发送端、接收端都进行协议转换(将不可靠传输在发送前转换为可靠传输)的方式来保证传输的可靠性。这两种方法能提高通讯的可靠性,但是问题也非常明显:大大增加了系统的复杂性,尤其是增加接收端的实现复杂性在实际工程应用中是不可接受的,因为很多通过SNMP接入的网管系统都是使用现成的接入平台,对上述专利需要修改系统的做法客户肯定不会采用,因此其实用效果大大降低。
发明内容
本发明的目的在于克服现有技术的不足,提供一种提高非可靠通讯环境下单向通讯可靠性的方法。该方法通过对单向通讯的发送者进行适当处理,在完全不增加接收端任何工作的情况下提高通讯的可靠性。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明所述的提高非可靠通讯环境下单向通讯可靠性的方法,包括如下步骤:
步骤A.在发送者处进行参数配置,配置发送停等时间T、间隔系数n、每次发送最大包数M、发送者等待队列限制长度L;发送者系统在初始化时读入配置的参数T、n、M和L,根据系统对实时性的要求和发送者所在硬件系统的资源情况设置T、n、M、L值;
步骤B.数据包发送模块从数据包缓冲队列中读取要发送的数据包;
b1.如果数据包不存在,等待数据包生成模块根据功能情况产生数据包,并将数据包置入数据包缓冲队列中;
b2.如果数据包存在,则获取数据包缓冲队列中的M个数据包或者全部数据包,获取到数据包后执行步骤C操作;
步骤C.判断数据包缓冲队列中剩余的数据包总数,以决定数据包发送模块的等待时间t;
步骤D.数据包发送模块等待t时间后将数据包发送出去;
步骤E.循环执行步骤B。
所述b2步骤中,如果数据包存在,当数据包缓冲队列中数据包数量多于或者等于M个时,则获取M个数据包;当数据包缓冲队列中数据包数量少于M个时,则获取全部数据包。
所述步骤C中,如果数据包缓冲队列中剩余的数据包总数大于L,则等待时间为t=T/n;如果数据包缓冲队列中剩余的数据包总数小于或等于L,则等待时间t=T。
本发明所述的提高非可靠通讯环境下单向通讯可靠性的方法主要涉及单向通讯的发送者、接收者,发送者和接收者通过非可靠传输通道进行数据传输,二者可以是对等关系,也可以是客户层/服务器关系。发送者是通讯的发起者,负责组织数据包并将数据发送给非可靠传输通道;接收者是数据包的接受者,完成对发送者发送的数据包的接收及处理。
所述发送者至少包括初始化模块、数据包发送模块、数据包生成模块和数据包缓冲队列。
本发明提出了在不可靠通讯环境下提高数据包传输可靠性的方法,通过在发送者处简单的设置可以显著的提高通讯的可靠性。
使用本发明的提高非可靠通讯环境下单向通讯可靠性的方法,具有以下有益效果:
(1)通过本方法进行发送过程的调整,可以在很大程度上提高单向通讯的可靠性,尤其是在大数据量的情况下,将数据按照一定的时间间隔均匀发送,能很好的调整网络流量,缓解网络拥塞的情况,对减少丢包率效果非常明显;
(2)由于兼顾考虑了数据包缓存的数量和每次发送包的大小,对效率的影响可控制在可以接受的范围之内;
(3)本方法通过对单向通讯的发送者进行适当处理,在完全不增加接收者任何工作的情况下提高了通讯的可靠性。
附图说明
图1是非可靠通讯环境下单向通讯的模型示意图;
图2是发送者的内部功能模块逻辑示意图;
图3是SNMP协议环境下的单向TRAP通讯示意图。
具体实施方式
为了更好地理解本发明,下面结合附图和具体实施例对本发明作进一步地描述。
请参阅图1,发送者1和接收者2通过非可靠传输通道进行数据传输,二者可以是对等关系,也可以是客户层/服务器关系。发送者1是通讯的发起者,负责组织数据包并将数据发送给非可靠传输通道;接收者2是数据包的接受者,完成对发送者发送的数据包的接收及处理。请参阅图2,发送者1包括初始化模块101、数据包发送模块102、数据包生成模块103和数据包缓冲队列104。
以SNMP协议中TRAP的传送可靠性控制过程为例,请结合参阅图2和图3,在SNMP网管中,根据标准规定,作为代理者的SNMP AGENT(相当于图1中的发送者1)同作为SNMP MANAGER(相当于图1中的接收者2)之间是通过UDP/IP协议进行底层通讯,而UDP是一种不可靠的通讯方式,这导致SNMP AGENT同SNMP MANAGER之间存在丢包的可能性,尤其在网络上数据量较大时;经过实际测试,也确实存在丢包的情形。SNMP AGENT与SNMP MANAGER之间有一个非常重要的单向操作类型TRAP,通过TRAP,SNMP AGENT可以将不可预期事件主动上报给SNMP MANAGER。SNMP AGENT中包括初始化模块101、数据包发送模块102、数据包生成模块103、数据包缓冲队列104四个逻辑模块,在SNMP AGENT中设置一个配置文件,设定配置发送停等时间T为0.1秒、间隔系数n为2、每次发送最大包数M为3、等待队列限制长度L为5000。系统初始化运行时,初始化模块101通过配置文件读入T/n/M/L的值;初始化完成后,系统进入功能处理过程,数据包发送模块102从数据包缓冲队列104中获取需要发送的数据包;如果不能获取到数据包(数据包缓冲队列104中数据包为空),数据包发送模块102则等待直到能获取到数据;数据包生成模块103将其处理后待TRAP发送的数据包置入数据包缓冲队列104中;当数据包缓冲队列104中存在数据包且数量少于3时,数据包发送模块102获取所有的数据包(1个或者2个),等待0.1秒后将获取到的数据包发送出去;当数据包缓冲队列104中存在数据包且数量至少为3时,数据包发送模块102获取3个数据包,然后统计数据包缓冲队列104中剩余的数据包数量,如果数量小于或等于5000个,数据包发送模块102等待0.1秒后将这3个数据包发送出去;如果数据包数量大于5000个,数据包发送模块102等待0.05秒后将获得的3个数据包发送出去;最后数据包发送模块102进行循环读取、发送处理。通过本发明的方法,经过实际测试,可以有效减少丢包率,明显提高大数据量情况下TRAP的可靠性。
本方法可以用在任何的非可靠传输环境,SNMP协议作为一种典型的非可靠传输网管协议,可以直接使用本发明。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,应当指出,对于本领域的普通技术人员来说,凡是本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种提高非可靠通讯环境下单向通讯可靠性的方法,其特征在于,所述方法用于简单网络管理协议SNMP中陷阱报文TRAP的传送,包括如下步骤:
步骤A.在发送者处进行参数配置,配置发送停等时间T、间隔系数n、每次发送最大包数M、发送者等待队列限制长度L;发送者系统在初始化时读入配置的参数T、n、M和L,根据系统对实时性的要求和发送者所在硬件系统的资源情况设置T、n、M、L值;
步骤B.数据包发送模块从数据包缓冲队列中读取要发送的数据包;
b1.如果数据包不存在,等待数据包生成模块根据功能情况产生数据包,并将数据包置入数据包缓冲队列中;
b2.如果数据包存在,则获取数据包缓冲队列中的M个数据包或者全部数据包,获取到数据包后执行步骤C操作;
步骤C.判断数据包缓冲队列中剩余的数据包总数,以决定数据包发送模块的等待时间t;如果数据包缓冲队列中剩余的数据包总数大于L,则等待时间t=T/n;如果数据包缓冲队列中剩余的数据包总数小于或等于L,则等待时间t=T;
步骤D.数据包发送模块等待t时间后将数据包发送出去;
步骤E.循环执行步骤B。
2.根据权利要求1所述的提高非可靠通讯环境下单向通讯可靠性的方法,其特征在于,所述b2步骤中,如果数据包存在,当数据包缓冲队列中数据包数量多于或者等于M个时,则获取M个数据包;当数据包缓冲队列中数据包数量少于M个时,则获取全部数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101250362A CN101188555B (zh) | 2007-12-14 | 2007-12-14 | 一种提高非可靠通讯环境下单向通讯可靠性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101250362A CN101188555B (zh) | 2007-12-14 | 2007-12-14 | 一种提高非可靠通讯环境下单向通讯可靠性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101188555A CN101188555A (zh) | 2008-05-28 |
CN101188555B true CN101188555B (zh) | 2011-07-13 |
Family
ID=39480752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101250362A Expired - Fee Related CN101188555B (zh) | 2007-12-14 | 2007-12-14 | 一种提高非可靠通讯环境下单向通讯可靠性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101188555B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364855B (zh) * | 2008-09-22 | 2012-04-18 | 杭州华三通信技术有限公司 | 码流中数据包的发送控制方法和装置 |
CN101741706B (zh) * | 2008-11-14 | 2012-01-04 | 英业达股份有限公司 | 因特网小型计算机系统接口iSCSI服务质量控制方法 |
CN107078970B (zh) * | 2014-10-30 | 2020-04-17 | 三菱电机株式会社 | 数据二极管装置 |
CN105592131A (zh) * | 2015-06-27 | 2016-05-18 | 刘晓建 | 一种在不同网络间单向传输文件的装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379557A (zh) * | 2002-05-16 | 2002-11-13 | 武汉汉网高技术有限公司 | 多拒绝自动请求重传arq机制 |
CN1298149C (zh) * | 2003-07-31 | 2007-01-31 | 中兴通讯股份有限公司 | 基于包模式的流量控制装置及方法 |
-
2007
- 2007-12-14 CN CN2007101250362A patent/CN101188555B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1379557A (zh) * | 2002-05-16 | 2002-11-13 | 武汉汉网高技术有限公司 | 多拒绝自动请求重传arq机制 |
CN1298149C (zh) * | 2003-07-31 | 2007-01-31 | 中兴通讯股份有限公司 | 基于包模式的流量控制装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101188555A (zh) | 2008-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407698C (zh) | 无线链路控制层的数据传输方法 | |
CN101141406B (zh) | 分布式流量控制方法、系统及装置 | |
US20120054362A1 (en) | Mechanism for autotuning mass data transfer from a sender to a receiver over parallel connections | |
CN103346963A (zh) | 一种基于预测到达时间的mptcp数据调度方法 | |
CN100534069C (zh) | 非对称和多并发网络的加速方法 | |
CN101047615B (zh) | 一种以太网数据流量控制方法 | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
CN101536413A (zh) | 队列感知的流控制 | |
CN101494579B (zh) | 总线调度装置及方法 | |
KR20080111395A (ko) | 이동통신 시스템에서의 무선자원 향상 방법, 상태정보 보고방법 및 수신장치 | |
CN101188555B (zh) | 一种提高非可靠通讯环境下单向通讯可靠性的方法 | |
CN1992582B (zh) | 宽带信令链路自适应可变滑动接收窗口的实现方法 | |
CN102801692B (zh) | 一种基于分裂连接的传输控制协议优化方法及系统 | |
CN103338184A (zh) | 数据发送方法及装置、数据接收装置以及数据传输系统 | |
CN103152192A (zh) | 数据传输方法及网管系统 | |
Huang et al. | Packet slicing for highly concurrent TCPs in data center networks with COTS switches | |
CN102263618A (zh) | 无线网络拥塞控制方法、装置及系统 | |
CN106302426A (zh) | 一种基于fpga的带重发机制的udp协议栈实现方法 | |
EP3038032A1 (en) | Service message transmitting method and device | |
CN101841477A (zh) | 一种提高网络控制芯片可靠报文传输信用的方法 | |
CN101873193A (zh) | 无线链路层状态包的发送方法 | |
CN109067663A (zh) | 一种针对应用程序内控制请求响应速率的系统和方法 | |
Zhou et al. | Expresspass++: Credit-effecient congestion control for data centers | |
US20220368765A1 (en) | Universal Transport Framework For Heterogeneous Data Streams | |
CN105493560B (zh) | 回传终端、基站及无线网络流量控制方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110713 Termination date: 20171214 |
|
CF01 | Termination of patent right due to non-payment of annual fee |