日志获取方法及装置与流程

文档序号:17475388发布日期:2019-04-20 06:05阅读:149来源:国知局
日志获取方法及装置与流程

本申请涉及计算机领域,具体而言,涉及一种日志获取方法及装置。



背景技术:

目前电子设备的日志采集系统中,该日志采集系统采集电子设备各个功能模块的运行日志,并对日志信息进行分门别类的存储。进而方便后期对分析存储的日志信息。同时,目前的日志采集系统中,针对大量的日志,会做一些简单的过滤,过滤一些无关紧要的日志信息。由于日志存储会进行i/o操作,在日志量过大的情况下,会影响系统的负载和功耗等指标。



技术实现要素:

为了克服现有技术中的上述不足,本申请的目的在于提供一种日志获取方法,应用于电子设备,所述方法的步骤包括:

实时获取所述电子设备当前运行的多个状态值,所述状态值表示所述电子设备运行当前的运行状态;

获取所述电子设备运行时的日志信息,其中,所述日志信息根据重要程度预设有不同的日志等级;

根据所述多个状态值过滤掉相应日志等级的日志信息,并对滤后的日志信息进行存储。

可选地,所述根据所述多个状态值过滤掉相应等级的日志信息的步骤包括:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

统计所述超标状态值的数量获得超标总数;

将所述超标总数和预设的多个数量阈值进行比较确定目标数量阈值,根据所述目标数量阈值确定所述目标数量阈值对应的目标日志等级,其中,所述多个数量阈值对应不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述根据所述多个状态值过滤掉相应日志等级的日志信息的步骤还包括:

当所述数量超过预设警戒阈值时,停止获取日志文件。

可选地,所述状态值对应的状态根据状态紧急程度预设有不同的状态等级,所述根据所述多个状态值过滤掉相应等级的日志信息的步骤包括:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

根据所述超标状态值获取其中的最高状态等级,并确定所述最高状态等级对应的目标日志等级,其中,不同状态等级对应有不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述电子设备包括多个功能模块,所述日志信息还包括异常信息;所述方法还包括:

当所述多个功能模块中出现异常功能单元时,提高所述异常功能单元的日志信息的日志等级。

可选地,所述方法还包括:

发送控制信息通知所述异常功能单元,使得所述异常功能单元增加日志采集点和日志采集频率,其中,所述日志采集点表示日志的种类。

本申请的另一目的在于提供一种日志获取装置,应用于电子设备,所述日志获取装置包括状态获取模块、日志获取模块、过滤模块;

所述状态获取模块用于实时获取所述电子设备当前运行的多个状态值,所述状态值表示所述电子设备运行当前的运行状态;

所述日志获取模块用于获取所述电子设备运行时的日志信息,其中,所述日志信息根据重要程度预设有不同的日志等级;

所述过滤模块用于根据所述多个状态值过滤掉相应日志等级的日志信息,并对滤后的日志信息进行存储。

可选地,所述过滤模块通过以下方式对所述日志信息进行过滤:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

统计所述超标状态值的数量获得超标总数;

将所述超标总数和预设的多个数量阈值进行比较确定目标数量阈值,根据所述目标数量阈值确定所述目标数量阈值对应的目标日志等级,其中,所述多个数量阈值对应不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述过滤模块还通过以下方式对所述日志信息进行过滤:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

根据所述超标状态值获取其中的最高状态等级,并确定所述最高状态等级对应的目标日志等级,其中,不同状态等级对应有不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述电子设备包括多个功能模块,所述日志信息还包括异常信息,所述日志获取装置还包括等级调整模块;

所述等级调整模块用于当所述多个功能模块中出现异常功能单元时,提高所述异常功能单元的日志信息的日志等级。

相对于现有技术而言,本申请具有以下有益效果:

本申请提供的日志获取方法及装置,应用于电子设备,将电子设备产生的日志信息预设对应日志等级。通过获取该电子设备当前的多个状态值,根据电子设备当前的状态对设备产生的日志进行过滤。同时,针对电子设备中的多个功能模块,当出现异常功能单元时,发送控制信息通知该异常功能单元,使得该功能模块提高日志的采集频率的同时,增加日志的采集种类。本申提供的技术方案,降低了电子设备在资源紧张的情况下对设备资源消耗,同时,有针对性的提高对异常功能单元的日志采集量,便于更好地对异常功能单元异常信息进行分析。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的电子设备的硬件结构图;

图2为本申请实施例提供的日志获取方法的步骤流程图;

图3为本申请实施例提供的步骤s300的子步骤流程图;

图4为本申请实施例提供的日志采集装置的结构图。

图标:100-电子设备;130-处理器;110-日志获取装置;120-存储器;1101-状态获取模块;1102-日志获取模块;1103-过滤模块;1104-等级调整模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

请参照图1所示的电子设备100的硬件结构图。所述电子设备100包括日志获取装置110、存储器120和处理器130。

所述电子设备100可以是,但不限于,智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。

所述电子设备100的操作系统可以是,但不限于,安卓(android)系统、ios(iphoneoperatingsystem)系统、windowsphone系统、windows系统等。

所述存储器120和处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,所述存储器120可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。

所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

由于日志存储操作是一个i/o操作,需要不断的对磁盘或者flash等存储介质进行读写操作,对系统资源的开销比较大,尤其是对电量的消耗比较严重,为了在设备资源紧张的时候,减少日志存储操作对系统资源的占用,本实施例提供一种日志获取方法。

如图2所示的应用于图1所示电子设备100的日志获取方法的步骤流程图,以下将对所述方法包括各个步骤进行详细阐述。

步骤s100,实时获取所述电子设备100当前运行的多个状态值,所述状态值表示所述电子设备100运行当前的运行状态。

可选地,所述电子设备100实时监控并获取设备当前状态,其中,所述设备当前状态包括cpu使用率、磁盘使用率、内存使用率、网络资源使用率、电池电量或者设备温度。

步骤s200,获取所述电子设备100运行时的日志信息,其中,所述日志信息根据重要程度预设有不同的日志等级。

可选地,所述电子设备100包括多个功能单元。所述功能单元为运行在所述电子设备100上的各个软件,比如电脑上的单个程序、智能手机中的app或者操作系统内核。所述电子设备100还包括日志收集单元,所述日志收集单元用于通过进程间通信或者线程间通信的方式统一收集所述电子设备100上的各个功能单元产生的日志信息,其中,进程间通信方法包括消息队列或者共享内存等方式。

步骤s300,根据所述多个状态值过滤掉相应日志等级的日志信息,并对滤后的日志信息进行存储。

为了便于对设备中各个功能单元产生的日志信息进行管理,预先对不同的功能单元产生的日志预设不同的日志等级,其中,所述日志等级根据日志信息的重要程度进行划分。

本实施例提供的一种具体的实施方式中,所述电子设备100的各个状态值对应相应的阈值。请参考图3所示的步骤s300的子步骤流程图,以下将对所述步骤s300包括各个子步骤进行详细阐述。

步骤s3001,将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值。

步骤s3002,统计所述超标状态值的数量获得超标总数。

可选地,所述电子设备100将获取到的设备运行的状态值分别和该状态值对应的预设阈值进行比较,将超过对预设应阈值的状态值标记为超标状态值。然后,所述电子设备100统计所述超标状态值的数量获得超标总数。

步骤s3003,将所述超标总数和预设的多个数量阈值进行比较确定目标数量阈值,根据所述目标数量阈值确定所述目标数量阈值对应的目标日志等级,其中,所述多个数量阈值对应不同的日志等级。

可选地,所述电子设备100预设有多个数量阈值,不同的数量阈值对应不同的日志等级。所述电子设备100将所述超标总数和设预设的数量阈值进行比较,确定目标数量阈值,根据所述目标数量阈值确定目标日志等级。所述电子设备100根据所述目标日志等级过滤掉低于所述目标日志等级的日志信息。

可选地,所述电子设备100预设有超标状态值的数量对应的警戒阈值,当所述超标状态值的数量超过该警戒阈值时,停止获取日志文件,使得所述电子设备100进一步地减小对设备资源的消耗。

例如,在一种可能的示例中,所述电子设备100将功能单元的日志等级划分成1-6个等级;所述电子设备100的数量阈值为1-6;其中,数值越大,等级越高,所述数量阈值和所述日志等级一一对应。所述电子设备100获取cpu使用率、磁盘使用率、内存使用率、网络资源使用率、电池电量和设备温度的状态值。所述电子设备100分别将各个状态值和该装置值对应的阈值比较,结果发现,其中cpu使用率、磁盘使用率和内存使用率超过其对应的阀值,将其标记为超标状态值。所述电子设备100统计超标状态值的数量为3,进而确定目标日志级为3。所述电子设备100根据所述目标日志等级,过滤掉日志等级为1和2的日志信息,并将过滤后的日志信息进行分门别类的存储。

在本实施例提供的另一种具体的实施方式中,所述电子设备100的状态值对应的状态根据状态紧急程度预设有不同的状态等级。所述电子设备100将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值。所述电子设备100根据所述超标状态值获取其中最高等级的状态值,并将确定最高等级的状态值对应的目标日志等级,其中,不同状态等级对应不同的日志等级。所述电子设备100根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息,并将过滤后的日志信息进行分门别类的存储。

