CN115882876A - 一种数据编码校验方法、系统、设备、介质及电路 - Google Patents

一种数据编码校验方法、系统、设备、介质及电路 Download PDF

Info

Publication number
CN115882876A
CN115882876A CN202310126750.2A CN202310126750A CN115882876A CN 115882876 A CN115882876 A CN 115882876A CN 202310126750 A CN202310126750 A CN 202310126750A CN 115882876 A CN115882876 A CN 115882876A
Authority
CN
China
Prior art keywords
original data
coded
data
check code
fixed part
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
Application number
CN202310126750.2A
Other languages
English (en)
Other versions
CN115882876B (zh
Inventor
李岩
邵海波
王江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310126750.2A priority Critical patent/CN115882876B/zh
Publication of CN115882876A publication Critical patent/CN115882876A/zh
Application granted granted Critical
Publication of CN115882876B publication Critical patent/CN115882876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明属于计算机领域,具体涉及一种数据编码校验方法、系统、设备、介质及电路,其中方法包括:确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。通过本发明提出的一种数据编码校验方法,只需以已有的数据进行两次异或计算即可实现对待编码数据的校验,有效提升系统带宽和计算效率。

Description

一种数据编码校验方法、系统、设备、介质及电路
技术领域
本发明属于计算机领域,具体涉及一种数据编码校验方法、系统、设备、介质及电路。
背景技术
当今社会随着移动互联网与智能手机的快速发展,人们每时每刻都在产生大量的数据,数据已经渗入到每个人日常生活的方方面面。例如人们每天使用移动支付时产生的付款数据;浏览短视频时从互联网公司的服务器中接收的视频数据。以中国互联网信息中心发布的报告显示,2022年仅移动互联网接入流量就高达1241亿GB,如此海量的数据在介质(比如手机内存,电脑硬盘)中存储或是在无线信道中传输(例如手机到移动基站之间的信息传输)时都有可能因为噪声的干扰等外界因素发生信息传输错误。为了保证接收数据的正确性,通常需要在发送数据之后加入若干冗余数据作为数据校验信息。
但是,传统校验方法将校验数据放在原始数据之后浪费系统的传输带宽的缺点导致在计算校验码时存在大量的性能和带宽的浪费,以宏观视角看待,如此海量的数据通过种类繁多的终端设备实现数据校验在时间以及设备功耗的占用上消耗巨大。
因此,亟需一种有效的方案来解决上述问题。
发明内容
为解决上述问题,本发明提出一种数据编码校验方法,包括:
确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
在本发明的一些实施方式中,方法还包括:
响应于获取到待编码的原始数据,判断所述原始数据的可变部分与已编码的原始数据的可变部分是否相同。
在本发明的一些实施方式中,方法还包括:
响应于所述判断结果为相同,判断所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分是否相同。
在本发明的一些实施方式中,方法还包括:
响应于所述判断皆相同,将所述已编码的原始数据的校验码作为所述待编码的原始数据的校验码。
在本发明的一些实施方式中,方法还包括:
响应于所述待编码的原始数据的固定部分与已编码的原始数据的固定部分不相同,获取所述待编码的原始数据的固定部分和所述已编码的原始数据的固定部分及校验码。
在本发明的一些实施方式中,方法还包括:
将所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分以及校验码,按照预定方式进行计算以得到所述待编码的原始数据所对应的校验码。
在本发明的一些实施方式中,方法还包括:
响应于获取到待编码的原始数据,判断是否存对应的已编码的原始数据;
响应于不存在所述已编码的原始数据,按照第二预定方式计算所述待编码的原始数据。
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的固定部分及校验码进行保存。
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,判断所述待编码的原始数据的固定部分及校验码是否已经保存。
在本发明的一些实施方式中,方法还包括:
响应于所述待编码的原始数据的固定部分及校验码已经保存,将所述待编码的原始数据清除。
在本发明的一些实施方式中,将所述待编码的原始数据的固定部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的固定部分的哈希值,并将所述哈希值与所述原始数据的校验码和可变部分作为键值对保存到第一预定列表。
在本发明的一些实施方式中,方法还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的固定部分按照预定算法进行哈希计算得到对应的哈希值。
在本发明的一些实施方式中,方法还包括:
基于所述哈希值在所述第一预定列表中进行查找,响应于查找到对应得到键值对,则将所述键值对中的校验码以及可变部分返回并用于与所述待编码数据的可变部分按照第一预定方式进行计算。
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的可变部分及校验码进行保存。
在本发明的一些实施方式中,将所述待编码的原始数据的可变部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的可变部分的哈希值,并将所述哈希值与所述原始数据的校验码和固定部分作为键值对保存到第二预定列表。
在本发明的一些实施方式中,方法还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的可变部分按照预定算法进行哈希计算得到对应的哈希值。
在本发明的一些实施方式中,方法还包括:
基于所述哈希值在所述第二预定列表中进行查找,响应于查找到对应得到键值对,则将所述键值对中的固定部分以及校验码返回并用于与所述待编码数据的固定部分按照第一预定方式进行计算。
本发明的另一方面还提出一种数据编码校验系统,包括:
数据预处理模块,所述数据预处理模块配置用于,确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
数据编码模块,所述数据编码模块配置用于将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
本发明的又一方面还提出一种数据编码校验电路,其特征在于,包括:
判断模块,所述判断模块配置用于判断待编码的原始数据中的可变部分和/或固定部分是否与已知的已编码的原始数据中对应的可变部分和/或固定部分是否相同,并根据判断结果向选择模块发送选择信号。
第一计算模块,所述第一计算模块配置用于将所述待编码的原始数据中的可变部分和已编码的原始数据中的可变部分进行计算或将所述待编码的原始数据中的固定部分和已编码的原始数据中的部分进行计算,并将计算结果发送到第二计算模块;
第二计算模块,所述第二计算模块配置用于将第一计算模块计算结果和已编码的原始数据中所对应的校验码进行计算,并将计算结果发送到选择模块;
选择模块,所述选择模块配置用于,根据判断模块的选择信号,选择第二计算模块的结果或已编码的原始数据的校验码作为待编码的原始数据的校验码进行输出。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种数据编码校验方法,只需以已有的数据进行两次异或计算即可实现对待编码数据的校验,有效提升系统带宽和计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据编码校验方法的流程示意图;
图2为本发明实施例提供的一种数据编码校验系统的结构示意图;
图3为本发明实施例提供的一种计算机设备的结构示意图;
图4为本发明实施例提供的一种计算机可读存储介质的结构示意图;
图5为本发明实施例提供的应用场景示意图;
图6为本发明实施例提供的传统的块编码原理示意图;
图7为本发明实施例提供的传统的卷积编码的示意图;
图8为本发明实施例提供的伽罗华域的乘法操作示意图;
图9为本发明实施例提供的传统的循环冗余编码的串联实施方式示意图;
图10为本发明实施例提供的传统的循环冗余编码的并联实施方式示意图;
图11为本发明实施例提供的传输数据格式示意图;
图12为本发明实施例提供的传输数据格式示意图;
图13为本发明实施例提供的部分循环冗余编码的电路示意图;
图14为本发明实施例提供的部分CRC解码电路的示意图;
图15为本发明实施例提出的一种数据编码校验电路的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明旨在解决传统的数据校验时的性能和带宽的损耗问题。在传统的实现方式上,为保证数据安全,如图5所示是一个典型的数据传输通路,原始数据经过编码器编码之后经过信道发送到接收端,接收端接收到发送端传输的数据后进行解码操作,解码之后得到原始数据进行进一步的处理。编码器产生的数据校验位是根据发送原始数据经过一系列运算生成。
常用的编码方式包含以下几种:
1.块编码(Block Code):块编码是将原始发送数据分割为若干个长度相同数据,每段的长度为
Figure SMS_1
。此信息块通常用/>
Figure SMS_2
维的数组表示:
Figure SMS_3
可以看到
Figure SMS_4
维信息块总共有/>
Figure SMS_5
种可能的数据。编码器经过编码生成待发送数据,此数据通常用/>
Figure SMS_6
维数组表示:
Figure SMS_7
这样的
Figure SMS_8
维数组称之为码字。
如图6所示,由
Figure SMS_9
位原始数据生成的/>
Figure SMS_10
位编码数据称为/>
Figure SMS_11
,原始数据的长度从/>
Figure SMS_12
增加到/>
Figure SMS_13
,增加的/>
Figure SMS_14
长度的数据称为校验数据,校验数据通常附加在原始数据之后形成待发送的编码数据。
由于
Figure SMS_15
位的编码数据仅仅由当前长度为/>
Figure SMS_16
的发送数据得到,与之前和之后的数据都没有关系,这样的编码器在硬件实现时可以仅仅使用组合逻辑(combinational logic)即可,不需要引入寄存器等时序逻辑。块编码的解码过程与编码相反,是经过组合逻辑直接将当前/>
Figure SMS_17
位编码数据译码为/>
Figure SMS_18
位原始数据。
2.卷积码(convolutional Code):如图7所示,卷积编码的生成方式与块编码类似,都是将
Figure SMS_19
的原始数据转化为/>
Figure SMS_20
位的编码数据。卷积编码器的输出不仅与当前的时刻的k位原始数据有关,而且与之前的/>
Figure SMS_21
位原始数据有关,卷积编码器生成的/>
Figure SMS_22
位数据称为
Figure SMS_23
卷积编码。卷积编码的硬件实现需要使用时序逻辑(sequential logic),实现的复杂的要远远高于块编码,但是由于卷积码的编码考虑到了不同时刻原始数据之间的相关性,因而在纠错能力方面要大于块编码。
块编码中包含许多种不同的编码方式,本专利主要讨论的是块编码的一个应用非常广泛的分支:循环冗余编码(Cyclic Redundancy code,CRC)该编码由于实现简单,检测错误效果好,因此在无线通信,网络,介质存储等系统中得到了广泛的应用。
首先介绍一些相关基础知识:伽罗华域:伽罗华域(Galois Field)定义了一组元素与元素之间的运算符号的结果,以编码中最常用的二进制伽罗华域(GF(2)={0,1})为例,其加法与乘法定义如下:
加法⊕ 0 1
0 0 1
1 1 0
乘法⊙ 0 1
0 0 0
1 0 1
从上表可以看出,GF(2)上的加法⊕可以看做两个元素进行异或(XOR)运算的结果。
GF(2)上的除法与普通除法不同的是GF(2)的除法没有“借位”操作,如图8所示,除法过程中发生的减法可以与GF(2)的加法相等同,可以看做每一位进行异或(XOR)。
多项式:GF(2)上的多项式定义如下:
Figure SMS_24
其中
Figure SMS_25
。即多项式的系数在FG(2)定义的集合中。
GF(2)上的多项式的加减乘除运算与普通多项式运算类似,令
Figure SMS_26
为另一个多项式,则多项式的加法定义为:
Figure SMS_27
注意到系数相加
Figure SMS_28
为异或运算,乘法运算与加法运算相似,都是将系数进行异或运算。除法则稍微特殊一些:
Figure SMS_29
不为0时,如果/>
Figure SMS_30
能被/>
Figure SMS_31
整除,那么/>
Figure SMS_32
可以表示为:
Figure SMS_33
其中
Figure SMS_34
称为商,/>
Figure SMS_35
为余数。假设/>
Figure SMS_36
,/>
Figure SMS_37
。可以得到:/>
Figure SMS_38
其中
Figure SMS_39
根据前面码字以及多项式的定义,长度为
Figure SMS_40
的码字/>
Figure SMS_41
可以用下面的多项式表示:
Figure SMS_42
如果将
Figure SMS_43
数组向左移动/>
Figure SMS_44
位,可以得到移动之后的新的数组:
Figure SMS_45
上式所对应的多项式为:
Figure SMS_46
如果
Figure SMS_47
也是长度为/>
Figure SMS_48
的一个码字,那么称这样的/>
Figure SMS_49
块编码为循环冗余编码(CRC)。经过简单的推导,/>
Figure SMS_50
与/>
Figure SMS_51
之间的关系为:
Figure SMS_52
可以得到多项式
Figure SMS_53
是/>
Figure SMS_54
被/>
Figure SMS_55
除之后的余数。
从公式9可以得出,如果想要得到
Figure SMS_56
这个余数多项式,就必须先得到/>
Figure SMS_57
。在循环冗余编码中有一个特殊的多项式为生成多项式/>
Figure SMS_58
,/>
Figure SMS_59
的因子,即
Figure SMS_60
,可以证明所有的循环冗余编码都是这个生成多项式的倍数,因此可以用/>
Figure SMS_61
来得出所有的码字。
生成多项式相关知识本专利的讨论范围,生成多项式在校验数据的长度
Figure SMS_62
确定之后是一个确定的值,具体的多项式可以相应的标准中找到。
下面推导如何根据生成多项式来得出循环冗余编码的每个码字。假设长度为
Figure SMS_63
的原始数据的多项式为:
Figure SMS_64
将上式两边乘以
Figure SMS_65
, 可以得到:
Figure SMS_66
上式两边同时除以生成多项式
Figure SMS_67
, 可以得到:
Figure SMS_68
重新将上式组织:
Figure SMS_69
如前所述,所有循环冗余编码都是由生成多项式的倍数产生,结合上式可以知道
Figure SMS_70
是一个循环冗余编码。其中/>
Figure SMS_71
是原始数据多项式,/>
Figure SMS_72
是校验数据多项式。可以得到循环冗余编码的实施步骤:/>
Step 1:将原始数据多项式
Figure SMS_73
乘以/>
Figure SMS_74
(补零);
Step 2:得到
Figure SMS_75
与/>
Figure SMS_76
相除的余/>
Figure SMS_77
Step 3:
Figure SMS_78
与/>
Figure SMS_79
加起来即使需要的循环冗余编码。
下面利用一个例子来说明如何进行CRC计算:
原始数据: 1101011011;
生成多项式: 10011;
原始数据补0之后数据: 1101011011(0000);
下面进行计算:
11010110110000/10011 = 1100001010 (商)...1110(余数);
实际上我们并不在乎商的数值,CRC仅需要得到余数即可,将余数补到原始数据之后可以得到需要传输的数据为: 1101011011(1110)。
目前CRC算法主要分为软件实现与硬件实现两种类型,其中传统的硬件实现方法主要分为两种:
如图9所示,串行实现法:硬件直接实现方法是用硬件来模拟原始数据与
Figure SMS_80
相乘之后与/>
Figure SMS_81
相除取余数的操作,在实际中一般使用线性反馈移位寄存器(Linearfeedback shift register, LFSR)来实现,如图9所示,/>
Figure SMS_82
为生成多项式
Figure SMS_83
的系数,原始数据在每一个时钟周期将1比特数据放入最右边的寄存器,经过/>
Figure SMS_84
个时钟周期之后产生数据就是校验数据。
串行实现法简单,而且由于插入了多级寄存器,所以硬件实现后关键路径的长度很短,系统可以工作在较高的时钟频率,缺点就是由于多级寄存器的存在,需要
Figure SMS_85
个周期之后才能得到需要的校验数据。
并行实现法:对串行实现法进行递推,可以得到校验数据的每一个比特与输入原始数据若各个比特之间的关系,一般来说,校验数据的某一个比特由输入数据的某几个比特异或产生,具体的对应关系可以使用成熟的在线循环冗余校验硬件代码生成工具得到。
如图10所示是并行实现法的硬件原理图,
Figure SMS_86
为原始数据的第/>
Figure SMS_87
位,/>
Figure SMS_88
为校验数据的第/>
Figure SMS_89
位。并行实现方法由于全部使用逻辑器件搭建,所以可以在一个时钟周期内输出校验值,但是缺点就是由于没有寄存器的加入,所以关键路径在数据长度很长的场景下会非常大,会造成芯片在布局布线时时序难以收敛。
传统CRC校验方法需要在原始数据之后增加若干位校验比特,所以会浪费一部分系统带宽用于传输校验数据。当原始数据较短而校验数据比较长时会浪费大量的系统带宽。在实际系统中,系统传输的数据宽度
Figure SMS_90
一般为一个固定值,所有处理的数据必须是/>
Figure SMS_91
长度的倍数,例如在10GHz以太网中,以太网数据必须以64比特边界,如果数据的宽度不是以64比特的整数倍,那么在最后的一个64比特中必须要将没有使用的位进行置0操作。
如图11所示,通常情况下填充数据是0,这样做就会浪费
Figure SMS_92
位的数据带宽。数据的实际利用效率为/>
Figure SMS_93
。可以看到当/>
Figure SMS_94
与/>
Figure SMS_95
长度差异不大时利用率会下降很多。这种情况多出现在若干个单个数据块的验证,例如常用的CRC32校验中,原始数据长度32,校验长度32,系统的带宽利用率只有50%。
如图1所示,为了克服填充数据与校验数据带来的系统带宽利用率降低的情况,本实施例提出了一种数据编码校验方法,包括:
步骤S1、确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
步骤S2、将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
在本发明的实施例中,待编码的原始数据是指由上游或其他模块产生的要发送的数据。如图11所示,经过编码后则形成由校验数据(即校验码)、填充数据和原始数据的形式发送。
进一步,如图12所示,根据CRC编码定义,原始数据又可以分为可变数据和固定数据。
因此,在步骤S1中,确定待编码的原始数据中的可变部分和固定部分的数据内容,同时根据该固定部分确定已编码的原始数据中与该固定部分相同的已经编码过得原始数据的校验码(图11和图12中的校验数据)、固定数据、可变数据(与之前相对的)。
具体的,以以太网应用场景下为例,已编码的原始数据类似于之前通过网络发出的数据,包含对应的可变部分、固定部分、校验码(校验数据)。当从系统内部再有数据产生发送来时,即为待编码的原始数据,在此种情况下,两次传输的固定数据一般不会变化。可变部分是由新产生的数据。因此在以太网应用场景下,需要确定上一次发送的已经编码的原始数据所对应的校验码和固定部分、可变部分和当前准备发送的未编码的原始数据的可变部分和固定部分。
在步骤S2中,将待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码依次进行两次异或即可得到待编码的原始数据对应的校验码。上述过程与传统的方式明显不同,传统的实现方式会根据待编码的原始数据的可变部分、固定部分按照循环冗余编码的计算方式重新计算该待编码的原始数据的校验码。即前文提到的串行和并行运算方式。
进一步,步骤S2中的计算方式之所以可以实现仅仅通过两次异或的原理如下:
以图12所示的数据格式为例:
原始数据的多项式可以写为:
Figure SMS_96
Figure SMS_97
Figure SMS_98
为可变数据的多项式,
Figure SMS_99
为固定数据部分多项式。
下面对
Figure SMS_100
与/>
Figure SMS_101
进行分析,令/>
Figure SMS_102
固定值(数据长度不变,/>
Figure SMS_103
不变)为生成多项式,由于/>
Figure SMS_104
与/>
Figure SMS_105
均为循环冗余编码,根据CRC(循环)编码的定义,可以得到(注意以下的+均为GF(2)上的异或):
Figure SMS_106
/>
Figure SMS_107
将式公式14与式15相加可以得到:
Figure SMS_108
其中
Figure SMS_110
,/>
Figure SMS_114
为/>
Figure SMS_119
与/>
Figure SMS_111
被/>
Figure SMS_112
除之后的商,/>
Figure SMS_115
与/>
Figure SMS_116
为相应的余数。令/>
Figure SMS_109
为/>
Figure SMS_113
被/>
Figure SMS_117
除之后的商,/>
Figure SMS_118
为相应的余数,可以得到:
Figure SMS_120
对比式16)与式17)可以得到
Figure SMS_121
Figure SMS_122
由于CRC校验和就是原始数据的多项式与生成多项式相除之后的余数,所以理论上我们如果想得到原始数据的校验和只要得到可变部分的数据余数
Figure SMS_123
与固定部分的数据余数/>
Figure SMS_124
后将两者相加起来就可以得到。
设旧的校验和为:
Figure SMS_125
设新的校验和为:
Figure SMS_126
Figure SMS_127
下面分析如何计算
Figure SMS_128
与/>
Figure SMS_129
,如前所述,由于固定部分在原始数据中保持不变,所以/>
Figure SMS_130
与/>
Figure SMS_131
相同,用/>
Figure SMS_132
表示:
Figure SMS_133
但是我们收到的旧的校验
Figure SMS_134
由/>
Figure SMS_135
和/>
Figure SMS_136
两部分异或得出,所以为了得到/>
Figure SMS_137
,可以利用异或运算的特征得到:
Figure SMS_138
其中
Figure SMS_139
保存在填充数据中,将公式20和公式21代入19)可以得到:
Figure SMS_140
从公式22可以看出想要得到新的校验和
Figure SMS_141
,就必须要计算新的可变数据的校验和/>
Figure SMS_142
与旧的可变数据的校验和/>
Figure SMS_143
。由于可变数据的长度通常远小于固定数据的长度,如图10所示,利用并行法可以推导出相应的CRC校验和的计算公式:
Figure SMS_144
注意到为了得出
Figure SMS_145
与/>
Figure SMS_146
,需要例化两个长度为/>
Figure SMS_147
的CRC编码器,为了对两个编码器进行合并,首先证明下面的定理:
Figure SMS_149
为某循环冗余编码的生成多项式,其生成的一个码字多项式为/>
Figure SMS_152
, 另一个码为/>
Figure SMS_153
,
Figure SMS_150
被/>
Figure SMS_156
除之后得到的余数多项式为/>
Figure SMS_158
,/>
Figure SMS_159
被/>
Figure SMS_148
除之后得到的余数多项式为/>
Figure SMS_154
,则码字多项式/>
Figure SMS_155
被/>
Figure SMS_157
除之后得到的余数多项式为/>
Figure SMS_151
证明:
Figure SMS_160
Figure SMS_161
将上式相加可以得到:
Figure SMS_162
其中,
Figure SMS_163
循环冗余编码的标志,表示k维的数据,/>
Figure SMS_164
和/>
Figure SMS_165
分别表示对应的除数。通过上式可以得到/>
Figure SMS_166
被/>
Figure SMS_167
除之后的余数多项式为/>
Figure SMS_168
根据上面的定理,令校验多项式
Figure SMS_169
对应的原始数据多项式为/>
Figure SMS_170
, 校验多项式/>
Figure SMS_171
对应的原始数据多项式为/>
Figure SMS_172
,可以得到:
Figure SMS_173
其中Rem表示取余操作。由公式24可以看出新的原始数据的校验比特等于固定数据部分新旧数据之间进行异或后取余数,然后再和固定数据部分的校验数据进行异或,即可以得到新的原始数据的校验码。
也即通过将待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码依次进行两次异或即可得到待编码的原始数据对应的校验码。
在本发明的一些实施方式中,方法还包括:
响应于获取到待编码的原始数据,判断所述原始数据的可变部分与已编码的原始数据的可变部分是否相同。
在本发明的一些实施方式中,方法还包括:
响应于所述判断结果为相同,判断所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分是否相同。
在本发明的一些实施方式中,方法还包括:
响应于所述判断皆相同,将所述已编码的原始数据的校验码作为所述待编码的原始数据的校验码。
在本发明的一些实施方式中,在收到待编码的原始数据之后,解析出该待编码的原始数据中的可变部分是否与已保存的已编码的原始数据的可变部分相同,如果相同,则说明待编码的原始数据可能被编码过,此时需要再次判断待编码的原始数据的固定部分是否仍然与已编码的原始数据的固定部分相同,如果相同,则说明该待编码的原始数据已被编码过,只需将已编码的原始数据的校验码作为该待编码的原始数据的校验码即可。
在本发明的一些实施方式中,方法还包括:
响应于所述待编码的原始数据的固定部分与已编码的原始数据的固定部分不相同,获取所述待编码的原始数据的固定部分和所述已编码的原始数据的固定部分及校验码。
在本发明的一些实施方式中,方法还包括:
将所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分以及校验码,按照预定方式进行计算以得到所述待编码的原始数据所对应的校验码。
在本实施例中,当待编码的原始数据和已编码的原始数据的可变部分相同,但对应的固定部分不同时,则将对应的固定部分(包括待编码的固定部分和已编码的固定部分)以及已编码的原始数据的校验码进行异或运算,得到的结果作为待编码的原始数据的校验码。
在本发明的一些实施方式中,方法还包括:
响应于获取到待编码的原始数据,判断是否存对应的已编码的原始数据;
响应于不存在所述已编码的原始数据,按照第二预定方式计算所述待编码的原始数据。
在本实施例中,本发明的提出的简化循环冗余编码的计算方式可以通过软件实现,并且将已编码的原始数据及其对应的校验码保存,当接收到新的待编码的原始数据时,先根据可变部分和固定部分判断该待编码的原始数据中的全部内容或部分内容是否被编码过,如果部分内容(可变部分或固定部分)存在被编码过,则通过上述实施例中的编码方式,将待编码的可变部分和已编码的可变部分以及已编码的校验码进行异或,或者是将待编码的固定部分与已编码的固定部分以及已编码的校验码进行异或计算。
如果待编码的原始数据的可变部分和固定部分均未被编码过,则通过循环冗余代码的常规计算方式计算该待编码的原始数据。
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的固定部分及校验码进行保存。
进一步,在本实施例中,无论是通过哪种方式计算得到一个原始数据的校验码都将其内容进行保存
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,判断所述待编码的原始数据的固定部分及校验码是否已经保存。
在本发明的一些实施方式中,方法还包括:
响应于所述待编码的原始数据的固定部分及校验码已经保存,将所述待编码的原始数据清除。
在本发明的一些实施方式中,将所述待编码的原始数据的固定部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的固定部分的哈希值,并将所述哈希值与所述原始数据的校验码和可变部分作为键值对保存到第一预定列表。
在本发明的一些实施方式中,方法还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的固定部分按照预定算法进行哈希计算得到对应的哈希值。
在本发明的一些实施方式中,方法还包括:
基于所述哈希值在所述第一预定列表中进行查找,响应于查找到对应得到键值对,则将所述键值对中的校验码以及可变部分返回并用于与所述待编码数据的可变部分按照第一预定方式进行计算。
在本发明的一些实施方式中,方法还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的可变部分及校验码进行保存。
在本发明的一些实施方式中,将所述待编码的原始数据的可变部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的可变部分的哈希值,并将所述哈希值与所述原始数据的校验码和固定部分作为键值对保存到第二预定列表。
在本发明的一些实施方式中,方法还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的可变部分按照预定算法进行哈希计算得到对应的哈希值。
在本发明的一些实施方式中,方法还包括:
基于所述哈希值在所述第二预定列表中进行查找,响应于查找到对应得到键值对,则将所述键值对中的固定部分以及校验码返回并用于与所述待编码数据的固定部分按照第一预定方式进行计算。
如图2所示,本发明的另一方面还提出一种数据编码校验系统,包括:
数据预处理模块1,所述数据预处理模块1配置用于确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
数据编码模块2,所述数据编码模块2配置用于将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
如图15所示,本发明的又一方面还提出一种数据编码校验电路,其特征在于,包括:
判断模块31,所述判断模块31配置用于判断待编码的原始数据中的可变部分和/或固定部分是否与已知的已编码的原始数据中对应的可变部分和/或固定部分是否相同,并根据判断结果向选择模块发送选择信号。
第一计算模块32,所述第一计算模块32配置用于将所述待编码的原始数据中的可变部分和已编码的原始数据中的可变部分进行计算或将所述待编码的原始数据中的固定部分和已编码的原始数据中的部分进行计算,并将计算结果发送到第二计算模块;
第二计算模块33,所述第二计算模块33配置用于将第一计算模块计算结果和已编码的原始数据中所对应的校验码进行计算,并将计算结果发送到选择模块;
选择模块34,所述选择模块34配置用于根据判断模块的选择信号,选择第二计算模块的结果或已编码的原始数据的校验码作为待编码的原始数据的校验码进行输出。
在本实施例中,具体电路连接关系如图13所示,图13为本法明所提出的部分CRC编码电路图,首先新的可变数据与旧的可变数据进行比较,如果两者一致则直接将旧的校验数据输出即可,否则新的可变数据与旧的可变数据进入异或求余单元,注意由于异或求余部分输入数据仅是可变数据,与传统CRC编码器相比大大降低了电路的复杂度。尤其是当可变数据长度远远小于固定数据长度的时,本发明提出的方法可以节省更多的芯片资源与面积。求余之后的结果与旧的校验数据进行异或后得到新的校验数据。最后新的可变数据,固定数据与新的校验数据组成新的发送数据。与编码器相对应的是解码器的设计如图14所示,在解码端首先将校验数据从接收数据中分离出来,随后将接收数据中的校验数据部分置0,然后经过求余操作即可得到数据的实际校验值,将实际校验值与之前的期望校验值进行比较,如果相同则说明数据传输过程中没有发生错误,否则将会触发CRC校验错误的逻辑,根据实际场景选择下一步的处理方案。
本发明利用原始数据中的填充数据(此填充数据通常为全0),当填充数据位宽大于校验位宽时将原本放置在原始数据之后的校验数据放置到填充数据中,极大的提高了系统的带宽利用效率,尤其是当填充数据的位宽比较大时,更是可以显著的提升系统的性能。当填充位宽小于校验位宽时,可以将校验数据进行截断后放入填充数据中。
本发明提出将原始数据根据其在系统中的变化情况分可变数据与固定数据,在循环冗余编码中充分利用旧数据的校验数据来生成新的校验数据。在编码过程中仅仅需要计算出新的可变数据与旧的可变数据的循环冗余编码,再将其与旧的校验数据进行异或后即可得到新的校验数据。此方法将原本需要编码的长度从整个原始数据长度降低到仅仅考虑可变数据长度,极大的降低了硬件实现的复杂度,减少了系统的资源。针对提出的编码方法,本发明还提出了相应的解码方法,首先将校验数据从原始数据的填充数据中分离出来,然后将填充数据置0,随后将数据送往求余器得到校验数据,最后将计算得出的校验数据与收到的校验数据进行比较,如果相同则说明传输正确,否则需要进一步对数据进行处理。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
如图3所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现上述实施方式中任意一项所述方法的步骤。
如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (21)

1.一种数据编码校验方法,其特征在于,包括:
确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于获取到待编码的原始数据,判断所述原始数据的可变部分与已编码的原始数据的可变部分是否相同。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于所述判断结果为相同,判断所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分是否相同。
4.根据权利要求3所述的方法,其特征在于,还包括:
响应于所述判断皆相同,将所述已编码的原始数据的校验码作为所述待编码的原始数据的校验码。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于所述待编码的原始数据的固定部分与已编码的原始数据的固定部分不相同,获取所述待编码的原始数据的固定部分和所述已编码的原始数据的固定部分及校验码。
6.根据权利要求5所述的方法,其特征在于,还包括:
将所述待编码的原始数据的固定部分与所述已编码的原始数据的固定部分以及校验码,按照预定方式进行计算以得到所述待编码的原始数据所对应的校验码。
7.根据权利要求1所述的方法,其特征在于,还包括:
响应于获取到待编码的原始数据,判断是否存对应的已编码的原始数据;
响应于不存在所述已编码的原始数据,按照第二预定方式计算所述待编码的原始数据。
8.根据权利要求7所述的方法,其特征在于,还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的固定部分及校验码进行保存。
9.根据权利要求8所述的方法,其特征在于,还包括:
响应于通过计算获取到待编码的原始数据的校验码,判断所述待编码的原始数据的固定部分及校验码是否已经保存。
10.根据权利要求9所述的方法,其特征在于,还包括:
响应于所述待编码的原始数据的固定部分及校验码已经保存,将所述待编码的原始数据清除。
11.根据权利要求8所述的方法,其特征在于,将所述待编码的原始数据的固定部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的固定部分的哈希值,并将所述哈希值与所述原始数据的校验码和可变部分作为键值对保存到第一预定列表。
12.根据权利要求11所述的方法,其特征在于,还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的固定部分按照预定算法进行哈希计算得到对应的哈希值。
13.根据权利要求12所述的方法,其特征在于,还包括:
基于所述哈希值在所述第一预定列表中进行查找得到键值对,则将所述键值对中的校验码以及可变部分返回并用于与所述待编码数据的可变部分按照第一预定方式进行计算。
14.根据权利要求7所述的方法,其特征在于,还包括:
响应于通过计算获取到待编码的原始数据的校验码,将所述待编码的原始数据的可变部分及校验码进行保存。
15.根据权利要求14所述的方法,其特征在于,所述将所述待编码的原始数据的可变部分及校验码进行保存包括:
按照预定算法计算所述待编码的原始数据的可变部分的哈希值,并将所述哈希值与所述原始数据的校验码和固定部分作为键值对保存到第二预定列表。
16.根据权利要求15所述的方法,其特征在于,还包括:
响应于获取到新的待编码的原始数据,获取所述待编码的原始数据中的可变部分按照预定算法进行哈希计算得到对应的哈希值。
17.根据权利要求16所述的方法,其特征在于,还包括:
基于所述哈希值在所述第二预定列表中进行查找,响应于查找到对应得到键值对,则将所述键值对中的固定部分以及校验码返回并用于与所述待编码数据的固定部分按照第一预定方式进行计算。
18.一种数据编码校验系统,其特征在于,包括:
数据预处理模块,所述数据预处理模块配置用于,确定待编码的原始数据的可变部分和固定部分以及与所述待编码的原始数据的具有相同固定部分的已编码的原始数据及其对应的校验码;
数据编码模块,所述数据编码模块配置用于将所述待编码的原始数据的可变部分与已编码的原始数据对应的可变部分和校验码按照第一预定方式进行计算得到待编码的原始数据所对应的校验码。
19.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-17任意一项所述方法的步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-17任意一项所述方法的步骤。
21.一种数据编码校验电路,其特征在于,包括:
判断模块,所述判断模块配置用于判断待编码的原始数据中的可变部分和/或固定部分是否与已知的已编码的原始数据中对应的可变部分和/或固定部分是否相同,并根据判断结果向选择模块发送选择信号;
第一计算模块,所述第一计算模块配置用于将所述待编码的原始数据中的可变部分和已编码的原始数据中的可变部分进行计算或将所述待编码的原始数据中的固定部分和已编码的原始数据中的部分进行计算,并将计算结果发送到第二计算模块;
第二计算模块,所述第二计算模块配置用于将第一计算模块计算结果和已编码的原始数据中所对应的校验码进行计算,并将计算结果发送到选择模块;
选择模块,所述选择模块配置用于,根据判断模块的选择信号,选择第二计算模块的结果或已编码的原始数据的校验码作为待编码的原始数据的校验码进行输出。
CN202310126750.2A 2023-02-16 2023-02-16 一种数据编码校验方法、系统、设备、介质及电路 Active CN115882876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310126750.2A CN115882876B (zh) 2023-02-16 2023-02-16 一种数据编码校验方法、系统、设备、介质及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310126750.2A CN115882876B (zh) 2023-02-16 2023-02-16 一种数据编码校验方法、系统、设备、介质及电路

