数据预测方法、装置、设备及存储介质与流程

文档序号:22323817发布日期:2020-09-25 17:51阅读:119来源:国知局
数据预测方法、装置、设备及存储介质与流程

本申请实施例涉及但不限于计算机技术领域,尤其涉及一种数据预测方法、装置、设备及存储介质。



背景技术:

在互联网时代,为了保证业务的正常进行,需要对业务系统或业务指标的数据进行全方位地跟踪监控,以便实时掌控系统状态,发现业务系统的异常并及时处理,从而确保系统的正确性和稳定性。

相关技术中,通过配置的监控规则对待监控的业务指标数据进行筛查,来达到监控效果,发现业务系统的异常。这需要业务负责人在监控系统中,根据各个业务的特点,针对特定的异常状况预先配置相应的监控规则。由于人工定义规则较为繁琐且易出错,并且在定义规则时不易确定相关阈值,阈值太紧会导致误报率升高,阈值太松会导致漏报从而影响系统稳定性。此外,对于规则以外的异常,这种监控方式是无法发现的。



技术实现要素:

本申请实施例提供一种数据预测方法、装置、设备及计算机可读存储介质,通过采用模型预测的方式,基于监控指标的样本空间对大数据采集和处理系统的业务数据进行预测,可以实现业务数据的监控,进而实现对大数据采集和处理系统的运行状态的监控,能够免除人工配置规则的成本,避免规则导致的告警局限性,同时还能提高模型预测的准确性,进而提高监控告警的准确性。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种数据预测方法,应用于监控系统中,以实现对大数据采集和处理系统的运行状态进行监控,包括:

获取所述大数据采集和处理系统的业务数据;

基于监控指标的指标特征,对所述业务数据进行特征提取,得到所述业务数据的数据特征;其中,所述指标特征用于表征所述业务数据的数据量或数据质量;所述指标特征包括独立特征和联合特征;所述联合特征由至少两个独立特征进行非线性组合得到;

基于所述监控指标的样本空间,采用机器学习模型对所述数据特征进行预测,得到所述业务数据的预测结果;所述样本空间中每一样本的数据特征包括第一特征值和第二特征值;所述第一特征值为独立特征的特征值;所述第二特征值为联合特征的特征值;

根据所述预测结果确定所述业务数据的数据量或数据质量异常时,确定所述大数据采集和处理系统的运行状态异常,并生成告警信息;

输出所述告警信息。

本申请实施例提供一种数据预测装置,应用于监控系统中,以实现对大数据采集和处理系统的运行状态进行监控,包括:

获取模块,用于获取所述大数据采集和处理系统的业务数据;

提取模块,用于基于监控指标的指标特征,对所述业务数据进行特征提取,得到所述业务数据的数据特征;其中,所述指标特征用于表征所述业务数据的数据量或数据质量;所述指标特征包括独立特征和联合特征;所述联合特征由至少两个独立特征进行非线性组合得到;

预测模块,用于基于所述监控指标的样本空间,采用机器学习模型对所述数据特征进行预测,得到所述业务数据的预测结果;所述样本空间中每一样本的数据特征包括第一特征值和第二特征值;所述第一特征值为独立特征的特征值;所述第二特征值为联合特征的特征值;

告警模块,用于:根据所述预测结果确定所述业务数据的数据量或数据质量异常时,确定所述大数据采集和处理系统的运行状态异常,并生成告警信息;输出所述告警信息。

本申请实施例提供一种数据预测设备,包括:

存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。

本申请实施例具有以下有益效果:

通过采用模型预测的方式,基于监控指标的样本空间对大数据采集和处理系统的业务数据进行预测,可以实现业务数据的监控,进而实现对大数据采集和处理系统的运行状态的监控,并在监控到大数据采集和处理系统的运行状态异常时进行告警。由于这一过程不再需要配置繁琐的监控规则,能够基于样本空间进行自动学习,如此,能够免除人工配置规则的成本,避免规则导致的告警局限性,同时还能提高模型预测的准确性,进而可以提高监控告警的准确性。此外,由于引入联合特征,可以结合多个特征间的非线性关系进行预测,因此可以进一步提高模型预测的准确性。

附图说明

图1是相关技术中监控系统的应用流程示意图;

图2a是本申请实施例提供的数据预测系统的一个可选的架构示意图;

图2b是本申请实施例提供的数据预测系统应用于区块链系统的一个可选的结构示意图;

图2c是本申请实施例提供的区块结构的一个可选的示意图;

图3是本申请实施例提供的服务器的结构示意图;