例如,在一种可能的示例中,所述电子设备100将功能单元的日志等级划分成1-6个等级。所述电子设备100的状态包括cpu使用率、磁盘使用率、内存使用率、网络资源使用率、电池电量和设备温度状态值。所述电子设备100的状态值对应状态根据状态紧急程度划分为1-6个等级,其中,等级的数值越大,等级就越高。所述cpu使用率、磁盘使用率、内存使用率、网络资源使用率、设备温度和电池电量分别对应等级1-6。所述电子设备100获取设备当前运行状态的状态值,将所述状态值与该状态值对应的预设阈值比较。发现其中磁盘使用率、内存使用率和电池电量大于其对应的预设阈值。又因为电池电量的状态等级最高,根据电池电量的状态等级确定目标日志等级为6。所述电子设备100根据所述目标日志等级过滤掉日志等级低于6的日志信息。

所述日志信息中还包括异常日志信息,当所述电子设备100在获取到的日志信息中发现异常日志信息,表明所述异常日志信息对应的功能单元需要进行重点监控。

可选地,当所述多个功能单元中出现异常功能单元时,提高所述异常功能单元的日志信息的日志等级。同时,为了获取更多所述异常功能单元的日志信息,便于日后技术人员分析现异常情况的原因。所述电子设备100发送控制信息,通知所述异常功能单元,使得所述异常功能单元增加日志采集点和日志采集频率,其中,所述日志采集点表示日志的种类。

在本实施例提供的一种具体的实施方式中,所述电子设备100通过修改配置文件的方法通知异常功能单元。所述电子设备100一旦获取到异常日志信息,修改所述异常日志信息对应的配置文件,使得所述异常功能单元增加日志采集点和采集频率。所述异常功能单元检测到配置文件被修改,然后读取配置文件中的配置信息。所述异常功能单元根据修改后的配置信息,开启更多是日志信息,同时增加日志采集频率。

本实施例还提供一种日志采集装置,如图4所示的日志采集装置的结构图,所述日志获取装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述日志获取装置110所包括的软件功能模块及计算机程序等。所述日志获取装置110包括状态获取模块1101、日志获取模块1102、过滤模块1103。

所述状态获取模块1101用于实时获取所述电子设备100当前运行的多个状态值,所述状态值表示所述电子设备100运行当前的运行状态。

在本实施例中,所述状态获取模块1101用于执行图2中的步骤s100,关于所述状态获取模块1101的详细描述可以参考步骤s300的详细描述。

所述日志获取模块1102用于获取所述电子设备100运行时的日志信息,其中,所述日志信息根据重要程度预设有不同的日志等级。

在本实施例中,所述日志获取模块1102用于执行图2中的步骤s200,关于所述日志获取模块1102的详细描述可以参考步骤s200的详细描述。

所述过滤模块1103用于根据所述多个状态值过滤掉相应日志等级的日志信息,并对滤后的日志信息进行存储。

在本实施例中,所述过滤模块1103用于执行图2中的步骤s300,关于所述过滤模块1103的详细描述可以参考步骤s300的详细描述。

可选地,所述过滤模块1103通过以下方式对所述日志信息进行过滤:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

统计所述超标状态值的数量获得超标总数;

将所述超标总数和预设的多个数量阈值进行比较确定目标数量阈值,根据所述目标数量阈值确定所述目标数量阈值对应的目标日志等级,其中,所述多个数量阈值对应不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述过滤模块1103还通过以下方式对所述日志信息进行过滤:

将各个状态值和该状态值对应的预设阈值做比较,将超过所述对应预设阈值的状态值标记为超标状态值;

根据所述超标状态值获取其中的最高状态等级,并确定所述最高状态等级对应的目标日志等级,其中,不同状态等级对应有不同的日志等级;

根据所述目标日志等级,过滤掉低于所述目标日志等级的日志信息。

可选地,所述电子设备100包括多个功能单元,所述日志信息还包括异常信息,所述日志获取装置110还包括等级调整模块1104;

所述等级调整模块1104用于当所述多个功能单元中出现异常功能单元时,提高所述异常功能单元的日志信息的日志等级。

本申请提供的日志获取方法及装置,应用于电子设备100,将电子设备100产生的日志信息预设对应日志等级。通过获取该电子设备100当前的多个状态值,根据电子设备100当前的状态对设备产生的日志进行过滤。同时,针对电子设备100中的多个功能模块,当出现异常功能单元时,发送控制信息通知该异常功能单元,使得该功能模块提高日志的采集频率的同时,增加日志的采集种类。本申提供的技术方案,降低了电子设备100在资源紧张的情况下对设备资源消耗,同时,有针对性的提高对异常功能单元的日志采集量,便于更好地对异常功能单元的异常信息进行分析。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1