Publications (2)

Publication Number Publication Date
CN115882876A true CN115882876A (zh) 2023-03-31
CN115882876B CN115882876B (zh) 2023-06-13

Family

ID=85761264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310126750.2A Active CN115882876B (zh) 2023-02-16 2023-02-16 一种数据编码校验方法、系统、设备、介质及电路

Country Status (1)

Country Link
CN (1) CN115882876B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708590A (zh) * 2023-06-27 2023-09-05 广州呗呗科技有限公司 一种基于can总线的稳定器控制系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987006036A1 (en) * 1986-03-28 1987-10-08 Ampex Corporation Digital data transmission with detection of errors, including word framing errors
WO2016177385A1 (en) * 2015-05-04 2016-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Generating cryptographic checksums
WO2017177926A1 (zh) * 2016-04-13 2017-10-19 中兴通讯股份有限公司 一种数据传输处理方法和装置
CN111726622A (zh) * 2019-03-20 2020-09-29 腾讯美国有限责任公司 视频解码的方法和装置
CN111884680A (zh) * 2020-06-20 2020-11-03 青岛鼎信通讯股份有限公司 一种应用于电力线载波通信系统的rs编码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987006036A1 (en) * 1986-03-28 1987-10-08 Ampex Corporation Digital data transmission with detection of errors, including word framing errors
WO2016177385A1 (en) * 2015-05-04 2016-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Generating cryptographic checksums
WO2017177926A1 (zh) * 2016-04-13 2017-10-19 中兴通讯股份有限公司 一种数据传输处理方法和装置
CN111726622A (zh) * 2019-03-20 2020-09-29 腾讯美国有限责任公司 视频解码的方法和装置
CN111884680A (zh) * 2020-06-20 2020-11-03 青岛鼎信通讯股份有限公司 一种应用于电力线载波通信系统的rs编码方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708590A (zh) * 2023-06-27 2023-09-05 广州呗呗科技有限公司 一种基于can总线的稳定器控制系统及方法
CN116708590B (zh) * 2023-06-27 2024-01-23 广州呗呗科技有限公司 一种基于can总线的稳定器控制系统及方法

