CN110806948A - 一种数据校验方法及装置 - Google Patents

一种数据校验方法及装置 Download PDF

Info

Publication number
CN110806948A
CN110806948A CN201911054147.8A CN201911054147A CN110806948A CN 110806948 A CN110806948 A CN 110806948A CN 201911054147 A CN201911054147 A CN 201911054147A CN 110806948 A CN110806948 A CN 110806948A
Authority
CN
China
Prior art keywords
data
processed
check
receiving end
sending end
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
CN201911054147.8A
Other languages
English (en)
Other versions
CN110806948B (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.)
Shanghai IC R&D Center Co Ltd
Original Assignee
Shanghai IC R&D Center 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 Shanghai IC R&D Center Co Ltd filed Critical Shanghai IC R&D Center Co Ltd
Priority to CN201911054147.8A priority Critical patent/CN110806948B/zh
Publication of CN110806948A publication Critical patent/CN110806948A/zh
Application granted granted Critical
Publication of CN110806948B publication Critical patent/CN110806948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供一种数据校验方法及装置,方法包括:发送端对第一数据执行第一预处理操作得到第二数据,将第二数据发送至数据传输通道;执行第一预处理操作过程中,检测组件对发送端所处理的数据进行校验,以校验发送端所处理的数据与第一数据是否一致;数据传输通道将第二数据传输至接收端,在传输数据的过程中,检测组件对数据传输通道中的传输数据进行校验,以校验传输数据与第二数据是否一致;接收端对第二数据执行第二预处理操作;执行第二预处理操作的过程中,检测组件对接收端所处理的数据进行校验,以校验接收端所处理的数据与第二数据是否一致。本发明提供的数据校验方法和装置能够确保数据处理和传输的稳定性,确保后续操作的正确进行。

Description

一种数据校验方法及装置
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据校验方法及装置。
背景技术
在数据处理技术领域中,单片机(Micro Control Unit,MCU)内通常并行运行着多条流水线来处理数据。其中,每一条流水线上存在有多个模块,该多个模块会对数据顺序执行不同的操作来处理数据以得到所需数据。
具体的,在一条流水线上,该流水线上的第一模块会获取一待处理数据,并会对所述待处理数据执行第一操作(例如取指操作、译码操作、执行操作或者写回操作)来得到一新的数据,并会将所述新的数据发送至第二模块以便所述第二模块对所述新的数据执行第二操作,所述第二操作为所述第一操作的下一级操作。之后,所述第二模块会将执行完第二操作后所得到的数据再发送至第三模块,以此类推直至该条流水线上的最后一个模块输出数据,则该最后一个模块输出的数据即为所需数据。
但是,相关技术中,在某一模块处理数据的过程中,其所处理的数据难免会出错,例如所述所处理的数据的某一数据位可能会发生翻转,则会导致该模块的处理结果出现错误,从而会影响第二预处理操作的正确进行。同时,在数据由一模块传递至另一模块的过程中,所述数据也难免会出错,此时,会导致另一模块接收到的数据为错误数据,则会影响其处理结果,同样会影响第二预处理操作的正确进行。
发明内容
本发明的目的在于提供一种数据校验方法及装置,以确保数据在处理和传输的过程中不发生错误,提高数据处理和数据传输的稳定性,从而确保后续操作能够正确进行。
本发明提供了一种数据校验方法,所述方法包括:
发送端获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;其中,在执行第一预处理操作的过程中,检测组件对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作;
所述数据传输通道接收所述第二数据后,将所述第二数据传输至接收端,其中,在所述数据传输通道传输数据的过程中,利用所述检测组件对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输;
接收端接收所述第二数据并对所述第二数据执行第二预处理操作;其中,在执行第二预处理操作的过程中,检测组件对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作。
可选的,所述检测组件对所述发送端所处理的数据进行校验的步骤,与第一预处理操作同步进行;所述检测组件对所述数据传输通道中的传输数据进行校验的步骤,与数据传输通道传输第一数据的步骤同步进行;以及,所述检测组件对所述接收端所处理的数据进行校验的步骤,与第二预处理操作同步进行,则无需额外添加时间来执行校验步骤,以节省时间且提高效率。
可选的,所述发送端获取到所述第一数据之后,将所述第一数据发送至检测组件。
可选的,所述检测组件对所述发送端所处理的数据进行校验的方法包括:
利用预定校验法基于获取到的第一数据确定出第一校验码,并实时获取所述发送端所处理的数据,利用所述预定校验法基于所述第一校验码对所述发送端所处理的数据进行实时校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,基于所述第一校验码对所述发送端所处理的数据进行纠错。
可选的,所述检测组件对所述发送端所处理的数据进行校验的方法包括:
实时获取所述发送端所处理的数据,并比对获取到的所述发送端所处理的数据与所述第一数据是否一致;若不一致,对所述发送端所处理的数据中与所述第一数据不一致的数据执行翻转操作以纠错。
可选的,所述发送端将所述第二数据同步发送至数据传输通道和检测组件。
可选的,所述检测组件对所述数据传输通道中的传输数据进行校验的方法包括:
利用预定校验法基于获取到的第二数据确定出第二校验码,并实时获取所述数据传输通道中的传输数据,利用所述预定校验法基于所述第二校验码对所述传输数据进行实时校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第二校验码对所述数据传输通道中的传输数据纠错。
可选的,所述检测组件对所述数据传输通道中的传输数据进行校验的方法包括:
实时获取所述数据传输通道中的传输数据,并比对获取的所述传输数据和所述第二数据是否一致;若不一致,对所述数据传输通道的传输数据中与所述第二数据不一致的数据执行翻转操作以纠错,并继续传输。
可选的,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
利用预定校验法基于获取到的第二数据确定出第三校验码,并实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第三校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
可选的,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
实时获取所述接收端所处理的数据,并比对获取到的所述接收端所处理的数据和所述第二数据是否一致;若不一致,对所述接收端所处理的数据中与所述第二数据不一致的数据执行翻转操作以纠错。
可选的,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第二校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
可选的,所述预定校验法包括奇偶校验或循环冗余校验法或汉明校验法。
可选的,所述检测组件包括逻辑电路。
此外,本发明还提供一种数据校验装置,所述装置包括:
发送端,用于获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;
数据传输通道,用于接收所述第二数据,并将所述第二数据传输至接收端;
接收端,用于接收所述第二数据并对所述第二数据执行第二预处理操作;
检测组件,用于:
在发送端执行第一预处理操作的过程中,对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作;
在所述数据传输通道传输第二数据的过程中,对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输;
以及,在接收端执行第二预处理操作的过程中,对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作。
综上所述,本发明提供的数据校验方法及装置中,发送端或接收端在对其获取到的数据执行预处理操作的过程中,检测组件会同步对发送端或接收端所处理的数据进行校验,以校验发送端或接收端所处理的数据与其接收到的数据是否一致,从而确保发送端或接收端所处理的数据不会为错误数据,即确保了发送端或接收端对于数据处理的稳定性,进而确保了后续操作的正确进行。并且,在本发明中,当数据传输通道在传输其所获取的数据时,会利用检测组件对数据传输通道的传输数据进行同步校验,以验证所述传输数据是否为所述数据传输通道所获取的数据,从而可以确保所述数据传输通道的传输数据不会传输错误,确保了数据传输的稳定性,同样确保了后续操作的正确进行。
此外,本发明中,所述校验步骤都是同步于处理步骤或者传输步骤执行的,因此,无需增添额外的时间来用于校验,从而可以节省时间提高效率。
附图说明
图1为本实施例提供的一种数据校验方法的流程示意图;
图2为本实施例提供的一种数据传输流程和检测组件执行校验步骤的时序图;
图3为本实施例提供的另一种数据传输流程和检测组件执行校验步骤的时序图;
图4为本实施例提供的一种数据校验装置的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的数据校验方法及装置作进一步详细说明。根据下面说明书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
图1为本实施例提供的一种数据校验方法的流程示意图,如图1所示,所述方法包括:
步骤100、发送端获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;其中,在执行第一预处理操作的过程中,检测组件对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作。
其中,所述发送端可以为一处理模块,以及,所述第一预处理操作可以包括但不限于取指操作、译码操作、执行操作、写回操作中的一种。并且,本实施例中,执行第一预处理操作的时间段具体可以为一个时钟周期。
此外,本实施例中,所述检测组件(例如可以由逻辑电路组成)对所述发送端所处理的数据进行校验的步骤,与第一预处理操作应当是同步进行的,如此,所述检测组件才能够对所述发送端所处理的数据进行实时校验,以实时确定所述发送端所处理的数据是否正确,并且,当不正确时,警报提示,或者,对所述发送端所处理的数据进行纠错并继续执行第一预处理操作。从而可以确保所述发送端在执行第一预处理操作的过程中,其所处理的数据不会为错误数据,提高了数据处理的稳定性,确保了后续操作的正确进行。
步骤200、所述数据传输通道接收所述第二数据后,将所述第二数据传输至接收端,其中,在所述数据传输通道传输数据的过程中,利用所述检测组件对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输。
其中,在本实施例中,利用数据传输通道将第一数据从发送端传输至接收端的时间段具体可以为一个时钟周期。
以及,所述检测组件对所述数据传输通道中的传输数据进行校验的步骤,与数据传输通道传输第一数据的步骤也应当是同步进行的,如此,所述检测组件才能够对所述数据传输通道中的传输数据进行实时校验,以实时确定所述传输数据是否正确,并且,当不正确时,警报提示,或者,对所述数据传输通道中的传输数据进行纠错并继续传输,从而可以确保所述数据传输通道中在传输数据时,其所传输的数据不会为错误数据,提高了数据传输的稳定性,确保了后续操作的正确进行。
步骤300、接收端接收所述第二数据并对所述第二数据执行第二预处理操作;其中,在执行第二预处理操作的过程中,检测组件对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作。
其中,所述接收端也可以为一处理模块,所述第二预处理操作也可以包括但不限于取指操作、译码操作、执行操作、写回操作中的一种。并且,所述第二预处理操作应为所述第一预处理操作的下一级操作,例如,当所述第一预处理操作为取指操作时,所述第二预处理操作应为译码操作;当所述第一预处理操作为译码操作,所述第二预处理操作应为执行操作。以及,在本实施例中,执行所述第二预处理操作的时间段也可以为一个时钟周期。
并且,同理的,本步骤中所述检测组件对所述接收端所处理的数据进行校验的步骤,与第二预处理操作也应当是同步进行的,如此可以确保所述接收端在执行第二预处理操作时,其所处理的数据不会为错误数据,提高了数据处理的稳定性,确保了后续操作的正确进行。
此外,需要说明的是,当所述接收端对所述第二数据执行完第二预设操作后,可以得到第三数据,此时,所述接收端可以作为发送端,并会将所述第三数据利用数据传输通道发送至另一处理模块,此时,所述另一处理模块则应当为接收端,其可以对接收到的第三数据执行第三预处理操作,以及,所述第三预处理操作应当为所述第二预处理操作的下一级操作。
综上所述,本发明提供的数据校验方法中,发送端或接收端在对其获取到的数据执行预处理操作的过程中,检测组件会同步对发送端或接收端所处理的数据进行校验,以校验发送端或接收端所处理的数据与其接收到的数据是否一致,从而确保发送端或接收端所处理的数据不会为错误数据,即确保了发送端或接收端对于数据处理的稳定性,进而确保了后续操作的正确进行。并且,在本发明中,当数据传输通道在传输其所获取的数据时,会利用检测组件对数据传输通道的传输数据进行同步校验,以验证所述传输数据是否为所述数据传输通道所获取的数据,从而可以确保所述数据传输通道的传输数据不会传输错误,确保了数据传输的稳定性,同样确保了后续操作的正确进行。
此外,本发明中,所述校验步骤都是同步于处理步骤或者传输步骤执行的,因此,无需增添额外的时间来用于校验,从而可以节省时间提高效率。
以下,对上述的数据校验方法进行详细介绍。
实施例一
在上述步骤100中,所述发送端在获取到待处理的第一数据时,其会同步将所述第一数据同步发送至检测组件,以便后续发送端在执行第一预处理操作时,所述检测组件可以基于其获取到的第一数据对所述发送端所处理的数据进行校验,以及,当发送端在得到第二数据时,其会将所述第二数据同步发送至数据传输通道和检测组件,以便后续所述检测组件基于所述第二数据对所述数据传输通道所传输的数据以及所述接收端所处理的数据进行校验。
以及,上述步骤100中,所述检测组件基于其获取到的第一数据对所述发送端所处理的数据进行校验的方法具体可以包括但不限于以下两种:
第一种方法、所述检测组件接收到发送端发送的第一数据后会存储,并会实时获取所述发送端所处理的数据,比对获取的所述发送端所处理的数据和存储的第一数据是否一致,当不一致时,对所述发送端所处理的数据中与所述存储的第一数据不一致的数据执行翻转操作以纠错,并继续执行第一预处理操作。
具体的,针对第一种方法,图2为本实施例提供的一种数据传输流程和检测组件执行校验步骤的时序图。如图2所示,图2中的M对应的是发送端、数据传输通道和接收端处理数据的时序图,N对应的是检测组件执行校验步骤的时序图。其中,参考图2中的M,在a时刻,发送端获取到第一数据,在a-b时间段,发送端执行第一预处理操作,并且,在b时刻,所述第一预处理操作执行完毕得到所述第二数据,并将所述第二数据传输至数据传输通道。之后,在b-c时间段,所述第二数据被数据传输通道传输,以及,在c时刻,所述数据传输通道将第二数据传输至接收端,并且,在c-d时间段,接收端对所述第二数据执行第二预处理操作。
以及,参考图2中的N,针对检测组件而言,在a时刻,其接收到发送端发送的第一数据,之后,在a-b时间段内,所述检测组件会实时获取发送端所处理的数据,并比对获取的所述发送端所处理的数据和其存储的第一数据是否一致,当不一致时,对所述发送端所处理的数据中与所述第一数据不一致的比特位执行翻转操作以纠错,并继续执行第一预处理操作,从而可以确保发送端在a-b时间段内所处理的数据始终为第一数据,保证了所述发送端所处理的数据始终为正确数据,确保了后续操作的正确执行。
示例的,假设发送端所获取的第一数据为10110011(后续所有示例均以第一数据为10110011为例进行说明),则发送端会将所述第一数据10110011传输至检测组件。以及,假设在a-b时间段的某一时刻,所述检测组件从所述发送端所获取的处理数据为10110010,通过比对,可以确定出其所获取的发送端所处理的数据10110010与其存储的第一数据10110011的最后一位不一致,则可以确定当前时刻所述发送端所处理的数据为错误数据。此时,检测组件可以对所述发送端所处理的数据的最后一位执行翻转操作以纠错,也即,将最后一位的“0”改为“1”,从而将当前时刻所述发送端所处理的数据更改为10110011,之后再继续执行第一预处理操作。如此,可以确保发送端所处理的数据始终是正确的,也即是,始终为第一数据10110011,从而确保了数据处理的稳定性。
第二种方法、所述检测组件接收到发送端发送的第一数据后,利用预定校验法基于所述第一数据确定出第一校验码,之后,检测组件会实时获取所述发送端所处理的数据,并利用所述预定校验法基于所述第一校验码对所述发送端所处理的数据进行实时校验。
其中,针对第二种方法,图3为本实施例提供的一种数据传输流程和检测组件执行校验步骤的时序图。如图3所示,图3中的m对应的是发送端、数据传输通道和接收端处理数据的时序图,n对应的是检测组件执行校验步骤的时序图。其中图3中m时序图与图2中M时序图相同,也即是,图3中a-b时间段发送端在执行第一预处理操作,b-c时间段数据传输通道在传输数据,以及c-d时间段接收端在执行第二预处理操作。以及,进一步参考图3可知,针对检测组件而言,在a时刻,其会接收到发送端发送的第一数据,以及,在a-e时间段内,检测组件会利用预定校验法基于第一数据确定第一校验码,并且在e时刻,会确定出所述第一校验码,之后,在e-b时间段内,所述检测组件会实时获取所述发送端所处理的数据,并利用所述预定校验法基于所述第一校验码对所述发送端所处理的数据进行实时校验,以校验所述发送端所处理的数据与所述第一数据是否一致。
其中,需要说明的是,所述预定校验法可以包括多种,并且,不同的预定校验法其确定第一校验码的方式不同,基于第一校验码对数据的校验方式也不同。基于此,本实施例中以预定校验法分别为奇偶校验法、循环冗余校验法、汉明校验法为例,来对第一校验码的确定方法和具体校验方式进行说明。
其中,针对奇偶校验法而言,所生成的第一校验码的长度应为1比特,且所述第一校验码为“0”或“1”,以及,所述奇偶校验法具体包括有奇校验和偶校验,并且所述奇校验和偶校验对于第一校验码的要求不同,校验方法也不相同。
针对奇校验而言,所述第一校验码应满足如下要求:当对待校验的第一数据添加了第一校验码后,可以得到一包含有奇数个“1”的新序列。
示例的,假设所述第一数据为10110011,则可以判断出所述第一数据中包括五个“1”,即包含有奇数个“1”,则所述检测组件基于所述第一数据所确定出的第一校验码应为“0”,如此,当对第一数据10110011添加了第一校验码“0”之后得到的新序列“101100110”中包括有五个“1”,也即奇数个“1”。
以及,在本实施例一中,检测组件利用奇校验基于第一校验码对发送端所处理的数据进行校验的方法可以为:检测组件确定出第一校验码后会存储该第一校验码,并实时获取所述发送端所处理的数据,之后,组合其存储的第一校验码和其获取的所述发送端所处理的数据,以得到一新序列,当所述新序列中包含有奇数个“1”时,则所述发送端所处理的数据正确,否则所述发送端所处理的数据错误,触发警报。
示例的,假设所述检测组件从所述发送端中所获取到的处理数据为10110011,则组合所述第一校验码“0”与其获取到的发送端所处理的数据“10110011”得到一新序列“101100110”,所述新序列“101100110”中包括有奇数个“1”,则可以确定当前时刻所述发送端所处理的数据正确;而若所述检测组件从发送端中所获取到的处理数据为10110010,则组合所述第一校验码“0”与其获取到的处理数据“10110010”得到一新序列“101100100”,所述新序列包括有偶数个“1”,则不为奇数个,因此,可以当前时刻所述发送端所处理的数据错误,此时触发警报。
以及,针对偶校验而言,所述第一校验码应满足如下要求:当对待校验的第一数据添加了第一校验码后,可以得到一包含有偶数个“1”的新序列。以及,本实施例一中,检测组件利用奇校验基于第一校验码对第一数据进行校验的方法可以为:检测组件实时获取所述发送端所处理的数据,并组合第一校验码和其获取的所述发送端所处理的数据,以得到一新序列,当所述新序列中包含有偶数个“1”时,则所述发送端所处理的数据正确,否则所述发送端所处理的数据错误,触发警报。
进一步地,针对循环冗余校验法(Cyclic Redundancy Check,CRC)而言,其还具体分类有CRC-16校验法、CRC-32校验法、CRC-12校验法、CRC-CCITT校验法、CRC-8校验法、CRC-4校验法等。而在本实施例中,具体以预定校验法为CRC-4校验法为例进行说明。
基于此,采用CRC-4校验法计算第一校验码的方法可以为:预先提供第一数据和CRC-4对应的生成多项式,其中,针对不同类型的CRC校验法对应不同的生成多项式,CRC-4对应的生成多项式具体为G(x)=X4+X3+1。以及,基于该生成多项式确定出与该生成多项式对应的二进制序列和第一校验码的位数,其中,所述第一校验码的位数应为生成多项式的最高次幂。之后,使得所述第一数据以模二除法的方式除去所述二进制序列,并计算出余数,并且,在计算所述余数时,应使得所述余数的位数与预先确定出的第一校验码的位数相同,最后,可以将所述余数确定为所述第一数据的第一校验码。
示例的,假设所述第一数据为10110011,所述生成多项式G(x)=X4+X3+1,则计算第一校验码的方法应为:先基于所述生成多项式G(x)=X4+X3+1确定出其对应的二进制序列,应为11001,以及,基于所述生成多项式确定出所述第一校验码的位数应为生成多项式G(x)=X4+X3+1的最高次幂,也即为4。之后,再使得第一数据10110011以模二除法的方式除去二进制序列为11001,计算其余数,其中,应确保所述余数的位数与预先确定的所述第一校验码位数相同,也为4位,则第一数据10110011以模二除法除去二进制序列为11001的具体除式如下:
则由上述除式可以确定,所述余数应为0100,即,所述第一校验码为0100。
以及,检测组件利用CRC-4校验法基于第一校验码校验所述发送端所处理的数据的方法可以为:将所述第一校验码添加至其从发送端获取的处理数据的尾部,组成校验序列,并使得校验序列以模二除法的方除去之前所确定的二进制序列,若余数为0,则所述发送端所处理的数据正确,否则所述发送端所处理的数据错误,触发警报。
示例的,假设所述检测组件从发送端获取的处理数据为10110011,则将所述第一校验码0100添加至所述所获取的发送端所处理的数据的尾部,得到一校验序列101100110100,之后,再使得校验序列101100110100以模二除法的方除去所述二进制序列11001,并确定余数,其中,校验序列101100110100以模二除法的方除去所述二进制序列11001除式如下:
Figure BDA0002256094460000131
由上述除式可知,余数为0,即当前时刻所述发送端所处理的数据正确。
以及,当所述预定校验法为汉明校验法时,利用汉明校验法基于第一数据计算第一校验码的方法具体为:先基于第一数据的比特位数R确定出第一校验码比特位数K,其中,K为满足2K≥K+R+1的最小值。以及,表1示出的第一数据的比特位数R和第一校验码比特位数K之间的对应关系。
表1
Figure BDA0002256094460000132
由表1所示,当所述第一数据的比特位数介于2-4位之间时,所述第一校验码的比特位数应为3位;当所述第一数据的比特位数介于12-26位之间时,所述第一校验码的比特位数应为5位。
以及,确定出所述第一校验码的比特位数之后,先以字母代替所述第一校验码,例如,当确定出所述第一校验码的位数为4位时,可以先假设所述第一校验码为p1p2p3p4。之后,再将对所述第一数据中的码元从左至右标上标号,并将第一校验码中的各个码元依次穿插在第一数据的第1、2、22、23......2n位而获得一组合序列,其中,n为大于1的整数。
具体的,假设所述第一数据为10011101,则其比特位数R为8位,则基于表1所示的关系可以确定出所述第一校验码比特位数K为4为,此时,先假设所述第一校验码为p1p2p3p4,并将p1、p2、p3、p4分别***第一数据的第1、2、4、8位组成组合序列,如表2所示,所述组合序列可以为p1p21p3001p41101。
表2
比特位 1 2 3 4 5 6 7 8 9 10 11 12
组合序列 p<sub>1</sub> p<sub>2</sub> 1 p<sub>3</sub> 0 0 1 p<sub>4</sub> 1 1 0 1
之后,基于所述组合序列确定出第一校验码中的各个码元的具体取值。其中,需要说明的是,第一校验码中的每一码元在所述组合序列中均对应有一检测组,其可以先确定出第一校验码的各个码元对应的检测组,之后再利用配偶原则或配奇原则基于所述检测组确定出各个码元的取值,从而确定出第一校验码。
其中,确定出第一校验码的各个码元在所述组合序列中对应的检测组的准则如下:第一校验码中的第i位码元对应的检测组为:组合序列的第2(i-1)位至第2×2(i-1)-1位、组合序列的第3×2(i-1)位至第4×2(i-1)-1位、组合序列的第5×2(i-1)位至第6×2(i-1)-1位......直至结束。
示例的,针对上述表2所示的组合序列而言,所述第一校验码中的第1位码元p1,其对应的检测组g1应为:新序列中的第2(1-1)=1位至第2×2(1-1)-1=1位、组合序列的第3×2(1-1)=3位至第4×2(1-1)-1=3位组成、组合序列的第5×2(1-1)=5位至第6×2(1-1)-1=5位、组合序列的第7×2(1-1)=7位至第8×2(1-1)-1=7位、组合序列的第9*2(1-1)=9位至第10*2(1-1)-1=9位、组合序列的第11*2(1-1)=11位至第12*2(1-1)-1=11位,也即是,第一位码元p1对应的检测组g1为:组合序列的第1、3、5、7、9、11位,参考上述表2可知,所述检测组g1为p1、1、0、1、1、0;所述第一校验码中的第2位码元p2,其对应的检测组g2应为:新序列中的第2(2-1)=2位至第2*2(2-1)-1=3位、组合序列的第3*2(2-1)=6位至第4*2(2-1)-1=7位组成、组合序列的第5*2(2-1)=10位至第6*2(2-1)-1=11位组成,则所述检测组g2应为组合序列的第2、3、6、7、10、11位,参考上述表2可知,所述检测组g2为p2、1、0、0、1、1。同理的,可以确定出第三位码元p3对应的检测组g3应为组合序列的第4、5、6、7、12位,参考上述表2可知,所述检测组g3为p3、0、0、1、1;以及,第四位码元p4对应的检测组g4应为组合序列的第8、9、10、11、12位,参考上述表2可知,所述检测组g4为p4、1、1、0、1。
则在确定出第一校验码的各个码元对应的检测组后,可以按照配偶原则或配奇原则基于各个检测组,确定出所述第一校验码中每一位码元的具体取值。
其中,所述配偶原则具体为:通过使得第一校验码的各个码元所对应的检测组中1的个数为偶数个,来确定出第一校验码中各个码元的取值。所述配奇原则具体为:通过使得第一校验码的各个码元所对应的检测组中1的个数为奇数个,来确定出第一校验码中各个码元的取值。
例如假设本实施例所采用的是配偶原则,则为了使所述第一位码元p1对应的检测组g1:p1、1、0、1、1、0中的1为偶数个,所述p1应为1;为了使所述第二位码元p2对应的检测组g2:p2、1、0、0、1、1中的1为偶数个,所述p2应为1;为了使所述第三位码元p3对应的检测组g3:p3、0、0、1、1中的1为偶数个,所述p3应为0;为了使所述第四位码元p4对应的检测组g4:p4、1、1、0、1中的1为偶数个,所述p4应为1。则所述第一校验码p1p2p3p4应为:1101。
以及在确定出第一校验码中各个码元的具体取值后,检测组件会利用汉明校验法基于所述第一校验码校验其获取的所述发送端所处理的数据是否正确,具体方法可以为:
检测组件会先将所述第一校验码中的各个码元按序穿插在其获取的所述发送端所处理的数据的第1、2、22、23......2n位而获得一组合序列,之后,从所述组合序列中针对所述第一校验码的各个码元确定出对应的检测组(其确定方式可以具体参见上述描述),并对各个检测组分别进行异或计算,以及,当所述异或计算结果均为0时,则所述发送端所处理的数据正确。否则将各个检测组的计算结果组成一定位序列,其中,所述定位序列的第一个码元对应的是第一校验码中最后一个码元的检测组异或运算的结果,所述定位序列的最后一个码元对应的是第一校验码中第一个码元的检测组异或运算的结果,最后,再将所述定位序列转换为十进制数,所述十进制数即为错误的数据在所述组合序列中的比特位数。
以及,需要说明的是,所述组合序列并不是发送端所处理的数据,其是由所述发送端所处理的数据与第一校验码组合而成的。因此,在确定出错误的数据在所述组合序列中的比特位数后,无法基于所述比特位数对发送端所处理的数据执行纠错操作。因此,还应确定出所述组合序列中,所述错误的数据前面存在的第一校验码的码元数量,再用所述比特位数减去错误的数据前面存在的第一校验码的码元数量而得到另一数字,所述另一数字即为错误的数据在所述发送端所处理的数据中的比特位,之后,对发送端所处理的数据中该比特位对应的数据执行翻转操作以纠错。
示例的,若假设检测组件获取的所述发送端所处理的数据为10011001,则将所述1101分别穿插至所获取的数据的第1、2、22、23位而获得一组合序列,如表3,所述组合序列为111000111101。
表3
比特位 1 2 3 4 5 6 7 8 9 10 11 12
组合序列 1 1 1 0 0 0 1 1 1 0 0 1
则由所述组合序列中针对第一校验码的第一位码元p1确定出检测组g1,检测组g1应为:1、1、0、1、1、0,则对检测组g1做异或运算后的1⊕1⊕0⊕1⊕1⊕0=0,以及,第二位码元p2检测组g2应为:1、1、0、1、1、0,则对检测组g2做异或运算后的1⊕1⊕0⊕1⊕1⊕0=1;同理的,对检测组g3的异或运算结果0;对检测组g4的异或运算结果1,则可以确定所述发送端所处理的数据错误。并且,可以确定出定位序列为1010,其中,所述定位序列的第一位码元1为检测组g4的异或运算结果1,第二位码元为检测组g3的异或运算结果0,第三位码元为检测组g2的异或运算结果1,第四位码元为检测组g1的异或运算结果0,以及,所述定位序列1010对应的十进制数为10,也即是,错误的数据位于所述组合序列的第10位。
之后,基于表3可知,组合序列的第10位前方存在第一校验码中的四个码元,则可以确定,所述错误的数据应位于所述发送端所处理的数据中的第10-4=6位,此时,对所述发送端所处理的数据10011001的第6位“0”执行翻转操作,使其变为“1”,以得到10011101,也即是得到第一数据,从而可以确保发送端在执行第一预处理操作的过程中,所述发送端所处理的数据总为第一数据,进而可以提高数据处理的稳定性,确保后续操作正确进行。
其中,由上述内容可知,所述奇偶校验法或CRC校验法仅具备验错功能,不具备纠错功能,所述汉明校验法则具备有纠错功能。因此,当利用奇偶校验法或CRC校验法校验数据时,仅能检测出数据是否正确,而无法执行纠错操作,则当利用奇偶校验法或CRC校验法校验出所述发送端所处理的数据错误时,仅可以警报提示,以便数据校验装置来执行异常处理排查错误。而当利用汉明校验法校验出发送端所处理的数据错误时,可以基于校验码确定出所述发送端所处理的数据中错误的数据对应的比特位,并会对所述比特位上的数据执行翻转操作以纠错,并继续执行第一预处理操作。
此外,需要说明的是,除了上述CRC校验法、奇偶校验法和汉明校验码之外,所述预定校验法还可以为三模冗余校验法,所述三模冗余校验法不同于上述的CRC校验法、奇偶校验法和汉明校验码,其不是利用校验码进行校验的,而是基于“少数服从多数”的投票来进行校验的。具体的,三模冗余校验方法为:多个模块执行相同操作以得到多个处理后的数据,将多个处理后的数据中多数相同的数据作为正确数据并输出,以确保输出正确。
基于此,当所述预定校验方法为三模冗余校验法时,所述检测组件中应包括有至少两个(例如可以为两个)与所述发送端构造相同的模块,并且,所述至少两个模块均可以执行第一预处理操作。以及,当所述发送端获取到第一数据时,将所述第一数据同步发送至所述检测组件的至少两个模块中,所述至少两个模块与所述发送端同步对所述第一数据执行第一预处理操作以得到至少三个处理后的数据,所述至少三个处理后的数据分别为至少两个模块和发送端对第一数据执行第一预处理操作之后所得的数据。之后,检测组件将所述至少三个处理数据中多数相同的数据作为第二数据,并输出至数据传输通道。其中,由于在多个模块同步运行时,两个以上模块同时出现错误是极小概率事件,一般通常是其中一个模块出现错误,因此所述至少三个处理数据中多数相同的数据应为正确数据,如此通过所述三模冗余校验法能够确保发送端向所述数据传输通道所输出的数据为正确数据,确保了后续操作的正确执行。
进一步地,在执行完上述步骤100后,执行步骤200中“检测组件对所述数据传输通道所传输的数据进行校验”时,其所采用的方法也包括但不限于以下两种:
方法一、实时获取所述数据传输通道中的传输数据,并比对获取的所述传输数据和所述第二数据是否一致;若不一致,对所述数据传输通道的传输数据中与所述获取到的第二数据不一致的数据执行翻转操作以纠错,并继续传输。
其中,检测组件基于方法一对所述数据传输通道所传输的数据进行校验的详细步骤与上述第一种方法中检测组件对发送端所处理的数据的校验步骤类同,详细介绍请参见上述第一种方法,本实施例在此不做赘述。
方法二、利用预定校验法基于获取到的第二数据确定出第二校验码,并实时获取所述数据传输通道中的传输数据,利用所述预定校验法基于所述第二校验码对所述传输数据进行实时校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第二校验码所述传输数据纠错。
其中,可以参考图3,如图3所示,在b时刻,所述数据传输通道和所述检测组件同步获取到发送端所发送的第二数据,以及,在b-f时间段,所述检测组件会基于其获取到的第二数据确定第二校验码,以及,在f时刻,所述检测组件会获取到所述第二校验码,并且,在f-c时间段,所述检测组件会基于所述第二校验码对所述数据传输通道所传输的数据进行实时校验。
以及,需要说明的是,所述第二校验码的确定方式与上述步骤100中所介绍的第二种方法中第一校验码的确定方式类同,以及,基于所述第二校验码的校验方式,也与上述第二种方法中基于第一校验码的校验方式类同,本实施例再次不做赘述。
再进一步地,针对上述步骤300,所述检测组件对所述接收端所处理的数据进行校验的方法也包括但不限于以下两种:
方法三、实时获取所述接收端所处理的数据,并比对获取到的所述接收端所处理的数据和所述第二数据是否一致;若不一致,对所述接收端所处理的数据中与所述第二数据不一致的数据执行翻转操作以纠错。
其中,检测组件基于方法三对所述接收端所处理的数据进行校验的详细步骤与上述第一种方法中检测组件对发送端所处理的数据的校验步骤类同,详细介绍请参见上述第一种方法,本实施例在此不做赘述。
方法四、利用预定校验法基于获取到的第二数据确定出第三校验码,并实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第三校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
其中,可以参考图3,如图3所示,在c-g时间段,所述检测组件会基于其获取到的第二数据确定第三校验码,以及,在g时刻,所述检测组件会获取到所述第二校验码,并且,在g-d时间段,所述检测组件会基于所述第二校验码对所述发送端所处理的数据进行实时校验。
以及,需要说明的是,所述第三校验码的确定方式与上述第一种方法中第一校验码的确定方式类同,以及,基于所述第三校验码的校验方式,也与上述步骤100中的第二种方法中基于第一校验码的校验方式类同,本实施例再次不做赘述。
此外,需要说明的是,在本实施例中,当上述步骤200中是采用方法二对传输数据进行检验时,在本步骤300中,在利用检测组件对接收端所处理的数据进行检验时,可以不用确定第三校验码,直接获取所述接收端所处理的数据,并基于上述步骤200中所确定第二校验码利用步骤200中的预定校验法对接收端所处理的数据进行校验。
最后,还需要说明的是,在本实施例中,所述步骤100、步骤200、步骤300中所运用的预定校验法可以不同,也可以相同,本实施例在此不做具体限定。
实施例二
在本实施例二中,所述发送端在执行上述步骤100中“将所述第二数据发送至数据传输通道”之前,所述发送端会利用预定校验法基于所述第二数据确定出第二校验码。以及,在步骤100中,发送端将所述第二数据发送至数据传输通道的方法包括:将所述第二校验码与所述第二数据组合为一数据组,将包含有所述第二数据的数据组发送至数据传输通道。
需要说明的是,针对不同的预定校验法,确定第二校验码的方式不同。其中,所述预定校验法可以包括多种,本实施例中,以预定校验法包括有奇偶校验法、CRC校验法、汉明校验法为例进行说明,以及利用不同预定校验法确定第二校验码的确定方式与实施例一中第一校验码的确定方式类同,本实施例二在此不做赘述。
进一步地,当预定校验法不同时,步骤100中所执行的将第二校验码与第二数据组合为一数据组的组合方式也不相同。具体的,当所述预定校验法为奇偶校验法或CRC校验法时,组合第二校验码和第二数据的方式可以为:将所述第二校验码穿插至所述第二数据的任意位置中,例如,可以将所述第二校验码穿插至所述第二数据的尾部、头部、或者中间位置;当所述预定校验法为汉明校验法时,组合第二校验码和第二数据的方式可以为:将所述第二校验码中的码元依次穿插至所述第二数据的第1、2、22、23……2n位。
此外,还需要说明的是,本实施例二中,第二校验码与第二数据的组合方式可以由接收端和发送端基于预定校验法共同约定。
再进一步地,在本实施例中,检测组件在执行步骤200中的“对所述数据传输通道中的传输数据进行校验”的具体方式可以为:实时获取所述数据传输通道中的传输数据,并利用所述预定校验法基于所述第二校验码对所述传输数据进行校验,以校验所述传输数据中除了第二校验码之外的数据与所述第二数据是否一致,当一致时,确定所述第二数据正确传输,否则,所述第二数据错误传输。
其中,针对不同的预定校验法,其基于第二校验码对于数据组的校验过程也不相同。具体的,关于对本实施例中的奇偶校验法、CRC校验法、汉明校验法的校验过程的详细介绍参见实施例一,本实施例二在此不做赘述。
此外,需要说明的是,本实施例二中,在所述预定校验法为汉明校验法的情况下:当检测组件利用汉明校验法基于第二校验码确定出传输错误的数据在组合序列中的比特位数时,由于在本实施例二中,所述组合序列即为数据传输通道中的传输数据,两者均是由第二校验码和第二数据组合而成,且组合方式相同,因此,可以无需执行上述实施例一中的“确定传输错误的数据前面存在的第二校验码的码元的数量,再用所述比特位数减去传输错误的数据前面存在的第二校验码的码元数量得到另一数字”的步骤,而直接可以基于确定出的比特位数,对数据传输通道中的传输数据执行翻转操作以纠错。
例如,若利用汉明校验法基于第二校验码确定出组合序列的第10位传输错误,则可以直接对所述数据传输通道中的传输数据的第10位执行翻转操作以纠错。
以及,在步骤300中,接收端接收所述第二数据的方法包括:接收端接收所述数据传输通道的传输数据,并基于预先预定的第二数据和第二校验码的组合方式从其接收的传输数据中定位出第二数据并提取,以便可以对所述第二数据执行第二预处理操作。
实施例三
本发明还提供了一种数据校验装置,图4为本实施例提供的一种数据校验装置的结构示意图,如图4所示,所述装置包括:
发送端01,用于获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;
数据传输通道02,用于接收所述第二数据,并将所述第二数据传输至接收端;
接收端03,用于接收所述第二数据并对所述第二数据执行第二预处理操作;
检测组件04,用于:
在发送端执行第一预处理操作的过程中,对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作;
在所述数据传输通道传输第二数据的过程中,对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输;
以及,在接收端执行第二预处理操作的过程中,对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作
可选的,所述发送端获取到所述第一数据之后,将所述第一数据发送至检测组件。
可选的,所述检测组件用于:
利用预定校验法基于获取到的第一数据确定出第一校验码,并实时获取所述发送端所处理的数据,利用所述预定校验法基于所述第一校验码对所述发送端所处理的数据进行实时校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,基于所述第一校验码对所述发送端所处理的数据进行纠错。
可选的,所述检测组件还用于:
实时获取所述发送端所处理的数据,并比对获取到的所述发送端所处理的数据与所述第一数据是否一致;若不一致,对所述发送端所处理的数据中与所述第一数据不一致的数据执行翻转操作以纠错。
可选的,所述发送端将所述第二数据同步发送至数据传输通道和检测组件。
可选的,所述检测组件还用于:
利用预定校验法基于获取到的第二数据确定出第二校验码,并实时获取所述数据传输通道中的传输数据,利用所述预定校验法基于所述第二校验码对所述传输数据进行实时校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第二校验码对所述数据传输通道中的传输数据纠错。
可选的,所述检测组件还用于:
实时获取所述数据传输通道中的传输数据,并比对获取的所述传输数据和所述第二数据是否一致;若不一致,对所述数据传输通道的传输数据中与所述第二数据不一致的数据执行翻转操作以纠错,并继续传输。
可选的,所述检测组件还用于:
利用预定校验法基于获取到的第二数据确定出第三校验码,并实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第三校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
可选的,所述检测组件还用于:
实时获取所述接收端所处理的数据,并比对获取到的所述接收端所处理的数据和所述第二数据是否一致;若不一致,对所述接收端所处理的数据中与所述第二数据不一致的数据执行翻转操作以纠错。
可选的,所述检测组件还用于:
实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第二校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
可选的,所述预定校验法包括奇偶校验或循环冗余校验法或汉明校验法。
可选的,所述检测组件包括逻辑电路
可选的,所述数据校验装置的处理器的位宽应小于等于64比特。
综上所述,本发明提供的数据校验方法及装置中,发送端或接收端在对其获取到的数据执行预处理操作的过程中,检测组件会同步对发送端或接收端所处理的数据进行校验,以校验发送端或接收端所处理的数据与其接收到的数据是否一致,从而确保发送端或接收端所处理的数据不会为错误数据,即确保了发送端或接收端对于数据处理的稳定性,进而确保了后续操作的正确进行。并且,在本发明中,当数据传输通道在传输其所获取的数据时,会利用检测组件对数据传输通道的传输数据进行同步校验,以验证所述传输数据是否为所述数据传输通道所获取的数据,从而可以确保所述数据传输通道的传输数据不会传输错误,确保了数据传输的稳定性,同样确保了后续操作的正确进行。
此外,本发明中,所述校验步骤都是同步于处理步骤或者传输步骤执行的,因此,无需增添额外的时间来用于校验,从而可以节省时间提高效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

Claims (14)

1.一种数据校验方法,其特征在于,所述方法包括:
发送端获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;其中,在执行第一预处理操作的过程中,检测组件对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作;
所述数据传输通道接收所述第二数据后,将所述第二数据传输至接收端,其中,在所述数据传输通道传输数据的过程中,利用所述检测组件对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输;
接收端接收所述第二数据并对所述第二数据执行第二预处理操作;其中,在执行第二预处理操作的过程中,检测组件对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作。
2.如权利要求1所述的数据校验方法,其特征在于,所述检测组件对所述发送端所处理的数据进行校验的步骤,与第一预处理操作同步进行;所述检测组件对所述数据传输通道中的传输数据进行校验的步骤,与数据传输通道传输第一数据的步骤同步进行;以及,所述检测组件对所述接收端所处理的数据进行校验的步骤,与第二预处理操作同步进行,则无需额外添加时间来执行校验步骤,以节省时间且提高效率。
3.如权利要求1所述的数据校验方法,其特征在于,所述发送端获取到所述第一数据之后,将所述第一数据发送至检测组件。
4.如权利要求3所述的数据校验方法,其特征在于,所述检测组件对所述发送端所处理的数据进行校验的方法包括:
利用预定校验法基于获取到的第一数据确定出第一校验码,并实时获取所述发送端所处理的数据,利用所述预定校验法基于所述第一校验码对所述发送端所处理的数据进行实时校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,基于所述第一校验码对所述发送端所处理的数据进行纠错。
5.如权利要求3所述的数据校验方法,其特征在于,所述检测组件对所述发送端所处理的数据进行校验的方法包括:
实时获取所述发送端所处理的数据,并比对获取到的所述发送端所处理的数据与所述第一数据是否一致;若不一致,对所述发送端所处理的数据中与所述第一数据不一致的数据执行翻转操作以纠错。
6.如权利要求1所述的数据校验方法,其特征在于,所述发送端将所述第二数据同步发送至数据传输通道和检测组件。
7.如权利要求6所述的数据校验方法,其特征在于,所述检测组件对所述数据传输通道中的传输数据进行校验的方法包括:
利用预定校验法基于获取到的第二数据确定出第二校验码,并实时获取所述数据传输通道中的传输数据,利用所述预定校验法基于所述第二校验码对所述传输数据进行实时校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第二校验码对所述数据传输通道中的传输数据纠错。
8.如权利要求6所述的数据校验方法,其特征在于,所述检测组件对所述数据传输通道中的传输数据进行校验的方法包括:
实时获取所述数据传输通道中的传输数据,并比对获取的所述传输数据和所述第二数据是否一致;若不一致,对所述数据传输通道的传输数据中与所述第二数据不一致的数据执行翻转操作以纠错,并继续传输。
9.如权利要求6所述的数据校验方法,其特征在于,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
利用预定校验法基于获取到的第二数据确定出第三校验码,并实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第三校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
10.如权利要求6所述的数据校验方法,其特征在于,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
实时获取所述接收端所处理的数据,并比对获取到的所述接收端所处理的数据和所述第二数据是否一致;若不一致,对所述接收端所处理的数据中与所述第二数据不一致的数据执行翻转操作以纠错。
11.如权利要求7所述的数据校验方法,其特征在于,所述检测组件对所述接收端所处理的数据进行校验的方法包括:
实时获取所述接收端所处理的数据,利用所述预定校验法基于所述第二校验码对所述接收端所处理的数据进行实时校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,基于所述第三校验码对所述发送端所处理的数据进行纠错。
12.如权利要求4或7或9或11所述的数据校验方法,其特征在于,所述预定校验法包括奇偶校验或循环冗余校验法或汉明校验法。
13.如权利要求1-11任一所述的数据校验方法,其特征在于,所述检测组件包括逻辑电路。
14.一种数据校验装置,其特征在于,所述装置包括:
发送端,用于获取待处理的第一数据,对所述第一数据执行第一预处理操作以得到待传输的第二数据,并将所述第二数据发送至数据传输通道;
数据传输通道,用于接收所述第二数据,并将所述第二数据传输至接收端;
接收端,用于接收所述第二数据并对所述第二数据执行第二预处理操作;
检测组件,用于:
在发送端执行第一预处理操作的过程中,对所述发送端所处理的数据进行校验,以校验所述发送端所处理的数据与所述第一数据是否一致,若不一致,发出警报,或者,对所述发送端所处理的数据进行纠错,以得到所述第一数据,并继续执行第一预处理操作;
在所述数据传输通道传输第二数据的过程中,对所述数据传输通道中的传输数据进行校验,以校验所述传输数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述传输数据进行纠错,以得到所述第二数据,并继续传输;
以及,在接收端执行第二预处理操作的过程中,对所述接收端所处理的数据进行校验,以校验所述接收端所处理的数据与所述第二数据是否一致,若不一致,发出警报,或者,对所述接收端所处理的数据进行纠错,以得到所述第二数据,并继续执行第二预处理操作。
CN201911054147.8A 2019-10-31 2019-10-31 一种数据校验方法及装置 Active CN110806948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911054147.8A CN110806948B (zh) 2019-10-31 2019-10-31 一种数据校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911054147.8A CN110806948B (zh) 2019-10-31 2019-10-31 一种数据校验方法及装置

