一种数据仓库的监控方法和系统与流程

文档序号:14554902阅读:191来源:国知局
一种数据仓库的监控方法和系统与流程

本发明涉及数据库处理技术领域,更具体地,涉及一种数据仓库的监控方法和系统。



背景技术:

一个数据仓库对应着多个业务数据源。随着业务不断深化,需要分析的数据也不断增多,相应的,数据仓库任务繁多。每天有大量的新增数据存储在数据仓库中,如果每日任务处理过程中出现异常,会影响数据的质量,并且可能对接下来往后时间内的数据产生影响。因此及时发现数据在处理过程中的异常,进行处理。对数据仓库的是非常重要的。

现有技术中提供了一种数据仓库数据监控的方法,通过执行定时监控任务及相关的一系列配置可实现对数据仓库每日更新的表的数据情况进行监控,还可以实现因业务数据源改变而将要产出异常的预警,能够及时发现在程序运行中出现的各种问题。

现有技术中还提供了一种数据库监控方法,根据各数据库的信息,获取与各数据库的信息对应的监控配置文件;根据获取的与各数据库的信息对应的监控配置文件,利用预先编写好的与各数据库的信息对应的监控程序,对各自对应的数据库进行监控。

但是,现有技术并未对业务常规数据量改变而可能产出异常的预警,以及对数据仓库的每个数据表的数据量进行全方位的监控,无法有效保障数据仓库的稳定性。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的数据仓库的监控方法和系统。

一方面,本发明提供一种数据仓库的监控方法,包括:

s1,获取数据仓库中的任一数据表,根据自回归积分滑动平均模型预测所述数据表在预测日的固定时间段内的数据增量,所述数据增量为数据表中数据的增加条数;

s2,计算所述预测日在固定时间段内的实际数据增量,将所述实际数据增量与预测的所述数据增量进行比对,监控所述数据表是否进行预警。

优选地,步骤s1前包括:

根据所述数据仓库中的数据库名与数据表名,查找所述数据仓库中的任一数据表。

优选地,所述自回归积分滑动平均模型包括自回归模型、滑动平均模型和自回归滑动平均模型,步骤s1中所述自回归积分滑动平均模型通过以下步骤建立:

将所述预测日前连续数周内所述固定时间段的数据增量构成时间序列,将所述时间序列处理为平稳时间序列;

根据所述平稳时间序列的偏自相关函数和自相关函数,建立与所述平稳时间序列对应的自回归积分滑动平均模型。

优选地,所述将所述时间序列处理为平稳时间序列的具体步骤包括:

根据所述时间序列为非平稳时间序列,对所述时间序列中的每个数据增量进行一次差分运算,得到新的时间序列;

判断所述新的时间序列是否为平稳时间序列,若不是,则返回上一步骤,直至新的时间序列为平稳时间序列。

优选地,所述根据所述平稳时间序列的偏自相关函数和自相关函数,建立与所述平稳时间序列对应的自回归积分滑动平均模型具体包括:

若所述偏自相关函数具有截尾性且自相关函数具有拖尾性,建立与所述平稳时间序列对应的自回归模型;

若偏自相关函数具有拖尾性且自相关函数具有截尾性,建立与所述平稳时间序列对应的滑动平均模型;

若偏自相关函数和自相关函数均具有拖尾性,建立与所述平稳时间序列对应的自回归滑动平均模型;

其中,所述拖尾性的判断方法为函数按指数衰减或成正弦波形式,所述截尾性的判断方法为函数值为零。

优选地,步骤s1中所述固定时间段通过以下步骤获取:

在一周中选取多个特定时间段,采集所述数据表在连续数周内每个所述特定时间段内的数据增量,计算每个所述特定时间段内的数据增量的方差;

比较全部所述特定时间段内数据增量的方差,将方差最小的特定时间段作为所述固定时间段。

优选地,步骤s2中所述实际数据增量通过以下步骤获取:

记录所述数据仓库中每一数据表中每条数据的写入时间;通过所述写入时间计算所述固定时间段内数据表的数据增量。

优选地,所述计算每一所述预测日在固定时间段内的实际数据增量具体包括:

通过所述写入时间,采集所述固定时间段开始时所述数据表的初始数据总量,以及所述固定时间段结束时所述数据表的结束数据总量;

将所述结束数据总量减去所述初始数据总量,获取所述固定时间段内所述数据表的数据增量。

优选地,步骤s2中所述将所述实际数据增量与预测的所述数据增量进行比对,监控所述数据表是否进行预警的具体步骤包括:

将所述实际数据增量与所述预测数据增量的比值减1作为偏差值,若所述偏差值的绝对值大于10%,对所述数据表进行预警。

另一方面,本发明提供一种数据仓库的监控系统,包括:

增量预测模块,用于获取数据仓库中的任一数据表,根据自回归积分滑动平均模型预测所述数据表在预测日的固定时间段内的数据增量,所述数据增量为数据表中数据的增加条数;

增量比对模块,用于计算所述预测日在固定时间段内的实际数据增量,将所述实际数据增量与预测的所述数据增量进行比对,监控所述数据表是否进行预警。

本发明提供的一种数据仓库的监控方法和系统,通过将从数据仓库中采集的数据的实际增量与自回归积分滑动平均模型预测的增量进行比对,在实际增量与预测增量偏差过大时进行预警,且实现了对数据仓库中的每个数据表的数据量都进行全方位的监控,可以有效保障数据仓库的稳定性。

附图说明

图1为本发明一个实施例的数据仓库的监控方法的流程图;

图2为本发明一个实施例的数据仓库的监控系统的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参见图1,为本发明一个实施例的数据仓库的监控方法的流程图,包括:s1,获取数据仓库中的任一数据表,根据自回归积分滑动平均模型预测数据表在预测日的固定时间段内的数据增量,数据增量为数据表中数据的增加条数;s2,计算预测日在固定时间段内的实际数据增量,将实际数据增量与预测的数据增量进行比对,监控数据表是否进行预警。

具体地,自回归积分滑动平均模型是一种常用的时间序列预测模型,可通过将预测对象随时间推移而形成的数据序列视为一个随机的时间序列,然后再用一定的数学模型来近似描述这个时间序列,这个模型被识别无误后,就可从时间序列的过去值及现在值来预测未来值,得到预测的时序数据。本发明实施例通过获取数据仓库中的任意一个数据表,并根据自回归积分滑动平均模型来预测数据表中的数据在预测日的某个固定时间段内的数据增量,获得预测日的预测数据增量。这里的预测日是指任意一个或多个待预测的未来日期,数据增量则是指在固定时间段内数据表中的数据的增加条数。

检测上述数据表在预测日的固定时间段前后的总数据量,并计算得到该数据表在预测日的固定时间段内的实际数据增量,将实际数据增量与自回归积分滑动平均模型预测得到的预测数据增量进行比对,当两者间的偏差值大于预设的差值时,对该数据表进行预警,通过监控数据仓库中任意一个数据表中的数据量变化是否异常,来实现对整个数据仓库的监控。其中,预警方式包括向相关的工作人员发送邮件或者手机短信,但并不局限于此。

本发明实施例通过将从数据仓库中采集的数据的实际增量与自回归积分滑动平均模型预测的增量进行比对,在实际增量与预测增量偏差过大时进行预警,且实现了对数据仓库中的每个数据表的数据量都进行全方位的监控,可以有效保障数据仓库的稳定性。

基于上述实施例,作为一种可选的实施例,根据数据仓库中的数据库名与数据表名,查找数据仓库中的任一数据表。

具体地,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。数据仓库用于支持决策,面向分析型数据处理,是一个对多个异构的数据源有效集成。数据仓库的数据库中存储着大量数据,是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,通过不同的数据表将这些数据分类集成在数据仓库中。由于在数据库中任一数据表的表名都是唯一存在的,因此,可以通过数据库名与数据表名,从数据仓库中找到唯一的数据表,可据此找到数据仓库中任意一个数据表,并对其进行监控。

基于上述实施例,作为一种可选的实施例,自回归积分滑动平均模型包括自回归模型、滑动平均模型和自回归滑动平均模型,步骤s1中自回归积分滑动平均模型通过以下步骤建立:将预测日前连续数周内固定时间段的数据增量构成时间序列,将时间序列处理为平稳时间序列;根据平稳时间序列的偏自相关函数和自相关函数,建立与平稳时间序列对应的自回归积分滑动平均模型。

具体地,存在一个固定时间段,该固定时间段可以为每周周一到周五的工作日,也可以是具体每周某天的晚上7点到8点等对于每个星期都固定存在的一个时间段。取得预测日前连续数周内该数据表在这个固定时间段内的数据增量,上述的数据增量有多个,将所有的数据增量按时序构成一个时间序列,对该时间序列进行差分运算的处理,获得处理后的平稳时间序列。根据该平稳时间序列的自相关函数与偏自相关函数,可以建立与该平稳时间序列对应的自回归积分滑动平均模型,即自回归模型、滑动平均模型和自回归滑动平均模型这三类模型中的一种。其中,自相关函数是随机变量与其滞后变量的相关系数列,用以考察随机变量与其滞后变量的相关强度,在本发明实施例中,随机变量是指构成时间序列的每一个数据增量,而滞后变量是指从时序上看比当前变量滞后的变量,例如,nt指数据仓库中某数据表中昨天的数据增量,而nt-1则表示前天的数据增量,则nt-1就称作一价滞后变量。需要说明的是,偏自相关函数是描述随机过程结构特征的另一种方法。

