一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于人工智能的运维管控方法、装置、计算机设备与流程

2022-02-19 12:04:01 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及一种基于人工智能的运维管控方法、装置、计算机设备及存储介质


背景技术:

2.对于运维人员来说,为了保证业务系统的稳定运行,对与业务相关的各项指标数据是否正常进行监控检测非常重要,因此需要定期的对被监控系统进行数据检测、信息收集等操作。当检测到某些指标数据不符合需求时,能够在第一时间发现异常值,并报警、通知运维人员等,以便及时进行优化调整、解决故障或者实现故障自愈。
3.早期的运维工作是通过运维人员手工去完成的,效率低下,准确度低,随着被监控检测指标数据的几何增长,早期的人工方式已越来越难以满足应用需求。近来,一些运维检测工具或系统的提出,使得自动化运维成为主流方式,这种根据简单规则、自定义触发任务的方式大大的减少了运维工作的人力投入,提高了运维工作的效率。
4.但目前的大多数自动化运维检测工具在检测异常值时需要预先定义数学模型,在前期模型定义过程中,需要大量人力完成人工标注以进行模型训练,另外,还需要计算有关数据的距离、密度等指标,使得运维工作依然复杂、低效,大幅增加了资源的消耗。


技术实现要素:

5.本技术实施例的目的在于提出一种运维管控方法、装置、计算机设备及存储介质,以解决运维工作人力投入大、效率低下,准确度低、系统不稳定等问题。
6.为了解决上述技术问题,本技术实施例提供一种基于人工智能的运维管控方法,采用了如下所述的技术方案:
7.在运维管控数据中确定具有预设数量数据的至少一个数据样本,所述数据样本为预设时段内的连续特征数据,所述连续特征数据包括待检测监控数据;
8.从所述至少一个数据样本内选取一个预设值以切分所述至少一个数据样本,得到二叉树结构;
9.根据所述待检测监控数据在所述二叉树结构的位置确定所述待检测数据是否为异常值;
10.若为异常值,则针对所述异常值生成自愈方案并根据所述自愈方案对所述异常值进行处理。
11.进一步地,所述在运维管控数据中确定具有预设数量数据的至少一个数据样本包括,从所述运维管控数据中提取预设采样周期的各指标数据;
12.识别所述各指标数据的属性,根据不同属性将将所述运维管控数据分解为所述至少一个数据样本;
13.将所述至少一个数据样本分配给至少一个处理器进行计算处理。
14.进一步地,所述从所述至少一个数据样本内选取一个预设值以切分所述至少一个
数据样本包括:
15.步骤a:选取所述至少一个数据样本内最大值和最小值之间的一个随机值;
16.步骤b:根据所述至少一个数据样本中的数据与所述随机值的比较划分所述二叉树结构的左分支和右分支;
17.步骤c:在所述左分支和右分支的数据中,重复所述步骤a和步骤b直至所述至少一个数据样本切分完成。
18.进一步地,所述根据所述待检测监控数据在所述二叉树结构的位置确定所述待检测数据是否为异常值,包括:
19.将所述待检测数据从所述二叉树结构的根节点开始取值直到到达预设叶子节点,并确定所述待检测数据到达的叶子节点的路径长度;
20.根据所述待检测数据在多棵所述二叉树的所述路径长度的均值确定所述待检测数据的异常分值,并将所述异常分值与预设阈值进行比较;
21.若所述异常分值大于所述预设阈值,则确定所述待检测数据为异常值;
22.若所述异常分值不大于所述预设阈值,则确定所述待检测数据为非异常值。
23.进一步地,所述针对所述异常值生成自愈方案并自动处理,包括:
24.对所述异常值进行分析以确定所述异常值类型;
25.根据所述异常值类型生成对应的自愈方案;
26.通过所述自愈方案对所述异常值进行处理;
27.返回所述异常值的处理结果。
28.进一步地,所述返回所述异常值的处理结果之后,还包括:
29.步骤d:解析异常值自愈方案处理结果,根据所述处理结果的分类建立自愈方案与异常值之间的映射关系表;
30.步骤e:对与异常值类型具有对应关系的所述自愈方案进行封装以方便整体调用;
31.步骤f:当所述对应关系发生变化时,重复所述步骤d和步骤e以更新所述对应关系。
32.进一步地,所述解析异常值自愈方案处理结果之后,还包括:根据所述处理结果的分类发出不同类别的人工干预提醒。
33.进一步地,所述在运维管控数据中确定具有预设数量数据的至少一个数据样本之前,还包括:对所述全量数据进行清洗以进行模型训练。
34.为了解决上述技术问题,本技术实施例还提供一种基于人工智能的运维管控装置,采用了如下所述的技术方案,包括:
35.数据样本确定模块,用于在运维管控数据中确定具有预设数量数据的至少一个数据样本,所述数据样本为预设时段内的连续特征数据,所述连续特征数据包括待检测监控数据,
36.二叉树获取模块,用于从所述至少一个数据样本内选取一个预设值以切分所述至少一个数据样本,得到二叉树结构,
37.异常值确定模块,用于根据所述待检测监控数据在所述二叉树结构的位置确定所述待检测数据是否为异常值,
38.异常值处理模块,用于当出现异常值时针对所述异常值生成自愈方案并根据所述
自愈方案对所述异常值进行处理。
39.为了解决上述技术问题,本技术实施例还提供一种计算机设备,采用了如下所述的技术方案:包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如前任一项所述的方法的步骤。
40.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如前任一项所述的方法的步骤。
41.与现有技术相比,本技术实施例主要有以下有益效果:能够实现无监督随机抓取数据样本,无需大量人力去完成人工标注,相对于目前的异常值检测更加节省人力,也无需计算有关距离、密度等指标,可以大幅度的提升速度,减小了在资源上的消耗;并且通过建立至少一个数据样本,可以实现随着时间的过渡,对监控范围内的大量数据中的异常值的检测结果更加准确;由于至少一个数据样本的产生都是独立的,所以在该方案可以采用分布式系统来部署实现,可以提高计算效率,也可以提升系统的稳定性;另外,不同于目前监控是对单一属性指标数据的监控检测,该方法可以对多个系统内所有属性指标数据的整体分析,从而避免了定位异常值时查看的单一性造成定位不准确的问题。后续对异常值进行自动化处理,例如定位、查找、诊断、处理等一系列操作。
附图说明
42.为了更清楚地说明本技术中的方案,下面将对本技术实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本技术可以应用于其中的示例性系统架构图;
44.图2根据本技术的方法的一个实施例的流程图;
45.图3是本技术的二叉树的一种具体实施方式的示意图;
46.图4是根据本技术的装置的一个实施例的结构示意图;
47.图5是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
48.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
49.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
50.为了使本技术领域的人员更好地理解本技术方案,下面将结合附图,对本技术实
施例中的技术方案进行清楚、完整地描述。
51.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
52.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
53.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(moving picture expertsgroup audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving pictureexperts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
54.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
55.需要说明的是,本技术实施例所提供的基于人工智能的运维管控方法一般由服务器执行,相应地,基于人工智能的运维管控装置一般设置于服务器中。
56.本技术实施例基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
57.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
58.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
59.继续参考图2,示出了根据本技术方法的一个实施例的流程图。所述基于人工智能的运维管控方法,包括以下步骤:
60.步骤s201,在运维管控数据中确定具有预设数量数据的至少一个数据样本,其中,所述数据样本为预设时段内的连续特征数据,所述连续特征数据包括待检测监控数据。
61.在本实施例中,基于人工智能的运维管控方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收运维管控请求。需要指出的是,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
62.具体地,读取数据库中已有的运维管控全量数据,并从中抽取至少一个数据样本,每个数据样本例如可以是一个属性、或者一个文件、或者一个数据库等等,因此,不同于目前现有技术中监控检测仅是对单一属性的检测,本技术的方法可以同时对多个属性的指标数据进行整体分析,从而避免定位的指标查看的单一性造成的不准确问题。然后随机选择该数据样本的一个指标数据作为根节点,以进行后续的建立模型训练即形成独立森林的过
程。决定结果准确与否的一个因素就是独立森林中独立树的数量,独立树更多,探测结果更加准确。例如某个属性中含有a/b/c/d/e五个指标,当随机抽取的一个数据样本包括a/b/c/d以及b/c/d/e两个时,如图3所示,如果两个数据样本的d的高度均为1,d就有非常可能是异常值,因为其在两个数据样本中均为最早就被孤立的。
63.在一个或多个实施例中,步骤s201还包括从所述运维管控数据中提取预设采样周期的各指标数据;
64.识别各指标数据的属性,根据不同属性将将所述运维管控数据分解为至少一个数据样本;将所述至少一个数据样本分配给至少一个处理器进行计算处理。
65.由于每一个数据样本的产生都是独立的,所以在本技术可以采用分布式系统来部署实现,将对多个属性的指标数据进行整体分析,分解为单个或多个数据样本,并分配给不同的处理器进行计算处理,例如由不同的处理器进行数据分析计算、数据检索计算、数据处理计算、结果合并计算等,可以提高计算效率,也可以提升系统的稳定性。
66.除了独立树的数量可以影响结果的准确程度,数据样本的采集周期也会对结果的准确程度产生影响,例如一个30天的数据样本中的指标数量比一个3天的数据样本的指标数量要丰富很多,探测结果也就会更加准确。当然,一个数据样本需要为一个预设时段内的连续特征数据。
67.步骤s202,从所述至少一个数据样本内选取一个预设值以切分所述至少一个数据样本,得到二叉树结构。
68.在本实施例中,在选取的数据样本中随机确定一个值来进行切分整体数据样本,也就是开始建立二叉树进而开始构建独立森林。独立森林是一个基于ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,是符合大数据处理要求的state

of

the

art算法,其不需要先验的类标签,在处理高纬度数据的时候不是把所有的属性都用上,而是通过峰度系数挑选出一些有价值的属性。
69.在一个或多个实施例中,步骤s202包括:
70.s2021(步骤a),选取至少一个数据样本内最大值和最小值之间的一个随机值。
71.随机选择所述数据样本内的一个数据指标作为根节点,在一个属性维度下数据样本中的特征数据即有最大值和最小值,然后选取数据样本内最大值和最小值之间的一个随机值来切分构建二叉树结构。即将随机值作为预设值以切分所述至少一个数据样本。由于切分是随机的,所以需要用ensemble的方法来得到一个收敛值(蒙特卡洛方法),即反复从头开始切,然后平均每次切的结果。
72.s2022(步骤b):根据所述至少一个数据样本中的数据与所述随机值的比较划分所述二叉树结构的左分支和右分支。
73.例如将样本中小于该随机值的数据划到左分支,大于等于该随机值的数据划到右分支,以分别形成叶子节点。
74.s2023(步骤c):在所述左分支和右分支的数据中,重复上述步骤a和步骤b直至所述至少一个数据样本切分完成。
75.分别在左分支和右分支的数据中,重复上述两步骤s2021和s2022直至至少一个数据样本切分完成,即在步骤s2021中确定好最大值和最小值之间的某一随机值后,在对左分支和右分支的切分时按照步骤s2022再次确定另一个随机值进行切分,例如在左分支数据
样本中选取的另一随机值划分当前左分支的数据样本,直到左分支的数据样本切分完成。当满足下述条件时,一个数据样本确定切分完成:二叉树结构只包含一条数据或者全部数据相同,并且二叉树结构达到限定的最大深度。切分完成后的样本数据完成了步骤s201中模型训练即形成独立森林的过程,可以用于模型预测,即对异常值进行检测。
76.步骤s203,根据待检测监控数据在所述二叉树结构的位置确定所述待检测数据是否为异常值。
77.如上所述,需要对数据库中已有的运维管控全量数据中多个属性的指标数据进行整体分析,多个属性的指标数据即待检测监控数据。在本实施例中,根据上述对一个数据样本的切分实现模型训练即形成独立森林后开始对待检测数据运维管控方法进行检测。当计算待测数据x是否为异常值时,先要估算它在每棵二叉树中的路径长度(也可以叫深度)。
78.在一个或多个实施例中,步骤203包括:
79.s2031:将所述待检测数据从所述二叉树结构的根节点开始取值直到到达预设叶子节点,并确定所述待检测数据到达的叶子节点的路径长度。
80.具体的,先沿着一棵二叉树,从根节点开始按不同指标的取值从上往下,直到到达某叶子节点。
81.假设二叉树的训练样本中同样落在x所在叶子节点的样本数为n,则数据x在这棵二叉树上的路径长度h(x),可以用下面这个公式计算:
82.h(x)=e c(n)
83.公式中,e表示数据x从二叉树的根节点到叶节点过程中经过的边的数目,c(n)可以认为是一个修正值,它表示在一棵用n条样本数据构建的二叉树的平均路径长度。一般的,c(n)的计算公式如下:
[0084][0085]
其中,h(n

1)可用ln(n

1) 0.5772156649估算,这里的常数是欧拉常数。
[0086]
s2032:根据所述待检测数据在多棵所述二叉树的所述路径长度的均值确定所述待检测数据的异常分值,并将所述异常分值与预设阈值进行比较确定是否为异常值,若所述异常分值大于所述预设阈值,则确定所述待检测数据为异常值;若所述异常分值不大于所述预设阈值,则确定所述待检测数据为非异常值。
[0087]
由于独立森林形成了很多二叉树,让每个待测数据x分别在每个二叉树中进行检测,因此需要综合多个二叉树中的深度数据判断待测数据x是否均为最先被切分出去的,待测数据x最终的异常分值score(x)综合了多棵二叉树的结果:
[0088][0089]
公式中,e(h(x))表示数据x在多棵二叉树的路径长度的均值,ψ表示单棵二叉树的训练样本的样本数,c(ψ)表示用ψ条数据构建的二叉树的平均路径长度。
[0090]
在一个或多个实施例中,如果数据x在多棵二叉树中的平均路径长度接近整体均值,则异常分值得分会在预设阈值0.5附近,如果数据x在多棵二叉树中的平均路径长度越短,则异常分值得分比预设阈值0.5越大,越接近1,表明数据x越异常;如果数据x在多棵二叉树中的平均路径长度越长,则异常分值得分比预设阈值0.5越小,越接近0,表示数据x越
正常。
[0091]
步骤s204,若为异常值,则针对所述异常值生成自愈方案并根据所述自愈方案对所述异常值进行处理。
[0092]
故障自愈方案是行业领先的"故障自动化处理"解决方案,提升企业的服务可用性和降低故障处理的人力投入,实现故障自愈从"人工处理"到"无人值守"的变革。
[0093]
通过自动化处理节省人力投入,通过预定的恢复流程让恢复过程更可靠,通过并行分析达到更快的故障定位和恢复。
[0094]
在一个或多个实施例中,步骤s204包括:
[0095]
s2041:对所述异常值进行分析以确定所述异常值类型。
[0096]
分析异常值的类型并定位问题所在,包括但不限于基础设施故障:主机硬件故障、物理机房故障、网络链路拥塞、流量转发基础设施故障、网络或进程、端口等异常、关键模块性能问题、磁盘故障、磁盘使用率过高等等;程序缺陷问题:程序隐藏bug、程序性能严重退化、系统异常等;变更故障:测试不充分的程序、配置、数据变更,人工临时介入的误操作等;依赖服务故障:第三方服务故障例如通用的认证服务、支付服务、存储服务、计算服务故障等。
[0097]
s2042:根据所述异常值类型生成对应的自愈方案。
[0098]
根据不同的异常值类型,自动生成对应的自愈方案,例如针对基础设置故障,对故障主机硬件替换连接、进行设备重启、换接备用链路等。针对程序缺陷问题,自动更新相关版本软件或系统等;对于变更故障,自动回退操作动作等。
[0099]
s2043:通过所述自愈方案对所述异常值进行处理。
[0100]
自动调用相关自愈方案的预定义作业接口,通过生成的自愈方案对异常值所带来的故障进行处理。
[0101]
s2044:返回所述异常值的处理结果。
[0102]
对相关自愈方案的处理结果进行返回,以确定前述分析的异常值类型及生成的对应自愈方案是否准确,对不准确或未解决相关故障的情况重新进行前述步骤进行异常值类型分析和自愈方案生成。
[0103]
在一个或多个实施例中,步骤s2044返回所述异常值的处理结果之后,还包括:
[0104]
s20441(步骤d):解析异常值自愈方案处理结果,对处理结果的分类建立自愈方案与异常值之间的映射关系表;
[0105]
对自动化调用处理结果进行分类,例如分类为处理准确、处理不准确、无法自动处理等类别的结果,例如对处理结果为处理准确的分类确定自愈方案与异常值之间的对应关系,并建立映射关系表,方便在后续再次出现相同的异常值时自动化调用对应自愈方案进行处理。
[0106]
在一个或多个实施例中,步骤s20441还包括:
[0107]
根据所述处理结果的分类发出不同类别的人工干预提醒。
[0108]
对于分类为处理准确的情况反馈处理结果并发出无需人工干预的提醒;对于分类为处理不准确的情况重复上述处理步骤s2041

s2044,若经过预设次数实现分类为处理准确的情况则按该处理准确的情况发出无需人工干预的提醒,若依然无法分类为处理准确则反馈处理结果并发出需要轻度人工干预的提醒;对于分类为无法自动处理的情况重复上述
处理步骤s2041

s2044,若经过预设次数实现分类为处理准确的情况则按该处理准确的情况发出无需人工干预的提醒,若分类为处理不准确的情况则发出中度人工干预的提醒,若依然为无法自动处理则反馈处理结果并发出需要重度人工干预的提醒。
[0109]
s20442(步骤e):对与异常值类型具有对应关系的所述自愈方案进行封装以方便整体调用;
[0110]
对具有对应关系的自愈方案进行封装并定义相关的接口信息,实现自愈过程的模块化,方便后续其他相关项目或数据库或软件等运维过程中的兼容使用,大大提高运维过程的价值和可开发性。
[0111]
s20443(步骤f):当所述对应关系发生变化时,重复上述步骤d和步骤e以更新所述对应关系。
[0112]
在所述样本数据更新时,例如数据样本的采样周期发生变化,可能导致数据样本中有更多或更少的异常值,也因此可能导致模型训练即已建立的独立森林模型和模型预测的结果发生变化,从而导致新的异常值或异常值与自愈方案之间的对应关系发生变化,例如自动化调用处理对新的异常值的处理结果为无法自动处理,或者调用封装的模块后原有异常值类型与自愈方案之间的处理结果也发生变化,因此需要重复上述步骤s20441

s20442以更新所述对应关系并再次封装。
[0113]
本技术通过在前期模型建立过程中,能够实现无监督随机抓取数据样本,无需大量人力去完成人工标注,相对于目前的异常值检测更加节省人力,也无需计算有关距离、密度等指标,可以大幅度的提升速度,减小了在资源上的消耗;并且通过建立至少一个数据样本,可以实现随着时间的过渡,对监控范围内的大量数据中的异常值的检测结果更加准确;由于至少一个数据样本的产生都是独立的,所以在该方案可以采用分布式系统来部署实现,可以提高计算效率,也可以提升系统的稳定性;另外,不同于目前监控是对单一属性指标数据的监控检测,该方法可以对多个系统内所有属性指标数据的整体分析,从而避免了定位异常值时查看的单一性造成定位不准确的问题。后续对异常值进行自动化处理,例如定位、查找、诊断、处理等一系列操作。
[0114]
在本实施例的一些可选的实现方式中,在步骤201之前,上述电子设备还可以执行以下步骤:对所述全量数据进行清洗以进行模型训练。
[0115]
具体地,由于现有的全量数据可能通过其他检测方法进行过标注,各种数据上存在例如使用过dbscan、lstm等方法关于距离、密度等的指标数据,因此需要在异常值检测之前结合需要坚持的对象类型进行数据的过滤或者清洗。清洗特征数据的方法可以分为离线清洗和在线清洗两种方法。离线清洗优点是方便评估新特征效果,缺点是实时性差,与线上实时环境有一定误差。对于实时特征难以训练得到恰当的权重。在线清洗优点是实时性强,完全记录的线上实际数据,缺点是新特征加入需要一段时间做数据积累。当模型不能使用全部的数据来训练时,需要对数据进行采样,设定一定的采样率。采样的方法包括随机采样,固定比例采样等方法。本技术通过对全量数据进行清洗,提高了模型训练的准确程度和效率。
[0116]
需要强调的是,为进一步保证上述待检测监控数据、计算数据、样本数据、运维管控过程、处理结果的私密和安全性,上述信息还可以存储于一区块链的节点中。
[0117]
本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机
技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0118]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0119]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)等非易失性存储介质,或随机存储记忆体(random access memory,ram)等。
[0120]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0121]
进一步参考图4,作为对上述图2所示方法的实现,本技术提供了一种基于人工智能的运维管控装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
[0122]
如图4所示,本实施例所述的运维管控装置包括:数据样本确定模块401、二叉树获取模块402、异常值确定模块403以及异常值处理模块404。其中:
[0123]
数据样本确定模块401,用于在运维管控数据中确定具有预设数量数据的至少一个数据样本,其中,所述数据样本为预设时段内的连续特征数据,所述连续特征数据包括待检测监控数据。
[0124]
在本实施例中,基于人工智能的运维管控方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收运维管控请求。需要指出的是,上述无线连接方式可以包括但不限于3g/4g连接、wifi连接、蓝牙连接、wimax连接、zigbee连接、uwb(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
[0125]
具体地,数据样本确定模块401读取数据库中已有的运维管控全量数据,并从中抽取至少一个数据样本,每个数据样本例如可以是一个属性、或者一个文件、或者一个数据库等等,因此,不同于目前现有技术中监控检测仅是对单一属性的检测,本技术的方法可以同时对多个属性的指标数据进行整体分析,从而避免定位的指标查看的单一性造成的不准确
问题。然后随机选择该数据样本的一个指标数据作为根节点,以进行后续的建立模型训练即形成独立森林的过程。决定结果准确与否的一个因素就是独立森林中独立树的数量,独立树更多,探测结果更加准确。例如某个属性中含有a/b/c/d/e五个指标,当随机抽取的一个数据样本包括a/b/c/d以及b/c/d/e两个时,如图3所示,如果两个数据样本的d的高度均为1,d就有非常可能是异常值,因为其在两个数据样本中均为最早就被孤立的。
[0126]
在一个或多个实施例中,数据样本确定模块401还用于从所述运维管控数据中提取预设采样周期的各指标数据,并且用于识别各指标数据的属性,根据不同属性将将所述运维管控数据分解为至少一个数据样本;将所述至少一个数据样本分配给至少一个处理器进行计算处理。
[0127]
在一个或多个实施例中,由于每一个数据样本的产生都是独立的,所以在本技术可以采用分布式系统来部署实现,将对多个属性的指标数据进行整体分析,分解为单个或多个数据样本,并分配给不同的处理器进行计算处理,例如由不同的处理器进行数据分析计算、数据检索计算、数据处理计算、结果合并计算等,可以提高计算效率,也可以提升系统的稳定性。
[0128]
除了独立树的数量可以影响结果的准确程度,数据样本的采集周期也会对结果的准确程度产生影响,例如一个30天的数据样本中的指标数量比一个3天的数据样本的指标数量要丰富很多,探测结果也就会更加准确。当然,一个数据样本需要为一个预设时段内的连续特征数据。
[0129]
二叉树获取模块402,用于从所述至少一个数据样本内选取一个预设值以切分所述至少一个数据样本,得到二叉树结构。
[0130]
在本实施例中,在选取的数据样本中随机确定一个值来进行切分整体数据样本,也就是开始建立二叉树进而开始构建独立森林。独立森林是一个基于ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,是符合大数据处理要求的state

of

the

art算法,其不需要先验的类标签,在处理高纬度数据的时候不是把所有的属性都用上,而是通过峰度系数挑选出一些有价值的属性。
[0131]
在一个或多个实施例中,二叉树获取模块402包括:
[0132]
随机值选取模块4021,用于选取至少一个数据样本内最大值和最小值之间的一个随机值。
[0133]
随机值选取模块4021随机选择所述数据样本内的一个数据指标作为根节点,然后选取数据样本内最大值和最小值之间的一个随机值来切分构建二叉树结构。即将随机值作为预设值以切分所述至少一个数据样本。由于切分是随机的,所以需要用ensemble的方法来得到一个收敛值(蒙特卡洛方法),即反复从头开始切,然后平均每次切的结果。
[0134]
比较划分模块4022:用于根据所述至少一个数据样本中的数据与所述随机值的比较划分所述二叉树结构的左分支和右分支。例如将样本中小于该随机值的数据划到左分支,大于等于该随机值的数据划到右分支,以分别形成叶子节点。
[0135]
样本切分模块4023:用于在所述左分支和右分支的数据中,重复上述模块的工作直至所述至少一个数据样本切分完成。分别在左分支和右分支的数据中,重复上述随机值选取模块4021和比较划分模块4022的工作,直至至少一个数据样本切分完成,即在随机值选取模块4021中确定好最大值和最小值之间的某一随机值后,在对左分支和右分支的切分
时按照比较划分模块4022再次确定另一个随机值进行切分,例如在左分支数据样本中选取的另一随机值划分当前左分支的数据样本,直到左分支的数据样本切分完成。当满足下述条件时,一个数据样本确定切分完成:二叉树结构只包含一条数据或者全部数据相同,并且二叉树结构达到限定的最大深度。切分完成后的样本数据完成了数据样本确定模块401中模型训练即形成独立森林的过程,可以用于模型预测,即对异常值进行检测。
[0136]
异常值确定模块403,用于根据待检测监控数据在所述二叉树结构的位置确定所述待检测数据是否为异常值。
[0137]
如上所述,需要对数据库中已有的运维管控全量数据中多个属性的指标数据进行整体分析,多个属性的指标数据即待检测监控数据。在本实施例中,根据上述对一个数据样本的切分实现模型训练即形成独立森林后开始对待检测数据运维管控方法进行检测。当计算待测数据x是否为异常值时,先要估算它在每棵二叉树中的路径长度(也可以叫深度)。
[0138]
在一个或多个实施例中,异常值确定模块403包括:
[0139]
路径长度确定模块4031:用于将所述待检测数据从所述二叉树结构的根节点开始取值直到到达预设叶子节点,并确定所述待检测数据到达的叶子节点的路径长度。
[0140]
具体的,先沿着一棵二叉树,从根节点开始按不同指标的取值从上往下,直到到达某叶子节点。
[0141]
假设二叉树的训练样本中同样落在x所在叶子节点的样本数为n,则数据x在这棵二叉树上的路径长度h(x),可以用下面这个公式计算:
[0142]
h(x)=e c(n)
[0143]
公式中,e表示数据x从二叉树的根节点到叶节点过程中经过的边的数目,c(n)可以认为是一个修正值,它表示在一棵用n条样本数据构建的二叉树的平均路径长度。一般的,c(n)的计算公式如下:
[0144][0145]
其中,h(n

1)可用ln(n

1) 0.5772156649估算,这里的常数是欧拉常数。
[0146]
异常值比较模块4032:用于根据所述待检测数据在多棵所述二叉树的所述路径长度的均值确定所述待检测数据的异常分值,并将所述异常分值与预设阈值进行比较确定是否为异常值,若所述异常分值大于所述预设阈值,则确定所述待检测数据为异常值;若所述异常分值不大于所述预设阈值,则确定所述待检测数据为非异常值。
[0147]
由于独立森林形成了很多二叉树,让每个待测数据x分别在每个二叉树中进行检测,因此需要综合多个二叉树中的深度数据判断待测数据x是否均为最先被切分出去的,待测数据x最终的异常分值score(x)综合了多棵二叉树的结果:
[0148][0149]
公式中,e(h(x))表示数据x在多棵二叉树的路径长度的均值,ψ表示单棵二叉树的训练样本的样本数,c(ψ)表示用ψ条数据构建的二叉树的平均路径长度。
[0150]
在一个或多个实施例中,如果数据x在多棵二叉树中的平均路径长度接近整体均值,则异常分值得分会在预设阈值0.5附近,如果数据x在多棵二叉树中的平均路径长度越短,则异常分值得分比预设阈值0.5越大越接近1,表明数据x越异常;如果数据x在多棵二叉
树中的平均路径长度越长,则异常分值得分比预设阈值0.5越小,越接近0,表示数据x越正常。
[0151]
异常值处理模块404,用于当出现异常值时,针对所述异常值生成自愈方案并根据所述自愈方案对所述异常值进行处理。故障自愈是行业领先的"故障自动化处理"解决方案,提升企业的服务可用性和降低故障处理的人力投入,实现故障自愈从"人工处理"到"无人值守"的变革。通过自动化处理节省人力投入,通过预定的恢复流程让恢复过程更可靠,通过并行分析达到更快的故障定位和恢复。
[0152]
在一个或多个实施例中,异常值处理模块404包括:
[0153]
异常值类型确定模块4041:用于对所述异常值进行分析以确定所述异常值类型。
[0154]
异常值类型确定模块4041用于分析异常值的类型并定位问题所在,包括但不限于基础设施故障:主机硬件故障、物理机房故障、网络链路拥塞、流量转发基础设施故障、网络或进程、端口等异常、关键模块性能问题、磁盘故障、磁盘使用率过高等等;程序缺陷问题:程序隐藏bug、程序性能严重退化、系统异常等;变更故障:测试不充分的程序、配置、数据变更,人工临时介入的误操作等;依赖服务故障:第三方服务故障例如通用的认证服务、支付服务、存储服务、计算服务故障等。
[0155]
自愈方案生成模块4042:用于根据所述异常值类型生成对应的自愈方案。
[0156]
自愈方案生成模块4042用于根据不同的异常值类型,自动生成对应的自愈方案,例如针对基础设置故障,对故障主机硬件替换连接、进行设备重启、换接备用链路等。针对程序缺陷问题,自动更新相关版本软件或系统等;对于变更故障,自动回退操作动作等。
[0157]
自愈方案实施模块4043:用于通过所述自愈方案对所述异常值进行处理。
[0158]
自愈方案实施模块4043用于自动调用相关自愈方案的预定义作业接口,通过生成的自愈方案对异常值所带来的故障进行处理。
[0159]
处理结果返回模块4044:用于返回所述异常值的处理结果。
[0160]
处理结果返回模块4044用于对相关自愈方案的处理结果进行返回,以确定前述分析的异常值类型及生成的对应自愈方案是否准确,对不准确或未解决相关故障的情况重新进行前述步骤进行异常值类型分析和自愈方案生成。
[0161]
在一个或多个实施例中,处理结果返回模块4044包括:
[0162]
处理结果解析模块40441:用于解析异常值自愈方案处理结果,根据处理结果的分类建立自愈方案与异常值之间的映射关系表;
[0163]
处理结果解析模块40441用于对自动化调用处理结果进行分类,例如分类为处理准确、处理不准确、无法自动处理等类别的结果,对处理结果为处理准确的分类确定自愈方案与异常值之间的对应关系,并建立映射关系表,方便在后续再次出现相同的异常值时自动化调用对应自愈方案进行处理。
[0164]
在一个或多个实施例中,处理结果解析模块40441还用于根据例如自动化调用处理结果的分类发出不同类别的人工干预提醒。
[0165]
处理结果解析模块40441还用于对于分类为处理准确的情况反馈处理结果并发出无需人工干预的提醒;对于分类为处理不准确的情况重复运行上述处理模块4041

4044,若经过预设次数实现分类为处理准确的情况则按该处理准确情况发出无需人工干预的提醒,若依然无法分类为处理准确则反馈处理结果并发出需要轻度人工干预的提醒;对于分类为
无法自动处理的情况重复运行上述处理模块4041

4044,若经过预设次数实现分类为处理准确的情况则按该处理准确的情况发出无需人工干预的提醒,若分类为处理不准确的情况则发出中度人工干预的提醒,若依然为无法自动处理则反馈处理结果并发出需要重度人工干预的提醒。
[0166]
封装模块40442:用于对与异常值类型具有对应关系的所述自愈方案进行封装以方便整体调用;
[0167]
封装模块40442用于对具有对应关系的自愈方案进行封装并定义相关的接口信息,实现自愈过程的模块化,方便后续其他相关项目或数据库或软件等运维过程中的兼容使用,大大提高运维过程的价值和可开发性。
[0168]
对应关系更新模块40443:用于当所述对应关系发生变化时,重复上述模块工作以更新所述对应关系。
[0169]
对应关系更新模块40443用于在所述样本数据更新时,例如数据样本的采样周期发生变化,可能导致数据样本中有更多或更少的异常值,也因此可能导致模型训练即已建立的独立森林模型和模型预测的结果发生变化,从而导致新的异常值或异常值与自愈方案之间的对应关系发生变化,例如自动化调用处理对新的异常值的处理结果为无法自动处理,或者调用封装的模块后原有异常值类型与自愈方案之间的处理结果也发生变化,因此需要重复上述处理结果解析模块40441和封装模块40442的工作以更新所述对应关系并再次封装。
[0170]
本技术通过在前期模型建立过程中,能够实现无监督随机抓取数据样本,无需大量人力去完成人工标注,相对于目前的异常值检测更加节省人力,也无需计算有关距离、密度等指标,可以大幅度的提升速度,减小了在资源上的消耗;并且通过建立至少一个数据样本,可以实现随着时间的过渡,对监控范围内的大量数据中的异常值的检测结果更加准确;由于至少一个数据样本的产生都是独立的,所以在该方案可以采用分布式系统来部署实现,可以提高计算效率,也可以提升系统的稳定性;另外,不同于目前监控是对单一属性指标数据的监控检测,该方法可以对多个系统内所有属性指标数据的整体分析,从而避免了定位异常值时查看的单一性造成定位不准确的问题。后续对异常值进行自动化处理,例如定位、查找、诊断、处理等一系列操作。
[0171]
在本实施例的一些可选的实现方式中,数据样本确定模块401还可以用于对所述全量数据进行清洗以进行模型训练。
[0172]
具体地,由于现有的全量数据可能通过其他检测方法进行过标注,各种数据上存在例如使用过dbscan、lstm等方法关于距离、密度等的指标数据,因此需要在异常值检测之前结合需要坚持的对象类型进行数据的过滤或者清洗。数据样本确定模块401清洗特征数据的方法可以分为离线清洗和在线清洗两种方法。离线清洗优点是方便评估新特征效果,缺点是实时性差,与线上实时环境有一定误差。对于实时特征难以训练得到恰当的权重。在线清洗优点是实时性强,完全记录的线上实际数据,缺点是新特征加入需要一段时间做数据积累。当模型不能使用全部的数据来训练时,需要对数据进行采样,设定一定的采样率。采样的方法包括随机采样,固定比例采样等方法。本技术通过对全量数据进行清洗,提高了模型训练的准确程度和效率。
[0173]
为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图5,为本实
施例计算机设备基本结构框图。
[0174]
所述计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51

53的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器(digital signal processor,dsp)、嵌入式设备等。
[0175]
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0176]
所述存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器51可以是所述计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,所述存储器51也可以是所述计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。当然,所述存储器51还可以既包括所述计算机设备的内部存储单元也包括其外部存储设备。本实施例中,所述存储器51通常用于存储安装于所述计算机设备的操作系统和各类应用软件,例如运行上述方法的计算机可读指令等。此外,所述存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0177]
所述处理器52在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制所述计算机设备的总体操作。本实施例中,所述处理器52用于运行所述存储器51中存储的计算机可读指令或者处理数据,例如运行上述方法的计算机可读指令。
[0178]
所述网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在所述计算机设备与其他电子设备之间建立通信连接。
[0179]
本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述方法的步骤。
[0180]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0181]
显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同
的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献