通信数据校验方法、装置、计算机设备和存储介质与流程

文档序号:21637083发布日期:2020-07-29 02:47阅读:341来源:国知局
通信数据校验方法、装置、计算机设备和存储介质与流程

本申请涉及通信技术领域,特别是涉及一种通信数据校验方法、装置、计算机设备和存储介质。



背景技术:

随着计算机技术的发展,计算机的功能逐渐丰富,在计算机的使用过程中,通常需要进行通信,为了保证通信过程中,信息传输的正确性,通常需要在通信过程中,对通信信息进行校验和检错,目前在通信中采用的校验和检错方式通常为奇偶校验、累加和校验和crc,其中crc最为普遍,奇偶校验为通过判断传输和接收的数据的中特定数值的奇偶数,来判断数据传输是否正确;累加和校验为通过将数据进行求和操作,并进行相关比较,判断数据是否正确;crc为通过对数据进行crc运算进行数据校验。这些方法都具有一定的检错能力。

然而,奇偶校验和累加和校验的检错能力较低,在通信校验中有较多错误不能被检测到,crc方法的实现过程较为复杂。

因此,传统的通信数据校验方法存在校验性能与校验效率不能兼顾的缺陷。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够兼顾通信数据校验性能和效率的通信数据校验方法、装置、计算机设备和存储介质。

一种通信数据校验方法,应用于接收端,所述方法包括:

获取从发送端传输来的待校验编码数据;所述待校验编码数据与发送端的编码数据对应;所述编码数据为所述发送端基于斐波那契标准进制的编码规范对待传输数据进行编码得到;

判断所述待校验编码数据是否符合所述编码规范所对应的数据要求;

根据所述判断的结果,确定所述待校验编码数据是否为传输错误数据;

其中,所述斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2。

在其中一个实施例中,所述编码规范所对应的数据要求包括:两个相邻位的数据不同时为1;

所述根据所述判断的结果,确定所述待校验编码数据是否为传输错误数据,包括:

若所述判断的结果为不存在两个相邻位的数据同时为1,确定所述待校验编码数据不为传输错误数据;

若所述判断的结果为存在两个相邻位的数据同时为1,确定所述待校验编码数据为传输错误数据。

在其中一个实施例中,还包括:

若确定所述待校验编码数据不为传输错误数据,将所述待校验编码数据由斐波那契标准进制转换为二进制的数据,由此得到译码数据;

基于所述译码数据,得到所述发送端的待传输数据。

在其中一个实施例中,所述将所述待校验编码数据由斐波那契标准进制转换为二进制的数据,包括:

根据数字1在所述待校验编码数据中的位置,获取斐波那契数列中对应位置的数值;

将所述数值的和进行二进制转换,得到所述二进制的数据。

在其中一个实施例中,所述确定所述待校验编码数据为传输错误数据之后,还包括:

向所述发送端发送重传信息,所述重传信息用于指示所述发送端重新发送所述待传输数据。

一种通信数据传输方法,应用于发送端,所述方法包括:

获取待传输数据;

按照斐波那契标准进制的编码规范,对所述待传输数据进行编码,由此得到编码数据;

向接收端发送所述编码数据;

其中,所述斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2;所述编码数据符合所述编码规范所对应的数据要求。

在其中一个实施例中,所述按照斐波那契标准进制的编码规范,对所述待传输数据进行编码,包括:

遍历斐波那契数列,判断所述斐波那契数列中的当前数值是否大于待编码数据;所述待编码数据属于所述待传输数据中的数据;

当所述当前数值大于所述待编码数据时,将所述斐波那契数列中大于所述待编码数据的当前数值的前一位数值进行标记,获取所述待编码数据与所述前一位数值的差值;

判断所述差值是否为零;

当所述差值不为零时,将所述待编码数据更新为所述差值,得到新的待编码数据,返回所述遍历斐波那契数列,判断所述斐波那契数列中的数值是否大于所述数据的步骤;

当所述差值为零时,结束循环,将所述斐波那契数列中被标记的数值转换为1,将所述斐波那契数列中没有被标记的数值转换为0;根据数值转换后的斐波那契数列,得到所述编码数据。

一种通信数据校验装置,应用于接收端,所述装置包括:

编码数据获取模块,用于获取从发送端传输来的待校验编码数据;所述待校验编码数据与发送端的编码数据对应;所述编码数据为所述发送端基于斐波那契标准进制的编码规范对待传输数据进行编码得到;

判断模块,用于判断所述待校验编码数据是否符合所述编码规范所对应的数据要求;

确定模块,用于根据所述判断的结果,确定所述待校验编码数据是否为传输错误数据;

其中,所述斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2。

一种通信数据传输装置,应用于发送端,所述装置包括:

传输数据获取模块,用于获取待传输数据;

编码模块,用于按照斐波那契标准进制的编码规范,对所述待传输数据进行编码,由此得到编码数据;

发送模块,用于向接收端发送所述编码数据;

其中,所述斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2;所述编码数据符合所述编码规范所对应的数据要求。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述通信数据校验方法、装置、计算机设备和存储介质,通过获取发送端传输的基于斐波那契标准进制的编码规范进行编码得到的待校验的编码数据,再判断待校验编码数据是否符合编码规范对应的数据要求,并根据判断的结果,确定待校验编码数据是否为传输错误数据,其中斐波那契标准进制编码规范包括加项中不出现相邻的斐波那契数,并且最小加项大于等于2。相较于传统的通过奇偶校验、累加和校验和crc校验,本方案通过利用斐波那契标准进制,对数据进行编码并进行校验,可以在实现较高的检错能力的同时,简化编码过程,从而实现兼顾通信数据校验性能和效率的效果。

附图说明

图1为一个实施例中通信数据校验方法的应用环境图;

图2为一个实施例中通信数据校验方法的流程示意图;

图3为一个实施例中通信数据传输方法的流程示意图;

图4为另一个实施例中通信数据校验方法的流程示意图;

图5为一个实施例中通信数据校验装置的结构框图;

图6为一个实施例中通信数据传输装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的通信数据校验方法,可以应用于如图1所示的应用环境中。其中,发送端102可以通过网络与接收端104进行通信。发送端102可以获取待传输的数据,并对待传输的数据基于斐波那契标准进制的编码规范进行编码,接收端104可以接收待校验编码数据,并可以判断待校验编码数据是否符合编码规范对应的数据要求,根据判断结果,确定待校验编码数据是否为传输错误数据。其中,斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2;其中加项可以是将数据使用斐波那契表示时,该数据对应的多个斐波那契数,即多个斐波那契数的和可以得到该数据,发送端102可以通过服务器与接收端104进行通信和数据传输,发送端102和接收端104可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。其中,斐波那契标准进制可以是基于斐波那契数列得到的,斐波那契数列,也可以称为黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,斐波那契数列,具体可以是这样一个数列:1、1、2、3、5、8、13、21、34、…,该数列可以是一个呈递增趋势的数列,若用表示数列中的一个数值,则当时,可以称这个数列为斐波那契数列;斐波那契标准进制的编码规范可以根据斐波那契标准进制得到。

在一个实施例中,如图2所示,提供了一种通信数据校验方法,以该方法应用于图1中的接收端为例进行说明,包括以下步骤:

步骤s202,获取从发送端102传输来的待校验编码数据;待校验编码数据与发送端102的编码数据对应;编码数据为发送端基于斐波那契标准进制的编码规范对待传输数据进行编码得到。

其中,发送端102可以是用于发送通信数据的一端,其可以是各种计算机设备或者移动设备等,发送端102可以与接收端104进行数据通信,发送端102可以将上述通信数据发送至接收端104,接收端104可以是用于接收通信数据的一端,例如,接收端104可以接收上述发送端102发送的通信数据,例如待校验编码数据,待校验编码数据可以是需要进行通信数据校验的编码后的数据,对上述数据进行编码可以是基于斐波那契标准进制的编码规范进行的,即上述发送端102可以将待传输数据基于斐波那契标准进制的编码规范进行编码,并可以将编码后的数据发送至接收端104,接收端104可以获取发送端102传输的待校验编码数据,并且可以对待校验编码数据进行判断,判断待校验编码数据是否符合上述斐波那契标准进制的编码规范对应的数据要求,再根据判断的结果,确定待校验编码数据是否为传输错误数据。其中,斐波那契标准进制可以是基于斐波那契数列得到的,斐波那契数列,也可以称为黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,斐波那契数列,具体可以是这样一个数列:1、1、2、3、5、8、13、21、34、…,该数列可以是一个呈递增趋势的数列,若用表示数列中的一个数值,则当时,可以称这个数列为斐波那契数列;斐波那契标准进制的编码规范可以根据斐波那契标准进制得到,接收端104接收的待校验编码数据可以与发送端102的编码数据对应。

步骤s204,判断待校验编码数据是否符合编码规范所对应的数据要求。

其中,待校验编码数据可以是上述步骤s202中接收端104接收的数据,发送端102和接收端104之间的通信数据,可以包括上述待校验编码数据,编码规范可以是斐波那契标准进制的编码规范,斐波那契标准进制可以是基于斐波那契进制得到的,斐波那契进制可以是将一个数据用斐波那契表示,例如,将一个自然数表示为互异的多个斐波那契数之和,可以将这种表示称为斐波那契进制,当利用斐波那契进制表示的数据符合上述编码规范时,可以称该斐波那契进制的表达时标准的,即可以称为斐波那契标准进制,即斐波那契标准进制可以是斐波那契进制的进一步限定和约束。其中,斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2,具体地,加项中不出现相邻的斐波那契数,可以是,其中可以是斐波那契数列中的第i个数,最小加项大于等于2,可以是,其中可以表示使用斐波那契标准进制表示的编码数据中的加项。

其中加项可以是上述将数据使用斐波那契表示时,该数据对应的多个斐波那契数,即多个斐波那契数的和可以得到该数据,例如将自然数n用斐波那契表示,即把n表示为互异的多个斐波那契数之和,可以表示为,其中即可以是加项,相邻的斐波那契数可以是斐波那契数列中相邻的数字,即上述待校验编码数据应满足加项汇总不出现相邻的斐波那契数,且最小加项大于等于2。接收端104可以判断上述待校验编码数据是否符合编码规范对应数据要求,其中数据要求可以是对待校验编码数据中的数据的相关要求。

步骤s206,根据判断的结果,确定待校验编码数据是否为传输错误数据。

其中。判断的结果可以是上述步骤s204中,对待校验编码数据是否符合编码规范对应的数据要求进行的判断得到的结果,接收端104可以根据该结果,确定待校验编码数据是否为传输错误数据。其中,传输错误数据可以是不符合上述编码规范对应的数据要求的数据,接收端104判断接收到的数据为传输错误数据的数据时,可以进行对应的处理。

上述通信数据校验方法中,通过获取发送端传输的基于斐波那契标准进制的编码规范进行编码得到的待校验的编码数据,再判断待校验编码数据是否符合编码规范对应的数据要求,并根据判断的结果,确定待校验编码数据是否为传输错误数据,其中斐波那契标准进制编码规范包括加项中不出现相邻的斐波那契数,并且最小加项大于等于2。相较于传统的通过奇偶校验、累加和校验和crc校验,本方案通过利用斐波那契标准进制,对数据进行编码并进行校验,可以在实现较高的检错能力的同时,简化编码过程,从而实现兼顾通信数据校验性能和效率的效果。

在一个实施例中,编码规范所对应的数据要求包括:两个相邻位的数据不同时为1;根据判断的结果,确定待校验编码数据是否为传输错误数据,包括:若判断的结果为不存在两个相邻位的数据同时为1,确定待校验编码数据不为传输错误数据;若判断的结果为存在两个相邻位的数据同时为1,确定待校验编码数据为传输错误数据。