基于上述实施例,作为一种可选的实施例,对时间序列进行差分运算,得到平稳时间序列的具体步骤包括:根据时间序列为非平稳时间序列,对时间序列中的每个数据增量进行一次差分运算,得到新的时间序列;判断新的时间序列是否为平稳时间序列,若不是,则返回上一步骤,直至新的时间序列为平稳时间序列。

具体地,判断上述所有的数据增量按时序构成的时间序列是否为平稳时间序列,所谓平稳时间序列是指时序数据是稳定的、没有趋势及周期性的时间序列,即该时间序列中所有时序数据的均值在时间轴上拥有常量的振幅,且时序数据的方差在时间轴上趋于同一个稳定值,即该时间序列的所有统计特征都是关于时间的常量。当上述数据增量按时序构成的时间序列为非平稳时间序列时,对时间序列中的每一个数据增量进行差分运算,运算结束后得到一个新的时间序列。判断新的时间序列是否为平稳时间序列,若不是,则继续对该时间序列中的数据进行差分运算,再次生成新的时间序列,直到新生成的时间序列为稳定时间序列为止。

需要说明的是,建立自回归积分滑动平均模型的时间序列必须是稳定的,非平稳时间序列无法捕捉到规律,例如常常受政策和新闻的影响而波动的股票数据,由于股票数据是非稳定的,因此无法用自回归积分滑动平均模型来预测未来的股票数据。

基于上述实施例,作为一种可选的实施例,根据平稳时间序列的偏自相关函数和自相关函数,建立与平稳时间序列对应的自回归积分滑动平均模型具体包括:若偏自相关函数具有截尾性且自相关函数具有拖尾性,建立与平稳时间序列对应的自回归模型;若偏自相关函数具有拖尾性且自相关函数具有截尾性,建立与平稳时间序列对应的滑动平均模型;若偏自相关函数和自相关函数均具有拖尾性,建立与平稳时间序列对应的自回归滑动平均模型;拖尾性的判断方法为函数按指数衰减或成正弦波形式,截尾性的判断方法为函数值为零。

具体地,根据上述实施例得到的平稳时间序列,可观测与该平稳时间序列对应的自相关函数与偏自相关函数,建立对应的自回归积分滑动平均模型,即自回归模型、滑动平均模型和自回归滑动平均模型这三类模型中的一种。

当偏自相关函数具有截尾性且自相关函数具有拖尾性时,建立与平稳时间序列对应的自回归模型,自回归模型是用自身做回归变量的模型,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,为时间序列中的一种常见形式,可通过求得预测模型中采用的时序数据本身的滞后数p来建立p阶自回归模型ar(p);当偏自相关函数具有拖尾性且自相关函数具有截尾性,建立与平稳时间序列对应的滑动平均模型,滑动平均模型是一种根据时间序列资料、逐项推移,依次计算包含一定项数的序时平均值,以反映长期趋势的模型,可通过求得代表预测模型中采用的预测误差的滞后数q来建立q阶滑动平均模型ma(q);若偏自相关函数和自相关函数均具有拖尾性,建立与平稳时间序列对应的自回归滑动平均模型,自回归滑动平均模型是研究时间序列的重要方法,由自回归模型与滑动平均模型为基础混合构成,需要求得代表预测模型中采用的时序数据本身的滞后数p与代表预测模型中采用的预测误差的滞后数q,来建立自回归滑动平均模型arma(p,q)。

需要说明的是,对于偏自相关函数和自相关函数而言,拖尾性的判断方法为函数按指数衰减或成正弦波形式,而截尾性的判断方法为函数值为零。

基于上述实施例,作为一种可选的实施例,步骤s1中固定时间段通过以下步骤获取:在一周中选取多个特定时间段,采集数据表在连续数周内每个特定时间段内的数据增量,计算每个特定时间段内的数据增量的方差;比较全部特定时间段内数据增量的方差,将方差最小的特定时间段作为固定时间段。

具体地,由于每个数据表中存储的内容不同,每周中不同的时间段对每个数据表中数据增量的影响也不同。举例来说,当某个数据表中记载啤酒的销售量时,由于工作日与非工作日的差异,更多人会选择在周末来饮酒放松,因此啤酒在周末的销售量会有明显增加,此时数据表中工作日与周末相比,每日的数据增量则有明显的差异,连续多日间的数据增量则相差过大,且有周期性的变化。选择某个固定时间段,并根据预测日前连续数周内该固定时间段内的数据增量建立自回归积分滑动平均模型时,需要选取固定时间段内的数据增量更趋于稳定的,即方差更小的。

