一种基于文件系统的日志存储方法技术方案

技术编号:8466430 阅读:266 留言:0更新日期:2013-03-23 18:33
本发明专利技术公开了一种基于文件系统的日志存储方法,该方法设置日志文件,将需要存储的日志以日志记录的形式写入至日志文件中,利用文件系统管理日志文件和存储设备,并将日志文件中的日志存储到存储设备中。本发明专利技术通过设置日志文件、将日志以日志记录的形式存储到日志文件中,并借助于文件系统对日志文件进行存储管理,降低了日志管理复杂度,提高了日志的存储速度。

【技术实现步骤摘要】

本专利技术涉及数据处理技术,具体地说,是涉及日志存储方法,更具体地说,是涉及。
技术介绍
日志可以记录操作发生的具体时间和相关的信息,以机顶盒为例,可以记录开机的全过程、用户的换台、按键、信号检测、搜台、设置、进入/退出某功能页面等操作。通过日志,可以为系统死机或者崩溃现场保留最后的有效记录,便于开发人员或者维护人员根据相关信息及时快速地分析、定位死机或崩溃的位置和原因,从而大大缩减开发和维护的时间,节省人力资源成本。现有机顶盒、手机等嵌入式设备中为了存储日志,通常采用Flash方式,该方式需要对硬件Flash进行操作来实现。由于Flash以块或扇区为操作单元,各块或扇区如果要写入数据,首先需要擦除,而擦除的最小单位必须是块或扇区;而且,在块或扇区中存储时, 可能会出现跨块或扇区存储的情况,因此,直接操作Flash写入日志过程复杂,写入速度较慢,使用不方便。
技术实现思路
本专利技术的目的在于提供,通过设置日志文件、 将日志以日志记录的形式存储到日志文件中,并借助于文件系统对日志文件进行存储管理,降低了日志管理复杂度,提高了日志的存储速度。为实现上述专利技术目的,本专利技术采用下述技术方案予以实现,其特征在于,设置日志文件,将需要存储的日志以日志记录的形式写入至日志文件中,利用文件系统管理日志文件和存储设备,并将日志文件中的日志存储到存储设备中。如上所述的方法,为便于日志的使用,所述日志记录包括记录时间字段、记录内容字段和记录结束标志字段。优选的,所述记录结束标志为回车字符。如上所述的方法,为避免丢失日志,在所述日志文件中新写入的日志记录大于设定数量时,控制所述文件系统将日志文件中的日志记录写入到所述存储设备中。如上所述的方法,可以采用下述方法将当前日志记录写入至所述日志文件中 计算当前日志记录的长度;判断日志文件剩余空间能否存放当前日志记录;在剩余空间能存放当前日志记录时,将当前日志记录根据写指针位置写入至剩余空间;否则,将写指针移动到最早写入的日志记录的首地址,将当前日志记录从该首地址开始写入。如上所述的方法,为提高日志存储的安全性,在将当前日志记录写入到所述日志文件中之后,将写指针保存到独立于日志文件的索引文件中;在下次写入日志记录时,从索引文件中读取与指针。如上所述的方法,为便于调整日志记录的写入速度、防止因大量无效或重复记录的写入而占用日志文件存储空间及降低Flash读写速度,在写入当前日志记录之前,首先判断日志记录的写入频率是否大于设定的采样频率;若写入频率大于采样频率,则判断当前日志记录是否需要丢弃,若丢弃,放弃当前日志记录的写入,否则,将当前日志记录写入至所述日志文件。如上所述的方法,日志记录可根据随机数来选择性丢弃、以保证尽可能多地保存有用记录,具体来说,可以采用下述方法判断当前日志记录是否需要丢弃在设定的随机数取值范围内获取随机数,根据随机数与随机数取值范围及所述设定的采样频率的大小关系判断与随机数相对应的当前日志记录是否需要丢弃。优选的,在当前日志记录相对应的随机数不小于所述随机数取值范围与所述设定的采样频率之差时,判定当前日志记录需要丢弃。如上所述的方法,为提高处理速度,在所述日志记录的写入频率大于所述设定的采样频率时,首先设置溢出标志,然后再判断当前日志记录是否需要丢弃。与现有技术相比,本专利技术的优点和积极效果是通过设置日志文件、将日志以日志记录的形式存储到日志文件中,并借助于文件系统对日志文件进行存储管理,降低了日志管理复杂度,提高了日志的存储速度。结合附图阅读本专利技术的具体实施方式后,本专利技术的其他特点和优点将变得更加清λ·Μ/E. ο附图说明图1本专利技术基于文件系统的日志存储方法一个实施例的流程图;图2本专利技术基于文件系统的日志存储方法另一个实施例的流程图;图3是图2实施例中调整日志记录写入频率的一个具体流程图。具体实施方式下面结合附图和具体实施方式对本专利技术的技术方案作进一步详细的说明。首先,简要说明本专利技术的技术思路现有机顶盒、手机等嵌入式设备一般都采用 Linux操作系统,具有虚拟文件系统VFS,支持文件操作,并能够利用VFS对物理存储设备进行统一分配和管理。基于此,本专利技术提出了设置日志文件、将日志以日志记录的形式写入至日志文件中的日志存储方法。对于日志文件,就可以利用文件系统进行管理,并通过文件系统将日志存储到Flash等存储设备上。如此一来,开发人员只需要指定日志文件、将设备软件运行过程中产生的日志写入到日志文件中,在使用日志时,也仅需要从日志文件中读取即可,无需关心如何从存储设备上如何读和写,这些工作全部通过文件系统来实现,从而能够降低日志管理复杂度,减少软件开发人员的工作量,从软件开发角度来看,有利于提高日志存储速度,降低软件开发成本。请参考图1,该图1示出了本专利技术基于文件系统的日志存储方法一个实施例的流程图,该实施例以采用Linux系统的机顶盒存储日志为例,机顶盒操作系统支持文件系统,且根据系统运行性能和Flash存储设备的大小预先设置了一个存储日志的日志文件。如图I所示,该实施例存储日志的过程如下步骤101:流程开始。步骤102 :计算当前日志记录的长度。在该实施例中,日志将以记录的形式存储到日志文件中。在以记录形式存储时,日志记录包括有依次排列的记录时间字段、记录内容字段和记录结束标志字段。其中,记录时间字段用来标识日志发生的时间。利用该时间字段,一方面便于获知日志何时发生,有利于对日志内容进行时间定位;另一方面,便于判断不同日志发生的先后顺序,以识别日志写入到文件中的顺序。记录内容字段为日志的具体内容,一般以字符串的形式显示日志内容。记录结束标志字段用来标志一条记录的结束,优选为回车字符字段。通过设置记录结束标志, 可以直接区分出一条完整的日志记录,不仅便于日志的写入,且在日志导出后,无需做额外的记录与记录之间的区分既可以保证有关人员正确进行的日志浏览。对于包括有上述多个字段的当前日志记录来说,其长度是所有字段的长度总和。在写入日志之前,首先计算当前日志记录的长度,也即记录中所有字段所占的总字节数。步骤103 :判断日志文件的剩余空间是否还足够用来存放当前日志记录。若是,执行步骤106 ;否则,执行步骤104。可采用下述方法判断剩余空间是否足够当前写指针的位置加上要写入的当前日志记录的长度是否大于日志文件的结束地址。若大于,说明剩余空间不足以存储当前日志记录;否则,判定剩余空间足够。步骤104 :在日志文件的剩余空间不足时,将写指针移动到最早写入的日志记录的首地址。由产品文件管理系统性能及存储设备容量等因素所限,分配来存储日志的文件大小是有限的,为保证在有限存储空间的文件中尽可能写入有用日志,如果存储空间不足,则将当前日志记录覆盖最早写入的记录。具体来说,是将写指针移动到最早写入的日志记录的首地址。而且,可以根据日志记录中的记录时间字段中的时间来判断哪条记录时最早写入的记录。步骤105 :将当前日志记录从该首地址开始写入。然后,转至步骤107。步骤106 :在日志文件的剩余空间足够时,根据写指针将当前日志记录写入至剩余空间。然后,执行步骤107。步骤107 :利用文件系统将日志存储到存储设备中。该步骤是文件系统自动处理的过程,无需用户参与。步骤108 :流程结束。在本文档来自技高网...

【技术保护点】
一种基于文件系统的日志存储方法,其特征在于,设置日志文件,将需要存储的日志以日志记录的形式写入至日志文件中,利用文件系统管理日志文件和存储设备,并将日志文件中的日志存储到存储设备中。

【技术特征摘要】

【专利技术属性】
技术研发人员:张淑岩
申请(专利权)人:青岛海信宽带多媒体技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1