掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及日志处理技术领域,尤其涉及一种日志系统。

背景技术

日志(Log)是指系统所制定的某些操作和其操作结果按时间有序的集合。在系统处于运行状态时,会产生相应的日志文件,用于记录系统在不同时刻所执行的操作以及操作结果等信息。

在Linux嵌入式终端设备中,如果需要对日志系统进行管理,需要多个不同组件之间的相互配合。然而,多个不同组件之间相互独立,难以有效地对整个日志系统的所有组件进行有效的管理。

发明内容

本发明解决的技术问题是无法对日志系统的进行有效地管理。

为解决上述技术问题,本发明提供一种日志系统,包括:日志控制模块、日志服务模块以及日志存储管理模块,其中:所述日志控制模块,响应于外部输入的操作指令,生成相应的控制命令并输出;以及,接收所述日志服务模块返回的运行结果;所述日志服务模块,响应于所述控制命令,执行所述控制命令指示的控制操作,并获取所述控制操作对应的所述运行结果;所述日志存储管理模块,适于对终端设备运行过程中产生的日志数据进行采集,形成日志文件。

可选的,所述日志控制模块,还适于在确定所述控制命令为合法指令后,将所述控制命令输出至所述日志服务模块。

可选的,所述日志控制控制模块,还适于在确定所述控制命令为非法指令后,输出所述控制命令为非法指令的原因。

可选的,所述日志服务模块,适于识别终端设备的当前工作模式,从配置文件中获取与所述当前工作模式对应的目标运行参数,基于所述目标运行参数对所述日志系统的运行状态进行调整。

可选的,所述日志服务模块,还适于确定所述当前工作模式下日志文件的存储位置,并触发所述日志存储管理模块。

可选的,所述日志服务模块,适于基于终端设备的当前运行状态以及所述日志系统的当前运行状态,对所述日志系统的当前运行状态进行调整。

可选的,所述日志服务模块,还适于基于配置文件中的日志文件管理参数,对日志文件进行相应的管理操作。

可选的,所述日志服务模块,适于从日志文件管理参数中,获取对所述日志文件进行管理操作的触发条件,以及对所述日志文件进行管理的操作类型;检测到满足所述触发条件,对所述日志文件执行与所述操作类型对应的管理操作。

可选的,所述对所述日志文件进行管理的操作类型包括如下任一种:转存所述日志文件、压缩所述日志文件、删除所述日志文件、远程发送所述日志文件。

可选的,所述日志服务模块,还适于接收对配置文件进行修改的控制命令,对所述配置文件进行修改,并在完成对所述配置文件的修改后返回所述运行结果。

可选的,所述日志存储管理模块,适于采集不同输入源输出的日志数据,对所述不同输入源的日志数据进行缓存排序,并对所述不同输入源的日志数据进行过滤与分拣,输出不同输入源对应的日志文件。

与现有技术相比,本发明的技术方案具有以下有益效果:

通过日志控制模块接收外部输入的操作指令,生成相应的控制命令并输出至日志服务模块;日志服务模块接收到控制命令,对执行对应的控制操作以得到相应的运行结果,并将运行结果输出至日志控制模块;通过日志存储管理模块存储终端设备运行过程中产生的日志数据。采用上述技术方案,可以通过日志控制模块输入操作指令,经由日志服务模块对日志存储管理模块进行控制,从而能够有效地实现对日志系统进行管理。

附图说明

图1是本发明实施例中的一种日志系统的架构图。

具体实施方式

现有技术中,日志系统可以包括多个不同组件,但是,多个不同组件之间相互独立,难以有效地对整个日志系统进行有效的管理。

在本发明实施例中,通过日志控制模块输入操作指令,经由日志服务模块对日志存储管理模块进行控制,从而能够有效地实现对日志系统进行管理。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

本发明实施例提供了一种日志系统,参照图1,给出了日志系统的架构图。日志系统可以运行在终端设备中。

在本发明实施例中,日志系统可以包括日志控制模块11、日志服务模块12以及日志存储管理模块13。

在具体实施中,日志系统可以以应用软件(APP)的形式安装并运行在终端设备中;或者,日志系统也可以以小程序的形式运行在终端设备中;或者,日志系统也可以以插件等形式运行在终端设备中。

在具体实施中,日志控制模块11可以收集外部输入的操作指令,生成相应的控制命令,并将控制命令输出至日志服务模块12。

在一些实施例中,日志控制模块11可以是开机自启动的。也就是说,当终端设备开启时,日志控制模块11可以相应启动。在另一些实施例中,日志控制模块11并不是开机自启动,当存在需求时,或者被用户触发时,日志控制模块11被启动。

在具体实施中,用户可以通过日志控制模块11与日志系统进行交互。人机交互接口可以为用户界面(User Interface,UI)的形式,或者为命令窗口的形式。人机交互接口也可以为控制台(console)的形式。

在一些实施例中,日志控制模块11为用户界面(User Interface,UI)的形式。在UI的图形界面中,可以显示有日志系统的配置文件14,配置文件14可以包括日志系统的运行参数。日志系统的运行参数可以表征日志系统当前的运行状态。用户可以在UI的图形界面上获知日志系统当前的运行参数,还可以在UI的图形界面上获知日志系统当前的运行状态。

