CN108762966A - ***异常拦截方法、装置、计算机设备及存储介质 - Google Patents

***异常拦截方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN108762966A
CN108762966A CN201810569335.3A CN201810569335A CN108762966A CN 108762966 A CN108762966 A CN 108762966A CN 201810569335 A CN201810569335 A CN 201810569335A CN 108762966 A CN108762966 A CN 108762966A
Authority
CN
China
Prior art keywords
exception
abnormal
information
occurs
extremely
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.)
Pending
Application number
CN201810569335.3A
Other languages
English (en)
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 Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201810569335.3A priority Critical patent/CN108762966A/zh
Publication of CN108762966A publication Critical patent/CN108762966A/zh
Pending legal-status Critical Current

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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • 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/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种***异常拦截方法、装置、计算机设备及存储介质。该方法包括:在数据访问层和业务逻辑层中预先配置异常捕获机制;若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。该方法在***发生异常后,自动定位异常信息并发送至指定联系端,实现了***故障的快速定位和排障。

Description

***异常拦截方法、装置、计算机设备及存储介质
技术领域
本申请涉及***异常处理技术领域,尤其涉及一种***异常拦截方法、装置、计算机设备及存储介质。
背景技术
目前,用户在使用智能终端的过程中,若终端上搭载的***出现异常,需要用户联系相关技术人员进行沟通处理,这一沟通过程耗费时间较长,很大程度影响用户使用***的体验。而且技术人员在接收到用户的反馈之后,还需要和上报人沟通,还原异常现场,也很难定位到问题原因。
发明内容
本申请提供了一种***异常拦截方法、装置、计算机设备及存储介质,旨在解决现有技术中终端上搭载的***出现异常,需要用户联系相关技术人员进行沟通处理,才能定位异常现场,导致异常定位困难,且排除故障效率低下的问题。
第一方面,本申请提供了一种***异常拦截方法,其包括:
在数据访问层和业务逻辑层中预先配置异常捕获机制;
若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;
解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;
将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
第二方面,本申请提供了一种***异常拦截装置,其包括:
配置单元,用于在数据访问层和业务逻辑层中预先配置异常捕获机制;
异常捕获单元,用于若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;
异常解析单元,用于解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;
异常报告生成单元,用于将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
第三方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的***异常拦截方法。
第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的***异常拦截方法。
本申请提供一种***异常拦截方法、装置、计算机设备及存储介质。该方法通过在数据访问层和业务逻辑层中预先配置异常捕获机制;若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。该方法在***发生异常后,自动定位异常信息并发送至指定联系端,实现了***故障的快速定位和排障。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种***异常拦截方法的示意流程图;
图2为本申请实施例提供的一种***异常拦截方法的另一示意流程图;
图3为本申请实施例提供的一种***异常拦截方法的子流程示意图;
图4为本申请实施例提供的一种***异常拦截方法的另一示意流程图;
图5为本申请实施例提供的一种***异常拦截装置的示意性框图;
图6为本申请实施例提供的一种***异常拦截装置的另一示意性框图;
图7为本申请实施例提供的一种***异常拦截装置的子单元示意性框图;
图8为本申请实施例提供的一种***异常拦截装置的另一示意性框图;
图9为本申请实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1是本申请实施例提供的一种***异常拦截方法的示意流程图。该方法应用于台式电脑、手提电脑、平板电脑等终端中。如图1所示,该方法包括步骤S101~S104。
S101、在数据访问层和业务逻辑层中预先配置异常捕获机制。
在一实施例中,所述异常捕获机制为try-catch拦截机制;所述异常捕获机制中通过try语句进行异常检测,若try语句中检测到异常,将异常通过throw语句抛出至***。
在本实施例中,数据访问层是Java的三层构架中的DAO(即Data Access Object,表示数据存取对象)层,其位于业务逻辑和持久化数据之间,实现对持久化数据的访问。
业务逻辑层是Java的三层构架中的Service层,其从DAO层获取了数据后进行对应的数据处理并传输个Java三层构架中的UI层以面向客户。
在数据访问层和业务逻辑层中配置的异常捕获机制为try-catch拦截机制,即是在***的架构层面上设置拦截机制,有效的捕获***的各种异常。在try-catch拦截机制中,使用try、throw、catch三个关键字来实现异常处理。try后面的复合语句称为受保护段,受保护段的代码有可能出现异常,因此在try部分进行异常检测。如果检测到异常,就通过throw语句抛掷这个异常。受保护段所调用的函数中也可以检测和抛掷异常。所抛掷的异常,可以是一个整数、一个字符串、一个变量,甚至是一个类的对象。也就是说,异常是有不同类型的。
catch部分的作用是捕获异常和处理异常。每个catch后的括弧内,都要指定一个“异常类型”,表明它可以捕获哪种类型的异常。一旦捕获到异常,就通过异常处理语句来进行处理。程序执行的流程有两种:1)没有异常:try→受保护语句→其他语句;2)有异常:try→受保护语→throw异常→catch异常处理语句。即若未设置try-catch拦截机制,程序中出现异常会导致程序崩溃,而try则可以保证程序正常运行下去,同时会输出程序中导致崩溃的原因。
在一实施例中,如图2所示,步骤S101或S102之前还包括:
S1001、定义一权限注解;
S1002、在控制器的方法上添加所述权限注解;
S1003、在控制器中定义***类,并在***类中对应配置***。
在本实施例中,除了在数据访问层和业务逻辑层中预先配置异常捕获机制,还需在Java的控制器中定义***类,以实现***的底层框架中所述捕获和抛出的异常,能被***所捕获到。其中,控制器可以视为本申请中可访问数据访问层和业务逻辑层的异常拦截程序中所包括的功能模块,在控制器的方法中添加权限注解(权限注解限定了异常拦截程序的***监控范围,也即异常拦截程序能监控***中哪些类型的异常,不能监控***中哪些类型的异),能实现对权限范围内的所有异常进行监控。
S102、若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息。
在本实施例中,Java里的***是动态拦截Action调用的对象(Action层的作用是引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理,其中Struts是开源框架)。它提供了一种机制可以使开发者可以定义在一个Action层执行的前后执行的代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分的方式。
当***检测到异常捕获机制中无异常抛出时则放行;若检测到异常捕获机制中有异常抛出时,则通过***将catch中抛出的异常进行拦截,并获取异常信息。异常信息包括异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息等信息。异常信息是异常捕获机制中有异常抛出时,异常中包括的一些常规信息。通过***获取了异常信息,便于技术人员在排障时能快速定位故障位置。
S103、解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
在本实施例中,通过解析异常信息对应的Log4j输出日志,来快速获取异常捕获机制中抛出异常所对应异常信息。其中,异常发生路径是指异常产生所对应的相对路径或绝对路径;异常发生时间是指异常产生所对应的***时间;异常发生对应的日志信息是指异常产生时***中记录的日志;异常发生的操作人员信息是指异常产生时所获取到操作当前***的用户信息,该异常发生的操作人员信息至少包括操作人员的登录账号,即通过识别操作人员登录***时所使用的账号来获取异常发生时的操作人员信息。
在一实施例中,如图3所示,步骤S103包括:
S1031、获取异常信息对应的Log4j输出日志;
S1032、通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;
S1033、通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
Log4j是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。很多程序员经常会使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况:使用"DEBUG"等级输出会类似System.out.println,开发后期不需要输出调试时可以把等级根据需要调高,如调到"ERROR"等级,只有出错错误时才输出。
try/except指令主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错、数据除零错误、从未定义的变量上取值等;IO指令则可以获取try/except指令所不能获取的其他信息。通过对异常进行进行解析,能快速获取异常信息所包括的各种详细信息,无需使用***的用户来通过专业的知识来获取。
S104、将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
在一实施例中,所述异常报告模板中至少包括四个填充区域,分别记为异常发生路径填充区域、异常发生时间填充区域、异常发生对应的日志信息填充区域、及异常发生的操作人员信息填充区域;如图4所示,S104中所述将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告的另一实施例为:
S104a、所述将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告;将异常报告中的每一填充区域进行内容填充检测,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,将已标注的异常报告发送至所述指定联系端。
在本实施例中,当解析获取了异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息,需将上述信息填充至异常报告模板中对应区域以生成异常报告模板。为了更精确的生成易读性高的异常报告模板,可以将异常发生路径填充至异常发生路径填充区域,将异常发生时间填充至异常发生时间填充区域,将异常发生对应的日志信息填充至异常发生对应的日志信息填充区域,将异常发生的操作人员信息填充至异常发生的操作人员信息填充区域,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,经过上述处理后,即可快速生成可读性高的异常报告,发送至所述指定联系端(技术人员预留的联系方式,如邮箱地址,电话号码,QQ号,微信号等),及时通知技术人员进行故障排除。
可见,该方法在***发生异常后,自动定位异常信息并发送至指定联系端,实现了***故障的快速定位和排障。
本申请实施例还提供一种***异常拦截装置,该***异常拦截装置用于执行前述***异常拦截方法的任一实施例。具体地,请参阅图5,图5是本申请实施例提供的一种***异常拦截装置的示意性框图。***异常拦截装置100可以配置于台式电脑、平板电脑、手提电脑、等终端中。
如图5所示,***异常拦截装置100包括配置单元101、异常捕获单元102、异常解析单元103、及异常报告生成单元104。
配置单元101,用于在数据访问层和业务逻辑层中预先配置异常捕获机制。
在一实施例中,所述异常捕获机制为try-catch拦截机制;所述异常捕获机制中通过try语句进行异常检测,若try语句中检测到异常将异常通过throw语句抛出至***。
在本实施例中,数据访问层是Java的三层构架中的DAO(即Data Access Object,表示数据存取对象)层,其位于业务逻辑和持久化数据之间,实现对持久化数据的访问。
业务逻辑层是Java的三层构架中的Service层,其从DAO层获取了数据后进行对应的数据处理并传输个Java三层构架中的UI层以面向客户。
在数据访问层和业务逻辑层中配置的异常捕获机制为try-catch拦截机制,即是在***的架构层面上设置拦截机制,有效的捕获***的各种异常。在try-catch拦截机制中,使用try、throw、catch三个关键字来实现异常处理。try后面的复合语句称为受保护段,受保护段的代码有可能出现异常,因此在try部分进行异常检测。如果检测到异常,就通过throw语句抛掷这个异常。受保护段所调用的函数中也可以检测和抛掷异常。所抛掷的异常,可以是一个整数、一个字符串、一个变量,甚至是一个类的对象。也就是说,异常是有不同类型的。
catch部分的作用是捕获异常和处理异常。每个catch后的括弧内,都要指定一个“异常类型”,表明它可以捕获哪种类型的异常。一旦捕获到异常,就通过异常处理语句来进行处理。程序执行的流程有两种:1)没有异常:try→受保护语句→其他语句;2)有异常:try→受保护语→throw异常→catch异常处理语句。即若未设置try-catch拦截机制,程序中出现异常会导致程序崩溃,而try则可以保证程序正常运行下去,同时会输出程序中导致崩溃的原因。
在一实施例中,如图6所示,***异常拦截装置100还包括:
注解定义单元1001,用于定义一权限注解;
注解增加单元1002,用于在控制器的方法上添加所述权限注解;
***配置单元1003,用于在控制器中定义***类,并在***类中对应配置***。
在本实施例中,除了在数据访问层和业务逻辑层中预先配置异常捕获机制,还需在Java的控制器中定义***类,以实现***的底层框架中所述捕获和抛出的异常,能被***所捕获到。其中,控制器可以视为本申请中可访问数据访问层和业务逻辑层的异常拦截程序中所包括的功能模块,在控制器的方法中添加权限注解(权限注解限定了异常拦截程序的***监控范围,也即异常拦截程序能监控***中哪些类型的异常,不能监控***中哪些类型的异),能实现对权限范围内的所有异常进行监控。
异常捕获单元102,用于若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息。
在本实施例中,Java里的***是动态拦截Action调用的对象(Action层的作用是引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理,其中Struts是开源框架)。它提供了一种机制可以使开发者可以定义在一个Action层执行的前后执行的代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分的方式。
当***检测到异常捕获机制中无异常抛出时则放行;若检测到异常捕获机制中有异常抛出时,则通过***将catch中抛出的异常进行拦截,并获取异常信息。异常信息包括异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息等信息。异常信息是异常捕获机制中有异常抛出时,异常中包括的一些常规信息。通过***获取了异常信息,便于技术人员在排障时能快速定位故障位置。
异常解析单元103,用于解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
在本实施例中,通过解析异常信息对应的Log4j输出日志,来快速获取异常捕获机制中抛出异常所对应异常信息。其中,异常发生路径是指异常产生所对应的相对路径或绝对路径;异常发生时间是指异常产生所对应的***时间;异常发生对应的日志信息是指异常产生时***中记录的日志;异常发生的操作人员信息是指异常产生时所获取到操作当前***的用户信息,该异常发生的操作人员信息至少包括操作人员的登录账号,即通过识别操作人员登录***时所使用的账号来获取异常发生时的操作人员信息。
在一实施例中,如图7所示,异常解析单元103包括:
输出日志获取单元1031,用于获取异常信息对应的Log4j输出日志;
第一获取单元1032,用于通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;
第二获取单元1033,用于路径定位单元,用于通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
Log4j是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。很多程序员经常会使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况:使用"DEBUG"等级输出会类似System.out.println,开发后期不需要输出调试时可以把等级根据需要调高,如调到"ERROR"等级,只有出错错误时才输出。
try/except指令主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错、数据除零错误、从未定义的变量上取值等;IO指令则可以获取try/except指令所不能获取的其他信息。通过对异常进行进行解析,能快速获取异常信息所包括的各种详细信息,无需使用***的用户来通过专业的知识来获取。
异常报告生成单元104,用于将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
在一实施例中,所述异常报告模板中至少包括四个填充区域,分别记为异常发生路径填充区域、异常发生时间填充区域、异常发生对应的日志信息填充区域、及异常发生的操作人员信息填充区域;如图8所示,异常报告生成单元104的另一实施例为:
异常报告标注单元104a,用于所述将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告;将异常报告中的每一填充区域进行内容填充检测,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,将已标注的异常报告发送至所述指定联系端。
在本实施例中,当解析获取了异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息,需将上述信息填充至异常报告模板中对应区域以生成异常报告模板。为了更精确的生成易读性高的异常报告模板,可以将异常发生路径填充至异常发生路径填充区域,将异常发生时间填充至异常发生时间填充区域,将异常发生对应的日志信息填充至异常发生对应的日志信息填充区域,将异常发生的操作人员信息填充至异常发生的操作人员信息填充区域,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,经过上述处理后,即可快速生成可读性高的异常报告,发送至所述指定联系端(技术人员预留的联系方式,如邮箱地址,电话号码,QQ号,微信号等),及时通知技术人员进行故障排除。
可见,该装置在***发生异常后,自动定位异常信息并发送至指定联系端,实现了***故障的快速定位和排障。
上述***异常拦截装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500设备可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。
参阅图9,该计算机设备500包括通过***总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作***5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种***异常拦截方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种***异常拦截方法。
该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:在数据访问层和业务逻辑层中预先配置异常捕获机制;若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
在一实施例中,处理器502还执行如下操作:所述异常捕获机制为try-catch拦截机制;所述异常捕获机制中通过try语句进行异常检测,若try语句中检测到异常将异常通过throw语句抛出至***。
在一实施例中,处理器502还执行如下操作:定义一权限注解;在控制器的方法上添加所述权限注解;在控制器中定义***类,并在***类中对应配置***。
在一实施例中,处理器502还执行如下操作:获取异常信息对应的Log4j输出日志;通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
在一实施例中,处理器502还执行如下操作:所述异常报告模板中至少包括四个填充区域,分别记为异常发生路径填充区域、异常发生时间填充区域、异常发生对应的日志信息填充区域、及异常发生的操作人员信息填充区域;将异常报告中的每一填充区域进行内容填充检测,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,将已标注的异常报告发送至所述指定联系端。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请的另一实施例中提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:在数据访问层和业务逻辑层中预先配置异常捕获机制;若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
在一实施例中,该程序指令被处理器执行时实现:所述异常捕获机制为try-catch拦截机制;所述异常捕获机制中通过try语句进行异常检测,若try语句中检测到异常将异常通过throw语句抛出至***。
在一实施例中,该程序指令被处理器执行时实现:定义一权限注解;在控制器的方法上添加所述权限注解;在控制器中定义***类,并在***类中对应配置***。
在一实施例中,该程序指令被处理器执行时实现:获取异常信息对应的Log4j输出日志;通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
在一实施例中,该程序指令被处理器执行时实现:所述异常报告模板中至少包括四个填充区域,分别记为异常发生路径填充区域、异常发生时间填充区域、异常发生对应的日志信息填充区域、及异常发生的操作人员信息填充区域;将异常报告中的每一填充区域进行内容填充检测,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,将已标注的异常报告发送至所述指定联系端。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种***异常拦截方法,其特征在于,包括:
在数据访问层和业务逻辑层中预先配置异常捕获机制;
若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;
解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;
将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
2.根据权利要求1所述的***异常拦截方法,其特征在于,所述异常捕获机制为try-catch拦截机制;
所述异常捕获机制中通过try语句进行异常检测,若try语句中检测到异常将异常通过throw语句抛出至***。
3.根据权利要求1所述的***异常拦截方法,其特征在于,所述若通过预先配置的***检测到异常捕获机制中有异常抛出之前,包括:
定义一权限注解;
在控制器的方法上添加所述权限注解;
在控制器中定义***类,并在***类中对应配置***。
4.根据权利要求1所述的***异常拦截方法,其特征在于,所述解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息,包括:
获取异常信息对应的Log4j输出日志;
通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;
通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
5.根据权利要求1所述的***异常拦截方法,其特征在于,所述异常报告模板中至少包括四个填充区域,分别记为异常发生路径填充区域、异常发生时间填充区域、异常发生对应的日志信息填充区域、及异常发生的操作人员信息填充区域;
所述将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告之后,还包括:
将异常报告中的每一填充区域进行内容填充检测,若异常报告中存在空白区域,将异常报告未完成的区域进行高亮标注,将已标注的异常报告发送至所述指定联系端。
6.一种***异常拦截装置,其特征在于,包括:
配置单元,用于在数据访问层和业务逻辑层中预先配置异常捕获机制;
异常捕获单元,用于若通过预先配置的***检测到异常捕获机制中有异常抛出,获取异常信息;
异常解析单元,用于解析异常信息中所包括的异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息;
异常报告生成单元,用于将异常发生路径、异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息填充至预设设置的异常报告模板,生成异常报告,将异常报告发送至预设的指定联系端。
7.根据权利要求6所述的***异常拦截装置,其特征在于,还包括:
注解定义单元,用于定义一权限注解;
注解增加单元,用于在控制器的方法上添加所述权限注解;
***配置单元,用于在控制器中定义***类,并在***类中对应配置***。
8.根据权利要求6所述的***异常拦截装置,其特征在于,所述异常解析单元,包括:
输出日志获取单元,用于获取异常信息对应的Log4j输出日志;
第一获取单元,用于通过try-except指令来获取Log4j输出日志中异常发生路径try-except指令来获取Log4j输出日志中异常发生路径;
第二获取单元,用于路径定位单元,用于通过IO指令来获取Log4j输出日志中异常发生时间、异常发生对应的日志信息、及异常发生的操作人员信息。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的***异常拦截方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的***异常拦截方法。
CN201810569335.3A 2018-06-05 2018-06-05 ***异常拦截方法、装置、计算机设备及存储介质 Pending CN108762966A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810569335.3A CN108762966A (zh) 2018-06-05 2018-06-05 ***异常拦截方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810569335.3A CN108762966A (zh) 2018-06-05 2018-06-05 ***异常拦截方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN108762966A true CN108762966A (zh) 2018-11-06

