基于人工智能的数据波动预警方法及相关设备与流程

文档序号:31220201发布日期:2022-08-20 05:35阅读:212来源:国知局
基于人工智能的数据波动预警方法及相关设备与流程

1.本技术涉及人工智能技术领域,尤其涉及一种基于人工智能的数据波动预警方法、装置、电子设备及存储介质。


背景技术:

2.当前市场上的大部分数据应用都存在着各种类型的数据展示,例如金融产品的年化利率走势图等涉及到财务营收业务指标详情展示的功能页,然而功能页所包含的数据量通常都很大,且这些数据都随着时间推移在不断变化。
3.目前,对于数据应用的告警方法通常为依据数据应用的报错信息判断是否应该对数据应用进行告警,由于此时数据应用已经发生故障,因此现有告警方式的时效性较低,可能无法做到及时预警。


技术实现要素:

4.鉴于以上内容,有必要提出一种基于人工智能的数据波动预警方法及相关设备,以解决如何提高数据波动预警的时效性这一技术问题,其中,相关设备包括基于人工智能的数据波动预警装置、电子设备及存储介质。
5.本技术提供一种基于人工智能的数据波动预警方法,包括:
6.依据预设的数据采样时间点采集数据以作为测试数据;
7.依据自定义指标分析法划分所述测试数据以获取训练数据;
8.对所述训练数据进行插值以获取数据波动性曲线;
9.分解所述数据波动性曲线获得综合曲线集合;
10.依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离,并以其中最小距离对应的综合曲线作为预警曲线;
11.基于所述预警曲线与预设的波动阈值对数据波动进行预警。
12.上述方案在数据应用上线之前基于所述的数据采样时间点调用每个功能模块以获取测试数据集,依据预设的插值和分解方法获取了数据应用的预警曲线,并依据预设的阈值对数据应用进行预警,无需等待数据应用报错,提升了数据应用预警的时效性。
13.在一些可选的实施例中,所述依据自定义指标分析法划分所述测试数据以获取训练数据包括:
14.构建所述测试数据的协方差矩阵以获取所述测试数据的波动性指标;
15.计算所述波动性指标的权重以获取更新波动性指标;
16.依据所述更新波动性指标和预设条件划分所述测试数据以获取所述训练数据。
17.如此,在所述数据应用生命周期内依据预设的定时任务调用功能接口获得了测试数据,测试数据包含数据采集的时间点、被调用的接口名称、测试数据中的量化信息,为后续数据波动分析提供了数据支撑。
18.在一些实施例中,所述计算所述波动性指标的权重以获取更新波动性指标包括:
19.计算所述波动性指标的混乱度,所述混乱度用于表征所述波动性指标的平稳程度;
20.基于所述混乱度与自定义分段函数计算所述波动性指标的权重;
21.依据所述权重更新所述波动性指标以获取更新波动性指标。
22.如此,通过计算所述波动性指标的平稳程度获取了所述波动性指标的权重,并基于所述权重更新了所述波动性指标,考虑了所述波动性指标的平稳程度对于波动性指标的影响,能够提升所属波动性指标的置信度,从而能够提升后续数据分析结果的准确度。
23.在一些实施例中,所述对所述训练数据进行插值以获取数据波动性曲线包括:
24.拆分所述训练数据以获取训练数据区间集;
25.依据预设的插值函数拟合所述训练数据区间集内的数据以构建函数曲线集;
26.组合所述函数曲线集获得数据波动性曲线。
27.如此,通过对离散的训练数据进行拆分获得了多个区间集合,并利用三次函数拟合每个区间中的三次函数曲线,以将时序上离散的数据点转换为连续的曲线数据,能够扩充数据量,从而为后续筛查预警曲线提供数据支撑。
28.在一些实施例中,所述分解所述数据波动性曲线获得综合曲线集合包括:
29.a,标记所述数据波动性曲线中的极大值点和极小值点,利用预设的插值函数拟合所述极大值点和极小值点获得上包络线和下包络线;
30.b,计算所述上包络线和下包络线的均值以作为均值曲线;
31.c,计算所述数据波动性曲线与所述均值曲线的差值以作为更新波动性曲线;
32.d,若所述更新波动性曲线满足预设的第一判别条件则将所述更新波动性曲线作为所述数据波动曲线,并重复步骤a-c,否则将所述更新波动性曲线作为综合曲线并进行步骤e;
33.e,计算所述数据波动性曲线与所述综合曲线的差值获得数据序列;
34.f,若所述数据序列满足预设的第二判别条件,则将所述数据序列作为数据波动性曲线并重复步骤a-f,否则将所有获得的综合曲线存储为综合曲线集合。
35.如此,通过迭代算法对数据波动性曲线进行了分解并获得了综合曲线集合,其中每个综合曲线可用以表征所述数据波动性曲线的部分特征,能够为后续筛查预警曲线提供数据支持,从而提升预警的精准度。
36.在一些实施例中,所述依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离数据包括:
37.依据预设的采样频率采集所述数据波动性曲线中的第一数据点;
38.依据所述预设的采样频率采集对应的综合曲线中的第二数据点;
39.计算所述第一数据点与第二数据点之间欧式距离的均值以作为距离数据。
40.如此,通过计算所述综合曲线和所述数据波动性曲线之间的距离筛选出了所述预警曲线,由于所述预警曲线具备与所述数据波动性曲线最近的距离,即最相似的特征,因此能够更加准确的表征数据的波动性特征。
41.在一些实施例中,所述基于所述预警曲线与预设的波动阈值对数据波动进行预警包括:
42.计算实时监测的数据波动性曲线与对应的预警曲线之间的距离以获取曲线波动
距离;
43.对比所述曲线波动距离和预设的波动阈值,若所述曲线波动距离大于所述波动阈值,则发出预警信息。
44.如此,在数据应用上线之前基于所述的数据采样时间点采集了测试数据集,依据预设的插值和分解方法获取了数据应用的预警曲线,依据预设的阈值对数据应用进行预警,无需等待数据应用报错,提升了数据应用预警的时效性。
45.本技术实施例还提供一种基于人工智能的数据波动预警装置,所述装置包括:
46.获取单元,用于依据预设的数据采样时间点采集数据以作为测试数据;
47.划分单元,用于依据自定义指标分析法划分所述测试数据以获取训练数据;
48.插值单元,用于对所述训练数据进行插值以获取数据波动性曲线;
49.分解单元,用于分解所述数据波动性曲线获得综合曲线集合;
50.筛选单元,用于依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离,并以其中最小距离对应的综合曲线作为预警曲线;
51.预警单元,用于基于所述预警曲线与预设的波动阈值对数据波动进行预警。
52.本技术实施例还提供一种电子设备,所述设备包括:
53.存储器,存储至少一个指令;
54.处理器,执行所述存储器中存储的指令以实现所述的基于人工智能的数据波动预警方法。
55.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于人工智能的数据波动预警方法。
附图说明
56.图1是本技术所涉及的基于人工智能的数据波动预警方法的较佳实施例的流程图。
57.图2是本技术所涉及的基于人工智能的数据波动预警装置的较佳实施例的功能模块图。
58.图3是本技术所涉及的基于人工智能的数据波动预警方法的较佳实施例的电子设备的结构示意图。
具体实施方式
59.为了能够更清楚地理解本技术的目的、特征和优点,下面结合附图和具体实施例对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本技术,所述描述的实施例仅是本技术一部分实施例,而不是全部的实施例。
60.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
61.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
62.本技术实施例提供一种基于人工智能的数据波动预警方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。
63.电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。
64.电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。
65.电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。
66.如图1所示,是本技术基于人工智能的数据波动预警方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
67.s10,依据预设的数据采样时间点采集数据以作为测试数据。
68.该可选的实施例中,开发人员可依据预设的部署文档构建数据应用,并遵循部署文档中的提示以制定数据应用的生命周期与数据更新时间点,所述部署文档的格式为文本文档,其内容包括对数据应用结构的描述与构建数据应用结构中每个模块所需的代码,其功能为指引开发人员按照要求部署数据应用。
69.该可选的实施例中,所述生命周期为所述数据应用从上线时刻到下线时刻的时间跨度,其单位可以是自然日,所述数据更新时间点包括离线数据更新时间点与实时数据更新时间点,所述离线数据更新时间点的变更频率通常为每日一次,所述实时数据更新时间点的变更频率通常为每秒一次。
70.该可选的实施例中,可依据预设的程序从所述部署文档中获取所述数据应用的生命周期t、离线数据更新时间点集合t1、实时数据更新时间点集合t2,所述预设的程序可以是python脚本,其功能为提取所述部署文档中的数据。
71.该可选的实施例中,可将所述t1和t2作为数据采样时间点。
72.该可选的实施例中,可在所述生命周期t之内基于所述数据采样时间点t1和t2运行定时任务,所述定时任务为调用预设的接口以获得测试数据,所述接口又被称为api,其全称为applicationprogramminginterface,意为应用程序接口,是一些预先定义的软件系统的不同组成部分,其功能是向开发人员提供基于某软件或硬件得以访问的一组例程。
73.该可选的实施例中,所述预设的接口包括所述数据应用的增、删、改、查功能接口,所述预设的接口的形式可以是sql语言编写的程序,所述接口的功能为运行所述sql语言编写的程序以获取测试数据。
74.该可选的实施例中,所述测试数据可被存储为csv格式,其内容包括测试数据的名称、状态、格式、大小和所述功能接口运行时间,基于所述测试数据大小、功能接口运行时间与所述功能接口的名称构建测试数据并以csv格式存储,所述测试数据可被命名为log,所述测试数据的第一列可以是变量t1,用以表征数据采集的时间点;第二列可以是变量c,用以表征数据采样时间点的类别;第三列可以是变量n,用以表征所述每个数据采样时间点调用的功能接口的类别;第四列可以是变量s,用以表征所述测试数据的大小;第五列可以是变量t2,用以表征所述功能接口的运行时间。所述变量c包含“实时”与“离线”两个类别,所述变量n包含“增”、“删”、“改”、“查”四个类别。
75.该可选的实施例中,可将所述以log命名的文件作为所述测试数据。
76.如此,在所述数据应用生命周期内依据预设的定时任务调用功能接口获得了测试数据,测试数据包含数据采集的时间点、被调用的接口名称、测试数据中的量化信息,为后续数据波动分析提供了数据支撑。
77.s11,依据自定义指标分析法划分所述测试数据以获取训练数据。
78.在一个可选的实施例中,所述依据自定义指标分析法划分所述测试数据以获取训练数据包括:
79.s111,构建所述测试数据的协方差矩阵以获取所述测试数据的波动性指标。
80.该可选实施例中,可基于所述变量s和t2构建协方差矩阵m,并计算所述协方差矩阵m的特征值w1、w2,示例性的,若所述特征值w1与所述协方差矩阵中变量s的方差所在的行相同,则所述特征值w1与所述变量s对应;若所述特征值w2与所述协方差矩阵中变量t2的方差所在的行相同,则所述特征值w2与所述变量t2对应。进一步可基于所述特征值与所述变量s和t2计算所述测试数据的波动性指标c,所述测试数据的波动性指标c的计算方式为:
81.c=w1·
s+w2·
t282.其中,w1、s、w2、t2的取值范围都为(0,+∞),所述波动性指标c用以表征所述测试数据大小波动性和其对应接口的运行时间的波动性。
83.示例性的,当所述特征值w1=0.5、w2=0.6、s=10、t2=20时,所述测试数据的波动性指标c的计算方式为:
84.c=0.5
×
10+0.6
×
20=17
85.则所述测试数据的波动性指标取值为17。
86.该可选的实施例中,所述测试数据的波动性指标与所述采样时间点一一对应。
87.该可选的实施例中,可基于所述变量t1、c、n和指标c重新构建第二测试数据集log1。
88.s112,计算所述波动性指标的权重以获取更新波动性指标。
89.该可选的实施例中,所述计算所述波动性指标的权重以获取更新波动性指标包括:
90.计算所述波动性指标的混乱度,所述混乱度用于表征所述波动性指标的平稳程度;
91.基于所述混乱度与自定义分段函数计算所述波动性指标的权重;
92.依据所述权重更新所述波动性指标以获取更新波动性指标。
93.该可选的实施例中,可依据信息熵算法计算所述波动性指标的混乱度,所述信息
熵算法的具体实施步骤为,当所述测试数据集合log1中某一条数据中的变量c的取值为“离线”时,记此条数据属于集合data1,当某一条数据的变量c的取值为“实时”时,记此条数据属于集合data2,所述data1与data2中的每一条数据都包含四个变量,即t1、c、n和指标c。计算所述data1和data2中指标c的信息熵e1和e2,以data1对应的信息熵e1为例,其计算方式为:
[0094][0095]
其中,e1代表所述data1中指标c的信息熵,代表所述data1中的第i个c指标,z代表所述data1中数据的条目数量,代表所述data1中第i个c指标出现的概率。
[0096]
示例性的,当所述z=3、时,所述data1对应的信息熵的计算方式为:
[0097]
e1=-[0.3
×
log(0.3)+0.2
×
log(0.2)+0.5
×
log(0.5)]=0.45
[0098]
则所述data1对应的信息熵的值为0.45,则所述data1中数据的混乱程度为0.45。
[0099]
该可选的实施例中,所述自定义分段函数满足以下关系式:
[0100][0101]
其中,(1-e1)和(1-e2)用以表征所述波动性指标的权重,用于依据数据采样时间点的类别更新所述波动性指标;代表第i个更新波动性指标;代表所述data1中的第i个波动性指标,代表所述data2中的第i个波动性指标,c代表数据采样时间点的类别。
[0102]
该可选的实施例中,可将所述data1和data2中的所有测试数据波动性指标c替换为对应的更新波动性指标,以更新所述data1和data2。
[0103]
s113,依据所述更新波动性指标和预设条件划分所述测试数据以获取所述训练数据。
[0104]
该可选的实施例中,可依据预设的条件解析所述更新后的data1和data2以获得所述数据应用中每个功能模块对应的测试数据波动性集合,所述每个功能模块对应的测试数据波动性集合包括data