图4是本申请实施例提供的数据预测方法的一个可选的流程示意图;

图5是本申请实施例提供的数据预测方法的一个可选的流程示意图;

图6是本申请实施例提供的数据预测方法的一个可选的流程示意图;

图7是本申请实施例提供的数据预测方法的一个可选的流程示意图;

图8是本申请实施例提供的一种模型训练方法的实现流程示意图;

图9是本申请实施例提供的一种模型预测方法的实现流程示意图;

图10是本申请实施例提供的一种监控系统应用流程示意图;

图11是本申请实施例提供的数据预测方法的应用场景示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)支持向量机(supportvectormachine,svm):一种在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。

2)数据特征:原始数据经过处理后得到的特征,一般是一个向量。

3)数据采集:将数据从数据源读取出来并输入系统。

4)数据清洗:将原始数据按特定需求进行筛选,完善,格式化的过程。

5)监控指标:监控系统中被观测的目标变量。

6)模型训练:使用已标注的数据特征通过特定算法得到模型参数。

7)模型预测:使用训练得到的模型对特征对应的值进行计算。

为了更好地理解本申请实施例中提供的数据预测方法,首先对相关技术中业务指标的监控方法进行说明:

在相关技术中,通过预先定义好的规则对数据进行筛查,来达到监控效果,业务负责人在监控系统中,往往需要根据各个业务的特点,针对特定的异常状况配置对应的数据规则,例如,满足如下条件的数据为异常数据:

规则1:当天数据量/昨天数据量<50%;

规则2:数据完整性评分<0.9;

规则3:单位时间字段a的值超过100的数据量超过5%。

这种监控方式有着以下缺陷:1)定义规则繁琐、易出错;2)不好确定相关阈值,阈值太紧会导致误报率升高,阈值太松会导致漏报从而影响系统稳定性;3)不能发现规则以外的异常。

图1是相关技术中监控系统的应用流程示意图,如图1所示,该监控系统的应用流程包括:

步骤s101,监控系统从数据源接入待监控的数据;

步骤s102,用户通过监控系统的配置界面配置监控指标计算规则;

步骤s103,用户通过监控系统的配置界面配置/修改告警规则;

步骤s104,用户通过终端接收告警;

步骤s105,用户判断告警是否准确,若准确,进入步骤s106,否则回到步骤s103;

步骤s106,用户通过终端处理告警。

可见,在该监控系统的应用流程中,数据源中的数据接入到监控系统后,需要用户配置指标计算规则和告警规则,配置完成后监控系统可投入使用。在使用过程中,用户如果发现告警不准确,则需要对告警规则进行修改。当发现有遗漏的异常时,用户还需要针对遗漏的异常添加规则。

基于相关技术所存在的上述至少一个问题,本申请实施例提供一种数据预测方法,首先,获取大数据采集和处理系统的业务数据;然后,基于监控指标的指标特征,对业务数据进行特征提取,得到业务数据的数据特征;其中,指标特征用于表征业务数据的数据量或数据质量;指标特征包括独立特征和联合特征;联合特征由至少两个独立特征进行非线性组合得到;其次,基于监控指标的样本空间,采用机器学习模型对数据特征进行预测,得到业务数据的预测结果;其中,样本空间中每一样本的数据特征包括第一特征值和第二特征值;第一特征值为独立特征的特征值;第二特征值为联合特征的特征值;最后,根据预测结果确定业务数据的数据量或数据质量异常时,确定大数据采集和处理系统的运行状态异常,生成告警信息,并输出该告警信息。如此,由于采用模型预测的方式,基于监控指标的样本空间对大数据采集和处理系统的业务数据进行预测,可以实现业务数据的监控,进而实现对大数据采集和处理系统的运行状态的监控,并在监控到大数据采集和处理系统的运行状态异常时进行告警,这一过程不再需要配置繁琐的监控规则,能够基于样本空间进行自动学习,因此能够免除人工配置规则的成本,避免规则导致的告警局限性,同时还能提高监控告警的准确性。此外,由于引入联合特征,可以结合多个特征间的非线性关系进行预测,因此可以进一步提高模型预测的准确性。

下面说明本申请实施例提供的数据预测设备的示例性应用,本申请实施例提供的数据预测设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人等任意具有屏幕显示功能的终端,也可以实施为服务器。下面,将说明数据预测设备实施为服务器时的示例性应用。

