应用程序异常监控方法、装置、计算机设备及存储介质与流程

文档序号:26050268发布日期:2021-07-27 15:25阅读:96来源:国知局
应用程序异常监控方法、装置、计算机设备及存储介质与流程

本申请涉及安全监控领域,尤其涉及一种应用程序异常监控方法、装置、计算机设备及存储介质。



背景技术:

监控是保证一个服务正常稳定运行的主要手段,它在服务上线运行及时发现异常并报警,以便运维人员针对异常做出相对应的跟进处理,进而保证服务的稳定。统一的应用程序服务平台,通常需要接入外部服务,即第三方服务,以完成相应的服务业务流程。当接入的外部服务出现异常时,对于用户来说就是应用程序服务平台出现了服务异常,所以保证接入外部服务的正常显的尤为重要。

目前针对外部服务状态的监控,主要是通过服务拨测的形式进行监控。但是由于服务拨测的方式单一,不具有针对性,在服务内容发生变更时,即面对不同的外部服务时,服务拨测往往不能及时的判断问题,给出预警。使用专业的运维人员对外部服务进行监控,可以提高监控效率,但是人力成本也随之增高。



技术实现要素:

鉴于以上内容,有必要提出一种应用程序异常监控方法、装置、计算机设备及存储介质,能够提高应用程序异常监控的效率。

本申请的第一方面提供了一种应用程序异常监控方法,所述应用程序异常监控方法包括:

响应于应用程序的服务接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;

发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;

接收所述目标服务器解析所述操作指令后返回的执行结果,并根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;

使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应;

比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;

根据所述多个比对结果对所述应用程序进行异常监控。

根据本申请的一个可选的实施例,所述比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果包括:

确定每个所述第一滑动区域中的第一页面关键字和所述第一滑动区域对应的所述第二滑动区域中的第二页面关键字;

将多个所述第一页面关键字及对应的所述第二页面关键字进行关键字比对,得到多个关键字匹配度;

判断每个关键字匹配度是否超过预设匹配度阈值;

根据判断结果,得到多个所述第一滑动区域及对应的所述第二滑动区域的多个比对结果。

根据本申请的一个可选的实施例,所述比对多个所述第一滑动区域及对应的所述第二滑动区域包括:

根据每个所述第一滑动区域生成多个第一图像,并根据每个所述第一滑动区域对应的第二滑动区域,生成多个第二图像,所述第一图像与所述第二图像一一对应;

确定所述第一图像中的第一对比轮廓及对应的所述第二图像中的第二对比轮廓;

根据所述第一对比轮廓和所述第二对比轮廓,将所述第一图像与所述第二图像进行比对。

根据本申请的一个可选的实施例,所述确定所述第一图像中的第一对比轮廓包括:

检测所述第一图像中的所有轮廓,并将每个轮廓确定为第一轮廓;

确定所述第一轮廓的四个顶点坐标;

基于所述顶点坐标确定水平相邻的第一轮廓,计算所述水平相邻的第一轮廓的横向间距;

基于所述顶点坐标确定垂直相邻的第一轮廓,并计算所述垂直相邻的第一矩形轮廓的纵向间距;

根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓。

根据本申请的一个可选的实施例,所述根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓包括:

确定水平相邻的两个所述第一轮廓之间的横向间距,及垂直相邻的两个所述第一轮廓之间的纵向间距;

根据所述横向间距和纵向间距合并所述第一轮廓;

将合并后的第一轮廓作为所述第一对比轮廓。

根据本申请的一个可选的实施例,所述方法还包括:

当根据所述多个比对结果判断所述应用程序正常时,获取所述目标服务对应的目标显示时间;

确定得到所述应用程序的界面图像的时间;

计算所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值;

当所述时间差值大于预设时间阈值时,确定所述应用程序对应的服务状态为异常;当所述时间差值等于或小于所述预设时间阈值时,确定所述应用程序对应的服务状态为正常。

根据本申请的一个可选的实施例,所述解析所述服务接入请求,确定所述服务接入请求对应的目标服务包括:

获取所述服务接入请求的请求报文;

从配置标签库中获取服务信息对应的报文分割标识符;

基于所述报文分割标识符对所述请求报文进行分割,得到所述服务接入请求对应的服务参数;

查询预设的参数映射表,根据所述服务参数确定服务事项,并将所述服务事项确定为所述服务接入请求对应的目标服务;

其中,所述参数映射表中包括服务参数与服务事项之间的映射关系。

本申请的第二方面提供了一种应用程序异常监控装置,所述装置包括:

请求解析模块,用于响应于应用程序的服务接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;

指令发送模块,用于发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;

结果解析模块,用于接收所述目标服务器解析所述操作指令后返回的执行结果,并根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;

图片处理模块,用于使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应;

区域比对模块,用于比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;

异常监控模块,用于根据所述多个比对结果对所述应用程序进行异常监控。

本申请的第三方面提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序时实现如上述的应用程序异常监控方法。

本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的应用程序异常监控方法。

本申请实施例公开了一种应用程序异常监控方法、装置、计算机设备及存储介质,通过响应于应用程序的接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;接着发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;然后接收所述目标服务器解析所述操作指令后返回的执行结果,根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应,通过预设滑动窗口得到多个第一滑动区域和多个第二滑动区域,可以加快进行比对的速率;比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;最后根据所述多个比对结果对所述应用程序进行异常监控,可以有效提高应用程序监控的效率。

附图说明

图1是本申请实施例提供的一种应用程序异常监控方法的流程示意图;

图2是本申请实施例提供的一种应用程序异常监控装置的示意性框图;

图3是本申请实施例提供的一种计算机设备的结构示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

本申请实施例提供一种应用程序异常监控方法、装置、计算机设备及计算机可读存储介质。其中,该应用程序异常监控方法可应用于终端设备或服务器中,该终端设备可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备,该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该应用程序异常监控方法应用于服务器为例进行解释说明。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1是本申请实施例提供的一种应用程序异常监控方法的示意流程图。

如图1所示,所述应用程序异常监控方法具体包括步骤s11至s16,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

s11,响应于应用程序的服务接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务。

示例性的,当用户在应用程序中点击外部服务按钮时,客户端生成所述外部服务对应的服务接入请求。例如,当用户在某应用程序服务平台的用户界面中点击外部服务的按钮时,生成该外部服务对应的服务接入请求。所述服务接入请求可以包括超文本传输协议(hypertexttransferprotocol,http)请求。

在一些实施方式中,所述解析所述服务接入请求,确定所述服务接入请求对应的目标服务包括:

获取所述服务接入请求的请求报文;

从配置标签库中获取服务信息对应的报文分割标识符;

基于所述报文分割标识符对所述请求报文进行分割,得到所述服务接入请求对应的服务参数;

查询预设的参数映射表,根据所述服务参数确定服务事项,并将所述服务事项确定为所述服务接入请求对应的目标服务;

其中,所述参数映射表中包括服务参数与服务事项之间的映射关系。

示例性的,预先设置配置标签库,所述配置标签库中存储了多种信息对应的报文分割标识符,如服务信息对应的报文分割标识符。所述报文分割标识符用于标识报文中进行切割的位置。基于所述报文分割标识符的位置,对所述请求报文进行分割,得到所述服务接入请求对应的服务参数。

根据查询预设的参数映射表,通过服务参数与服务事项之间的映射关系,确定所述服务接入请求对应的目标服务。通过预先设置报文分割标识符,可以提高确定服务参数的速度以及准确率,从而提高确定服务接入请求对应的目标服务的速率以及准确率。

s12,发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像。

确定所述目标服务对应的目标服务器,并发送操作指令至所述目标服务器,所述操作指令用于控制所述目标服务器获取所述目标服务对应的快照图像,所述快照图像为所述目标服务在应用程序中正常打开时的显示图像。

s13,接收所述目标服务器解析所述操作指令后返回的执行结果,根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像。

接收所述目标服务器解析所述操作指令后返回的执行结果,即接收所述目标服务器根据所述操作指令获取到的所述目标服务的快照图像。在接收所述快照图像后,根据所述执行结果截取应用程序的操作界面,得到所述应用程序对应的界面图像。所述界面图像为所述目标服务在应用程序中当前的显示图像。

s14,使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应。

示例性的,可以预先设置不同图像像素各自对应的滑动窗口。例如,图像像素小的图像对应的滑动窗口小,图像像素大的图像对应的滑动窗口大。根据不同图像像素设置不同的滑动窗口,可以保证获取到足够多的第一滑动区域和第二滑动区域,方便后续进行比对,从而提高应用程序监控的有效性。

s15,比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果。

示例性的,确定每个所述第一滑动区域中的区域元素,得到多个第一区域元素;确定每个所述第二滑动区域中的区域元素,得到多个第二区域元素,其中所述第一区域元素和所述第二区域元素一一对应,比对每个第一区域元素及对应的所述第二区域元素,得到多个比对结果。

示例性的,可以将得到的多个比对结果存储至区块链中。

在一些实施方式中,所述比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果包括:

确定每个所述第一滑动区域中的第一页面关键字和所述第一滑动区域对应的所述第二滑动区域中的第二页面关键字;

将多个所述第一页面关键字及对应的所述第二页面关键字进行关键字比对,得到多个关键字匹配度;

判断每个关键字匹配度是否超过预设匹配度阈值;

根据判断结果,得到多个所述第一滑动区域及对应的所述第二滑动区域的多个比对结果。

示例性的,将每个关键字匹配度是否超过预设匹配度阈值的判断结果,作为多个所述第一滑动区域及对应的所述第二滑动区域的多个比对结果。具体地,确定每个比对结果对应的关键字匹配度是否超过预设匹配度阈值,计算所述关键字匹配度超过所述预设匹配度阈值的比对结果个数,当所述比对结果个数大于或等于预设阈值时,确定所述应用程序对应的服务状态为正常;当所述比对结果个数小于所述预设阈值时,确定所述应用程序对应的服务状态为异常。示例性的,所述匹配度可以包括相似度。

在一些实施方式中,所述比对多个所述第一滑动区域及对应的所述第二滑动区域包括:

根据每个所述第一滑动区域生成多个第一图像,并根据每个所述第一滑动区域对应的第二滑动区域,生成多个第二图像,所述第一图像与所述第二图像一一对应;

确定所述第一图像中的第一对比轮廓及对应的所述第二图像中的第二对比轮廓;

根据所述第一对比轮廓和所述第二对比轮廓,将所述第一图像与所述第二图像进行比对。

示例性的,可以根据第一滑动区域的边缘,对所述快照图像进行切割,得到多个第一图像;可以根据第二滑动区域的边缘,对所述界面图像进行切割,得到多个第二图像。

将所述第一图像中的第一对比轮廓与所述第二图像中的第二对比轮廓进行比对,得到所述第一图像与所述第二图像的比对结果。所述第一对比轮廓可以是所述第一图像中文字对应的字符边框,所述第二对比轮廓可以是所述第二图像中文字对应的字符边框。

根据第一图像对应的第一对比轮廓和第二图像对应的第二对比轮廓进行比对,并将比对结果作为第一图像与第二图像的比对结果,可以提高比对的效率,从而提高应用程序监控的效率。

在一些实施方式中,所述确定所述第一图像中的第一对比轮廓包括:

检测所述第一图像中的所有轮廓,并将每个轮廓确定为第一轮廓;

确定所述第一轮廓的四个顶点坐标;

基于所述顶点坐标确定水平相邻的第一轮廓,计算所述水平相邻的第一轮廓的横向间距;

基于所述顶点坐标确定垂直相邻的第一轮廓,并计算所述垂直相邻的第一矩形轮廓的纵向间距;

根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓。

示例性的,检测所述第一图像中的所有文字,确定每个文字对应的文字边框,将所述文字边框确定为第一轮廓,得到多个第一轮廓。确定每个第一轮廓对应的四个顶点坐标,根据顶点坐标确定每个所述第一轮廓的长度和宽度。根据每个第一轮廓的长度和宽度确定每个第一轮廓对应的轮廓面积。

基于一第一轮廓的顶点坐标,确定与该第一轮廓水平相邻的第一轮廓,并计算所述水平相邻的两个第一轮廓之间横向间距。例如根据第一轮廓a的顶点坐标,确定第一轮廓b与所述第一轮廓a水平相邻,即根据第一轮廓a的顶点坐标,确定与第一轮廓a水平相邻的第一轮廓为第一轮廓b,计算第一轮廓a和第一轮廓b之间的横向距离。

基于一第一轮廓的顶点坐标,确定与该第一轮廓垂直相邻的第一轮廓,并计算所述垂直相邻的两个第一轮廓之间纵向间距。例如根据第一轮廓a的顶点坐标,确定第一轮廓c与所述第一轮廓a垂直相邻,即根据第一轮廓a的顶点坐标,确定与第一轮廓a垂直相邻的第一轮廓为第一轮廓c,计算第一轮廓a和第一轮廓c之间的纵向距离。

示例性的,根据所述轮廓面积、所述横向间距和所述纵向间距修正所述第一轮廓,例如对所述第一轮廓进行合并、移除、拆分等操作,得到所述第一轮廓对应的第一对比轮廓。其中所述第一对比轮廓可包括多个,所述第一对比轮廓用于进行数据比对。

在一些实施方式中,所述根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓包括:

确定水平相邻的两个所述第一轮廓之间的横向间距,及垂直相邻的两个所述第一轮廓之间的纵向间距;

根据所述横向间距和纵向间距合并所述第一轮廓;

将合并后的第一轮廓作为所述第一对比轮廓。

示例性的,查找所述横向间距小于预设横向阈值的第一轮廓,并将所述横向间距小于预设横向阈值的第一轮廓进行合并,得到第二轮廓;查找所述纵向间距小于预设纵向阈值的第二轮廓,并将所述第二轮廓进行合并,得到的第三轮廓,将所述第三轮廓作为所述第一对比轮廓。

例如,第一轮廓a与第一轮廓b水平相邻,且第一轮廓a与第一轮廓b的横向间距小于预设横向阈值,将第一轮廓a与第一轮廓b进行合并,得到第二轮廓c;第一轮廓e与第一轮廓f垂直相邻,且第一轮廓e与第一轮廓f的纵向间距小于预设横向阈值,将第一轮廓e与第一轮廓f进行合并,得到第二轮廓g。

通过对第一轮廓进行合并,得到第一对比轮廓,可以减少对比的工作数目,从而加快对比的工作速率。

示例性的,可继续对所述第三轮廓进行处理,以使得到的第一对比轮廓中,水平相邻的两个第一对比轮廓之间的横向距离大于或等于预设横向阈值;垂直相邻的两个第一对比轮廓之间的纵向距离大于或等于预设纵向阈值。

例如,若两个水平相邻的第三轮廓的横向距离小于预设横向阈值,将所述横向间距小于预设横向阈值的第三轮廓进行合并,得到第四轮廓;若两个垂直相邻的第四轮廓的纵向距离小于预设纵向阈值,将所述纵向间距小于预设纵向阈值的第四轮廓进行合并,得到第五轮廓。

通过对第三轮廓的进一步处理,可以进一步减少对比的工作数目,从而进一步加快对比的工作速率。

s16,根据所述多个比对结果对所述应用程序进行异常监控。

