本发明涉及计算机,特别涉及一种嵌入式设备日志缓存方法、装置、设备和介质。
背景技术:
1、日志是系统或程序在运行过程中产生的运行记录日志,日志可以作为一种调试程序的依据。当一台嵌入式设备发生故障时可通过获取日志信息来追踪bug和定位bug。此外,日志一般需要能够保存到文件中,即存储在flash中,一是磁盘的存储空间一般要比内存大,二是以防设备关机或重启后日志丢失。但flash都有写的次数上限,常见的nandflash约有十万次的擦写寿命,当逼近擦写寿命时,会导致文件系统数据损坏,严重时会导致系统崩溃,系统运行不起来。此时不是升级下应用程序就能解决的,因为底层存储器件的寿命已到,必须要更换硬件才行。如果系统或程序每输出一次日志,就要写一次到文件,那么就会引起flash被频繁擦写的问题。
技术实现思路
1、本发明要解决的技术问题,在于提供一种嵌入式设备日志缓存方法、装置、设备和介质,为降低日志引起的flash频繁擦写的问题。
2、第一方面,本发明提供了一种嵌入式设备日志缓存方法,包括:
3、系统或程序每输出一次日志,则将该日志保存在缓存中,当缓存中的日志的总数据量达到指定大小时再一次性写入flash文件。
4、进一步的,本发明还包括:
5、当系统触发软重启时,先执行将缓存的日志写入flash文件再进行重启。
6、当用户执行日志打印或者日志上载时,先将在缓存中的日志一次性写入flash文件中,再进行日志打印或日志上载。
7、设置定时器的超时时间,根据所述超时时间周期性地将地将缓存中的日志写入flash文件中。
8、在系统掉电时,通过掉电保护处理函数将还在缓存中的日志一次性写入flash文件中。
9、第二方面,本发明提供了一种嵌入式设备日志缓存装置,用于执行如第一方面所述的方法。
10、第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
11、第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
12、本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明通过先将日志保存在缓存中,当缓存中的日志的总数据量达到指定大小时再一次性写入flash文件,大大减少了写入flash的频率,有效解决了flash频繁擦写的问题。另外,本发明还周期性将日志写到flash文件中,还在触发软重启时以及在系统掉电时,均先执行将缓存的日志写入flash文件中的操作,从而保证了缓存的日志不丢失。而且在用户执行日志打印或者日志上载时,先将在缓存中的日志一次性写到flash文件中,再进行日志打印或日志上载,保证得到最新的完整日志。
13、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
1.一种嵌入式设备日志缓存方法,其特征在于:包括:
2.根据权利要求1所述的一种嵌入式设备日志缓存方法,其特征在于:还包括:
3.根据权利要求1所述的一种嵌入式设备日志缓存方法,其特征在于:还包括:
4.根据权利要求1所述的一种嵌入式设备日志缓存方法,其特征在于:还包括:
5.根据权利要求1所述的一种嵌入式设备日志缓存方法,其特征在于:还包括:
6.一种嵌入式设备日志缓存装置,其特征在于:用于执行如权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5任一项所述的方法。