因此,先从一周中选取多个可能会对数据增量造成影响的具有代表性的特定时间段,例如可以将工作日或周末的每天作为一个特定时间段,也可以将每天上午9点到10点、每天下午2点到5点或每天晚上7点到9点等等每天的一段时间作为一个特定时间段,对于选定的每个特定时间段,采集数据表在连续数周内所有的特定时间段中的数据增量,并计算这些数据增量的方差。例如,分别选取每周的工作日、周末与每天上午9点到12点作为三个特定时间段,并分别获取连续四周内三个特定时间段内的数据增量,求得四周内每周的工作日中每天数据增量的方差为第一方差,每周的周末中每天数据增量的方差为第二方差,每天上午9点到12点数据增量的方差为第三方差,分别比较第一方差、第二方差以及第三方差的大小,若发现第一方差大于第二方差,且第一方差小于第三方差,可知第三方差最小,则每天上午9点到12点这个特定时间段内的数据增量更趋于稳定状态,因此,选择每天上午9点到12点作为固定时间段,用该时间段内数据增量建立的自回归积分滑动平均模型预测的数据增量更加准确,且更具有代表性。

基于上述实施例,作为一种可选的实施例,步骤s2中实际数据增量通过以下步骤获取:记录数据仓库中每一数据表中每条数据的写入时间;通过写入时间计算固定时间段内数据表的数据增量。

具体地,当数据写入数据仓库中的数据表时,记录每条数据的写入时间,以便根据数据的写入时间,判断各时间段内数据仓库中任意一个数据表内的数据总量,据此计算固定时间段内任意一个数据表的数据增量。

基于上述实施例,作为一种可选的实施例,计算预测日在固定时间段内的实际数据增量具体包括:通过写入时间,采集固定时间段开始时数据表的初始数据总量,以及固定时间段结束时数据表的结束数据总量;将结束数据总量减去初始数据总量,获取固定时间段内数据表的数据增量。

具体地,根据数据写入数据表时的写入时间,可以得到固定时间段开始时该数据表中所有数据的总量作为初始数据总量,并将固定时间段结束时该数据表中所有数据的总量作为结束数据总量,可知此时的数据增量为结束数据总量与初始数据总量间的差值,即是从固定时间段开始到结束这段时间内数据表中的数据增加或减少的总量。

基于上述实施例,作为一种可选的实施例,步骤s2中将实际数据增量与预测的数据增量进行比对,监控数据表是否进行预警的具体步骤包括:将实际数据增量与预测的数据增量的比值减1作为偏差值,若偏差值的绝对值大于10%,对数据表进行预警。

具体地,将测得的实际数据增量与自回归积分滑动平均模型预测得到的数据增量进行比对,计算两者的偏差值的大小,获知该数据表是否应该进行预警。将实际数据增量与预测的数据增量的比值减1,即可得到两者的偏差值的大小,当偏差值的绝对值大于阈值10%时,可知实际数据增量与预测数据增量间的偏差值过大,则对该数据表进行预警,向相关的工作人员发送预警信息。需要说明的是,当阈值过小时,由于数据仓库中存在多个数据表,且每个数据表每天都有不同程度的数据量更新,将阈值设定过小,可能造成数据仓库频繁预警的现象;而当阈值过大时,可能有数据表中的数据产生了缺失遗漏但并未进行预警措施,因此,将阈值设定为10%,可以更有效地保障数据库的稳定性。

本发明实施例选定数据仓库中任一数据表的最优建模时间段建立自回归积分滑动平均模型,并将从数据仓库中采集的数据的实际增量与自回归积分滑动平均模型预测的增量进行比对,在实际增量与预测增量偏差过大时进行预警,实现了对数据仓库中的每个数据表的数据量都进行全方位的监控,可以更有效地预防数据缺失遗漏,能够有效保障数据仓库的稳定性。

参见图1,为本发明一个实施例的数据仓库的监控系统的结构示意图,包括:增量预测模块,获取数据仓库中的任一数据表,根据自回归积分滑动平均模型预测数据表在预测日的固定时间段内的数据增量,数据增量为数据表中数据的增加条数;增量比对模块,用于计算预测日在固定时间段内的实际数据增量,将实际数据增量与预测的数据增量进行比对,监控数据表是否进行预警。

具体地,在本发明实施例中,增量预测模块用于获取预测日中预测的固定时间段内数据表的数据增量,而增量对比模块用于获取预测日当天固定时间段内的实际数据增量,并将实际数据增量与预测的数据增量进行比对,判断两者间的偏差值是否属于正常范围,若不是,则对该数据表进行预警,以此来有效预防数据缺失遗漏。需要说明的是,对数据仓库中任一数据表进行具体的监控预警的实施步骤上述方法实施例已做详细说明,此处不再多做赘述。

本发明实施例通过本发明通过将从数据仓库中采集的数据的实际增量与自回归积分滑动平均模型预测的增量进行比对,在实际增量与预测增量偏差过大时进行预警,且实现了对数据仓库中的每个数据表的数据量都进行全方位的监控,可以有效保障数据仓库的稳定性。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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