客户异常的自动化诊断方法、装置、存储介质及计算设备与流程

文档序号:19019734发布日期:2019-11-01 20:33阅读:239来源:国知局
客户异常的自动化诊断方法、装置、存储介质及计算设备与流程

本发明涉及计算机网络领域。尤其涉及客户异常的自动化诊断方法、装置、存储介质及计算设备。



背景技术:

随着互联网技术的不断发展,为客户提供不同服务的互联网公司的服务器和服务软件也越来越多,因此,可能出现的客户问题(例如,客户异常)也随之增多。当出现客户问题时,管理员通常都是通过人工查看某台服务器上的软件日志、以及可能出现的相关告警信息的方式来分析得出关于该客户问题的大致结论(即,诊断结果),过程复杂,花费大量人力物力,效率低,还可能出现误判。

另外,针对不同的客户问题,通常也需要采用不同的处理逻辑(即,处理方法)来分析对应的日志、告警等。处理过程繁琐,这对处理问题的人员的经验有很高的要求,如果处理问题的人员的经验不足,则容易做出错误的诊断结果。

例如,现有技术在处理客户异常时,通常是在管理人员接收到告警或者客户投诉之后进行。管理人员通常会先查看具体是哪种类型的异常状态码,该异常状态码主要集中在哪个城市的哪个服务器上,然后再查看对应服务器上的其他相关日志,根据处理该异常状态码的具体问题分析逻辑(即,分析方法),人工分析对应时刻、对应软件的服务日志,然后通过日志分析出一些中间的逻辑数据,再根据出现问题的一些现有的告警,得出大致的诊断结果。然而,这种人工诊断的过程是在接收到客户投诉或者告警之后进行的,发现异常和做出诊断的过程较慢,而且人工分析过程复杂,不能实现自动化和高效化。

因此,需要提出新的技术方案,以针对不同问题进行自动化地分析和诊断。



技术实现要素:

根据本发明的一种客户异常的自动化诊断方法,包括:

自动采集与客户异常相关的关键日志数据;

采用与客户异常类型和/或客户所使用的服务软件类型对应的关键日志数据分析方法,对关键日志数据进行实时分析,获取关键日志分析结果;

采用与关键日志分析结果对应的补充数据自动采集方法,采集补充数据,对关键日志分析结果和补充数据进行综合分析,获取综合分析结果。

根据本发明的客户异常的自动化诊断方法,在获取综合分析结果之后,还包括:

采用与综合分析结果对应的自动测试方法进行测试,基于测试结果自动得出最终诊断结果。

根据本发明的客户异常的自动化诊断方法,还包括:

将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果存储到数据库中。

根据本发明的客户异常的自动化诊断方法,还包括:

基于用户的查询请求或主动将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果显示给用户。

根据本发明的客户异常的自动化诊断方法,还包括:

将用户对所显示的关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果的人工校验结果存储到数据库中,以供结合机器学习方法进行自动化诊断时使用。

根据本发明的一种客户异常的自动化诊断装置,包括:

关键日志数据自动采集模块,用于自动采集与客户异常相关的关键日志数据;

关键日志数据自动分析模块,用于采用与客户异常类型和/或客户所使用的服务软件类型对应的关键日志数据分析方法,对关键日志数据进行实时分析,获取关键日志分析结果;

综合自动分析模块,用于采用与关键日志分析结果对应的补充数据自动采集方法,采集补充数据,对关键日志分析结果和补充数据进行综合分析,获取综合分析结果。

根据本发明的客户异常的自动化诊断装置,还包括:

自动测试及最终诊断模块,用于采用与综合分析结果对应的自动测试方法进行测试,基于测试结果自动得出最终诊断结果。

根据本发明的客户异常的自动化诊断装置,还包括:

自动存储模块,用于将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果存储到数据库中。

根据本发明的一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现上文所述的方法的步骤。

根据本发明的一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上文所述的方法的步骤。

根据本发明的上述技术方案,能够针对不同问题进行自动化地分析和诊断。

附图说明

并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与相关的文字描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。

图1示例性地示出了根据本发明的客户异常的自动化诊断方法的示意流程图。

图2示例性地示出了根据本发明的客户异常的自动化诊断装置的示意框图。

图3示例性地示出了包含根据本发明的客户异常的自动化诊断装置的自动化诊断系统的示意框图。

图4示例性地示出了包含关键日志数据自动采集模块和关键日志数据自动分析模块的实时日志分析系统的示意框图。

图5示例性地示出了包含综合自动分析模块和自动测试及最终诊断模块的结果分析系统的示意框图。

图6示例性地示出了包含展示和校验功能的展示系统的示意框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1示例性地示出了根据本发明的客户异常的自动化诊断方法的示意流程图。

如图1的实线框所示,根据本发明的客户异常的自动化诊断方法,包括:

步骤s102:自动采集与客户异常相关的关键日志数据;

步骤s104:采用与客户异常类型和/或客户所使用的服务软件类型对应的关键日志数据分析方法,对关键日志数据进行实时分析,获取关键日志分析结果;

步骤s106:采用与关键日志分析结果对应的补充数据自动采集方法,采集补充数据,对关键日志分析结果和补充数据进行综合分析,获取综合分析结果。

可选地,如图1的虚线框所示,根据本发明的客户异常的自动化诊断方法,在步骤s106之后,还包括:

步骤s108:采用与综合分析结果对应的自动测试方法进行测试,基于测试结果自动得出最终诊断结果。

可选地,如图1的虚线框所示,根据本发明的客户异常的自动化诊断方法,还包括:

步骤s110:将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果存储到数据库中。

可选地,如图1的虚线框所示,根据本发明的客户异常的自动化诊断方法,还包括:

步骤s112:基于用户的查询请求或主动将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果显示给用户。

可选地,如图1的虚线框所示,根据本发明的客户异常的自动化诊断方法,还包括:

步骤s114:将用户对所显示的关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果的人工校验结果存储到数据库中,以供结合机器学习方法进行自动化诊断时使用。

图2示例性地示出了根据本发明的客户异常的自动化诊断装置200的示意框图。

如图2的实线框所示,客户异常的自动化诊断装置200包括:

关键日志数据自动采集模块201,用于自动采集与客户异常相关的关键日志数据;

关键日志数据自动分析模块203,用于采用与客户异常类型和/或客户所使用的服务软件类型对应的关键日志数据分析方法,对关键日志数据进行实时分析,获取关键日志分析结果;

综合自动分析模块205,用于采用与关键日志分析结果对应的补充数据自动采集方法,采集补充数据,对关键日志分析结果和补充数据进行综合分析,获取综合分析结果。

可选地,如图2的虚线框所示,客户异常的自动化诊断装置200还包括:

自动测试及最终诊断模块207,用于采用与综合分析结果对应的自动测试方法进行测试,基于测试结果自动得出最终诊断结果。

可选地,如图2的虚线框所示,客户异常的自动化诊断装置200还包括:

自动存储模块209,用于将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果存储到数据库中。

可选地,如图2的虚线框所示,客户异常的自动化诊断装置200还包括:

用户接口模块211,用于基于用户的查询请求或主动将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果显示给用户。

可选地,如图2的虚线框所示,客户异常的自动化诊断装置200还包括:

人工校验结果接收及存储模块213,用于将用户对所显示的关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果的人工校验结果存储到数据库中,以供结合机器学习方法进行自动化诊断时使用。

针对本发明的上述技术方案,还提出了一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现上文所述的方法的步骤。

针对本发明的上述技术方案,还提出了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上文所述的方法的步骤。

为了使本领域技术人员更清楚地理解本发明的上述技术方案,下面将结合具体实施例进行描述。

图3示例性地示出了包含根据本发明的客户异常的自动化诊断装置的自动化诊断系统的示意框图。

如图3所示,该自动化诊断系统主要包括以下模块:

关键日志数据自动采集模块201,用于从全网服务器的日志中实时地收集全网不同类型服务软件的日志数据,即,自动采集与客户异常相关的关键日志数据;

关键日志数据自动分析模块203,用于基于关键日志数据获取关键日志分析结果;

综合自动分析模块205,用于执行不同逻辑数据的采集(即,采集补充数据),执行综合自动分析(即,对关键日志分析结果和补充数据进行综合分析,获取综合分析结果);

自动测试及最终诊断模块207,用于执行自动(即时)测试,基于测试结果自动得出最终诊断结果;

自动存储模块209,用于将关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果存储到数据库中;

数据库,用于存储上述人工校验结果、关键日志分析结果和/或综合分析结果和/或测试结果和/或最终诊断结果。

例如,数据库底层可以使用mysql数据库;可以按照服务软件类型、时间和问题类型(即,异常类型)作为唯一标识建立数据表;也可以在表内设置主键“节点(例如,服务器标识)”,数据字段可以包括:“时间”、“唯一标识”、“问题类型”、“日志初步数据”、“必要逻辑数据”、“测试结果”、“结论”、“校验结果”等;支持各种数据操作,当新的用例(例如,外部日志数据)有变化时能同步修改表中的数据内容;可长时间存储,在后期需要时可以进行原因查询、或故障复盘;

用户接口模块211,用于基于用户的查询请求或主动向用户显示上述各种结果;

人工校验结果接收及存储模块213,用于对关键日志数据自动分析模块203和/或综合自动分析模块205和/或自动测试及最终诊断模块207的结果进行校验,并将人工校验结果存储到数据库中。

即,该自动化诊断系统的整体框架主要针对不同的客户问题,实时地收集全网不同类型服务软件的日志数据,根据不同问题对应的处理逻辑,触发式地分析出对应问题的关键日志分析结果,根据日志分析的数据,通过整体的判断逻辑和逻辑的各个不同的方法,并发的进行逻辑分析,结合不同的逻辑数据,找出最可能造成异常的现象,通过即时的测试,得出最终的分析结果,可人为设定相关异常的通知人员,把结果和展示页面一起发送,然后进行人工校验,并把每个过程子系统的数据都记录到数据库中。

图4示例性地示出了包含关键日志数据自动采集模块201和关键日志数据自动分析模块203的实时日志分析系统400的示意框图。

如图4所示,实时日志分析系统400包含图3所示的关键日志数据自动采集模块201和关键日志数据自动分析模块203。

实时日志分析系统400主要通过收集全网日志,根据不同的客户问题从不同的服务软件(例如,数据库管理软件、web服务软件、防火墙软件等不同类型的服务软件,不同开发商开发的服务软件,可以唯一标识的其他服务软件等)采集全量的原始日志,根据分析逻辑从这些全量原始日志采集出更利于分析问题原因的中间日志数据,即,自动采集与客户异常相关的关键日志数据。

例如,在解决客户问题时,针对不同的问题,会先有一个明确的分析该问题的逻辑(即,方法),而解决问题的时候需要查看的日志数据是先需要通过原始日志(即,全网日志)分析得出的。

关键日志数据自动采集模块201收集全网的实时日志,根据不同的服务软件(例如,数据库管理软件、web服务软件、防火墙软件等不同类型的服务软件,不同开发商开发的服务软件,可以唯一标识的其他服务软件等)进行分类。

关键日志数据自动分析模块203根据不同问题的分析过程实时地分析出该问题的初步日志分析数据(即,关键日志分析结果)。

表1给出了针对两种不同客户问题所采用的不同关键日志数据分析方法和所得到的分析结果。

表1针对两种不同客户问题所采用的不同关键日志数据分析方法和所得到的分析结果

更具体地,例如,针对异常状态码的第1种关键日志数据分析方法可以包括以下步骤:

1、问题处理人员提供异常状态码的日志分析逻辑和触发值(即,触发条件)到关键日志数据自动分析模块203,该逻辑(即,分析方法)中预先设定以数字4和5开头的状态码是异常状态码。

2、关键日志数据自动分析模块203按设定的值(比如每分钟)实时地根据分析逻辑去日志中心分析全网不同服务软件的原始日志。

3、当发现原始日志当前出现原先设定好的异常状态码时,触发异常状态码的逻辑分析,开始把逻辑中需要的日志数据实时地采集出来。

4、采集出来的数据按照服务软件类型、时间和问题类型作为唯一标识符把对应的初步分析数据导入数据库中保存。

本领域技术人员也可以设想对其他不同问题的分析或处理方法,只要有对应的逻辑,就能形成触发式的实时分析模式。

上述方案极大地简化了分析过程,并且高效地得出必要的初步数据,只要保存对应的分析结果数据,不用长时间地保存大量的原始日志,从而节约了服务器资源,这是当前技术所不具备的。

图5示例性地示出了包含综合自动分析模块205和自动测试及最终诊断模块207的结果分析系统500的示意框图。

如图5所示,结果分析系统500包含图3所示的综合自动分析模块205和自动测试及最终诊断模块207。

结果分析系统500主要从问题的综合自动分析(即,整体逻辑分析)出发,结合诸如图4所示的实时日志分析系统400中得到的初步日志分析数据(即,上述“关键日志分析结果”),结合不同问题的处理逻辑(例如,分析步骤)中需要的其他检测数据(即,图5中所示的“必要数据采集”所采集到的数据,也即,上述“补充数据”)再通过一些必要的测试(即,即时测试,也即上述“自动测试”)得出最终的问题结论(即,上述“最终诊断结果”)。

即,本领域技术人员可以设想,结合上述结果分析系统500可以实现以下步骤:

1、从图4所示的实时日志分析系统400中获取对应问题初步的日志分析数据,获取时间和日志分析数据的实时分析间隔是同步的。

2、只要从(例如,数据库)中获取到对应问题的唯一标识就触发综合自动分析模块205,根据对应问题的实际分析逻辑,再根据不同的逻辑采集必要的实际分析数据,结合得到的初步日志,得出大致的结论。

3、根据得出的结论,和不同问题的分析思路,自动的进行即时的测试,并对测试结果进行判断,得到最终结论。

4、把唯一标识符、整体分析过程、得到的大致结论和对应的测试结果和最终结论保存到数据库中。

5、把具体问题和对应的结论通过电话邮件短信等形式通知到对应的管理人员。

表2给出了针对异常状态码这一客户问题的两种不同情况所采用的不同综合自动分析方法和即时测试方法。

表2针对异常状态码这一客户问题的两种不同情况所采用的不同综合自动分析方法和即时测试方法

更具体地,例如,针对异常状态码的综合自动分析方法可以包括以下步骤:

1、首先调用get_task_fun函数实时地读取日志分析系统数据库,发现当前有异常状态码标识的初步日志分析数据,获取该时间的日志数据并触发异常状态码对应的综合自动分析模块进行分析。

2、根据设定好的httpcode(即,状态码)类型(即,以4开头还是以5开头),从数据中并发调用对应类型的异常状态码的分析方法,如果当前收到的是503状态码,那么根据5xx的逻辑分析方法自动地查找对应机器对应域名的错误类型、机器相关性能数据、对应机器的监控异常数据,对可用性数据进行判断。

3、如果检测发现503的服务器有断网现象,则进行网络相关的测试,从其他服务器发起测试任务,并保存测试结果到结论中(针对其他类型的问题的分析和测试类似,需要先在综合自动分析模块205中预先定义好)。

4、对所有的异常状态码并发分析,同时出现多个异常状态码的原因不同也不影响测试结果,最后会把相同的结果保存一份,不同的结果分开保存,包括必要的分析数据和测试数据。

5、然后把逻辑数据(即,分析数据、统计数据)、测试数据、结论数据通过用户接口模块211发送给对应的管理员。

根据本发明的上述技术方案,具有以下优点:

1、对于不同的问题只需要增加对应的综合自动分析方法,可扩展性强。

2、使用触发式逻辑分析方法极大地提高了服务器的可用性和问题分析的有效性。

3、问题分析功能点互不干扰,并发分析所有可能结果并结合对应的测试,极大的增加了分析的准确性。

图6示例性地示出了包含展示和校验功能的展示系统600的示意框图。

如图6所示,展示系统600包含图3所示的用户接口模块211和人工校验结果接收及存储模块213。

展示系统600用于查询当前或者历史的客户问题的原因,并显示结论。根据真实的处理人员的判断对分析结论进行准确性的校验,再关联实时日志分析逻辑(即,方法)和整体分析逻辑(即,方法),触发逻辑分析的准确性。

更具体地,所展示的数据包括以下数据项:问题现象、问题分析逻辑、分析数据、问题测试结果、问题结论、逻辑校验结果。用户接口模块211可以将告警直接发给对应的处理人员,处理人员不用通过人工分析而直接查看分析的逻辑和结论,然后人工(根据经验)进行判断,对该逻辑进行校验,针对所展示的每个数据项选择正确或者不正确,指出不正确的数据项所对应的逻辑(例如,日志分析逻辑和/或整体分析逻辑等),对应的逻辑模块会根据校验结果,对该问题的逻辑分析进行数据判断,结果也会记录数据库,随着数据的增加,人工校验的次数将会减少,逻辑分析的准确性会变高,达到智能地机器学习。

根据本发明的上述技术方案,能够针对具体问题进行自动化地分析和诊断。

根据本发明的上述技术方案,能够根据不同客户问题所对应的日志分析逻辑(即,具体逻辑分析方法)实时自动地分析全网日志,得出中间数据,然后通过日志得出的中间数据并结合具体的问题处理逻辑(即,具体处理方法)自动进行可能性分析并自动测试,得出最终结论。还能够结合分析结论和(例如,人工校验的)实际结果之间的对比进行机器学习,不断的推进实时自动化分析结论的准确性。

根据本发明的上述技术方案,还具有以下优点:

1、触发式的分析方法在发现问题的时候就能通过高效地分析得出对应的分析结论,并且自动化地实现对应的分析逻辑。

2、在解决问题的同时不用长时间地保存全量数据,最大化节约服务器使用成本。

3、可以适用于大部分的客户问题(即,客户异常)处理,通过添加对应的问题和处理逻辑即可分析出对应的结论,可扩展性强。

4、从结果中校验分析逻辑(即,人工校验自动化诊断结果),不断优化逻辑分析的准确性,达到智能地机器学习,最大化减少人员投入,提高工作效率。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的精神和范围。

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