CN107017966B - 数据包的封装方法及校验方法 - Google Patents
数据包的封装方法及校验方法 Download PDFInfo
- Publication number
- CN107017966B CN107017966B CN201710094996.0A CN201710094996A CN107017966B CN 107017966 B CN107017966 B CN 107017966B CN 201710094996 A CN201710094996 A CN 201710094996A CN 107017966 B CN107017966 B CN 107017966B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- field
- baseband frame
- check field
- 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
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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
Abstract
一种数据包的封装方法及校验方法,其中数据包的封装方法包括:在将数据包填充至一个多或个基带帧数据域,并记录当前待传输的数据包被分块次数的信息;基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段;将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。本技术方案提高了数据包(尤其是数据包被分成几个数据块承载于不同的基带帧中的情况下)在广播通信信道传输时的可靠性。
Description
本申请是原案的分案申请,原案的申请号201310533289.9,申请日2013年11月4日,发明创造名称“数据包的封装方法及校验方法”。
技术领域
本发明涉及数字电视广播领域,特别涉及数据包的封装方法及校验方法。
背景技术
新一代数字电视广播系统能够支持包括音频、视频在内的各类数据传输,其具体方法是将待传输的数据包依次填入基带帧数据域中,组成可以通过数字电视广播系统在广播信道进行传输的基带帧结构。
在对数据包进行封装过程中,当一个数据包的长度较大且超过当前数据域的可用空间时,可以将数据包分割成若干个片段,每一个片段使用一个基带帧进行传输。接收端在接收到属于该数据包的所有片段后,再重新将这些片段进行拼接以获得原始的数据包。
但是,由于信道干扰等原因,基带帧在从发送端到接收端的传输过程中,可能会造成畸变并产生误码,这样接收端在接收到基带帧并对其解码后得到的数据包将不是原始的数据包。而在信道干扰严重的情况下,接收端可能会丢失整个基带帧甚至连续丢失多个基带帧。
对于一个基带帧内出现误码,通过在数据包后附加校验字段可以很大程度上解决这一问题。但是,在一个数据包被分块次数成几个数据块并且这些数据块承载于不同的基带帧的情况下,若接收端丢失了其中一个基带帧而造成数据块漏收,仅通过在数据包后附加校验字段的方式将不能很好地解决这一问题。
发明内容
本发明解决的是当该数据包被分块次数成几个数据块并且这些数据块承载于不同的基带帧进行传输过程中,接收端可能会漏收数据块的问题。
为解决上述问题,本发明实施例提供了一种数据包的封装方法,包括:在将当前待传输的数据包依次填充至一个或多个基带帧数据域的过程中,记录该数据包被分块次数的数据信息;基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段;将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
可选的,所述将当前待传输的数据依次填充至一个或多个基带帧数据域,记录该数据包被分块次数的数据信息包括:
步骤1):判断当前的基带帧数据域的可用空间是否足以承载当前待传输的数据包,该数据包包括信息码和预留校验字段长度;
步骤2):若该判断结果为否,则将该数据包进行分割以形成前半部分数据块和后半部分数据块,其中所述前半部分数据块适于填满该可用空间,所述后半部分数据块将填充至下一个基带帧数据域;
循环执行上述步骤1)和步骤2),直至当前的基带帧数据域的可用空间足以承载当前待传输的数据包;
基于上述步骤1)和步骤2)的循环执行次数确定当前待传输的数据包被分块次数的数据信息。
可选的,所述基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段的步骤包括:将该数据包被分块次数的数据信息附加至该数据包的信息码的末尾以形成待校验数据包;采用第一预设校验字段生成方式对所述待校验数据包进行处理以生成第一校验字段,其中该第一预设校验字段生成方式由发送端和接收端来共同确定。
可选的,所述基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段的步骤包括:采用第一预设校验字段生成方式对该数据包进行处理以生成中间数据;将该数据包被分块次数的数据信息附加至该中间数据的末尾,再采用第一预设校验字段生成方式对前述数据进行处理以生成第二校验字段;其中,该第一预设校验字段生成方式由发送端和接收端来共同确定。
可选的,所述基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段的步骤包括:采用第一预设校验字段生成方式对该数据包进行处理以生成中间数据;采用第二预设校验字段生成方式对该中间数据和该数据包被分块次数的数据信息进行处理以生成第三校验字段;其中,该第一预设校验字段生成方式和第二预设校验字段生成方式由发送端和接收端来共同确定。
可选的,所述第一预设校验字段生成方式为循环冗余校验。
可选的,所述第二预设校验字段生成方式包括异或运算、加法运算、减法运算和乘法运算中的任一种运算方式。
本发明实施例还提供了一种数据包的校验方法,其中该数据包是根据上述数据包的封装方法封装后填充至基带帧在信道中传输后于接收端恢复得到,所述校验方法包括:
从一个或多个基带帧数据域中获取完整的数据包,该完整的数据包包括信息码和校验字段;
根据基带帧帧头中的校验算法标志位中标志的预设校验字段生成方式与校验字段长度,从该数据包的末尾截取校验字段,数据包的剩余内容作为信息码;
对接收到的数据包的信息码以及数据包被分块次数的数据信息进行校验计算以得到待比较校验字段;
比较该待比较校验字段与获取到的校验字段是否一致;
若两者一致,则确定该数据包接收正确。
可选的,所述从一个或多个基带帧数据域中获取完整的数据包包括如下步骤:
从当前的基带帧数据域的起始位置开始依次读取数据包,其中所述起始位置由基带帧帧头中的起始位置字段来确定;
通过位于数据包头部的包长字段是否为零来判断该数据包是否完整地承载于当前的基带帧数据域;
若该数据包未完整地承载于当前的基带帧数据,则将当前基带帧起始位置开始至数据域末尾的所有数据作为该数据包的第一块,并继续从后续的若干个基带帧数据域中读取该数据包的剩余分块并依顺序与该数据包的第一块进行拼接以得到该数据包的信息码及校验字段,其中该数据包的剩余分块是根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定的;
若该数据包完整地承载于当前的基带帧数据,则从当前的基带帧数据域的起始位置开始并根据该数据包头部的包长获取该数据包的信息码及校验字段;
记录组装该数据包的信息码及校验字段的基带帧的个数以确定该数据包被分块次数的数据信息;
可选的,所述该数据包的剩余分块根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定包括如下情形:
1)若某个基带帧帧头中的起始位置字段大于数据域长度字段,则确定该基带帧数据域全部用于承载数据包的剩余分块中的一个数据块,且该数据包的传输未完成;
2)若某个基带帧帧头中的起始位置字段等于数据域长度字段,则确定该基带帧数据域全部用于承载该数据包,且该数据包的传输已经完成;
3)若某个基带帧帧头中的起始位置字段小于数据域长度字段,则该基带基数据域头部至起始位置之间的数据为该数据包的剩余分块中的最后一个数据块。
本发明实施例还提供了一种数据包的传输方法,包括:将当前待传输的数据包依次填充至一个或多个基带帧数据域;生成该数据包的校验字段,其中所述校验字段根据该数据包的信息码和该数据包在填充至基带帧数据域的过程中被分块次数的数据信息来确定;将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装;将承载于该数据包的一个或多个基带帧经由信道传输至接收端。
与现有技术相比,本发明技术方案具有以下有益效果:
根据本发明实施例提供的数据包的封装方法,在生成数据包的校验字段时,考虑了数据包填充至基带帧数据域过程中被分块次数的数据信息,这样在接收端对接收到的数据包进行解析过程中,也将结合数据包被分块次数的数据信息来对数据包是否正确接收进行校验,从而提高了数据包(尤其是数据包被分成几个数据块承载于不同的基带帧中的情况下)在广播通信信道传输时的可靠性。
根据本发明实施例提供的数据包的校验方法,接收端在从接收到的基带帧数据域中读取数据包的过程中,通过位于数据包头部的包长字段来判断该数据包是否完整地承载于当前的基带帧数据域,并针对不同的情形采用不同的方式获取完整的数据包及校验字段,并且在对接收到的数据包进行校验时,考虑了该数据包被分块次数的数据信息,从而提高了数据包在广播通信信道传输时的可靠性。
附图说明
图1是本发明的一种数据包的封装方法的具体实施方式的流程示意图;
图2是将数据包封装后形成的基带帧的基本结构示意图;
图3A是数据包未经分割封装成的基带帧结构示意图;
图3B是数据包经分割后各个数据块分别承载于不同基带帧的情况下封装成的基带帧结构示意图;
图4是本发明的一种数据包的校验方法的具体实施方式的流程示意图。
具体实施方式
发明人发现现有技术中,当该数据包被分成几个数据块并且这些数据块承载于不同的基带帧进行传输过程中,若接收端丢失了其中一个基带帧将造成数据块漏收的问题。
针对上述问题,发明人经过研究,提供了一种数据包的封装方法和校验方法,通过在对数据包进行封装过程中考虑数据包被分块次数的数据信息,从而提高了数据包(尤其是数据包被分成几个数据块承载于不同的基带帧中)在广播通信信道传输时的可靠性。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
如图1所示的是本发明的一种数据包的封装方法的具体实施方式的流程示意图。参考图1,所述数据包的封装方法包括如下步骤:
步骤S11:在将当前待传输的数据包依次填充至一个或多个基带帧数据域的过程中,记录该数据包被分块次数的数据信息;
步骤S12:基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段;
步骤S13:将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
与现有技术不同,在生成数据包的校验字段时,不仅针对数据包的信息码本身,进一步考虑了数据包在填充至一个或多个基带帧数据域过程中被分块次数的数据信息。例如,一个数据包在填充至基带帧数据域过程中被分块次数成了三个数据块,那么被分块次数的数据信息为两次。
在具体实施例中,如步骤S11所述,在将当前待传输的数据包依次填充至一个或多个基带帧数据域的过程中,记录该数据包被分块次数的数据信息,具体包括如下步骤:
步骤1):判断当前的基带帧数据域的可用空间是否足以承载当前待传输的数据包,该数据包包括信息码和预留校验字段长度;
步骤2):若该判断结果为否,则将该数据包进行分割以形成前半部分数据块和后半部分数据块,其中所述前半部分数据块适于填满该可用空间,所述后半部分数据块将填充至下一个基带帧数据域。
在上述步骤1)中,通过比较当前的基带帧数据域的可用空间所占的数据域长度与当前待传输的数据包的长度之间的大小关系可以确定该可用空间是否足以承载该数据包。需要说明的是,在本步骤中,需要在数据包的信息码之后预留校验字段的位置,例如预留2个字节长度,用零填充该预留位置,因此该数据包的长度包括信息码和预留校验字段长度。
如步骤2)所述,若该数据包的包长大于当前的基带帧数据域的可用空间所占的数据域长度,则确定当前的基带帧数据域不足以承载整个数据包,需要对数据包进行分割。分割后的数据包分为前半部分数据块和后半部分数据块,其中前半部分数据块能够填满该可用空间,剩余的后半部分数据块将填充至下一个基带帧数据域中。
对于该后半部分数据块,将继续依照上述步骤1)进行判断,即继续判断该后半部分数据块是否足以承载于当前的基带帧数据域(相对于之前那一个基带帧的下一个基带帧)。而当判断结果为否时,则依照上述步骤2)所述,继续将该后半部分数据块再次分割成两部分数据块,这两部分数据块中的前半部分数据块能够填满基带帧数据域的可用空间,后半部分数据块将填充至下一个基带帧数据域中。
如此循环执行上述步骤1)和步骤2),直至当前的基带帧数据域的可用空间足以承载最后剩余的数据块。
进一步地,根据整个过程中的循环执行次数可以确定当前待传输的数据包被分块次数的数据信息。例如,若上述步骤1)和步骤2)循环执行了两次,则可以确定当前待传输的数据包被切分了两次,该数据包分成了三个数据块分别承载于连续的三个基带帧数据域中。
若上述步骤1)的判断结果为是,即当前的基带帧数据域的可用空间足以承载当前待传输的数据包,则不需要对该数据包进行分割(即被分块次数的数据信息为0),该数据包将完整地承载于当前的基带帧数据域中。
然后,如步骤S12所述,基于该数据包的信息码和该数据包被分块次数的数据信息以生成该数据包的校验字段。如步骤S13所述,将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
现有技术中,生成一个数据包的校验字段时,只将数据包的信息码参与到生成校验字段的运算中,而在本实施例中,则进一步考虑了数据包被分块次数的数据信息。具体来说,本实施例包括如下三个具体实例:
1)在一个具体实施方式中,所述步骤S12包括如下步骤:
将该数据包被分块次数的数据信息附加至该数据包的信息码的末尾以形成待校验数据包;
采用第一预设校验字段生成方式对所述待校验数据包进行处理以生成校验字段,其中该第一预设校验字段生成方式由发送端和接收端来共同确定。
例如,CHK=F(DATA,SEG)=H([DATA,SEG]),其中CHK为计算得到的校验字段;DATA为数据包的信息码;SEG为数据包被分块次数的数据信息,H(x)为所述第一预设校验字段生成方式。
相应地,所述步骤S13包括如下步骤:将所述第一校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
2)在本步骤的另一个具体实施方式中,所述步骤S12包括如下步骤:
采用第一预设校验字段生成方式对该数据包进行处理以生成中间数据;
将该数据包被分块次数的数据信息附加至该中间数据的末尾,再采用第一预设校验字段生成方式对前述数据进行处理以生成第二校验字段;
其中,该第一预设校验字段生成方式由发送端和接收端来共同确定。
例如,CHK=F(DATA,SEG)=H([H(DATA),SEG]),其中CHK为计算得到的校验字段;DATA为数据包的信息码,H(DATA)为中间数据;SEG为数据包被分块次数的数据信息,H(x)为所述第一预设校验字段生成方式。
相应地,所述步骤S13包括如下步骤:将所述第二校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
3)在本步骤的另一个具体实施方式中,所述步骤S12包括如下步骤:
采用第一预设校验字段生成方式对所述数据包的信息码进行处理以生成中间数据;
采用第二预设校验字段生成方式对该中间数据和该数据包被分块次数的数据信息进行处理以生成第三校验字段;
其中,该第一预设校验字段生成方式和第二预设校验字段生成方式由发送端和接收端来共同确定。
例如,CHK=F(DATA,SEG)=G(H(DATA),SEG),其中CHK为计算得到的校验字段;DATA为数据包的信息码;SEG为数据包被分块次数的数据信息,H(x)为所述第一预设校验字段生成方式。
G(x,y)为第二预设校验字段生成方式,在实际应用中,G(x,y)可以是常用的可以接收两个输入数据的函数,例如异或运算的函数G(x,y)=x XOR y、加法运算的函数G(x,y)=x+y、减法运算的函数G(x,y)=x–y或者是乘法运算的函数G(x,y)=x*y。
相应地,所述步骤S13包括如下步骤:将所述第三校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装。
在上述三个具体实施方式中,所述第一预设校验字段生成方式为循环冗余校验,即CRC校验。
如图2所示的是将数据包封装后形成的基带帧的基本结构示意图。参考图2,基带帧包括基带帧帧头、数据域以及用于填零和带内信令的区域。
其中,基带帧帧头具体包括MATYPE字段(2bytes)、DFL字段(2bytes)、SYNCD字段(2bytes)、INDICATORS字段(1byte)以及CRC-8字段(1byte)。INDICATORS字段还包括CRCI字段(2bits)和others字段(6bits)。数据域用于填充各个数据包,数据包可以是IP数据包或者是TS数据流包等。
如图3A所示的是数据包未经分割封装成的基带帧结构示意图。参考图3A,基带帧包括基带帧帧头和数据域。在数据域中承载有多个数据包(例如数据包N、数据包N+1),依照本技术方案提供的数据包的封装方法对数据包经过封装后,在各个数据包的信息码(未示出)的末尾拼接了各自的校验字段,例如,数据包N和校验字段N、数据包N+1和校验字段N+1。这些数据包承载于一个基带帧数据域中。
如图3B所示的是数据包经分割后各个数据块分别承载于不同基带帧的情况下封装成的基带帧结构示意图。参考图3B,数据包N被分成3个数据块,即数据块1、数据块2以及数据块3,这三个数据块分别承载于连续的三个基带帧数据域中。每个基带帧包括基带帧帧头和数据域。在数据块3的信息码的末尾拼接了该数据包(即数据包N)的校验字段N。
发送端将采用本技术方案提供的数据包的封装方法将数据包封装成基带帧后,将各个基带帧经由广播通信信道传输至接收端,接收端将从接收到的基带帧中解析出各个数据,并对各个数据包的接收是否正确进行校验。
本发明实施例提供的一种数据包的校验方法,该数据包是由上述实施例提供的数据包封装方法封装后填充至基带帧在信道中传输后于接收端恢复得到。如图4所述的是本发明的一种数据包的校验方法的具体实施方式的流程示意图。
参考图4,数据包的校验方法包括如下步骤:
步骤S21:从当前的基带帧数据域的起始位置开始依次读取数据包,其中所述起始位置由基带帧帧头中的起始位置字段来确定;
步骤S22:通过位于数据包头部的包长字段是否为零来判断该数据包是否完整地承载于当前的基带帧数据域;
步骤S23:若该数据包未完整地承载于当前的基带帧数据,则将当前基带帧起始位置开始至数据域末尾的所有数据作为该数据包的第一块,并继续从后续的若干个基带帧数据域中读取该数据包的剩余分块并依顺序与该数据包的第一块进行拼接以得到该数据包的信息码及校验字段,其中该数据包的剩余分块是根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定的;
步骤S24:若该数据包完整地承载于当前的基带帧数据,则从当前的基带帧数据域的起始位置开始并根据该数据包头部的包长获取该数据包的信息码及校验字段;
步骤S25:记录组装该数据包的信息码及校验字段的基带帧的个数以确定该数据包被分块次数的数据信息;
步骤S26:根据基带帧帧头中的校验算法标志位中标志的预设校验字段生成方式与校验字段长度,从该数据包的末尾截取校验字段,数据包的剩余内容作为信息码;
步骤S27:对接收到的数据包信息码以及数据包被分块次数的数据信息进行校验计算以得到待比较校验字段;
步骤S28:比较该待比较校验字段与获取到的校验字段是否一致
步骤S29:若两者一致,则确定该数据包接收正确。
在本实施例中,如步骤S21所述,从当前的基带帧数据域的起始位置开始依次读取数据包。
在实际应用中,接收端接收到一系列连续的基带帧后,将依照接收的先后顺序从第一个基带帧数据域的起始位置开始读取第一个完整的数据包。所述起始位置由基带帧帧头中的起始位置字段(如图2中的SYNCD字段)来确定,接收端根据SYNCD字段中记录的信息可以确定数据域中存储该数据包的起始位置。
如步骤S22所述,通过位于数据包头部的包长字段是否为零来判断该数据包是否完整地承载于当前的基带帧数据域。
在本实施例中,在数据包包头部设置有包长字段,用于记录该数据包的包长。在该数据包完整地承载于一个基带帧数据域的情况下,该包长字段记录整个数据包的包长;而当该数据包未完整地承载于一个基带帧数据域的情况下,该包长字段默认设置为零。因此,接收端可以通过读取位于数据包头部的包长字段,根据其记录的数值是否为零来判断该数据包是否完整地承载于当前的基带帧数据域。
如步骤S23所述,若该数据包未完整地承载于当前的基带帧数据,则将当前基带帧起始位置开始至数据域末尾的所有数据作为该数据包的第一块,并继续从后续的若干个基带帧数据域中读取该数据包的剩余分块并依顺序与该数据包的第一块进行拼接以得到该数据包的信息码及校验字段。
在数据包较长,未完整地承载于一个基带帧数据域的情况下,接收端需要从若干个基带帧中提取属于该数据包的各个数据块,而属于同一个数据包的各个数据块将承载于连续的若干个基带帧中。因此,接收端在从当前的基带帧起始位置至数据域末尾获取了该数据包的第一个数据块后,将继续从后续的基带帧数据域中读取该数据包的剩余分块。
进一步地,该数据包的剩余分块是根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定的。具体来说,接收端通过判断基带帧帧头中的起始位置字段中记录的基带帧数据域的起始位置和数据域长度字段记录的数据域的总长度之间的大小关系来确定是否已获取到该数据包的最后一个数据块。
具体包括如下情形:
1)若某个基带帧帧头中的起始位置字段大于数据域长度字段,则确定该基带帧数据域全部用于承载数据包的剩余分块中的一个数据块,且该数据包的传输未完成。接收端将继续从后续的基带帧数据域中获取剩余的数据块。
2)若某个基带帧帧头中的起始位置字段等于数据域长度字段,则确定该基带帧数据域全部用于承载该数据包,且该数据包的传输已经完成。
3)若某个基带帧帧头中的起始位置字段小于数据域长度字段,则该基带基数据域头部至起始位置之间的数据为该数据包的剩余分块中的最后一个数据块。
如步骤S24所述,若该数据包完整地承载于当前的基带帧数据,则从当前的基带帧数据域的起始位置开始并根据该数据包头部的包长获取该数据包的信息码及校验字段。
其中,数据包的信息码的长度信息可以通过位于数据包头部长度字段直接或通过简单计算间接得到,而校验字段的长度则是根据发送端和接收端对校验字段计算算法的约定得到。
如步骤S25所述,记录组装该数据包的信息码及校验字段的基带帧的个数以确定该数据包被分块次数的数据信息。
在本实施例中,接收端后续对接收到的数据包进行校验时,需要考虑数据包被分块次数的数据信息。因此,在获取到完整的数据包之后,接收端还需要记录下组装该数据包的信息码及校验字段的基带帧的个数。
对于数据包未完整地承载于当前的基带帧数据域的情形,接收端可以记录下获取整个数据包的过程中共跨度了几个基带帧,从而可以确定该数据包被分成了几个数据块,并由此确定该数据包被分块次数的数据信息。而对于数据包完整地承载于当前的基带帧数据域的情形,所述被分块次数的数据信息即为被分块次数为零。
如步骤S26所述,根据基带帧帧头中的校验算法标志位中标志的预设校验字段生成方式与校验字段长度,从该数据包的末尾截取校验字段,数据包的剩余内容作为信息码。
具体地,接收端在获取到的整个数据包包括信息码和校验字段,两者是合并在一起的。因此,接收端需要从中分别获取信息码和校验字段。其中,校验字段的长度可以根据基带帧帧头中的校验算法标志位中标志的预设校验字段生成方式与校验字段长度来确定。而数据包的信息码则是在截取了校验字段之后数据包的剩余内容。
如步骤S27所述,对接收到的数据包信息码以及数据包被分块次数的数据信息进行校验计算以得到待比较校验字段。
具体地,接收端将结合接收到的数据包的信息码与根据上述步骤S25所确定的该数据包被分块次数的数据信息进行校验运算,以得到待比较校验字段。其中,所述校验运算的具体实施过程是根据基带帧帧头中的校验算法标志位中标志的预设校验字段生成方式来确定。并且对于同一个数据包,发送端和接收端采用的是相同的预设校验字段生成方式对该数据包的信息码进行处理以分别获取校验字段。
针对不同的预设校验字段生成方式,对数据包的信息码的处理方式可以参照上文图1描述的实施例中所述步骤S12的实施例,在此不再赘述。
如步骤S28所述,比较该待比较校验字段与获取到的校验字段是否一致。
如步骤S29所述,若两者一致,则确定该数据包接收正确。反之,若两者不一致,则确定该数据包接收错误。
本发明实施例还提供了一种数据包的传输方法,具体包括如下步骤:
步骤S31:将当前待传输的数据包依次填充至一个或多个基带帧数据域;
步骤S32:生成该数据包的校验字段,其中所述校验字段根据该数据包的信息码和该数据包在填充至基带帧数据域的过程中被分块次数的数据信息来确定;
步骤S33:将该校验字段拼接至该数据包的信息码的末尾以完成该数据包的封装;
步骤S34:将承载于该数据包的一个或多个基带帧经由信道传输至接收端。
综上所述,采用本技术方案提供的数据包封装方法和校验方法,发送端在生成数据包的校验字段时,考虑了数据包填充至基带帧数据域过程中被分块次数的数据信息,这样在接收端对接收到的数据包进行解析过程中,也将结合数据包被分块次数的数据信息来对数据包是否正确接收进行校验,从而提高了数据包(尤其是数据包被分成几个数据块承载于不同的基带帧中的情况下)在广播通信信道传输时的可靠性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (7)
1.一种数据包的封装方法,其特征在于,包括:
在将当前待传输的数据包依次填充至一个或多个基带帧数据域的过程中,记录所述数据包被分块次数的数据信息;
基于所述数据包的信息码和所述数据包被分块次数的数据信息以生成该数据包的校验字段的步骤包括,采用第一预设校验字段生成方式对所述数据包进行处理以生成中间数据,采用第二预设校验字段生成方式对所述中间数据和所述数据包被分块次数的数据信息进行处理以生成第三校验字段,
其中,所述第一预设校验字段生成方式为循环冗余校验;所述第二预设校验字段生成方式包括异或运算、加法运算、减法运算和乘法运算中的任一种运算方式;以及
将所述第三校验字段拼接至所述数据包的信息码的末尾以完成所述数据包的封装。
2.如权利要求1所述的数据包的封装方法,其特征在于,在将当前待传输的数据包依次填充至一个或多个基带帧数据域的过程中,记录所述数据包被分块次数的数据信息的步骤包括:
步骤1):判断当前基带帧数据域的可用空间是否足以承载当前待传输的数据包,所述数据包包括信息码和预留校验字段长度;
步骤2):若判断结果为否,则将所述数据包进行分割以形成前半部分数据块和后半部分数据块,其中所述前半部分数据块适于填满所述可用空间,所述后半部分数据块填充至下一个基带帧数据域;
循环执行上述步骤1)和步骤2),直至当前基带帧数据域的可用空间足以承载当前待传输的数据包;以及
基于上述步骤1)和步骤2)的循环执行次数,确定当前待传输的数据包被分块次数的数据信息。
3.如权利要求1所述的数据包的封装方法,其特征在于,基于所述数据包的信息码和所述数据包被分块次数的数据信息,生成所述数据包的校验字段的步骤包括:
将所述数据包被分块次数的数据信息附加至所述数据包的信息码的末尾,以形成待校验数据包;以及
采用所述第一预设校验字段生成方式对所述待校验数据包进行处理,以生成第一校验字段,其中所述第一预设校验字段生成方式由发送端和接收端共同确定。
4.如权利要求1所述的数据包的封装方法,其特征在于,基于所述数据包的信息码和所述数据包被分块次数的数据信息,生成所述数据包的校验字段的步骤包括:
采用所述第一预设校验字段生成方式对所述数据包进行处理以生成中间数据;以及
将所述数据包被分块次数的数据信息附加至所述中间数据的末尾,再采用第一预设校验字段生成方式对附加了所述数据信息的中间数据进行处理,以生成第二校验字段,
其中,所述第一预设校验字段生成方式由发送端和接收端共同确定。
5.如权利要求1所述的数据包的封装方法,其特征在于,基于所述数据包的信息码和所述数据包被分块次数的数据信息,生成所述数据包的校验字段的步骤包括:
采用所述第一预设校验字段生成方式对所述数据包进行处理以生成中间数据;以及
采用所述第二预设校验字段生成方式对所述中间数据和所述数据包被分块次数的数据信息进行处理,以生成第三校验字段,
其中,所述第一预设校验字段生成方式和所述第二预设校验字段生成方式由发送端和接收端来共同确定。
6.一种数据包的校验方法,其特征在于,数据包由权利要求1所述的数据包的封装方法封装后填充至基带帧,并在信道中传输后,于接收端恢复得到,所述校验方法包括:
从一个或多个基带帧数据域中获取完整的数据包,所述数据包包括信息码和校验字段;
根据基带帧帧头中,校验算法标志位中标志的预设校验字段生成方式与校验字段长度,从所述数据包的末尾截取校验字段,所述数据包的剩余内容作为信息码;
对接收到的所述数据包的所述信息码以及所述数据包被分块次数的数据信息进行校验计算,以得到待比较校验字段;
比较所述待比较校验字段与获取到的所述校验字段是否一致;以及
若两者一致,则确定所述数据包接收正确,
其中,从一个或多个基带帧数据域中获取完整的数据包的步骤包括:
从当前的基带帧数据域的起始位置开始依次读取数据包,其中所述起始位置由基带帧帧头中的起始位置字段来确定;
通过位于所述数据包头部的包长字段是否为零来判断所述数据包是否完整地承载于当前的基带帧数据域;
若所述数据包未完整地承载于当前的基带帧数据,则将当前基带帧起始位置开始至数据域末尾的所有数据作为所述数据包的第一块,并继续从后续的若干个基带帧数据域中读取所述数据包的剩余分块,并依顺序与所述数据包的所述第一块进行拼接,以得到所述数据包的所述信息码及所述校验字段,其中所述数据包的剩余分块是根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定的;
若所述数据包完整地承载于当前的基带帧数据,则从当前的基带帧数据域的起始位置开始并根据所述数据包头部的包长获取所述数据包的所述信息码及所述校验字段;以及
记录组成所述数据包的所述信息码及所述校验字段的基带帧的个数,以确定所述数据包被分块次数的数据信息。
7.如权利要求6所述的数据包的校验方法,其特征在于,所述数据包的剩余分块根据基带帧帧头中的起始位置字段和数据域长度字段之间的关系来确定包括如下情形:
1)若某个基带帧帧头中的起始位置字段大于数据域长度字段,则确定所述基带帧数据域全部用于承载数据包的剩余分块中的一个数据块,且所述数据包的传输未完成;
2)若某个基带帧帧头中的起始位置字段等于数据域长度字段,则确定所述基带帧数据域全部用于承载所述数据包,且所述数据包的传输已经完成;以及
3)若某个基带帧帧头中的起始位置字段小于数据域长度字段,则所述基带帧数据域头部至起始位置之间的数据为所述数据包的剩余分块中的最后一个数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710094996.0A CN107017966B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710094996.0A CN107017966B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
CN201310533289.9A CN103595504B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310533289.9A Division CN103595504B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107017966A CN107017966A (zh) | 2017-08-04 |
CN107017966B true CN107017966B (zh) | 2020-06-09 |
Family
ID=50085501
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710094996.0A Active CN107017966B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
CN201710088195.3A Active CN106850143B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
CN201310533289.9A Active CN103595504B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710088195.3A Active CN106850143B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
CN201310533289.9A Active CN103595504B (zh) | 2013-11-04 | 2013-11-04 | 数据包的封装方法及校验方法 |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN107017966B (zh) |
WO (1) | WO2015062503A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107017966B (zh) * | 2013-11-04 | 2020-06-09 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
EP3163780A4 (en) * | 2014-07-29 | 2017-07-12 | Huawei Technologies Co., Ltd. | Data encryption and transmission method and device |
CN105812335B (zh) * | 2014-12-31 | 2019-07-23 | 上海数字电视国家工程研究中心有限公司 | 功能字段的解析方法 |
WO2017008401A1 (zh) * | 2015-07-10 | 2017-01-19 | 华为技术有限公司 | 一种协议帧传输方法、装置、节点设备以及系统 |
CN106452660A (zh) * | 2015-08-06 | 2017-02-22 | 鸿富锦精密工业(深圳)有限公司 | 数据传送系统及方法 |
CN106484690A (zh) * | 2015-08-24 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种数据迁移的验证方法及装置 |
CN106028397A (zh) * | 2016-05-10 | 2016-10-12 | 国网新疆电力公司经济技术研究院 | 高可靠性海量数据无线传输系统 |
CN106686526B (zh) * | 2016-12-16 | 2020-10-30 | 美的智慧家居科技有限公司 | 一种电器的路由信息的获取方法及装置 |
CN106850149A (zh) * | 2017-04-21 | 2017-06-13 | 深圳怡化电脑股份有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN107426770B (zh) * | 2017-07-21 | 2021-09-14 | 广东美的制冷设备有限公司 | 基于数据链路层的数据通讯方法、数据终端及系统 |
CN108039936A (zh) * | 2017-12-14 | 2018-05-15 | 华南智能机器人创新研究院 | 一种用于无人作业装备的通信协议数据包及通信系统 |
CN108173623B (zh) * | 2018-01-16 | 2020-08-14 | 四川安迪科技实业有限公司 | 一种基于滑动crc的自定义基带帧封装方法 |
CN109587112B (zh) | 2018-10-25 | 2021-02-12 | 华为技术有限公司 | 一种发送数据的方法、接收数据的方法、设备及系统 |
CN109586846A (zh) * | 2018-11-20 | 2019-04-05 | 湖南晨威高科有限公司 | 一种直流充电桩内部主板与从板之间的通信方法 |
CN110297871A (zh) * | 2019-06-20 | 2019-10-01 | 常州冰鉴信息科技有限公司 | 一种异构数据实时采集的方法 |
CN110442044A (zh) * | 2019-08-19 | 2019-11-12 | 哈尔滨工业大学 | 一种用于飞行器制导控制算法验证的半实物仿真平台 |
CN110649937B (zh) * | 2019-09-23 | 2021-03-02 | 明格(上海)信息技术有限公司 | 超声波发射控制方法、收发控制方法和装置 |
CN112839003A (zh) * | 2019-11-22 | 2021-05-25 | 上海哔哩哔哩科技有限公司 | 数据校验方法及系统 |
CN111147931A (zh) * | 2019-12-31 | 2020-05-12 | 深圳Tcl新技术有限公司 | Tlv数据包的传输方法、装置、设备及可读存储介质 |
CN114696944A (zh) * | 2020-12-25 | 2022-07-01 | 深圳Tcl新技术有限公司 | 数据包处理方法、装置、智能终端及计算机可读存储介质 |
CN113572578B (zh) * | 2021-07-28 | 2023-06-30 | 南方电网数字电网研究院有限公司 | 基于数据中台的tcp数据传输方法、装置、设备和介质 |
CN113346980B (zh) * | 2021-08-02 | 2023-08-11 | 浙江国利信安科技有限公司 | 用于消息转发的方法、电子设备和计算机存储介质 |
CN114257338B (zh) * | 2021-11-26 | 2022-12-20 | 力同科技股份有限公司 | 数据处理方法及装置、通信系统及通信装置、设备和介质 |
CN114337929A (zh) * | 2022-01-05 | 2022-04-12 | 深圳市泛海三江科技发展有限公司 | 一种高可靠性通信校验方法 |
CN114615354A (zh) * | 2022-04-12 | 2022-06-10 | 支付宝(杭州)信息技术有限公司 | 处理报文的方法及装置 |
CN114741231B (zh) * | 2022-04-19 | 2023-06-27 | 深圳鲲云信息科技有限公司 | 基于存储器的数据读写方法、装置、设备及存储介质 |
CN114884624B (zh) * | 2022-07-08 | 2022-12-09 | 广州思德医疗科技有限公司 | 数据处理方法及装置 |
CN116846546B (zh) * | 2023-04-24 | 2024-03-22 | 广州智臣信息科技有限公司 | 信息防丢失防重复的跨网络数据交换系统 |
CN116506326B (zh) * | 2023-06-21 | 2023-11-24 | 季华实验室 | 子线程数据接收方法、数据监控方法、上位机和机器人 |
CN117692106B (zh) * | 2024-01-31 | 2024-05-03 | 北京中科网芯科技有限公司 | 一种通信数据冗余校验方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101193284A (zh) * | 2007-12-27 | 2008-06-04 | 北京中星微电子有限公司 | 压缩文件传输完整性验证方法、系统与装置 |
CN101459490A (zh) * | 2007-12-13 | 2009-06-17 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
CN102571272A (zh) * | 2011-12-14 | 2012-07-11 | 展讯通信(上海)有限公司 | 通信系统中业务数据的接收方法及接收装置、基带芯片 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4278850A (en) * | 1978-04-11 | 1981-07-14 | Kokusai Denshin Denwa Co., Ltd. | Monitoring system for optical transmission line repeaters |
JPH10190705A (ja) * | 1996-10-22 | 1998-07-21 | Sony Corp | 伝送装置および方法、並びに、受信装置および方法 |
EP1365548A1 (en) * | 2002-05-21 | 2003-11-26 | Alcatel | Method for encapsulating variable length packets, and related data packet encapsulator and decapsulator |
CA2423896A1 (en) * | 2003-03-28 | 2004-09-28 | Norsat International Inc. | Highly integrated and compact baseband apparatus for portable newsgathering |
EP1555788A1 (en) * | 2004-01-15 | 2005-07-20 | Alcatel | Method for improving the quality of an encoded video bit stream transmitted over a wireless link, and corresponding receiver |
CN100539677C (zh) * | 2006-12-29 | 2009-09-09 | 雷科通技术(杭州)有限公司 | 利用有线电视网进行远程双向通讯的方法和装置 |
CN101296055B (zh) * | 2007-04-29 | 2013-01-09 | 华为技术有限公司 | 数据包收发方法及装置 |
CN101321336B (zh) * | 2007-06-06 | 2012-11-14 | 锐迪科微电子(上海)有限公司 | 一种移动终端与智能卡之间的大容量数据交换方法 |
CN101212267B (zh) * | 2007-12-21 | 2011-07-27 | 北京创毅视讯科技有限公司 | 广播系统基于文件模式传输业务数据的方法、系统及装置 |
CN101286945B (zh) * | 2008-05-22 | 2011-06-22 | 北京星网锐捷网络技术有限公司 | 数据分片处理方法及装置 |
US8068423B2 (en) * | 2008-09-09 | 2011-11-29 | Ericsson Television, Inc | Packet scheduling system for digital video broadcasting |
CN102098125B (zh) * | 2009-12-15 | 2013-05-15 | 上海贝尔股份有限公司 | 并行基带处理的方法以及装置 |
CN101916173B (zh) * | 2010-08-27 | 2013-08-28 | 杭州华三通信技术有限公司 | 一种基于raid的数据读写方法及其系统 |
CN101969359B (zh) * | 2010-09-29 | 2012-11-14 | 航天东方红卫星有限公司 | 小卫星电子载荷任务上注及处理方法 |
CN107017966B (zh) * | 2013-11-04 | 2020-06-09 | 上海数字电视国家工程研究中心有限公司 | 数据包的封装方法及校验方法 |
-
2013
- 2013-11-04 CN CN201710094996.0A patent/CN107017966B/zh active Active
- 2013-11-04 CN CN201710088195.3A patent/CN106850143B/zh active Active
- 2013-11-04 CN CN201310533289.9A patent/CN103595504B/zh active Active
-
2014
- 2014-10-29 WO PCT/CN2014/089784 patent/WO2015062503A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459490A (zh) * | 2007-12-13 | 2009-06-17 | 中兴通讯股份有限公司 | 一种数据传输方法及装置 |
CN101193284A (zh) * | 2007-12-27 | 2008-06-04 | 北京中星微电子有限公司 | 压缩文件传输完整性验证方法、系统与装置 |
CN102571272A (zh) * | 2011-12-14 | 2012-07-11 | 展讯通信(上海)有限公司 | 通信系统中业务数据的接收方法及接收装置、基带芯片 |
Also Published As
Publication number | Publication date |
---|---|
WO2015062503A1 (zh) | 2015-05-07 |
CN106850143A (zh) | 2017-06-13 |
CN103595504A (zh) | 2014-02-19 |
CN103595504B (zh) | 2017-07-28 |
CN107017966A (zh) | 2017-08-04 |
CN106850143B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107017966B (zh) | 数据包的封装方法及校验方法 | |
JP6523249B2 (ja) | パケットヘッダを圧縮する方法及び装置 | |
US9917930B2 (en) | Transmitting apparatus and receiving apparatus and signal processing method thereof | |
RU2219671C2 (ru) | Способ и устройство для передачи и приема мультимедийных данных | |
US11700200B2 (en) | Transmitting apparatus and signal processing method using removal of transport steam packet header | |
US11677503B2 (en) | Apparatus and method for sending/receiving packet in multimedia communication system | |
KR20010005484A (ko) | 멀티 미디어 데이터의 무선 송수신을 위한 인코딩 방법 및그 장치 | |
JP5169449B2 (ja) | 無線通信装置及び受信方法 | |
CN106656424B (zh) | 一种数据传输的校验方法 | |
CN105740088A (zh) | 闪存数据纠错方法及装置 | |
CN114374470A (zh) | 数据传输方法、系统和计算机可读存储介质 | |
KR102103903B1 (ko) | 송신 장치, 수신 장치 및 그 데이터 처리 방법 | |
US9484040B2 (en) | Audio decoding method and associated apparatus | |
EP3526901B1 (en) | Recording and playback devices with avoidance of missynchronisation by scrambling a payload with a modified payload checksum | |
JP3712422B2 (ja) | デジタルデータの符号化、伝送、復号化のための方法および装置 | |
CA2972882C (en) | Transmitting apparatus and receiving apparatus and signal processing method thereof | |
CN109743627B (zh) | 基于avs+视频编码数字电影包的播放方法 | |
CA3077760C (en) | Transmitting apparatus and signal processing method thereof | |
CN114760375B (zh) | 多屏车载系统用数据发送方法、装置、传输方法及车辆 | |
CN102868930A (zh) | 传输流数据包解码方法及装置 | |
CN113973227A (zh) | 一种数据处理效率的优化方法及装置 | |
CN113949487A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |