CN102255715A - 一种数据结构以及基于该数据结构的arq通信系统 - Google Patents
一种数据结构以及基于该数据结构的arq通信系统 Download PDFInfo
- Publication number
- CN102255715A CN102255715A CN201110238727XA CN201110238727A CN102255715A CN 102255715 A CN102255715 A CN 102255715A CN 201110238727X A CN201110238727X A CN 201110238727XA CN 201110238727 A CN201110238727 A CN 201110238727A CN 102255715 A CN102255715 A CN 102255715A
- Authority
- CN
- China
- Prior art keywords
- data
- arq
- module
- bale
- ack
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种数据结构以及基于该数据结构的ARQ通信系统。本发明的ARQ通信系统将整个ARQ数据包队列分为若干个子队列,数据发送端的数据包发送窗口和接收端有效包号窗口大小可以设计为含有若干个子队列的窗口大小,ACK数据结构以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验,进而将反馈的包号映射为比特流,并且以子队列的包数代表的比特数为一次校验单位,缩小了ACK反馈所需要的信息量,在整个数据传输中,正向ARQ数据传输可以根据信道状况选择相应的速率发送,反向ACK数据采取最可靠的低速传输,可以保证反向的ACK数据正确性,从而排除了因为反向ACK数据的错误导致的重发,提高了ARQ的性能。
Description
技术领域
本发明属于通信技术领域,具体涉及一种以比特映射生成反馈信息的ACK(ACKnowledge Character)为特征的自动重传请求ARQ(Automatic Repeat-reQuest)通信系统。
背景技术
ARQ是一种可靠数据传输方式,而其传输性能是衡量一个通信系统的重要指标之一,因此提高ARQ通信系统的传输性能有着重要的意义。
现有的ARQ通信系统的具体结构包括发送端子系统和接收端子系统,其中,发送端子系统包括ARQ数据发送端和ACK反馈接收端,接收端子系统包括ARQ数据接收端和ACK反馈发送端,其工作原理如图1所示的正向ARQ数据传输流程和如图2所示的反向ACK数据传输流程。具体如下:
ARQ数据发送端包括:发送队列更新模块和发送处理模块,其中,
发送队列更新模块,用于当数据下发到ARQ数据队列的时,用来更新ARQ数据队列,将新数据写入数据队列中;
发送处理模块:用于根据当前的队列情况,将符合要求的ARQ数据包发送出去。
ARQ数据接收端包括:CRC校验模块、更新接收数据模块和提交数据模块,其中,
CRC校验模块,收端在收到数据后用于进行CRC校验,将正确数据保存,错误数据丢弃;
更新接收数据模块,用于将正确的数据写入接收端相应的数据队列中的位置;
提交数据模块,当接收端数据达到一定数量后用来提交数据并清空相应的接收队列。
ACK反馈发送端包括:ACK反馈数据处理模块和发送处理模块,其中,
ACK反馈数据处理模块:在需要进行ACK反馈时,用于生成正确的ARQ数据包对应的ACK数据,以ACK数据加CRC的帧格式来确定需要反馈的ACK数据;
发送处理模块:用于根据当前的队列情况将ACK数据包发送出去。
ACK反馈接收端包括CRC校验模块、ARQ数据队列更新模块和提交数据模块,其中,
CRC校验模块:ACK数据收端在收到数据后,用于CRC校验,将正确数据保存,错误数据丢弃;
ARQ数据队列更新模块:ARQ数据发端在收到ACK数据后,用于更新队列,将还未正确发送的数据组帧,在下一次发送时刻发送出去;
提交数据模块:当ARQ数据队列发送到一定的数量后,用于更新数据队列,此时会有新的数据写入队列等待发送。
现有的ARQ系统的用户数据结构即ARQ数据结构都是以数据加CRC的帧格式,具体如图3所示,数据以包的形式发送,每个数据包由包号、数据和CRC的帧格式组成。
分析接收方的反馈ACK数据结构如图4所示,每个ACK数据结构由包号加CRC的帧格式组成。采用这种结构的ACK数据包对每一正确传输包的反馈都加入CRC信息,而通常发送/接收窗口小于发送队列,反馈的若干包号之间存在关联性(如连续),这样会造成大量冗余信息,浪费了反馈信道的资源;特别是当信道恶劣的时候,而传输资源又有限,反向信道的ACK数据的出错,导致了原本正确传输的数据包重复发送,降低了ARQ的性能。
发明内容
本发明的目的是为了解决现有的ARQ系统的ACK数据结构会造成大量冗余信息的问题,提出了一种应用于ARQ通信系统的数据结构。
本发明的技术方案是:一种应用于ARQ通信系统的数据结构,包括ARQ数据结构和ACK数据结构,其特征在于,
ARQ数据结构,具体为:将发送数据包队列划分为若干个子队列;
ACK数据结构,具体为:以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验。
基于上述ARQ数据结构和ACK数据结构,本发明还提出了一种ARQ通信系统。
具体方案为:一种ARQ通信系统,包括发送端子系统和接收端子系统,其中,发送端子系统包括ARQ数据发送端和ACK反馈接收端,接收端子系统包括ARQ数据接收端和ACK反馈发送端;其特征在于,
ARQ数据发送端包括:发送队列更新模块、待发数据提取模块和发送处理模块,其中,
待发数据提取模块,用于根据当前数据队列的情况提取符合发送能力的ARQ数据包;
ARQ数据接收端包括:CRC校验模块、比特映射模块、更新接收数据模块、数据提交模块和接收窗口更新模块,其中,
CRC校验模块,用于校验ARQ数据发送端的发送处理模块发送的ARQ数据是否正确;
比特映射模块,用于将校验正确的包号映射为相应的比特信息;
更新接收数据模块,用于接收正确传输的包数据并放入相应的队列中,同时更新其包标志,并判断是否上传提交数据;
数据提交模块,用于根据包号顺序提交接收的数据;
接收窗口更新模块,用于根据接收数据模块得到的包标志,更新ARQ数据接收窗口;
ACK反馈发送端包括:ACK反馈数据处理模块、待发送数据提取模块和发送处理模块,其中,
待发送数据提取模块,用于根据当前数据队列的情况将符合发送能力的ACK反馈数据提取出来;
ACK反馈接收端包括:CRC校验模块、包号映射模块、更新ARQ数据包标志模块、ARQ数据发送队列更新模块和ARQ数据发送窗口更新模块,其中,
CRC校验模块,用于校验ACK反馈发送端的发送处理模块发送的ACK数据是否正确;
包号映射模块,用于将校验正确子队列的比特信息映射成为所需要的子队列中正确传输的包号;
更新ARQ数据包标志模块,用于更新所有正确传输的ARQ数据包的包标志;
ARQ数据发送窗口更新模块,用于根据ARQ数据包的包标志,更新ARQ数据发送窗口;
ARQ数据发送队列更新模块,用于根据ARQ数据包的包标志,更新ARQ数据发送队列。
本发明的有益效果:本发明的ARQ通信系统将整个ARQ数据包队列分为若干个子队列,数据发送端的数据包发送窗口和接收端有效包号窗口大小可以设计为含有若干个子队列的窗口大小,ACK数据结构以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验,进而将反馈的包号映射为比特流,并且以子队列的包数代表的比特数为一次校验单位,因此极大缩小了ACK反馈所需要的信息量,并且窗口大小可以灵活设计,可以根据反向ACK传输的最可靠低速率来确定。因此在整个数据传输中,正向ARQ数据传输可以根据信道状况选择相应的速率来发送,反向ACK数据一律采取最可靠的低速传输,即使信道再恶劣也可以保证反向的ACK数据正确性,从而排除了因为反向ACK数据的错误导致的重发,提高了ARQ的性能。
附图说明
图1是现有的正向ARQ数据传输流程示意图。
图2是现有的反向ACK数据传输流程示意图。
图3是现有的ARQ通信系统的ARQ数据结构示意图。
图4是现有的ARQ通信系统的ACK数据结构示意图。
图5是本发明的ARQ数据结构示意图。
图6是本发明的ACK数据结构示意图。
图7是本发明的ARQ通信系统的ARQ数据发送端和ARQ数据接收端结构示意图。
图8是本发明的ARQ通信系统的ACK反馈接收端和ACK反馈发送端结构示意图。
具体实施方式
为使得本发明的目的、技术方案、及优点更加清楚明白,下面结合附图来对本发明的核心部分技术方案作进一步详细描述。
本发明的数据结构,包括ARQ数据结构和ACK数据结构,其中,ARQ数据结构如图5所示,具体为:将发送数据包队列划分为若干个子队列,图中,包0和包M-1构成子队列1,这里子队列0到子队列Q-1可以包含相同数目的包,也可以包含不同数目的包。
ACK数据结构如图6所示,具体为:以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验。图中,ACK数据包括W个子队列,每个数据结构前面N比特表示基地址,其后的M个比特中每个比特表示一个数据包信息,然后加上CRC组帧。
基于上述数据结构,本发明的ARQ通信系统如图7和图8所示,包括发送端子系统和接收端子系统,其中,发送端子系统包括ARQ数据发送端和ACK反馈接收端,接收端子系统包括ARQ数据接收端和ACK反馈发送端。
如图7所示,ARQ数据发送端包括:发送队列更新模块、待发数据提取模块和发送处理模块,其中,
待发数据提取模块,用于根据当前数据队列的情况提取符合发送能力的ARQ数据包;
ARQ数据接收端包括:CRC校验模块、比特映射模块、更新接收数据模块、数据提交模块和接收窗口更新模块,其中,
CRC校验模块,用于校验ARQ数据发送端的发送处理模块发送的ARQ数据是否正确;
比特映射模块,用于将校验正确的包号映射为相应的比特信息;
这里,比特映射模块用于实现以下过程:将包号对子队列大小求商,得到基地址,包号对子队列大小取模,得到子队列偏移地址;子队列偏移地址除以8,得到字节偏移地址,字节偏移地址模8,得到比特偏移地址,进而得到相应的比特位,并置为一标志位,表示该包数据正确传输。
根据正确传输的ARQ数据的包号,映射为ACK数据结构中相应位置的比特位,并将该比特位置为有效,表示该比特位对应的包的ARQ数据正确传输。ACK数据结构中没有置为有效的,表示该比特位对应的包的ARQ数据没有正确传输,或者没有收到该包数据。
在本实施例中,数据结构初始值为0,在这里,将其置1,表示该包数据正确传输。
更新接收数据模块,用于接收正确传输的包数据并放入相应的队列中,同时更新其包标志,并判断是否上传提交数据;
数据提交模块,用于根据包号顺序提交接收的数据;
接收窗口更新模块,用于根据接收数据模块得到的包标志,更新ARQ数据接收窗口;
如图8所示,ACK反馈发送端包括:ACK反馈数据处理模块、待发送数据提取模块和发送处理模块,其中,
待发送数据提取模块,用于根据当前数据队列的情况将符合发送能力的ACK反馈数据提取出来;
ACK反馈接收端包括:CRC校验模块、包号映射模块、更新ARQ数据包标志模块、ARQ数据发送队列更新模块和ARQ数据发送窗口更新模块,其中,
CRC校验模块,用于校验ACK反馈发送端的发送处理模块发送的ACK数据是否正确;
包号映射模块,用于将校验正确子队列的比特信息映射成为所需要的子队列中正确传输的包号;
这里,包号映射模块用于实现如下过程:将ACK数据结构的基地址数据值乘以子队列大小,得到基地址;再以比特为单位,搜索值为标志位的比特位,再根据其位置得到偏移地址,基址加偏移地址得到包号,即为正确传输的数据包的包号。
搜索ACK数据结构中有效的比特位,根据比特位的位置映射得到包号,即该包ARQ数据正确传输。ACK数据结构中无效的比特位忽略不处理。
这里,子队列大小是指所述子队列包含的包的个数。
更新ARQ数据包标志模块,用于更新所有正确传输的ARQ数据包的包标志;
ARQ数据发送窗口更新模块,用于根据ARQ数据包的包标志,更新ARQ数据发送窗口;
ARQ数据发送队列更新模块,用于根据ARQ数据包的包标志,更新ARQ数据发送队列。
可以看出,本发明的ARQ通信系统将整个ARQ数据包队列分为若干个子队列,数据发送端的数据包发送窗口和接收端有效包号窗口大小可以设计为含有若干个子队列的窗口大小,ACK数据结构以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验,进而将反馈的包号映射为比特流,并且以子队列的包数代表的比特数为一次校验单位,因此极大缩小了ACK反馈所需要的信息量,并且窗口大小可以灵活设计,可以根据反向ACK传输的最可靠低速率来确定。因此在整个数据传输中,正向ARQ数据传输可以根据信道状况选择相应的速率来发送,反向ACK数据一律采取最可靠的低速传输,即使信道再恶劣也可以保证反向的ACK数据正确性,从而排除了因为反向ACK数据的错误导致的重发,提高了ARQ的性能。
综上,本发明的数据结构和通信系统使得用户数据接收方生成ACK反馈数据时,在特定数据结构中,以比特映射包号,对ACK反馈数据进行冗余压缩,从而明显减少了ACK反馈数据的数据量,可以大幅度缩短所需要的反馈信息,在通信资源有限的情况下,使得接收端在发送ACK数据时可以选择更可靠的方式(如降低速率、增加信道编码冗余)来进行传输,从而提高可靠性,减少因ACK数据的错误而导致的浪费,提高ARQ通信系统的效率。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
Claims (4)
1.一种应用于ARQ通信系统的数据结构,包括ARQ数据结构和ACK数据结构,其特征在于,
ARQ数据结构,具体为:将发送数据包队列划分为若干个子队列;
ACK数据结构,具体为:以子队列为单位,将一个子队列作为一个数据结构,进行一次CRC检验。
2.一种基于权利要求1所述的数据结构的ARQ通信系统,包括发送端子系统和接收端子系统,其中,发送端子系统包括ARQ数据发送端和ACK反馈接收端,接收端子系统包括ARQ数据接收端和ACK反馈发送端;其特征在于,
ARQ数据发送端包括:发送队列更新模块、待发数据提取模块和发送处理模块,其中,
待发数据提取模块,用于根据当前数据队列的情况提取符合发送能力的ARQ数据包;
ARQ数据接收端包括:CRC校验模块、比特映射模块、更新接收数据模块、数据提交模块和接收窗口更新模块,其中,
CRC校验模块,用于校验ARQ数据发送端的发送处理模块发送的ARQ数据是否正确;
比特映射模块,用于将校验正确的包号映射为相应的比特信息;
接收数据模块,用于接收正确传输的包数据并放入相应的队列中,同时更新其包标志;
数据提交模块,根据包号顺序提交接收的数据;
接收窗口更新模块,根据接收数据模块得到的包标志,更新ARQ数据接收窗口;
ACK反馈发送端包括:ACK反馈数据处理模块、待发送数据提取模块和发送处理模块,其中,
待发送数据提取模块,用于根据当前数据队列的情况提取符合发送能力的ACK反馈数据提取出来;
ACK反馈接收端包括:CRC校验模块、包号映射模块、更新ARQ数据包标志模块、ARQ数据发送队列更新模块和ARQ数据发送窗口更新模块,其中,
CRC校验模块,用于校验ACK反馈发送端的发送处理模块发送的ACK数据是否正确;
包号映射模块,用于将校验正确子队列的比特信息映射成为所需要的子队列中正确传输的包号;
更新ARQ数据包标志模块,用于更新所有正确传输的ARQ数据包的包标志;
ARQ数据发送窗口更新模块,根据ARQ数据包的包标志,更新ARQ数据发送窗口;
ARQ数据发送队列更新模块,根据ARQ数据包的包标志,更新ARQ数据发送队列。
3.根据权利要求2所述的ARQ通信系统,其特征在于,所述比特映射模块用于实现以下过程:将包号对子队列大小求商,得到基地址,包号对子队列大小取模,得到子队列偏移地址;子队列偏移地址除以8,得到字节偏移地址,字节偏移地址模8,得到比特偏移地址,进而得到相应的比特位,并置为一标志位,表示该包数据正确传输。
4.根据权利要求2所述的ARQ通信系统,其特征在于,所述包号映射模块用于实现如下过程:将ACK数据结构的基地址数据值乘以子队列大小,得到基地址;再以比特为单位,搜索值为标志位的比特位,再根据其位置得到偏移地址,基址加偏移地址得到包号,即为正确传输的数据包的包号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110238727.XA CN102255715B (zh) | 2011-08-19 | 2011-08-19 | 一种数据结构以及基于该数据结构的arq通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110238727.XA CN102255715B (zh) | 2011-08-19 | 2011-08-19 | 一种数据结构以及基于该数据结构的arq通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102255715A true CN102255715A (zh) | 2011-11-23 |
CN102255715B CN102255715B (zh) | 2014-01-22 |
Family
ID=44982722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110238727.XA Expired - Fee Related CN102255715B (zh) | 2011-08-19 | 2011-08-19 | 一种数据结构以及基于该数据结构的arq通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102255715B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1385982A (zh) * | 2001-05-10 | 2002-12-18 | 华为技术有限公司 | 通过合并数据包改变交织长度的信息重传方法 |
CN101615986A (zh) * | 2008-06-27 | 2009-12-30 | 华为技术有限公司 | 一种数据传输方法、装置及通信系统 |
-
2011
- 2011-08-19 CN CN201110238727.XA patent/CN102255715B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1385982A (zh) * | 2001-05-10 | 2002-12-18 | 华为技术有限公司 | 通过合并数据包改变交织长度的信息重传方法 |
CN101615986A (zh) * | 2008-06-27 | 2009-12-30 | 华为技术有限公司 | 一种数据传输方法、装置及通信系统 |
Non-Patent Citations (1)
Title |
---|
蔡藏赋: "IEEE802.16e中ARQ机制的研究与实现", 《中国硕士学位论文全文数据库》, 16 March 2010 (2010-03-16) * |
Also Published As
Publication number | Publication date |
---|---|
CN102255715B (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101764730B (zh) | 一种can总线数据传输方法 | |
CN104579550A (zh) | 数据传送装置及方法 | |
CN103078707B (zh) | 一种深空通信中的文件传输方法 | |
CN101515840B (zh) | 一种多路径并行传输发送的选路方法 | |
CN103840917A (zh) | 一种基于网络编码的多路并行传输方案 | |
CN101174927B (zh) | 一种处理数据接收状态的反馈方法以及接收、发送装置 | |
CN104394234A (zh) | 一种应用于环境监测的多窗口udp无线传输方法 | |
CN103188059A (zh) | 快速通道互联系统中数据包重传方法、装置和系统 | |
CN111641638A (zh) | 一种数据传输方法及相关装置 | |
CN101507318A (zh) | 移动通信系统中使用的无线通信装置及方法 | |
CN109673050A (zh) | 数据复用传输方法、网络侧设备及通信系统 | |
CN100385844C (zh) | 移动台装置和基站装置 | |
US10749642B2 (en) | Dynamic retransmissions with fixed and minimum delays | |
CN104038327B (zh) | Fc网络的出错重传方法 | |
CN104144044B (zh) | 一种多设备透明harq的处理方法 | |
CN102255713B (zh) | 水声传感器网络的数据包及传输方法 | |
CN104184568A (zh) | 通信系统的数据传输方法及系统 | |
CN102255715B (zh) | 一种数据结构以及基于该数据结构的arq通信系统 | |
CN101887403B (zh) | 节省usb协议中存封包的存储器的数据传输方法及装置 | |
JP2006087124A5 (zh) | ||
WO2020063501A1 (zh) | 传输确认报文的方法和通信设备 | |
CN103825768A (zh) | 报文传输方法和装置 | |
CN109391605B (zh) | 数据传输方法、装置及系统 | |
CN103636157B (zh) | 一种ack信息的发送方法及装置 | |
EP2736189B1 (en) | Status report processing method, communication device, and communication system |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140122 Termination date: 20160819 |