CN106777108A - 一种基于混合存储架构的数据查询方法和装置 - Google Patents
一种基于混合存储架构的数据查询方法和装置 Download PDFInfo
- Publication number
- CN106777108A CN106777108A CN201611159810.7A CN201611159810A CN106777108A CN 106777108 A CN106777108 A CN 106777108A CN 201611159810 A CN201611159810 A CN 201611159810A CN 106777108 A CN106777108 A CN 106777108A
- Authority
- CN
- China
- Prior art keywords
- data
- sql
- mixing storage
- database
- unified
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 12
- 238000000547 structure data Methods 0.000 claims description 7
- 238000007405 data analysis Methods 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000005267 amalgamation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于混合存储架构的数据查询方法和装置。所述方法包括:初始化混合存储架构,并为混合储存架构提供统一的SQL引擎;获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求;根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;将获取到的多个数据操作结果进行合并,形成总的查询结果。本发明提供的方法,支持关系数据库和时序数据库混合存储的统一标准SQL数据查询,实现了混合储存架构的统一标准访问,有效提高了混合储存架构的数据查询效率,大大减少数据查询成本,有效支撑大数据分析等各类业务应用。
Description
技术领域
本发明涉及数据查询技术领域,特别涉及一种基于混合存储架构的数据查询方法和装置。
背景技术
电力系统正在建设企业级数据中心,支撑各类专题数据分析、即席查询、管理报表业务、辅助决策分析,同时支撑各级别单位个性化报表、定制主题应用。数据中心接入各类源系统,覆盖:结构化管理数据、准实时时序数据、GIS地理信息数据、图形数据、视频数据等。从数据特性来看,包括结构化数据、非结构化数据及部分结构化数据。这些数据大小、产生频率、时效性、关联性等存在极大差异。
基于数据特性差异性,数据中心制定混合存储策略。目前的存储策略:结构化管理类数据,如设备台账、组织人员、用户档案等存储在传统关系数据库中;各类自动化系统产生的实时数据,变化频率快,数据规模大、存储空间消耗大、数据快速存取要求高,此类实时数据需存储在时序数据库中。
现有的混合存储方式,在数据存储和数据访问两方面都存在接口不统一的问题:关系库操作和时序库操作分离,时序库需要定值开发应用程序编程接口(ApplicationProgramming Interface,简称“API”),不能使用统一结构化查询操作语句。另外一个问题,数据消费方需要定制开发,合并查询关系库的结果集以及查询时序库的结果集。接口不统一,不支持结果集合并等,导致和数据中心有接口关系的数据源系统或业务系统需做重复定制开发。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于混合存储架构的数据查询方法和装置。所述技术方案如下:
一方面,本发明实施例提供了一种基于混合存储架构的数据查询方法,所述方法包括:
初始化混合存储架构,并为混合储存架构提供统一的结构化查询语言(Structured Quevy Language,简称“SQL”)引擎,所述混合存储架构包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库;
获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,所述SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作;
根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;
根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;
将获取到的多个数据操作结果进行合并,形成总的查询结果。
在本发明实施例上述的基于混合存储架构的数据查询方法中,所述初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,包括:
为关系数据库提供统一的java数据库连接(Java Data Base Connectivity,简称“JDBC”)访问接口,并为时序数据库提供统一的SQL访问接口。
在本发明实施例上述的基于混合存储架构的数据查询方法中,所述根据提供的统一的SQL引擎,解析获取的SQL数据查询请求,包括:
根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
在本发明实施例上述的基于混合存储架构的数据查询方法中,所述根据解析结果,对不同的数据库执行相应的数据操作,包括:
根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
在本发明实施例上述的基于混合存储架构的数据查询方法中,所述将获取到的多个数据操作结果进行合并,形成总的查询结果,包括:
将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
另一方面,本发明实施例提供了一种基于混合存储架构的数据查询装置,所述装置包括:
初始化模块,用于初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,所述混合存储架构包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库;
获取模块,用于获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,所述SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作;
解析模块,用于根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;
处理模块,用于根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;
所述处理模块,还用于将获取到的多个数据操作结果进行合并,形成总的查询结果。
在本发明实施例上述的基于混合存储架构的数据查询装置中,所述初始化模块,还用于为关系数据库提供统一的JDBC访问接口,并为时序数据库提供统一的SQL访问接口。
在本发明实施例上述的基于混合存储架构的数据查询装置中,所述解析模块,还用于根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
在本发明实施例上述的基于混合存储架构的数据查询装置中,所述处理模块,还用于根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
在本发明实施例上述的基于混合存储架构的数据查询装置中,所述处理模块,还用于将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
本发明实施例提供的技术方案带来的有益效果是:
通过初始化混合存储架构,并为混合储存架构提供统一的SQL引擎;然后,获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求;然后,根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;其次,根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;最后,将获取到的多个数据操作结果进行合并,形成总的查询结果。这样该基于混合存储架构的数据查询方法,屏蔽底层数据库机制细节,支持关系数据库和时序数据库混合存储的统一标准SQL数据查询,避免了现有技术中,分开访问关系数据库和时序数据库的操作方式,实现了混合储存架构的统一标准访问,有效提高了混合储存架构的数据查询效率,简单易用,大大减少了数据查询的成本,有效支撑大数据分析等各类业务应用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种基于混合存储架构的数据查询方法流程图;
图2是本发明实施例二提供的一种基于混合存储架构的数据查询装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种基于混合存储架构的数据查询方法,参见图1,该方法可以包括:
步骤S11,初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,该混合存储架构可以包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库。
在本实施例中,电力行业产生的数据中,除了传统的结构化数据外,还有很多实时的监控数据需要储存,因此,采用混合储存架构来储存上述数据是十分必要的。具体地,可以采用关系数据库来储存结构化数据,采用时序数据库来储存实时数据。
可选地,为了方便这些数据库的访问,上述步骤S11可以通过如下方式实现:
为关系数据库提供统一的JDBC访问接口,并为时序数据库提供统一的SQL访问接口。
在本实施例中,JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成,这样为多个关系数据库提供统一的JDBC访问接口,可以有效提高访问效率。同时为时序数据库提供统一的SQL访问接口,使得时序数据库可以与关系数据库一样,可以采用SQL数据查询语句进行查询,提供了混合储存架构的数据查询效率。
步骤S12,获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,该SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作。
在本实施例中,对混合储存架构的数据查询请求,采用预设的统一标准的SQL数据查询语句编写,能起到统一请求指令编写的目的,提高了数据查询请求的效率。
步骤S13,根据提供的统一的SQL引擎,解析获取的SQL数据查询请求。
在本实施例中,在解析SQL数据查询请求时,可以对SQL数据查询请求进行语句拆分,拆分语句时,按SELECT、FROM、WHERE关键字进行。依据数据库类别(数据库类别可以预先配),每个库内的表以及表内字段(初始化时已识别各库的表及字段分布情况)。按库拆分为查询关系库的SQL和查询时序库的子句,有几个库就拆分为几条语句,形成多个数据访问任务。
具体地,在本实施例中,上述步骤S13可以通过如下方式实现:
根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
在本实施例中,对SQL数据查询请求的解析,可以包括:识别分隔符,如空格或逗号以及嵌套使用的括号。识别数据库类别名(用于识别数据库类别,该名称可以配置,如关系库类别配置为ORACLE,时序库类别配置为FASTAR)。识别操作关键字,如SELECT、FROM、WHERE等标准SQL关键字。此外,还可以识别数据库名、表名、字段名称等。
步骤S14,根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果。
在本实施例中,可以分别对关系数据库和时序数据库分别进行相应的数据操作,得到相应的数据操作结果。当然,为了进一步优化执行过程,上述步骤S14可以通过如下方式实现:
根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
在本实施例中,对于时序数据库的操作可抽象为一种字段为时标、测点标识、测点值、质量位的关系数据库表。为避免扩大访问时序数据库导致的低效查询,可先使用由关系数据库的数据操作所得的约束条件,缩小对时序数据库的访问,从而提升统一查询或操作的效率。因此,通过任务调度,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,来执行对时序数据库的数据操作,这样可以优化时序数据库的数据操作,缩短时序数据库的数据操作时间,提高数据操作效率。
步骤S15,将获取到的多个数据操作结果进行合并,形成总的查询结果。
具体地,在本实施例中,上述步骤S15可以通过如下方式实现:
将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
在本实施例中,合并结果集的方法是对各子查询任务的结果集进行全连接,假设有两个子查询任务,反馈两个操作结果集,汇总合并则对两个子查询的结果集进行全连接运算,在全连接的结果上依据原查询语句中where子句中的过滤条件,对合并结果集进行过滤,如原查询语句有排序或去重复等操作,在合并结果集基础上统一做排序或去重复操作。最后返回总的查询结果集。
进一步地,该基于混合存储架构的数据查询方法,屏蔽底层数据库机制细节,支持关系数据库和时序数据库混合存储的统一标准SQL访问或操作,改变分开访问关系数据库及API访问时序数据库的操作方式,实现混合存储业务系统的统一标准访问。简单易用,大大减少了数据访问的成本,有效支撑大数据分析等各类业务应用。
下面在某电网公司所辖若干供电局,调度自动化系统提供的一次设备模型(包括设备信息和拓扑连接信息等)存储在ORACLE关系数据库,自动化采集实时数据存储在时序数据库FASTAR中,这样的背景条件下,对查询该电网公司在指定日期内所辖馈线重过载过程进行举例:
获取的SQL数据查询请求如下所示:
SELECT F.FL_NAME,F.FL_NO,MAX(R.VALUE)/F.CAPACITY AS LOAD FROMORACLE.FEEDER F LEFT JOIN FASTAR.R R ON F.MeaName=R.MeaName WHERE R.TIME>=‘2016-01-28’AND R.TIME<‘2016-01-29’AND F.MeaType=‘I’GROUP BY F.FL_NAME,F.FL_NO
其中,对关系库查询:
SELECT F.FL_NAME,F.FL_NO,F.CAPACITY FROM FEEDER F WHERE F.MeaType=‘I’GROUP BY F.FL_NAME,F.FL_NO
对时序库查询:
SELECT MAX(R.VALUE)FROM FASTAR R WHERE R.TIME>=‘2016-01-28’ANDR.TIME<‘2016-01-29’
本发明实施例通过初始化混合存储架构,并为混合储存架构提供统一的SQL引擎;然后,获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求;然后,根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;其次,根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;最后,将获取到的多个数据操作结果进行合并,形成总的查询结果。这样该基于混合存储架构的数据查询方法,屏蔽底层数据库机制细节,支持关系数据库和时序数据库混合存储的统一标准SQL数据查询,避免了现有技术中,分开访问关系数据库和时序数据库的操作方式,实现了混合储存架构的统一标准访问,有效提高了混合储存架构的数据查询效率,简单易用,大大减少了数据查询的成本,有效支撑大数据分析等各类业务应用。
实施例二
本发明实施例提供了一种基于混合存储架构的数据查询装置,采用了实施例一所述的方法,参见图2,该装置可以包括:初始化模块100、获取模块200、解析模块300、处理模块400。
初始化模块100,用于初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,该混合存储架构可以包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库。
在本实施例中,电力行业产生的数据中,除了传统的结构化数据外,还有很多实时的监控数据需要储存,因此,采用混合储存架构来储存上述数据是十分必要的。具体地,可以采用关系数据库来储存结构化数据,采用时序数据库来储存实时数据。
获取模块200,用于获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,该SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作。
在本实施例中,对混合储存架构的数据查询请求,采用预设的统一标准的SQL数据查询语句编写,能起到统一请求指令编写的目的,提高了数据查询请求的效率。
解析模块300,用于根据提供的统一的SQL引擎,解析获取的SQL数据查询请求。
在本实施例中,在解析SQL数据查询请求时,可以对SQL数据查询请求进行语句拆分,拆分语句时,按SELECT、FROM、WHERE关键字进行。依据数据库类别(数据库类别可以预先配),每个库内的表以及表内字段(初始化时已识别各库的表及字段分布情况)。按库拆分为查询关系库的SQL和查询时序库的子句,有几个库就拆分为几条语句,形成多个数据访问任务。
处理模块400,用于根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果。
在本实施例中,可以分别对关系数据库和时序数据库分别进行相应的数据操作,得到相应的数据操作结果。
处理模块400,还用于将获取到的多个数据操作结果进行合并,形成总的查询结果。
在本实施例中,该基于混合存储架构的数据查询装置,屏蔽底层数据库机制细节,支持关系数据库和时序数据库混合存储的统一标准SQL访问或操作,改变分开访问关系数据库及API访问时序数据库的操作方式,实现混合存储业务系统的统一标准访问。简单易用,大大减少了数据访问的成本,有效支撑大数据分析等各类业务应用。
可选地,为了方便混合储存架构中不同数据库的访问,初始化模块100,还用于为关系数据库提供统一的JDBC访问接口,并为时序数据库提供统一的SQL访问接口。
在本实施例中,JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成,这样为多个关系数据库提供统一的JDBC访问接口,可以有效提高访问效率。同时为时序数据库提供统一的SQL访问接口,使得时序数据库可以与关系数据库一样,可以采用SQL数据查询语句进行查询,提供了混合储存架构的数据查询效率。
可选地,解析模块300,还用于根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
在本实施例中,对SQL数据查询请求的解析,可以包括:识别分隔符,如空格或逗号以及嵌套使用的括号。识别数据库类别名(用于识别数据库类别,该名称可以配置,如关系库类别配置为ORACLE,时序库类别配置为FASTAR)。识别操作关键字,如SELECT、FROM、WHERE等标准SQL关键字。此外,还可以识别数据库名、表名、字段名称等。
可选地,为了进一步优化执行过程,处理模块400,还用于根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
在本实施例中,对于时序数据库的操作可抽象为一种字段为时标、测点标识、测点值、质量位的关系数据库表。为避免扩大访问时序数据库导致的低效查询,可先使用由关系数据库的数据操作所得的约束条件,缩小对时序数据库的访问,从而提升统一查询或操作的效率。因此,通过任务调度,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,来执行对时序数据库的数据操作,这样可以优化时序数据库的数据操作,缩短时序数据库的数据操作时间,提高数据操作效率。
可选地,处理模块400,还用于将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
在本实施例中,合并结果集的方法是对各子查询任务的结果集进行全连接,假设有两个子查询任务,反馈两个操作结果集,汇总合并则对两个子查询的结果集进行全连接运算,在全连接的结果上依据原查询语句中where子句中的过滤条件,对合并结果集进行过滤,如原查询语句有排序或去重复等操作,在合并结果集基础上统一做排序或去重复操作。最后返回总的查询结果集。
本发明实施例通过初始化混合存储架构,并为混合储存架构提供统一的SQL引擎;然后,获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求;然后,根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;其次,根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;最后,将获取到的多个数据操作结果进行合并,形成总的查询结果。这样该基于混合存储架构的数据查询装置,屏蔽底层数据库机制细节,支持关系数据库和时序数据库混合存储的统一标准SQL数据查询,避免了现有技术中,分开访问关系数据库和时序数据库的操作方式,实现了混合储存架构的统一标准访问,有效提高了混合储存架构的数据查询效率,简单易用,大大减少了数据查询的成本,有效支撑大数据分析等各类业务应用。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的基于混合存储架构的数据查询装置在实现基于混合存储架构的数据查询方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于混合存储架构的数据查询装置与基于混合存储架构的数据查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于混合存储架构的数据查询方法,其特征在于,所述方法包括:
初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,所述混合存储架构包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库;
获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,所述SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作;
根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;
根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;
将获取到的多个数据操作结果进行合并,形成总的查询结果。
2.根据权利要求1所述的方法,其特征在于,所述初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,包括:
为关系数据库提供统一的JDBC访问接口,并为时序数据库提供统一的SQL访问接口。
3.根据权利要求1所述的方法,其特征在于,所述根据提供的统一的SQL引擎,解析获取的SQL数据查询请求,包括:
根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
4.根据权利要求1所述的方法,其特征在于,所述根据解析结果,对不同的数据库执行相应的数据操作,包括:
根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
5.根据权利要求1所述的方法,其特征在于,所述将获取到的多个数据操作结果进行合并,形成总的查询结果,包括:
将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
6.一种基于混合存储架构的数据查询装置,其特征在于,所述装置包括:
初始化模块,用于初始化混合存储架构,并为混合储存架构提供统一的SQL引擎,所述混合存储架构包括:用于储存结构化数据的关系数据库和用于储存实时数据的时序数据库;
获取模块,用于获取根据预设统一标准的SQL数据查询语句编写的SQL数据查询请求,所述SQL数据查询请求包括:所要查询的数据库类型及其相应的数据操作;
解析模块,用于根据提供的统一的SQL引擎,解析获取的SQL数据查询请求;
处理模块,用于根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;
所述处理模块,还用于将获取到的多个数据操作结果进行合并,形成总的查询结果。
7.根据权利要求6所述的装置,其特征在于,所述初始化模块,还用于为关系数据库提供统一的JDBC访问接口,并为时序数据库提供统一的SQL访问接口。
8.根据权利要求6所述的装置,其特征在于,所述解析模块,还用于根据提供的统一的SQL引擎,识别SQL数据查询请求语句中的分隔符、数据库类型、以及相应的操作关键字。
9.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于根据解析结果,优先对关系数据库执行相应的数据操作,并根据关系数据库的数据操作结果,优化对时序数据库的数据操作。
10.根据权利要求6所述的装置,其特征在于,所述处理模块,还用于将获取的多个数据操作结果进行全连接运算,形成总的查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611159810.7A CN106777108A (zh) | 2016-12-15 | 2016-12-15 | 一种基于混合存储架构的数据查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611159810.7A CN106777108A (zh) | 2016-12-15 | 2016-12-15 | 一种基于混合存储架构的数据查询方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106777108A true CN106777108A (zh) | 2017-05-31 |
Family
ID=58889241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611159810.7A Pending CN106777108A (zh) | 2016-12-15 | 2016-12-15 | 一种基于混合存储架构的数据查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777108A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423390A (zh) * | 2017-07-21 | 2017-12-01 | 上海德拓信息技术股份有限公司 | 一种基于oltp‑olap混合关系型数据库系统内部的数据实时同步算法 |
CN107688659A (zh) * | 2017-09-08 | 2018-02-13 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN109710859A (zh) * | 2019-01-21 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 数据查询方法和装置 |
CN110019247A (zh) * | 2018-08-16 | 2019-07-16 | 比亚迪股份有限公司 | 数据存储以及查询方法、装置和监控系统 |
CN110472127A (zh) * | 2019-07-17 | 2019-11-19 | 微梦创科网络科技(中国)有限公司 | 一种数据查询方法及系统 |
CN111090667A (zh) * | 2019-12-04 | 2020-05-01 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN111144697A (zh) * | 2019-11-29 | 2020-05-12 | 泰康保险集团股份有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN111159106A (zh) * | 2019-12-30 | 2020-05-15 | 亚信科技(中国)有限公司 | 一种数据查询方法及装置 |
CN111221852A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的混合查询处理方法及装置 |
CN111221843A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN111221888A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据分析系统及方法 |
CN111221842A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理系统及方法 |
CN111221841A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的实时处理方法及装置 |
CN111309751A (zh) * | 2018-11-27 | 2020-06-19 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN111581237A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
CN111897824A (zh) * | 2020-03-25 | 2020-11-06 | 上海云励科技有限公司 | 数据操作方法、装置、设备和存储介质 |
CN111930862A (zh) * | 2020-09-17 | 2020-11-13 | 国网浙江省电力有限公司 | 一种基于大数据平台的sql交互式分析方法及系统 |
CN112667604A (zh) * | 2021-01-04 | 2021-04-16 | 中车青岛四方车辆研究所有限公司 | 轨道交通tias系统的时序数据、数据存储方法及装置 |
CN113535781A (zh) * | 2021-07-21 | 2021-10-22 | 北京锐安科技有限公司 | 一种时序库的数据查询方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521254A (zh) * | 2011-11-17 | 2012-06-27 | 广东电网公司电力科学研究院 | 异构数据库的统一访问方法 |
CN103440303A (zh) * | 2013-08-21 | 2013-12-11 | 曙光信息产业股份有限公司 | 一种异构云存储系统及其数据处理方法 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
CN105677681A (zh) * | 2014-11-21 | 2016-06-15 | 北京神州泰岳软件股份有限公司 | 基于多个数据库的数据查询方法及装置 |
CN105868411A (zh) * | 2016-04-27 | 2016-08-17 | 国网上海市电力公司 | 一种非关系型与关系型数据库一体化数据查询方法与系统 |
-
2016
- 2016-12-15 CN CN201611159810.7A patent/CN106777108A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521254A (zh) * | 2011-11-17 | 2012-06-27 | 广东电网公司电力科学研究院 | 异构数据库的统一访问方法 |
CN103440303A (zh) * | 2013-08-21 | 2013-12-11 | 曙光信息产业股份有限公司 | 一种异构云存储系统及其数据处理方法 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
CN105677681A (zh) * | 2014-11-21 | 2016-06-15 | 北京神州泰岳软件股份有限公司 | 基于多个数据库的数据查询方法及装置 |
CN105868411A (zh) * | 2016-04-27 | 2016-08-17 | 国网上海市电力公司 | 一种非关系型与关系型数据库一体化数据查询方法与系统 |
Non-Patent Citations (1)
Title |
---|
NBA76ERS: "mysql实现跨数据库查询并按where子句导入新表", 《HTTP://BLOG.CHINAUNIX.NET/UID-26602509-ID-4571459.HTML》 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423390A (zh) * | 2017-07-21 | 2017-12-01 | 上海德拓信息技术股份有限公司 | 一种基于oltp‑olap混合关系型数据库系统内部的数据实时同步算法 |
CN107423390B (zh) * | 2017-07-21 | 2020-10-27 | 上海德拓信息技术股份有限公司 | 一种基于oltp-olap混合关系型数据库系统内部的数据实时同步方法 |
CN107688659A (zh) * | 2017-09-08 | 2018-02-13 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN110019247A (zh) * | 2018-08-16 | 2019-07-16 | 比亚迪股份有限公司 | 数据存储以及查询方法、装置和监控系统 |
CN111221852A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的混合查询处理方法及装置 |
CN111221843A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN111221888A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据分析系统及方法 |
CN111221842A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 大数据处理系统及方法 |
CN111221841A (zh) * | 2018-11-27 | 2020-06-02 | 北京奇虎科技有限公司 | 基于大数据的实时处理方法及装置 |
CN111309751A (zh) * | 2018-11-27 | 2020-06-19 | 北京奇虎科技有限公司 | 大数据处理方法及装置 |
CN109710859A (zh) * | 2019-01-21 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 数据查询方法和装置 |
CN111581237B (zh) * | 2019-02-15 | 2023-06-09 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
CN111581237A (zh) * | 2019-02-15 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据查询方法、装置、系统及电子设备 |
CN110472127A (zh) * | 2019-07-17 | 2019-11-19 | 微梦创科网络科技(中国)有限公司 | 一种数据查询方法及系统 |
CN111144697A (zh) * | 2019-11-29 | 2020-05-12 | 泰康保险集团股份有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN111090667A (zh) * | 2019-12-04 | 2020-05-01 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN111159106A (zh) * | 2019-12-30 | 2020-05-15 | 亚信科技(中国)有限公司 | 一种数据查询方法及装置 |
CN111159106B (zh) * | 2019-12-30 | 2023-04-07 | 亚信科技(中国)有限公司 | 一种数据查询方法及装置 |
CN111897824A (zh) * | 2020-03-25 | 2020-11-06 | 上海云励科技有限公司 | 数据操作方法、装置、设备和存储介质 |
CN111897824B (zh) * | 2020-03-25 | 2024-09-17 | 上海云砺信息科技有限公司 | 数据操作方法、装置、设备和存储介质 |
CN111930862A (zh) * | 2020-09-17 | 2020-11-13 | 国网浙江省电力有限公司 | 一种基于大数据平台的sql交互式分析方法及系统 |
CN111930862B (zh) * | 2020-09-17 | 2020-12-15 | 国网浙江省电力有限公司 | 一种基于大数据平台的sql交互式分析方法及系统 |
CN112667604A (zh) * | 2021-01-04 | 2021-04-16 | 中车青岛四方车辆研究所有限公司 | 轨道交通tias系统的时序数据、数据存储方法及装置 |
CN113535781A (zh) * | 2021-07-21 | 2021-10-22 | 北京锐安科技有限公司 | 一种时序库的数据查询方法、装置、设备及存储介质 |
CN113535781B (zh) * | 2021-07-21 | 2024-05-10 | 北京锐安科技有限公司 | 一种时序库的数据查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106777108A (zh) | 一种基于混合存储架构的数据查询方法和装置 | |
US9507825B2 (en) | Techniques for partition pruning based on aggregated zone map information | |
US8935232B2 (en) | Query execution systems and methods | |
US7567952B2 (en) | Optimizing a computer database query that fetches n rows | |
CN105975617A (zh) | 一种多分区表查询处理的方法和装置 | |
CN107291964B (zh) | 一种基于HBase实现模糊查询的方法 | |
CN106326429A (zh) | 一种基于solr的Hbase秒级查询方案 | |
CN106599052A (zh) | 一种基于ApacheKylin的数据查询系统及其方法 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
US8200668B2 (en) | Scalar representation for a logical group of columns in relational databases | |
US11507555B2 (en) | Multi-layered key-value storage | |
CN112685446B (zh) | 通过Elasticsearch数据库的复杂SQL查询方法、装置、处理器及存储介质 | |
CN109739882B (zh) | 一种基于Presto和Elasticsearch的大数据查询优化方法 | |
US11809468B2 (en) | Phrase indexing | |
CN102819600B (zh) | 面向电力生产管理系统关系数据库的关键词搜索方法 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
Azevedo et al. | Modern Federated Database Systems: An Overview. | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
EP2000927A1 (en) | Apparatus and method for abstracting data processing logic in a report | |
Braganholo et al. | A survey on xml fragmentation | |
Shi et al. | An optimized full-text retrieval system based on lucene in oracle database | |
CN110413642B (zh) | 一种应用无感知的分片数据库解析及优化方法 | |
Zhang et al. | Managing a large shared bank of unstructured data by using free-table | |
CN114329107B (zh) | 基于全域数据字典的多种数据源联合查询方法 | |
CN110633315A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |