发明内容
本发明实施例提供一种异常处理方法及装置、存储介质,能够在线进行异常处理、降低系统复杂度和数据成本、加快异常处理的速度。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种异常处理方法,应用于异常处理装置,所述方法包括:
当获取到对目标应用系统的异常处理指令时,从所述异常处理指令中确定所述目标应用系统对应的目标集群节点、指令类型和目标程序;
将所述异常处理指令传输至所述目标集群节点,以供所述目标集群节点利用所述目标程序对所述目标应用系统进行所述指令类型对应的异常处理;
当接收到所述目标集群节点发送的异常处理结果时,利用所述异常处理结果确定所述目标应用系统的异常状况。
在上述方法中,所述指令类型包括异常检测指令和/或异常修复指令,所述目标程序包括异常检测程序和/或异常修复程序;所述异常检测指令对应所述异常检测程序,所述异常修复指令对应所述异常修复程序。
在上述方法中,所述利用所述异常处理结果确定所述目标应用系统的异常状况,包括:
当确定出所述指令类型为所述异常检测指令时,将所述异常处理结果和预设异常模板进行匹配;并根据匹配结果确定所述异常状况;
当确定出所述指令类型为所述异常修复指令时,从所述异常处理结果中查找所述异常状况。
在上述方法中,所述利用所述异常处理结果确定所述目标应用系统的异常状况之后,所述方法还包括:
根据预设显示方式,将所述异常状况显示在异常分析界面。
在上述方法中,所述从所述异常处理指令中确定所述目标应用系统对应的目标集群节点、指令类型和目标程序之前,所述方法还包括:
当接收到对所述目标集群节点的选择操作时,根据所述选择操作至少显示指令类型栏、类名称栏和目标代码栏;
分别在所述指令类型栏中接收指令类型、在所述类名称栏中接收类名称、在所述目标代码栏中接收目标代码;
将所述类名称和所述目标代码确定为所述目标程序;
将所述目标集群节点、所述指令类型和所述目标程序组成所述异常处理指令。
在上述方法中,所述在所述目标代码栏中接收目标代码,所述方法还包括:
当接收到对第一预设脚本模板的选择指令时,从脚本管理库中查找所述第一预设脚本模板对应的第一预设目标代码;
将所述第一预设目标代码作为所述目标代码,并将所述第一预设目标代码显示在所述目标代码栏。
在上述方法中,所述从脚本管理库中查找所述第一预设脚本模板对应的第一预设目标代码,包括:
将预设目标代码添加至所述脚本管理库中;
或者,对所述脚本管理库中的预设目标代码进行更改。
在上述方法中,所述当接收到对所述目标集群节点的选择操作时,根据所述选择操作至少显示指令类型栏、类名称栏和目标代码栏之前,所述方法还包括:
当接收到第一登陆信息时,检测所述第一登陆信息的操作权限;
当所述操作权限符合异常管理权限时,显示所述目标集群节点。
在上述方法中,所述当接收到第一登陆信息时,检测所述第一登陆信息的操作权限之前,所述方法还包括:
接收登陆账号以及所述登陆账号对应的角色信息;
根据所述角色信息,确定所述登陆账号的操作权限;
将所述登陆账号和所述登陆账号对应的所述操作权限,存储至所述异常处理装置中。
第二方面,本发明实施例提供一种异常处理方法,应用于目标集群节点,所述方法包括:
当接收到异常处理装置发送的异常处理指令时,从所述异常处理指令中确定出目标程序和指令类型,所述目标程序包括目标代码和类名称;
利用所述目标代码和所述类名称,完成异常处理过程;
将所述指令类型对应的异常处理结果发送至所述异常处理装置。
在上述方法中,所述利用所述目标代码和所述类名称,完成异常处理过程,包括:
利用预设脚本解析引擎,对所述目标代码进行动态编译,得到字节码;
定位所述类名称对应的类;
将所述字节码动态注入所述类中,并重新加载所述类的部分实现,以完成所述异常处理过程。
在上述方法中,所述将所述指令类型对应的异常处理结果发送至所述异常处理装置,包括:
当所述指令类型为异常检测指令时,将采集到的目标应用系统的运行信息作为所述异常处理结果;
当所述指令类型为异常修复指令时,将修复的异常问题作为所述异常处理结果;
通过日志同步组件,将所述异常处理结果发送至所述异常处理装置。
第三方面,本发明实施例提供一种异常处理装置,所述异常处理装置包括:第一处理器、第一存储器及第一通信总线,所述第一处理器用于执行所述第一存储器中存储的运行程序,以实现以下步骤:
当获取到对目标应用系统的异常处理指令时,从所述异常处理指令中确定所述目标应用系统对应的目标集群节点、指令类型和目标程序;将所述异常处理指令传输至所述目标集群节点,以供所述目标集群节点利用所述目标程序对所述目标应用系统进行所述指令类型对应的异常处理;当接收到所述目标集群节点发送的异常处理结果时,利用所述异常处理结果确定所述目标应用系统的异常状况。
在上述装置中,所述指令类型包括异常检测指令和/或异常修复指令,所述目标程序包括异常检测程序和/或异常修复程序;所述异常检测指令对应所述异常检测程序,所述异常修复指令对应所述异常修复程序。
第四方面,本发明实施例提供一种第一存储介质,其上存储有计算机程序,应用于异常处理装置,该计算机程序被第一处理器执行时实现如上述任一项所述的异常处理方法。
第五方面,本发明实施例提供一种目标集群节点,所述目标集群节点包括:第二处理器、第二存储器、发送器及第二通信总线,所述发送器,用于将指令类型对应的异常处理结果发送至异常处理装置;所述第二处理器用于执行所述第二存储器中存储的运行程序,以实现以下步骤:
当接收到异常处理装置发送的异常处理指令时,从所述异常处理指令中确定出目标程序和指令类型,所述目标程序包括目标代码和类名称;利用所述目标代码和所述类名称,完成异常处理过程。
在上述目标集群节点中,所述第二处理器,还用于利用预设脚本解析引擎,对所述目标代码进行动态编译,得到字节码;定位所述类名称对应的类;将所述字节码动态注入所述类中,并重新加载所述类的部分实现,以完成所述异常处理过程。
第六方面,本发明实施例提供一种第二存储介质,其上存储有计算机程序,应用于目标集群节点,该计算机程序被第二处理器执行时实现如上述任一项所述的异常处理方法。
应用本发明实施例实现以下有益效果:
因为采用一种异常处理方法及装置、存储介质,应用于异常处理装置,该方法可以包括:当获取到对目标应用系统的异常处理指令时,从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序;将异常处理指令传输至目标集群节点,以供目标集群节点利用目标程序对目标应用系统进行指令类型对应的异常处理;当接收到目标集群节点发送的异常处理结果时,利用异常处理结果确定目标应用系统的异常状况。所以,异常处理装置在获取到异常处理指令时,将异常处理指令发送至对应的目标集群节点,使得目标集群节点利用异常处理指令中的目标程序进行自身的异常检测或者异常修复的过程,能够在线进行异常处理,进行降低了系统复杂度和数据成本;之后,异常处理装置根据异常处理结果确定异常状况,使得异常处理装置能够快速确定异常状况,进而加快了异常处理的速度。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供一种异常处理方法,应用于异常处理装置,如图1所示,该方法可以包括:
S101、当获取到对目标应用系统的异常处理指令时,从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序。
本发明实施例提供的一种异常处理方法适用于异常处理装置对目标集群节点上的目标应用系统进行异常检测及异常处理的场景下。
需要说明的是,目标集群节点的个数为至少一个,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,如图2所示,异常处理装置包括集群管理界面、脚本管理界面、权限管理界面和异常分析界面这四大功能界面,其中,集群管理界面负责管理集群各节点的运行状况、维护与集群各节点之间的授权认证、全局配置管理以及指令下发功能;脚本管理界面用于通过可视化在线源码编辑器编辑预设目标代码,并将预设目标代码添加至脚本管理库中,脚本管理界面能够对预设目标代码进行添加、修改等;权限管理界面负责异常处理装置中用户信息的管理,能够通过不同的角色来控制不同用户的操作权限,保证所有的操作必须在授权范围内执行,进行降低用户误操作的风险;异常分析界面用于对从目标集群节点接收到的异常处理结果进行归类、统计、分析、检索,以确定目标应用系统的异常状况。
本发明实施例中,集群各节点均应用目标应用系统,目标程序为对目标应用系统进行异常检测或者异常修复的程序。
本发明实施例中,当异常处理装置接收到第一登陆信息时,异常处理装置检测第一登陆信息的操作权限,当异常处理装置检测出操作权限满足异常管理权限时,异常处理装置显示集群管理界面,其中,集群管理界面上显示了集群各节点信息,当异常处理装置在集群管理界面上接收到对目标集群节点的选择操作时,异常处理装置在集群管理界面上弹出指令下发框,其中,指令下发框中至少包括指令类型栏、类名称栏和目标代码栏,之后,异常处理装置在指令类型栏中接收指令类型;在类名称栏中接收类名称;在目标代码栏中接收目标代码;异常处理装置将类名称和目标代码确定为目标程序;将目标集群节点、指令类型和目标程序组成异常处理指令,此时,异常处理装置获取到对目标应用系统的异常处理指令。
本发明实施例中,指令类型包括异常检测指令和/或异常修复指令,目标程序包括异常检测程序和/或异常修复程序;异常检测指令对应异常检测程序,异常修复指令对应异常修复程序,即,当指令类型为异常检测指令时,目标程序为异常检测程序;当指令类型为异常修复指令时,目标程序为异常修复程序。
进一步地,异常处理装置在权限管理界面上,接收登陆账号以及登陆账号对应的角色信息,并根据角色信息确定登陆账号的操作权限,之后,异常处理装置将登陆账号和登陆账号对应的操作权限,存储至异常处理装置中。
具体的,当异常处理装置接收到第一登陆信息时,异常处理装置从第一登陆信息中确定出第一登陆账号,之后,异常处理装置根据第一登陆账号确定出第一登陆账号对应的第一角色信息,并查找第一角色信息对应的操作权限。
示例性的,当角色信息为一般用户时,对应的操作权限为查看权限;当角色信息为超级管理员时,对应的操作权限为异常管理权限。
进一步地,指令下发框还包括脚本模板栏,当异常处理装置在脚本模板栏接收到对第一预设脚本模板的选择指令时,异常处理装置从脚本管理库中查找第一预设脚本模板对应的第一预设目标代码,异常处理装置将第一预设目标代码作为目标代码,并将第一预设目标代码显示在目标代码栏。
本发明实施例中,异常处理装置在脚本管理界面上,将预设目标代码添加至脚本管理库中,或者,异常处理装置在脚本管理界面上,对脚本管理库中的预设目标代码进行更改,具体的根据实际情况进行选择,本发明实施例不做具体的限定;之后,异常处理装置将预设目标代码及其对应的预设脚本模板存储在脚本管理库中。
S102、将异常处理指令传输至目标集群节点,以供目标集群节点利用目标程序对目标应用系统进行指令类型对应的异常处理。
当异常处理装置从异常处理指令中确定出目标应用系统对应的目标集群节点、指令类型和目标程序之后,异常处理装置将异常处理指令传输至目标集群节点,此时,目标集群节点利用目标程序对目标应用系统进行指令类型对应的异常处理。
本发明实施例中,异常处理装置将异常处理指令传输至目标集群节点,目标集群节点从异常处理指令中确定出目标程序和指令类型,其中,目标程序包括类名称和目标代码;之后,异常处理装置利用目标代码和类名称,完成异常处理过程;最后,目标集群节点将指令类型对应的异常处理结果发送至异常处理装置。
具体的,目标集群节点利用目标代码和类名称,完成异常处理过程为:目标集群节点利用预设脚本解析引擎,对目标代码进行动态编译,得到字节码,并定位类名称对应的类,之后,将字节码动态注入类中,并重新加载类的部分实现,此时目标集群节点完成了异常处理过程。
S103、当接收到目标集群节点发送的异常处理结果时,利用异常处理结果确定目标应用系统的异常状况。
当异常处理装置将异常处理指令传输至目标集群节点之后,异常处理装置接收目标集群节点发送的异常处理结果,当异常处理装置从目标集群节点接收到异常处理结果时,异常处理装置利用异常处理结果确定目标应用系统的异常状况。
本发明实施例中,当指令类型为异常检测指令时,目标集群节点将采集到的目标应用系统的运行信息作为异常处理结果,发送给异常处理装置,此时,异常处理装置将异常处理结果和预设异常模板进行匹配,并根据匹配结果确定异常状况;当指令类型为异常修复指令时,目标集群节点将修复的异常问题作为异常处理结果,发送给异常处理装置,此时,异常处理装置从异常处理结果中查找异常状况。
本发明实施例中,异常处理装置内设预设异常模板,当指令类型为异常检测指令时,异常处理装置对采集到的目标应用系统的运行信息进行归类、统计、分析和检索,并通过预设异常模板,定位出当前应用系统的异常状况。
进一步地,当异常处理装置确定出目标应用系统的异常状况之后,异常处理装置根据预设显示方式,将异常状况显示在异常分析界面上。
示例性的,异常处理装置在异常分析界面上,显示异常状况的出现次数统计图、详细的出现时间以及具体的异常说明。
可以理解的是,异常处理装置在获取到异常处理指令时,将异常处理指令发送至对应的目标集群节点,使得目标集群节点利用异常处理指令中的目标程序进行自身的异常检测或者异常修复的过程,能够在线进行异常处理,进行降低了系统复杂度和数据成本;之后,异常处理装置根据异常处理结果确定异常状况,使得异常处理装置能够快速确定异常状况,进而加快了异常处理的速度。
实施例二
本发明实施例提供一种异常处理方法,应用于目标集群节点,如图3所示,该方法可以包括:
S201、当接收到异常处理装置发送的异常处理指令时,从异常处理指令中确定出目标程序和指令类型,目标程序包括目标代码和类名称。
本发明实施例提供的一种异常处理方法适用于异常处理装置对目标集群节点上的目标应用系统进行异常检测及异常处理的场景下。
本发明实施例中,目标集群节点通过JVMTI Attach机制、以java agent的方式在业务应用启动后自动加载自定义代理组件,同时启动代理中的监听器服务,利用监听器服务接收异常处理装置发送的异常处理指令,当目标集群节点接收到异常处理装置发送的异常处理指令时,目标集群节点从异常处理指令中确定出目标程序和指令类型,其中,目标程序包括目标代码和类名称。
S202、利用目标代码和类名称,完成异常处理过程。
当目标集群节点从异常处理指令中确定出目标程序和指令类型之后,目标集群节点利用目标程序中的目标代码和类名称,完成异常处理过程。
本发明实施例中,目标集群节点利用预设脚本解析引擎,对目标代码进行动态编译,得到字节码;目标集群节点定位类名称对应的类;之后,目标集群节点将字节码动态注入类中,并重新加载类的部分实现,以完成异常处理过程。
S203、将指令类型对应的异常处理结果发送至异常处理装置。
当目标集群节点利用目标代码和类名称完成异常处理过程之后,目标集群节点将指令类型对应的异常处理结果发送至异常处理装置。
本发明实施例中,当指令类型为异常检测指令时,目标集群节点将采集到的目标应用系统的运行信息作为异常处理结果;当指令类型为异常修复指令时,目标集群节点将修复的异常问题作为异常处理结果;之后,目标集群节点通过日志同步组件,将异常处理结果发送至异常处理装置。
需要说明的是,为了便于进行在线的异常分析,目标集群节点通过日志同步组件,异步将分散在各个目标集群节点上的异常处理结果,统一采集至实时存储引擎中,以供异常处理装置中的异常分析功能模块使用。
可以理解的是,目标集群节点能够接收异常处理装置发送的异常处理指令,并根据异常处理指令进行在线异常检测或者在线异常修复,进而能够提高异常处理的速度,简化异常处理的步骤。
实施例三
本发明实施例提供一种异常处理方法,如图4所示,该方法可以包括:
S301、当接收到对目标集群节点的选择操作时,异常处理装置根据选择操作至少显示指令类型栏、类名称栏和目标代码栏。
本发明实施例提供的一种异常处理方法适用于异常处理装置对目标集群节点上的目标应用系统进行异常检测及异常处理的场景下。
本发明实施例中,异常处理装置包括集群管理界面、脚本管理界面、权限管理界面和异常分析界面这四大功能界面,其中,集群管理界面负责管理集群各节点的运行状况、维护与集群各节点之间的授权认证、全局配置管理以及指令下发功能;脚本管理界面用于通过可视化在线源码编辑器编辑预设目标代码,并将预设目标代码添加至脚本管理库中,脚本管理界面能够对预设目标代码进行添加、修改等;权限管理界面负责异常处理装置中用户信息的管理,能够通过不同的角色来控制不同用户的操作权限,保证所有的操作必须在授权范围内执行,进行降低用户误操作的风险;异常分析界面用于对从目标集群节点接收到的异常处理结果进行归类、统计、分析、检索,以确定目标应用系统的异常状况。
本发明实施例中,当异常处理装置接收到第一登陆信息时,异常处理装置检测第一登陆信息的操作权限,当异常处理装置检测出操作权限满足异常管理权限时,异常处理装置在集群管理界面上显示目标集群节点,其中,集群管理界面上显示了集群各节点信息,当异常处理装置在集群管理界面上接收到对目标集群节点的选择操作时,异常处理装置在集群管理界面上弹出指令下发框,其中,指令下发框中至少包括指令类型栏、类名称栏和目标代码栏。
示例性的,如图5所示,在集群管理界面上,显示有10条集群节点信息,其中,每条集群节点包括序号、应用名称、集群IP地址、代理端口、ERP账号、联系方式、运行状态和备注这几个信息,且该集群应用的是应用系统A。
进一步地,如图5所示,在集群管理界面上还设置有查询按钮、新建按钮、修改按钮、删除按钮和批量导入按钮,异常管理装置初始状态时,用户需要通过“批量导入”的方式录入应用集群IP、代理端口等基本信息,录入成功后、后续可以通过“修改”、“删除”功能更新集群节点信息。同时、异常管理装置提供单个集群节点录入功能,便于后续进行单节点的扩充。
本发明实施例中,异常处理装置在权限管理界面上,接收登陆账号以及登陆账号对应的角色信息,并根据角色信息确定登陆账号的操作权限,之后,异常处理装置将登陆账号和登陆账号对应的操作权限,存储至异常处理装置中。
示例性的,如图6所示,在权限管理界面的第一显示区域显示有10条用户信息,每条用户信息包括用户名、邮箱、角色、添加日期和备注的信息,其中,用户名和账号均为本发明实施例提出的登陆账号,在权限管理界面的第二显示区域显示有用户名称栏、用户类型栏和用户邮箱栏,查询按钮、新建按钮、修改按钮和删除按钮。用户可以通过用户名称栏、用户类型栏和用户邮箱栏中的至少一个选定用户信息、或者点击第一显示区域中用户信息之前的方框选定用户信息,具体的根据实际情况进行选择,之后点击查询按钮、修改按钮和删除按钮,以对该用户信息执行相应的查询操作、修改操作和删除操作;用户可以通过点击新建按钮来新建用户信息。
具体的,当异常处理装置接收到第一登陆信息时,异常处理装置从第一登陆信息中确定出第一登陆账号,之后,异常处理装置根据第一登陆账号确定出第一登陆账号对应的第一角色信息,并查找第一角色信息对应的操作权限。
示例性的,当角色信息为一般用户时,对应的操作权限为查看权限;当角色信息为超级管理员时,对应的操作权限为异常管理权限。
进一步地,当异常处理装置在脚本模板栏接收到对第一预设脚本模板的选择指令时,异常处理装置从脚本管理库中查找第一预设脚本模板对应的第一预设目标代码,异常处理装置将第一预设目标代码作为目标代码,并将第一预设目标代码显示在目标代码栏。
本发明实施例中,异常处理装置在脚本管理界面上,将预设目标代码添加至脚本管理库中,或者,异常处理装置在脚本管理界面上,对脚本管理库中的预设目标代码进行更改,具体的根据实际情况进行选择,本发明实施例不做具体的限定;之后,异常处理装置将预设目标代码及其对应的预设脚本模板存储在脚本管理库中。
示例性的,如图7所示,在脚本管理界面上,开发人员选定预设脚本模板,并输入预设目标代码,之后点击保存按钮,异常处理装置将预设目标代码及其对应的预设脚本模板存储至脚本管理库中。
示例性的,当用户在集群管理界面上选定节点并点击批量下发按钮之后,在集群管理界面上弹出指令下发框,如图8所示,指令下发框包括指令类型栏、脚本模板栏、类名称栏和目标代码栏。
S302、异常处理装置分别在指令类型栏中接收指令类型、在类名称栏中接收类名称、在目标代码栏中接收目标代码。
当异常处理装置根据选择操作至少显示指令类型栏、类名称栏和目标代码栏之后,异常处理装置分别在指令类型栏中接收指令类型、在类名称栏中接收类名称、在目标代码栏中接收目标代码。
本发明实施例中,用户在指令类型栏中输入指令类型、在类名称栏中输入类名称、在目标代码栏中输入目标代码,此时异常处理装置分别在指令类型栏中接收指令类型、在类名称栏中接收类名称、在目标代码栏中接收目标代码。
进一步地,当异常处理装置在脚本模板栏接收到对第一预设脚本模板的选择指令时,异常处理装置从脚本管理库中查找第一预设脚本模板对应的第一预设目标代码;将第一预设目标代码作为目标代码,并将第一预设目标代码显示在目标代码栏。
示例性的,如图8所示,在指令下发框中的指令类型栏中选定异常追踪、在脚本模板栏中选定参数返回值,在类名称栏中输入“TestHello”,异常处理装置从脚本管理库中查找参数返回值对应的目标代码,并将目标代码显示在目标代码栏中。
S303、异常处理装置将类名称和目标代码确定为目标程序。
当异常处理装置分别在指令类型栏中接收指令类型、在类名称栏中接收类名称、在目标代码栏中接收目标代码之后,异常处理装置将类名称和目标代码确定为目标程序。
S304、异常处理装置将目标集群节点、指令类型和目标程序组成异常处理指令。
当异常处理装置将类名称和目标代码确定为目标程序之后,异常处理装置将目标集群节点、指令类型和目标程序组成异常处理指令。
S305、当异常处理装置获取到对目标应用系统的异常处理指令时,异常处理装置从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序。
当异常处理装置将目标集群节点、指令类型和目标程序组成异常处理指令之后,异常处理装置获取到对目标应用系统的异常处理指令,此时,异常处理装置从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序。
本发明实施例中,目标程序为对目标应用系统进行异常检测或者异常修复的程序,指令类型包括异常检测指令和/或异常修复指令,目标程序包括异常检测程序和/或异常修复程序;异常检测指令对应异常检测程序,异常修复指令对应异常修复程序,即,当指令类型为异常检测指令时,目标程序为异常检测程序;当指令类型为异常修复指令时,目标程序为异常修复程序。
S306、异常处理装置将异常处理指令传输至目标集群节点。
当异常处理装置从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序之后,异常处理装置将异常处理指令传输至目标集群节点。
本发明实施例中,异常处理装置将异常处理指令传输至目标集群节点,目标集群节点通过JVMTI Attach机制、以java agent的方式在业务应用启动后自动加载自定义代理组件,同时启动代理中的监听器服务,利用监听器服务接收异常处理装置发送的异常处理指令。
S307、目标集群节点从异常处理指令中确定出目标程序和指令类型,目标程序包括目标代码和类名称。
当异常处理装置将异常处理指令传输至目标集群节点之后,目标集群节点从异常处理指令中确定出目标程序和指令类型。
S308、目标集群节点利用目标代码和类名称,完成异常处理过程。
当目标集群节点从异常处理中欧令中确定出目标程序和指令类型之后,目标集群节点利用目标程序中的目标代码和类名称,完成异常处理过程。
本发明实施例中,目标集群节点利用预设脚本解析引擎,对目标代码进行动态编译,得到字节码;目标集群节点定位类名称对应的类;之后,目标集群节点将字节码动态注入类中,并重新加载类的部分实现,以完成异常处理过程。
S309、目标集群节点将指令类型对应的异常处理结果发送至异常处理装置。
当目标集群节点利用目标代码和类名称完成异常处理过程之后,目标集群节点将指令类型对应的异常处理结果发送至异常处理装置。
本发明实施例中,当指令类型为异常检测指令时,目标集群节点将采集到的目标应用系统的运行信息作为异常处理结果;当指令类型为异常修复指令时,目标集群节点将修复的异常问题作为异常处理结果;之后,目标集群节点通过日志同步组件,将异常处理结果发送至异常处理装置。
需要说明的是,为了便于进行在线的异常分析,目标集群节点通过日志同步组件,异步将分散在各个目标集群节点上的异常处理结果,统一采集至实时存储引擎中,以供异常处理装置中的异常分析功能模块使用。
示例性的,如图9所示,目标集群节点的指令监听器接收到异常处理装置发送的消息体(异常处理指令)之后,指令监听器从消息体中确定出类名、目标代码和指令类型,并将类名、目标代码和指令类型传输至脚本解析引擎,脚本解析引擎对目标代码进行动态编译,最后,通过消息体中的类名称和动态编译后的字节码,可以定位并以动态注入的方式重新加载classTransformer类的部分实现,从而实现在线调试或者系统异常代码的“热修复”功能,与此同时,指令监听器、脚本解析引擎和classTransformer类将输出的、包括异常处理结果的相关信息归档至文件系统,并通过异步上报至实时存储引擎中,供异常管理装置的异常分析模块使用。
S310、当异常处理装置确定出指令类型为异常检测指令时,异常处理装置将异常处理结果和预设异常模板进行匹配;并根据匹配结果确定异常状况。
当目标集群节点将指令类型对应的异常处理结果发送至异常处理装置之后,异常处理装置在确定出指令类型为异常检测指令时,将异常处理结果和预设异常模板进行匹配;并根据匹配结果确定异常状况。
本发明实施例中,异常处理装置内设预设异常模板,当指令类型为异常检测指令时,异常处理装置对采集到的目标应用系统的运行信息进行归类、统计、分析和检索,并通过预设异常模板,定位出当前应用系统的异常状况。
S311、当异常处理装置确定出指令类型为异常修复指令时,异常处理装置从异常处理结果中查找异常状况。
当目标集群节点将指令类型对应的异常处理结果发送至异常处理装置之后,异常处理装置在确定出指令类型为异常修复指令时,异常处理装置从异常处理结果中查找异常状况。
本发明实施例中,当异常处理装置确定出目标应用系统的异常状况之后,异常处理装置根据预设显示方式,将异常状况显示在异常分析界面上。
示例性的,异常处理装置在异常分析界面上,显示异常状况的出现次数统计图、详细的出现时间以及具体的异常说明。
示例性的,如图10所示,异常处理装置统计出在在2016年第8个周一的22点32分,出现一次系统异常,在异常分析界面的第一显示区域显示该系统异常的出现次数统计图,在异常分析界面的第二显示区域显示该系统异常的异常说明。
需要说明的是,S310和S311为S309之后的两个并列的步骤,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
可以理解的是,异常处理装置在获取到异常处理指令时,将异常处理指令发送至对应的目标集群节点,使得目标集群节点利用异常处理指令中的目标程序进行自身的异常检测或者异常修复的过程,能够在线进行异常处理,进行降低了系统复杂度和数据成本;之后,异常处理装置根据异常处理结果确定异常状况,使得异常处理装置能够快速确定异常状况,进而加快了异常处理的速度。
实施例四
图11为本发明实施例提出的异常处理装置的组成结构示意图一,在实际应用中,基于实施例一和实施例三的同一发明构思下,如图11所示,本发明实施例的异常处理装置1包括:第一处理器10、第一存储器11及第一通信总线12。在具体的实施例的过程中,上述第一处理器11可以为特定用途集成电路(ASIC,Application Specific IntegratedCircuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理终端(DSPD,Digital Signal Processing Device)、可编程逻辑终端(PLD,Programmable LogicDevice)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第一处理器10功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述第一条通信总线12用于实现第一处理器10和第一存储器11之间的连接通信;上述第一处理器10用于执行第一存储器11中存储的运行程序,以实现以下步骤:
当获取到对目标应用系统的异常处理指令时,从所述异常处理指令中确定所述目标应用系统对应的目标集群节点、指令类型和目标程序;将所述异常处理指令传输至所述目标集群节点,以供所述目标集群节点利用所述目标程序对所述目标应用系统进行所述指令类型对应的异常处理;当接收到所述目标集群节点发送的异常处理结果时,利用所述异常处理结果确定所述目标应用系统的异常状况。
在本发明实施例中,进一步地,所述指令类型包括异常检测指令和/或异常修复指令,所述目标程序包括异常检测程序和/或异常修复程序;所述异常检测指令对应所述异常检测程序,所述异常修复指令对应所述异常修复程序。
在本发明实施例中,进一步地,上述第一处理器10,还用于当所述指令类型为所述异常检测指令时,将所述异常处理结果和预设异常模板进行匹配;并根据匹配结果确定所述异常状况;当所述指令类型为所述异常修复指令时,从所述异常处理结果中查找所述异常状况。
在本发明实施例中,进一步地,异常处理装置1还包括:显示器13,上述通信总线12还用于实现第一处理器10、显示器13和第一存储器11之间的连接通信;
上述显示器13,用于根据预设显示方式,将所述异常状况显示在异常分析界面。
在本发明实施例中,进一步地,异常处理装置1还包括:接收器14,上述通信总线12还用于实现第一处理器10、显示器13、接收器14和第一存储器11之间的连接通信;
上述第一处理器10,还用于当接收到对所述目标集群节点的选择操作时,根据所述选择指令至少显示指令类型栏、类名称栏和目标代码栏;将所述类名称和所述目标代码确定为所述目标程序;将所述目标集群节点、所述指令类型和所述目标程序组成所述异常处理指令;
所述接收器14,用于分别在所述指令类型栏中接收指令类型、在所述类名称栏中接收类名称、在所述目标代码栏中接收目标代码。
在本发明实施例中,进一步地,上述第一处理器10,还用于当接收到对第一预设脚本模板的选择指令时,从脚本管理库中查找所述第一预设脚本模板对应的第一预设目标代码;将所述第一预设目标代码作为所述目标代码;
上述显示器13,还用于将所述第一预设目标代码显示在所述目标代码栏。
在本发明实施例中,进一步地,上述第一处理器10,还用于将预设目标代码添加至所述脚本管理库中;或者,对所述脚本管理库中的预设目标代码进行更改。
在本发明实施例中,进一步地,上述第一处理器10,还用于当接收到第一登陆信息时,检测所述第一登陆信息的操作权限;
上述显示器13,还用于当所述操作权限符合异常管理权限时,显示所述集群管理界面。
在本发明实施例中,进一步地,上述接收器14,还用于接收登陆账号以及所述登陆账号对应的角色信息;
上述第一处理器10,还用于根据所述角色信息,确定所述登陆账号的操作权限;将所述登陆账号和所述登陆账号对应的所述操作权限,存储至所述异常处理装置中。
本发明实施例提供的一种异常处理装置,当获取到对目标应用系统的异常处理指令时,从异常处理指令中确定目标应用系统对应的目标集群节点、指令类型和目标程序;将异常处理指令传输至目标集群节点,以供目标集群节点利用目标程序对目标应用系统进行指令类型对应的异常处理;当接收到目标集群节点发送的异常处理结果时,利用异常处理结果确定目标应用系统的异常状况。由此可见,本发明实施例提出的异常处理装置,在获取到异常处理指令时,将异常处理指令发送至对应的目标集群节点,使得目标集群节点利用异常处理指令中的目标程序进行自身的异常检测或者异常修复的过程,能够在线进行异常处理,进行降低了系统复杂度和数据成本;之后,异常处理装置根据异常处理结果确定异常状况,使得异常处理装置能够快速确定异常状况,进而加快了异常处理的速度。
本发明实施例提供一种第一存储介质,上述第一存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于异常处理装置中,该程序被第一处理器执行时实现如实施例一和实施例三所述的异常处理方法。
实施例五
图12为本发明实施例提出的目标集群节点的组成结构示意图一,在实际应用中,基于实施例二和实施例三的同一发明构思下,如图12所示,本发明实施例的目标集群节点2包括:第二处理器20、第二存储器21、发送器22及第二通信总线23。在具体的实施例的过程中,上述第二处理器20可以为特定用途集成电路(ASIC,Application SpecificIntegrated Circuit)、数字信号处理器(DSP,Digital Signal Processor)、数字信号处理终端(DSPD,Digital Signal Processing Device)、可编程逻辑终端(PLD,ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field Programmable Gate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述第二处理器20功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述第二通信总线23用于实现第二处理器20、发送器22和第二存储器21之间的连接通信;上述发送器22,用于将指令类型对应的异常处理结果发送至目标集群节点;上述第二处理器20用于执行第二存储器21中存储的运行程序,以实现以下步骤:
当接收到目标集群节点发送的异常处理指令时,从所述异常处理指令中确定出目标程序和指令类型,所述目标程序包括目标代码和类名称;利用所述目标代码和所述类名称,完成异常处理过程。
在本发明实施例中,进一步地,上述第二处理器20,还用于利用预设脚本解析引擎,对所述目标代码进行动态编译,得到字节码;定位所述类名称对应的类;将所述字节码动态注入所述类中,并重新加载所述类的部分实现,以完成所述异常处理过程。
在本发明实施例中,进一步地,上述第二处理器20,还用于当所述指令类型为异常检测指令时,将采集到的目标应用系统的运行信息作为所述异常处理结果;当所述指令类型为异常修复指令时,将异常问题作为所述异常处理结果;
上述发送器22,还用于通过日志同步组件,将所述异常处理结果发送至所述目标集群节点。
本发明实施例提供的一种目标集群节点,当接收到异常处理装置发送的异常处理指令时,从异常处理指令中确定出目标程序和指令类型,目标程序包括目标代码和类名称;利用目标代码和类名称,完成异常处理过程;将指令类型对应的异常处理结果发送至异常处理装置。由此可见,本发明实施例提出的目标集群节点,能够接收异常处理装置发送的异常处理指令,并根据异常处理指令进行在线异常检测或者在线异常修复,进而能够提高异常处理的速度,简化异常处理的步骤。
本发明实施例提供一种第二存储介质,上述第二存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于目标集群节点中,该程序被第二处理器执行时实现如实施例二和实施例三所述的异常处理方法。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。