一种数据集市间共享数据的方法及装置的制造方法

文档序号:9375778阅读:482来源:国知局
一种数据集市间共享数据的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及数据库技术领域,尤其涉及一种数据集市间共享数据的方法及
目.0
【背景技术】
[0002]随着企业业务的发展,会产生大量的业务数据,通常企业会选择建立数据仓库来收集数据,并按主题划分存储这些数据。而企业中各个部门会有特定的数据需求,需要将数据仓库中收集的数据,通过一定逻辑加工后,推送到部门的数据集市中。参见图1所示,数据仓库和数据集市是一对多的关系,一份数据仓库中的数据,需要推送到多个部门的数据集市。
[0003]现有技术中,一般是采用配置一对一的数据推送任务脚本的方式,将数据仓库中的数据,按照一表一集市一任务的方式推送到数据集市。具体过程如下:
[0004]步骤一、在需要推送数据的数据集市中,将每个表配置推送规则,初始化相关的元数据和映射关系;
[0005]步骤二、按照一表一集市一任务的方式,为每个数据集市的每个表编写相关的数据推送脚本,并且在数据仓库的调度系统中部署这些脚本;
[0006]步骤三、按照数据推送规则,调度运行数据推送脚本,将数据拷贝到各个数据集市,在每个数据集市内形成一个数据文件副本。
[0007]由于针对每个数据集市,需要一份独立的数据文件副本,随着数据集市个数不断增加,相同数据的数据文件副本数越来越多,浪费数据集市的存储资源;同时,也增加数据的管理难度。并且,当数据仓库数据错误或其他原因,需要修复时,同时需要修复每个数据集市的数据文件副本,增加数据维护成本,也非常容易造成某些数据集市的数据文件副本没有及时更新,导致数据不一致。

【发明内容】

[0008]本发明提供一种数据集市间共享数据的方法及装置,以实现多个数据集市间数据共享的目的,避免了存储资源的浪费,解决了数据集市间数据访问的一致性问题。
[0009]第一方面,本发明实施例提供了一种数据集市间共享数据的方法,包括:
[0010]从数据仓库中抽取数据文件,将所述数据文件复制到预先设置的集市存储共享区,作为所述数据文件的一个副本文件;
[0011]在数据集市服务器中创建与所述集市存储共享区内的所述副本文件对应的外部表,所述外部表中包含指向所述集市存储共享区内的所述副本文件的存储路径,以使数据集市通过查询所述外部表获取与所述外部表对应的副本文件。
[0012]第二方面,本发明实施例还提供了一种数据集市间共享数据的装置,包括:
[0013]数据文件复制单元,用于从数据仓库中抽取数据文件,将所述数据文件复制到预先设置的集市存储共享区,作为所述数据文件的一个副本文件;
[0014]副本文件查找单元,用于在数据集市服务器中创建与所述集市存储共享区内的所述副本文件对应的外部表,所述外部表中包含指向所述集市存储共享区内的所述副本文件的存储路径,以使数据集市通过查询所述外部表获取与所述外部表对应的副本文件。
[0015]本发明通过从数据仓库中抽取数据文件,将所述数据文件复制到预先设置的集市存储共享区,作为所述数据文件的一个副本文件,创建与所述副本文件对应的外部表,所述外部表中包含指向所述集市存储共享区内的所述副本文件的存储路径,以使数据集市通过查询所述外部表获取与所述外部表对应的副本文件,从而实现需要访问相同数据文件的数据集市可以访问同一份副本文件,避免为每个数据集市创建一份与所述数据文件对应的副本文件,实现了多个数据集市间数据共享的目的,同时,避免了数据集市服务器的存储资源浪费的问题;以及,仅有一份与数据文件对应的副本文件,避免由于相同数据文件的副本文件较多,在数据修复时,容易造成某些数据集市的数据文件的副本文件没有及时更新而导致数据不一致的问题,有效的保证了数据的一致性。
【附图说明】
[0016]图1为现有技术中数据仓库和数据集市之间的数据文件推送方式示意图;
[0017]图2是本发明实施例一中的一种数据集市间共享数据的方法的流程图;
[0018]图3是本发明实施例二中的一种数据集市间共享数据的方法的流程图;
[0019]图4是本发明实施例二中的一种数据集市间共享数据的方法的示意图;
[0020]图5是本发明实施例三中的一种数据集市间共享数据的装置的结构示意图。
【具体实施方式】
[0021]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0022]实施例一
[0023]图2为本发明实施例一提供的一种数据集市间共享数据的方法的流程图,本实施例可适用于不同数据集市之间共享数据仓库推送的数据文件的情况,该方法可以由数据集市间共享数据的装置来执行,该装置被配置于数据集市服务器中,可以由硬件和/或软件的方式实现。所述数据集市间共享数据的方法具体包括如下步骤:
[0024]步骤110、从数据仓库中抽取数据文件,将所述数据文件复制到预先设置的集市存储共享区,作为所述数据文件的一个副本文件。
[0025]其中,数据仓库是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合,即数据仓库是一个环境,而不是一件产品,提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。所述预先设置的集市存储共享区可以是在所述数据集市服务器中划分出来的独立的存储所述副本文件的存储空间,或者以其它方式创建的保证存储于所述集市存储共享区中的副本文件与所述数据集市位于相同的数据集群中的存储空间。所述数据集市是按照某一特定部门的决策支持需求而组织起来的、针对一组主题的应用系统。例如,财务部拥有自己的数据集市,用来进行财务方面的报表和分析,市场推广部、销售部等也拥有各自专用的数据集市,用来为本部门的决策支持提供辅助手段。所述数据集市服务器是构建所述数据集市所需的服务器的集群。
[0026]通过预先编写的脚本文件访问数据仓库以获取所需要的数据文件,将所述数据文件拷贝到预先设置的集市存储共享区,作为所述数据文件的一个副本文件,目的是供需要访问所述数据文件的不同的数据集市共享所述数据文件。在执行完脚本文件将从数据仓库中抽取的数据文件复制到所述集市存储共享区之后,需要确定所述数据仓库中所抽取的数据文件是否发生修改,以便在所述数据文件被修改后及时更新所述集市共享区内的副本文件。例如,实时监测所述数据仓库内所抽取的数据文件的状态,在所述数据仓库内的数据文件发生变化时,再通过预先编写的脚本文件抽取变化后的数据文件以更新所述集市存储共享区内的副本文件,其中,所述数据仓库和所述集市存储共享区均采用分布式文件系统架构存储数据文件。
[0027]步骤120、在数据集市服务器中创建与所述集市存储共享区内的所述副本文件对应的外部表,所述外部表中包含指向所述集市存储共享区内的所述副本文件的存储路径,以使数据集市通过查询所述外部表获取与所述外部表对应的副本文件。
[0028]所述外部表是不存在于数据库中的表,是对数据库表的延伸。通过EXTERNAL (外部的)关键字可以为用户创建一个外部表,在建表的同时指定一个指向实际数据的存储路径(LOCAT1N),仅记录数据所在的路径,不对数据的位置做任何改变。例如,在所述数据集市服务器共享区外的各个集市中通过数据仓库工具创建外部表,将所述外部表中文件的存储路径(LOCAT1N)指向所述集市存储共享区内的所述副本文件。其中,所述数据仓库工具可以是基于分布式文件系统(Hadoop)的工具。所述集市通过查询与该集市对应的外部表即可获得与所述外部表对应的副本文件。
[0029]本实施例的技术方案,通过从数据仓库中抽取数据文件,并复制到预先设置的集市存储共享区作为所述数据文件的一个副本文件,创建与所述副本文件对应的外部表,所述外部表中包含指向所述集市存储共享区内的所述副本文件的存储路径,以使数据集市通过查询所述外部表获取与所述外部表对应的副本文件,从而实现需要访问相同数据文件的数据集市可以访问同一份副本文件,避免为每个数据集市创建一份与所述数据文件对应的副本文件,实现了多个数据集市间数据共享的目的,同时,避免了数据集市服务器的存储资源浪费的问题;以及,仅有一份与数据文件对应的副本文件,避免由于相同数据文件的副本文件较多,在数据修复时,容易造成某些数据集市的数据文件的副本文件没有及时更新而导致数据不一致的问题,有效的保证了数据的一致性。
[0030]实施例二
[0031]图3是本发明实施例二中的一种数据集市间共享数据的方法的流程图。参见图3所示,所述数据集市间共享数据的方法,具体包括如下步骤:
[0032]步骤310、按照数据推送规则,运行数据推送脚本,从数据仓库中抽取数据文件并复制到预先设置的集市存储共享区,作为所述数据文件的一个副本文件。
[0033]企业中各个部门会有特定的数据需求,根据所述数据需求制定数据推送规则。按照所述数据推送规则调度运行数据推送脚本,从数据仓库中抽取数据文件并拷贝到预设的集市存储共享区。将所述集市存储共享区内的数据文件作为所述数据仓库内的所抽取的数据文件的一个副本文件。
[0034]步骤320、判断所述数据文件是否更新,若是,则执行步骤330,若否,则执行步骤340。
[0035]由于各个数据源的数据不是一成不变的,在数据源的数据发生变化时,所述数据仓库内的数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1