热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度剖析云存储z

云存储(cloud storage)这个概念一经提出,就得到了众多厂商的支持和关注。Amazon在两年前就推出的Elastic Compute Clou


云存储(cloud storage)这个概念一经提出,就得到了众多厂商的支持和关注。Amazon在两年前就推出的Elastic Compute Cloud(EC2:弹性计算云)云存储产品,旨在为用户提供互联网服务形式同时提供更强的存储和计算功能。内容分发网络服务提供商CDNetworks和业界著名的云存储平台服务商 Nirvanix发布了一项新的合作,并宣布结成战略伙伴关系,以提供业界目前唯一的云存储和内容传送服务集成平台。半年以前,微软就已经推出了提供网络移动硬盘服务的Windows Live SkyDrive Beta测试版。近期,EMC宣布加入 道里可信基础架构项目,致力于云计算环境下关于信任和可靠度保证的全球研究协作,IBM也将云计算标准作为全球备份中心的3亿美元扩展方案的一部分。

云存储变得越来越热,大家众说纷”云”,而且各有各的说法,各有各的观点,那么到底什么是云存储?

1 什么是云存储

云存储在云计算 (cloud computing)概念上延伸和发展出来的一个新的概念。云计算是是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,达到和”超级计算机”同样强大的网络服务。

云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

如果这样解释还是难以理解,那我们可以借用广域网和互联网的结构来解释云存储。

云状的网络结构

相信大家对局域网、广域网和互联网都已经非常了解了。在常见的局域网系统中,我们为了能更好地使用局域网,一般来讲,使用者需要非常清楚地知道网络中每一个软硬件的型号和配置,比如采用什么型号交换机,有多少个端口,采用了什么路由器和防火墙,分别是如何设置的。系统中有多少个服务器,分别安装了什么操作系统和软件。各设备之间采用什么类型的连接线缆,分配了什么 xml:lang=IP地址和子网掩码。

但当我们使用广域网和互联网时,我们只需要知道是什么样的接入网和用户名、密码就可以连接到广域网和互联网,并不需要知道广域网和互联网中到底有多少台交换机、路由器、防火墙和服务器,不需要知道数据是通过什么样的路由到达我们的电脑,也不需要知道网络中的服务器分别安装了什么软件,更不需要知道网络中各设备之间采用了什么样的连接线缆和端口。

广域网和互联网对于具体的使用者是完全透明的,我们经常用一个云状的图形来表示广域网和互联网,如下图:

虽然这个云图中包含了许许多多的交换机、路由器、防火墙和服务器,但对具体的广域网、互联网用户来讲,这些都是不需要知道的。这个云状图形代表的是广域网和互联网带给大家的互联互通的网络服务,无论我们在任何地方,都可以通过一个网络接入线缆和一个用户、密码,就可以接入广域网和互联网,享受网络带给我们的服务。

参考云状的网络结构,创建一个新型的云状结构的存储系统系统,这个存储系统由多个存储设备组成,通过集群功能、分布式文件系统或类似网格计算等功能联合起来协同工作,并通过一定的应用软件或应用接口,对用户提供一定类型的存储服务和访问服务。

当我们使用某一个独立的存储设备时,我们必须非常清楚这个存储设备是什么型号,什么接口和传输协议,必须清楚地知道存储系统中有多少块磁盘,分别是什么型号、多大容量,必须清楚存储设备和服务器之间采用什么样的连接线缆。为了保证数据安全和业务的连续性,我们还需要建立相应的数据备份系统和容灾系统。除此之外,对存储设备进行定期地状态监控、维护、软硬件更新和升级也是必须的。

如果采用云存储,那么上面所提到的一切对使用者来讲都不需要了。云状存储系统中的所有设备对使用者来讲都是完全透明的,任何地方的任何一个经过授权的使用者都可以通过一根接入线缆与云存储连接,对云存储进行数据访问。

云存储不是存储,而是服务

就如同云状的广域网和互联网一样,云存储对使用者来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储,而是一种服务。

云存储的核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变。

2 云存储的结构模型

与传统的存储设备相比,云存储不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。云存储系统的结构模型如下:

云存储系统的结构模型由 4层组成。

一、存储层

存储层是云存储最基础的部分。存储设备可以是FC光纤通道存储设备,可以是NAS和 iSCSI等IP存储设备,也可以是 SCSI或SAS等 DAS存储设备。云存储中的存储设备往往数量庞大且分布多不同地域,彼此之间通过广域网、互联网或者 FC光纤通道网络连接在一起。

存储设备之上是一个统一存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、多链路冗余管理,以及硬件设备的状态监控和故障维护。

二、基础管理层:

基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。基础管理层通过集群、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。

CDN内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户所访问,同时,通过各种数据备份和容灾技术和措施可以保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。

三、应用接口层:

应用接口层是云存储最灵活多变的部分。不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。比如视频监控应用平台、IPTV和视频点播应用平台、网络硬盘引用平台,远程数据备份应用平台等。

四、访问层:

任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。云存储运营单位不同,云存储提供的访问类型和访问手段也不同。

3 云存储的技术前提

从上面的云存储结构模型可知,云存储系统是一个多设备、多应用、多服务协同工作的集合体,它的实现要以多种技术的发展为前提。

一、宽带网络的发展

真正的云存储系统将会是一个多区域分布、遍布全国、甚至于遍布全球的庞大公用系统,使用者需要通过ADSL、DDN等宽带接入设备来连接云存储,而不是通过FC、 SCSI或以太网线缆直接连接一台独立的、私有的存储设备上。只有宽带网络得到充足的发展,使用者才有可能获得足够大的数据传输带宽,实现大量容量数据的传输,真正享受到云存储服务,否则只能是空谈。

二、 WEB2.0技术

Web2.0 技术的核心是分享。只有通过web2.0技术,云存储的使用者才有可能通过 PC、手机、移动多媒体等多种设备,实现数据、文档、图片和视音频等内容的集中存储和资料共享。Web2.0技术的发展使得使用者的应用方式和可得服务更加灵活和多样。

三、应用存储的发展

云存储不仅仅是存储,更多的是应用。应用存储是一种在存储设备中集成了应用软件功能的存储设备,它不仅具有数据存储功能,还具有应用软件功能,可以看作是服务器和存储设备的集合体。应用存储技术的发展可以大量减少云存储中服务器的数量,从而降低系统建设成本,减少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提供系统性能和效率,保证整个系统的高效稳定运行。

四、集群技术、网格技术和分布式文件系统

云存储系统是一个多存储设备、多应用、多服务协同工作的集合体,任何一个单点的存储系统都不是云存储。

既然是由多个存储设备构成的,不同存储设备之间就需要通过集群技术、分布式文件系统和网格计算等技术,实现多个存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。如果没有这些技术的存在,云存储就不可能真正实现,所谓的云存储只能是一个一个的独立系统,不能形成云状结构。

五、 CDN内容分发、P2P技术、数据压缩技术、重复数据删除技术、数据加密技术

CDN内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户所访问,同时,通过各种数据备份和容灾技术保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。如果云存储中的数据安全得不到保证,想来也没有人敢用云存储,否则,保存的数据不是很快丢失了,就是全国人民都知道了。

六、存储虚拟化技术、存储网络化管理技术

云存储中的存储设备数量庞大且分布在多不同地域,如何实现不同厂商、不同型号甚至于不同类型(如FC存储和 IP存储)的多台设备之间的逻辑卷管理、存储虚拟化管理和多链路冗余管理将会是一个巨大的难题,这个问题得不到解决,存储设备就会是整个云存储系统的性能瓶颈,结构上也无法形成一个整体,而且还会带来后期容量和性能扩展难等问题。

云存储中的存储设备数量庞大、分布地域广造成的另外一个问题就是存储设备运营管理问题。虽然这些问题对云存储的使用者来讲根本不需要关心,但对于云存储的运营单位来讲,却必须要通过切实可行和有效的手段来解决集中管理难、状态监控难、故障维护难、人力成本高等问题。因此,云存储必须要具有一个高效的类似与网络管理软件一样的集中管理平台,可实现云存储系统中设有存储设备、服务器和网络设备的集中管理和状态监控。





推荐阅读
  • 虚拟化_深度:资源虚拟化
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度:资源虚拟化相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • mysql和php的关系理解(php技术和mysql怎么结合)
    本文目录一览:1、apachephpmysql他们是什么关系 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • 前端开发工程师必读书籍有哪些值得推荐?我们直接进入代码复杂版式设置,如下所示,先写些标签,源码在这个链接里面:https://codepen.io/Shadid ... [详细]
  • 如何用Matlab快速画出带有3D渲染效果的复杂曲面
    简要地介绍了一下如何用Matlab快速画出带有3D渲染效果的复杂曲面图,包括三维曲面绘制、光线、材质、着色等等控制,以及如何 ... [详细]
  • C#中DataGridView中数据导出为网页的问题
    在对服务器进行巡检后,我们需要保存一份巡检的日志下来,虽然可以通过sprie.xls第三方控件保存为excel,但是感觉还是直接生成网页更加方便。这里使用到了VUE2+elemen ... [详细]
author-avatar
手机用户2502891267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有