服务异常信息获取方法及系统与流程

文档序号:36245898发布日期:2023-12-02 11:41阅读:22来源:国知局
服务异常信息获取方法及系统与流程

本发明涉及服务异常管理,尤其涉及一种服务异常信息获取方法及系统。


背景技术:

1、随着互联网产业的发展,现代的服务架构正在逐步由大而全的“单体架构”转向“分布式架构”,即使用多个独立的分布式服务共同构建一个更大的系统。但是,相比起单体架构,由于分布式架构下的业务服务众多,服务部署环境也不尽相同,使得在分布式架构下对业务服务异常可视化监控及追踪的难度和复杂程度不断攀升。为了实现分布式构架下获取业务服务的异常信息,通常是在服务器上部署一套用于日志聚合的基础设施(例如elasticsearch(elk)),通过这套基础设施自动手机各业务服务的日志,并统一对日志进行分析,当日志出现异常关键字的情况下,触发预先设置的告警规则,进行警告操作,但是,建设新的基础设置需要额外分配部署环境,统一日志分析也无法根据不同业务系统提供个性化的操作。因此,为了解决上述缺点,放弃日志聚合,主动在业务系统的服务中写入代码,通过这些代码实现对业务服务的异常信息收集,再通过预设的消息中间件将异常信息发送到指定中央服务,在指定中央服务进行聚合。

2、但是,在每个业务系统中安插具有入侵性的异常收集代码,异常收集代码会和业务服务代码相互耦合,导致业务服务代码的可读性和可维护性大大降低,增加业务服务代码的维护成本和业务开发人员的工作成本。


技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、鉴于以上所述现有技术的缺点,本发明公开了一种服务异常信息获取方法及系统,以避免异常收集代码对业务服务代码产生耦合性,从而降低业务服务代码的维护成本。

3、本发明提供了一种服务异常信息获取方法,包括:获取目标业务服务的异常采集客户端;将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。

4、可选地,通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息之后,所述方法还包括:对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型;根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理。

5、可选地,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型,包括:根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段,其中,所述类名称字段承载有所述服务异常信息对应的异常类名称,所述详细字段承载有所述服务异常信息对应的详细信息,所述预设分隔符号用于分隔所述类名称字段和所述详细字段;获取所述异常类名称对应的异常类对象,并确定所述异常类对象对应的父类对象,以从所述父类对象中提取父类名称;根据所述异常类名称和/或所述父类名称确定所述服务异常信息对应的服务异常类型。

6、可选地,根据预设分隔符号从所述服务异常信息中提取类名称字段和详细字段之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:从所述类名称字段的预设字段位置中提取待解析字段;对所述待解析字段进行解析,得到所述待解析字段的字段词性信息;若所述字段词性信息包括预设词性信息,则舍弃所述服务异常信息。

7、可选地,对所述服务异常信息进行解析,得到所述服务异常信息对应的服务异常类型之后,根据所述服务异常类型进行匹配,得到所述服务异常类型对应的异常处理指令之前,所述方法还包括:获取所述目标业务服务的服务名称;根据所述服务名称和所述服务异常类型生成历史异常记录,并将所述历史异常记录存储在预设的异常数据库中;根据所述历史异常记录从所述异常数据库中查询预设时间段内所述历史异常记录的数量,得到所述服务异常信息对应的历史异常次数;若所述历史异常次数大于预设次数阈值,则舍弃所述服务异常信息。

8、可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:预先建立原始业务服务和原始负责人员之间的对应关系;根据所述目标业务服务与所述原始业务服务之间的匹配关系从所述原始负责人员中确定所述目标业务服务对应的目标负责人员,并根据所述服务异常信息和/或所述服务异常类型生成服务异常通知;根据所述服务异常通知向所述目标负责人员进行告警,以提醒目标负责人员对所述目标业务服务进行维护。

9、可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:预先获取异常处理专家库,所述异常处理专家库包括多个原始异常类型和各所述原始异常类型对应的专家建议策略;根据所述服务异常类型与所述原始异常类型之间的匹配结果对所述异常处理专家库中的专家建议策略进行查询;若所述异常处理专家库中存在所述服务异常类型对应的专家建议策略,则执行所述服务异常类型对应的专家建议策略;若所述异常处理专家库中不存在所述服务异常类型对应的专家建议策略,则将所述服务异常类型作为新的原始异常类型存入所述异常处理专家库,并获取所述新的原始异常类型对应的专家建议策略。

10、可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:基于所述服务异常信息和/或所述服务异常类型对所述目标业务服务的异常次数、异常发生时间进行监测;根据所述异常次数和所述异常发生时间生成服务异常趋势图。

11、可选地,根据所述服务异常信息和/或所述服务异常类型对所述目标业务服务进行服务异常处理,包括:若所述目标业务服务的数量包括多个,则根据所述服务异常信息的数量统计各所述目标业务服务分别对应的异常次数;根据各所述异常次数确定异常总数,并基于各所述异常次数分别与所述异常总数之间的比值生成服务异常比例图。

12、本发明提供了一种服务异常信息获取系统,包括:获取模块,用于获取目标业务服务的异常采集客户端;部署模块,用于将所述异常采集客户端以软件包的形式加入所述目标业务服务的依赖项目录中,以将所述异常采集客户端与所述目标业务服务部署在同一进程中,并利用面向切面编程技术在所述目标业务服务的服务层建立异常采集切面;采集模块,用于若通过所述目标业务服务执行业务流程,则通过所述异常采集客户端从所述异常采集切面对所述业务流程进行异常信息采集,得到服务异常信息。

13、本发明的有益效果:

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

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