CN112631913B - 应用程序的运行故障监控方法、装置、设备和存储介质 - Google Patents

应用程序的运行故障监控方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112631913B
CN112631913B CN202011546667.3A CN202011546667A CN112631913B CN 112631913 B CN112631913 B CN 112631913B CN 202011546667 A CN202011546667 A CN 202011546667A CN 112631913 B CN112631913 B CN 112631913B
Authority
CN
China
Prior art keywords
abnormal
application program
state information
data
key
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.)
Active
Application number
CN202011546667.3A
Other languages
English (en)
Other versions
CN112631913A (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 Bank Co Ltd
Original Assignee
Ping An Bank 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 Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202011546667.3A priority Critical patent/CN112631913B/zh
Publication of CN112631913A publication Critical patent/CN112631913A/zh
Application granted granted Critical
Publication of CN112631913B publication Critical patent/CN112631913B/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/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种应用程序的运行故障监控方法、装置、设备和存储介质,所述方法包括:通过预先设置的埋点获取所述应用程序生成的日志信息;利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;根据所述运行状态信息判断所述应用程序是否正常运行;根据判断结果采取相应的处理措施。本申请的方法通过埋点获取日志信息,利用数据字典对日志信息进行处理,从而获取到运行状态信息,根据运行状态信息判断应用程序是否正常运行,从而有效地实现了用户或者研发人员可以及时了解并掌握应用程序的运行状态,并在应用程序异常运行时,开发或者工作人员可以及时对应用程序进行管理与维护,从而有效地保证了应用程序的正常运行。

Description

应用程序的运行故障监控方法、装置、设备和存储介质
技术领域
本发明涉及应用软件安全技术领域,特别是涉及应用程序的运行故障监控方法、装置、设备和存储介质。
背景技术
在时代不断发展的大环境下,手机等智能终端越来越广泛,应用程序在银行等场景的使用愈发广泛。尤其APP软件广泛应用在银行等各项业务中,应用程序已经成为各行各业不可或缺的高频率使用的工具。技术发展日新月异,业务场景的复杂多变,实际应用时总避免不了出现一些运行问题。应用程序一旦在实际应用中出现故障,用户的权益直接受影响,波及关联面甚广,业务执行无法进行。因此,如何更好地保证应用程序的质量稳定和安全,成了行内持续需要研究和关注的课题。针对这一课题,应用程序开发者需要更进一步提升技术水平,针对性地发明创新,制作一些开发辅助工具及方案,以此排查减少故障最大化地保障软件使用的稳定和安全。
目前业内现有APP故障排查方案,一般是通过应用程序上报日志数据,进而起到监控和分析问题的作用,以便工作人员通过日志数据排查故障。工作人员人工方式检测日志数据进行故障定位及排查,工作量大,效率低,不能快速及时地对应用程序进行维护,从而影响了业务执行效率,对业务执行造成了很大影响,给用户造成损失。
发明内容
基于此,有必要针对人工方式检测日志数据进行故障定位及排查,工作量大,效率低,不能快速及时地对应用程序进行维护的问题,提供一种应用程序的运行故障监控方法、装置、设备和存储介质。
一种应用程序的运行故障监控方法,包括:
通过预先设置的埋点获取所述应用程序生成的日志信息;
利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;
根据所述运行状态信息判断所述应用程序是否正常运行;
若所述判断结果为应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
若所述判断结果为应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将所述运行状态信息发送至与该应用程序相连接的服务器。
在其中一个实施例中,所述根据运行状态信息判断应用程序是否正常运行,包括:
将运行状态信息与预先设置的标准运行状态阈值进行分析对比;
若运行状态信息在标准运行状态阈值的范围内,则确定应用程序运行正常;
若运行状态信息超出标准运行状态阈值的范围则确定应用程序运行异常。
在其中一个实施例中,所述利用预先设置的数据字典分析处理日志信息,获取应用程序运行状态信息,包括:
获取日志信息中存储的事件记录数据;
从所述事件记录数据中分解出事件关键词;
从所述数据字典中查找所述事件关键词的具体含义;
根据查找到的具体含义确定所述应用程序的运行状态信息。
在其中一个实施例中,所述根据判断结果采取相应的处理措施,还包括:
若判断结果为应用程序运行异常,则发送告警信息并获取运行状态信息中的故障特征数据;故障特征数据包括预设的业务标记和故障代码;
根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码;
将所述故障特征数据以及所述相匹配的故障原因代码发送至与该应用程序相连接的服务器。
在其中一个实施例中,所述根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码,包括:
根据所述预先设置的业务标记、故障代码与故障原因代码的对应关系,获取与故障特征数据中的业务标记和故障代码匹配的下一层业务标记和故障原因代码,再根据该对应关系,找到与下一层业务标记和故障原因代码匹配的再下一层业务标记和故障原因代码,循环递归,直到匹配到最后一级业务标记和故障原因代码。
在其中一个实施例中,所述根据判断结果采取相应的处理措施,包括:
若判断的结果为所述应用程序运行异常,则从所述运行状态信息中获取异常状态信息;所述异常状态信息包括至少一种异常数据;
根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量;
展示任一异常数据以及与该异常数据对应的异常状态信息数量。
在其中一个实施例中,所述根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量,包括:
当所述异常数据包括异常时间和异常业务名称时,以异常时间为第一键,以异常业务名称为第二键,统计与所述第一键的键值以及所述第二键的键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称以及异常调用方法名称时,以异常时间以及异常业务名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常描述信息、异常调用栈信息和异常IP地址时,以异常时间、异常业务名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
一种应用程序的运行故障监控装置,包括:
第一获取模块,用于通过预先设置的埋点获取所述应用程序生成的日志信息;
第二获取模块,用于利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;
判断模块,用于根据所述运行状态信息判断所述应用程序是否正常运行;
处理模块,用于:
若所述判断结果为应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
若所述判断结果为应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将所述运行状态信息发送至与该应用程序相连接的服务器。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述应用程序的运行故障监控方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述应用程序的运行故障监控方法的步骤。
上述应用程序的运行故障监控方法、装置、设备和存储介质,通过埋点获取日志信息,利用数据字典对日志信息进行处理,从而获取到运行状态信息,根据运行状态信息判断应用程序是否正常运行,从而有效地实现了用户或者研发人员可以及时了解并掌握应用程序的运行状态,并在应用程序异常运行时,开发或者工作人员可以及时对应用程序进行管理与维护,从而有效地保证了应用程序的正常运行,保证了用户的良好体验性,进而提高了该方法的实用性,有利于市场的推广与应用。
附图说明
图1为一个实施例中提供的应用程序的运行故障监控方法的流程图;
图2为图1所对应实施例的一实施方式中步骤S30的流程图;
图3为图1所对应实施例的一实施方式中步骤S40的流程图;
图4为图1所对应实施例的另一实施方式中步骤S40的流程图;
图5为一个实施例中提供的应用程序的运行故障监控装置的结构框图;
图6为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请实施例提供的一种应用程序的运行故障监控方法,用于对应用程序APP的运行状态进行及时有效地监控,以便能够在运行过程中发生故障时及时采取措施,从而确保应用程序稳定运行,具体地,如图1所示,该方法包括:
S10、通过预先设置的埋点获取应用程序生成的日志信息。
其中,对于埋点设置的具体位置不做限定,本领域技术人员可以根据具体的设计需求进行设置,而由于一般的应用程序均会包括多个界面,例如包括一级界面、二级界面和三级界面等等。为了保证埋点可以准确有效地获取应用程序生成的日志信息,可以将埋点设置于接口处,进而能够通过接口监控获取到应用程序的日志信息。
另外,日志信息为应用程序运行时所生成的数据信息。在某些实施方式中,为了避免日志信息的内容过多,可以将日志信息中存储的数据信息设置为经过简化处理后的代码信息,以便有效减小日志信息中存储数据所占用的内容和空间,有效地保证了对日志信息进行分析处理的效率。
S20、利用预先设置的数据字典分析处理日志信息,获取应用程序运行状态信息。
数据字典是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。由于日志信息中存储的为经过减缓处理后的代码信息,因此,在对日志信息进行分析处理时,可以利用预先设置的数据字典对日志信息进行分析处理,其中,数据字典中存储有经过简化处理后的代码信息以及与上述代码信息相对应的具体含义信息。
在某些实施方式中,步骤S20包括以下步骤:
S201、获取日志信息中存储的事件记录数据。
在一个具体的例子中,上述日志信息中存储的事件记录数据为OnSubmit-postUrl(1-4)-Map。
S202、从事件记录数据中分解出事件关键词。
例如,从事件记录数据中分解出事件关键词OnSubmit、postUrl(1-4)和Map。
S203、从数据字典中查找上述事件关键词的具体含义。
上述的例子中,利用数据字典对事件关键词进行分析处理可知,OnSubmit、postUrl(1-4)以及Map的具体含义分别为点击提交的动作、调用Url接口以及Map对象。
S204、根据查找到的具体含义确定应用程序的运行状态信息。
根据上述的例子,可以确定此时应用程序的运行状态信息为:用户点击了提交按钮,并有参数传递,调用的接口是postUrl,使用的是POST请求。
在上述具体的例子中,上述日志信息中存储的事件记录数据为OnSubmit-postUrl(1-4)-Map,从事件记录数据中分解出事件关键词OnSubmit、postUrl(1-4)和Map,那么利用数据字典对日志信息进行分析处理可知,其中OnSubmit、postUrl(1-4)以及Map的具体含义,即可确定此时应用程序的运行状态信息为:用户点击了提交按钮,并有参数传递,调用的接口是postUrl,使用的是POST请求。
另外,在对日志信息进行分析处理之后,可以通过分析处理结果获取到应用程序的运行状态信息。本实施例对于运行状态信息的具体内容不做限定,本领域技术人员可以根据具体的设计需求进行设置,优选地,可以将应用程序运行状态信息设置为包括:用户输入的执行操作、接收用户执行操作的目标应用程序、目标应用程序的运行数据、调用的接口以及应用程序占用的手机内存信息,这样有效地保证了用户可以随时掌握应用程序的运行状态。
S30、根据运行状态信息判断应用程序是否正常运行。
如图2所示,在某些实施方式中,步骤S30包括:
S301:将运行状态信息与预先设置的标准运行状态阈值进行分析对比;
其中,标准运行状态阈值为预先设置的,该标准运行状态阈值表示为在应用程序正常运行时的数据运行区间或者数值门限值,即在该标准运行状态阈值范围或者数值门限值范围内,应用程序正常运行,当超过标准运行状态阈值范围或者数值门限值范围,则说明该应用程序异常运行。
S302:若运行状态信息在标准运行状态阈值的范围内,则确认应用程序运行正常。
在某些实施方式中,将标准运行状态阈值设置为数据运行区间,通过对运行状态信息和标准运行状态阈值进行分析比较,若运行状态信息在标准运行状态阈值的范围内,则可以确认应用程序运行正常。
S303:若运行状态信息超出标准运行状态阈值的范围,则确定应用程序运行异常,运行异常即出现故障。
例如,当应用程序的处理进程数据较多时,应用程序出现卡死或者崩溃的情况等等,即应用程序运行异常。
通过将运行状态信息与标准运行状态阈值进行分析比较,可以准确有效地判断应用程序是否正常运行,有效地保证了该方法使用的稳定可靠性。
S40、根据判断结果采取相应的处理措施。
在某些实施方式中,步骤S40包括:
1)若应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
2)若应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将运行状态信息发送至与该应用程序相连接的服务器,以便于让用户或者研发人员及时了解应用程序的运行状态,便于研发人员及时对应用程序进行维护或处理,从而保证应用程序的正常运行。
如图3所示,在某些实施方式中,步骤S40包括:
S401、若判断结果为应用程序运行异常,则发送告警信息并获取运行状态信息中的故障特征数据。故障特征数据包括预设的业务标记和故障代码。
故障代码是预先设定的。在具体应用中,可以预先枚举设定各种故障代码(故障代码简称故障码,即code)来代表应用程序运行时的各种故障。例如,DB_CONNECT_FAILED,代表数据库连接失败;WIFI_CONNECT_FAILED,代表无法连接到网络;CXYXCC,代表程序运行出错。业务标记也可以称为业务标识,用于标记应用程序所执行的各种业务。例如,当用户在应用程序的一级界面选择“租房”时,可以认为应用程序需要执行租房业务。又例如,当用户在应用程序的二级页面选择“合租”时,可以认为应用程序需要执行合租业务。业务标记可以采用预先设定的代码来标记对应的业务。
当判断结果为应用程序运行异常时,则说明此时需要对应用程序进行管理与维护,需要采取措施处理故障,以保证应用程序的正常运行。
具体地,为了方便用户(此时的用户为研发人员或者维护人员等)获取到该应用程序的运行状态,将运行状态信息发送至服务器处,为了使得用户可以及时获取到该应用程序的运行状态,可以将用户发送告警提示信息。
具体地,在某些实施方式中可以通过预先设置的声光告警装置进行声光告警提醒,或者向用户所带的移动终端发送短信息、向用户邮箱发送邮件等提醒信息等等方式,只要能够使得用户根据告警提醒信息及时获取到应用程序的异常工作状态即可,这样可以有效地保证用户可以在第一时间根据告警提醒信息对应用程序进行维护与管理,进而保证了应用程序可以尽早恢复正常,进一步保证了用户的良好体验性。
当判断结果为应用程序正常运行时,则无需向用户发送提醒信息,只要保存所采集的日志信息即可,并保持应用程序的正常运行状态,从而提高了该应用程序运行的稳定可靠性,提高了用户的良好体验性。
S402,根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码。故障原因代码的数目可以为一个或多于一个。
在实际应用中,根据故障特征数据中的故障代码可能不能确定最终的故障原因,需要对故障特征数据中的故障代码进行分析,找到最终的故障原因。因此,在实施例中,可以预先设置业务标记、故障代码与故障原因代码的对应关系,在获取到故障特征数据后,从该对应关系中找到与故障特征数据中的业务标记和故障代码相匹配的故障原因代码。在具体应用中,与业务标记和故障代码相匹配的故障原因代码可能是一个,也可能是多个。
例如,如果运行故障代码=数据库连接失败(DB_CONNECT_FAILED),从这个故障代码并不能直接分析得到出现故障的真实原因,而在预先设置的对应关系中,匹配该故障代码的故障原因代码的集合为{操作系统故障、数据库故障、硬件设备故障、网络故障}。可能出现问题的操作系统、数据库、硬件设备、网络可以根据故障特征数据中的业务标记来确定,即该业务标记所对应的业务在执行时所用到的操作系统、数据库、硬件设备、网络可能出现问题。
在本实施例的某些实施方式中,为了方便对故障特征数据进行准确的识别,故障特征数据中除了包含业务标记和故障代码以外,还可以包括时间戳(时间戳用于指示应用程序发生运行故障的时间),通过该时间戳可以确定发生故障的时间,可以更方便地对故障进行定位。
在某些实施方式中,与故障特征数据中的业务标记和故障代码匹配的业务标记和故障原因代码可能也不能定位最终的故障原因,因此,还需要进一步进行匹配,以找到最终的故障原因。因此,在该实施方式中,在S402中,可以根据所述预先设置的业务标记、故障代码与故障原因代码的对应关系,获取与故障特征数据中的业务标记和故障代码匹配的下一层业务标记和故障原因代码,再根据该对应关系,找到与下一层业务标记和故障原因代码匹配的再下一层业务标记和故障原因代码,循环递归,直到匹配到最后一级业务标记和故障原因代码。
S403,将所述故障特征数据以及所述相匹配的故障原因代码发送至与该应用程序相连接的服务器,以便于让用户或者研发人员及时了解应用程序的故障状态,便于研发人员及时对应用程序的故障进行处理,从而保证应用程序的正常运行。
通过该可选实施方式,可以将当前运行异常定位到最终故障原因,以便于处理故障。
如图4所示,在某些实施方式中,步骤S40包括:
S401’、若判断的结果为所述应用程序运行异常,则从所述运行状态信息中获取异常状态信息。所述异常状态信息包括至少一种异常数据。
异常状态信息中携带的异常数据包括以下至少一种:异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常IP地址、异常描述信息和异常调用栈信息中的任意一种或几种。其中:异常时间指的是发生异常的时间,一般用时间戳来表示,异常时间以秒或分为单位。异常业务名称指的是发生异常的业务的名称。异常接口名称指的是发生异常的接口的名称。异常调用方法名称指的是发生异常的调用方法的名称,在本实施例中,异常调用方法名称包括发生异常的类名与对应的方法名。异常IP地址指的是发生异常的应用程序所在节点的IP(Internet Protocol,网络之间互连的协议)地址。
S402’、根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量。聚合指的是根据数据的特点进行合并或统计,使数据针对性较强、对故障处理较为有利。
具体地,步骤S402’包括:
当异常数据包括异常时间和异常业务名称时,以异常时间为第一键,以异常业务名称为第二键,统计与第一键的键值以及第二键的键值对应的异常状态信息数量。
例如:在hbase数据库中,可将行键作为第一键,将列键作为第二键。所述键值指的是键的具体取值,例如:异常时间为第一键时,具体的异常时间t1、t2均为第一键的键值。所述异常状态信息数量是指与异常业务名称、异常时间对应的异常状态信息数量,即从上一异常时间(以该异常时间为起点)到该异常时间,该应用程序的异常次数。
当异常数据包括异常时间、异常业务名称、异常接口名称以及异常调用方法名称时,以异常时间以及异常业务名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
具体应用中,可以将异常业务名称对应的MD5码或哈希码与异常时间结合,作为第一键。这样就生成了方法维度的聚合数据。
例如,当异常数据包括异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常描述信息、异常调用栈信息和异常IP地址时,以异常时间、异常业务名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
例如,可以将异常业务名称、异常接口名称及异常调用方法名称组合,通过哈希算法生成哈希码,将该哈希码与异常时间结合,作为第一键;将异常描述信息与异常调用栈信息组合,通过哈希算法生成哈希码,将该哈希码与异常IP地址结合,作为第二键。通过上述步骤,生成了IP维度的聚合数据。
S403’:展示任一异常数据以及与该异常数据对应的异常状态信息数量,以便于用户根据所展示的异常数据以及对应的异常状态信息数量来处理应用程序的故障。展示指的是将数据以人类易于感知的形式输出。
基于聚合后的异常状态信息,展示与任一异常时间以及任一异常业务名称对应的异常状态信息数量,得到应用维度展示信息。实际应用中,可以以图、表等方式输出应用维度展示信息。基于聚合后的异常状态信息,展示与任一异常接口名称以及任一调用方法名称对应的异常状态信息数量,得到方法维度展示信息。基于聚合后的异常状态信息,展示与任一异常描述信息、任一异常调用栈信息以及任一异常IP地址对应的异常状态信息数量,得到IP维度展示信息。
通过将异常状态信息与业务数据隔离并完整输出,使得日志数据量大幅减小,解决了现有技术中异常状态信息与业务数据耦合、系统维护不便、日志查询效率较低的技术问题;通过对输出的异常状态信息进行数据过滤,进一步减小了日志数据量;通过对异常状态信息进行多种维度的聚合统计,为后续的数据分析与故障点定位提供支持,解决了现有技术中异常状态信息无法聚合分析、从而无法确定故障点的技术问题;通过从多种维度展示异常状态信息,实现了快速发现并定位故障点、同时提供获得故障原因的必要数据的技术效果,解决了现有技术中人工查询效率较低、无法及时发现并准确定位故障点、难以获得故障原因的技术问题。
本实施例提供的应用程序运行状态的监控方法,通过埋点获取日志信息,利用数据字典对日志信息进行处理,从而获取到运行状态信息,根据运行状态信息判断应用程序是否正常运行,从而有效地实现了用户或者研发人员可以及时了解并掌握应用程序的运行状态,并在应用程序异常运行时,开发或者工作人员可以及时对应用程序进行管理与维护,从而有效地保证了应用程序的正常运行,保证了用户的良好体验性,进而提高了该方法的实用性,有利于市场的推广与应用。
如图5所示,在一个实施例中,提供了一种应用程序的运行故障监控装置,包括:
第一获取模块10,用于通过预先设置的埋点获取所述应用程序生成的日志信息;
第二获取模块20,用于利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;
判断模块30,用于根据所述运行状态信息判断所述应用程序是否正常运行;
处理模块40,用于根据判断结果采取相应的处理措施。
在某些实施方式中,所述判断模块,包括:
对比单元,用于将运行状态信息与预先设置的标准运行状态阈值进行分析对比;
确定单元,用于若运行状态信息在标准运行状态阈值的范围内,则确定应用程序运行正常;
该确定单元,还用于若运行状态信息超出标准运行状态阈值的范围则确定应用程序运行异常。
在某些实施方式中,所述处理模块具体用于:
若判断结果为应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
若判断结果为应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将所述运行状态信息发送至与该应用程序相连接的服务器。
在某些实施方式中,所述处理模块包括:
第一发送单元,用于若判断结果为应用程序运行异常,则发送告警信息并获取运行状态信息中的故障特征数据;故障特征数据包括预设的业务标记和故障代码;
获取单元,用于根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码;
第二发送单元,用于将所述故障特征数据以及所述相匹配的故障原因代码发送至与该应用程序相连接的服务器。
在某些实施方式中,所述获取单元具体用于:
根据所述预先设置的业务标记、故障代码与故障原因代码的对应关系,获取与故障特征数据中的业务标记和故障代码匹配的下一层业务标记和故障原因代码,再根据该对应关系,找到与下一层业务标记和故障原因代码匹配的再下一层业务标记和故障原因代码,循环递归,直到匹配到最后一级业务标记和故障原因代码。
在某些实施方式中,所述处理模块包括:
第一获取单元,用于若判断的结果为所述应用程序运行异常,则从所述运行状态信息中获取异常状态信息;所述异常状态信息包括至少一种异常数据;
第二获取单元,用于根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量;
展示单元,用于展示任一异常数据以及与该异常数据对应的异常状态信息数量。
在某些实施方式中,第二获取单元,具体用于:
当所述异常数据包括异常时间和异常业务名称时,以异常时间为第一键,以异常业务名称为第二键,统计与所述第一键的键值以及所述第二键的键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称以及异常调用方法名称时,以异常时间以及异常业务名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常描述信息、异常调用栈信息和异常IP地址时,以异常时间、异常业务名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
如图6所示,在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的应用程序的运行故障监控方法。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种应用程序的运行故障监控方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种应用程序的运行故障监控方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施方式的应用程序的运行故障监控方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等易失性存储介质。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种应用程序的运行故障监控方法,其特征在于,包括:
通过预先设置的埋点获取所述应用程序生成的日志信息;
利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;
根据所述运行状态信息判断所述应用程序是否正常运行;
若判断结果为应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
若所述判断结果为应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将所述运行状态信息发送至与该应用程序相连接的服务器,从所述运行状态信息中获取异常状态信息;根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量;展示任一异常数据以及与该异常数据对应的异常状态信息数量;所述异常状态信息包括至少一种异常数据;
所述根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量,包括:
当所述异常数据包括异常时间和异常业务名称时,以异常时间为第一键,以异常业务名称为第二键,统计与所述第一键的键值以及所述第二键的键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称以及异常调用方法名称时,以异常时间以及异常业务名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常描述信息、异常调用栈信息和异常IP地址时,以异常时间、异常业务名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述运行状态信息判断所述应用程序是否正常运行,包括:
将运行状态信息与预先设置的标准运行状态阈值进行分析对比;
若运行状态信息在标准运行状态阈值的范围内,则确定应用程序运行正常;
若运行状态信息超出标准运行状态阈值的范围则确定应用程序运行异常。
3.根据权利要求1所述的方法,其特征在于,所述利用预先设置的数据字典分析处理日志信息,获取所述应用程序运行状态信息,包括:
获取日志信息中存储的事件记录数据;
从所述事件记录数据中分解出事件关键词;
从所述数据字典中查找所述事件关键词的具体含义;
根据查找到的具体含义确定所述应用程序的运行状态信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述判断结果为应用程序运行异常,则获取运行状态信息中的故障特征数据;故障特征数据包括预设的业务标记和故障代码;
根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码;
将所述故障特征数据以及所述相匹配的故障原因代码发送至与该应用程序相连接的服务器。
5.根据权利要求4所述的方法,其特征在于,所述根据预先设置的对应关系,获取与所述故障特征数据相匹配的故障原因代码,包括:
根据所述预先设置的业务标记、故障代码与故障原因代码的对应关系,获取与故障特征数据中的业务标记和故障代码匹配的下一层业务标记和故障原因代码,再根据该对应关系,找到与下一层业务标记和故障原因代码匹配的再下一层业务标记和故障原因代码,循环递归,直到匹配到最后一级业务标记和故障原因代码。
6.一种应用程序的运行故障监控装置,其特征在于,包括:
第一获取模块,用于通过预先设置的埋点获取所述应用程序生成的日志信息;
第二获取模块,用于利用预先设置的数据字典分析处理所述日志信息,获取所述应用程序的运行状态信息;
判断模块,用于根据所述运行状态信息判断所述应用程序是否正常运行;
处理模块,用于:
若判断结果为应用程序运行正常,则保持应用程序的运行并存储运行状态信息;
若所述判断结果为应用程序运行异常,则停止应用程序的运行,同时发送告警指示信息并将所述运行状态信息发送至与该应用程序相连接的服务器,从所述运行状态信息中获取异常状态信息;根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量;展示任一异常数据以及与该异常数据对应的异常状态信息数量;所述异常状态信息包括至少一种异常数据;
所述根据异常数据对异常状态信息进行聚合,获取与任一异常数据对应的异常状态信息数量,包括:
当所述异常数据包括异常时间和异常业务名称时,以异常时间为第一键,以异常业务名称为第二键,统计与所述第一键的键值以及所述第二键的键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称以及异常调用方法名称时,以异常时间以及异常业务名称为第一键,以异常接口名称以及异常调用方法名称为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量;
当异常数据包括异常时间、异常业务名称、异常接口名称、异常调用方法名称、异常描述信息、异常调用栈信息和异常IP地址时,以异常时间、异常业务名称、异常接口名称以及异常调用方法名称为第一键,以异常描述信息、异常调用栈信息以及异常IP地址为第二键,统计与第一键键值以及第二键键值对应的异常状态信息数量。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项权利要求所述应用程序的运行故障监控方法的步骤。
8.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项权利要求所述应用程序的运行故障监控方法的步骤。
CN202011546667.3A 2020-12-23 2020-12-23 应用程序的运行故障监控方法、装置、设备和存储介质 Active CN112631913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011546667.3A CN112631913B (zh) 2020-12-23 2020-12-23 应用程序的运行故障监控方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011546667.3A CN112631913B (zh) 2020-12-23 2020-12-23 应用程序的运行故障监控方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112631913A CN112631913A (zh) 2021-04-09
CN112631913B true CN112631913B (zh) 2024-02-02

Family

ID=75324245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011546667.3A Active CN112631913B (zh) 2020-12-23 2020-12-23 应用程序的运行故障监控方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112631913B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034493A (zh) * 2021-04-19 2021-06-25 广州绿怡信息科技有限公司 摄像检测模型训练方法及摄像检测方法
CN113268377A (zh) * 2021-04-25 2021-08-17 山东英信计算机技术有限公司 一种异常状态数据备份方法、系统及存储介质
CN113329222B (zh) * 2021-05-25 2023-03-28 广州绿怡信息科技有限公司 摄像功能检测方法及装置
CN114036032A (zh) * 2022-01-10 2022-02-11 北京搜狐互联网信息服务有限公司 一种实时程序的监控方法及装置
CN115225472A (zh) * 2022-07-29 2022-10-21 深圳市星卡软件技术开发有限公司 一种日志采集方法、装置和计算机设备
CN117149787B (zh) * 2023-08-31 2024-03-26 广州万融数据服务有限公司 基于大数据的关键信息抓取与展示方法
CN117499216B (zh) * 2023-12-29 2024-04-12 珠海格力电器股份有限公司 物联网设备的状态预警方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109482753A (zh) * 2018-12-19 2019-03-19 广东省智能机器人研究院 一种用于胀管过程中的异常压力监测系统和方法
KR101962238B1 (ko) * 2017-11-30 2019-03-27 신진욱 전자장비 내 이상 유무를 감지하는 센서 모니터링 시스템
CN111209213A (zh) * 2020-02-14 2020-05-29 深圳开源互联网安全技术有限公司 应用程序运行时的异常检测方法及系统、设备及存储介质
CN111984499A (zh) * 2020-08-04 2020-11-24 中国建设银行股份有限公司 一种大数据集群的故障检测方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522703B (zh) * 2019-02-01 2023-08-11 伊姆西Ip控股有限责任公司 监控访问请求的方法、设备和计算机程序产品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962238B1 (ko) * 2017-11-30 2019-03-27 신진욱 전자장비 내 이상 유무를 감지하는 센서 모니터링 시스템
CN109482753A (zh) * 2018-12-19 2019-03-19 广东省智能机器人研究院 一种用于胀管过程中的异常压力监测系统和方法
CN111209213A (zh) * 2020-02-14 2020-05-29 深圳开源互联网安全技术有限公司 应用程序运行时的异常检测方法及系统、设备及存储介质
CN111984499A (zh) * 2020-08-04 2020-11-24 中国建设银行股份有限公司 一种大数据集群的故障检测方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web前端实时异常监控与报警平台的设计与实现;徐江伟;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第01期);I140-861 *

