电子设备的故障检验方法技术

技术编号:32128706 阅读:16 留言:0更新日期:2022-01-29 19:23
本申请公开了一种电子设备的故障检验方法,其特征在于,所述方法包括:在所述电子设备重启的情况下,加载AOF文件的每一条记录以获得第二校验字段,所述每一条记录包含第一校验字段;在第二校验字段和第一校验字段不一致的情况下,报告故障;其中,所述第一校验字段是代表所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的留存数量字段,所述第二校验字段是代表根据针对所述电子设备的操作请求计算得到的数量字段。本申请公开的方法无需额外的文件记录状态,不仅能够检验出内存数据库的程序bug、写乱程序的异常,并且还能解决因AOF文件被局部篡改、覆盖或乱序造成的AOF文件不同步的问题。件不同步的问题。件不同步的问题。

【技术实现步骤摘要】
电子设备的故障检验方法


[0001]本专利技术涉及数据存储技术,特别涉及一种电子设备的故障检验方法及系统。

技术介绍

[0002]AOF(Append Only File)是Redis持久化机制的一种,其以协议文本的方式,将所有对数据库进行过写入的命令及参数记录到AOF文件,以达到记录数据库状态的目的。只要根据AOF文件里的协议,重新执行一遍里面指示的所有指令,即可还原Redis数据库的状态。
[0003]一般地,在服务器宕机重启之后,会重新加载AOF文件以恢复内存数据。如果遇到硬盘损坏、人为破坏、或程序bug的情况,AOF的多个文件可能会损坏、丢失。在这种情况下,服务器重启后,重新加载AOF文件得到的内存数据可能会有丢失。如何检验目前存储的AOF文件和服务器重启之前内存数据是一致的,是一个难题。

技术实现思路

[0004]本申请提供电子设备的故障检验方法、系统、设备和介质,本申请无需额外的文件记录状态,不仅能够检验出内存数据库的异常,并且还能解决AOF文件不同步的问题。
[0005]本申请的第一方面公开了一种电子设备的故障检验方法,所述方法包括:在所述电子设备重启的情况下,加载AOF文件的每一条记录以获得第二校验字段,所述每一条记录包含第一校验字段;在第二校验字段和第一校验字段不一致的情况下,报告故障;其中,所述第一校验字段是代表所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的留存数量字段,所述第二校验字段是代表根据针对所述电子设备的操作请求计算得到的数量字段。
>[0006]在上述第一方面的一种可能的实现中,所述操作请求包括以下的一种或多种:ADD请求、DEL请求和MOD请求。
[0007]在上述第一方面的一种可能的实现中,所述第一校验字段为所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的留存的key的个数,所述第二校验字段为根据针对所述电子设备的操作请求计算得到的内存中的key的个数。
[0008]在上述第一方面的一种可能的实现中,所述第一校验字段为所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的value累加值,所述第二校验字段为根据针对所述电子设备的操作请求计算得到的内存中的value累加值。
[0009]在上述第一方面的一种可能的实现中,所述第一校验字段为所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的value的crc函数值,所述第二校验字段为根据针对所述电子设备的操作请求计算得到的内存中的value的crc函数值。
[0010]本申请的第二方面公开了一种用于检验电子设备故障的系统,所述用户设备包括:重启模块,用于在所述电子设备重启的情况下,加载AOF文件的每一条记录,获得第二校验字段;写入模块,用于在所述AOF文件中添加第一校验字段,所述第一校验字段为在所述AOF文件的每一条记录中针对所述电子设备的操作请求的数量字段;校验模块,在所述第一
校验字段和所述第二校验字段不一致的情况下,报告故障。
[0011]本申请的第三方面公开了一种检验电子设备故障的电子设备,包括存储有计算机可执行指令的存储器和处理器;当所述指令被所述处理器执行时,使得所述设备实施本申请第一方面的电子设备的故障检验方法。
[0012]本申请的第三方面公开了一种计算机可读存储介质,计算机可读存储介质存储有一个或多个计算机程序,一个或多个计算机程序被一个或多个处理器执行,使得处理器执行上述第一方面实施例的方法。
[0013]本申请提供电子设备的故障检验方法、系统、设备和介质,通过在写入AOF文件时增加第一校验字段,加载AOF文件得到第二校验字段,通过比较第一校验字段和第二校验字段来验证数据同步,不仅能够检验出内存数据库的程序bug、写乱程序的异常,并且还能解决因AOF文件被局部篡改、覆盖或乱序造成的AOF文件不同步的问题。另外,本申请的方法无需额外的文件记录状态,减少了服务器复杂度和维护难度。
附图说明
[0014]图1为本专利技术的一个实施例中的电子设备的故障检验方法的流程图;
[0015]图2为本申请一个实施例的用户设备的模块示意图;
[0016]图3为本申请一个实施例的用户设备的结构示意图;
具体实施方式
[0017]下面结合具体实施例和附图对本申请做进一步说明。可以理解的是,本公开的说明性实施例包括但不限于电子设备的故障检验方法、系统、设备及介质,此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。
[0018]以下由特定的具体实施例说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其他优点及功效。虽然本申请的描述将结合较佳实施例一起介绍,但这并不代表此专利技术的特征仅限于该实施方式。恰恰相反,结合实施方式作专利技术介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0019]此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个离散操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖于顺序。特别是,这些操作不需要按呈现顺序执行。
[0020]除非上下文另有规定,否则术语“包含”,“具有”和“包括”是同义词。短语“A/B”表示“A或B”。短语“A和/或B”表示“(A和B)或者(A或B)”。
[0021]如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
[0022]在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所
公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质的途径分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制、但不限于、软盘、光盘、光盘、只读存储器(CD

ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于通过电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
[002本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种电子设备的故障检验方法,其特征在于,所述方法包括:在所述电子设备重启的情况下,加载AOF文件的每一条记录以获得第二校验字段,所述每一条记录包含第一校验字段;在第二校验字段和第一校验字段不一致的情况下,报告故障;其中,所述第一校验字段是代表所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的留存数量字段,所述第二校验字段是代表根据针对所述电子设备的操作请求计算得到的数量字段。2.根据权利要求1所述的电子设备的故障校验方法,其特征在于,所述操作请求包括以下的一种或多种:ADD请求、DEL请求和MOD请求。3.根据权利要求1或2所述的电子设备的故障校验方法,其特征在于,所述第一校验字段为所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的留存的key的个数,所述第二校验字段为根据针对所述电子设备的操作请求计算得到的内存中的key的个数。4.根据权利要求1或2所述的电子设备的故障校验方法,其特征在于,所述第一校验字段为所述AOF文件的每一条记录中记载的针对所述电子设备的操作请求的value累加值,所述第二校验字段为根据针对所述电子设备的操作请求计算得到的内存中的value累加值。5.根据权利要求1或2所述的电子设备的...

【专利技术属性】
技术研发人员:谢建东吴斌炜王凯
申请(专利权)人:北京优刻得科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1