一种数据访问请求的路由解析系统及方法技术方案

技术编号:30530429 阅读:33 留言:0更新日期:2021-10-30 12:28
本发明专利技术公开了一种数据访问请求的路由解析系统及方法,该路由解析系统事先录入了提供访问的所有数据的元数据信息。该系统根据接收到的数据查询请求以及所述元数据信息对该数据处理请求进行解析以获得包含该查询请求所涉及到的表资源存储类型、物理存储分布类型等信息的解析结果,然后根据所述解析结果以及预置的引擎筛选规则从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请求。通过本发明专利技术提供的技术方案、用户不需要关心待查询数据的存储类型、物理存储的分布情况等底层信息就能方便获取所需要的数据、实现跨集群的数据查询,降低了用户在数据平台进行查询的门槛,扩展了平台的数据查询能力。扩展了平台的数据查询能力。扩展了平台的数据查询能力。

【技术实现步骤摘要】
一种数据访问请求的路由解析系统及方法


[0001]本专利技术提供的方案涉及数据存储访问领域,应用于具有多种数据查询引擎的数据访问平台中降低用户访问数据所需要的专业知识门槛;具体涉及一种数据访问请求的路由解析系统及方法。

技术介绍

[0002]目前大数据领域存储技术层出不穷,常用的就有数据存储查询引擎Hive,ES,HBase,Kudu,ClickHouse等以及将这些存储查询引擎作为底层原料而发展出来的新型“存储+计算”型存储引擎如Kylin,Phoenix等。每个存储引擎为了向上对接业务应用、简化业务应用的使用过程,都会根据自身数据结构设计特点提供相应查询API包供上层应用进行调用,如RestHttp,JDBC,JavaClient等常用的API包。当数据平台单独采用某一种存储查询引擎作为查询工具一般不存在用户使用需要专业知识门槛的问题。而现实的情况是、由于每种存储查询引擎具有的特性特别贴合某个使用场景,为了同时支持多业务场景,数据平台内往往需要同时采用以上多种数据存储查询引擎对不同的数据进行存储、查询。当同一份数据会存储在多种不同的存储介质上时,不是所有引擎都能访问涉及的每个存储介质,比如数据存储在ES中,那只能spark,presto,es可以执行,其他执行引擎是访问不了的。这样当数据平台对外提供数据查询服务时由于采用各存储查询引擎存储的数据不互通,在用户进行数据查询时先要知道目标数据存储在什么地方,再从能够访问这个存储介质的执行引擎中选择最合适的。例如目标数据是存储于Hive表还是ES索引中、有多个ES集群的情况用户查询数据时需要指出具体哪一个ES集群。
[0003]另外目前平台无法联合多个集群的数据进行查询,当目标数据分布于多存储介质中时,只能分别采用不同的数据查询引擎计算并将数据导出后、在本地进行二次计算,这样无疑增加了用户的工作量。

技术实现思路

