CN111625383A - 进程异常事件处理方法、装置、电子设备及存储介质 - Google Patents

进程异常事件处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111625383A
CN111625383A CN202010440952.0A CN202010440952A CN111625383A CN 111625383 A CN111625383 A CN 111625383A CN 202010440952 A CN202010440952 A CN 202010440952A CN 111625383 A CN111625383 A CN 111625383A
Authority
CN
China
Prior art keywords
client
file
abnormal
generating
abnormal 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
CN202010440952.0A
Other languages
English (en)
Other versions
CN111625383B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010440952.0A priority Critical patent/CN111625383B/zh
Publication of CN111625383A publication Critical patent/CN111625383A/zh
Application granted granted Critical
Publication of CN111625383B publication Critical patent/CN111625383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0793Remedial or corrective actions
    • 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

Abstract

本公开提供了一种进程异常事件处理方法、装置、电子设备及存储介质,涉及系统开发技术领域,应用于服务端,服务端接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;基于异常文件生成规则,得到所述客户端的操作指示;将携带所述操作指示的响应信息发送给所述客户端;其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。通过该方法,解决了相关技术中,容易导致服务集群出现故障、导致服务可靠性下降的问题。

Description

进程异常事件处理方法、装置、电子设备及存储介质
技术领域
本公开涉及系统开发技术领域,特别涉及一种进程异常事件处理方法、装置、电子设备及存储介质。
背景技术
在Linux操作系统中,每个用户程序的数据和代码都是存放在内存中的,当用户程序发生不可应付的异常时,会导致用户程序异常退出,通常将进程异常事件被记为core事件。Linux操作系统是服务这些用户程序的,在发生异常前,可以基于core事件将获取的用户程序的信息dump(写入)到core文件中,并通过core_patter(用于实现core文件的配置和管理)方式保存下来,以便于后续技术人员进行分析。
企业在自己的服务系统的运行过程中,如果发生大规模进程异常事件(即core事件),容易导致服务集群出现故障、导致服务可靠性下降。
发明内容
本公开提供了一种进程异常事件处理方法、装置、电子设备及存储介质,用以至少解决相关技术中,容易导致服务集群出现故障、导致服务可靠性下降的问题。
根据本公开实施例的第一方面,提供一种进程异常事件处理方法,应用于服务端,包括:
接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
基于异常文件生成规则,得到所述客户端的操作指示;
将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
在一种可能的实施例中,所述基于异常文件生成规则,得到所述客户端的操作指示,包括:
根据白名单和/或单个周期内允许生成所述异常文件的操作次数,得到所述客户端的操作指示。
在一种可能的实施例中,根据白名单,得到所述客户端的操作指示,包括:
若获取到与所述客户端对应的异常文件处理程序的程序标识,则在预设的白名单中查找所述程序标识;所述异常文件处理程序由至少一个客户端运行,且所述异常文件处理程序用于与所述客户端协作生成所述异常文件;
若查找到所述程序标识,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若未查找到所述程序标识,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,所述确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前,所述方法还包括:
确定当前周期内已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数。
在一种可能的实施例中,根据所述操作次数,得到所述客户端的操作指示,包括:
获取当前周期内已允许所述客户端生成所述异常文件的次数;
若已允许所述客户端生成所述异常文件的次数小于所述操作次数,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,根据所述操作次数,得到所述客户端的操作指示,包括:
每间隔指定时长生成一个令牌,并存储到令牌桶;所述令牌桶中每个令牌用于允许所述客户端生成指定数量的异常文件;所述令牌桶存储的令牌数量上限为所述操作次数;所述指定时长为所述单个周期的时长除以所述操作次数;
则在确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前,所述方法还包括:
查询令牌桶,且确定所述令牌桶为空。
在一种可能的实施例中,所述方法还包括:
若所述令牌桶不为空,则确定所述操作指示为允许所述客户端执行生成异常文件的操作,并将所述令牌桶中令牌数量减少。
在一种可能的实施例中,若确定所述操作指示为允许所述客户端执行生成异常文件的操作,所述将所述响应信息发送给所述客户端之前,所述方法还包括:
将文件类型指示信息添加到所述响应信息中;所述文件类型指示信息用于指示所述客户端是否对所述异常文件进行压缩处理。
在一种可能的实施例中,确定所述异常文件的文件类型指示信息,包括:
若当前周期内已接收的请求信息总量大于或等于指定阈值且小于单个周期内允许的操作次数,则确定所述文件类型指示信息指示为进行压缩处理;
若所述请求信息总量小于所述指定阈值,则确定所述文件类型指示信息指示为不进行压缩处理。
在一种可能的实施例中,所述方法还包括:
对所述请求信息和历史请求信息进行分析,得到不同时间段内的异常崩溃事件的描述信息,所述描述信息包括以下中的至少一种:请求总次数、各指定异常文件处理程序产生进程异常事件的总次数、异常文件的总数据量、不同地理区域内产生进程异常事件的总次数;
按时间分布展示不同时间段内的所述描述信息。
在一种可能的实施例中,所述客户端的请求信息还包括异常文件处理程序的环境变量;
所述进行异常分析所需的信息包括:异常事件的描述信息、用于指向所述客户端发生异常事件的运行程序代码的调用栈信息,所述方法还包括:
根据所述环境变量,确定所述进程异常事件的发生位置;其中,所述发生位置包括:容器内、容器外;
若所述发生位置为在所述容器内,则根据对所述调用栈信息的访问权限访问所述运行程序代码;
若所述发生位置为在所述容器外,则根据所述调用栈信息访问所述运行程序代码。
根据本公开实施例的第二方面,提供一种进程异常事件处理方法,应用于客户端,包括:
响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示;
若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
在一种可能的实施例中,若所述响应信息指示允许操作,所述响应信息中还包括文件类型指示信息;所述生成所述异常文件之后,所述方法还包括:
若所述文件类型指示信息指示为压缩文件;
对所述异常文件进行压缩处理。
在一种可能的实施例中,所述请求信息中还包括异常文件处理程序的环境变量;其中,所述环境变量用于供所述服务端确定所述进程异常事件的发生位置,所述发生位置包括:容器内、容器外;
其中,根据所述发生位置为容器内的异常事件生成的异常文件中包含的调用栈信息具有用户访问权限;其中,所述调用栈信息用于指向所述客户端发生异常事件的运行程序代码。
根据本公开实施例的第三方面,提供一种进程异常事件处理装置,应用于服务端,包括:
第一接收模块,被配置为执行接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第一获取模块,被配置为执行基于异常文件生成规则,得到所述客户端的操作指示;
第一发送模块,被配置为执行将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
在一种可能的实施例中,所述第一获取模块,被配置为执行所述基于异常文件生成规则,得到所述客户端的操作指示时,具体执行:
根据白名单和/或单个周期内允许生成所述异常文件的操作次数,得到所述客户端的操作指示。
在一种可能的实施例中,所述第一获取模块,被配置为执行根据白名单,得到所述客户端的操作指示时,具体执行:
若获取到与所述客户端对应的异常文件处理程序的程序标识,则在预设的白名单中查找所述程序标识;所述异常文件处理程序由至少一个客户端运行,且所述异常文件处理程序用于与所述客户端协作生成所述异常文件;
若查找到所述程序标识,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若未查找到所述程序标识,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,所述装置还包括:
第一确定模块,被配置为所述确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前执行确定当前周期内已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数。
在一种可能的实施例中,所述第一获取模块,被配置为执行根据所述操作次数,得到所述客户端的操作指示时,具体执行:
获取当前周期内已允许所述客户端生成所述异常文件的次数;
若已允许所述客户端生成所述异常文件的次数小于所述操作次数,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,所述第一获取模块,被配置为执行根据所述操作次数,得到所述客户端的操作指示时,具体执行:
每间隔指定时长生成一个令牌,并存储到令牌桶;所述令牌桶中每个令牌用于允许所述客户端生成指定数量的异常文件;所述令牌桶存储的令牌数量上限为所述操作次数;所述指定时长为所述单个周期的时长除以所述操作次数;
则在确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前,所述装置还包括:
查询模块,被配置为执行查询令牌桶,且确定所述令牌桶为空。
在一种可能的实施例中,所述装置还包括:
减少模块,被配置为执行若所述令牌桶不为空,则确定所述操作指示为允许所述客户端执行生成异常文件的操作,并将所述令牌桶中令牌数量减少。
在一种可能的实施例中,若确定所述操作指示为允许所述客户端执行生成异常文件的操作,所述装置还包括:
第一添加模块,被配置为将所述响应信息发送给所述客户端之前,执行将文件类型指示信息添加到所述响应信息中;所述文件类型指示信息用于指示所述客户端是否对所述异常文件进行压缩处理。
在一种可能的实施例中,所述第一添加模块,被配置为执行确定所述异常文件的文件类型指示信息,具体执行:
若当前周期内已接收的请求信息总量大于或等于指定阈值且小于单个周期内允许的操作次数,则确定所述文件类型指示信息指示为进行压缩处理;
若所述请求信息总量小于所述指定阈值,则确定所述文件类型指示信息指示为不进行压缩处理。
在一种可能的实施例中,所述装置还包括:
分析模块,被配置为执行对所述请求信息和历史请求信息进行分析,得到不同时间段内的异常崩溃事件的描述信息,所述描述信息包括以下中的至少一种:请求总次数、各指定异常文件处理程序产生进程异常事件的总次数、异常文件的总数据量、不同地理区域内产生进程异常事件的总次数;
展示模块,被配置为执行按时间分布展示不同时间段内的所述描述信息。
在一种可能的实施例中,所述客户端的请求信息还包括异常文件处理程序的环境变量;
所述进行异常分析所需的信息包括:异常事件的描述信息、用于指向所述客户端发生异常事件的运行程序代码的调用栈信息,所述装置还包括:
第二确定模块,被配置为执行根据所述环境变量,确定所述进程异常事件的发生位置;其中,所述发生位置包括:容器内、容器外;
若所述发生位置为在所述容器内,则根据对所述调用栈信息的访问权限访问所述运行程序代码;
若所述发生位置为在所述容器外,则根据所述调用栈信息访问所述运行程序代码。
根据本公开实施例的第四方面,提供一种进程异常事件处理装置,应用于客户端,包括:
第二发送模块,被配置为执行响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第二接收模块,被配置为执行接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示;
操作执行模块,被配置为执行若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
在一种可能的实施例中,若所述响应信息指示允许操作,所述响应信息中还包括文件类型指示信息;所述装置还包括:
压缩模块,被配置为生成所述异常文件之后,执行若所述文件类型指示信息指示为压缩文件;
对所述异常文件进行压缩处理。
在一种可能的实施例中,所述请求信息中还包括异常文件处理程序的环境变量;其中,所述环境变量用于供所述服务端确定所述进程异常事件的发生位置,所述发生位置包括:容器内、容器外;
其中,根据所述发生位置为容器内的异常事件生成的异常文件中包含的调用栈信息具有用户访问权限;其中,所述调用栈信息用于指向所述客户端发生异常事件的运行程序代码。
根据本公开实施例的第五方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面、第二方面所述的方法。
根据本公开实施例的第六方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面、第二方面所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开提供了一种进程异常事件处理方法、装置、电子设备及存储介质,涉及系统开发技术领域,该方法应用于客户端,客户端响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;然后,接收所述服务端发送的对所述请求信息的响应信息其中,所述响应信息中携带有操作指示;若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。通过该方法,解决了相关技术中,容易导致服务集群出现故障、导致服务可靠性下降的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为本公开实施例提供的一种终端设备的结构图;
图2为本公开实施例提供的一种进程异常事件处理方法的应用场景示意图;
图3为本公开实施例提供的一种应用于客户端的进程异常事件处理方法的流程示意图;
图4为本公开实施例提供的一种应用于服务端的进程异常事件处理方法的流程示意图;
图5为本公开实施例提供的一种进程异常事件处理方法的分析界面图;
图6为本公开实施例提供的一种应用于客户端的进程异常事件处理装置的结构示意图;
图7为本公开实施例提供的一种应用于服务端的进程异常事件处理装置的结构示意图;
图8为本公开实施例提供的一种集群数据库系统的结构示意图;
图9为本公开实施例提供的一种数据库系统的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本公开实施例涉及的多个,是指大于或等于两个。
本公开实施例涉及的终端设备,又可以称为用户设备(user equipment,UE),用户设备上可以安装各种用户程序,例如本公开的客户端,可以提供短视频生成、分发和播放等功能。终端设备可以是智能手机、平板电脑、各类可穿戴设备、车载设备等。终端设备中可以安装各种应用程序,比如短视频应用、地图等。本公开实施例提供了一种进程异常事件处理方法,该方法适用于终端设备中。图1示出了一种可能的终端设备的结构图。参阅图1所示,所述终端设备100包括:射频(Radio Frequency,RF)电路110、电源120、处理器130、存储器140、输入单元150、显示单元160、摄像头170、通信接口180、以及无线保真(WirelessFidelity,WiFi)模块190等部件。本领域技术人员可以理解,图1中示出的终端设备的结构并不构成对终端设备的限定,本公开实施例提供的终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对所述终端设备100的各个构成部件进行具体的介绍:
所述RF电路110可用于通信或通话过程中,数据的接收和发送。特别地,所述RF电路110在接收到基站的下行数据后,发送给所述处理器130处理;另外,将待发送的上行数据发送给基站。通常,所述RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi技术属于短距离无线传输技术,所述终端设备100通过WiFi模块190可以连接接入点(Access Point,AP),从而实现数据网络的访问。所述WiFi模块190可用于通信过程中,数据的接收和发送。
所述终端设备100可以通过所述通信接口180与其他设备实现物理连接。在一个实施例中,所述通信接口180与所述其他设备的通信接口通过电缆连接,实现所述终端设备100和其他设备之间的数据传输。
由于在本公开实施例中,所述终端设备100能够实现通信业务,向其他联系人发送信息,因此所述终端设备100需要具有数据传输功能,即所述终端设备100内部需要包含通信模块。虽然图1示出了所述RF电路110、所述WiFi模块190、和所述通信接口180等通信模块,但是可以理解的是,所述终端设备100中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当所述终端设备100为手机时,所述终端设备100可以包含所述RF电路110,还可以包含所述WiFi模块190;当所述终端设备100为计算机时,所述终端设备100可以包含所述通信接口180,还可以包含所述WiFi模块190;当所述终端设备100为平板电脑时,所述终端设备100可以包含所述WiFi模块。
所述存储器140可用于存储软件程序以及模块。所述处理器130通过运行存储在所述存储器140的软件程序以及模块,从而执行所述终端设备100的各种功能应用以及数据处理。
在一个实施例中,所述存储器140可以主要包括存储程序区和存储数据区。其中,存储程序区可存储操作系统、各种应用程序(比如短视频应用)以及人脸识别、人体识别模块等;存储数据区可存储根据所述终端设备的使用所创建的数据(比如各种进程异常事件处理任务,可访问的源数据库,可访问的目标数据库、不同运维人员的操作权限,图片、视频、音频文件等多媒体文件)等。
此外,所述存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述输入单元150可用于接收用户输入的数字或字符信息,以及产生与所述终端设备100的用户设置以及功能控制有关的信号输入。
在一个实施例中,输入单元150可包括触控面板151以及其他输入设备152。
其中,所述触控面板151,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或在所述触控面板151上或在所述触控面板151附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,所述触控面板151可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器130,并能接收所述处理器130发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板151。
在一个实施例中,所述其他输入设备152可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元160可用于显示由用户输入的信息或提供给用户的信息以及所述终端设备100的各种菜单。所述显示单元160即为所述终端设备100的显示系统,用于呈现界面,实现人机交互。
所述显示单元160可以包括显示面板161。在一个实施例中,所述显示面板161可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
进一步的,所述触控面板151可覆盖所述显示面板161,当所述触控面板151检测到在其上或附近的触摸操作后,传送给所述处理器130以确定触摸事件的类型,随后所述处理器130根据触摸事件的类型在所述显示面板161上提供相应的视觉输出,例如可输出用于查看本公开实施例提供的分析图表,该分析图表可用于对全部或部分进程异常事件进行分析。
虽然在图1中,所述触控面板151与所述显示面板161是作为两个独立的部件来实现所述终端设备100的输入和输入功能,但是在某些实施例中,可以将所述触控面板151与所述显示面板161集成而实现所述终端设备100的输入和输出功能。
所述处理器130是所述终端设备100的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在所述存储器140内的软件程序和/或模块,以及调用存储在所述存储器140内的数据,执行所述终端设备100的各种功能和处理数据,从而实现基于所述终端设备的多种业务。
在一个实施例中,所述处理器130可包括一个或多个处理单元。在一个实施例中,所述处理器130可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到所述处理器130中。
所述摄像头170,用于实现所述终端设备100的拍摄功能,拍摄图片或视频。所述摄像头170还可以用于实现终端设备100的扫描功能,对扫描对象(二维码/条形码)进行扫描。
所述终端设备100还包括用于给各个部件供电的电源120(比如电池)。在一个实施例中,所述电源120可以通过电源管理系统与所述处理器130逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,所述终端设备100还可以包括至少一种传感器、音频电路等,在此不再赘述。
以linux操作系统为例,在Linux操作系统中,每个用户程序的数据和代码都是存放在内存中的,当用户程序发生不可应付的异常时,会导致用户程序异常退出,通常将进程异常事件被记为core事件。Linux操作系统是服务这些用户程序的,在发生异常前,可以基于core事件将获取的用户程序的信息dump(写入)到core文件中,并通过core_pattern(用于实现core文件的配置和管理)方式保存下来,以便于后续技术人员进行分析。相关技术中,企业在自己的服务系统的运行过程中,如果发生大规模进程异常事件(即core事件),容易导致服务集群出现故障、导致服务可靠性下降。
有鉴于此,本公开提供一种进程异常事件处理方法。该方法可以应用于数据库系统(Database System)。数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统。数据库系统一般由以下三部分组成:(1)数据库(database,DB),指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。(2)硬件,包括存储数据所需的数据处理器,例如内存和/或磁盘。(3)软件,包括DBMS(databasemanagement system,数据库管理系统),DBMS是数据库系统的核心软件,是用于科学地组织和存储数据,以及高效获取和维护数据的系统软件,数据库引擎是DBMS的核心内容。本公开中的客户端以及服务端可构成数据库系统,下面结合图示对本公开提供的进程异常事件处理方法进行说明。
发明人研究发现,由于服务系统中存在上千个用于存储业务逻辑程序或者数据的节点,每个节点内具有很大的存储范围(例如300GB~500GB之间),如果发生大规模进程异常事件(即core事件),那么因为进程写core文件过程中耗时过长,则导致恢复整个集群可能需要45~90分钟不等,造成P0级故障(最严重故障级别,会导致应用软件推荐效果差,甚至不可用;例如程序崩溃,页面无法访问,主程序不通,主功能未实现),从而导致服务可靠性下降。发明人进一步研究发现,这上千个进程(可理解为本公开后文中的异常文件处理程序),在短时间内写core的事件都是重复的,所以只允许几个进程写core文件即可,让绝大多数(如99%)以上的进程瞬间死亡,快速重启,服务可得以快速恢复,避免故障。
参阅图2,本公开实施例提供的一种进程异常事件处理方法的应用场景示意图,该场景包括至少一个用户20、至少一个客户端21、服务端22、运维人员23和终端24。
实施时,异常文件处理程序可为多个客户端提供服务、与客户端交互,完成异常文件的生成操作。当用户20在客户端21进行操作期间,若客户端21上发生了进程异常事件(例如,核心转储core事件),即操作系统的应用程序在使用的过程中进程发生的异常退出或崩溃事件,则客户端21会向服务端22发送请求信息,以使服务端22基于异常文件生成规则确定是否允许该客户端21对本次进程异常事件生成对应的异常文件(例如,core文件),并将用于指示是否生成对应异常文件的操作指示携带在响应信息中;然后将该响应信息发送客户端21。
一种可能的实施方式中,服务端22通过客户端21的异常文件处理程序的程序标识,根据白名单和/或单个周期内允许的操作次数,确定是否允许客户端21生成core文件。客户端21在接收到服务端22的响应信息后,则根据服务端22的响应信息执行对应的客户端操作。
由此,哪些客户端能够写异常文件可以由服务端根据实际需求确定,由于同一时间段多个客户端写的异常文件内容相似,故此,让少数的客户端进行异常文件的写处理即可能获得足够的进行异常分析的信息,同时让多数程序结束运行,能够及时释放成千的异常文件处理程序占用的资源,减少写异常文件所占用的耗时快速恢复正常的业务处理能力。
此外,服务端22还根据接收到的至少一个客户端21的各历史请求信息得到不同时间段内的异常崩溃时间的描述信息,从而方便运维人员23可通过终端24进行监控和分析,从而实现对于本公开实现进程异常事件处理过程的运维,以发现进程异常事件的发生频率或检测出发生原因,从而确定对应的解决方案,以保障客户端21的程序运行。其中,运维人员23和终端24也可根据业务需要增加。
其中,终端24和服务端22可通过通信网络进行通信连接,客户端21和服务端22也可通过通信网络进行通信连接,该通信网络可以为局域网、广域网等。服务端22可以为任何能够支持相应的数据库处理的服务器设备。
实施时,客户端21可部署在对应的终端设备上,多台客户端21连接一个服务端22;此外,还可根据业务需要增加对于服务端22的部署,例如,可在距离较远的区域内,部署两个服务端22用于连接多台客户端21以最大可能保证所有客户端21正常异常文件处理程序。
参阅图3,为本公开实施例中提供的一种应用于客户端的异常事件退出处理方法的流程示意图,包括:
步骤301:响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息。
在一个实施例中,若采用的是Linux操作系统,则进程异常事件对应的为core事件,当在客户端上的检测到发生core事件时,客户端响应于该core事件,向服务端发送请求信息,以确定是否允许客户端对此次core事件生成core文件。
在另一个实施例中,在向服务端发送请求信息之前,还可通过所述客户端的环境变量确定所述进程异常事件的发生位置,即不同的发生位置具有不同的环境变量;其中,进程异常事件的发生位置包括:容器内、容器外;将所述进程异常事件的发生位置添加到所述请求信息中,以使所述服务端根据所述环境变量确定所述进程异常事件的发生位置。
通过首先确定进程异常事件的发生位置,可实现按容器维度发送对此次进程异常事件的请求信息给服务器,则服务器通过客户端发送的请求信息可确定core事件发生在容器内还是容器外。
上述实施例中,若进程异常事件的发生位置为容器内,则根据容器内发生的进程异常事件生成的异常文件中包含的调用栈信息具有用户访问权限,其中,所述调用栈信息用于指向所述客户端发生异常事件的运行程序代码;即,若是发生在容器内的core事件,在通过生成的core文件对该core事件进行分析时,只有具有对core文件中的运行程序代码的调用栈信息的用户访问权限的用户账户或终端设备才具有获取该core文件的用户访问权限。通过按照容器维度对于core事件的上报,保证了对于容器内core事件的用户权限控制性,从而保障了客户端异常文件处理程序的信息安全性。
服务端负责对连接的各客户端的程序运行状态进行监控和确定各客户端发生的core事件是否需要生成core文件,参阅图4,为本公开实施例中提供的一种应用于服务端的异常事件退出处理方法的流程示意图,包括:
步骤401:接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息。
步骤402:基于异常文件生成规则,得到所述客户端的操作指示。
可选的,根据白名单,得到所述客户端的操作指示;或者,根据单个周期内允许的操作次数,得到所述客户端的操作指示;或者,根据白名单和单个周期内允许的操作次数,共同得到所述客户端的操作指示。其中,所述操作次数为允许生成异常文件的次数,以下分别对三种方式进行说明:
方式一:根据白名单,得到所述客户端的操作指示。
实施时,基于服务端对各客户端采用的异常文件处理程序进行细粒度控制的基础上,即服务端根据需要根据异常文件处理程序的程序标识对其单独配置,得到预设的白名单,在该预设的白名单中的程序标识,表明在采用该异常文件处理程序的客户端上发生core事件时,允许该客户端生成core文件。
在相同的实施方式上,还可对异常文件处理程序的程序标识进行单独配置,得到预设的黑名单,在预设的黑名单中的程序标识,表明在采用该异常文件处理程序的客户端上发生core事件时,禁止该客户端生成core文件。
通过对于各客户端的异常文件处理程序在程序标识维度进行单独配置,可实现服务端通过客户端采用的异常文件处理程序的程序标识,确定是否允许生成异常文件,从而方便的确定出哪些客户端运行生成异常文件,达到避免所有客户端的进程异常事件都需要写异常文件导致的故障问题。
上述实施方式中,服务端对于程序标识进行预设白名单的配置,实施时可通过服务端内部配置系统实现,例如Kconf(一种类似数据库的内部配置系统);此外,服务端可实时监测内部配置系统对白名单配置的变化,以便于及时更新预设的白名单。
具体实施时,若获取到与客户端对应的异常文件处理程序的程序标识,则在预设的白名单中查找所述程序标识;若查找到所述程序标识,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;若未查找到所述程序标识,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。需要说明的是,每个异常文件处理程序可由至少一个客户端运行,并且该异常文件处理程序用于与客户端协作生成异常文件。
此外,在确定允许客户端生成异常文件的情况下,还可确定对该程序标识允许生成的异常文件的文件类型指示信息,其中,异常文件的文件类型指示信息中包括是否对生成的异常文件进行压缩处理。
方式二:根据单个周期内允许生成所述异常文件的操作次数,得到所述客户端的操作指示。
在一个实施例中,获取当前周期内已允许客户端生成异常文件的次数;若已允许所述客户端生成所述异常文件的次数小于所述操作次数,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;若已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作;即服务端对每个异常文件处理程序,在时间维度上根据程序标识为其配置单个周期内允许生成异常文件的最大操作次数。
其中,在一个可能的实施例中,程序标识可携带在客户端的请求信息中,单个周期内允许的操作次数是根据以下方法确定的:若获取到与客户端对应的异常文件处理程序的程序标识,则从预先配置的各异常文件处理程序的程序标识与操作次数的对应关系中,获取所述程序标识对应的操作次数。
例如,若单个周期为1小时,1小时内允许生成core文件的数量为6次;则确定服务端当前已接收到的请求信息的总量,若当前已接收的请求信息总量小于6次,则确定允许服务端接收到的本次core事件的请求写core文件,若当前已接收的请求信息总量大于或等于6次,则表明对该异常文件处理程序在该单个周期内的操作次数已经达到最大配置阈值,则禁止客户端此次请求生成core文件。通过服务端在时间维度上对客户端发生进程异常事件时生成异常文件的次数的控制,也可避免相关技术中,所有客户端的进程异常事件都需要写异常文件导致的故障问题。
在另一个实施例中,若当前周期内已接收的请求信息总量大于或等于指定阈值且小于单个周期内允许的操作次数,则确定所述文件类型指示信息指示为进行压缩处理;若所述请求信息总量小于所述指定阈值,则确定所述文件类型指示信息指示为不进行压缩处理。例如,继续沿用上一实施例的例子,若指定阈值为5次,则当在当前1小时内已接收到的请求信息总量大于或等于5次且小于6次时,则确定客户端允许生成异常文件,但需要将异常文件进行压缩处理,即最后生成的为压缩的异常文件,从而减小异常文件的存储大小。为清楚地理解本实施例,本公开提供一种服务端确定客户端是否允许写异常文件的实施方式,如表1所示:
表1
已接收的请求信息总量 是否允许生成异常文件 文件类型
X<指定阈值 允许 异常文件
指定阈值≤X<操作次数 允许 压缩处理的异常文件
操作次数≤X 禁止
其中,表1中的X用来表示已接收的请求信息总量。
此外,需要说明的是,可以尽可能的覆盖各个时间段内产生的进程异常事件,以便于能够收集到覆盖各个时间段的异常文件,以便于对异常原因进行分析。例如若服务端在一个小时允许6次core事件生成core文件,则随着时间的变化,每12分钟可允许一个新接收的客户端的生成异常文件的请求生成异常文件。
方式三:根据白名单和单个周期内允许的操作次数,得到所述客户端的操作指示。
此外,在根据白名单,确定是否允许所述客户端生成所述异常事件的实施例中;若未查找到所述程序标识,在另一个实施例中,还可根据单个周期内允许的操作次数,得到所述客户端的操作指示,在确定还满足当前周期内已接收的请求信息总量,大于或等于操作次数的条件下,才确定禁止客户端生成异常文件。具体实施时,若在预设的白名单中查找客户端的异常文件处理程序的程序标识,若查找到程序标识,则确定允许客户端生成异常文件;若未查找到程序标识,则通过时间维度上的实施方式,确定是否允许客户端生成异常文件。
此外,在以上三种实施方式的基础上,还可进一步结合令牌桶算法,由于每间隔指定时长还会生成一个令牌,并存储到令牌桶中;其中,令牌桶中的每个令牌用于允许客户端生成指定数量的异常文件;令牌桶存储的令牌数量上限为操作次数;指定时长为单个周期的时长除以操作次数,例如,单个周期为1小时,令牌数量上限为5个写异常文件的以及1个写压缩处理的异常文件的令牌,则指定时长为1小时/5个写异常文件的令牌以及1小时/1个写压缩处理的异常文件的令牌,即为每12分钟生成一个写异常文件的令牌以及每1小时生成一个写压缩的异常文件的令牌。
因此,在通过上述方式确定为禁止客户端生成异常文件之前,还可进一步查询令牌桶,且确定所述令牌桶为空时,则确定该客户端为禁止执行生成异常文件。可以理解的是,若所述令牌桶不为空,则确定所述操作指示为允许所述客户端执行生成异常文件的操作,并将所述令牌桶中令牌数量减少。
步骤403:将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
需要说明的是,根据前述实施例可确定,在将响应信息发送给客户端之前,还可确定所述异常文件的文件类型指示信息;所述文件类型指示信息用于指示所述客户端是否对所述异常文件进行压缩处理;将所述文件类型指示信息添加到所述响应信息中。
在服务端将响应信息发送给客户端之后,客户端继续执行以下步骤:
步骤302:接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示。
其中服务端的响应信息包含两种可能的操作指示,客户端根据操作指示执行相应的操作,如以下步骤303a、步骤303b:
步骤303a:若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件。
若所述响应信息指示允许操作,则生成所述异常文件。
此外,在响应信息中还包括文件类型指示信息;通过该文件类型指示信息可确定生成的异常文件的文件类型。实施时,若所述文件类型指示信息指示为压缩文件;则对所述异常文件进行压缩处理。
在生成异常文件时,客户端是根据进程异常事件的异常文件处理程序的信息生成的,通过异常文件处理程序的程序运行状态信息,例如程序运行时的内存、寄存器状态、堆栈指令、内存管理信息、函数调用堆栈信息以及程序运行的位置(容器内还是容器外),生成的异常文件,可使得运维技术人员通过该异常文件对该异常文件处理程序进行调试,从而确定进程异常事件的发生原因。此外,还可将生成的异常文件存储到服务端的存储设备上,以使运维人员可通过从服务端中获取对应的异常文件确定进程异常事件的发生原因。
步骤303b:若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
其中,由于程序标识对应的异常文件处理程序至少一个客户端运行,则当确定对该客户端的进程异常事件禁止执行生成异常文件时,则退出该异常文件处理程序,此时,采用该异常文件处理程序的客户端全部退出运行。
此外,服务端还可将每次客户端的请求信息和对各请求信息的响应信息保存下来,可选的,保存在clickhouse(一个完全面向列式的分布式数据库)中,技术开发人员可通过从clickhouse中读取数据并采用画图表工具生成可供技术开发人员分析的图标,例如,采用grafana(一个跨平台的开源的度量分析和可视化工具)。
实施时,对所述请求信息和历史请求信息进行分析,得到不同时间段内的异常崩溃时间的描述信息,所述描述信息包括以下中的至少一种:请求总次数、各异常文件处理程序产生进程异常事件的总次数、异常文件的总数据量、不同地理区域内产生进程异常事件的总次数;按时间分布展示不同时间段内的描述信息。
例如,参阅图5,为本公开提供的一种进程异常事件处理方法的分析界面图,其中,区域a可查看对客户端的每次进程异常事件的详细信息,可查看的详细信息包括:进程异常事件的发生事件、客户端的异常文件处理程序的程序标识、客户端使用的终端设备名称、生成的异常文件大小、异常文件保存路径、进程异常事件的异常文件处理程序的完整命令行。
区域b可从容器维度上分析客户端的进程异常事件的发生频率,例如,其中包括容器内的进程异常事件的发生频率和容器外的进程异常事件的发生频率,可通过图5得到在80min时刻不论容器内还是容器外的进程异常事件发生次数都很高,则可能此时客户端的终端设备上出现了比较严重的故障问题,因此技术人员可及时对该问题进行处理。
区域c可从时间维度上查看服务端接收的进程异常事件的发生次数,通过分析图表可实时监测该服务端各客户端的程序运行状态。
区域d可从程序标识维度查看各异常文件处理程序的执行状态,例如,通过图5可得到程序1的进程异常事件的发生次数随着时间发生次数在减少;而程序2的发生次数持续增加,则表明程序2的执行过程中出现了频繁的异常,亟待技术人员处理;此外,程序3的进程异常事件持续都有发生,但发生次数不高,则技术人员可在方便的情况下,对该程序进行检测。
通过本公开提供的一种进程异常事件处理方法,通过服务端采用不同的实施方式确定客户端的进程异常事件是否需要生成异常文件,从而避免了在客户端大面积发生进程异常事件时,所以客户端均需要生成异常文件,从而导致P0级故障的问题;此外,在客户端基于容器的开发环境下,还可区分异常事件发生位置为容器内还是容器外进行上报请求信息,从而极大的保障了容器内的异常文件处理程序的安全性。
基于相同的发明构思,参阅图6,为本公开实施例提供的一种应用于服务端的进程异常事件处理装置的结构示意图,该装置包括:第一接收模块601、第一获取模块602以及第一发送模块603。
第一接收模块601,被配置为执行接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第一获取模块602,被配置为执行基于异常文件生成规则,得到所述客户端的操作指示;
第一发送模块603,被配置为执行将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
在一种可能的实施例中,所述第一获取模块602,被配置为执行所述基于异常文件生成规则,得到所述客户端的操作指示时,具体执行:
根据白名单和/或单个周期内允许生成所述异常文件的操作次数,得到所述客户端的操作指示。
在一种可能的实施例中,所述第一获取模块602,被配置为执行根据白名单,得到所述客户端的操作指示时,具体执行:
若获取到与所述客户端对应的异常文件处理程序的程序标识,则在预设的白名单中查找所述程序标识;所述异常文件处理程序由至少一个客户端运行,且所述异常文件处理程序用于与所述客户端协作生成所述异常文件;
若查找到所述程序标识,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若未查找到所述程序标识,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,所述装置还包括:
第一确定模块,被配置为所述确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前执行确定当前周期内已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数。
在一种可能的实施例中,所述第一获取模块602,被配置为执行根据所述操作次数,得到所述客户端的操作指示时,具体执行:
获取当前周期内已允许所述客户端生成所述异常文件的次数;
若已允许所述客户端生成所述异常文件的次数小于所述操作次数,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
在一种可能的实施例中,所述第一获取模块602,被配置为执行根据所述操作次数,得到所述客户端的操作指示时,具体执行:
每间隔指定时长生成一个令牌,并存储到令牌桶;所述令牌桶中每个令牌用于允许所述客户端生成指定数量的异常文件;所述令牌桶存储的令牌数量上限为所述操作次数;所述指定时长为所述单个周期的时长除以所述操作次数;
则在确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前,所述装置还包括:
查询模块,被配置为执行查询令牌桶,且确定所述令牌桶为空。
在一种可能的实施例中,所述装置还包括:
减少模块,被配置为执行若所述令牌桶不为空,则确定所述操作指示为允许所述客户端执行生成异常文件的操作,并将所述令牌桶中令牌数量减少。
在一种可能的实施例中,若确定所述操作指示为允许所述客户端执行生成异常文件的操作,所述装置还包括:
第一添加模块,被配置为将所述响应信息发送给所述客户端之前,执行将文件类型指示信息添加到所述响应信息中;所述文件类型指示信息用于指示所述客户端是否对所述异常文件进行压缩处理。
在一种可能的实施例中,所述第一添加模块,被配置为执行确定所述异常文件的文件类型指示信息,具体执行:
若当前周期内已接收的请求信息总量大于或等于指定阈值且小于单个周期内允许的操作次数,则确定所述文件类型指示信息指示为进行压缩处理;
若所述请求信息总量小于所述指定阈值,则确定所述文件类型指示信息指示为不进行压缩处理。
在一种可能的实施例中,所述装置还包括:
分析模块,被配置为执行对所述请求信息和历史请求信息进行分析,得到不同时间段内的异常崩溃事件的描述信息,所述描述信息包括以下中的至少一种:请求总次数、各指定异常文件处理程序产生进程异常事件的总次数、异常文件的总数据量、不同地理区域内产生进程异常事件的总次数;
展示模块,被配置为执行按时间分布展示不同时间段内的所述描述信息。
在一种可能的实施例中,所述客户端的请求信息还包括异常文件处理程序的环境变量;
所述进行异常分析所需的信息包括:异常事件的描述信息、用于指向所述客户端发生异常事件的运行程序代码的调用栈信息,所述装置还包括:
第二确定模块,被配置为执行根据所述环境变量,确定所述进程异常事件的发生位置;其中,所述发生位置包括:容器内、容器外;
若所述发生位置为在所述容器内,则根据对所述调用栈信息的访问权限访问所述运行程序代码;
若所述发生位置为在所述容器外,则根据所述调用栈信息访问所述运行程序代码。
基于相同的发明构思,参阅图7,为本公开实施例提供的一种应用于服务端的进程异常事件处理装置的结构示意图,该装置包括:第二发送模块701、第二接收模块702以及操作执行模块703。
第二发送模块701,被配置为执行响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第二接收模块702,被配置为执行接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示;
操作执行模块703,被配置为执行若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
在一种可能的实施例中,若所述响应信息指示允许操作,所述响应信息中还包括文件类型指示信息;所述装置还包括:
压缩模块,被配置为生成所述异常文件之后,执行若所述文件类型指示信息指示为压缩文件;
对所述异常文件进行压缩处理。
在一种可能的实施例中,所述请求信息中还包括异常文件处理程序的环境变量;其中,所述环境变量用于供所述服务端确定所述进程异常事件的发生位置,所述发生位置包括:容器内、容器外;
其中,根据所述发生位置为容器内的异常事件生成的异常文件中包含的调用栈信息具有用户访问权限;其中,所述调用栈信息用于指向所述客户端发生异常事件的运行程序代码。
参见图8,本公开实施例还提供一种集群数据库系统500,包括:包括硬件层507和运行在硬件层507之上的虚拟机监控器(VMM)501,以及多个虚拟机502。一个虚拟机可以作为集群数据库系统500的一个数据节点。可选的,还可以指定一个虚拟机作为协调节点。
具体的,虚拟机502是通过虚拟机软件在公共硬件资源上模拟出的虚拟的计算机,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层507:虚拟化环境运行的硬件平台,可以由一个或多个物理主机的硬件资源抽象得到的。其中,硬件层可包括多种硬件,例如包括处理器504(例如CPU)和存储器505,还可以包括网卡503(例如RDMA网卡)、高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备。
虚拟机502基于VMM,以及硬件层507提供的硬件资源,运行可执行程序,以实现本公开实施例中的各客户端的部分或全部功能。为了简洁,在此不再赘述。
进一步地,该集群数据库系统500还可以包括宿主机(Host):作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(VMM);也有可能是由VMM和1个特权虚拟机的结合。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、虚拟内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机运行在Host为其准备的虚拟硬件平台上,Host上运行一个或多个虚拟机。虚拟机502的VCPU通过执行存储在其对应的虚拟内存中的可执行程序,以实现或者执行本公开上述各方法实施例中所描述的方法步骤。例如,实现本公开实施例中的各客户端的部分或全部功能。
参见图9,本公开实施例还提供一种数据库系统,包括:数据库服务器800,基于与数据库服务器800通过通信网络连接的客户端设备100。其中,
客户端设备100的硬件层606上运行有客户端操作系统604,操作系统604上运行有应用程序602;数据库服务器800的硬件层816上运行有操作系统814,以及在操作系统814上运行有数据库管理系统812。应用程序602经由通信网络与在数据库服务器800上运行的数据库管理系统812连接并且访问或者操作存储在数据存储器818中的数据库,例如,通过分析界面查询、更新或删除数据库中的数据,或者导入新的数据至数据库。
硬件层606和816包含操作系统和应用程序运行所需的基本硬件单元,例如,处理器,例如CPU,内存(Memory)、输入/输出设备、网络接口等。
数据存储器818可以是数据库服务器800的外部存储器,比如硬盘、磁盘、存储阵列,或存储服务器等,与数据库服务器800通信连接。或者,数据存储器818也可以集成在数据库服务器800内部,与处理器和I/O设备通过总线或其它内部通信方式交互数据。
数据库服务器800的内存中存储有可执行代码,该可执行代码在被处理器执行时被配置为实现数据库管理系统812的组件和功能。数据库管理系统812具体可以实现本公开实施例中的协调服务器、状态管理器以及服务端的部分或全部功能,此处不再赘述。
应理解,在本公开的各种实施例中,“可执行程序”应被广泛地解释为包括但不限于:指令,指令集,代码,代码段,子程序,软件模块,应用,软件包,线程,进程,函数,固件,中间件等。上述实施例描述的方法步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的上述实施过程构成任何限定。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照所述特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在所述计算机可读存储器中的指令产生包括指令装置的制造品,所述指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种进程异常事件处理方法,其特征在于,应用于服务端,所述方法包括:
接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
基于异常文件生成规则,得到所述客户端的操作指示;
将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
2.根据权利要求1所述的方法,其特征在于,所述基于异常文件生成规则,得到所述客户端的操作指示,包括:
根据白名单和/或单个周期内允许生成所述异常文件的操作次数,得到所述客户端的操作指示。
3.根据权利要求2所述的方法,其特征在于,根据白名单,得到所述客户端的操作指示,包括:
若获取到与所述客户端对应的异常文件处理程序的程序标识,则在预设的白名单中查找所述程序标识;所述异常文件处理程序由至少一个客户端运行,且所述异常文件处理程序用于与所述客户端协作生成所述异常文件;
若查找到所述程序标识,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若未查找到所述程序标识,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
4.根据权利要求3所述的方法,其特征在于,所述确定所述操作指示为禁止所述客户端执行生成异常文件的操作之前,所述方法还包括:
确定当前周期内已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数。
5.根据权利要求2所述的方法,其特征在于,根据所述操作次数,得到所述客户端的操作指示,包括:
获取当前周期内已允许所述客户端生成所述异常文件的次数;
若已允许所述客户端生成所述异常文件的次数小于所述操作次数,则确定所述操作指示为允许所述客户端执行生成异常文件的操作;
若已允许所述客户端生成所述异常文件的次数大于或等于所述操作次数,则确定所述操作指示为禁止所述客户端执行生成异常文件的操作。
6.一种进程异常事件处理方法,其特征在于,应用于客户端,所述方法包括:
响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示;
若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
7.一种进程异常事件处理装置,其特征在于,应用于服务端,所述装置包括:
第一接收模块,被配置为执行接收客户端响应于进程异常事件发送的请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第一获取模块,被配置为执行基于异常文件生成规则,得到所述客户端的操作指示;
第一发送模块,被配置为执行将携带所述操作指示的响应信息发送给所述客户端;
其中,若所述操作指示用于指示允许执行生成异常文件的操作,则所述客户端生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则所述客户端执行退出操作。
8.一种进程异常事件处理装置,其特征在于,应用于客户端,所述装置包括:
第二发送模块,被配置为执行响应于进程异常事件,向服务端发送请求信息;其中,所述请求信息用于请求执行生成异常文件的操作;所述异常文件用于存储进行异常分析所需的信息;
第二接收模块,被配置为执行接收所述服务端发送的对所述请求信息的响应信息;其中,所述响应信息中携带有操作指示;
操作执行模块,被配置为执行若所述操作指示用于指示允许执行生成异常文件的操作,则生成所述异常文件;若所述操作指示用于指示禁止执行生成异常文件的操作,则执行退出操作。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6中任一权利要求所述的方法。
10.一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-6中任一权利要求所述的方法。
CN202010440952.0A 2020-05-22 2020-05-22 进程异常事件处理方法、装置、电子设备及存储介质 Active CN111625383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010440952.0A CN111625383B (zh) 2020-05-22 2020-05-22 进程异常事件处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010440952.0A CN111625383B (zh) 2020-05-22 2020-05-22 进程异常事件处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111625383A true CN111625383A (zh) 2020-09-04
CN111625383B CN111625383B (zh) 2023-11-14

Family

ID=72272745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010440952.0A Active CN111625383B (zh) 2020-05-22 2020-05-22 进程异常事件处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111625383B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010189A (zh) * 2021-03-17 2021-06-22 恒安嘉新(北京)科技股份公司 一种数据库安装方法、装置、设备及存储介质
CN113220495A (zh) * 2021-05-24 2021-08-06 浙江大华技术股份有限公司 一种进程异常事件处理方法、装置、电子设备及存储介质
CN117395141A (zh) * 2023-12-07 2024-01-12 江苏征途技术股份有限公司 一种简化站房智能辅助与人工智能可视化网关配置的方法
CN117472640A (zh) * 2023-12-28 2024-01-30 成都中科合迅科技有限公司 跨平台事件处理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061126A1 (en) * 2015-09-02 2017-03-02 Nehemiah Security Process Launch, Monitoring and Execution Control
CN109614290A (zh) * 2018-12-10 2019-04-12 苏州思必驰信息科技有限公司 容器中的进程异常信息记录方法及系统
CN109656743A (zh) * 2018-12-28 2019-04-19 杭州迪普科技股份有限公司 一种core文件管理方法及装置、设备、介质
CN110515820A (zh) * 2019-08-29 2019-11-29 北京浪潮数据技术有限公司 一种服务器故障维护方法、装置、服务器及存储介质
CN110647451A (zh) * 2019-08-30 2020-01-03 深圳壹账通智能科技有限公司 应用程序异常分析方法及生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061126A1 (en) * 2015-09-02 2017-03-02 Nehemiah Security Process Launch, Monitoring and Execution Control
CN109614290A (zh) * 2018-12-10 2019-04-12 苏州思必驰信息科技有限公司 容器中的进程异常信息记录方法及系统
CN109656743A (zh) * 2018-12-28 2019-04-19 杭州迪普科技股份有限公司 一种core文件管理方法及装置、设备、介质
CN110515820A (zh) * 2019-08-29 2019-11-29 北京浪潮数据技术有限公司 一种服务器故障维护方法、装置、服务器及存储介质
CN110647451A (zh) * 2019-08-30 2020-01-03 深圳壹账通智能科技有限公司 应用程序异常分析方法及生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010189A (zh) * 2021-03-17 2021-06-22 恒安嘉新(北京)科技股份公司 一种数据库安装方法、装置、设备及存储介质
CN113010189B (zh) * 2021-03-17 2023-07-25 恒安嘉新(北京)科技股份公司 一种数据库安装方法、装置、设备及存储介质
CN113220495A (zh) * 2021-05-24 2021-08-06 浙江大华技术股份有限公司 一种进程异常事件处理方法、装置、电子设备及存储介质
CN113220495B (zh) * 2021-05-24 2024-04-16 浙江大华技术股份有限公司 一种进程异常事件处理方法、装置、电子设备及存储介质
CN117395141A (zh) * 2023-12-07 2024-01-12 江苏征途技术股份有限公司 一种简化站房智能辅助与人工智能可视化网关配置的方法
CN117472640A (zh) * 2023-12-28 2024-01-30 成都中科合迅科技有限公司 跨平台事件处理方法和系统
CN117472640B (zh) * 2023-12-28 2024-03-22 成都中科合迅科技有限公司 跨平台事件处理方法和系统

