一种日志分析方法、装置及计算机可读存储介质与流程

文档序号:17790223发布日期:2019-05-31 20:05阅读:136来源:国知局
一种日志分析方法、装置及计算机可读存储介质与流程

本申请涉及软件测试领域,尤其涉及一种日志分析方法、装置及计算机可读存储介质。



背景技术:

测试日志是测试过程监控、测试结果和软件质量评估的基础,同时也是数据分析和过程改进的重要依据,用来记录测试执行的情况;其中主要需要记录用例执行情况以及被测对象当天的缺陷发现情况,通过缺陷分析判断软件的具体问题以及质量评估。

在实际工作中,部分测试人员由于专业的局限性,不可能熟悉各种编程语言的异常,无法独立分析非功能测试方面问题,几乎需要开发人员全程协同工作,导致工作效率低下且占用开发人员较多时间,如果测试人员不能很快定位问题,将会因为一些很简单的问题,和开发人员之间来回进行日志文件调阅、分析,耽误较多时间,影响整体测试进度和质量。



技术实现要素:

本申请实施例公开了一种日志分析方法、装置及计算机可读存储介质,能够独立快速的分析日志文件中的问题。

第一方面,本申请实施例提供了一种日志分析方法,该方法包括:

设备建立日志异常数据库,所述日志异常数据库记录了问题类型和预设字段之间的第一对应关系;

所述设备获取第一日志以及目标列表中的检测点,所述检测点用于确定所述第一日志中需要检测的字段;

所述设备根据所述需要检测的字段从所述第一对应关系中查找所述第一日志对应的问题类型,输出所述第一日志的检测报告,所述检测报告描述了所述第一日志对应的问题类型。

在上述方法中,设备建立日志异常数据库后,根据获取到的检测点对获取到的第一日志进行检测,从日志异常数据库中查找第一日志对应的问题类型,输出第一日志的检测报告;在这个过程中,无需测试人员熟悉各种编程语言的异常,而是由设备直接对日志进行自动化检测,显著提高了日志分析的效率。

基于第一方面,在其中一种可选的实现方式中,所述设备获取第一日志以及输入的检测点之前,所述方法还包括:

所述设备根据输入的自定义创建检测点指令,显示自定义创建检测点界面;

所述设备接收在所述自定义创建检测点界面上输入的检测点名称以及检测点代码,所述检测点代码用于实现所述检测点名称描述的检测内容;

所述设备根据所述检测点名称以及所述检测点代码向所述目标列表中添加新的检测点。

这种实现方式可以根据测试的自身需求添加检测点,实现了自定义创建检测点的功能,提高了测试的实用性。

基于第一方面,在其中一种可选的实现方式中,所述检测点包括网络检测、中间件检测、第三方服务检测、数据库检测、本服务检测和其他检测中的任意一项或多项,所述其他检测包括所述自定义创建检测点中创建的新的检测点的检测点名称描述的检测内容。

这种实现方式提供了检测点的多种组合方式,可以为不同的日志选择不同的检测方案,提高了测试质量。

基于第一方面,在其中一种可选的实现方式中,所述设备根据所述需要检测的字段从所述第一对应关系中查找所述第一日志对应的问题类型,包括:

所述设备获取检测点的检测顺序,按照所述检测顺序对所述第一日志中的所述需要检测的字段进行检测;

所述设备通过所述第一对应关系,确定所述第一日志中所述需要检测的字段的问题类型。

这种实现方式可以对检测点的顺序进行设置,提供了更灵活的检测方案。

基于第一方面,在其中一种可选的实现方式中,所述设备存储了所述问题类型与技术人员的第二对应关系,在所述设备输出所述第一日志的检测报告之后还包括:

所述设备根据所述第二对应关系查找所述检测报告中描述的问题类型对应的技术人员,发送所述检测报告给所述对应的技术人员。

这种实现方式可以根据不同的问题类型将检测报告有针对性的发送给不同的技术人员,提高了测试效率。

第二方面,本申请实施例提供了一种日志分析装置,包括:

建立单元,用于建立日志异常数据库,所述日志异常数据库记录了问题类型和预设字段之间的第一对应关系;

获取单元,用于获取第一日志以及目标列表中的检测点,所述检测点用于确定所述第一日志中需要检测的字段;

输出单元,用于根据所述需要检测的字段从所述第一对应关系中查找所述第一日志对应的问题类型,输出所述第一日志的检测报告,所述检测报告描述了所述第一日志对应的问题类型。

基于第二方面,在其中一种可选的实现方式中,所述装置还包括:

显示单元,用于根据输入的自定义创建检测点指令,显示自定义创建检测点界面;

接收单元,用于接收在所述自定义创建检测点界面上输入的检测点名称以及检测点代码,所述检测点代码用于实现所述检测点名称描述的检测内容;

添加单元,用于根据所述检测点名称以及所述检测点代码向所述目标列表中添加新的检测点。

基于第二方面,在其中一种可选的实现方式中,所述检测点包括网络检测、中间件检测、第三方服务检测、数据库检测、本服务检测和其他检测中的任意一项或多项,所述其他检测包括所述自定义创建检测点中创建的新的检测点的检测点名称描述的检测内容。

基于第二方面,在其中一种可选的实现方式中,所述输出单元还包括:

检测单元,用于获取检测点的检测顺序,按照所述检测顺序对所述第一日志中的所述需要检测的字段进行检测;

确定单元,用于通过所述第一对应关系,确定所述第一日志中所述需要检测的字段的问题类型。

基于第二方面,在其中一种可选的实现方式中,所述装置存储了所述问题类型与技术人员的第二对应关系,所述输出单元还包括:

发送单元,用于根据所述第二对应关系查找所述检测报告中描述的问题类型对应的技术人员,发送所述检测报告给所述对应的技术人员。

需要说明的是,第二方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。

第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。

需要说明的是,第三方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的一种日志分析方法的系统架构图;

图2是本申请实施例提供的一种日志分析方法的流程示意图;

图3是本申请实施例提供的一种日志分析方法的场景示意图;

图4是本申请实施例提供的一种日志分析装置的结构示意图;

图5是本申请实施例提供的一种日志分析设备的结构示意图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行描述。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。在本申请说明书中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本说明书中使用的术语“设备”、“单元”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,设备可以是但不限于,处理器,数据处理平台,计算设备,计算机,2个或更多个计算机等。

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

为了更好的理解本申请实施例提供的一种日志分析方法、装置及计算机可读存储介质,下面先对本申请实施例的日志分析方法的系统架构进行描述。如图1所示,其为本申请实施例提供的一种日志分析方法的系统架构示意图,该系统包括一个或多个服务器(多个服务器可以构成一个服务器集群),以及一个或多个终端(或设备),服务器建立日志异常数据库,获取了日志信息和检测点后,对日志进行检测分析,再将检测报告输出到终端,其中:

服务器可以包括但不限于后台服务器、组件服务器、数据处理服务器等,服务器可以通过互联网与多个终端进行通信。服务器为终端提供日志分析服务。服务器上需要运行有相应的服务器端程序来提供相应的日志分析服务,如数据库服务、数据分析、决策执行等等。

终端可以安装并运行相关的客户端。客户端是指与服务器相对应,为客户提供本地服务的程序。这里,该本地服务可包括但不限于:向服务器发送信息(例如日志信息)和接收服务器发送的信息(例如检测报告信息)以及共享信息等等。本方案实施例中的终端可以包括但不限于任何一种基于智能操作系统的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。其中,智能操作系统包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作系统,诸如安卓(androidtm)、iostm、windowsphonetm等。

下面结合图2就本申请的日志分析方法进行说明,如图2所示,其为本申请实施例提供的一种日志分析方法的流程示意图,该方法可以基于图1所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:

步骤s201:设备建立日志异常数据库,日志异常数据库记录了问题类型和预设字段之间的第一对应关系。

具体地,设备建立日志异常数据库,其中日志异常数据库中记录了历史日志数据,包括问题类型和预设字段之间的第一对应关系,还可以包括编程语言(如java、php等)、问题类型和预设字段等多个元素之间的匹配关系。

步骤s202:设备获取第一日志以及目标列表中的检测点,检测点用于确定第一日志中需要检测的字段。

具体地,设备建立日志异常数据库后,用户可通过日志片段粘贴、日志文件导入、指定日志目录等方式把第一日志导入设备,设备获取该第一日志并获取用户选择的在目标列表中的检测点;检测点包括网络检测、中间件检测、第三方服务检测、数据库检测、本服务检测和其他检测中的任意一项或多项,其中,其他检测包括自定义创建检测点中创建的新的检测点的检测点名称描述的检测内容。

也即是说,用户可以根据不同的需求对检测点进行不同的选择,网络检测包括通过ping检测ip连通性、通过telnet检测端口可用性等等;中间件检测如检测版本信息、tcp连接是否重用,tcp超时重用时间等等;数据库检测包括在用户登陆前获取该用户的所有登录日志记录数,登录之后,再获取一次这个用户的所有登录日志记录数,比较两次数值,最后一次获取到的记录数大于第一次的话则说明正常创建了数据库;第三方服务检测,例如根据第三方服务的api文档,mock一套api接口,接口的response则设计成可配置,如把配置参数写入mysql,接口每次返回的时候从数据库读取数据,根据配置参数进行返回,测试环境的服务全部接到该mock服务;本服务检测如使用get/post请求测试服务可用性,包括部署是否成功、服务是否可用、功能是否存在等等;其他检测包括自定义创建检测点,即用户可以根据不同的测试需求对日志文件进行不同的检测点选择。这种实现方式提供了检测点的多种组合方式,可以为不同的日志选择不同的检测方案,提高了测试质量。

在其中一个实施方式中,自定义创建检测点的具体步骤为:

步骤s301:设备根据输入的自定义创建检测点指令,显示自定义创建检测点界面。

具体地,用户触发自定义创建检测点功能,则设备显示自定义创建检测点界面;如图3示出的本申请实施例提供的自定义创建检测点界面图,包括创建名称区和创建代码区,用户可以在创建名称区输入想要创建的检测点名称,并在创建代码区输入检测点代码。

步骤s302:设备接收在自定义创建检测点界面上输入的检测点名称以及检测点代码。

具体地,用户在创建名称区输入想要创建的检测点名称,并在创建代码区输入检测点代码,检测点代码用于实现检测点名称描述的检测内容,设备接收到用户在自定义创建检测点界面上输入的检测点名称以及检测点代码,用户确认保存后,创建完成。

步骤s303:设备根据检测点名称以及检测点代码向目标列表中添加新的检测点。

具体地,创建完成后,设备在目标列表中添加新的检测点,新的检测点用于触发调用检测点代码以实现检测点名称描述的检测内容。

这种实现方式可以根据测试的自身需求添加检测点,实现了自定义创建检测点的功能,提高了测试的实用性。

步骤s203:根据需要检测的字段从第一对应关系中查找第一日志对应的问题类型,输出第一日志的检测报告。

具体地,设备获取第一日志以及目标列表中的检测点后,确定了需要检测的字段,根据该需要检测的字段从第一对应关系中查找第一日志对应的问题类型,输出第一日志的检测报告,检测报告描述了第一日志的所有的问题类型。例如,需要检测的字段为ip地址,若ip地址ping不通,则报告为网络问题;需要检测的字段为tcp连接指令,若tcp连接重用,则报告为中间件异常问题;需要检测的字段为日志记录数,若数据库最后一次获取到的日志记录数小于第一次获取到的日志记录数,则报告为数据库问题,等等。

在其中一个实施方式中,设备获取第一日志以及目标列表中的检测点,同时获取到检测点的检测顺序,按照检测顺序对第一日志中的需要检测的字段依次进行检测,根据该需要检测的字段从第一对应关系中依次查找第一日志对应的问题类型,输出第一日志的检测报告;也即是说,这种实施方式可以对检测点的顺序进行设置,提供了更灵活的检测方案。

在其中一个实施方式中,设备存储了问题类型与技术人员的第二对应关系,在设备输出第一日志的检测报告之后,设备根据第二对应关系查找检测报告中描述的问题类型对应的技术人员,发送检测报告给所述对应的技术人员。

表1第二对应关系

具体实现中,第二对应关系可以如表1所示,检测报告描述了第一日志的所有的问题类型,若检测报告中描述的问题类型为网络问题,则通过第二对应关系,将该检测报告发送给网络专家;若检测报告中描述的问题类型为中间件异常问题,则通过第二对应关系,将该检测报告发送给中间件提供方;若检测报告中描述的问题类型为本服务问题,则通过第二对应关系,将该检测报告发送给开发人员;若检测报告中描述的问题类型为数据库问题,则通过第二对应关系,将该检测报告发送给数据库管理人员,等等;这种实现方式可以根据不同的问题类型将检测报告有针对性的发送给不同的技术人员,提高了测试效率。

实施本申请实施例,设备建立日志异常数据库后,根据获取到的检测点对获取到的第一日志进行检测,从日志异常数据库中查找第一日志对应的问题类型,输出第一日志的检测报告;在这个过程中,无需测试人员熟悉各种编程语言的异常,而是由设备直接对日志进行自动化检测,显著提高了日志分析的效率。

为了便于更好地实施本申请实施例的上述方案,本申请还对应提供了一种日志分析装置,下面结合附图来进行详细说明:

如图4所示,本申请实施例提供一种日志分析装置40的结构示意图,日志分析装置40可以包括:建立单元401、获取单元402和输出单元403,其中,

建立单元401,用于建立日志异常数据库,所述日志异常数据库记录了问题类型和预设字段之间的第一对应关系;

获取单元402,用于获取第一日志以及目标列表中的检测点,所述检测点用于确定所述第一日志中需要检测的字段;

其中,检测点包括网络检测、中间件检测、第三方服务检测、数据库检测、本服务检测和其他检测中的任意一项或多项,所述其他检测包括所述自定义创建检测点中创建的新的检测点的检测点名称描述的检测内容。

输出单元403,用于根据所述需要检测的字段从所述第一对应关系中查找所述第一日志对应的问题类型,输出所述第一日志的检测报告,所述检测报告描述了所述第一日志对应的问题类型。

在其中一种实施例中,输出单元403还包括:

检测单元405,用于获取检测点的检测顺序,按照所述检测顺序对所述第一日志中的所述需要检测的字段进行检测;

确定单元406,用于通过所述第一对应关系,确定所述第一日志中所述需要检测的字段的问题类型。

在其中一种实施例中,该日志分析装置存储了所述问题类型与技术人员的第二对应关系,输出单元还包括:

发送单元407,用于根据所述第二对应关系查找所述检测报告中描述的问题类型对应的技术人员,发送所述检测报告给所述对应的技术人员。

在本申请实施例中,该装置还可以包括:

显示单元408,用于根据输入的自定义创建检测点指令,显示自定义创建检测点界面;

接收单元409,用于接收在所述自定义创建检测点界面上输入的检测点名称以及检测点代码,所述检测点代码用于实现所述检测点名称描述的检测内容;

添加单元410,用于根据所述检测点名称以及所述检测点代码向所述目标列表中添加新的检测点。

需要说明的是,本申请实施例中图4所描述的装置中各功能单元的功能可参见上述图2中所述的方法实施例中步骤s201-步骤s203的相关描述,此处不再赘述。

根据以上日志分析装置图,请参考图5,图5是本申请实施例提供的一种简化的日志分析设备结构示意图。便于理解和图示方便,图5的日志分析设备50中,可以包括以下一个或多个组件:存储器501、处理器502、通信设备503和输入/输出设备504。

存储器501可以包括一个或多个存储单元,每个单元可以包括一个或多个存储器,存储器可用于存储程序和各种数据,并能在日志分析设备50运行过程中高速、自动地完成程序或数据的存取。当图5所示的日志分析设备50,执行图2所述方法时,存储器可以用来存储日志数据、检测报告数据、第一对应关系、第二对应关系以及其他相关数据等。

通信设备503,也可以称为收发机,或收发器等,其中可以包括用来进行无线、有线或其他通信方式的单元。可选的,可以将503部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即503部分包括接收单元和发送单元。

处理器502,处理器也可以称为处理单元,处理单板,处理模块,处理装置等。处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。当图5所示的日志分析设备50,执行图2所述方法时,所述处理器502调用所述存储器501的日志分析程序,执行以下步骤:

建立日志异常数据库,日志异常数据库记录了问题类型和预设字段之间的第一对应关系;

通过通信设备503获取第一日志以及目标列表中的检测点,检测点用于确定第一日志中需要检测的字段;

根据需要检测的字段从第一对应关系中查找第一日志对应的问题类型,输出第一日志的检测报告,检测报告描述了第一日志对应的问题类型。

其中,处理器502还用于:

根据输入的自定义创建检测点指令,显示自定义创建检测点界面;

通过通信设备503接收在所述自定义创建检测点界面上输入的检测点名称以及检测点代码;

根据检测点名称以及检测点代码向目标列表中添加新的检测点。

其中,检测点包括网络检测、中间件检测、第三方服务检测、数据库检测、本服务检测和其他检测中的任意一项或多项,其他检测包括自定义创建检测点中创建的新的检测点的检测点名称描述的检测内容。

其中,处理器502还用于:

获取检测点的检测顺序,按照检测顺序对第一日志中的需要检测的字段进行检测;

通过第一对应关系,确定第一日志中需要检测的字段的问题类型。

其中,存储器501存储了所述问题类型与技术人员的第二对应关系,处理器502还用于:

根据存储器501中存储的第二对应关系查找检测报告中描述的问题类型对应的技术人员,发送检测报告给对应的技术人员。

需要说明的是,本申请实施例中的日志分析设备50中处理器502的执行步骤可参考上述各方法实施例中图2实施例中的具体实现方式,这里不再赘述。

输入/输出设备504,可以为日志分析设备50外围部件接口之间提供接口,上述外围部件可以为键盘,鼠标,显示器,按钮,相似装置等。这些按钮可包括但不限于:启动/关闭按钮,锁定按钮和重置按钮等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

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

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

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

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。尽管在此结合各实施例对本申请进行了描述,然而,在实施例所要求保护的本申请过程中,本领域技术人员可理解并实现公开实施例的其他变化。

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