示例性的,根据多个所述第一滑动区域及对应的所述第二滑动区域的关键字对比结果对所述应用程序进行异常监控。具体地,确定每个比对结果对应的关键字匹配度是否超过预设匹配度阈值,计算所述关键字匹配度超过所述预设匹配度阈值的比对结果个数,当所述比对结果个数大于或等于预设阈值时,确定所述应用程序对应的服务状态为正常;当所述比对结果个数小于所述预设阈值时,确定所述应用程序对应的服务状态为异常。

在一些实施方式中,所述方法还包括:

当根据所述多个比对结果判断所述应用程序正常时,获取所述目标服务对应的目标显示时间;

确定得到所述应用程序的界面图像的时间;

计算所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值;

当所述时间差值大于预设时间阈值时,确定所述应用程序对应的服务状态为异常;当所述时间差值等于或小于所述预设时间阈值时,确定所述应用程序对应的服务状态为正常。

当根据所述多个比对结果判断所述应用程序正常时,获取所述目标服务在正常情况下打开的目标显示时间。示例性的,可以将接收到服务接入请求的时间加上目标服务对应的接收时间,得到所述目标服务对应的目标显示时间。

当所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值大于预设时间阈值时,确定所述目标服务的打开时间过慢,确定所述应用程序对应的服务状态为异常;当所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值小于或等于所述预设时间阈值时,确定所述目标服务的打开时间正常,确定所述应用程序对应的服务状态为正常。

通过设置快照图片和界面图像进行比对,目标服务响应时间等两次判断,实现双重判断,保证了应用程序监控的准确性,提高了应用程序监控的效率。

上述实施例提供的应用程序异常监控方法,通过响应于应用程序的接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;接着发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;然后接收所述目标服务器解析所述操作指令后返回的执行结果,根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应,通过预设滑动窗口得到多个第一滑动区域和多个第二滑动区域,可以加快进行比对的速率;比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;最后根据所述多个比对结果对所述应用程序进行异常监控,可以有效提高应用程序监控的效率。

请参阅图2,图2是本申请的实施例提供的一种应用程序异常监控装置的示意性框图,该应用程序异常监控装置用于执行前述的应用程序异常监控方法。其中,该应用程序异常监控装置可以配置于服务器或终端中。

其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。

如图2所示,应用程序异常监控装置20包括:请求解析模块201、指令发送模块202、结果解析模块203、图片处理模块204、区域比对模块205和异常监控模块206。

请求解析模块201,用于响应于应用程序的服务接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务。

示例性的,当用户在应用程序中点击外部服务按钮时,客户端生成所述外部服务对应的服务接入请求。例如,当用户在某应用程序服务平台的用户界面中点击外部服务的按钮时,生成该外部服务对应的服务接入请求。所述服务接入请求可以包括超文本传输协议(hypertexttransferprotocol,http)请求。

在一些实施方式中,请求解析模块201解析所述服务接入请求,确定所述服务接入请求对应的目标服务包括:

获取所述服务接入请求的请求报文;

从配置标签库中获取服务信息对应的报文分割标识符;

基于所述报文分割标识符对所述请求报文进行分割,得到所述服务接入请求对应的服务参数;

查询预设的参数映射表,根据所述服务参数确定服务事项,并将所述服务事项确定为所述服务接入请求对应的目标服务;

其中,所述参数映射表中包括服务参数与服务事项之间的映射关系。

示例性的,预先设置配置标签库,所述配置标签库中存储了多种信息对应的报文分割标识符,如服务信息对应的报文分割标识符。所述报文分割标识符用于标识报文中进行切割的位置。基于所述报文分割标识符的位置,对所述请求报文进行分割,得到所述服务接入请求对应的服务参数。

根据查询预设的参数映射表,通过服务参数与服务事项之间的映射关系,确定所述服务接入请求对应的目标服务。通过预先设置报文分割标识符,可以提高确定服务参数的速度以及准确率,从而提高确定服务接入请求对应的目标服务的速率以及准确率。

指令发送模块202,用于发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像。