、data

、data

、data

,所述预设的条件包括n=增、n=删、n=改和n=查,所述解析的具体步骤为:
[0105]
a1:若n=增则该条数据属于data


[0106]
a2:若n=删则该条数据属于data


[0107]
a3:若n=改则该条数据属于data


[0108]
a4:若n=查则该条数据属于data


[0109]
该可选的实施例中,所述数据应用中每个功能模块对应的测试数据的波动性集合中第一列变量为t1、第二列变量c
new

[0110]
本方案中将所获得的data

、data

、data

和data

作为所述训练数据。
[0111]
如此,通过计算所述波动性指标的平稳程度获取了所述波动性指标的权重,并基于所述权重更新了所述波动性指标,考虑了所述波动性指标的平稳程度对于波动性指标的影响,能够提升所属波动性指标的置信度,从而能够提升后续数据分析结果的准确度。
[0112]
s12,对所述训练数据进行插值以获取数据波动性曲线。
[0113]
在一个可选的实施例中,所述对所述训练数据进行插值以获取数据波动性曲线包括:
[0114]
s121,拆分所述训练数据以获取训练数据区间集。
[0115]
该可选的实施例中,以所述data

为例,可将所述data

中的数据点拆分为n个区间,其中每两个数据点之间为一个区间,每个区间首尾相连。
[0116]
s122,依据预设的插值函数拟合所述训练数据区间集内的数据以构建函数曲线集。
[0117]
该可选的实施例中,所述预设的插值函数可以是三次函数,所述拟合所述训练数据区间集内的数据的实施方式为,在每个区间上,区间内的数据需满足三次方程f(xi)=yi=ai+bi·
xi+ci·
x
i2
+di·
x
i3
,其中yi表征第i个更新波动性指标c
new
的值,xi表征第i个变量t1的值。所述三次样条函数应满足以下三个条件:所有点需满足插值条件;n-1个内部点的一阶导数与二阶导数应为连续的;指定两个端点的二阶导数为0。
[0118]
该可选的实施例中,依据所述三个条件,可求解所述三次函数,获得三次方程的系数ai、bi、ci、di,则所述三次函数对应的曲线即为所述data

中每个区间的函数曲线。
[0119]
该可选的实施例中,可分别将所述data

、data

、data

、data

中每个区间的函数曲线作为每个数据集对应的函数曲线集。
[0120]
s123,组合所述函数曲线集获得数据波动性曲线。
[0121]
该可选的实施例中,可依据所述数据采样时间点将所述data

对应的函数曲线集中每个区间的函数曲线首尾相接,以组合为所述指标c
new
的数据波动性曲线。
[0122]
该实施例中,可记所述data

中的指标c
new
的数据波动性曲线为curve

,记data

中c
new
的数据波动性曲线为curve

,data

中c
new
的数据波动性曲线为curve

,data

中c
new
的数据波动性曲线为curve


[0123]
如此,通过对离散的训练数据进行拆分获得了多个区间集合,并利用三次函数拟合每个区间中的三次函数曲线,以将时序上离散的数据点转换为连续的曲线数据,能够扩充数据量,从而为后续筛查预警曲线提供数据支撑。
[0124]
s13,分解所述数据波动性曲线获得综合曲线集合。
[0125]
该可选的实施例中,所述分解所述数据波动性曲线获得综合曲线集合包括:
[0126]
a,标记所述数据波动性曲线中的极大值点和极小值点,利用预设的插值函数拟合所述极大值点和极小值点获得上包络线和下包络线;
[0127]
b,计算所述上包络线和下包络线的均值以作为均值曲线;
[0128]
c,计算所述数据波动性曲线与所述均值曲线的差值以作为更新波动性曲线;
[0129]
d,若所述更新波动性曲线满足预设的第一判别条件,则将所述更新波动性曲线作为数据波动性曲线,并重复步骤a-c,否则将所述更新波动性曲线作为综合曲线并进行步骤e;
[0130]
e,计算所述数据波动性曲线与所述综合曲线的差值获得数据序列;
[0131]
f,若所述数据序列满足预设的第二判别条件,则将所述数据序列作为数据波动性曲线并重复步骤a-f,否则将所有获得的综合曲线存储为综合曲线集合,并将所述数据序列作为残差曲线。
[0132]
该可选的实施例中,以所述curve

为例,所述分解所述数据波动性曲线的具体实施步骤为:
[0133]
a1:以curve

作为原始数据序列并标记其中所有的极大值点,并利用所述预设的插值函数拟合所述所有的极大值点拟合形成原始序列的上包络线;
[0134]
a2:标记所述原始序列所有的极小值点,并将所有的极小值点通过所述三次样条插值法拟合形成原始序列的下包络线;
[0135]
a3:将所述上包络线和所述下包络线的均值序列记作ml,将原数据序列减去该均值序列ml得到一个新的数据序列h;
[0136]
a4:若h中还存在负的局部极大值和正的局部极小值,则以h作为原始数据序列并重复所述步骤a1、a2、a3,直到h中不存在负的局部极大值和正的局部极小值,所述h作为第一个综合曲线;
[0137]
a5:利用curve

减去所述第一综合曲线h以获得新的数据序列h1;
[0138]
a6:若h1的极值点个数多于2则以h1作为原始数据序列并重复上述步骤a1至步骤a4以获得第二个综合曲线,否则终止迭代,h1即为残差曲线。
[0139]
该可选的实施例中,设数据应用中每个功能模块都有e个综合曲线,分别构成了一个综合曲线集合,记为
[0140]
如此,通过迭代算法对数据波动性曲线进行了分解并获得了综合曲线集合,其中每个综合曲线集合可用以表征所述数据波动性曲线的部分特征,能够为后续筛查预警曲线提供数据支持,从而提升预警的精准度。
[0141]
s14,依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离,并以其中最小距离对应的综合曲线作为预警曲线。
[0142]
所述依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离数据包括:
[0143]
s141,依据预设的采样频率采集所述数据波动性曲线中的第一数据点。
[0144]
该可选的实施例中,可依据数据应用的生命周期确定预设采样频率,示例性的,本方案中预设采样频率可以是1hz,即每秒采样一次。
[0145]
该可选的实施例中,可以所述数据波动性曲线的起点为采样起点,并基于所述预设的采样频率采集所述数据波动性曲线上的值,以作为第一数据点d1。
[0146]
s142,依据所述预设的采样频率采集对应的综合曲线中的第二数据点。
[0147]
该可选的实施例中,可以每个综合曲线的起点为采样起点,并基于所述预设的采样频率采集所述综合曲线上的值,以作为第二数据点d2。
[0148]
s143,计算所述第一数据点与第二数据点之间欧式距离的均值以作为距离数据。
[0149]
该可选的实施例中,可计算所述d1与d2中相同时间点采集到的值之间的欧氏距离并记为d以构建数据集d3。
[0150]
该可选的实施例中,可计算所述d3中所有数据的均值并作为d。
[0151]
该可选的实施例中,可基于上述方法计算每个综合曲线与对应的数据波动性曲线之间的距离并记为其中i∈{增,删,改,查},j∈{1,2,

,e},其中代表索引为i的功能模块的第j个综合曲线与原始测试数据波动性曲线之间的距离。
[0152]
该可选的实施例中,可基于所述选择所述数据应用的每个功能模块中与其数据波动性曲线距离最小的综合曲线作为对应模块的预警曲线,示例性的,当i=增时,若为中的最小值,则“增”模块的预警曲线为并记为
[0153]
该可选的实施例中,可将所述和作为所述预警曲线。
[0154]
如此,通过计算所述综合曲线和对应的数据波动性曲线之间的距离筛选出了所述预警曲线,由于所述预警曲线具备与所述数据波动性曲线最近的距离,即最相似的特征,因此能够更加准确的表征数据的波动性特征。
[0155]
s15,基于所述预警曲线与预设的波动阈值对数据波动进行预警。
[0156]
在一个可选的实施例中,所述基于所述预警曲线与预设的波动阈值对数据波动进行预警包括:
[0157]
s151,计算实时监测的数据波动性曲线与对应的预警曲线之间的距离以获取曲线波动距离。
[0158]
该可选的实施例中,可依据所述自定义的距离度量方法计算所述数据应用上线后的每个功能模块的测试数据波动性曲线与所述每个模块对应的预警曲线之间的曲线波动距离,并记为d
test

