掌桥专利:专业的专利平台
掌桥专利
首页

信息通知方法、装置、设备及计算机存储介质

文献发布时间:2023-06-19 13:29:16


信息通知方法、装置、设备及计算机存储介质

技术领域

本申请涉及金融科技(Fintech)的智能运维领域,涉及但不限于一种信息通知方法、装置、设备及计算机存储介质。

背景技术

随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。

目前,在智能运维领域,可以根据织架构、业务情况、运维体系以及人力资源,建立监控运作模式;相关技术中主要的监控运作模式包括专家值守和分级值守模式,无论采用哪种监控运作模式,均需要通过企业内部即时通讯工具向运维人员或者告警通知群推送告警信息,然而,上述方案中推送的告警信息不够丰富,需要监控人员跟进告警信息,增加了操作复杂度。

发明内容

本申请实施例提供一种信息通知方法、装置、设备及计算机存储介质,可以提供关于故障检测对象更为丰富的信息,有利于减少人工介入程度,降低了人力成本和操作复杂度。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种信息通知方法,所述方法包括:

获取包含当前告警信息的第一截图;对所述第一截图进行文本行识别,得出所述第一截图中的各文本行;对所述第一截图中的各文本行进行文字识别,得出文本识别结果;

采用正则匹配方式,确定与所述文本识别结果匹配的故障检测对象、以及与所述文本识别结果匹配的第一告警通知对象;

在配置管理数据库(Configuration Management Database,CMDB)中查询所述故障检测对象的信息,得到所述故障检测对象的信息查询结果,将所述信息查询结果发送至所述第一告警通知对象。

在本申请的一些实施例中,在对所述第一截图进行文本行识别之前,所述方法还包括:

对所述第一截图执行以下至少一项预处理操作:灰度化、二值化、去噪;

对所述第一截图进行二值化处理包括:根据第一截图中灰度值与像素点个数的对应关系,得出二维坐标图中表示所述对应关系的曲线;在所述曲线中确定两个波峰,根据所述两个波峰对应的灰度值的平均值,对所述第一截图进行二值化处理。

可以看出,通过对第一截图进行预处理,有利于后续对第一截图进行精确地文本识别。

在本申请的一些实施例中,所述对所述第一截图进行文本行识别,得出所述第一截图中的各文本行,包括:

提取所述第一截图对应的特征图谱,提取所述特征图谱每行的特征向量,对所述特征图谱每行的特征向量进行处理,得出所述第一截图中的多个文字预测框,所述多个文字预测框中每个文字预测框为矩形;

对所述多个文字预测框进行矩形合并处理,得出所述第一截图中的各文本行。

可以理解地,本申请实施例可以根据第一截图对应的特征图谱,准确地得出第一截图中的多个文字预测框,从而有利于准确地得出第一截图中的各文本行,有利于后续进行准确地文本识别。

在本申请的一些实施例中,所述对所述第一截图中的各文本行进行文字识别,得出文本识别结果,包括:

对所述第一截图中的各文本行进行图像特征提取,得出所述第一截图中的各文本行对应的特征向量;针对所述第一截图中的各文本行对应的特征向量进行文本信息预测,得出所述文本识别结果。

可以理解地,本申请实施例可以根据第一第一截图中的各文本行对应的特征向量,准确地进行文本信息预测,即可以准确地得出文本识别结果。

在本申请的一些实施例中,所述采用正则匹配方式,确定与所述文本识别结果匹配的故障检测对象,包括:

根据所述文本识别结果、以及预先确定的表示文本与故障检测对象的匹配关系的正则表达式,确定与所述文本识别结果匹配的故障检测对象。

可以理解地,通过预先确定文本与故障检测对象的匹配关系,有利于在获取文本识别结果后,较为容易地得出与文本识别结果匹配的故障检测对象。

在本申请的一些实施例中,采用正则匹配方式,确定与所述文本识别结果匹配的第一告警通知对象,包括:

采用正则匹配方式,并根据所述文本识别结果、以及预先确定的表示文本与告警通知对象的匹配关系的正则表达式,确定与所述文本识别结果匹配的所述第一告警通知对象。

可以理解地,通过预先确定文本与告警通知对象的匹配关系,有利于在获取文本识别结果后,较为容易地得出与文本识别结果匹配的第一告警通知对象。

在本申请的一些实施例中,所述方法还包括:

在所述第一告警通知对象不存在的情况下,确定第二告警通知对象,所述第二告警通知对象为默认通知对象或指定通知对象;

