CN112199053B - 一种应用于小容量存储区的日志记录方法、装置及介质 - Google Patents

一种应用于小容量存储区的日志记录方法、装置及介质 Download PDF

Info

Publication number
CN112199053B
CN112199053B CN202011387798.1A CN202011387798A CN112199053B CN 112199053 B CN112199053 B CN 112199053B CN 202011387798 A CN202011387798 A CN 202011387798A CN 112199053 B CN112199053 B CN 112199053B
Authority
CN
China
Prior art keywords
log
target
event
page
last
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
CN202011387798.1A
Other languages
English (en)
Other versions
CN112199053A (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.)
Hangzhou Mirui Technology Co ltd
Original Assignee
Hangzhou Mirui Technology 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 Hangzhou Mirui Technology Co ltd filed Critical Hangzhou Mirui Technology Co ltd
Priority to CN202011387798.1A priority Critical patent/CN112199053B/zh
Publication of CN112199053A publication Critical patent/CN112199053A/zh
Application granted granted Critical
Publication of CN112199053B publication Critical patent/CN112199053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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

一种应用于小容量存储区的日志记录方法、装置及介质
技术领域
本申请涉及数据处理领域,特别是涉及一种应用于小容量存储区的日志记录方法、装置及介质。
背景技术
日志是终端设备的一种重要文件,通常用来记录终端设备在运行周期内发生的各个事件,例如用户登录、配置参数和硬件状态等,以便后续追溯终端设备的运行状态或者在终端设备发生异常情况时根据事件日志寻找具体问题和解决方法。
目前的终端设备(如家用摄像头、机顶盒)出于成本考虑,闪存存储设备(Flash)存储区域通常较小,除了存储终端设备本身必要的程序代码和配置参数外,余下的字节空间可能只有几十KB甚至更少,因此通常只能以文件的形式将特定的某几个事件写入到Flash中。但是上述方式存在一些问题:一方面如果以文件的形式写入Flash,文件本身必然会占用一部分运行内存以作为临时的文件操作空间,且事件本身记录的信息也很多,导致每个事件占用空间较大,只能记录几种特定事件,无法长期保存大量的事件日志。另一方面,Flash存储区通常有擦写次数限制,达到一定次数后,就不能再正确的存储数据,事件占用空间大导致可存储的事件数量很少,必须对Flash存储区频繁擦写以更新日志,擦写次数过多,就不能充分利用每个存储位的生命周期,影响Flash的使用寿命,进一步影响用户体验。
鉴于上述现有技术,寻求一种能够长期保存大量事件日志的方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种应用于小容量存储区的日志记录方法、装置及介质,可以同时保存更多的事件日志,能够充分利用每个存储位的生命周期,提高了用户体验。
为解决上述技术问题,本申请提供一种应用于小容量存储区的日志记录方法,包括:
设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储。
优选地,所述事件对应的日志还包括用于校验所述事件完整性的事件校验字节,所述事件校验字节依据所述运行参数和所述编码数据生成。
优选地,所述运行参数具体包括事件时间戳和事件参数。
优选地,依据各所述事件生成的日志以固定大小存储,各所述日志的长度相同。
优选地,所述依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储,具体包括:
在存储区域中定位最后写入日志所在的位置;
将所述目标日志写入所述存储区域。
优选地,所述存储区域具体为多页,所述在所述存储区域中定位最后写入日志所在的位置具体包括:
读取第一页最后一条日志存储位的数据;
判断所述最后一条日志存储位的数据是否被擦除;
若没有被擦除,则读取下一页最后一条日志存储位的数据,并返回所述判断所述最后一条日志存储位的数据是否被擦除的步骤;
若被擦除,则判断当前页是否是所述第一页;
若不是所述第一页,则确定当前页为所述最后写入日志所在页,并通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置;
若是所述第一页,则读取最后一页第一条日志存储位的数据;
判断所述最后一页第一条日志存储位的数据是否被擦除;
若是,则确定所述第一页为所述最后写入日志所在页,并返回所述通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置的步骤;
若否,则确定所述最后一页倒数第二条日志存储位为所述最后写入日志所在的位置。
优选地,所述存储区域具体为多页,所述将所述目标日志写入所述存储区域具体包括:
判断所述最后写入日志所在的位置是否是当前页最后一条日志存储位;
若是,则在下一页第一条日志存储位写入所述目标日志;
若否,则判断所述最后写入日志所在的位置是否是当前页倒数第二条日志存储位;
若否,则在当前页所述最后写入日志所在的位置的下一条日志存储位写入所述目标日志;
若是,则对当前页的下一页做擦除操作后,在当前页最后一条日志存储位写入所述目标日志。
为解决上述技术问题,本申请还提供一种应用于小容量存储区的日志记录装置,包括:
第一设置模块,用于设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
第二设置模块,用于设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
存储模块,用于在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储。
为解决上述技术问题,本申请还提供一种应用于小容量存储区的日志记录装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述的应用于小容量存储区的日志记录方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的应用于小容量存储区的日志记录方法的步骤。
本申请所提供的应用于小容量存储区的日志记录方法,首先对可能发生的事件设置与其唯一对应的编码数据以及编码数据和各事件对应的运行参数与用于表征编码数据和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用于小容量存储区的日志记录方法的流程图;
图2为本申请实施例提供的另一种应用于小容量存储区的日志记录方法的流程图;
图3为本申请实施例提供的另一种应用于小容量存储区的日志记录方法的流程图;
图4为本申请实施例提供的一种应用于小容量存储区的日志记录装置的结构示意图;
图5为本申请实施例提供的一种应用于小容量存储区的日志记录装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种应用于小容量存储区的日志记录方法、装置及介质,可以同时保存更多的事件日志,能够充分利用每个存储位的生命周期,提高了用户体验。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
需要说明的是,本申请所提供的应用于小容量存储区的日志记录方法不仅适用于低内存的Linux,由于单片机更加追求小内存、运行速度及低功耗,因此对大部分单片机(没有操作系统)更加适用。此外,还可以应用于别的设备,本申请对此不作限定。
图1为本申请实施例提供的一种应用于小容量存储区的日志记录方法的流程图。如图1所示,该方法包括:
S10:设置各事件与用于表征各事件名称的各编码数据之间的第一对应关系。其中,各事件与各编码数据唯一对应。
在具体实施中,将终端设备可能会出现的事件分类,并以编码数据的形式与各事件对应起来。例如,日志类型可以分为操作日志和报警日志,操作日志可以具体分为用户登录,设置音量、读取电量等事件,报警日志可以具体分为电量不足或者移动检测触发等事件。将各事件编码,然后在目标事件发生的情况下,将根据目标事件生成的目标日志存储起来,存储在存储区域中的不是事件本身,而是与事件唯一对应的编码数据。
需要说明的是,编码数据只是用于表征对应事件的一个标识,用户可以利用编码数据来检索和识别具体事件,在具体实施中,编码方式可以是二进制编码、十进制编码,或者是别的编码方式,本申请对此不作限定。
进一步地,编码数据采用十六进制进行编码。具体编号可以设置为:用户登录-0x10001,设置音量-0x10002,读取电量-0x10003,电量不足-0x20001,移动检测触发-0x20002等。
S11:设置编码数据和各事件对应的运行参数与用于表征编码数据和运行参数的存储位置之间的第二对应关系。
在具体实施中,依据事件生成对应的日志时,在存储区域中每条日志内部对编码数据和运行参数的存储位置进行划分,例如,日志的前1~3个字节用于存储事件对应的运行参数,第4~5个字节用于存储事件名称对应的编码数据。需要说明的是,本申请对于第二对应关系的具体设定方式不作限定,只要满足本申请相关功能即可。
S12:在目标事件发生的情况下,依据第一对应关系确定目标事件对应的目标编码数据,并依据第二对应关系将目标日志中的目标编码数据和目标运行参数存储。
在具体实施中,将目标编码数据和目标运行参数存储在存储区域中,用户后续读取日志时,通过第一对应关系和第二对应关系解析出事件发生时具体的可读的信息。例如,存储区域中依次存储的是:0x10002、0x5FA0BEEEE、0x1E,则用户可以根据上述信息,解析出日志完整的内容:用户X,在2020年11月3号10点22分,配置了音量大小为30。
本申请所提供的应用于小容量存储区的日志记录方法,首先对可能发生的事件设置与其唯一对应的编码数据以及编码数据和各事件对应的运行参数与用于表征编码数据和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
在上述实施例的基础上,事件对应的日志还包括用于校验事件完整性的事件校验字节,事件校验字节依据运行参数和编码数据生成。运行参数具体包括事件时间戳和事件参数。
在具体实施中,事件时间戳为事件发生时的时间点(以时间戳记录),事件参数为描述该事件发生时的状态,例如具体事件为用户登录时,事件参数可以是登录用户的用户ID。事件校验字节根据事件时间戳、事件参数和编码数据生成,用于表征整个日志是不是完全写入。具体生成方式可以是对前面字段做累加和计算,然后把累加后的数值写入到事件校验字节,判断时,继续对前面字段做累加和计算,看是不是和之前存储的事件校验字节相同,若无法匹配,则表明这条日志不是完全写入。在其它实施例中,还可以使用奇偶校验或其它计算方法,本申请对此不作限定。
本申请所提供的应用于小容量存储区的日志记录方法,将事件对应的事件时间戳、事件参数和事件校验字节存储在存储区域中,用户可以根据事件校验字节校验日志是否完整记录,以此过滤写入过程中因掉电而没有完整写入的日志,提高了用户体验。
在上述实施例的基础上,作为一种优选地实施例,依据各事件生成的日志以固定大小存储,各日志的长度相同。
日志的长度在一个系统上实现时,可规定固定的长度(不一定是12个字节,也可能是16个节或8个字节)。以固定长度记录日志,检索快,不需要额外的处理。
在上述实施例的基础上,进一步地,依据第二对应关系将目标日志中的目标编码数据和目标运行参数存储,具体包括:
在存储区域中定位最后写入日志所在的位置;
将目标日志写入存储区域。
在具体实施中,在存储区域中写入目标日志时,首先需要在存储区域中定位最后写入日志所在的位置,然后在该位置的下一个存储位置,将目标日志写入。
图2为本申请实施例提供的另一种应用于小容量存储区的日志记录方法的流程图。如图2所示,对存储区域的分配以页为单位,存储区域具体为多页时,在存储区域中定位最后写入日志所在的位置具体包括:
S20:读取第一页最后一条日志存储位的数据。
S21:判断最后一条日志存储位的数据是否被擦除。若没有被擦除,则进入S22,并返回S21;若被擦除,则进入S23。
需要说明的是,Flash擦除后其数据位理论是全1,也可能因技术改进或Flash的差异性,有些Flash擦除后数据位是全0,即如果存储区域中数据位状态是全1或者全0 ,则代表数据被擦除,为确保该方法正确使用,分配Flash日志存储区域需在使用前进行擦除操作,以确保所有数据位全1或全0。
S22:读取下一页最后一条日志存储位的数据。
S23:判断当前页是否是第一页。若不是第一页,则进入S24,然后进入S29;若是第一页,则进入S25。
在具体实施中,在当前页最后一条日志存储位写入日志时,需要先对下一页做擦除操作。若对第一页做擦除操作时掉电,此时第一页表示并没有记录日志,但最后一页的最后一条日志存储位也没有记录日志,会出现最后一页和第一页的前后衔接因掉电等异常而定位不出的情况,因此需要进一步判断当前页是否是第一页。
S24:确定当前页为最后写入日志所在页。
S25:读取最后一页第一条日志存储位的数据。
S26:判断最后一页第一条日志存储位的数据是否被擦除。若是,则进入S27,然后进入S29;若否,则进入S28。
S27:确定第一页为最后写入日志所在页。
S28:确定最后一页倒数第二条日志存储位为最后写入日志所在的位置。
需要说明的是,第一页是全1或全0的情况下,表明第一页已做擦除。而最后一页最后一条日志存储位在写入日志前,需要先对第一页做擦除,该动作完后,才在最后一条日志存储位写入新的日志。最后一页第一条日志存储位不是全1或全0,说明最后一页本身有日志写入,就可以确定最后一页倒数第二条日志存储位为最后写入日志所在的位置。
S29: 通过二分法在最后写入日志所在页中定位最后写入日志所在的位置。
图3为本申请实施例提供的另一种应用于小容量存储区的日志记录方法的流程图。如图3所示,对存储区域的分配以页为单位,存储区域具体为多页时,将目标日志写入存储区域具体包括:
S30:判断最后写入日志所在的位置是否是当前页最后一条日志存储位。若是,则进入S31;若否,则进入S32。
S31:在下一页第一条日志存储位写入目标日志。
S32:判断最后写入日志所在的位置是否是当前页倒数第二条日志存储位。若否,则进入S33;若是,则进入S34。
S33:在当前页最后写入日志所在的位置的下一条日志存储位写入目标日志。
S34:对当前页的下一页做擦除操作后,在当前页最后一条日志存储位写入目标日志。
需要说明的是,对每一页的最后一条日志以及最后一页第一条日志写入后,需要判断该日志位置数据是不是全1或全0,若是全1或全0,这个时候就要重新写入。
在具体实施中,读取日志时,从最后写入日志的位置,依次向前读取,即先读后写入的,再读前一次写入的,依此类推,直至读取所有的日志或指定数量的日志。
在上述实施例中,对于一种应用于小容量存储区的日志记录方法进行了详细描述,本申请还提供一种应用于小容量存储区的日志记录装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图4为本申请实施例提供的一种应用于小容量存储区的日志记录装置的结构示意图。如图4所示,基于功能模块的角度,该装置包括:
第一设置模块10,用于设置各事件与用于表征各事件名称的各编码数据之间的第一对应关系;其中,各事件与各编码数据唯一对应;
第二设置模块11,用于设置编码数据和各事件对应的运行参数与用于表征编码数据和运行参数的存储位置之间的第二对应关系;
存储模块12,用于在目标事件发生的情况下,依据第一对应关系确定目标事件对应的目标编码数据,并依据第二对应关系将目标日志中的目标编码数据和目标运行参数存储。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请所提供的应用于小容量存储区的日志记录装置,首先对可能发生的事件设置与其唯一对应的编码数据以及编码数据和各事件对应的运行参数与用于表征编码数据和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
图5为本申请另一实施例提供的一种应用于小容量存储区的日志记录装置的结构图,如图5所示,基于硬件结构的角度,该装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中应用于小容量存储区的日志记录方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的应用于小容量存储区的日志记录方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。
在一些实施例中,应用于小容量存储区的日志记录装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对应用于小容量存储区的日志记录装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的应用于小容量存储区的日志记录装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:首先对可能发生的事件设置与其唯一对应的编码数据,然后在目标事件发生的情况下,将依据该目标事件生成的包含有其对应的目标编码数据的目标日志存储至存储区域。应用以上技术方案,存储区域中只需要存储目标编码数据,无需存储整个事件的完整内容,也省去了现有技术中文件本身存在的运行内存,减小了目标日志的占用空间,因此可以同时保存更多的事件日志,也不需要对Flash存储区频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种应用于小容量存储区的日志记录方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种应用于小容量存储区的日志记录方法,其特征在于,包括:
设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储;
其中,依据各所述事件生成的日志以固定大小存储,各所述日志的长度相同。
2.如权利要求1所述的应用于小容量存储区的日志记录方法,其特征在于,所述事件对应的日志还包括用于校验所述事件完整性的事件校验字节,所述事件校验字节依据所述运行参数和所述编码数据生成。
3.如权利要求2所述的应用于小容量存储区的日志记录方法,其特征在于,所述运行参数具体包括事件时间戳和事件参数。
4.如权利要求1所述的应用于小容量存储区的日志记录方法,其特征在于,所述依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储,具体包括:
在存储区域中定位最后写入日志所在的位置;
将所述目标日志写入所述存储区域。
5.如权利要求4所述的应用于小容量存储区的日志记录方法,其特征在于,所述存储区域具体为多页,所述在存储区域中定位最后写入日志所在的位置具体包括:
读取第一页最后一条日志存储位的数据;
判断所述最后一条日志存储位的数据是否被擦除;
若没有被擦除,则读取下一页最后一条日志存储位的数据,并返回所述判断所述最后一条日志存储位的数据是否被擦除的步骤;
若被擦除,则判断当前页是否是所述第一页;
若不是所述第一页,则确定当前页为所述最后写入日志所在页,并通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置;
若是所述第一页,则读取最后一页第一条日志存储位的数据;
判断所述最后一页第一条日志存储位的数据是否被擦除;
若是,则确定所述第一页为所述最后写入日志所在页,并返回所述通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置的步骤;
若否,则确定所述最后一页倒数第二条日志存储位为所述最后写入日志所在的位置。
6.如权利要求4所述的应用于小容量存储区的日志记录方法,其特征在于,所述存储区域具体为多页,所述将所述目标日志写入所述存储区域具体包括:
判断所述最后写入日志所在的位置是否是当前页最后一条日志存储位;
若是,则在下一页第一条日志存储位写入所述目标日志;
若否,则判断所述最后写入日志所在的位置是否是当前页倒数第二条日志存储位;
若否,则在当前页所述最后写入日志所在的位置的下一条日志存储位写入所述目标日志;
若是,则对当前页的下一页做擦除操作后,在当前页最后一条日志存储位写入所述目标日志。
7.一种应用于小容量存储区的日志记录装置,其特征在于,包括:
第一设置模块,用于设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
第二设置模块,用于设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
存储模块,用于在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储;
其中,依据各所述事件生成的日志以固定大小存储,各所述日志的长度相同。
8.一种应用于小容量存储区的日志记录装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的应用于小容量存储区的日志记录方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的应用于小容量存储区的日志记录方法的步骤。
CN202011387798.1A 2020-12-02 2020-12-02 一种应用于小容量存储区的日志记录方法、装置及介质 Active CN112199053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011387798.1A CN112199053B (zh) 2020-12-02 2020-12-02 一种应用于小容量存储区的日志记录方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011387798.1A CN112199053B (zh) 2020-12-02 2020-12-02 一种应用于小容量存储区的日志记录方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112199053A CN112199053A (zh) 2021-01-08
CN112199053B true CN112199053B (zh) 2021-06-22

