[发明专利]MONGODB分片联表查询方法及装置无效
申请号: | 201210012124.2 | 申请日: | 2012-01-16 |
公开(公告)号: | CN102609464A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 刘涛;罗峰;黄苏支;李娜 | 申请(专利权)人: | 北京亿赞普网络技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 |
地址: | 100081 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mongodb 分片 查询 方法 装置 | ||
技术领域
本发明涉及基于分布式文件存储的数据库集群技术,尤其涉及一种MONGODB分片联表查询方法。
背景技术
数据库集群技术是将多台服务器联合起来组成集群来实现综合性能优于单个大型服务器的技术。
MONGODB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MAPREDUCE是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念″Map(映射)″和″Reduce(化简)″,和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
SHARDING是一种数据库在水平扩展上的解决方案,其主要目的是为突破单节点数据库服务器的I/O能力限制,解决数据库扩展性问题。
但是,随着数据库集群技术的发展,人们对其业务功能的需求也越来越高。例如,要求对MONGODB中的已有数据进行分批分组。然而,本发明发明人经过研究发现,虽然当前的MapReduce可以实现多台MONGODB服务器之间的数据汇总(即GROUP BY),却难于进行多台MONGODB服务器之间的联表分组查询。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够实现在多台MONGODB服务器之间联表分组查询的MONGODB分片联表查询方法。
为了解决上述技术问题,本发明提供了一种MONGODB分片联表查询方法。该方法包括:
确定查询条件,所述查询条件用于查询MONGDB所有分片的指定数据表中与指定分组对应的分组汇总信息;
确定所述指定数据表中属于所述指定分组中任一分组的数据记录标识,作为目标数据记录标识;
获取所述MONGODB各个分片中的指定数据表中数据记录标识是各所述目标数据记录标识之一的数据信息;
将所获取的数据信息存储在一临时数据表中;
基于所述临时数据表对所获取的数据信息进行分组汇总,得到分组汇总信息。
根据本发明又一方面的MONGODB分片联表查询方法,基于通过网络接收到的用户端发来的用户请求来确定查询条件;将所得到的分组汇总信息返回给所述用户端。
根据本发明又一方面的MONGODB分片联表查询方法,通过Mongos来获取所述MONGODB各个分片中的指定数据表中数据记录标识是各所述目标数据记录标识之一的数据信息。
根据本发明又一方面的MONGODB分片联表查询方法,通过MAPREDUCE来基于所述临时数据表对所获取的数据信息进行分组汇总。
根据本发明又一方面的MONGODB分片联表查询方法,所述查询条件用于查询MONGDB所有分片中的指定数据表中与指定分组对应且满足预设条件的分组汇总信息;在获取所述MONGODB各个分片中的指定数据表中数据记录标识是各所述目标数据记录标识之一的数据信息时,获取所述MONGODB各个分片中的指定数据表中数据记录标识是各所述目标数据记录标识之一且满足所述预设条件的数据信息。
根据本发明又一方面的MONGODB分片联表查询方法,基于存储了所述指定数据表的数据记录标识与所述指定分组的标识之间关联关系的关联表,来确定所述指定数据表中属于所述指定分组中任一分组的数据记录标识,作为目标数据记录标识。
根据本发明又一方面还提供了一种MONGODB分片联表查询装置。该装置包括确定单元,查询单元和临时表管理单元,其中,
所述确定查询条件,所述查询条件用于查询MONGDB所有分片中指定数据表中与指定分组对应的分组汇总信息;
所述查询单元确定所述指定数据表中属于所述指定分组中任一分组的数据记录标识,作为目标数据记录标识,获取所述MONGODB各个分片中的指定数据表中数据记录标识是各所述目标数据记录标识之一的数据信息;
所述临时表管理单元将所获取的数据信息存储在一临时数据表中;
所述查询单元在所述临时管理单元将所获取的数据信息存储在一临时数据表中之后,还基于所述临时数据表对所获取的数据信息进行分组汇总,得到分组汇总信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亿赞普网络技术有限公司,未经北京亿赞普网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210012124.2/2.html,转载请声明来源钻瓜专利网。