CN114860159A - 数据存取方法和电子设备 - Google Patents
数据存取方法和电子设备 Download PDFInfo
- Publication number
- CN114860159A CN114860159A CN202210391746.4A CN202210391746A CN114860159A CN 114860159 A CN114860159 A CN 114860159A CN 202210391746 A CN202210391746 A CN 202210391746A CN 114860159 A CN114860159 A CN 114860159A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- target
- fault
- reading
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请适用于数据处理技术领域,提供了一种数据存取方法和电子设备。其中,上述数据存取方法具体包括:检测是否接收到来自指令发送端发送的数据读取指令;在未接收到所述数据读取指令时,获取目标设备的运行状态;根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。本申请的实施例可以满足黑匣子设备对关键数据的存取需求。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据存取方法和电子设备。
背景技术
黑匣子设备是配置在汽车、飞机等设备上的电子设备,能够记录汽车、飞机等设备的工作信息,协助重新事故发生的过程。
目前,黑匣子设备的数据存储逻辑只能满足在整个存储区域内进行覆盖保存,数据分析时所需的关键数据常因缺失或被覆盖而减少;相应的,黑匣子设备的数据读取逻辑只能读取区域内的全部数据,容易读取到大量无用的数据。因此,现有的数据存取方法不能够满足黑匣子设备对关键信息的存取需求。
发明内容
本申请实施例提供一种数据存取方法和电子设备,可以解决现有的数据存取方法不能够满足黑匣子设备对关键数据的存取需求的问题。
本申请实施例第一方面提供一种数据存取方法,包括:
检测是否接收到来自指令发送端发送的数据读取指令;在未接收到所述数据读取指令时,获取目标设备的运行状态;根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。
本申请实施例第二方面提供的一种数据存取装置,包括:
检测单元,用于检测是否接收到来自指令发送端发送的数据读取指令;运行状态获取单元,用于在未接收到所述数据读取指令时,获取目标设备的运行状态;存储信息获取单元,用于根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;数据存储单元,用于根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据存取方法的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据存取方法的步骤。
本申请实施例第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行实现上述数据存取方法的步骤。
在本申请的实施方式中,通过在接收到来自指令发送端发送的数据读取指令时,获取目标设备的运行状态,并根据目标设备的运行状态,确定目标设备的目标存储数据、目标存储数据的目标存储方式和目标存储数据的存储时间间隔,进而根据存储时间间隔,按照目标存储方式将目标存储数据存储至存储器中的目标存储区域,能够为不同运行状态赋予不同的存储时间间隔,进而使特定运行状态下的关键数据的存储频次增加,同时数据存储时不会覆盖存储器内所有存储区域的数据,进而避免关键数据因缺失或被覆盖而减少的问题,因此,本申请提供的数据存取方法相较于现有技术能够满足黑匣子设备对关键数据的存取需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据存取方法的实现流程示意图;
图2是本申请实施例提供的对存储器进行配置的具体实现流程示意图;
图3是本申请实施例提供的对头部数据进行初始化操作的具体实现流程示意图;
图4是本申请实施例提供的获取目标设备的运行状态的具体实现流程示意图;
图5是本申请实施例提供的对故障数据进行存储的具体实现流程示意图;
图6是本申请实施例提供的对基本数据进行存储的具体实现流程示意图;
图7是本申请实施例提供的读取数据的具体实现流程示意图;
图8是本申请实施例提供的数据存取的流程示意图;
图9是本申请实施例提供的一种数据存取装置的结构示意图;
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
图1示出了本申请实施例提供的一种数据存取方法的实现流程示意图,该方法可以应用于电子设备上,可适用于需满足黑匣子设备对关键数据的存取需求的情形。其中,上述电子设备可以指黑匣子设备,也可指其他具有数据存取能力的设备,例如智能手机、计算机等。
具体的,上述数据存取方法可以包括以下步骤S101至步骤S104。
步骤S101,检测是否接收到来自指令发送端发送的数据读取指令。
其中,指令发送端为指示上述电子设备进行数据读取并指示上述电子设备反馈读取到的数据的设备。具体的,指令发送端可以是上述电子设备的上位机,也可以是与上述电子设备远程连接的手机、平板电脑等智能设备。
在本申请的实施方式中,不同的指令可以携带有用于标识该指令的类型的数据字段。上述电子设备在每次接收到指令时,可以分析指令中携带的数据字段是否为数据读取指令对应的数据字段,进而判断所接收到的指令是否为数据读取指令。
如果电子设备接收到来自指令发送端发送的数据读取指令,说明电子设备当前需要执行数据读取工作。否则,说明电子设备当前不需要执行数据读取工作,可以执行数据读取以外的其他工作。需要说明的是,在本申请的一些实施方式中,数据存储和数据读取不同时进行。
在本申请的实施方式中,不对数据读取指令的触发方式进行限制。例如指令发送端可以在接收到用户在应用程序上进行的输入操作时,向上述电子设备发送数据读取指令,也可以在接收到用户对实体按键的按压操作时,向上述电子设备发送数据读取指令。
步骤S102,在未接收到数据读取指令时,获取目标设备的运行状态。
其中,目标设备是上述电子设备存储数据的数据来源,具体可以指车辆、飞机、发电设备等。电子设备可用于被动地接收目标设备发送的数据,并对目标设备发送的数据进行存储。运行状态指目标设备的工作状态,可以包括故障状态、待机状态以及正常工作状态等。
应理解,目标设备处于不同运行状态时,目标设备发送给电子设备的数据(也即电子设备所存储的数据)的数据类型不同,数据内容也存在至少部分不同。为了满足电子设备对目标设备不同数据的存储需要,电子设备可以获取目标设备的运行状态,进而依据目标设备的运行状态,采用不同的策略进行数据存储。
在本申请的一些实施方式中,目标设备的运行状态可以由目标设备以预设频率下发给电子设备,其中,预设频率可以由工作人员根据实际需求设置。
具体的,目标设备可以配置有自检模块和通讯模块。自检模块可用于对目标设备的电压、电流、响应数据、响应时间等参数进行检测,以确定目标设备的运行状态。通讯模块可用于在确定出目标设备的运行状态之后,将运行状态的信息发送至上述电子设备。其中,通讯模块可以通过有线或无线的方式实现数据传输。
在本申请的另一些实施方式中,电子设备也可以在获取到目标设备需存储的数据之后,判断该数据的数据类型,进而确定目标设备的运行状态。
步骤S103,根据目标设备的运行状态,确定目标设备的目标存储数据、目标存储数据的目标存储方式和目标存储数据的存储时间间隔。
其中,目标存储数据是指当前需要存储的数据。
在本申请的一些实施方式中,电子设备可以获取运行状态下目标设备的目标存储数据。
具体的,如果目标设备的运行状态为故障状态,则目标存储数据可以为故障数据,故障数据可以包括目标设备的电池状态、电池运行状态、充放电状态、电池荷电(State ofCharge,SOC)状态和故障类型中的一项或多项。
如果目标设备的运行状态为待机状态或正常工作状态时,则目标存储数据可以为基本数据。基本数据可以包括目标设备的电池状态、电池运行状态、充放电状态、SOC状态中的一项或多项。
目标存储方式是指存储目标存储数据所采用的存储方式,例如可以是循环累计型和覆盖型。其中,循环累计型是指在存储区域内循环存储,覆盖型是指将整个存储区域内的数据覆盖为目标存储数据。存储时间间隔是指在对目标存储数据进行多次存储时,相邻两次存储操作的时间间隔。
在本申请的一些实施方式中,电子设备可以根据目标存储数据的数据类型,确定目标存储数据的目标存储方式和目标存储数据的存储时间间隔。
其中,每一数据类型的存储数据分别对应一种存储方式和一个存储时间间隔。
考虑到电子设备为黑匣子设备时,数据存储的目的是为了存储故障状态下的故障数据,因此,如果目标存储数据为故障数据,则其存储时间间隔可以为第一时长,如果目标存储数据为基本数据,则其存储时间间隔可以为第二时长。其中,第一时长小于第二时长,进而使目标设备故障状态下的故障数据的存储频次增加。
并且,在存储基本数据时,如果存储的是正常工作状态下的基本数据,则其存储时间间隔可以为第三时长,如果存储的是待机状态下的基本数据,则其存储时间间隔可以为第四时长。其中,第三时长小于第四时长,进而在保证基本数据可以长时间保存的同时,保证能够监控到异常或者充放电状态下的数据。
需要说明的是,第一时长、第三时长和第四时长均可以根据实际情况进行设置,例如,第一时长可以为1秒,第三时长可以为5秒,第四时长可以为1分钟。
步骤S104,根据存储时间间隔,按照目标存储方式将目标存储数据存储至存储器中的目标存储区域。
在本申请的实施方式中,电子设备可以在当前时间满足存储时间间隔时,将获取到的目标存储数据存储,按照目标存储方式存储至存储器中的目标存储区域。
其中,目标存储数据可以通过串行外设接口(Serial Peripheral Interface,SPI),从电池管理系统(BATTERY MANAGEMENT SYSTEM,BMS)模组的主动前端(Active FrontEnd,AFE)或整流单元或模拟/数字转换器(Analog to Digital Converter,AD)采集的数据中获取。
目标存储区域是电子设备的存储器中用于存储目标存储数据的存储区域。
在本申请的一些实施方式中,电子设备可以将存储器的存储区域划分为多个存储区域。每个存储区域与一种数据类型的标识绑定,用于存储该数据类型的数据。例如,在本实施例中,存储器包括第一存储区域和若干第二存储区域,所述第二存储区域用于存储所述目标设备的存储数据,所述第一存储区域用于保存所述第二存储区域的存储信息;第一存储区域为用于存储故障数据的头部数据存储区,第二存储区域包括存储故障数据的故障数据存储区、用于存储基本数据的基本数据存储区,以及用于存储固件数据的固件数据存储区,所述头部数据包含所述故障数据存储区、所述基本数据存储区,以及所述固件数据存储区的存储信息。
在步骤S104中,按照所述目标存储方式将所述目标存储数据存储至对应的第二存储区域;根据所述第二存储区域的存储信息,更新所述第一存储区域的存储数据。
例如,存储器的存储区域可以包括用于存储头部数据的头部数据存储区、用于存储故障数据的故障数据存储区、用于存储基本数据的基本数据存储区,以及用于存储固件数据的固件数据存储区。
其中,头部数据包含故障数据存储区、基本数据存储区,以及固件数据存储区的存储信息。存储信息可以具体指数据存储状态,该数据存储状态可以包括基础数据存储区、故障数据存储区和固件数据存储区的存储状态。基本数据存储区状态和故障数据存储区的存储状态包括内存区的地址和大小、单条数据的大小、内存存储数据的数量、最后数据存储的序号中的一项或多项;固件数据存储状态包括当前固件版本、上一个固件的版本、当前固件的大小、固件升级的次数、当前固件更新的时间中的一项或多项。
相应的,电子设备在获取到目标存储数据之后,可以按照目标存储方式,将目标存储数据存储至其数据类型绑定的目标存储区域内,以将不同数据类型的数据分开进行存储,避免非关键数据的存储与关键数据的存储相互影响。
在本申请的实施方式中,通过在接收到来自指令发送端发送的数据读取指令时,获取目标设备的运行状态,并根据目标设备的运行状态,确定目标设备的目标存储数据、目标存储数据的目标存储方式和目标存储数据的存储时间间隔,进而根据存储时间间隔,按照目标存储方式将目标存储数据存储至存储器中的目标存储区域,能够为不同运行状态赋予不同的存储时间间隔,进而使特定运行状态下的关键数据的存储频次增加,同时数据存储时不会覆盖存储器内所有存储区域的数据,进而避免关键数据因缺失或被覆盖而减少的问题,因此,本申请提供的数据存取方法相较于现有技术能够满足黑匣子设备对关键数据的存取需求。
在本申请的一些实施方式中,上述存储器可以指缓存(cache)、闪存(FlashEEPROM)或其他存储器,或者这些存储器的组合。
具体的,上述电子设备一般配备有微控制单元(Microcontroller Unit,MCU),MCU自身可包含缓存,缓存空间较小,因此,在实际使用中,可以为上述电子设备配置外置闪存,该外置闪存可与MCU连接。
电子设备的MCU与目标设备进行连接后,可以接收目标设备传输的数据,并优先将数据存储在MCU的缓存中。一些实施方式中,MCU的缓存还可以划分为一级缓存与二级缓存。MCU在接收到目标设备的数据后,可以先将数据存储在一级缓存中,一级缓存内存储的数据量达到一定阈值后,再将数据存储到二级缓存。二级缓存内存储的数据量达到一定阈值后,再将数据存储至外置闪存中,以此避免频繁对闪存进行读写导致的闪存使用寿命缩短的问题。
由于需使用外置闪存,在本申请的一些实施方式中,电子设备可以在数据存取前,对存储器进行配置。
具体的,如图2所示,对存储器进行配置的过程可以包括以下步骤S201至步骤S203。
步骤S201,根据预设的参考配置数据对存储器进行配置。
其中,配置数据可用于对闪存与MCU之间的通讯参数进行配置。参考配置数据是电子设备在对存储器进行配置时使用的配置数据,一般可由工作人员提供。
具体的,电子设备上电后,可以依据预设的参考配置数据,通过SPI接口配置外置闪存的寄存器。具体可以配置外置闪存的状态器(HOLD/RESET模式、安全寄存器模式和区域)、通讯模式、通讯波特率等,以保证外置闪存进入到正常工作状态。
步骤S202,获取存储器的当前配置数据。
步骤S203,若当前配置数据与参考配置数据一致,则确认存储器配置成功,并执行检测是否接收到来自指令发送端发送的数据读取指令的步骤。
其中,当前配置数据是存储器内实际的配置数据。
也就是说,电子设备可以回读存储器内寄存器实际的配置数据,判断回读的数据是否与进行配置时使用的数据一致。
如果当前配置数据与参考配置数据一致,则可以确认存储器配置成功,并执行检测是否接收到来自指令发送端发送的数据读取指令的步骤,开始进行数据的存取。
如果当前配置数据与参考配置数据不一致,则可以确认存储器配置不成功。相应的,如果配置不成功,外置闪存可以通知MCU进行异常处理,或者在MCU读取数据时返回异常。其中,读取数据和配置任务可以在特定的函数或任务中实现,调用这种函数或任务时,外置闪存可以返回状态OK或者FALSE,OK表示成功,FALSE表示异常。
由于配置不成功的情况可能是由于时序错误、SPI通讯异常或者外置闪存总线忙中的任一种情况造成的,因此,终端设备可以在配置不成功时,重新执行步骤S201至步骤S203的配置步骤,直至配置成功。或者,直至配置次数达到预设的次数阈值时,说明失败原因可能是SPI通讯异常或者外置闪存异常,此时,再通知MCU进行异常处理,等待MCU处理结果后再执行后续步骤。其中,次数阈值可根据实际情况进行设置,例如设置为3次。
需要说明的是,上述配置过程并不影响电子设备的数据存取功能,对存储器进行配置有利于实际应用中为电子设备添加预留功能。
在存储器配置成功之后,如图3所示,电子设备还可以执行以下步骤S301至步骤S303。
步骤S301,从存储器的头部数据存储区读取头部数据。
其中,对头部数据的说明可以参看前述步骤S104的具体描述,本申请对此不进行赘述。
步骤S302,对头部数据进行校验。
其中,校验方式可以采用校验和、循环冗余校验(Cyclic Redundancy Check,CRC)8、CRC16、CRC32、取反校验等方式实现。
在本申请的实施方式中,每个存储区域的数据组成格式可以不同,采用的校验方式也可以不同。其中,数据组成格式可以包括数据头字节、数据框架、数据校验字节、数据尾字节。电子设备可以将读取的数据通过数据类型绑定的校验方式计算出检验数据,并将计算得到的检验数据与读取到的数据中包含的数据校验字节进行比对。若两者一致则可确认校验成功,否则,可以确认校验失败。
步骤S303,若校验失败,则确认存储器为首次使用,对头部数据进行初始化操作。
如果校验失败,电子设备可以确认外置闪存为首次使用,进而对头部数据进行初始化操作。其中,初始化操作可以是将存储器划分为前述头部数据存储区、故障数据存储区、基本数据存储区,以及固件数据存储区,并确认每个存储区最开始的存储位置。
例如,当外置闪存的总存储空间大小为16M时,可以划分第0至1M的存储空间作为头部数据存储区,第1至12M的存储空间作为基本数据存储区,第12至14M的存储空间作为故障数据存储区,第14至16M的存储空间作为固件数据存储区。以上仅是一个示例,实际应用中,总存储空间大小及每个存储区域对应的分配情况均可以基于实际需求设置。
如果校验成功,电子设备可以确认外置闪存为非首次使用,此时,电子设备同样可以对头部数据进行初始化操作。其中,初始化操作可以是在外置闪存中未进行数据存储的区域进行存储区域的划分。
例如,假设外置闪存非初次使用,总存储空间为1G,原本外置闪存已存储数据的存储空间为512M,则电子设备可以将该外置闪存剩余的512M的存储区域作为后续进行数据存储的区域。
应理解,经过上述配置和校验过程,外置闪存处于正常工作状态,且各个存储区域划分明确,此时,电子设备可以利用该外置闪存执行前述步骤S101至步骤S104,将目标存储数据存储至外置闪存中的目标存储区域。
在存储目标存储数据的过程中,为了获取目标设备的运行状态,如图4所示,电子设备可以采用以下步骤S401至步骤S405。
步骤S401,获取故障标志位。
其中,上述故障标志可以为MCU内部的标志,可用于标识当前是否需要进行故障数据的存储。MCU可以在每次接收到故障数据时,对故障标志位进行更新,使故障标志位处于第一阈值,并在完成存储后,对故障标志位进行更新,使故障标志位由第一阈值更新为第二阈值。其中,第一阈值和第二阈值均可以根据实际情况进行设置,例如第一阈值可以设置为1,第二阈值可以设置为0。
步骤S402,在故障标志位为第一阈值时,则确定目标设备的运行状态为故障状态。
步骤S403,在故障标志位为第二阈值时,则判断接收到来自目标设备的存储数据是否为故障数据。
在本申请的一些实施方式中,若故障标志位为第一阈值,说明当前仍处于故障数据的存储过程中,因此可确定目标设备的运行状态为故障状态。若故障标志位为第二阈值,说明当前运行状态未知,需依据来自目标设备的存储数据,判断其是否为故障数据。
其中,判断接收到来自目标设备的存储数据是否为故障数据的方式可以根据实际情况进行选择,例如可以通过存储数据的数据类型的标识、存储数据的数据类型的数据组成格式进行判断。
步骤S404,若是故障数据,则确定目标设备的运行状态为故障状态,并将故障标志位更新为第一阈值。
步骤S405,若非故障数据,则根据接收来自目标设备的存储数据确定目标设备的运行状态为待机状态或正常工作状态。
如果接收到来自目标设备的存储数据为故障数据,则可以确认目标设备的运行状态为故障状态,并将故障标志位更新为第一阈值,并对故障数据进行存储。
具体的,如图5所示,上述对故障数据进行存储的过程可以具体包括以下步骤S501至步骤S505。
步骤S501,根据目标设备的故障类型,确定故障数据的总存储次数。
其中,故障类型可以按故障的成因进行划分,例如划分为软件触发的故障及硬件触发的故障;也可按故障的来源进行划分,例如划分为目标设备的上位机的故障、目标设备的下位机的故障、目标设备本身的故障。
总存储次数是指对故障数据连续进行存储的总次数。应理解,不同的故障类型所需的故障数据的总存储次数可以相同,也可以不同,具体可按照实际需求设置两者的对应关系。
例如,如果是软件触发的故障,则故障数据的总存储次数可以为10次,如果是硬件触发的故障,则故障数据的总存储次数可以为5次。如果是目标设备的上位机的故障,则故障数据的总存储次数可以为5次,如果是目标设备的下位机的故障,则故障数据的总存储次数可以为10次,如果是目设备本身的故障,由于这部分数据是黑匣子设备保存的关键数据,故障数据的总存储次数可以为存储所有故障数据所需的次数。
步骤S502,在满足存储时间间隔时,将故障数据存储至故障数据存储区。
步骤S503,获取已存储的故障数据,并对已存储的故障数据进行数据校验。
步骤S504,若校验成功,且故障数据的实际存储次数未达到总存储次数,则在再次满足存储时间间隔时,继续对故障数据进行数据存储与数据校验,直至故障数据的实际存储次数达到总存储次数时,停止对故障数据进行数据存储。
也就是说,在第一次当前时间满足存储时间间隔时,电子设备可以将故障数据存储至故障数据存储区,然后对已存储的故障数据进行回读,并对已存储的故障数据进行数据校验,以判断回读的数据是否和原数据一致。
其中,故障数据的校验方式可以参看头部数据的校验方式,对此本申请不进行赘述。
如果校验失败,电子设备需重新执行获取已存储的故障数据,并对已存储的故障数据进行数据校验的步骤,进而判断已存储的数据是否和再回读的数据一致,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息,以通知MCU进行异常处理,等待MCU处理结果后再进行下一步操作。其中,次数阈值可根据实际情况设置,例如可以设置为3次。
如果校验成功,则说明本次存储有效,在下一次满足存储时间间隔时,进行第二次的数据存储,并对第二次存储的数据进行数据校验,以此类推,直至故障数据的实际存储次数达到总存储次数时,停止对故障数据进行数据存储。
步骤S505,根据故障数据存储区的存储信息,对头部数据进行更新,并将故障标志位的由第一阈值更新为第二阈值。
完成总存储次数的故障数据存储之后,电子设备可以根据故障数据存储区的存储信息对头部数据进行更新,以保证头部数据的准确性。同时,电子设备需将故障标志位由第一阈值更新为第二阈值,以避免下一次获取目标设备的运行状态时,错误地确认目标设备的运行状态为故障状态。
本申请的实施方式中,基于图4和图5所示的数据存储方式,电子设备可以对故障数据进行多次连续存储,使得在对目标设备的故障进行分析时,能参考足够多的故障数据,进而提高故障分析的准确性。
在本申请的一些实施方式中,存储故障数据时,电子设备可以采用写offset偏移地址算法。
其中,写offset偏移地址算法可以表示为:
offset1=(index-1)*data_size1。
其中,index为故障数据存储区内进行数据存储的当前位置编号;max_num为故障数据存储区内进行数据存储所能达到的最大位置编号;data_size1是故障数据的数据大小,offset1即为故障数据在故障数据存储区内存储的位置。
也就是说,当index>max_num时,将设置index=1,使得数据从最开始的地址处进行保存,否则index往下进行递增。
在本申请的另一些实施方式中,如果接收来自目标设备的存储数据非故障数据,则电子设备可以确定目标设备的运行状态为待机状态或正常工作状态,并对基本数据进行存储。
具体的,如图6所示,上述对基本数据进行存储的过程可以具体包括以下步骤S601至步骤S604。
步骤S601,在满足存储时间间隔时,将基本数据存储至基本数据存储区。
步骤S602,获取已存储的所述基本数据,并对已存储的基本数据进行数据校验。
步骤S603,若校验失败,则重新执行获取已存储的所述基本数据,并对已存储的基本数据进行数据校验的步骤,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息。
步骤S604,若校验成功,则根据基本数据的存储信息对头部数据进行更新。
同样的,电子设备可以在当前时间满足存储时间间隔时,将基本数据存储至基本数据存储区,然后对已存储的基本数据进行回读,并对已存储的基本数据进行数据校验,以判断回读的数据是否和原数据一致。
其中,基本数据的校验方式同样可以参看头部数据的校验方式,对此本申请不进行赘述。
如果校验失败,电子设备需重新执行获取已存储的故障数据,并对已存储的基本数据进行数据校验的步骤,进而判断已存储的数据是否和再回读的数据一致,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息,以通知MCU进行异常处理,等待MCU处理结果后再进行下一步操作。其中,次数阈值可根据实际情况设置,例如可以设置为3次。
如果校验成功,则说明本次存储有效,此时可以根据基本数据的存储信息对头部数据进行更新,以保证头部数据的准确性。
需要说明的是,存储基本数据时,电子设备同样可以采用写offset偏移地址算法,对此本申请不进行赘述。
在本申请的实施方式中,通过上述数据存储过程,一方面,能够对目标设备不同运行状态下提供的数据分开进行存储,存储策略也可按照数据的数据类型区分,使得对关键数据(如故障数据)的存储频次增加,避免存储非关键数据时覆盖掉关键数据。另一方面,每次存储数据时均会对存储的数据进行校验,可以保障存储的数据是准确的,进而提高后续对已存储的数据进行数据分析所得到的分析结果的准确性。
在本申请的另一些实施方式中,如果检测接收到来自指令发送端发送的数据读取指令,则电子设备需要依据数据读取指令从存储器中读取数据。
具体的,如图7所示,上述读取数据的过程可以包括以下步骤S701至步骤S704。
步骤S701,在接收到数据读取指令时,获取数据读取指令中的目标读取数据的数据类型。
其中,目标读取数据是指电子设备当前需要读取的数据,也即指令发送端需要的数据。
具体的,数据读取指令中可以携带有目标读取数据的数据类型的标识,基于该标识,电子设备可以确定指令发送端所需的目标读取数据的数据类型。
步骤S702,获取数据类型的存储方式和目标存储位置,根据存储方式确定目标读取数据的读取方式。
步骤S703,根据读取方式,从存储器中的目标存储位置读取目标读取数据。
其中,目标存储位置是目标读取数据在其所在的存储区域内的存储位置,电子设备可以从前述头部数据中记载的存储信息获取到目标存储位置。
在本申请的一些实施方式中,由于电子设备在存储目标设备不同运行状态下的数据(也即不同数据类型的数据)时,会采用不同的存储方式存储至与数据类型对应的目标存储位置区域内,因此,读取数据时,电子设备需根据存储方式确定目标读取数据的读取方式。
具体的,电子设备可以依据目标读取数据的数据类型的标识,获取与数据类型绑定的存储方式,进而确定存储方式对应的读取方式。
在本申请的一些实施方式中,若存储方式为循环累计型,则电子设备可以确定目标读取数据的读取方式为:从目标存储位置,读取与数据读取指令的请求时间最接近的至少一条数据作为目标读取数据。所读取的数据的数量可以根据实际进行调整。也就是说,可以读取目标读取数据直至实际读取次数满足数据读取指令要求的总读取次数。
在本申请的另一些实施方式中,若存储方式为覆盖型,则电子设备可以确定目标读取数据的读取方式为:从目标存储位置读取目标存储位置所在的存储区域内的所有数据作为目标读取数据。
步骤S704,将目标读取数据发送至指令发送端。
读取到目标读取数据之后,电子设备可以将目标读取数据发送至指令发送端,完成数据读取工作。
在读取目标读取数据的过程中,电子设备可以采用读offset偏移地址算法。
其中,读offset偏移地址算法表示为:
offset2=(max_num+index-read_num-1)×data_size2。
其中,data_size2是指目标读取数据的数据大小;read_num是目标读取数据的总读取次数;index是目标读取数据所在的存储区域内进行数据存储的当前位置编号;max_num为故障数据存储区内进行数据存储所能达到的最大位置编号;offset2表示目标存储位置。
也就是说,当max_num为0时,表示目标读取数据没有达到存储区域内可以保存的最大次数,此时,如果read_num>index,说明保存在存储区域内的数据次数未能满足需求次数,则改变read_num=index-1,保证读取到的数据为数据保存内存中最新数据。如果max_num不为0时,若read_num>max_num,则将读取次数read_num改变为max_num。若读取次数read_num≤index,表示已经读取的数据是未覆盖的数据,此时,目标读取数据是新数据覆盖旧数据的范围,将max_num清零,即max_num=0,则读取的数据为覆盖后的数据。当max_num≤index,则表示当前数据已存满整个内存,将保存序号赋值到内存开始地址位置,即index=1,此时,读取的数据可以读取到内存结束位置的数据。
此外,每进行一次数据读取之后,电子设备需判断是否读取成功。
同样的,电子设备可以依据与目标读取数据的数据类型绑定的校验方式,对读取的数据进行校验。若校验成功,则确认读取成功,并通过链接回路将目标读取数据发送到指令发送端。若校验失败,则可以重新进行数据读取和数据校验,直至读取成功。或者,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息,以通知MCU进行异常处理,等待MCU处理结果后再进行下一步操作。其中,次数阈值可根据实际情况设置,例如可以设置为3次。
在本申请的实施方式中,通过上述数据读取过程,电子设备可以读取存储区域内的部分或全部数据,能够按照数据存储的时间就近进行数据读取,避免读取到非关键数据,进而提高对所读取的数据进行数据分析得到的分析结果的准确性。
请参阅图8,图8示出了本申请提供的电子设备在进行数据存取时的完整流程示意图。
电子设备上电后可以对外置闪存进行配置,并校验头部数据。若校验失败则重试,重试3次仍然失败,则可以通知MCU进行异常处理。若校验成功,则可以检测是否接收到来自指令发送端发送的数据读取指令。
若接收到来自指令发送端发送的数据读取指令,则依据目标读取数据的数据类型,获取数据类型的存储方式和目标存储位置,并根据存储方式确定读取方式,读取数据直至满足总读取次数,将读取到的数据发送至指令发送端。若读取失败则重新,重试3次仍然失败,则可以通知MCU进行异常处理。
若未接收到来自指令发送端发送的数据读取指令,则电子设备可以依据故障标志位和来自目标设备的存储数据,判断目标设备的运行状态,并根据目标设备的运行状态,确定目标设备的目标存储数据、目标存储数据的目标存储方式和目标存储数据的存储时间间隔。其中,故障状态下故障数据的存储时间间隔可以为1秒,正常工作状态下基本数据的存储时间间隔可以为5秒,待机状态下基本数据的存储时间间隔可以为1分钟。接着,在当前时间满足存储时间间隔时,可以按照目标存储方式将目标存储数据存储至存储器中的目标存储区域内。同样的,每次存储数据时,需进行校验。若校验失败则重试,重试3次仍然失败,则可以通知MCU进行异常处理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为根据本申请,某些步骤可以采用其它顺序进行。
如图9所示为本申请实施例提供的一种数据存取装置900的结构示意图,所述数据存取装置900配置于电子设备上。
具体的,所述数据存取装置900可以包括:
检测单元901,用于检测是否接收到来自指令发送端发送的数据读取指令;运行状态获取单元902,用于在未接收到所述数据读取指令时,获取目标设备的运行状态;存储信息获取单元903,用于根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;数据存储单元904,用于根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。
在本申请的一些实施方式中,上述数据存取装置900还可以包括数据读取单元,具体用于:在接收到所述数据读取指令时,获取所述数据读取指令中的目标读取数据的数据类型;获取所述数据类型的存储方式和目标存储位置,根据所述存储方式确定所述目标读取数据的读取方式;根据所述读取方式,从存储器中的所述目标存储位置读取所述目标读取数据;将所述目标读取数据发送至所述指令发送端。
在本申请的一些实施方式中,上述存储器包括第一存储区域和若干第二存储区域,第二存储区域用于存储目标设备的存储数据,第一存储区域用于保存第二存储区域的存储信息;上述数据存储单元904可以具体用于:按照所述目标存储方式将所述目标存储数据存储至对应的第二存储区域;根据所述第二存储区域的存储信息,更新所述第一存储区域的存储数据。
在本申请的一些实施方式中,上述数据存取装置900还可以包括配置单元,用于:根据预设的参考配置数据对所述存储器进行配置;获取所述存储器的当前配置数据;若所述当前配置数据与所述参考配置数据一致,则确认所述存储器配置成功,并执行所述检测是否接收到来自指令发送端发送的数据读取指令的步骤。
在本申请的一些实施方式中,第一存储区域为用于存储故障数据的头部数据存储区,第二存储区域包括存储故障数据的故障数据存储区、用于存储基本数据的基本数据存储区,以及用于存储固件数据的固件数据存储区,所述头部数据包含所述故障数据存储区、所述基本数据存储区,以及所述固件数据存储区的存储信息;上述数据存取装置900还可以包括初始化单元,用于:在所述存储器配置成功之后,从所述存储器的头部数据存储区读取头部数据;对所述头部数据进行校验;若校验失败,则确认所述存储器为首次使用,对所述头部数据进行初始化操作。
在本申请的一些实施方式中,上述运行状态获取单元902可以具体用于:获取故障标志位;在所述故障标志位为第一阈值时,则确定所述目标设备的运行状态为故障状态;在所述故障标志位为第二阈值时,则判断接收到来自所述目标设备的存储数据是否为故障数据;若是故障数据,则确定所述目标设备的运行状态为故障状态,并将所述故障标志位更新为第一阈值;若非故障数据,则根据接收来自所述目标设备的存储数据确定所述目标设备的运行状态为待机状态或正常工作状态。
在本申请的一些实施方式中,上述存储信息获取单元903可以具体用于:获取所述运行状态下所述目标设备的目标存储数据,其中,所述运行状态为所述故障状态时,所述目标存储数据为故障数据,所述运行状态为所述待机状态或所述正常工作状态时,所述目标存储数据为基本数据;根据所述目标存储数据的数据类型,确定所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔,其中,每一数据类型的存储数据分别对应一种存储方式和一个存储时间间隔。
在本申请的一些实施方式中,目标存储数据为故障数据时,上述数据存储单元904可以具体用于:根据所述目标设备的故障类型,确定所述故障数据的总存储次数;在满足所述存储时间间隔时,将所述故障数据存储至故障数据存储区;获取已存储的所述故障数据,并对已存储的所述故障数据进行数据校验;若校验成功,且所述故障数据的实际存储次数未达到所述总存储次数,则在再次满足所述存储时间间隔时,继续对所述故障数据进行数据存储与数据校验,直至所述故障数据的实际存储次数达到所述总存储次数时,停止对所述故障数据进行数据存储;根据所述故障数据存储区的存储信息,对头部数据进行更新,并将故障标志位由第一阈值更新为第二阈值。
在本申请的一些实施方式中,目标存储数据为基本数据时,上述数据存储单元904可以具体用于:在满足所述存储时间间隔时,将所述基本数据存储至基本数据存储区;获取已存储的所述基本数据,并对已存储的所述基本数据进行数据校验;若校验失败,则重新执行所述获取已存储的所述基本数据,并对已存储的所述基本数据进行数据校验的步骤,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息;若校验成功,则根据所述基本数据的存储信息对头部数据进行更新。
在本申请的一些实施方式中,上述数据读取单元可以具体用于:若所述存储方式为循环累计型,则确定所述目标读取数据的读取方式为从所述目标存储位置,读取与所述数据读取指令的请求时间最接近的至少一条数据作为所述目标读取数据;若所述存储方式为覆盖型,则确定所述目标读取数据的读取方式为从所述目标存储位置,读取目标存储位置所在的存储区域内的所有数据作为所述目标读取数据。
需要说明的是,为描述的方便和简洁,上述数据存取装置900的具体工作过程,可以参考图1至图8所述方法的对应过程,在此不再赘述。
如图10所示,为本申请实施例提供的一种电子设备的示意图。该电子设备100可以包括:处理器1000、存储器1001以及存储在所述存储器1001中并可在所述处理器1000上运行的计算机程序1002,例如数据存取程序。所述处理器1000执行所述计算机程序1002时实现上述各个数据存取方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器1000执行所述计算机程序1002时实现上述各装置实施例中各模块/单元的功能,例如图9所示的检测单元901、运行状态获取单元902、存储信息获取单元903和数据存储单元904。
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1001中,并由所述处理器1000执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备中的执行过程。
例如,所述计算机程序可以被分割成:检测单元、运行状态获取单元、存储信息获取单元和数据存储单元。各单元具体功能如下:检测单元,用于检测是否接收到来自指令发送端发送的数据读取指令;运行状态获取单元,用于在未接收到所述数据读取指令时,获取目标设备的运行状态;存储信息获取单元,用于根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;数据存储单元,用于根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。
所述电子设备可包括,但不仅限于,处理器1000、存储器1001。本领域技术人员可以理解,图10仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1000可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1001可以是所述电子设备的内部存储单元,例如电子设备的硬盘或内存。所述存储器1001也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1001还可以既包括所述电子设备的内部存储单元也包括外部存储设备。所述存储器1001用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器1001还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,为描述的方便和简洁,上述电子设备的结构还可以参考方法实施例中对结构的具体描述,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对各个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据存取方法,其特征在于,包括:
检测是否接收到来自指令发送端发送的数据读取指令;
在未接收到所述数据读取指令时,获取目标设备的运行状态;
根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔;
根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域。
2.如权利要求1所述的数据存取方法,其特征在于,在所述检测是否接收到来自指令发送端发送的数据读取指令之后,所述数据存取方法还包括:
在接收到所述数据读取指令时,获取所述数据读取指令中的目标读取数据的数据类型;
获取所述数据类型的存储方式和目标存储位置,根据所述存储方式确定所述目标读取数据的读取方式;
根据所述读取方式,从存储器中的所述目标存储位置读取所述目标读取数据;
将所述目标读取数据发送至所述指令发送端。
3.如权利要求1所述的数据存取方法,其特征在于,所述存储器包括第一存储区域和若干第二存储区域,所述第二存储区域用于存储所述目标设备的存储数据,所述第一存储区域用于保存所述第二存储区域的存储信息;
所述按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域包括:
按照所述目标存储方式将所述目标存储数据存储至对应的第二存储区域;
根据所述第二存储区域的存储信息,更新所述第一存储区域的存储数据。
4.如权利要求3所述的数据存取方法,其特征在于,所述数据存取方法还包括:
根据预设的参考配置数据对所述存储器进行配置;
获取所述存储器的当前配置数据;
若所述当前配置数据与所述参考配置数据一致,则确认所述存储器配置成功,并执行所述检测是否接收到来自指令发送端发送的数据读取指令的步骤。
5.如权利要求4所述的数据存取方法,其特征在于,第一存储区域为用于存储故障数据的头部数据存储区,第二存储区域包括存储故障数据的故障数据存储区、用于存储基本数据的基本数据存储区,以及用于存储固件数据的固件数据存储区,所述头部数据包含所述故障数据存储区、所述基本数据存储区,以及所述固件数据存储区的存储信息;
在所述存储器配置成功之后,所述数据存取方法还包括:
从所述存储器的头部数据存储区读取头部数据;
对所述头部数据进行校验;
若校验失败,则确认所述存储器为首次使用,对所述头部数据进行初始化操作。
6.如权利要求5所述的数据存取方法,其特征在于,所述获取目标设备的运行状态,包括:
获取故障标志位;
在所述故障标志位为第一阈值时,则确定所述目标设备的运行状态为故障状态;
在所述故障标志位为第二阈值时,则判断接收到来自所述目标设备的存储数据是否为故障数据;
若是故障数据,则确定所述目标设备的运行状态为故障状态,并将所述故障标志位更新为第一阈值;
若非故障数据,则根据接收来自所述目标设备的存储数据确定所述目标设备的运行状态为待机状态或正常工作状态。
7.如权利要求6所述的数据存取方法,其特征在于,所述根据所述目标设备的运行状态,确定所述目标设备的目标存储数据、所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔,包括:
获取所述运行状态下所述目标设备的目标存储数据,其中,所述运行状态为故障状态时,所述目标存储数据为故障数据,所述运行状态为待机状态或正常工作状态时,所述目标存储数据为基本数据;
根据所述目标存储数据的数据类型,确定所述目标存储数据的目标存储方式和所述目标存储数据的存储时间间隔,其中,每一数据类型的存储数据分别对应一种存储方式和一个存储时间间隔。
8.如权利要求7所述的数据存取方法,其特征在于,所述目标存储数据为所述故障数据时,所述根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域,包括:
根据所述目标设备的故障类型,确定所述故障数据的总存储次数;
在满足所述存储时间间隔时,将所述故障数据存储至故障数据存储区;
获取已存储的所述故障数据,并对已存储的所述故障数据进行数据校验;
若校验成功,且所述故障数据的实际存储次数未达到所述总存储次数,则在再次满足所述存储时间间隔时,继续对所述故障数据进行数据存储与数据校验,直至所述故障数据的实际存储次数达到所述总存储次数时,停止对所述故障数据进行数据存储;
根据所述故障数据存储区的存储信息,对头部数据进行更新,并将故障标志位由第一阈值更新为第二阈值;或者,
所述目标存储数据为所述基本数据时,所述根据所述存储时间间隔,按照所述目标存储方式将所述目标存储数据存储至存储器中的目标存储区域,包括:
在满足所述存储时间间隔时,将所述基本数据存储至基本数据存储区;
获取已存储的所述基本数据,并对已存储的所述基本数据进行数据校验;
若校验失败,则重新执行所述获取已存储的所述基本数据,并对已存储的所述基本数据进行数据校验的步骤,直至校验失败的次数达到次数阈值时,停止进行数据校验,并生成异常通知信息;
若校验成功,则根据所述基本数据的存储信息对头部数据进行更新。
9.如权利要求2所述的数据存取方法,其特征在于,所述根据所述存储方式确定所述目标读取数据的读取方式,包括:
若所述存储方式为循环累计型,则确定所述目标读取数据的读取方式为从所述目标存储位置,读取与所述数据读取指令的请求时间最接近的至少一条数据作为所述目标读取数据;
若所述存储方式为覆盖型,则确定所述目标读取数据的读取方式为从所述目标存储位置,读取所有数据作为所述目标读取数据。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述数据存取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391746.4A CN114860159A (zh) | 2022-04-14 | 2022-04-14 | 数据存取方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391746.4A CN114860159A (zh) | 2022-04-14 | 2022-04-14 | 数据存取方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860159A true CN114860159A (zh) | 2022-08-05 |
Family
ID=82631386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391746.4A Pending CN114860159A (zh) | 2022-04-14 | 2022-04-14 | 数据存取方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860159A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756998A (zh) * | 2023-01-05 | 2023-03-07 | 摩尔线程智能科技(北京)有限责任公司 | 缓存数据重取标记验证方法、装置及系统 |
-
2022
- 2022-04-14 CN CN202210391746.4A patent/CN114860159A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756998A (zh) * | 2023-01-05 | 2023-03-07 | 摩尔线程智能科技(北京)有限责任公司 | 缓存数据重取标记验证方法、装置及系统 |
CN115756998B (zh) * | 2023-01-05 | 2023-03-31 | 摩尔线程智能科技(北京)有限责任公司 | 缓存数据重取标记验证方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700510A (zh) | Can通信系统的错误分散检测方法及can通信系统 | |
CN109976767B (zh) | 软件烧录方法和装置 | |
CN114860159A (zh) | 数据存取方法和电子设备 | |
US20210050630A1 (en) | Device battery and unmanned aerial vehicle | |
CN110555006A (zh) | 日志记录方法、电池管理系统、车辆及电子设备 | |
CN110769078B (zh) | 地址分配方法和系统 | |
CN117349085B (zh) | 一种数据存储方法、数据备份方法及装置 | |
KR20180110482A (ko) | 메모리 테스트 시스템 및 방법 | |
CN113568878A (zh) | 一种系统日志的收集、导出方法、装置及车辆 | |
CN111124455B (zh) | 一种电池管理系统升级方法、装置、服务器及存储介质 | |
EP3454153B1 (en) | Data storage method for electronic control system of vehicle, and electronic control system | |
CN111831311A (zh) | 应用程序升级方法、电子设备及存储介质 | |
CN111258608A (zh) | 终端设备的软件升级方法、装置和电子系统 | |
CN114371860A (zh) | 一种控制器批量升级方法和装置 | |
CN115840725A (zh) | 具有自检功能的端对端通讯电路和芯片设备 | |
CN212181459U (zh) | Fpga升级系统 | |
CN115309435A (zh) | 设备固件升级方法、装置及电子设备 | |
CN100561953C (zh) | 一种记录诊断数据的方法 | |
KR101207342B1 (ko) | 자동 업그레이드 기능을 갖는 차량용 디지털 운행 기록계 | |
CN108243323B (zh) | 一种软件升级方法及装置 | |
CN113711209A (zh) | 电子控制装置 | |
CN117608618B (zh) | 服务器固件升级方法及装置、存储介质和电子设备 | |
CN115208712B (zh) | 一种控制方法、电池堆管理系统、设备及介质 | |
CN101272218A (zh) | 一种记录通信终端诊断数据的方法 | |
CN116701274B (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 |