在具体实施中,用户可以在终端设备的人机交互界面(如触摸屏幕)点击日志控制模块11的UI图标,以触发日志控制模块11。当检测到触发日志控制模块11启动后,日志控制模块11可以查询配置文件14,获取日志系统的运行参数。日志控制模块11进行UI的图形界面的初始化,并在图形界面中显示日志系统的基本运行参数。日志控制模块11还可以初始化操作界面,用户可以图形界面的操作界面中输入操作指令。

在一些实施例中,用户输入的操作指令可以是对存储的日志文件15进行管理,例如对存储的日志文件15进行移动、压缩、删除等操作。用户输入的操作指令也可以是对日志文件15对应的配置文件14进行调整。

在本发明实施例中,配置文件14可以是预先生成的,且能够掉电保存,其包括日志系统的运行参数。当日志系统运行时,日志系统的运行状态取决于配置文件14中的运行参数。由此,对配置文件14中的配置参数进行更新,即可对日志系统的运行状态进行更新。

在本发明实施例中,日志服务模块12可以接收日志控制模块11输出的控制命令,执行与控制命令对应的操作,得到控制命令对应的运行结果。控制命令可以是对日志存储管理模块13进行控制的命令,或者是对日志文件15进行控制的命令。若控制命令对日志存储管理模块13进行控制,则日志服务模块12可以执行上述控制命令,并将控制命令对应的运行结果反馈至日志控制模块11。日志控制模块11接收到运行结果,还可以将运行结果显示。

在具体实施中,日志控制模块11在将操作指令转换成控制命令后,还可以判断控制命令是否为合法指令。

具体地,日志控制模块11可以对照预设的命令表,来确定控制命令是否为合法命令。若控制命令隶属于预设的命令表中,则可以确定该控制命令为合法命令;反之,若控制命令不属于预设的命令表,则确定该控制命令为非法命令。

在一些实施例中,预设的命令表可以存储在终端设备中,由日志控制模块11调取。

若日志控制模块11确定控制命令为合法命令,则日志控制模块11可以将控制命令发送给日志服务模块12,由日志服务模块12执行控制命令,实现控制命令对应的功能。

在具体实施中,若控制命令为模式识别命令,或者控制命令所要实现的功能为模式识别,则日志服务模块12可以识别终端设备的当前工作模式。

具体地,日志服务模块12可以基于终端设备的当前工作模式,从配置文件14中获取当前工作模式对应的目标运行参数,并依据目标运行参数对日志系统的运行状态进行调整。

在一些实施例中,终端设备的当前工作模式可以包括开机模式、休眠模式、工作模式等。在配置文件14中,不同的工作模式对应的运行参数可以不同。配置文件14可以是终端设备的用户或者厂商预先配置的。配置文件14可以能够被终端设备的用户所修改,也就是说,终端设备的用户可以对配置文件14进行调整。

在具体实施中,若控制命令为模式识别命令,在日志服务模块12在获取到终端设备的当前工作模式之后,还可以确定日志文件15的存储位置。在确定了日志文件15的存储位置之后,还可以触发日志存储管理模块13,以对日志文件15的存储进行管理。

具体地,日志服务模块12在获取到终端设备的当前工作模式之后,可以进一步判断终端设备是否连接有外部存储设备。若终端设备连接有外部存储设备,则可以将日志文件15存储至外部存储设备;若终端设备未连接有外部存储设备,则可以将日志文件15存储在终端设备的内部存储设备。

在另一些实施例中,日志文件15的存储位置可以预先关联于终端设备的当前工作模式。终端设备的当前工作模式可以包括开机模式、休眠模式、工作模式等。终端设备的当前工作模式不同,日志文件15的存储位置可以相同也可以不同。

例如,预先设定终端设备的当前工作模式为开机模式和休眠模式时,日志文件15存储在内部存储设备中;终端设备的当前工作模式为工作模式,日志文件15存储在外部存储设备中。日志服务模块12检测到终端设备的当前工作模式为工作模式,则确定将日志文件15存储在终端设备的内部存储设备中。

在本发明实施例中,终端设备可以根据当前运行状态以及日志系统的当前运行状态,对日志系统当前的运行参数进行调整,进而对日志系统当前的运行状态进行调整。

在具体实施中,当终端设备检测到运行内存剩余空间小于预设的剩余空间阈值时,可以适当减少当前运行的日志缓存队列。当终端设备检测到运行内存剩余空间大于上述的剩余空间阈值时,可以保持当前运行的日志缓存队列的个数不变。

当终端设备检测到输入输出(IO)资源利用率较高时,可以适当提高日志文件15的过滤门槛,以降低日志文件15的数据量;反之,则可以保持日志文件15的过滤门槛不变。

当终端设备检测到之前一段时间内发生过队列满进而丢弃了日志事件(日志文件15可以包括多个日志事件),则可以增加当前运行的日志缓存队列。当终端设备检测到日志文件15的存储队列占用较多的存储空间,则也可以增加当前运行的日志缓存队列。