本实施例中,编码规范可以是上述待校验编码数据的编码规范,该编码规范可以根据斐波那契标准进制得到,编码规范对应的数据要求可以包括;两个相邻位的数据不同时为1,即上述进行斐波那契标准进制转换后的待校验编码数据中,相邻的数据不能同时为1,斐波那契标准进制可以是根据斐波那契进制进行进一步约束得到,斐波那契进制可以是将数据表示为多个互异的斐波那契数之和,具体地,如一个自然数n,该自然数n的斐波那契表示可以是:,例如。其中f为斐波那契数列中的数值,我们把一个自然数n的斐波那契表示中的所有斐波那契按位置映射到0,1组成的比特串中,即将比特串第,…,位置1,其余位置0,这种表达方式称之为斐波那契进制。接收端104在根据上述判断的结果,确定待校验编码数据是否为传输错误数据时,若得到的判断结果为上述待校验编码数据中不存在两个相邻位的数据同时为1的情况,则可以确定待校验编码数据不为传输错误数据;若得到的判断结果为上述待校验编码数据中存在两个相邻位的数据同时为1,则接收端104可以确定上述待校验编码数据为传输错误数据。

通过本实施例,接收端104可以通过判断利用斐波那契标准进制表示的待校验编码数据中是否存在相邻的1,确定待校验编码数据是否为传输错误数据,提高了通信数据校验性能,同时也提高了校验效率,实现兼顾通信数据性能和效率的效果。

在一个实施例中,还包括:若确定待校验编码数据不为传输错误数据,将待校验编码数据由斐波那契标准进制转换为二进制的数据,由此得到译码数据;基于译码数据,得到发送端的待传输数据。

本实施例中,接收端104可以对待校验编码数据进行判断,具体地,接收端104可以根据上述编码规范中的数据要求,判断待校验编码数据是否为传输错误数据,接收端104可以在确定上述待校验编码数据不为传输错误数据时,对待校验编码数据进行进一步处理,具体地,可以是接收端104将待校验编码数据由斐波那契标准进制转换为二进制的数据,从而得到译码数据,即待校验编码数据可以是斐波那契标准进制表示的数据,接收端104可以对待校验编码数据进行进制转换,将斐波那契标准进制的待校验编码数据转换为二进制的译码数据,接收端104还可以根据转换得到的译码数据,得到发送端102相应的待传输数据。其中待传输数据可以是发送端102原始的要发送给接收端104的数据。

通过本实施例,接收端104可以在判断上述待校验编码数据不为传输错误数据时,对待校验编码数据进行处理,得到原始的待传输数据,通过在传输过程中利用斐波那契标准进制的形式传输,实现了兼顾校验效率和性能的效果。

在一个实施例中,将待校验编码数据由斐波那契标准进制转换为二进制的数据,包括:根据数字1在待校验编码数据中的位置,获取斐波那契数列中对应位置的数值;将数值的和进行二进制转换,得到二进制的数据。

本实施例中,接收端104可以在确定上述待校验编码数据不为传输错误数据时,对待校验编码数据进行进制转换处理,例如可以是从斐波那契标准进制转换为二进制。接收端104可以根据数字1在待校验编码数据中的位置,获取斐波那契数列中对应位置的数值,将对应位置的数值的和进行二进制转换,得到二进制数据,从而实现从斐波那契标准进制到二进制的进制转换。具体地,该过程可以被称为译码过程,译码是将斐波那契标准进制转化为二进制。例如斐波那契进制数100101010转换为二进制的过程为:,从而可以得到译码数据,其中可以为斐波那契数列中的第i个数值。

通过本实施例,接收端104可以对不为传输错误数据的待校验编码数据进行进制转换,得到译码数据,通过在传输和校验时采用斐波那契标准进制,在接收端104进行译码,可以提高在校验过程中的校验性能和效率,实现兼顾通信数据校验性能和效率的效果。

在一个实施例中,确定待校验编码数据为传输错误数据之后,还包括:向发送端102发送重传信息,重传信息用于指示发送端102重新发送待传输数据。

