专利名称 ---【 一种基于Spark SQL的分布式全文检索系统及方法 】

基本信息
申请号
CN201710269870.2
申请日
2017.04.24
公开(公告)号
CN107122443A
公开(公告)日
2017.09.01
申请(专利权)人
中国科学院软件研究所
申请人地址
100190 北京市海淀区中关村南四街4号
发明人
许利杰;崔光范;刘杰;马志柔;吴怀林;叶丹; 专利类型 发明专利
摘要
本发明涉及一种基于Spark?SQL的分布式全文检索系统及方法,包括SQL翻译层、数据源管理层、并行计算层、分布式存储层,在SQL翻译层中提出了基于SQL的全文检索文法以及全文检索SQL语句在SQL翻译层各模块间的翻译过程;在数据源管理模块设计了全文检索过程的并行化方法;检索优化模块中,设计了两种索引存储模型和相应的查询时原表数据还原策略,其中基于索引指定列存储模型设计了一种用于在查询时还原原表数据、复杂度为O(n)的分区对齐连接算法。在两种存储模型下,索引构建时间缩短为传统数据库的0.6%/0.5%,查询时间缩短为传统数据库的1%/10%,索引存储量减少为传统数据库的55.0%。增强了Spark?SQL数据分析功能,能够满足传统业务迁移和现有业务对海量数据进行全文检索的需求。
主权项
一种基于Spark?SQL的分布式全文检索系统,其特征在于:包括SQL翻译层、数据源管理层、并行计算层、分布式存储层;SQL翻译层定义了全文检索文法,包括索引建立文法和查询文法,通过接收用户输入的全文检索SQL语句,翻译转换为对索引数据源的接口调用;该层包括文法解析模块、元数据绑定和校验模块、计划树优化模块和物理计划生成模块;文法解析模块首先对输入的SQL语句进行切分,去掉空格形成词序数组;之后根据全文检索文法,提取词序数组中的关键信息,在索引建立过程中,关键信息包括原表名、索引表名,索引列,存储模型,在查询过程中,关键信息包括索引表名、返回结果包含的列名、查询类型、查询条件,这些关键信息分别形成一个语法节点,最终形成一颗语法树;然后对语法树进行遍历,对索引建立语句形成的语法树中原表名节点转换为未关联元数据的数据源节点,索引列节点转换为映射节点,索引表名和存储模型节点转换为索引建立节点,形成逻辑计划树;对查询语句形成的语法树中索引表名节点转换为未关联元数据的数据源节点,返回结果包含的列名节点转换为映射节点,查询类型和查询条件语法树节点转换为查询条件计划树节点,形成逻辑计划树;元数据绑定和校验模块对文法解析模块生成的逻辑计划树中实际类型为表、列、视图的节点与元数据仓库进行关联,校验成功的同时将这些节点替换为关联元数据的数据源节点;计划树优化模块仅对索引查询的计划树进行优化,该计划树优化模块将查询条件计划树节点利用过滤下推技术下推到数据源节点并去掉计划树中的查询条件计划树节点,同时利用列裁剪技术将映射节点包含的映射内容下推到数据源节点并去掉计划树中的映射节点;在索引建立过程中,物理计划生成模块合并数据源节点、映射节点和索引建立节点生成索引建立物理计划节点,在查询过程中,将数据源节点转换为扫描数据源物理计划节点,生成物理计划树;在索引建立过程中,物理计划执行模块将索引建立物理计划节点转化为对索引数据源索引建立接口的调用,调用参数包含了原表名、索引列、存储模型和索引表名,然后索引表的元数据信息中加入原表的名称并存入元数据仓库,在查询过程中,物理计划执行模块将扫描数据源物理计划节点转化为对索引数据源查询接口的调用,调用参数包含了索引表名、查询类型和条件、返回结果包含的列名;数据源管理层,根据SQL翻译层对索引数据源的接口调用,转换为索引建立或查询的数据处理逻辑,交给并行计算层执行;数据源管理层包括数据源管理模块和检索优化模块;数据源管理模块管理目前Spark支持的所有数据源,根据SQL翻译层的索引数据源调用,实例化索引数据源,索引数据源包含全文检索过程的并行化方法即索引建立过程并行化和查询过程并行化;数据源管理模块将实例化的索引数据源传入检索优化模块对索引数据源中的索引建立和查询过程进行优化,检索优化模块针对索引建立过程设计了两种存储模型,包括全量存储模型和索引指定列存储模型,针对查询过程为与存储模型相对应的原表数据还原策略,原表数据还原策略的输出为得分与相对应的原表数据拼接后的结果,其中,基于索引指定列存储模型为一种用于在查询时还原原表数据、复杂度为O(n)的分区对齐连接算法,该算法获取原表数据并与得分数据进行拼接;最终,检索优化模块的输出为优化过的索引建立或查询过程的数据处理逻辑,交给并行计算层;并行计算层,接收数据源管理层的数据处理逻辑,生成作业,并对作业进行规划,分配集群资源,将作业数据处理逻辑分发到每个物理机器上,之后,各物理机器上并行执行作业;分布式存储层接收并行计算层对于文件读写的接口调用,采用分布式读写的方式进行索引的建立和查询,建立的索引和查询的结果都存储在分布式索引层,并返回执行结果。

 