[0004]为了解决具有多种存储查询引擎的数据平台存在的各存储查询引擎存储的数据不互通,用户在进行数据查询时需要了解一定的存储底层专业知识的问题,降低用户使用门槛,扩展平台查询能力。
[0005]本专利技术旨在为上述数据平台提供一种根据用户输入SQL语句,后台服务自动根据所述SQL语句的语言特征参数自动适配具体SQL引擎、完成可能的跨集群查询的功能。
[0006]本专利技术提供的技术方案,具体实现为:
[0007]一种数据访问请求的路由解析系统,该系统配置多种数据查询引擎以向外提供数据查询服务,该系统设置有对提供访问的所有数据的元数据进行集中存储管理的元数据信息管理子系统;该路由解析系统根据接收外到的数据查询请求以及所述元数据信息管理子系统中元数据信息解析该数据处理请求;所述路由解析系统根据所述解析结果以及预置的引擎筛选规则,从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请
求。
[0008]其中、所述元数据管理子系统中存储的提供访问的所有数据的元数据信息包括:各个表资源的存储类型、物理存储分布类型、数据层次、字段信息以及对应的权限人员信息。所述数据查询请求的解析结果中包括目标数据查询类型、目标数据大小、查询所涉及的存储分区的个数以及所涉及的列、该次查询所涉及表资源的元数据信息。
[0009]具体地、本专利技术提供的路由解析系统还包括:请求路由服务模块,请求解析服务模块,引擎执行聚合协调模块。所述请求路由服务模块提供多种数据查询入口接收外部的数据查询请求,对接收的数据查询请求进行调度、根据调度结果依次将接收到的数据查询请求发送到所述请求解析服务模块、由所述请求解析服务模块进行解析,并将对应解析结果发送给引擎协调服务模块。所述请求解析服务模块,用于当被所述请求路由服务模块调用对某个数据查询请求进行解析时根据所述元数据管理子系统中的元数据信息对该数据查新进行解析,并将解析结果返回给所述请求路由服务模块。所述引擎执行聚合协调模块,用于根据所述请求路由服务模块发送的所述解析结果结合预置的引擎筛选规则,从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请求。
[0010]进一步地,所述引擎执行聚合协调模块还根据所述解析结果,结合目标数据分布状况、数据查询引擎历史执行情况、各数据查询引擎实时资源占用情况中一种或多种因素,选择一个最优的执行引擎。
[0011]与上述数据访问请求的路由解析系统相对应,本专利技术还提供一种数据访问请求的路由解析方法,该方法包括:预先录入供访问的所有数据的元数据信息,所述元数据信息包括:各个表资源的存储类型、物理存储分布类型、数据层次、字段信息以及对应的权限人员信息;根据接收的数据查询请求以及所述元数据信息解析该数据查询请求以获得对应的解析结果;根据所述解析结果以及预置的筛选规则从可选的多个数据查询引擎中自动选出最优的数据查询引擎对该数据查询请求进行处理。
[0012]本专利技术所提供的上述数据访问请求的路由解析方法的具体实现过程与上述数据访问请求的路由解析系统的处理细节相对应。
附图说明
[0013]图1为本专利技术提供的数据访问请求的路由解析系统的系统框架示意图;
[0014]图2为本专利技术提供的数据访问请求的路由解析系统中元数据管理子系统的部分组成示意图;
[0015]图3为本专利技术提供的数据访问请求的路由解析系统中引擎协调服务模块的示意图。
具体实施方式
[0016]为了使本专利技术所解决的技术问题、技术方案以及有益效果更加清楚明白,以下结合附图对本专利技术进行进一步详细说明。应该理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0017]如图1所示,本专利技术提供的数据访问请求的路由解析系统包括请求路由服务模块,请求解析服务模块,元数据管理子系统以及由引擎协调服务模块和引擎执行器组成的引擎
执行聚合协调模块。
[0018]其中、所述请求路由服务模块提供包括多种数据查询入口接收包括交互式查询、接口请求和定时任务在内的外部数据查询请求,对接收的数据查询请求进行调度、根据调度结果依次将接收到的数据查询请求发送到所述请求解析服务模块、由所述请求解析服务模块进行解析(1),并将对应解析结果发送给引擎协调服务模块(5)。例如,按照接收到的数据查询请求的优先次序,先将优先级高的数据查询请求交由解析服务模块进行解析。
[0019]所述请求解析服务模块,用于当被所述请求路由服务模块调用对某个数据查询请求进行解析时根据所述元数据管理子系统中的元数据信息(2),获取数据查询请求的目标数据对应的元数据信息对该数据查新进行解析(3),并将解析结果返回给所述请求路由服务模块(4)。所述数据查询请求的解析结果中包括目标数据查询类型、目标数据大小、查询所涉及的存储分区的个数以及所涉及的列、该次查询所涉及表资源的元数据信息。如图2所示,所述元数据管理子系统中用于对提供访问的所有数据的元数据集中存储管理。所述元数据管理子系统中存储的提供访问的所有数据的元数据信息包括:各个表资源的存储类型、物理存储分布类型、数据层次、字段信息以及本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问请求的路由解析系统,其特征在于,该系统配置多种数据查询引擎以向外提供数据查询服务,设置有对提供访问的所有数据的元数据集中存储管理的元数据信息管理子系统;该路由解析系统根据接收外到的数据查询请求以及所述元数据信息管理子系统中元数据信息解析该数据处理请求后,根据所述解析结果以及预置的引擎筛选规则从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请求。2.如权利要求1所述的路由解析系统,其特征在于,所述元数据管理子系统中存储的提供访问的所有数据的元数据信息包括:各个表资源的存储类型、物理存储分布类型、数据层次、字段信息;所述数据查询请求的解析结果中包括目标数据查询类型、目标数据大小、查询所涉及的存储分区的个数以及所涉及的列、该次查询所涉及表资源的元数据信息。3.如权利要求1或2所述的路由解析系统,其特征在于,所述路由解析系统根据所述解析结果以及预置的引擎筛选规则从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请求具体实现为:根据所述解析结果,结合目标数据分布状况、数据查询引擎历史执行情况、各数据查询引擎实时资源占用情况中一种或多种因素,结合所述预置的引擎筛选规则选择一个最优的数据查询引擎作为执行引擎。4.如权利要求3所述的路由解析系统,其特征在于,所述路由解析系统还包括:请求路由服务模块,请求解析服务模块,引擎执行聚合协调模块;所述请求路由服务模块提供多种数据查询入口接收外部的数据查询请求,对接收的数据查询请求进行调度、根据调度结果依次将接收到的数据查询请求发送到所述请求解析服务模块、由所述请求解析服务模块进行解析,并将对应解析结果发送给引擎协调服务模块;所述请求解析服务模块,用于当被所述请求路由服务模块调用对某个数据查询请求进行解析时、根据所述元数据管理子系统中的元数据信息对该数据查新进行解析,并将解析结果返回给所述请求路由服务模块;所述引擎执行聚合协调模块,用于根据所述请求路由服务模块发送的所述解析结果以及预置的引擎筛选规则,从多种数据查询引擎中自动选出最优的数据查询引擎处理该数据查询请求。5.如权利要求4所述的路由解析系统,其特征在于,所述多种数据查询引擎包括:Spark、ES、Presto、HBASE、Hive和Kafka;所述预置的引擎筛选规则包括:当该次数据查询的目标数据存储分布类型是跨集群存储优先选用Spark,当该次数据查询类型是简单的历史数据预览则优先选用presto,当该次数据查询只是检索语句则优先选用ES,如果该次数据查询是预览实时日志则优先选用Kafka;若该次数据查询同时适用于两种以上情况,则根据查询的数据量及分区量过滤掉不适合的引擎后,对剩余的所有可执行数据查询引擎按预设的数据查询引擎历史执行经验优先次序进行排序得到数据查询引擎优先级队列;然后统计数据查询请求处理日志中与该次数据查询涉及的数据量、分区数量在预设差值范围内,和/或涉及的Schema相同的类似历史数据查询请求,根据所述类似历史数据查询请求的各数据查询引擎的处理效率调整所述数据查询引擎优先级队列;根据各数据查询引擎的处理节点实时资源占用情况从所述优先级队列选出能够处理所述数据查询请求的数据查询...

【专利技术属性】
技术研发人员:陈冬魏曦明
申请(专利权)人:盛趣信息技术上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1