Publications (2)

Publication Number Publication Date
CN110806948A true CN110806948A (zh) 2020-02-18
CN110806948B CN110806948B (zh) 2024-02-02

Family

ID=69489907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911054147.8A Active CN110806948B (zh) 2019-10-31 2019-10-31 一种数据校验方法及装置

Country Status (1)

Country Link
CN (1) CN110806948B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286715A (zh) * 2020-09-23 2021-01-29 卡斯柯信号有限公司 基于编码技术的安全输出方法及装置
CN113239026A (zh) * 2021-04-29 2021-08-10 上海德衡数据科技有限公司 基于云服务器的云数据的处理方法及云服务器
WO2024077486A1 (zh) * 2022-10-11 2024-04-18 华为技术有限公司 一种确定循环冗余校验比特的方法、通信方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394720A (zh) * 2011-10-14 2012-03-28 广西师范大学 一种信息安全校验处理器
CN104809250A (zh) * 2015-05-19 2015-07-29 福建新大陆电脑股份有限公司 一种松散式数据一致性校验方法
CN206115541U (zh) * 2016-07-29 2017-04-19 中体彩科技发展有限公司 投注数据防篡改***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394720A (zh) * 2011-10-14 2012-03-28 广西师范大学 一种信息安全校验处理器
CN104809250A (zh) * 2015-05-19 2015-07-29 福建新大陆电脑股份有限公司 一种松散式数据一致性校验方法
CN206115541U (zh) * 2016-07-29 2017-04-19 中体彩科技发展有限公司 投注数据防篡改***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286715A (zh) * 2020-09-23 2021-01-29 卡斯柯信号有限公司 基于编码技术的安全输出方法及装置
CN113239026A (zh) * 2021-04-29 2021-08-10 上海德衡数据科技有限公司 基于云服务器的云数据的处理方法及云服务器
CN113239026B (zh) * 2021-04-29 2022-08-16 上海德衡数据科技有限公司 基于云服务器的云数据的处理方法及云服务器
WO2024077486A1 (zh) * 2022-10-11 2024-04-18 华为技术有限公司 一种确定循环冗余校验比特的方法、通信方法及装置

