CN117289870A - 配置数据确定方法、系统、设备及存储介质 - Google Patents
配置数据确定方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117289870A CN117289870A CN202311284279.6A CN202311284279A CN117289870A CN 117289870 A CN117289870 A CN 117289870A CN 202311284279 A CN202311284279 A CN 202311284279A CN 117289870 A CN117289870 A CN 117289870A
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration data
- address
- data
- storage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- 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/0638—Organizing or formatting or addressing of data
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例提供了一种配置数据确定方法、系统、设备及存储介质,属于数据存储技术领域。该方法包括:获取预设配置区的开始地址和结束地址;以开始地址为起点,朝结束地址的方向遍历配置区内的单位字节信息,若单位字节信息为第一配置标识信息,记录第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,第一配置标识信息表征对应配置数据为最新配置数据;当完成配置区的遍历时,若第一配置标识信息有多组,依次对相邻的两个配置数据的配置序列号进行差值计算,得到至少一个序列差值;若序列差值不为预设的单位值,根据配置序列号和配置序列号对应的配置地址确定目标最新配置数据。本申请能够提高确定Flash中最新配置数据的效率。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种配置数据确定方法、系统、设备及存储介质。
背景技术
单片机是应用十分广泛的一种芯片,其包括了用于存储程序代码、数据以及配置信息的存储器,其中,常使用到的存储器为闪存(Flash Memory,简称Flash)。随着互联网的发展,越来越多的配置数据需要被保存在Flash上并被读取,然而,当Flash指定的配置区写满配置数据时,只有擦除配置区对应的扇区才能进行新配置数据的保存操作,如此,对Flash的频繁擦写严重影响着Flash的寿命。
相关技术中,常通过延时保存或增加硬件的方式提高Flash的使用寿命。然而,延时保存的方式使得异常掉电来临时配置数据的丢失风险率增高,而增加硬件的方式一方面增加了单片机的设计成本,另一方面也增加了配置数据保存的复杂性,违背了单片机的设计初衷。无论哪一种保存方式,都无法在基于简单设计结构的Flash芯片上兼顾配置数据保存的准确性和Flash的使用寿命两个方面,也因此,在这样的基础上,操作人员难以快速准确地确定保存在Flash中的最新配置数据。
发明内容
本申请实施例的主要目的在于提出一种配置数据确定方法、系统、设备及存储介质,能够提高确定Flash中最新配置数据的效率。
为实现上述目的,本申请实施例的第一方面提出了一种配置数据确定方法,所述方法包括:获取预设配置区的开始地址和结束地址;以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息,若所述单位字节信息为第一配置标识信息,记录所述第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,所述第一配置标识信息表征对应所述配置数据为最新配置数据;当完成所述配置区的遍历时,若所述第一配置标识信息有多组,依次对相邻的两个配置数据的所述配置序列号进行差值计算,得到至少一个序列差值;若所述序列差值不为预设的单位值,根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据。
在一些实施例中,在所述得到至少一个序列差值之后,还包括:若所述序列差值为预设的单位值,从多个所述配置序列号中确定序列号最大的第一配置序列号;根据所述第一配置序列号和所述第一配置序列号对应的所述配置地址确定目标最新配置数据。
在一些实施例中,所述配置序列号包括阈值序列号,所述阈值序列号用于指示所述配置序列号的序列上限;所述根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据,包括:若所述配置序列号中包括所述阈值序列号,且所述序列差值不为预设的阈值,从多个所述配置序列号中确定序列号最大的第二配置序列号,根据所述第二配置序列号和所述第二配置序列号对应的所述配置地址确定目标最新配置数据;若所述配置序列号中包括所述阈值序列号,且所述序列差值为预设的阈值,确定另一数值不为所述阈值的所述序列差值对应的两个相邻配置数据中序列号小的为第三配置序列号,根据所述第三配置序列号和所述第三配置序列号对应的所述配置地址确定目标最新配置数据;若所述配置序列号中不包括所述阈值序列号,从多个所述配置序列号中确定序列号最大的第四配置序列号,根据所述第四配置序列号和所述第四配置序列号对应的配置地址确定目标最新配置数据。
在一些实施例中,所述单位字节信息包括单位字节长度,所述单位字节长度用于指示所述单位字节信息的存储大小;所述以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息之后,还包括:当完成当前所述单位字节信息的遍历后,根据所述单位字节信息的单位字节长度和所述开始地址,得到遍历地址;以所述遍历地址为更新后的起点,朝所述结束地址的方向遍历剩余的单位字节信息,直至所述遍历地址等于所述结束地址,遍历结束。
在一些实施例中,所述配置区包括多个配置扇区;在所述以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息之前,还包括:获取需要存储的配置数据的配置大小和配置标识信息,并根据所述开始地址和所述配置大小,确定存储开始地址和存储结束地址;根据所述存储开始地址和所述存储结束地址,将所述配置数据写入所述配置区中,并将所述配置标识信息更新为所述第一配置标识信息;在完成所述配置数据的存储后,将所述存储结束地址作为更新后的存储开始地址,以存储下一配置数据,并在完成所述下一配置数据的存储后,将所述配置数据的配置标识设置为第二配置标识信息,所述第二配置标识信息表征对应所述配置数据为旧配置数据。
在一些实施例中,在根据所述开始地址和所述配置大小,确定存储开始地址和存储结束地址之后,还包括:若所述存储结束地址所在所述配置扇区对应的存储位置已写有配置数据,根据所述存储开始地址和所述存储结束地址,擦除所述存储位置的所述配置数据,得到数据擦除后的所述配置扇区。
在一些实施例中,所述根据所述存储开始地址和所述存储结束地址,擦除所述存储位置的所述配置数据,包括:当所述存储开始地址和所述存储结束地址不在同一配置扇区内,且所述存储结束地址小于所述结束地址时,擦除所述存储结束地址对应配置扇区的配置数据;当所述存储开始地址和所述存储结束地址不在同一配置扇区内,且所述存储结束地址大于所述结束地址时,依据所述开始地址擦除所述配置区对应的第一个配置扇区内的配置数据。
为实现上述目的,本申请实施例的第二方面提出了一种配置数据确定系统,所述系统包括:获取模块,用于获取预设配置区的开始地址和结束地址;验证模块,用于以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息,若所述单位字节信息为第一配置标识信息,记录所述第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,所述第一配置标识信息表征对应所述配置数据为最新配置数据;计算模块,用于当完成所述配置区的遍历时,若所述第一配置标识信息有多组,依次对相邻的两个配置数据的所述配置序列号进行差值计算,得到至少一个序列差值;结果模块,用于若所述序列差值不为预设的单位值,根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面实施例所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的方法。
本申请提出的一种配置数据确定方法、系统、设备及存储介质,其通过获取预设配置区的开始地址和结束地址;接着,以开始地址为起点,朝结束地址的方向遍历配置区内的单位字节信息,若单位字节信息为第一配置标识信息,记录第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,第一配置标识信息表征对应配置数据为最新配置数据;可以理解的是,表征配置数据为最新配置数据的第一配置标识信息通常仅会只有一个,因此,当遍历该第一配置标识信息时,即可快速确定该配置数据为最新配置数据,然而,当产生异常断电时,会出现多组第一配置标识信息,此时,无法根据唯一的第一配置标识信息确定最新配置数据,因此,当完成配置区的遍历时,若第一配置标识信息有多组,按照从大至小的顺序,依次对相邻的两个配置序列号进行差值计算,得到至少一个相邻配置之间的序列差值;若序列差值不为预设的单位值,根据配置序列号和配置序列号对应的配置地址确定目标最新配置数据,即当无法根据唯一的第一配置标识信息确定最新配置数据时,可以根据每一个第一配置标识信息对应的配置序列号确定目标最新配置数据,提高了确定目标最新配置数据的效率。
附图说明
图1是本申请实施例提供的配置数据确定方法的一个可选的流程图;
图2是本申请实施例提供的配置数据确定方法的一个配置区示意图;
图3是本申请实施例提供的配置数据确定方法的一个可选的配置数据的结构示意图;
图4是图1中的步骤S103之后的一个实现流程图;
图5是图1中的步骤S104的一个实现流程图;
图6是图1中的步骤S102之后的一个实现流程图;
图7是本申请实施例提供的配置数据确定方法的另一个可选的流程图;
图8是图1中的步骤S102之前的一个实现流程图;
图9是步骤S601的一个实现流程图;
图10是本申请实施例提供的配置数据确定方法的又一个可选的流程图;
图11是本申请实施例提供的配置数据确定系统的功能模块示意图;
图12是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
单片机(Microcontroller),是一种集成了微处理器核心、存储器和各种输入/输出接口的集成电路芯片,其通常用于嵌入式系统中,作为控制系统的主要处理器,负责执行特定的任务。
闪存(Flash Memory),是一种非易失性存储器类型,用于在电子设备中存储数据,由于Flash尺寸较小、功耗较低且访问速度快,因此广泛运用于固态硬盘、物联网以及单片机等多个领域。
基于此,本申请实施例提供了一种配置数据确定方法、系统、设备及存储介质,能够提高确定Flash中最新配置数据的效率。
本申请实施例中的配置数据确定方法可以通过如下实施例进行说明。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要将相关用户信息、用户行为数据,用户历史数据以及用户位置信息等作为本申请中的配置数据存储到Flash中的配置区时,都会先获得用户的许可或者同意。而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再执行本申请实施例中的配置数据确定方法。
如图1所示,图1是本申请实施例提供的配置数据确定方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S104。
步骤S101,获取预设配置区的开始地址和结束地址;
在一些实施例中,Flash通常包括多个配置扇区,操作人员可以指定具体的某一个或多个配置扇区作为预设配置区,并将该配置扇区的起始地址和终止地址作为配置区的开始地址和结束地址,其中,当配置扇区有多个时,这些配置扇区通常是连续的而非跳跃选取得到的。
示例性地,如图2所示,图2是本申请实施例提供的配置数据确定方法的一个配置区示意图,设定配置扇区1至配置扇区2为配置区,并确定配置扇区1的起始地址为配置区的开始地址,确定配置扇区2的终止地址为配置区的结束地址。
需要说明的是,配置区包括的配置扇区的数量可以根据实际情况进行具体地设定,本申请实施例并不做具体的限制。
在一些实施例中,在完成配置区的确认后,可以在配置扇区内进行配置数据的存储,需要说明的是,由于Flash的结构设计,当进行配置数据的存储时,通常是从开始地址沿着结束地址的方向进行顺序存储的。
其中,在配置区存储的配置数据可以有不同的配置数据大小,即存储在配置区中的每一个配置数据不一定都是大小相等的。
步骤S102,以开始地址为起点,朝结束地址的方向遍历配置区内的单位字节信息,若单位字节信息为第一配置标识信息,记录第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,第一配置标识信息表征对应配置数据为最新配置数据;
在一些实施例中,在实现配置数据的确定时,通常是从开始地址为起点,朝着结束地址的方向进行遍历,例如,在图2中,若想完成配置区的配置数据遍历,需以配置区的开始地址为起点,从左至右进行遍历,直至遍历至配置区的结束地址为止。
其中,所遍历的配置数据通常包括多个单位字节信息,如图3所示,图3是本申请实施例提供的配置数据确定方法的一个可选的配置数据的结构示意图,其中,每一个配置数据可以具体包括配置标识信息、配置序列号、配置大小、配置内容和配置校验信息,并且,这些内容通常由一个或多个单位字节信息组成,单位字节信息为1字节信息,例如,配置标识信息可以为一个单位字节信息。
其中,配置校验信息通常用于校验对应的配置数据是否为正常数据,事实上,传统的目标最新配置数据确认中,当获取到配置数据的配置序列号后,常需要对配置数据进行逐一校验才可最终确认目标最新配置数据,而本申请实施例无需逐一校验确认,提高了目标配置数据的确认效率。
需要说明的是,配置数据也可以包括其他方面的内容,具体的可以根据实际情况进行调整,本申请实施例并不做具体地限制。
其中,可以设定第一配置标识信息为0xFA,当遍历至单位字节信息为0xFA时,记录该配置数据对应的配置序列号和配置地址。可以理解的是,在对Flash最新配置数据进行确认的传统方法中,并没有为新存入的配置数据设置第一配置标识信息,这样使得必须对每一个配置数据进行校验,在确保相应配置数据为正常配置数据的情况下,再通过该配置数据对应的配置序列号和配置地址以确定最新配置数据。然而,本申请实施例中通过为新存入的配置数据设定第一配置标识信息,并将上一配置数据的配置标识信息修改为表征不是最新配置数据的配置标识信息,这样,仅需对配置标识信息为第一配置标识信息的配置数据进行校验,并获取对应配置数据的配置序列号和配置地址即可确认最新配置数据,也就是说,本申请实施例不需要对每一个配置数据进行校验,而是对一个或者部分配置数据进行校验即可完成最新配置数据的确认,减少了校验工作量,提高了最新配置数据的确认效率。
步骤S103,当完成配置区的遍历时,若第一配置标识信息有多组,依次对相邻的两个配置数据的配置序列号进行差值计算,得到至少一个序列差值;
在一些实施例中,在遍历配置数据之前,配置区中通常已经写好了配置数据,在写配置数据的过程中,极有可能出现因异常断电导致的上一配置数据的配置标识信息未进行改写的情况,此时,会出现两个或以上的第一配置标识信息,也就无法根据唯一的第一配置标识信息确认最新配置数据。在此情况下,会根据多个第一配置标识信息对应的配置序列号来确认最新配置数据。
其中,当发生异常断电时,第一配置标识信息的改写应会出现连续异常,此时,依次对相邻的两个配置序列号进行差值计算,得到至少一个相邻配置之间的序列差值,通过序列差值的具体数值,来确认最新配置数据。
步骤S104,若序列差值不为预设的单位值,根据配置序列号和配置序列号对应的配置地址确定目标最新配置数据。
在一些实施例中,预设的单位值可以为数值1,由于存储在配置区中的每一个配置数据的配置序列号是按顺序递增的,若计算得到的序列差值不为1,表示该配置区的配置数据已写满过一次,并从开始地址进行了重新存储,则可以根据配置序列号和对应的配置地址确认目标最新配置数据。
可以理解的是,本申请实施例首先可以根据唯一的第一配置标识信息确认目标最新配置数据,当无法根据唯一的第一配置标识信息进行目标最新配置数据的确认时,能够根据序列差值的差值情况来对确定目标最新配置数据,即通过双重保障实现目标最新配置数据的高效确认。并且,在当出现多个无法确定的唯一第一配置标识信息时,无需再次重新遍历并依次验证对应的配置数据内容,减少了校验工作量,进一步提高了目标最新配置数据的确定效率。
如图4所示,图4是图1中的步骤S103之后的一个实现流程图,在一些实施例中,步骤S103之后可以包括步骤S201至步骤S202:
步骤S201,若序列差值为预设的单位值,从多个配置序列号中确定序列号最大的第一配置序列号;
在一些实施例中,配置序列号通常设定有序列上限,如果序列差值为预设的单位值,如序列差值为1,说明异常的第一配置标识信息出现在配置序列号达到序列上限之前,此时,可以从多个配置序列号中确定序列号最大的第一配置序列号,并根据该第一配置序列号确定目标最新配置数据。
示例性地,某一配置区中有如下配置数据:配置数据1、配置数据2、配置数据3、配置数据4、配置数据5、配置数据6,其中,配置数据5和配置数据6都包括了第一配置标识信息,此时,将配置数据6和配置数据5的配置序列号进行差值计算,得到序列差值为1,即为预设的单位值,则可以确定配置数据5和配置数据6中序列号大的一个为目标最新配置数据。
在一些实施例中,若包含第一配置标识信息的配置数据为两个以上,则同样对相邻配置进行计算,得到多个序列差值,若这些序列差值均为预设的单位值,则同样说明异常的第一配置标识信息出现在配置序列号达到阈值上限之前,此时,选择序列号最大的第一配置序列号对应的配置数据作为目标最新配置数据。
示例性地,某一配置区中有如下配置数据:配置数据1、配置数据2、配置数据3、配置数据4、配置数据5、配置数据6,其中,配置数据4、配置数据5和配置数据6都包括了第一配置标识信息,则按照配置序列号从大至小的顺序,计算相邻配置数据之间配置序列号的差值,在此例中,配置数据6和配置数据5的配置序列号之差、配置数据5和配置数据4的配置序列号之差均为1,则确定配置数据6为最新目标配置数据。
步骤S202,根据第一配置序列号和第一配置序列号对应的配置地址确定目标最新配置数据。
在一些实施例中,当确定目标最新配置数据的配置序列号后,通常需要根据对应的配置地址来确定该配置数据在配置区的具体位置,因此,当遍历到第一配置标识信息时,通常还会获取对应配置地址,以根据该配置地址确认目标最新配置数据的详细位置。
示例性地,配置数据6的配置地址为0x00600000,在确定配置数据6为最新目标配置数据后,根据配置地址0x00600000在配置区中确定配置数据6的具体位置。
如图5所示,图5是图1中的步骤S104的一个实现流程图,在一些实施例中,步骤S104可以包括步骤S301至步骤S303:
步骤S301,若配置序列号中包括阈值序列号,且序列差值不为预设的阈值,从多个配置序列号中确定序列号最大的第二配置序列号,根据第二配置序列号和第二配置序列号对应的配置地址确定目标最新配置数据;
在一些实施例中,出于编号统一管理的考虑,配置数据的配置序列号通常存在序列上限,该上限即为阈值序列号,例如,设定配置序列号的序列上限为12,那么阈值序列号即为12,当存储的配置数据对应的配置序列号超过12时,下一配置序列号则设定为起始序列号,之后配置数据的配置序列号则按起始序列号至阈值序列号进行循环设定。
进一步地,当配置序列号达到序列上限并从起始序列号循环设定时,配置区中可能会出现相邻配置的序列差值为阈值的情况,其中,阈值是根据起始序列号和阈值序列号进行设定的,例如,若起始序列号为1,配置序列号的序列上限为12时,确定阈值为阈值序列号和起始序列号的差值,即阈值为11。
进一步地,当产生的多个第一配置标识信息对应的配置序列号中包含阈值序列号,则需要查看计算得到的序列差值中是否有为预设的阈值的情况,若序列差值不为预设的阈值,说明存储的配置数据仅到阈值序列号对应的配置数据为止,此时的第二配置序列号实际上就是阈值序列号,根据阈值序列号和阈值序列号对应的配置地址确定目标最新配置数据。
示例性地,设定某一配置区中的阈值序列号为9,起始序列号为1,则可以确定该配置区的阈值为8,并且该配置区中有如下配置数据:配置数据7、配置数据8、配置数据9、配置数据4、配置数据5、配置数据6,其中,每一个配置数据中都读取到了第一配置标识信息,此时,依次对相邻两个配置数据的配置序列号进行差值计算,得到各序列差值分别为:1、1、5、1,由于序列差值5并不等于阈值8,因此,可以确定得到的各配置序列号中,序列号大的为目标最新配置数据,即目标最新配置数据为配置数据9。
需要说明的是,由于某些单片机中的Flash不支持配置标识信息的改写,即无法将原配置标识信息改写成表征对应配置数据为目标最新配置数据的第一配置标识信息,那么,在对配置区进行遍历时,即会出现每一个配置数据的配置标识信息都是第一配置标识信息的情况。
或者,当出现异常断电情况时,配置区中即会出现无法将配置标识信息进行改写的情况,因此,会出现多个连续的第一配置标识信息情况。
步骤S302,若配置序列号中包括阈值序列号,且序列差值为预设的阈值,确定另一数值不为阈值的序列差值对应的两个相邻配置数据中序列号小的为第三配置序列号,根据第三配置序列号和第三配置序列号对应的配置地址确定目标最新配置数据;
在一些实施例中,由于配置序列号达到了序列上限,因此会出现多个序列差值不为预设的单位值的情况,此时,需要根据不为预设阈值的序列差值来确定目标最新配置数据。
示例性地,设定某一配置区中的阈值序列号为12,起始序列号为1,则可以确定该配置区的阈值为11,并且该配置区中有如下配置数据:配置数据10、配置数据11、配置数据12、配置数据1、配置数据2、配置数据3、配置数据7、配置数据8、配置数据9,其中,每一个配置数据中都读取到了第一配置标识信息,可以计算得到各序列差值为:1、1、1、11、1、1、4、1、1,则可以确定序列差值为4对应的相邻配置数据为配置数据3和配置数据7,并确定序列号小的配置数据3为目标最新配置数据。
步骤S303,若配置序列号中不包括阈值序列号,从多个配置序列号中确定序列号最大的第四配置序列号,根据第四配置序列号和第四配置序列号对应的配置地址确定目标最新配置数据。
在一些实施例中,如果配置序列号中不包括阈值序列号,表示当前存储的配置数据的配置序列号还未达到设定的序列上限,那么,无论序列上限值为多少,又无论配置区是否经过擦除并进行了重新存储,都可以从多个配置序列号中确定最大的序列号,记为第四配置序列号,并在之后根据第四配置序列号和该第四配置序列号对应的配置地址确定目标最新配置数据。
示例性地,设定某一配置区中的阈值序列号为100,起始序列号为1,则可以确定该配置区的阈值为99,并且该配置区中有如下配置数据:配置数据98、配置数据99、配置数据100、配置数据95、配置数据96、配置数据97,其中,每一个配置数据中都读取到了第一配置标识信息,则可以确定最大序列号100对应的配置数据为目标最新配置数据。
需要说明的是,以上步骤S301至步骤S303中示例的均为所有配置数据均包括第一配置标识信息的情况,对于配置区中仅出现部分连续的配置数据为第一配置标识信息的情况,同样适用,这里不再赘述。
如图6所示,图6是图1中的步骤S102之后的一个实现流程图,在一些实施例中,步骤S102之后还可以包括步骤S401至步骤S402:
步骤S401,当完成当前单位字节信息的遍历后,根据单位字节信息的单位字节长度和开始地址,得到遍历地址;
在一些实施例中,配置区中配置数据的遍历通常是从开始地址起,朝结束地址方向,按顺序逐一读取单位字节信息,在完成某一单位字节信息的遍历后,通常需要更新遍历地址,以进行下一单位字节信息的遍历。为实现遍历地址的更新,需要将单位字节长度和开始地址进行相加计算,得到更新后的遍历地址。
步骤S402,以遍历地址为更新后的起点,朝结束地址的方向遍历剩余的单位字节信息,直至遍历地址等于结束地址,遍历结束。
在一些实施例中,在完成遍历地址的更新后,将更新后的遍历地址作为新的遍历起点,接着朝结束地址的方向按顺序进行剩余单位字节的遍历,直至遍历地址等于结束地址,结束该配置区中配置数据的遍历。
为更好地理解本申请实施例中的配置确定方法,下面以一完整示例进行说明:
如图7所示,图7是本申请实施例提供的配置数据确定方法的另一个可选的流程图,当开始遍历配置区时,首先需要获取配置区的开始地址和结束地址,并根据该开始地址确定读取的起始位置,并读取该起始位置的单位字节信息;接着,更新遍历地址;之后,判断单位字节信息是否为第一配置标识信息,如果是,则获取该配置数据对应的配置信息,其中,配置信息包括配置数据的配置大小、配置内容以及配置校验信息等,并接着根据获取的配置校验信息对配置内容进行校验,若校验后的结果表示该配置数据为正常数据,则接着获取该配置数据对应的配置序列号和配置地址,当遍历地址大于结束地址时,完成配置区中配置数据的遍历,并根据获取到的第一配置标识信息、配置序列号和配置地址,确定目标最新配置数据;否则,更新遍历地址以进行重新遍历。
可以理解的是,在完成对Flash中的配置数据的存储后,能够首先通过读取第一配置标识信息来实现快速确认目标最新配置数据的目的,而当出现如异常掉电等问题导致出现多个第一配置标识信息时,也无需重新遍历所有的配置数据以确定最新配置数据,只需对多个第一配置标识信息对应的序列差值进行判断,找到目标的相邻配置数据,并对这两个配置数据进行验证即可迅速确认目标最新配置数据。
如图8所示,图8是图1中的步骤S102之前的一个实现流程图,在一些实施例中,步骤S102之前还可以包括步骤S501至步骤S503:
步骤S501,获取需要存储的配置数据的配置大小和配置标识信息,并根据开始地址和配置大小,确定存储开始地址和存储结束地址;
在一些实施例中,在对配置区进行数据遍历之前,可以进行配置数据的存储写入,在将配置数据写入配置区的过程中,同样需要获取能够存储配置数据的存储开始地址和存储结束地址,以将配置数据写入配置区中。其中,存储开始地址和存储结束地址由配置区的开始地址以及存入的配置数据的配置大小确定得到。
示例性地,最初的存储开始地址为配置区的开始地址,并根据该开始地址将需要存储的配置数据存入相应的位置,由于配置数据是有配置大小的,因此可以确定存储结束地址为开始地址和配置大小的加和。
步骤S502,根据存储开始地址和存储结束地址,将配置数据写入配置区中,并将配置标识信息更新为第一配置标识信息;
在一些实施例中,当完成某一配置数据的写入后,还需要将该配置数据的原配置标识信息变更为表征当前配置数据为最新配置数据的第一配置标识信息。
需要说明的是,第一配置标识信息的值也可以设定为0xFB,具体的可以根据实际情况进行设定,本申请实施例并不做具体限制。
步骤S503,在完成配置数据的存储后,将存储结束地址作为更新后的存储开始地址,以存储下一配置数据,并在完成下一配置数据的存储后,将配置数据的配置标识设置为第二配置标识信息,第二配置标识信息表征对应配置数据为旧配置数据。
在一些实施例中,将新存入的配置数据对应的存储结束地址作为新的存储开始地址,当进行下一配置数据的存储时,利用更新后的存储开始地址确定下一配置数据的存储位置。
进一步地,由于第一配置标识信息表征的是当前的最新配置数据,因此,在完成下一配置数据的存储后,下一配置数据则变更为当前的最新配置数据,此时,需要对当前的最新配置数据和上一配置数据的配置标识信息进行修改,以明确最新配置数据。
示例性地,配置区中起初未存有配置数据,在完成配置数据1的存储后,将配置数据1的配置标识信息改写为第一配置标识信息,接着,存入配置数据2,此时,配置数据2才是最新配置数据,因此,将配置数据2的配置标识信息改写为第一配置标识信息,并将配置数据1的配置标识信息改写为第二配置标识信息,第二配置标识信息表示配置数据1不是最新配置数据。
其中,第二配置标识信息可以是0xF0,或者是其他标识数据,只要能够指示对应的配置数据为旧配置数据,而非最新配置数据即可,本申请实施例并不做具体限制。
在一些实施例中,步骤S501可以包括步骤S601:
步骤S601,若存储结束地址所在配置扇区对应的存储位置已写有配置数据,根据存储开始地址和存储结束地址,擦除存储位置的配置数据,得到数据擦除后的配置扇区。
在一些实施例中,如果存储结束地址所指示的位置表明已写有其他配置数据,则需要对该存储位置上的配置数据进行擦除,以写入新的配置数据。需要说明的是,由于配置数据需要完整地存储至配置区中,因此即使存储开始地址所指示的位置表明未写有其他配置数据,而存储结束地址所指示的位置表明已写有其他配置数据时,同样无法将数据进行写入,此时仅对存储结束地址进行判断,能够加快配置数据的存储条件判断的速度,进而提高配置数据的存储速度。
可以理解的是,Flash的每个存储单元即配置扇区都有一定的擦除次数限制,若多次擦除Flash的同一位置会降低整个Flash的使用寿命,因此在步骤S501至步骤S503中按顺序将配置数据写入每一个配置扇区直至该配置扇区写满数据的基础上,对新写入的配置数据对应的存储结束地址进行判断,若该存储结束地址对应的位置写有配置数据则说明对应的配置扇区中已写满了配置数据,此时再对应擦除该配置扇区,以平均每一个配置扇区的擦除次数,从而避免了多次擦除同一位置引起的Flash损耗,延长了Flash的使用寿命。
如图9所示,图9是步骤S601的一个实现流程图,在一些实施例中,步骤S601可以包括步骤S701至步骤S702:
步骤S701,当存储开始地址和存储结束地址不在同一配置扇区内,且存储结束地址小于结束地址时,擦除存储结束地址对应配置扇区的配置数据;
在一些实施例中,在确定需要擦除的存储位置对应的配置扇区时,通常需要根据存储开始地址和存储结束地址进行确定,由于配置数据的配置大小不一,因此,在存储新的配置数据时,极有可能会出现存储开始地址和存储结束地址不在同一配置扇区内,即跨配置扇区进行存储的情况,在此情况下,需要进一步判断存储结束地址与结束地址的关系,若存储结束地址小于结束地址,则擦除该存储结束地址对应配置扇区内的所有配置数据。
步骤S702,当存储开始地址和存储结束地址不在同一配置扇区内,且存储结束地址大于结束地址时,依据开始地址擦除配置区对应的第一个配置扇区内的配置数据。
在一些实施例中,若存储开始地址和存储结束地址不在同一配置扇区内,且写结束地址大于结束地址,则说明需要存入的最新配置数据已经超出了配置区的可存储范围,需要从配置区的起始位置重新进行数据存储,此时,需要擦除配置区的第一个配置扇区中的配置数据以进行之后的配置数据存储。
为更好地理解本申请实施例中的配置确定方法,下面以另一完整示例进行说明:
如图10所示,图10是本申请实施例提供的配置数据确定方法的又一个可选的流程图,当需要将配置数据存储至配置区时,首先需要获取配置区的存储开始地址和存储结束地址,接着,需要判断存储结束地址对应的存储位置是否写有配置数据,若没有,则可以直接根据存储开始地址和存储结束地址将配置数据存储至配置区中;若有,则需要进一步判断当存储开始地址和存储结束地址不同一配置扇区内时,存储结束地址是否等于或大于结束地址,若不是,则擦除存储结束地址对应配置扇区的配置数据,并更新存储开始地址;若是,依据开始地址擦除配置区对应的第一个配置扇区内的配置数据,并更新存储开始地址,由此,完成配置数据的存储。
可以理解的是,相较于延时保存方法,本申请实施例中能够实时保存配置数据,避免异常掉电来临时,大量未能够实时保存的配置数据随之消失,同时,通过先写满每一个配置扇区再擦除存储所需对应配置扇区的方法,平均了每一个配置扇区的擦除次数,从而避免了多次擦除同一位置引起的Flash损耗,延长了Flash的使用寿命。
如图11所示,图11是本申请实施例提供的配置数据确定系统的功能模块示意图,本申请实施例还提供一种配置数据确定系统,可以实现上述配置数据确定方法,配置数据确定系统包括:
获取模块801,用于获取预设配置区的开始地址和结束地址;
验证模块802,用于以开始地址为起点,朝结束地址的方向遍历配置区内的单位字节信息,若单位字节信息为第一配置标识信息,记录第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,第一配置标识信息表征对应配置数据为最新配置数据;
计算模块803,用于当完成配置区的遍历时,若第一配置标识信息有多组,依次对相邻的两个配置数据的配置序列号进行差值计算,得到至少一个序列差值;
结果模块804,用于若序列差值不为预设的单位值,根据配置序列号和配置序列号对应的配置地址确定目标最新配置数据。
该配置数据确定系统的具体实施方式与上述配置数据确定方法的具体实施例基本相同,在此不再赘述。在满足本申请实施例要求的前提下,配置数据确定系统还可以设置其他功能模块,以实现上述实施例中的配置数据确定方法。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述配置数据确定方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
如图12所示,图12是本申请实施例提供的电子设备的硬件结构示意图,电子设备包括:
处理器901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Speci ficIntegrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的配置数据确定方法;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述配置数据确定方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”和“若干”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (10)
1.一种配置数据确定方法,其特征在于,所述方法包括:
获取预设配置区的开始地址和结束地址;
以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息,若所述单位字节信息为第一配置标识信息,记录所述第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,所述第一配置标识信息表征对应所述配置数据为最新配置数据;
当完成所述配置区的遍历时,若所述第一配置标识信息有多组,依次对相邻的两个配置数据的所述配置序列号进行差值计算,得到至少一个序列差值;
若所述序列差值不为预设的单位值,根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据。
2.根据权利要求1所述的配置数据确定方法,其特征在于,在所述得到至少一个序列差值之后,还包括:
若所述序列差值为预设的单位值,从多个所述配置序列号中确定序列号最大的第一配置序列号;
根据所述第一配置序列号和所述第一配置序列号对应的所述配置地址确定目标最新配置数据。
3.根据权利要求1所述的配置数据确定方法,其特征在于,所述配置序列号包括阈值序列号,所述阈值序列号用于指示所述配置序列号的序列上限;
所述根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据,包括:
若所述配置序列号中包括所述阈值序列号,且所述序列差值不为预设的阈值,从多个所述配置序列号中确定序列号最大的第二配置序列号,根据所述第二配置序列号和所述第二配置序列号对应的所述配置地址确定目标最新配置数据;
若所述配置序列号中包括所述阈值序列号,且所述序列差值为预设的阈值,确定另一数值不为所述阈值的所述序列差值对应的两个相邻配置数据中序列号小的为第三配置序列号,根据所述第三配置序列号和所述第三配置序列号对应的所述配置地址确定目标最新配置数据;
若所述配置序列号中不包括所述阈值序列号,从多个所述配置序列号中确定序列号最大的第四配置序列号,根据所述第四配置序列号和所述第四配置序列号对应的配置地址确定目标最新配置数据。
4.根据权利要求1所述的配置数据确定方法,其特征在于,所述单位字节信息包括单位字节长度,所述单位字节长度用于指示所述单位字节信息的存储大小;
所述以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息之后,还包括:
当完成当前所述单位字节信息的遍历后,根据所述单位字节信息的单位字节长度和所述开始地址,得到遍历地址;
以所述遍历地址为更新后的起点,朝所述结束地址的方向遍历剩余的单位字节信息,直至所述遍历地址等于所述结束地址,遍历结束。
5.根据权利要求1所述的配置数据确定方法,其特征在于,所述配置区包括多个配置扇区;
在所述以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息之前,还包括:
获取需要存储的配置数据的配置大小和配置标识信息,并根据所述开始地址和所述配置大小,确定存储开始地址和存储结束地址;
根据所述存储开始地址和所述存储结束地址,将所述配置数据写入所述配置区中,并将所述配置标识信息更新为所述第一配置标识信息;
在完成所述配置数据的存储后,将所述存储结束地址作为更新后的存储开始地址,以存储下一配置数据,并在完成所述下一配置数据的存储后,将所述配置数据的配置标识设置为第二配置标识信息,所述第二配置标识信息表征对应所述配置数据为旧配置数据。
6.根据权利要求5所述的配置数据确定方法,其特征在于,在根据所述开始地址和所述配置大小,确定存储开始地址和存储结束地址之后,还包括:
若所述存储结束地址所在所述配置扇区对应的存储位置已写有配置数据,根据所述存储开始地址和所述存储结束地址,擦除所述存储位置的所述配置数据,得到数据擦除后的所述配置扇区。
7.根据权利要求6所述的配置数据确定方法,其特征在于,所述根据所述存储开始地址和所述存储结束地址,擦除所述存储位置的所述配置数据,包括:
当所述存储开始地址和所述存储结束地址不在同一配置扇区内,且所述存储结束地址小于所述结束地址时,擦除所述存储结束地址对应配置扇区的配置数据;
当所述存储开始地址和所述存储结束地址不在同一配置扇区内,且所述存储结束地址大于所述结束地址时,依据所述开始地址擦除所述配置区对应的第一个配置扇区内的配置数据。
8.一种配置数据确定系统,其特征在于,所述系统包括:
获取模块,用于获取预设配置区的开始地址和结束地址;
验证模块,用于以所述开始地址为起点,朝所述结束地址的方向遍历所述配置区内的单位字节信息,若所述单位字节信息为第一配置标识信息,记录所述第一配置标识信息所在的配置数据对应的配置序列号和配置地址,其中,所述第一配置标识信息表征对应所述配置数据为最新配置数据;
计算模块,用于当完成所述配置区的遍历时,若所述第一配置标识信息有多组,依次对相邻的两个配置数据的所述配置序列号进行差值计算,得到至少一个序列差值;
结果模块,用于若所述序列差值不为预设的单位值,根据所述配置序列号和所述配置序列号对应的所述配置地址确定目标最新配置数据。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的配置数据确定方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的配置数据确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311284279.6A CN117289870A (zh) | 2023-09-28 | 2023-09-28 | 配置数据确定方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311284279.6A CN117289870A (zh) | 2023-09-28 | 2023-09-28 | 配置数据确定方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117289870A true CN117289870A (zh) | 2023-12-26 |
Family
ID=89253248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311284279.6A Pending CN117289870A (zh) | 2023-09-28 | 2023-09-28 | 配置数据确定方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117289870A (zh) |
-
2023
- 2023-09-28 CN CN202311284279.6A patent/CN117289870A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100511484C (zh) | 存储设备、存储设备寿命监控装置及监控方法 | |
CN110018989B (zh) | 一种快照比对的方法和装置 | |
US11231854B2 (en) | Methods and apparatus for estimating the wear of a non-volatile memory | |
CN108829342B (zh) | 一种日志存储方法、系统及存储装置 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN102737205B (zh) | 保护包括可编辑元数据的文件 | |
CN112199053B (zh) | 一种应用于小容量存储区的日志记录方法、装置及介质 | |
CN111107123A (zh) | 一种断网续传方法及装置 | |
CN115639971B (zh) | 数据写入方法、装置、电子设备、存储介质及程序产品 | |
CN110504002B (zh) | 一种硬盘数据一致性测试方法与装置 | |
CN115407943A (zh) | 一种内存转储文件生成方法、装置、设备及可读存储介质 | |
CN107894900B (zh) | 一种mcu升级的方法及系统 | |
CN109947842B (zh) | 分布式存储系统中的数据存储方法、装置及系统 | |
CN111143092B (zh) | 故障录波数据处理方法、系统及终端设备 | |
GB2526992A (en) | Electronic control device and method for rewriting data | |
KR20050076156A (ko) | 플래시 메모리의 데이터 복구 장치 및 방법 | |
CN117289870A (zh) | 配置数据确定方法、系统、设备及存储介质 | |
CN110729014A (zh) | Ssd存储擦除计数表备份的方法、装置、计算机设备及存储介质 | |
CN113272785A (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN113254304A (zh) | 一种服务器关机类型的确定方法、服务器及存储介质 | |
US9773562B2 (en) | Storage apparatus, flash memory control apparatus, and program | |
CN107506147B (zh) | 一种保持元数据一致性的方法及系统 | |
CN112099987A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN112306823B (zh) | 磁盘管理方法、系统、设备及计算机可读存储介质 | |
CN112306824B (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 |