[发明专利]一种基于混合存储架构的数据查询方法和装置在审
申请号: | 201611159810.7 | 申请日: | 2016-12-15 |
公开(公告)号: | CN106777108A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 高正浩;黄良;曹洪;赵立进;邓琨;林圳杰;符飞虎;刘为亮 | 申请(专利权)人: | 贵州电网有限责任公司电力科学研究院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q50/06 |
代理公司: | 深圳市顺天达专利商标代理有限公司44217 | 代理人: | 郭伟刚 |
地址: | 550002*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 混合 存储 架构 数据 查询 方法 装置 | ||
技术领域
本发明涉及数据查询技术领域,特别涉及一种基于混合存储架构的数据查询方法和装置。
背景技术
电力系统正在建设企业级数据中心,支撑各类专题数据分析、即席查询、管理报表业务、辅助决策分析,同时支撑各级别单位个性化报表、定制主题应用。数据中心接入各类源系统,覆盖:结构化管理数据、准实时时序数据、GIS地理信息数据、图形数据、视频数据等。从数据特性来看,包括结构化数据、非结构化数据及部分结构化数据。这些数据大小、产生频率、时效性、关联性等存在极大差异。
基于数据特性差异性,数据中心制定混合存储策略。目前的存储策略:结构化管理类数据,如设备台账、组织人员、用户档案等存储在传统关系数据库中;各类自动化系统产生的实时数据,变化频率快,数据规模大、存储空间消耗大、数据快速存取要求高,此类实时数据需存储在时序数据库中。
现有的混合存储方式,在数据存储和数据访问两方面都存在接口不统一的问题:关系库操作和时序库操作分离,时序库需要定值开发应用程序编程接口(Application Programming 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数据查询请求;
处理模块,用于根据解析结果,对不同的数据库执行相应的数据操作,并获取相应的数据操作结果;
所述处理模块,还用于将获取到的多个数据操作结果进行合并,形成总的查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州电网有限责任公司电力科学研究院,未经贵州电网有限责任公司电力科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611159810.7/2.html,转载请声明来源钻瓜专利网。