Also Published As

Publication number Publication date
CN110806948B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN102567134B (zh) 存储器模块的错误检查与校正***以及方法
AU650399B1 (en) Improved error correcting decoder and decoding method for receivers in digital cellular communication
CN110806948B (zh) 一种数据校验方法及装置
US7149947B1 (en) Method of and system for validating an error correction code and parity information associated with a data word
US6581178B1 (en) Error correction coding/decoding method and apparatus
JP4152887B2 (ja) リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ
US20080155372A1 (en) Methods and apparatus for improving error indication performance in systems with low-density parity check codes
US8032812B1 (en) Error correction decoding methods and apparatus
US20060031742A1 (en) Decoding device and decoding method
WO2014139123A1 (en) Method and apparatus of ldpc decoder with lower error floor
CN102780496A (zh) Rs码译码方法及装置
CN110995392A (zh) 一种数据传输方法及装置
CN101938280A (zh) 错误修正码的编码及解码方法以及编码解码器
US9191029B2 (en) Additional error correction apparatus and method
CN110492889B (zh) 检测纠正两位错误的编码解码方法、编码解码器及处理器
US6360349B1 (en) Syndrome computing apparatus
US7117418B2 (en) Soft input-soft output forward error correction decoding for turbo codes
CN111224741B (zh) 卫星导航用bch码译码方法、译码器及卫星导航接收机
JP5357993B2 (ja) 誤り訂正が可能な符号化・復号化方式
JP2004282600A (ja) 符号化装置および復号装置
CN113595560B (zh) 一种信息纠错方法、装置、设备及存储介质
US20240048159A1 (en) Error processing and correction of adjacent 2-bit errors
CN109787717B (zh) 一种基于fpga的qr31码译码方法
JPH08111647A (ja) 単一誤り訂正および多重誤り検出bch符号の復号装置
TWI387214B (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