数据仓库的查询处理方法及装置的制作方法

文档序号:6429837阅读:178来源:国知局
专利名称:数据仓库的查询处理方法及装置的制作方法
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据仓库的查询处理方法及
直O
背景技术
数据仓库(Data Warehouse,简称为DW)是决策支持系统(Decision Support System,简称为DSS)和联机分析应用数据源的结构化数据环境。数据仓库研究并解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。现有技术中,TERADATA作为全球最大的企业级数据仓库厂商,其数据仓库产品一直在各行业极具影响。数据仓库建设及使用的特性决定了其每日数据的提取、转换和加载(Extraction Transformation Loading,简称为ETL)过程需要消耗大量的资源,如果在数据仓库ETL过程中对数据仓库进行其他查询,会增大数据库的查询压力,影响ETL的速度。

发明内容
为了解决上述技术问题,本发明实施例提供一种数据仓库的查询处理方法,包括对预设的数据仓库的查询处理条件进行检测;当检测到已满足所述预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。一种数据仓库的查询处理装置,包括检测模块,用于对预设的数据仓库的查询处理条件进行检测;处理模块,用于当所述检测模块检测到已满足所述预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。本发明实施例的数据仓库的查询处理方法及装置,通过对预设的处理条件进行检测,当检测到满足条件时,才对非即时需求的查询进行处理。尽可能利用了系统的空闲时间执行非即时需求查询任务,有效减轻了数据仓库在ETL时系统查询的资源压力。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的数据仓库的结构示意图;图2为本发明一个实施例提供的数据仓库的查询处理方法流程图;图3为本发明一个实施例提供的数据仓库的查询处理装置结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示的本发明实施例提供的数据仓库的结构示意图,其中,ETL服务器对外围源系统发送的数据进行提取、转换、加载等处理,处理后的数据发送给数据仓库服务器进行。应用服务器可以从数据仓库服务器中获得应用需要的数据。文件传输协议(File Transfer Protocol,简称为FTP)服务器是应用服务器中的一种。图2为本发明一个实施例提供的数据仓库的查询处理方法流程图,如图2所示,该方法包括步骤101 数据仓库服务器对预设的数据仓库的查询处理条件进行检测;其中,在本发明实施例中,以三种预设的数据仓库的查询处理条件为例进行说明。第一种预设的数据仓库的查询处理条件为ETL服务器当前执行的ETL任务为预定任务,其中,预定任务在本发明实施例中可以指的是消耗系统资源低于第一预设值的任务。那么步骤101具体可以包括检索数据仓库服务器的数据库,该数据库中保存有各ETL 任务消耗系统资源的值,从数据库中找到ETL服务器当前执行的ETL任务,获得其消耗系统资源的值,并与第一预设值进行比较,如果低于第一预设值,则判定ETL服务器当前执行的 ETL任务为预定任务,即已满足预设的数据仓库的查询处理条件。第二种预设的数据仓库的查询处理条件为ETL服务器或者数据仓库服务器的中央处理器(Central Processing Unit,简称为CPU)或者内存或者输入输出(Input/ Output,简称为1/0)接口的占用率低于第二预设值。那么步骤101具体可以包括通过 ETL服务器(或者数据仓库服务器)的接口应用程序编程接口(Application Programming hterface,简称为API),获得ETL服务器(或者数据仓库服务器)的CPU、内存或者1/0接口的使用情况,当ETL服务器(或者数据仓库服务器)的CPU、内存或者1/0接口的占用率低于第二预设值时,则判定已满足预设的数据仓库的查询处理条件。第三种预设的数据仓库的查询处理条件为数据仓库服务器的任务序列中的预定任务被触发执行。该预定任务在任务序列中的位置处于所有重要任务之后,当所有重要任务执行完毕之后被自动触发执行该预定任务,该预定任务执行完毕后的结果是修改数据库中ETL_DATE表的字段数值,同时触发当天其任务序列下游非重要任务开始执行。那么步骤101具体可以包括检测数据库中ETL_DATE表的字段数值是否被置位,如果被置位,说明 ETL任务中所有重要任务都已经运行完毕,所以已满足预设的数据仓库的查询处理条件。步骤102 当检测到已满足该预设的数据仓库的查询处理条件时,数据仓库服务器对非即时需求的查询进行处理。其中,对非即时需求的查询进行处理可以理解为执行一条非即时查询任务。执行完成后,重新执行步骤101,直至全部非即时需求查询任务都执行完毕。进一步的,在上述实施例的基础上,在步骤101之前,该方法还可以包括如下步骤
步骤100 在数据仓库服务器的数据库中创建任务序列表,将所有非即时需求的查询语句更新到任务序列表中;其中,任务序列表用于存储查询语句的任务序列顺序。可以在任务序列表中通过置标志位的方式对查询语句的任务类型属性进行标识。即不同查询语句具有不同的任务类型属性,标志位是为了区分任务类型属性的,比如执行一次、每天执行、每周执行、执行多次寸。进一步的,在上述实施例的基础上,在步骤102之后,该方法还可以包括如下步骤步骤103 将处理结果生成结果文件,上传至应用服务器,并将结果文件的文件名及存储路径存入数据仓库服务器的数据库中。这里优选生成TXT格式的结果文件,其他文件格式如word、excel等也是可以。作为应用服务器的一部分,结果文件可以上传至指定的FTP服务器中。用户可以通过页面程序检索数据仓库服务器的数据库,得知自己所需要执行的任务是否已执行完毕,并获得该文件的下载地址。本发明实施例提供了一种数据仓库的查询处理方法,通过对预设的处理条件进行检测,当检测到满足条件时,才对非即时需求的查询进行处理。尽可能利用了系统的空闲时间执行非即时需求查询任务,有效减轻了数据仓库在执行ETL时系统查询的资源压力。图3为本发明一个实施例提供的数据仓库的查询处理装置结构示意图,该装置可以是数据仓库服务器,也可以是独立于数据仓库服务器的其他实体设备,此处不做赘述。如图3所示,该装置包括检测模块301和处理模块302。其中,检测模块301用于对预设的数据仓库的查询处理条件进行检测;处理模块302用于当检测模块301检测到已满足预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。一种实施方式下,该预设的数据仓库的查询处理条件为ETL服务器当前执行的 ETL任务为预定任务,该预定任务为消耗系统资源低于第一预设值的任务。相应的,检测模块301用于检索数据仓库服务器的数据库,在数据库中获得该ETL服务器当前执行的ETL 任务及其消耗系统资源的值,判断该ETL任务消耗系统资源的值是否低于第一预设值,如果低于第一预设值,则说明已满足预设的数据仓库的查询处理条件。另一种实施方式下,该预设的数据仓库的查询处理条件为ETL服务器或者数据仓库服务器的CPU或者内存或者I/O接口的占用率低于第二预设值。相应的,检测模块301 用于通过检测ETL服务器或者数据仓库服务器的API接口获得ETL服务器或者数据仓库服务器的CPU或者内存或者I/O接口的占用率,如果该占用率低于第二预设值,则说明已满足预设的数据仓库的查询处理条件。再一种实施方式下,该预设的数据仓库的查询处理条件为数据仓库服务器的任务序列中的预定任务被触发执行,并修改数据库中的预定标志位;相应的,该检测模块301 用于检测预定标志位是否已置位;如果已置位,则说明已满足预设的数据仓库的查询处理条件。在上述实施方式的基础上,该装置进一步可以包括更新模块,该更新模块用于在数据仓库服务器的数据库中创建任务序列表,将所有非即时需求的查询语句更新到任务序列表中。
在上述实施方式的基础上,该装置进一步可以包括保存模块,该保存模块用于将处理结果生成结果文件,上传至应用服务器,并将该结果文件的文件名及存储路径存入到数据库中。本发明实施例提供了一种数据仓库的查询处理装置,通过对预设的处理条件进行检测,当检测到满足条件时,才对非即时需求的查询进行处理。尽可能利用了系统的空闲时间执行非即时需求查询任务,有效减轻了数据仓库在执行ETL时系统查询的资源压力。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种数据仓库的查询处理方法,其特征在于,包括 对预设的数据仓库的查询处理条件进行检测;当检测到已满足所述预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。
2.根据权利要求1所述的方法,其特征在于,所述预设的数据仓库的查询处理条件为 提取、转换和加载ETL服务器当前执行的ETL任务为预定任务,所述预定任务为消耗系统资源低于第一预设值的任务;相应的,所述对预设的数据仓库的查询处理条件进行检测包括 检索数据仓库服务器的数据库,在所述数据库中获得所述ETL服务器当前执行的ETL 任务及其消耗系统资源的值,判断所述消耗系统资源的值是否低于第一预设值; 如果是,则已满足所述预设的数据仓库的查询处理条件。
3.根据权利要求1所述的方法,其特征在于,所述预设的数据仓库的查询处理条件为 提取、转换和加载ETL服务器或者数据仓库服务器的中央处理器CPU或内存或输入输出I/ 0接口的占用率低于第二预设值;相应的,所述对预设的数据仓库的查询处理条件进行检测包括 通过检测ETL服务器或者数据仓库服务器的应用程序编程接口 API获得所述ETL服务器或数据仓库服务器的CPU或内存或I/O接口的占用率;如果所述占用率低于所述第二预设值,则已满足所述预设的数据仓库的查询处理条件。
4.根据权利要求1所述的方法,其特征在于,所述预设的数据仓库的查询处理条件为 数据仓库服务器的任务序列中的预定任务被触发执行,并修改所述数据仓库服务器的数据库中的预定标志位;相应的,所述对预设的数据仓库的查询处理条件进行检测包括 检测所述预定标志位是否已置位; 如果是,则已满足所述预设的数据仓库的查询处理条件。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述对预设的数据仓库的查询处理条件进行检测之前,所述方法还包括在数据仓库服务器的数据库中创建任务序列表,将所有非即时需求的查询语句更新到所述任务序列表中。
6.根据权利要求1至4中任一项所述的方法,所述对非即时需求的查询进行处理之后, 所述方法还包括将处理结果生成为结果文件,上传至应用服务器,并将所述结果文件的文件名及存储路径存入到所述数据仓库服务器的数据库中。
7.一种数据仓库的查询处理装置,其特征在于,包括检测模块,用于对预设的数据仓库的查询处理条件进行检测; 处理模块,用于当所述检测模块检测到已满足所述预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。
8.根据权利要求7所述的装置,其特征在于,所述预设的数据仓库的查询处理条件为 提取、转换和加载ETL服务器当前执行的ETL任务为预定任务,所述预定任务为消耗系统资源低于第一预设值的任务;相应的,所述检测模块用于检索数据仓库服务器的数据库,在所述数据库中获得所述 ETL服务器当前执行的ETL任务及其消耗系统资源的值,判断所述消耗系统资源的值是否低于第一预设值;如果是,则已满足所述预设的数据仓库的查询处理条件。
9.根据权利要求7所述的装置,其特征在于,所述预设的数据仓库的查询处理条件为 提取、转换和加载ETL服务器或者数据仓库服务器的中央处理器CPU或内存或输入输出I/ 0接口的占用率低于第二预设值;相应的,所述检测模块用于通过检测ETL服务器或者数据仓库服务器的应用程序编程接口 API获得所述ETL服务器或数据仓库服务器的CPU或内存或I/O接口的占用率; 如果所述占用率低于所述第二预设值,则已满足所述预设的数据仓库的查询处理条件。
10.根据权利要求7所述的装置,其特征在于,所述预设的数据仓库的查询处理条件为数据仓库服务器的任务序列中的预定任务被触发执行,并修改数据库中的预定标志位;相应的,所述检测模块用于检测所述预定标志位是否已置位; 如果是,则已满足所述预设的数据仓库的查询处理条件。
11.根据权利要求7至10中任一项所述的装置,其特征在于,还包括更新模块,用于在数据仓库服务器的数据库中创建任务序列表,将所有非即时需求的查询语句更新到所述任务序列表中。
12.根据权利要求7至10中任一项所述的装置,其特征在于,还包括保存模块,用于将处理结果生成为结果文件,上传至应用服务器,并将所述结果文件的文件名及存储路径存入到所述数据仓库服务器的数据库中。
全文摘要
本发明提供一种数据仓库的查询处理方法及装置。方法包括对预设的数据仓库的查询处理条件进行检测;当检测到已满足所述预设的数据仓库的查询处理条件时,对非即时需求的查询进行处理。装置包括检测模块和处理模块。本发明实施例提供的方案,有效解决现有技术中数据仓库在ETL过程中无法快速执行其他查询的问题,实现查询处理的动态优化。
文档编号G06F17/30GK102270235SQ20111021818
公开日2011年12月7日 申请日期2011年8月1日 优先权日2011年8月1日
发明者张晓勇, 朱江, 李凡, 李炅宇, 赵俊 申请人:中国民生银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1