CN115442000A - 一种适用于低带宽、易损耗自组网络下的传输保障方法 - Google Patents
一种适用于低带宽、易损耗自组网络下的传输保障方法 Download PDFInfo
- Publication number
- CN115442000A CN115442000A CN202211027206.4A CN202211027206A CN115442000A CN 115442000 A CN115442000 A CN 115442000A CN 202211027206 A CN202211027206 A CN 202211027206A CN 115442000 A CN115442000 A CN 115442000A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- messages
- service
- thread
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000005540 biological transmission Effects 0.000 title claims abstract description 62
- 230000006854 communication Effects 0.000 claims abstract description 55
- 238000004891 communication Methods 0.000 claims abstract description 54
- 238000012544 monitoring process Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 42
- 238000012790 confirmation Methods 0.000 claims description 41
- 238000012546 transfer Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000006837 decompression Effects 0.000 claims description 6
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 claims description 3
- 210000004460 N cell Anatomy 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 claims description 2
- 238000013467 fragmentation Methods 0.000 claims description 2
- 238000006062 fragmentation reaction Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 abstract description 6
- 238000011161 development Methods 0.000 abstract description 2
- 238000012163 sequencing technique Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- 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/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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1841—Resequencing
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- 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
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提出了一种适用于低带宽、易损耗自组网络下的传输保障方法及***,包括数据发送方服务和数据接收方服务两个部分,数据发送方服务包括数据业务调度线程、业务数据通信处理线程、链路质量监测线程;数据接收方服务包括数据监听线程、数据预处理线程、数据分发线程、业务数据通信处理线程、链路质量监测线程,通过应用层重传、数据报文排序、重复报文过滤和链路自适应控制等手段,保证数据报文传输至接收端不重复、不丢失、不乱序,从而实现弱网环境下的可靠通信传输。本发明在性能、扩展性及开发简易性方面优于同类技术方案。
Description
技术领域
本发明涉及消息、文件传输技术,具体涉及一种适用于低带宽、易损耗自组网下的传输保障方法。
背景技术
伴随着特定领域信息***的持续发展和演进,越来越多的网络模式成为该***的兼容对象。由于设备本身物理限制以及实际复杂环境影响,这些网络具有低带宽、延时高、不稳定、易损耗等特点,因此如何保证复杂条件下的数据可靠传输成为了迫切需要解决的问题。
寻求适配弱网的可靠通信传输方法需要重点结合弱网特点,尽可能提高信道利用率,同时又能保证网络通畅。目前弱网条件下可靠传输策略主要分为:
第一种,采用确认应答和超时重传机制的策略保障可靠传输,数据发送端发送数据包,数据接收端收到数据包便向数据发送端发送确认包,数据发送端收到确认包后,发送下一个数据包,若数据发送端超过特定时间未收到确认包,则重传上述数据包。结合弱网高延迟和低带宽的特点,此策略下数据包的确认应答将耗费大量时间,且一一对应的确认机制占用了一定比例的带宽。
第二种,采用发送冗余包的策略保障可靠传输,同一个数据包发送多次,不需要等待应答、减免了应答包占用带宽,使得这种方式信道利用率较高、传输速率快,但是信道上有大量冗余数据包,对带宽存在一定挑战,而且缺少确认机制,若多包数据均丢失,依然会出现传输失败的可能,因此该策略并不能客观地保证可靠通信传输。
第三种,缺乏必要的流量控制或流控策略不适用于弱网环境,处于弱网环境的数据传输,若缺乏流量控制,可能出现网络拥塞的情况,甚至导致网络环境崩溃。传统流量控制基于窗口大小调整信息交换两端的传输速度,该策略有效解决大数据交换时IO缓存区溢出问题,但是并不适用于弱网环境下的数据交换,因为,弱网条件下数据传输速度通常明显低于数据在两端的处理速度,且一般只用于传输文本、语音、小文件等。
综上所述,目前常见的可靠传输方案均伴随大量的握手确认或冗余数据,在波动大、信号弱的网络环境中存在较大的弊端,因此研究一种兼容弱网的可靠传输策略是必要的。
发明内容
本发明的目的在于提出一种适用于低带宽、易损耗自组网下的传输保障方法。
实现本发明目的的技术解决方案为:一种适用于低带宽、易损耗自组网下的传输保障方法,包括数据发送方服务和数据接收方服务两个部分,数据发送方服务包括数据业务调度、业务数据通信处理、链路质量监测和IO事件处理器;数据接收方服务包括数据监听、数据预处理、数据分发、业务数据通信处理、链路质量监测和IO事件处理器。数据传输通信的过程为:
过程1:数据发送方数据业务调度线程检测到出现待执行业务,依次创建业务数据通信处理线程和链路质量监测线程;
过程2:数据发送方业务数据通信处理线程完成初始化,对待执行业务数据进行切割、压缩和加密预处理,对处理后的数据包进行排序并将包序封装入业务数据报文,并交付给IO事件处理器排队等待传输。数据报文若需要应答确认则启动定时器,若超时前未收到确认报文则进行重传操作;
过程3:数据发送方链路质量监测线程负责封装链路质量监测类型数据报文,交付给IO事件处理器,实时探测链路状态,链路质量监测线程除了采集链路实时延迟(RTT)关键数据,还会探测最大有效荷载(MTU)、计算丢包率等重要链路质量数据,并将数据同步给重传机制和链路自适应控制;
过程4:数据接收方后台常驻的数据监听线程,监听IO事件处理器接收到的数据;
过程5:数据接收方首先经过数据预处理线程对数据进行排序和过滤,将序号重复的报文过滤丢弃,同时按照序号将数据依序共享给数据分发线程;
过程6:数据分发线程收到数据报文,读取数据报文类型,然后分发给对应的处理线程,数据报文类型有业务数据类型和链路质量监测类型两种;
过程7:若为业务数据类型则分发给业务数据处理线程,由业务数据处理线程解封装数据报文,取出数据域并进行解压缩、解密操作从而获取原始数据,最终存储或上报原始数据;若为链路质量监测类型报文则分发给链路质量监测线程完成解封装、解压缩、解密操作,取出原始数据;
过程8:数据接收方业务数据处理线程处理完数据报文后,如需进行确认操作,则将封装应答报文交付给IO事件处理器排队等待传输。
进一步的,所述重传机制约定数据发送方和数据接收方之间交换的数据报文分为两类,需要应答类报文和不需要应答类报文,具体过程为:
数据发送方获取到待执行业务的完整数据,首先将数据切割并按顺序封装成数据报文,此类包含了待执行业务数据内容的报文,均为不需要应答报文,此外,数据发送方会每间隔N个数据报文***一个请求确认报文,该报文中包含了下一个数据报文的序号Sn(S≥0,n∈N+),此类报文均为需要应答类报文,两类报文组成一次通信业务的全部报文。数据发送方发送N个数据报文和一个请求确认报文称为一个数据交换阶段,每次通信业务包含至少一个阶段,每一个阶段数据发送方都会首先将两类报文按序存入发送缓存区。
数据发送方遍历发送缓存区,按序发送报文,数据接收方接收报文并记录报文序号。当发送出去的报文为不需要应答类报文,则可以直接继续发送下一个报文,直到连续发送N个数据报文后,数据发送方发送了请求确认报文,数据发送方启动定时器,设定超时时间T。若超时前未收到数据接收方确认的报文,则重新发送请求确认报文,依此类推最多重新发送R次。若超时前收到数据接收方确认的报文,则情况为:
发送方请求确认报文中包含了下一个阶段报文的起始序号Sn,数据接收方将本阶段接收到数据报文的序号记录为集合Gn(且Sn-1≤g<Sn),则集合{Sn-1,Sn-1+1,Sn-1+2,……,Sn-2,Sn-1}减去集合Gn得到的差集即为本阶段丢失的报文序号,将序号封装入确认报文,回复给数据发送方(确认报文为不需要应答报文)。数据发送方收到确认报文后,首先解析报文中的丢失序号,接着遍历发送缓存区,将未出现在丢失集合中的报文从缓存区中清空,然后重新执行本阶段的发送过程,直到最后发送缓存区被清空,数据发送方执行下一阶段的发送过程。
重复上述过程直至一次通信业务数据交换的所有阶段全部完成,标志着一次通信业务完成。
进一步的,所述对数据进行排序和过滤,具体过程为:
针对IP网络环境中出现的包失序和包重复问题,为每一次完整通信业务提供唯一标识ID,用以标识该业务的唯一性,同时为每一次业务所有数据报文添加递增序号,将唯一标识ID和包序号封装入数据报文头部。
数据发送方依据数据报文头部序号,有序发送数据报文,报文经过网络环境,到达数据接收方。当数据接收方监听到IO输入缓存区出现未读数据,首先提取未读数据报文头部的标识ID,依据标识ID分配或寻找一块中转区,每块中转区内被划分为N个单元格,每个单元格内容纳一个数据报文,按照报文到达缓存区顺序将数据报文写入中转区。
中转区内被写入数据后,数据接收方将中转区地址及标识ID告知数据预处理线程,数据预处理线程获取中转区地址和标识ID后,首先申请一块散列表结构的内存,以ID作为此块内存的索引,并采用除留余数法作为散列函数,接着通过中转区地址读取数据报文,解析数据报文头部,获取CRC检验码、序号、报文类型等,然后将通过CRC校验的报文的序号作为参数代入散列函数获取每一块数据报文在散列表中的位置,最后数据报文依据其头部携带的序号大小顺序存入散列表,序号相同的数据报文存入同一个位置,而当落入位置已被占用,后来的数据报文被自动过滤丢弃。
进一步的,所述链路自适应控制,具体过程为:
针对自组网络易受到气候、地形、电磁环境以及通信距离影响,导致不同场景下,网络质量状态存在较大差异,提出链路自适应控制策略,适应易损耗的网络环境特点。
数据交换双方各自维持一个网络质量监测线程,该线程主要负责收集报文的往返延迟、探测最大有效负载、统计数据报文丢包率等数据,链路自适应控制根据报文实时往返延迟计算出超时等待时间,并将超时时间同步给重传机制,重传机制会根据超时时间调整需要确认类报文定时器的等待时间;根据最大有效负载调整数据报文切片大小,保证每个数据报文按照不会被分片的单个IP层报文划分;根据数据报文丢包率,调整数据报文之间的发送间隔延迟时间,当丢包率提高时提高数据报文发送间隔延迟时间,当丢包率有所降低则减少数据报文发送间隔延迟时间,同时调整需要确认类报文和不需要确认类报文之间的比例,当一个发送阶段丢包率达到百分之N,若N>X,则下个阶段减少N-X个不需要确认报文,反之若N<X,则下一个阶段增加X-N个不需要确认报文,直到丢包率维持在X%,其中X为可设置参数。
一种适用于低带宽、易损耗自组网下的传输保障方法,基于所述的适用于低带宽、易损耗自组网下的传输保障方法,实现低带宽、易损耗自组网下的数据通信传输。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,基于所述的适用于低带宽、易损耗自组网下的传输保障方法,实现低带宽、易损耗自组网下的数据通信传输。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,基于所述的适用于低带宽、易损耗自组网下的传输保障方法,实现低带宽、易损耗自组网下的数据通信传输。
本发明与现有技术相比,其显著优点为:1)自主控制重传策略,减少了通信交互次数,有效降低了带宽消耗和丢包风险;2)动态适应易损耗的弱网延迟,修正超时等待时间,提高了信道利用率和数据通信效率;3)数据分片和数据压缩同步进行,减少了处理时间,提高了通信效率;(4)对下层传输协议无要求,可适应交互流程比较复杂通信方式。
附图说明
图1为本发明低带宽、易损耗自组网下传输保障方法中总体结构示意图。
图2为本发明低带宽、易损耗自组网下传输保障方法中数据通信时序示意图。
图3为本发明低带宽、易损耗自组网下传输保障方法中检测链路往返时延策略示意图。
图4为本发明低带宽、易损耗自组网下传输保障方法中数据排序和过滤效果示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明为了解决处于低带宽、易损耗的自组网环境下数据通信,提出应用层重传、动态适应往返时延、数据报文排序与过滤和可控数据切割与重组等手段。
详细描述如下:
(1)应用层重传机制,数据发送方连续发送多个数据报文,接着发送请求确认报文;数据接收方收到请求确认报文后,将未收到的报文序号封装进确认包并发送给数据发送方。
(2)动态适应往返时延,请求确认报文需要设置超时等待时间,若超时前未收到确认报文则重传请求确认报文,为了适应低带宽、不稳定的弱网环境,根据实时往返时延动态调整超时等待时间。
(3)数据报文排序与过滤,数据报文到达数据接收方时,数据接收方首先解析报文头部携带序号,根据序号进行排序处理,同时丢弃序号相同的报文,保证数据报文按照序号从小到大顺序进入下一处理过程。
(4)可控数据切割与重组,数据发送方将待通信数据切割成可控大小字节报文段,保证每个报文段由不会被分片的IP层报文传输,数据接收方收到数据报文后将切割后的单位重组成原始通信数据。
通过上述技术,保证数据报文传输至接收方不重复、不丢失、不乱序,并一定程度上提高自组网的吞吐量,从而实现适用于低带宽、易损耗自组网络下的可靠通信传输。
结合图1,适用于低带宽、易损耗的自组网环境下的通信传输保障方法,整体上包括数据发送方服务和数据接收方服务两个部分,两个部分通过约定的协议进行数据交互实现数据可靠通信。数据发送方服务包括:数据业务调度、业务数据通信处理、链路质量监测和IO事件处理器;数据接收方服务包括:数据监听、数据预处理、数据分发、业务数据通信处理、链路质量监测和IO事件处理器。以一次数据交换为例,介绍适用于低带宽、易损耗自组网络下的传输保障方法的具体工作过程:
过程1:数据发送方数据业务调度线程检测到出现待执行业务,依次创建业务数据通信处理线程和链路质量监测线程;
过程2:数据发送方业务数据通信处理线程初始化环境,对待执行业务数据进行切割、压缩和加密预处理,对处理后的数据进行排序并将序号封装入业务数据报文,并交付给IO事件处理器等待传输。数据报文若需要应答确认则启动定时器,若超时前未收到确认报文则进行重传操作;
过程3:数据发送方链路质量监测线程负责封装链路质量监测类型数据报文,交付给IO事件处理器,实时探测链路状态,链路质量监测线程除了采集链路实时延迟(RTT)关键数据,还会探测最大有效荷载(MTU)、计算丢包率等重要链路质量数据,并将数据同步给重传机制和链路自适应控制;
过程4:数据接收方后台常驻的数据监听线程,监听IO事件处理器接收到的数据;
过程5:数据接收方首先经过数据预处理线程对数据进行排序和过滤,将序号重复的报文过滤丢弃,同时按照序号将数据依序共享给给数据分发线程;
过程6:数据分发线程收到数据报文,读取数据报文类型,然后分发给对应的处理线程,数据报文类型有业务数据类型和链路质量监测类型两种;
过程7:若为业务数据类型则分发给业务数据处理线程,由业务数据处理线程解封装数据报文,取出数据域并进行解压缩、解密操作从而获取原始数据,最终存储或上报原始数据;若为链路质量监测类型报文则分发给链路质量监测线程完成解封装、解压缩、解密操作,取出原始数据;
过程8:数据接收方业务数据处理线程处理完数据报文后,如需进行确认操作,则将封装应答报文交付给IO事件处理器等待传输。
结合图2:本发明在低带宽、易损耗的自组网环境下的通信传输交互过程,数据发送方服务启动任务调度执行发送业务,首先对数据进行切割、压缩、加密预处理,之后将预处理后的数据封装入报文中,通过IO事件处理器连续向数据接收方服务发送。数据接收方服务处于监听状态,当监听到未读数据,则执行解封装、解密、解压处理,取出携带数据并存储。数据发送方连续完成多次数据报文发送动作后,会发送请求确认报文,该报文中包含数据发送方下一个将要发送数据报文的序号,同时启动定时器,若超时前未收到确认报文,则重传请求确认报文。数据接收方收到请求确认报文,取出报文中携带的序号,与接收到的报文序号比对,获得丢失报文序号集合,并封装入确认报文,同时将确认报文发送给数据发送方。数据发送方超时前收到确认报文,解析确认报文获得丢失报文序号集合,若序号集合为空则完成一个阶段的数据交换,若丢失集合非空则从发送缓存区中取出丢失集合中序号对应的报文,重复上述步骤。对于较大数据量通信,会将数据进行切割,分为多个阶段进行通信交互,所有阶段全部完成,数据接收方将接收到的数据报文重组成原始完整数据。
结合图3:本发明在低带宽、易损耗的自组网环境下,通过持续检测链路实时往返延迟,动态调超时等待时间,适应易损耗的自组网环境。具体过程为,构造包含四个时间戳的数据报文,并按照图2顺序分别获得如下四个时间戳:
检测报文离开检测发起方时间戳t0;
检测报文到达检测接收方时间戳t1;
检测报文离开检测接收方时间戳t2;
检测报文到达检测发起方时间戳t3。
设:
检测发起端和检测接收端时间***的偏移定义为θ;
链路的往返延迟定义为δ。
由于
t0+θ+δ1=t1 ①
t2-θ+δ2=t3 ②
δ1+δ2=δ ③
则
δ=(t3-t0)-(t2-t1)
而δ在计算机网络中,又被称之为RTT(Round-TripTime),根据Jacobaon/Karels算法[RFC6298],第一次计算超时等待时间时,设首次往返时延RTT设置为R,则
SRTT1=R
RTTVAR1=R/2
RTO1=SRTT1+max(G,K*RTTVAR1)
其中SRTT(smoothedround-triptime)平滑RTT时间,RTTVAR(round-triptimevariation)RTT变量,G表示***时钟的粒度,极小为us级别,K取常量4,RTO(RetransmissionTime-OutD)即为超时等待时间。
设实时RTT为R',后续过程中RTO与实时RTT的关系为:
RTTVARn=(1-beta)*RTTVARn-1+beta*|SRTTn-1-R'|
SRTTn=(1-alpha)*SRTTn-1+alpha*R'
RTOn=SRTTn+max(G,K*RTTVARn)
其中,beta=1/4,alpha=1/8,且Jacobaon/Karels算法规定RTO任何时不得低于1s。经过上述处理,即可根据实时往返时延动态改变超时等待时间。
结合图4:本发明在低带宽、易损耗的自组网环境下的报文排序和过滤,针对数据报文到达数据接收方后,数据报文可能出现报文重复、报文乱序情况,提出解决办法,具体过程为:数据报文经过自组网络到达数据接收方,首先以报文到达接收方的时间先后顺序,从IO缓存区将数据报文按照头部标识ID分别写入中转区,同一个中转区内的数据报文属于同一次通信传输业务,其次解析数据报文头部携带的序号字段,以序号作为数据报文的键值***散列表结构。由于散列表特性,***重复键值的报文将拒绝***,而以递增序号作为键值,***散列表的的报文存储顺序是有序的。
本发明还提出一种适用于低带宽、易损耗的自组网环境下的通信传输***,基于所述的适用于低带宽、易损耗的自组网环境下的通信保障方法,实现适用于低带宽、易损耗自组网络下的数据通信传输。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,基于所述的适用于低带宽、易损耗的自组网环境下的通信传输保障方法,实现弱自组网环境下的数据通信传输。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,基于所述低带宽、易损耗的自组网环境下的通信传输保障方法,实现弱自组网环境下的数据通信传输。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (7)
1.一种适用于低带宽、易损耗自组网络下的传输保障方法,其特征在于,包括数据发送方服务和数据接收方服务两个部分,数据发送方服务包括数据业务调度线程、业务数据通信处理线程、链路质量监测线程;数据接收方服务包括数据监听线程、数据预处理线程、数据分发线程、业务数据通信处理线程、链路质量监测线程,数据传输过程具体为:
过程1:数据发送方数据业务调度线程检测到出现待执行业务,依次创建业务数据通信处理线程和链路质量监测线程;
过程2:数据发送方业务数据通信处理线程初始化环境,对待执行业务数据进行分片、压缩和加密预处理,对处理后的数据进行排序并将序号一同封装入业务数据类型报文,交付给IO事件处理器等待传输,数据报文若需要应答确认则启动定时器,若超时前未收到确认报文则进行重传操作;
过程3:数据发送方链路质量监测线程负责封装链路质量监测类型数据报文,交付给IO事件处理器实时探测链路状态,采集链路实时延迟关键数据、探测最大有效荷载、计算丢包率,并同步给重传机制和链路自适应控制;
过程4:数据业务接收方后台常驻的数据监听线程,监听到IO事件处理器接收到的数据;
过程5:数据接收方首先经过数据预处理线程对数据进行排序和过滤,将序号重复的报文过滤丢弃,同时按照序号将数据依序共享给给数据分发线程;
过程6:数据分发线程收到数据报文,读取数据报文类型,分发给对应的处理线程,数据报文类型有业务数据类型和链路质量监测类型两种;
过程7:若为业务数据类型则分发给业务数据处理线程,由业务数据处理线程解封装数据报文,取出数据域并进行解压缩、解密操作从而获取原始数据,存储或上报原始数据;若为链路质量监测类型报文则分发给链路质量监测线程完成解封装、解压缩、解密操作,取出原始数据;
过程8:数据接收方业务数据处理线程处理完数据报文后,如需进行确认操作,则将封装应答报文交付给IO事件处理器等待传输。
2.根据权利要求1所述的适用于低带宽、易损耗自组网络下的传输保障方法,其特征在于,所述重传机制约定数据发送方和数据接收方之间交换的数据报文分为需要应答类报文和不需要应答类报文两类,具体过程为:
数据发送方获取到待执行业务的完整数据,首先将数据切割并按顺序封装成数据报文,此类包含了待执行业务数据内容的报文,均为不需要应答报文,此外,数据发送方会每间隔N个数据报文***一个请求确认报文,该报文中包含了下一个数据报文的序号Sn,此类报文均为需要应答类报文,两类报文组成一次通信业务的全部报文;数据发送方发送N个数据报文和一个请求确认报文称为一个数据交换阶段,每次通信业务包含至少一个阶段,每一个阶段数据发送方都会首先将两类报文按序存入发送缓存区;
数据发送方遍历发送缓存区,按序发送报文,数据接收方接收报文并记录报文序号,当发送出去的报文为不需要应答类报文,则直接继续发送下一个报文,直到连续发送N个数据报文后,数据发送方发送了请求确认报文,数据发送方启动定时器,设定超时时间T,若超时前未收到数据接收方确认的报文,则重新发送请求确认报文,依此类推最多重新发送R次,若超时前收到数据接收方确认的报文,则情况为:
发送方请求确认报文中包含了下一个阶段报文的起始序号Sn,数据接收方将本阶段接收到数据报文的序号记录为集合Gn,则集合{Sn-1,Sn-1+1,Sn-1+2,……,Sn-2,Sn-1}减去集合Gn得到的差集即为本阶段丢失的报文序号,将序号封装入确认报文,回复给数据发送方,数据发送方收到确认报文后,首先解析报文中的丢失序号,接着遍历发送缓存区,将未出现在丢失集合中的报文从缓存区中清空,然后重新执行本阶段的发送过程,直到最后发送缓存区被清空,数据发送方执行下一阶段的发送过程;
重复上述过程直至一次通信业务数据交换的所有阶段全部完成,标志着一次通信业务完成。
3.根据权利要求1所述的适用于低带宽、易损耗自组网络下的传输保障方法,其特征在于,所述对数据进行排序和过滤,具体过程为:
当数据接收方监听到IO输入缓存区出现未读数据,首先提取未读数据报文头部的标识ID,依据标识ID分配或寻找一块中转区,每块中转区内被划分为N个单元格,每个单元格内容纳一个数据报文,按照报文到达缓存区顺序将数据报文写入中转区;
中转区内被写入数据后,数据接收方将中转区地址及标识ID告知数据预处理线程,数据预处理线程获取中转区地址和标识ID后,首先申请一块散列表结构的内存,以ID作为此块内存的索引,并采用除留余数法作为散列函数,接着通过中转区地址读取数据报文,解析数据报文头部,获取CRC检验码、序号、报文类型等,然后将通过CRC校验的报文的序号作为参数代入散列函数获取每一块数据报文在散列表中的位置,最后数据报文依据其头部携带的序号大小顺序存入散列表,序号相同的数据报文存入同一个位置,而当落入位置已被占用,后来的数据报文被自动过滤丢弃。
4.根据权利要求1所述的适用于低带宽、易损耗自组网络下的传输保障方法,其特征在于,所述链路自适应控制,具体过程为:
根据报文实时往返延迟计算出超时等待时间,并将超时时间同步给重传机制,重传机制会根据超时时间调整需要确认类报文定时器的等待时间;
根据最大有效负载调整数据报文切片大小,保证每个数据报文按照不会被分片的单个IP层报文划分;
根据数据报文丢包率,调整数据报文之间的发送间隔延迟时间,当丢包率提高时提高数据报文发送间隔延迟时间,当丢包率有所降低则减少数据报文发送间隔延迟时间,同时调整需要确认类报文和不需要确认类报文之间的比例,当一个发送阶段丢包率达到百分之N,若N>X,则下个阶段减少N-X个不需要确认报文,反之若N<X,则下一个阶段增加X-N个不需要确认报文,直到丢包率维持在X%,其中X为可设置参数。
5.一种适用于低带宽、易损耗自组网络下的传输保障***,其特征在于,基于权利要求1-4任一项所述的适用于低带宽、易损耗自组网络下的传输保障方法,实现弱网环境下的数据通信传输。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,基于权利要求1-4任一项所述的适用于低带宽、易损耗自组网络下的传输保障方法,实现弱网环境下的数据通信传输。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,基于权利要求1-4任一项所述的适用于低带宽、易损耗自组网络下的传输保障方法,实现弱网环境下的数据通信传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027206.4A CN115442000A (zh) | 2022-08-25 | 2022-08-25 | 一种适用于低带宽、易损耗自组网络下的传输保障方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211027206.4A CN115442000A (zh) | 2022-08-25 | 2022-08-25 | 一种适用于低带宽、易损耗自组网络下的传输保障方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115442000A true CN115442000A (zh) | 2022-12-06 |
Family
ID=84244306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211027206.4A Pending CN115442000A (zh) | 2022-08-25 | 2022-08-25 | 一种适用于低带宽、易损耗自组网络下的传输保障方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442000A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116264565A (zh) * | 2023-05-16 | 2023-06-16 | 山东省邱集煤矿有限公司 | 一种基于语义拆分的煤矿井下数据传输方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1415146A (zh) * | 2000-01-04 | 2003-04-30 | 诺基亚公司 | 数据重传方法 |
CN102480346A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种网络数据可靠传输方法 |
CN106230744A (zh) * | 2016-07-26 | 2016-12-14 | 京信通信***(中国)有限公司 | 一种数据流乱序重组的方法及转发设备 |
CN108429700A (zh) * | 2017-02-13 | 2018-08-21 | 华为技术有限公司 | 一种发送报文的方法及装置 |
KR20210094528A (ko) * | 2018-11-08 | 2021-07-29 | 인터디지탈 패튼 홀딩스, 인크 | 고급 harq 설계로 wlan을 개선하는 방법 |
CN113300817A (zh) * | 2020-09-22 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据传输方法以及装置 |
CN113572750A (zh) * | 2021-07-20 | 2021-10-29 | 北京奇艺世纪科技有限公司 | 视频数据传输方法及装置 |
CN114499772A (zh) * | 2020-11-12 | 2022-05-13 | 华为技术有限公司 | 数据传输方法及电子设备 |
-
2022
- 2022-08-25 CN CN202211027206.4A patent/CN115442000A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1415146A (zh) * | 2000-01-04 | 2003-04-30 | 诺基亚公司 | 数据重传方法 |
CN102480346A (zh) * | 2010-11-26 | 2012-05-30 | 中国科学院声学研究所 | 一种网络数据可靠传输方法 |
CN106230744A (zh) * | 2016-07-26 | 2016-12-14 | 京信通信***(中国)有限公司 | 一种数据流乱序重组的方法及转发设备 |
CN108429700A (zh) * | 2017-02-13 | 2018-08-21 | 华为技术有限公司 | 一种发送报文的方法及装置 |
KR20210094528A (ko) * | 2018-11-08 | 2021-07-29 | 인터디지탈 패튼 홀딩스, 인크 | 고급 harq 설계로 wlan을 개선하는 방법 |
CN113300817A (zh) * | 2020-09-22 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据传输方法以及装置 |
CN114499772A (zh) * | 2020-11-12 | 2022-05-13 | 华为技术有限公司 | 数据传输方法及电子设备 |
CN113572750A (zh) * | 2021-07-20 | 2021-10-29 | 北京奇艺世纪科技有限公司 | 视频数据传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
***;张新荣;: "基于延迟抖动分析的TCP友好拥塞控制算法", 计算机工程与科学, no. 06, 15 June 2007 (2007-06-15), pages 2 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116264565A (zh) * | 2023-05-16 | 2023-06-16 | 山东省邱集煤矿有限公司 | 一种基于语义拆分的煤矿井下数据传输方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2674655C (en) | Improved data transfer method, system and protocol | |
US8503294B2 (en) | Transport layer relay method, transport layer relay device, and program | |
CN102006283B (zh) | 数据传输的方法和装置 | |
US6026075A (en) | Flow control mechanism | |
CN101141406B (zh) | 分布式流量控制方法、***及装置 | |
CN100534069C (zh) | 非对称和多并发网络的加速方法 | |
CN202841192U (zh) | 一种支持广域网的高速、可靠的单向传输*** | |
Liu et al. | Improving explicit congestion notification with the mark-front strategy | |
US20220368633A1 (en) | Congestion control method and apparatus | |
CN112104562A (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
CN115442000A (zh) | 一种适用于低带宽、易损耗自组网络下的传输保障方法 | |
CN118301078A (zh) | 流速控制方法和装置 | |
CN114826495A (zh) | 一种降低nr、rlc、am分片丢失报告开销的方法 | |
CN109890082B (zh) | 一种时间触发的tt帧报文传输方法 | |
WO2021238764A1 (zh) | 一种基于网内缓存的差异化传输方法 | |
CN103595552B (zh) | 集群存储网络并行负载的分析方法及*** | |
CN117544571A (zh) | 大报文安全可靠传输方法及装置 | |
CN115514709B (zh) | 拥塞控制事件队列调度方法、装置、设备和存储介质 | |
CN106850153B (zh) | 数据重传方法及*** | |
CN113273149B (zh) | 一种数据发送方法、装置及FlexE交换*** | |
Hurtig et al. | SCTP: designed for timely message delivery? | |
JP5539161B2 (ja) | データ伝送方式、及び、複数拠点データ配信方式 | |
Elloumi et al. | A simulation-based study of TCP dynamics over HFC networks | |
JP3131607B2 (ja) | ネットワーク監視システムの状変集約方式 | |
CN112118085B (zh) | 一种短波信道下的可靠传输装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |