1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911122489.9 (22)申请日 2019.11.15 (71)申请人 苏州浪潮智能科技有限公司 地址 215100 江苏省苏州市吴中区吴中经 济开发区郭巷街道官浦路1号9幢 (72)发明人 王军 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 牛亭亭 (51)Int.Cl. G06Q 10/00(2012.01) (54)发明名称 一种产品信息的可靠性维护方法、 系统、 设 备及存储介质 (57)摘要 本申请公开了一种产品信息的可靠性维护
2、方法, 包括: 预先将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值; 其中, 每个 数据块中包括一个或者多个产品信息的条目; 在 接收到针对任意条目的读操作指令时, 读取读操 作指令所针对的条目所在的数据块; 对读取的数 据块进行校验; 当校验通过时, 从数据块中获取 读操作指令所针对的条目的数据并进行输出。 应 用本申请的方案, 可以有效地对产品信息进行了 可靠性的维护, 有利于保障存储系统的正常运 行。 本申请还公开了一种产品信息的可靠性维护 系统、 设备及存储介质, 具有相应技术效果。 权利要求书2页 说明书10页 附图2页 CN 110956284 A 2020.04.0
3、3 CN 110956284 A 1.一种产品信息的可靠性维护方法, 其特征在于, 包括: 预先将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值; 其中, 每个数 据块中包括一个或者多个产品信息的条目; 在接收到针对任意条目的读操作指令时, 读取所述读操作指令所针对的条目所在的数 据块; 对读取的所述数据块进行校验; 当校验通过时, 从所述数据块中获取所述读操作指令所针对的条目的数据并进行输 出。 2.根据权利要求1所述的产品信息的可靠性维护方法, 其特征在于, 在对读取的所述数 据块进行校验之后, 还包括: 当校验未通过时重新执行校验, 并在重试次数达到预设的第一阈值, 且校验仍
4、未通过 时, 输出读取失败的提示信息。 3.根据权利要求1所述的产品信息的可靠性维护方法, 其特征在于, 所述读操作指令中 携带有所述读操作指令所针对的条目名称; 或者, 所述读操作指令中携带有所述读操作指令所针对的条目所在的数据块名称, 所 述读操作指令所针对的条目在所述数据块中的相对偏移地址以及读取长度; 或者, 所述读操作指令中携带有所述读操作指令所针对的条目在存储中的绝对偏移地 址以及读取长度。 4.根据权利要求1所述的产品信息的可靠性维护方法, 其特征在于, 还包括: 在接收到针对任意条目的写操作指令时, 读取所述写操作指令所针对的条目所在的数 据块; 对读取到的所述写操作指令所针对
5、的条目所在的数据块进行校验; 当校验通过时, 将所述写操作指令中携带的待写入的数据内容替换校验后的数据块中 相应位置的数据内容; 对替换完成之后的数据块执行写入操作。 5.根据权利要求4所述的产品信息的可靠性维护方法, 其特征在于, 在对替换完成之后 的数据块执行写入操作之后, 还包括: 从存储中读取出执行了写入操作的所述数据块; 当从存储中读取出的执行了写入操作的所述数据块校验通过, 并且, 从存储中读取出 的执行了写入操作的所述数据块与在写入操作之前进行完替换操作而得到的数据块保持 一致时, 输出写入成功的提示信息。 6.根据权利要求1至5任一项所述的产品信息的可靠性维护方法, 其特征在于
6、, 还包括: 在连续的第一时长内未接收到任何读操作指令, 且未接收到任何写操作指令时, 对存 储中的各个数据块进行校验。 7.根据权利要求6所述的产品信息的可靠性维护方法, 其特征在于, 在对存储中的各个 数据块进行校验之后, 还包括: 当任意一个数据块校验未通过时, 对该数据块重新执行校验, 并在重试次数达到预设 的第二阈值, 且该数据块的校验仍未通过时, 输出校验失败的提示信息。 8.一种产品信息的可靠性维护系统, 其特征在于, 包括: 权利要求书 1/2 页 2 CN 110956284 A 2 数据块划分模块, 用于预先将产品信息划分为多个数据块, 并为每个数据块配置对应 的校验值;
7、其中, 每个数据块中包括一个或者多个产品信息的条目; 读操作指令接收模块, 用于在接收到针对任意条目的读操作指令时, 读取所述读操作 指令所针对的条目所在的数据块; 读取校验模块, 用于对读取的所述数据块进行校验; 读取数据输出模块, 用于当校验通过时, 从所述数据块中获取所述读操作指令所针对 的条目的数据并进行输出。 9.一种产品信息的可靠性维护设备, 其特征在于, 包括: 存储器, 用于存储计算机程序; 处理器, 用于执行所述计算机程序以实现如权利要求1至7任一项所述的产品信息的可 靠性维护方法的步骤。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质上存储有计算机 程
8、序, 所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的产品信息的可靠 性维护方法的步骤。 权利要求书 2/2 页 3 CN 110956284 A 3 一种产品信息的可靠性维护方法、 系统、 设备及存储介质 技术领域 0001 本发明涉及存储技术领域, 特别是涉及一种产品信息的可靠性维护方法、 系统、 设 备及存储介质。 背景技术 0002 在存储系统中有两套运行的程序, 其一是运行在主处理器上的主程序, 用于处理 存储系统的主要业务, 通常称为大系统应用。 其二是运行在外围的expander上的机箱管理 程序, 也称为小系统应用。 对于小系统应用, 是SAS expander的功
9、能, 一方面可以给SAS业务 数据提供扩展通路, 另一方面还可以进行机箱管理。 具体的, 可以检测设备的运行情况, 包 括温度、 电压、 风扇等; 从而保证设备可以长时间稳定可靠的运行。 0003 由于处理器平台、 外接硬盘数目, 设备类型等因素的不同, 存储系统在启动之后便 需要运行不同的配置, 即在存储系统启动时就要首先获取到这些配置信息, 作为后续初始 化, 启动配置识别和业务处理的区分依据。 0004 这些配置信息通常存放在一个非易失性的EEPROM中, 也可以称为重要的产品信 息, 通常会包括: 大系统主程序应用的初始化配置信息; 小系统SES程序应用的初始化配置 信息; 设备类型;
10、 硬盘数目差异; SAS地址; 默认启动IP; 产品生产用的SN号, ID号; 系统运行 时记录的重要信息, 掉电后要保存的信息; 运行过程中配置的数据。 0005 当产品信息出现错误时, 会导致存储系统的运行出错。 例如, 初始化配置信息出错 时, 存储系统可能会初始化到与设备类型不匹配的配置上, 甚至无法进行正常的初始化。 又 如, SAS地址错误时, 会导致expander和硬盘之间的SAS地址冲突, 导致无法访问。 IP地址错 误, 则无法正常访问网络; 缓存结果错误时, 会导致下次启动后, 无法找到上次关机时的数 据, 因而使业务不能衔接。 0006 综上所述, 如何有效地对产品信息
11、进行可靠性的维护, 从而保障存储系统的正常 运行, 是目前本领域技术人员急需解决的技术问题。 发明内容 0007 本发明的目的是提供一种产品信息的可靠性维护方法、 系统、 设备及存储介质, 以 有效地对产品信息进行可靠性的维护, 从而保障存储系统的正常运行。 0008 为解决上述技术问题, 本发明提供如下技术方案: 0009 一种产品信息的可靠性维护方法, 包括: 0010 预先将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值; 其中, 每 个数据块中包括一个或者多个产品信息的条目; 0011 在接收到针对任意条目的读操作指令时, 读取所述读操作指令所针对的条目所在 的数据块; 0
12、012 对读取的所述数据块进行校验; 0013 当校验通过时, 从所述数据块中获取所述读操作指令所针对的条目的数据并进行 说明书 1/10 页 4 CN 110956284 A 4 输出。 0014 优选的, 在对读取的所述数据块进行校验之后, 还包括: 0015 当校验未通过时重新执行校验, 并在重试次数达到预设的第一阈值, 且校验仍未 通过时, 输出读取失败的提示信息。 0016 优选的, 所述读操作指令中携带有所述读操作指令所针对的条目名称; 0017 或者, 所述读操作指令中携带有所述读操作指令所针对的条目所在的数据块名 称, 所述读操作指令所针对的条目在所述数据块中的相对偏移地址以及
13、读取长度; 0018 或者, 所述读操作指令中携带有所述读操作指令所针对的条目在存储中的绝对偏 移地址以及读取长度。 0019 优选的, 还包括: 0020 在接收到针对任意条目的写操作指令时, 读取所述写操作指令所针对的条目所在 的数据块; 0021 对读取到的所述写操作指令所针对的条目所在的数据块进行校验; 0022 当校验通过时, 将所述写操作指令中携带的待写入的数据内容替换校验后的数据 块中相应位置的数据内容; 0023 对替换完成之后的数据块执行写入操作。 0024 优选的, 在对替换完成之后的数据块执行写入操作之后, 还包括: 0025 从存储中读取出执行了写入操作的所述数据块;
14、0026 当从存储中读取出的执行了写入操作的所述数据块校验通过, 并且, 从存储中读 取出的执行了写入操作的所述数据块与在写入操作之前进行完替换操作而得到的数据块 保持一致时, 输出写入成功的提示信息。 0027 优选的, 还包括: 0028 在连续的第一时长内未接收到任何读操作指令, 且未接收到任何写操作指令时, 对存储中的各个数据块进行校验。 0029 优选的, 在对存储中的各个数据块进行校验之后, 还包括: 0030 当任意一个数据块校验未通过时, 对该数据块重新执行校验, 并在重试次数达到 预设的第二阈值, 且该数据块的校验仍未通过时, 输出校验失败的提示信息。 0031 一种产品信息
15、的可靠性维护系统, 包括: 0032 数据块划分模块, 用于预先将产品信息划分为多个数据块, 并为每个数据块配置 对应的校验值; 其中, 每个数据块中包括一个或者多个产品信息的条目; 0033 读操作指令接收模块, 用于在接收到针对任意条目的读操作指令时, 读取所述读 操作指令所针对的条目所在的数据块; 0034 读取校验模块, 用于对读取的所述数据块进行校验; 0035 读取数据输出模块, 用于当校验通过时, 从所述数据块中获取所述读操作指令所 针对的条目的数据并进行输出。 0036 一种产品信息的可靠性维护设备, 包括: 0037 存储器, 用于存储计算机程序; 0038 处理器, 用于执
16、行所述计算机程序以实现上述任一项所述的产品信息的可靠性维 护方法的步骤。 说明书 2/10 页 5 CN 110956284 A 5 0039 一种计算机可读存储介质, 所述计算机可读存储介质上存储有计算机程序, 所述 计算机程序被处理器执行时实现上述任一项所述的产品信息的可靠性维护方法的步骤。 0040 应用本发明实施例所提供的技术方案, 考虑到产品信息的重要性, 因此在接收到 针对任意条目的读操作指令时, 会对读取的数据块进行校验, 只有在校验通过时, 才会从数 据块中获取读操作指令所针对的条目的数据并进行输出。 因此通过校验有利于及时发现产 品信息的异常情况, 也就有利于保障存储系统的正
17、常运行。 并且, 本申请中考虑到产品信息 中包括多个条目, 如果为整个产品信息设置一个校验值, 则在每次执行校验时, 都需要基于 整个产品信息进行校验, 耗时较长, 并且也不利于进行出错的位置定位。 因此, 本申请预先 将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值, 使得进行校验时, 是对 读取的数据块进行校验, 有利于保障校验操作的耗时不会过长。 因此, 本申请的方案中, 通 过增加的校验操作, 有效地对产品信息进行了可靠性的维护, 有利于保障存储系统的正常 运行。 并且由于将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值, 有利于 保障校验操作的耗时不会过长。
18、附图说明 0041 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。 0042 图1为本发明中一种产品信息的可靠性维护方法的实施流程图; 0043 图2为本发明一种具体实施方式中为数据块配置的校验值的示意图; 0044 图3为本发明一种具体实施方式中数据块中包括的条目和校验值的示意图。 0045 图4为本发明中一种产品信息的可靠性维护系统的结构示意图; 0046 图5为本
19、发明中一种产品信息的可靠性维护设备的结构示意图。 具体实施方式 0047 本发明的核心是提供一种产品信息的可靠性维护方法, 可以有效地对产品信息进 行了可靠性的维护, 有利于保障存储系统的正常运行。 并且由于将产品信息划分为多个数 据块, 并为每个数据块配置对应的校验值, 有利于保障校验操作的耗时不会过长。 0048 为了使本技术领域的人员更好地理解本发明方案, 下面结合附图和具体实施方式 对本发明作进一步的详细说明。 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例, 都属于
20、本发明保护的范围。 0049 请参考图1, 图1为本发明中一种产品信息的可靠性维护方法的实施流程图, 可以 包括以下步骤: 0050 步骤S101: 预先将产品信息划分为多个数据块, 并为每个数据块配置对应的校验 值; 其中, 每个数据块中包括一个或者多个产品信息的条目。 0051 产品信息由多个条目构成, 将产品信息划分为多个数据块, 也就是按照预设的规 则, 将不同的产品信息条目划分至不同的数据块中, 即, 各个数据块中的各个条目便构成了 说明书 3/10 页 6 CN 110956284 A 6 完整的产品信息。 0052 划分规则可以根据实际情况进行设定和调整, 例如在本发明的一种具体
21、实施方式 中, 考虑到产品信息包括: 大系统主程序应用的初始化配置信息; 小系统SES程序应用的初 始化配置信息; 设备类型; 硬盘数目差异; SAS地址等多项, 每项具有该项对应的功能, 而每 项中通常会包括多个条目。 因此, 可以根据功能的不同进行数据块的划分, 也就是说, 将相 同功能的条目划分至同一个数据块中。 例如将属于设备类型这一项中的各个条目划分至同 一数据块中。 0053 当然, 其他实施方式中可以有其他划分方式, 例如每个数据块中包含固定数量的 条目, 并不影响本发明的实施。 0054 将产品信息划分为多个数据块之后, 需要为每个数据块配置对应的校验值, 例如 图2中, 在每
22、个数据块的最后一个字节存放该数据块的校验值。 当然, 图2中仅示出了3个数 据块, 实际应用中可以有更多数量的数据块。 每个数据块中包括一个或者多个产品信息的 条目, 但通常而言, 一个数据块中会包括多个条目。 例如图3的实施例中, 数据块1包括了4个 产品信息条目, 即field_1, field_2, field_3以及field_4。 图3中的checksum_1即为数据块 1的校验值。 不同的条目占用的字节数可以不同, 例如IP地址占15个字节长度, SAS地址占8 个字节长度, 设备IP占一个字节等。 0055 需要说明的是, 本申请的方案中, 考虑到产品信息中包括多个条目, 如果为
23、整个产 品信息设置一个校验值, 则在每次执行校验时, 都需要基于整个产品信息进行校验, 耗时较 长, 并且也不利于进行出错的位置定位。 而如果为每个条目设置一个校验值, 虽然有利于进 行出错位置的定位, 但由于条目数量较多, 需要较大的存储空间用于存放校验值, 而产品信 息通常存储在EEPROM中, EEPROM只适合少量的数据存储。 因此本申请预先将产品信息划分 为多个数据块, 并为每个数据块配置对应的校验值, 使得在满足了本申请的校验这一目的 的前提下, 又不会产生校验值数量过多或过少而导致的不利影响。 0056 此外, 校验值的形式可以根据实际需要进行设定, 例如可以采用常用的CRC校验
24、 值, 哈希校验值等方式。 并且可以理解的是, 为每个数据块配置对应的校验值, 是指每一个 数据块具有该数据块对应的用于存储该数据块的校验值的存储空间, 校验值是会发生变化 的, 具体的, 读操作不会改变数据块的校验值, 但执行针对某一个数据块中的某条目的写操 作时, 由于数据块中的数据内容发生了变化, 因此需要进行该数据块的校验值的更新。 0057 步骤S102: 在接收到针对任意条目的读操作指令时, 读取读操作指令所针对的条 目所在的数据块。 0058 通常, 读操作指令中可以包括需要读取的条目的名称, 根据读操作指令中的条目 名称以及预设的对应关系, 便可以读取该条目名称所对应的数据块。
25、 当然, 在部分场合中, 也允许根据读操作指令中携带的其他信息进行相应的数据块的读取。 0059 例如, 在本发明的一种具体实施方式中, 读操作指令中携带有读操作指令所针对 的条目名称; 0060 或者, 读操作指令中携带有读操作指令所针对的条目所在的数据块名称, 读操作 指令所针对的条目在数据块中的相对偏移地址以及读取长度; 0061 或者, 读操作指令中携带有读操作指令所针对的条目在存储中的绝对偏移地址以 及读取长度。 说明书 4/10 页 7 CN 110956284 A 7 0062 读取长度也就是读操作指令所针对的条目的条目长度。 可参阅表一和表二, 表一 为一种具体实施方式中, 数
26、据块的名称与数据块的绝对偏移地址以及数据块长度的对应关 系表。 表二为一种具体实施方式中, 数据块的名称与条目名称, 条目的绝对偏移地址, 条目 在数据块中的相对偏移地址以及条目长度的对应关系表。 0063 表一: 0064 0065 0066 表一中, block即表示数据块, Block_name1, Block_name2, Block_name3分别表示 数据块1至数据块3的名称。 Block_offset1表示数据块1在存储中的绝对偏移地址, 也就数 据块1的起止位置的地址。 Block_length1是数据块1的数据长度, 通过Block_offset1和 Block_length
27、1便可以从存储中读取出数据块1包括的数据。 数据块2和数据块3与数据块1 同理。 0067 表二: 0068 0069 表二表示的是数据块1中的各个条目的相关参数。 具体的, 表二中包括了4个条目, 即fleid_name1至fleid_name4。 Block_checksum_1表示的是为数据块1配置的校验值, 由于 该例子中校验值仅占用一个字节, 因此校验值在数据块1中的相对偏移地址为(Block_ length1-1), 也就是将数据块1的长度减去1便是数据块1的校验值在数据块1中的相对偏移 地址。 0070 每个条目都有该条目在存储中的绝对偏移地址以及该条目在所属于的数据块中 的相对
28、偏移地址, 由于表二的例子中用EEPROM存储产品信息, 且针对的是数据块1。 因此, 表 二中便是数据块1中的4个条目各自在EEPROM中的绝对偏移地址以及这4个条目各自在数据 块1中的相对偏移地址。 此外, 表二中示出了这4个条目的长度, 即fleid_length1至fleid_ length4。 0071 条目在EEPROM中的绝对偏移地址, 即表示该条目在整个存储中的位置, 条目在所 属于的数据块中的相对偏移地址, 表示的是该条目在数据块中的相对偏移位置。 可以理解 说明书 5/10 页 8 CN 110956284 A 8 的是, 各个数据块中的各个条目的绝对偏移地址互不相同, 而
29、相对偏移地址可能存在相同 的情况, 例如每个数据块中的第一个条目的相对偏移地址都是相同的, 即均为0。 0072 由表一和表二可以看出, 当读操作指令中携带有读操作指令所针对的条目名称 时, 或者携带有条目所在的数据块名称, 条目在该数据块中的相对偏移地址以及读取长度 时, 或者携带有条目在存储中的绝对偏移地址以及读取长度时, 都可以进行读操作的定位, 即都可以知道本次读操作需要读取的数据在数据块中的起始位置以及读取长度。 0073 该种实施方式允许读操作指令携带多种形式的数据, 只要能够定位出本次读取操 作需要读取的起始位置以及读取长度即可, 有利于扩大方案的适用范围。 当然, 这样的实施
30、方式, 需要预先记录下各个数据块的名称, 各个数据块中的各个条目的名称, 各个条目在存 储中的绝对偏移地址, 各个条目在相应的数据块中的相对偏移地址以及各个条目的长度。 即需要预先进行统一编址。 而前述表格中还记录下了各个数据块的绝对偏移地址以及各个 数据块的长度, 在实际应用中, 这样可以便于进行数据块的查询。 0074 步骤S103: 对读取的数据块进行校验。 0075 读取的数据块通常可以放入缓存中, 再进行校验操作。 例如, 读取出数据块1之后, 根据预设的算法对数据块1进行校验值的计算, 如果计算出的校验值符合读取到的数据块1 中的校验值, 则可以说明读取到了完整、 正确的数据块1,
31、 即校验通过。 0076 当然, 针对校验不通过的情况, 可以直接输出读取失败的提示信息。 在本发明的一 种具体实施方式中, 考虑到部分场合中, 读取到的是完整、 正确的数据块, 但可能在校验环 节出现了问题, 例如计算出的校验值异常导致误认为读取失败, 因此, 当校验不通过时, 可 以重新进行校验, 重试几次之后, 如果始终确定校验未通过, 再输出读取失败的提示信息。 这样的方式有利于保障当输出读取失败的提示信息时, 是由于读取环节出问题导致的, 而 不是校验环节出问题导致的, 避免误判。 即在本发明的一种具体实施方式中, 在步骤S103之 后, 还可以包括: 0077 当校验未通过时重新执
32、行校验, 并在重试次数达到预设的第一阈值, 且校验仍未 通过时, 输出读取失败的提示信息。 0078 第一阈值的具体取值可以根据实际情况进行设定和调整。 可以理解的是, 在进行 重试的过程中, 当出现校验通过的情况时, 便可以执行步骤S104的操作。 0079 步骤S104: 当校验通过时, 从数据块中获取读操作指令所针对的条目的数据并进 行输出。 0080 例如, 读操作指令中携带的条目名称为数据块1中的第一个条目的名称fleid_ name1。 则在确定数据块1的校验通过之后, 便可以从数据块1中获取fleid_name1的数据并 进行输出, 具体的, 读取的起始位置是fleid_name
33、1在数据块1中的偏移地址fleid_block1_ offset1, 读取长度是fleid_length1。 0081 应用本发明实施例所提供的技术方案, 考虑到产品信息的重要性, 因此在接收到 针对任意条目的读操作指令时, 会对读取的数据块进行校验, 只有在校验通过时, 才会从数 据块中获取读操作指令所针对的条目的数据并进行输出。 因此通过校验有利于及时发现产 品信息的异常情况, 也就有利于保障存储系统的正常运行。 并且, 本申请中考虑到产品信息 中包括多个条目, 如果为整个产品信息设置一个校验值, 则在每次执行校验时, 都需要基于 整个产品信息进行校验, 耗时较长, 并且也不利于进行出错的
34、位置定位。 因此, 本申请预先 说明书 6/10 页 9 CN 110956284 A 9 将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值, 使得进行校验时, 是对 读取的数据块进行校验, 有利于保障校验操作的耗时不会过长。 因此, 本申请的方案中, 通 过增加的校验操作, 有效地对产品信息进行了可靠性的维护, 有利于保障存储系统的正常 运行。 并且由于将产品信息划分为多个数据块, 并为每个数据块配置对应的校验值, 有利于 保障校验操作的耗时不会过长。 0082 在本发明的一种具体实施方式中, 还可以包括以下步骤: 0083 步骤一: 在接收到针对任意条目的写操作指令时, 读取写
35、操作指令所针对的条目 所在的数据块; 0084 步骤二: 对读取到的写操作指令所针对的条目所在的数据块进行校验; 0085 步骤三: 当校验通过时, 将写操作指令中携带的待写入的数据内容替换校验后的 数据块中相应位置的数据内容; 0086 步骤四: 对替换完成之后的数据块执行写入操作。 0087 该种实施方式中, 在接收到针对任意条目的写操作指令时, 需要读取出写操作指 令所针对的条目所在的数据块, 进而对读取到的该数据块进行校验, 从而保证在执行步骤 四的写入操作之前, 存储中保存的该数据块是正确的数据块, 且步骤一中也是将正确的该 数据块进行了读取。 有利于保障写操作指令的正确执行, 及时
36、发现异常情况。 可以理解的 是, 当执行步骤二时, 如果校验不通过, 也可以进行重试, 避免误判。 0088 在步骤一中, 读取出写操作指令所针对的条目所在的数据块时, 通常也是将读取 的数据块置入缓存中, 在校验通过之后, 利用写操作指令中所携带的待写入的数据内容对 缓存中的该数据块进行更新, 即对数据块中的相应位置的数据内容进行替换, 构成了需要 写入的整块数据。 之后便可以发起写入操作。 0089 当校验通过时, 便可以将写操作指令中携带的待写入的数据内容替换校验后的数 据块中相应位置的数据内容, 进而对替换完成之后的数据块执行写入操作。 例如写操作指 令中携带的条目名称为数据块1中的第
37、一个条目的名称fleid_name1, 则在确定读取的数据 块1的校验通过之后, 将待写入的数据内容以及不需要进行替换的其他条目写入EEPROM中。 例如数据块1中包括4个条目, 便需要将写操作指令中携带的待写入条目1的数据内容以及 读取到的条目2, 条目3, 条目4的内容写入EEPROM中。 当然, 在执行步骤四的写入操作时, 也 需要将新的数据块1的校验值写入EEPROM中, 该新的校验值可以根据步骤四中需要进行写 入操作的数据块中的各个条目计算而得。 0090 进一步地, 在上述步骤四之后, 还可以包括以下三个步骤: 0091 第一个步骤: 从存储中读取出执行了写入操作的数据块; 009
38、2 第二个步骤: 当从存储中读取出的执行了写入操作的数据块校验通过, 并且, 从存 储中读取出的执行了写入操作的数据块与在写入操作之前进行完替换操作而得到的数据 块保持一致时, 输出写入成功的提示信息。 0093 该种实施方式中, 进一步地对上述步骤四的写入操作进行校验, 有利于及时发现 写入操作的异常, 保障了存储中的产品信息的准确性。 0094 具体的, 在执行了上述步骤四的写入操作之后, 再从存储中读取出执行了本次写 入操作的数据块。 读取之后, 在第二个步骤中进行了两个判断, 其中的一个是判断该步骤中 从存储中读取出的执行了写入操作的数据块是否校验通过, 避免该步骤中的读取操作异常 说
39、明书 7/10 页 10 CN 110956284 A 10 导致的误判情况。 第二个判断是, 判断本次从存储中读取出的执行了写入操作的数据块, 与 在写入操作之前进行完替换操作而得到的数据块是否保持一致时, 即判断本次从存储中读 取出的数据块是否和上述步骤四中, 在写入操作之前的数据块是否是一致的。 0095 如果第二个步骤中的这两个判断都通过时, 可以说明上述步骤四执行了正确的写 入操作, 因此可以输出写入成功的提示信息。 0096 当然, 在第二个步骤中, 判断从存储中读取出的执行了写入操作的数据块是否校 验通过时, 也可以设置一定数量的重试次数, 避免校验环节出问题而导致的误判。 00
40、97 在本发明的一种具体实施方式中, 还可以包括以下步骤: 0098 在连续的第一时长内未接收到任何读操作指令, 且未接收到任何写操作指令时, 对存储中的各个数据块进行校验。 0099 该种实施方式中, 考虑到部分场合中, 可能长时间没有读操作或者写操作, 为了进 一步地保障存储中的产品信息的准确性, 该种实施方式会对读操作指令和写操作指令进行 监控, 如果在连续的第一时长内未接收到任何读操作指令, 且未接收到任何写操作指令时, 便会自动对存储中的各个数据块进行校验。 0100 具体的, 例如可以设置一个计时器, 当接收到任意一个读操作指令或者任意一个 写操作指令时, 计时器便清零, 重新计时
41、。 如果计时器的时长达到了第一时长, 便可以对存 储中的各个数据块进行校验。 0101 当然, 在对存储中的各个数据块进行校验之后, 当任意一个数据块校验未通过时, 可以对该数据块重新执行校验, 即进行重试。 在重试次数达到预设的第二阈值, 且该数据块 的校验仍未通过时, 说明该数据块存在异常, 则可以输出校验失败的提示信息。 此处描述的 输出校验失败的提示信息, 并不是表示对数据块的校验环节出现了异常, 而是表示读取到 的数据块出现了异常, 该异常可能是读取错误导致的, 也可能是存储中保存的数据块错误 导致的。 0102 相应于上面的方法实施例, 本发明实施例还提供了一种产品信息的可靠性维护
42、系 统, 可与上文相互对应参照。 0103 参见图4所示, 为本发明中一种产品信息的可靠性维护系统的结构示意图, 包括: 0104 数据块划分模块401, 用于预先将产品信息划分为多个数据块, 并为每个数据块配 置对应的校验值; 其中, 每个数据块中包括一个或者多个产品信息的条目; 0105 读操作指令接收模块402, 用于在接收到针对任意条目的读操作指令时, 读取读操 作指令所针对的条目所在的数据块; 0106 读取校验模块403, 用于对读取的数据块进行校验; 0107 读取数据输出模块404, 用于当校验通过时, 从数据块中获取读操作指令所针对的 条目的数据并进行输出。 0108 在本发
43、明的一种具体实施方式中, 还包括: 0109 读取失败提示信息输出模块, 用于在读取校验模块403对读取的数据块进行校验 之后, 当校验未通过时重新执行校验, 并在重试次数达到预设的第一阈值, 且校验仍未通过 时, 输出读取失败的提示信息。 0110 在本发明的一种具体实施方式中, 读操作指令中携带有读操作指令所针对的条目 名称; 说明书 8/10 页 11 CN 110956284 A 11 0111 或者, 读操作指令中携带有读操作指令所针对的条目所在的数据块名称, 读操作 指令所针对的条目在数据块中的相对偏移地址以及读取长度; 0112 或者, 读操作指令中携带有读操作指令所针对的条目在
44、存储中的绝对偏移地址以 及读取长度。 0113 在本发明的一种具体实施方式中, 还包括: 0114 写操作指令接收模块, 用于在接收到针对任意条目的写操作指令时, 读取写操作 指令所针对的条目所在的数据块; 0115 第二校验模块, 用于对读取到的写操作指令所针对的条目所在的数据块进行校 验; 0116 替换模块, 用于当校验通过时, 将写操作指令中携带的待写入的数据内容替换校 验后的数据块中相应位置的数据内容; 0117 写入模块, 用于对替换完成之后的数据块执行写入操作。 0118 在本发明的一种具体实施方式中, 还包括: 0119 第二读取模块, 用于在写入模块对替换完成之后的数据块执行
45、写入操作之后, 从 存储中读取出执行了写入操作的数据块; 0120 写入成功提示信息输出模块, 用于当从存储中读取出的执行了写入操作的数据块 校验通过, 并且, 从存储中读取出的执行了写入操作的数据块与在写入操作之前进行完替 换操作而得到的数据块保持一致时, 输出写入成功的提示信息。 0121 在本发明的一种具体实施方式中, 还包括: 0122 用于在连续的第一时长内未接收到任何读操作指令, 且未接收到任何写操作指令 时, 对存储中的各个数据块进行校验。 0123 在本发明的一种具体实施方式中, 还包括: 0124 校验失败提示信息输出模块, 用于在自动校验模块对存储中的各个数据块进行校 验之
46、后, 当任意一个数据块校验未通过时, 对该数据块重新执行校验, 并在重试次数达到预 设的第二阈值, 且该数据块的校验仍未通过时, 输出校验失败的提示信息。 0125 相应于上面的方法和系统实施例, 本发明实施例还提供了一种产品信息的可靠性 维护设备以及一种计算机可读存储介质, 可与上文相互对应参照。 计算机可读存储介质上 存储有计算机程序, 计算机程序被处理器执行时实现上述任一实施例中的产品信息的可靠 性维护方法的步骤。 这里所说的计算机可读存储介质包括随机存储器(RAM)、 内存、 只读存 储器(ROM)、 电可编程ROM、 电可擦除可编程ROM、 寄存器、 硬盘、 可移动磁盘、 CD-RO
47、M、 或技术 领域内所公知的任意其它形式的存储介质。 0126 参见图5所示, 为本发明中一种产品信息的可靠性维护系统的结构示意图, 包括: 0127 存储器501, 用于存储计算机程序; 0128 处理器502, 用于执行计算机程序以实现上述任一实施例中的产品信息的可靠性 维护方法的步骤。 0129 还需要说明的是, 在本文中, 诸如第一和第二等之类的关系术语仅仅用来将一个 实体或者操作与另一个实体或操作区分开来, 而不一定要求或者暗示这些实体或操作之间 存在任何这种实际的关系或者顺序。 而且, 术语 “包括” 、“包含” 或者其任何其他变体意在涵 盖非排他性的包含, 从而使得包括一系列要素
48、的过程、 方法、 物品或者设备不仅包括那些要 说明书 9/10 页 12 CN 110956284 A 12 素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 物品或者设备 所固有的要素。 在没有更多限制的情况下, 由语句 “包括一个” 限定的要素, 并不排除在 包括要素的过程、 方法、 物品或者设备中还存在另外的相同要素。 0130 专业人员还可以进一步意识到, 结合本文中所公开的实施例描述的各示例的单元 及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来实现, 为了清楚地说明硬件和 软件的可互换性, 在上述说明中已经按照功能一般性地描述了各示例的组成及步骤
49、。 这些 功能究竟以硬件还是软件方式来执行, 取决于技术方案的特定应用和设计约束条件。 专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能, 但是这种实现不应 认为超出本发明的范围。 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。 应当指出, 对于本 技术领域的普通技术人员来说, 在不脱离本发明原理的前提下, 还可以对本发明进行若干 改进和修饰, 这些改进和修饰也落入本发明权利要求的保护范围内。 说明书 10/10 页 13 CN 110956284 A 13 图1 图2 说明书附图 1/2 页 14 CN 110956284 A 14 图3 图4 图5 说明书附图 2/2 页 15 CN 110956284 A 15