CN109445991B - 一种数据存储方法、***、智能可穿戴设备及存储介质 - Google Patents

一种数据存储方法、***、智能可穿戴设备及存储介质 Download PDF

Info

Publication number
CN109445991B
CN109445991B CN201811277378.0A CN201811277378A CN109445991B CN 109445991 B CN109445991 B CN 109445991B CN 201811277378 A CN201811277378 A CN 201811277378A CN 109445991 B CN109445991 B CN 109445991B
Authority
CN
China
Prior art keywords
memory space
data
restart
initialized
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811277378.0A
Other languages
English (en)
Other versions
CN109445991A (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.)
Goertek Techology Co Ltd
Original Assignee
Goertek Techology 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 Goertek Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN201811277378.0A priority Critical patent/CN109445991B/zh
Publication of CN109445991A publication Critical patent/CN109445991A/zh
Application granted granted Critical
Publication of CN109445991B publication Critical patent/CN109445991B/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种数据存储方法,从原先的完整的内存空间中划分出一个在重启时不执行初始化操作的非初始化内存空间,同时保持非初始化内存空间与存储有最新数据的初始化内存空间在数据上保持一致。因此,即使设备出现了不掉电的异常重启,由于初始化操作的执行对象仅为初始化内存空间而不包括非初始化内存空间,使得非初始化内存空间中仍保存有最新数据和记录发生异常重启的一些异常数据。本申请还同时公开了一种数据存储***、应用有该数据存储***的智能可穿戴设备以及计算机可读存储介质,具有上述有益效果。

Description