[0159]
s152,对比所述曲线波动距离和预设的波动阈值,若所述曲线波动距离大于所述波动阈值,则发出预警信息。
[0160]
比较预设的阈值与所述d
test
以判断是否对每个模块进行预警,示例性的,所述预设的阈值可以是0.8,所述比较方法为:
[0161][0162]
如此,通过预设的阈值对是否进行预警做出判定,能够使预警决策更加灵活。
[0163]
上述方案在数据应用上线之前基于所述的数据采样时间点调用每个功能模块以获取测试数据集,依据预设的插值和分解方法获取了数据应用的预警曲线,并依据预设的阈值对数据应用进行预警,无需等待数据应用报错,提升了数据应用预警的时效性。
[0164]
请参见图2,图2是本技术基于人工智能的数据波动预警装置的较佳实施例的功能模块图。基于人工智能的数据波动预警装置11包括获取单元110、划分单元111、插值单元112、分解单元113、筛选单元114、预警单元115。本技术所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
[0165]
在一个可选的实施例中,获取单元110用于依据预设的数据采样时间点采集数据以作为测试数据。
[0166]
该可选的实施例中,开发人员可依据预设的部署文档构建数据应用,并遵循部署文档中的提示以制定数据应用的生命周期与数据更新时间点,所述部署文档的格式为文本文档,其内容包括对数据应用结构的描述与构建数据应用结构中每个模块所需的代码,其
功能为指引开发人员按照要求部署数据应用。
[0167]
该可选的实施例中,所述生命周期为所述数据应用从上线时刻到下线时刻的时间跨度,其单位可以是自然日,所述数据更新时间点包括离线数据更新时间点与实时数据更新时间点,所述离线数据更新时间点的变更频率通常为每日一次,所述实时数据更新时间点的变更频率通常为每秒一次。
[0168]
该可选的实施例中,可依据预设的程序从所述部署文档中获取所述数据应用的生命周期t、离线数据更新时间点集合t1、实时数据更新时间点集合t2,所述预设的程序可以是python脚本,其功能为提取所述部署文档中的数据。
[0169]
该可选的实施例中,可将所述t1和t2作为数据采样时间点。
[0170]
该可选的实施例中,可在所述生命周期t之内基于所述数据采样时间点t1和t2运行定时任务,所述定时任务为调用预设的接口以获得测试数据,所述接口又被称为api,其全称为applicationprogramminginterface,意为应用程序接口,是一些预先定义的软件系统的不同组成部分,其功能是向开发人员提供基于某软件或硬件得以访问的一组例程。
[0171]
该可选的实施例中,所述预设的接口包括所述数据应用的增、删、改、查功能接口,所述预设的接口的形式可以是sql语言编写的程序,所述接口的功能为运行所述sql语言编写的程序以获取测试数据。
[0172]
该可选的实施例中,所述测试数据可被存储为csv格式,其内容包括测试数据的名称、状态、格式、大小和所述功能接口运行时间,基于所述测试数据大小、功能接口运行时间与所述功能接口的名称构建测试数据并以csv格式存储,所述测试数据可被命名为log,所述测试数据的第一列可以是变量t1,用以表征数据采集的时间点;第二列可以是变量c,用以表征数据采样时间点的类别;第三列可以是变量n,用以表征所述每个数据采样时间点调用的功能接口的类别;第四列可以是变量s,用以表征所述测试数据的大小;第五列可以是变量t2,用以表征所述功能接口的运行时间。所述变量c包含“实时”与“离线”两个类别,所述变量n包含“增”、“删”、“改”、“查”四个类别。
[0173]
该可选的实施例中,可将所述以log命名的文件作为所述测试数据。
[0174]
在一个可选的实施例中,划分单元111用于依据自定义指标分析法划分所述测试数据以获取训练数据。
[0175]
在一个可选的实施例中,所述依据自定义指标分析法划分所述测试数据以获取训练数据包括:
[0176]
构建所述测试数据的协方差矩阵以获取所述测试数据的波动性指标;
[0177]
计算所述波动性指标的权重以获取更新波动性指标;
[0178]
依据所述更新波动性指标和预设条件划分所述测试数据以获取所述训练数据。
[0179]
该可选实施例中,可基于所述变量s和t2构建协方差矩阵m,并计算所述协方差矩阵m的特征值w1、w2,示例性的,若所述特征值w1与所述协方差矩阵中变量s的方差所在的行相同,则所述特征值w1与所述变量s对应;若所述特征值w2与所述协方差矩阵中变量t2的方差所在的行相同,则所述特征值w2与所述变量t2对应。进一步可基于所述特征值与所述变量s和t2计算所述测试数据的波动性指标c,所述测试数据的波动性指标c的计算方式为:
[0180]
c=w1·
s+w2·
t2[0181]
其中,w1、s、w2、t2的取值范围都为(0,+∞),所述波动性指标c用以表征所述测试数
据大小波动性和其对应接口的运行时间的波动性。
[0182]
示例性的,当所述特征值w1=0.5、w2=0.6、s=10、t2=20时,所述测试数据的波动性指标c的计算方式为:
[0183]
c=0.5
×
10+0.6
×
20=17
[0184]
则所述测试数据的波动性指标取值为17。
[0185]
该可选的实施例中,所述测试数据的波动性指标与所述采样时间点一一对应。
[0186]
该可选的实施例中,可基于所述变量t1、c、n和指标c重新构建第二测试数据集log1。
[0187]
该可选的实施例中,所述计算所述波动性指标的权重以获取更新波动性指标包括:
[0188]
计算所述波动性指标的混乱度,所述混乱度用于表征所述波动性指标的平稳程度;
[0189]
基于所述混乱度与自定义分段函数计算所述波动性指标的权重;
[0190]
依据所述权重更新所述波动性指标以获取更新波动性指标。
[0191]
该可选的实施例中,可依据信息熵算法计算所述波动性指标的混乱度,所述信息熵算法的具体实施步骤为,当所述测试数据集合log1中某一条数据中的变量c的取值为“离线”时,记此条数据属于集合data1,当某一条数据的变量c的取值为“实时”时,记此条数据属于集合data2,所述data1与data2中的每一条数据都包含四个变量,即t1、c、n和指标c。计算所述data1和data2中指标c的信息熵e1和e2,以data1对应的信息熵e1为例,其计算方式为:
[0192][0193]
其中,e1代表所述data1中指标c的信息熵,代表所述data1中的第i个c指标,z代表所述data1中数据的条目数量,代表所述data1中第i个c指标出现的概率。
[0194]
示例性的,当所述z=3、时,所述data1对应的信息熵的计算方式为:
[0195]
e1=-[0.3
×
log(0.3)+0.2
×
log(0.2)+0.5
×
log(0.5)]=0.45
[0196]
则所述data1对应的信息熵的值为0.45,则所述data1中数据的混乱程度为0.45。
[0197]
该可选的实施例中,所述自定义分段函数满足以下关系式:
[0198][0199]
其中,(1-e1)和(1-e2)用以表征所述波动性指标的权重,用于依据数据采样时间点的类别更新所述波动性指标;代表第i个更新波动性指标;代表所述data1中的第i个波动性指标,代表所述data2中的第i个波动性指标,c代表数据采样时间点的类别。
[0200]
该可选的实施例中,可将所述data1和data2中的所有测试数据波动性指标c替换为对应的更新波动性指标,以更新所述data1和data2。
[0201]
该可选的实施例中,可依据预设的条件解析所述更新后的data1和data2以获得所
述数据应用中每个功能模块对应的测试数据波动性集合,所述每个功能模块对应的测试数据波动性集合包括data