参见图2a,图2a是本申请实施例提供的数据预测系统20的一个可选的架构示意图。为实现对任意一种业务指标数据的数据预测,数据预测系统20中包括终端100、网络200和服务器300。其中,终端100上运行有应用程序,在实现本申请实施例的数据预测方法时,服务器300从数据源中获得监控指标的实时数据;对所述实时数据进行特征提取,得到所述实时数据的数据特征;其中,所述数据特征包括独立特征和联合特征;所述联合特征由至少两个独立特征进行非线性组合得到;基于所述监控指标的样本空间,对所述数据特征进行预测,得到所述实时数据的预测结果,并将预测结果通过网络200反馈给终端100;其中,预测结果在应用程序上可以以视图的形式展示,那么,终端100则可以在当前界面100-1上显示该视图,以向用户呈现待监控指标的实时数据的预测结果。在一些实施例中,服务器300还可以在根据预测结果确定实时数据异常时,生成告警信息;并将告警信息通过网络200反馈给终端100;终端100在获取到告警信息后,在页面100-1上显示该告警信息,以供用户查看和处理。在一些实施例中,终端100还可以接收用户输入的对告警信息的处理结果;并将处理结果通过网络200发送给服务器300;服务器300根据处理结果确定该告警信息的处理状态;其中,处理状态用于表征告警信息是否被驳回;基于处理状态,对该告警信息对应的实时数据进行标注;基于标注后的实时数据,生成标注样本;将所述标注样本加入所述监控指标的样本空间。

