CN117234792B - 一种用于dpu的数据校验方法、装置、设备及介质 - Google Patents
一种用于dpu的数据校验方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117234792B CN117234792B CN202311489831.5A CN202311489831A CN117234792B CN 117234792 B CN117234792 B CN 117234792B CN 202311489831 A CN202311489831 A CN 202311489831A CN 117234792 B CN117234792 B CN 117234792B
- Authority
- CN
- China
- Prior art keywords
- check result
- service data
- data sequence
- bit
- target service
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013524 data verification Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 230000007306 turnover Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本公开涉及一种用于DPU的数据校验方法、装置、设备及介质,包括:检测作用于随机存取存储器的数据写入事件,在数据写入事件完成的情况下,触发数据读取指令;响应数据读取指令,从随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个目标业务数据序列对应的原始奇偶校验结果;对目标业务数据序列进行奇偶校验,得到目标业务数据对应的目标奇偶校验结果;基于目标奇偶校验结果以及原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果。本公开对读取出的目标业务数据序列重新进行奇偶校验,可以精准的确定目标业务数据序列相比原始业务数据序列是否发生连续多个比特位翻转,能够及时发现FPGA的问题。
Description
技术领域
本公开涉及数据处理领域,具体涉及一种用于DPU的数据校验方法、装置、设备及介质。
背景技术
设备虚拟化在云计算发展中扮演中非常重要的角色。在设备虚拟化过程中,可以将数据处理器(Data Processing Unit,缩写:DPU)作为硬件虚拟化的底座在。在不同的应用场景中,DPU也可以称为中央处理器分散处理单元、处理器单元等等。
通常DPU可以使用现场可编程逻辑门阵列(Field Programmable Gate Array,缩写:FPGA)作为它的硬件加速器。由于FPGA承载着DPU的业务卸载和基础数据通路,所以FPGA的稳定性是非常重要的环节,FPGA主要由查找表(Look-Up-Table,缩写LUT)和随机存取存储器(Random Access Memory,缩写:RAM)组成。
目前,大气层存在种子或粒子可能会导致FPGA相关RAM的比特位翻转。如高能光子或伽玛射线,当这些粒子穿过芯片时,它们可能与芯片中的电子发生相互作用,引发能量传输,导致芯片上的一个或多个位的值发生翻转。当 RAM 中的位翻转时,可能会导致错误的数据写入或读取,从而影响DPU的正常运行。
基于此,现有的检测方案一般采用检测方法能够发现单比特位发生翻转。但是对于连续的多位比特位翻转,目前的检测方法无法进行有效检测。
发明内容
有鉴于此,本公开实施例提供了一种用于DPU的数据校验方法、装置、设备及介质,以解决现有方案无法检测出随机存取存储器中连续多位比特位翻转的问题。
第一方面,本公开实施例提供了一种用于DPU的数据校验方法,所述方法包括:
检测作用于随机存取存储器的数据写入事件,并在数据写入事件完成的情况下,触发数据读取指令,其中,数据写入事件是DPU向随机存取存储器写入目标业务的原始业务数据序列时触发的;
响应所述数据读取指令,从所述随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个所述目标业务数据序列对应的原始奇偶校验结果,其中,所述原始奇偶校验结果是在存储所述目标业务对应的原始业务数据序列时,对所述原始业务数据序列进行校验得到的;
对所述目标业务数据序列进行奇偶校验,得到所述目标业务数据对应的目标奇偶校验结果;
基于目标奇偶校验结果以及原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果,其中,校验结果用于表示目标业务数据序列相比原始业务数据序列是否存在连续的多个比特位翻转。
第二方面,本公开实施例提供了一种用于DPU的数据校验装置,所述装置包括:
获取模块,用于检测作用于随机存取存储器的数据写入事件,并在数据写入事件完成的情况下,触发数据读取指令,其中,数据写入事件是DPU向随机存取存储器写入目标业务的原始业务数据序列时触发的;
响应模块,用于响应所述数据读取指令,从所述随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个所述目标业务数据序列对应的原始奇偶校验结果,其中,所述原始奇偶校验结果是在存储所述目标业务对应的原始业务数据序列时,对所述原始业务数据序列进行校验得到的;
校验模块,用于对所述目标业务数据序列进行奇偶校验,得到所述目标业务数据对应的目标奇偶校验结果;
处理模块,用于基于目标奇偶校验结果以及原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果,其中,校验结果用于表示目标业务数据序列相比原始业务数据序列是否存在连续的多个比特位翻转。
第三方面,本公开实施例提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
本公开实施例提供的方法在读取目标业务的目标业务数据序列后,对业务数据序列重新进行奇偶校验,并将得到目标奇偶校验结果与原始奇偶校验结果进行对比,可以精准的确定目标业务数据序列相比原始业务数据序列是否发生了连续的多个比特位翻转。能够及时发现FPGA的问题,有利于保证DPU有效运行。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的数据校验方法的流程示意图;
图2是根据本公开一些实施例的原始业务数据序列和原始奇偶校验结果的示意图;
图3是根据本公开一些实施例的数据校验的流程示意图;
图4是根据本公开一些实施例的原始业务数据序列和目标奇偶校验结果的示意图;
图5是根据本公开实施例的数据校验装置的结构框图;
图6是本公开实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
根据本公开实施例,提供了一种用于DPU的数据校验方法、装置、设备及介质,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本公开实施例的一种用于DPU的数据校验方法的流程图,如图1所示,该流程包括如下步骤:
步骤S11,获取目标业务待写入随机存取存储器的原始业务数据序列。
在本公开实施例中,目标业务可以根据DPU的应用场景确定,当DPU应用于数据中心和云计算场景时,目标业务可以是视频业务,电商业务等等。此时FPGA中的随机存取存储器可以用于存储多个不同业务的业务数据序列,视频业务对应的业务数据序列可以包括二进制的视频流数据、广告数据、浏览数据。电商业务对应的业务数据序列可以包括二进制的图片数据、评价数据以及物流数据等等。
需要说明的是,视频业务中的视频流数据中每个数据包都是以二进制形式存储的,用于传输和播放视频内容。广告数据可以包括:广告展示次数、点击率等。浏览数据包括:浏览时长、浏览次数等等。电商业务中的图片数据可以是商品的外观和特征。评价数据可以是评分等等。物流数据可以是物流状态、运输时间等等。
在本申请实施例中,DPU还可以用做智能网卡来处理网络数据。可以理解的,智能网卡是一种具备一定处理能力和智能功能的网络接口卡,它能够在硬件级别上执行一些网络相关的任务,用以提高网络性能和安全性。
例如:DPU可以对传入的网络数据包进行解析和分类,识别不同的协议、数据类型或服务类型。此时FPGA中的随机存取存储器可以存储对网络数据包进行解析和分类的结果。
DPU还可以对网络流量进行实时监测和统计,收集数据包、连接数、带宽利用率等信息,用于网络性能分析和故障排查。此时FPGA中的随机存取存储器可以存储网络流量的监测数据、性能分析数据以及故障排查数据。
DPU还可以通过内置的智能算法和网络安全规则,检测和防御恶意流量、网络攻击和入侵行为。此时FPGA中的随机存取存储器可以存储恶意流量的监测结果,网络攻击或者入侵行为的相关参数。
在本公开实施例中,首先获取数据写入请求,然后通过数据写入请求确定当前的目标业务,以及目标业务需要写入随机存取存储器的原始业务数据序列。
步骤S12,对原始业务数据序列进行奇偶校验,得到原始业务数据序列对应的原始奇偶校验结果。
在本公开实施例中,对原始业务数据序列进行奇偶校验采用的是异或运算,异或运算属于一种布尔运算,用于比较两个二进制位的值。异或的计算规则如下:对于两个二进制位A和B,异或运算的结果为:如果A和B相等,则结果为0。如果A和B不相等,则结果为1。
基于此,本公开实施例将异或运算扩展到校验多个二进制位。对于多个二进制位的异或运算,只有在奇数位上的1的个数为奇数时,结果才为1,否则结果为0。例如,对于四个二进制位A、B、C和D,异或运算的结果为:如果A、B、C和D中的1的个数是奇数,则结果为1。如果A、B、C和D中的1的个数是偶数,则结果为0。
具体的,对原始业务数据序列进行奇偶校验,得到原始业务数据序列对应的原始奇偶校验结果,包括以下步骤A1-A3:
步骤A1,提取原始业务数据序列中属于奇数位的第一数据,并对第一数据进行异或运算,得到第一奇数位校验结果。
在本公开实施例中,首先检测原始业务数据序列中的奇数位,其次,提取各个奇数位上的第一数据。然后对第一数据进行异或运算,得到原始业务数据序列中的奇数位校验结果,本公开实施例中将原始业务数据序列的奇数位校验结果记为第一奇数位校验结果。
步骤A2,提取原始业务数据序列中属于偶数位的第二数据,并对第二数据进行异或运算,得到第一偶数位校验结果。
在本公开实施例中,首先检测原始业务数据序列中的偶数位,其次,提取各个偶数位上的第二数据。然后对第二数据进行异或运算,得到原始业务数据序列中的偶数位校验结果,本公开实施例中将原始业务数据序列的偶数位校验结果记为第一偶数位校验结果。
作为一个示例,如图2所示,目标业务需要写入随机存取存储器的原始业务数据序列包括原始业务数据序列1和原始业务数据序列2。其中,原始业务数据序列1为“1-0-0-1-0-1-1-0”。原始业务数据序列2为“0-1-0-1-1-0-1-1”。
原始业务数据序列1的奇数位为“1-0-0-1”其中,“1”的个数为2,2为偶数,因此原始业务数据序列1的奇数位校验结果为0。原始业务数据序列1的偶数位为“0-1-1-0”其中,“1”的个数为2,2为偶数,因此原始业务数据序列1的偶数位校验结果为0。
原始业务数据序列2的奇数位为“0-0-1-1”其中,“1”的个数为2,2为偶数,因此原始业务数据序列2的奇数位校验结果为0。原始业务数据序列2的偶数位为“1-1-0-1”其中,“1”的个数为3,3为奇数,因此原始业务数据序列2的偶数位校验结果为1。
步骤A3,将第一奇数位校验结果写入奇数校验位,以及将第一偶数位校验结果写入偶数校验位,得到原始奇偶校验结果。
在本公开实施例中,针对每一个业务数据序列设置了两个校验位,两个校验位分别为奇数校验位(parity0)和偶数校验位(parity1)。通过设置奇数校验位和偶数校验位便于后续读取业务数据序列时,对读取的业务数据序列进行奇偶校验,如果校验结果与奇数校验位(parity0)和偶数校验位(parity1)不同,则说明可能发生了多比特位翻转。
作为一个示例,原始业务数据序列1中的奇数位校验结果为0,原始业务数据序列1中的偶数位校验结果为0,原始业务数据序列2中的奇数位校验结果为0,原始业务数据序列2中的偶数位校验结果为1。
基于此,如图2所示,在原始业务数据序列1的奇数校验位(parity0)写入0,在原始业务数据序列1对应的偶数校验位(parity1)写入0,得到原始业务数据序列1对应的原始奇偶校验结果。
然后在原始业务数据序列2对应的奇数校验位(parity0)写入0,在原始业务数据序列2对应的偶数校验位(parity1)写入1,得到原始业务数据序列1的原始奇偶校验结果。
步骤S13,将原始业务数据序列以及原始奇偶校验结果关联存储至随机存取存储器。
在本公开实施例中,在得到原始业务数据序列的原始奇偶校验结果后,将原始业务数据序列与原始奇偶校验结果关联存储,能够在原始业务数据序列发生比特位翻转的情况下,通过对业务数据序列进行重新校验,并将校验结果与原始奇偶校验结果进行对比,可以精准的确定目标业务数据序列相比原始业务数据序列是否发生了连续的多个比特位翻转。能够及时发现FPGA的问题,有利于保证DPU有效运行。
本实施例中还提供了一种用于DPU的数据校验方法,图3是根据本公开实施例的一种用于DPU的数据校验方法的流程图,如图3所示,该方法包括如下步骤:
步骤S21,检测作用于随机存取存储器的数据写入事件,并在数据写入事件完成的情况下,触发数据读取指令,其中,数据写入事件是DPU向随机存取存储器写入目标业务的原始业务数据序列时触发的。
在本公开实施例中,在DPU向随机存取存储器写入目标业务的原始数据序列时,触发数据写入事件,当前检测到数据写入事件完成后,自动触发数据读取指令,数据读取指令用于从随机存取存储器中读取目标业务的业务数据序列,目标业务可以是视频业务,电商业务等等。
通过自动触发数据读取指令,可以方便地检测到所写入的业务数据序列在存储过程中是否发生了多个比特位的翻转。这对于保证数据的完整性和准确性非常重要,特别是在对于存储过程中可能发生的错误或干扰有敏感性的应用中。自动触发数据读取指令的方式可以避免人工干预。不仅提高了工作效率,还有利于保证后续DPU的有效运行。
步骤S22,响应数据读取指令,从随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个目标业务数据序列对应的原始奇偶校验结果,其中,原始奇偶校验结果是在存储目标业务对应的原始业务数据序列时,对原始业务数据序列进行校验得到的。
在本公开实施例中,响应数据读取指令,从随机存取存储器中读取目标业务对应的目标业务数据序列,以及目标业务数据序列对应的原始奇偶校验结果。
作为一个示例,如图4所示,目标业务数据序列包括目标业务数据序列1和目标业务数据序列2。目标业务数据序列1为:“1-0-0-1-1-0-1-0”。原始业务数据序列2为“0-1-0-1-0-0-1-1”。目标业务数据序列1的原始奇偶校验结果包括:parity0:0,parity1:0。目标业务数据序列2的原始奇偶校验结果包括:parity0:0,parity1:1。
步骤S23,对目标业务数据序列进行奇偶校验,得到目标业务数据对应的目标奇偶校验结果。
在本公开实施例中,对目标业务数据序列进行奇偶校验,得到目标业务数据对应的目标奇偶校验结果,包括以下步骤B1-B3:
步骤B1,提取目标业务数据序列中属于奇数位的第三数据,并对第三数据进行异或运算,得到第二奇数位校验结果。
在本公开实施例中,首先检测目标业务数据序列中的奇数位,其次,提取各个奇数位上的第三数据。然后对第三数据进行异或运算,得到目标业务数据序列中的奇数位校验结果,本公开实施例中将原始业务数据序列的奇数位校验结果记为第二奇数位校验结果。
步骤B2,提取目标业务数据序列中属于偶数位的第四数据,并对第四数据进行异或运算,得到第二偶数位校验结果。
在本公开实施例中,首先检测目标业务数据序列中的偶数位,其次,提取各个偶数位上的第四数据。然后对第四数据进行异或运算,得到目标业务数据序列中的偶数位校验结果,本公开实施例中将目标业务数据序列的偶数位校验结果记为第二偶数位校验结果。
如图4所示,目标业务数据序列包括:原始业务数据序列1和原始业务数据序列2。其中,目标业务数据序列1为“1-0-0-1-1-0-1-0”。原始业务数据序列2为“0-1-0-1-0-0-1-1”。
目标业务数据序列1的奇数位为“1-0-1-1”其中,“1”的个数为3,3为奇数,因此原始业务数据序列1的奇数位校验结果为1。目标业务数据序列1的偶数位为“0-1-0-0”其中,“1”的个数为1,1为奇数,因此目标业务数据序列1的偶数位校验结果为1。
目标业务数据序列2的奇数位为“0-0-0-1”其中,“1”的个数为1,1为技术,因此,目标业务数据序列2的奇数位校验结果为1。目标业务数据序列2的偶数位为“1-1-0-1”其中,“1”的个数为3,3为奇数,因此目标业务数据序列2的偶数位校验结果为1。
步骤B3,将第二奇数位校验结果写入奇数校验位,以及将第二偶数位校验结果写入偶数校验位,得到目标奇偶校验结果。
在本公开实施例中,针对每一个业务数据序列设置了两个校验位,两个校验位分别为奇数校验位(parity0)和偶数校验位(parity1)。
作为一个示例,目标业务数据序列1中的奇数位校验结果为1,目标业务数据序列1中的偶数位校验结果为1。
目标业务数据序列2中的奇数位校验结果为1,目标业务数据序列2中的偶数位校验结果为1。
基于此,如图4所示:在目标业务数据序列1对应的奇数校验位(parity0)写入1以及偶数校验位(parity1)写入1。从而得到目标业务数据序列1对应的目标奇偶校验结果。然后在目标业务数据序列2对应的奇数校验位(parity0)写入1以及偶数校验位(parity1)写入1。从而得到目标业务数据序列1对应的目标奇偶校验结果。
步骤S24,基于目标奇偶校验结果以及所述原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果,其中,校验结果用于表示目标业务数据序列相比原始业务数据序列是否存在连续的多个比特位翻转。
在本公开实施例中,基于目标奇偶校验结果以及原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果,包括以下步骤C1-C3:
步骤C1,对比原始奇偶校验结果中的第一奇数位校验结果以及目标奇偶校验结果中的第二奇数位校验结果,得到第一对比结果。
在本公开实施例中,提取原始奇偶校验结果中的第一奇数位校验结果,以及提取目标奇偶校验结果中第二奇数位校验结果,将第一奇数位校验结果和第二奇数位校验结果进行对比,得到第一对比结果。第一对比结果用于指示第一奇数位校验位与第二奇数位校验位是否一致。
步骤C2,对比原始奇偶校验结果中的第一偶数位校验结果以及目标奇偶校验结果中的第二偶数位校验结果,得到第二对比结果。
在本公开实施例中,提取原始奇偶校验结果中的第一偶数位校验结果,以及提取目标奇偶校验结果中第二偶数位校验结果,将第一偶数位校验结果和第二偶数位校验结果进行对比,得到第二对比结果。第二对比结果用于指示第二偶数位校验位与第二偶数位校验位是否一致。
步骤C3,基于第一对比结果以及第二对比结果,确定校验结果。
在本公开实施例中,基于第一对比结果以及第二对比结果,确定校验结果,包括:在第一对比结果为第一奇数位校验结果与第二奇数位校验结果不一致,且第二对比结果为第一偶数位校验结果与第二偶数位校验结果不一致的情况下,校验结果为目标业务数据序列相比原始业务数据序列存在多个比特位翻转。
作为一个示例,结合图2和图4可知:
目标业务数据序列1的目标奇偶校验结果包括:奇数校验位(parity0)为1,偶数校验位(parity1)为1。原始业务数据序列1的原始奇偶校验结果包括:奇数校验位(parity0)为0,偶数校验位(parity1)为0。
对比可知,目标业务数据序列2的奇数校验位(parity0)和偶数校验位(parity1)均发生了变化,因此可以确定目标业务数据序列相比原始业务数据序列1发生了连续的多比特位翻转。
结合图2和图4可知:
目标业务数据序列2的目标奇偶校验结果包括:奇数校验位(parity0)为1,偶数校验位(parity1)为1。原始业务数据序列2的目标奇偶校验结果为parity0为0,偶数校验位(parity1)为1。
对比可知,目标业务数据序列2的奇数校验位(parity0)发生了变化,因此可以确定目标业务数据序列2相比目标业务数据序列2发生了比特位翻转。
在本公开实施例中,基于第一对比结果以及第二对比结果,确定校验结果,包括:在第一对比结果为第一奇数位校验结果与第二奇数位校验结果一致,且第二对比结果为第一偶数位校验结果与第二偶数位校验结果一致的情况下,校验结果为目标业务数据序列中不存在比特位翻转。
本公开实施例提供的方法在读取目标业务的目标业务数据序列后,对业务数据序列重新进行奇偶校验,并将得到目标奇偶校验结果与原始奇偶校验结果进行对比,从而能够精准的确定目标业务数据序列相比原始业务数据序列是否发生了连续的多个比特位翻转。
在本公开实施例中,方法还包括:在校验结果为目标业务数据序列中存在多个比特位翻转的情况下,在随机存取存储器内清除目标业务数据序列,并获取目标业务对应的数据备份地址;按照数据备份地址获取备份业务数据序列,并将备份业务数据序列反馈至数据读取指令对应的请求方设备。
在本申请实施例中,在校验结果为目标业务数据序列中存在多个比特位翻转的情况下,需要进行以下操作:
首先,执行相应的清除指令将随机存取存储器中的目标业务数据序列清除。需要说明的是,如果目标业务数据序列相比原始业务数据序列发生连续的多个比特位被翻转,这可能会导致错误的数据在随机存取存储器内传播到其他位置或其他数据中。通过清除目标业务数据序列,能够防止这些错误的数据传播。
其次,根据预先配置的业务与数据备份地址之间的映射关系,确定目标业务数据对应的数据备份地址。需要说明的是,数据备份地址可以是备份存储介质的访问地址,备份存储介质可以是RAM、磁盘或其他存储介质。然后,根据通过数据备份地址访问备份存储介质,并从备份存储介质中获取目标业务对应的备份业务数据序列。
在本实施例中还提供了一种用于DPU的数据校验装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种用于DPU的数据校验装置,如图5所示,包括:
获取模块51,用于检测作用于随机存取存储器的数据写入事件,并在数据写入事件完成的情况下,触发数据读取指令,其中,数据写入事件是DPU向随机存取存储器写入目标业务的原始业务数据序列时触发的;
响应模块52,用于响应数据读取指令,从随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个目标业务数据序列对应的原始奇偶校验结果,其中,原始奇偶校验结果是在存储目标业务对应的原始业务数据序列时,对原始业务数据序列进行校验得到的;
校验模块53,用于对目标业务数据序列进行奇偶校验,得到目标业务数据对应的目标奇偶校验结果;
处理模块54,用于基于目标奇偶校验结果以及原始奇偶校验结果对目标业务数据序列进行校验,得到校验结果,其中,校验结果用于表示目标业务数据序列相比原始业务数据序列是否存在连续的多个比特位翻转。
在本公开实施例中,数据校验装置还包括:写入模块,包括:
获取单元,用于获取目标业务待写入随机存取存储器的原始业务数据序列;
校验单元,用于对原始业务数据序列进行奇偶校验,得到原始业务数据序列对应的原始奇偶校验结果;
存储单元,用于将原始业务数据序列以及原始奇偶校验结果关联存储至随机存取存储器。
在本公开实施例中,校验单元,用于提取原始业务数据序列中属于奇数位的第一数据,并对第一数据进行异或运算,得到第一奇数位校验结果;提取原始业务数据序列中属于偶数位的第二数据,并对第二数据进行异或运算,得到第一偶数位校验结果;将第一奇数位校验结果写入奇数校验位,以及将第一偶数位校验结果写入偶数校验位,得到原始奇偶校验结果。
在本公开实施例中,校验模块53,包括:
第一提取单元,用于提取目标业务数据序列中属于奇数位的第三数据,并对第三数据进行异或运算,得到第二奇数位校验结果;
第二提取单元,用于提取目标业务数据序列中属于偶数位的第四数据,并对第四数据进行异或运算,得到第二偶数位校验结果;
写入单元,用于将第二奇数位校验结果写入奇数校验位,以及将第二偶数位校验结果写入偶数校验位,得到目标奇偶校验结果。
在本公开实施例中,处理模块54,用于对比原始奇偶校验结果中的第一奇数位校验结果以及目标奇偶校验结果中的第二奇数位校验结果,得到第一对比结果;对比原始奇偶校验结果中的第一偶数位校验结果以及目标奇偶校验结果中的第二偶数位校验结果,得到第二对比结果;基于第一对比结果以及第二对比结果,确定校验结果。
在本公开实施例中,处理模块54,用于在第一对比结果为第一奇数位校验结果与第二奇数位校验结果不一致,且第二对比结果为第一偶数位校验结果与第二偶数位校验结果不一致的情况下,校验结果为目标业务数据序列中存在多个比特位翻转。
或,处理模块54,用于在第一对比结果为第一奇数位校验结果与第二奇数位校验结果一致,且第二对比结果为第一偶数位校验结果与第二偶数位校验结果一致的情况下,校验结果为目标业务数据序列中不存在比特位翻转。
在本公开实施例中,数据校验装置还包括:发送模块,用于在校验结果为目标业务数据序列中存在多个比特位翻转的情况下,在随机存取存储器内清除目标业务数据序列,并获取目标业务对应的数据备份地址;按照数据备份地址获取备份业务数据序列,并将备份业务数据序列反馈至数据读取指令对应的请求方设备。
请参阅图6,图6是本公开可选实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种用于DPU的数据校验方法,其特征在于,所述方法包括:
检测作用于随机存取存储器的数据写入事件,并在所述数据写入事件完成的情况下,触发数据读取指令,其中,所述数据写入事件是DPU向所述随机存取存储器写入目标业务的原始业务数据序列时触发的;
响应所述数据读取指令,从随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个所述目标业务数据序列对应的原始奇偶校验结果,其中,所述原始奇偶校验结果是在存储所述目标业务对应的原始业务数据序列时,对所述原始业务数据序列中的数据进行奇偶校验得到的,所述原始奇偶校验结果包括第一奇数位校验结果和第一偶数位校验结果;
对所述目标业务数据序列进行奇偶校验,得到所述目标业务数据对应的目标奇偶校验结果,其中,所述目标奇偶校验结果包括第二奇数位校验结果和第二偶数位校验结果;
基于所述目标奇偶校验结果以及所述原始奇偶校验结果对所述目标业务数据序列进行校验,得到校验结果,其中,所述校验结果用于表示所述目标业务数据序列相比所述原始业务数据序列是否存在连续的多个比特位翻转,当所述第一奇数位校验结果与所述第二奇数位校验结果不一致,且所述第一偶数位校验结果与所述第二偶数位校验结果不一致的情况下,所述校验结果为所述目标业务数据序列中存在多个比特位翻转;或,当所述第一奇数位校验结果与所述第二奇数位校验结果一致,且所述第一偶数位校验结果与所述第二偶数位校验结果一致的情况下,所述校验结果为所述目标业务数据序列中不存在比特位翻转。
2.根据权利要求1所述的方法,其特征在于,在获取数据读取指令之前,所述方法还包括:
获取所述目标业务待写入所述随机存取存储器的原始业务数据序列;
对所述原始业务数据序列进行奇偶校验,得到所述原始业务数据序列对应的原始奇偶校验结果;
将所述原始业务数据序列以及所述原始奇偶校验结果关联存储至所述随机存取存储器。
3.根据权利要求2所述的方法,其特征在于,所述对所述原始业务数据序列进行奇偶校验,得到所述原始业务数据序列对应的原始奇偶校验结果,包括:
提取所述原始业务数据序列中属于奇数位的第一数据,并对所述第一数据进行异或运算,得到第一奇数位校验结果;
提取所述原始业务数据序列中属于偶数位的第二数据,并对所述第二数据进行异或运算,得到第一偶数位校验结果;
将所述第一奇数位校验结果写入奇数校验位,以及将所述第一偶数位校验结果写入偶数校验位,得到所述原始奇偶校验结果。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标业务数据序列进行奇偶校验,得到所述目标业务数据对应的目标奇偶校验结果,包括:
提取所述目标业务数据序列中属于奇数位的第三数据,并对所述第三数据进行异或运算,得到第二奇数位校验结果;
提取所述目标业务数据序列中属于偶数位的第四数据,并对所述第四数据进行异或运算,得到第二偶数位校验结果;
将所述第二奇数位校验结果写入奇数校验位,以及将所述第二偶数位校验结果写入偶数校验位,得到所述目标奇偶校验结果。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标奇偶校验结果以及所述原始奇偶校验结果对所述目标业务数据序列进行校验,得到校验结果,包括:
对比所述原始奇偶校验结果中的第一奇数位校验结果以及所述目标奇偶校验结果中的第二奇数位校验结果,得到第一对比结果;
对比所述原始奇偶校验结果中的第一偶数位校验结果以及所述目标奇偶校验结果中的第二偶数位校验结果,得到第二对比结果;
基于所述第一对比结果以及所述第二对比结果,确定所述校验结果。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一对比结果以及所述第二对比结果,确定所述校验结果,包括:
在所述第一对比结果为所述第一奇数位校验结果与所述第二奇数位校验结果不一致,且所述第二对比结果为所述第一偶数位校验结果与所述第二偶数位校验结果不一致的情况下,所述校验结果为所述目标业务数据序列中存在多个比特位翻转;
或,
在所述第一对比结果为所述第一奇数位校验结果与所述第二奇数位校验结果一致,且所述第二对比结果为所述第一偶数位校验结果与所述第二偶数位校验结果一致的情况下,所述校验结果为所述目标业务数据序列中不存在比特位翻转。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述校验结果为所述目标业务数据序列中存在多个比特位翻转的情况下,在所述随机存取存储器内清除所述目标业务数据序列,并获取所述目标业务对应的数据备份地址;
按照所述数据备份地址获取备份业务数据序列,并将所述备份业务数据序列反馈至所述数据读取指令对应的请求方设备。
8.一种用于DPU的数据校验装置,其特征在于,所述装置包括:
获取模块,用于检测作用于随机存取存储器的数据写入事件,并在所述数据写入事件完成的情况下,触发数据读取指令,其中,所述数据写入事件是DPU向所述随机存取存储器写入目标业务的原始业务数据序列时触发的;
响应模块,用于响应所述数据读取指令,从随机存取存储器中读取目标业务对应的至少一个目标业务数据序列,以及每个所述目标业务数据序列对应的原始奇偶校验结果,其中,所述原始奇偶校验结果是在存储所述目标业务对应的原始业务数据序列时,对所述原始业务数据序列中 的数据进行奇偶校验得到的,所述原始奇偶校验结果包括第一奇数位校验结果和第一偶数位校验结果;
校验模块,用于对所述目标业务数据序列进行奇偶校验,得到所述目标业务数据对应的目标奇偶校验结果,其中,所述目标奇偶校验结果包括第二奇数位校验结果和第二偶数位校验结果;
处理模块,用于基于所述目标奇偶校验结果以及所述原始奇偶校验结果对所述目标业务数据序列进行校验,得到校验结果,其中,所述校验结果用于表示所述目标业务数据序列相比所述原始业务数据序列是否存在连续的多个比特位翻转,当所述第一奇数位校验结果与所述第二奇数位校验结果不一致,且所述第一偶数位校验结果与所述第二偶数位校验结果不一致的情况下,所述校验结果为所述目标业务数据序列中存在多个比特位翻转;或,当所述第一奇数位校验结果与所述第二奇数位校验结果一致,且所述第一偶数位校验结果与所述第二偶数位校验结果一致的情况下,所述校验结果为所述目标业务数据序列中不存在比特位翻转。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311489831.5A CN117234792B (zh) | 2023-11-09 | 2023-11-09 | 一种用于dpu的数据校验方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311489831.5A CN117234792B (zh) | 2023-11-09 | 2023-11-09 | 一种用于dpu的数据校验方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234792A CN117234792A (zh) | 2023-12-15 |
CN117234792B true CN117234792B (zh) | 2024-02-09 |
Family
ID=89086376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311489831.5A Active CN117234792B (zh) | 2023-11-09 | 2023-11-09 | 一种用于dpu的数据校验方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234792B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338840A (zh) * | 2020-03-07 | 2020-06-26 | 西安电子科技大学 | 航天数据保护方法、存储介质、计算机程序、系统、终端 |
CN114138544A (zh) * | 2021-12-03 | 2022-03-04 | 海光信息技术股份有限公司 | 数据读取、写入方法及装置、软错误处理系统 |
CN115762597A (zh) * | 2022-11-21 | 2023-03-07 | 中国人民解放军国防科技大学 | 面向连续多位纠错码存储器的读写机制设计方法 |
CN116168754A (zh) * | 2021-11-25 | 2023-05-26 | 三星电子株式会社 | 纠错码电路、包括纠错码电路的存储设备以及纠错码电路的操作方法 |
CN116501305A (zh) * | 2023-06-28 | 2023-07-28 | 芯耀辉科技有限公司 | 用于寄存器代码自动生成的方法、设备、介质及系统 |
-
2023
- 2023-11-09 CN CN202311489831.5A patent/CN117234792B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338840A (zh) * | 2020-03-07 | 2020-06-26 | 西安电子科技大学 | 航天数据保护方法、存储介质、计算机程序、系统、终端 |
CN116168754A (zh) * | 2021-11-25 | 2023-05-26 | 三星电子株式会社 | 纠错码电路、包括纠错码电路的存储设备以及纠错码电路的操作方法 |
CN114138544A (zh) * | 2021-12-03 | 2022-03-04 | 海光信息技术股份有限公司 | 数据读取、写入方法及装置、软错误处理系统 |
CN115762597A (zh) * | 2022-11-21 | 2023-03-07 | 中国人民解放军国防科技大学 | 面向连续多位纠错码存储器的读写机制设计方法 |
CN116501305A (zh) * | 2023-06-28 | 2023-07-28 | 芯耀辉科技有限公司 | 用于寄存器代码自动生成的方法、设备、介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117234792A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649838B2 (en) | Automatic correlation of dynamic system events within computing devices | |
US11086965B2 (en) | Recording ledger data on a blockchain | |
US20200133761A1 (en) | Smart system dump | |
US11551085B2 (en) | Method, device, and computer program product for error evaluation | |
WO2019140739A1 (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
CN109918226A (zh) | 一种静默错误检测方法、装置及存储介质 | |
WO2024183701A1 (zh) | Raid阵列巡检方法、巡检装置和电子设备 | |
CN114817860B (zh) | 一种数据统计方法、装置、固态硬盘及介质 | |
CN107423090B (zh) | 一种Flash播放器异常日志管理方法及系统 | |
CN116743619B (zh) | 网络服务的测试方法、装置、设备及存储介质 | |
CN117234792B (zh) | 一种用于dpu的数据校验方法、装置、设备及介质 | |
CN112416772A (zh) | 一种测试用例补全方法、装置、电子设备和可读存储介质 | |
CN107844273B (zh) | 一种数据写入方法及装置、验证方法及装置 | |
CN113850664A (zh) | 一种数据异常检测方法及数据上报服务 | |
CN107844702B (zh) | 基于云防护环境下网站木马后门检测方法及装置 | |
CN113342275B (zh) | 区块链节点存取数据的方法、设备和计算机可读存储介质 | |
CN112948093B (zh) | 一种卫星重构系统及其数据处理方法、星地链路通信系统 | |
CN109190376A (zh) | 一种网页木马检测方法、系统及电子设备和存储介质 | |
CN110716818B (zh) | 一种异常处理方法、装置、硬件保护设备及存储介质 | |
CN114328171A (zh) | 测试用例库的生成方法、装置、设备及存储介质 | |
CN111681005A (zh) | 数据交互方法、装置和电子设备 | |
CN111292796A (zh) | 一种raid损坏详细信息获取方法、系统、终端及存储介质 | |
CN109885402B (zh) | 测试函数输出数据溢出的方法、终端设备及存储介质 | |
US20240096079A1 (en) | Method for detecting image sizes, computer device, and storage medium | |
CN108491316A (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 |