本实施例中,待校验编码数据可以是发送端102传输至接收端104的通信数据,接收端104可以对待校验编码数据进行校验,判断其是否为传输错误数据,例如可以通过判断待校验编码数据中是否存在相邻的1,当存在时,可以确定待校验编码数据为传输错误数据,当接收端104确定待校验编码数据为传输错误数据后,可以向发送端102发送重传信息,重传信息可以是用指示发送端102重新发送待传输数据的信息,该信息可以是代码形式,也可以是指令形式。

通过本实施例,接收端104接收到传输错误信息后,可以向发送端102发送重传指令,从而使得发送端102可以再次发送待传输数据,提高了通信数据传输的效率。

在一个实施例中,如图3所示,提供了一种通信数据传输方法,以该方法应用于图1中的发送端为例进行说明,包括以下步骤:

步骤s302,获取待传输数据。

其中,待传输数据可以是发送端102需要发送至接收端104的原始数据,发送端102可以获取待传输数据,该待传输数据可以是人为录入的数据,也可以是发送端102自动生成的数据。

步骤s304,按照斐波那契标准进制的编码规范,对待传输数据进行编码,由此得到编码数据。

其中,斐波那契标准进制的编码规范可以是根据斐波那契数列得到的一种编码规范,斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2;斐波那契标准进制可以是根据斐波那契进制进行进一步约束得到,斐波那契进制可以是将数据表示为多个互异的斐波那契数之和,具体地,如一个自然数n,该自然数n的斐波那契表示可以是:,例如。其中f为斐波那契数列中的数值,我们把一个自然数n的斐波那契表示中的所有斐波那契按位置映射到0,1组成的比特串中,即将比特串第,…,位置1,其余位置0,这种表达方式称之为斐波那契进制。发送端102可以根据上述斐波那契标准进制的编码规范,对上述待传输数据进行编码,从而得到编码数据,该编码数据可以是符合上述编码规范所对应的数据要求的数据,编码规范对应的数据要求可以包括;两个相邻位的数据不同时为1,即上述进行斐波那契标准进制转换后的编码数据中,相邻的数据不能同时为1。

步骤s306,向接收端104发送编码数据。

其中,发送端102可以在对待传输数据按照上述编码规范进行编码,形成编码数据后,向接收端104发送上述编码数据,接收端104可以接收发送端102发送的编码数据,并进行下一步处理,例如进一步对编码数据进行校验,或者根据编码数据携带的信息进行相应的处理等。

通过本实施例,发送端102通过获取待传输数据,并将待传输数据按照斐波那契标准进制的编码规范对待传输数据进行编码,得到符合编码规范对应的数据要求的编码数据,并向接收端104发送该编码数据,由于编码数据可以是符合上述斐波那契标准进制中编码规范对应的数据要求的数据,因此可以避免传输错误数据,实现提高通信数据传输效率的效果。

在一个实施例中,按照斐波那契标准进制的编码规范,对待传输数据进行编码,包括:遍历斐波那契数列,判断斐波那契数列中的当前数值是否大于待编码数据;待编码数据属于待传输数据中的数据;当当前数值大于待编码数据时,将斐波那契数列中大于待编码数据的当前数值的前一位数值进行标记,获取待编码数据与前一位数值的差值;判断差值是否为零;当差值不为零时,将待编码数据更新为差值,得到新的待编码数据,返回遍历斐波那契数列,判断斐波那契数列中的数值是否大于数据的步骤;当差值为零时,结束循环,将斐波那契数列中被标记的数值转换为1,将斐波那契数列中没有被标记的数值转换为0;根据数值转换后的斐波那契数列,得到编码数据。

