[发明专利]一种基于分布式关系‑对象映射处理的大数据查询的方法有效
申请号: | 201310690335.6 | 申请日: | 2013-12-16 |
公开(公告)号: | CN103678609B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 王鹏尧;崔建业;杨风雷;黎建辉 | 申请(专利权)人: | 中国科学院计算机网络信息中心 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于分布式关系‑对象映射处理的大数据查询的方法。本方法为1)选取m个数据处理节点,对每一数据处理节点构建一Hibernate Session对象,得到一分布式Hibernate架构,并生成一Session资源队列;2)设置一配置文件,设置每一类型表对应的存储策略和路由策略;将数据量较小S表在每一数据处理节点备份,将数据量较大L表分块存储到m个数据处理节点;3)对输入的查询请求进行解析,根据查询请求的类别选择对应的处理器;4)所选处理器根据该查询请求和对应的路由策略,从资源队列中选择对应的节点对该查询请求进行处理,并对处理结果进行规约。本发明显著提高对大数据表的查询速率。 | ||
搜索关键词: | 一种 基于 分布式 关系 对象 映射 处理 数据 查询 方法 | ||
【主权项】:
一种基于分布式关系‑对象映射处理的大数据查询的方法,其步骤为:1)选取m个数据处理节点,针对每一数据处理节点构建一Hibernate Session节点,得到一分布式Hibernate架构,并生成一Session资源队列;2)在所述分布式Hibernate架构中设置一配置文件,所述配置文件包括表类型属性,以及每一类型表对应的存储策略和路由策略;其中,所述表类型属性包括S表和L表;将S表在每一所述数据处理节点备份,将L表分块存储到m个所述数据处理节点;L表为数据量大于或等于设定阈值的表,S表为数据量小于设定阈值的表;3)所述分布式Hibernate架构对输入的查询请求进行解析,根据查询请求的类别选择对应的处理器;4)所选处理器根据该查询请求和对应的路由策略,从所述Session资源队列中选择对应的Session节点对该查询请求进行处理,并对处理结果进行规约;其中,a)如果所述查询请求的类别为选择语句且该查询请求中的表为L表、且包含连接操作:如果连接操作为S表与S表做连接查询,则Session选择器从所述Session资源队列中找到负载最小的Session节点执行该查询请求;如果连接操作为S表与L表做连接查询,则Session选择器调用所述Session资源队列中全部可用的Session节点并行执行该查询请求;果连接操作为L表与L表做连接查询,则Session选择器调用所述Session资源队列中全部可用的n个Session节点,建立n个线程,每个线程分配一个Session节点;每个线程获取LL表在各个数据处理节点上的数据并规约得到LL表;然后各线程通过LL在各个数据节点执行LLxLR1、LLxLR2、…、LLxLRk…、LLxLRm,规约形成LLxLR;其中,LR表示连接操作右侧的L表,LL表示连接操作左侧的L表,LRk指LR表在数据处理节点k上的数据块,x表示连接符号;b)如果所述查询请求的类别为选择语句且该查询请求中的表为L表、不包含连接操作且包含排序操作,则Session选择器调用所述Session资源队列中全部可用的n个Session节点,建立n个线程,每个线程分配一个Session节点;每个线程调用自己的Hibernate Session对象执行该查询请求获得结果集,然后调用有序子段对结果集进行归并排序,获得最终有序目标序列。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算机网络信息中心,未经中国科学院计算机网络信息中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310690335.6/,转载请声明来源钻瓜专利网。