[发明专利]一种数据库和文件系统的访问方法和装置有效
申请号: | 201510966986.2 | 申请日: | 2015-12-21 |
公开(公告)号: | CN106897322B | 公开(公告)日: | 2019-10-29 |
发明(设计)人: | 秦晓飞;王峰;胡建强;邢刚 | 申请(专利权)人: | 中国移动通信集团山西有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242;G06F16/13 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张振伟;张颖玲 |
地址: | 030032 山西*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 文件系统 访问 方法 装置 | ||
1.一种数据库和文件系统的访问方法,其特征在于,所述方法包括:
根据元数据确定输入的标准结构化查询语言SQL语句中的表名和关键字对应的源数据库或源文件系统类型;
当标准SQL语句中的表名和关键字对应的源数据库或源文件系统类型为关系数据库管理系统RDBMS或海量并行处理MPP系统时,将所述表名和关键字所在的标准SQL语句对应传输至RDBMS系统或MPP系统;
当标准SQL语句中的表名和关键字对应的源数据库或源文件系统类型为分布式计算Hadoop系统或非关系型数据库NoSQL时,对所述表名和关键字进行解析,对应生成能够在Hadoop系统或NoSQL数据库运行的访问语句,并将所述能够在Hadoop系统或NoSQL数据库运行的访问语句对应地传输至Hadoop系统或NoSQL数据库;
从RDBMS系统或MPP系统或Hadoop系统或NoSQL数据库接收访问处理结果;
其中,所述当标准SQL语句中的表名和关键字对应的源数据库或源文件系统类型为分布式计算Hadoop系统或非关系型数据库NoSQL时,对所述表名和关键字进行解析,对应生成能够在Hadoop系统或NoSQL数据库运行的访问语句,具体包括:
按照预设的词法分析策略,将所述标准SQL语句转换成由<词素,属性>结构组成的句子;
按照预设的语法分析策略,将所述标准SQL语句对应的<词素,属性>结构组成的句子生成对应的语法树AST;
按照预设的语义分析策略,输出所述AST对应的逻辑查询计划,并由逻辑查询计划生成物理查询计划;其中,物理查询计划就是能够在Hadoop系统或NoSQL数据库上运行的访问语句。
2.根据权利要求1所述的方法,其特征在于,所述元数据用于表征标准结构化查询语言SQL语句中的表名和关键字与源数据库或源文件系统类型的对应关系;
相应地,根据元数据确定输入的标准结构化查询语言SQL语句中的表名和关键字对应的源数据库或源文件系统类型,具体包括:
确定所述标准SQL语句中的关键字是否包含传统SQL数据库不支持的字段;所述传统SQL数据库不支持的字段包括map、reduce、filter;
若包含,则确定所述标准SQL语句中的关键字的数据源类型为Hadoop系统或NoSQL数据库;
若不包含,则将所述标准SQL语句中的表名和关键字与元数据进行比对,根据元数据中的数据来源字段确定表名和关键字对应的源数据库或源文件系统类型。
3.根据权利要求1所述的方法,其特征在于,所述按照预设的语义分析策略,输出所述AST对应的逻辑查询计划,并由逻辑查询计划生成物理查询计划,具体包括:
根据标准SQL基本操作的顺序遍历所述AST,对所述AST的操作动作进行解析,当遇到标准SQL基本操作时就生成对应的逻辑算子,当遇到表达式时就调用对应的表达式分析并得到分析结果,进而生成由所述逻辑算子和所述表达式分析结果组成的有向无环图DAG;
按照拓扑排序遍历所述DAG上的每一个逻辑算子,根据逻辑算子逐一生成对应的物理算子;最后,将生成的物理算子按照DAG对应的顺序组成物理查询计划;其中,当生成的物理算子为需要重新分区排序后才能运行的物理算子时,在所述物理算子前加入一个Shuffle-Sort算子。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用以下三种内存计算方法中的至少一种来提高分布式文件系统HDFS处理数据的速度:
第一种:当HDFS文件系统第一次处理数据时,先从计算机磁盘中读出数据;然后放入计算机内存中的弹性分布式数据集RDD中;从而使得后续的数据处理全部在计算机内存中进行;
第二种:通过DAG记录整个内存计算的过程,且不断保存所述内存计算过程的快照;
第三种:将HDFS文件系统中的文件装入计算机内存,通过在计算机内存中模拟HDFS文件系统的架构来处理数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团山西有限公司,未经中国移动通信集团山西有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510966986.2/1.html,转载请声明来源钻瓜专利网。