首页> 中国专利> 一种Oracle数据仓库的查询方法及装置

一种Oracle数据仓库的查询方法及装置

摘要

本发明公开了一种Oracle数据仓库的查询方法及装置,该方法包括:控制台模块根据启动请求解析出接口配置参数;数据仓库接口模块根据接口配置参数建立与Oracle数据仓库的连接;参数管理模块进行系统参数设置和优化规则设置;指令调度模块依据系统参数生成初始调度指令;数据仓库查询模块执行初始调度指令中的查询计划;数据仓库分析模块对每个查询结果进行分析得到最优的查询方式;数据仓库优化模块生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令;指令调度模块按照目标调度指令执行对应的查询操作。由此可见,相对于现有技术中手工配置,本方法通过自动方式对数据仓库进行优化,降低了人工工作量,同时提升了查询数据仓库的效率。

著录项

  • 公开/公告号CN106407432A

    专利类型发明专利

  • 公开/公告日2017-02-15

    原文格式PDF

  • 申请/专利权人 郑州云海信息技术有限公司;

    申请/专利号CN201610859023.7

  • 发明设计人 刘景洋;

    申请日2016-09-28

  • 分类号G06F17/30;

  • 代理机构北京集佳知识产权代理有限公司;

  • 代理人罗满

  • 地址 450018 河南省郑州市郑东新区心怡路278号16层1601室

  • 入库时间 2023-06-19 01:32:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-07

    授权

    授权

  • 2019-12-20

    专利申请权的转移 IPC(主分类):G06F16/2453 登记生效日:20191203 变更前: 变更后: 申请日:20160928

    专利申请权、专利权的转移

  • 2017-03-15

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160928

    实质审查的生效

  • 2017-02-15

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,特别是涉及一种Oracle数据仓库的查询方法及装置。

背景技术

数据仓库是数据库中的一种,数据仓库是不可更新的,数据仓库主要是为决策分析提供数据,所涉及的操作主要是数据的查询。由于数据仓库中包含有大量的数据,在数据查询过程中,需要按照一定的查询路径进行,但是不同的查询路径所消耗的时间以及消耗的CPU、IO、内存等资源也不是同的。在具体实施中,查询的数据量越大,查询效率会逐渐降低,因此需要对数据仓库进行查询的优化,业内较为普遍的优化方法是首先对表进行分区(范围分区、散列分区、列表分区、range-hash组合分区、range-list分区),然后向表中插入大量的测试数据后进行HASH JOIN、MERGE JOIN、NESTED LOOP等方式查询,根据查询结果筛选出最优的方案。但是,由于优化工作的复杂性,如果采用手工配置,数据仓库查询优化难度高,工作量大。

由此可见,在数据仓库优化工作中如何提升数据仓库查询效率,减少优化时间,是本领域技术人员亟待解决地问题。

发明内容

本发明的目的是提供一种Oracle数据仓库的查询方法及装置,用于在数据仓库优化工作中如何提升数据仓库查询效率,减少优化时间。

为解决上述技术问题,本发明提供一种Oracle数据仓库的查询方法,包括:

控制台模块接收用户输入的启动请求,根据所述启动请求解析出接口配置参数;

数据仓库接口模块根据所述接口配置参数建立与Oracle数据仓库的连接;

参数管理模块根据所述启动请求进行系统参数设置和优化规则设置;

指令调度模块依据所述系统参数生成初始调度指令;

数据仓库查询模块执行所述初始调度指令中的查询计划,并记录每个查询结果;

数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式;

数据仓库优化模块在接收到所述最优的查询方式时生成最优查询策略信息,并将所述最优查询策略信息分解成具体的目标调度指令;

所述指令调度模块按照所述目标调度指令执行对应的查询操作。

优选地,所述数据仓库接口模块根据所述接口配置参数建立与Oracle数据仓库的连接具体为:通过JDBC/ODBC接口,采用TCP/IP标准协议建立与所述Oracle数据仓库的连接并实时监测连接状态。

优选地,所述参数管理模块根据所述启动请求进行系统参数设置和优化规则设置具体包括:

插入数据的数量、创建表空间的数量、表空间的参数以及优化分区选项、是否创建分区选项、查询方式选项。

优选地,所述指令调度模块依据所述系统参数生成初始调度指令具体包括:

指令调度模块将所述系统参数转换为所述Oracle数据仓库的DDL和DML语言以直接对所述Oracle数据仓库进行操作;

其中,该操作包括数据仓库表操作、数据仓库表空间操作、数据仓库表查询、所述查询计划。

优选地,所述数据仓库查询模块执行所述初始调度指令中的查询计划,并记录每个查询结果具体包括:

通过HASH JOIN、MERGE JOIN、NESTED LOOP查询方式对所述Oracle数据仓库执行所述查询计划;

记录查询语句的查询时间、HASH值、操作名称、查询行数、查询字节数、CPU使用率。

优选地,所述数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式具体包括:

获取每个查询结果中包含的查询时间、HASH值、操作名称、查询行数、查询字节数、CPU使用率,按照各个参数的权重得到每个查询结果的计算值,计算值中最高对应的查询方式为所述最优的查询方式。

优选地,还包括:所述控制台模块通过图形界面显示所述接口配置参数、所述系统参数设置以及所述最优的查询方式。

为解决上述技术问题,本发明提供一种Oracle数据仓库的查询装置,包括:

控制台模块,用于接收用户输入的启动请求,根据所述启动请求解析出接口配置参数;

数据仓库接口模块,用于根据所述接口配置参数建立与Oracle数据仓库的连接;

参数管理模块,用于根据所述启动请求进行系统参数设置和优化规则设置;

指令调度模块,用于依据所述系统参数生成初始调度指令,以及按照目标调度指令执行对应的查询操作;

数据仓库查询模块,用于执行所述初始调度指令中的查询计划,并记录每个查询结果;

数据仓库分析模块,用于对每个查询结果进行分析得到查询结果中最优的查询方式;

数据仓库优化模块,用于在接收到所述最优的查询方式时生成最优查询策略信息,并将所述最优查询策略信息分解成具体的目标调度指令。

本发明所提供的Oracle数据仓库的查询方法及装置,该方法,包括:控制台模块接收用户输入的启动请求,根据启动请求解析出接口配置参数;数据仓库接口模块根据接口配置参数建立与Oracle数据仓库的连接;参数管理模块根据启动请求进行系统参数设置和优化规则设置;指令调度模块依据系统参数生成初始调度指令;数据仓库查询模块执行初始调度指令中的查询计划,并记录每个查询结果;数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式;数据仓库优化模块在接收到最优的查询方式时生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令;所述指令调度模块按照所述目标调度指令执行对应的查询操作。由此可见,相对于现有技术中手工配置,本方法通过自动方式对数据仓库进行优化,降低了人工工作量,同时提升了查询数据仓库的效率。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种Oracle数据仓库的查询方法的流程图;

图2为本发明实施例提供的一种Oracle数据仓库的查询装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种Oracle数据仓库的查询方法及装置。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种Oracle数据仓库的查询方法的流程图。如图1所示,Oracle数据仓库的查询方法包括:

S10:控制台模块接收用户输入的启动请求,根据启动请求解析出接口配置参数。

在具体实施中,控制台模块与用户进行交互,负责接收用户的启动请求,启动请求中包含了接口配置参数等信息。控制台将解析出来的接口配置参数发送给数据仓库接口模块。

S11:数据仓库接口模块根据接口配置参数建立与Oracle数据仓库的连接。

在具体实施中,数据仓库接口模块需要按照接口配置参数进行连接,例如,如果接口配置参数中包括JDBC/ODBC接口,采用TCP/IP标准协议这些信息,则数据仓库接口模块就是通过JDBC/ODBC接口,采用TCP/IP标准协议建立与Oracle数据仓库的连接并实时监测连接状态。

数据仓库接口通过JDBC/ODBC接口进行连接,连接步骤如下:

1)安装数据仓库版本相应的JDBC/ODBC驱动包;

2)调用JDBC/ODBC API接口并输入数据仓库IP、数据仓库实例名、数据仓库用户名、数据仓库密码等信息生成数据仓库数据源;

3)部署工具程序并与数据源连接;

4)通过控制台界面检查是否与数据仓库建立连接;

5)保存数据仓库连接信息。

需要说明的是,这里的监测连接状态包括如下方面:

1)网络异常情况下此模块提示网络异常信息并诊断连接;

2)调度指令发送异常情况下此模块分析指令并重新发送;

3)数据仓库连接异常情况下此模块分析数据仓库连接异常并重新连接。

S12:参数管理模块根据启动请求进行系统参数设置和优化规则设置。

在具体实施中,参数管理模块根据启动请求进行系统参数设置和优化规则设置具体包括:插入数据的数量、创建表空间的数量(表空间的多少由参数管理模块优化规则而定)、表空间的参数以及优化分区选项、是否创建分区选项、查询方式选项。

其中,优化分区选项包括范围分区、散列分区、列表分区、range-hash组合分区、range-list组合分区。查询方式选项具体包括:HASH JOIN、MERGE JOIN、NESTED LOOP。

S13:指令调度模块依据系统参数生成初始调度指令。

在具体实施中,指令调度模块依据系统参数生成初始调度指令具体包括:指令调度模块将系统参数转换为Oracle数据仓库的DDL和DML语言以直接对Oracle数据仓库进行操作;其中,该操作包括数据仓库表操作、数据仓库表空间操作、数据仓库表查询、查询计划。

S14:数据仓库查询模块执行初始调度指令中的查询计划,并记录每个查询结果。

数据仓库查询模块执行初始调度指令中的查询计划,并记录每个查询结果具体包括:通过HASH JOIN、MERGE JOIN、NESTED LOOP查询方式对Oracle数据仓库执行查询计划;记录查询语句的查询时间、HASH值、操作名称、查询行数、查询字节数、CPU使用率。

步骤S14的工作原理如下:

1)数据仓库查询模块通过指令调度模块建立与Oracle数据仓库的连接;

2)抽取Oracle数据仓库的DML语言;

3)获取参数管理模块的系统参数和优化规则;

4)获取参数管理模块关于创建表空间(表空间的多少由参数管理模块的优化规则而定)的信息;

5)根据数据仓库DML创建数据仓库表并为表创建分区(数据仓库表为临时表并存放在临时表空间中);

6)分别向数据仓库表中插入数据(数据条数由参数管理模块的优化规则而定);

7)对表进行HASH JOIN、MERGE JOIN、NESTED LOOP查询并执行查询计划;

8)获取数据仓库查询模块的查询计划的查询时间、HASH值、操作名称、查询行数、查询字节数、CPU使用率。

S15:数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式。

在具体实施中,数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式具体包括:获取每个查询结果中包含的查询时间、HASH值、操作名称、查询行数、查询字节数、CPU使用率,按照各个参数的权重得到每个查询结果的计算值,计算值中最高对应的查询方式为最优的查询方式。

可以理解的是,步骤S15中可以获取很多查询结果,为了方便筛选,可以按照如下步骤进行筛选最优的查询方式:

1)按照优化规则对各个参数的结果由高到低排序;

2)按照优化规则将各个参数的排序结果制定由高到低的组合方案。

S16:数据仓库优化模块在接收到最优的查询方式时生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令。

数据仓库优化模块的其工作原理如下:

1)接收数据仓库分析模块分析的最优的查询方式;

2)根据最优的查询方式的各个参数组合方式分解成多个具体的目标调度指令。

将具体的目标调度指令发送到指令调试模块。

可以理解的是,指令调度模块将目标调度指令进行分析,生成数据仓库DML、DDL语言;并通过数据为接口发送给数据仓库从而完成查询工作。

S17:指令调度模块按照目标调度指令执行对应的查询操作。

由于目标调度指令就是根据最优查询方式得到的指令,因此,按照该指令完成相应的查询操作就是最优的方式。

作为优选地实施方式,还包括:

控制台模块通过图形界面显示接口配置参数、系统参数设置以及最优的查询方式。

显示接口配置参数的工作原理如下:

1)通过图形化界面可以直接选择数据仓库驱动包;

2)通过图形化界面可以直接对数据仓库进行连接配置;

3)与数据仓库接口通过JDBC/ODBC方式连接;

4)通过图形化界面显示数据仓库连接结果;

5)通过图形化界面显示并监控数据仓库连接状态;

显示系统参数设置的工作原理如下:

1)通过接口与参数管理模块连接;

2)通过图形化界面直接查看系统参数和优化规则;

3)通过图形化界面直接配置和调整系统参数和数据仓库优化规则;

显示最优的查询方式工作原理如下:

1)通过接口与数据仓库优化模块连接;

2)通过图形化界面显示最优的查询方式;

3)通过图形化界面显示数据仓库优化过程。

本发明实施例提供的Oracle数据仓库的查询方法,包括:控制台模块接收用户输入的启动请求,根据启动请求解析出接口配置参数;数据仓库接口模块根据接口配置参数建立与Oracle数据仓库的连接;参数管理模块根据启动请求进行系统参数设置和优化规则设置;指令调度模块依据系统参数生成初始调度指令;数据仓库查询模块执行初始调度指令中的查询计划,并记录每个查询结果;数据仓库分析模块对每个查询结果进行分析得到查询结果中最优的查询方式;数据仓库优化模块在接收到最优的查询方式时生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令;所述指令调度模块按照所述目标调度指令执行对应的查询操作。由此可见,相对于现有技术中手工配置,本方法通过自动方式对数据仓库进行优化,降低了人工工作量,同时提升了查询数据仓库的效率。

图2为本发明实施例提供的一种Oracle数据仓库的查询装置的结构图。如图2所示,Oracle数据仓库的查询装置包括:

控制台模块10,用于接收用户输入的启动请求,根据启动请求解析出接口配置参数;

数据仓库接口模块11,用于根据接口配置参数建立与Oracle数据仓库的连接;

参数管理模块12,用于根据启动请求进行系统参数设置和优化规则设置;

指令调度模块13,用于依据系统参数生成初始调度指令,以及按照目标调度指令执行对应的查询操作;

数据仓库查询模块14,用于执行初始调度指令中的查询计划,并记录每个查询结果;

数据仓库分析模块15,用于对每个查询结果进行分析得到查询结果中最优的查询方式;

数据仓库优化模块16,用于在接收到最优的查询方式时生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令。

如图2所示,数据仓库接口模块10的第一通信模块端口与数据仓库的第一通信模块端口相连,数据仓库接口模块10的第二通信模块端口与指令调度模块13第一通信模块端口相连,数据仓库接口模块10的第三通信模块端口与控制台模块10第三通信模块端口相连。参数管理模块12的第一通信端口与指令调度模块13的第二通信端口相连,参数管理模块12的第二通信端口与控制台模块10的第二通信端口相连。指令调度模块13的第三通信模块端口与数据仓库查询模块14的第一通信模块端口相连,指令调度模块13的第四通信模块端口与数据仓库优化模块16的第二通信模块端口相连。数据仓库查询模块14的第二通信模块端口与数据仓库分析模块15的第一通信模块端口相连。数据仓库分析模块15的第二通信模块端口与数据仓库优化模块16的第一通信模块端口相连,数据仓库优化模块16的第三通信模块端口与控制台模块10的第一通信模块端口相连。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本实施例提供的Oracle数据仓库的查询装置,包括:控制台模块,用于接收用户输入的启动请求,根据启动请求解析出接口配置参数;数据仓库接口模块,用于根据接口配置参数建立与Oracle数据仓库的连接;参数管理模块,用于根据启动请求进行系统参数设置和优化规则设置;指令调度模块,用于依据系统参数生成初始调度指令;数据仓库查询模块,用于执行初始调度指令中的查询计划,并记录每个查询结果;数据仓库分析模块,用于对每个查询结果进行分析得到查询结果中最优的查询方式;数据仓库优化模块,用于在接收到最优的查询方式时生成最优查询策略信息,并将最优查询策略信息分解成具体的目标调度指令;指令调度模块,用于按照所述目标调度指令执行对应的查询操作。由此可见,相对于现有技术中手工配置,本装置通过自动方式对数据仓库进行优化,降低了人工工作量,同时提升了查询数据仓库的效率。

以上对本发明所提供的Oracle数据仓库的查询方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号