一种应用于小容量存储区的日志记录方法、装置及介质转让专利
申请号 : CN202011387798.1
文献号 : CN112199053B
文献日 : 2021-06-22
发明人 : 聂树华 , 金伟 , 应红力
申请人 : 杭州觅睿科技股份有限公司
摘要 :
权利要求 :
1.一种应用于小容量存储区的日志记录方法,其特征在于,包括:设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储;
其中,依据各所述事件生成的日志以固定大小存储,各所述日志的长度相同。
2.如权利要求1所述的应用于小容量存储区的日志记录方法,其特征在于,所述事件对应的日志还包括用于校验所述事件完整性的事件校验字节,所述事件校验字节依据所述运行参数和所述编码数据生成。
3.如权利要求2所述的应用于小容量存储区的日志记录方法,其特征在于,所述运行参数具体包括事件时间戳和事件参数。
4.如权利要求1所述的应用于小容量存储区的日志记录方法,其特征在于,所述依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储,具体包括:在存储区域中定位最后写入日志所在的位置;
将所述目标日志写入所述存储区域。
5.如权利要求4所述的应用于小容量存储区的日志记录方法,其特征在于,所述存储区域具体为多页,所述在存储区域中定位最后写入日志所在的位置具体包括:读取第一页最后一条日志存储位的数据;
判断所述最后一条日志存储位的数据是否被擦除;
若没有被擦除,则读取下一页最后一条日志存储位的数据,并返回所述判断所述最后一条日志存储位的数据是否被擦除的步骤;
若被擦除,则判断当前页是否是所述第一页;
若不是所述第一页,则确定当前页为所述最后写入日志所在页,并通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置;
若是所述第一页,则读取最后一页第一条日志存储位的数据;
判断所述最后一页第一条日志存储位的数据是否被擦除;
若是,则确定所述第一页为所述最后写入日志所在页,并返回所述通过二分法在所述最后写入日志所在页中定位所述最后写入日志所在的位置的步骤;
若否,则确定所述最后一页倒数第二条日志存储位为所述最后写入日志所在的位置。
6.如权利要求4所述的应用于小容量存储区的日志记录方法,其特征在于,所述存储区域具体为多页,所述将所述目标日志写入所述存储区域具体包括:判断所述最后写入日志所在的位置是否是当前页最后一条日志存储位;
若是,则在下一页第一条日志存储位写入所述目标日志;
若否,则判断所述最后写入日志所在的位置是否是当前页倒数第二条日志存储位;
若否,则在当前页所述最后写入日志所在的位置的下一条日志存储位写入所述目标日志;
若是,则对当前页的下一页做擦除操作后,在当前页最后一条日志存储位写入所述目标日志。
7.一种应用于小容量存储区的日志记录装置,其特征在于,包括:第一设置模块,用于设置各事件与用于表征各所述事件名称的各编码数据之间的第一对应关系;其中,各所述事件与各所述编码数据唯一对应;
第二设置模块,用于设置所述编码数据和各所述事件对应的运行参数与用于表征所述编码数据和所述运行参数的存储位置之间的第二对应关系;
存储模块,用于在目标事件发生的情况下,依据所述第一对应关系确定所述目标事件对应的目标编码数据,并依据所述第二对应关系将目标日志中的所述目标编码数据和目标运行参数存储;
其中,依据各所述事件生成的日志以固定大小存储,各所述日志的长度相同。
8.一种应用于小容量存储区的日志记录装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的应用于小容量存储区的日志记录方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的应用于小容量存储区的日志记录方法的步骤。
说明书 :
一种应用于小容量存储区的日志记录方法、装置及介质
技术领域
背景技术
终端设备发生异常情况时根据事件日志寻找具体问题和解决方法。
可能只有几十KB甚至更少,因此通常只能以文件的形式将特定的某几个事件写入到Flash
中。但是上述方式存在一些问题:一方面如果以文件的形式写入Flash,文件本身必然会占
用一部分运行内存以作为临时的文件操作空间,且事件本身记录的信息也很多,导致每个
事件占用空间较大,只能记录几种特定事件,无法长期保存大量的事件日志。另一方面,
Flash存储区通常有擦写次数限制,达到一定次数后,就不能再正确的存储数据,事件占用
空间大导致可存储的事件数量很少,必须对Flash存储区频繁擦写以更新日志,擦写次数过
多,就不能充分利用每个存储位的生命周期,影响Flash的使用寿命,进一步影响用户体验。
发明内容
储。
目标运行参数存储。
量存储区的日志记录方法的步骤。
和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志
中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系
存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本
身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对
应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区
域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存
储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域
频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
附图说明
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他
实施例,都属于本申请保护范围。
有操作系统)更加适用。此外,还可以应用于别的设备,本申请对此不作限定。
录,设置音量、读取电量等事件,报警日志可以具体分为电量不足或者移动检测触发等事
件。将各事件编码,然后在目标事件发生的情况下,将根据目标事件生成的目标日志存储起
来,存储在存储区域中的不是事件本身,而是与事件唯一对应的编码数据。
者是别的编码方式,本申请对此不作限定。
0x20002等。
~
参数,第4 5个字节用于存储事件名称对应的编码数据。需要说明的是,本申请对于第二对
~
应关系的具体设定方式不作限定,只要满足本申请相关功能即可。
存储区域中依次存储的是:0x10002、0x5FA0BEEEE、0x1E,则用户可以根据上述信息,解析出
日志完整的内容:用户X,在2020年11月3号10点22分,配置了音量大小为30。
和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志
中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系
存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本
身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对
应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区
域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存
储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域
频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
参数。
ID。事件校验字节根据事件时间戳、事件参数和编码数据生成,用于表征整个日志是不是完
全写入。具体生成方式可以是对前面字段做累加和计算,然后把累加后的数值写入到事件
校验字节,判断时,继续对前面字段做累加和计算,看是不是和之前存储的事件校验字节相
同,若无法匹配,则表明这条日志不是完全写入。在其它实施例中,还可以使用奇偶校验或
其它计算方法,本申请对此不作限定。
否完整记录,以此过滤写入过程中因掉电而没有完整写入的日志,提高了用户体验。
最后写入日志所在的位置具体包括:
表数据被擦除,为确保该方法正确使用,分配Flash日志存储区域需在使用前进行擦除操
作,以确保所有数据位全1或全0。
后一条日志存储位也没有记录日志,会出现最后一页和第一页的前后衔接因掉电等异常而
定位不出的情况,因此需要进一步判断当前页是否是第一页。
存储位写入新的日志。最后一页第一条日志存储位不是全1或全0,说明最后一页本身有日
志写入,就可以确定最后一页倒数第二条日志存储位为最后写入日志所在的位置。
储区域具体包括:
本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是
基于硬件的角度。
储。
和运行参数的存储地址之间的第二对应关系,然后在目标事件发生的情况下,将目标日志
中的目标运行参数和依据所述第一对应关系确定的目标编码数据依据所述第二对应关系
存储至存储区域。应用以上技术方案,事件不以文件的形式存储,省去了现有技术中文件本
身存在的运行内存,存储区域中只需要按照第二对应关系存储目标编码数据和目标事件对
应的目标运行参数,用户按照第二对应关系即可查找对应事件的运行参数,无需在存储区
域中存储整个目标事件的完整内容,减小了目标日志的占用空间,增加了存储区域中可存
储的日志数量,因此可以同时保存更多的事件日志,进而不需要因日志更新而对存储区域
频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程
逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处
理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing
Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在
一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU
用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI
(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算
操作。
个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,
其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的应用于
小容量存储区的日志记录方法的相关步骤。另外,存储器20所存储的资源还可以包括操作
系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包
括Windows、Unix、Linux等。
其唯一对应的编码数据,然后在目标事件发生的情况下,将依据该目标事件生成的包含有
其对应的目标编码数据的目标日志存储至存储区域。应用以上技术方案,存储区域中只需
要存储目标编码数据,无需存储整个事件的完整内容,也省去了现有技术中文件本身存在
的运行内存,减小了目标日志的占用空间,因此可以同时保存更多的事件日志,也不需要对
Flash存储区频繁擦写,能够充分利用每个存储位的生命周期,提高了用户体验。
骤。
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以
以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个
实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器
(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘
等各种可以存储程序代码的介质。
其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的
装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部
分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提
下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护
范围内。
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意
在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者
设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。