本申请实施例涉及的数据预测系统20也可以是区块链系统的分布式系统201,参见图2b,图2b是本申请实施例提供的数据预测系统20应用于区块链系统的一个可选的结构示意图,其中,所述分布式系统201可以是由多个节点202(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端203形成的分布式节点,节点之间形成组成的点对点(p2p,peertopeer)网络,p2p协议是一个运行在传输控制协议(tcp,transmissioncontrolprotocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。

参见图2b示出的区块链系统中各节点的功能,涉及的功能包括:

1)路由,节点具有的基本功能,用于支持节点之间的通信。

节点除具有路由功能外,还可以具有以下功能:

2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。

例如,应用实现的业务包括:

2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。

2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。

2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。

3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。

4)共识(consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(pow,proofofwork)、权益证明(pos,proofofstake)、股份授权证明(dpos,delegatedproof-of-stake)、消逝时间量证明(poet,proofofelapsedtime)等。

参见图2c,图2c是本申请实施例提供的区块结构(blockstructure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

参见图3,图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。

处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;

输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种数据预测装置354,该数据预测装置354可以是服务器300中的数据预测装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、提取模块3542和预测模块3543,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据预测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。

下面将结合本申请实施例提供的服务器300的示例性应用和实施,说明本申请实施例提供的数据预测方法。参见图4,图4是本申请实施例提供的数据预测方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。

步骤s401,获取业务数据;

这里,业务数据为待预测的数据,可以是实时获取的在线数据,也可以是历史离线数据。业务数据可以从特定的数据源获取,特定的数据源可以包括但不限于数据库、消息队列、文件系统等。服务器可以主动向数据源发送数据获取请求,数据源响应该数据获取请求,将业务数据返回给服务器。数据源也可以定时将采集的业务数据发送至服务器,服务器监听并接收数据源发送的业务数据。在实施时,本领域技术人员可以根据实际应用场景选择合适的方式获取业务数据,本申请实施例对此并不限定。

步骤s402,基于监控指标的指标特征,对业务数据进行特征提取,得到业务数据的数据特征;其中,指标特征包括独立特征和联合特征;联合特征由至少两个独立特征进行非线性组合得到;

这里,监控指标是业务数据中需要被监控的目标变量,可以包括但不限于数据指标、系统性能指标、网络性能指标等任意合适的指标。例如,监控指标可以是进入待监控的系统的数据量、数据库中各字段的正确性、完整性,以及各计算任务输出的数据集合的各种特征。

业务数据的数据特征为按照监控指标的指标特征,从业务数据中抽取得到的数据,一般是一个向量。指标特征可以包括独立特征和联合特征。独立特征可以是用于独立体现监控指标的某一特性的变量,例如,可以选取监控指标在数据库中单位时间内的数据量、数据完整性评分、关键字段的数据范围、单条数据的长度等作为独立特征。联合特征可以是至少两个独立特征的非线性组合,可以体现监控指标的多个特征间的非线性关系。在实施时,至少两个独立特征之间的非线性组合可以包括但不限于相乘、相除、取对数等,例如,可以选取(单位时间的数据量*单条数据的长度)、(数据完整性评分*单条数据的长度)、(单位时间的数据量*数据完整性评分)等作为联合特征。

在一些实施例中,可以选择具有关联关系的多个独立特征进行非线性组合得到联合特征。这里,关联关系可以包括但不限于业务逻辑关联、数据属性关联等。

步骤s403,基于监控指标的样本空间,采用机器学习模型对数据特征进行预测,得到业务数据的预测结果;其中,样本空间中每一样本的数据特征包括第一特征值和第二特征值;第一特征值为独立特征的特征值;第二特征值为联合特征的特征值。

这里,样本空间中的样本包括数据特征以及与数据特征相应的标注,通过标注可以表征相应的数据特征是否异常。标注可以是任意合适的标识,包括但不限于特定的数值、文字、符号等。例如,可以采用1表示数据特征正常,采用-1表示数据特征异常;也可以采用y表示数据特征正常,采用n表示数据特征异常。

样本空间中的样本可以包括对历史数据进行标注后得到的样本,也可以包括按照特定的规则自动生成的样本。

根据预测结果,可以确定业务数据是否异常。预测结果可以包括基于样本空间中的样本进行预测后得到的业务数据的预测值,根据该预测值可以判断业务数据是否异常。预测结果也可以是对业务数据是否异常的预测,包括表征业务数据是否异常的标识。在一些实施例中,预测结果包括预测值,当预测值小于特定的异常阈值时,确定业务数据异常。例如,当预测结果中的预测值小于0时,表示业务数据异常,当预测结果中的预测值大于或等于0时,表示业务数据正常。

对数据特征进行预测时采用的机器学习模型可以是任意合适的分类模型,包括但不限于支持向量机模型、逻辑回归模型等。

本申请实施例提供的数据预测方法,通过采用模型预测的方式,基于样本空间对业务数据进行预测,可以实现对业务数据的监控。由于这一过程不再需要配置繁琐的监控规则,且能够基于监控指标的样本空间进行自动学习,如此,能够免除人工配置规则的成本,避免规则导致的告警局限性,同时还能提高模型预测的准确性,进而可以提高监控告警的准确性。此外,由于引入联合特征,可以结合多个特征间的非线性关系进行预测,因此可以进一步提高模型预测的准确性。

在一些实施例中,样本空间可以包括监控指标的初始样本,初始样本包括正例样本和反例样本。对应地,图5是本申请实施例提供的数据预测方法的一个可选的流程示意图,如图5所示,在步骤s403之前,方法还可以包括:

步骤s501,通过预设的启动规则,随机生成第一数量的正例样本和第二数量的反例样本;其中,启动规则包括异常判断条件;正例样本不满足异常判断条件,反例样本满足异常判断条件。

这里,在数据预测系统运行初期,由于缺少样本,模型可能无法进行有效训练,可以针对监控指标预设简单的启动规则,生成初始样本。

正例样本为数据特征正常的样本,反例样本为数据特征存在异常的样本。预设的启动规则可以用于判断数据特征是否异常,可以包括但不限于简单的异常判断条件。可以基于预设的启动规则,随机生成不满足异常判断条件的正例样本以及满足异常判断条件的反例样本。例如,启动规则中的异常判断条件包括:数据特征中数据完整性评分<0.9、单位时间字段a的值超过100的数据量超过5%,则通过该启动规则生成的正例样本的数据特征不满足该异常判断条件,通过该启动规则生成的反例样本的数据特征满足该异常判断条件。

在实施时,第一数量和第二数量可以由本领域技术人员根据实际情况选择合适的数值。

本申请实施例中,通过针对监控指标预设简单的启动规则可以生成部分初始样本,且初始样本中包括正例样本和反例样本。这样,可以解决模型冷启动的问题,在数据预测系统运行初期,也能有足够的样本进行有效训练,从而提高模型预测的准确性,进而可以提高监控告警的准确性,减少监控误报。

基于图4,图6是本申请实施例提供的数据预测方法的一个可选的流程示意图,如图6所示,在步骤s403之后,方法还可以包括:步骤s601,根据预测结果确定业务数据异常时,生成告警信息;步骤s602,输出所述告警信息。

这里,当确定业务数据异常时,需要生成告警信息并通知告警相关责任人。告警信息用于提示业务数据出现异常,可以是简单的文本信息,也可以是包含文字、图片等的富文本信息,本申请实施例对此并不限定。告警信息可以通过短信的方式发送至终端,也可以作为系统消息推送至终端的交互界面,以供告警相关责任人查看并处理。在实施时,本领域技术人员可以根据实际情况选择合适的方式输出告警信息。

在一些实施例中,数据预测方法应用于监控系统中,以实现对大数据采集和处理系统的运行状态进行监控;业务数据包括大数据采集和处理系统的业务数据;指标特征用于表征业务数据的数据量或数据质量;对应地,步骤s602可以包括:根据预测结果确定业务数据的数据量或数据质量异常时,确定大数据采集和处理系统的运行状态异常,并生成告警信息。这里,业务数据的数据量可以包括但不限于进入大数据采集和处理系统的数据量、大数据采集和处理系统中计算任务输出的数据量等;业务数据的数据质量可以包括但不限于业务数据中各字段的正确性、完整性等。在实施时,本领域技术人员可以根据实际情况选择合适的指标特征用于表征业务数据的数据量或数据质量,本申请实施例对此并不限定。当业务数据的预测结果中,表征数据量的指标特征对应的特征值异常时,表明业务数据的数据量异常,表征数据质量的指标特征对应的特征值异常时,表明业务数据的数据质量异常。例如,当进入大数据采集和处理系统的数据量出现不规则的变化时,或计算任务输出的结果集的大小发生突变时,可以确定业务数据的数据量出现异常。又如,当业务数据中字段a的完整性低于特定的完整性阈值时,或者字段a的错误数超过特定的错误数阈值时,可以确定业务数据的数据质量出现异常。

本申请实施例中,在监控到业务数据异常时,生成相应的告警信息并输出告警信息,这样,可以通知相关告警负责人及时查看相关的系统是否出现异常,从而有利于尽快恢复系统异常,减少异常带来的损失。此外,还可以将数据预测方法应用于监控系统中,以实现对大数据采集和处理系统的运行状态进行监控,并在监控到大数据采集和处理系统的运行状态异常时进行告警。

请继续参照图6,在一些实施例中,方法还可以包括以下步骤:

步骤s603,确定输出的告警信息的处理状态;处理状态用于表征告警信息是否被驳回;

这里,告警相关责任人可以根据输出的告警信息,结合具体数据特征、其他监控信息以及系统其他信息对告警信息进行处理。如果告警相关的业务系统没有问题,则判断当前告警为误报,并将告警信息驳回;如果告警相关的业务系统存在问题,则进行相关处理。服务器可以根据接收到用户终端发送的告警处理信息,确定告警信息的处理状态。例如,若接收到告警驳回信息,则确定告警信息的处理状态为驳回,若接收到告警已处理信息,则确定告警信息的处理状态为已处理。

步骤s604,基于处理状态,对告警信息对应的业务数据进行标注;

这里,根据处理状态确定告警信息被驳回,则表示告警为误报,可将告警信息对应的业务数据标注为正常;根据处理状态确定告警信息未被驳回,则表示告警不是误报,可将告警信息对应的业务数据标注为异常。

在一些实施例中,步骤s604可以通过以下步骤实现:步骤s6041,当所述告警信息的处理状态为驳回时,将所述业务数据标注为正常;步骤s6042,当所述告警信息的处理状态为已处理时,将所述业务数据标注为异常。

步骤s605,基于标注后的业务数据,生成标注样本;

这里,标注样本包括业务数据的数据特征和业务数据的标注。

步骤s606,将标注样本加入监控指标的样本空间。

本申请实施例中,根据告警信息的处理状态,自动对告警信息对应的业务数据进行标注,生成标注样本,并将标注样本加入监控指标的样本空间。如此,通过将标注后的历史数据加入样本空间,可以不断迭代优化模型效果,提高模型预测的准确性,从而提高监控告警准确率,减少误报。此外,由于不再需要额外进行标注操作,对告警处理流程带来优化,并且可以避免人工标注带来的人力成本。

在一些实施例中,步骤s606可以通过以下步骤实现:

步骤s6061,按照预设的更新周期,将更新周期内生成的标注样本更新至监控指标的样本空间。

这里,预设的更新周期可以根据业务需求来确定。例如,更新周期可以是1天,可以通过定时任务,每天定时将上一次更新时间至本次更新时间内生成的标注样本加入样本空间。

本申请实施例中,通过定时的方式按照预设的更新周期进行样本空间更新,可以减少频繁更新样本空间带来的资源消耗,提高数据预测系统性能。

基于图4,图7是本申请实施例提供的数据预测方法的一个可选的流程示意图,如图7所示,步骤s403通过以下步骤实现:

步骤s701,获得训练好的支持向量机模型;

步骤s702,将数据特征输入支持向量机模型的分类决策函数,得到业务数据的预测结果。

本申请实施例中,通过支持向量机模型对业务数据的数据特征进行预测,由于业务数据出现异常的情况通常较少,且随着业务系统的不断优化,业务数据的异常会越来越少,这样,能够用于模型训练的样本数也会较少,而支持向量机利用核函数将数据特征映射到更高维的特征空间,可以发现非线性关系。因此,通过支持向量机模型对业务数据的数据特征进行预测,可以在更少样本下得到更精确结果,且易于实现。

在一些实施例中,步骤s701中的支持向量机模型可以通过以下步骤训练得到:

步骤s7011,基于监控指标的样本空间,对支持向量机模型的目标函数进行寻优,得到样本空间中每一样本的拉格朗日乘子;其中,支持向量机模型的核函数采用高斯核函数;

步骤s7012,基于样本空间和每一样本的拉格朗日乘子,确定分类决策函数的偏移量;

步骤s7013,将样本空间中每一样本的拉格朗日乘子和偏移量确定为支持向量机模型的模型参数。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

本申请实施例提供一种数据预测方法,基于机器学习算法,可以在监控规则不完善甚至没有监控规则的情况下,根据少量样本数据,自动学习得到数据异常检测的模型。并随着样本数据的增多,不断提升模型精度,提高异常检测的准确性,降低误报。

本申请实施例提供的数据预测方法,应用于监控系统中,该监控系统用于对大数据采集和处理系统进行监控。在大数据采集和处理系统中,需要对数据从采集到计算的各个环节(包括数据采集、数据清洗、计算任务等)进行全流程跟踪监控,以实时掌控系统状态,确保系统的正确性和稳定性。其中,监控系统的作用就是实时掌控数据的数量和质量,必要时进行相应处理,或产生告警推送给相关责任人,确保系统的健康运行。例如,监控系统需对进入大数据采集和处理系统的数据量、各字段的正确性、完整性,以及各计算任务输出的数据集合的各种特征进行监控,当进入系统的数据量出现不规则的变化,字段的完整性低于预期,或计算任务输出的结果集的大小突变等等情况时,监控系统需要识别出异常状况,进行处理或者告警。

本申请实施例中,使用机器学习算法代替相关技术中的规则判断,来预测数据和系统状态的正常与否。首先,基于已标记的历史特征数据以及启动规则生成样本空间,利用样本空间中的数据特征训练得到机器学习模型;然后,基于该模型对新数据进行预测,并周期性的使用标注后的新数据更新模型,代替旧模型,从而不断改进预测的准确性。具体的机器学习算法可以选用支持向量机算法、逻辑回归算法等,核函数可以选用高斯核、线性核、多项式核、sigmoid核等。从实际应用的效果来看,机器学习算法选用支持向量机算法,核函数可以选用高斯核的效果较佳。

在监控系统运行初期,由于缺少样本,模型无法进行有效训练。本申请实施例中,利用启动规则随机生成初始样本,可以解决模型冷启动的问题。

本申请实施例在数据特征的选取方面,除了独立特征外,适量引入“联合特征”以体现指标间的非线性关系。例如,可以选取单位时间的数据量、数据完整性评分、关键字段的数据范围、单条数据的长度等作为独立特征,还可以引入(单位时间的数据量*单条数据的长度)、(数据完整性评分*单条数据的长度)、(单位时间的数据量*数据完整性评分)作为联合特征。

本申请实施例提供的数据预测方法应用于监控系统中时,在告警处理流程方面,告警接收人收到告警后,如果认为是误报,可在处理界面上选择“驳回告警”,从而为模型提供反馈信息,使模型经过迭代趋于精确,有效降低告警误报率。此外,通过告警接收人对告警的处理自动生成标注样本,不再需要人工标注数据。

图8是本申请实施例提供的一种模型训练方法的实现流程示意图,方法可由服务器的处理器执行,如图8所示,方法可以包括以下步骤:

步骤s801,提取历史数据特征形成样本空间(xi,yi),i=1,2,…m;其中xi为数据特征向量,yi为xi的健康值,yi为1表示xi健康,yi为-1表示xi不健康。

步骤s802,利用样本空间(xi,yi),i=1,2,…m,采用支持向量机算法,根据如下公式(1-1)进行模型训练,计算模型参数αi,i=1,2,…m:

其中,αi,i=1,2,…,m为模型参数,xi=(xi1,xi2,…,xin),yi,i=1,2,…,m为样本空间,n为数据特征的维度,k(xi,xj)表示核函数,这里采用的核函数为高斯核函数,如下公式(1-2):

步骤s803,根据如下公式(1-3)计算偏移量b:

其中,b为偏移量,也属于模型参数,(xs,ys)为任意的支持向量,s为支持向量的集合。

步骤s804,将αi,i=1,2,…,m和b作为模型参数发布到模型预测服务。

图9是本申请实施例提供的一种模型预测方法的实现流程示意图,方法可由服务器的处理器执行,如图9所示,方法可以包括以下步骤:

步骤s901,提取实时数据的数据特征x;

步骤s902,基于数据特征x,利用训练好的模型参数αi,i=1,2,…,m和b,根据如下公式(1-4),计算预测值f(x):

其中,k(xi,xj)表示核函数,这里采用的核函数为高斯核函数,公式(1-2)所示。

步骤s903,判断预测值f(x)是否小于0;若预测值小于0,则进入步骤s904,若预测值大于或等于0,则结束流程;

步骤s904,生成异常告警,并将异常告警输出至终端。

图10是本申请实施例提供的一种监控系统应用流程示意图,如图10所示,应用流程包括以下步骤:

步骤s1001,监控系统接入监控指标的数据;

步骤s1002,用户通过监控系统定义监控指标的数据特征;

步骤s1003,用户通过监控系统定义监控指标的启动规则;

步骤s1004,用户接收告警;

步骤s1005,监控系统判断告警是否驳回;若告警驳回,则流程结束,若告警不驳回,则转至步骤s1006;

步骤s1006,用户处理告警。

本申请实施例提供的监控系统产品应用流程中,监控指标的数据接入监控系统后,用户对监控指标的数据特征进行定义,并配置粗略的启动规则录入系统,以随机生成初始样本,解决模型冷启动问题。这样,用户在接收到告警后,如果发现是误报,则直接驳回告警,而不用对告警规则进行人为调整。

在实际应用中,假设采集进入监控系统的数据中有sku、order两个数据表,其中sku表包含字段:merchant_id,sku_id,sku_name,sku_desc,price_info,sales_info,images,urls,update_time等;order表包含字段:merchant_id,order_id,skus,amount,price_infos,store_id,create_time等。则针对这两个数据表应用本申请实施例提供的数据预测方法的流程可以包括以下步骤:

步骤s1011,用户针对两个表分别定义指标特征,例如,可定义如下指标特征:各字段空置率,sku表的images字段的数组平均长度,sku_desc的字符串平均长度,urls的数组平均长度,urls的字符串平均长度,order表的skus的数组平均长度,amount的最大值,amount的最小值,amount的平均值,create_time距离当前的时间差等等。指标特征的抽取周期可以设置为1小时。

步骤s1012,用户根据历史数据的数据特征录入一定量的标记好的正常特征和异常特征作为样本;也可由用户定义初始的启动规则,例如:存在一个字段空置率>0.01的数据特征为异常特征,amount最小值<1的数据特征为异常特征。监控系统根据初始的启动规则会随机生成一定量的正例样本和反例样本。监控系统根据生成的样本进行支持向量机模型训练,生成初始模型m0(即确定模型参数αi,i=1,2,…m和b);

步骤s1013,监控系统开始根据特征定义对实时数据抽取数据特征,将数据特征输入到m0中,获得m0输出的预测值。假设预测值>0,如:1.2,则表示当前特征正常,无需告警;假设预测值<0,如:-2,则表示当前特征为异常特征,即实时数据有异常,需生成告警信息,并推送到相关责任人;

步骤s1014,相关责任人收到告警后,进入监控系统平台查看告警信息和具体数据特征以及其他监控信息,并结合待监控系统的其他信息确定当前问题。如果相关责任人确认监控指标对应的待监控系统没有问题,表示当前告警为误报,相关责任人可以通过点击终端界面的按钮将当前告警标记为“误报”,告警处理结束;如果相关责任人确认监控指标对应的待监控系统确实存在问题,则进行相关处理,并将告警标记成“已处理”。监控服务将驳回的告警或未驳回的告警对应的数据特征作为已标注数据,生成已标记数据特征。

步骤s1015,系统定时(例如:每天)将新产生的已标记数据特征输入模型训练服务,得到新模型mi,i=1,2,3……,并在模型预测中使用mi替代mi-1。

图11是本申请实施例提供的监控方法的应用场景示意图,如图11所示,监控系统1100对大数据采集和处理系统1200中的数据从采集到计算的各个环节进行全流程跟踪监控,监控的数据包括数据源1210中存储的数据、数据采集服务1220采集到的数据、数据清洗服务1230清洗后的数据以及数据计算服务1240中各个计算任务(包括任务1241、任务1242、任务1243等)生成的数据。监控系统1100包括数据特征实时提取服务1110、监控服务1120、模型预测服务1130、模型训练服务1140、规则引擎1150和告警推送服务1160。在监控系统1100中,由规则引擎1150根据定义好的数据特征(包括独立特征和联合特征)及初始启动规则,随机生成部分数据特征,并将生成的数据特征输入到模型训练服务1140中进行训练,得到初始模型;模型训练服务1140将训练好的模型参数发布至模型预测服务1130中。当待监控指标的实时数据从大数据采集和处理系统1200中进入监控系统1100后,数据特征实时提取服务1110对接入的实时数据进行特征提取,并将提取到的数据特征发送给监控服务1120;监控服务1120将接收的数据特征提交至模型预测服务1130;模型预测服务1130基于模型训练服务1140发布的模型参数,对输入的数据特征进行预测,得到预测结果,并将预测结果返回给监控服务1120;如果监控服务1120根据预测结果判断当前数据特征异常,则调用告警推送服务1160推送告警,其中,预测结果包含了当前特征是否异常的信息。告警接收人收到告警后,如果判断告警是误报,则驳回告警,若不是误报,则进行相应地告警处理,并将告警标记为已处理;告警推送服务1160将告警接收人对告警的处理信息发送给监控服务1120;监控服务1120根据告警的处理信息,将驳回的告警或未驳回的告警对应的数据特征作为已标注数据反馈到模型训练服务1140;模型训练服务1140根据反馈的已标注数据重新训练模型,得到新的模型参数,并将新的模型参数更新到模型预测服务1130中,实现模型的迭代。

本申请实施例提供的数据预测方法,取消了对监控告警规则的强依赖,免除了规则配置的繁琐性和局限性。并且,采用具备学习能力的模型进行数据预测,可结合历史数据特征和当前数据特征发现规则以外的异常。此外,可以通过告警接收人驳回告警或未驳回告警确定告警是否为误报,不需要人工进行额外标注。

下面继续说明本申请实施例提供的数据预测装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的数据预测装置354中的软件模块可以是服务器300中的数据预测装置,包括:

获取模块3541,用于获取业务数据;

提取模块3542,用于基于监控指标的指标特征,对业务数据进行特征提取,得到业务数据的数据特征;其中,指标特征包括独立特征和联合特征;联合特征由至少两个独立特征进行非线性组合得到;

预测模块3543,用于基于监控指标的样本空间,采用机器学习模型对数据特征进行预测,得到业务数据的预测结果;样本空间中每一样本的数据特征包括第一特征值和第二特征值;第一特征值为独立特征的特征值;第二特征值为联合特征的特征值。

在一些实施例中,样本空间包括监控指标的初始样本,初始样本包括正例样本和反例样本。对应地,监控装置还包括:第一生成模块,用于通过预设的启动规则,随机生成第一数量的正例样本和第二数量的反例样本;其中,启动规则包括异常判断条件;正例样本不满足异常判断条件,反例样本满足异常判断条件。

在一些实施例中,监控装置还包括:

告警模块,用于:根据预测结果确定业务数据的数据量或数据质量异常时,确定大数据采集和处理系统的运行状态异常,并生成告警信息;输出告警信息。

在一些实施例中,监控装置还包括:

确定模块,用于确定输出的告警信息的处理状态;处理状态用于表征告警信息是否被驳回;

标注模块,用于基于处理状态,对告警信息对应的业务数据进行标注;

第三生成模块,用于基于标注后的业务数据,生成标注样本,并将标注样本加入监控指标的样本空间。

在一些实施例中,标注模块还用于:当告警信息的处理状态为驳回时,将业务数据标注为正常;当告警信息的处理状态为已处理时,将业务数据标注为异常。

在一些实施例中,预测模块还用于:获得训练好的支持向量机模型;将数据特征输入支持向量机模型的分类决策函数,得到业务数据的预测结果。

在一些实施例中,监控装置还包括:

训练模块,用于:基于监控指标的样本空间,对支持向量机模型的目标函数进行寻优,得到样本空间中每一样本的拉格朗日乘子;其中,支持向量机模型的核函数采用高斯核函数;基于样本空间和每一样本的拉格朗日乘子,确定分类决策函数的偏移量;将样本空间中每一样本的拉格朗日乘子和偏移量确定为支持向量机模型的模型参数。

需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。

在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(fram,ferromagneticrandomaccessmemory)、只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmablereadonlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammablereadonlymemory)、带电可擦可编程只读存储器(eeprom,electricallyerasableprogrammablereadonlymemory)、闪存、磁表面存储器、光盘、或光盘只读存储器(cd-rom,compactdisk-readonlymemory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

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