【技术实现步骤摘要】
—种分布式键-值查询方法和查询引擎系统本专利技术专利申请是申请日为2011年12月31日、申请号为201110460494.8、名称为“一种分布式键-值查询方法和查询引擎系统”的中国专利技术专利申请的分案申请。
本申请涉及分布式数据存储和查询
,特别是涉及一种分布式键-值查询方法和查询引擎系统。
技术介绍
对于大规模互联网应用、云计算的支撑而言,一般会使用关系型数据库存储相关数据。 传统的关系型数据库,通常将某一个应用的某一类信息(例如网站用户信息)都存储在数据库系统的单个库单张表中,对应用程序提供读取和写入操作的通讯接口。实现上,典型的关系型数据库如MySQL,单表的查询和写入操作有一定上限,超过这个上限,SQL查询和写入操作将会变得非常缓慢,磁盘输入/输出(1)模块也会出现瓶颈。在互联网海量数据的今天,传统关系型数据库要承载海量数据,通常的做法就是将数据分成多个库多个表存储,例如网站用户信息数据,可以按取模算法对用户标识(uSer_id)字段计算哈希(hash)值,将不同的用户数据分片到不同数据库,以此来解决单库单表的存储和 ...
【技术保护点】
一种分布式键‑值查询引擎系统,其特征在于,包括:元数据服务器,用于维护指向存储节点的全局路由表信息;至少一个代理节点,包括:查询转发模块,用于响应客户端发出的包括目标KEY的请求,基于所述全局路由表信息,将客户端请求转发给相应的存储节点;数据转发模块,用于将相应存储节点返回的包括目标Value的回应包传送给客户端;至少一个存储节点,用于基于接收到的客户端请求,从本地存储中获取所需数据,并发送包括目标Value的回应包给代理节点。
【技术特征摘要】
1.一种分布式键-值查询引擎系统,其特征在于,包括: 元数据服务器,用于维护指向存储节点的全局路由表信息; 至少一个代理节点,包括: 查询转发模块,用于响应客户端发出的包括目标KEY的请求,基于所述全局路由表信息,将客户端请求转发给相应的存储节点; 数据转发模块,用于将相应存储节点返回的包括目标Value的回应包传送给客户端;至少一个存储节点,用于基于接收到的客户端请求,从本地存储中获取所需数据,并发送包括目标Value的回应包给代理节点。2.根据权利要求1所述的系统,其特征在于,所述代理节点还包括: 路由表同步模块,用于将元数据服务器的全局路由表信息同步至本地; 其中,所述查询转发模炔基于本地的全局路由表信息进行查询。3.根据权利要求2所述的系统,其特征在于,所述代理节点还包括: 路由表更新模块,用于当收到元数据服务器的路由表更新通知时,从元数据服务器获取新的全局路由表信息。4.根据权利要求1 哈希子模块,用于基于所接收的包括目标KEY的客户端请求,通过哈希算法计算目标KEY所在的数据区块; 定位子模块,用于依据计算得到的目标KEY所在的数据区块的标识,查询所述全局路由表信息,定位相应的存储节点; 转发子模块,用于将客户端请求转发至相应存储节点。5.根据权利要求1所述的系统,其特征在于,所述元数据服务器还包括: 数据同步模块,用于通知所述新增的存储节点从所选定的存储节点中同步N个数据区块;所述N由所述新增存储节点的属性参数计算得到; 路由表变更模块,用于当所述新增的存储节点完成数据同步后,生成新的全局路由表信息; 第一更新通知模块,用于向代理节点发送路由表更新通知。6.根据权利要求2或5所述的系统,其特征在于,所述元数据服务器还包括: 监控模块,用于监控各存储节点的存活状态,当监测到一个存储节点失效时,修改全局路由表信息;所述修改包括:针对以该失效的存储节点作为主节点的数据区块,将其主节点重新映射到另一个冗余节点上; 第二更新通知模块,用于向代理节点发送路由表更新通知。7.根据权利要求1所述的系统,其特征在于,所述至少一个存储节点包括: 用于存储热点数据的高速存储节点,和用于存储非热点数据的其他类型存储节点; 其中,所述高速存储节点包括内存节点或者固态硬盘节点,所述其他类型存储节点包括SAS/SATA硬盘节点。8.—种分布式键-值查询方法,其特征在于,包括: 接收客户端指向当前代理节点的包括目标KEY的请求; 当前代理节点通过查询全局路由表信息,将客户端请求转发给相应的存储节点; 当前代理节点将相应存储节点返回的包括目标Value的回应包传送给客户端。9.如权利要求8所述的方法,其特征在于,还包括: 当前代理节点通过异步线程将维护在服务器上的全局路由表信息同步至本地,在本地进行对全局路由表信息的查询。10.如权利要求8所述的方法,其特征在于,还包括: 当收到路由表更新通知时,获取新的全局路由表信息。11.如权利要求8所述的方法,其特征在于,所述当前代理节点通过查询全局路由表信息,将客户端请求转发给相应的存储节点的过程具体包括: 基于所接收的包括目标KEY的客户端请求,通过哈希算法计算目标KEY所在的数据区块; 依据计算得到的目标KEY所在的数据区块标识,查询所述全局路由表信息,定位相应的存储节点; 将客户端请求转发给相应的存储节点。12.—种分布式键-值(Key-Value)查询引擎系统的故障转移方法,其特征在于,包括: 监测各存储节点是否存 活;其中,同一个数据区块存储在一个存储主节点和至少一个存储冗余节点上; 当监测到一个存储节点失效时,修改全局路由表信息;所述修改包括:针对以该失效...
【专利技术属性】
技术研发人员:杨康,谢冉,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。