GB/T31916.5-2015

信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口

Informationtechnology—Clouddatastorageandmanagement—Part5:Key-Valuebasedclouddatamanagementapplicationinterface

本文分享国家标准信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口的全文阅读和高清PDF的下载,信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口的编号:GB/T31916.5-2015。信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口共有27页,发布于2016-05-01
  • 中国标准分类号(CCS)L79
  • 国际标准分类号(ICS)35.100.05
  • 实施日期2016-05-01
  • 文件格式PDF
  • 文本页数27页
  • 文件大小483.55KB

以图片形式预览信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口

信息技术云数据存储和管理第5部分:基于键值(Key-Value)的云数据管理应用接口


国家标准 GB/T31916.5一2015 信息技术云数据存储和管理 第5部分:基于键值(Key-Value)的 云数据管理应用接口 nformationteehmology-Coudldatastorage andnmanagement Part5:Key-Valuebasedeouddatamanagementapplieatiominterface 2015-09-11发布 2016-05-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/T31916.5一2015 目 次 前言 范围 规范性引用文件 术语、定义和缩略语 3.1 术语和定义 3.2缩略语 Key-Value数据模型 基于KeyValue的云数据管理应用接口通用要求 5.1 概述 5.2数据一致性要求 5.3补充出错信息 5.4公共请求头 5.5公共响应头 基于Key-Value的云数据管理应用接口定义 概述 6.1 6.2列出账号所有表 6.3创建表 6.4删除表 6.5获取元数据 6.6添加/更新元数据 6.7插人/更新数据 6.8删除数据 6.9获取数据 6.10条件表达式查询数据 附录A规范性附录补充出错信息 24
GB/T31916.5一2015 前 言 GB/T31916《信息技术云数据存储和管理》分为六部分 -第1部分:总则; 第2部分:基于对象的云存储应用接口; 第3部分:分布式文件存储应用接口; 第4部分;基于块的云存储应用接口 第5部分基于键值(Key-Value)的云数据管理应用接口; 第6部分:分布式关系数据库应用接口 本部分为GB/T31916的第5部分 -309给出的规则起 本部分按照GB/T1.1一 请注意本文件的某些内容可能涉及专利 本文件的发布机构不承担识别这些专利的责任 本部分由全国信息技术标准化技术爱员会(sAc/Tc20提出并归口 本部分起草单位,东北大学软件学院、移动通信有限公司研究院.电子技术标准化研究 院、东软集团、用友软件股份有限公司、上海计算机软件技术开发中心、浪潮(北京)电子信息产业有限公 司、华为技术有限公司、开普互联信息有限公司,华中科技大学,北京邮电大学 本部分主要起草人;宋杰、杜宇健、王洁萍,蔡立志,余祥、颜秉奇,李海波,何光宇,陈岭,郑峻,田忠、 丁蔚,周可,吴涛,刘建毅、陈志峰、王卫国、丛培勇、杨丽蕴,朱志良 m
GB/T31916.5一2015 信息技术云数据存储和管理 第5部分:基于键值(Key-Value)的 云数据管理应用接口 范围 GBT31916的本部分给出了键值数据模型,规定了键值的云数据管理应用接口通用要求和接口定义 本部分适用于基于键值的云数据管理系统的设计、开发和使用 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T7408一2005数据元和交换格式信息交换日期和时间表示法 GB/T18793一2002信息技术可扩展置标语言(XML.)1.0 GB/T31916.1信息技术云数据存储和管理应用接口第1部分:总则 TrtanslerProtoolHTTP/1.l) RFC2616超文本传输协议(HTTP)1.1(Hypertext 术语、定义和缩略语 3.1 术语和定义 GB/T31916界定的以及下列术语和定义适用于本文件 3.1.1 基于键值的云数据管理 Key-Valuebasedclouddatamanagement -种以键值数据模型组织数据,以服务的方式对外提供对键值数据模型中各种数据对象操作的数 据管理方式 3.2缩略语 下列缩略语适用于本文件 ACID原子性、一致性,隔离性、,持久性(Atomieity,Consistency,lsolation,Durabiity) 应用程序编程接口(Appieation API lnterface) Programming BAsE基本可用、软状态、最终一致(BasicallyAvailable,Softstate,EventualConsistency) CURD创建、更新、读取、删除(Create,Update,Read,Delete) HTTP超文本传输协议(HypertextTransferProtocol) JsONJavaScript对象标记(JavaSeriptObjectNotation) XML可扩展置标语言(ExtensibleMarkupL.anguage Key-Value数据模型 Key-Value数据模型的组成如图1所示
GB/T31916.5一2015 表3 表2 表1 V 行健 列名 列值 时间戳 图1Key-Value数据模型 Key-Value数据模型用来描述实体及其属性 注1:实体是现实世界中任何可区分,可识别的客观事物抽象事件,以及事物与事物之间的联系 注2:属性是实体的特征,一个实体可用若干属性来描述 属性包括属性名和属性值 Key-Value数据模型的组成元素包括表、行,列和时间截戳 表是由行组成的数据集合 每行描述 个实体 不同的行由不同的行键(R)来唯一标识 行中的数据由三元组(K,V,T)组成 其中,“K”代 表列名,“V”代表列值,“T”代表时间戳 列名描述实体的属性名,列值描述实体的属性值 时间戳用来 标记列值的版本信息 通过三元组(R,k,T)可以唯一地标识实体属性值 基于key-Value的云数据管理应用接口通用要求 5.1概述 基于Key-Value的云数据管理应用接口通用要求包括接口协议、身份安全管理、数据一致性要求、 状态码信息描述、补充出错信息,公共请求头,公共响应头和出错信息描述要求8项内容 其中,接口协 议、身份安全管理状态码信息描述和出错信息描述要求4项内容见GB/T31916.1中相应部分 5.2数据一致性要求 云数据管理为保证数据的BASE特性,应满足数据的最终一致性要求 基于Key-Value的云数据 管理宜满足数据强一致性要求 在可用性、容错性占主导时可降低为数据最终一致性要求 注,数据管理系统存在强一致性和最终一致性两种一致性要求 关系数据库管理系统为保证数据的ACD特性 应满足数据的强一致性要求 强一致性指在数据更新完成后,任何后续访问都将返回更新过的值;最终一致 性;存储系统保证如果对象没有新的更新,最终(在不一致窗口关闭之后)所有访问都将返回最后更新的值 AcD的概念引用GB/T17173.1一1997
GB/T31916.5一2015 5.3 补充出错信息 基于Key-Value的云数据管理发生的出错响应较为复杂,需要对HTTP(见RFC2616)状态码进 行补充出错信息描述 补充出错信息描述见附录A 5.4公共请求头 公共请求头应包括信息见表1 表1公共请求头信息 名称 描述 选择状态 Host 主机信息,如example.clouddb.cm 必选 Accept text/xml 可选 text/xml或 可选 Content-Type 授权信息,由用户AccesslID和 Swue信息组成,如了Athonam 必选 Authorization "CloudDB" AccessID Signature 5.5公共响应头 公共响应头应包括信息见表2 表2公共响应头信息 名称 描述 选择状态 Content-TIype text/xml 可选 基于Key-Value的云数据管理应用接口定义 概述 6.1 基于Key-Value的云数据管理应用接口包括表级操作接口和行级操作接口 表级操作包括 a)列出账号所有表; 创建表; b e)删除表; d 获取元数据; e)添加/更新元数据 行级操作包括 插人/更新数据; a b 删除数据; 获取数据; c d 条件表达式查询数据
GB/T31916.5一2015 6.2 列出账号所有表 6.2.1功能描述 列出给定账户下所有表的名称 结果数据集由多个表的名称组成,结果数据集为XML格式(见GB/T18793一2002),由响应消息 体返回到客户端 6.2.2请求定义 请求定义表述为: GET/Accoun门HHT'TP/1.1 6.2.3请求URL 请求URL表述为 http://example.clouddb.cn/[Account 其中;[Accoun]表示账户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. 当返回401时,消息体包含的错误名称为AccountNotExist,Unauthorized,MissingAuthorization、 Account tProblems,AccountDisabled之 当返回405时,消息体包括的错误名称为MethodNotAllowed
GB/T31916.5一2015 当返回406时,消息体包括的错误名称为NotAcceptable. 当返回408时,消息体包括的错误名称为RequestTimeout. 当返回500时,消息体包括的错误名称为InternalServerError. 当返回501时,消息体包括的错误名称为Notlmplemented 当返回503时,消息体包括的错误名称为ServiceUnavailable 6.2.9示例 请求消息见示例1 示例1 GET/MyAccountHTTP/1.1 Host:example.clouddb.cnm Accept:text/xml Content-type:text/xml 响应消息见示例2. 示例2 HTTP/1.1200oK Content-Type:text/xtml 《Tables》 Name>Table0o1(/Name Name>Table002GB/T31916.5一2015 6.3.6响应状态码 状态码包括201,400,401,403,405,408,409,500,501,503 响应消息头 6.3.7 按公共响应头定义 6.3.8响应消息体 当返回201时,无消息体 当返回400时,消息体包含的错误名称为InvalidTableName,DateSkewed之 当返回401时,消息体包含的错误名称为AccountNNotExist,Unauthorized,MissingAuthorization、 AccountProblems、AccountDisabled 当返回403时,消息体包含的错误名称为TableAlreadyExist 当返回405时,消息体包含的错误名称为MethodNotAllowed 当返回408时,消息体包含的错误名称为RequestTinmeout 当返回409时,消息体包含的错误名称为TooManyTables 当返回500时,消息体包含的错误名称为lnternalIServerEror 当返回501时,消息体包含的错误名称为NotImplemented 当返回503时,消息体包含的错误名称为ServiceUnavailable 6.3.9示例 请求消息见示例1 示例1 PUT/MyAccount/MyTableHTTP/1.1 Host example.clouddb.cn Accept:text/xml 响应消息见示例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.cdouddb.cn/[Account][Table] 其中;[Account]表示账户ID,[Table]表示表名 6.4.4请求消息头 按公共请求头定义
GB/T31916.5一2015 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之 当返回401时,消息体包含的错误名称为AccountNotExist、Unauthorized,MissingAuthorization、 AccountProblems、AccountDisabled之 当返回404时,消息体包含的错误名称为TableNotExist 当返回405时,消息体包含的错误名称为MethodNotAlowed uestTimeout 当返回408时,消息体包含的错误名称为Reu 当返回500时,消息体包含的错误名称为lnternalServerError 当返回501时,消息体包含的错误名称为Notlmpler 2mented 当返回503时,消息体包含的错误名称为ServiceUnavailable 6.4.9示例 请求消息见示例1 示例 1: DELETE/My nt/MyTableHTTP1. Account Host:example.couddb.cn Accept;text/xml 响应消息见示例2 示例2: HTTP/1.1204OK 6.5获取元数据 6.5.1 功能描述 获得一张表的元数据信息,元数据包括系统元数据和用户自定义元数据 系统元数据包括表创建时间,表拥有者,表中行个数,表中不同的列名的列的个数、表中Key/Value 对的个数,表中所有数据的总大小,表中所有行键的大小,表中所有列名的大小,表中所有列值的大小和 表中所有时间戳的大小 各个系统元数据项可选,也可扩充新的系统元数据项 用户自定义元数据为用户添加的文本格式的元数据,可以是纯文本,XML,JSON等数据格式 个用户自定义元数据项可选,也可扩充新的用户自定义元数据项 结果数据集为XML格式,通过响应消息体返回到客户端 注;数据大小以千字节(kb)为单位
GB/T31916.5一2015 6.5.2请求定义 请求定义表述为: (G;ET/[Accont][Table]HTTP/1. 6.5.3请求URL 请求URL.表述为: http://e xample.clouddb.cn/[Account]/[Table 其中[Accoun]表示账户lID,[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\systenm 系统冗数据;表中行个数 RowCount 整数 可选 父标签;Metadata\Systenm" 系统元数据;表中不同的列名的列的个数; ColumnNameCount 整数 可选 父标签;Metadata\ystenm 系统元数据;表中键/值对的个数 可选 ColumnCouunt 整数 父标签;Metadata\ystem
GB/T31916.5一2015 表4(续 选择状态 名称 类型 描述 系统元数据;表中所有数据的总大小(kb) TotalSize 整数 可选 父标签:Metadata\System 系统元数据;表中所有行键的大小(kb) RowKeySize 整数 可选 父标签:Metadata\System 系统元数据;表中所有列名的大小(kb) 整数 可选 ColumnNameSize 父标签:Metadata\System 系统元数据;表中所有列值的大小(kb) ColumnValueSize 整数 可选 父标签;Metadata\System 系统元数据:表中所有时间戳的大小(kb); TimestampSize 时间 父标签:Metadata\System 可选 时间格式引用GB/T74082005 当返回400时消息体包含的错误名称为DatesSkewedl 当返回401时,消息体包含的错误名称为AccountNotExist、Unauthorized.MissingAuthorization、 AccountProblems,AccountDisabled之 当返回404时消息体包含的错误名称为TableNoExist 当乌返回405时,消息体包含的错误名称为MethodNotAlowed 当返回406时,消息体包含的错误名称为NotAcceptable 当返回408时,消息体包含的错误名称为RequestTinmeout 当迟同50时;前息体包含的错误名称为haternmlsreBror 当返回501时,消息体包含的错误名称为NotImplemented 当返回503时,消息体包含的错误名称为ServiceUnavailable 6.5.9示例 请求消息见示例1 示例1: GET/MyAccount/MyTableHTTP/1.1 Host:example.clouddb.en Accept:text/xml 响应消息见示例2. 示例2: HTTP1.1200oK Content-Type:text/xtml Metadata System CreateDate)20110503T173008+08999999(/ColumnName(Count》 (ColumnCount)999GB/T31916.5一2015 RowKeySize)999999(/ColumnNameSize》 ColumnValueSize)999(GB/T31916.5一2015 当返回204时,无消息体 D 当返回400时,消息体包含的错误名称为lnvalidRe RequestBody、 ateSkewed之一 Authorization、AccountProblems、 当返回401时,消息体包含的错误名称为Unauthorized、Mis ssing ntDisabled之 Accoun 当返回404时,消息体包含的错误名称为TableNotExist 当返回405时,消息体包含的错误名称为MethodNotAllowed 当返回408时,消息体包含的错误名称为RequetTimeout 当返回409时,消息体包含的错误名称为TooLlargeMetadata estEntityTooLarge 当返回113时,消息体包含的错误名称为Reu 当返回415时,消息体包含的错误名称为UnsupportedMediaType 当返回50时;消息体包含的错误名称为harnmlsrtBror 当返回501时.消息体包含的错误名称为Notlmplemented 当返回503时,消息体包含的错误名称为ServieeUnavailable 6.6.9示例 请求消息见示例1 示例1 POST/MyAccount/MyTableHTTP/1. Host:example.clouddb.en Accept;text/xml Content-type:applieation/json "Subject";"IlikeKey-ValueDB" Athor";"Rusty" "PostedDate";"20110503T17300808” "Tag";["DB","key-value","eloud"] 响应消息见示例2 示例2: HTTP/1.1201Created 6.7插入/更新数据 6.7.1功能描述 创建或更新多个列,并指定其列值 用户提供的输人数据集由多个行组成 每个行包含唯一行键和若干列名与列值组成键/值对,数据 集为XML格式,随请求消息体发送到服务端 对于插人/更新数据的某行数据,如果目标数据表中行键不存在,则在目标数据表中插人该新行 对于插人/更新数据的某行数据,如果目标数据表中行健存在;若指定列不存在,则在该行中增加新 列,并自动分配时间戳;若指定列存在,则更新该列,并自动分配时间戳 数据管理系统需要对数据库中每张表的最大行数,每行的最大列数,或表的最大数据量进行限定 若插人/更新操作超过了数据管理系统的限定,则操作失败 6.7.2请求定义 请求定义表述为 11
GB/T31916.5一2015 PUT/[Acount][Table]/RowHTTP/1.l 6.7.3请求URL 请求URL表述为 http://example.clouddb.cn/[Accoun]/[Table]/Row 其中;[Accoun]表示账户ID,[Table]表示表名 6.7.4请求消息头 按公共请求头定义 6.7.5请求消息体 请求消息体应包括信息见表5 表5请求消息体 名称 类型 描述 选择状态 包含插人\更新数据的所有行 Values 标签 必选 父标签;无 包含插人\更新数据的所有行的行键 标签 必选 Row 父标签;Values 指定在某行创建或更新列,若行键已经存在,则更新数据,若行键不 Key 字符串 存在,则插人新行; 必选 父标签;Values\Row 包含插人\更新数据的所有列的列名; 标签 必选 Column 父标签;Values\Row 指定插人\更新数据的所有列的列名,若列名存在,则更新该列,否 Name 字符串 则插人该列:; 必选 父标签;Values\Row\Columnm 在指定列名的列插人\更新数据 字符串 Value 必选 父标签;Values\Row\Column 6.7.6响应状态码 状态码包括200,201,204,400,401,404,405,408,409,413,415,500,501,503 如果数据插人成功,响应状态码为200;如果数据更新成功,响应状态码为204;如果两者均发生且 成功,响应状态码为200 6.7.7 响应消息头 按公共响应头定义 6.7.8响应消息体 当返回200时,无消息体 当返回201时,无消息体 当返回204时,无消息体 12
GB/T31916.5一2015 当返回400时,消息体包含的错误名称为lnvalidRe kequestBody,Inva validRowKey、InvalidColumn Na1 .nohaacamn e,DateSkewed之 ame、 lue、 当返回401时,消息体包含的错误名称为AccountNotExist.Umauthorized.MissingAthorization、 AccountProblems、AccountDisabled之 当返回404时,消息体包含的错误名称为TableNotExist 当返回405时,消息体包含的错误名称为MethodNotAlowed 当返回408时,消息体包含的错误名称为RequestTimeout eData、TooManyRows、TooManyColumns之 当返回409时,消息体包含的错误名称为Toolarge 当返回413时,消息体包含的错误名称为RequestEntityTooLarge: 当返国15时.,消息体包舍的错误名称为Um" )ortedMediaType upp 当迟同500时;消息体包含的错误名称为atrnlsereBror 当返回501时.消息体包含的错误名称为Notlmplemmented 当返回503时,消息体包含的错误名称为ServiceUnavailable 6.7.9示例 请求消息见示例1 示例1 PUT/MyAccount/MyTable/RowHTTP/1.l Host:example.clouddb.cn Accept:text/xml Content-type:text/xml 《Values Row Color(/Name Value)Blue)Price(/Name' Value)14.99(Valuey 7Column /Row Row Row002L.ength12.98(/Vauey /Column Column Nanme)width4.56(/Vaue》 13
GB/T31916.5一2015 /Column /Row) /Values》 响应消息见示例2 示例2: 200OK HTTP1.1 6.8删除数据 6.8.1功能描述 删除某一行或多行的一或多列 用户提供的输人数据集由多个行组成,每个行包含行键、列名和时间戳(可选),数据集为XML格 式,随请求消息体发送到服务端 对于删除数据的某行,如果仅包含行键;若目标数据表中该行键存在,则删除该行的所有列;若该行 不存在,则操作失败 对于删除数据的某行,如果包含行键和若干列名,若目标数据表中行键存在;若某列存在,则删除该 列;若某列不存在,则操作失败 对于删除数据的某行的某列名设定了时间戳值,则删除早于指定时间戳的所有列值版本;若未设定 时间戳,则删除所有数据版本 6.8.2请求定义 请求定义表述为 DELETE[Account][Table]/RowHTTP/1.1 6.8.3请求URI 请求URL表述为 http://example.clouddb.cn/[Accoun][Table]/Row 其中;[Acoun]表示账户ID,[Table]表示表名 6.8.4请求消息头 按公共请求头定义 6.8.5请求消息体 请求消息体应包括信息见表6 表6请求消息体 名称 类型 描述 选择状态 包含待删除的所有行 Rows 标签 必选 父标签:无 包含待删除的所有行的行键 Row 标然 必选 父标签;Rows 待删除的所有行的行键,若该行不存在,则操作失败 Key 字符串 必选 父标签;Rows\Row 八心
GB/T31916.5一2015 表6(续 选择状态 名称 类型 描述 包含待删除的行的所有列 Column 标签 可选 父标签:Rows\Row 待删除的行的所有列的列名,若该列不存在,则操作失败; Name 字符串 必选 父标签;Rows\Row\Column 某列的时间戳,若指定,则删除时间戳之前的所有版本,若该版本不 存在,则操作失败 Timestamp 时间 若不指定,则删除所有版本; 可选 父标签;Rows\Row\Column. 时间格式引用GB/T7408一2005 6.8.6响应状态码 状态码包括204,400,401,404,405,408,415,500,501,503 响应消息头 6.8.7 按公共响应头定义 6.8.8响应消息体 当返回204时,无消息体 当返回400时,消息体包含的错误名称为InvalidRequestBody、InvalidTimestamp、DateSkewedl 当返回401时.消息体包含的错误名称为AccountNotExist.Unauthorized、MissingAuthorization、 AccountProblems,AccountDisabled之 当返回404时,消息体包含的错误名称为TableNotExist,RowKeyNotExist,ColumnNotExist、 Column(OnTimestampNotExist之 当返回405时,消息体包含的错误名称为MethodNotAllowed 当返回408时,消息体包含的错误名称为RequestTimeout 当返回415时,消息体包含的错误名称为UnsupportedMediaType 当返回500时,消息体包含的错误名称为lnternalServerError 当返回501时,消息体包含的错误名称为Notllmplemented 当返回503时,消息体包含的错误名称为ServieeUnavailable. 6.8.9示例 请求消息见示例1 示例1 DELETE/MyAccount/MyTabe/RowHTTP/1. Host:example.couddb.cn Accept;text/xml Content-type:text/xml GB/T31916.5一2015 Color(/Name' /Column)y (Column GB/T31916.5一2015 表7请求消息体 选择状态 名称 标签值 描述 包含待获取的所有行 Rows 标签 必选 父标签:无 包含待获取的所有行的行键; Row 标签 必选 父标签:Rows 待获取所有行的行键,若该行不存在,则操作失败" 字符串 必选 Key 父标签:Rows\Row 包含待获取的行的所有列 Column 标签 可选 父标签:Rows\Row 待获取的行的所有列的列名,若该列不存在,则操作失败; 字符串 必选 Name 父标签:Rows\Row\Column 某列的时间戳,若指定,则获取时间截之前的所有版本,若该版本不 存在,则操作失败,若不指定,则获取所有版本; Timestamp 时间 可选 父标签;Rows\Row\Column 时间格式引用GB/T7408- -2005 6.9.6响应状态码 状态码包括200,400,401,404,405,406,408,409,415,500,.501,503 6.9.7响应消息头 按公共响应头定义 6.9.8响应消息体 当返回200时,响应消息体应包括信息见表8, 表8响应消息体 选择状态 名称 类型 描述 包含所获取数据的所有行; Values 标签 必选 父标签;无 包含所获取的所有行的行键 Row 标签 必选 父标签;Values 所获取的所有行的行健; 字符串 Key 必选 父标签,Values\Row 包含所获取的行的所有列; 标签 Column 必选 父标签;Values\Row 所获取的行的所有列的列名 字符串 Name 必选 父标签;Value\Row\Ccolumnm 指定行、指定列所获取的列值; 字符串 Value 必选 父标签;Vale\Rww\column
GB/T31916.5一2015 .InvalidTinm 、DateSkewed 当返回400时,消息体包含的错误名称为lInvalidRe RequestBody、 mestamp、 ntNotExist、UJnauthort 当返回401时,消息体包含的错误名称为Aecount brized,MissingAuthorization、 AccountProble ,AccountDisabled之 ems、 syNotExitt、 ColumnNotExist 当返回404时,消息体包含的错误名称为TableNotExist、RowKe DNotExist之 ColumnOnTimestampN 当返回405时,消息体包含的错误名称为MethodNotAllowed 当返回406时,消息体包含的错误名称为NotAc eeeptable. stTimeout 当返回408时,消息体包含的错误名称为Request 当返回409时,消息体包含的错误名称为TooL l.argeResultSize 当返回415时,消息体包含的错误名称为UnsupportedMediaTypel nternalServerError 当返回500时,消息体包含的错误名称为lInt 当返回501时,消息体包含的错误名称为Notlmplemented. 当返回503时,消息体包含的错误名称为ServiceUnavailable. 6.9.9示例 请求消息见示例1 示例1 GET HTTP1.1 /MyAccount/MyTable/Row Host:example.couddlb.cn Accept;text/xml Content-type:text/xnml Rows Row Key>Row001(/Key (Column Name>Color(/Name 《Column Column Name)Price(/Name Timestamp)20110503T173008十08(/Timestamp 《Column /Row) Row Key>Row002GB/T31916.5一2015 Name>Color(/Name Value)BluePrice(/Name》 Value>14.99(/Value /Column /Row Row Row002(/Key (Column Name)Color(/Namey Value>BlackPrice(/Name Value)7.89(/Value 《/Column Column Name>LengthWidth4.56(/Valuey 《/Column /Row /Values》 6.10条件表达式查询数据 6.10.1功能描述 使用一组条件表达式查询某数据库表,返回满足条件的行 多个条件表达式用“AND”或“oR”运 算符连接,条件表达式形见示例 示例 Colunmn nallLikelNoLikelNulllNoNull EwalINuEal八GewulerlLelGrclrEwalLeaEwa GivenValue[onTiestam 在查询条件中,若指定列不存在,则条件表达式返回空 在查询条件中,若指定列的时间戳,则参与逻辑运算的列值为该时间戳之前的最新版本,若该版本 不存在,则等同于列不存在;若不指定列的时间戳,则参与逻辑运算的列值为最新版本 结果数据集由多个行组成,每行包含行键和特定列的值 对于每一行,行键默认为返回结果,列则 默认为不返回结果(除非明确指定该列需要返回) 结果数据集为XML格式,随响应消息体返回到客 19
GB/T31916.5一2015 户端 在指定的返回列中,若某行该列不存在,则该行不包括此列 在返回列定义中,若指定列的时间戳,则返回的列值为该时间戳之前的最新版本,若该版本不存在, 则等同于列不存在;若不指定列的时间戳,则返回的列值为最新版本 查询请求可以指定结果集大小和偏移量,即上一次返回结果的行数,以实现分页查询 此功能亦可 通过限制客户端一次可以访问的数据量,同时在响应消息中添加数据未结束的标识来实现,本部分对相 关实现细节不做规范 当结果集大小未指定,且查询结果超出云存储系统预设的最大结果集大小,则返回最大结果集行 数,且响应状态码为206;否则,返回指定结果集行数,且响应状态码为206 当返回结果集大小小于或等于指定(或预设)结果集大小,则返回全部查询结果,且响应状态码 为200 当指定的结果集大小大于云存储系统预设的最大结果集大小,则操作失败 当未指定偏移量,返回结果集从首行开始;否则,从指定偏移量(行键)的下一行开始 6.10.2请求定义 请求定义表述为: POST/[Account][Table]/QueryHTTP/1.1 6.10.3请求UR1 请求URL表述为 http://example.clouddb.cn/[Accoun][Table]/Query 其中;[Accoun]表示账户ID,[Table]表示表名 6.10.4请求消息头 按公共请求头定义 6.10.5请求消息体 请求消息体见表9 表9请求消息体 名称 类型 描述 选择状态 包含条件查询的所有条件和结果集设定; 标签 必选 Conditions 父标签;无 结果集设定;结果集大小" 整数 可选 Size 父标签Conditions 结果集设定;偏移量; Offset 整数 可选 父标签:Conditions 包含条件查询的所有条件; Condition 标签 可选 父标签:Conditions 查询条件;查询条件序号,标识查询条件的顺序 整数 必选 lIndex 父标签;Conditions\Condition 20
GB/T31916.5一2015 表9(续 选择状态 名称 类型 描述 查询条件;某查询列的列名,若列名不存在,则该条件返回False,其 字符串 Column 中行键的列名定义为“RowKey”; 必选 父标签Conditions\Condition 查询条件;某查询列的时间戳,若指定,则参与逻辑运算的或返回的 列值为 之前的最新版本,若该版本不存在,则等同于列名 该时间截之 Timestamp 时间 不存在 则参与逻辑运算的或返回的列值为最新版本; 可选 父标签:Conditions ondition 时间格式引用GB/ 7408一2005 查询条件:运算符,可选值包括,EquallNotEquallGreaterlless GreaterEqualllessEquallLikelNotLikelNulllNotNull在默认情况 O)peraton 字符串 必选 结果集" 包含行键,不包含任何列; 父标签;Conditions\Condition 查询条件;同运算符相应的条件值; Vaue 字符串 可选 父标签:Conditions\Condition 查询条件:逻辑运算符,可选值包括AndlOr,表示当前条件和下 字符串 个条件的运算逻辑 可选 l.ogic 父标签;Conditions\Condition 包含条件查询所返回的所有列 Seleet 标签 可选 父标签:Conditions 某返回列的列名,返回结果集包含的列,若对于某行该列不存在,则 Column 字符串 结果中该行数据不包含该列; 必选 父标签Conditions\Select 某返回列的时间截,若指定,则返回的列值为该时间截之前的最新 版本,著该版本不存在,则等同于列名不存在;若不指定,则返回的 Timestamp 时间 列值为最新版本; 必选 父标签;Conditions\Select 时间格式引用GB/T7408一2005 6.10.6响应状态码 状态码包括200,206,400,401,404,405,406,408,409,413,415,500,501,503. 返回全部结果集时状态码为200;返回部分结果集时状态码为206 6.10.7响应消息头 按公共响应头定义 6.10.8响应消息体 当返回200或206时,响应消息体应包括信息见表10 21
GB/T31916.5一2015 表10响应消息体 选择状态 名称 类型 描述 包含所获取数据的所有行; Vaues 标签 必选 父标签:无 包含所获取的所有行的行键; Row 标签 可选 父标签;Values 所获取的所有行的行键; Key 字符串 必选 父标签:Values\Row 包含所获取的行的所有列 Column 标签 可选 父标签:Values\Row 所获取的行的所有列的列名; Name 字符串 必选 父标签:Values\Row\Column 指定行,指定列所获取的列值; Value 字符串 必选 父标签:Vaues\Row\Column 当返回400时,消息体包含的错误名称为lnvalidRequestBody、InvalidTimestamp nvalidOperator、,InvalidL.ogic,InvalidCondition(Orders,DateSkewed之一 当返回401时,消息体包含的错误名称为AccountNotExist、Unauthorized,MissingAuthorization、 AcoumtProbiems.AcountDisablcd之 当返回404时,消息体包含的错误名称为TableNotExist,ColumnNotExist,OffsetOverflow之一 当返回405时,消息体包含的错误名称为MethodNotAllowed. 当返回406时,消息体包含的错误名称为NatAcceptable. 当返回408时,消息体包含的错误名称为RequestTimeout TooL.argeResultSize、TooMa1 C onditions之 当返回409时,消息体包含的错误名称为 any 当返回413时,消息体包含的错误名称为RequestEntityTooLarge. 当返回415时,消息体包含的错误名称为UnsupportedMediaType 当返回500时,消息体包含的错误名称为InternaIServerError 当返回501时,消息体包含的错误名称为Notlmple lemented 当返回503时,消息体包含的错误名称为ServieeUnavailable. 6.10.9示例 请求消息见示例1 示例1 P(0ST/MyAecount/MyTable/QueryHTTP/1. Host example,clouddb,cn Accept:text/xml Content-typetext/xml Conditions》 1/Index ColummnColor《/Colummn 22
GB/T31916.5一2015 Timestamp)20110503T173008十08(/Timestamp (Operatot>Equal2WidthLengthWidth768(/Value' /Column /Row 《Row Key)Row002
I.ength1280
width(/Name》 Value>)1024(/Value 《/Column /Row》 /八Vaues》 23
GB/T31916.5一2015 附 录A 规范性附录 补充出错信息 基于Key-Value的云数据管理对HTTP状态码的补充出错信息描述见表A.1 表A.1补充出错信息描述 状态码 消息描述 当状态码为0时,对应的错误名称和错消息是以下闪容乏 nvalidRequestBody请求消息体XML格式不合法); InvalidTableNa Name( ne(表名不合法) lnvalidRowkKey行健不合法); InvalidColumnName(列名不合法; e(列值不合法) 400 lidColummnV nValue( Invalidl nvalidTimestamp时间截不合法) 操作运算符不合法) InvalidOperator( lnvalidl.ogie(逻辑运算符不合法) lnvaliadCondhitionOrders(查询条件顺序不合法) 发起的时间和系统时间偏差太大 DateSkewed(请求" 当状态码为401时, ,对应的错误名称和错误消息是以下内容之 账户不存在) ACgO11tmTOX1ST Unauthorized此请求中权限证书无效); 40 MissingAthorization(请求消息缺少授权信息) AccountProblems(账户问题; AccountDisabled(账户停服 当状态码为403时,对应的错误名称和错误消息是以下内容之 403 TableAIreadyExist(请求中的表名已存在于此账户下) 当状态码为404时,对应的错误名称和错误消息是以下内容之 TableNotExist(请求的表不存在); RowKeyNotEx xis(行键不存在); 404 ColumnNotExist(列名不存在); ColumnOnTimestampNotExist(给定时间戳下该列尚不存在); ofseOverflow(偏移量大于结果集大小 409时,对应的错误名称和错误消息是以下内容之 当状态码为 TooL.argeMetadata(元数据大小超出限制 ta(数据大小超出限制) ToolargeDat TooLargeResultSize(设置的结果集大小超出限制); 409 TooManyTables(创建数据表数目超出限制; TooManyRows(插人数据行数目超出限制) TooManyColumns(插人数据列数目超出限制); TooManyConditons(条件数目超出限制 24

GB/T31916.5-2015:基于键值的云数据管理应用接口

随着云计算的广泛应用,企业在处理海量数据时需要更高效、更灵活的数据管理解决方案。GB/T31916.5-2015标准下的基于键值的云数据管理应用接口是针对这一需求而设计的。

什么是键值存储?

键值存储是一种数据存储方式,通过在内存中或磁盘上以键值对(Key-Value)的形式存储数据。每个键都与一个特定的值相关联,并且可以使用键来唯一标识数据。这种存储方式具有高速读写、可扩展性强、支持海量数据等优点。

GB/T31916.5-2015标准下的基于键值的云数据管理应用接口

GB/T31916.5-2015标准下的基于键值的云数据管理应用接口,是一种基于HTTP协议的RESTful API接口,并且支持多种编程语言。该接口提供了一系列对云数据进行读写、删除等操作的方法,并且可以通过关键字查询数据。

在这一标准中,规定了Key-Value存储结构、RESTful API接口、权限控制、错误码等方面的内容。开发人员只需要按照这些规定,即可使用该接口进行数据的管理,提高数据处理的效率和灵活性。

基于键值的云数据管理应用接口的优势

基于键值的云数据管理应用接口相比其他接口有以下优势:

  • 高效性:基于键值的存储方式具有高速读写的特点,因此可以提高数据处理的效率。
  • 极简主义:该接口设计非常简洁,易于使用和维护。
  • 灵活性:Key-Value存储结构可以支持任何形式的数据,包括非结构化数据。
  • 可扩展性:该接口的设计是基于HTTP协议的RESTful API接口,能够支持多种编程语言,并且具有良好的可扩展性。

结论

GB/T31916.5-2015标准下的基于键值的云数据管理应用接口是一种高效、灵活的数据管理解决方案。通过使用该接口,企业可以更加便捷地进行海量数据的管理和处理,提高工作效率,降低成本。

信息技术云数据存储和管理第2部分:基于对象的云存储应用接口
上一篇 本文分享国家标准信息技术云数据存储和管理第2部分:基于对象的云存储应用接口的全文阅读和高清PDF的下载,信息技术云数据存储和管理第2部分:基于对象的云存储应用接口的编号:GB/T31916.2-2015。信息技术云数据存储和管理第2部分:基于对象的云存储应用接口共有30页,发布于2016-05-01
信息技术柯尔克孜文通用键盘字母数字区布局
本文分享国家标准信息技术柯尔克孜文通用键盘字母数字区布局的全文阅读和高清PDF的下载,信息技术柯尔克孜文通用键盘字母数字区布局的编号:GB/T31917-2015。信息技术柯尔克孜文通用键盘字母数字区布局共有12页,发布于2016-05-01 下一篇
相关推荐