一种日志文件的处理方法及相关设备与流程

文档序号:13094711阅读:258来源:国知局
一种日志文件的处理方法及相关设备与流程

本发明涉及终端技术领域,尤其涉及一种日志文件的处理方法及相关设备。



背景技术:

随着互联网的快速发展和人们生活水平的不断提高,越来越多的电子产品应用在人们日常生活中,特别是手机。为满足人们日益增长的物质需求,研发人员同时也研发了各种各样的应用程序,以丰富人们的应用和娱乐。

在实践中发现,很多用户使用手机的时长较长、使用频率较高,手机在运行过程中会产生大量的日志文件。目前,还未出现有如何整理日志文件,获取相关有效数据以帮助寻找应用程序的共同缺陷的方案。



技术实现要素:

本发明实施例提供一种日志文件的处理方法,可根据统计的bug分类的bug数量寻找到共同存在的bug缺陷,以更快捷地查找并解决共同存在的bug信息。

第一方面,本发明实施例提供了一种日志文件的处理方法,该方法包括:

获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件;

从所述a个样本日志文件中提取出c个漏洞bug信息;

将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值;

将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

在一些可能的实施例中,所述从所述a个样本日志文件中提取出c个漏洞bug信息,包括:将所述a个样本日志文件中每个样本日志文件中的冗余信息进行删除,得到c个bug信息;其中,所述冗余信息为除所述bug信息之外的信息。

在一些可能的实施例中,所述冗余信息包括以下中的任一项或多项:时间信息、线程信息、类目信息、位置信息。

在一些可能的实施例中,所述哈希算法可包括以下中的任一项:信息摘要算法第二版md2、信息摘要算法第四版md4、信息摘要算法第五版md5、安全哈希算法sha。

在一些可能的实施例中,所述方法还包括:若目标bug分类的bug数量超过预设数量,则向预存联系人发送bug通知信息,以通知解决所述目标bug分类对应的bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

在一些可能的实施例中,所述方法还包括:若目标bug分类的bug数量超过预设bug数量,则将所述目标bug分类对应bug数量的bug信息进行删除,以保留所述目标bug分类对应的一个bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

第二方面,本发明实施例提供了一种服务器,该服务器包括:

获取单元,用于获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件;

提取单元,用于从所述a个样本日志文件中提取出c个漏洞bug信息;

计算单元,用于将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值;

统计单元,用于将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

在一些可能的实施方式中,还可包括用于执行前述第一方面任一项所述方法的单元,这里不再赘述。

第三方面,本发明实施例提供了另一种服务器,该服务器包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面所述的方法。

本发明实施例通过服务器获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件,然后从所述a个样本日志文件中提取出c个漏洞bug信息,接着将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值,最后将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c;这样可统计出b个终端设备中共同出现的bug缺陷,更快捷、高效地帮助人们解决对应的bug信息。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种日志文件的处理方法的示意流程图;

图2是本发明实施例提供的一种包含冗余信息的日志文件的示意图;

图3是本发明实施例提供的一种bug信息的示意图;

图4是本发明另一实施例提供的一种日志文件的处理方法的示意流程图;

图5是本发明实施例提供的一种服务器的示意性框图;

图6是本发明另一实施例提供的一种服务器的示意性框图;

图7是本发明另一实施例提供的一种服务器的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

参见图1,是本发明实施例提供一种日志文件的处理方法的示意流程图,如图所示方法可包括:

步骤s101、服务器获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件。

本发明实施例中,当终端设备上安装的应用程序app在出现异常时,经由终端用户同意并确认可将终端出现的异常生成对应的日志文件,通过网络上传至服务器。或者,终端设备可直接根据应用程序的运行状况(可包括允许异常)生成对应的日志文件。可选地,可通过网络可将生成的日志文件发送给服务器。

相应地,服务器可接收这些终端发送的日志文件。具体的,服务器可接收b个终端设备发送过来的a个样本日志文件,其中a和b均为正整数,且a不小于b。即一个终端设备可生成/发送一个或多个样本日志文件。

通常为节省传输资源,终端设备发送的样本日志文件均为压缩后的样本日志文件。即服务器可计算到b个终端设备发送过来的压缩后的a个样本日志文件,进一步可通过解压缩得到a个样本日志文件。

所述终端设备包括但不限于用户设备、智能手机(如android手机、ios手机等)、个人电脑、平板电脑、掌上电脑、移动互联网设备(mid,mobileinternetdevices)或穿戴式智能设备等互联网设备,本发明实施例不作限定。

步骤s102、所述服务器从所述a个样本日志文件中提取出c个漏洞bug信息。

