微服务的异常定位方法、装置、电子设备及可读存储介质与流程

文档序号:23550816发布日期:2021-01-05 21:08阅读:109来源:国知局
微服务的异常定位方法、装置、电子设备及可读存储介质与流程

本申请涉及微服务技术领域,具体而言,本申请涉及一种微服务的异常定位方法、装置、电子设备及可读存储介质。



背景技术:

随着互联网金融的快速发展,微服务架构被越来越多的在银行系统中使用,对微服务的管理也显得日益重要。

现有技术中无法及时定位出银行系统的微服务中存在的异常,不利于对微服务的管理。如果能够提供一种能够及时定位出微服务中存在的异常的方法,就能够使得微服务中存在的异常被及时处理,从而保证微服务的正常运行,有利于对微服务的管理。



技术实现要素:

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例提供了一种微服务的异常定位方法,该方法包括:

获取微服务的至少一种类型的基础数据;

基于预设条件,确定基础数据是否存在异常;

若存在,则基于基础数据对微服务中存在的异常进行定位。

可选地,基础数据包括以下至少一项:

接口监控数据;

调用链信息;

数据库指标;

应用日志信息;

应用配置信息。

可选地,若基础数据包括接口监控数据,则基于预设条件,确定基础数据是否存在异常,包括:

基于预设的监控数据阈值,确定监控数据是否存在异常。

可选地,若基础数据包括调用链信息,则基于预设条件,确定基础数据是否存在异常,包括:

获取调用链信息中的节点数量,基于预设的节点数量阈值,确定调用链信息是否存在异常。

可选地,若基础数据包括数据库指标,则基于预设条件,确定基础数据是否存在异常,包括:

基于预设的指标阈值,确定数据库指标是否存在异常。

可选地,若基础数据包括应用日志信息,则基于预设条件,确定基础数据是否存在异常,包括:

确定日志信息中的报错信息;

若日志信息中的报错信息的数量满足预设的数量条件,则确定日志信息存在异常。

可选地,上述方法还包括:

将预设时段内定位出的异常进行汇总,并整合得到报表。

第二方面,本申请实施例提供了一种微服务的异常定位装置,该装置包括:

数据获取模块,用于获取微服务的至少一种类型的基础数据;

异常检测模块,用于基于预设条件,确定基础数据是否存在异常;

异常定位模块,用于在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。

可选地,基础数据包括以下至少一项:

接口监控数据;

调用链信息;

数据库指标;

应用日志信息;

应用配置信息。

可选地,若基础数据包括接口监控数据,则异常检测模块具体用于:

基于预设的监控数据阈值,确定监控数据是否存在异常。

可选地,若基础数据包括调用链信息,则异常检测模块具体用于:

获取调用链信息中的节点数量,基于预设的节点数量阈值,确定调用链信息是否存在异常。

可选地,若基础数据包括数据库指标,则异常检测模块具体用于:

基于预设的指标阈值,确定数据库指标是否存在异常。

可选地,若基础数据包括应用日志信息,则异常检测模块具体用于:

确定日志信息中的报错信息;

若日志信息中的报错信息的数量满足预设的数量条件,则确定日志信息存在异常。

可选地,上述装置还包括:

异常汇总模块,用于将预设时段内定位出的异常进行汇总,并整合得到报表。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的微服务的异常定位方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的微服务的异常定位方法。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例提供的方案,通过获取微服务的至少一种类型的基础数据,并基于预设条件,确定基础数据是否存在异常,在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。基于本方案,能够实现对微服务中存在异常的及时定位,为微服务中存在的异常被及时处理提供了基础,从而保证微服务的正常运行,有利于对微服务的管理。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种微服务的异常定位方法的流程示意图;

图2为本申请实施例提供的一种微服务的异常定位装置的结构示意图;

图3为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种微服务的异常定位方法的流程示意图,如图1所示,该方法主要可以包括:

步骤s110:获取微服务的至少一种类型的基础数据;

步骤s120:基于预设条件,确定基础数据是否存在异常;

步骤s130:若存在,则基于基础数据对微服务中存在的异常进行定位。

本申请实施例中,可以通过现有平台和开源工具采集多种类型基础数据。

作为一个示例,基础数据可以包括以下至少一项:

接口监控数据;

调用链信息;

数据库指标;

应用日志信息;

应用配置信息。

具体而言,可以通过brave开源框架采集接口监控数据,接口监控数据可以包括平均响应时间,请求失败率等;可以使用zipkin开源框架采集调用链信息;可以使用prometheus开源工具收集数据库指标,数据库指标可包括查询时间,查询失败率等;可以使用filebeat+es收集各应用程序的应用日志信息;可以从jira管理平台收集各应用的配置信息。

本申请实施例中,可以针对不同类型的基础数据,分别指定预设条件,根据基础数据是否满足预设条件来确定基础数据是够异常。

本申请实施例中,若确定出基础数据存在异常,则可以根据基础数据对微服务中存在的异常进行定位。

本申请实施例提供的方法,通过获取微服务的至少一种类型的基础数据,并基于预设条件,确定基础数据是否存在异常,在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。基于本方案,能够实现对微服务中存在异常的及时定位,为微服务中存在的异常被及时处理提供了基础,从而保证微服务的正常运行,有利于对微服务的管理。

本申请提供的方法能够通过将不同的工具,获取各种类型的基础数据,并对基础数据进行整合分析,定位出微服务中存在的异常,并可以及时将异常进行反馈,以保证对异常的及时处理。

本申请实施例的一种可选方式中,若基础数据包括接口监控数据,则基于预设条件,确定基础数据是否存在异常,包括:

基于预设的监控数据阈值,确定监控数据是否存在异常。

本申请实施例中,可以预设的监控数据阈值,如预设时间阈值或者预设请求失败率阈值。当接口的平均响应时间超过预设时间阈值时,可以认为该接口的响应时间较长,可能存在异常。当接口的请求失败率超过请求失败率阈值时,可以认为该接口的请求失败率较高,可能存在异常。在定位出存在异常的接口时,可以由工作人员及时对这些接口进行优化。

本申请实施例的一种可选方式中,若基础数据包括调用链信息,则基于预设条件,确定基础数据是否存在异常,包括:

获取调用链信息中的节点数量,基于预设的节点数量阈值,确定调用链信息是否存在异常。

本申请实施例中,可以获取调用链信息中的节点数量,若节点数量超过了预设的节点数量阈值,可以认为调用链过长,该微服务的耦合度过高,这时需要对该微服务进行重新设计。

本申请实施例的一种可选方式中,若基础数据包括数据库指标,则基于预设条件,确定基础数据是否存在异常,包括:

基于预设的指标阈值,确定数据库指标是否存在异常。

本申请实施例中,可以预设指标阈值,如数据库查询时间阈值以及查询失败率阈值。当数据库查询时间超过数据库查询时间阈值时,可以认为查询时间过长。当查询失败率超过查询失败率阈值时,可以认为查询失败率过高。这时可以对数据库的查询语句进行优化,以保证数据库的正常性能。

本申请实施例的一种可选方式中,若基础数据包括应用日志信息,则基于预设条件,确定基础数据是否存在异常,包括:

确定日志信息中的报错信息;

若日志信息中的报错信息的数量满足预设的数量条件,则确定日志信息存在异常。

本申请实施例中,可以对各应该程序的日志信息中的报错信息进行统计。确定出报错信息的数量满足预设的数量条件的应用程序,如确定出报错信息的数量大于预设的报错阈值的应用程序,或者根据报错信息的数量进行由大到小的排序,确定出排序靠前的应用程序。可以认为确定出的应用程序报错过多,需要对程序进行优化。

本申请实施例中,还可以对应用程序的应用配置信息进行核查,确定出配置不合理的应用程序,如命名不规范的应用程序。从而对这些配置不合理的应用程序进行修改。

本申请实施例的一种可选方式中,上述方法还包括:

将预设时段内定位出的异常进行汇总,并整合得到报表。

本申请实施例中,可以按照预设时段为周期,周期性的对定位出的异常进行汇总,并整合得到报表,以便对异常的统计与追踪。

本申请实施例的一种可选方式中,上述方法还包括:

在微服务的应用程序发布之前,基于预设规则对应用程序进行校验。

本申请实施例中,可以在微服务的应用程序发布之前,基于预设规则对应用程序进行校验,如利用jenkins打包时进行应用规范检查,以保证应用程序的规范性。

基于与图1中所示的方法相同的原理,图2示出了本申请实施例提供的一种微服务的异常定位装置的结构示意图,如图2所示,该微服务的异常定位装置20可以包括:

数据获取模块210,用于获取微服务的至少一种类型的基础数据;

异常检测模块220,用于基于预设条件,确定基础数据是否存在异常;

异常定位模块230,用于在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。

本申请实施例提供的装置,通过获取微服务的至少一种类型的基础数据,并基于预设条件,确定基础数据是否存在异常,在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。基于本方案,能够实现对微服务中存在异常的及时定位,为微服务中存在的异常被及时处理提供了基础,从而保证微服务的正常运行,有利于对微服务的管理。

可选地,基础数据包括以下至少一项:

接口监控数据;

调用链信息;

数据库指标;

应用日志信息;

应用配置信息。

可选地,若基础数据包括接口监控数据,则异常检测模块具体用于:

基于预设的监控数据阈值,确定监控数据是否存在异常。

可选地,若基础数据包括调用链信息,则异常检测模块具体用于:

获取调用链信息中的节点数量,基于预设的节点数量阈值,确定调用链信息是否存在异常。

可选地,若基础数据包括数据库指标,则异常检测模块具体用于:

基于预设的指标阈值,确定数据库指标是否存在异常。

可选地,若基础数据包括应用日志信息,则异常检测模块具体用于:

确定日志信息中的报错信息;

若日志信息中的报错信息的数量满足预设的数量条件,则确定日志信息存在异常。

可选地,上述装置还包括:

异常汇总模块,用于将预设时段内定位出的异常进行汇总,并整合得到报表。

可以理解的是,本实施例中的微服务的异常定位装置的上述各模块具有实现图1中所示的实施例中的微服务的异常定位方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述微服务的异常定位装置的各模块的功能描述具体可以参见图1中所示实施例中的微服务的异常定位方法的对应描述,在此不再赘述。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的微服务的异常定位方法。

作为一个示例,图3示出了本申请实施例所适用的一种电子设备的结构示意图,如图3所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。

其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器2001可以是cpu(centralprocessingunit,中央处理器),通用处理器,dsp(digitalsignalprocessor,数据信号处理器),asic(applicationspecificintegratedcircuit,专用集成电路),fpga(fieldprogrammablegatearray,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器2003可以是rom(readonlymemory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(randomaccessmemory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electricallyerasableprogrammablereadonlymemory,电可擦可编程只读存储器)、cd-rom(compactdiscreadonlymemory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的微服务的异常定位方法。

本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种电子设备,与现有技术相比,通过获取微服务的至少一种类型的基础数据,并基于预设条件,确定基础数据是否存在异常,在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。基于本方案,能够实现对微服务中存在异常的及时定位,为微服务中存在的异常被及时处理提供了基础,从而保证微服务的正常运行,有利于对微服务的管理。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的微服务的异常定位方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,通过获取微服务的至少一种类型的基础数据,并基于预设条件,确定基础数据是否存在异常,在基础数据存在异常时,基于基础数据对微服务中存在的异常进行定位。基于本方案,能够实现对微服务中存在异常的及时定位,为微服务中存在的异常被及时处理提供了基础,从而保证微服务的正常运行,有利于对微服务的管理。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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