在获取所述信息查询结果之后,将所述信息查询结果发送至所述第二告警通知对象。

可以看出,本申请实施例可以通过多种方式确定出告警通知对象,从而,能够较为可靠地实现告警信息的发送。

本申请实施例提供一种信息通知装置,所述装置包括:

第一处理模块,用于获取包含当前告警信息的第一截图;对所述第一截图进行文本行识别,得出所述第一截图中的各文本行;对所述第一截图中的各文本行进行文字识别,得出文本识别结果;

确定模块,用于采用正则匹配方式,确定与所述文本识别结果匹配的故障检测对象、以及与所述文本识别结果匹配的第一告警通知对象;

第二处理模块,用于在CMDB中查询所述故障检测对象的信息,得到所述故障检测对象的信息查询结果,将所述信息查询结果发送至所述第一告警通知对象。

本申请实施例提供一种电子设备,所述电子设备包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现上述任意一种信息通知方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现上述任意一种信息通知方法。

可以看出,本申请实施例通过在CMDB中对故障检测对象进行信息查询,有利于获取更丰富的关于故障检测对象的信息,在一定程度上实现了告警信息的自动化推送,有利于减少人工介入程度,降低了人力成本和操作复杂度。

附图说明

图1为本申请实施例的信息通知方法的一个流程图;

图2为本申请实施例中对第一截图进行文本识别的流程图;

图3为本申请实施例中各个像素点的灰度值的示意图;

图4为本申请实施例中对图像进行二值化处理时确定全局阈值的示意图;

图5为本申请实施例中确定图像中噪点的示意图;

图6为本申请实施例中检测图像中的文本行的过程示意图;

图7为本申请实施例中提取预处理结果对应的特征图谱的示意图;

图8为本申请实施例中提取特征图谱每行的特征向量的示意图;

图9为本申请实施例中对特征图谱每行的特征向量进行处理的示意图;

图10为本申请实施例中对全连接(Fully connected,FC)层的输出结果进行处理的一个示意图;

图11为本申请实施例中对FC层的输出结果进行处理的另一个示意图

图12为本申请实施例中对第一截图中的各文本行进行文字识别的示意图;

图13为本申请实施例中利用卷积神经网络(Convolutional Neural Network,CNN)从输入图像提取特征的示意图;

图14为本申请实施例中利用双向长短时记忆(Bidirectional Long Short TermMemory,BLSTM)网络对特征向量序列进行预测的示意图;

图15为本申请实施例中使用基于连接的时序类分类(Connectionist TemporalClassifica tion,CTC)网络对字符进行处理的一个示意图;

图16为本申请实施例中对字符进行去重处理的示意图;

图17为本申请实施例中从文本识别结果中匹配出的第一告警通知对象的一个示意图;

图18为本申请实施例中从文本识别结果中匹配出的第一告警通知对象的另一个示意图;

图19为本申请实施例的信息通知方法的另一个流程图;

图20为本申请实施例的信息通知装置的一个可选的组成结构示意图;

图21为本申请实施例的电子设备的结构示意图。

具体实施方式

在相关技术中,在智能运维领域,需要通过企业内部即时通讯工具向运维人员或者告警通知群推送告警信息,然而,上述方案中推送的告警信息不够丰富,例如,由于监控系统负载承受能力和效能原因,详尽的故障信息并不会完整的体现在告警信息中,在这种情况下,需要监控人员到CMDB等系统查询相关故障信息,再通过即时通讯工具发送截图或汇总信息进一步通知到对应的运维处理人员。在查询过程中需要重复的复制粘贴和查询。这里,CMDB可以存储与管理企业信息技术(Information Technology,IT)架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。

可以看出,上述方案中难以实现告警信息的自动化推送,需要人工介入的步骤较多,后续跟进效率较低;进一步地,由于针对告警信息需要进行人工跟进,因而容易出现漏跟进、错跟进的情况,降低了告警信息通知的效率和准确性。

针对相关技术存在的上述技术问题,提出本申请实施例的技术方案。

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。

需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。

例如,本申请实施例提供的信息通知方法包含了一系列的步骤,但是本申请实施例提供的信息通知方法不限于所记载的步骤,同样地,本申请实施例提供的信息通知装置包括了一系列模块,但是本申请实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。

本申请实施例可以应用于终端和/服务器中,这里,终端可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。服务器可以是小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

