以Hash方式组织的磁盘访问控制装置及方法制造方法及图纸

技术编号:10223341 阅读:179 留言:0更新日期:2014-07-17 03:19
本发明专利技术公开了一种以Hash方式组织的磁盘访问控制方法,所述方法包括以下步骤:在所述磁盘中构建布隆过滤器;读取存储对象中的记录集合;利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤;所述磁盘包括至少一个所述存储对象。本发明专利技术还公开了一种以Hash方式组织的磁盘访问控制装置。本发明专利技术能防止空查询的现象的发生,减少磁盘访问资源的消耗。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种以Hash方式组织的磁盘访问控制方法,所述方法包括以下步骤:在所述磁盘中构建布隆过滤器;读取存储对象中的记录集合;利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤;所述磁盘包括至少一个所述存储对象。本专利技术还公开了一种以Hash方式组织的磁盘访问控制装置。本专利技术能防止空查询的现象的发生,减少磁盘访问资源的消耗。【专利说明】【
】本专利技术涉及计算机领域,特别涉及一种。【
技术介绍
】分布式数据存储需要对TB (Terabyte,太字节)级别、甚至PB (Petabyte,拍字节)级别的海量数据进行存储。在记录的平均大小仅有几十个字节的情况下,记录的个数将会非常的多。在设计存储引擎的时候,有以下两种方式可供选择:其一是无需内存索引,磁盘完全按哈希(Hash)的方式进行组织,同时将若干条记录混合存储在一起;再者是全内存索弓丨,索引的条目与标识(Key)的个数相同,但是考虑到标识太多会导致内存不够的情形,往往需要压缩索引的开销,将长度较小的记录通过哈希的方式混合存储在一起,在内存中仅存储一条索引。在上述方案中,基于哈希的组织方式将若干条记录合并存储的方式在存储引擎的设计中使用得非常广泛。在实践中,专利技术人发现现有技术至少存在以下问题:对于合并存储在一起的记录集{K1、K2、K3……Κη},由于内存中不存在标识的索弓丨,所以需要消耗磁盘输入/输出(I/O, Input/Output)资源将合并存储的记录集读取出来,再来判断标识是否属于该记录集合。对于大量记录不存在的业务场景来说,会出现空查询(记录不存在的查询)的情况,这将会浪费较多无效的磁盘访问资源。故,有必要提出一种新的技术方案,以解决上述技术问题。【
技术实现思路
】本专利技术的一个目的在于提供一种以Hash方式组织的磁盘访问控制方法,其能减少磁盘访问资源的消耗。为解决上述问题,本专利技术提供了一种以Hash方式组织的磁盘访问控制方法,所述方法包括以下步骤:在所述磁盘中构建布隆过滤器;读取存储对象中的记录集合;利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤;所述磁盘包括至少一个所述存储对象。本专利技术的另一个目的在于提供一种以Hash方式组织的磁盘访问控制装置,其能减少磁盘访问资源的消耗。为解决上述问题,本专利技术提供了一种以Hash方式组织的磁盘访问控制装置,所述装置包括:构建模块,用于在所述磁盘中构建布隆过滤器;初始化模块,用于读取存储对象中的记录集合;访问控制模块,用于利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤;所述磁盘包括至少一个所述存储对象。相对现有技术,本专利技术由于在所述磁盘执行针对存储对象的访问时利用布隆过滤器来对相关的访问请求进行过滤,因此可以防止空查询的现象的发生,减少磁盘访问资源的消耗。为让本专利技术的上述内容能更明显易懂,下文特举优选实施例,并配合所附图式,作详细说明如下:【【专利附图】【附图说明】】图1为本专利技术的以Hash方式组织的磁盘访问控制方法的第一实施例的流程图;图2为本专利技术实施例中基于哈希方式的磁盘组织结构的示意图;图3为本专利技术实施例中存储单元的布隆过滤器空间的示意图; 图4A为本专利技术的以Hash方式组织的磁盘访问控制方法的第二实施例的流程图;图4B为本专利技术实施例中初始化布隆过滤器位内存的方式的示意图;图5为本专利技术的以Hash方式组织的磁盘访问控制方法的第三实施例的流程图;图6A和图6B为本专利技术的以Hash方式组织的磁盘访问控制方法的第四实施例的流程图;图7A和图7B为本专利技术的以Hash方式组织的磁盘访问控制方法的第五实施例的流程图;图8A和图8B为本专利技术的以Hash方式组织的磁盘访问控制方法的第六实施例的流程图;图9A和图9B为本专利技术的以Hash方式组织的磁盘访问控制方法的第七实施例的流程图;图10为本专利技术的以Hash方式组织的磁盘访问控制装置的第一实施例的框图;图11为本专利技术的以Hash方式组织的磁盘访问控制装置的第三实施例的框图;图12为本专利技术的以Hash方式组织的磁盘访问控制装置的第四实施例的框图;图13为本专利技术的以Hash方式组织的磁盘访问控制装置的第五实施例的框图;图14为本专利技术的以Hash方式组织的磁盘访问控制装置的第七实施例的框图。【【具体实施方式】】以下各实施例的说明是参考附加的图式,用以例示本专利技术可用以实施的特定实施例。参考图1,图1为本专利技术的以Hash方式组织的磁盘访问控制方法的第一实施例的流程图。在步骤101,在该磁盘中构建布隆过滤器(Bloom Filter)。在步骤102,读取存储对象中的记录集合。在步骤103,在该磁盘执行针对存储对象的访问时,利用该布隆过滤器对与该存储对象相关的访问请求进行过滤。在本实施例中,该磁盘包括至少一个该存储对象。在本实施例中,如图2所示,磁盘中数据的存储模型定义如下:磁盘的组织是基于哈希(Hash)的方式,磁盘被划分成若干个固定大小的存储单元,每个存储单元内可以看作是由若干个哈希桶构成的一张哈希表,哈希值相同的若干条记录合并混合存储在哈希桶中。其中,Si表示固定大小的存储单元,Bi表示存储单元内的哈希桶,Ki表示哈希桶中的一条记录。其中,{K1、K2、K3......Kn} e Bi,{B1、Β2、Β3......Bn} e Si, i=l,2, 3,......η。在分布式存储系统中,标识首先通过分布式路由的方式定位到一个存储单元,再通过计算哈希的方式定位到一个哈希桶,读取哈希桶中的记录集合,遍历查找或将更新后的记录集合重新写入到哈希桶中。在本实施例中,存储对象可以视作上述哈希桶。在应用布隆过滤器的过程中,有几个关键性的参数需要考虑:(1)哈希函数的个数K; (2)误判率F ; (3)有限集合中标识的个数N; (4)布隆过滤器位数组的大小M ;其中Μ/Ν、F、K满足一定的关系:F=Function(M/N, K), Function的关系可参照表1。【权利要求】1.一种以Hash方式组织的磁盘访问控制方法,其特征在于,所述方法包括以下步骤: 在所述磁盘中构建布隆过滤器; 读取存储对象中的记录集合; 利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤; 所述磁盘包括至少一个所述存储对象。2.根据权利要求1所述的以Hash方式组织的磁盘访问控制方法,其特征在于,在所述磁盘执行第一次针对存储对象的访问时初始化所述布隆过滤器。3.根据权利要求1或2所述的以Hash方式组织的磁盘访问控制方法,其特征在于,所述访问为输出访问; 所述方法还包括以下步骤: 在所述磁盘执行针对所述存储对象的输出访问时,利用所述布隆过滤器进行过滤,判断所述存储对象中是否存在第一标识并生成判断结果; 在所述判断结果为所述存储对象中存在所述第一标识时,允许所述磁盘执行针对所述存储对象的输出访问。4.根据权利要求1或2所述的以Hash方式组织的磁盘访问控制方法,其特征在于,所述磁盘包括与所述存储对象相关的第一集合和第二集合; 所述方法还包括以下步骤: 选择所述第一集合,使得所述布隆过滤器对与所述第一集合相关的访问请求进行过滤。5.根据权利要求4所述的以Hash方式组织的磁盘访问控制方法,其特征在于,所述方法还包括以下步骤: 统计本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201310014430.html" title="以Hash方式组织的磁盘访问控制装置及方法原文来自X技术">以Hash方式组织的磁盘访问控制装置及方法</a>

【技术保护点】
一种以Hash方式组织的磁盘访问控制方法,其特征在于,所述方法包括以下步骤:在所述磁盘中构建布隆过滤器;读取存储对象中的记录集合;利用所述布隆过滤器对与所述存储对象相关的访问请求进行过滤;所述磁盘包括至少一个所述存储对象。

【技术特征摘要】

【专利技术属性】
技术研发人员:李雅卿朱建平
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1