《一种面向分布式文件系统的虚拟存储容量计量方法.pdf》由会员分享,可在线阅读,更多相关《一种面向分布式文件系统的虚拟存储容量计量方法.pdf(11页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103034685 A (43)申请公布日 2013.04.10 C N 1 0 3 0 3 4 6 8 5 A *CN103034685A* (21)申请号 201210492600.5 (22)申请日 2012.11.28 G06F 17/30(2006.01) G06F 9/455(2006.01) (71)申请人北京邮电大学 地址 100876 北京市海淀区西土城路10号 (72)发明人陆月明 刘浩 孙松林 袁玉宇 (54) 发明名称 一种面向分布式文件系统的虚拟存储容量计 量方法 (57) 摘要 本发明涉及一种面向分布式文件系统的虚拟 存储容量计量方法,可应。
2、用于分布式文件系统中 的虚拟盘,它包括基于页对象链文件的空余容量 计量、总容量计量、容量控制三个模块,该方法能 够实现文件与页对象在容量上的替换,并对虚拟 盘的空余容量、总容量进行计量,并完成虚拟盘的 容量控制,该方法所提供的虚拟盘能给用户提供 独享功能,并对虚拟盘中零星的碎片进行合理回 收和整理。 (51)Int.Cl. 权利要求书1页 说明书5页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 4 页 1/1页 2 1.本发明一种面向分布式文件系统的虚拟存储容量计量方法包括基于页对象链文件 的空余容量计量、总容量计量、容量控制。
3、三个模块。它的典型特点是: 基于页对象的置换。在容量上,本发明把文件和页对象进行置换。虚拟盘的容量 具有非共享性。由于本发明采用了“页对象的替换策略”,该虚拟盘的容量不能被其它虚拟 盘共享,所以该虚拟盘的容量是可保证的。 虚拟盘的碎片整理特性。由于采用了总量控制的办法和页对象,对虚拟盘的碎片具 有整理功能。 权 利 要 求 书CN 103034685 A 1/5页 3 一种面向分布式文件系统的虚拟存储容量计量方法 技术领域 0001 本发明涉及一种面向分布式文件系统的虚拟存储容量计量方法,该方法应用于云 计算中的虚拟存储和云计算应用程序,实现对虚拟容量的计算和控制,可保证应用程序高 质量访问预。
4、定的虚拟盘,属于信息技术领域。 背景技术 0002 分布式文件系统是采用服务器(或计算机)集群来存储大量的文件,在逻辑 上这些文件形成一个预先规划的统一的文件系统,分布式文件系统也称为“集群文件系 统”。当前此较流行的分布式文件系统有HDFS(Hadoop Distributed File System)、 NAS(NetworkAttached Storage)、NFS(Network File System)、MooseFS(MooseFi1e System)、GoogleFS(Google File System)等。 0003 互联网服务提供商(例如“百度”)在分布式文件系统上提供虚拟。
5、存储服务,例如 “网盘”服务。虚拟存储服务是把分布式文件系统分成若干个“虚拟盘”,每个“虚拟盘”根据 用户的要求不同,它有一定的属性,例如提供的服务质量(“虚拟盘”是否要有备份,要多少 个备份等)和容量(例如1GB或10GB)等属性。互联网服务提供商 要求分布式文件系统 提供虚拟存储的容量控制能力。 0004 在分布式文件系统中,虚拟盘的容量,例如网盘的容量,采用共享方式计量的。共 享方式计量是只统计实际虚拟盘已使用容量的总和不大于分布式文件系统容量就可以;也 就是说,所有虚拟盘已使用容量加上空余容量的总和可以大于分布式文件系统容量,目的 是为了提高分布式文件系统的利用率。 0005 共享方式。
6、计量的缺点是不能保证虚拟盘拥有实际的容量,这个缺点对高端用户带 来不安全的感觉。针对高端用户,为了提高虚拟盘的服务质量,必须提出一种新型的虚拟存 储计量方法。 0006 本发明涉及一种面向分布式文件系统的虚拟存储容量计量方法,该方法应用于云 计算中的虚拟盘和云计算应用程序,实现对虚拟盘容量的计算和控制,可保证应用程序高 质量访问预定的虚拟盘。该方法可以和共享方式计量同时使用,是共享方式计量方法的一 种辅助方法。 发明内容 0007 本发明涉及一种面向分布式文件系统的虚拟存储容量计量方法,该方法包括三个 模块,它们是基于页对象链文件的空余容量计量模块、总容量计量模块、容量控制模块三部 分。下面详。
7、细介绍一种面向分布式文件系统的虚拟存储容量计量方法的逻辑结构和各个组 成部分的内容。 0008 (1)本发明的逻辑结构 0009 本发明涉及一种面向分布式文件系统的虚拟存储容量计量方法,该方法应用于分 布式文件系统中的虚拟盘和基于虚拟盘的应用层序。虚拟盘和基于虚拟盘的应用层序的结 说 明 书CN 103034685 A 2/5页 4 构如图1所示,分布式文件系统被虚拟成多个虚拟盘,每个虚拟盘支撑着一个或多个应用 程序(例如基于网盘的公司办公系统软件)。这时候,每个应用程序需要一个独立的虚拟 盘,虚拟盘可保证应用程序在授权的范围内访问虚拟盘及其容量,同时,和分布式文件系统 相此,虚拟盘能够在一定。
8、的程度上保证盘中内容的安全性。 0010 根据用户的不同需求,虚拟盘的容量大小、虚拟盘是否有备份(即虚拟盘的服务 器质量)、虚拟盘的访问控制(例如读写权限)、虚拟盘的容量是否为共享(容量在一定程 度上是不保证的)等属性是各不相同的。为了实现这些不同的虚拟盘属性,图2给出了虚 拟盘的计量和控制等方法,本发明一种面向分布式文件系统的虚拟存储容量计量方法包括 空余容量计量模块、总容量计量模块、容量控制模块三部分,这三部分位于图2的右上方和 下方,是虚拟盘中的重要计量和控制方法。 0011 下面就本发明的应用场合和一些概念作说明: 0012 把本发明应用于一些企业应用(例如办公系统),这些应用将用到容。
9、量可保证 的虚拟盘,即虚拟盘中容量不和其它虚拟盘共享一个 分布式文件系统。 0013 总容量是由互联网服务提供商承诺提供的容量(例如100GB的虚拟盘),虚拟盘 的用户(包括应用程序)在虚拟盘中存储的内容大小不能超出虚拟盘的总容量。 0014 空余容量指虚拟盘的用户(包括应用程序)在虚拟盘中总容量扣除实际存储的 内容大小而余下的容量(如在100GB总容量的虚拟盘中存储了20GB的文件,空余容量为 100GB-20GB80GB)。 0015 (2)本发明的组成部分 0016 本发明一种面向分布式文件系统的虚拟存储容量计量方法,该方法包括三个模 块,它们是基于页对象链文件的空余容量计量模块、总容量。
10、计量模块、容量控制模块三部 分。以下就各模块及其方法作详细说明。 0017 基于页对象链文件的空余容量计量模块:该模块采用了页对象链文件来控制容 量和进行计量。页对象链文件是存储相同容量对象的文件,这些对象称为页对象。图3是 页对象链文件结构,文件中页对象之间建立了链接,该链接采用了数据结构中的单向链表 方法。这些页对象存储容量的总和就是虚拟盘的空余容量。 0018 总容量计量模块:总容量是虚拟盘中已存储的文件容量(已存储容量)和虚拟 盘中的空余容量的和。总容量计量就是对已存储的文件容量的统计,以及计算已存储容量 加上空余容量的和。图4 0019 是虚拟盘总容量示意图。图中虚拟盘总容量为空余容。
11、量加上已存储容量。 0020 容量控制模块:该模块完成文件写入虚拟盘和文件从虚拟盘中删除的容量控制。 0021 (3)本发明各模块的执行流程 0022 为了说明本发明执行流程,从文件存入虚拟盘和文件从虚拟盘中删除的过程来描 述本发明各模块之间的关系和本发明的执行流程,本发明的具体执行流程如下: 0023 文件存入虚拟盘。 0024 假设页对象文件中包含了N个页对象,每个页对象的大小为P字节,已存容量为Z 字节,总容量为A字节。则他们之间的关系为: 0025 AZ+N*P 0026 互联网服务商对虚拟盘的总容量有一定的规定,所以A是不变的。如果页对象文 说 明 书CN 103034685 A 3。
12、/5页 5 件也写入虚拟盘时,整个虚拟盘是满的,且容量是A。如果我们要在虚拟盘中写入文件,只能 是用要写入的文件来替换页对象文件中页对象,替换的过程如下: 0027 文件存入虚拟盘为图5所示,假设要写入的大小为S字节的文件(用虚线表示的 文件,用“文件F”表示),容量控制模块计算文件F和页对象的替换关系,使得 0028 (P*M)S(P*(M-1) 0029 即要找到M个页对象来替换该文件: 0030 MSP (S/P的上整数) 0031 容量控制模块找到M后,从页对象文件中删除M个页对象,并在虚拟盘中写入文件 F。 0032 图6是文件写入虚拟盘后的状态,可以看出, 0033 空余容量中页对。
13、象减少了,空余容量计量模块计量为: 0034 NN-M 0035 而已存容量增加了,已存容量计量为: 0036 ZZ+S 0037 总容量计量模块计量为: 0038 AN*P+Z 0039 如果A-AP,则空余容量增加一个页对象。 0040 文件从虚拟盘中删除。 0041 文件从虚拟盘中删除的过程实质是把文件从虚拟盘中置换成页对象的过程。图7 是文件从虚拟盘中删除流程。假设要从虚拟盘中删除大小为S字节的文件(用虚线表示的 文件,用“文件F”表示),容量控制模块计算文件F和页对象的替换关系,使得 0042 (P*(M+1)SP*(M) 0043 即要找到M个页对象来替换该文件: 0044 MSP。
14、 (S/P的下整数) 0045 容量控制模块找到M后,从页对象文件中增加M个页对象,并在虚拟盘中删除文件 F。 0046 图8是文件从虚拟盘删除后的状态,可以看出, 0047 空余容量中页对象增加了,空余容量计量模块计量为: 0048 NN+M 0049 而已存容量减少了,已存容量计量为: 0050 ZZ-S 0051 总容量计量模块计量为: 0052 AN*P+Z 0053 如果A-AP,则空余容量增加一个页对象。 0054 (4)本发明的特点 0055 本发明一种面向分布式文件系统的虚拟存储容量计量方法包括基于页对象链文 件的空余容量计量、总容量计量、容量控制三个模块。它的典型特点是: 0。
15、056 基于页对象的置换。在容量上,本发明把文件和页对象进行置换。虚拟盘的 容量具有非共享性。由于该发明采用了“页对象的替换策略”,该虚拟盘的容量不能被其它 说 明 书CN 103034685 A 4/5页 6 虚拟盘共享,所以该虚拟盘的容量是可保证的。 0057 虚拟盘的碎片整理特性。由于采用了总量控制的办法和页对象,对虚拟盘的碎 片具有整理功能。 附图说明 图1是虚拟盘和基于虚拟盘的应用程序的结构示意图 图2是虚拟盘的计量和控制示意图 图3是页对象链文件结构示意图 图4是虚拟盘总容量示意图 图5是文件写入虚拟盘的流程图 图6是文件写入虚拟盘后的状态示意图 图7是文件从虚拟盘中删除流程图 图。
16、8是文件从虚拟盘删除后的状态示意图 具体实施方式 0058 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例也仅仅是本发明的一部分实施例,而不是全部实施例。基 于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其 他实施例,都属于本发明保护的范围。 0059 为了说明一种面向分布式文件系统的虚拟存储容量计量方法, 0060 这里分别描述文件存入虚拟盘和文件从虚拟盘中删除两个过程: 0061 文件存入虚拟盘 0062 这里假设虚拟盘的总容量为A1GB。页对象文件的每个页对象的大小为P 1MB。已存容量为Z199.8M。
17、B。则可以得到:页对象文件有N1 000-1 99.3800 个页对象。 0063 现向该虚拟盘中存入S5.2MB的文件F 0064 则容量控制模块计算要替换的页对象M 0065 MS/P5.2/15.26. 0066 容量控制模块从页对象文件中删除6个页对象,并在虚拟盘中存入文件F。 0067 在虚拟盘中存入文件F后,虚拟盘的总容量为: 0068 Z199.3+5.2204.5MB 0069 NNM800-6/94 0070 AN * P+Z794+204.5998.5MB 0071 这时候,由于A-A1000-998.51.5P1,所以在页对象文件中增加一个 页对象,使得N794+1795。
18、,A999.5MB 0072 文件从虚拟盘中删除 0073 这里假设虚拟盘的总容量为A1GB。页对象文件的每个页对象的大小为P 1MB。已存容量为Z199.3MB。则可以得到:页对象文件O有N1000-199.3800个 页对象。 0074 现从该虚拟盘中删除S5.8MB的文件F 0075 则容量控制模块计算要替换的页对象M 说 明 书CN 103034685 A 5/5页 7 0076 MSP5.8/15.8 0077 容量控制模块从页对象文件中增加5个页对象,并在虚拟盘中删除文件F 。 0078 在虚拟盘中删除文件F后,虚拟盘的总容量为: 0079 ZZ-S199.3-5.81 93.5M。
19、B 0080 NN-M800+5805 0081 AN * P+Z905 * 1+193.5998.5MB 0082 这时候,由于A-A1000-998.51.5P1,所以在页对象文件中增加一个 页对象,使得N805+1806,A999.5MB 0083 本发明的优势 0084 本发明涉及一种面向分布式文件系统的虚拟存储容量计量方法,本发明应用于分 布式文件系统中的虚拟盘,能够实现虚拟盘的计量和容量控制等。 0085 本发明的优点主要有三点: 0086 虚拟盘的容量是独享的,由于该发明采用了“页对象的替换策略”,该虚拟盘的 容量不能被其它虚拟盘共享,所以该虚拟盘的容量是可保证的。 0087 虚拟盘的碎片整理特性。由于采用了总量控制的办法和页对象,对虚拟盘的碎 片具有整理功能。 说 明 书CN 103034685 A 1/4页 8 图1 图2 图3 说 明 书 附 图CN 103034685 A 2/4页 9 图4 图5 说 明 书 附 图CN 103034685 A 3/4页 10 图6 图7 说 明 书 附 图CN 103034685 A 10 4/4页 11 图8 说 明 书 附 图CN 103034685 A 11 。