在一些实施例中,样本日志文件中可包括有漏洞bug信息,正常运行信息,如开机信息、关机信息、事务操作信息等,时间信息,日志存储路径信息(即位置信息),线程信息(即当前操作所属的线程,可以为数字),类目信息(即当前代码行所属的类目),还可包括其他信息,本发明不做限定。

在步骤s102的一个实施方式中,所述服务器将所述a个样本日志文件中每个样本日志文件中的冗余信息进行删除,得到c个bug信息;其中,所述冗余信息为除所述bug信息之外的信息。

具体的,服务器可将a个样本日志文件中每个样本日志文件中的冗余信息进行删除,从中提取中c个bug信息。可选地,一个日志文件可能会出现多个报错bug信息。一个或多个日志文件中可能会出现多个相同的报错bug信息。为避免重复记录,服务器可将影响去重的因素信息,如时间信息、线程信息等除bug信息之外的冗余信息进行清除。具体参见如图2示出了一种包含冗余信息的日志文件的示意图,其中黑色线框所包含的信息为可删除的冗余信息。

进一步地,服务器可根据关键字(如“fatalexception”)对清除冗余信息后的日志文件进行分割,得到c个bug信息,每个bug信息可以设定格式的文本形式呈现,例如将每个bug信息保存为txt文本,即分割后的每个设定格式的文本中包括一个bug信息。具体可参见图3示出了一种bug信息的示意图,该bug信息以txt文本形式保存呈现。

在一些实施例中,a和c均为正整数,a可以大于c,也可以小于等于c,本发明实施例不做限定。所述冗余信息可以是指除bug信息之外的信息,可包括时间信息、线程信息、类目信息、位置信息等,本发明实施例不做限定。

步骤s103、所述服务器将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值。

具体的,服务器可利用哈希算法分别对所述c个bug信息中的每个bug信息进行计算,从而对应得到c个哈希值。即一个bug信息对应一个哈希值。哈希值是唯一的,也即是相同的bug信息计算得到的哈希值也相同,不同的bug信息计算得到的哈希值也不相同。

例如,引用如图3所示的bug信息,将其作为哈希算法(如信息摘要算法第五版md5)的输入,利用md5算法计算得到的哈希值可为“fab6750e0a5c743f5b9a426e7e636a8e”。

在一些实施例中,所述哈希算法可包括信息摘要算法md、安全哈希算法sha,例如常用的算法md2、md4、md5、sha-1等,本发明实施例不做限定。

在一些实施例中,服务器可将计算得到相同的哈希值对应的bug信息进行删除,保留一份bug信息。也即是服务器为每一个哈希值保留一份对应的bug信息,以节省空间内存。

步骤s104、所述服务器将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

具体的,服务器可对c个哈希值进行统计,在预存的数据库中查找是否存在有关于c个哈希值中每个哈希值的记录,如果存在关于某个哈希值的记录,则可直接在该哈希值记录上增加相应地记录数量;如果没有关于某哈希值的记录,则在该数据库中记录该哈希值。也即是,服务器可根据c个哈希值、及各自对应的bug信息,将具有相同的哈希值归类为一个bug分类,并统计具有相同的哈希值出现的次数,以作为该bug分类的bug数量;将没有相同的哈希值单独归类为另一个bug分类,则该另一个bug分类的bug数量即为1。

举例来说,假设服务器提取出10个bug信息,其中有前5个bug信息均为相同的bug信息1,后3个bug信息均为bug信息2,第六个和第七个bug信息分别为bug信息3和bug信息4。相应地,服务器利用md5算法依次对上述10个bug信息进行计算得到的10个哈希值,分别为:hash1、hash1、hash1、hash1、hash1、hash3、hash4、hash2、hash2、hash2。服务器可据此统计出:终端设备出现了4类bug,即得到4个bug分类,分别为bug信息1、bug信息2、bug信息3和bug信息4。以及还可得到每类bug的bug数量,即4个bug分类中每个bug分类的bug数量,分别为出现bug信息1的有5次,出现bug信息2的有3次,出现bug信息3和bug信息4的分别有1次。

在一些实施例中,还包括:若目标bug分类的bug数量超过预设bug数量,则将所述目标bug分类对应bug数量的bug信息进行删除,以保留所述目标bug分类对应的一个bug信息。即是,为节省内存资源,服务器可将具有相同的哈希值的bug信息保留存储一份,将多余的bug信息进行删除,以去重、节省空间内存。

在一些实施例中,还包括:若目标bug分类的bug数量超过预设阈值,则向预存联系人发送bug通知信息,以通知解决所述目标bug分类对应的bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

具体的,当存在有bug数量超过预设阈值所对应的目标bug分类时,向预存联系人发送bug通知信息,以通知相应研发任意解决所述目标bug分类对应的bug信息。这里的预存联系人可以包括以下中的任一项或多项:预存邮箱、预存电话号码、预存qq联系人、预存微信联系人等,本发明不做限定。