在实际应用中,对于嵌入式终端设备,其对应的存储空间可能较小。终端设备在长时间的运行过程中,会产生大量的日志文件15,占用大量的存储空间,导致终端设备的运行异常。

在本发明实施例中,可以在配置文件14中,配置参数可以包括日志文件管理参数。通过日志文件管理参数,可以实现对日志文件15进行相应的管理操作。

在具体实施中,通过日志文件管理参数,可以实现如下任一种或多种功能:转存日志文件、压缩日志文件、删除日志文件、远程发送日志文件、日志文件的大小配置等。

具体地,用户可以通过日志控制模块11,输入对日志文件15进行管理的日志文件管理指令。日志控制模块11接收到日志文件管理指令,将其转换为日志文件15管理命令,对日志文件15进行相应的控制。

例如,用户通过日志控制模块11,输入的日志文件管理指令为:压缩日志文件。日志服务模块12接收到该日志文件管理指令,对当前存储的日志文件15进行压缩处理。

在实际应用中,终端设备中所包含的日志文件15的个数可以为多个。在对日志文件15进行管理时,可以仅对其中的部分日志文件15进行管理。

针对上述场景,在具体实施中,可以在用户输入的日志文件管理指令中,携带有需要进行管理的日志文件15的标识信息。日志服务模块12接收到日志管理指令,对相应的日志文件15进行管理。

例如,用户通过日志控制模块11,输入的日志文件管理指令为:删除日志文件15,日志文件15的标识信息为A。日志服务模块12接收到日志文件管理指令,删除标识信息为A的日志文件15。

在一些实施例中,日志服务模块12也可以定时地对日志文件15进行管理。具体地,可以在配置文件14中预先配置日志文件管理参数,日志文件管理参数可以包括对日志文件15进行管理的定时周期、对日志文件15进行管理的具体方式(包括转存日志文件、压缩日志文件、删除日志文件、远程发送日志文件等)。

例如,配置文件14中,预先配置定时周期为1小时,对日志文件15进行管理的具体方式为转存日志文件。日志服务模块12读取配置文件14,确定以1小时为周期,定时对日志文件15进行转存。

在另一些实施例中,在配置文件14中,日志文件管理参数可以包括对日志文件15进行管理的触发条件,以及对日志文件15进行管理的操作类型(包括转存日志文件、压缩日志文件、删除日志文件、远程发送日志文件等)。当满足对日志文件15进行管理的条件时,对日志文件15执行相应的处理。

例如,对日志文件15进行管理的触发条件为:终端设备的内部存储器中,当前存储的日志文件15的数据量达到预设阈值。当日志服务模块12检测到满足上述触发条件时,对内部存储器中当前存储的日志文件15进行压缩处理。

在本发明实施例中,用户也可以通过日志控制模块11输入操作指令,以对配置文件14进行修改。

在具体实施中,日志控制模块11对应的图形界面中,可以显示有配置文件14对应的一系列运行参数(包括上述的日志文件管理参数等)。用户可以在日志控制模块11对应的图形界面中,对配置参数进行更新。日志控制模块11生成的操作指令即为对配置文件14进行更新的指令。日志服务模块12基于接收到的操作指令,识别出该操作指令指示对配置文件14进行更新,进而对配置文件14中相应的配置参数进行更新。

在完成对配置参数的更新之后,日志服务模块12还可以判断是否需要重启日志系统。若确定需要重启日志系统,则重启日志存储管理模块13,并在完成重启后返回运行结果(该运行结果即指示完成配置参数的修改)至日志控制模块11。若确定不需要重启日志系统,则可以直接返回运行结果至日志控制模块11。

在本发明实施例中,用户可以通过日志控制模块11输入操作指令,对已生成的日志文件15进行控制。

在本发明实施例中,日志存储管理模块13可以完成日志文件15的采集和输出,并设置有缓存队列,以平衡输入和输出速率。

在具体实施中,日志文件15可以由多个日志源生成,不同的日志源可以生成不同的日志文件。

具体地,日志文件15可以包括AP侧产生的日志文件以及CP侧产生的日志文件。CP侧与AP侧之间存在通信通道,CP侧产生的日志文件可以通过通信通道传输至AP侧,再由AP侧将该日志文件发送至日志存储管理模块13。

本领域技术人员能够理解,上述的日志控制模块、日志服务模块可以通过软件的形式实现,或者通过硬件的方式实现,或者通过软硬件结合的方式实现。上述的日志存储管理模块可以包括用于存储日志数据的存储空间,可以通过软硬件结合的方式实现。

综上可见,通过日志控制模块接收外部输入的操作指令,生成相应的控制命令并输出至日志服务模块;日志服务模块接收到控制命令,对执行对应的控制操作以得到相应的运行结果,并将运行结果输出至日志控制模块;通过日志存储管理模块存储终端设备运行过程中产生的日志数据。采用上述技术方案,可以通过日志控制模块输入操作指令,经由日志服务模块对日志存储管理模块进行控制,从而能够有效地实现对日志系统进行管理。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

技术分类

06120116501218