Also Published As

Publication number Publication date
CN112631913A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112631913B (zh) 应用程序的运行故障监控方法、装置、设备和存储介质
CN111475370A (zh) 基于数据中心的运维监控方法、装置、设备及存储介质
CN110908883B (zh) 用户画像数据监控方法、系统、设备及存储介质
CN108304704A (zh) 权限控制方法、装置、计算机设备和存储介质
CN110232006B (zh) 设备告警方法及相关装置
CN111767173A (zh) 网络设备数据处理方法、装置、计算机设备和存储介质
CN109684863B (zh) 数据防泄漏方法、装置、设备及存储介质
CN108304276B (zh) 一种日志处理方法、装置及电子设备
CN113672456A (zh) 应用平台的模块化自监听方法、系统、终端及存储介质
CN107885634B (zh) 监控中异常信息的处理方法和装置
CN108650123B (zh) 故障信息记录方法、装置、设备和存储介质
CN112235128B (zh) 一种交易路径分析方法、装置、服务器及存储介质
CN110941632A (zh) 一种数据库审计方法、装置及设备
CN112256532A (zh) 测试界面生成方法、装置、计算机设备及可读存储介质
CN110011845B (zh) 日志采集方法及系统
CN112182025A (zh) 日志分析方法、装置、设备与计算机可读存储介质
CN111752838A (zh) 问题排查方法、装置、服务器及存储介质
CN112966056B (zh) 一种信息处理方法、装置、设备、系统及可读存储介质
CN115629919A (zh) 一种快速故障系统切换的方法及装置
CN112612679A (zh) 系统运行状态监控方法、装置、计算机设备和存储介质
KR20180118869A (ko) 통합 보안 이상징후 모니터링 시스템
CN110362464B (zh) 软件分析方法及设备
KR20120070179A (ko) 통신 시스템 모니터링 방법 및 이를 위한 장치
CN111835566A (zh) 一种系统故障管理方法、装置及系统
CN117155772B (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