本发明涉及通讯技术领域,特别涉及一种数据传输的校验方法。
背景技术:
现有对讲机发送数据报文时,在建筑物遮挡或距离较远等信号偏差的状况下,对讲机接收数据报文容易发生错误。目前主要采用AX.25协议实现数据报文在链路层的组包、传输,该方法可以在传输出错的时候通过每个数据包附带的CRC校验字段判断接收到的数据包是否准确,但无法实现数据纠错以降低数据传输过程中出错的概率。此外,采用支持前向纠错的编码方式可以提供一定程度的数据纠错功能,但是该方法编解码过程涉及的运算量太大,通常需要采用特定的硬件电路或高速DSP处理器才能实现。
技术实现要素:
为了解决现有对讲机传输数据纠错成本较高的问题,本发明实施例提供一种数据传输的校验方法,
一方面,提供了一种数据传输的校验方法,用于发送端,所述方法包括:将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验,将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值;以便所述接收端对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同,若相同,使得所述接收端将所述N个子数据包组合为重组数据包,以便所述接收端对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功。
另一方面,提供了一种数据传输的校验方法,用于接收端,所述方法包括:通过发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验,以便所述发送端将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值;对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同,若相同,将所述N个子数据包组合为重组数据包,对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功。
本发明实施例提供的技术方案带来的有益效果是:通过发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验,以便所述发送端将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值;对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同,若相同,将所述N个子数据包组合为重组数据包,对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功;解决了现有对讲机低成本配置无法实现数据传输纠错以降低数据传输过程中出错的概率,且针对具有数据传输纠错功能的对讲机对配置成本要求较高的问题;达到了可以在低成本、低功耗MCU中实现数据传输纠错功能,提高数据传输正确率的技术效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的数据传输校验方法的方法流程图;
图2是本发明实施例二提供的数据传输校验方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参考图1,其示出了本发明实施例一提供的数据传输校验方法的方法流程图,本实施例主要以该数据传输校验方法应用于包含对讲发送端与对讲接收端的数据传输系统中举例说明。该数据传输的校验方法,包括:
步骤101,发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验;
发送端将原始数据包拆分为N个子数据包,对N个子数据包进行第一校验,得到N个子数据包的第一校验值,对原始数据包进行第二校验,得到原始数据包的第二校验值。
步骤102,所述发送端将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值;
发送端将原始数据包发送至接收端,上述原始数据包包括包含第一发送校验值的N个子数据包和原始数据包的第二发送校验值。
步骤103,所述接收端对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同;
接收端对接收到的N个子数据包进行第一校验,判断第一接收校验值与第一发送校验值是否相同。
步骤104,若相同,使得所述接收端将所述N个子数据包组合为重组数据包;
若判断结果为相同,接收端将N个子数据包组合为重组数据包。
步骤105,所述接收端对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功。
接收端对重组数据包进行第二校验,判断第二接收校验值与第二发送校验值是否相同,若判断结果为相同,则校验成功。
综上所述,本实施例提供的数据传输校验方法,通过发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验,所述发送端将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值,所述接收端对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同,若相同,使得所述接收端将所述N个子数据包组合为重组数据包,所述接收端对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功;解决了解决了现有对讲机低成本配置无法实现数据传输纠错以降低数据传输过程中出错的概率,且针对具有数据传输纠错功能的对讲机对配置成本要求较高的问题;达到了可以在低成本、低功耗MCU中实现数据传输纠错功能,提高数据传输正确率的技术效果。
实施例二
请参考图2,其示出了本发明实施例二提供的数据传输校验方法的方法流程图,该数据传输的校验方法,包括:
步骤201,发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验;
发送端将待发送的原始数据包按照特定的长度拆分为N个子数据包,发送端对每个子数据包进行第一校验,发送端对原始数据包进行第二校验。上述第一校验包括但不限于异或校验、奇偶校验或累加校验。上述第二校验包括但不限于crc校验或md5校验。这里的原始数据包包括但不限于对讲机使用AFSK调制方式传输的数据报文。
步骤202,所述发送端将所述原始数据包重复发送M次至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值;
发送端将原始数据包通过物理层通路发送至接收端,发送的报文包括但不限于包含带有奇偶校验位的子数据包和整个数据包的CRC校验结果。且发送端每次将相同原始数据包重复发送M次至接收端。
上述数据包格式包括但不限于:每个数据包由固定的同步头起始。包序号用来识别同一个报文是否是重传报文,如果收到相同序号的报文,则认为是重传报文,否则当作新的报文处理。原始报文被分解按照固定的长度N=8分解成子包,每个子包通过异或校验算法得到该子包的校验值并附带到子包的末尾。整个数据包传输时,发送端将相同数据重发M次,每个重发报文间使用一个同步字节分隔。在所有报文发送结束后再发送超过100字节的同步尾信号。
步骤203,所述接收端对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同;
接收端顺序解析物理层解码出来的原始数据包,接收端接收过程中每接收完一个子数据包对子数据包内容用相同的第一校验方式进行校验,从而判断第一接收校验值与所述第一发送校验值是否相同。
步骤204,若相同,使得所述接收端将所述N个子数据包组合为重组数据包;
若判断出接收到的N个子数据包的第一接收校验值与第一发送校验值均是相同的,接收端将接收正确的N个子数据包按照序号排序组合成完整的重组数据包。
步骤205,若不同,在重复发送的原始数据包中查找相同序号的子数据包,所述接收端对所述相同序号的子数据包进行第一校验。
若判断出接收到的N个子数据包中存在第一接收校验值与第一发送校验值不同的子数据包,则记录存在错误的子数据包序号,并在后续的重传报文中查找是否有校验正确的对应序号的子数据包,直至查找到第一接收校验值与第一发送校验值相同的对应序号的子数据包。
步骤206,所述接收端对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功。
接收端对重组数据包进行第二校验,比如接收端对重组的数据包进行CRC校验判断最终组合的重组数据包是否正确,判断方式为确认第二接收校验值与第二发送校验值是否相同,若相同,则此次数据传输校验成功。
综上所述,本实施例提供的数据传输校验方法,通过发送端将原始数据包拆分为N个子数据包,对所述子数据包进行第一校验,对所述原始数据包进行第二校验,所述发送端将所述原始数据包发送至接收端,所述原始数据包包括包含第一发送校验值的子数据包和所述原始数据包的第二发送校验值,所述接收端对所述子数据包进行第一校验,判断第一接收校验值与所述第一发送校验值是否相同,若相同,使得所述接收端将所述N个子数据包组合为重组数据包,所述接收端对所述重组数据包进行第二校验,判断第二接收校验值与所述第二发送校验值是否相同,若相同,则校验成功;解决了解决了现有对讲机低成本配置无法实现数据传输纠错以降低数据传输过程中出错的概率,且针对具有数据传输纠错功能的对讲机对配置成本要求较高的问题;达到了可以在低成本、低功耗MCU中实现数据传输纠错功能,提高数据传输正确率的技术效果。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。