[PDF] GB/T 31916.5-2015 - 自动发货. 英文版
| 标准号码 | 美元 | 购买PDF | 工期 | 标准名称(英文版) |
| GB/T 31916.5-2015 | 230 | GB/T 31916.5-2015 | 9秒内发货PDF | 信息技术 云数据存储和管理 第5部分:基于键值(Key-Value)的云数据管理应用接口 |
| 基本信息 | |
|---|---|
| 标准编号 | GB/T 31916.5-2015 (GB/T31916.5-2015) |
| 中文名称 | 信息技术 云数据存储和管理 第5部分:基于键值(Key-Value)的云数据管理应用接口 |
| 英文名称 | Information Technology - Cloud Data Storage and Management - Part 5: Key-Value Based Cloud Data Management Application Interface |
| 行业 | 国家标准 (推荐) |
| 中标分类 | L79 |
| 国际标准分类 | 35.100.05 |
| 字数估计 | 27,274 |
| 发布日期 | 2015-09-11 |
| 实施日期 | 2016-05-01 |
| 引用标准 | GB/T 7408-2005; GB/T 18793-2002; GB/T 31916.1; RFC 2616 |
| 标准依据 | 国家标准公告2015年第25号 |
| 发布机构 | 中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会 |
| 范围 | GB/T 31916的本部分给出了健值数据模型, 规定了键值的云数据管理应用接口通用要求和接口定义。本部分适用于基于键值的云数据管理系统的设计、开发和使用。 |
GB/T 31916.5-2015
ICS 35.100.05
L79
中华人民共和国国家标准
信息技术 云数据存储和管理
第5部分:基于键值(Key-Value)的
云数据管理应用接口
2015-09-11发布
2016-05-01实施
中华人民共和国国家质量监督检验检疫总局
中国国家标准化管理委员会发布
目次
前言 Ⅲ
1 范围 1
2 规范性引用文件 1
3 术语、定义和缩略语 1
3.1 术语和定义 1
3.2 缩略语 1
4 Key-Value数据模型 1
5 基于Key-Value的云数据管理应用接口通用要求 2
5.1 概述 2
5.2 数据一致性要求 2
5.3 补充出错信息 3
5.4 公共请求头 3
5.5 公共响应头 3
6 基于Key-Value的云数据管理应用接口定义 3
6.1 概述 3
6.2 列出账号所有表 4
6.3 创建表 5
6.4 删除表 6
6.5 获取元数据 7
6.6 添加/更新元数据 10
6.7 插入/更新数据 11
6.8 删除数据 14
6.9 获取数据 16
6.10 条件表达式查询数据 19
附录A(规范性附录) 补充出错信息 24
前言
GB/T 31916《信息技术 云数据存储和管理》分为六部分:
---第1部分:总则;
---第2部分:基于对象的云存储应用接口;
---第3部分:分布式文件存储应用接口;
---第4部分:基于块的云存储应用接口;
---第5部分:基于键值(Key-Value)的云数据管理应用接口;
---第6部分:分布式关系数据库应用接口。
本部分为GB/T 31916的第5部分。
本部分按照GB/T 1.1-2009给出的规则起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
本部分由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。
本部分起草单位:东北大学软件学院、中国移动通信有限公司研究院、中国电子技术标准化研究
院、东软集团、用友软件股份有限公司、上海计算机软件技术开发中心、浪潮(北京)电子信息产业有限公
司、华为技术有限公司、开普互联信息有限公司、华中科技大学、北京邮电大学。
本部分主要起草人:宋杰、杜宇健、王洁萍、蔡立志、余祥、颜秉珩、李海波、何光宇、陈岭、郑峻、田忠、
丁蔚、周可、吴涛、刘建毅、陈志峰、王卫国、丛培勇、杨丽蕴、朱志良。
信息技术 云数据存储和管理
第5部分:基于键值(Key-Value)的
云数据管理应用接口
1 范围
GB/T 31916的本部分给出了键值数据模型,规定了键值的云数据管理应用接口通用要求和接口定义。
本部分适用于基于键值的云数据管理系统的设计、开发和使用。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 7408-2005 数据元和交换格式 信息交换 日期和时间表示法
GB/T 18793-2002 信息技术 可扩展置标语言(XML)1.0
GB/T 31916.1 信息技术 云数据存储和管理应用接口 第1部分:总则
3 术语、定义和缩略语
3.1 术语和定义
GB/T 31916界定的以及下列术语和定义适用于本文件。
3.1.1
一种以键值数据模型组织数据,以服务的方式对外提供对键值数据模型中各种数据对象操作的数
据管理方式。
3.2 缩略语
下列缩略语适用于本文件。
ACID 原子性、一致性、隔离性、持久性(Atomicity,Consistency,Isolation,Durability)
BASE 基本可用、软状态、最终一致(BasicalyAvailable,Softstate,EventualConsistency)
4 Key-Value数据模型
Key-Value数据模型的组成如图1所示。
图1 Key-Value数据模型
Key-Value数据模型用来描述实体及其属性。
注1:实体是现实世界中任何可区分、可识别的客观事物、抽象事件,以及事物与事物之间的联系。
注2:属性是实体的特征,一个实体可用若干属性来描述。属性包括属性名和属性值。
Key-Value数据模型的组成元素包括表、行、列和时间戳。表是由行组成的数据集合。每行描述一
个实体。不同的行由不同的行键(R)来唯一标识。行中的数据由三元组(K,V,T)组成。其中,“K”代
表列名,“V”代表列值,“T”代表时间戳。列名描述实体的属性名,列值描述实体的属性值。时间戳用来
标记列值的版本信息。通过三元组(R,K,T)可以唯一地标识实体属性值。
5 基于Key-Value的云数据管理应用接口通用要求
5.1 概述
基于Key-Value的云数据管理应用接口通用要求包括接口协议、身份安全管理、数据一致性要求、
状态码信息描述、补充出错信息、公共请求头、公共响应头和出错信息描述要求8项内容。其中,接口协
议、身份安全管理、状态码信息描述和出错信息描述要求4项内容见GB/T 31916.1中相应部分。
5.2 数据一致性要求
云数据管理为保证数据的BASE特性,应满足数据的最终一致性要求。基于Key-Value的云数据
管理宜满足数据强一致性要求。在可用性、容错性占主导时可降低为数据最终一致性要求。
注:数据管理系统存在强一致性和最终一致性两种一致性要求。关系数据库管理系统为保证数据的 ACID特性,
应满足数据的强一致性要求。强一致性指在数据更新完成后,任何后续访问都将返回更新过的值;最终一致
性:存储系统保证如果对象没有新的更新,最终(在不一致窗口关闭之后)所有访问都将返回最后更新的值。
ACID的概念引用GB/T 17173.1-1997。
5.3 补充出错信息
基于Key-Value的云数据管理发生的出错响应较为复杂,需要对 HTTP(见RFC2616)状态码进
行补充出错信息描述。
补充出错信息描述见附录A。
5.4 公共请求头
公共请求头应包括信息见表1。
表1 公共请求头信息
名称 描述 选择状态
Host 主机信息,如:example.clouddb.cn 必选
Accept text/xml 可选
Content-Type text/xml或 */* 可选
Authorization
授权信息,由用户 AccessID 和 Signature信息组成,如:Authorization =
"CloudDB"+""+ AccessID+":"+Signature
必选
5.5 公共响应头
公共响应头应包括信息见表2。
表2 公共响应头信息
名称 描述 选择状态
Content-Type text/xml 可选
6 基于Key-Value的云数据管理应用接口定义
6.1 概述
基于Key-Value的云数据管理应用接口包括表级操作接口和行级操作接口。
表级操作包括:
a) 列出账号所有表;
b) 创建表;
c) 删除表;
d) 获取元数据;
e) 添加/更新元数据。
行级操作包括:
a) 插入/更新数据;
b) 删除数据;
c) 获取数据;
d) 条件表达式查询数据。
6.2 列出账号所有表
6.2.1 功能描述
列出给定账户下所有表的名称。
结果数据集由多个表的名称组成,结果数据集为XML格式(见GB/T 18793-2002),由响应消息
体返回到客户端。
6.2.2 请求定义
请求定义表述为:
GET/[Account]HTTP/1.1
6.2.3 请求URL
请求URL表述为:
http://example.clouddb.cn/[Account]
其中:[Account]表示账户ID。
6.2.4 请求消息头
按公共请求头定义。
6.2.5 请求消息体
无。
6.2.6 响应状态码
状态码包括200,400,401,405,406,408,500,501,503。
6.2.7 响应消息头
按公共响应头定义。
6.2.8 响应消息体
当返回200时,响应消息体应包含信息见表3。
表3 响应消息体信息
名称 类型 描述 选择状态
Tables 标签
包含该账户创建的所有表的名称;
父标签:无
必选
Name 字符串
该账户创建的某个表的名称;
父标签:Tables
可选
当返回400时,消息体包含的错误名称为DateSkewed。
当返回405时,消息体包括的错误名称为 MethodNotAlowed。
当返回406时,消息体包括的错误名称为NotAcceptable。
当返回408时,消息体包括的错误名称为RequestTimeout。
当返回500时,消息体包括的错误名称为InternalServerError。
当返回501时,消息体包括的错误名称为NotImplemented。
当返回503时,消息体包括的错误名称为ServiceUnavailable。
请求消息见示例1。
示例1:
GET/MyAccountHTTP/1.1
Host:example.clouddb.cn
Content-type:text/xml
响应消息见示例2。
示例2:
HTTP/1.1200OK
Content-Type:text/xml
< Tables >
< Name >Table001< /Name >
< Name >Table002< /Name >
< /T ables >
6.3 创建表
6.3.1 功能描述
创建一张新的数据表,表名在同一账户下唯一。
6.3.2 请求定义
请求定义表述为:
PUT/[Account]/[Table]HTTP/1.1
6.3.3 请求URL
请求URL表述为:
http://example.clouddb.cn/[Account]/[Table]
其中:[Account]表示账户ID,[Table]表示表名。
6.3.4 请求消息头
按公共请求头定义。
6.3.5 请求消息体
无。
6.3.6 响应状态码
状态码包括201,400,401,403,405,408,409,500,501,503。
6.3.7 响应消息头
按公共响应头定义。
6.3.8 响应消息体
当返回201时,无消息体。
当返回400时,消息体包含的错误名称为InvalidTableName、DateSkewed之一。
AccountProblems、AccountDisabled之一。
当返回403时,消息体包含的错误名称为TableAlreadyExist。
当返回405时,消息体包含的错误名称为 MethodNotAlowed。
当返回408时,消息体包含的错误名称为RequestTimeout。
当返回409时,消息体包含的错误名称为TooManyTables。
当返回500时,消息体包含的错误名称为InternalServerError。
当返回501时,消息体包含的错误名称为NotImplemented。
当返回503时,消息体包含的错误名称为ServiceUnavailable。
请求消息见示例1。
示例1:
PUT/MyAccount/MyTableHTTP/1.1
Host:example.clouddb.cn
响应消息见示例2。
示例2:
HTTP/1.1201Created
6.4 删除表
6.4.1 功能描述
删除一张表,表中包含的行及其列同时被删除。
6.4.2 请求定义
请求定义表述为:
DELETE/[Account]/[Table]HTTP/1.1
6.4.3 请求URL
http://example.clouddb.cn/[Account]/[Table]
其中:[Account]表示账户ID,[Table]表示表名。
6.4.4 请求消息头
按公共请求头定义。
6.4.5 请求消息体
无。
6.4.6 响应状态码
状态码包括204,400,401,404,405,408,500,501,503。
6.4.7 响应消息头
按公共响应头定义。
6.4.8 响应消息体
当返回204时,无消息体。
当返回400时,消息体包含的错误名称为InvalidRequestBody、DateSkewed之一。
AccountProblems、AccountDisabled之一。
当返回404时,消息体包含的错误名称为TableNotExist。
当返回405时,消息体包含的错误名称为 MethodNotAlowed。
当返回408时,消息体包含的错误名称为RequestTimeout。
当返回500时,消息体包含的错误名称为InternalServerError。
当返回501时,消息体包含的错误名称为NotImplemented。
当返回503时,消息体包含的错误名称为ServiceUnavailable。
请求消息见示例1。
示例1:
DELETE/MyAccount/MyTableHTTP/1.1
Host:example.clouddb.cn
响应消息见示例2。
示例2:
HTTP/1.1204OK
6.5 获取元数据
6.5.1 功能描述
获得一张表的元数据信息,元数据包括系统元数据和用户自定义元数据。
系统元数据包括表创建时间、表拥有者、表中行个数、表中不同的列名的列的个数、表中Key/Value
对的个数、表中所有数据的总大小、表中所有行键的大小、表中所有列名的大小、表中所有列值的大小和
表中所有时间戳的大小。各个系统元数据项可选,也可扩充新的系统元数据项。
用户自定义元数据为用户添加的文本格式的元数据,可以是纯文本、XML、JSON等数据格式。各
个用户自定义元数据项可选,也可扩充新的用户自定义元数据项。
结果数据集为XML格式,通过响应消息体返回到客户端。
注:数据大小以千字节(kb)为单位。
6.5.2 请求定义
请求定义表述为:
GET/[Account]/[Table]HTTP/1.1
6.5.3 请求URL
请求URL表述为:
http://example.clouddb.cn/[Account]/[Table]
其中:[Account]表示账户ID,[Table]表示表名。
6.5.4 请求消息头
按公共请求头定义。
6.5.5 请求消息体
无。
6.5.6 响应状态码
状态码包括200,400,401,404,405,406,408,500,501,503。
6.5.7 响应消息头
按公共响应头定义。
6.5.8 响应消息体
当返回200时,响应消息体应包括信息见表4。
表4 响应消息体信息
名称 类型 描述 选择状态
Metadata 标签
包含表的元数据信息,包括系统元数据和用户自定义元数据;
父标签:无
必选
System 标签
包含表的系统元数据信息;
父标签:Metadata
必选
CreateDate 字符串
系统元数据:表创建时间;
父标签:Metadata\System
必选
Owner 字符串
系统元数据:表拥有者;
父标签:Metadata\System
可选
RowCount 整数
系统元数据:表中行个数;
父标签:Metadata\System
可选
ColumnNameCount 整数
系统元数据:表中不同的列名的列的个数;
父标签:Metadata\System
可选
ColumnCount 整数
系统元数据:表中键/值对的个数;
父标签:Metadata\System
可选
表4(续)
名称 类型 描述 选择状态
TotalSize 整数
系统元数据:表中所有数据的总大小(kb);
父标签:Metadata\System
可选
RowKeySize 整数
系统元数据:表中所有行键的大小(kb);
父标签:Metadata\System
可选
ColumnNameSize 整数
系统元数据:表中所有列名的大小(kb);
父标签:Metadata\System
可选
ColumnValueSize 整数
系统元数据:表中所有列值的大小(kb);
父标签:Metadata\System
可选
TimestampSize 时间
系统元数据:表中所有时间戳的大小(kb);
父标签:Metadata\System。
时间格式引用GB/T 7408-2005
可选
当返回400时,消息体包含的错误名称为DateSkewed。
当返回404时,消息体包含的错误名称为TableNotExist。
当返回405时,消息体包含的错误名称为 MethodNotAlowed。
当返回406时,消息体包含的错误名称为NotAcceptable。
当返回408时,消息体包含的错误名称为RequestTimeout。
当返回500时,消息体包含的错误名称为InternalServerError。
当返回501时,消息体包含的错误名称为NotImplemented。
当返回503时,消息体包含的错误名称为ServiceUnavailable。
请求消息见示例1。
示例1:
GET/MyAccount/MyTableHTTP/1.1
Host:example.clouddb.cn
响应消息见示例2。
示例2:
HTTP/1.1200OK
Content-Type:text/xml
< Metadata >
< System >
< CreateDate >20110503T173008+08< /Cr......
英文网页English: GB/T 31916.5-2015
相关标准: GB/T 31916.3|GB/T 16262.1|GB/T 31915|GB/T 31916.3|GB/T 31916.5-2015|GB/T 31916.5|