日志分析与管理方法、终端及计算机可读存储介质与流程

文档序号:33627337发布日期:2023-03-28 21:39阅读:21来源:国知局
日志分析与管理方法、终端及计算机可读存储介质与流程

1.本技术属于日志分析与管理领域,尤其涉及一种日志分析与管理方法、终端及计算机可读存储介质。


背景技术:

2.终端开发人员在开发应用程序时,常常会在一些重要的模块和方法打印日志,便于后期定位和分析解决问题。目前主要是通过日志工具来输出日志,但是开发人员在使用日志工具时,由于打印日志不规范、打印日志代码不正确、临时调试的日志未删除等原因,容易导致以下问题出现:1)间歇性在极短时间内输出大量重复的日志;2)长时间连续输出相同的日志,且间隔时间非常短。
3.上述问题的出现,会造成一些不良影响:
4.1)对于其他开发人员而言,由于某些模块大量输出日志,导致日志文件非常大,自己模块的少量日志夹杂在这些日志中,分析难度变大,有时候终端系统因为日志太多来不及输出,会丢弃部分日志,影响分析和定位问题;
5.2)对于终端系统而言,短时间内打印大量日志可能导致日志缓存溢出,系统日志进程卡死,无法再打印日志,这样系统出现问题后无法再获取到日志;
6.3)对于实际用户而言,若系统长时间频繁输入日志,会导致系统的文件读写资源一直被占用,降低系统性能,严重时会导致终端发热、系统卡死、黑屏,只能重启。


技术实现要素:

7.针对上述技术问题,本技术提供一种日志分析与管理方法、终端及计算机可读存储介质,能够有效避免日志影响系统性能,且提升了用户使用体验。
8.第一方面,本技术提供了一种日志分析与管理方法,包括以下步骤:
9.根据待输出日志确定目标日志;
10.根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策。
11.第二方面,本技术还提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述日志分析与管理方法的步骤。
12.第三方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述日志分析与管理方法的步骤。
13.本技术提供的日志分析与管理方法、终端及计算机可读存储介质,通过对日志输出过程进行监控和管理以有效改善日志输出,能够有效避免日志影响系统性能,且提升了用户使用体验。
附图说明
14.图1是本技术实施例提供的日志分析与管理方法的流程示意图;
15.图2是本技术实施例提供的日志分析与管理方法的具体流程示意图一;
16.图3是本技术实施例提供的日志分析与管理方法的具体流程示意图二;
17.图4是本技术实施例提供的日志分析与管理方法的具体流程示意图三;
18.图5是本技术实施例提供的终端的结构示意图。
具体实施方式
19.以下描述中,除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
20.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”、“一种”及“该”意在包括复数形式。
21.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
22.如在本说明书和所附权利要求书中所使用的那样,术语“如果”、“若”可依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0023]
以下结合说明书附图及具体实施例对本技术技术方案做进一步的详细阐述。
[0024]
图1是本技术实施例提供的日志分析与管理方法的流程示意图,该日志分析与管理方法方法可以由本技术实施例提供的一种日志分析与管理装置来执行,该日志分析与管理装置可以采用软件和/或硬件的方式来实现,该日志分析与管理装置具体可以是移动终端、固定终端、车载电子设备如车机等终端,如图1所示,本技术的日志分析与管理方法可以包括如下步骤:
[0025]
步骤s101:根据待输出日志确定目标日志;
[0026]
需要说明的是,所述目标日志可包括所述待输出日志,还可包括与所述待输出日志的内容相似度高的日志。可选地,所述根据待输出日志确定目标日志,包括:根据待输出日志信息,获取所述待输出日志对应的应用程序所输出的日志文件;获取所述日志文件所包括的各日志与所述待输出日志的内容相似度,并将所述待输出日志以及与所述待输出日志的内容相似度大于或等于预设相似度阈值的日志确定为目标日志。其中,所述待输出日志信息可包括待输出日志对应的进程信息、应用包名等信息,而所述应用包名用于标识日志对应的应用程序。进程,从狭义上讲是正在运行的程序的实例,而从广义上讲是具有一定独立功能的程序关于某个数据集合的一次运行活动,每个进程都有自己独立的进程号,进
程信息携带有运行应用程序的应用包名。这里,所述根据待输出日志信息,获取所述待输出日志对应的应用程序所输出的日志文件,可以为根据待输出日志的进程号进行查找,以获取所述待输出日志的进程号对应的应用包名,进而获取与所述应用包名对应的日志文件,即所述待输出日志对应的应用程序所输出的日志文件。在获得所述待输出日志对应的应用程序所输出的日志文件后,可计算所述日志文件所包括的各日志与所述待输出日志的内容相似度,进而判断所述内容相似度是否大于或等于预设相似度阈值。其中,所述相似度阈值可以根据实际情况需要进行设置,比如,所述相似度阈值可以设置为90%、95%等。此外,所述内容相似度可通过字符串比对的方法计算,而采用的计算方法包括但不限于:余弦相似度算法、矩阵相似度算法、字符串编辑距离算法等。如此,通过选取与待输出日志的内容相似的日志作为目标日志,以准确且全面地对日志进行管理,进一步改善了日志输出。
[0027]
步骤s102:根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策。
[0028]
可以理解地,所述目标日志的历史输出频率用于表征在获取待输出日志之前所述目标日志的输出情况,比如,输出是否频繁等。可选地,所述根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策之前,还包括:统计在预设历史时长内所述目标日志的输出次数;根据所述预设历史时长及所述输出次数,获取所述目标日志的历史输出频率。其中,所述历史时长可以根据实际情况需要进行设置,比如可以设置为当前时间之前1小时内、当前时间之前24小时内、当前时间之前72小时等。基于所述输出次数与所述预设历史时长的比值,可获得所述目标日志的历史输出频率,如每分钟或每秒输出日志数量等。如此,基于日志在历史时长内的输出次数,确定日志的历史输出频率,操作简便且准确度高。
[0029]
可选地,所述根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策,包括以下至少一种:
[0030]
若所述历史输出频率低于或等于预设频率,则允许所述待输出日志输出;
[0031]
若所述目标日志的历史输出频率高于预设频率,和/或所述目标日志被禁止输出的次数高于预设次数,则禁止所述待输出日志输出。
[0032]
可以理解地,若所述目标日志的历史输出频率低于或等于预设频率,说明之前对所述目标日志的输出较少,此时不需要对所述待输出日志的输出进行管控,即允许所述待输出日志输出。若所述目标日志的历史输出频率高于预设频率,说明之前对所述目标日志的输出较多,此时需要对所述待输出日志的输出进行管控,即禁止所述待输出日志输出。若所述目标日志被禁止输出的次数高于预设次数,说明之前已对日志输出进行管控,此时可继续禁止所述待输出日志输出。
[0033]
综上,上述实施例提供的日志分析与管理方法中,通过对日志输出过程进行监控和管理以有效改善日志输出,能够有效避免日志影响系统性能,且提升了用户使用体验。
[0034]
可选地,所述根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策之前,还包括:
[0035]
检测所述待输出日志的日志长度是否大于或等于预设长度阈值;
[0036]
确定所述待输出日志的日志长度大于或等于预设长度阈值时,执行根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策的步骤。
[0037]
其中,所述长度阈值可以根据实际情况需要进行设置,在此不作具体限定。可以理解地,在待输出日志的日志长度大于或等于预设长度阈值时,说明待输出日志的日志长度较长,相应的,输出类似日志可能需要占用较多的资源,从而会影响系统性能,而在待输出日志的日志长度小于预设长度阈值时,说明待输出日志的日志长度较短,相应的,输出类似日志可能不需要占用较多的资源,对系统性能影响较小。因此,在确定待输出日志的日志长度大于或等于预设长度阈值时,根据所述目标日志的历史输出频率以及被禁止输出的次数调整所述待输出日志的输出决策,能够进一步有效避免日志影响系统性能,且进一步提升了用户使用体验。
[0038]
可选地,所述禁止所述待输出日志输出之后,还包括以下步骤:将所述待输出日志记录至日志报告。如此,在禁止日志输出后,相应将日志记录至日志报告,以便后续对日志进行分析,提升了分析效率。
[0039]
可选地,本技术提供的日志分析与管理方法,还包括以下步骤:
[0040]
获取已输出日志的进程对应的应用包名;
[0041]
根据所述应用包名对所述已输出日志进行分类,以将应用包名相同的所述已输出日志划分至同一日志文件;
[0042]
统计生成的各所述日志文件的文件长度、日志输出平均间隔时间、日志内容相似度、日志打印频率,并生成相应的日志包分析报告。
[0043]
具体地,首先,对于储存在系统本地的由已输出日志组成的日志文件包,获取所述日志文件包内所有已输出日志的进程号;然后,根据各已输出日志的进程号,通过进程状态查看命令和/或活动管理器启动进程日志,以获取各已输出日志的进程对应的应用包名;接着,按照应用包名对各已输出日志进行分类,以将应用包名相同的所述已输出日志划分至同一日志文件,即每一应用对应一个单独的日志文件;最后,针对每个日志文件,统计各所述日志文件的文件长度、日志输出平均间隔时间、日志内容相似度、日志打印频率,并生成相应的日志包分析报告。需要说明的是,可只将日志打印频率大于预设频率的日志信息添加至日志包分析报告中。当然,也可针对每个日志文件,生成单个日志文件的分析报告。如此,根据日志输出情况生成相应的分析报告,从而以数据的形式呈现日志输出过程的实际情况,便于后续对日志进行分析以及时发现与改进日志输出过程存在的问题,进一步提升了分析效率。
[0044]
可选地,本技术提供的日志分析与管理方法,还包括以下步骤:
[0045]
获取日志输出进程的资源占有率;
[0046]
在资源占有率超过预设占有率阈值时,输出警告信息。
[0047]
其中,资源占有率包括cpu占有率、文件读写(io)占有率中的至少一项。针对cpu占有率、文件读写(io)占有率,可设置不同的占有率阈值。而警告信息的输出形式包括弹窗提醒、警告音提醒、预设灯光提醒中的至少一项。如此,在日志输出进程的资源占有率较高时,及时进行预警,以便及时控制日志输出进程负载高的情况,进一步提升了用户使用体验。
[0048]
基于前述实施例相同的发明构思,下面以所述日志分析与管理方法应用于车机,并通过具体场景和示例进行详细说明。
[0049]
场景一、间歇性在极短时间内输出大量(重复的)日志
[0050]
车机在日志输出时进行监控,当某个应用连续在极短时间内输出大量重复日志
时,会先有频率的降低此应用日志的输出。当日志输出降低次数也超过阈值后,会禁止此日志输出,同时记录到日志报告。
[0051]
基于前述场景,参阅图2,本技术实施例提供的日志分析与管理方法可以包括如下步骤:
[0052]
步骤s201:获取车载应用将要打印输出的日志信息;
[0053]
步骤s202:检测日志长度是否超过长度阈值,若是,则执行步骤s203,否则执行步骤s208;
[0054]
步骤s203:根据该日志对应的应用包名判断此日志之前输出频率是否大于频率阈值,若是,则执行步骤s204,否则执行步骤s208;
[0055]
步骤s204:判断丢弃次数是否达到次数阈值,若是,则执行步骤s205,否则执行步骤s207;
[0056]
步骤s205:设置禁止输出标识;
[0057]
步骤s206:生成日志异常报告;
[0058]
步骤s207:丢弃该日志;
[0059]
步骤s208:输出该日志。
[0060]
场景二、监控和管理长时间连续输出相同的日志
[0061]
车机在日志输出时进行监控,当某个应用长时间连续输出相同日志的频率超过阈值时,会逐步减少此日志输出。如果减少后频率依然超过阈值,则禁止此日志输出,同时记录到日志报告。
[0062]
基于前述场景,参阅图3,本技术实施例提供的日志分析与管理方法可以包括如下步骤:
[0063]
步骤s301:获取车载应用将要打印输出的日志信息;
[0064]
步骤s302:根据该日志对应的应用包名判断此日志之前是否输出过,若是,则执行步骤s303,否则执行步骤s308;
[0065]
步骤s303:判断日志输出频率是否大于频率阈值,若是,则执行步骤s304,否则执行步骤s308;
[0066]
步骤s304:判断丢弃次数是否达到次数阈值,若是,则执行步骤s305,否则执行步骤s307;
[0067]
步骤s305:设置禁止输出标识;
[0068]
步骤s306:生成日志异常报告;
[0069]
步骤s307:丢弃该日志;
[0070]
步骤s308:输出该日志。
[0071]
场景三、分析车载系统日志
[0072]
获取车载系统本地的日志文件包,对一段时间内的系统日志进行分析,根据应用包名来筛选日志,并计算出打印日志总量,日志相似度,打印频率较高的日志,日志输出平均间隔时间等,以供开发人员参考并逐项修改。
[0073]
基于前述场景,参阅图4,本技术实施例提供的日志分析与管理方法可以包括如下步骤:
[0074]
步骤s401:获取车载系统本地的日志文件包;
[0075]
步骤s402:获取日志文件的所有进程;
[0076]
步骤s403:通过进程号获取对应的应用包名;
[0077]
步骤s404:根据应用包名筛选日志,以使每个应用包对应一个日志文件;
[0078]
步骤s405:分析每个应用包的日志;
[0079]
步骤s406:生成每个应用包的日志分析结果;
[0080]
步骤s407:汇总生成日志包的分析结果。
[0081]
场景四、监控车载日志进程状态
[0082]
获取车载系统日志进程文件状态,当日志进程的cpu或者io占有率超过阈值时,弹出警告界面,告知开发和测试人员日志文件进程负载高。
[0083]
综上,本技术实施例提供的日志分析与管理方法,针对待输出日志能进行逐层把关,有效地避免了大量和/或重复日志连续输出的情况,可以改善车载系统日志输出,提升了技术人员分析问题效率,提高了车机性能,并提升了用户使用体验。
[0084]
基于前述实施例相同的发明构思,本发明实施例提供了一种终端,如图5所示,该终端包括:处理器310和存储有计算机程序的存储器311;其中,图5中示意的处理器310并非用于指代处理器310的个数为一个,而是仅用于指代处理器310相对其他器件的位置关系,在实际应用中,处理器310的个数可以为一个或多个;同样,图5中示意的存储器311也是同样的含义,即仅用于指代存储器311相对其他器件的位置关系,在实际应用中,存储器311的个数可以为一个或多个。在所述处理器310运行所述计算机程序时,实现应用于上述终端的所述日志分析与管理方法。
[0085]
该终端还可包括:至少一个网络接口312。该终端中的各个组件通过总线系统313耦合在一起。可理解,总线系统313用于实现这些组件之间的连接通信。总线系统313除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统313。
[0086]
其中,存储器311可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线
随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器311旨在包括但不限于这些和任意其它适合类型的存储器。
[0087]
本发明实施例中的存储器311用于存储各种类型的数据以支持该终端的操作。这些数据的示例包括:用于在该终端上操作的任何计算机程序,如操作系统和应用程序;联系人数据;电话簿数据;消息;图片;视频等。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。这里,实现本发明实施例方法的程序可以包含在应用程序中。
[0088]
基于前述实施例相同的发明构思,本实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,计算机存储介质可以是磁性随机存取存储器(fram,ferromagnetic random access memory)、只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。所述计算机存储介质中存储的计算机程序被处理器运行时,实现应用于上述终端的所述日志分析与管理方法。所述计算机程序被处理器执行时实现的具体步骤流程请参考图1所示实施例的描述,在此不再赘述。
[0089]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0090]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0091]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例方法及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0092]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1