CN114337917B - 基于前向纠错数据传输方法和短报文发送方法 - Google Patents
基于前向纠错数据传输方法和短报文发送方法 Download PDFInfo
- Publication number
- CN114337917B CN114337917B CN202111496891.0A CN202111496891A CN114337917B CN 114337917 B CN114337917 B CN 114337917B CN 202111496891 A CN202111496891 A CN 202111496891A CN 114337917 B CN114337917 B CN 114337917B
- Authority
- CN
- China
- Prior art keywords
- data
- short message
- error correction
- forward error
- length
- 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
Links
Landscapes
- Detection And Prevention Of Errors In Transmission (AREA)
- Radio Relay Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于前向纠错数据传输方法和短报文发送方法,所述方法包括:获取待发送短报文数据;根据短报文数据生成前向纠错参数;根据前向纠错参数对短报文数据进行分割,获取至少一个新数据;对新数据进行前向纠错编码操作,以生成至少一个冗余数据;将前向纠错参数附加在新数据和至少一个冗余数据的头部,进行多重冗余;发送前向纠错编码后的短报文数据。本发明可以保证一组数据包和冗余包中任意不超过冗余率的包丢失仍然可以还原报文,无需通过ARQ重传手段,解决卫星物联网单向通信中数据丢失的问题。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种基于前向纠错数据传输方法和短报文发送方法。
背景技术
短报文是卫星通信***中主流的物联网通信技术之一,目前市面上的北斗***、铱星***等主流卫星通信***均提供用于物联网方向的短报文通信技术,其中北斗***的短报文通信可提供大于95%的成功率,发送频率为一般为每30秒1次,最高可达到每秒1次。区域通信能力可达到每次1750字节,全球通信能力可达每次70字节。铱星***的短报文全球移动发送能力可达每次340字节,传输时延平均小于1秒钟。全球接收能力可达每次每次270字节,传输时延平均小于1分钟;TCP/IP传输协议,即传输控制/网络协议,也称作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。
根据上述内容分析,目前卫星短报文通信技术存在的问题如下:
使用直接发送机制容易丢失数据;使用消息确认机制会降低传输效率,每次短报文发送后都需要等待确认信息收到,该模式易造成发送队列阻塞,降低传输效率。卫星通信场景中,下行带宽一般比上行带宽低很多,确认信息会占用过多下行带宽影响正常业务;部分卫星通信终端受条件制,可能没有提供下行功能,无法实现消息确认机制,或者采用半双工的方式,终端无法同时收发数据,接收数据需要从发送模式切换为接收模式,发送时需要再从接收模式切换回发送模式,接收确认信息需要频繁进行切换,会严重影响传输效率。
而且,由于RS编码是一种定长运算,因此,每个参与运算的数据块都达到规定的相同长度才能进行冗余保护数据的生成运算。但是,在网络传输中,报文长度会随应用不同而变化。频繁交互的应用产生大量无规则变化的报文(例如,即时通讯***),不适于RS编码的定长特性。如果将报文统一采用定长分组,报文必然需要填充填料(pad)至规定长度后再进行RS编码,但是,由于报文中填充有大量的填料,使得在报文传输过程中非常容易造成带宽的浪费。
发明内容
本发明解决的技术问题在于,提供了一种基于前向纠错数据传输方法和短报文发送方法,能保证一组数据包和冗余包中任意不超过冗余率的包丢失仍然可以还原报文,无需通过ARQ重传手段,解决卫星物联网单向通信中数据丢失的问题。
本发明解决其技术问题是采用以下的技术方案来实现的:
一种基于前向纠错数据传输方法,包括:获取待发送短报文数据,并将所述待发送短报文数据进行缓存;检测已缓存数据长度是否超过预设长度;若超过,则合并缓存中所述待发送短报文数据;若未超过,则检测已缓存数据的缓存时长是否超过预设时长;若是,则合并缓存中所述待发送短报文数据;若否,则继续获取短报文数据;根据合并后的所述短报文数据的数据长度、最大短报文长度和当前缓存报文的延时生成前向纠错参数;根据所述前向纠错参数中生成的包长度和包总数将合并后的所述短报文数据进行分割重组,生成至少一个新数据;在所述新数据中***帧头和帧尾并进行前向纠错编码操作,以生成至少一个冗余数据;将所述前向纠错参数附加在所述新数据和所述至少一个冗余数据的头部,进行多重冗余;发送前向纠错编码后的短报文数据。
在本发明的较佳实施例中,上述根据所述短报文数据生成前向纠错参数的步骤,包括:所述短报文数据的报文长度为所述前向纠错参数的倍数。
在本发明的较佳实施例中,上述根据所述短报文数据生成前向纠错参数的步骤,还包括:根据合并后数据长度以及最大短报文长度生成前向纠错参数。
在本发明的较佳实施例中,上述对所述短报文数据进行分割,获取至少一个新数据的步骤,之前还包括:在所述短报文数据的数量超过一个时,将所有的待发送短报文数据进行合并;根据所述前向纠错参数中生成的包长度、包总数将合并后的数据进行分割重组,生成至少一个新数据。
在本发明的较佳实施例中,上述对所述新数据进行前向纠错编码操作,以生成至少一个冗余数据的步骤,还包括:在每个所述新数据中均***帧头、帧尾,并进行前向纠错编码操作,生成至少一个冗余数据。
一种短报文发送方法,包括:通过短报文读取单元获取待发送短报文数据;通过短报文缓存单元将所述待发送短报文数据进行缓存;检测已缓存数据长度是否超过预设长度;若超过,则合并缓存中所述待发送短报文数据;若未超过,则检测已缓存数据的缓存时长是否超过预设时长;若是,则合并缓存中所述待发送短报文数据;若否,则继续获取短报文数据;短报文重组单元根据合并后的所述短报文数据的数据长度、最大短报文长度和当前缓存报文的延时生成前向纠错参数,根据所述前向纠错参数中生成的包长度和包总数对合并后的所述短报文数据进行分割重组,生成至少一个新数据,在所述新数据中***帧头和帧尾并进行前向纠错编码操作,以生成至少一个冗余数据,将所述前向纠错参数附加在所述新数据和所述至少一个冗余数据的头部,进行多重冗余;使用短报文发送单元发送经过前向纠错编码后的短报文数据。
本发明采用上述技术方案达到的技术效果是:通过缓存单元暂存待发送报文,使其分割后满足多种RS编码参数,如RS(255,223),RS(544,514)等,重组单元根据当前缓存报文的延时和报文的长度动态生成RS编码参数,使待分割的报文长度为RS编码参数的倍数,然后对报文进行分割,每段均***帧头、帧尾,对分割后的报文进行RS编码操作,使其生成多个冗余包,再将RS编码相关参数附加在数据包和冗余包头部,进行多重冗余。本发明能保证一组数据包和冗余包中任意不超过冗余率的包丢失仍然可以还原报文,无需通过ARQ重传手段,解决卫星物联网单向通信中数据丢失的问题,可以提高数据传输的可靠性,可允许发送的多条短报文任意丢失一条或几条,不影响传输数据的完整性,并且在提高数据传输可靠性的基础上,还提高来数据传输的效率,避免发送后需要等待确认信息(ACK)的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明。
附图说明
图1为本发明的实施例示出的基于前向纠错数据传输方法的流程图;
图2为本发明的实施例示出的前向纠错原理图;
图3为本发明的实施例示出的基于前向纠错数据传输方法的具体流程图;
图4为本发明的实施例示出的短报文发送装置的结构示意图;
图5为本发明的实施例示出的短报文传输***的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的实施例保护的范围。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,而且所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
本案主要提出一种解决现代前向纠错(FEC)中使用的Reed-Solomon编码是定长码的问题,定长码意味着一个固定长度的输入将被处理为固定长度的输出,常用的RS(255,223)中,223个输入符号将被编码为255个输出符号。而实际业务中终端所发送的每条报文长度并非固定,存在报文长度远小于或者远大于RS编码参数的问题,此时RS编码不适用。
本发明通过改进短报文的传输机制,将待发送数据进行重新分组、前向纠错编码解码等克服的上述缺陷。
请参阅图1和图3,图1为本发明的实施例示出的基于前向纠错数据传输方法的流程图;图3为本发明的实施例示出的基于前向纠错数据传输方法的具体流程图。
如图1和图3所示,本发明的的基于前向纠错数据传输方法,包括以下步骤:
步骤S1:获取待发送短报文数据。
短报文是卫星通信***中主流的物联网通信技术之一,目前市面上的北斗***、铱星***等主流卫星通信***均提供用于物联网方向的短报文通信技术。TCP/IP传输协议,即传输控制/网络协议,也称作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。
卫星短报文作为传输速率较低、传输数据量较少的一种通信方式,一般不会使用消息确认机制,而是采用直接发送机制。直接发送机制不对短报文发送接收进行任何可靠性设计,也不进行任何可恢复设计。短报文在经过卫星网络传输的过程中,可能会遇到卫星覆盖区域切换、电离电磁干扰等问题,导致接收端无法收到正确的短报文,甚至无法收到短报文,导致数据丢失,甚至接收端无法感知的问题。
可选地,获取待发送短报文数据的步骤,之后还包括:将所述待发送短报文数据进行缓存;检测已缓存数据长度是否超过预设长度;若超过,则合并缓存中所述待发送短报文数据;若未超过,则检测已缓存数据的缓存时长是否超过预设时长;若是,则合并缓存中所述待发送短报文数据;若否,则继续获取短报文数据。
步骤S2:根据短报文数据生成前向纠错参数。
前向纠错:也叫前向纠错码(Forward Error Correction,简称FEC),是增加数据通讯可信度的方法。在单向通讯信道中,一旦错误被发现,其接收器将无权再请求传输。FEC是利用数据进行传输冗余信息的方法,当传输中出现错误,将允许接收器再建数据。前向纠错常用在视频、音频数据传输中。
可选地,根据所述短报文数据生成前向纠错参数的步骤,包括:所述短报文数据的报文长度为所述前向纠错参数的倍数。
可选地,根据所述短报文数据生成前向纠错参数的步骤,还包括:根据合并后数据长度以及最大短报文长度生成前向纠错参数。
步骤S3:根据前向纠错参数对短报文数据进行分割,获取至少一个新数据。
可选地,对所述短报文数据进行分割,获取至少一个新数据的步骤,之前还包括:在所述短报文数据的数量超过一个时,将所有的待发送短报文数据进行合并;根据所述前向纠错参数中生成的包长度、包总数将合并后的数据进行分割重组,生成至少一个新数据。
步骤S4:对新数据进行前向纠错编码操作,以生成至少一个冗余数据。
可选地,对所述新数据进行前向纠错编码操作,以生成至少一个冗余数据的步骤,还包括:在每个所述新数据中均***帧头、帧尾,并进行前向纠错编码操作,生成至少一个冗余数据。
步骤S5:将前向纠错参数附加在新数据和所述至少一个冗余数据的头部,进行多重冗余。
步骤S6:发送前向纠错编码后的短报文数据。
请参阅图2,如图2所示,数据块D1、D2、D3、D4经前向纠错编码后形成D1、D2、D3、D4、C1、C2,其中C1,C2为冗余数据,P为前向纠错参数,数据块经过短报文传输可能丢失D3,C1,但是原始的D1、D2、D3、D4数据仍可以通过前向纠错解码进行恢复,保证数据不丢失。
本发明实施例所述的基于前向纠错数据传输方法,提出了一种动态配置RS编码参数,冗余包与数据包分离的方法,解决卫星物联网中仅可使用单向通信,同时保证一定数据可靠性,优化带宽消耗的方法。本实施方式通过缓存单元暂存待发送报文,使其分割后满足多种RS编码参数,如RS(255,223),RS(544,514)等,重组单元根据当前缓存报文的延时和报文的长度动态生成RS编码参数,使待分割的报文长度为RS编码参数的倍数,然后对报文进行分割,每段均***帧头、帧尾,对分割后的报文进行RS编码操作,使其生成多个冗余包,再将RS编码相关参数附加在数据包和冗余包头部,进行多重冗余。本发明所述方法,以保证一组数据包和冗余包中任意不超过冗余率的包丢失仍然可以还原报文,无需通过ARQ重传手段,解决卫星物联网单向通信中数据丢失的问题。
请参考图4,图4为本发明的实施例示出的短报文发送装置的结构示意图。
本发明还提供一种短报文发送方法应用于上述短报文发送装置。
如图4所示,短报文发送装置,包括:短报文读取单元、短报文重组单元和短报文发送单元。所述短报文发送方法,通过短报文读取单元获取待发送的短报文数据;通过所述短报文重组单元根据所述短报文数据生成前向纠错参数,根据所述前向纠错参数对所述短报文数据进行分割,获取至少一个新数据,对所述新数据进行前向纠错编码操作,以生成至少一个冗余数据,将所述前向纠错参数附加在所述新数据和所述至少一个冗余数据的头部,进行多重冗余;通过所述短报文发送单元发送前向纠错编码后的短报文数据。
可选地,短报文发送装置还包括:短报文缓存单元;所述短报文缓存单元,用于缓存短报文读取单元读取的数据。
示例性地,短报文读取单元:用于读取上层应用者上位机准备发送的数据。短报文缓存单元:用于缓存短报文读取单元读取的数据。短报文重组单元:该单元先合并缓存中的数据,再根据前向纠错参数中生成的包长度、包总数将合并后的数据进行分割重组,形成新数据包组,然后使用前向纠错编码单元对新数据包组进行前向纠错编码。短报文发送单元:用于发送前向纠错编码后的数据包。
可选地,本实施方式的短报文发送装置,可以执行上述实施例中基于前向纠错数据传输方法。
请结合图4参阅图5,图5为本发明短报文传输***一实施方式的***框图。
本实施方式所述短报文传输***,包括:上述实施方式所述的短报文发送装置和短报文接收装置。
可选地,短报文接收装置包括:短报文接收单元:用于接收经卫星网络传输的短报文;短报文缓存单元:用于缓存接收到的短报文;短报文恢复单元:用于恢复同一数据包组的数据,根据前向纠错参数判断本组数据是否可以进行前向纠错解码,使用前向纠错解码单元进行解码;短报文使用单元:用于将解码后数据包发送给上位机或者上层应用使用。
应该理解的是,虽然附图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本发明实施例各个实施场景所述的方法。
以上结合附图详细描述了本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,上述实施例及附图是示例性的,附图中的模块或流程并不一定是实施本发明实施例所必须的,不能理解为对本发明的限制,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型和组合,这些简单变型和组合均属于本发明的保护范围。
Claims (3)
1.一种基于前向纠错数据传输方法,其特征在于,所述方法包括:
获取待发送短报文数据,并将所述待发送短报文数据进行缓存;
检测已缓存数据长度是否超过预设长度;
若超过,则合并缓存中所述待发送短报文数据;
若未超过,则检测已缓存数据的缓存时长是否超过预设时长;
若是,则合并缓存中所述待发送短报文数据;
若否,则继续获取短报文数据;
根据合并后的所述短报文数据的数据长度、最大短报文长度和当前缓存报文的延时生成前向纠错参数;
根据所述前向纠错参数中生成的包长度和包总数将合并后的所述短报文数据进行分割重组,生成至少一个新数据;
在所述新数据中***帧头和帧尾并进行前向纠错编码操作,以生成至少一个冗余数据;
将所述前向纠错参数附加在所述新数据和所述至少一个冗余数据的头部,进行多重冗余;
发送前向纠错编码后的短报文数据。
2.如权利要求1所述的方法,其特征在于,根据所述短报文数据生成前向纠错参数的步骤,包括:
所述短报文数据的报文长度为所述前向纠错参数的倍数。
3.一种短报文发送方法,其特征在于,所述方法包括:
通过短报文读取单元获取待发送短报文数据;
通过短报文缓存单元将所述待发送短报文数据进行缓存;
检测已缓存数据长度是否超过预设长度;
若超过,则合并缓存中所述待发送短报文数据;
若未超过,则检测已缓存数据的缓存时长是否超过预设时长;
若是,则合并缓存中所述待发送短报文数据;
若否,则继续获取短报文数据;
短报文重组单元根据合并后的所述短报文数据的数据长度、最大短报文长度和当前缓存报文的延时生成前向纠错参数,根据所述前向纠错参数中生成的包长度和包总数对合并后的所述短报文数据进行分割重组,生成至少一个新数据,在所述新数据中***帧头和帧尾并进行前向纠错编码操作,以生成至少一个冗余数据,将所述前向纠错参数附加在所述新数据和所述至少一个冗余数据的头部,进行多重冗余;
使用短报文发送单元发送经过前向纠错编码后的短报文数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496891.0A CN114337917B (zh) | 2021-12-08 | 2021-12-08 | 基于前向纠错数据传输方法和短报文发送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111496891.0A CN114337917B (zh) | 2021-12-08 | 2021-12-08 | 基于前向纠错数据传输方法和短报文发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114337917A CN114337917A (zh) | 2022-04-12 |
CN114337917B true CN114337917B (zh) | 2023-07-18 |
Family
ID=81050479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111496891.0A Active CN114337917B (zh) | 2021-12-08 | 2021-12-08 | 基于前向纠错数据传输方法和短报文发送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114337917B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559180A (zh) * | 2016-12-08 | 2017-04-05 | 西安烽火电子科技有限责任公司 | 基于速率兼容ldpc码的arq短报文通信方法 |
CN110430009A (zh) * | 2019-06-29 | 2019-11-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多用户联合编码调制*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333850B (zh) * | 2014-09-25 | 2018-02-16 | 北京华力创通科技股份有限公司 | 基于北斗通讯的短报文读取方法 |
US9992126B1 (en) * | 2014-11-07 | 2018-06-05 | Speedy Packets, Inc. | Packet coding based network communication |
CN109510659A (zh) * | 2019-01-11 | 2019-03-22 | 北京华力创通科技股份有限公司 | 短报文传输方法及装置 |
-
2021
- 2021-12-08 CN CN202111496891.0A patent/CN114337917B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559180A (zh) * | 2016-12-08 | 2017-04-05 | 西安烽火电子科技有限责任公司 | 基于速率兼容ldpc码的arq短报文通信方法 |
CN110430009A (zh) * | 2019-06-29 | 2019-11-08 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 多用户联合编码调制*** |
Also Published As
Publication number | Publication date |
---|---|
CN114337917A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7095729B2 (en) | Method for multimedia communication over packet channels | |
US7584404B2 (en) | Method and apparatus for multimedia communication over packet channels | |
CN101061659B (zh) | 自适应前向纠错的方法和设备 | |
KR101405927B1 (ko) | 이동 통신 시스템에서의 통신 방법 | |
CN110943800B (zh) | 数据包的发送方法、装置及***、存储介质、电子装置 | |
EP2437421B1 (en) | Method, device and communication system for retransmitting based on forward error correction | |
US20030023915A1 (en) | Forward error correction system and method for packet based communication systems | |
CN107257270B (zh) | 基于混合自动重传请求的数据传输方法及*** | |
CN102984090B (zh) | 一种用于发送实时通信事件数据到接收器的抖动缓冲器的发送器及其方法 | |
CN110855402A (zh) | 一种网络实时视频传输方法及装置 | |
KR102002939B1 (ko) | 주문형 파일 복구 방법 및 시스템 | |
JP5236735B2 (ja) | 送信機及び受信機間の改良されたデータ構造境界同期 | |
CN113364508B (zh) | 一种语音数据的传输控制方法、***及设备 | |
CN114337917B (zh) | 基于前向纠错数据传输方法和短报文发送方法 | |
CN108769000B (zh) | 一种用于深空环境的高效流媒体传输方法 | |
CN110120853A (zh) | 多链路环境下数据发送、接收装置及数据发送、接收方法 | |
CN114500672A (zh) | 数据传输方法及*** | |
CN114401208A (zh) | 数据传输方法、装置、电子设备和存储介质 | |
CN115550459A (zh) | 语音数据的发送和接收方法以及相关设备 | |
JP5247358B2 (ja) | 情報処理装置及びその方法、プログラム、記録媒体 | |
CN116896567B (zh) | 网络层协议传输数据方法和装置 | |
Choi et al. | An adaptive periodic FEC Scheme for Internet video applications | |
CN117749322A (zh) | 一种数据传输方法和装置 | |
CN118233847A (zh) | 基于喷泉码的ieee 802.11无线组播传输*** | |
KR101695838B1 (ko) | 통신 시스템에서 데이터 송수신 장치 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |