CN109408538B - 云平台中自动发放云组件实现大规模融合查询方法及*** - Google Patents
云平台中自动发放云组件实现大规模融合查询方法及*** Download PDFInfo
- Publication number
- CN109408538B CN109408538B CN201811228367.3A CN201811228367A CN109408538B CN 109408538 B CN109408538 B CN 109408538B CN 201811228367 A CN201811228367 A CN 201811228367A CN 109408538 B CN109408538 B CN 109408538B
- Authority
- CN
- China
- Prior art keywords
- query
- time
- component
- data
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种云平台中自动发放云组件实现大规模融合查询方法,其包括如下步骤:S1、进行基于SQL查询的代价分析;S2、计算HIVE存储代价和PrestoDB查询代价;S3、自动发放相关云组件并配置组件参数;S4、执行组件将最终查询结果返回到指定的数据库表中;S5、在执行完毕后,回收云组件。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种云平台中自动发放云组件实现大规模融合查询方法及***。
背景技术
随着物联网和大数据的发展,数据规模快速增长,数据结构多种多样,数据正在提供越来越重要的价值,而这些数据的融合与分析也受到越来越多的重视,相关的方法和技术在不断的快速发展。
海量数据是指巨大、浩瀚的数据。目前,大多数的应用都要与数据库相连接,通过查询等操作得到数据预期结果。当达到一定的数据量、符合查询条件较多或多人同时在线查询时,从数据库中查询统计通常需要花费较长时间,这意味这造成高额的时间成本;另外,数据库***的性能以及数据组织管理能力也会因此大为减弱,甚至会造成内存溢出或***崩溃。目前的关系数据库技术,单表的数据量最大承载量大概在千万级,再大的数据量时数据库的查询性能急剧下降,甚至无法查询。
比如某业务***归集了17个地市的业务数据,每个地市的业务数据量都超过了1000万,而这些业务数据表结构相同,则需要进行多个审计SQL的融合查询,由于数据量大,现有业务***无法承载大数据量的查询需求。
发明内容
有鉴于此,本发明提出一种云平台中自动发放云组件实现大规模融合查询方法及***。
一种云平台中自动发放云组件实现大规模融合查询方法,其包括如下步骤:
S1、进行基于SQL查询的代价分析;
S2、计算HIVE存储代价和PrestoDB查询代价;
S3、自动发放相关云组件并配置组件参数;
S4、执行组件将最终查询结果返回到指定的数据库表中;
S5、在执行完毕后,回收云组件。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S1包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S2包括:
根据表的数据量获得存入HIVE中所消耗的时间;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,跳转到步骤S3;否则在关系数据库中查询并返回结果数据并结束。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S3包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S4包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,所述步骤S5包括
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
本发明还一种云平台中自动发放云组件实现大规模融合查询***,其包括如下单元:
代价分析单元,用于进行基于SQL查询的代价分析;
代价计算单元,用于计算HIVE存储代价和PrestoDB查询代价;
组件发放单元,用于自动发放相关云组件并配置组件参数;
数据查询单元,用于执行组件将最终查询结果返回到指定的数据库表中;
组件回收单元,用于在执行完毕后,回收云组件。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述代价分析单元包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述代价计算单元包括:
根据表的数据量获得存入HIVE中所消耗的时间;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,执行组件发放单元的功能;否则在关系数据库中查询并返回结果数据并结束。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述组件发放单元包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数;
所述数据查询单元包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据;
所述组件回收单元包括:
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
实施本发明提供的云平台中自动发放云组件实现大规模融合查询方法及***与现有技术相比具有以下有益效果:
能够实现根据预设规则,自动部署云主机、软件服务等各种服务的过程,并能够使得业务***能够承载大数据量的查询。
附图说明
图1是云平台中自动发放云组件实现大规模融合查询方法流程图。
具体实施方式
如图1所示,一种云平台中自动发放云组件实现大规模融合查询方法,其包括如下步骤:
S1、进行基于SQL查询的代价分析;
可选地,代价分析可以基于DM7的代价计算器。
S2、计算HIVE存储代价和PrestoDB查询代价;
S3、自动发放相关云组件并配置组件参数;
自动发放是指在云平台中,根据用户申请或某种程序规则,自动部署云主机、软件服务等各种服务的过程。这里的自动是相对于传统而言,在传统的***平台中,需要人工手动创建并部署主机、手动部署应用服务等。
S4、执行组件将最终查询结果返回到指定的数据库表中;
S5、在执行完毕后,回收云组件。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S1包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置。T_QUERY_TIME数据为历史经验值。
可以预先配置作为基础数据。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S2包括:
根据表的数据量获得存入HIVE中所消耗的时间;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,跳转到步骤S3;否则在关系数据库中查询并返回结果数据并结束。实施本步骤能够实现智能判断,按需启动云平台融合查询。
本发明的步骤只会存在2条执行路径:
执行路径一:S1—>S2—>结束。
执行路径二:S1—>S2—>S3—>S4—>S5—>结束。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S3包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数。
DMETL和DMUDB都是达梦的产品,产品的功能和特点以***的方式对外公开。
参数包括:
1、DMETL组件包含的参数:
源数据库连接信息:用来连接源头数据库,一般是关系数据库。
表结构信息:用于抽取数据。
目的数据库连接信息:用于连接目的数据库Hive。
存储结构信息:用于在Hive中存储数据。
2、DMUDB组件包含的参数:
源数据库连接信息:用来连接源数据库Hive。
表结构信息:Hive中存储数据的结构信息。
查询语句:用于查询数据的SQL语句。
存储结果数据的数据库信息:最终查询结果存储的目的数据库的连接信息,一般是关系数据库。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,
所述步骤S4包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据。
在本发明所述的云平台中自动发放云组件实现大规模融合查询方法中,所述步骤S5包括
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
例:某业务***按多个(比如17个)地市分开独立部署(共部署了17个***),归集了17个地市的业务数据,表结构相同,需要对所有审计日志进行查询。
目前大致有两种实现方式:
传统的方法,将所有数据汇集到一个数据库表中,然后对这个汇总表进行查询。此方法可能会消耗很长时间(例如24小时)或无法执行(例如数据库崩溃)。
第二种:将所有数据汇集到HIVE中存储,利用分布式大数据SQL查询引擎PrestoDB进行查询,支持PB级(250PB)大数据的交互式查询,极大缩短查询时间。
本发明还一种云平台中自动发放云组件实现大规模融合查询***,其包括如下单元:
代价分析单元,用于进行基于SQL查询的代价分析;
代价计算单元,用于计算HIVE存储代价和PrestoDB查询代价;
组件发放单元,用于自动发放相关云组件并配置组件参数;
数据查询单元,用于执行组件将最终查询结果返回到指定的数据库表中;
组件回收单元,用于在执行完毕后,回收云组件。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述代价分析单元包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述代价计算单元包括:
根据表的数据量获得存入HIVE中所消耗的时间;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,执行组件发放单元的功能;否则在关系数据库中查询并返回结果数据并结束。
在本发明所述的云平台中自动发放云组件实现大规模融合查询***中,
所述组件发放单元包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数;
所述数据查询单元包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据;
所述组件回收单元包括:
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
实施本发明提供的云平台中自动发放云组件实现大规模融合查询方法及***与现有技术相比具有以下有益效果:
能够实现根据预设规则,自动部署云主机、软件服务等各种服务的过程,并能够使得业务***能够承载大数据量的查询。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
Claims (4)
1.一种云平台中自动发放云组件实现大规模融合查询方法,其特征在于,其包括如下步骤:
S1、进行基于SQL查询的代价分析;
S2、计算HIVE存储代价和PrestoDB查询代价;
S3、自动发放相关云组件并配置组件参数;
S4、执行组件将最终查询结果返回到指定的数据库表中;
S5、在执行完毕后,回收云组件;
所述步骤S1包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置;
所述步骤S2包括:
根据表的数据量获得存入HIVE中所消耗的时间H_INSERT_TIME;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,跳转到步骤S3;否则在关系数据库中查询并返回结果数据并结束;
所述步骤S3包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数;
所述步骤S4包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据。
2.如权利要求1所述的云平台中自动发放云组件实现大规模融合查询方法,其特征在于,
所述步骤S5包括
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
3.一种云平台中自动发放云组件实现大规模融合查询***,其特征在于,其包括如下单元:
代价分析单元,用于进行基于SQL查询的代价分析;
代价计算单元,用于计算HIVE存储代价和PrestoDB查询代价;
组件发放单元,用于自动发放相关云组件并配置组件参数;
数据查询单元,用于执行组件将最终查询结果返回到指定的数据库表中;
组件回收单元,用于在执行完毕后,回收云组件;
所述代价分析单元包括:
获取业务***中SQL查询中的表的数量T_NUM;
根据每个表的数据量获得单表查询所消耗的时间T_QUERY_TIME,并作为参数预先配置;
所述代价计算单元包括:
根据表的数据量获得存入HIVE中所消耗的时间H_INSERT_TIME;
根据表的数据量获得在PrestoDB中查询所消耗的时间P_QUERY_TIME;
计算H_INSERT_TIME和P_QUERY_TIME之和P_TOTAL_TIME;
判断P_TOTAL_TIME与T_QUERY_TIME的大小关系,在P_TOTAL_TIME小于T_QUERY_TIME时,执行组件发放单元的功能;否则在关系数据库中查询并返回结果数据并结束;
所述组件发放单元包括:
自动发放DMETL组件和DMUDB组件,并自动配置DMETL组件和DMUDB组件的参数;
所述数据查询单元包括:
执行DMETL组件,实现将数据抽取并***到HIVE中;
执行DMUDB组件,实现数据查询操作,并将结果数据缓存到指定的数据表中;
通知业务***执行完毕,到指定的数据库表中取结果数据。
4.如权利要求3所述的云平台中自动发放云组件实现大规模融合查询***,其特征在于,
所述组件回收单元包括:
业务***提取结果数据,并通知云平台执行完毕;
云平台收到执行完毕的通知后,自动回收已发放的DMETL组件和DMUDB组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811228367.3A CN109408538B (zh) | 2018-10-22 | 2018-10-22 | 云平台中自动发放云组件实现大规模融合查询方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811228367.3A CN109408538B (zh) | 2018-10-22 | 2018-10-22 | 云平台中自动发放云组件实现大规模融合查询方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408538A CN109408538A (zh) | 2019-03-01 |
CN109408538B true CN109408538B (zh) | 2021-06-22 |
Family
ID=65468593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811228367.3A Active CN109408538B (zh) | 2018-10-22 | 2018-10-22 | 云平台中自动发放云组件实现大规模融合查询方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408538B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981792A (zh) * | 2019-04-09 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于云平台的业务处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330921A (zh) * | 2016-08-26 | 2017-01-11 | 重庆蓝盾电子技术服务公司 | 车辆管理查验***的工作方法 |
CN108388666A (zh) * | 2018-03-16 | 2018-08-10 | 重庆邮电大学 | 一种基于萤火虫算法的数据库多表连接查询优化方法 |
CN108595254A (zh) * | 2018-03-09 | 2018-09-28 | 北京永洪商智科技有限公司 | 一种查询调度方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429151B2 (en) * | 2010-11-22 | 2013-04-23 | Ianywhere Solutions, Inc. | Highly adaptable query optimizer search space generation process |
CN102917038B (zh) * | 2012-10-10 | 2015-06-10 | 江苏物联网研究发展中心 | 基于云计算的医疗物联网远程服务*** |
CN103729199A (zh) * | 2012-10-11 | 2014-04-16 | 天津恒星科技有限公司 | 一种erp软件中动态部署云计算组件的方法 |
US10585890B2 (en) * | 2016-10-27 | 2020-03-10 | International Business Machines Corporation | Generation of query execution plans |
CN107301205A (zh) * | 2017-06-01 | 2017-10-27 | 华南理工大学 | 一种大数据分布式实时查询方法及*** |
-
2018
- 2018-10-22 CN CN201811228367.3A patent/CN109408538B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330921A (zh) * | 2016-08-26 | 2017-01-11 | 重庆蓝盾电子技术服务公司 | 车辆管理查验***的工作方法 |
CN108595254A (zh) * | 2018-03-09 | 2018-09-28 | 北京永洪商智科技有限公司 | 一种查询调度方法 |
CN108388666A (zh) * | 2018-03-16 | 2018-08-10 | 重庆邮电大学 | 一种基于萤火虫算法的数据库多表连接查询优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109408538A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019396B (zh) | 一种基于分布式多维分析的数据分析***及方法 | |
CN109492266B (zh) | 标准件模型数据的优化设计方法、装置及设备 | |
CN103942210B (zh) | 海量日志信息的处理方法、装置与*** | |
CN104182405B (zh) | 一种连接查询方法及装置 | |
CN111382226A (zh) | 一种数据库查询检索方法、装置和电子设备 | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
CN104809202A (zh) | 一种数据库同步的方法和装置 | |
CN113392646A (zh) | 一种数据中台***、构建方法及装置 | |
CN102521374B (zh) | 基于关系型联机分析处理的智能数据聚集方法及其*** | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN103177035A (zh) | 一种在数据库中查询数据的装置及方法 | |
CN108197187B (zh) | 查询语句的优化方法、装置、存储介质和计算机设备 | |
CN101957860B (zh) | 一种发布、搜索信息的方法及装置 | |
CN110442597A (zh) | 一种汽车配件精准查找方法 | |
CN109408538B (zh) | 云平台中自动发放云组件实现大规模融合查询方法及*** | |
CN107871055B (zh) | 一种数据分析方法和装置 | |
CN105302827A (zh) | 一种事件的搜索方法和设备 | |
CN117056428A (zh) | 一种分区表的自动扩展方法、装置、服务器 | |
CN107291938A (zh) | 订单查询***及方法 | |
CN109101595B (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN103793469A (zh) | 一种数据查询统计方法及*** | |
CN105630997A (zh) | 一种数据并行处理方法、装置及设备 | |
CN110888909A (zh) | 一种评估内容的数据统计处理方法及装置 | |
CN114817226A (zh) | 政府数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province Patentee after: Wuhan dream database Co., Ltd Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province Patentee before: WUHAN DAMENG DATABASE Co.,Ltd. |