分布式数据仓库监控方法、装置、电子设备和存储介质与流程

文档序号:14990598发布日期:2018-07-20 22:08阅读:144来源:国知局

本发明涉及数据库监控技术领域,特别涉及一种分布式数据仓库监控方法、装置、电子设备和存储介质。



背景技术:

随着电子商务的发展,例如京东、淘宝、亚马逊等,日常运营中生成、累积的大量用户、商品、生产相关的数据,呈现爆发式增长,数据结构也开始多元化,数据含有的信息量越来越多,公司对数据化运营也越来越关注。

数据仓库用于对数据进行分处理工作,发挥着巨大的作用。然而,大数据时代的降临,数据仓库慢慢转成分布式架构,以满足爆发式增长的计算及存储的要求。

由于分布式数据一般都是使用列式存储,并以文件的形式保存,从而提高了大数据的存储及计算性能。分布式数据仓库建设的成功与否在很大程度上取决于是否有一个稳固、全面、一致的数据模型,数据模型集成了各种数据源系统的数据,是支撑各种应用分析、数据产品等的基础。所以,数据模型各层级间的数据一致性,显得尤其重要。

使用数据抽取工具将原始数据系统数据抽取到hadoop本地服务器上,并抓取源系统的数据量(行数),然后在分布式数据仓库中建立对应的表并根据仓库的数据模型,接着执行hive脚本将生产数据转换后装载到分布式数据仓库的目标表中,同时,比对目标表中的数据量与抓取到的源系统的数据量是否一致。

上述数据一致性确定方法中,由于数据量巨大,抓取源系统的数据量,对源系统的正常运行会有影响,并且通过hive对每一层的数据进行count操作,会无谓的消耗集群的资源,带来资源巨大的浪费。



技术实现要素:

有鉴于此,本申请提供一种分布式数据仓库监控方法、装置、电子设备和存储介质,在不影响源系统的正常运行,且节省资源的情况下,实现分布式数据仓库中的数据与源系统中的数据的一致性判断。

为解决上述技术问题,本申请的技术方案是这样实现的:

一种分布式数据仓库监控方法,该方法包括:

配置监控列表,所述监控列表包含的监控内容为:数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控;

当监控周期开始时,按照配置的监控列表中的监控内容对分布式数据仓库进行监控;

当任一监控内容出现异常时,确定分布式数据仓库中的数据与源系统中的数据不一致,并将出现的异常以告警方式显示;

当所有监控内容均未出现异常时,确定分布式数据仓库中的数据与源系统中的数据一致。

一种分布式数据仓库监控装置,该装置包括:配置单元、监控单元和确定单元;

所述配置单元,用于配置监控列表,所述监控列表包含的监控内容为:数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控;

所述监控单元,用于当监控周期开始时,按照配置的监控列表中的监控内容对分布式数据仓库进行监控;

所述确定单元,用于当所述监控单元监控的任一监控内容出现异常时,确定分布式数据仓库中的数据与源系统中的数据不一致,并将出现的异常以告警方式显示;当所有监控内容均未出现异常时,确定分布式数据仓库中的数据与源系统中的数据一致。

一种电子设备,包括:至少一个中央处理器;以及,

与所述至少一个中央处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个中央处理器执行的指令,所述指令被所述至少一个中央处理器执行,以使所述至少一个中央处理器能够执行上述方法。

一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。

由上面的技术方案可知,本申请中通过对数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控,确定分布式数据仓库中的数据是否异常,来判断分布式数据仓库中的数据与源系统中的数据是否一致。在不影响源系统的正常运行,且节省资源的情况下,实现分布式数据仓库中的数据与源系统中的数据的一致性判断。

附图说明

图1为分布式数据仓库数据模型层级示意图;

图2为本申请实施例中分布式数据仓库监控流程示意图;

图3为本申请实施例中应用于上述技术的装置结构示意图;

图4为本申请实施例中电子设备的硬件结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。

本申请实施例中提供一种分布式数据仓库监控方法,通过对数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控,确定分布式数据仓库中的数据是否异常,来判断分布式数据仓库中的数据与源系统中的数据是否一致。在不影响源系统的正常运行,且节省资源的情况下,实现分布式数据仓库中的数据与源系统中的数据的一致性判断。

基于电子商务的分布式数据仓库,通过hadoop平台,利用hive作为分布式数据仓库的工具,数据模型可以如图1所述示,图1为分布式数据仓库数据模型层级示意图。

图1中,分布式数据仓库的数据模型包括:缓冲数据层(bdm)、基础数据层(fdm)、通用数据层(gdm)、聚合数据层(adm)、维度数据层(dim)和临时数据层(tmp);

其中,缓冲数据层,从源系统将数据抽取到缓冲数据层,数据以文件的形式入到hadoop本地,使用数据库查询的方式获取源数据库的预设时间段内更新的数据;

将缓冲数据层的数据通过拉链的方式加工到基础层数据;

根据业务主题,将基础层数据通过业务逻辑加工成主题数据存储到通用数据层;

按照维度,将基础层或通用层数据通过汇总逻辑加工成聚合数据存储到聚合数据层;

从源系统中抽取维度相关数据,存到维度数据层;

临时数据加工、存储在临时数据层。

图1为一种分布式数据仓库模型示例,本申请适用的分布式数据仓库并不限于这种架构的存储方式,针对图1中的分布式数据仓库模型,本申请实施例中监控的是缓冲数据层的数据;如果是其它分布式数据仓库模型,只要在与缓冲数据层功能一样的数据层执行监控即可。

本申请实施例中,为了描述方便,将实现分布式数据仓库监控的设备称为监控设备。

在监控设备执行监控之前,预先配置监控列表,配置的监控列表包含的监控内容为:数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控。

针对数据量监控,配置监控的数据名称、表名、时间字段、时间字段类型、统计项目、统计条件、监控时间;在具体实现时,监控程序会根据需要监控配置的内容拼接成相应的sql语句,待监控周期开始时,调度对应sql语句执行监控;

针对数据库的数据源表结构监控,配置监控的数据库的类型、数据库连接方式、数据库表名、对应数据库名;监控程序会根据这些配置到相应数据库中查看表结构信息,并与之前(配置时间点,或者最近一次保存的结果)保存的相应业务数据库信息进行比较;

数据源的表字段取值,即认为需要监控的重点字段的取值,可以根据实际应用,确定需要监控哪些字段的取值,则配置哪些数据源的表字段取值需要监控;

针对数据源的表字段取值监控,配置监控的数据库名、字段名称、数据类型内容;待监控周期开始时,监控设备通过监控程序会根据相关配置到数据库仓库中查看配置的字段取值,并与之前(配置的时间点,或最近一次保存的结果)保存的对应字段取值信息进行比较。

下面结合附图,详细描述本申请实施例中实现分布式数据仓库监控的过程。

参见图2,图2为本申请实施例中分布式数据仓库监控流程示意图。具体步骤为:

步骤201,当监控周期开始时,监控设备按照配置的监控列表中的监控内容对分布式数据仓库进行监控。

步骤202,当任一监控内容出现异常时,监控设备确定分布式数据仓库中的数据与源系统中的数据不一致,并将出现的异常以告警方式显示,结束本流程。

当监控到第一预设时间内数据量的增量为0,确定针对数据量监控时出现异常;当监控到第一预设时间内数据量的增量不为0,且确定当前数据量与同比数据量相比,数据量变化值大于预设阈值时,确定针对数据量监控时出现异常;这里的同比数据量,可以为与昨日的数据量,也可以是上周同日的数据量相比,还可以是根据实际应用配置具体时间的数据量相比。

当监控到数据源表的表结构发生变化时,确定针对数据库的数据源表结构监控时出现异常;表结构发生变化,包括下述任一字段,或任意组合发生变化:

新增字段、删除字段、修改字段类型、修改字段长度。具体实现时,还可以根据实际应用增加或减少相应字段是否变化的确定。

当监控到配置的数据库源表的字段取值变化时,确定针对数据源的表字段取值监控时出现异常。数据库源表的字段取值可以为维度表的取值,这些值的变化,表示业务出现了变化。

步骤203,当所有监控内容均未出现异常时,该监控设备确定分布式数据仓库中的数据与源系统中的数据一致。

本申请实施例中的监控周期根据分布式数据仓库运行的时间配置;若在配置的监控周期内,监控列表中的监控内容未执行完成,则等待第二预设时间,继续执行未完成的监控内容,确保监控及时性和完整性。

在以告警方式显示出现异常的监控内容时,告警方式可以为报表、邮件、短信等形式。

基于同样的发明构思,本申请实施例中还提出一种分布式数据仓库监控装置。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:配置单元301、监控单元302和确定单元303;

配置单元301,用于配置监控列表,所述监控列表包含的监控内容为:数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控;

监控单元302,用于当监控周期开始时,按照配置单元302配置的监控列表中的监控内容对分布式数据仓库进行监控;

确定单元303,用于当监控单元302监控的任一监控内容出现异常时,确定分布式数据仓库中的数据与源系统中的数据不一致,并将出现的异常以告警方式显示;当所有监控内容均未出现异常时,确定分布式数据仓库中的数据与源系统中的数据一致。

较佳地,

确定单元303,具体用于当监控到第一预设时间内数据量的增量为0,确定针对数据量监控时出现异常;当监控到第一预设时间内数据量的增量不为0,且确定当前数据量与同比数据量相比,数据量变化值大于预设阈值时,确定针对数据量监控时出现异常;当监控到数据源表的表结构发生变化时,确定针对数据库的数据源表结构监控时出现异常;当监控到配置的数据库源表的字段取值变化时,确定针对数据源的表字段取值监控时出现异常。

较佳地,

所述数据源表的表结构发生变化,包括下述任一字段,或任意组合发生变化:新增字段、删除字段、修改字段类型、修改字段长度。

较佳地,

配置单元301,具体用于针对数据量监控,配置监控的数据名称、表名、时间字段、时间字段类型、统计项目、统计条件、监控时间;针对数据库的数据源表结构监控,配置监控的数据库的类型、数据库连接方式、数据库表名、对应数据库名;针对数据源的表字段取值监控,配置监控的数据库名、字段名称、数据类型内容。

较佳地,

配置单元301,进一步用于根据分布式数据仓库运行的时间,配置监控周期;

监控单元302,进一步用于若在配置的监控周期内,监控列表中的监控内容未执行完成,则等待第二预设时间,继续执行未完成的监控内容。

上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。

基于同样的发明构思,本申请还提出一种分布式数据仓库监控电子设备。参见图4,图4为本申请实施例中电子设备的硬件结构示意图。

图4中所示的电子设备包括至少一个中央处理器401、存储器402。所述存储器402和所述至少一个中央处理器401通过总线连接,所述存储器402用于存储计算机指令,当所述电子设备运行时,所述至少一个中央处理器401执行所述存储器402存储的计算机指令,使得所述电子设备执行如图2所示的方法流程。

基于同样的发明构思,本申请还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemoryram)等。

综上所述,本申请通过对数据量监控、数据库的数据源表结构监控,以及数据源的表字段取值监控,确定分布式数据仓库中的数据是否异常,来判断分布式数据仓库中的数据与源系统中的数据是否一致。在不影响源系统的正常运行,且节省资源的情况下,实现分布式数据仓库中的数据与源系统中的数据的一致性判断。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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