Family

ID=74033619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011387798.1A Active CN112199053B (zh) 2020-12-02 2020-12-02 一种应用于小容量存储区的日志记录方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112199053B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114442958B (zh) * 2022-01-28 2023-08-11 苏州浪潮智能科技有限公司 一种分布式存储系统的存储优化方法及装置
CN114821815B (zh) * 2022-06-27 2022-11-15 杭州觅睿科技股份有限公司 一种宠物在线交互系统运行方法、装置、设备及介质
CN116028508B (zh) * 2023-03-27 2023-07-21 青岛鼎信通讯股份有限公司 一种上报存储方法、装置、电能表设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342888A (zh) * 2016-12-02 2017-11-10 杭州迪普科技股份有限公司 日志报文的存储方法及装置
CN109542857A (zh) * 2018-11-26 2019-03-29 杭州迪普科技股份有限公司 审计日志存储方法、查询方法、装置及相关设备
CN109918341A (zh) * 2019-02-26 2019-06-21 厦门美图之家科技有限公司 日志处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342888A (zh) * 2016-12-02 2017-11-10 杭州迪普科技股份有限公司 日志报文的存储方法及装置
CN109542857A (zh) * 2018-11-26 2019-03-29 杭州迪普科技股份有限公司 审计日志存储方法、查询方法、装置及相关设备
CN109918341A (zh) * 2019-02-26 2019-06-21 厦门美图之家科技有限公司 日志处理方法及装置