一种数据存储方法、***、智能可穿戴设备及存储介质
技术领域
本申请涉及数据防丢失技术领域,特别涉及一种数据存储方法、***、智能可穿戴设备及计算机可读存储介质。
背景技术
随着智能可穿戴设备的普及,智能手环和智能手表成为人们生活中常见的设备,而智能可穿戴设备在使用过程中也会不可避免的因程序异常崩溃、内部看门狗复位、硬件复位等原因出现不掉电的异常重启现象。
应当知道的是,此类智能可穿戴设备的存储器包括内存和硬盘,以智能手环为例,计步功能将导致数据更新频繁,通常在正常掉电关闭之前最新数据会保存在内存中,在接收到正常的掉电关闭指令时会将内存中的数据下刷至硬盘中进行持久性存储,这是因为内存具有掉电易失的特性,而硬盘则掉电不易失,较少的下刷次数也能够减少硬盘的数据擦写次数,以延长其寿命。智能可穿戴设备在正常的再启动时,会执行初始化操作:将硬盘中的数据重新写入进内存中,以在上次记录的数据基础上进行再更新。
一旦此类智能可穿戴设备出现不掉电的异常重启,就无法按正常流程及时的将内存中的最新数据保存至硬盘,但初始化过程却会在每次重启后依旧执行,导致使用硬盘中未更新的旧数据覆盖了内存中存储的最新数据,不仅使得最新数据丢失,还无法根据发生异常重启前记录的一些异常数据来分析出现异常重启的原因。
因此,如何克服现有技术中在异常重启时最新数据丢失的技术缺陷,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的在于提供一种数据存储方法,从原先的完整的内存空间中划分出一个在重启时不执行初始化操作的非初始化内存空间,同时保持非初始化内存空间与存储有最新数据的初始化内存空间在数据上保持一致。因此,即使设备出现了不掉电的异常重启,由于初始化操作的执行对象仅为初始化内存空间而不包括非初始化内存空间,使得非初始化内存空间中仍保存有最新数据和记录发生异常重启的一些异常数据。
本申请的另一目的在于还提供了一种数据存储方法***、装置及计算机可读存储介质。
为实现上述目的,本申请还提供了一种数据存储方法,该数据存储方法包括:
将目标设备的内存空间划分为初始化内存空间和非初始化内存空间;其中,所述初始化内存空间用于存储所述目标设备采集到的最新数据;
将所述最新数据同步至所述非初始化内存空间中;
当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
可选的,将目标设备的内存空间划分为初始化内存空间和非初始化内存空间,包括:
从所述内存空间中划分出预设大小的内存空间块;
将所述内存空间块的属性配置为非初始化,得到非初始化内存空间;
将所述内存空间中除所述非初始化内存空间外的内存空间命名为所述初始化内存空间;其中所述内存空间的属性为初始化。
可选的,当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据,包括:
在所述目标设备重新启动时,判断所述目标设备的当前启动方式是否为不掉电的异常重启;
若所述目标设备的当前启动方式为不掉电的异常重启,则从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
可选的,判断所述目标设备的当前启动方式是否为不掉电的异常重启,包括:
从所述非初始化内存空间中读取得到重启标识;其中,所述重启标识包括正常掉电重启标识、异常掉电重启标识、异常不掉电重启标识;
根据所述重启标识是否为所述异常不掉电重启标识来判断所述目标设备的当前启动方式是否为不掉电的异常重启。
可选的,在所述非初始化内存空间中读取得到重启标识之前,还包括:
在所述非初始化内存空间中设置重启标识字段;
将所述目标设备每次重新启动的类型以相应标识的形式写入所述重启标识字段;
对应的,从所述非初始化内存空间中读取得到重启标识,包括:
从所述重启标识字段下读取得到所述重启标识。
可选的,在所述非初始化内存空间中设置重启标识字段,包括:
获取所述非初始化内存空间的首地址;
将所述首地址设置为所述重启标识字段的起始地址,并根据预设的字段大小和所述起始地址计算得到结束地址,得到地址范围为所述起始地址至所述结束地址的重启标识字段;
对应的,从所述重启标识字段下读取得到所述重启标识,包括:
根据所述地址范围确定所述重启标识字段,并从所述重启标识字段下读取得到所述重启标识。
可选的,在从所述目标设备的硬盘空间中提取得到目标数据之前,还包括:
使用所述非初始化内存空间中的数据更新所述硬盘空间中的目标数据。
为实现上述目的,本申请还提供了一种数据存储***,该数据存储***包括:
内存空间划分单元,用于目标设备的内存空间划分为初始化内存空间和非初始化内存空间;其中,所述初始化内存空间用于存储所述目标设备采集到的最新数据;
数据同步单元,用于将所述最新数据同步至所述非初始化内存空间中;
重启初始化执行单元,用于当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
为实现上述目的,本申请还提供了一种智能可穿戴设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的数据存储方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的数据存储方法的步骤。
显然,本申请所提供的一种数据存储方法,从原先的完整的内存空间中划分出一个在重启时不执行初始化操作的非初始化内存空间,同时保持非初始化内存空间与存储有最新数据的初始化内存空间在数据上保持一致。因此,即使设备出现了不掉电的异常重启,由于初始化操作的执行对象仅为初始化内存空间而不包括非初始化内存空间,使得非初始化内存空间中仍保存有最新数据和记录发生异常重启的一些异常数据。本申请同时还提供了一种数据存储***、智能可穿戴设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据存储方法的流程图;
图2为本申请实施例提供的另一种数据存储方法的流程图;
图3为本申请实施例提供的数据存储方法中一种判断目标设备的当前启动方式是否为不掉电的异常重启的方法的流程图;
图4为本申请实施例提供的数据存储方法中一种通过将对应于不同启动方式的不同重启标识存储于预设的重启标识字段中的方式来判断当前启动方式的方法的流程图;
图5为本申请实施例提供的一种数据存储***的结构框图。
具体实施方式
本申请的核心是提供一种数据存储方法、***、智能可穿戴设备及计算机可读存储介质,从原先的完整的内存空间中划分出一个在重启时不执行初始化操作的非初始化内存空间,同时保持非初始化内存空间与存储有最新数据的初始化内存空间在数据上保持一致。因此,即使设备出现了不掉电的异常重启,由于初始化操作的执行对象仅为初始化内存空间而不包括非初始化内存空间,使得非初始化内存空间中仍保存有最新数据和记录发生异常重启的一些异常数据。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参考图1,图1为本申请实施例提供的一种数据存储方法的流程图,其具体包括以下步骤:
S101:将目标设备的内存空间划分为初始化内存空间和非初始化内存空间;
本步骤旨在将目标设备原先完整的内存空间拆分为两部分,一部分为初始化内存空间,另一部分非初始化内存空间。其中,初始化操作是指在目标设备重新启动时,将该目标设备在上一次关闭时保存在硬盘中的最新数据重新读取至内存空间中的操作。初始化内存空间是指在目标设备重新启动时会对其中存储的数据进行该初始化操作的内存空间,非初始化内存空间是指在目标设备重新启动时不会对其中存储的数据进行该初始化操作的内存空间,以使在目标设备发生不掉电的异常重启时,还能够在非初始化内存空间找到未来得及保存的最新数据和记录的与发生异常重启相关的异常数据。需要说明的是,未拆分前的完整的内存空间的属性默认为执行初始化,即在性质上与初始化内存空间等同,本步骤也可以等效为从完整的初始化内存空间划分出一部分空间,并将其属性配置为非初始化。
具体的,如何从完整的内存空间划分得到初始化内存空间和非初始化内存空间,方式多种多样,可以在原内存空间本身就为初始化内存空间的基础上,通过空间再分配的方式划分出具有预设大小的内存空间,并通过相应的配置使其成为非初始化内存空间;也可以对未配置是否执行初始化操作的完整的内存空间按照预设大小进行拆分,得到第一内存空间和第二内存空间,并分别对第一内存空间和第二内存空间进行命名、属性配置等操作;甚至还可以当原先就具有两个、甚至多个不同的内存空间时,通过修改其配置将其中的两个内存空间修改为初始化内存空间和非初始化内存空间等等,此处并不做具体限定,可根据具体应用场景下的不同灵活选择合适的方式来实现本步骤的目的。
S102:将最新数据同步至非初始化内存空间中;
在S101的基础上,本步骤旨在控制初始化内存空间中存储的数据与初始化内存空间中存储的数据保持一致。需要说明的是,在本申请中,该初始化内存空间继承了原完整的内存空间的存储目标设备采集到的最新数据的功能,因此诸如智能手环、智能手表等智能可穿戴设备实时采集、计算得到的最新数据将会直接保存至初始化内存空间中。而为了能够在发生不掉电的异常重启时不丢失最新数据,本申请通过非初始化内存空间和初始化内存空间间的数据同步机制来使的非初始化内存空间中也保存有最新数据。
数据同步的具体设定此处并不做具体限定,为了使丢失的数据尽可能的少,可以将数据同步设定为实时同步;或者直接在完成首次数据同步后,直接将采集、计算的最新数据同时写入非初始化内存空间和初始化内存空间(数据双写)。若对要求没有高,还可以采用定期执行数据同步操作的方式来实现非初始化内存空间中存储的数据与初始化内存空间中存储的数据一致。
还需要说明的是,非初始化内存空间和初始化内存空间往往通过不同的变量名来辨识,具体变量名可以自定义。
S103:当目标设备重新启动时,从目标设备的硬盘空间中提取得到目标数据,并仅将初始化内存空间中的数据更新为目标数据。
在S102的基础上,本步骤旨在当目标设备重新启动时,仅对初始化内存空间中的数据执行初始化操作,即从目标设备的硬盘空间中提取得到目标数据,并仅将初始化内存空间中的数据更新为目标数据。其中,目标数据为该目标设备在上一次关机时按流程工作流程保存至硬盘空间的最新数据。
还需要说明的是,根据设备重新启动的原因,可将其分为三类,正常掉电重启、异常掉电重启、异常不掉电重启,其中,正常掉电重启是指按照正常的关机指令执行的设备关机和后续的再启动,在此种重启过程中,会在最终掉电前完成将存储于内存空间的最新数据保存至硬盘空间,以便在下一次开机时将这部分数据重新从硬盘空间中恢复至内存空间;异常掉电重启,即设备在正常执行各项操作的过程中遭遇了因非正常掉电导致的关机和恢复供电后的重启,例如扣掉了正在工作的智能手机的电池,在此种情况下,内存空间中的数据无法将其中存储的数据保存至硬盘空间,且在掉电后丢失其中存储的所有数据,本申请不针对此种情况;异常不掉电重启,即设备因软件、程序崩溃、死机导致的软重启,内存空间也会因未掉电,其中仍保存有最新的数据,但由于下一次重启时默认会执行初始化操作,就会使用硬盘空间中的旧数据覆盖最新数据,导致最新数据丢失。本申请针对此种情况,通过划分出一个在重启时不执行初始化操作的非初始化内存空间,以充分保留其中存储的与执行初始化操作的初始化内存空间中的最新数据。
进一步的,还可以目标设备每次再启动之后、执行初始化操作之前,判断设备的当前启动方式是否为不掉电的异常重启,若是,则在执行初始化操作之前,先使用非初始化内存空间中存储的数据更新硬盘空间中将要用于执行初始化操作的目标数据,这样就能够在执行初始化操作时使用的不是旧数据而是最新数据。更进一步的,还可以在判断出发生了不掉线的异常重启时,直接让设备使用非初始化内存空间中保存的最新数据来进行显示。
更进一步的,之所以在设备发生不掉电的异常重启时会导致最新数据丢失,其根本原因是设备在每次重新启动时不会根据当前重新启动方式选择性的执行不同的操作,即不管是否发生了不掉线的异常重启,都会按照默认的掉电的正常重启方式来执行初始化操作,也就是将存储于硬盘空间中的数据重新加载至内存空间中。在此种机制下,若当前重新启动方式是不掉线的异常重启,初始化操作将导致还存在于内存空间中的最新数据将被硬盘空间中的旧数据所覆盖而丢失。因此,在情况允许的条件下,还可以在设备每次重启时检查当前重新启动方式,并根据当前启动的方式来选择性的执行或不执行初始化操作,即当检查发现是不掉电的异常重启时,还可以选择以不执行初始化操作的方式来实现与本申请一致的目的。
基于上述技术方案,本申请实施例提供的一种数据存储方法,从原先的完整的内存空间中划分出一个在重启时不执行初始化操作的非初始化内存空间,同时保持非初始化内存空间与存储有最新数据的初始化内存空间在数据上保持一致。因此,即使设备出现了不掉电的异常重启,由于初始化操作的执行对象仅为初始化内存空间而不包括非初始化内存空间,使得非初始化内存空间中仍保存有最新数据和记录发生异常重启的一些异常数据。
实施例二
请参考图2,图2为本申请实施例提供的另一种数据存储方法的流程图,本实施例在实施例一的基础上,针对S101,通过S201、S202以及S203给出了一种具体划分得到非初始化内存空间和初始化内存空间的方法;针对S103,通过S205和S206给出了一种具体在目标设备发生不掉电的异常重启时如何执行数据操作以实现最新数据不丢失的目的的方法,其余步骤未做改动,需要说明是,本实施例中分别针对S101和S103给出的下位方案还可以单独在实施例一的基础上形成相应的下位实施例,本实施例仅作为同时包含两部分优选方案的是实施例存在,具体实施步骤如下:
S201:从内存空间中划分出预设大小的内存空间块;
首先,根据预设大小划分出一个内存空间块。
S202:将内存空间块的属性配置为非初始化,得到非初始化内存空间;
将该内存空间块的属性配置为非初始化,即在目标设备重新启动时,初始化操作的执行范围不包含属性为非初始化的内存空间。
S203:将内存空间中除非初始化内存空间外的内存空间命名为初始化内存空间;其中,内存空间的属性为初始化;
将除非初始化内存空间外的内存空间作为初始化内存空间,需要说明的是,本实施例建立在初始的、完整的内存空间的属性为初始化,即默认在标设备重新启动时对其执行初始化操作,因此在未修改属性配置的情况下,初始化内存空间的属性将继承初始化的属性。
S204:将最新数据同步至非初始化内存空间中;
S205:在目标设备重新启动时,判断目标设备的当前启动方式是否为不掉电的异常重启;
本实施例主要针对设备的当前启动方式为不掉电的异常重启的情况,因此有必要对是否为不掉电的异常重启进行判断。
由于不掉电的异常重启的关键点在于发生了重启、且重启不掉线,因此可据这两种特性实现对其的判断。具体的,由于不掉电,因此在设备的某些元器件管脚处是不会出现停止供电的情况下的,因此可据此结合重启发生信息生成相应的标识,以便于在检测到存在该标识的情况下判断该目标设备的当前启动方式为不掉电的异常重启。
S206:当目标设备的当前启动方式为不掉电的异常重启时,从目标设备的硬盘空间中提取得到目标数据,并仅将初始化内存空间中的数据更新为目标数据。
实施例三
以下结合图3,图3为本申请实施例提供的数据存储方法中一种判断目标设备的当前启动方式是否为不掉电的异常重启的方法的流程图,本实施例在实施例二的基础上,针对S2054,通过S301和S302提供了一种基于重启标识来判断目标设备的当前启动方式是否为不掉线的异常重启的方法,具体实施步骤如下:
S301:从非初始化内存空间中读取得到重启标识;
其中,与上面提及的三种重启类型,此处重启标识包括正常掉电重启标识、异常掉电重启标识、异常不掉电重启标识三种。
S302:根据重启标识是否为异常不掉电重启标识来判断目标设备的当前启动方式是否为不掉电的异常重启。
在S301的基础上,若重启标识是异常不掉电重启标识,即可判定目标设备的当前启动方式为不掉电的异常重启。
为能够按照实施例三所提供的方案从非初始化内存空间中读取得到重启标识,并根据读取得到的具体重启标识是否与异常不掉电重启标识来判断目标设备的当前启动方式是否为不掉电的异常重启,还需要预先做如下设置,请参见图4:
S401:在非初始化内存空间中设置重启标识字段;
S402:将目标设备每次重新启动的类型以相应标识的形式写入重启标识字段;
S403:从重启标识字段下读取得到重启标识。
针对图4所示的技术方案,本申请还提供了一种根据首地址设置重启标识字段的实现方法,实施步骤如下:
获取非初始化内存空间的首地址;
将首地址设置为重启标识字段的起始地址,并根据预设的字段大小和起始地址计算得到结束地址,得到地址范围为起始地址至结束地址的重启标识字段。
在此基础上,从重启标识字段下读取得到重启标识就会变为:根据地址范围确定重启标识字段,并从重启标识字段下读取得到重启标识。
实施例四
为了加深对本申请发明点的理解,本申请在上述方案的基础上,结合具体应用场景,给出一种具体的实现方式,本实施例的应用场景为诸如智能手表、智能手环等智能可穿戴设备,并针对性的提供一种可以防止最新数据在设备发生不掉电的异常重启时丢失的实现方案:
首先:从原属性为执行初始化操作的内存空间(即初始化内存空间)中划分出一部分,并将其属性配置为非初始化,得到非初始化内存空间;
其次:控制非初始化内存空间与初始化内存空间中保存的数据一致,以在目标设备发生不掉电的异常重启时非初始化内存空间中的最新数据不会因执行初始化操作而丢失。
首先提供一种如何划分得到非初始化内存空间的实现方式:
使用DATATYPE ValueName__attribute__((section("NO_INIT_RAM"),zero_init))命令来创建一个不执行初始化操作的内存空间,即非初始化内存空间。
该命令将定义一个DATATYPE类型的变量ValueName,并通过__attribute__设置该变量的属性为((section("NO_INIT_RAM"),zero_init)),该属性表示将在该变量下使得内存中存在一个名为“NO_INIT_RAM”的存储区域(即非初始化内存空间),zero_init则代表该存储区域的属性为非初始化(即不执行初始化操作),在这个属性下,若目标设备不掉电,则存储于非初始化内存空间中的数据将不会被初始化。还可以通过如下命令设定非初始化内存空间的大小和起始地址:
Figure BDA0001847301970000111
上述命令表示名为“NO_INIT_RAM”的存储区域的起始地址是0x10000000,大小为2*1024个字节。
在划分得到非初始化内存空间的基础上,就需要对目标设备的当前启动方式是否为不掉电的异常重启进行判断,本实施例将在该非初始化内存空间的某一位置设置一个自定义字段,用来存放重启标识,该重启标识可用于判别当前重启方式是否为不掉电的异常重启:
在非初始化内存空间的首地址开始自定义一个预设长度的重启标识字段,重启标识以字符串变量(string)存放在该重启标识字段中,以便在目标设备每次重新启动时就可以从首地址开始读取存储于重启标识字段中的重启标识。假定掉电的正常重启、掉电的异常重启、不掉电的异常重启分别对应不同的字符串变量,且不掉电的异常重启对应的字符串变量为“poweron”,判断当前重启方式是否为不掉电的异常重启就实际变为了判断从重启标识字段中取出的实际字符串变量是否为“poweron”,若是,则代表目标设备当前重启方式为不掉电的异常重启,同时意味着非初始化内存空间中依然保存有最新数据,且可直接使用。
下面请参见图5,图5为本申请实施例提供的一种数据存储***的结构框图,该数据存储***可以包括:
内存空间划分单元100,用于目标设备的内存空间划分为初始化内存空间和非初始化内存空间;其中,初始化内存空间用于存储目标设备采集到的最新数据;
数据同步单元200,用于将最新数据同步至非初始化内存空间中;
重启初始化执行单元300,用于当目标设备重新启动时,从目标设备的硬盘空间中提取得到目标数据,并仅将初始化内存空间中的数据更新为目标数据。
基于上述实施例,本申请还提供了一种智能可穿戴设备,该智能可穿戴设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的各步骤。当然,该智能可穿戴装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、易失性存储器(包括普通的掉电易失的内存条)、非易失性随机存取存储器(包括掉电不易失的内存条、机械硬盘、固态硬盘、闪存)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种数据存储方法,其特征在于,所述数据存储方法包括:
将目标设备的内存空间划分为初始化内存空间和非初始化内存空间;其中,所述初始化内存空间用于存储所述目标设备采集到的最新数据;
将所述最新数据同步至所述非初始化内存空间中;
当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
2.根据权利要求1所述的数据存储方法,其特征在于,将目标设备的内存空间划分为初始化内存空间和非初始化内存空间,包括:
从所述内存空间中划分出预设大小的内存空间块;
将所述内存空间块的属性配置为非初始化,得到非初始化内存空间;
将所述内存空间中除所述非初始化内存空间外的内存空间命名为所述初始化内存空间;其中,所述初始化内存空间的属性为初始化。
3.根据权利要求2所述的数据存储方法,其特征在于,当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据,包括:
在所述目标设备重新启动时,判断所述目标设备的当前启动方式是否为不掉电的异常重启;
若所述目标设备的当前启动方式为不掉电的异常重启,则从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
4.根据权利要求3所述的数据存储方法,其特征在于,判断所述目标设备的当前启动方式是否为不掉电的异常重启,包括:
从所述非初始化内存空间中读取得到重启标识;其中,所述重启标识包括正常掉电重启标识、异常掉电重启标识、异常不掉电重启标识;
根据所述重启标识是否为所述异常不掉电重启标识来判断所述目标设备的当前启动方式是否为不掉电的异常重启。
5.根据权利要求4所述的数据存储方法,其特征在于,在所述非初始化内存空间中读取得到重启标识之前,还包括:
在所述非初始化内存空间中设置重启标识字段;
将所述目标设备每次重新启动的类型以相应标识的形式写入所述重启标识字段;
对应的,从所述非初始化内存空间中读取得到重启标识,包括:
从所述重启标识字段下读取得到所述重启标识。
6.根据权利要求5所述的数据存储方法,其特征在于,在所述非初始化内存空间中设置重启标识字段,包括:
获取所述非初始化内存空间的首地址;
将所述首地址设置为所述重启标识字段的起始地址,并根据预设的字段大小和所述起始地址计算得到结束地址,得到地址范围为所述起始地址至所述结束地址的重启标识字段;
对应的,从所述重启标识字段下读取得到所述重启标识,包括:
根据所述地址范围确定所述重启标识字段,并从所述重启标识字段下读取得到所述重启标识。
7.根据权利要求1至6任一项所述的数据存储方法,其特征在于,在从所述目标设备的硬盘空间中提取得到目标数据之前,还包括:
使用所述非初始化内存空间中的数据更新所述硬盘空间中的目标数据。
8.一种数据存储***,其特征在于,所述数据存储***包括:
内存空间划分单元,用于目标设备的内存空间划分为初始化内存空间和非初始化内存空间;其中,所述初始化内存空间用于存储所述目标设备采集到的最新数据;
数据同步单元,用于将所述最新数据同步至所述非初始化内存空间中;
重启初始化执行单元,用于当所述目标设备重新启动时,从所述目标设备的硬盘空间中提取得到目标数据,并仅将所述初始化内存空间中的数据更新为所述目标数据。
9.一种智能可穿戴设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据存储方法的步骤。
CN201811277378.0A 2018-10-30 2018-10-30 一种数据存储方法、***、智能可穿戴设备及存储介质 Active CN109445991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811277378.0A CN109445991B (zh) 2018-10-30 2018-10-30 一种数据存储方法、***、智能可穿戴设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811277378.0A CN109445991B (zh) 2018-10-30 2018-10-30 一种数据存储方法、***、智能可穿戴设备及存储介质

