[发明专利]基于Datalog的分布式环境下大图数据查询方法有效
申请号: | 201210210245.8 | 申请日: | 2012-06-19 |
公开(公告)号: | CN102799624A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 高军;周家帅;王腾蛟;杨冬青;唐世渭 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 datalog 分布式 环境 大图 数据 查询 方法 | ||
1.一种基于Datalog的分布式环境下大图数据查询方法,其步骤包括:
1)对用户输入的大图查询指令进行语法分析,产生对应的语法树;所述查询指令基于Datalog规则;
2)根据所述语法树,建立Datalog查询规则的执行操作,基于每个Datalog规则将查询转换为Map和Reduce函数中对应的执行操作;
2-1)在语法树中基于当前的图结点集合和边集合,导出新的结点集合;
2-2)对所述新结点进行递归操作,所述递归Datalog规则设定查询时递归操作终止条件,所述Datalog规则支持聚集函数;
3)根据MapReduce中的等价规则和查询统计数据,执行Map和Reduce函数中操作指令,完成查询,将查询得到的结果回传至用户。
2.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,将Datalog查询规则转换为初始执行、循环终止判定和循环内操作,所述循环终止判定和循环内操作对应递归查询;所述初始执行操作设定查询的类型和起、终点;所述循环终止判定操作根据查询终止条件和代价模型查询请求;所述循环内操作进行图上每一层的递归操作。
3.如权利要求2所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,对每个Datalog查询规则,将其转换到由关系代数的选择、连接、投影、聚集操作的基本操作组成的查询规则,并将所述关系代数基本操作翻译为Map和Reduce函数。
4.如权利要求2所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,初始执行后,每次递归操作处理上一层递归变化的部分;获取递归操作中导出视图的每一层出现的新数据。
5.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,对于产生的Map和Reduce执行函数,循环递归操作出现聚集函数时,通过Hadoop中Counter机制,来产生下一轮规则中的所需要的聚集函数值。
6.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,所述Datalog规则的查询转换为Map和Reduce函数中对应的执行操作时,若一个规则对应的关系代数计划需要选择和连接操作,可以将选择和连接放入一个MapReduce函数中,选择的逻辑操作在MapReduce函数的Map端函数完成。
7.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,所述Datalog规则的查询转换为Map和Reduce函数中对应的执行操作时,当进行聚集函数后,实现连接操作,可以将聚集函数和连接操作放入一个MapReduce函数中,聚集函数的逻辑操作在Reduce端函数完成。
8.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,在所述递归Datalog规则中,针对连接操作,根据图的统计信息和运行数据的统计信息,选择Map端连接或Reduce端连接实现方式。
9.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,所述查询终止条件首先执行,判断查询结果是否为空。
10.如权利要求1所述的基于Datalog的分布式环境下大图数据查询方法,其特征在于,所述Map和Reduce函数中执行操作指令在时,将任务的输出作下一轮递归操作的输入;循环终止条件在执行MapReduce任务时,根据循环条件决定是否进入下一轮递归循环操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210210245.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有文件袋的雨伞
- 下一篇:基于滴液计数法的油雾浓度检测装置