服务器等电子设备可以包括执行计算机指令的程序模块,通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1为本申请实施例的信息通知方法的一个流程图,如图1所示,该流程可以包括:

步骤101:获取包含当前告警信息的第一截图;对第一截图进行文本行识别,得出第一截图中的各文本行;对第一截图中的各文本行进行文字识别,得出文本识别结果。

本申请实施例中,当告警发生时,监控人员可以跟进告警,对告警信息进行截图,得到第一截图。

在得到第一截图后,可以采用基于与连接的文本检测网络(Connectionist TextProposal Network,CTPN)方法对第一截图进行文本行识别,得出第一截图中的各文本行;使用CTPN更符合场景文字检测特点的锚点(Anchor),示例性地,在文本行识别的过程中,可以引入BLSTM网络处理场景文字检测中存在的序列特征,引入边框回归修正(side-refinement)进一步优化文字区域。

在得到第一截图中的各文本行后,采用基于深度学习的卷积递归神经网络(Convolutional Recurrent Neural Network,CRNN)和光学字符识别(Optical CharacterRecognition,OCR)技术对第一截图中的各文本行进行文字识别,得出文本识别结果。

步骤102:采用正则匹配方式,确定与文本识别结果匹配的故障检测对象、以及与文本识别结果匹配的第一告警通知对象。

本申请实施例中,故障检测对象表示根据文本识别结果确定的需要进行故障检测的对象,示例性地,故障检测对象可以是子系统、网际互连协议(Internet Protocol,IP)地址、告警实例等。

第一告警通知对象用于表征需要进行告警信息通知的人员,示例性地,第一告警通知对象可以是运维人员。

在一些实施例中,可以预先确定表示文本与故障检测对象的匹配关系的正则表达式,从而,在获取文本识别结果后,可以根据文本识别结果、以及预先确定的表示文本与故障检测对象的匹配关系的正则表达式,确定与文本识别结果匹配的故障检测对象。

可以理解地,通过预先确定表示文本与故障检测对象的匹配关系的正则表达式,有利于在获取文本识别结果后,较为容易地得出与文本识别结果匹配的故障检测对象。

在一些实施例中,可以预先确定表示文本与告警通知对象的匹配关系的正则表达式,从而,在获取文本识别结果后,可以根据文本识别结果、以及预先确定的表示文本与告警通知对象的匹配关系的正则表达式,确定与文本识别结果匹配的第一告警通知对象。

可以理解地,通过预先确定表示文本与告警通知对象的匹配关系的正则表达式,有利于在获取文本识别结果后,较为容易地得出与文本识别结果匹配的第一告警通知对象。

步骤103:在CMDB中查询故障检测对象的信息,得到故障检测对象的信息查询结果,将信息查询结果发送至所述第一告警通知对象。

本公开实施例中,在确定上述故障检测对象后,可以针对故障检测对象在CMDB中进行信息查询,得到故障检测对象的信息查询结果。

示例性地,在得到故障检测对象后,可以将故障检测对象作为入参传入CMDB等系统查询接口,用户可根据不同的故障检测对象配置不同的系统查询接口。查询成功后将通过Phantomjs实现后台浏览器截图;这里,Phantomjs是基于webkit引擎的JavaScript应用程序接口(Application Programming Interface,API);Phantomjs使用QtWebKit作为核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。

以CMDB系统为例,可通过以下命令实现远程截图:

./phantomjs rasterize.js接口图片保存路径图宽*图高

在一个示例中,远程截图的命令可以是:

./phantomjs rasterize.js"http://cmdb.test.com/getSubInfo?$params"/data/image/$imgName.png$imgWidth*$imgHeight;

其中,$params表示入参,即故障检测对象,如传入ip对象时,$params为ip=10.107.112.6,若传入子系统时,$params为subSys=WTMP-DCPM,通常入参还需传入认证key,以保证接口访问的合法性,例如,认证key为:subSys=WTMP-DCPM&userAuthKey=remoteScreenshotUser;

/data/image/$imgName.png表示截图保存路径,$imgName为文件名;$imgWidth*$imgHeight表示图宽乘以图高。

示例性地,在确定多个故障检测对象的情况下,可以将多个故障检测对象轮流到对应查询系统远程查询并截图。

可以看出,本申请实施例通过在CMDB中查询故障检测对象的信息,有利于获取更丰富的关于故障检测对象的信息。

在实际应用中,在获取故障检测对象的信息查询结果后,可以将信息查询结果发送至第一告警通知对象所持有的电子设备中,使第一告警通知对象能够直观地查看信息查询结果。

