一种应用服务健康管理方法、装置、电子设备及存储介质与流程
未命名
09-22
阅读:86
评论:0

1.本公开涉及网络信息技术领域,具体而言,涉及一种应用服务健康管理方法、装置、电子设备及存储介质。
背景技术:
2.目前,随着信息化技术的不断发展,越来越多的信息系统为人们的工作、科研以及生活提供了便利。在这些信息系统中,通常采用微服务架构,系统后台由多个应用服务组成,并通过服务网关与前台客户端服务连接,服务网关负责各服务的api路由功能,将请求转发到目标服务。调用方只需要知道网关对外暴露的服务api就可以透明地访问后端的服务,若某个应用服务或者某个api接口出现问题时,会停止向用户提供服务内容,影响用户的使用,因此,针对应用服务的健康管理极为重要。
3.在现有的服务健康管理技术方案中,往往定时检测服务端口是否可以访问,如果不能访问则认为该服务发生了故障,一般通过重启故障服务来恢复系统。但是这种服务健康检测与故障恢复只是基于服务端口可访问状态的简单健康管理,只能通过重启故障服务来修复系统,针对不同非健康状态的适用性较差。
技术实现要素:
4.本公开实施例至少提供一种应用服务健康管理方法、装置、电子设备及存储介质,可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
5.本公开实施例提供了一种应用服务健康管理方法,包括:获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。
6.一种可选的实施方式中,在所述确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复之后,所述方法还包括:在所述非健康服务关联关系图中修剪所述叶子非健康服务节点;遍历所述非健康服务关联关系图,重复选取叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。
7.一种可选的实施方式中,所述获取非健康服务,确定与所述非健康服务相关联的关联应用服务,具体包括:根据预设的服务检测周期,针对每个应用服务的api接口调用过程,调取该应用服
务对应的服务健康检测接口,获取该api接口调用过程对应的健康状态信息;在所述健康状态信息中筛选出非健康状态,确定具有所述非健康状态的所述非健康服务;获取所述非健康服务在运行过程中所调用的子服务api接口,确定所述子服务api接口对应的子应用服务,以及调用该非健康服务api接口的父应用服务;将所述子应用服务以及所述父应用服务确定为所述关联应用服务。
8.一种可选的实施方式中,基于以下步骤在所述非健康服务关联关系图中选取叶子非健康服务节点:确定所述非健康服务关联关系图中的全部叶子节点,当节点没有子节点时该节点为叶子节点,确定关联关系图中没有子节点的节点作为叶子节点;从非健康叶子节点集中选取具有最高优先级的叶子节点作为目标叶子节点;确定所述目标叶子节点对应的所述健康状态信息是否为所述非健康状态;若是,则将该目标叶子节点确定为所述叶子非健康服务节点;若不是,则修剪该目标叶子节点,并重复选取所述目标叶子节点的步骤,直至所述目标叶子节点对应的所述健康状态信息为所述非健康状态。
9.一种可选的实施方式中,所述确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复,具体包括:根据所述目标非健康状态,确定所述非健康服务对应的非健康类型;在预设的服务健康处理规则库中,确定与所述非健康类型相匹配的所述目标处理规则,其中,所述服务健康处理规则库中预先存储有多种非健康类型以及每种非健康类型对应的处理规则;生成所述目标处理规则对应的健康修复指令,执行所述健康修复指令,针对所述叶子非健康服务节点进行健康修复。
10.本公开实施例还提供一种应用服务健康管理装置,包括:服务健康监测模块,用于检测应用服务的健康状态,确定与非健康服务相关联的关联应用服务;关联关系图构建模块,用于根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;非健康状态确定模块,用于在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点对应的目标非健康状态;健康修复模块,用于确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。
11.本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述应用服务健康管理方法,或上述应用服务健康管理方法中任一种可能的实施方式中的步骤。
12.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述应用服务健康管理方法,或上述应用服务健康管理方法中任一种可能的实施方式中的步骤。
13.本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序、指令被处理器执行时实现上述应用服务健康管理方法,或上述应用服务健康管理方法中任一种可能的实施方式中的步骤。
14.本公开实施例提供的一种应用服务健康管理方法、装置、电子设备及存储介质,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
15.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
16.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1示出了本公开实施例所提供的一种应用服务健康管理方法的流程图;图2示出了本公开实施例所提供的另一种应用服务健康管理方法的流程图;图3示出了本公开实施例所提供的一种应用服务健康管理装置的示意图;图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
18.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
19.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
20.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
21.经研究发现,在现有的服务健康管理技术方案中,往往定时检测服务端口是否可
以访问,如果不能访问则认为该服务发生了故障,一般通过重启故障服务来恢复系统。但是这种服务健康检测与故障恢复只是基于服务端口可访问状态的简单健康管理,只能通过重启故障服务来修复系统,针对不同非健康状态的适用性较差。
22.基于上述研究,本公开提供了一种应用服务健康管理方法、装置、电子设备及存储介质,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
23.为便于对本实施例进行理解,首先对本公开实施例所公开的一种应用服务健康管理方法进行详细介绍,本公开实施例所提供的应用服务健康管理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备包括:服务器(包括云服务器)、工作站计算机、台式计算机、笔记本计算机、平板电脑等。在一些可能的实现方式中,该应用服务健康管理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
24.参见图1所示,为本公开实施例提供的一种应用服务健康管理方法的流程图,所述方法包括步骤s101~s104,其中:s101、获取非健康服务,确定与所述非健康服务相关联的关联应用服务。
25.在具体实施中,在当前系统应用内检测出现非健康状态的非健康服务,并在系统应用所具有的全部应用服务中确定与该非健康服务之间存在关联的关联应用服务。
26.这里,非健康服务为应用服务在api调用时出现负载非健康的服务。
27.可选的,本公开实施例可应用于基于微服务架构的计算流体力学(computational fluid dynamics,cfd)系统,该系统应用可以通过模拟仿真试验分析工业设计方案的流体动力学特性,进而改进优化设计方案,其所具有的应用服务可以包括:用户管理服务、项目管理服务、网格生成服务、求解器服务、后处理分析服务。
28.其中,用户管理服务用于提供用户信息管理、用户身份认证、用户数据存储管理等功能。项目管理服务用于管理每个仿真试验项目的元数据信息,包括项目名称、项目工作路径、项目网格文件、求解方案设置、计算结果数据等信息。一个用户可以有多个项目,用户通过客户端选择一个项目作为当前仿真试验项目,对其进行仿真试验分析。网格生成服务用于负责按照网格生成方法对连续计算域流场进行离散化,把一个连续的几何区域分割成许多很小的单元,以便在离散的单元上进行流场代数方程的数值求解计算。求解器服务用于负责在给定的离散化的流场网格上,在给定的试验边界条件下,根据cfd物理模型进行方程求解,计算各时刻的流场状态。后处理分析服务用于对仿真试验求解结果流场数据进行可视化分析,以云图、等值线图、流线图等方式给用户提供流场的特征规律。
29.作为一种可能的实施方式,步骤s101可以通过如下步骤s1011-步骤s1015实现:s1011、根据预设的服务检测周期,针对每个应用服务的api接口调用过程,调取该应用服务对应的服务健康检测接口,获取该api接口调用过程对应的健康状态信息。
30.在具体实施中,在每个服务检测周期,调用每个应用服务的服务健康检测接口,进行一次服务的健康状态监测,得到应用服务的健康状态。由于只有在调用服务api使用服务
时才会暴漏出相应的非健康状态,比如:如果服务的cpu配额较小,则在调用服务cpu密集型api接口时会出现超时卡顿非健康现象。因此在api接口调用过程中进行相应的健康状态监测是发现服务非健康状态的有效方式。
31.这里,每个应用服务对应实现一个服务健康检测接口,该服务健康检测接口根据服务检测周期内的api接口非健康日志数据,统计分析建立服务的api接口功能健康状态作为该api接口调用过程对应的健康状态信息。
32.需要说明的是,健康状态信息中记录了api接口调用过程为健康状态还是非健康状态,在一般情况下,健康状态信息可以仅对非健康状态进行记录存储。
33.示例性的,非健康状态信息的消息格式可以为:{“servicename”:“服务名”,“healthstat”:“uh”,“uhstats”:[非健康状态集]},其中uh表示非健康unhealthy。
[0034]
其中,在应用服务的每个api接口实现时,除了进行接口功能的计算处理返回处理结果数据外,还评估api接口的健康状态,如果api接口处理时间超过了期望阈值,则会记录一条api非健康日志数据。
[0035]
示例性的,api非健康日志数据的消息格式可以为:timestamp, api_name: api类型,非健康状态,实际用时,期望用时,cpu%,mem%,net%。例如:2022-10-26 05:14:47, api_uff.solver.run:i-mpi,超时,实际用时,期望用时,100%,30%,40%。
[0036]
s1012、在所述健康状态信息中筛选出非健康状态,确定具有所述非健康状态的所述非健康服务。
[0037]
这里,服务api接口按计算任务分类可以分为cpu密集型(i-api)和i/o密集型(ii-api)。调用api时出现的非健康状态主要包括超时,即未能在期望的时间内完成处理,易造成系统卡顿、响应迟缓,甚至死机。
[0038]
进一步的,如果服务负载过轻则会造成系统资源的浪费,为了提高系统资源利用率,以便在出现瓶颈资源时提高系统的调节能力,因此负载过轻也是一种非健康状态。
[0039]
其中,若服务的资源占用率过高(》70%),则认为负载过重;若服务的资源占用率过低(《30%)则认为负载过轻。资源主要包括:cpu、内存、网络带宽。
[0040]
s1013、获取所述非健康服务在运行过程中所调用的子服务api接口,确定所述子服务api接口对应的子应用服务,以及调用该非健康服务api接口的父应用服务。
[0041]
s1014、将所述父应用服务与所述子应用服务作为所述非健康服务,重复确定子应用服务以及父应用服务的步骤,直至遍历全部所述应用服务。
[0042]
s1015、将所述子应用服务以及所述父应用服务确定为所述关联应用服务。
[0043]
在具体实施中,确定非健康服务在运行过程中所调用的api接口,将拥有该api接口的应用服务作为子应用服务;将运行过程中调用该非健康服务的api接口的应用服务作为父应用服务,进一步的遍历全部应用服务进行该步骤,将寻找到的全部子应用服务以及父应用服务确定为关联应用服务。
[0044]
示例性的,如果服务a的api接口处理中调用了服务b的api接口,则服务a和服务b之间具有关联关系,被调用的服务b是服务a的子应用服务。相反的如果服务a的api接口处理中被服务b的api接口调用,则服务a和服务b之间同样具有关联关系,服务b是服务a的父应用服务。
[0045]
需要说明的是,在检测出的全部子应用服务以及父应用服务中需要针对当前非健
康服务进行过滤,以免出现重复检测。
[0046]
s102、根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图。
[0047]
在具体实施中,由非健康服务与关联应用服务作为叶子节点,非健康服务与关联应用服务之间的关联关系作为连接边,构建非健康服务关联关系图。
[0048]
这里,连接边还包括关联应用服务之间的关联关系,非健康服务与关联应用服务之间的关联关系,以及关联应用服务之间的关联关系可以通过如上步骤s1013中的父级、子级关系进行确定,以确定非健康服务关联关系图中各个叶子节点之间的连接顺序。
[0049]
s103、在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态。
[0050]
在具体实施中,按照深度优先遍历非健康服务关联关系图,在非健康服务关联关系图中找到一个具有非健康状态的叶子非健康服务节点,并确定该叶子非健康服务节点在api接口调用过程中对应的目标非健康状态。
[0051]
具体的,步骤s103可以通过如下步骤s1031-步骤s1035实现:s1031、确定所述非健康服务关联关系图中的全部叶子节点;s1032、遍历每两个所述叶子节点之间的节点优先级,选取具有较高优先级的所述叶子节点作为目标叶子节点,其中,所述节点优先级为所述子应用服务的优先级高于所述父应用服务的优先级;s1033、确定所述目标叶子节点对应的所述健康状态信息是否为所述非健康状态;s1034、若是,则将该目标叶子节点确定为所述叶子非健康服务节点;s1035、若不是,则修剪该目标叶子节点,并重复选取所述目标叶子节点的步骤,直至所述目标叶子节点对应的所述健康状态信息为所述非健康状态。
[0052]
这里,在选取叶子非健康服务节点的过程中,根据服务关联关系图,按照深度优先顺序,子应用服务的优先级高于父应用服务的优先级,即先解决非健康的子应用服务,再解决非健康的父应用服务。
[0053]
这样,可以避免因关联的子应用服务非健康引起的服务假非健康状态,造成无效的健康管理调节。
[0054]
s104、确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。
[0055]
在具体实施中,步骤s104可以通过如下步骤s1041-步骤s1043实现:s1041、根据所述目标非健康状态,确定所述非健康服务对应的非健康类型。
[0056]
s1042、在预设的服务健康处理规则库中,确定与所述非健康类型相匹配的所述目标处理规则,其中,所述服务健康处理规则库中预先存储有多种非健康类型以及每种非健康类型对应的处理规则。
[0057]
s1043、生成所述目标处理规则对应的健康修复指令,执行所述健康修复指令,针对所述叶子非健康服务节点进行健康修复。
[0058]
这里,预设的服务健康处理规则库中,预先定义了各种非健康状态对应的非健康类型,在出现时相应的处理规则。
[0059]
其中,处理规则可以包括:若非健康类型为服务非存活,则处理规则为重启服务;
若非健康类型为服务负载过轻时:若非健康类型为服务cpu负载过轻,则处理规则为减小服务的cpu配额;若非健康类型为服务内存负载过轻,则处理规则为减小服务的内存配额;若非健康类型为服务网络负载过轻,则处理规则为减小服务的网络带宽配额。
[0060]
进一步的,若非健康类型为i-api(cpu密集型api接口)超时非健康时:如果cpu负载过重,则处理规则为增加服务的cpu配额;如果内存负载过重,则处理规则为增加服务的mem配额。若非健康类型为ii-api(io密集型api接口)超时非健康时:如果网络负载过重,则处理规则为增加服务的网络带宽配额;如果磁盘io过高,则处理规则为增大服务的数据存储周期。
[0061]
进一步的,根据监测到的服务非健康状态,触发相应的服务健康管理规则,生成相应的服务健康管理操作命令,实现对服务的健康修复。
[0062]
需要说明的是,在进行健康修复的过程中先解决非健康的子应用服务,再解决非健康的父应用服务。
[0063]
本公开实施例提供的一种应用服务健康管理方法,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
[0064]
参见图2所示,为本公开实施例提供的另一种应用服务健康管理方法的流程图,所述方法包括步骤s201~s206,其中:s201、获取非健康服务,确定与所述非健康服务相关联的关联应用服务。
[0065]
s202、根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图。
[0066]
s203、在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态。
[0067]
s204、确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。
[0068]
这里,步骤s201-步骤s204与步骤s101-步骤s104实质相同,具有相同的实施方式并且可以达到相同的技术效果,对此不再进行赘述。
[0069]
s205、在所述非健康服务关联关系图中修剪所述叶子非健康服务节点。
[0070]
s206、遍历所述非健康服务关联关系图,重复选取叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。
[0071]
在具体实施中,针对修复完成的叶子非健康服务节点进行修剪去除,重复步骤s203-步骤s205,直至非健康服务关联关系图遍历完成,即可视为完成一次服务健康管理,之后按照管理周期,重复步骤s201-步骤s206,进行连续的服务健康监测管理。
[0072]
本公开实施例提供的一种应用服务健康管理方法,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康
服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。在所述非健康服务关联关系图中修剪所述叶子非健康服务节点。遍历所述非健康服务关联关系图,重复选取叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
[0073]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0074]
基于同一发明构思,本公开实施例中还提供了与应用服务健康管理方法对应的应用服务健康管理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述应用服务健康管理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0075]
请参阅图3,图3为本公开实施例提供的一种应用服务健康管理装置的示意图。如图3中所示,本公开实施例提供的应用服务健康管理装置300包括:服务健康监测模块310,用于监测应用服务的健康状态,确定与非健康服务相关联的关联应用服务。
[0076]
关联关系图构建模块320,用于根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图。
[0077]
非健康状态确定模块330,用于在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点对应的目标非健康状态。
[0078]
健康修复模块340,用于确定与所述目标非健康状态对应的目标健康修复处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。
[0079]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0080]
本公开实施例提供的一种应用服务健康管理装置,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。在所述非健康服务关联关系图中修剪所述叶子非健康服务节点。遍历所述非健康服务关联关系图,重复选取叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。
[0081]
对应于图1与图2中的应用服务健康管理方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处
理器41执行图1与图2中的应用服务健康管理方法的步骤。
[0082]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的应用服务健康管理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0083]
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的应用服务健康管理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0084]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0085]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0086]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0087]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0088]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0089]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护
范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种应用服务健康管理方法,其特征在于,包括:获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在api接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。2.根据权利要求1所述的方法,其特征在于,在所述确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复之后,所述方法还包括:在所述非健康服务关联关系图中修剪所述叶子非健康服务节点;遍历所述非健康服务关联关系图,重复选取其他叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。3.根据权利要求1所述的方法,其特征在于,所述获取非健康服务,确定与所述非健康服务相关联的关联应用服务,具体包括:根据预设的服务检测周期,针对每个应用服务的api接口调用过程,调取该应用服务对应的服务健康检测接口,获取该api接口调用过程对应的健康状态信息;在所述健康状态信息中筛选出非健康状态,确定具有所述非健康状态的所述非健康服务;获取所述非健康服务在运行过程中所调用的子服务api接口,确定所述子服务api接口对应的子应用服务,以及调用该非健康服务api接口的父应用服务;将所述父应用服务与所述子应用服务作为所述非健康服务,重复确定子应用服务以及父应用服务的步骤,直至遍历全部所述应用服务;将所述子应用服务以及所述父应用服务确定为所述关联应用服务。4.根据权利要求3所述的方法,其特征在于,基于以下步骤在所述非健康服务关联关系图中选取叶子非健康服务节点:确定所述非健康服务关联关系图中的全部叶子节点,当节点没有子节点时该节点为叶子节点,确定关联关系图中没有子节点的节点作为叶子节点;从全部叶子节点中选择优先级最高的节点作为目标叶子节点;确定所述目标叶子节点对应的所述健康状态信息是否为所述非健康状态;若是,则将该目标叶子节点确定为所述叶子非健康服务节点;若不是,则修剪该目标叶子节点,并重复选取所述目标叶子节点的步骤,直至所述目标叶子节点对应的所述健康状态信息为所述非健康状态。5.根据权利要求1所述的方法,其特征在于,所述确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复,具体包括:根据所述目标非健康状态,确定所述非健康服务对应的非健康类型;在预设的服务健康处理规则库中,确定与所述非健康类型相匹配的所述目标处理规
则,其中,所述服务健康处理规则库中预先存储有多种非健康类型以及每种非健康类型对应的处理规则;生成所述目标处理规则对应的健康修复指令,执行所述健康修复指令,针对所述叶子非健康服务节点进行健康修复。6.一种应用服务健康管理装置,其特征在于,包括:服务健康监测模块,用于监测应用服务的健康状态,确定与非健康服务相关联的关联应用服务;关联关系图构建模块,用于根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;非健康状态确定模块,用于在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点对应的目标非健康状态;健康修复模块,用于确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。7.根据权利要求6所述的装置,其特征在于,所述装置还包括循环模块,所述循环模块用于:在所述非健康服务关联关系图中修剪所述叶子非健康服务节点;遍历所述非健康服务关联关系图,重复选取叶子非健康服务节点的步骤,直至所述非健康服务关联关系图遍历完成。8.根据权利要求6所述的装置,其特征在于,所述服务健康监测模块具体用于:根据预设的服务检测周期,针对每个应用服务,调取该应用服务对应的服务健康检测接口,获取每个应用服务对应的健康状态信息,由健康检测接口对健康状态进行分类,以在修复时实现按类进行修复管理;在所述健康状态信息中筛选出非健康状态,确定具有所述非健康状态的所述非健康服务;确定所述非健康服务在运行过程中所调用的子服务api接口,以及调用该非健康服务api接口的父应用服务;以所述父应用服务作为所述非健康服务,重复所述确定所述非健康服务在运行过程中所调用的子服务api接口,以及调用该非健康服务api接口的父应用服务的步骤,直至遍历全部所述应用服务;将所述子服务api接口对应的子应用服务以及所述父应用服务确定为所述关联应用服务。9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至5中任一项所述的应用服务健康管理方法的步骤。10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5中任一项所述的应用服务健康管理方法的步骤。
技术总结
本公开提供了一种应用服务健康管理方法、装置、电子设备及存储介质,通过获取非健康服务,确定与所述非健康服务相关联的关联应用服务;根据所述非健康服务与所述关联应用服务之间的关联关系,构建非健康服务关联关系图;在所述非健康服务关联关系图中选取叶子非健康服务节点,并确定所述叶子非健康服务节点在API接口调用过程中对应的目标非健康状态;确定与所述目标非健康状态对应的目标处理规则,根据所述目标处理规则针对所述叶子非健康服务节点进行健康修复。可以提升针对不同非健康状态的适用性,从根源上解决引起服务非健康的问题。问题。问题。
技术研发人员:淮晓永 蒯亮 李俊达 胡志明 王皓 沈亚楠
受保护的技术使用者:中国电子信息产业集团有限公司第六研究所
技术研发日:2023.08.16
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/