本实施例中,发送端102可以对上述待传输数据,基于斐波那契标准进制的编码规范进行编码,具体地,发送端102可以遍历斐波那契数列,判断斐波那契数列中当前数值是否大于待编码数据,其中待编码数据可以是属于待传输数据中的数据;当当前数值大于待编码数据时,发送端102可以将斐波那契数列中大于待编码数据的当前数值的前一位数值进行标记,并可以获取待编码数据和前一位数值的差,判断该差值是否为零,当不为零时,将上述待编码数据更新为差值,得到新的待编码数据,并继续遍历斐波那契数列,直到得到的差值为零时,结束循环,将斐波那契数列中被标记的数值转换为1,将斐波那契数列中没有被标记的数值转换为0,发送端102可以根据数制转换后的斐波那契数列,得到编码数据。该过程可以是编码过程,例如,对于数据n,对数据n进行编码时,第一步,发送端102首先依次遍历斐波那契数列如果,记录下标,停止遍历,进行第二步。第二步,计算,如果,算法终止;否则,令,回到第一步。最后将所有记录下标的位置置1,其余位置置0,得到编码数据。

通过本实施例,发送端102可以根据斐波那契标准进制的编码规范,对待传输数据进行编码,并可以向接收端104发送编码后的数据,由于采用斐波那契标准进制的编码数据进行发送,可以实现提高通信数据传输的性能和效率的效果。

在一个实施例中,如图4所示,图4为另一个实施例中通信数据校验方法的流程示意图。其可以包括发送端102以及接收端104,发送端102可以对待传输数据进行编码,该编码可以是基于斐波那契标准进制的编码规范进行的,发送端102在完成编码后,可以将编码数据发送至接收端104,发送端102可以通过服务器发送上述编码后的数据,接收端104可以接收上述编码数据,并检查编码数据中是否存在两个相邻的1,当存在时,可以确定编码数据为传输错误数据,此时可以将发送端102发送重传信息,发送端102可以接收重传信息并向接收端104重新发送编码数据;当不存在时,可以确定编码数据不为传输错误数据,辞职接收端104可以对编码数据进行译码,并且可以根据译码后的数据,得到原始的待传输数据。

斐波那契进制标准式要求不能出现两个相邻的1。如果出现1旁边的0被错写成1的错误,那这个错误将立即被看到。我们称这种性质为一定程度的“抗干扰性”。显然,这种“抗干扰性”不仅能在一定程度上检错,还能纠错,即定位出错的位置。假如有n位斐波那契进制标准式,所有的出错可能序列数为n,所有出错序列中有相邻为1的可能数为n1,则可以检错的概率n1/n。n位二进制序列的个数为,除了自身外,其他均为可能的错误序列,因此:

用g(n)表示在有n位的二进制数中没有相邻的两个1的二进制数个数,则,利用分治算法,把规模为n的问题分成p1和p2部分,令div=n/2,那么p1中有div个元素,p2中有n-div个元素。合并的时候,已经保证p1,p2部分分别都没有相邻的两个1了,这时需要注意的就只是p1的最右边一个数和p2的最左边的一个数了。将p1中最右边的数记为a,p2中最左边的数记为b分两种情况:

(1)a不为1。这种情况比下一种情况简单一些。在p1中,a不为1,那么a就是0。这种情况下,g(div)=g(div-1)。再来考虑p2,既然a为0,那么b即使为1也没关系。这种情况下的结果就是g(div-1)*g(n-div)。

(2)a为1。因为a为1,p1中没有两个相邻的1,那么a左边的第一个数必然为0,所以在这种情况下g(div)=g(div-2)。再来考虑p2,既然a为1,那么b肯定得为0,那么b右边的数也就没有限制了,即g(n-div-1)。所以,这种情况下的结果就是g(div-2)*g(n-div-1)。

通过递推可以得到:g(1)=2,g(2)=3,g(3)=5,g(4)=8,g(5)=13,g(6)=21……

可以看出这是一个斐波那契数列,,则:

以斐波那契标准进制数1010010010101010101010为例(n=22),其在所有种可能出错序列中,出现相邻为1的有个,由“抗干扰性”可知,只要有相邻为1的均可天然被检测出来为出错序列,能检测到错误的概率为

在通讯校验方式中,奇偶校验不能检测到的错误大约占50%,累加和校检的不能检测到的错误大约占1/256。对于循环冗余校验码(crc),若有效信息长度为r,crc不能检测到的错误个数为2^r-1种,占总错误的比例为,其中r为校验码的长度,例如crc-16不能检测出来的错误占比为。斐波那契标准进制标准式不能检测出来的错误占比,其中,因此,因此,斐波那契标准进制标准式的检错能力强于奇偶校验、累加和校检,另外crc方法需要复杂的算法来生成校验码,而在斐波那契计数系统中,斐波那契进制的标准式天然自带校验能力,不需要算法生成;而在二进制系统中,则需要完成斐波那契标准进制标准式的编码和译码过程,这种编码译码过程较crc的生成过程更为简单。

通过上述实施例,接收端102可以对待传输数据进行斐波那契标准进制的编码,并将编码后的数据发送至接收端104,接收端104可以对编码数据进行校验,判断是否为传输错误的数据,并进行相应的处理,相较于传统的通过奇偶校验、累加和校验和crc校验,本方案通过利用斐波那契标准进制,对数据进行编码并进行校验,可以在实现较高的检错能力的同时,简化编码过程,从而实现兼顾通信数据校验性能和效率的效果。

应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种通信数据校验装置,应用于接收端,包括:编码数据获取模块502、判断模块504和确定模块506,其中:

编码数据获取模块502,用于获取从发送端传输来的待校验编码数据;所述待校验编码数据与发送端的编码数据对应;所述编码数据为所述发送端基于斐波那契标准进制的编码规范对待传输数据进行编码得到。

判断模块504,用于判断所述待校验编码数据是否符合所述编码规范所对应的数据要求。

确定模块506,用于根据所述判断的结果,确定所述待校验编码数据是否为传输错误数据;其中,所述斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2。

在一个实施例中,确定模块506,具体用于若判断的结果为不存在两个相邻位的数据同时为1,确定待校验编码数据不为传输错误数据;若判断的结果为存在两个相邻位的数据同时为1,确定待校验编码数据为传输错误数据。

在一个实施例中,上述装置还包括译码模块,具体用于若确定待校验编码数据不为传输错误数据,将待校验编码数据由斐波那契标准进制转换为二进制的数据,由此得到译码数据;基于译码数据,得到发送端的待传输数据。

在一个实施例中,上述译码模块,具体用于根据数字1在待校验编码数据中的位置,获取斐波那契数列中对应位置的数值;将数值的和进行二进制转换,得到二进制的数据。

在一个实施例中,上述装置还包括重传模块,用于向发送端发送重传信息,重传信息用于指示发送端重新发送待传输数据。

在一个实施例中,如图6所示,提供了一种通信数据校验装置,应用于接收端,包括:传输数据获取模块602、编码模块604和发送模块606,其中:

传输数据获取模块602,用于获取待传输数据。

编码模块604,用于按照斐波那契标准进制的编码规范,对待传输数据进行编码,由此得到编码数据。

发送模块606,用于向接收端发送编码数据;其中,斐波那契标准进制的编码规范包括:加项中不出现相邻的斐波那契数,并且最小加项大于等于2;编码数据符合编码规范所对应的数据要求。

在一个实施例中,上述编码模块604,具体用于遍历斐波那契数列,判断斐波那契数列中的当前数值是否大于待编码数据;待编码数据属于待传输数据中的数据;当当前数值大于待编码数据时,将斐波那契数列中大于待编码数据的当前数值的前一位数值进行标记,获取待编码数据与前一位数值的差值;判断差值是否为零;当差值不为零时,将待编码数据更新为差值,得到新的待编码数据,返回遍历斐波那契数列,判断斐波那契数列中的数值是否大于数据的步骤;当差值为零时,结束循环,将斐波那契数列中被标记的数值转换为1,将斐波那契数列中没有被标记的数值转换为0;根据数值转换后的斐波那契数列,得到编码数据。

关于通信数据校验装置和通信数据传输装置的具体限定可以参见上文中对于通信数据校验方法和通信数据传输方法的限定,在此不再赘述。上述通信数据校验装置和通信数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是接收端或发送端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储编码数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种通信数据校验方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述的通信数据校验方法。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述的通信数据校验方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1