人工智能服务监测方法、装置、设备及可读存储介质与流程

文档序号:31707687发布日期:2022-10-01 12:34阅读:64来源:国知局
人工智能服务监测方法、装置、设备及可读存储介质与流程

1.本发明涉及服务部署领域,尤其涉及一种人工智能服务监测方法、装置、设备及可读存储介质。


背景技术:

2.在服务(service)的逻辑设计中,通常包含服务的网络治理逻辑设置,如服务间通信、调用超时处理等等设计。
3.而在人工智能相关的服务设计中,单个服务场景常涉及到多个网络模型的参数使用,换言之人工智能服务的业务逻辑十分复杂。但网络治理逻辑设置与人工智能服务的业务逻辑并不相关,导致工程师需关注业务逻辑设计之外的内容,因而提高了服务设计的难度。


技术实现要素:

4.有鉴于此,本发明提供一种人工智能服务监测方法、装置、设备及可读存储介质,以改善导致工程师需关注业务逻辑设计之外的内容,因而提高了服务设计的难度的现状。
5.第一方面,本发明实施例提供一种人工智能服务监测方法,包括:
6.在预设的计算机集群管理系统中安装istio组件;
7.基于安装完成的istio组件,创建istio-operator控制器;
8.利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,其中,所述数据平面模块包括多个智能代理sidecar;
9.将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
10.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
11.响应路由调整请求,调整所述路由调整请求对应的智能代理sidecar中的路由规则,其中,所述路由规则表示不同所述人工智能服务间的消息传递规则。
12.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
13.基于多个所述智能代理sidecar,生成每个所述人工智能服务的调用结果记录,其中,所述调用结果记录包括调用成功次数、调用重试次数及调用超时次数;
14.根据每个所述人工智能服务的调用结果记录生成对应的图表,并将所述图表发送至工作人员的终端。
15.进一步的,在本发明实施例提供的一种可行方式中,所述基于多个所述智能代理sidecar,记录每个所述人工智能服务的调用结果之后,所述方法还包括:
16.当所述调用成功次数、调用重试次数及调用超时次数中的任意一种超过对应的预设阈值时,生成对应的报警信息,并将所述报警信息发送至工作人员的终端。
17.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
18.响应人工智能服务调用请求,确定所述人工智能服务调用请求对应的目标人工智能服务;
19.利用所述目标人工智能服务对应的智能代理sidecar中预设的请求校验策略,对所述人工智能服务调用请求进行校验;
20.若校验通过,执行所述目标人工智能服务对应的调用操作。
21.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
22.控制所述智能代理sidecar向对应的人工智能服务注入预设的故障信息,以利用所述智能代理sidecar监控对应的人工智能服务的故障处理表现。
23.可选的,在本发明实施例提供的一种可行方式中,所述计算机集群管理系统包括kubernetes系统。
24.第二方面,本发明实施例提供一种人工智能服务监测装置,包括:
25.安装模块,用于在预设的计算机集群管理系统中安装istio组件;
26.创建模块,用于基于安装完成的istio组件,创建istio-operator控制器;
27.生成模块,用于利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,其中,所述数据平面模块包括多个智能代理sidecar;
28.监控模块,用于将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
29.第三方面,本发明实施例提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的人工智能服务监测方法。
30.第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的人工智能服务监测方法。
31.本发明实施例提供的人工智能服务监测方法中,当计算机设备在预设的计算机集群管理系统中安装istio组件后,利用安装完成的istio组件,创建istio-operator控制器,以使人工智能服务以服务网络的方式完成部署;接着,利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,最后,将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
32.由此,本发明实施例基于服务网格的设计模型,使得开发者能着重关注服务本身的逻辑设计,无需关注如通信逻辑等额外功能的设计,从而降低了服务设计难度;同时,因智能代理sidecar能对服务的请求进行拦截和检验,且负责服务间的通信,由此实现了服务的完善监控。
附图说明
33.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
34.图1示出了本发明实施例提供的第一种人工智能服务监测方法的流程示意图;
35.图2示出了本发明实施例提供的第二种人工智能服务监测方法的流程示意图;
36.图3示出了本发明实施例提供的第三种人工智能服务监测方法的流程示意图;
37.图4示出了本发明实施例提供的人工智能服务监测装置的结构示意图。
具体实施方式
38.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
39.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
41.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
42.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
43.实施例1
44.参照图1,示出了本发明实施例提供的第一种人工智能服务监测方法的流程示意图,本发明实施例提供的人工智能服务监测方法包括:
45.s110,在预设的计算机集群管理系统中安装istio组件。
46.可以理解的是,本发明实施例中的计算机集群管理系统用于对计算机集群中的各个计算机进行关联,以完成资源调度、实例通信等工作。
47.还可以理解的是,计算机集群管理系统可根据实际情况设置选择,如在本发明实施例提供的一种可行方式中,所述计算机集群管理系统包括kubernetes系统。其中,kubernetes系统支持服务自动化部署、资源伸缩及应用容器化管理等功能,是现阶段开源且较为成熟的集群管理工具。
48.进一步的,本发明实施例中的istio组件用于实现微服务网格的设置与部署,并用于对已部署的服务进行保护、连接和监控。
49.还需理解的是,安装istio组件的方式可根据实际情况设置,本发明实施例不对此进行限定。
50.s120,基于安装完成的istio组件,创建istio-operator控制器。
51.具体的,本发明实施例中的计算机设备将在完成istio组件的安装后,创建istio-operator控制器,也即创建istio-operator控制器对应的自定义资源定义(custom resource definition,crd)。
52.需理解的是,自定义资源定义是一种资源自定义方式,自定义资源定义的资源将在开发者完成定义后,将部署至计算机集群以完成资源注册。而在注册之后,开发者则可根据预设命令调用自定义资源定义中的资源,具备较高的灵活性。
53.还需理解的是,自定义资源定义为现阶段较为成熟的技术,故不再说明自定义资源定义相关的内容,详情请参考现有技术。
54.s130,利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,其中,所述数据平面模块包括多个智能代理sidecar。
55.需说明的,本发明实施例中的数据平面模块由多个envoy(代理)组成,每个被envoy部署为sidecar(跨斗)。sidecar用于协调和控制微服务之间的交互,和收集并记录控制平面中各个微服务的流量。
56.需理解的是,本发明实施例中的服务指代微服务,微服务是一种软件开发技术,是面向服务的体系结构(service oriented architecture,soa)架构样式的变种。进一步的,在微服务开发中,一个应用被划分成多个小型服务,各个小型服务之间互相协调、互相配合以完成应用的各个功能。
57.还需理解的是,本发明实施例中的智能代理sidecar与微服务为一一对应的关系,换言之,在任意一个微服务被部署后,均将分配对应的智能代理sidecar。可以理解的是,微服务与智能代理sidecar的关系类似于摩托车的跨斗,微服务用于实现逻辑控制,智能代理sidecar用于实现逻辑控制之外,如与其他微服务的通信,路由规则管理等等功能。
58.还需说明的是,本发明实施例中的各个人工智能服务将被部署至人工智能服务控制平面。人工智能服务控制平面用于部署和管理各个微服务。
59.s140,将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
60.可以理解的是,本发明实施例中的智能代理sidecar用于监控对应的人工智能服务,同时为人工智能服务提供与其他微服务的通信,路由规则管理等等功能,换言之,一个服务中的通信逻辑、重试、超时等与服务本身的逻辑将被分割开,二者分别作为一个独立成分,即本发明实施例中的智能代理sidecar具备通信逻辑、重试、超时等设计,而服务本技术的功能逻辑部分被单独部署至人工智能服务控制平面。其中,通信逻辑表示处理入站或出站请求的任何代码。
61.基于此,当任意一个服务需被调用,即受到服务对应的调用请求时,服务对应的智能代理sidecar间进行请求的拦截和管理。
62.还可以理解的是,与现有的服务部署方式不同的是,现有的服务部署中通信逻辑常作为服务的一部分以进行设计。因此,当需要对通信逻辑进行修改时,开发者需对每个服务均进行对应的调整。
63.此外,大多数的服务中,通信逻辑的设置可能具备共通性,因此为实现通信管理,通常需开发者自行设计共享库,以供各个服务从共享库中重用相同的通信逻辑,但共享库
的设计十分复杂。
64.基于此,本发明实施例采用了微服务网络的方式完成服务的部署与监控,也即,将人工智能服务部署至人工智能服务控制平面,并利用数据平面中的智能代理sidecar为各个服务提供通用的方式以实现通信逻辑,从而高效地完成通信管理和服务监控。
65.本发明实施例提供的人工智能服务监测方法中,当计算机设备在预设的计算机集群管理系统中安装istio组件后,利用安装完成的istio组件,创建istio-operator控制器,以使人工智能服务以服务网络的方式完成部署;接着,利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,最后,将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
66.由此,本发明实施例基于服务网格的设计模型,使得开发者能着重关注人工智能服务本身复杂的逻辑设计,无需关注如通信逻辑等额外功能的设计,从而降低了服务设计难度;同时,因智能代理sidecar能对服务的请求进行拦截和检验,且负责服务间的通信,由此实现了服务的完善监控。
67.可选的,在本发明实施例提供的一种可行方式中,具体请参考图2,示出了本发明实施例提供的第二种人工智能服务监测方法的流程示意图,所述方法还包括:
68.s150,响应路由调整请求,调整所述路由调整请求对应的智能代理sidecar中的路由规则,其中,所述路由规则表示不同所述人工智能服务间的消息传递过程。
69.可以理解的是,因服务的通信均由对应的智能代理sidecar完成,因而在智能代理sidecar中存储有对应的服务的路由规则。其中,路由规则表示服务产生的消息或服务运行需接收的消息的传递规则,表明各个服务间的通信方式。
70.基于路由规则的调整,使得服务间的通信能自由调整,也使得人工智能服务的消息获取或消息传递能满足开发者的设计需要。
71.可选的,在本发明实施例提供的一种可行方式中,具体请参考图3,示出了本发明实施例提供的第三种人工智能服务监测方法的流程示意图,所述方法还包括:
72.s160,基于多个所述智能代理sidecar,生成每个所述人工智能服务的调用结果记录,其中,所述调用结果记录包括调用成功次数、调用重试次数及调用超时次数;
73.s170,根据每个所述人工智能服务的调用结果记录生成对应的图表,并将所述图表发送至工作人员的终端。
74.也即,本发明实施例还具备服务性能可视化功能,用于在智能代理sidecar实时记录对应的人工智能服务的调用结果后,根据调用结果生成对应的可视化图表,以使开发者清楚的知晓各个人工智能服务的调用情况。
75.可以理解的是,图表的具体生成方式和展现形式均可根据实际情况设置,如在本发明实施例提供的一种可行方式中,计算机设备将根据调用成功次数生成柱形图,柱形图纵轴表示调用成功次数,横轴表示不同的时间段。
76.而在本发明实施例提供的另一种可行方式中,将根据调用结果和调用结果对应的时间生成折线图,以表明不同时间点对应的调用结果,进而使开发者知晓不同时间下的服务调用情况,从而确定调用高峰期和调用低谷期。
77.此外,可以理解的是,上述调用成功次数、调用重试次数及调用超时次数均为本发
明实施例提供的可选记录内容之一,调用结果记录可根据实际情况设置。
78.进一步的,在本发明实施例提供的一种可行方式中,所述基于多个所述智能代理sidecar,记录每个所述人工智能服务的调用结果之后,所述方法还包括:
79.当所述调用成功次数、调用重试次数及调用超时次数中的任意一种超过对应的预设阈值时,生成对应的报警信息,并将所述报警信息发送至工作人员的终端。
80.也即,本发明实施例在捕获到服务每一次失败、每一次成功的调用、重试或超时后,将判断人工智能服务的失败次数、成功次数、重试次数及超时次数是否超过预设的阈值。
81.若超过,则说明人工智能服务执行了非法/错误操作,如成功次数超过阈值,说明服务可能被非法调用;又如失败次数超过阈值,表明服务的调用可能存储冲突,或者是网络情况异常。
82.因此,本发明实施例将实施监控各类调用结果,并在调用结果出现异常,即超过对应的预设阈值时,向人工智能服务相应的运维人员的终端发送报警信息,由此实现人工智能服务的有效监控。
83.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
84.响应人工智能服务调用请求,确定所述人工智能服务调用请求对应的目标人工智能服务;
85.利用所述目标人工智能服务对应的智能代理sidecar中预设的请求校验策略,对所述人工智能服务调用请求进行校验;
86.若校验通过,执行所述目标人工智能服务对应的调用操作。
87.可以理解的是,本发明实施例中的智能代理sidecar中具备服务调用请求校验的功能,因此当收到人工智能服务对应的调用请求时,智能代理sidecar将基于预设的请求校验策略,对调用请求进行校验。若通过校验则说明请求无异常,可正常执行服务调用。而若异常,则说明请求非法,需向工作人员的终端发送的报警信息,或终止非法调用。
88.此外,在本发明实施例提供的一种可行方式中,还设置有请求校验策略的设置方式,用于在用户需对请求校验策略进行调整时,对智能代理sidecar中的请求校验策略进行调整。
89.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
90.控制所述智能代理sidecar向对应的人工智能服务注入预设的故障信息,以利用所述智能代理sidecar监控对应的人工智能服务的故障处理表现。
91.也即,本发明实施例还设置有故障注入功能。其中,故障注入用于通过向受测方故意注入故障信息,或故意改变受测方的环境参数等方式,册数受测方的故障表现,进而确定受测方的可靠性。
92.而本发明实施例则基于故障注入,测试各个人工智能服务的可靠性,以根据可靠性测试结果进行服务或智能代理sidecar的调整。
93.可选的,在一种可行方式中,本发明实施例还设置有mtls和自动证书轮换,混沌测试,服务调试和追踪,检测检测和弹出不健康服务实例等功能。
94.实施例2
95.与本发明实施例1提供的人工智能服务监测方法相对应的,本发明实施例2还提供
一种人工智能服务监测装置,参照图4,示出了本发明实施例提供的人工智能服务监测装置的结构示意图,本发明实施例提供的人工智能服务监测装置200,包括:
96.安装模块210,用于在预设的计算机集群管理系统中安装istio组件;
97.创建模块220,用于基于安装完成的istio组件,创建istio-operator控制器;
98.生成模块230,用于利用所述istio-operator控制器生成数据平面模块和人工智能服务控制平面,其中,所述数据平面模块包括多个智能代理sidecar;
99.监控模块240,用于将预设的多个人工智能服务部署至所述人工智能服务控制平面,并为每个所述人工智能服务分配对应的智能代理sidecar,以使所述智能代理sidecar监控对应的人工智能服务。
100.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
101.路由调整模块,用于响应路由调整请求,调整所述路由调整请求对应的智能代理sidecar中的路由规则,其中,所述路由规则表示不同所述人工智能服务间的消息传递过程。
102.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
103.记录模块,用于基于多个所述智能代理sidecar,生成每个所述人工智能服务的调用结果记录,其中,所述调用结果记录包括调用成功次数、调用重试次数及调用超时次数;
104.图表生成模块,用于根据每个所述人工智能服务的调用结果记录生成对应的图表,并将所述图表发送至工作人员的终端。
105.进一步的,在本发明实施例提供的一种可行方式中,所述基于多个所述智能代理sidecar,记录每个所述人工智能服务的调用结果之后,所述方法还包括:
106.报警模块,用于当所述调用成功次数、调用重试次数及调用超时次数中的任意一种超过对应的预设阈值时,生成对应的报警信息,并将所述报警信息发送至工作人员的终端。
107.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
108.确定模块,用于响应人工智能服务调用请求,确定所述人工智能服务调用请求对应的目标人工智能服务;
109.校验模块,用于利用所述目标人工智能服务对应的智能代理sidecar中预设的请求校验策略,对所述人工智能服务调用请求进行校验;
110.执行模块,用于若校验通过,执行所述目标人工智能服务对应的调用操作。
111.可选的,在本发明实施例提供的一种可行方式中,所述方法还包括:
112.注入模块,用于控制所述智能代理sidecar向对应的人工智能服务注入预设的故障信息,以利用所述智能代理sidecar监控对应的人工智能服务的故障处理表现。
113.可选的,在本发明实施例提供的一种可行方式中,所述计算机集群管理系统包括kubernetes系统。
114.本技术实施例提供的人工智能服务监测装置能够实现实施例1对应的人工智能服务监测方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
115.本发明实施例还提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如实施例1对应的人工智能服务监测方法。
116.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计
算机程序,计算机程序在处理器上运行时执行如实施例1对应的人工智能服务监测方法。
117.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
118.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
119.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1