CN110262870A - 利用dump文件定位异常的方法、装置、计算机设备及存储介质 - Google Patents

利用dump文件定位异常的方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110262870A
CN110262870A CN201910402767.XA CN201910402767A CN110262870A CN 110262870 A CN110262870 A CN 110262870A CN 201910402767 A CN201910402767 A CN 201910402767A CN 110262870 A CN110262870 A CN 110262870A
Authority
CN
China
Prior art keywords
dump
file
abnormal
stack information
dump file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910402767.XA
Other languages
English (en)
Other versions
CN110262870B (zh
Inventor
黄桂钦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910402767.XA priority Critical patent/CN110262870B/zh
Publication of CN110262870A publication Critical patent/CN110262870A/zh
Application granted granted Critical
Publication of CN110262870B publication Critical patent/CN110262870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种利用dump文件定位异常的方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:获取dump文件查询请求中的容器实例的标识信息;根据dump文件查询请求,调用预设dump文件查询接口,以通过预设dump文件查询接口确定与容器实例的标识信息匹配的目标dump文件;分析目标dump文件,以生成dump分析文件,并在dump分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。本申请实施例自动地对目标dump文件进行分析,定位出潜在异常并进行标注,自动的分析目标dump文件,提高了定位潜在异常的速度和效率,无需相关人员一个一个的查看堆栈信息并定位堆栈信息中的潜在异常,提高了用户的体验。

Description

利用dump文件定位异常的方法、装置、计算机设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种利用dump文件定位异常的方法、装置、计算机设备及存储介质。
背景技术
在云平台中,如在PaaS(Platform-as-a-Service,平台即服务)平台中,每个容器应用会有对应的容器实例,每个容器实例对应一个进程。dump文件是进程的内存镜像,可以把程序的执行状态通过调试器保存到dump文件中。现有的查询dump文件的方式是,使用命令登陆容器并进入容器,使用命令打dump 文件,也即获取dump文件,才可以查询dump文件,再由相关人员一行一行的分析dump文件来定位异常。如此,降低了定位异常的速度,同时需要较高的专业知识,需要较多的人力成本和时间成本。
发明内容
本申请实施例提供一种利用dump文件定位异常的方法、装置、计算机设备及存储介质,可提高通过dump文件定位异常的速度和效率。
第一方面,本申请实施例提供了一种利用dump文件定位异常的方法,包括:
若接收到dump文件查询请求,获取所述dump文件查询请求中的容器实例的标识信息;根据所述dump文件查询请求,调用预设dump文件查询接口,以通过所述预设dump文件查询接口确定与所述容器实例的标识信息匹配的目标 dump文件;分析所述目标dump文件,以生成dump分析文件,并在所述dump 分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。
第二方面,本发明实施例提供了一种利用dump文件定位异常的装置,该利用dump文件定位异常的装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例提供了预设dump文件查询接口,如此,可直接通过预设dump 文件查询接口来查询目标dump文件,无需通过命令登陆到容器并通过命令来获取容器中的目标dump文件,通过预设dump文件查询接口使得信息透明,方便快捷,提高了用户的体验;更重要的是,本申请实施例自动地对目标dump文件进行分析,定位出潜在异常并进行标注,自动的分析目标dump文件,提高了定位潜在异常的速度和效率,无需相关人员一个一个的查看堆栈信息并定位堆栈信息中的潜在异常,提高了用户的体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的利用dump文件定位异常的方法的流程示意图;
图2是本申请实施例提供的利用dump文件定位异常的方法的子流程示意图;
图3是本申请实施例提供的利用dump文件定位异常的方法的子流程示意图;
图4是本申请实施例提供的利用dump文件定位异常的方法的子流程示意图;
图5是本申请实施例提供的利用dump文件定位异常的方法的子流程示意图;
图6是本申请实施例提供的利用dump文件定位异常的方法的子流程示意图;
图7是本申请实施例提供的利用dump文件定位异常的装置的示意性框图;
图8是本申请实施例提供的分析标注单元的示意性框图;
图9是本申请实施例提供的相似度计算单元的示意性框图;
图10是本申请实施例提供的定位单元的示意性框图;
图11是本申请另一实施例提供的定位单元的示意性框图;
图12是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的利用dump文件定位异常的方法的流程示意图。如图1所示,该方法包括S101-S103。
S101,若接收到dump文件查询请求,获取所述dump文件查询请求中的容器实例的标识信息。
其中,dump文件查询请求可以是用户向PaaS平台的服务器端发送的,例如,为容器应用的每个容器实例提供一个dump文件查询图像或者按钮,用户可以通过在显示界面内点击对应容器应用的容器实例的dump文件查询图标,生成dump文件查询请求;或者是,用户可以通过向PaaS平台的服务器端发送查询容器应用的容器实例的dump文件等相关语音,生成dump文件查询请求等。可以理解的是,dump文件查询请求的生成方式还可以是其他的方式,具体不作限定。dump文件查询请求中包括查询对象,如容器应用的容器实例的信息,具体地,如容器应用的容器实例的标识信息。容器应用的容器实例的标识信息可以唯一确定一个容器实例,如可以是容器实例IP或者容器实例名称等。
dump文件包括文件名称,dump文件的文件名称是按照一定的命名规则生成的。dump文件格式可以以txt格式存在,也可以其他格式存在。如dump文件的命名规则为:容器实例所属应用名称_容器实例的IP.日期时间.txt。举例进行说明,如某一个dump文件的名称为:appid-container_ip. 2018-01-11-200233.txt,其中,container_ip可以是某个具体的容器实例的IP。 dump文件的命名规则还可以是其他的命名规则,文件格式还可以是其他的文件格式,如.dmp格式。
S102,根据所述dump文件查询请求,调用预设dump文件查询接口,以通过所述预设dump文件查询接口确定与所述容器实例的标识信息匹配的目标 dump文件。
其中,预设dump文件查询接口是由开发人员开发,可以以一个显示界面的形式存在。在一实施例中,如调用预设dump文件查询接口时,在该显示界面上可以显示该容器应用的所有容器实例的dump文件,其中,每个容器实例对应有一个dump文件,所有容器实例的dump文件可以以文件列表的形式显示,如此文件列表中有多个dump文件;根据dump文件查询请求中的容器实例的标识信息从所有容器实例的dump文件中查找该容器实例的dump文件,将该容器实例的dump文件作为目标dump文件。其中,可根据dump文件的名称可以查找该容器实例的dump文件。在一实施例中,如调用预设dump文件查询接口时,在该显示界面上只显示容器实例的标识信息所对应的dump文件,如此,文件列表中只有该容器实例的dump文件,那么文件列表中的该容器实例的dump 文件即为目标dump文件。
需要注意的是,容器应用的每个容器实例对应一个进程,一个进程包括有一个或者多个线程,而dump文件是进程的内存镜像。因此,dump文件记录的是容器应用出现异常时,容器实例的一个或者多个线程在异常时刻的运行状态信息。如此,可以一个dump文件中记录一次异常时刻的运行状态信息,由于引起多次异常的错误可能存在有关联,如此,在后续分析中将该容器实例的多个异常时刻所对应的dump文件进行分析,如此,目标dump文件对应有多个;一个dump文件也可以记录多次异常时刻的运行状态信息,那么目标dump文件对应有一个或者多个。
S103,分析所述目标dump文件,以生成dump分析文件,并在所述dump 分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。
dump分析文件包括文件名称,dump分析文件的文件名称是按照一定的命名规则生成的。dump分析文件可以以txt格式存在。如dump分析文件的命名规则为:容器实例所属应用名称_容器实例的IP.日期时间.analysis.txt。举例进行说明,如某一个dump分析文件的名称为:appid-container_ip. 2018-01-11-200233.analysis.txt。dump文件的命名规则还可以是其他的命名规则,文件格式还可以是其他的文件格式,在此不作具体限定。
在一实施例中,如图2所示,步骤S103包括S201-S202。
S201,读取预设脚本分析文件。
预设脚本分析文件中包括了分析目标dump文件的脚本。预设脚本分析文件是预先编写的文件,通过该预设脚本分析文件,可以分析目标dump文件,如此,也可以理解为预设脚本分析文件中保存的是分析目标dump文件的程序代码。
S202,根据所述预设脚本分析文件,分析所述目标dump文件,以生成dump 分析文件,并在dump分析文件中对潜在异常的位置进行标注,以进行异常的定位和分析。
可以理解地,执行预设脚本分析文件,以分析目标dump文件,生成dump 分析文件,并在dump分析文件中对潜在异常的位置进行标注。如此,以完成对潜在异常位置的标注,以方便用户对异常的进一步定位和分析。
上述步骤S201-S202实现的功能是调用并读取预设脚本分析文件,并执行所调用的预设脚本分析文件,来分析目标dump文件,以生成dump分析文件。
在一实施例中,如图3所示,步骤S202包括以下步骤S301-S305。图3中所示的步骤即是利用预设脚本分析文件来实现的。
S301,根据所述预设脚本分析文件,读取所述目标dump文件中的堆栈信息。
由于dump文件记录的是容器应用出现异常时,容器实例的一个或者多个线程在异常时刻的运行状态信息。在异常时刻容器实例的多个线程中有异常运行的运行状态信息,也可能有正常运行的运行状态信息。其中,异常运行的运行状态信息包括程序执行中可能出现的各种异常情况,如程序运行出现waiting 状态、程序运行出现错误如出现挂起无响应等等。因此,目标dump文件中包括线程异常运行的运行状态信息、正常运行的运行状态信息。一个运行状态信息对应一个堆栈信息,每个线程的运行状态信息包括一个或者多个堆栈信息。目标dump文件中有多个堆栈信息,通过堆栈信息可获取程序的运行状态信息。
S302,计算堆栈信息的相似度,并根据堆栈信息的相似度统计属于同一相似度的堆栈信息的数量。
可以通过每个堆栈信息的行数来确定堆栈信息的相似度,还可以结合每个堆栈信息的段首头部内容(如第一行内容)来确定堆栈信息的相似度。
在一实施例中,如图4所示,步骤S302包括以下步骤S401-S403。
S401,统计每个堆栈信息所对应的段落的行数。
每个堆栈信息对应一个段落,即以一个段落的方式来显示一个堆栈信息。具体地,首先定位每个堆栈信息的起始位置和结束位置。如对于每个堆栈信息的起始位置,若检测到某段字符串与预设格式匹配,如可定义每个堆栈信息开头以“某某”开始,那么若检测到某段字符串的开始部分有“”,则认为是堆栈信息的起始位置,如若检测到空行之后的第一个字符串,则认为该第一个字符串即为堆栈信息的起始位置,还可以通过其他的方式定位每个堆栈信息的起始位置。对于每个堆栈信息的结束位置,则若检测到空行则认为是该堆栈信息的结束位置,还可以通过其他的方式定位每个堆栈信息的结束位置。然后统计每个段落的行数,可以理解地,每个堆栈信息中有至少一行的信息。
S402,获取预设的多个相似度所对应的行数范围。
每个相似度对应一个行数范围,多个相似度对应多个行数范围。如将行数范围为[7、8]确定为相似度A,将行数范围为[9、10]确定为相似度B等。在一实施例中,行数范围中也可以只有一个行数信息,如此,每个相似度对应一个行数,多个相似度对应多个行数,如将行数为7的确定为相似度A,将行数为 8的确定为相似度B。
S403,根据预设的多个相似度所对应的行数范围、所统计的堆栈信息的行数确定所统计的堆栈信息所属的相似度,并统计同一相似度的堆栈信息的数量。
若两个堆栈信息的行数在某一个相似度所对应的行数范围内,则认为该两个堆栈信息的相似度相同。可以理解地,若两个堆栈信息的行数在某一个相似度所对应的行数范围内,则认为该两个堆栈信息类似。可以理解地,程序运行的过程中,产生异常的原因有很多,而产生每个异常时的堆栈信息也存在很大差异,若两个堆栈信息所对应的段落的长度相差不大,那么就有可能是同一个原因或者同一个问题而导致的异常;至于段落行数较少的堆栈信息,则认为是正常运行的堆栈信息,与异常分析无关。根据每个堆栈信息的行数来统计每个堆栈信息所属的相似度,并统计同一相似度的堆栈信息的数量。
如此,根据堆栈信息所对应的段落的行数来统计同一相似度的堆栈信息。
在一实施例中,在步骤S403中对应的所述根据预设的多个相似度所对应的行数范围、所统计的堆栈信息的行数确定所统计的堆栈信息所属的相似度之后,所述方法还包括:将所确定的堆栈信息所属的相似度确定为初始相似度,检测同一初始相似度的多个堆栈信息所对应的段落中的段首头部内容的匹配度是否达到预设匹配度,若达到预设匹配度,将达到预设匹配度的堆栈信息作为同一堆栈信息,将同一堆栈信息确定为同一相似度的堆栈信息。
其中,段首头部内容可以是一个堆栈信息所对应的段落的第一行的内容,将多个段落的第一行的内容所对应的词组或者单词进行匹配,若匹配度达到预设匹配度,如预设匹配度是60%,其中,预设匹配度=(相同的词语数量或者单词数量)/(第一行内容中的最大的词语数量或者单词数量),则认为多个段落所对应的堆栈信息是同一堆栈信息。也可以理解为,该多个堆栈信息产生的异常很有可能是由于同一个原因或者同一个问题而导致的异常。
该实施例进一步通过堆栈信息所对应的段落的行数和堆栈信息段首头部内容的匹配度来确定同一相似度的堆栈信息。即堆栈信息所对应的段落的行数在同一个行数范围内,且堆栈信息段首头部内容的匹配度达到预设匹配度,则认为是同一相似度的堆栈信息;堆栈信息所对应的段落的行数在同一个行数范围内,但是堆栈信息段首头部内容的匹配度未达到预设匹配度,则该种情况下的每个堆栈信息对应一个相似度。该种同一相似度的堆栈信息的确定方法较为准确,提高了潜在异常分析的准确率。
S303,将同一相似度的堆栈信息,以及同一相似度的堆栈信息的数量写入到文件中,以生成dump分析文件。
其中,同一相似度的堆栈信息有多个。在一实施例中,可以将多个同一相似度的堆栈信息的其中一个作为该相似度的堆栈信息,并写入到dump分析文件中。同时将同一相似度的堆栈信息的数量也写入到dump分析文件中。如此,每个相似度都会对应有一个堆栈信息被写入到dump分析文件中。因此,dump 分析文件中的堆栈信息的数量会大大减少,根据dump分析文件中的堆栈信息进行潜在异常的确定时,也会减少确定潜在异常的时间,提高了确定潜在异常的速度和效率。另外一方面,确定相似度时考虑了堆栈信息的行数,如此,按照相似度写dump分析文件时,相近行数的堆栈信息会放在一起,为最终定位异常提供方便,如可能出现潜在异常的就是在行数较多的那一些堆栈信息中,如此,定位异常时只需要集中在行数较多的那一些堆栈信息中即可。可以理解地,堆栈信息的行数越多,出现异常的可能性越大。可以理解为,一般情况下,若某个堆栈信息中出现了异常,则会抛出异常以及出现异常可能存在的原因,如此,导致该堆栈信息的行数比正常运行的堆栈信息的行数要多。
S304,确定所述dump分析文件中存在潜在异常的位置。
可根据异常关键字匹配或者是其他的方式来确定dump分析文件中可能存在异常的位置区域。
在一实施例中,如图5所示,步骤S304包括以下步骤S501-S503。
S501,获取预设异常关键字。
即将一些常规的、非常规的异常关键字预先统计和整理,作为预设异常关键字,如fat lock、waiting、error等,并将预设异常关键字保存在数据库中。从数据库中获取保存的预设异常关键字。
S502,遍历所述dump分析文件,检测所述dump分析文件中是否存在与预设异常关键字匹配的词。
即遍历dump分析文件,将dump分析文件中的每一个段落与预设异常关键字进行匹配,以检测dump分析文件中是否存在与预设异常关键字匹配的词。
S503,若存在与预设异常关键字匹配的词,则将与预设异常关键字匹配的词所在的位置作为存在潜在异常的位置。
可以理解地,若堆栈信息中能匹配到预设异常关键词,那么预设异常关键词所在的位置存在异常的可能性比较大。将异常关键字匹配的词所在的位置作为存在潜在异常的位置。若一个堆栈信息中匹配到多个异常关键字,那么将该多个异常关键字匹配的词所在的位置作为潜在异常的位置。
该实施例通过与预设异常关键词匹配的方式来确定存在潜在异常的位置。
在一实施例中,将与预设异常关键字匹配的词所在的位置作为存在潜在异常的位置之后,所述方法还包括:将该关键字所包括的报错解决方法,追加到 dump分析文件中。如追加到该关键字所对应的段落之后。可以以注释的方式追加,还可以其他的方式追加。如此,直接从dump分析文件中就可以获取报错解决方法,以提高异常解决的速度。
在一实施例中,如图6所示,步骤S304包括以下步骤S601-S603。
S601,统计所述dump分析文件中每个堆栈信息所对应的段落长度。
具体地,可统计每个堆栈信息中所对应的段落中的字符数。其中,空格、数字、字符串、标点符号、其他字符等都会进行统计。每个段落以回车符/空行作为结束标志。即若检测到回车符/空行,则结束该段落长度的统计。
S602,对每个段落的段落长度是否超过预设长度进行判断。
预设长度是根据经验值所得,如以往出现异常的段落的段落长度的最低值,也可以根据其他方式得出预设长度。若段落的段落长度未超过预设长度,则不进行任何处理。若段落的段落长度超过预设长度,执行步骤S603。
S603,将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置。
根据经验信息所得,堆栈信息中某一个段落的长度特别长,那么该段落中存在异常的可能性比较大。即堆栈信息的行数越多,出现异常的可能性越大。
将段落长度超过预设长度的段落所在的位置确定为存在潜在异常的位置,包括将段落长度超过预设长度的整个段落作为存在潜在异常的位置,或者将段落长度超过预设长度的段落的某一位置,如起始位置(如第一行)作为存在潜在异常的位置等。
在一实施例中,将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置,包括:定位段落长度超过预设长度的每个段落中的出现潜在异常的函数位置,将所述函数位置确定为潜在异常的位置。在dump文件中或者是dump分析文件中,函数是以预设格式出现的。在dump分析文件中查找函数所对应的预设格式,将预设格式出现的位置作为函数所在的位置,并将所有函数中第一个函数作为潜在异常的函数。如函数以函数名(x,y)出现,无论具体地的函数名是什么,只要出现有完整的(),则确定为函数。如此,查找dump分析文件中的出现的完整的(),将()前面的函数名以及()的位置作为函数所在的位置。在其他实施例中,也可以按照函数的其他标志来定位函数出现的位置。将该段落中第一个函数作为潜在异常的函数,将该段落中第一个函数位置作为潜在异常的位置。可以理解地,堆栈信息所对应的段落中的第一个函数通常是引发异常的初始函数。
该实施例中通过堆栈信息所对应的段落的行数来确定潜在异常的位置。将段落长度超过预设长度的段落作为存在潜在异常的位置,进一步的,将段落长度超过预设长度的段落中的出现潜在异常的函数位置确定为潜在异常的位置。
在一实施例中,将预设异常关键字匹配和段落长度的检测一起来确定dump 分析文件中存在潜在异常的位置,即将与预设异常关键字匹配的词作为存在潜在异常的位置,同时也将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置。如此,可较为全面的定位dump分析文件中存在潜在异常的位置。
S305,对所述dump分析文件中存在潜在异常的位置进行标注,以进行异常的定位和分析。
对潜在异常的位置进行标注,如标注为高亮显示、如加上下划线、如加粗等等。对潜在异常的位置进行标注,以方便查看存在潜在异常的位置,方便用户进一步核查、分析和定位异常。
以上步骤S301-S305自动实现对目标dump文件进行统计分析,以得到 dump分析文件,并自动对dump分析文件进行数据处理,以定位出潜在异常的位置。
上述方法实施例自动地对目标dump文件进行统计和分析,以生成dump 分析文件,并在dump分析文件中定位出潜在异常并进行标注,自动的分析目标dump文件,提高了定位潜在异常的速度和效率,无需相关人员一个一个的查看每个堆栈信息并定位堆栈信息中的潜在异常,提高了用户的体验。另外上述方法实施例提供了预设dump文件查询接口,如此,可直接通过预设dump 文件查询接口来查询目标dump文件,无需通过命令登陆到容器并通过命令来获取容器中的目标dump文件,通过预设dump文件查询接口使得信息透明,方便快捷,提高了用户的体验。
图7是本申请实施例提供的利用dump文件定位异常的装置的示意性框图。该装置包括用于执行上述利用dump文件定位异常的方法所对应的单元。如图7 所示,该利用dump文件定位异常的装置100包括请求获取单元101、目标文件确定单元102、标注单元103。
请求获取单元101,用于若接收到dump文件查询请求,获取所述dump文件查询请求中的容器实例的标识信息;
目标文件确定单元102,用于根据所述dump文件查询请求,调用预设dump 文件查询接口,以通过所述预设dump文件查询接口确定与所述容器实例的标识信息匹配的目标dump文件;
标注单元103,用于分析所述目标dump文件,以生成dump分析文件,并在所述dump分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。
在一实施例中,分析标注单元103包括读取单元、分析标注单元。其中,读取单元,用于读取预设脚本分析文件。分析标注单元,用于根据所述预设脚本分析文件,分析所述目标dump文件,以生成dump分析文件,并在dump分析文件中对潜在异常的位置进行标注,以进行异常的定位和分析。
在一实施例中,如图8所示,分析标注单元200包括堆栈读取单元201、相似度计算单元202、生成单元203、定位单元204以及异常标注单元205。其中,堆栈读取单元201,用于根据所述预设脚本分析文件,读取所述目标dump 文件中的堆栈信息。相似度计算单元202,用于计算堆栈信息的相似度,并根据堆栈信息的相似度统计属于同一相似度的堆栈信息的数量。生成单元203,用于将同一相似度的堆栈信息,以及同一相似度的堆栈信息的数量写入到文件中,以生成dump分析文件。定位单元204,用于确定所述dump分析文件中存在潜在异常的位置。异常标注单元205,用于对所述dump分析文件中存在潜在异常的位置进行标注,以进行异常的定位和分析。
在一实施例中,如图9所示,相似度计算单元202包括行数统计单元301、范围获取单元302、相似度计算统计单元303。其中,行数统计单元301,用于统计每个堆栈信息的行数。范围获取单元302,用于获取预设的多个相似度所对应的行数范围。相似度计算统计单元303,用于根据预设的多个相似度所对应的行数范围、所统计的堆栈信息的行数确定所统计的堆栈信息所属的相似度,并统计同一相似度的堆栈信息的数量。在一实施例中,相似度计算单元303,还用于将所确定的堆栈信息所属的相似度确定为初始相似度,检测同一初始相似度的多个堆栈信息所对应的段落中的段首头部内容的匹配度是否达到预设匹配度,若达到预设匹配度,将达到预设匹配度的堆栈信息作为同一堆栈信息,将同一堆栈信息确定为同一相似度的堆栈信息。
在一实施例中,如图10所示,定位单元204包括关键字获取单元401、关键字匹配单元402、异常定位单元403。其中,关键字获取单元401,用于获取预设异常关键字。关键字匹配单元402,用于遍历所述dump分析文件,检测所述dump分析文件中是否存在与预设异常关键字匹配的词。异常定位单元403,用于若存在与预设异常关键字匹配的词,则将与预设异常关键字匹配的词所在的位置作为存在潜在异常的位置。在一实施例中,如图10所示,定位单元204 还包括追加单元404。其中,追加单元404,用于将该关键字所包括的报错解决方法,追加到dump分析文件中。
在一实施例中,如图11所示,定位单元204包括长度统计单元501、长度判断单元502、异常定位单元503。其中,长度统计单元501,用于统计所述dump 分析文件中每个堆栈信息所对应的段落长度。长度判断单元502,用于对每个段落的段落长度是否超过预设长度进行判断。异常定位单元503,用于将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置。进一步的,异常定位单元503,用于定位段落长度超过预设长度的每个段落中的出现潜在异常的函数位置,将所述函数位置确定为潜在异常的位置。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图12 所示的计算机设备上运行。
图12为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备100包括通过系统总线101连接的处理器102、存储器和网络接口103,其中,存储器可以包括非易失性存储介质 104和内存储器105。
该非易失性存储介质104可存储操作系统1041和计算机程序1042。该非易失性存储介质中所存储的计算机程序1042被处理器102执行时,可实现上述终端中所述的利用dump文件定位异常的方法。该处理器102用于提供计算和控制能力,支撑整个设备100的运行。该内存储器105为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器102执行时,可使得处理器102执行上述终端中所述的利用dump文件定位异常的方法。该网络接口 103用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器102用于运行存储在存储器中的计算机程序,以实现上述利用dump文件定位异常的方法的任一实施例。
应当理解,在本申请实施例中,所称处理器102可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现上述利用dump文件定位异常的方法的任一实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种利用dump文件定位异常的方法,其特征在于,所述方法包括:
若接收到dump文件查询请求,获取所述dump文件查询请求中的容器实例的标识信息;
根据所述dump文件查询请求,调用预设dump文件查询接口,以通过所述预设dump文件查询接口确定与所述容器实例的标识信息匹配的目标dump文件;
分析所述目标dump文件,以生成dump分析文件,并在所述dump分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。
2.根据权利要求1所述的方法,其特征在于,所述分析所述目标dump文件,以生成dump分析文件,并在所述dump分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析,包括:
读取预设脚本分析文件;
根据所述预设脚本分析文件,分析所述目标dump文件,以生成dump分析文件,并在dump分析文件中对潜在异常的位置进行标注,以进行异常的定位和分析。
3.根据权利要求2所述的方法,其特征在于,所述根据所述预设脚本分析文件,分析所述目标dump文件,以生成dump分析文件,并在dump分析文件中对潜在异常的位置进行标注,以进行异常的定位和分析,包括:
根据所述预设脚本分析文件,读取所述目标dump文件中的堆栈信息;
计算堆栈信息的相似度,并根据堆栈信息的相似度统计属于同一相似度的堆栈信息的数量;
将同一相似度的堆栈信息,以及同一相似度的堆栈信息的数量写入到文件中,以生成dump分析文件;
确定所述dump分析文件中存在潜在异常的位置;
对所述dump分析文件中存在潜在异常的位置进行标注,以进行异常的定位和分析。
4.根据权利要求3所述的方法,其特征在于,所述确定所述dump分析文件中存在潜在异常的位置,包括:
获取预设异常关键字;
遍历所述dump分析文件,检测所述dump分析文件中是否存在与预设异常关键字匹配的词;
若存在与预设异常关键字匹配的词,则将与预设异常关键字匹配的词所在的位置作为存在潜在异常的位置。
5.根据权利要求3所述的方法,其特征在于,所述确定所述dump分析文件中存在潜在异常的位置,包括:
统计所述dump分析文件中每个堆栈信息所对应的段落的段落长度;
对每个段落的段落长度是否超过预设长度进行判断;
将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置。
6.根据权利要求5所述的方法,其特征在于,所述将段落长度超过预设长度的每个段落所在的位置确定为存在潜在异常的位置,包括:
定位段落长度超过预设长度的每个段落中的出现潜在异常的函数位置,将所述函数位置确定为潜在异常的位置。
7.根据权利要求3所述的方法,其特征在于,所述计算堆栈信息的相似度,并根据堆栈信息的相似度统计属于同一相似度的堆栈信息的数量,包括:
统计每个堆栈信息的行数;
获取预设的多个相似度所对应的行数范围;
根据预设的多个相似度所对应的行数范围、所统计的堆栈信息的行数确定所统计的堆栈信息所属的相似度,并统计同一相似度的堆栈信息的数量。
8.一种利用dump文件定位异常的装置,其特征在于,所述利用dump文件定位异常的装置包括:
请求获取单元,用于若接收到dump文件查询请求,获取所述dump文件查询请求中的容器实例的标识信息;
目标文件确定单元,用于根据所述dump文件查询请求,调用预设dump文件查询接口,以通过所述预设dump文件查询接口确定与所述容器实例的标识信息匹配的目标dump文件;
分析标注单元,用于分析所述目标dump文件,以生成dump分析文件,并在所述dump分析文件中对存在潜在异常的位置进行标注,以进行异常的定位和分析。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
CN201910402767.XA 2019-05-15 2019-05-15 利用dump文件定位异常的方法、装置、计算机设备及存储介质 Active CN110262870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910402767.XA CN110262870B (zh) 2019-05-15 2019-05-15 利用dump文件定位异常的方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910402767.XA CN110262870B (zh) 2019-05-15 2019-05-15 利用dump文件定位异常的方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110262870A true CN110262870A (zh) 2019-09-20
CN110262870B CN110262870B (zh) 2024-06-28

Family

ID=67914637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910402767.XA Active CN110262870B (zh) 2019-05-15 2019-05-15 利用dump文件定位异常的方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110262870B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666491A (zh) * 2020-04-28 2020-09-15 平安科技(深圳)有限公司 异常数据查询方法、装置、计算机设备及存储介质
CN114003390A (zh) * 2021-11-16 2022-02-01 平安养老保险股份有限公司 一种确定异常线程的方法、装置、计算机设备及存储介质
CN114818645A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 基于数据主体的自动化报告生成方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327809A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Domain-specific guidance service for software development
US20100115066A1 (en) * 2008-10-31 2010-05-06 International Business Machines Corporation Internet small computer systems interface (iscsi) software target boot and dump routing driver
CN103473045A (zh) * 2013-08-27 2013-12-25 广州华多网络科技有限公司 一种生成接口文档的方法及装置
CN108255719A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种应用程序dump文件获取方法、装置及电子设备
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN109358975A (zh) * 2018-09-28 2019-02-19 珠海市君天电子科技有限公司 一种软件运行异常的分析方法、装置、电子设备及存储介质
CN109491733A (zh) * 2018-09-26 2019-03-19 平安医疗健康管理股份有限公司 基于可视化的界面显示方法及相关设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327809A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Domain-specific guidance service for software development
US20100115066A1 (en) * 2008-10-31 2010-05-06 International Business Machines Corporation Internet small computer systems interface (iscsi) software target boot and dump routing driver
CN103473045A (zh) * 2013-08-27 2013-12-25 广州华多网络科技有限公司 一种生成接口文档的方法及装置
CN108255719A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种应用程序dump文件获取方法、装置及电子设备
CN108762886A (zh) * 2018-05-08 2018-11-06 烽火通信科技股份有限公司 虚拟机的故障检测恢复方法及系统
CN109491733A (zh) * 2018-09-26 2019-03-19 平安医疗健康管理股份有限公司 基于可视化的界面显示方法及相关设备
CN109358975A (zh) * 2018-09-28 2019-02-19 珠海市君天电子科技有限公司 一种软件运行异常的分析方法、装置、电子设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666491A (zh) * 2020-04-28 2020-09-15 平安科技(深圳)有限公司 异常数据查询方法、装置、计算机设备及存储介质
CN111666491B (zh) * 2020-04-28 2024-05-03 平安科技(深圳)有限公司 异常数据查询方法、装置、计算机设备及存储介质
CN114003390A (zh) * 2021-11-16 2022-02-01 平安养老保险股份有限公司 一种确定异常线程的方法、装置、计算机设备及存储介质
CN114818645A (zh) * 2022-06-29 2022-07-29 深圳红途科技有限公司 基于数据主体的自动化报告生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110262870B (zh) 2024-06-28

Similar Documents

Publication Publication Date Title
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
US7917528B1 (en) Contextual display of query refinements
US10169471B2 (en) Generating and executing query language statements from natural language
CN109241358A (zh) 元数据管理方法、装置、计算机设备及存储介质
CN110262870A (zh) 利用dump文件定位异常的方法、装置、计算机设备及存储介质
US11860717B1 (en) Graphical user interface for presenting crash data
CN109271315B (zh) 脚本代码检测方法、装置、计算机设备及存储介质
US20220052976A1 (en) Answer text processing methods and apparatuses, and key text determination methods
WO2010042112A1 (en) Analyzing events
CN107992523A (zh) 移动应用的功能选项查找方法及终端设备
CN109800269A (zh) 数据管理方法、装置、计算机设备及存储介质
CN114416667A (zh) 快速分享网盘文件的方法、装置、网盘及存储介质
WO2024087751A1 (zh) 在线文档编辑区域定位方法、装置、服务器及存储介质
CN108564462A (zh) 征信数据的获取方法、终端设备及介质
CN112100092B (zh) 一种信息缓存方法、装置、设备及介质
KR100717242B1 (ko) 디버깅 정보를 제공하는 에러 관리 시스템 및 이를 이용한에러 관리 방법
CN106358220B (zh) 异常联系人信息的检测方法、装置及系统
CN117610073A (zh) 一种数据脱敏方法、装置、电子设备以及存储介质
CN111522626B (zh) 一种虚拟机列表生成方法、装置及电子设备
CN112966011A (zh) 数据展示方法、装置、电子设备和介质
CN106407126A (zh) 覆盖率数据的处理方法、装置和服务器
JP2011158969A (ja) 系列生成プログラム、系列生成方法、および系列生成装置
JP2006155064A (ja) 情報処理装置及び同装置に用いるプログラム
CN111258628A (zh) 一种规则文件比对方法、装置、可读存储介质及终端设备
CN114818645B (zh) 基于数据主体的自动化报告生成方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant