一个对象存储系统的设计与实现
发布时间:2021-12-18 12:50
大数据时代,数据的产生呈现指数增长,而且多数是非结构化的数据。相较于文件存储,对象存储克服了其读写速度慢的劣势,相较于块存储弥补了其不利于共享的缺点,将两者的优点结合起来对象存储应运而生。可以说,对象存储是下一代存储技术的标杆。在对象存储系统内,没有“目录”的概念。所有对象都在一个平面内统一管理。每个对象都有唯一的标识符,应用可以依据此检索到对象的完整或局部数据,亦或是操作此对象。数据流与控制流相分离,分别由对象存储设备和元数据服务器负责。在编程接口方面,一般不采用基于POSIX的文件系统接口,而是采用基于RESTful语义的专用API接口。在本论文中,主要是在深入分析现有对象存储API的基础上,为分布式文件系统提供对象存储支持,来扩大文件系统的适应性。使对象存储API与现有API相互兼容,减少运维开销。首先,构建了对象存储系统的基本框架,划分了三个基本模块:核心模块、RESTful模块和公共组件模块,确立了每个模块的具体分工,通过合理的模块划分降低各个模块之间的耦合程度,为后期性能调优做好必要的准备工作;其次,设计了对象存储服务文件的寻址机制,与API层面的扁平组织对象方式不同,采用...
【文章来源】:兰州大学甘肃省 211工程院校 985工程院校 教育部直属院校
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
PutBucket测试截图
图 5-2 GetService 测试截图执行效果:如图 5-2 所示,GetService 正常执行,未返回错误。返回的 Bucket元信息列表有两项,列表各元素输出正确,与数据库对应信息一致,符合预期。(3)测试 PutObject:在 Bucket“foo”内创建一个名称为“hello_world”,内容为字符串“Hello world”的对象,且要求服务端加密(加密方法 AES256)。数据库中 bucket 名为“foo”的存储存储空间显示有一个已经创建好的名为“hello_world”的 object,其大小为 12bytes,文件存储地址为:data/disk/2c26/2c26b46b68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae/3507/35072clae546350e0bfa7ab11d49dc6f129e72ccd57ec7eb671225bbd197c8f1,其元数据库截图如图 5-3、图 5-4:
图 5-7 GetBucket 测试截图 1数据库中的显示为 bucket 名为“foo”里的所有 objects 的信息如下图 5-8:图 5-8 GetBucket 测试截图 2执行效果:如图 5-7、图 5-8 所示,GetBucket 正常执行,未返回错误。返回的对象元信息列表有一项,列表各元素输出正确,与数据库对应信息一致,符合预期。(5)测试 GetObject:输出 Bucket“foo”内名称为“multipart”的对象的信息。客户端显示的 bucket 名为“foo”内的 object 名为“multipart”的信息如下:
【参考文献】:
期刊论文
[1]大理计量、调度数据接入阿里云平台的研究和实现[J]. 施洪美,徐华,徐源. 中国管理信息化. 2018(01)
[2]分布式存储系统中改进的一致性哈希算法[J]. 王康,李东静,陈海光. 计算机技术与发展. 2016(07)
[3]对象存储并行文件系统小文件性能优化研究[J]. 周恩强,董勇,张伟,卢宇彤. 计算机工程与科学. 2013(12)
[4]OpenStack Swift关键技术分析与性能评测[J]. 葛江浩,刘磊,李小勇. 微型电脑应用. 2013(11)
[5]HTTP协议之前世今生——兼谈网络应用结构设计[J]. 钱宏武. 程序员. 2008(05)
硕士论文
[1]OpenStack和Ceph结合的云存储设计与实现[D]. 周林.南京邮电大学 2018
[2]面向云计算的RESTful信息资源池的设计与实现[D]. 师绍秋.上海交通大学 2014
本文编号:3542430
【文章来源】:兰州大学甘肃省 211工程院校 985工程院校 教育部直属院校
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
PutBucket测试截图
图 5-2 GetService 测试截图执行效果:如图 5-2 所示,GetService 正常执行,未返回错误。返回的 Bucket元信息列表有两项,列表各元素输出正确,与数据库对应信息一致,符合预期。(3)测试 PutObject:在 Bucket“foo”内创建一个名称为“hello_world”,内容为字符串“Hello world”的对象,且要求服务端加密(加密方法 AES256)。数据库中 bucket 名为“foo”的存储存储空间显示有一个已经创建好的名为“hello_world”的 object,其大小为 12bytes,文件存储地址为:data/disk/2c26/2c26b46b68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae/3507/35072clae546350e0bfa7ab11d49dc6f129e72ccd57ec7eb671225bbd197c8f1,其元数据库截图如图 5-3、图 5-4:
图 5-7 GetBucket 测试截图 1数据库中的显示为 bucket 名为“foo”里的所有 objects 的信息如下图 5-8:图 5-8 GetBucket 测试截图 2执行效果:如图 5-7、图 5-8 所示,GetBucket 正常执行,未返回错误。返回的对象元信息列表有一项,列表各元素输出正确,与数据库对应信息一致,符合预期。(5)测试 GetObject:输出 Bucket“foo”内名称为“multipart”的对象的信息。客户端显示的 bucket 名为“foo”内的 object 名为“multipart”的信息如下:
【参考文献】:
期刊论文
[1]大理计量、调度数据接入阿里云平台的研究和实现[J]. 施洪美,徐华,徐源. 中国管理信息化. 2018(01)
[2]分布式存储系统中改进的一致性哈希算法[J]. 王康,李东静,陈海光. 计算机技术与发展. 2016(07)
[3]对象存储并行文件系统小文件性能优化研究[J]. 周恩强,董勇,张伟,卢宇彤. 计算机工程与科学. 2013(12)
[4]OpenStack Swift关键技术分析与性能评测[J]. 葛江浩,刘磊,李小勇. 微型电脑应用. 2013(11)
[5]HTTP协议之前世今生——兼谈网络应用结构设计[J]. 钱宏武. 程序员. 2008(05)
硕士论文
[1]OpenStack和Ceph结合的云存储设计与实现[D]. 周林.南京邮电大学 2018
[2]面向云计算的RESTful信息资源池的设计与实现[D]. 师绍秋.上海交通大学 2014
本文编号:3542430
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3542430.html