|
12.2 云存储的产品形态* A6 |4 }# r6 G2 p( G/ E: N
早在2006年3月,Amazon就推出了针对企业的S3简单存储服务(Amazon Simple$ P/ c0 d3 m1 ~5 c2 \' C
Storage Service),它是Amazon云计算平台(Amazon Web Service,AWS)的一种对象
! ?. ]: O- X, b8 r" u; S) D存储服务,用于存储照片、图片、视频、音乐等个人文件。S3被认为是目前最为成7 V5 V) M5 h; p6 ?
功的云存储系统,它定义的云存储应用编程对外接口(API)被Google Cloud
( I5 q: m! {7 g* jStorage、阿里云开放存储服务(Open Storage Service,OSS)、盛大云存储等国内外云
- m) n) }7 Q4 {* a/ Y8 ?存储系统所效仿,成为业界对象云存储系统的事实标准。Amazon S3以桶(bucket)! Z# p( W! p4 k
或者目录为单位管理对象,每个桶包含若干个对象(Object),每个对象可以是照) d7 P+ i5 l; [3 r
片、图片、视频、音乐等个人文件,支持REST、SOAP以及BitTorrent下载协议。
4 O& A9 b5 y4 j9 M4 HAmazon S3的应用编程接口如下:; U, Y7 h- Z3 B0 f+ c4 D: i* E
●List Bucket:列出桶中所有的对象。每次操作最多返回1000个对象,如果桶中
1 H0 B* \0 T, L元素超过1000个,可以将前一次获取的最后一个对象的主键作为本次获取的起始 M& U G2 q$ `' ]- I5 p
点,直到遍历完成。另外,本操作还支持前缀查询,即只列出桶中主键前缀为特定3 V8 ]7 s( u" R% ?# _
值的对象。
5 M3 j6 G; x: a( o; @●Put Bucket:创建一个桶,创建桶时可以选择桶所在的数据中心。
; T5 d2 Z0 \% V) R m●Delete Bucket:删除一个桶,桶删除之前必须确保其中所有的对象已经提前被
1 K" _2 Y" L) X" N# X删除。6 H( z, Q2 V' W! T
●Head Bucket:判断桶是否存在且具有访问权限。- P2 c. [. P) X! Y) b
●Put Object:创建一个对象并加入到桶中或者修改一个已有对象。如果对象多版
' {0 ~% R! ]" C/ S本策略生效,S3会自动为每个新建对象生成唯一的版本号,同一个对象可能存储多0 r4 \1 R! H8 M7 j |
个版本。0 G, }+ u3 ]% s x/ X
●Get Object:读取对象的数据及元数据,元数据包括对象长度,MD5哈希值,
/ a9 l2 f' y- k: ?创建时间等。
+ g1 U4 E0 W& z; _/ [ N2 v●Delete Object(s):删除一个或者多个对象。
' `" k* _$ H A8 m●Head Object:获取对象的元数据。8 U! _3 u& Y1 J7 V8 A3 F& J& x
S3支持几GB甚至上TB的对象,如果对象过大,可以使用多次上传接口:! {( `6 F2 x; t- m( l
●Initial Multipart Upload:初始化多次上传,获取多次上传的编号(upload0 x1 h( _/ P0 Q
ID)。, v+ V* z% a% J5 c. l3 g, o
●Upload Part:上传部分数据,每次请求都要带上上传编号以及本次上传序号
& a) w) |. r, f+ X, P/ C(part number)。如果前后两次上传的序号相同,后一次上传的内容将直接覆盖前一
H3 K) F; a+ [( P7 N次上传的内容。
% p- Z9 P7 D/ ] [& p/ H# X/ q% I+ P●Complete Multipart Upload:完成多次上传,S3会将之前上传的部分数据连接为1 X# j4 d; m5 r& M+ I9 Z
一个大对象。
% I. W' \3 X5 b1 u2 }# P: i●Abort Multipart Upload:中止多次上传请求。) Q3 T3 Z" Y0 }* O
用户可以将本地的文件通过Put接口上传到云端,如果文件太大,可以分多次上
* h5 W* f( P' s传;用户也可以通过List方法读取云端某个桶中包含的所有文件或者通过Get方法读; {; y! X2 F8 \- n8 U7 E" ^4 v
取某个文件。另外,如果文件太大,可以指定读取的数据范围,从而分多次读取大1 m$ Z3 M1 w' N0 g
文件。
/ j4 I7 [4 _5 I" p$ @7 \+ f9 H/ c- ~5 J作为AWS的存储部分,Amazon S3云存储服务针对企业和程序员,需要自行开发$ |! j8 a; a a0 e3 r- ~# q
使用界面,除此之外,云存储还可以以单独的产品形态提供给个人用户,比如
u2 k- [. l1 O' m0 _/ Q: e% `$ g$ nAmazon“云盘”(Amazon Cloud Drive),苹果iCloud,Google Drive,Windows/ e$ W6 g' R) L; ?8 I6 C+ N) P
LiveSkyDrive,Dropbox,金山快盘等,这类产品称为个人云存储产品。简单地说,个
, {8 C) G Y6 d2 } A1 w" p" k人云存储产品主要定位是用来存储个人文件的,而且从电脑到手机,从苹果到安0 f2 e0 w0 n! x9 u1 Y5 s: f% x
卓,个人云存储可以跨平台,走到哪里,都能访问到你的个人文件,就像使用U盘这
& s+ g" t( V# q$ X$ V3 ^么简单,但又无须随时携带,更不用担心这个U盘会丢失。相比云存储平台,个人云
+ H! m4 _6 R9 d: y存储不需要专门的计算实例来托管应用程序,个人用户可以通过各种终端设备,如) j, G+ O; w6 ^
PC机,平板电脑,智能手机直接访问云数据中心的存储服务,将终端设备中的个人% h! X% ^3 m O; r
数据实时同步到云存储中。通过个人云存储服务,可以实现多个终端设备之间数据
* m/ E5 b0 ^0 ~3 H. s! ^同步,数据分享,备份等功能。9 r% |2 a# g. t2 c0 `
除了个人云存储产品,云存储也经常用于企业的数据集中备份,存档。中小企
, E. k* N) d' b业往往没有自建云存储的能力,内部数据管理也比较混乱,通过企业云存储,可以
8 X" K5 Y' T, l* e% @省去自建和管理的麻烦,并提供一定的灾难恢复能力。
4 [" ?/ H ?* T2 K; Q/ ~. l最后,大型互联网服务的后端也构建在互联网内容提供商的私有云存储系统之; @' L5 C! [& s
上,Google,Amazon,Facebook,Taobao等互联网内容提供商都维护了各自的私有6 j5 I9 M5 K# {; p1 k1 O. ^5 v5 D
云存储系统。云存储产品形态如图12-2所示。- U, _; a4 A5 P0 N Z
图 12-2 云存储产品形态9 q. m- `1 d1 i8 P) c% O
" m4 j( l v4 ]% {' K
' a5 u; }. x0 r7 n( e7 D E H5 H. a J
|
|