Publications (2)

Publication Number Publication Date
CN109445991A CN109445991A (zh) 2019-03-08
CN109445991B true CN109445991B (zh) 2020-06-30

Family

ID=65549325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811277378.0A Active CN109445991B (zh) 2018-10-30 2018-10-30 一种数据存储方法、***、智能可穿戴设备及存储介质

Country Status (1)

Country Link
CN (1) CN109445991B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581018B (zh) * 2020-04-20 2023-08-01 深圳震有科技股份有限公司 一种数据恢复方法、智能终端及存储介质
CN111596863B (zh) * 2020-05-20 2023-04-07 歌尔科技有限公司 一种数据读取方法、装置、设备及可读存储介质
CN113641307A (zh) * 2021-08-12 2021-11-12 浙江华云信息科技有限公司 能掉电保存报文的远方电能量数据终端及其报文存储方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508717A (zh) * 2011-11-17 2012-06-20 大唐移动通信设备有限公司 一种应用于多核处理器的内存调度方法及装置
CN103309767A (zh) * 2012-03-08 2013-09-18 阿里巴巴集团控股有限公司 一种客户端日志处理方法和装置
CN103729300A (zh) * 2013-12-25 2014-04-16 华为技术有限公司 非易失内存的管理方法和相关装置
CN103888510A (zh) * 2014-01-14 2014-06-25 无锡城市云计算中心有限公司 一种云计算数据中心的业务高可用方法
CN108334413A (zh) * 2017-12-22 2018-07-27 天津麒麟信息技术有限公司 一种基于飞腾平台的固件与操作***之间信息传递方法
CN108595123A (zh) * 2018-04-26 2018-09-28 青岛海信移动通信技术股份有限公司 移动终端的数据存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508717A (zh) * 2011-11-17 2012-06-20 大唐移动通信设备有限公司 一种应用于多核处理器的内存调度方法及装置
CN103309767A (zh) * 2012-03-08 2013-09-18 阿里巴巴集团控股有限公司 一种客户端日志处理方法和装置
CN103729300A (zh) * 2013-12-25 2014-04-16 华为技术有限公司 非易失内存的管理方法和相关装置
CN103888510A (zh) * 2014-01-14 2014-06-25 无锡城市云计算中心有限公司 一种云计算数据中心的业务高可用方法
CN108334413A (zh) * 2017-12-22 2018-07-27 天津麒麟信息技术有限公司 一种基于飞腾平台的固件与操作***之间信息传递方法
CN108595123A (zh) * 2018-04-26 2018-09-28 青岛海信移动通信技术股份有限公司 移动终端的数据存储方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄晨 等.基于国产CPU的并行冗余计算机***研究.《计算机测量与控制》.2017,第25卷(第7期),全文. *