Family

ID=63999858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810569335.3A Pending CN108762966A (zh) 2018-06-05 2018-06-05 ***异常拦截方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN108762966A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110708136A (zh) * 2019-09-19 2020-01-17 杭州安恒信息技术股份有限公司 网络传输过程中数据泄露防治方法
CN110727537A (zh) * 2019-10-21 2020-01-24 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN111198805A (zh) * 2018-11-20 2020-05-26 北京京东尚科信息技术有限公司 一种异常监控方法和装置
CN112632030A (zh) * 2020-12-04 2021-04-09 贝壳技术有限公司 数据异常定位方法及装置
CN112825057A (zh) * 2019-11-20 2021-05-21 广州凡科互联网科技股份有限公司 一种可快速定位错误代码、监控ajax请求服务异常的监控方法
CN113010401A (zh) * 2019-12-19 2021-06-22 广州凡科互联网科技股份有限公司 一种基于ssm***的异常捕获处理方法
CN113094479A (zh) * 2019-12-20 2021-07-09 百度在线网络技术(北京)有限公司 一种问题处理方法、装置、电子设备和介质
CN113127505A (zh) * 2021-05-17 2021-07-16 北京奇艺世纪科技有限公司 结构化查询语言sql***的监控方法、装置及电子设备
CN114996098B (zh) * 2022-06-24 2024-04-09 中电金信软件有限公司 一种异常处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004016735A (ja) * 2002-06-20 2004-01-22 Sun Corp 異常報知装置
CN102592185A (zh) * 2010-10-05 2012-07-18 埃森哲环球服务有限公司 电子流程驱动的协作***
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
US20140237453A1 (en) * 2013-02-20 2014-08-21 Bmc Software, Inc. Exception based quality assessment
CN105005508A (zh) * 2015-07-02 2015-10-28 国云科技股份有限公司 一种优秀的异常处理方法
US20170161166A1 (en) * 2015-12-03 2017-06-08 Sap Se Logging framework and methods
CN107301115A (zh) * 2017-06-26 2017-10-27 中国铁道科学研究院电子计算技术研究所 应用程序异常监控和恢复方法及设备
CN108052440A (zh) * 2017-12-22 2018-05-18 平安养老保险股份有限公司 对业务***操作逻辑的修正方法、装置、设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004016735A (ja) * 2002-06-20 2004-01-22 Sun Corp 異常報知装置
CN102592185A (zh) * 2010-10-05 2012-07-18 埃森哲环球服务有限公司 电子流程驱动的协作***
US20140237453A1 (en) * 2013-02-20 2014-08-21 Bmc Software, Inc. Exception based quality assessment
CN103488558A (zh) * 2013-09-17 2014-01-01 北京思特奇信息技术股份有限公司 一种基于log4j日志框架自动采集应用异常的装置及方法
CN105005508A (zh) * 2015-07-02 2015-10-28 国云科技股份有限公司 一种优秀的异常处理方法
US20170161166A1 (en) * 2015-12-03 2017-06-08 Sap Se Logging framework and methods
CN107301115A (zh) * 2017-06-26 2017-10-27 中国铁道科学研究院电子计算技术研究所 应用程序异常监控和恢复方法及设备
CN108052440A (zh) * 2017-12-22 2018-05-18 平安养老保险股份有限公司 对业务***操作逻辑的修正方法、装置、设备和存储介质

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198805A (zh) * 2018-11-20 2020-05-26 北京京东尚科信息技术有限公司 一种异常监控方法和装置
CN111198805B (zh) * 2018-11-20 2024-02-02 北京京东尚科信息技术有限公司 一种异常监控方法和装置
CN110069297A (zh) * 2019-03-28 2019-07-30 平安科技(深圳)有限公司 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质
CN110708136A (zh) * 2019-09-19 2020-01-17 杭州安恒信息技术股份有限公司 网络传输过程中数据泄露防治方法
CN110708136B (zh) * 2019-09-19 2023-01-31 杭州安恒信息技术股份有限公司 网络传输过程中数据泄露防治方法
CN110727537A (zh) * 2019-10-21 2020-01-24 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN110727537B (zh) * 2019-10-21 2023-12-26 深圳前海环融联易信息科技服务有限公司 统一处理响应报文的方法、装置、计算机设备及存储介质
CN112825057A (zh) * 2019-11-20 2021-05-21 广州凡科互联网科技股份有限公司 一种可快速定位错误代码、监控ajax请求服务异常的监控方法
CN113010401A (zh) * 2019-12-19 2021-06-22 广州凡科互联网科技股份有限公司 一种基于ssm***的异常捕获处理方法
CN113094479B (zh) * 2019-12-20 2023-09-19 百度在线网络技术(北京)有限公司 一种问题处理方法、装置、电子设备和介质
CN113094479A (zh) * 2019-12-20 2021-07-09 百度在线网络技术(北京)有限公司 一种问题处理方法、装置、电子设备和介质
CN112632030A (zh) * 2020-12-04 2021-04-09 贝壳技术有限公司 数据异常定位方法及装置
CN112632030B (zh) * 2020-12-04 2023-04-14 贝壳技术有限公司 数据异常定位方法及装置
CN113127505A (zh) * 2021-05-17 2021-07-16 北京奇艺世纪科技有限公司 结构化查询语言sql***的监控方法、装置及电子设备
CN113127505B (zh) * 2021-05-17 2024-04-23 北京奇艺世纪科技有限公司 结构化查询语言sql***的监控方法、装置及电子设备
CN114996098B (zh) * 2022-06-24 2024-04-09 中电金信软件有限公司 一种异常处理方法及装置

