DB35 T 1893-2020 生态环境大数据管理平台接口规范.pdf
《DB35 T 1893-2020 生态环境大数据管理平台接口规范.pdf》由会员分享,可在线阅读,更多相关《DB35 T 1893-2020 生态环境大数据管理平台接口规范.pdf(28页珍藏版)》请在麦多课文档分享上搜索。
1、ICS 35.240 L 67 DB35 福建省地方标准 DB35/T 18932020 生态环境大数据管理平台接口规范 Interface specification for eco-environment big data management platform 2020 - 02 - 20 发布 2020 - 05 - 20 实施 福建省市场监督管理局 发布 DB35/T 18932020 I 目 次 前言 . . II 1 范围 . . 1 2 规范性引用文件 . . 1 3 术语和定义 . . 1 4 缩略语 . . 1 5 数据接口 格式要求 . . 2 6 传感器数据接口 . .
2、 4 7 文本/图像/视频类数据接口 . . 11 8 关系型数据接口 . . 14 9 数据分析接口 . . 15 附录 A(规范性附录) 消息队列服务接口二进制包说明 . 18 附录 B(规范性附录) 聚合类型与数据类型的适用关系表 . 19 参考文献 . . 21 DB35/T 18932020 II 前 言 本标准按照GB/T 1.12009给出的规则起草。 本标准由福建省生态环境厅提出。 本标准由福建省信息化标准化技术委员会(SAFJ/TC 11)归口。 本标准起草单位:福建省环境信息中心、清华大学、数字中国研究院(福建)、福州市环境科学研 究院、宁德市环境信息中心、莆田市环境宣教中
3、心。 本标准主要起草人:蔡旺华、王建民、王晨、缪飞、肖桂荣、孙为静、卢云霞、阙华、蒋建、杨锐、 田扬。 DB35/T 18932020 1 生态环境大数据管理平台接口规范 1 范围 本标准规定了生态环境大数据管理平台(以下简称“平台”)的数据接口格式要求、传感器数据接 口、文本 /图像 /视频类数据接口、关系型数据接口和数据分析接口等技术规范。 本标准适用于基于生态环境大数据管理平台接口的设计、编程和应用开发。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。 凡是注日期的引用文件, 仅注日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
4、HJ 7192014 环境信息系统数据库访问接口规范 ISO 8601-1:2019 日期和时间 信息交换的表示法 第1部分:基本规则(Date and time Representations for information interchangePart 1: Basic rules ) 3 术语和定义 下列术语和定义适用于本文件。 3.1 生态环境大数据管理平台 eco-enviro nment big data management platform 对不同类型生态环境数据进行存储、管理和分析的大数据管理平台。 3.2 接口 interface 预先定义的为应用程序提供实现一定数据访问
5、、数据处理和数据服务等功能的程序、函数或过程。 3.3 传感器数据模型 sensor d ata model 识别、存储传感器数据的数据模型。 3.4 传感器流模型 sensor str eam model 以传感器数据中每个传感器的每次采集行为作为数据操作对象。 3.5 传感器行模型 sensor r ow model 以传感器数据中每个传感器的每条行记录作为数据操作对象。 4 缩略语 下列缩略语适应于本文件。 API:应用程序编程接口(Applica tion Programming Interface) DB35/T 18932020 2 HTTP:超文本传输协议(Hyper Text
6、T ransfer Protocol) IP:英特网协议地址(Internet Protocol) JSON:一种轻量级的数据交换格式(Java Script Object Notation) RESTful:满足一组架构约束条件和原则的应用程序或设计(Representati onal State Transfer) Web:全球广域网(World Wide Web) 5 数据接口格式要求 5.1 数据接口分类 平台接口遵循RESTful API规范,数据接口分类架构如图1所示: 图1 5.2 接口描述格式 接口描述基于如下基本格式: WebService:= 各字段的含义如表1所示。HTT
7、P请求的返回结果包含两部分:一部分为HTTP消息的状态码 (StatusCode),表示响应的状态;另一部分为H TTP请求的消息体,消息体默认采用JSON格式进行封装。 传感器数据 建模接口 传感器数据 实时接入接口 传感器数据 批量导入 传感器数据 查询接口 传感器数据接口 对象类型接口 上传文件 对象数据操作 接口 文档 /图片 /视频类 数据接口 配置同步任务 业务关系型 数据接口 分析脚本接口 分析模型接口 分析作业接口 数据分析接口 生态环境大数据管理平台接口规范 外部时序数据 (包括数据接入系统及需 要查询时序数据的业务) 外部对象数据 (包括数据接入系统及需 要查询对象数据的业
8、务) 外部关系数据 外部分析业务 DB35/T 18932020 3 表1 字段 含义 HTTP请求的方法,本接口中使用到的值有GET,POST,PUT和DELETE,各取值的含义参考HTTP协议 。 Web服务接口的入口地址。 可选参数,用以传递少量的参数信息。 HTTP请求的消息头部。 可选的附加流信息,用以传递大量的参数信息。 所有接口定义格式说明如下: a) 接口名:接口的名称; b) 说明:对接口内容的描述; c) 调用格式:调用 Web 服务时的语法格式; d) 语义:对调用格式的解释; e) 调用结果:Web 服务调用结果,包括成功状态和失败状态的下的响应信息。 如无特殊说明,所
9、有Web服务接口调用时都应加上表2中的HTTP请求头。 表2 请求头 Header 取值 Value Content-Type application/json;charset=utf-8 Accept application/json;charset=utf-8 注: 表头的英文是相应中文的对照,避免引起歧义。 5.3 HTTP 状态码 常用的HTTP状态码表示及含义见表3,未列举状态码的名称及含义参考HTTP协议的定义。 表3 状态码编号 状态码名称 含义 200 OK 请求已成功。 201 Created 对象或资源已成功创建。 202 Accepted 操作已被成功接受。 302 Fo
10、und 重定向跳转。 400 Bad Request 请求的内容丢失或不合法。 401 Unauthorized 当前请求需要用户验证。 404 Not Found 请求的内容不存在。 405 Method Not Allowed 客户端请求中的方法被禁止。 409 Conflict 访问冲突,访问资源已被上锁或可能导致服务器内部状态出错。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 500 Internal Server Error 服务器出现内部错误,无法正确响应请求。 503 Service Unavailable 服务器服务暂不可用。 DB
11、35/T 18932020 4 6 传感器数据接口 6.1 传感器数据模型接口 6.1.1 创建传感器数据模型 接口名:tsTable 说明:创建传感器数据模型。 调用格式:POST /tsTable 语义: 创建传感器数据模型。附加流指定该传感器数据模型所涉及的相关信息,包括但不限 于:模型名称、模型标识(模型ID)、传感器标识(传感器ID)、一个或多个传感器的元数据信息 等,支持JSON格式。 调用结果: 成功状态: 返回的 HTTP状态码为 201。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.1.2
12、 修改传感器数据模型 接口名:tsTable 说明:更新传感器数据模型,主要修改模型基本信息及相关属性。 调用格式:PUT /tsTable/模型ID 语义: 更新指定模型ID的传感器数据模型的基本信息、属性信息等。附加流指定需要更新的 传感器数据模型,支持JSON格式。 调用结果: 成功状态: 返回的 HTTP状态码为 201。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.1.3 查询传感器数据模型 接口名:tsTable 说明:按条件查询指定的传感器数据模型。 调用格式:GET /tsTable/模型I
13、 D?select=columns 语义: 获取满足查询条件的传感器数据模型。指定模型ID,则查询指定传感器数据模型;未指定模型 ID,则查询所有传感器数据模型。查询所有记录时,支持输入需要返回的列名,查询结果可指定每 页数量、可指定页、可排序。 调用结果: 成功状态: DB35/T 18932020 5 返回的 HTTP状态码为 201,查询结果采用 JSON 封装。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.1.4 添加传感器 接口名:tsTable 说明:向指定传感器数据模型添加新的传感器相关信息。
14、 调用格式:PUT /tsTable/addf ield/模型ID 语义: 向指定的传感器数据模型增加传感器相关信息。附加流指定需要添加新的传感器,支 持JSON格式。 调用结果: 成功状态: 返回的 HTTP状态码为 201。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.1.5 修改传感器 接口名:tsTable 说明:修改指定传感器数据模型中的传感器的相关信息。 调用格式:PUT /tsTable/模型ID/fi elds/传感器ID 语义: 修改指定传感器数据模型中指定传感器ID的相关信息。附加流指定
15、需要修改的传感 器,支持JSON格式。 调用结果: 成功状态: 返回的 HTTP状态码为 200。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.1.6 删除传感器 接口名:tsTable 说明:删除指定传感器数据模型中的某个传感器的相关信息。 调用格式:DELETE /tsTable/模型 ID/fields/传感器ID 语义: 当传感器数据模型中某个传感器失效或者不需要时,可以删除指定传感器的相关信息。 调用结果: 成功状态: 返回的 HTTP状态码为 200。 失败状态: DB35/T 18932020
16、 6 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.2 传感器数据实时接入接口 6.2.1 Web 服务接口 接口名:channels 说明:提供RESTful接口实时接入传感器数据。 调用格式:POST /channels/de vices/data 语义: 面向传感器数据模型实时接入传感器数据。附加流指定传感器,支持JSON格式,应在 HTTP请求的Content-Type中指定。 调用结果: 成功状态: 返回的 HTTP状态码为 202。 失败状态: 返回的 HTTP状态码为 503。 6.2.2 消息队列服务接口
17、 接口名:time-ser ies-queue 说明:提供消息队列服务接口实时接入传感器数据。用户通过调用消息队列服务接口将数据写入平 台。写入数据格式支持JSON数据和二进制数据。两种类型的 数据应分别写到对应的主题(topic)中, 写入的数据应保证各个分区(partition)的均匀分布,通行的做法是设置主键(key)为null。写入二 进制数据时,二进制包主要由三部分构成:包头、包体和包尾,见附录A。 调用格式:POST / time-serie s-queue 语义: 将某个时间点的若干传感器数据通过消息队列服务接口写入平台。其中,写入JSON数据时,写 入的中应包括传感器数据所属的
18、传感器数据模型、传感器标识(传感器ID)、传感器数据 产生的时间、各个传感器在这个时间的值等信息。 调用结果: 成功状态: 返回的 HTTP状态码为 202。 失败状态: 返回的 HTTP状态码为 503。 6.2.3 Java 编程接口 6.2.3.1 生成数据记录接口 接口名:GenRecord 说明:将数据转化成平台能够识别的传感器数据记录。 提供方法见表4: DB35/T 18932020 7 表4 方法名及参数列表 说明 setFieldGroupId(String tsd) 设置传感器数据模型,取值应与6.1.1模型ID匹配。 setTimestamp(long timestamp
19、) 设置传感器数据记录时间,取值类型为长实型。 setIso(String iso) 设置传感器数据记录时间,取值类型为ISO型。 setField(String FieldID,Object value) 设置传感器的监测值。参数中FieldID表示传感器ID,value表示传感 器的监测值。 getRecord() 获得传感器生成的数据记录。 setTimestamp(long timestamp)设置数据记录时间的优先级高于setIso(String iso)。 6.2.3.2 SDK 配置接口 接口名:Config 说明:设置SDK客户端的配置参数信息。 方法:void put(Str
20、ing key,Object value) 参数如表5所示: 表5 参数key取值 对应value取值 ParamNames.PLATFORM_SERVER value的数据类型为String,必填。取值为平台的服务地址,应同时包含IP 和Port。 ParamNames.SEND_TIMEOUT_MILLISECS value的数据类型为Long,非必填。取值为发送记录的超时时间,单位毫秒, 默认为30000。 ParamNames.DATA_TYPE value的数据类型为枚举类型,非必填。用来设置发送数据格式,默认值为 DataType.JSON_STRING (JSON数据) , 可设
21、置为DataType.BINARY (二进制) 。 6.3 传感器数据批量导入接口 6.3.1 总则 通过RESTful架构导入文件时,单个文件大小不超过2G,导入文件应符合下列要求: 文件编码为 UTF-8; 文件为 csv格式(以逗号或分号或单竖线作为列分隔符,回车作为行分隔符); 一行一条数据记录; 数据涉及的传感器数据模型已注册; 数据已按照传感器数据模型定义进行相关的预处理; 每条数据记录中数据列数应与传感器数据模型定义的传感器相同且取值一一对应; 时间格式按照 ISO 8601-1:2019 的规定。 DB35/T 18932020 8 6.3.2 新建导入任务 接口名:workf
22、lows 说明:创建新导入任务。 调用格式:POST /workflo ws 语义: 新建批量导入任务。附加流指定导入任务相关的信息,包括但不限于要导入的文件标 识等,支持JSON格式。 调用结果: 成功状态: 返回的 HTTP状态码为 201,生成任务 ID,结果采用JSON 封装。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.3.3 上传传感器数据文件 接口名:workflows 说明:将需要导入的文件上传到平台。 调用格式:POST /workflo ws/file-upload 请求头(Header
23、):Content Type: multipart/form-data 语义: 将需要导入的文件上传到平台。 调用结果: 成功状态: 返回的 HTTP状态码为 201,结果采用 JSON 封装。返回的结果中包含文件的唯一标识。 失败状态: 返回失败对应的 HTTP 状态码及采用 JSON 封装的响应结果。响应结果包含失败原因,具体 状态码参见 5.3。 6.3.4 获取导入任务列表 接口名:workflows 说明:获取正在执行的和已经执行完成的批量导入任务列表,支持分页。 调用格式:GET /workflows 语义: 获取正在执行的和已经执行完成的批量导入任务列表。 调用结果: 成功状态:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB35 1893-2020 生态环境大数据管理平台接口规范 1893 2020 生态环境 数据管理 平台 接口 规范