在实际应用中,步骤101至步骤103可以基于电子设备的处理器实现,上述处理器可以是特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作限制。

可以看出,本申请实施例通过在CMDB中对故障检测对象进行信息查询,有利于获取更丰富的关于故障检测对象的信息,在一定程度上实现了告警信息的自动化推送,有利于减少人工介入程度,降低了人力成本和操作复杂度。

进一步地,由于无需针对告警信息进行人工跟进,因而不会出现漏跟进、错跟进的情况,提升了告警信息通知的效率和准确性。

本申请实施例的技术方案,相比于采用拍照获取告警信息的方式,包括告警信息的截图处于最佳水平位置且噪点少,从而有利于准确识别出截图中的文本,进而提升了告警信息通知的准确性。

在一些实施例中,在所述第一截图进行文本行识别之前,可以对所述第一截图执行以下至少一项预处理操作:灰度化、二值化、去噪。

可以看出,通过对第一截图进行预处理,有利于后续对第一截图进行精确地文本识别。

下面示例性地说明对第一截图进行预处理操作的实现过程。

参照图2,在获取第一截图后,可以对第一截图依次进行灰度化、二值化和去噪等处理。在通常的OCR预处理技术还会涉及旋转调平处理,在本申请实施例中由于第一截图为监控系统截图,不存在水平不对齐的情况,为了提升文字识别速度,可以舍去旋转调平处理。当然,在另外的一些实施例中,也可以针对第一截图进行旋转调平处理。

本申请实施例中,灰度化是将一幅彩色图像转化为灰度图像的过程。灰度化涉及到红绿蓝(Red Green Blue,RGB)模型,RGB模型也称为加色混色模型,是以RGB三色光互相叠加来实现混色的模型。而灰度化就是使彩色图像的R、G、B分量相等的过程,即令R=G=B,此时的彩色表示的就是灰度颜色。灰度化的方式很多,本申请实施例可以采用平均值法,将彩色图像中的三分量亮度求平均得到一个灰度值,如公式(1)所示:

Gray(i,j)=(R(i,j)+G(i,j)+B(i,j))/3 (1)

公式(1)中,(i,j)表示像素坐标,R(i,j)、G(i,j)和B(i,j)分别表示像素坐标(i,j)的R分量、G分量和B分量,Gray(i,j)表示像素坐标(i,j)对应的灰度值。

在得出第一截图中各像素点的灰度值后,可以对第一截图进行二值化处理。图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。二值化图像每个像素只有纯黑和纯白两种取值。本申请实施例可以采用全局阈值方法,对于第一截图中的所有像素点统一使用同一个固定阈值,然后通过统计每个灰度值的像素点个数实现图像的二值化处理。

本申请实施例中,对第一截图进行二值化处理的过程可以包括:根据第一截图中灰度值与像素点个数的对应关系,得出二维坐标图中表示所述对应关系的曲线;在所述曲线中确定两个波峰,根据所述两个波峰对应的灰度值的平均值,对所述第一截图进行二值化处理。

下面结合附图说明二值化处理的过程。

参照图3,灰度值为0的像素点个数为29,灰度值为ee(16进制数)的像素点的个数为3,通过对第一截图中0-255每个值的个数形成二维坐标图,并通过多次迭代平滑的方式,做平滑处理得到图4所示的曲线;图4中,横轴表示灰度值,纵轴表示灰度值对应的像素点个数。示例性地,迭代平滑的实现方式可以是:针对每个取值,获取每个取值相邻的两个取值的个数,将每个取值的个数、以及每个取值相邻的两个取值的个数进行平均运算,得到平滑处理后的每个取值的个数。

参照图4,可以在图中设置一个宽度为L的滑动窗口,该滑动窗口沿图4所示的曲线以步距1开始滑动,每次判断滑动窗口中曲线上的点对应灰度值是否同时大于窗口内前半部分对应的像素值和窗口内后半部分对应的像素值,如果是,则记录曲线上的该点,最后可以通过非极大值抑制算法处理记录的点集,具体地,记录的点集可以记为一维数组I[W],W为一维数组中的元素个数;在i取2至W-1时,针对一维数组I[W]的第i元素I[i],判断是否大于其左邻元素I[i-1]和右邻元素I[i+1],如果I[i]同时大于其左邻元素I[i-1]和右邻元素I[i+1],则认为I[i]为曲线的波峰;在遍历i的取值后,如果没有得到同时大于其左邻元素I[i-1]和右邻元素I[i+1]的第i元素I[i],则可以将L的值递减,并重复执行上述记录点集并通过非极大值抑制算法处理记录的点集的过程,直至得到曲线的两个波峰;在得到两个波峰后,可以计算两个波峰对应的灰度值的平均值,将两个波峰对应的灰度值的平均值记为T;本申请实施例中,如果像素点的灰度值大于或等于T,则可以认为像素点为前景点(黑色,标识为1);如果像素点的灰度值小于T,则可以认为像素点为背景点(白色,标识为0)。上述二值化的处理方法极大的简化了计算过程,使用简单的算法实现二值化,加快了处理过程。