IPC信息
IPC主分类号
G06F17/30(2006.01)I
IPC分类号
G06F17/30(2006.01)I

 

法律状态信息
法律状态公告日
2019.09.17
法律状态
授权 法律状态信息
授权
法律状态公告日
2017.09.29
法律状态
实质审查的生效 法律状态信息
实质审查的生效IPC(主分类):G06F 17/30
法律状态公告日
2017.09.01
法律状态
公开 法律状态信息
公开

 

代理信息
代理机构名称
北京科迪生专利代理有限责任公司 11251
代理人姓名
杨学明;顾炜

 

被引专利信息
引用阶段 被引时间 专利号 申请人 公开时间

 

被引非专利信息
引用阶段 被引时间 被引文档类型 被引文档信息
相似专利

[发明专利] 一种土地覆被遥感产品的交叉检验方法及装置
发明人:冉有华 申请日:2019-03-26

[发明专利] 一种大量程力测量机构
发明人:夏明一; 徐振邦; 霍琦; 李昂; 朱明超 申请日:2019-03-25

[发明专利] 一种用于低温不燃烧烟草的可伸缩外围接触式加热设备
发明人:张和平; 赵军超; 程旭东; 龚伦伦; 陆松 申请日:2019-01-23

[发明专利] 超透镜微结构的生成方法、基于超透镜的微型双光子显微系统
发明人:陈晓虎; 李辉; 赵鹏九; 金鑫; 梁永 申请日:2018-12-28

[发明专利] 一种阵列式光学器件及其安装支架
发明人:王忠素; 吴清文; 谭向全; 张旭升; 康玉思; 郭永飞; 盛展翊; 申军立 申请日:2018-12-17

相似科技成果

30fsTW激光系统
主题词:[TW;飞秒;激光] 单位名称:西安光机所

水稻第四号染色体转录图谱的建立和分析
主题词:[水稻;四号染色体;转录图谱] 单位名称:中国科学院植物研究所

集成化激光智能制造及柔性加工系统
主题词:[智能制造;激光应用;系统集成] 单位名称:中国科学院力学研究所

磁层亚暴多重爆发特性的理论和模拟研究
主题词:[磁层亚暴;触发机制;环电流] 单位名称:中国科学院空间科学与应用研究中心

石化应用软件典型示范工程及产品开发
主题词:[石油化工;应用软件;网络软件支撑平台] 单位名称:中国科学院软件研究所

     分享到:0


| 联系我们 | 网站地图 | 版权声明 |

版权:中国科学院 主办:中国科学院科技促进发展局 承办:中国科学院成都文献情报中心 蜀ICP备05003827号-12

建议使用1024×768 分辨率 IE6.0以上版本浏览器