Also Published As

Publication number Publication date
CN111625383B (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN111625383B (zh) 进程异常事件处理方法、装置、电子设备及存储介质
CN108512695B (zh) 监控应用卡顿的方法及装置
CN104360878B (zh) 一种应用软件部署的方法及装置
CN107948744B (zh) 接口检测方法、接口检测设备及计算机可读存储介质
CN104516760A (zh) 一种操作系统热切换的方法、装置及移动终端
CN108446207B (zh) 计算机系统容灾能力评估方法、装置及系统
CN111858112B (zh) 一种检测内存泄露的方法、客户端及服务器
CN107463468A (zh) 缓存管理方法及其设备
CN105847446B (zh) 一种网络数据的获取方法、装置和系统
CN109656783A (zh) 系统平台监控方法及装置
CN108984374B (zh) 一种数据库性能的测试方法和系统
CN111324667A (zh) 一种数据同步方法、装置、电子设备及存储介质
CN108039956A (zh) 应用监控方法、系统和计算机可读存储介质
CN108664389B (zh) 一种测试方法、装置及终端
CN113687942B (zh) 检测方法、装置及电子设备
CN108270839A (zh) 访问频率控制系统及方法
CN111104281A (zh) 一种游戏性能监控方法、装置、系统及存储介质
CN112799910A (zh) 层次化监控方法及装置
CN112866422A (zh) 一种数据请求处理方法和装置
CN110619009A (zh) 一种运动数据分段统计的方法及终端
CN111813574A (zh) 图片压缩方法、装置、存储介质和电子设备
CN110019535B (zh) 数据库管理方法、装置、存储介质及计算机设备
CN117097635B (zh) 调用链路采样方法、装置、存储介质及设备
CN112732568B (zh) 一种系统日志获取方法、装置、存储介质及终端
CN113721803B (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