Also Published As

Publication number Publication date
CN115882876B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
EP0950300B1 (en) Secondary channel using code violations
Hou et al. BASIC codes: Low-complexity regenerating codes for distributed storage systems
US7219293B2 (en) High performance CRC calculation method and system with a matrix transformation strategy
US9071275B2 (en) Method and device for implementing cyclic redundancy check codes
US7206992B2 (en) Decoding a received BCH encoded signal
US7502988B2 (en) Decoding and error correction for algebraic geometric codes
Zhang et al. High-speed architectures for parallel long BCH encoders
US7392461B2 (en) Decoding for algebraic geometric code associated with a fiber product
WO2018133215A1 (zh) 基于lsc-crc译码的分段极化码编译码方法及系统
US8914698B2 (en) Cyclic redundancy check circuit and communication system having the same for multi-channel communication
US20080040644A1 (en) Method of correcting message errors using cyclic redundancy checks
WO2017121334A1 (zh) 一种数据处理的方法和装置
MXPA04007076A (es) Mensajeria en bloque de componente intra-decodificador.
Van Waes et al. Effectiveness of hamming single error correction codes under harsh electromagnetic disturbances
US7461329B2 (en) Channel encoding adapted to error bursts
CN115882876A (zh) 一种数据编码校验方法、系统、设备、介质及电路
Xu et al. Variable shortened-and-punctured Reed-Solomon codes for packet loss protection
Einarsson et al. A note on soft decision decoding with successive erasures (corresp.)
MXPA04007075A (es) Celda de busqueda chien para un decodificador de correccion de error.
US11184034B2 (en) Method and device for decoding staircase code, and storage medium
US8132078B2 (en) Decoding method for algebraic geometric codes and associated device
CN101848055A (zh) 一种数据修正方法和装置
US7181671B2 (en) Parallelized CRC calculation method and system
Huang et al. Hardware Decoding Accelerator of (73, 37, 13) QR Code for Power Line Carrier in UPIoT
Luo et al. Optimized Algebraic Decoding Algorithm for (47, 24, 11) QR Code

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