Similar Documents

Publication Publication Date Title
CN108762966A (zh) ***异常拦截方法、装置、计算机设备及存储介质
CN103684828B (zh) 一种电信设备故障的处理方法和装置
CN104202201B (zh) 一种日志处理方法、装置及终端
US9778966B2 (en) Classification and modelling of exception types for integration middleware systems
CN103559118B (zh) 一种基于aop与注解信息***的安全审计方法
CN109284251A (zh) 日志管理方法、装置、计算机设备以及存储介质
CN108829560A (zh) 数据监控方法、装置、计算机设备及存储介质
CN109271331A (zh) 日志的生成方法、装置、计算机设备及存储介质
WO2019006654A1 (zh) 金融自助设备维修派单生成方法、手持终端及电子设备
CN108763038A (zh) 告警数据的管理方法、装置、计算机设备及存储介质
US9250892B2 (en) Self-diagnosing systems using matrix barcodes
CN107995242A (zh) 一种业务处理方法及***
CN108521339A (zh) 一种基于集群日志的反馈式节点故障处理方法及***
CN104731566B (zh) 集成开发环境测试装置、方法及***
CN109189640A (zh) 服务器的监控方法、装置、计算机设备及存储介质
CN109815093A (zh) 服务器监控方法、装置、计算机设备及存储介质
CN108170609A (zh) 程序漏洞的定位方法、装置、计算机设备及可读存储介质
US11113385B2 (en) Communicating trace information between security zones
CN109523236A (zh) 邮件生成方法、装置、计算机设备及存储介质
CN112187933A (zh) 一种多架构云平台中服务的监控方法和***
CN109240847A (zh) 一种post过程中内存错误上报方法、装置、终端及存储介质
CN104486149B (zh) 一种用于地面测试的有限状态机方法
CN109241074A (zh) 稽核数据自动加工方法、装置、计算机设备及存储介质
CN116194894A (zh) 原生云应用程序的故障定位
CN109376025A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181106