、data

、data

、data

,所述预设的条件包括n=增、n=删、n=改和n=查,所述解析的具体步骤为:
[0202]
a1:若n=增则该条数据属于data


[0203]
a2:若n=删则该条数据属于data


[0204]
a3:若n=改则该条数据属于data


[0205]
a4:若n=查则该条数据属于data


[0206]
该可选的实施例中,所述数据应用中每个功能模块对应的测试数据的波动性集合中第一列变量为t1、第二列变量c
new

[0207]
本方案中将所获得的data

、data

、data

和data

作为所述训练数据。
[0208]
在一个可选的实施例中,插值单元112用于对所述训练数据进行插值以获取数据波动性曲线。
[0209]
在一个可选的实施例中,所述对所述训练数据进行插值以获取数据波动性曲线包括:
[0210]
拆分所述训练数据以获取训练数据区间集;
[0211]
依据预设的插值函数拟合所述训练数据区间集内的数据以构建函数曲线集;
[0212]
组合所述函数曲线集获得数据波动性曲线。
[0213]
该可选的实施例中,以所述data

为例,可将所述data

中的数据点拆分为n个区间,其中每两个数据点之间为一个区间,每个区间首尾相连。
[0214]
该可选的实施例中,所述预设的插值函数可以是三次函数,所述拟合拟合所述训练数据区间集内的数据的实施方式为,在每个区间上,区间内的数据需满足三次方程f(xi)=yi=ai+bi·
xi+ci·
x
i2
+di·
x
i3
,其中yi表征第i个更新波动性指标c
new
的值,xi表征第i个变量t1的值。所述三次样条函数应满足以下三个条件:所有点需满足插值条件;n-1个内部点的一阶导数与二阶导数应为连续的;指定两个端点的二阶导数为0。
[0215]
该可选的实施例中,依据所述三个条件,可求解所述三次函数,获得三次方程的系数ai、bi、ci、di,则所述三次函数对应的曲线即为所述data