本发明实施例通过服务器获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件,然后从所述a个样本日志文件中提取出c个漏洞bug信息,接着将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值,最后将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c;这样可统计出b个终端设备中共同出现的bug缺陷,更快捷、高效地帮助人们解决对应的bug信息。

请参见图4,是本发明另一实施例提供的一种日志文件的处理方法的示意流程图,所述方法包括如下实施步骤:

步骤s201、服务器获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件。

步骤s202、所述服务器将所述a个样本日志文件中每个样本日志文件中的冗余信息进行删除,得到c个bug信息;其中,所述冗余信息为除所述bug信息之外的信息。

在一些实施例中,所述冗余信息包括以下中的任一项或多项:时间信息、线程信息、类目信息、位置信息。

步骤s203、所述服务器将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值。

在一些实施例中,所述哈希算法可包括以下中的任一项:信息摘要算法第二版md2、信息摘要算法第四版md4、信息摘要算法第五版md5、安全哈希算法sha。

步骤s204、所述服务器将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

步骤s205、若目标bug分类的bug数量超过预设阈值,则向预存联系人发送bug通知信息,以通知解决所述目标bug分类对应的bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

需要说明的是,图4未描述的内容可具体参见图1实施例中的相关描述,这里不再赘述。

参见图5,是本发明实施例提供的一种服务器的示意性框图,该服务器50可包括获取单元501、提取单元502、计算单元503、统计单元504;其中,

所述获取单元501,用于获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件;

所述提取单元502,用于从所述a个样本日志文件中提取出c个漏洞bug信息;

所述计算单元503,用于将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值;

所述计单元504,用于将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

参见一并图6,是本发明另一实施例提供的一种服务器的示意性框图,所述服务器50可包括图5中的获取单元501、提取单元502、计算单元503、统计单元504;其中,

所述提取单元502,具体用于将所述a个样本日志文件中每个样本日志文件中的冗余信息进行删除,得到c个bug信息;其中,所述冗余信息为除所述bug信息之外的信息。

在一些可能的实施例中,还包括通知单元505,其中:

所述通知单元505,用于若目标bug分类的bug数量超过预设数量,则向预存联系人发送bug通知信息,以通知解决所述目标bug分类对应的bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

需要说明的是,图5或图6未描述的内容可具体参见图1和图4所述实施例中的相关描述,这里不再赘述。

参见图7,是本发明另一实施例提供的一种服务器的示意框图。如图所示的本实施例中的服务器50可以包括:一个或多个处理器801;一个或多个输入设备802,一个或多个输出设备803和存储器804。上述处理器801、输入设备802、输出设备803和存储器804通过总线805连接。存储器802用于存储指令,处理器801用于执行存储器802存储的指令。其中,处理器801用于:

获取a个样本日志文件,所述a个样本日志文件分别为b个终端设备上传的日志文件;

从所述a个样本日志文件中提取出c个漏洞bug信息;

将所述c个bug信息中的每个bug信息分别作为哈希算法的输入,计算得到c个哈希值;

将所述c个哈希值中相同的哈希值进行统计,得到d个bug分类及所述d个bug分类中每个bug分类的bug数量,其中a,b,c,d均为正整数,d小于等于c。

在一些可能的实施例中,从所述a个样本日志文件中提取出c个漏洞bug信息,包括:将所述a个样本日志文件中每个样本日志文件中的冗余信息进行删除,得到c个bug信息;其中,所述冗余信息为除所述bug信息之外的信息。

在一些可能的实施例中,所述冗余信息包括以下中的任一项或多项:时间信息、线程信息、类目信息、位置信息。

在一些可能的实施例中,所述哈希算法可包括以下中的任一项:信息摘要算法第二版md2、信息摘要算法第四版md4、信息摘要算法第五版md5、安全哈希算法sha。

在一些可能的实施例中,所述处理器801还用于:若目标bug分类的bug数量超过预设数量,则向预存联系人发送bug通知信息,以通知解决所述目标bug分类对应的bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

在一些可能的实施例中,所述处理器801还用于:若目标bug分类的bug数量超过预设bug数量,则将所述目标bug分类对应bug数量的bug信息进行删除,以保留所述目标bug分类对应的一个bug信息,所述目标bug分类为所述d个bug分类中的bug分类。

应当理解,在本发明实施例中,所称处理器801可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备802可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备803可以包括显示器(lcd等)、扬声器等。

该存储器804可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器804的一部分还可以包括非易失性随机存取存储器。例如,存储器804还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器801、输入设备802、输出设备803可执行本发明实施例提供的日志文件的处理方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法实施例中的任意步骤。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

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

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