Also Published As

Publication number Publication date
CN109445991A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
US6845434B2 (en) Method for updating parametric data for use in data management system
US10114655B2 (en) Rapid start up method for electronic equipment
CN109445991B (zh) 一种数据存储方法、***、智能可穿戴设备及存储介质
CN102033790B (zh) 一种嵌入式***bootrom的升级方法和装置
US9274788B2 (en) Information processing apparatus, method for controlling the same, and storage medium
CN108170495B (zh) 一种bios升级方法、***、设备及计算机可读存储介质
US8726262B2 (en) Firmware update system and information apparatus, and program
EP2998861B1 (en) Implementing and deleting method and device for intelligent terminal multi-operation system
WO2013103023A1 (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
CN106155915B (zh) 数据存储的处理方法及装置
CN101788948B (zh) 一种日志信息的动态存储***及方法
WO2019062770A1 (en) METHOD AND APPARATUS FOR UPGRADING SYSTEM VERSION
CN102141921A (zh) 一种终端设备***升级方法及终端设备
US11640288B2 (en) System version upgrading method and apparatus
CN108170456B (zh) 电子设备的固件升级方法及装置
CN111651304A (zh) 基于双芯智能电表的软件恢复方法、装置和计算机设备
CN104866388B (zh) 数据处理方法及装置
CN111885420B (zh) 待机保护方法、装置、智能电视和可读存储介质
CN111324366A (zh) 一种bmc启动固件回滚方法、装置、bmc及存储介质
CN110609692A (zh) 一种数据采集模块及其固件升级方法和存储介质
CN113190256B (zh) 一种升级方法、装置及设备
CN110597532A (zh) 一种数据采集模块及其固件升级方法和存储介质
US8321626B2 (en) Management of configuration data using persistent memories requiring block-wise erase before rewriting
CN110688141A (zh) 固件更新方法
CN113220319A (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