CN114063905B - 日志存储方法、日志存储装置、存储设备和存储介质 - Google Patents
日志存储方法、日志存储装置、存储设备和存储介质 Download PDFInfo
- Publication number
- CN114063905B CN114063905B CN202111190963.9A CN202111190963A CN114063905B CN 114063905 B CN114063905 B CN 114063905B CN 202111190963 A CN202111190963 A CN 202111190963A CN 114063905 B CN114063905 B CN 114063905B
- Authority
- CN
- China
- Prior art keywords
- log
- storage
- unit
- log information
- storage unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000013507 mapping Methods 0.000 claims abstract description 73
- 230000015654 memory Effects 0.000 claims description 40
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 8
- 230000005856 abnormality Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000012360 testing method 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种日志存储方法、日志存储装置、存储设备和存储介质,该日志存储方法包括:在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,日志存储单元用于存储日志信息;若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;获取与存储设备关联的终端设备在运行过程中生成的带有编号的新的日志信息;若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
Description
技术领域
本申请涉及文件存储领域,尤其是涉及一种日志存储方法、日志存储装置、存储设备和存储介质。
背景技术
在包含有嵌入式系统如微控制单元(Micro controller Unit,mcu)系统的电子设备中,日志信息是用于记录硬件和程序运行的当前状态,能够直接反馈电子设备中当前系统运行的状态。让系统发生意外的错误时,开发人员可以直接从日志信息中定位问题。
相关技术中,传统的mcu系统中的日志信息的存储方式都是通过串口输出,打印到上位机的串口工具并进行存储。该方法在电子设备的开发、调试以及测试阶段,都能满足日志信息的实时输出,对电子设备中的功能的调试能起到较大的作用。然而,在电子设备发布后,电子设备在实际使用中不会连接串口,进而无法捕捉到日志信息;当用户反馈电子设备在使用过程中出现的问题后,开发人员需要花费大量的人力和时间去复现用户反馈的问题,并实时捕捉串口输出的信息,在复现期间,也需要花费大量的沟通成本,才有可能复现到用户问题。
另外,在一般的mcu系统中,由于mcu的硬件资源匮乏,移植常见的完整文件系统如文件配置表(File Allocation Table,FAT)文件系统对日志信息进行存储的方法效率慢。可见,目前亟需提供一种占用资源少、效率快的日志存储方法。
发明内容
本申请实施例期望提供一种日志存储方法、日志存储装置、存储设备和存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种日志存储方法,所述方法包括:
在存储设备上电后,获取所述存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,所述日志存储单元用于存储日志信息;
若所述单元映射表中不存在所述第一单元标识时,基于获取的所述每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;
获取与所述存储设备关联的电子设备在运行过程中生成的带有编号的所述新的日志信息;
若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,将所述新的日志信息存储至所述写指针位置对应的存储空间。
第二方面,本申请实施例提供一种日志存储装置,所述装置包括:
获取模块,用于在存储设备上电后,获取所述存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,所述日志存储单元用于存储日志信息;
确定模块,用于若所述单元映射表中不存在所述第一单元标识时,基于获取的所述每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;
所述获取模块,还用于获取与所述存储设备关联的电子设备在运行过程中生成的带有编号的所述新的日志信息;
处理模块,用于若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,将所述新的日志信息存储至所述写指针位置对应的存储空间。
第三方面,本申请实施例提供一种存储设备,所述存储设备包括:处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的通信连接;
所述处理器用于执行存储器中存储的日志存储程序,以实现上述的日志存储方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的日志存储方法。
本申请的实施例提供一种日志存储方法、日志存储装置、存储设备和存储介质,通过在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,日志存储单元用于存储日志信息;若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息;若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间;也就是说,在单元映射表中不存在第一单元标识的情况下,通过每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,能够将存储设备的存储日志信息的存储内容快速地进行读取,并进一步确定待写入的新的日志信息的写指针位置,以将其存储至写指针位置对应的存储空间;如此,提高了读写速率和存储效率,且实现逻辑简单、占用资源少、方便维护和移植。
附图说明
图1为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图2为本申请实施例提供的一种可选的FLASH存储器中的结构示意图;
图3为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图4为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图5为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图6为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图7为本申请实施例提供的日志存储方法的一个可选的流程示意图;
图8为本申请实施例提供的日志存储装置的一个可选的结构示意图;
图9为本申请实施例提供的日志存储系统的一个可选的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请提供一种日志存储方法,该日志存储方法可以应用于存储设备,参照图1所示,该日志存储方法包括以下步骤:
步骤101、在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表。
其中,日志存储单元用于存储日志信息。
本申请实施例中,存储设备可以是非易失性存储设备。示例性的,非易失性存储设备可以是闪存设备如FLASH存储器,非易失性存储设备也可以是带电可擦写可编程只读存储器(Electrically erasable programmable read only memory,EEPROM)。对非易失性存储设备,本申请不做具体限制。
本申请实施例中,日志存储单元为对存储设备中的存储空间以块或扇区为单位划分的存储单元。需要说明的是,多个日志存储单元的物理存储空间地址连续。这里,日志存储单元用于存储多条日志信息。
本申请实施例中,日志存储单元被划分为多个具有目标大小的存储空间的子存储单元,且多个子存储单元的物理存储空间地址连续,子存储单元用于存储一条日志信息。如此,保证了每一日志存储单元被划分为相同数量的子存储单元,从而保证了每一日志存储单元可以存储的日志信息的数量相同,进而方便存储设备以固定的速率存储和读取。
本申请实施例中,与存储设备关联的电子设备在运行的过程中可以生成用于记录该电子设备运行过程的日志信息,其中,日志信息可以称为log。如此,电子设备在一段时间内运行的过程中生成的日志信息,可以为用于反映该段时间内电子设备运行过程的信息。例如,电子设备在发生异常的情况下,该电子设备生成的日志信息可以为用于反映该异常的信息,即与该异常相关的信息。
本申请实施例中,在一种情况下,当多个日志存储单元中的某一个或者某几个日志存储单元出现异常如出现坏块的情况下,单元映射表用于记录出现异常的日志存储单元的单元标识,以及记录异常的日志存储单元对应的替换存储单元的单元标识;这里,替换存储单元的单元标识与出现异常的日志存储单元的单元标识一一对应。在另一种情况下,当多个日志存储单元未出现异常的情况下,单元映射表为空。
在一种可实现的应用场景中,以存储设备为FLASH存储器为例进行说明,参照图2所示,图2示出的是FLASH存储器中的结构示意图。FLASH存储器2中的存储空间以块或扇区为单位划分成多个存储单元,多个存储单元中的第一部分存储单元21用于存放单元映射表,多个存储单元中的第二部分存储单元即多个日志存储单元22用于存放日志信息,多个存储单元中的第三部分存储单元即多个替换存储单元23用于存放日志信息。参照图2所示,每一存储单元都有对应的唯一的单元标识如Sector1、Sector2、Sector3、…、SectorN。
本申请实施例中,在存储设备上电后,获取存储设备预先设置的用于存储日志信息的多个日志存储单元,多个日志存储单元中的每一日志存储单元的第一单元标识,以及单元映射表。
步骤102、若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置。
本申请实施例中,电子设备生成日志信息时,按照自动编码的方式,为每一日志信息进行编号,并将带有编号的日志信息存储在存储设备的日志存储单元中。例如,电子设备生成第一条日志信息时,为第一条日志信息进行编号,如编号为1,之后,每生成一条日志信息,对编号进行加1,并将带有编号的日志信息按照编号顺序存储在日志存储单元中。
本申请实施例中,在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表的情况下,首先,若存储设备确定单元映射表中不存在第一单元标识,即表征多个日志存储单元未出现异常,可以正常存储日志信息,获取每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号。其次,基于每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置。
步骤103、获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息。
本申请实施例中,电子设备在运行过程中生成的新的日志信息,同时为新的日志信息编号,之后,电子设备将待有编号的日志信息发送给与电子设备关联的存储设备,存储设备接收带有编号的新的日志信息。
步骤104、若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
本申请实施例中,存储设备获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息的情况下,判断当前多个日志存储单元的剩余存储空间中是否能够存放新的日志信息,若确定剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间中。
本申请的实施例提供一种日志存储方法,通过在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,日志存储单元用于存储日志信息;若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息;若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间;也就是说,在单元映射表中不存在第一单元标识的情况下,通过每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,能够将存储设备的存储日志信息的存储内容快速地进行读取,并进一步确定待写入的新的日志信息的写指针位置,以将其存储至写指针位置对应的存储空间;如此,提高了读写速率和存储效率,且实现逻辑简单、占用资源少、方便维护和移植。
本申请提供一种日志存储方法,该日志存储方法可以应用于存储设备,参照图3所示,该日志存储方法包括以下步骤:
步骤201、在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表。
其中,日志存储单元用于存储日志信息。
步骤202、若单元映射表中不存在第一单元标识时,获取每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号。
本申请实施例中,第一起始编号为每一日志存储单元中存储的第一条日志信息对应的编号。第一终止编号为每一日志存储单元中存储的最后一条日志信息对应的编号。
步骤203、若第一终止编号减去第一起始编号的差值不满足差值阈值条件,确定差值不满足差值阈值条件的日志信息所在的日志存储单元为目标存储单元。
本申请实施例中,目标存储单元为多个日志存储单元中的其中一个。
本申请实施例中,由于日志存储单元被划分为多个具有相同目标大小存储空间的子存储单元,且多个子存储单元的物理存储空间地址连续,子存储单元用于存储一条日志信息,所以,每一日志存储单元中存储的日志信息的数量固定且相同。例如,日志存储单元被划分为10个具有相同目标大小存储空间的子存储单元,每一子存储单元用于存储一条日志信息,故日志存储单元可以存储10条日志信息。
本申请实施例中,差值阈值条件可以理解为日志存储单元可以存储的日志信息的总条数减去1。
本申请实施例中,若日志存储单元对应的第一终止编号减去第一起始编号的差值不满足差值阈值条件,则表示该日志存储单元未存满日志信息,存储设备可以继续在该日志存储单元中存储日志信息;若日志存储单元对应的第一终止编号减去第一起始编号的差值满足差值阈值条件,则表示该日志存储单元已存满日志信息,此时,存储设备不需要考虑在该日志存储单元中继续存储日志信息。
本申请实施例中,存储设备在每一日志存储单元中,按照日志信息的编号顺序进行存储,若单元映射表中不存在第一单元标识时,获取每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号之后,若第一终止编号减去第一起始编号的差值不满足差值阈值条件,存储设备确定差值不满足差值阈值条件的日志信息所在的日志存储单元未存满日志信息,此时,存储设备确定未存满日志信息的日志存储单元为目标存储单元。
步骤204、获取目标存储单元的起始物理地址,目标存储单元中存储的最后一条日志信息,以及为每一日志信息分配的存储空间的目标大小。
步骤205、基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,并确定目标物理地址为写指针位置。
本申请实施例中,存储设备获取目标存储单元的起始物理地址,目标存储单元中存储的最后一条日志信息,以及为每一日志信息分配的存储空间的目标大小,并基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,并确定目标物理地址为写指针位置。
本申请实施例中,参照图4所示,步骤205中基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,可以通过如下步骤实现:
步骤A1、获取目标存储单元中存储的最后一条日志信息的目标终止编号减去第一条日志信息的目标起始编号的目标差值。
本申请实施例中,目标起始编号为目标存储单元中存储的第一条日志信息对应的编号。目标终止编号为目标存储单元中存储的最后一条日志信息对应的编号。
步骤A2、计算目标差值与目标大小之间的乘积。
步骤A3、确定起始物理地址与乘积的和,为目标物理地址。
本申请实施例中,首先,存储设备获取目标存储单元中存储的第一条日志信息对应的目标起始编号,以及目标存储单元中存储的最后一条日志信息对应的目标终止编号;其次,存储设备获取目标终止编号减去目标起始编号的目标差值;然后,存储设备计算目标差值与目标大小之间的乘积。最后,存储设备确定目标存储单元的起始物理地址与乘积的和,为目标物理地址。
本申请其他实施例中,存储设备获取索引信息,基于索引信息和目标存储单元中存储的最后一条日志信息的目标终止编号,确定已存储的有效的日志信息的起始地址和终止地址,基于起始地址和终止地址,从多个日志存储单元中按照时间顺序读取已记录的有效的日志信息。
这里,索引信息是对整个存储日志信息的多个日志存储单元按照日志信息的编号顺序方便快速定位新的日志信息的存储位置。需要说明的是,索引信息包含的日志信息的数量是固定的。
这里,日志信息中包括时间字段,时间字段用于记录日志信息写入或存储的时间戳。时间顺序包括时间正序和时间反序。
本申请实施例中,存储设备获取索引信息,基于索引信息和目标存储单元中存储的最后一条日志信息的目标终止编号,确定已存储的有效的日志信息的起始地址和终止地址,基于起始地址和终止地址,从多个日志存储单元中按照时间顺序读取已记录的有效的日志信息,在读取过程中,判断所读取的日志存储单元的第一单元标识是否在单元映射表中,若在,则从与第一单元标识关联的第二单元标识对应的第一替换存储单元中读取日志信息。
在一种可实现的应用场景中,以索引信息包含的日志信息的数量是30个,目标存储单元中存储的最后一条日志信息的目标终止编号为42为例进行说明,存储设备基于索引信息和目标存储单元中存储的最后一条日志信息的目标终止编号,确定有效的日志信息为编号13的日志信息至编号42的日志信息,基于编号13的日志信息至编号42的日志信息包括的有效日志信息,确定已存储的有效日志信息的起始地址和终止地址,基于起始地址和终止地址,从多个日志存储单元中按照时间顺序如时间正序或时间反序的顺序读取已记录的有效的日志信息。
本申请实施例中,参照图5所示,步骤205中基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,还可以通过如下步骤实现:
步骤B1、获取目标存储单元中存储的最后一条日志信息的存储空间对应的第一物理地址。
本申请实施例中,第一物理地址为目标存储单元中存储的最后一条日志信息的存储空间对应的物理地址。
步骤B2、确定第一物理地址与目标大小的和为目标物理地址。
本申请实施例中,存储设备获取目标存储单元中存储的最后一条日志信息的存储空间对应的第一物理地址之后,计算第一物理地址与目标大小的和,并确定第一物理地址与目标大小的和为目标物理地址。
步骤206、获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息。
步骤207、若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
步骤208、若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元,将写指针位置移至擦除的第二日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请实施例中,第二日志存储单元为最早写入日志信息的存储单元,第二日志存储单元为多个日志存储单元中的其中一个。
本申请实施例中,擦除最早写入的日志信息所在的第二日志存储单元,可以理解为将第二日志存储单元中的已写入的数据位全部初始化为1。
本申请实施例中,首先,存储设备确定多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元。其次,若存储设备确定擦除后的第二日志存储单元正常,将写指针位置移至擦除的第二日志存储单元的起始物理地址,得到移动后的写指针位置。最后,存储设备将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请其他实施例中,若日志信息中包括时间字段,时间字段用于记录日志信息写入或存储的时间戳,此时,存储设备可以根据时间字段查找最早写入的日志信息所在的第二日志存储单元。
由上述可知,本申请实施例中,存储设备确定单元映射表中不存在第一单元标识的情况下,通过每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,能够将存储设备的存储日志信息的情况快速地进行读取,并基于第一终止编号和第一起始编号之间的差值,确定目标存储单元中待写入的日志信息的写指针位置;若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间;若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的日志存储单元,将写指针位置移至擦除的日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。如此,解决了资源匮乏的问题,实现了当日志存储单元存满的情况下,通过擦除最早写入日志信息的日志存储单元中的数据,最大限度地提高了存储设备的使用寿命,进而提高了读写速率和存储效率,且实现逻辑简单、方便维护和移植。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
参照图6所示,图6是本申请实施例提供的日志存储方法的一个实现流程示意图,该日志存储方法应用于存储设备,该日志存储方法包括以下步骤:
步骤301、在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表。
其中,日志存储单元用于存储日志信息。
步骤302、若单元映射表中存在第一部分单元标识,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识。
本申请实施例中,单元映射表用于记录出现异常的日志存储单元的单元标识,以及记录异常的日志存储单元对应的替换存储单元的单元标识。
本申请实施例中,单元映射表中存在第一部分单元标识,即表明第一部分单元标识对应的日志存储单元出现异常,无法存储日志信息,需要根据单元映射表,查找与第一部分单元标识对应的第二单元标识,以在第二单元标识对应的第一替换存储单元中存储日志信息。这里,第一替换存储单元至少为一个。
本申请实施例中,存储设备在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表的情况下,存储设备确定单元映射表中存在第一部分单元标识,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识。
步骤303、获取单元映射表中不存在的第二部分单元标识。
其中,第一单元标识包括第一部分单元标识和第二部分单元标识。
步骤304、基于获取的第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,确定待写入的新的日志信息的写指针位置。
本申请实施例中,首先,存储设备确定单元映射表中存在第一部分单元标识,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识,并确定单元映射表中不存在的第二部分单元标识。其次,存储设备获取第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第二单元标识对应的第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号;最后,存储设备基于第一起始编号、第一终止编号、第二起始编号以及第二终止编号,确定待写入的新的日志信息的写指针位置。
步骤305、获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息。
步骤306、若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
步骤307、若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元,将写指针位置移至擦除的第二日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请实施例中,第二日志存储单元为最早写入日志信息的存储单元,第二日志存储单元可以为多个日志存储单元中的其中一个,第二日志存储单元还可以为第一替换存储单元。这里,只需确定最早写入的日志信息所在的存储单元为第二日志存储单元即可。
本申请实施例中,擦除最早写入的日志信息所在的第二日志存储单元,可以理解为将第二日志存储单元中的已写入的数据位全部初始化为1。
本申请实施例中,首先,存储设备确定多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元。其次,若存储设备确定擦除后的第二日志存储单元正常,将写指针位置移至擦除的第二日志存储单元的起始物理地址,得到移动后的写指针位置。最后,存储设备将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请其他实施例中,若日志信息中存在有时间字段,则可以根据时间字段查找最早写入的日志信息所在的第二日志存储单元。
由上述可知,本申请实施例中,在单元映射表中存在第一部分单元标识的情况下,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识,并获取单元映射表中不存在的第二部分单元标识;基于获取的第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,能够将存储设备的存储日志信息的情况快速地进行读取;并进一步确定待写入的新的日志信息的写指针位置;若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间;若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的日志存储单元,将写指针位置移至擦除的日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。如此,解决了资源匮乏的问题,实现了在日志存储单元存在异常的情况下,通过在替换存储单元中记录日志信息,从而平衡了每个日志存储单元的擦除寿命,最大限度地提高了存储设备的使用寿命,进而提高了读写速率和存储效率,且实现逻辑简单、方便维护和移植。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
参照图7所示,图7是本申请实施例提供的日志存储方法的一个实现流程示意图,该日志存储方法应用于存储设备,该日志存储方法包括以下步骤:
步骤401、在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表。
其中,日志存储单元用于存储日志信息。
步骤402、若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置。
步骤403、获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息。
步骤404、获取每一日志存储单元的起始物理地址。
步骤405、若多个日志存储单元的剩余存储空间能够存放新的日志信息,且写指针位置指向第一日志存储单元的起始物理地址,擦除物理起始地址对应的第一日志存储单元。
本申请实施例中,由于存储设备中的存储空间以块或扇区为单位划分的存储单元,故每一存储单元的存储空间确定,且每一存储单元的起始物理地址也确定,进而每一日志存储单元的起始物理地址确定。
本申请实施例中,第一日志存储单元为写指针位置指向的起始物理地址所在的存储单元。
本申请实施例中,存储设备获取每一日志存储单元的起始物理地址,若存储设备确定多个日志存储单元的剩余存储空间能够存放新的日志信息,且写指针位置指向第一日志存储单元的起始物理地址,擦除物理起始地址对应的第一日志存储单元,即将第一日志存储单元中的已写入的数据位全部初始化为1。
步骤406、若擦除过程中确定第一日志存储单元为异常存储单元,在单元映射表中记录第一日志存储单元的第三单元标识,以及第一日志存储单元对应的第二替换存储单元的第四单元标识。
本申请实施例中,存储设备在擦除过程中确定第一日志存储单元为异常存储单元,即存储设备在擦除过程中确定第一日志存储单元中的已写入的数据位无法全部初始化为1,此时确定第一日志存储单元为异常存储单元;然后,存储设备确定第一日志存储单元对应的第二替换存储单元,并获取第二替换存储单元的第四单元标识;进一步地,存储设备在单元映射表中记录第一日志存储单元的第三单元标识,以及对应的第二替换存储单元的第四单元标识。
步骤407、将写指针位置移至第二替换存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请实施例中,存储设备若擦除过程中确定第一日志存储单元为异常存储单元,在单元映射表中记录第一日志存储单元的第三单元标识,以及第一日志存储单元对应的第二替换存储单元的第四单元标识之后,将写指针位置移至第二替换存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
由上述可知,本申请实施例中,存储设备确定多个日志存储单元的剩余存储空间能够存放新的日志信息,且写指针位置指向第一日志存储单元的起始物理地址,擦除物理起始地址对应的第一日志存储单元,若擦除过程中确定第一日志存储单元为异常存储单元,将写指针位置移至第一日志存储单元对应的第二替换存储单元的起始物理地址,将新的日志信息存储至移动后的写指针位置对应的存储空间;如此,实现了当日志存储单元存在异常的情况下,在替换存储单元中记录日志信息,从而平衡了每个日志存储单元的擦写寿命,最大限度地提高了存储设备的使用寿命,进而提高了读写速率和存储效率,且实现逻辑简单、方便维护和移植。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例提供一种日志存储装置,该日志存储装置可以用于实施图1、图3至图7对应的实施例提供的一种日志存储方法,参照图8所示,该日志存储装置8包括:
获取模块801,用于在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,日志存储单元用于存储日志信息;
确定模块802,用于若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;
获取模块801,还用于获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息;
处理模块803,用于若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
在本申请其他实施例中,处理模块803,还用于若单元映射表中存在第一部分单元标识,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识;获取模块801,还用于获取单元映射表中不存在的第二部分单元标识,其中,第一单元标识包括第一部分单元标识和第二部分单元标识;确定模块802,还用于基于获取的第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,确定待写入的新的日志信息的写指针位置。
在本申请其他实施例中,确定模块802,还用于若第一终止编号减去第一起始编号的差值不满足差值阈值条件,确定差值不满足差值阈值条件的日志信息所在的日志存储单元为目标存储单元;获取模块801,还用于获取目标存储单元的起始物理地址,目标存储单元中存储的最后一条日志信息,以及为每一日志信息分配的存储空间的目标大小;确定模块802,还用于基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,并确定目标物理地址为写指针位置。
在本申请其他实施例中,获取模块801,还用于获取目标存储单元中存储的最后一条日志信息的目标终止编号减去第一条日志信息的目标起始编号的目标差值;处理模块803,还用于计算目标差值与目标大小之间的乘积;确定模块802,还用于确定起始物理地址与乘积的和,为目标物理地址。
在本申请其他实施例中,获取模块801,还用于获取目标存储单元中存储的最后一条日志信息的存储空间对应的第一物理地址;确定模块802,还用于确定第一物理地址与目标大小的和为目标物理地址。
在本申请其他实施例中,获取模块801,还用于获取每一日志存储单元的起始物理地址;处理模块803,还用于若多个日志存储单元的剩余存储空间能够存放新的日志信息,且写指针位置指向第一日志存储单元的起始物理地址,擦除物理起始地址对应的第一日志存储单元;若擦除过程中确定第一日志存储单元为异常块,在单元映射表中记录第一日志存储单元的第三单元标识,以及第一日志存储单元对应的第二替换存储单元的第四单元标识;将写指针位置移至第二替换存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
在本申请其他实施例中,处理模块803,还用于若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元,将写指针位置移至擦除的第二日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请实施例提供一种存储设备,该存储设备可以用于实施图1、图3至图7对应的实施例提供的一种日志存储方法,参照图9所示,该存储设备9(图9中的存储设备9对应图8中的日志存储装置8)包括:处理器901、存储器902和通信总线903,其中:
通信总线903用于实现处理器901和存储器902之间的通信连接;
处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
在存储设备上电后,获取存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,日志存储单元用于存储日志信息;
若单元映射表中不存在第一单元标识时,基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定待写入的新的日志信息的写指针位置;
获取与存储设备关联的电子设备在运行过程中生成的带有编号的新的日志信息;
若多个日志存储单元的剩余存储空间能够存放新的日志信息,将新的日志信息存储至写指针位置对应的存储空间。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
若单元映射表中存在第一部分单元标识,从单元映射表中查找与第一部分单元标识对应的第一替换存储单元的第二单元标识;获取单元映射表中不存在的第二部分单元标识,其中,第一单元标识包括第一部分单元标识和第二部分单元标识;基于获取的第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,确定待写入的新的日志信息的写指针位置。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
若第一终止编号减去第一起始编号的差值不满足差值阈值条件,确定差值不满足差值阈值条件的日志信息所在的日志存储单元为目标存储单元;获取目标存储单元的起始物理地址,目标存储单元中存储的最后一条日志信息,以及为每一日志信息分配的存储空间的目标大小;基于起始物理地址、目标存储单元中存储的最后一条日志信息,以及目标大小,得到目标物理地址,并确定目标物理地址为写指针位置。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
获取目标存储单元中存储的最后一条日志信息的目标终止编号减去第一条日志信息的目标起始编号的目标差值;计算目标差值与目标大小之间的乘积;确定起始物理地址与乘积的和,为目标物理地址。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
获取目标存储单元中存储的最后一条日志信息的存储空间对应的第一物理地址;确定第一物理地址与目标大小的和为目标物理地址。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
获取每一日志存储单元的起始物理地址;若多个日志存储单元的剩余存储空间能够存放新的日志信息,且写指针位置指向第一日志存储单元的起始物理地址,擦除物理起始地址对应的第一日志存储单元;若擦除过程中确定第一日志存储单元为异常块,在单元映射表中记录第一日志存储单元的第三单元标识,以及第一日志存储单元对应的第二替换存储单元的第四单元标识;将写指针位置移至第二替换存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
在本申请其他实施例中,处理器901用于执行存储器902中存储的日志存储程序,以实现以下步骤:
若多个日志存储单元的剩余存储空间不能够存放新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元,将写指针位置移至擦除的第二日志存储单元的起始物理地址,并将新的日志信息存储至移动后的写指针位置对应的存储空间。
本申请的实施例提供一种计算机存储介质,该计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行本申请实施例提供的方法,例如,如图1、图3至图7示出的方法。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本申请实施例”或“前述实施例”或“一些实施例”或“一些实施方式”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本申请实施例”或“前述实施例”或“一些实施例”或“一些实施方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
值得注意的是,本申请实施例中的附图只是为了说明各个器件在终端设备上的示意位置,并不代表在终端设备中的真实位置,各器件或各个区域的真实位置可根据实际情况(例如,终端设备的结构)作出相应改变或偏移,并且,图中的终端设备中不同部分的比例并不代表真实的比例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种日志存储方法,其特征在于,所述方法包括:
在存储设备上电后,获取所述存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,所述日志存储单元用于存储日志信息;其中,所述第一单元标识包括第一部分单元标识和第二部分单元标识;所述单元映射表用于记录异常的日志存储单元的单元标识,以及记录所述异常的日志存储单元对应的替换存储单元的单元标识;
若所述单元映射表中存在第一部分单元标识,从所述单元映射表中查找与所述第一部分单元标识对应的第一替换存储单元的第二单元标识;
获取所述单元映射表中不存在的第二部分单元标识;
基于获取的所述第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及所述第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,确定待写入的新的日志信息的写指针位置;
获取与所述存储设备关联的电子设备在运行过程中生成的带有编号的所述新的日志信息;
若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,将所述新的日志信息存储至所述写指针位置对应的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述单元映射表中不存在所述第一单元标识时,基于获取的所述每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定所述待写入的新的日志信息的所述写指针位置。
3.根据权利要求2所述的方法,其特征在于,所述基于获取的每一日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,确定所述待写入的新的日志信息的所述写指针位置,包括:
若所述第一终止编号减去所述第一起始编号的差值不满足差值阈值条件,确定所述差值不满足所述差值阈值条件的日志信息所在的日志存储单元为目标存储单元;
获取所述目标存储单元的起始物理地址,所述目标存储单元中存储的所述最后一条日志信息,以及为每一日志信息分配的存储空间的目标大小;
基于所述起始物理地址、所述目标存储单元中存储的所述最后一条日志信息,以及所述目标大小,得到目标物理地址,并确定所述目标物理地址为所述写指针位置。
4.根据权利要求3所述的方法,其特征在于,所述基于所述起始物理地址、所述目标存储单元中存储的所述最后一条日志信息,以及所述目标大小,得到目标物理地址,包括:
获取所述目标存储单元中存储的所述最后一条日志信息的目标终止编号减去所述第一条日志信息的目标起始编号的目标差值;
计算所述目标差值与所述目标大小之间的乘积;
确定所述起始物理地址与所述乘积的和,为所述目标物理地址。
5.根据权利要求3所述的方法,其特征在于,所述基于所述起始物理地址、所述目标存储单元中存储的所述最后一条日志信息,以及所述目标大小,得到目标物理地址,包括:
获取所述目标存储单元中存储的最后一条日志信息的存储空间对应的第一物理地址;
确定所述第一物理地址与所述目标大小的和为所述目标物理地址。
6.根据权利要求1或2所述的方法,其特征在于,所述若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,将所述新的日志信息存储至所述写指针位置对应的存储空间,包括:
获取每一日志存储单元的起始物理地址;
若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,且所述写指针位置指向第一日志存储单元的起始物理地址,擦除所述起始物理地址对应的所述第一日志存储单元;
若擦除过程中确定所述第一日志存储单元为异常存储单元,在所述单元映射表中记录所述第一日志存储单元的第三单元标识,以及所述第一日志存储单元对应的第二替换存储单元的第四单元标识;
将所述写指针位置移至所述第二替换存储单元的起始物理地址,并将所述新的日志信息存储至移动后的写指针位置对应的存储空间。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述多个日志存储单元的剩余存储空间不能够存放所述新的日志信息,擦除最早写入的日志信息所在的第二日志存储单元,将写指针位置移至擦除的第二日志存储单元的起始物理地址,并将所述新的日志信息存储至移动后的写指针位置对应的存储空间。
8.一种日志存储装置,其特征在于,所述装置包括:
获取模块,用于在存储设备上电后,获取所述存储设备中多个日志存储单元中的每一日志存储单元的第一单元标识和单元映射表,其中,所述日志存储单元用于存储日志信息;其中,所述第一单元标识包括第一部分单元标识和第二部分单元标识;所述单元映射表用于记录异常的日志存储单元的单元标识,以及记录所述异常的日志存储单元对应的替换存储单元的单元标识;
确定模块,用于若所述单元映射表中存在第一部分单元标识时,基于获取的第二部分单元标识对应的日志存储单元中存储的第一条日志信息的第一起始编号和最后一条日志信息的第一终止编号,以及第一替换存储单元中存储的第一条日志信息的第二起始编号和最后一条日志信息的第二终止编号,确定待写入的新的日志信息的写指针位置;
所述获取模块,还用于获取与所述存储设备关联的电子设备在运行过程中生成的带有编号的所述新的日志信息;还用于获取所述单元映射表中不存在的第二部分单元标识;
处理模块,用于若所述多个日志存储单元的剩余存储空间能够存放所述新的日志信息,将所述新的日志信息存储至所述写指针位置对应的存储空间;还用于若所述单元映射表中存在第一部分单元标识,从所述单元映射表中查找与所述第一部分单元标识对应的第一替换存储单元的第二单元标识。
9.一种存储设备,其特征在于,所述存储设备包括:处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的通信连接;
所述处理器用于执行存储器中存储的日志存储程序,以实现如权利要求1至7中任一项所述的日志存储方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的日志存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190963.9A CN114063905B (zh) | 2021-10-13 | 2021-10-13 | 日志存储方法、日志存储装置、存储设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111190963.9A CN114063905B (zh) | 2021-10-13 | 2021-10-13 | 日志存储方法、日志存储装置、存储设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114063905A CN114063905A (zh) | 2022-02-18 |
CN114063905B true CN114063905B (zh) | 2024-04-02 |
Family
ID=80234654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111190963.9A Active CN114063905B (zh) | 2021-10-13 | 2021-10-13 | 日志存储方法、日志存储装置、存储设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114063905B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251386A (zh) * | 2023-11-20 | 2023-12-19 | 西安图为电气技术有限公司 | 一种嵌入式系统的日志管理方法及嵌入式系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198607A (ja) * | 1997-01-08 | 1998-07-31 | Hitachi Ltd | データ多重化システム |
CN102567184A (zh) * | 2011-12-27 | 2012-07-11 | 青岛海信宽带多媒体技术有限公司 | 一种基于Flash的日志存储方法 |
CN103019873A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 一种存储器故障单元的替换方法及装置、数据存储系统 |
CN110989931A (zh) * | 2019-11-28 | 2020-04-10 | 北京握奇智能科技有限公司 | 存储设备坏块处理方法、装置、设备及存储介质 |
CN112805686A (zh) * | 2018-10-15 | 2021-05-14 | 华为技术有限公司 | 一种存储块处理的方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108028075B (zh) * | 2015-10-28 | 2022-02-25 | 普和希控股公司 | 生物体信息测定器以及生物体信息测定方法 |
-
2021
- 2021-10-13 CN CN202111190963.9A patent/CN114063905B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198607A (ja) * | 1997-01-08 | 1998-07-31 | Hitachi Ltd | データ多重化システム |
CN102567184A (zh) * | 2011-12-27 | 2012-07-11 | 青岛海信宽带多媒体技术有限公司 | 一种基于Flash的日志存储方法 |
CN103019873A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 一种存储器故障单元的替换方法及装置、数据存储系统 |
CN112805686A (zh) * | 2018-10-15 | 2021-05-14 | 华为技术有限公司 | 一种存储块处理的方法及相关设备 |
CN110989931A (zh) * | 2019-11-28 | 2020-04-10 | 北京握奇智能科技有限公司 | 存储设备坏块处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114063905A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7984231B2 (en) | Information recording medium access device, and data recording method | |
KR101447188B1 (ko) | 플래시 메모리에 최적화된 입출력 제어 방법 및 장치 | |
US8892812B2 (en) | Flash memory device and data writing method for a flash memory | |
CN109189772B (zh) | 用于无文件系统存储介质的文件管理方法及系统 | |
CN111209253B (zh) | 分布式存储设备性能提升方法、装置及分布式存储设备 | |
US20090113249A1 (en) | Stress testing method of file system | |
CN113220239A (zh) | 一种flash存储的擦写方法、装置、设备及可读存储介质 | |
EP1771862A1 (en) | Method and device to improve usb flash write performance | |
CN110134645B (zh) | 文件系统存储管理方法、读取方法、管理装置和读取装置 | |
US20080250189A1 (en) | Circuit and Method for Improving Operation Life of Memory | |
CN109597580B (zh) | 适用于智能电表负荷曲线存储的flash操作方法 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及系统 | |
CN114063905B (zh) | 日志存储方法、日志存储装置、存储设备和存储介质 | |
JP4347707B2 (ja) | 情報記録媒体のフォーマット方法および情報記録媒体 | |
CN115237351B (zh) | Nand块动态重映射、读写命令处理方法及存储设备 | |
CN115373608A (zh) | 数据存储方法及装置 | |
CN111399774B (zh) | 分布式存储系统下基于快照的数据处理方法和装置 | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
CN109901795B (zh) | 一种循环文件系统及文件定位方法 | |
CN112148220A (zh) | 一种实现数据处理的方法、装置、计算机存储介质及终端 | |
CN110799935A (zh) | 数据存储方法、闪存设备、智能电池、可移动平台 | |
CN113900994B (zh) | 一种文件写入方法及装置 | |
CN113703671B (zh) | 一种数据块擦除方法及相关装置 | |
CN116994636B (zh) | 存储芯片随机磨损测试方法、装置及其存储介质 | |
CN111930300B (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 |