[发明专利]分布式查询引擎系统和方法及元数据服务器有效

专利信息
申请号: 201410256090.0 申请日: 2011-12-31
公开(公告)号: CN104050249B 公开(公告)日: 2018-03-30
发明(设计)人: 杨康;谢冉 申请(专利权)人: 北京奇虎科技有限公司;奇智软件(北京)有限公司
主分类号: G06F17/30 分类号: G06F17/30;H04L29/08
代理公司: 北京润泽恒知识产权代理有限公司11319 代理人: 赵娟
地址: 100088 北京市西城区新*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 分布式 查询 引擎 系统 方法 数据 服务器
【说明书】:

本发明专利申请是申请日为2011年12月31日、申请号为201110460494.8、名称为“一种分布式键-值查询方法和查询引擎系统”的中国发明专利申请的分案申请。

技术领域

本申请涉及分布式数据存储和查询技术领域,特别是涉及一种分布式键-值查询方法和查询引擎系统。

背景技术

对于大规模互联网应用、云计算的支撑而言,一般会使用关系型数据库存储相关数据。

传统的关系型数据库,通常将某一个应用的某一类信息(例如网站用户信息)都存储在数据库系统的单个库单张表中,对应用程序提供读取和写入操作的通讯接口。实现上,典型的关系型数据库如MySQL,单表的查询和写入操作有一定上限,超过这个上限,SQL查询和写入操作将会变得非常缓慢,磁盘输入/输出(IO)模块也会出现瓶颈。在互联网海量数据的今天,传统关系型数据库要承载海量数据,通常的做法就是将数据分成多个库多个表存储,例如网站用户信息数据,可以按取模算法对用户标识(user_id)字段计算哈希(hash)值,将不同的用户数据分片到不同数据库,以此来解决单库单表的存储和读写压力问题。

也就是说,传统的关系型数据库,为支持大容量数据,需要将数据水平拆分到多个库多张表上,确保单张表的记录数是有限的。这样的好处在于减小了索引文件的大小,从而提升查询性能。

但是,传统的关系型数据库,倾向于使用单台机器来解决存储容量的问题。若要扩容到多台机器,需要在应用层做数据拆分策略。这里存在两个问题,一个是对于每个应用,都需要应用层做数据拆分,且每个应用拆分策略都会有不同,效率低;另一个问题是增加机器后的数据重新拆分代价很高,需要人工停机维护操作,不支持自动弹性扩展。

其次,传统的关系型数据库,单台机器的并发能力有一定上限,高并发的访问会将机器资源耗尽。不能支持高并发访问的原因之一是关系型数据库在检索时需要做SQL解析操作,对CPU资源的开销大。

总之,目前需要本领域技术人员迫切解决的一个技术问题是:如何能够提供一种能够容纳海量数据、适应高并发访问的更加优化的存储/查询方案。

发明内容

本申请所要解决的技术问题是提供一种分布式键-值查询方法和查询引擎系统,能够容纳海量键-值数据,对高并发访问的适应性更强。

为了解决上述问题,本申请公开了一种分布式键-值查询引擎系统,具体可以包括:

元数据服务器,用于维护指向存储节点的全局路由表信息;

至少一个代理节点,包括:

查询转发模块,用于响应客户端发出的包括目标KEY的请求,基于所述全局路由表信息,将客户端请求转发给相应的存储节点;

数据转发模块,用于将相应存储节点返回的包括目标Value的回应包传送给客户端;

至少一个存储节点,用于基于接收到的客户端请求,从本地存储中获取所需数据,并发送包括目标Value的回应包给代理节点。

优选的,所述代理节点还可以包括:路由表同步模块,用于将元数据服务器的全局路由表信息同步至本地;其中,所述查询转发模块基于本地的全局路由表信息进行查询。

优选的,所述代理节点还可以包括:路由表更新模块,用于当收到元数据服务器的路由表更新通知时,从元数据服务器获取新的全局路由表信息。

优选的,所述查询转发模块具体包括:哈希子模块,用于基于所接收的包括目标KEY的客户端请求,通过哈希算法计算目标KEY所在的数据区块;定位子模块,用于依据计算得到的目标KEY所在的数据区块的标识,查询所述全局路由表信息,定位相应的存储节点;转发子模块,用于将客户端请求转发至相应存储节点。

优选的,所述元数据服务器还可以包括:数据同步模块,用于通知所述新增的存储节点从所选定的存储节点中同步N个数据区块;所述N由所述新增存储节点的属性参数计算得到;路由表变更模块,用于当所述新增的存储节点完成数据同步后,生成新的全局路由表信息;第一更新通知模块,用于向代理节点发送路由表更新通知。

优选的,所述元数据服务器还可以包括:监控模块,用于监控各存储节点的存活状态,当监测到一个存储节点失效时,修改全局路由表信息;所述修改包括:针对以该失效的存储节点作为主节点的数据区块,将其主节点重新映射到另一个冗余节点上;第二更新通知模块,用于向代理节点发送路由表更新通知。

优选的,所述存储节点可以包括:用于存储热点数据的高速存储节点,和用于存储非热点数据的其他类型存储节点;其中,所述高速存储节点包括内存节点或者固态硬盘节点,所述其他类型存储节点包括SAS/SATA硬盘节点。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410256090.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top