英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
创建最佳的云存储系统
摘要
对于个人,企业、机构数据的备份和同步以及运行在相关联计算机服务器上的高度可伸缩访问的的应用程序,在“云”上的轻松数据存储越来越受欢迎。根据安全加密和复制和可扩展性的需求,数据的访问通常是受保护的。尽管技术在进步, 在今天的系统中云存储的实际用途和寿命是有限的,这严重影响了验收和采用率。因此,我们引入一个新的云存储管理系统,这个系统优先组合来自多个供应商的存储资源以便充分调整冗余数据,安全性和其他非功能属性来满足存储服务使用者的需要。从消费者的角度来看,该系统覆盖了整个存储服务生命周期。因此, 第一个贡献的最优性定义是必然的体系结构和生命周期阶段。接下来,一个为云存储服务的本体提出了最优的先决条件。此外,我们提出了NubiSave,这是一个用户友好的在存储控制器上运行,实现与适应性的开销集成到典型的消费者环境作为一个整体存储系统的核心部分。验证了其声称在真实场景中与几个商业网络和云存储提供商的最优性。
- 愿景:面向资源的普遍性和最优性
在任何设备和连接中随时随地访问软件和数据,长期以来一直是操作系统、用户界面和服务科学领域的研究人员和开发人员的关键课题。管理数据的数量每年都在增加,无论是大型系统还是在较小和个人环境中。同样,正在执行更多的计算来处理数据,并且执行更多的通信来分发数据。这种现象与可用的计算,存储和通信资源的稳步增加相结合,尽管具有不同的特征:根据数据的性质和目的,这些资源需要具有不同的强度,从不是很长时间到在短爆发期间尽可能多地进行。
有几种方法可以随时随地向用户提供软件和数据。云计算是一个最近的一个术语,它方便地包含无处不在的按需访问,按需付费实用程序和看似无限弹性可扩展性的概念。对于软件即服务层,几个平台已经成为成熟和商业化的产品。在基础设施层面处理资源相关的云服务方面仍然存在缺陷,特别是存储,计算和通信服务,这取决于可用的硬件资源。
本文扩展和推广了以前对最佳云存储控制器的研究[1],有助于对整个资源服务系统进行更全面的观点,特别是关于实现安全,高性能,廉价,资源保守和轻松使用的最佳性它们。在可用的资源服务中,它集中于分布式数据存储。最近,个人和企业使用的在线存储服务的数量和普及显着增加。处理这个资源服务类的进展具有很高的实用价值。已经在最近的文献中描述了用于在独立云存储提供商(RAIC)的冗余阵列上分散信息的多个控制器,但是它们都不是为任意用户定义的和系统支持的最优性设计的。因此,我们提供给社区的最佳云存储系统的说明是通过一个最佳云存储控制器的广泛验证来补充的与所有实验数据。
云存储系统的范围如图1所示。它假定存在存储网关,其核心包含技术存储控制器作为所有需要存储的应用程序的接口。 根据范围的最优性标准是(1)相对于用户要求的具有最佳特性的存储服务组合,(2)存储控制器中的最佳处理,应有助于而不是约束所需的服务属性,(3在本文中没有讨论)最佳配置,最好没有用户参与需求规范。
该文章根据开放服务市场中的服务的生命周期进行结构化。 一般来说,现有文献提出了提供,准备,使用和反馈阶段[2]。 特定于存储服务的服务生命周期如图2所示。对于实现最优性(即准备和使用)相关的每个阶段,相应部分将描述服务提供商和服务使用者的视图。 生命周期限制的部分之前是一个关于建模存储服务的功能和非功能属性的横截面部分,导致正式的服务描述对于在整个系统中实现一致的最优性至关重要。 关于通过云存储控制器实施实验验证结果的一部分,并对相关工作进行讨论,在结论和展望未来最佳化改进之前,将会得到一个结论。
- 建模存储服务
服务主要由其特征影响所有自动化服务管理方面的模型定义。这些特征包括复杂性,可维护性,现有服务产品的适用性和衍生服务描述质量指标,如精度和表现力。 因此,我们建议使用本体提供存储服务模式,提供内在的计算概念(规则和逻辑)以及与现有词汇表的可链接性。 我们的方法来捕捉企业和私人使用的相关云存储概念来对现有的在线和云存储提供商进行调查。在此,已经对67个供应商进行了分析,并通过将结果存储在关系表中并将其发展成为本体概念和实例,从而将结果形式化。
综合云存储服务本体可视化如图3所示,它允许根据用户定义的技术,业务和法定最优标准区分提供商。 例如,一个用户可能需要免费服务,而不需要向提供商提交个人数据,而另一个用户坚持高容量。 此外,它通过描述哪些服务已经提供了客户端必须实现的特性(例如加密和冗余)来向云存储控制器传达优化潜力。
- 准备存储服务
本节介绍将云存储阵列任意或安全的概念扩展到最佳云存储阵列。通过构建存储服务建模输出和业务科学概念,对捆绑和聚合业务进行分析,描述了分布式存储的选择,聚合和配置。
3.1选择和聚合
实现云存储最优化要求服务消费者根据某些模式和约束来使用和聚合多个存储资源。因此,从提供商的角度来看,存储服务生命周期(见图2)每个消费者输入一次,从消费者的角度来看,每个供应商一次。
通过利用来自基于组件系统工程(CBSE)和服务互联网(IoS)的研究团体的非功能性规范的研究,RAIC的概念可以扩展到任意质量和上下文属性的加权组合,而不是廉价[3]。这使得可以考虑诸如存储提供商的信任以及诸如成本,提供的带宽,访问限制和地理位置之类的客观指标的主观度量。权重表现的弱点和强项。强大的优先事项可用于强制包含或排除供应商某些属性,而弱优先级用于对剩余的提供者进行排序。这遵循具有辅助约束的受限优化函数的数学概念。当所有质量参数与用户的期望相符时,结果就是RAOC-最佳云存储提供商的冗余阵列。这意味着配置机制的可用性允许用户或代表用户的实体(例如系统管理员或自主软件代理)根据表示用户期望的非功能属性来指定偏好。
为了给予配置实体在其他功能相似的提供者之间的选择,假设在建议的本体之后包含云存储服务描述的存储服务目录或市场是可用的。实现的描述将在验证部分中描述;市场设计和关于谁提供服务以及维护描述的问题将被省略。
除公开提供的服务描述之外,还需要协商服务使用合同,从授权登录到复杂的服务级别协议,以便将传输到存储云资源的访问进行参数化。关于协商和配置参数的位置和时间的信息,应该从公共服务描述文件中获取,而参数本身将受到存储控制器管理的私有元数据存储。
3.2组态
合适的存储提供商的选择是作为网络代理运行的云存储控制器的管理员的任务,但是由桌面控制器的用户使用。在这两种情况下,控制器都需要配置用户界面。它向非功能服务属性请求偏好,从它们生成目标描述(需求规范),并将其与存储提供者的注册表进行匹配。结果列表表示请求和可交付的属性的比率。没有适当的本地传输实现的匹配服务将被自动标记为不适用,除非存储控制器提供动态检索和集成这些服务的功能。用户从已过滤的列表中为候选服务提供书签。选择对话框如图4所示。
在下一步中,用户然后创建n个存储服务的服务提供者集合并相应地进行配置。通常,提供商需要创建一个具有用户名和密码的帐户作为最小数据,或附加个人数据 如地址和信用卡信息。除非使用股票,否则他们也可能需要协商个人服务水平协议。在具有市场的集成存储系统中,需要两个配置方面可从适当的平台服务[4]获得,因此可以通过向服务查询协商协议和填充配置文件来向云存储控制器提供。这意味着事先注册协议和配置模板以及代理商或配对者中的服务描述使用。与描述和模板相比,生成的协议和配置文件不是公共的,而是在配对器和创建它们的客户端之间共享。这意味着在市场网站上设置初始帐户。因此,对于隐私敏感的设置,建议使用来自全局实例的同步来运行Matchmaker平台服务的本地实例。图5表示配置对话。
- 使用存储服务
提出了客户端通用云存储控制器体系结构,以实现RAOC和系统内数据处理的最优化。现有方法中没有发现以下七种新颖的控制器特性提出:选择性冗余、自适应调度、缓存、流、分块、会话和分配。
4.1分层架构,实现最佳云存储
改进的系统的设计使信息分散在可用于用户的最佳云存储提供器的阵列上,遵循分层架构。控制器本身被认为位于诸如备份或数据共享软件和存储云之间的数据处理应用之间。它包括提供对应用程序的访问的上层接口层,用于分散和重新组合数据所需的逻辑的中间层,以及将分散的数据传输到存储服务器的较低层。云管理系统的高级体系结构及其与存储服务目录的关联如图6所示。每个层将在下面的段落的底部到顶部更详细地解释。
连接到云端存储提供商是传输层。除了将数据委托给存储接口例程外,还负责通过可选的缓存来维护访问效率。此外,如果需要,可以保留数据的完整本地写通拷贝(参见图7)。
预处理层内的数据处理流水线由单个分散程序组成,将数据流分解(复用)为块(片段),可能有多个分片器实现可供选择,以及一组可分离的工作在管道上的例程文件级别或以下它直接在块级上,如图8所示。对于更复杂的场景,可以将嵌套循环引入流水线,以生成分散和修改模块的分层树。所有块级功能也可以应用于文件级,尽管这可能是不切实际的。当隐藏方式隐藏非常大的文件时。逆假设不一定是可行的,因为诸如媒体适配(图像缩放,音频质量降低)的许多算法需要通用分割器未知的大量数据或大小的数据块。在分离器之间提供选择的理由是分散效率和实现效率方面正在进行的研究和进展,如并行分散和修改模块调用的多处理器支持。
分散算法通过应用选择性冗余来尊重以前捕获的用户对性能,可用性和安全性的要求:无(n = k个片段),通过复制或秘密共享方案(n = k kx,xgt; = 1)的完全冗余,或通过最大距离可分离和最小带宽/存储再生码(n = k m个片段)进行最佳擦除编码。所得到的n个片段以串行循环次序或并行上载和检索。支持大文件需要特别的努力。作为文件和片段之间的中间结构,引入了可变大小的块,可以单独检索和更新。一旦数据的第一个字节到达分离器接口,每个组块都被处理,导致将文件作为数据流处理,这适用于小型和嵌入式设备(例如,在无线路由器上运行控制器)。此外,需要处理具有未使用区域(如虚拟机快照)的稀疏文件。图9显示了块和碎片之间的关系。
关于片段位置和校验和的元数据需要被复制到存储云中的数据将被访问的所有设备。因此,控制器需要通过递归地同时存储元数据数据库以及数据来支持会话。在这种情况下,只有微小的顶级片段需要在客户端上维护元数据,其可以容易地转发到其他设备或人(例如作为电子邮件链接)。为了检索,首先是元数据,然后根据需要检索实际的数据。
在预处理层之上,用户级和系统级应用程序使用统一的文件级接口来访问和操作数据。版本控制,加密和重复数据消除可分别插入作为多个版本,安全和不同副本的文件的透明存储的层。在最高层次,存在各种应用程序和应用程序集成文件系统协议作为人类的入口点。图10示出了积分层结构。
- 验证最佳云存储控制器
在本节中,我们将通过称为NubiSave的实现来介绍我们对先前介绍的概念的实现。 我们从软件概述开始,继续介绍软件架构和模块化可扩展性,从而有助于最佳的存储服务处理,并综合讨论所选架构和实现技术所产生的限制。
-
- NubiSave的范围
NubiSave原型代表灵活的最佳云存储控制器。该软件设计为高度模块化,组件之间具有明确的连接点。例如,有两个配置用户界面可用,共享相同的配置数据。典型的NubiSave配置如图12所示。它突出显示了层次可并行和可分发的数据存储管道以及关于存储属性的一些最重要的用户选择。此外,有多个模块可用,其中一些可从现有软件项目集成,用于数据的分散,修改和传输。
-
- NubiSave架构和实现
NubiSave架构由三个主要组件组成,遵循提出的分层方法。底层代表每个云存储协议的简单数据传输抽象。所有传输模块都实现了用户空间(FUSE)界面中的Linux文件系统,因此,FUSE社区提供的其他提供商可能会有越来越多的选择,例如davfs2(WebDAV)和s3fs(Amazon S3),特别是,可配置的SSH-,FTP或HTTP可访问的主机,如图13所示。创建了一个特殊的传输层组件,以便轻松添加云提供商。该组件被称为CloudFusion,其实施技术及其将云存储与通过访问的本地存储区域融合的能力用于减少开销的常规(内核空间)文件系统。它在Python中实现,具有用于提供程序的可插拔传输模块。运输模块可用于商业服务运营商SugarSync和DropBox。 CloudFusion基于fuse.py模块。它的扩展通过流行的Python框架来支持,即鼻子单元测试框架和Sphinx生成的文档。除了商业存储提供商和可配置的主机之外,包括本地文件系统使得能够将一个或多个存储部件保持在用户的直接控制之下,例如在USB笔式驱动器上。
缓存模块也可用;当从多个客户端访问存储区域时,其激活以牺牲潜在的版本冲突为代价,大大降低了存储延迟。
对于每个传输模块,都有一个包含通用属性(主机名,访问协议,用户/密码,API密钥)和提供者特定属性(文件夹配置)的INI样式配置文件。此外,日志记录配置确定日志消息的详细程度和位置。
中间层实现提供者选择,数据分割和分发优化逻辑,并与用户配置配对。在核心,可切换的分路器模块负责组装和拆卸k个数据块
m个n = m k个提供者的冗余块。 NubiSave中存在两个分割器,另外还有一个是实施的:
- 一个简单的分离器在不提供冗余的情况下切断数据块。
- Java中实现的基于Jigsaw分布式文件系统(JigDFS)的分割器也可用。它已经包含加密例程,以使合理的可否认性[5]。分散体由jErasure库的Java端口提供的算法控制,但是使用片段校验和进行扩展,以便能够及早捕获故障。
-
最后
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[137298],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。