CN117112272A - 服务异常信息获取方法及系统 - Google Patents

服务异常信息获取方法及系统 Download PDF

Info

Publication number
CN117112272A
CN117112272A CN202310824898.3A CN202310824898A CN117112272A CN 117112272 A CN117112272 A CN 117112272A CN 202310824898 A CN202310824898 A CN 202310824898A CN 117112272 A CN117112272 A CN 117112272A
Authority
CN
China
Prior art keywords
service
abnormal
information
exception
abnormality
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.)
Pending
Application number
CN202310824898.3A
Other languages
English (en)
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.)
Zhejiang Geely Holding Group Co Ltd
Guangyu Mingdao Digital Technology Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Guangyu Mingdao Digital 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 Zhejiang Geely Holding Group Co Ltd, Guangyu Mingdao Digital Technology Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202310824898.3A priority Critical patent/CN117112272A/zh
Publication of CN117112272A publication Critical patent/CN117112272A/zh
Pending legal-status Critical Current

Links

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/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/0718Error 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 an object-oriented system
    • 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/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • G06Q30/0635Processing of requisition or of purchase orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及服务异常管理技术领域,公开了一种服务异常信息获取方法及系统,该方法通过将获取到的异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面,从而在目标业务服务执行业务流程时,异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息,相较于直接在业务系统代码中写入异常收集代码,异常采集客户端的配置方式不具有入侵性,避免异常采集客户端对业务服务产生耦合,不需要对业务系统代码进行再开发或者再配置,从而降低业务服务的代码维护成本。

Description

服务异常信息获取方法及系统
技术领域
本发明涉及服务异常管理技术领域,尤其涉及一种服务异常信息获取方法及系统。
背景技术
随着互联网产业的发展,现代的服务架构正在逐步由大而全的“单体架构”转向“分布式架构”,即使用多个独立的分布式服务共同构建一个更大的系统。但是,相比起单体架构,由于分布式架构下的业务服务众多,服务部署环境也不尽相同,使得在分布式架构下对业务服务异常可视化监控及追踪的难度和复杂程度不断攀升。为了实现分布式构架下获取业务服务的异常信息,通常是在服务器上部署一套用于日志聚合的基础设施(例如Elasticsearch(ELK)),通过这套基础设施自动手机各业务服务的日志,并统一对日志进行分析,当日志出现异常关键字的情况下,触发预先设置的告警规则,进行警告操作,但是,建设新的基础设置需要额外分配部署环境,统一日志分析也无法根据不同业务系统提供个性化的操作。因此,为了解决上述缺点,放弃日志聚合,主动在业务系统的服务中写入代码,通过这些代码实现对业务服务的异常信息收集,再通过预设的消息中间件将异常信息发送到指定中央服务,在指定中央服务进行聚合。
但是,在每个业务系统中安插具有入侵性的异常收集代码,异常收集代码会和业务服务代码相互耦合,导致业务服务代码的可读性和可维护性大大降低,增加业务服务代码的维护成本和业务开发人员的工作成本。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
鉴于以上所述现有技术的缺点,本发明公开了一种服务异常信息获取方法及系统,以避免异常收集代码对业务服务代码产生耦合性,从而降低业务服务代码的维护成本。
本发明提供了一种服务异常信息获取方法,包括:获取目标业务服务的异常采集客户端;将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。
可选地,通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息之后,所述方法还包括:对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型;根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理。
可选地,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型,包括:根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段,其中,所述类名称字段承载有所述服务异常信息对应的异常类名称,所述详细字段承载有所述服务异常信息对应的详细信息,所述预设分隔符号用于分隔所述类名称字段和所述详细字段;获取所述异常类名称对应的异常类对象,并确定所述异常类对象对应的父类对象,以从所述父类对象中提取父类名称;根据所述异常类名称和/或所述父类名称确定所述服务异常信息对应的服务异常类型。
可选地,根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:从所述类名称字段的预设字段位置中提取待解析字段;对所述待解析字段进行解析,得到所述待解析字段的字段词性信息;若所述字段词性信息包括预设词性信息,则舍弃所述服务异常信息。
可选地,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:获取所述目标业务服务的服务名称;根据所述服务名称和所述服务异常类型生成历史异常记录,并将所述历史异常记录存储在预设的异常数据库中;根据所述历史异常记录从所述异常数据库中查询预设时间段内所述历史异常记录的数量,得到所述服务异常信息对应的历史异常次数;若所述历史异常次数大于预设次数阈值,则舍弃所述服务异常信息。
可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:预先建立原始业务服务和原始负责人员之间的对应关系;根据所述目标业务服务与所述原始业务服务之间的匹配关系从所述原始负责人员中确定所述目标业务服务对应的目标负责人员,并根据所述服务异常信息和/或所述服务异常类型生成服务异常通知;根据所述服务异常通知向所述目标负责人员进行告警,以提醒目标负责人员对所述目标业务服务进行维护。
可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:预先获取异常处理专家库,所述异常处理专家库包括多个原始异常类型和各所述原始异常类型对应的专家建议策略;根据所述服务异常类型与所述原始异常类型之间的匹配结果对所述异常处理专家库中的专家建议策略进行查询;若所述异常处理专家库中存在所述服务异常类型对应的专家建议策略,则执行所述服务异常类型对应的专家建议策略;若所述异常处理专家库中不存在所述服务异常类型对应的专家建议策略,则将所述服务异常类型作为新的原始异常类型存入所述异常处理专家库,并获取所述新的原始异常类型对应的专家建议策略。
可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:基于所述服务异常信息和/或所述服务异常类型对所述目标业务服务的异常次数、异常发生时间进行监测;根据所述异常次数和所述异常发生时间生成服务异常趋势图。
可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:若所述目标业务服务的数量包括多个,则根据所述服务异常信息的数量统计各所述目标业务服务分别对应的异常次数;根据各所述异常次数确定异常总数,并基于各所述异常次数分别与所述异常总数之间的比值生成服务异常比例图。
本发明提供了一种服务异常信息获取系统,包括:获取模块,用于获取目标业务服务的异常采集客户端;部署模块,用于将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;采集模块,用于若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。
本发明的有益效果:
通过将获取到的异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面,从而在目标业务服务执行业务流程时,异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。这样,相较于直接在业务系统代码中写入异常收集代码,通过将异常采集客户端的软件包加入业务服务的依赖项目录中,并使用面向切面编程的范式主动收集异常信息,异常采集客户端的配置方式不具有入侵性,避免异常采集客户端对业务服务产生耦合,不需要对业务系统代码进行再开发或者再配置,从而降低业务服务的代码维护成本。
附图说明
图1是本发明实施例中一个用于实施服务异常信息获取方法的应用环境的结构示意图;
图2是本发明实施例中一个服务异常信息获取方法的流程示意图;
图3是本发明实施例中一个异常采集切面的示意图;
图4是本发明实施例中一个客户端中央服务的部署方式的结构示意图;
图5是本发明实施例中一个实施例中的服务异常趋势图;
图6是本发明实施例中一个服务异常信息的处理方法的流程示意图;
图7是本发明实施例中另一个服务异常信息获取方法的流程示意图;
图8是本发明实施例中一个服务异常信息获取系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的子样本可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
面向切面编程技术(AspectOrientedProgramming,AOP)是通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加某种特定功能的一种技术,在Spring框架中提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发,应用对象只实现它们应该做的——完成业务逻辑,并不负责其它的系统级关注点,例如日志或事务支持。
JAR文件(Java归档,JavaArchive),是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源文件到一个文件,以便开发Java平台应用软件或库。JAR文件以ZIP格式构建,以.jar为文件扩展名,用户可以使用JDK自带的jar命令创建或提取JAR文件。
依赖项目录(Dependency)指的是一种软件开发中的概念,表示某个项目(如Java应用程序)需要依赖于其他的组件或者库才能正常运行,在JAVA依赖项中,引入依赖关系时不需要任何形式的验证。
Class对象(类对象)在面向对象编程中是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。类的更严格的定义是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。
结合图1所示,本公开实施例提供了一种应用环境,用于实施服务异常信息获取方法,包括客户端和服务端,其中,客户端通过网络与服务端进行通信。服务端可以通过客户端接收用户指令,用户指令包括以下至少一部分:获取目标业务服务的异常采集客户端;将异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,以将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面;若通过目标业务服务执行业务流程,则通过异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。
结合图2所示,本公开实施例提供了一种服务异常信息获取方法,包括:
步骤S201,获取目标业务服务的异常采集客户端;
步骤S202,将异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,以将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面;
步骤S203,若通过目标业务服务执行业务流程,则通过异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。
采用本公开实施例提供的服务异常信息获取方法,通过将获取到的异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面,从而在目标业务服务执行业务流程时,异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。这样,相较于直接在业务系统代码中写入异常收集代码,通过将异常采集客户端的软件包加入业务服务的依赖项目录中,并使用面向切面编程的范式主动收集异常信息,异常采集客户端的配置方式不具有入侵性,避免异常采集客户端对业务服务产生耦合,不需要对业务系统代码进行再开发或者再配置,从而降低业务服务的代码维护成本。
在一些实施例中,将异常采集客户端打包为JAR包格式的软件包,将打包完成的JAR包放入业务服务的依赖项目录中;业务服务启动后加载异常采集客户端,由异常采集客户端自动完成异常信息的采集,实现安装零侵入。
结合图3所示,目标业务服务的业务流程包括生成订单业务流程、仓库发货业务流程、商品上新业务流程等;异常采集客户端使用面向切面编程技术,自动对业务服务设置垂直于业务流程的异常采集切面;一旦业务流程发生异常,异常信息将会通过异常采集切面,使得异常采集客户端感知该异常信息并进行采集。
在一些实施例中,由于开发人员在开发完成业务程序之后,将业务程序放在业务系统程序构架中的服务层中,因此,将异常采集客户端设置在目标业务服务的服务层,并通过类的@Service注解或者@Component注解设置异常采集切面,具体实现包括:
@Pointcut("(@within(org.springframework.stereotype.Service)"+
"||@within(org.springframework.stereotype.Component))"+
"&&execution(public**(..))")
可选地,通过异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息之后,方法还包括:对服务异常信息进行解析,得到服务异常信息对应的服务异常类型;根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理。
在一些实施例中,通过客户端中央服务对服务异常信息进行解析,得到服务异常信息对应的服务异常类型;通过客户端中央服务根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理。
这样,通过异常采集客户端采集服务异常信息,通过客户端中央服务对异常采集客户端采集到的服务异常信息进行处理,实现了服务异常信息的处理自动化,保证服务异常信息处理的时效性,提高处理效率。
结合图4所示,客户端中央服务的部署方式有两种:将客户端中央服务部署在一目标业务服务内,以处理该目标业务服务的异常信息;将客户端中央服务部署在目标业务服务外的指定服务器中,以连接多个目标业务服务中的异常采集客户端,并统一处理多个异常采集客户收集的异常信息。
这样,一方面,将客户端中央服务部署在一目标业务服务内,针对具有特殊语言或特殊协议的目标业务服务,能够为目标业务服务提供个性化配置,另一方面,将客户端中央服务部署在目标业务服务外的指定服务器中,不仅保证异常采集客户端的轻量化,还能够实现对多个异常采集客户端的信息处理,向用户提供不同的中央服务部署方式,通过提高部署灵活性解决不同用户需求。
可选地,对服务异常信息进行解析,得到服务异常信息对应的服务异常类型,包括:根据预设分隔符号从服务异常信息中提取类名称字段和详细字段,其中,类名称字段承载有服务异常信息对应的异常类名称,详细字段承载有服务异常信息对应的详细信息,预设分隔符号用于分隔类名称字段和详细字段;获取异常类名称对应的异常类对象,并确定异常类对象对应的父类对象,以从父类对象中提取父类名称;根据异常类名称和/或父类名称确定服务异常信息对应的服务异常类型。
在一些实施例中,通过对服务异常信息进行解析,得到服务异常信息对应的服务异常类型,便于针对不同服务异常类型进行个性化的服务异常处理,例如设置不同的告警策略。
在一些实施例中,异常类名称对应的类名称字段位于服务异常信息的开头,并通过预设分隔符号间隔类名称字段和详细字段;将第一个预设分隔符号之前的字段进行截取,得到服务异常信息对应的异常类名称;通过得到的异常类名称生成对应的异常类对象(Class对象),并获取异常类对象的父类对象;若父类对象为“RuntimeException”,则确定服务异常信息对应的服务异常类型为“运行时异常”;若父类对象不为“RuntimeException”,则对异常类对象本身进行Java异常类分析,得到“IOException”(输入输出异常)、“SQLExption”(数据库访问异常)、“FileNotFoundException”(找不到指定文件异常)中的一种或多种。
在一些实施例中,预设分隔符号包括冒号(:)、问号(?)、下划线(_)、分号(;)等符号中的一种。
可选地,根据预设分隔符号从服务异常信息中提取类名称字段和详细字段之后,根据服务异常类型进行匹配,得到服务异常类型对应的异常处理指令之前,方法还包括:从类名称字段的预设字段位置中提取待解析字段;对待解析字段进行解析,得到待解析字段的字段词性信息;若字段词性信息包括预设词性信息,则舍弃服务异常信息。
可选地,若字段词性信息部包括预设词性信息,则确定该服务异常信息存在业务含义异常。
在一些实施例中,异常采集客户端用于从类名称字段的预设字段位置中提取待解析字段;对待解析字段进行解析,得到待解析字段的字段词性信息;若字段词性信息包括预设词性信息,则舍弃服务异常信息。
在一些实施例中,预设词性信息为公司名、组织名、人名等中的一种或多种。
在一些实施例中,通过对类名称字段的前缀位置提取待解析字段,并对该待解析字段进行解析,得到待解析字段的字段词性信息;由于服务异常类型为“账户登录过期”的服务异常信息,其类名称字段通常以公司或组织名称作为前缀,若字段词性信息为公司名、组织名、人名等中的一种或多种,则判断该服务异常信息并非业务含义异常,过滤该服务异常信息。
可选地,对服务异常信息进行解析,得到服务异常信息对应的服务异常类型之后,根据服务异常类型进行匹配,得到服务异常类型对应的异常处理指令之前,方法还包括:获取目标业务服务的服务名称;根据服务名称和服务异常类型生成历史异常记录,并将历史异常记录存储在预设的异常数据库中;根据历史异常记录从异常数据库中查询预设时间段内历史异常记录的数量,得到服务异常信息对应的历史异常次数;若历史异常次数大于预设次数阈值,则舍弃服务异常信息。
可选地,对服务异常信息进行解析,得到服务异常信息对应的服务异常类型之后,根据服务异常类型进行匹配,得到服务异常类型对应的异常处理指令之前,方法还包括:获取异常数据库,并获取目标业务服务的服务名称,其中,异常数据库用于存储历史关键词以及历史关键词对应的存储时间点;将服务名称和服务异常类型作为目标关键词,并根据存储时间点与预设时间段之间的匹配关系从异常数据库的历史关键词中确定待查询关键词;根据查询关键词对待查询关键词进行数量查询,将待查询关键词中出现查询关键词的次数确定为服务异常信息对应的历史异常次数;若历史异常次数小于预设次数阈值,则将目标关键词作为新的历史关键词存储在异常数据库;若历史异常次数大于预设次数阈值,则舍弃服务异常信息。
在一些实施例中,预设时间段为位于当前时间点一分钟至一周的任意时间段。
在一些实施例中,将服务名称和服务异常类型作为条件,查询异常数据库中预设时间段内的业务服务异常次数,当异常次数大于预设次数阈值,则不对服务异常信息继续进行处理。
可选地,根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理,包括:预先建立原始业务服务和原始负责人员之间的对应关系;根据目标业务服务与原始业务服务之间的匹配关系从原始负责人员中确定目标业务服务对应的目标负责人员,并根据服务异常信息和/或服务异常类型生成服务异常通知;根据服务异常通知向目标负责人员进行告警,以提醒目标负责人员对目标业务服务进行维护。
在一些实施例中,设置原始业务服务和原始负责人员之间的对应关系,若接收到任一原始业务服务的服务异常信息,将服务异常信息解析为便于阅读的格式文件,将该格式文件通过邮件或企业微信的方式发送至对应的原始负责人员。
可选地,根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理,包括:预先获取异常处理专家库,异常处理专家库包括多个原始异常类型和各原始异常类型对应的专家建议策略;根据服务异常类型与原始异常类型之间的匹配结果对异常处理专家库中的专家建议策略进行查询;若异常处理专家库中存在服务异常类型对应的专家建议策略,则执行服务异常类型对应的专家建议策略;若异常处理专家库中不存在服务异常类型对应的专家建议策略,则将服务异常类型作为新的原始异常类型存入异常处理专家库,并获取新的原始异常类型对应的专家建议策略。
在一些实施例中,通过以下方式获取新的原始异常类型对应的专家建议策略:记录开发人员基于服务异常信息进行的异常处理操作,得到处理方案;将处理方案作为原始异常类型对应的专家建议策略记录在异常处理专家库。
可选地,根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理,包括:基于服务异常信息和/或服务异常类型对目标业务服务的异常次数、异常发生时间进行监测;根据异常次数和异常发生时间生成服务异常趋势图。
结合图5所示,通过服务异常趋势图显示目标业务服务在过去一段时间出现异常次数的趋势,便于研发团队进行复盘。
可选地,根据服务异常信息和/或服务异常类型对目标业务服务进行服务异常处理,包括:若目标业务服务的数量包括多个,则根据服务异常信息的数量统计各目标业务服务分别对应的异常次数;根据各异常次数确定异常总数,并基于各异常次数分别与异常总数之间的比值生成服务异常比例图。
在一些实施例中,通过服务异常比例图显示每个业务服务出现异常的比例,便于定位出现异常问题多的业务服务。
结合图6所示,本公开实施例提供了一种服务异常信息的处理方法,包括:
步骤S601,获取服务异常信息;
步骤S602,对服务异常信息进行解析,得到服务异常信息对应的服务异常类型;
步骤S603,根据服务名称和服务异常类型从异常数据库中查询服务异常信息的历史异常次数;
步骤S604,若历史异常次数小于预设次数阈值,客户端中心服务根据服务异常信息和/或服务异常类型向目标负责人员进行告警;
步骤S605,根据服务异常信息和处理策略建立异常处理专家库;
步骤S606,根据服务异常信息生成服务异常趋势图和/或服务异常比例图。
这样,在获取到服务异常信息之后,实现异常数据去重、告警通知、异常处理专家库、可视化展示等丰富的功能,实现了服务异常信息的处理自动化,保证服务异常信息处理的时效性,提高处理效率。
结合图7所示,本公开实施例提供了一种服务异常信息获取方法,包括:
步骤S701,业务服务中的任一业务流程生成服务异常信息;
步骤S702,异常采集客户端通过异常采集切面采集业务流程对应的服务异常信息;
步骤S703,异常采集客户端根据类名称字段中的待解析字段确定服务异常信息是否属于业务含义异常;
步骤S704,若服务异常信息属于业务含义异常,异常采集客户端将服务异常信息发送至客户端中心服务;
步骤S705,客户端中心服务对服务异常信息进行解析,得到服务异常信息对应的服务异常类型;
步骤S706,客户端中心服务根据服务名称和服务异常类型从异常数据库中查询服务异常信息的历史异常次数;
步骤S707,若历史异常次数小于预设次数阈值,客户端中心服务将服务异常信息保存到异常数据库中;
步骤S708,客户端中心服务根据服务异常信息和/或服务异常类型向目标负责人员进行告警;
步骤S709,客户端中心服务根据根据服务异常信息和处理策略建立异常处理专家库;
步骤S710,客户端中心服务根据服务异常信息生成服务异常趋势图和/或服务异常比例图。
采用本公开实施例提供的服务异常信息获取方法,通过将获取到的异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面,从而在目标业务服务执行业务流程时,异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息,具有以下优点:
第一、相较于直接在业务系统代码中写入异常收集代码,通过将异常采集客户端的软件包加入业务服务的依赖项目录中,并使用面向切面编程的范式主动收集异常信息,异常采集客户端的配置方式不具有入侵性,避免异常采集客户端对业务服务产生耦合,不需要对业务系统代码进行再开发或者再配置,从而降低业务服务的代码维护成本;
第二、通过异常采集客户端采集服务异常信息,通过客户端中央服务对异常采集客户端采集到的服务异常信息进行处理,实现了服务异常信息的处理自动化,保证服务异常信息处理的时效性,提高处理效率;
第三、一方面,将客户端中央服务部署在一目标业务服务内,针对具有特殊语言或特殊协议的目标业务服务,能够为目标业务服务提供个性化配置,另一方面,将客户端中央服务部署在目标业务服务外的指定服务器中,不仅保证异常采集客户端的轻量化,还能够实现对多个异常采集客户端的信息处理,向用户提供不同的中央服务部署方式,通过提高部署灵活性解决不同用户需求。
结合图8所示,本公开实施例提供了一种服务异常信息获取系统,包括获取模块801、部署模块802和采集模块803。获取模块801用于获取目标业务服务的异常采集客户端;部署模块802用于将异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,以将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面;采集模块803用于若通过目标业务服务执行业务流程,则通过异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。
采用本公开实施例提供的服务异常信息获取系统,通过将获取到的异常采集客户端以软件包的形式加入目标业务服务的依赖项目录中,将异常采集客户端与目标业务服务部署在同一进程中,并利用面向切面编程技术在目标业务服务的服务层建立异常采集切面,从而在目标业务服务执行业务流程时,异常采集客户端从异常采集切面对业务流程进行异常信息采集,得到服务异常信息。这样,相较于直接在业务系统代码中写入异常收集代码,通过将异常采集客户端的软件包加入业务服务的依赖项目录中,并使用面向切面编程的范式主动收集异常信息,异常采集客户端的配置方式不具有入侵性,避免异常采集客户端对业务服务产生耦合,不需要对业务系统代码进行再开发或者再配置,从而降低业务服务的代码维护成本。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施例的部分和子样本可以被包括在或替换其他实施例的部分和子样本。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的子样本、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它子样本、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些子样本可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (10)

