ICS35.100.05
中华人民共和国国家标准
GB/T31916.3—2018
信息技术
云数据存储和管理
第3部分:分布式文件存储应用接口Information technologyCloud data storage and management-Part 3: Distributed file storage application interface2018-06-07发布
国家市场监督管理总局
中国国家标准化管理委员会
2019-01-01实施
符合性
3规范性引用文件
4术语、定义和缩略语
4.1术语和定义
4.2缩略语
5分布式文件存储接口定位和系统结构5.1分布式文件存储接口定位
5.2分布式文件存储系统结构
6应用接口通用要求
命名规则
补充出错信息
公共请求头
公共响应头
文件接口要求
创建文件
删除文件
上传文件
下载文件
追加写文件
复制文件
重命名文件
查看文件状态
修改文件属性
文件搜索
读文件
写文件
文件夹接口要求
创建文件夹
删除文件夹
上传文件夹
下载文件夹
复制文件夹
GB/T31916.3—2018
GB/T31916.3—2018
重命名文件夹
查看文件夹状态
8.9修改文件夹属性·
8.10文件夹搜索
列出文件夹内容
9回收站接口要求·.
还原回收站文件
查询回收站文件
彻底删除回收站文件
清空回收站
全部还原
10扩展属性接口要求
设置扩展属性
删除扩展属性
读取扩展属性
列出扩展属性
快照接口要求
创建快照
删除快照
列出快照
重命名快照
访问控制列表接口要求
添加ACL规则.
读取ACL
修改ACL规则.
删除ACL
删除ACL规则·
册删除默认ACL规则
附录A(规范性附录)
分布式文件存储管理接口
附录B(规范性附录)
补充出错信息
光严开开在开开
大活量
GB/T31916《信息技术
云数据存储和管理》分为六个部分:第1部分:总则;
第2部分:基于对象的云存储应用接口;第3部分:分布式文件存储应用接口;第4部分:基于块的云存储应用接口;第5部分:基于键值(Key-Value)的云数据管理应用接口;第6部分:分布式关系数据库应用接口。本部分为GB/T31916的第3部分
本部分按照GB/T1.1—2009给出的规则起草本部分由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。GB/T31916.3—2018
本部分起草单位:上海计算机软件技术开发中心、中国电子技术标准化研究院、浪潮(北京)电子信息产业有限公司、华为技术有限公司、华中科技大学、阿里云计算有限公司、中国科学院深圳先进技术研究院、深圳赛西信息技术有限公司,本部分主要起草人:蔡立志、陈志峰、陈文捷、颜秉珩、胡芸、王志鹏、吴涛、杨丽蕴、王洁萍、周景才、刘振宇、赵江、周可、喻之斌、贝振东、易晶晶、王学英1范围
信息技术云数据存储和管理
第3部分:分布式文件存储应用接口GB/T31916.3—2018
GB/T31916的本部分给出了分布式文件存储的体系结构,规定了分布式文件存储的应用接口通用要求和应用接口。
本部分适用于分布式文件存储的设计,开发,测试和使用2符合性
本部分所定义的接口分为必选项和可选项,其中文件接口、文件夹接口和回收站接口为必选接口,其他接口为可选接口,每一个接口命令的参数可能包含必选参数和可选参数。符合性包含以下几种情况:
a)一个系统实现了所有的接口(包含必选接口和可选接口),可声称为完全符合本部分。b)一个系统实现了所有的必选接口,可声称为符合本部分。c)一个系统没有完全实现所有的必选接口,则不符合本部分。3规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T7408一2005数据元和交换格式信息交换日期和时间表示法GB/T31916.1—2015信息技术云数据存储和管理第1部分:总则RFC822ARPA互联网文本消息格式标准(StandardfortheFormatofARPAInternetTextMessages)
RFC2616超文本传输协议(HTTP)1.1(HypertextTransferProtocolHTTP/1.1)RFC7159JavaScript对象标记(JSON)数据交换格式TheJavaScriptObjectNotation(JSON)Data InterchangeFormat
4术语、定义和缩略语
4.1术语和定义
GB/T31916.1一2015界定的以及下列术语和定义适用于本文件。4.1.1
分布式文件存储
fdistributed filesystem
一种作为应用安装在操作系统之上的文件系统,其存储资源分布在不同的计算机节点上,并通过计算机网络相连。
GB/T31916.3—2018
缩略语
下列缩略语适用于本文件。
访问控制列表(AccessControlList)超文本传输协议(HypertextTransferProtocol)JavaScript对象标记法(JavaScriptObjectNotation)统一资源定位符(UniformResourceLocator)5分布式文件存储接口定位和系统结构分布式文件存储接口定位
应用层的分布式文件存储接口的定位,如图1所示。从操作系统的视角看,应用层分布式文件存储作为一个传统操作系统的应用,不涉及操作系统内核相关的操作,避免了分布式文件存储对于操作系统的依赖和约束。同时,应用层分布式文件存储提供了各类接口,其中文件接口、文件夹接口、回收站接口、扩展属性接口、快照接口、ACL接口为上层的各类应用系统提供必要的功能支撑。除应用接口外,分布式文件存储也提供一些管理功能的接口供管理员使用,见附录A。应用层
分布式文件
存储层
物理层
应用系统1
应用系统1
HTTP接口
文件接口
元数据
服务器
文件系统
文件夹接口
服务器
文件系统
回收站接口
应用接口
扩展属性接口
快照接口
数据存储
服务器
文件系统
图1分布式文件存储接口定位
分布式文件存储系统结构
应用系统1
ACL接口
Www.bzxZ.net数据存储
服务器
文件系统
系统管理员
管理接口
数据存储
服务器
文件系统
分布式文件存储的系统结构包括:元数据服务器,数据存储服务器、监控服务器和客户端。图2展示了这种分布式文件存储的一般体系结构。2
客户端
应用接口
数据访问
监控服务器
元数据访间
元数据服务器
数据存储
服务器
管理接口
数据映射
数据存储
服务器
图2分布式文件存储的一般体系结构GB/T31916.3—2018
管理员
数据存储
服务器
元数据服务器:提供整个文件系统的目录信息,并且管理各个存储服务器,是整个文件系统的核心。元数据服务器维护着一张表,其中记录了文件系统中所有的文件名与该文件存储地址的对应关系。元数据服务器还有管理各个存储服务器的功能。元数据服务器可以有一个或多个。数据存储服务器:用于存放实际的文件数据。所有的分布式文件存储都需要有至少一个存储服务器。客户端查询到某个文件的实际存放地址后就直接和存储服务器通信以获取文件。监控服务器:提供整个分布式文件存储的服务监控、目志记录等管理功能,可为整个服务运行提供管理支持。在某些分布式文件存储中监控服务器的功能整合到了元数据服务器中。客户端:使用分布式文件存储来存储和访问的主机称为分布式文件存储的客户端,成功连接文件系统以后,就可以通过应用接口对文件系统进行操作。6应用接口通用要求
6.1概述
分布式文件存储应用接口通用要求包括接口协议、身份安全管理、命名规则、状态码信息描述、补充出错信息、公共请求头、公共响应头和出错信息描述要求8项内容。其中,接口协议、身份安全管理、状态码信息描述和出错信息描述要求4项内容见GB/T31916.1一2015中相应部分。6.2命名规则
所有文件、文件夹、路径的命名规则如下:名称可用字母、数字、下划线(_)、短横线(-)和中文字符。名称应以字母、数字或者中文字符开头。名称最长可允许256个字符。
所有响应中需要命名的部分见RFC7159。6.3补充出错信息
分布式文件存储发生的出错响应较为复杂,需要对HTTP状态码补充出错信息描述。出错信息格式符合GB/T31916.1一2015中5.4的要求。补充出错信息描述见附录B。3
GB/T31916.3—2018
公共请求头
公共请求头应包括信息见表1(见RFC2616)。表1
公共请求头信息
Accept
Content-Type
Authorization
公共响应头
主机信息,如:example.distfs.cnapplication/json
application/json或*/*
用户授权信息
公共响应头应包括信息见表2。
Content-Length
Content-Type
Server
7文件接口要求
7.1概述
公共响应头信息
响应消息内容长度(不含消息头)表示响应文档属于什么MIME类型消息响应的时间,时间的描述格式由RFC822定义,如:Sun,18Nov200606:12:00GMT
处理请求的原始服务器的信息
选择状态
选择状态
取决响应消息内容,对于有内容的响应,本参数必选;无内容的响应,可选
分布式文件存储的文件接口是对系统中的文件进行操作的接口,包括创建文件、删除文件。上传文件、下载文件、追加写文件、复制文件、重命名文件、查看文件状态、修改文件属性、文件搜索、读文件和写文件。文件接口是必选接口。
创建文件
7.2.1功能描述
创建文件的操作参数为:CreateFile,用于在分布式文件存储中创建文件。创建的文件名应在文件夹中唯一。
7.2.2请求定义
PUT/
/(Path)?op=createfile&.name=xxx[&overwrite=true/falseJ[&permission=xxx[&.replication=][&trashtime=《time>]HTTP/1.14
Host: [HostName]
Accept: application/json
Content-Type:application/jsonAuthorization:[SignatureValue]7.2.3请求URL
http://example.distfs.cn//表示账户ID,表示创建文件的位置。7.2.4请求消息头
按公共请求头定义。
7.2.5请求消息参数
请求消息参数见表3。
表3请求消息参数
overwrite
permission
replication
trashtime
文件名称
文件重名覆盖
文件权限
副本数
回收站保存时间
请求消息体
7.2.7响应状态码
String
Boolean
String
String
响应状态码及其描述见表4。
状态码
OK,创建成功
文件名称应符合6.2中所述的文件命名规则GB/T31916.3—2018
选择状态
true表示可覆盖,false表示不允许覆盖,默认值为falser表示可读,w表示可写,x表示可执行,默认值为rwx0~512之间的正整数,应大于或等于系统最低文件副本数,默认值为系统最低文件副本数正整数十单位,格式如12min。单位包括秒(s)、分(min)、小时(h)、天(d)、月(M)。最大值为24个月。默认值为1天
表4响应状态码
InvalidFileName,文件名不符合命名规则InvalidFilePermission,文件权限参数不正确可选
GB/T31916.3—2018
状态码
表4(续)
InvalidFileSize,用户请求创建文件大小大于系统设定的最大文件大小值InvalidReplicationNumber,用户请求修改的文件副本数目不是0~512之间的正整数或小于系统最低文件副本数
InvalidTrashTime,文件保存时间不符合格式或超过24个月Unauthorized.用户没有传人验证信息或验证信息不正确Forbidden,用户没有创建文件的权限NoSuchFolder,用户请求的文件路径不存在FileAlreadyExists,用户创建的文件名与已有文件重名,并且重名覆盖标记为falseNotImplemented,服务器不支持此功能接口响应定义
HTTP/1.1200OK
Date:date
Content-Type: application/jsonContent-Length:length
Server: server
\ctime\.\xxxxxxxx\
响应消息头
按公共响应头定义。
响应消息体
响应消息体中各参数描述见表5
5响应消息体
文件的创建时间戳
请求和响应示例
string
请求消息和响应消息见示例。
示例:
请求消息:
时间的格式由GB/T7408—2005定义,如:2006-11-18T06?12:00PUT/MyAccount/temp?op=createfile&name=temp.txt&.overwrite=true&permission=rwx&replication=5&trashtime=12MHTTP/1.1Host:example.distfs.cn
选择状态
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。