CN108958665B - 一种历史记录信息的存储方法及装置 - Google Patents
一种历史记录信息的存储方法及装置 Download PDFInfo
- Publication number
- CN108958665B CN108958665B CN201810824229.5A CN201810824229A CN108958665B CN 108958665 B CN108958665 B CN 108958665B CN 201810824229 A CN201810824229 A CN 201810824229A CN 108958665 B CN108958665 B CN 108958665B
- Authority
- CN
- China
- Prior art keywords
- history information
- pointer
- information
- storage position
- 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.)
- Active
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种历史记录信息的存储方法,当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;更新所述写指针对应的存储位置。本发明简化了历史记录信息存储流程,解决了现有技术中历史记录信息存储操作复杂的问题。
Description
技术领域
本发明涉及数据存储技术领域,更具体的,涉及一种历史记录信息的存储方法及装置。
背景技术
设备运行过程中产生操作信息,设备实时将操作信息上报服务器,当设备离线或网络状态不稳时,操作信息上报失败后将以历史记录的形式存储在设备中。
目前,设备一般利用文件系统实现操作信息的上报和历史记录的存储,操作信息和历史记录都以文件的形式存在,历史记录存储操作复杂。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的历史记录信息的存储方法及装置。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种历史记录信息的存储方法,包括:
当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
更新所述写指针对应的存储位置。
可选的,所述方法还包括:
判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,获取所述历史记录信息区的读指针;
根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并返回执行所述判断操作信息上报服务器是否成功;
若失败,判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则执行所述获取历史记录信息区的写指针。
可选的,在所述获取历史记录信息区的写指针之后,所述方法还包括:
根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,执行所述将所述历史记录信息存储在所述写指针对应的存储位置中。
可选的,在所述获取所述历史记录信息区的读指针之后,所述方法还包括:
根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,执行所述根据所述读指针的存储位置读取有效历史记录信息,并上报所述有效历史记录信息。
可选的,所述获取历史记录信息区的读指针,包括:
获取历史记录信息区的当前读指针;
判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并执行所述判断所述当前读指针对应的存储位置是否有异常数据标识;
若否,将所述当前读指针确定为历史记录信息区的读指针。
可选的,所述历史记录信息包括数据状态、数据类型、有效数据长度、数据有效性标识和有效数据。
一种历史记录信息的存储装置,包括:
写指针获取单元,用于当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
历史记录信息存储单元,用于将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
写指针更新单元,用于更新所述写指针对应的存储位置。
可选的,所述装置还包括:
第一判断单元,用于判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,触发读指针获取单元,用于获取所述历史记录信息区的读指针;
信息上报单元,用于根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并触发所述第一判断单元;
若失败,触发第二判断单元,用于判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则触发所述写指针获取单元。
可选的,所述装置还包括:
第三判断单元,用于根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,触发第一擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,触发所述历史记录信息存储单元。
可选的,所述装置还包括:
第四判断单元,用于根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,触发第二擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,触发所述信息上报单元。
可选的,所述读指针获取单元包括:
获取子单元,用于获取历史记录信息区的当前读指针;
判断子单元,用于判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,触发第一确定子单元,用于将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并触发所述判断子单元;
若否,触发第二确定子单元,用于将所述当前读指针确定为历史记录信息区的读指针。
借由上述技术方案,本发明提供的历史记录信息的存储方法,当设备操作信息上报服务器失败时,只需根据历史记录信息区的写指针就能实现将设备操作信息以历史记录信息的形式进行存储,并在存储后更新写指针对应的存储位置,以便后续历史记录信息的存储,不需要借助文件系统,简化了历史记录信息的存储流程,解决了历史记录存储操作复杂的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例公开的一种历史记录信息的存储方法流程图;
图2示出了本发明实施例公开的另一种历史记录信息的存储方法流程图;
图3示出了本发明实施例公开的一种历史记录信息存储示意图;
图4示出了为本发明实施例公开的一种历史记录信息的存储装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
请参阅图1,本实施例公开了一种历史记录信息的存储方法,应用于智能设备,如智能电表等,所述方法包括以下步骤:
S101:当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
需要说明的是,当智能设备上电,且智能设备生成设备操作信息时,智能设备将设备操作信息上报服务器,当设备操作信息上报服务器失败时,操作信息成为历史记录信息。
设备操作信息上报失败的原因可以是智能设备离线、智能设备网络状态不稳等。
以智能设备为智能电表为例,设备操作信息可以为电表跳闸信息、电表合闸信息、超电量信息、超功率信息等。
历史记录信息区可以为智能设备的闪存,历史记录信息区包括多个信息存储区域,每个信息存储区域对应一个存储位置,每个信息存储区域存储一条历史记录信息。
历史记录信息区的写指针表示历史记录信息区的第一个可用信息存储区域的存储位置。
S102:将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
具体的,将设备操作信息转化为历史记录信息的形式进行存储,历史记录信息包括数据状态、数据类型、有效数据长度、数据有效性标识和有效数据。
数据状态包括已上报服务器和未上报服务器。
数据类型表示不同的智能设备事件,以智能电表为例,数据类型可以为电表跳闸、电表合闸、超电量、超功率等。
有效数据长度是与数据类型一一对应的,不同数据类型对应不同的有效数据长度。
数据有效性标识可以为有效和无效。
有效数据为有效数据的内容。
基于本实施例提供的历史记录信息的结构,历史记录信息长度可变,实现历史记录的可扩展性及自适应性。
S103:更新所述写指针对应的存储位置。
具体的,将当前写指针对应的信息存储区域的下一个信息存储区域对应的写指针作为更新后的写指针,即,更新后的写指针对应的存储位置为历史记录信息区中当前存储历史记录信息的存储位置的下一存储位置。
本实施例公开的一种历史记录信息的存储方法,当设备操作信息上报服务器失败时,只需根据历史记录信息区的写指针就可以实现将设备操作信息以历史记录信息的形式进行存储,并在存储后更新写指针对应的存储位置,以便后续历史记录信息的存储,不需要借助文件系统,简化了历史记录信息的存储流程,解决了历史记录存储操作复杂的问题。
请参阅图2,本实施例公开了另一种历史记录信息的存储方法,具体包括以下步骤:
S201:判断操作信息上报服务器是否成功;
需要说明的是,所述操作信息为设备操作信息或有效历史记录信息。
若成功,执行S202:获取所述历史记录信息区的读指针;
具体的,获取历史记录信息区的当前读指针;
判断所述当前读指针对应的存储位置是否有异常数据标识;
请参阅图3,当历史记录信息在写入历史记录信息区时发生断电、设备重启等异常情况时,会在该历史记录信息存储在位置标记异常数据标识his_rec_flag。
若是有异常数据标识,将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并执行所述判断所述当前读指针对应的存储位置是否有异常数据标识;
若没有异常数据标识,将所述当前读指针确定为历史记录信息区的读指针。
在操作信息上报时发现标记有异常数据标识的数据时舍弃这条数据,避免上报垃圾数据。
S203:根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并返回执行S201;
需要说明的是,有效历史记录信息为没有异常数据标识的历史记录信息。
若失败,执行S204:判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则执行S205:获取历史记录信息区的写指针;
可以理解的是,这里“若不是已存储的历史记录信息”具体为操作信息上报服务器失败且操作信息不是历史记录信息。
S206:将所述历史记录信息存储在所述写指针对应的存储位置中;
S207:更新所述写指针对应的存储位置。
本实施例公开了历史记录信息的上报过程和存储过程,实现了基于写指针的历史记录存储和基于读指针的历史记录信息上报。
需要说明的是,在所述获取所述历史记录信息区的读指针之后,所述方法还包括:
根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,执行所述根据所述读指针的存储位置读取有效历史记录信息,并上报所述有效历史记录信息。
还需要说明的是,在所述获取历史记录信息区的写指针之后,所述方法还包括:
根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,执行所述将所述历史记录信息存储在所述写指针对应的存储位置中。
所述预设最大存储量为预先设定的存储区域,可以为闪存的一个扇区。只有历史记录信息区中已上报的历史记录信息大于预设最大存储量时,擦除历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并只有历史记录信息区中已存储的历史记录信息大于预设最大存储量时,擦除历史记录信息区中存储时间最早的扇区中的历史记录信息,减少了闪存的擦写次数,避免了闪存读写的频繁擦写,延长了智能设备闪存的使用寿命。
基于上述实施例公开的一种历史记录信息的存储方法,请参阅图4,本实施例对应公开了一种历史记录信息的存储装置,具体包括:
写指针获取单元401,用于当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
历史记录信息存储单元402,用于将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
写指针更新单元403,用于更新所述写指针对应的存储位置。
可选的,所述装置还包括:
第一判断单元,用于判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,触发读指针获取单元,用于获取所述历史记录信息区的读指针;
信息上报单元,用于根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并触发所述第一判断单元;
若失败,触发第二判断单元,用于判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则触发所述写指针获取单元。
可选的,所述装置还包括:
第三判断单元,用于根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,触发第一擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,触发所述历史记录信息存储单元。
可选的,所述装置还包括:
第四判断单元,用于根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,触发第二擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,触发所述信息上报单元。
可选的,所述读指针获取单元包括:
获取子单元,用于获取历史记录信息区的当前读指针;
判断子单元,用于判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,触发第一确定子单元,用于将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并触发所述判断子单元;
若否,触发第二确定子单元,用于将所述当前读指针确定为历史记录信息区的读指针。
本实施例公开的一种历史记录信息的存储装置,当设备操作信息上报服务器失败时,只需根据历史记录信息区的写指针就可以实现将设备操作信息以历史记录信息的形式进行存储,并在存储后更新写指针对应的存储位置,以便后续历史记录信息的存储,不需要借助文件系统,简化了历史记录信息的存储流程,解决了历史记录存储操作复杂的问题。
所述历史记录信息的存储装置包括处理器和存储器,上述写指针获取单元、历史记录信息存储单元和写指针更新单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高历史记录信息存储的效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述历史记录信息的存储方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述历史记录信息的存储方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
更新所述写指针对应的存储位置。
进一步,所述方法还包括:
判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,获取所述历史记录信息区的读指针;
根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并返回执行所述判断操作信息上报服务器是否成功;
若失败,判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则执行所述获取历史记录信息区的写指针。
进一步,在所述获取历史记录信息区的写指针之后,所述方法还包括:
根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,执行所述将所述历史记录信息存储在所述写指针对应的存储位置中。
进一步,在所述获取所述历史记录信息区的读指针之后,所述方法还包括:
根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,执行所述根据所述读指针的存储位置读取有效历史记录信息,并上报所述有效历史记录信息。
进一步,所述获取历史记录信息区的读指针,包括:
获取历史记录信息区的当前读指针;
判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并执行所述判断所述当前读指针对应的存储位置是否有异常数据标识;
若否,将所述当前读指针确定为历史记录信息区的读指针。
进一步,所述历史记录信息包括数据状态、数据类型、有效数据长度、数据有效性标识和有效数据。
本文中的设备可以是智能设备,如智能电表等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
当设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
更新所述写指针对应的存储位置。
进一步,所述方法还包括:
判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,获取所述历史记录信息区的读指针;
根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并返回执行所述判断操作信息上报服务器是否成功;
若失败,判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则执行所述获取历史记录信息区的写指针。
进一步,在所述获取历史记录信息区的写指针之后,所述方法还包括:
根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,执行所述将所述历史记录信息存储在所述写指针对应的存储位置中。
进一步,在所述获取所述历史记录信息区的读指针之后,所述方法还包括:
根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,执行所述根据所述读指针的存储位置读取有效历史记录信息,并上报所述有效历史记录信息。
进一步,所述获取历史记录信息区的读指针,包括:
获取历史记录信息区的当前读指针;
判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并执行所述判断所述当前读指针对应的存储位置是否有异常数据标识;
若否,将所述当前读指针确定为历史记录信息区的读指针。
进一步,所述历史记录信息包括数据状态、数据类型、有效数据长度、数据有效性标识和有效数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种历史记录信息的存储方法,其特征在于,应用于智能设备,所述方法包括:
当生成设备操作信息时,将所述设备操作信息上报服务器;
当所述设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
更新所述写指针对应的存储位置;
当所述设备操作信息上报服务器成功,获取所述历史记录信息区的读指针;
根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,获取所述历史记录信息区的读指针;
根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息,并返回执行所述判断操作信息上报服务器是否成功;
若失败,判断所述操作信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则执行所述获取历史记录信息区的写指针。
3.根据权利要求1所述的方法,其特征在于,在所述获取历史记录信息区的写指针之后,所述方法还包括:
根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,执行所述将所述历史记录信息存储在所述写指针对应的存储位置中。
4.根据权利要求2所述的方法,其特征在于,在所述获取所述历史记录信息区的读指针之后,所述方法还包括:
根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,执行所述根据所述读指针的存储位置读取有效历史记录信息,并上报所述有效历史记录信息。
5.根据权利要求2所述的方法,其特征在于,所述获取历史记录信息区的读指针,包括:
获取历史记录信息区的当前读指针;
判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并执行所述判断所述当前读指针对应的存储位置是否有异常数据标识;
若否,将所述当前读指针确定为历史记录信息区的读指针。
6.根据权利要求1所述的方法,其特征在于,所述历史记录信息包括数据状态、数据类型、有效数据长度、数据有效性标识和有效数据。
7.一种历史记录信息的存储装置,其特征在于,应用于智能设备,所述装置包括:
信息上报单元,用于当生成设备操作信息时,将所述设备操作信息上报服务器;
写指针获取单元,用于当所述设备操作信息上报服务器失败时,获取历史记录信息区的写指针;
历史记录信息存储单元,用于将所述设备操作信息以历史记录信息的形式存储在所述写指针对应的存储位置中;
写指针更新单元,用于更新所述写指针对应的存储位置;
读指针获取单元,用于当所述设备操作信息上报服务器成功,获取所述历史记录信息区的读指针;
所述信息上报单元,还用于根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一判断单元,用于判断操作信息上报服务器是否成功,所述操作信息为设备操作信息或有效历史记录信息;
若成功,触发所述读指针获取单元,当所述读指针获取单元获取所述历史记录信息区的读指针后触发所述信息上报单元,并当所述信息上报单元根据所述读指针的存储位置读取有效历史记录信息,上报所述有效历史记录信息后触发所述第一判断单元;
若失败,触发第二判断单元,用于判断所述操作的信息是否为已存储的历史记录信息;
若是已存储的历史记录信息,则不执行任何操作;
若不是已存储的历史记录信息,则触发所述写指针获取单元。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三判断单元,用于根据所述写指针的存储位置,判断所述历史记录信息区中已存储的历史记录信息是否大于预设最大存储量;
若是,触发第一擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的历史记录信息,并更新所述写指针对应的存储位置;
若否,触发所述历史记录信息存储单元。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第四判断单元,用于根据所述历史记录信息区的读指针,判断所述历史记录信息区中已上报的历史记录信息是否大于预设最大存储量;
若是,触发第二擦除单元,用于擦除所述历史记录信息区中存储时间最早的扇区中的已上报的历史记录信息,并更新所述读指针对应的存储位置;
若否,触发所述信息上报单元。
11.根据权利要求8所述的装置,其特征在于,所述读指针获取单元包括:
获取子单元,用于获取历史记录信息区的当前读指针;
判断子单元,用于判断所述当前读指针对应的存储位置是否有异常数据标识;
若是,触发第一确定子单元,用于将所述历史记录信息区中当前读指针对应的存储位置的下一存储位置对应的读指针确定为当前读指针,并触发所述判断子单元;
若否,触发第二确定子单元,用于将所述当前读指针确定为历史记录信息区的读指针。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824229.5A CN108958665B (zh) | 2018-07-25 | 2018-07-25 | 一种历史记录信息的存储方法及装置 |
PCT/CN2019/097780 WO2020020309A1 (zh) | 2018-07-25 | 2019-07-25 | 一种智能设备的控制方法及系统 |
EP19840870.0A EP3828841A4 (en) | 2018-07-25 | 2019-07-25 | CONTROL PROCEDURE AND SYSTEM FOR INTELLIGENT DEVICE |
US17/157,860 US11423721B2 (en) | 2018-07-25 | 2021-01-25 | Methods and systems for controlling an intelligent device |
US17/821,468 US11989989B2 (en) | 2018-07-25 | 2022-08-22 | Methods and systems for controlling an intelligent device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824229.5A CN108958665B (zh) | 2018-07-25 | 2018-07-25 | 一种历史记录信息的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958665A CN108958665A (zh) | 2018-12-07 |
CN108958665B true CN108958665B (zh) | 2021-04-23 |
Family
ID=64464713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810824229.5A Active CN108958665B (zh) | 2018-07-25 | 2018-07-25 | 一种历史记录信息的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958665B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020020309A1 (zh) | 2018-07-25 | 2020-01-30 | 云丁网络技术(北京)有限公司 | 一种智能设备的控制方法及系统 |
US11989989B2 (en) | 2018-07-25 | 2024-05-21 | Yunding Network Technology (Beijing) Co., Ltd. | Methods and systems for controlling an intelligent device |
CN113886186B (zh) * | 2021-10-18 | 2022-11-22 | 南京大鱼半导体有限公司 | 处理器异常追踪系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227689A (zh) * | 2007-12-27 | 2008-07-23 | 华为技术有限公司 | 信息上报方法及装置 |
CN103607302A (zh) * | 2013-11-19 | 2014-02-26 | 华为技术有限公司 | 故障信息上报方法、监控设备及管理设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100411357C (zh) * | 2005-10-31 | 2008-08-13 | 华为技术有限公司 | 网元管理系统采集异常呼叫历史记录的方法 |
CN101365205B (zh) * | 2007-08-10 | 2011-10-26 | 中兴通讯股份有限公司 | 一种历史告警信息记录的保存系统及方法 |
JP2013061932A (ja) * | 2011-08-23 | 2013-04-04 | Ricoh Co Ltd | レポート処理プログラム、情報処理装置、及び情報管理システム |
CN103167517A (zh) * | 2011-12-14 | 2013-06-19 | 中国电信股份有限公司 | 物联网中监测数据恢复方法、系统 |
CN103714060A (zh) * | 2012-09-28 | 2014-04-09 | 艾默生网络能源有限公司 | 中断期历史数据的处理方法及前端采集子系统设备 |
WO2018112869A1 (zh) * | 2016-12-23 | 2018-06-28 | 深圳中兴力维技术有限公司 | 一种告警同步方法和系统 |
-
2018
- 2018-07-25 CN CN201810824229.5A patent/CN108958665B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227689A (zh) * | 2007-12-27 | 2008-07-23 | 华为技术有限公司 | 信息上报方法及装置 |
CN103607302A (zh) * | 2013-11-19 | 2014-02-26 | 华为技术有限公司 | 故障信息上报方法、监控设备及管理设备 |
Non-Patent Citations (1)
Title |
---|
新型智能配电终端研究与设计;邓盛翔;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20150331;C042-1156 * |
Also Published As
Publication number | Publication date |
---|---|
CN108958665A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807796B (zh) | 一种基于超融合存储系统的数据分层方法、终端及系统 | |
CN108958665B (zh) | 一种历史记录信息的存储方法及装置 | |
CN107133234B (zh) | 缓存数据更新的方法、装置及系统 | |
CN106970930B (zh) | 消息发送确定方法及装置、数据表创建方法及装置 | |
CN110765076B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
US8538925B2 (en) | System and method for backing up test data | |
CN111061752B (zh) | 数据处理方法、装置及电子设备 | |
CN108959118B (zh) | 一种数据写入的方法及装置 | |
CN113946552A (zh) | 数据处理方法及电子装置 | |
CN111309245B (zh) | 一种分层存储写入方法和装置、读取方法和装置及系统 | |
CN109343796B (zh) | 一种数据处理方法和装置 | |
CN104850556A (zh) | 一种数据处理的方法及装置 | |
CN110858166A (zh) | 一种应用异常的处理方法、装置、存储介质及处理器 | |
CN111831639B (zh) | 一种全局唯一id生成方法及装置、车辆管理系统 | |
CN110989931A (zh) | 存储设备坏块处理方法、装置、设备及存储介质 | |
CN108062323B (zh) | 一种日志读取方法及装置 | |
CN110855484B (zh) | 自动检测业务量变化的方法、系统、电子设备和存储介质 | |
CN114327292B (zh) | 文件管理方法、系统、电子设备和存储介质 | |
CN107577433B (zh) | 一种存储介质和文件数据的迁移方法、装置及设备 | |
CN109144766B (zh) | 一种数据存储、重构方法和装置、及电子设备 | |
CN105243011A (zh) | 内存泄露定位方法及装置 | |
CN115328851A (zh) | 一种数据保护方法、装置、设备及介质 | |
CN109003643A (zh) | 一种数据处理方法及装置 | |
CN110991945B (zh) | 设备备件的信息处理方法及装置、存储介质和处理器 | |
CN110321133B (zh) | H5应用部署方法及装置 |
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 |