1.一种服务异常信息获取方法,其特征在于,包括:
获取目标业务服务的异常采集客户端;
将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;
若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。
2.根据权利要求1所述的方法,其特征在于,通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息之后,所述方法还包括:
对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型;
根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理。
3.根据权利要求2所述的方法,其特征在于,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型,包括:
根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段,其中,所述类名称字段承载有所述服务异常信息对应的异常类名称,所述详细字段承载有所述服务异常信息对应的详细信息,所述预设分隔符号用于分隔所述类名称字段和所述详细字段;
获取所述异常类名称对应的异常类对象,并确定所述异常类对象对应的父类对象,以从所述父类对象中提取父类名称;
根据所述异常类名称和/或所述父类名称确定所述服务异常信息对应的服务异常类型。
4.根据权利要求3所述的方法,其特征在于,根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:
从所述类名称字段的预设字段位置中提取待解析字段;
对所述待解析字段进行解析,得到所述待解析字段的字段词性信息;
若所述字段词性信息包括预设词性信息,则舍弃所述服务异常信息。
5.根据权利要求2所述的方法,其特征在于,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:
获取所述目标业务服务的服务名称;
根据所述服务名称和所述服务异常类型生成历史异常记录,并将所述历史异常记录存储在预设的异常数据库中;
根据所述历史异常记录从所述异常数据库中查询预设时间段内所述历史异常记录的数量,得到所述服务异常信息对应的历史异常次数;
若所述历史异常次数大于预设次数阈值,则舍弃所述服务异常信息。
6.根据权利要求2至5任一项所述的方法,其特征在于,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:
预先建立原始业务服务和原始负责人员之间的对应关系;
根据所述目标业务服务与所述原始业务服务之间的匹配关系从所述原始负责人员中确定所述目标业务服务对应的目标负责人员,并根据所述服务异常信息和/或所述服务异常类型生成服务异常通知;
根据所述服务异常通知向所述目标负责人员进行告警,以提醒目标负责人员对所述目标业务服务进行维护。
7.根据权利要求2至5任一项所述的方法,其特征在于,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:
预先获取异常处理专家库,所述异常处理专家库包括多个原始异常类型和各所述原始异常类型对应的专家建议策略;
根据所述服务异常类型与所述原始异常类型之间的匹配结果对所述异常处理专家库中的专家建议策略进行查询;
若所述异常处理专家库中存在所述服务异常类型对应的专家建议策略,则执行所述服务异常类型对应的专家建议策略;
若所述异常处理专家库中不存在所述服务异常类型对应的专家建议策略,则将所述服务异常类型作为新的原始异常类型存入所述异常处理专家库,并获取所述新的原始异常类型对应的专家建议策略。
8.根据权利要求2至5任一项所述的方法,其特征在于,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:
基于所述服务异常信息和/或所述服务异常类型对所述目标业务服务的异常次数、异常发生时间进行监测;
根据所述异常次数和所述异常发生时间生成服务异常趋势图。
9.根据权利要求2至5任一项所述的方法,其特征在于,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:
若所述目标业务服务的数量包括多个,则根据所述服务异常信息的数量统计各所述目标业务服务分别对应的异常次数;
根据各所述异常次数确定异常总数,并基于各所述异常次数分别与所述异常总数之间的比值生成服务异常比例图。
10.一种服务异常信息获取系统,其特征在于,包括:
获取模块,用于获取目标业务服务的异常采集客户端;
部署模块,用于将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;
采集模块,用于若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。
CN202310824898.3A 2023-07-06 2023-07-06 服务异常信息获取方法及系统 Pending CN117112272A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310824898.3A CN117112272A (zh) 2023-07-06 2023-07-06 服务异常信息获取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310824898.3A CN117112272A (zh) 2023-07-06 2023-07-06 服务异常信息获取方法及系统

Publications (1)

Publication Number Publication Date
CN117112272A true CN117112272A (zh) 2023-11-24

Family

ID=88799104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310824898.3A Pending CN117112272A (zh) 2023-07-06 2023-07-06 服务异常信息获取方法及系统

Country Status (1)

Country Link
CN (1) CN117112272A (zh)

Similar Documents

Publication Publication Date Title
US7930301B2 (en) System and method for searching computer files and returning identified files and associated files
US10621212B2 (en) Language tag management on international data storage
US8051298B1 (en) Integrated fingerprinting in configuration audit and management
US7222297B2 (en) System and method for using XML to normalize documents
US7930215B2 (en) Contextual computing system
US20080071727A1 (en) Environment classification
CN110515912A (zh) 日志处理方法、装置、计算机装置及计算机可读存储介质
CN114153702A (zh) 用于在日志分析系统中实现日志解析器的方法和系统
US20140344273A1 (en) System and method for categorizing time expenditure of a computing device user
US20090063386A1 (en) Systems and methods for linking an issue with an entry in a knowledgebase
EP1577783A1 (en) Operation managing method and operation managing server
US20110296243A1 (en) Recommendation of Relevant Information to Support Problem Diagnosis
US20100332509A1 (en) Systems and methods for integrated management of governmental projects
US10567557B2 (en) Automatically adjusting timestamps from remote systems based on time zone differences
JP2006302170A (ja) ログ管理方法及び装置
CN114297283B (zh) 一种基于元数据驱动的数据安全管理方法与系统
US8655876B2 (en) Methods and systems for classifying data based on entities related to the data
JP2012094049A (ja) インシデント管理システムおよびインシデント管理プログラム
JP2005099967A (ja) 予防保守方法
WO2023175413A1 (en) Mutual exclusion data class analysis in data governance
CN117112272A (zh) 服务异常信息获取方法及系统
US20220019685A1 (en) Managing enterprise data retention
JP7482003B2 (ja) 情報処理システム、情報処理方法及び計算機
CN112540786B (zh) 一种中台服务管理装置和中台
CN111581670B (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