确定所述目标服务对应的目标服务器,并发送操作指令至所述目标服务器,所述操作指令用于控制所述目标服务器获取所述目标服务对应的快照图像,所述快照图像为所述目标服务在应用程序中正常打开时的显示图像。

结果解析模块203,用于接收所述目标服务器解析所述操作指令后返回的执行结果,根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像。

接收所述目标服务器解析所述操作指令后返回的执行结果,即接收所述目标服务器根据所述操作指令获取到的所述目标服务的快照图像。在接收所述快照图像后,根据所述执行结果截取应用程序的操作界面,得到所述应用程序对应的界面图像。所述界面图像为所述目标服务在应用程序中当前的显示图像。

图片处理模块204,用于使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应。

示例性的,可以预先设置不同图像像素各自对应的滑动窗口。例如,图像像素小的图像对应的滑动窗口小,图像像素大的图像对应的滑动窗口大。根据不同图像像素设置不同的滑动窗口,可以保证获取到足够多的第一滑动区域和第二滑动区域,方便后续进行比对,从而提高应用程序监控的有效性。

区域比对模块205,用于比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果。

示例性的,确定每个所述第一滑动区域中的区域元素,得到多个第一区域元素;确定每个所述第二滑动区域中的区域元素,得到多个第二区域元素,其中所述第一区域元素和所述第二区域元素一一对应,比对每个第一区域元素及对应的所述第二区域元素,得到多个比对结果。

在一些实施方式中,区域比对模块205比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果包括:

确定每个所述第一滑动区域中的第一页面关键字和所述第一滑动区域对应的所述第二滑动区域中的第二页面关键字;

将多个所述第一页面关键字及对应的所述第二页面关键字进行关键字比对,得到多个关键字匹配度;

判断每个关键字匹配度是否超过预设匹配度阈值;

根据判断结果,得到多个所述第一滑动区域及对应的所述第二滑动区域的多个比对结果。

示例性的,将每个关键字匹配度是否超过预设匹配度阈值的判断结果,作为多个所述第一滑动区域及对应的所述第二滑动区域的多个比对结果。具体地,确定每个比对结果对应的关键字匹配度是否超过预设匹配度阈值,计算所述关键字匹配度超过所述预设匹配度阈值的比对结果个数,当所述比对结果个数大于或等于预设阈值时,确定所述应用程序对应的服务状态为正常;当所述比对结果个数小于所述预设阈值时,确定所述应用程序对应的服务状态为异常。示例性的,所述匹配度可以包括相似度。

在一些实施方式中,区域比对模块205比对多个所述第一滑动区域及对应的所述第二滑动区域包括:

根据每个所述第一滑动区域生成多个第一图像,并根据每个所述第一滑动区域对应的第二滑动区域,生成多个第二图像,所述第一图像与所述第二图像一一对应;

确定所述第一图像中的第一对比轮廓及对应的所述第二图像中的第二对比轮廓;

根据所述第一对比轮廓和所述第二对比轮廓,将所述第一图像与所述第二图像进行比对。

示例性的,可以根据第一滑动区域的边缘,对所述快照图像进行切割,得到多个第一图像;可以根据第二滑动区域的边缘,对所述界面图像进行切割,得到多个第二图像。

将所述第一图像中的第一对比轮廓与所述第二图像中的第二对比轮廓进行比对,得到所述第一图像与所述第二图像的比对结果。所述第一对比轮廓可以是所述第一图像中文字对应的字符边框,所述第二对比轮廓可以是所述第二图像中文字对应的字符边框。

根据第一图像对应的第一对比轮廓和第二图像对应的第二对比轮廓进行比对,并将比对结果作为第一图像与第二图像的比对结果,可以提高比对的效率,从而提高应用程序监控的效率。在一些实施方式中,区域比对模块205确定所述第一图像中的第一对比轮廓包括:

检测所述第一图像中的所有轮廓,并将每个轮廓确定为第一轮廓;

确定所述第一轮廓的四个顶点坐标;

基于所述顶点坐标确定水平相邻的第一轮廓,计算所述水平相邻的第一轮廓的横向间距;

基于所述顶点坐标确定垂直相邻的第一轮廓,并计算所述垂直相邻的第一矩形轮廓的纵向间距;

根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓。

示例性的,检测所述第一图像中的所有文字,确定每个文字对应的文字边框,将所述文字边框确定为第一轮廓,得到多个第一轮廓。确定每个第一轮廓对应的四个顶点坐标,根据顶点坐标确定每个所述第一轮廓的长度和宽度。根据每个第一轮廓的长度和宽度确定每个第一轮廓对应的轮廓面积。

基于一第一轮廓的顶点坐标,确定与该第一轮廓水平相邻的第一轮廓,并计算所述水平相邻的两个第一轮廓之间横向间距。例如根据第一轮廓a的顶点坐标,确定第一轮廓b与所述第一轮廓a水平相邻,即根据第一轮廓a的顶点坐标,确定与第一轮廓a水平相邻的第一轮廓为第一轮廓b,计算第一轮廓a和第一轮廓b之间的横向距离。

基于一第一轮廓的顶点坐标,确定与该第一轮廓垂直相邻的第一轮廓,并计算所述垂直相邻的两个第一轮廓之间纵向间距。例如根据第一轮廓a的顶点坐标,确定第一轮廓c与所述第一轮廓a垂直相邻,即根据第一轮廓a的顶点坐标,确定与第一轮廓a垂直相邻的第一轮廓为第一轮廓c,计算第一轮廓a和第一轮廓c之间的纵向距离。

示例性的,根据所述轮廓面积、所述横向间距和所述纵向间距修正所述第一轮廓,例如对所述第一轮廓进行合并、移除、拆分等操作,得到所述第一轮廓对应的第一对比轮廓。其中所述第一对比轮廓可包括多个,所述第一对比轮廓用于进行数据比对。

在一些实施方式中,区域比对模块205根据所述横向间距和所述纵向间距修正所述第一轮廓,得到所述第一轮廓对应的第一对比轮廓包括:

确定水平相邻的两个所述第一轮廓之间的横向间距,及垂直相邻的两个所述第一轮廓之间的纵向间距;

根据所述横向间距和纵向间距合并所述第一轮廓;

将合并后的第一轮廓作为所述第一对比轮廓。

示例性的,查找所述横向间距小于预设横向阈值的第一轮廓,并将所述横向间距小于预设横向阈值的第一轮廓进行合并,得到第二轮廓;查找所述纵向间距小于预设纵向阈值的第二轮廓,并将所述第二轮廓进行合并,得到的第三轮廓,将所述第三轮廓作为所述第一对比轮廓。

例如,第一轮廓a与第一轮廓b水平相邻,且第一轮廓a与第一轮廓b的横向间距小于预设横向阈值,将第一轮廓a与第一轮廓b进行合并,得到第二轮廓c;第一轮廓e与第一轮廓f垂直相邻,且第一轮廓e与第一轮廓f的纵向间距小于预设横向阈值,将第一轮廓e与第一轮廓f进行合并,得到第二轮廓g。

通过对第一轮廓进行合并,得到第一对比轮廓,可以减少对比的工作数目,从而加快对比的工作速率。

示例性的,可继续对所述第三轮廓进行处理,以使得到的第一对比轮廓中,水平相邻的两个第一对比轮廓之间的横向距离大于或等于预设横向阈值;垂直相邻的两个第一对比轮廓之间的纵向距离大于或等于预设纵向阈值。

例如,若两个水平相邻的第三轮廓的横向距离小于预设横向阈值,将所述横向间距小于预设横向阈值的第三轮廓进行合并,得到第四轮廓;若两个垂直相邻的第四轮廓的纵向距离小于预设纵向阈值,将所述纵向间距小于预设纵向阈值的第四轮廓进行合并,得到第五轮廓。