这里,可以通过公式(2)表示二值化处理的过程。

公式(2)中,f(x,y)表示坐标为(x,y)的像素点的灰度值,g(x,y)表示坐标为(x,y)的像素点的灰度值的二值化处理结果。

本申请实施例中,经过二值化后的图像仍会具备一些干扰元素,这时需要将这些干扰元素去除,因此,可以对二值化后的图像进行去噪。在实际应用中,由于监控系统截图的干扰并不多,本申请实施例中,可以采用简单高效的广度优先搜索(Breadth FirstSearch,BFS)方法对图像进行去噪处理。具体地,对于上述二值化处理得到的大小为w*h的位图,优先搜索所有联通的区域(即值为1的黑色联通区域),将所有可联通区域的灰度值计算平均值,若某些联通区域的像素点的灰度值远远低于所有可联通区域的灰度值的平均值,则认为相应的像素点为噪点,可以在二值化处理后的图像中用0(白点)代替相应像素点,参照图5,箭头指向的像素点的灰度值远远低于所有可联通区域的灰度值的平均值t,因此,可以将箭头指向的像素点记为噪点,从而进行去噪处理。

在一些实施例中,对第一截图进行文本行识别,得出所述第一截图中的各文本行,可以包括:提取第一截图对应的特征图谱,提取特征图谱每行的特征向量,对特征图谱每行的特征向量进行处理,得出第一截图中的多个文字预测框,多个文字预测框中每个文字预测框为矩形;对多个文字预测框进行矩形合并处理,得出第一截图中的各文本行。

下面结合附图说明对预处理结果进行文本行识别的过程。

在得到预处理结果后,参照图2,可以对预处理结果进行文本行识别。参照图6,采用CTPN方法检测图像中的文本行的过程可以包括:

步骤601:提取预处理结果对应的特征图谱。

这里,参照图6和图7,可以采用卷积神经网络VGG16的前5个卷积层和4次最大池化(maxpool)层对预处理结果进行处理,得到预处理结果对应的特征图谱,以便于后续学习空间特征和序列特征。

步骤602:提取特征图谱每行的特征向量。

示例性地,参照图6和图8,可以在特征图谱上设置3x3的滑动窗口,这样在特征图谱的每个位置上,可以按照滑动窗口取3x3xC的窗口的特征,得到每个位置对应的特征,C为每个位置对应的通道数。根据特征图谱上每行各个位置对应的特征进行组合,可以得到特征图谱每行的特征向量。

这里,特征图谱上每个位置对应的特征将用于预测该位置k个锚点对应的类别信息和/或位置信息。

步骤603:利用BLSTM网络对特征图谱每行的特征向量进行处理,得到BLSTM网络的输出结果。

示例性地,参照图6和图9,可以将特征图谱每行的特征向量输入至BLSTM网络,以学习特征,得到大小为W*256的输出结果,图6中,W表示特征图谱的宽度;图9中,由两个方向相反的LSTM连接起来,S

BLTSM实际就是将两个反向的LSTM网络连接起来,如图9,使用BLTSM网络能处理场景文字检测中存在的序列特征,如在场景“我电脑坏了,我打算___一部新的”中补充词语,假设使用LSTM对空白部分填词,如果只看前面的序列,可能填我打算“修”,但BLSTM可双向检测,看到后面的词“一部新的”,那么填“买”的概率的大得多了。对于文字检测,BLSTM显然也可以发挥充分的优势。

步骤604:通过FC层对BLSTM网络的输出结果进行处理。

示例性地,参照图6,可以将BLSTM网络的输出结果输入至512维的FC层,利用FC层对BLSTM网络的输出结果进行处理,得到FC层的输出结果。

步骤605:通过区域生成网络(Region Proposal Network,RPN)对FC层的输出结果进行处理。

参照图6和图10,在通过卷积神经网络和BLSTM网络学习得到一组“空间+序列”的特征(即FC层的输出结果)后,可以在FC层后接入RPN网络。参照图10,左分支(包括rpn_bbox_pred)用于实现边框回归(bounding box regression),右分支(包括rpn_cls_score、rpn_cls_score_reshape、rpn_cls_prob和rpn_cls_prob_reshape)用于通过Softmax函数确定出分类锚点。CTPN针对横向排列的文字检测,采用了一组(10个)等宽度的锚点,用于定位文字位置。例如,参照图11,锚点的宽度Widths和高度Heights可以通过公式(3)和公式(4)计算得出。

Widths=[16] (3)

Heights=[11,16,23,33,48,68,97,139,198,283] (4)

通过上述方式设置锚点的目的包括:(1)使得在x方向上锚点覆盖原图每个点且不相互重叠;(2)不同文本在y方向上高度差距很大,设置锚点高度为11-283可覆盖不同高度的文本目标。

在获得Anchor后,可以利用Softmax函数判断锚点中是否包含文本,即选出Softmax函数值较大的正锚点;边框回归修正包含文本的锚点的中心y坐标与高度。锚点经过上述Softmax函数出和y方向边框回归修正处理后,会获得图6所示的图像610中一组竖直条状文字预测框611。

示例性地,在得到文字预测框后,还可以用简单的文本线构造算法,把分类得到的文字的预测框中的细长的矩形合并,即可得到第一截图中的各文本行。

在一些实施例中,对第一截图中的各文本行进行文字识别,得出文本识别结果,包括:对第一截图中的各文本行进行图像特征提取,得出第一截图中的各文本行对应的特征向量;针对第一截图中的各文本行对应的特征向量进行文本信息预测,得出文本识别结果。

在相关技术中,文字识别还要进行单字切割和分类任务,识别速度较慢。在本申请实施例中,为提高文字识别速度,可以采用CRNN方法和OCR方法对第一截图中的各文本行进行文字识别,得出文本识别结果。参照图12,CRNN采用的架构是CNN+循环神经网络(Recurrent Neural Network,RNN)+CTC,其中,CNN负责提取图像像素特征,RNN负责提取图像时序特征,而CTC用来解决输入序列和输出序列难以一一对应的问题,CTC可以归纳字符间的连接特性。利用RNN、BLSTM网络和CTC学习到文本图像中的上下文关系,从而可以有效提升文本识别准确率,使得文本识别的鲁棒性更高。

本申请实施例中,CNN可以从输入图像提取特征序列,参照图13,在CNN中,卷积层负责提取特征,采样层负责特征选择,全连接层负责分类。通过第一个卷积层提取最初特征,输出特征图;通过第一个采样层对最初的特征图进行特征选择,去除多余特征,重构新的特征图;第二个卷积层是对上一层的采样层的输出特征图进行二次特征提取;第二个采样层也对上层输出进行二次特征选择;全连接层就是根据得到的特征进行分类。特征分类的结果可以是特征图。

本申请实施例中,在得到CNN的输出结果后,可以将CNN的输出结果转化为特征向量,然后,将该特征向量输入至RNN。特征图的每列(即一个特征向量)对应于图像的一个矩形区域。特征向量序列中的每个向量关联一个矩形区域,特征向量序列可以作为RNN的输入。

示例性地,参照图14,RNN网络可以包括BLSTM网络,可以使用BLSTM网络对特征向量序列进行预测,对序列中的每个特征向量进行学习,并输出预测标签(真实值)分布,即预测所有字符的softmax概率分布,这是一个长度为字符类别数的向量;该长度为字符类别数的向量可以作为CTC的输入。通过RNN对一个输入特征向量x

本申请实施例中,CTC可以根据每个图像预测找到具有最高概率组合的标签序列。使用CTC可以将RNN获取的预测标签分布,通过去重整合等操作转换成最终的识别结果。

例如,CTC的输入和输出可以是不同长度的,对于给定输入,CTC通过求和所有路线(alignments)计算其输出的概率。例如,参照图15,输入字符串的长度是6,输出Y=[c,a,t]。则需要一个长度为6的alignment与输入相对应,同时要能唯一映射到输出cat。一个最简单的方式是重复字符c或者a或者t。

本申请实施例中,为了解决重复字符的预测问题,引入了空字符ε,该字符无任何含义,映射到输出Y将会被简单移除。从alignment映射到输出Y通过先合并重复字符再移除ε的方式,如图16所示。如果Y有两个连续的相同字符,那么必须有一个ε在他们中间,这样我们就可以区分helo和hello了。通过去重整合等操作转换成最终的识别结果,即文本识别结果。

在一些场景中,文本识别结果中的文字并非全部能用于后续的故障检测对象的相关信息查询,在这种情况下,需要通过规则匹配提取文本识别结果中的关键信息;示例性地,可以通过一个正则匹配规则匹配得出文本识别结果中的关键信息。例如,可以基于python语言设计表1所示的正则匹配规则,并可以支持扩展添加更多匹配规则。

表1

在智能运维领域,故障检测对象集中在主机、子系统、应用程序(Application,APP)实例、容器实例等对象中,基于这些对象设计了正则匹配规则,如子系统命名规则为【系统-子系统】,例如可以是WTMP-DCPM,系统和子系统命名要求至少有两位以上的大写英文字母,并用-连接,根据该命名规则使用正则表达式r'[A-Z]{2,}-[A-Z]{2,}'可从文本识别结果中匹配出来子系统信息;示例性地,APP实例的命名规则为【系统-子系统_IP_PORT】,例如可以是WM-VM_9.7.64.13_1032,其中,port指的是app实例运行端口。根据该命名规则可以通过正则表达式r'[A-Z]{2,}-[A-Z]{2,}_(([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])\.){3}([01]{0,1}\d{0,1}\d|2[0-4]\d|25[0-5])_[0-9]{0,}',从文本识别结果中匹配出来APP实例信息。

本申请实施例中,还可以从文本识别结果中匹配出第一告警通知对象;在应用场景中,在监控系统常常会在故障对象详情出现运维负责人信息或在告警详情中出现请联系某人处理的信息,如图17和图18所示;针对该应用场景,可以制定如r'运维负责人:([a-z]{3,})\(.*\)'或r'请.*联系(\W+([a-z]{3,}\W+){1,})'的正则规则来匹配出第一告警通知对象。当然,在另一些实施例中,可以根据监控系统常见联系信息制定通用匹配规则。

在一些实施例中,在第一告警通知对象不存在的情况下,可以确定第二告警通知对象,第二告警通知对象为默认通知对象或指定通知对象;这样,在获取信息查询结果之后,将信息查询结果发送至所述第二告警通知对象。

本申请实施例中,如果上述从第一截图的文本识别结果无法匹配出任意的告警通知对象,这说明第一告警通知对象不存在,在这种情况下,可手动指定第二告警通知对象或选择默认的第二告警通知对象。

可以看出,本申请实施例可以通过多种方式确定出告警通知对象,从而,能够较为可靠地实现告警信息的发送。

示例性地,第一告警通知对象和/或第二告警通知对象还需通过人力资源(HumanResource,HR)系统的校验,如果经HR系统校验后,确定第一告警通知对象和/或第二告警通知对象不存在,则需要重新指定告警通知对象。如果经HR校验后,确定第一告警通知对象和/或第二告警通知对象存在,则可以通过企业内部即时通讯工具,向第一告警通知对象和/或第二告警通知对象发送包含故障检测对象的信息查询结果的截图;至此,告警信息的自动通知流程完成。

下面结合附图对本申请实施例的信息通知方法的流程进行示例性说明,图19为本申请实施例的信息通知方法的另一个流程图,如图19所示,该流程可以包括:

步骤191:获取第一截图。

步骤192:对第一截图进行文本识别,得到文本识别结果。

步骤193:对文本识别结果进行正则匹配,得到正则匹配结果。

本申请实施例中,可以获取上述正则表达式,通过正则表达式的运算,可以尝试得出与文本识别结果匹配的故障检测对象,和/或,与文本识别结果匹配的告警通知对象,即,可以尝试得出正则匹配结果。

在执行步骤193之后,可以执行步骤194和步骤195,本申请实施例中,并不对步骤194和步骤195的执行顺序进行限定。

步骤194:判断是否匹配到故障检测对象。

这里,在未匹配到故障检测对象的情况下,可以结束流程,在匹配到故障检测对象的情况下,可以执行步骤196。

步骤195:判断是否匹配到告警通知对象,如果是,则执行步骤198,如果否,则执行步骤199。

步骤196:在CMDB中查询故障检测对象的信息,然后执行步骤197。

步骤197:获取第二截图,然后执行步骤1910。

这里,可以通过远程截图指令,对包含故障检测对象的信息进行截图操作,得到第二截图。

步骤198:通过HR系统校验告警通知对象,如果告警通知对象不存在,则执行步骤199,如果告警通知对象存在,则执行步骤1910。

步骤199:指定告警通知对象或选择默认告警通知对象,然后执行步骤198。

步骤1910:确认是否发送第二截图。

这里,在确认不需要发送第二截图的情况下,可以结束流程,则确认需要发送第二截图的情况下,执行步骤1911。

步骤1911:发送第二截图,然后结束流程。

在前述实施例提出的信息通知方法的基础上,本申请实施例还提出了一种信息通知装置;图20为本申请实施例的信息通知装置的一个可选的组成结构示意图,如图20所示,该信息通知装置2000可以包括:

第一处理模块2001,用于获取包含当前告警信息的第一截图;对所述第一截图进行文本行识别,得出所述第一截图中的各文本行;对所述第一截图中的各文本行进行文字识别,得出文本识别结果;

确定模块2002,用于采用正则匹配方式,确定与所述文本识别结果匹配的故障检测对象、以及与所述文本识别结果匹配的第一告警通知对象;

第二处理模块2003,用于在CMDB中查询所述故障检测对象的信息,得到所述故障检测对象的信息查询结果,将所述信息查询结果发送至所述第一告警通知对象。

在一些实施例中,所述第一处理模块2001,还用于在对第一截图进行文本行识别之前,对所述第一截图执行以下至少一项预处理操作:灰度化、二值化、去噪;其中,所述第一处理模块2001,具体用于根据第一截图中灰度值与像素点个数的对应关系,得出二维坐标图中表示所述对应关系的曲线;在所述曲线中确定两个波峰,根据所述两个波峰对应的灰度值的平均值,对所述第一截图进行二值化处理。

在一些实施例中,所述第一处理模块2001,用于对所述第一截图进行文本行识别,得出所述第一截图中的各文本行,包括:

提取所述第一截图对应的特征图谱,提取所述特征图谱每行的特征向量,对所述特征图谱每行的特征向量进行处理,得出所述第一截图中的多个文字预测框,所述多个文字预测框中每个文字预测框为矩形;

对所述多个文字预测框进行矩形合并处理,得出所述第一截图中的各文本行。

在一些实施例中,所述第一处理模块2001,用于对对所述第一截图中的各文本行进行文字识别,得出文本识别结果,包括:

对所述第一截图中的各文本行进行图像特征提取,得出所述第一截图中的各文本行对应的特征向量;针对所述第一截图中的各文本行对应的特征向量进行文本信息预测,得出所述文本识别结果。

在一些实施例中,所述确定模块2002,用于采用正则匹配方式,确定与所述文本识别结果匹配的故障检测对象,包括:

根据所述文本识别结果、以及预先确定的表示文本与故障检测对象的匹配关系的正则表达式,确定与所述文本识别结果匹配的故障检测对象。

在一些实施例中,所述确定模块2002,用于采用正则匹配方式,确定与所述文本识别结果匹配的第一告警通知对象,包括:

采用正则匹配方式,并根据所述文本识别结果、以及预先确定的表示文本与告警通知对象的匹配关系的正则表达式,确定与所述文本识别结果匹配的所述第一告警通知对象。

在一些实施例中,所述第二处理模块2003,还用于:

在所述第一告警通知对象不存在的情况下,确定第二告警通知对象,所述第二告警通知对象为默认通知对象或指定通知对象;

在获取所述信息查询结果之后,将所述信息查询结果发送至所述第二告警通知对象。

在实际应用中,第一处理模块2001、确定模块2002和第二处理模块2003均可以利用电子设备的处理器实现,上述处理器可以是ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作限制。

需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令用于实现本申请实施例提供的任意一种信息通知方法。

相应的,本申请实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令用于实现上述实施例提供的任意一种信息通知方法。

本申请实施例还提供一种电子设备,图21为本申请实施例提供的电子设备的一个可选的组成结构示意图,如图21所示,所述电子设备210包括:

存储器2101,用于存储可执行指令;

处理器2102,用于执行所述存储器2101中存储的可执行指令时,实现上述任意一种信息通知方法。

上述处理器2102可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。

上述计算机可读存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本申请实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 信息通知方法、装置、设备及计算机存储介质
  • 系统故障信息的通知方法、装置、存储介质及计算机设备
技术分类

06120113692516