中每个区间的函数曲线。
[0216]
该可选的实施例中,可分别将所述data

、data

、data

、data

中每个区间的函数曲线作为每个数据集对应的函数曲线集。
[0217]
该可选的实施例中,可依据所述数据采样时间点将所述data

对应的函数曲线集中每个区间的函数曲线首尾相接,以组合为所述指标c
new
的数据波动性曲线。
[0218]
该实施例中,可记所述data

中的指标c
new
的数据波动性曲线为curve

,记data

中c
new
的数据波动性曲线为curve

,data

中c
new
的数据波动性曲线为curve

,data

中c
new
的数据波动性曲线为curve


[0219]
在一个可选的实施例中,分解单元113用于分解所述数据波动性曲线获得综合曲线集合。
[0220]
该可选的实施例中,所述分解所述数据波动性曲线获得综合曲线集合包括:
[0221]
a,标记所述数据波动性曲线中的极大值点和极小值点,利用预设的插值函数拟合所述极大值点和极小值点获得上包络线和下包络线;
[0222]
b,计算所述上包络线和下包络线的均值以作为均值曲线;
[0223]
c,计算所述数据波动性曲线与所述均值曲线的差值以作为更新波动性曲线;
[0224]
d,若所述更新波动性曲线满足预设的第一判别条件则将所述更新波动性曲线作为所述数据波动曲线,并重复步骤a-c,否则将所述更新波动性曲线作为综合曲线并进行步骤e;
[0225]
e,计算所述数据波动性曲线与所述综合曲线的差值获得数据序列;
[0226]
f,若所述数据序列满足预设的第二判别条件,则将所述数据序列作为数据波动性曲线并重复步骤a-f,否则将所有获得的综合曲线存储为综合曲线集合。
[0227]
该可选的实施例中,以所述curve

为例,所述分解所述数据波动性曲线的具体实施步骤为:
[0228]
a1:以curve

作为原始数据序列并标记其中所有的极大值点,并利用所述预设的插值函数拟合所述所有的极大值点拟合形成原始序列的上包络线;
[0229]
a2:标记所述原始序列所有的极小值点,并将所有的极小值点通过所述三次样条插值法拟合形成原始序列的下包络线;
[0230]
a3:将所述上包络线和所述下包络线的均值序列记作ml,将原数据序列减去该均值序列ml得到一个新的数据序列h;
[0231]
a4:若h中还存在负的局部极大值和正的局部极小值,则以h作为原始数据序列并重复所述步骤a1、a2、a3,直到h中不存在负的局部极大值和正的局部极小值,所述h作为第一个综合曲线;
[0232]
a5:利用curve

减去所述第一综合曲线h以获得新的数据序列h1;
[0233]
a6:若h1的极值点个数多于2则以h1作为原始数据序列并重复上述步骤a1至步骤a4以获得第二个综合曲线,否则终止迭代,h1即为残差曲线。
[0234]
该可选的实施例中,设数据应用中每个功能模块都有e个综合曲线,分别构成了一个综合曲线集合,记为
[0235]
在一个可选的实施例中,筛选单元114用来依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离,并以其中最小距离对应的综合曲线作为预警曲线。
[0236]
该可选的实施例中,所述依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离数据包括:
[0237]
依据预设的采样频率采集所述数据波动性曲线中的第一数据点;
[0238]
依据所述预设的采样频率采集对应的综合曲线中的第二数据点;
[0239]
计算所述第一数据点与第二数据点之间欧式距离的均值以作为距离数据。
[0240]
该可选的实施例中,可依据数据应用的生命周期确定预设采样频率,示例性的,本方案中预设采样频率可以是1hz,即每秒采样一次。
[0241]
该可选的实施例中,可以所述数据波动性曲线的起点为采样起点,并基于所述预设的采样频率采集所述数据波动性曲线上的值,以作为第一数据点d1。
[0242]
该可选的实施例中,可以每个综合曲线的起点为采样起点,并基于所述预设的采样频率采集所述综合曲线上的值,以作为第二数据点d2。
[0243]
该可选的实施例中,可计算所述d1与d2中相同时间点采集到的值之间的欧氏距离
并记为d以构建数据集d3。
[0244]
该可选的实施例中,可计算所述d3中所有数据的均值并作为d。
[0245]
该可选的实施例中,可基于上述方法计算每个综合曲线与对应的数据波动性曲线之间的距离并记为其中i∈{增,删,改,查},j∈{1,2,

,e},其中代表索引为i的功能模块的第j个综合曲线与原始测试数据波动性曲线之间的距离。
[0246]
该可选的实施例中,可基于所述选择所述数据应用的每个功能模块中与其数据波动性曲线距离最小的综合曲线作为对应模块的预警曲线,示例性的,当i=增时,若为中的最小值,则“增”模块的预警曲线为并记为
[0247]
该可选的实施例中,可将所述和作为所述预警曲线。
[0248]
在一个可选的实施例中,预警单元115用于基于所述预警曲线与预设的波动阈值对数据波动进行预警。
[0249]
在一个可选的实施例中,所述基于所述预警曲线与预设的波动阈值对数据波动进行预警包括:
[0250]
计算实时监测的数据波动性曲线与对应的预警曲线之间的距离以获取曲线波动距离;
[0251]
对比所述曲线波动距离和预设的波动阈值,若所述曲线波动距离大于所述波动阈值,则发出预警信息。
[0252]
该可选的实施例中,可依据所述自定义的距离度量方法计算所述数据应用上线后的每个功能模块的测试数据波动性曲线与所述每个模块对应的预警曲线之间的曲线波动距离,并记为d
test

[0253]
比较预设的阈值与所述d
test
以判断是否对每个模块进行预警,示例性的,所述预设的阈值可以是0.8,所述比较方法为:
[0254][0255]
在数据应用上线之前基于所述的数据采样时间点调用每个功能模块以获取测试数据集,依据预设的解析方法和分析方法获取了数据应用的预警曲线,依据预设的阈值对数据应用进行预警,无需等待数据应用报错,提升了数据应用预警的时效性。
[0256]
请参见图3,是本技术实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于人工智能的数据波动预警方法。
[0257]
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于人工智能的数据波动预警程序。
[0258]
图3仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或
者组合某些部件,或者不同的部件布置。
[0259]
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于人工智能的数据波动预警方法,所述处理器13可执行所述多个指令从而实现:
[0260]
依据预设的数据采样时间点采集数据以作为测试数据;
[0261]
依据自定义指标分析法划分所述测试数据以获取训练数据;
[0262]
对所述训练数据进行插值以获取数据波动性曲线;
[0263]
分解所述数据波动性曲线获得综合曲线集合;
[0264]
依据自定义距离算法计算所述数据波动性曲线与所述综合曲线集合中每条综合曲线的距离,并以其中最小距离对应的综合曲线作为预警曲线;
[0265]
基于所述预警曲线与预设的波动阈值对数据波动进行预警。
[0266]
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0267]
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
[0268]
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。
[0269]
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的数据波动预警程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0270]
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(controlunit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于人工智能的数据波动预警程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
[0271]
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于人工智能的数据波动预警方法实施例中的步骤,例如图1所示的步骤。
[0272]
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描
述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、划分单元111、插值单元112、分解单元113、筛选单元114、预警单元115。
[0273]
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本技术各个实施例所述的基于人工智能的数据波动预警方法的部分。
[0274]
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
[0275]
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存储器及其他存储器等。
[0276]
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
[0277]
本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0278]
总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
[0279]
本技术实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的数据波动预警方法。
[0280]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0281]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0282]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0283]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
[0284]
最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1