通过对第三轮廓的进一步处理,可以进一步减少对比的工作数目,从而进一步加快对比的工作速率。

异常监控模块206,用于根据所述多个比对结果对所述应用程序进行异常监控。

示例性的,根据多个所述第一滑动区域及对应的所述第二滑动区域的关键字对比结果对所述应用程序进行异常监控。具体地,确定每个比对结果对应的关键字匹配度是否超过预设匹配度阈值,计算所述关键字匹配度超过所述预设匹配度阈值的比对结果个数,当所述比对结果个数大于或等于预设阈值时,确定所述应用程序对应的服务状态为正常;当所述比对结果个数小于所述预设阈值时,确定所述应用程序对应的服务状态为异常。

在一些实施方式中,异常监控模块206还用于:当根据所述多个比对结果判断所述应用程序正常时,获取所述目标服务对应的目标显示时间;确定得到所述应用程序的界面图像的时间;计算所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值;当所述时间差值大于预设时间阈值时,确定所述应用程序对应的服务状态为异常;当所述时间差值等于或小于所述预设时间阈值时,确定所述应用程序对应的服务状态为正常。

当根据所述多个比对结果判断所述应用程序正常时,获取所述目标服务在正常情况下打开的目标显示时间。示例性的,可以将接收到服务接入请求的时间加上目标服务对应的接收时间,得到所述目标服务对应的目标显示时间。

当所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值大于预设时间阈值时,确定所述目标服务的打开时间过慢,确定所述应用程序对应的服务状态为异常;当所述得到所述应用程序的界面图像的时间与所述目标显示时间之间的时间差值小于或等于所述预设时间阈值时,确定所述目标服务的打开时间正常,确定所述应用程序对应的服务状态为正常。

通过设置快照图片和界面图像进行比对,目标服务响应时间等两次判断,实现双重判断,保证了应用程序监控的准确性,提高了应用程序监控的效率。

上述实施例提供的应用程序异常监控装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。

请参阅图3,图3为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端设备。

如图3所示,该计算机设备30包括通过系统总线连接的处理器301和存储器302,其中,存储器302可以包括非易失性存储介质和易失性存储介质。

处理器301用于提供计算和控制能力,支撑整个计算机设备的运行。

存储器302可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器301执行所述的应用程序异常监控方法。

在一可行实施例中,所述计算机设备还包括网络接口,所述网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

应当理解的是,处理器301是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器执行存储在存储器中的计算机程序,以实现如下步骤:

响应于应用程序的服务接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;接收所述目标服务器解析所述操作指令后返回的执行结果,并根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应;比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;根据所述多个比对结果对所述应用程序进行异常监控。

具体地,所述处理器对上述指令的具体实现方法可参考前述应用程序异常监控方法实施例中相关步骤的描述,在此不赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请应用程序异常监控方法的各个实施例。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。

前述实施例提供的应用程序异常监控方法、装置、计算机设备及计算机可读存储介质,通过响应于应用程序的接入请求,解析所述服务接入请求,确定所述服务接入请求对应的目标服务;接着发送操作指令至所述目标服务对应的目标服务器,使得所述目标服务器根据所述操作指令获取所述目标服务的快照图像;然后接收所述目标服务器解析所述操作指令后返回的执行结果,根据所述执行结果截取应用程序的操作界面,得到所述应用程序的界面图像;使用预设滑动窗口同时在所述快照图像和所述界面图像中进行滑动,得到所述快照图像中的多个第一滑动区域及所述界面图像中的多个第二滑动区域,所述第一滑动区域与所述第二滑动区域一一对应,通过预设滑动窗口得到多个第一滑动区域和多个第二滑动区域,可以加快进行比对的速率;比对多个所述第一滑动区域及对应的所述第二滑动区域,得到多个比对结果;最后根据所述多个比对结果对所述应用程序进行异常监控,可以有效提高应用程序监控的效率。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1