CN108037753A - 一种数据检测方法和装置 - Google Patents

一种数据检测方法和装置 Download PDF

Info

Publication number
CN108037753A
CN108037753A CN201711347622.1A CN201711347622A CN108037753A CN 108037753 A CN108037753 A CN 108037753A CN 201711347622 A CN201711347622 A CN 201711347622A CN 108037753 A CN108037753 A CN 108037753A
Authority
CN
China
Prior art keywords
data
memory block
check value
address
detection
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
CN201711347622.1A
Other languages
English (en)
Other versions
CN108037753B (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.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech 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 Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201711347622.1A priority Critical patent/CN108037753B/zh
Publication of CN108037753A publication Critical patent/CN108037753A/zh
Application granted granted Critical
Publication of CN108037753B publication Critical patent/CN108037753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种数据检测方法和装置。其中,方法包括:读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值;依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。本发明提供的一种数据检测方法和装置,实现了对汽车电子控制单元中存储器中的数据进行安全检测,能够及时发现存储器中的数据发生故障。

Description

一种数据检测方法和装置
技术领域
本申请涉及数据检测技术领域,尤其涉及一种数据检测方法和装置。
背景技术
汽车电子控制单元是由集成电路组成的用于实现对数据的分析处理发送等一系列功能的控制装置。通常,汽车电子控制单元采用一个或多个中央处理器(CentralProcessing Unit,CPU)结合外围芯片的设计结构,如图1所示。
存储器是CPU中的一个重要部件,主要用于存储控制器的运行程序、相关数据、参数等。如果存储器中的数据发生故障而没有被及时发现,会导致汽车电子控制单元功能异常,甚至会导致整个控制器功能失效,造成严重的事故。
因此,如何实现对汽车电子控制单元中的存储器中的数据进行安全检测,以及时发现存储器中的数据发生故障成为当前急需解决的技术问题。
发明内容
有鉴于此,本申请提供一种数据检测方法和装置,以实现对汽车电子控制单元中的存储器中的数据进行安全检测,以及时发现存储器中的数据发生故障。技术方案如下:
基于本申请的一方面,本申请提供一种数据检测方法,所述方法包括:
读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值;
依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
可选地,所述读取存储区中目标地址对应的数据包括:
当首次执行对所述存储区的数据检测时,读取所述存储区中,除用于存储所述标准校验值的预设地址外的首地址对应的数据;
当非首次执行对所述存储区的数据检测时,读取所述存储区中,最后一次完成得到校验值的数据对应的地址的下一地址对应的数据。
可选地,所述方法还包括:
预先设置针对所述存储区的检测步长,以所述检测步长为单位完成对所述存储区的数据检测。
可选地,所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值之后,所述方法还包括:
判断所述目标地址是否为所述存储区的结束地址;
如果是,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值;
如果否,统计当前检测到的数据的个数,并判断所述个数是否小于所述检测步长;
如果小于,返回所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值的步骤;
如果不小于,确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值,再返回所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值的步骤。
可选地,所述方法还包括:
当判断所述存储区存储的数据没有发生故障时,确定下一待检测存储区,并执行对所述下一待检测存储区的数据检测。
可选地,所述确定下一待检测存储区包括:按照预设的存储区的优先级由高到低的顺序,确定下一待检测存储区。
可选地,配置数据存储区的优先级高于标定数据存储区的优先级,所述标定数据存储区的优先级高于程序存储区的优先级,所述程序存储区的优先级高于Bootloader存储区的优先级。
基于本申请的另一方面,本申请还提供一种数据检测装置,所述装置包括:
数据读取单元,用于读取存储区中目标地址对应的数据;
校验值获取单元,用于采用预设的校验方法,得到所述数据的校验值;
数据故障判断单元,用于依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
可选地,所述装置还包括:
检测步长设置单元,用于预先设置针对所述存储区的检测步长,以所述检测步长为单位完成对所述存储区的数据检测。
可选地,所述装置还包括:
地址判断单元,用于判断所述目标地址是否为所述存储区的结束地址;
存储区校验值获取单元,用于在所述地址判断单元判断所述目标地址是所述存储区的结束地址时,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值;
统计单元,用于在所述地址判断单元判断所述目标地址不是所述存储区的结束地址时,统计当前检测到的数据的个数;
个数判断单元,用于判断所述个数是否小于所述检测步长;
所述个数判断单元判断所述个数小于所述检测步长时,触发所述数据读取单元;
所述个数判断单元判断所述个数不小于所述检测步长时,触发中间值获取单元;
所述中间值获取单元,用于确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值;
所述中间值获取单元完成后,触发所述数据读取单元。
本申请提供的数据检测方法和装置中,包括:读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值;依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。本申请实现了对汽车电子控制单元中的存储器中的数据进行安全检测,能够及时发现存储器中的数据发生故障。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为汽车电子控制单元的结构示意图;
图2为本申请实施例提供的一种数据检测方法的流程图;
图3为本申请实施例提供的另一种数据检测方法的流程图;
图4为汽车电子控制单元内部包括的各存储区的示意图;
图5为本申请实施例提供的再一种数据检测方法的流程图;
图6为本申请实施例提供的一种数据检测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图2所示,本申请提供一种数据检测方法,该方法能够实现对汽车电子控制单元中存储器中的数据进行安全检测,从而及时发现存储器中的数据发生故障。方法包括:
步骤101,读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值。
针对不同的存储区,可以根据不同的应用需求,预设不同的校验方法,例如校验和方法、CRC(Cyclic Redundancy Check,循环冗余校验码)校验方法,奇偶校验方法等。
具体地,当首次执行对某个存储区的数据检测时,读取该存储区中,除用于存储所述标准校验值的预设地址外的首地址对应的数据;当非首次执行对该存储区的数据检测时,读取该存储区中,最后一次完成得到校验值的数据对应的地址的下一地址对应的数据。
本申请实施例中,如果是首次(即刚开始执行)对存储区进行数据检测,那么如果存储区的起始地址存储了标准校验值,则从存储区中除去该起始地址后的所有地址的首地址开始读取数据;如果标准校验值存储在存储区中的某个中间地址或末尾地址,则从存储区的起始地址开始读取数据。如果当前不是首次(即已经开始了数据检测过程,但并未完成)对存储区进行数据检测,则说明之前已开始了对存储区进行数据检测的过程,此时读取该存储区中,最后一次完成得到校验值的数据对应的地址的下一地址对应的数据。
需要说明的是,本申请中对存储区进行数据检测的首次和非首次,针对的是该存储区进行的一次完整数据检测过程中,是首次刚开始检测数据,还是已开始检测数据。
还需要说明的是,本申请存储区中存储的数据可能是连续的,也可能是非连续的,本申请提供的数据检测方法针对的是所有存储有数据的地址,对于没有存储有数据的地址则不作考虑。本申请中的首地址指的是存储区中存储有数据的所有地址中的第一个地址,结束地址指的是存储区中存储有数据的所有地址中的最后一个地址。
举例来说,存储区的地址包括0001-0099,其中0001存储标准校验值,0005-0020、0024-0036中存储有相应数据,那么本申请中的首地址为0005,结束地址为0036,0020的下一地址为0024。
步骤102,依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
本申请实际应用时,针对每一个存储区,预先在每一个存储区中的预设地址处存储提前计算好的、正确的、用于校验存储区数据是否故障的标准校验值。其中,存储区中的预设地址可以为存储区的起始地址或末尾地址,每一个存储区中有且仅有一个标准校验值。
标准校验值是在程序烧写或数据下载时一起下载至存储区的,其值与存储区内存储的数据有关,一般是1-2个字节。该标准校验值不参与存储区的数据检测,只用于与存储区中所有数据的校验值进行比较。即,检测存储区中数据是否发生故障的应用程序开始运行后,会按照顺序依次检测存储区中每一个数据的内容,而预设地址对应的标准校验值在数据检测过程中不会读取。
具体地,在本申请中,依据存储区中所有数据的校验值得到的一个值,比如所有数据的校验值的和值,与预先存储在存储区中预设地址的标准校验值相等,则说明存储区中存储的数据正常,没有错误,由此可以结束对于本存储区的数据检测过程。而如果所有数据的校验值的和值,与预先存储在存储区中预设地址的标准校验值不相等,则说明存储区中存储的数据有误,数据有损坏发生了故障,此时可以及时输出故障提示,并记录故障代码,以便及时修复错误数据。
下面,申请人将针对单个存储区实现的数据检测过程进行具体描述。
本申请中,对于单个存储区实现的数据检测方法包括两种:
方法一:按照存储区中存储数据的地址顺序依次读取各地址对应的数据,并采用预设的校验方法,得到各数据的校验值,最后依据存储区中所有数据的校验值以及标准校验值,判断存储区存储的数据是否发生故障。
本申请提供的用于实现对存储区内的数据检测的方法一,在实际应用过程中要求该检测过程不许中断,即CPU针对该存储区的数据检测过程需一次性完成,在该数据检测过程中,CPU不会响应其他任何事件或任务。
因此,本申请提供的方法一适用于对需要检测的数据较小,占用CPU资源较少的存储区进行数据检测。
考虑到实际应用过程中CPU的负载率,以及CPU在实现对存储区内的数据检测过程中,应还能够及时处理其他高优先级或高重要性的事件或任务的需求,本申请提供了用于实现对存储区内的数据检测的方法二。
方法二不要求对于某个存储区的数据检测过程必须一次性完成,通过预先设置针对某个存储区的检测步长,以所述检测步长为单位完成对该某个存储区的数据检测。其中,一个检测步长的大小取决于CPU的运算速度,一般取值为8bytes-1Kbytes。
在数据检测过程中,每完成一个检测步长的数据检测后,保存一个用于表示该一个检测步长的所有数据的校验值的中间值,并继续执行下一检测步长的数据检测,方法二可参阅图3所示,具体包括:
步骤201,读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值。
如果是首次执行对存储区的数据检测,则目标地址为存储区中除用于存储标准校验值的预设地址外的首地址;
如果是非首次执行对存储区的数据检测,则目标地址为存储区中最后一次完成得到校验值的数据对应的地址的下一地址。
步骤202,判断所述目标地址是否为所述存储区的结束地址。如果否,执行步骤203,如果是,执行步骤205。
步骤203,统计当前检测到的数据的个数,并判断所述个数是否小于所述检测步长。如果小于,返回执行步骤201,如果不小于,执行步骤204。
以检测步长等于10为例,假设,当前检测到的数据的个数为8个,该个数8个小于检测步长10,说明一个检测步长的数据检测过程并未完成,此时返回步骤201,继续读取下一地址对应的数据。而如果当前检测到的数据的个数为10个,该个数10个等于检测步长10,说明一个检测步长的数据检测过程完成,此时执行步骤204。
步骤204,确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值,再返回执行步骤201。
本申请中,确定一个检测步长的数据检测过程完成后,将该一个检测步长对应的所有数据的校验值做预设处理,得到一用于表示该一个检测步长的所有数据的校验值的中间值,此时再返回步骤201。
步骤205,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值。
以存储区中所有数据的个数为55,检测步长等于10为例来说,第一个检测步长对应的数据包括第1个至第10个数据,同时在完成第一个检测步长的数据检测过程后,得到一用于表示该第一个检测步长的所有数据的校验值的中间值A1;第二个检测步长对应的数据包括第2个至第20个数据,同时在完成第二个检测步长的数据检测过程后,得到一用于表示该第二个检测步长的所有数据的校验值的中间值A2;第三个检测步长对应的数据包括第3个至第30个数据,同时在完成第三个检测步长的数据检测过程后,得到一用于表示该第三个检测步长的所有数据的校验值的中间值A3;第四个检测步长对应的数据包括第4个至第40个数据,同时在完成第四个检测步长的数据检测过程后,得到一用于表示该第四个检测步长的所有数据的校验值的中间值A4;在第五个检测步长的数据检测过程中,由于剩下的数据只包括5个,那么在未确定一个检测步长的数据已完成检测时,已经检测到结束地址的数据,此时本申请将分别得到该第51个至第55个数据的校验值。
在确定完成对存储区中所有数据的检测后,依据得到的A1、A2、A3、A4以及第51个至第55个数据的校验值,便可以得到存储区中所有数据的校验值。
具体地,在本申请实际应用过程中,依据A1、A2、A3、A4以及第51个至第55个数据的校验值得到存储区中所有数据的校验值的实现方法可以包括:每完成一个检测步长的数据的检测后,将该检测步长的数据的校验值求和,得到表示该一个检测步长的所有数据的校验值的中间值A(即A1、A2、A3、A4)。将得到的所有中间值A以及最后得到的第51个至第55个数据的校验值求和,得到存储区中所有数据的校验值。
步骤206,依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
具体地,当存储区中所有数据的校验值与标准校验值相等,则判断存储区存储的数据正常,当存储区中所有数据的校验值与标准校验值不相等,则判断存储区存储的数据发生故障。
在本申请实施例中,通过设置针对存储区的检测步长,以所述检测步长为单位完成对存储区的数据检测,由此,如果某个存储区的数据检测过程较长时,当CPU需要响应并处理其他事件或任务时,可以在一个检测步长完成后暂时退出数据检测程序,先去执行处理其他事件或任务。当执行完其他事件或任务后,再返回继续对存储区的数据检测。本申请实施例能够有效提高CPU的负载率,防止了CPU长时间检测存储区数据而无法执行其他事件或任务。
本申请提供的数据检测方法实现了对汽车电子控制单元中的存储器中的数据进行安全检测,能够及时发现存储器中的数据发生故障,保证了控制器的功能安全。
上述实施例描述的是针对单个存储区实现的数据检测方法,基于上述实施例,在步骤102或步骤206判断存储区存储的数据没有发生故障之后,方法还可以进一步包括:确定下一待检测存储区,并执行对所述下一待检测存储区的数据检测。
其中下一待检测存储区的预设地址上存储有与该下一待检测存储区对应的标准校验值。在本申请具体应用过程中,每个存储区各自的预设地址中分别存储有相应的标准校验值。
本申请对于不同存储区中的每个存储区均采用本申请前述实施例提供的针对单个存储区实现的数据检测方法,由此本申请实现了对多个存储区的数据检测。
汽车电子控制单元内部不只有一片存储区,且不只有一种种类的存储区。按照功能划分,汽车电子控制单元内部包括配置数据存储区、标定数据存储区、程序存储区和Bootloader存储区,如图4所示。
不同的存储区地址可能是连续的,也可能由于CPU结构的原因,不同存储区地址是不连续的,或者处于不同的地址分页中。对于汽车电子控制单元,不同的存储区可能会在产品生产的不同阶段单独下载或更新,所以对于不同存储区的故障检测,需要分开进行。
作为本申请优选地,本申请可以预先为不同的存储区设置不同的优先级,如配置数据存储区的优先级高于标定数据存储区的优先级,标定数据存储区的优先级高于程序存储区的优先级,程序存储区的优先级高于Bootloader存储区的优先级。由此,本申请可以按照预设的存储区的优先级由高到低的顺序,确定下一待检测存储区。
结合附图5所示,申请人对本申请实现的对多个存储区的数据检测的方法进行说明。
步骤401,检测配置数据存储区存储的数据是否发生故障。如果发生,执行步骤402,否则执行步骤403。
步骤402,作出故障提醒。
优选地,当工作人员基于故障提醒完成对配置数据存储区中故障数据的修复后,可以选择重新执行步骤401,再次检测配置数据存储区存储的数据是否发生故障,也可以选择执行步骤403,开始对下一存储区存储的数据进行检测。
步骤403,检测标定数据存储区存储的数据是否发生故障。如果发生,执行步骤404,否则执行步骤405。
步骤404,作出故障提醒。
优选地,当工作人员基于故障提醒完成对标定数据存储区中故障数据的修复后,可以选择重新执行步骤403,再次检测标定数据存储区存储的数据是否发生故障,也可以选择执行步骤405,开始对下一存储区存储的数据进行检测。
步骤405,检测程序存储区存储的数据是否发生故障。如果发生,执行步骤406,否则执行步骤407。
步骤406,作出故障提醒。
优选地,当工作人员基于故障提醒完成对程序存储区中故障数据的修复后,可以选择重新执行步骤405,再次检测程序存储区存储的数据是否发生故障,也可以选择执行步骤407,开始对下一存储区存储的数据进行检测。
步骤407,检测Bootloader存储区存储的数据是否发生故障。如果发生,执行步骤408,否则执行步骤409。
步骤408,作出故障提醒。
优选地,当工作人员基于故障提醒完成对Bootloader存储区中故障数据的修复后,可以选择重新执行步骤407,再次检测Bootloader存储区存储的数据是否发生故障,也可以选择执行步骤409。
步骤409,结束数据检测过程。
在本申请实施例中,控制器每次上电或唤醒后便触发执行步骤401。当所有存储区的数据都检测完成后,结束对各存储区的数据检测,退出数据检测程序。在整个数据检测过程中,按照存储区的优先级由高到低的顺序,对各存储区执行数据检测。其中,针对各存储区可能存在的数据故障,作出的相应的故障处理操作如下表1所示。
表1
本申请实施例提供的数据检测方法,在控制器每次上电或唤醒后对汽车电子控制单元中各存储区的存储数据进行数据检测,保证了控制器的功能安全。对于汽车电子控制单元中不同的存储区按存储区的优先级由高到低的顺序,对各存储区执行数据检测,保证了重要的存储区优选检测。
以上为本申请提供的一种数据检测方法,相应地,本申请还提供一种数据检测装置,如图6所示,包括:
数据读取单元100,用于读取存储区中目标地址对应的数据;
校验值获取单元200,用于采用预设的校验方法,得到所述数据的校验值;
数据故障判断单元300,用于依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
可选地,本申请提供的数据检测装置还可以包括:
检测步长设置单元,用于预先设置针对所述存储区的检测步长,以所述检测步长为单位完成对所述存储区的数据检测。
地址判断单元,用于判断所述目标地址是否为所述存储区的结束地址;
存储区校验值获取单元,用于在所述地址判断单元判断所述目标地址是所述存储区的结束地址时,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值;
统计单元,用于在所述地址判断单元判断所述目标地址不是所述存储区的结束地址时,统计当前检测到的数据的个数;
个数判断单元,用于判断所述个数是否小于所述检测步长;
所述个数判断单元判断所述个数小于所述检测步长时,触发所述数据读取单元100;
所述个数判断单元判断所述个数不小于所述检测步长时,触发中间值获取单元;
所述中间值获取单元,用于确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值;
所述中间值获取单元完成后,触发所述数据读取单元100。
进一步地,本申请提供的数据检测装置还可以包括:
待检测存储区确定单元,用于在所述数据故障判断单元判断所述存储区存储的数据没有发生故障时,确定下一待检测存储区,并执行对所述下一待检测存储区的数据检测。
其中,所述待检测存储区确定单元具体用于,按照预设的存储区的优先级由高到低的顺序,确定下一待检测存储区。
其中,配置数据存储区的优先级高于标定数据存储区的优先级,所述标定数据存储区的优先级高于程序存储区的优先级,所述程序存储区的优先级高于Bootloader存储区的优先级。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据检测方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种数据检测方法,其特征在于,所述方法包括:
读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值;
依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
2.根据权利要求1所述的方法,其特征在于,所述读取存储区中目标地址对应的数据包括:
当首次执行对所述存储区的数据检测时,读取所述存储区中,除用于存储所述标准校验值的预设地址外的首地址对应的数据;
当非首次执行对所述存储区的数据检测时,读取所述存储区中,最后一次完成得到校验值的数据对应的地址的下一地址对应的数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预先设置针对所述存储区的检测步长,以所述检测步长为单位完成对所述存储区的数据检测。
4.根据权利要求3所述的方法,其特征在于,所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值之后,所述方法还包括:
判断所述目标地址是否为所述存储区的结束地址;
如果是,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值;
如果否,统计当前检测到的数据的个数,并判断所述个数是否小于所述检测步长;
如果小于,返回所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值的步骤;
如果不小于,确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值,再返回所述读取存储区中目标地址对应的数据,并采用预设的校验方法,得到所述数据的校验值的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当判断所述存储区存储的数据没有发生故障时,确定下一待检测存储区,并执行对所述下一待检测存储区的数据检测。
6.根据权利要求5所述的方法,其特征在于,所述确定下一待检测存储区包括:按照预设的存储区的优先级由高到低的顺序,确定下一待检测存储区。
7.根据权利要求6所述的方法,其特征在于,
配置数据存储区的优先级高于标定数据存储区的优先级,所述标定数据存储区的优先级高于程序存储区的优先级,所述程序存储区的优先级高于Bootloader存储区的优先级。
8.一种数据检测装置,其特征在于,所述装置包括:
数据读取单元,用于读取存储区中目标地址对应的数据;
校验值获取单元,用于采用预设的校验方法,得到所述数据的校验值;
数据故障判断单元,用于依据所述存储区中所有数据的校验值,以及预先存储在所述存储区中预设地址的标准校验值,判断所述存储区存储的数据是否发生故障。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
检测步长设置单元,用于预先设置针对所述存储区的检测步长,以所述检测步长为单位完成对所述存储区的数据检测。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
地址判断单元,用于判断所述目标地址是否为所述存储区的结束地址;
存储区校验值获取单元,用于在所述地址判断单元判断所述目标地址是所述存储区的结束地址时,获取包括所述目标地址对应的数据的校验值以及在获取所述目标地址对应的数据的校验值之前获取的所有数据的校验值,以得到所述存储区中所有数据的校验值;
统计单元,用于在所述地址判断单元判断所述目标地址不是所述存储区的结束地址时,统计当前检测到的数据的个数;
个数判断单元,用于判断所述个数是否小于所述检测步长;
所述个数判断单元判断所述个数小于所述检测步长时,触发所述数据读取单元;
所述个数判断单元判断所述个数不小于所述检测步长时,触发中间值获取单元;
所述中间值获取单元,用于确定一个检测步长的数据已完成检测,得到一个用于表示该一个检测步长的所有数据的校验值的中间值;
所述中间值获取单元完成后,触发所述数据读取单元。
CN201711347622.1A 2017-12-15 2017-12-15 一种数据检测方法和装置 Active CN108037753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711347622.1A CN108037753B (zh) 2017-12-15 2017-12-15 一种数据检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711347622.1A CN108037753B (zh) 2017-12-15 2017-12-15 一种数据检测方法和装置

Publications (2)

Publication Number Publication Date
CN108037753A true CN108037753A (zh) 2018-05-15
CN108037753B CN108037753B (zh) 2019-10-15

Family

ID=62102744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711347622.1A Active CN108037753B (zh) 2017-12-15 2017-12-15 一种数据检测方法和装置

Country Status (1)

Country Link
CN (1) CN108037753B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347467A (zh) * 2019-08-07 2021-02-09 联合汽车电子有限公司 车载控制器的启动方法及系统
CN113778061A (zh) * 2021-09-16 2021-12-10 广州锦红源电子科技有限公司 电子控制器程序完整性的校验方法、装置、电子控制器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178675A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 校验数据的方法和装置
CN102156828A (zh) * 2011-01-25 2011-08-17 北京握奇数据系统有限公司 一种智能卡数据存、取过程中的校验方法及智能卡
CN103208313A (zh) * 2013-04-26 2013-07-17 杭州和利时自动化有限公司 一种检测方法及系统
CN105354107A (zh) * 2015-10-22 2016-02-24 上海斐讯数据通信技术有限公司 NOR Flash的数据传输方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101178675A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 校验数据的方法和装置
CN102156828A (zh) * 2011-01-25 2011-08-17 北京握奇数据系统有限公司 一种智能卡数据存、取过程中的校验方法及智能卡
CN103208313A (zh) * 2013-04-26 2013-07-17 杭州和利时自动化有限公司 一种检测方法及系统
CN105354107A (zh) * 2015-10-22 2016-02-24 上海斐讯数据通信技术有限公司 NOR Flash的数据传输方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347467A (zh) * 2019-08-07 2021-02-09 联合汽车电子有限公司 车载控制器的启动方法及系统
CN112347467B (zh) * 2019-08-07 2024-06-18 联合汽车电子有限公司 车载控制器的启动方法及系统
CN113778061A (zh) * 2021-09-16 2021-12-10 广州锦红源电子科技有限公司 电子控制器程序完整性的校验方法、装置、电子控制器

Also Published As

Publication number Publication date
CN108037753B (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
JP5693547B2 (ja) 電池管理装置およびその制御方法ならびにプログラム、それを備えた電池監視システム
CN205881469U (zh) 电子设备和用于具有经受瞬态故障和永久故障的多个存储器位置的存储器的故障检测设备
CN108037753B (zh) 一种数据检测方法和装置
CN113535474B (zh) 异构云存储集群故障自动修复的方法、系统、介质及终端
CN102904685B (zh) 一种硬件表项校验错误的处理方法及装置
CN108027692B (zh) 一种提高触摸屏容错性的方法及触屏终端
CN1841547B (zh) 识别故障模块的方法及装置
CN106155826B (zh) 用于在总线结构中检测及处理错误的方法和系统
JP2008016035A (ja) メモリテスティング
CN109376029A (zh) 一种scsi硬盘异常超时的处理方法及处理系统
CN112000536A (zh) 一种内存检测方法、系统及相关设备
JP2010151756A (ja) 電池パック
CN109144754A (zh) 一种可靠性测试方法及装置
CN110442474B (zh) 一种数据一致性验证方法、系统及数据验证端
CN103778968A (zh) 结合多张快闪记忆卡的固态硬盘的检测装置及其方法
CN104252265A (zh) 触摸感测系统和方法
CN109742050A (zh) 基板及对位方法、设备
CN114090095B (zh) 一种多路服务器中cpu的bios加载方法及相关组件
CN104516681B (zh) 数据储存系统及其控制方法
CN104181909B (zh) 用于确定基于虚拟化的集成控制系统中软件错误的方法
CN109976662A (zh) 数据存储方法、装置及分布式存储系统
CN113590203A (zh) 基板管理控制器失效处理方法及系统、存储介质及单片机
CN106776169A (zh) 一种测试服务器的psu的方法及装置
CN105939258B (zh) Vrrp报文的发送方法及装置
CN117873797B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hirain Technologies Co.,Inc.

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.