[发明专利]一种分布式存储查询系统及其运行方法和运行装置有效
申请号: | 201310084186.9 | 申请日: | 2013-03-15 |
公开(公告)号: | CN103207897A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 范亚平 | 申请(专利权)人: | 北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 刘光明;陆锦华 |
地址: | 100176 北京市北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 存储 查询 系统 及其 运行 方法 装置 | ||
技术领域
本发明涉及一种分布式存储查询系统及其运行方法和运行装置。
背景技术
在当今各类网络中,查询系统随处可见,如Internet中的DNS系统,银行、大型企业等的数据库系统等。这些查询系统多数都是数据中心的集中式系统。但是随着数据量的增大,在一个数据中心存放所有数据变得越发的困难,而且在一个数据中心存方所有数据并不利于数据的抗毁,一旦数据失效将出现难以估量的损失,于是出现了分布式存储系统。
现在的分布式存储系统大都是基于分布式哈希表DHT的,这些查询系统都受到固定拓扑约束的限制(如Chord的环型),因此查询系统的性能造成一定的影响。于是基于分布式匹配DMM(Distributed match making)的存储查询系统应运而生。
DMM技术的核心思想为:在每个节点i上保存两个节点集合P(i)和Q(i)。P(i)集合是所有备份了节点i中的数据的节点的集合,即P(i)中的各个节点都备份了节点i中的数据,例如P(6)={1,2,3}表示节点1、2、3上都备份了节点6的数据。Q(i)表示从i节点发起查询时的被查询节点的集合,即从i节点发起的查询到Q(i)中的节点上进行查询。例如Q(5)={2,3,4}表示如果节点5发起一个内容查询请求时,它会同时向节点2、3、4发起查询请求以期获得自己想要的数据。很显然,如果对于任意的i和j,都有P(i)和Q(j)的并集大小为1,则所有的查询请求都能得到满足。
DMM技术中还有一个概念是R集合,该集合表示节点i中保存的数据的集合,通常以R(i)表示。与P集合以及Q集合是节点集合不同的是,R集合是数据集合。当节点i收到一个查询请求时,从R(i)中查找是否有被请求的数据,如果存在则从自己的数据库中选取相应的数据回复给源节点,否则继续向Q(i)中的节点进行查询请求分发。对于每个节点i,由于受限于节点存储容量的限制,节点i的R集合R(i)应该满足|R(i)|≤r(i),其中r(i)为节点i的存储容量限制。
一方面DMM方案虽然利用了数据备份,但是只是将数据备份利用来缩短查询时延,并没有真正实现抗毁保护。另一方面该方案虽然能在一跳虚拟路径上就完成查询,在查询时延上优于Chord等经典结构,但存在的一个明显问题是需要的存储量太大。若是要减少存储量则会造成向很多节点同时提出查询请求,使得每个节点的查询负载很重,同时也容易引起网络中的拥塞。
发明内容
有鉴于此,本发明提供一种基于DMM的分布式存储查询系统及其运行方法和运行装置,能够兼顾数据的抗毁和查询时延。
为实现上述目的,根据本发明的一个方面,提供了一种分布式存储查询系统。
本发明的分布式存储查询系统基于分布式匹配(DMM)方式,该系统满足如下条件:|P(i)∩B(j)|≥k;其中,i和j表示所述系统中的任意节点,k表示预设的位于区间[1,N-1]内的整数,N表示所述系统的节点总数;P(i)表示所有备份了节点i中的数据的节点的集合;B(i)满足如下关系:且如果j∈B(i),则其中Q(i)表示从i节点发起查询时的被查询节点的集合。
根据本发明的另一方面,提供了一种分布式存储查询系统的运行方法。
本发明的分布式存储查询系统的运行方法包括:在节点接收到请求源发送的数据查询请求后,判断该节点中是否保存有被请求的数据;若是,则将被请求的数据发送给所述请求源;若否,则向该节点的所述Q集合中的节点发送数据查询请求。
可选地,在所述节点中保存有被请求的数据的情况下,所述方法还包括:删除所述请求源发送的数据查询请求。
可选地,在所述节点中未保存被请求的数据的情况下,所述方法还包括:将所述数据查询请求当前的生存时间减1,并且在所述数据查询请求当前的生存时间达到0时删除所述数据查询请求;所述生存时间是在所述数据查询请求被第一次发出时设置的一个正整数。
可选地,所述生存时间被设置为所述分布式存储查询系统的节点数。
根据本发明的又一方面,提供了一种分布式存储查询系统的运行装置。
本发明的分布式存储查询系统的运行装置包括:接收模块,用于接收请求源向节点发送的数据查询请求;判断模块,用于在所述接收模块接收到所述数据查询请求后,判断该节点中是否保存有被请求的数据;发送模块,用于在所述判断模块的判断结果为是的情况下将被请求的数据发送给所述请求源,在该判断结果为否的情况下向该节点的所述Q集合中的节点发送数据查询请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东世纪贸易有限公司,未经北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310084186.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:配光透镜、配光透镜模组及LED节能灯
- 下一篇:眼镜架用β钛合金丝材加工方法