Also Published As

Publication number Publication date
CN112199053A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112199053B (zh) 一种应用于小容量存储区的日志记录方法、装置及介质
US8793532B1 (en) Hard-disk drive work load profiling and capturing systems and methods
US7240178B2 (en) Non-volatile memory and non-volatile memory data rewriting method
US7725646B2 (en) Method of using a flash memory for a circular buffer
CN108777158B (zh) 测试固态硬盘Trim性能的方法、装置及计算机设备
CN109496292B (zh) 一种磁盘管理方法、磁盘管理装置及电子设备
CN115292266B (zh) 一种基于存储器的高可靠日志存储方法
CN102737205B (zh) 保护包括可编辑元数据的文件
CN112685227A (zh) 一种日志管理方法、装置、设备及计算机可读存储介质
CN114237984A (zh) 异常掉电下Trim数据的恢复方法、系统及固态硬盘
CN115576505A (zh) 一种数据存储方法、装置、设备及可读存储介质
CN115495025A (zh) 一种管理异常存储块的方法和装置
CN116719484A (zh) 一种磁盘阵列的写数据处理方法、装置、设备和介质
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
CN114328280A (zh) 一种基于Flash的日志存取方法、装置、存储介质及终端
CN115934999A (zh) 一种基于块文件的视频流数据存储方法、装置及介质
CN115904787A (zh) 一种丢盘原因确定方法、装置及介质
CN114756523A (zh) 一种分布式存储方法、装置以及介质
CN114995756A (zh) 一种虚拟磁盘空间回收方法、装置及介质
CN115328851A (zh) 一种数据保护方法、装置、设备及介质
CN114327292A (zh) 文件管理方法、系统、电子设备和存储介质
CN110543434B (zh) Nand快闪器件、存储表管理方法、设备和存储介质
CN112711380A (zh) 一种存储设备的日志管理方法、装置及相关组件
CN113009407B (zh) 双芯智能电表的电压事件记录方法、装置和双芯智能电表
CN115993938B (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