1、ICS 35.020 L 70 DB15 内 蒙 古 自 治 区 地 方 标 准 DB15/T 1872 2020 大数据平台 接入技术要求 Technical specification of big data platform for access 2020-04-03发布 2020-05-03实施 内蒙古自治区市场监督管理局 发布 DB15/T 1872 2020 I 目 次 前言 . II 1 范围 . 1 2 规范 性引用文件 . 1 3 术语和定义 . 1 4 缩略语 . 2 5 概述 . 2 6 接入要求 . 3 6.1 关系数据库抽取 . 3 6.2 服务网关服务 . 5 6.
2、3 实时消息队列 . 6 6.4 文件接收 FTP服务 . 7 6.5 文件拉取 FTP服务 . 9 6.6 直报系统 . 10 7 安全要求 . 12 附录 A(资料性附录) 关系数据库抽取接入说明 . 13 附录 B(资料性附录) 服务网关服务接入说明 . 14 附录 C(资料性附录) 实时消息队列接入说明 . 15 附录 D(资料性附录) 文件接收 FTP服务接入说明 . 16 附录 E(资料性附录) 文件拉取 FTP服务接入说明 . 19 DB15/T 1872 2020 II 前 言 本 标准 按照 GB/T 1.1 2009给出的规则起草。 本 标准 由 内蒙古自治区大数据发展管理
3、局提出并归口。 本 标准 起草单位:内蒙古自治区大数据发展管理局、 新华三技术 有限 公司 、中国 电子技术标准化研 究院、 内蒙古大学、内蒙古电子信息职业技术学院、内蒙古自治区大数据与云计算 标准化委员会、中国 人民银行呼和浩特市中心支行、内蒙古自治区国土资源信息院、中信银行股份有限公司呼和浩特市分行、 内蒙古自治区标准化院、浪潮软件集团有限公司、 北京东方国信科技股份有限公司、 中通服咨询设计研 究院有限公司、 天 帆 创新 (北京)科技 发展有限公司、同方知网( 北京 ) 技术 有限公司 、北京东方棱镜 科技有限公司、内蒙古跃晨科技有限公司、内蒙古纵横 云技术有限公司 。 本标准主要起草
4、人:周佳琪、崔连伟、张建军、崔娜、赵逢波、卫凤林、屈强、崔波、胡大伟、汪 昆鹏、马逸群、王立权、王一丁、王海珠、徐小强、王楠、李敏、李建文、刘玉 坤、胡南磊、付先路、 王伟哲、冯国忠。 DB15/T 1872 2020 1 大数据 平台 接入技术 要求 1 范围 本标准 规定了 大数据平台 与 各数据 提供单位 管理支撑 系统进行数据接入的技术要求及数据采集接 口、方式。 本标准适用于内蒙古自治区大数据平台 进行数据采集功能研发、数据采集工具选型及其数据接入场 景提供 规范 要求 。 2 规范性 引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文
5、件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GB/T 29262 信息技术 面向服务的体系结构( SOA) 术语 GB/T 35274 信息安全技术 大数据服务安全能力要求 GB/T 35295-2017 信息技术 大数据 术语 GB/T 37973 信息安全技术 大数据安全管理指南 3 术语和 定义 GB/T 35295和 GB/T 29262界定的术语和定义适用于本文件。 为了便于使用,以下重复列出 GB/T 35295 中的一些术语和定义。 3.1 大数据 big data 具有 体量巨大、来源多样、生成 极快、且 多变等特征并难以用传统 数据 体系 结构
6、有效处理的包含大 量数据集的数据。 注 : 国际上,大数据的 4个特征 普遍 不加 修饰地 直接 用 volume、 variety、 velocity和 variablility予以 表述,并分 别赋予 了它们 在大数据语境下的定义 : a) 体量 volume: 构成大数据的数据集的规模 ; b) 多样性 variety: 数据可能来自多个数据仓库、 数据领域 或多种数据类型 ; c) 速度 velocity: 单位时间的数据流量 ; d) 多变性 variability: 大数据其他特征,即体量、速度和多样性等特征都处于 多变 状态。 GB/T 35295-2017,定义 2.1.1 D
7、B15/T 1872 2020 2 3.2 非结构化数据 unstructured data 不具有预定义 模型或未以预定义方式组织的数据。 GB/T 35295-2017,定义 2.1.25 3.3 静态数据 data at rest 处于 静止状态,有 典型 特征表现为大数据的体量和多样性特征的数据。 GB/T 35295-2017,定义 2.1.37 3.4 关系数据库 relational database 数据 按关系模型来组织的数据库。 GB/T 35295-2017,定义 2.2.5 3.5 管理 信息系统 management information system 是一个以人为
8、主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、 传输、加工、储存、更新、拓展和维护的系统。 3.6 元数据 metadata 关于数据或 数据元素的数据 (可能 包括其数据描述 ), 以及关于 数据 拥有权、存取路径、访问权和 数据 易变性的数据。 GB/T 35295-2017,定义 2.2.7 4 缩略语 下列缩略语适用于本文件 。 FTP: 标准 的文件传输协议( File Transfer Protocol) JDBC: java数据库连接( Java DataBase Connectivity) HTTPS:超文本传输安全协议( Hyper Text Tr
9、ansfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure) Kafka: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作 流数据。 5 概述 大数据平台作为多维数据的处理平台,支持各类数据源的采集与接入。以下是大数据平台六种常用 数据源的接入方式: DB15/T 1872 2020 3 a) 关系数据库抽取 ; b) 服务网关 服务 ; c) 实时消息 队列; d) 文件 接收 FTP服务; e) 文件拉取 FTP服务; f) 直报系统 。 具体数据 接入 总
10、体框架见图 1: 文件 接口数据 关系数据库 流数据 管理信息 系统 F T P 服务 管理信息 系统 关系数据库抽取 服务网关服务 文件接收 F T P 服务 文件拉取 F T P 服务 实时消息队列 直报系统 结构化 数据存储 半结构化 数据存储 非结构化 数据存储 数据源 数据接入服务 数据仓库 大数据平台 图 1 数据接入总体 框架 6 接入要求 6.1 关系数据库 抽取 6.1.1 功能 要求 关系数据库抽取应提供管理信息系统关系数据库中的结构化数据到大数据平台数据存储的定时批 量抽取功能。关系数据库数据抽取应具备以下主要功能: a) 支持对主流的关系数据库进行数据抽取; 支持对数据
11、库中常用的数据类型进行数据抽取, 至少 包括数值型、字符型、日期 /时间型等数据类型; b) 支持“全量”和“ 增量”两种数据抽取模式;“全量”模式是指一次性将关系数据库中物理 表的数据抽取到大数据平台。“增量”模式是指根据设置的抽取条件筛选符合条件的数据抽取 到大数据平台; c) 支持关系数据库中结构化数据抽取到大数据平台 ,包含结构化数据存储、半结 构数据存储、非 结构数据存储的 数据仓库中 ; DB15/T 1872 2020 4 d) 支持对关系数据库数据的采集内容和类型转换操作,至少包括选择具体的数据表、选择表中具 体的字段、字段类型格式转换等操作; e) 支持数据抽取操作的立即执行
12、、定时调度运行。定时调度运行应提供多种调度策略,至少包括 固定时间间隔运行、指定时间点运行、指定时间范围运行、一次或指定次数运行等策略; f) 应提供图形化管理界面,应提供数据抽取模式设置、抽取源关系数据库配置、指定数据表配置、 表字段选择配置、字段类型转换配置、大数据平台目标存储位置配置、运行策略配置等操作界 面; g) 应提供完善的日志和 审计能力,可以记录数据抽取操作配置、运行时发生的各种事件; h) 应提供完善 的监控机制, 运行 过程中 出现 异常可 快速 的定位及解决。 6.1.2 非功能 要求 关系数据库数据抽取服务应满足以下非功能性要求: a) 数据抽取速度:不少于 1 万条
13、/秒; b) 数据抽取吞吐量:在千兆带宽的网络条件下, 数据抽取吞吐量不少于 50 MB/秒。 6.1.3 应用 场景 关系数据库 抽取应用场景 见图 2: 关系数据库 大数据平台 关系数据库抽取 大数据平台 数据仓库 a ) 抽取元数据信息 b ) 配置数据传输任务 c ) 配置数据传输任务运行策略 d ) 平台运行数据传输任务 , 数据抽取 图 2 关系数据库抽取 应用 场景 应用场景描述如下 : a) 关系数据库抽取服务,抽取数据源中数据库的元数据信息,包括数据库用户所属的表、字段信 息; b) 关系数据库抽取服务配置数据传输任务,包括抽取数据库的源表和大数据平台对应的存储目标 表; c
14、) 关系数据库抽取服务配置数据传输任务运行策略,包括运行的开始时间、结束时间、运行频度; d) 关系数据库抽取服务运行数据传输任务,从数据源的数据库抽取数据到平台数据存储中。 DB15/T 1872 2020 5 6.1.4 应用 要求 应用要求 如下: a) 关系数据库抽取服务适用于关系数据库定时批量抽取场景,详细说明参见附录 A; b) 数据源须提供关系数据库的访问链接,包括 IP、端口、数据库实例名、用户名、密码; c) 数据源提供的数据库访问用户应具备数据库的元数据信息定义表的读取权限。 6.2 服务 网关服务 6.2.1 功能 要求 服务网关服务为数据源提供大数据平台中结构化数据 或
15、非结构化数据 的 接口 数据 接入 。服务网关服 务应具备以下主要功能: a) 支持接入 Webservice、 RESTful方式的 接口 ; b) 支持包括结构化数据、非结构化数据的接口; c) 支持接口编排,轻松实现多个接口的功能集成; d) 提供图形化管理界面,用于接口数据存储位置、操作用户、目标存储位置的配置; e) 应提供完善的日志和审计能力,可以记录接口 数据配置及 数据抽取操作配置、运行时发生的各 种事件; f) 应具备熔断管理机制, 保证服务整体可用,是接口访问异常情况下的处理策略。 6.2.2 非功能 要求 服务 网关 服务应满足以下非功能要求: a) 数据写入速率:在千兆
16、带宽的网络条件下 ,数据抽取吞吐量不少于 30 MB/秒; b) 操作并发数:并发数大于 200 个 /秒。 6.2.3 应用 场景 服务网关服务应用场景见图 3: 管理信息系统 大数据平台 服务网关服务 大数据平台 数据仓库 a ) 提供接口信息 b ) 接口编排 c ) 配置数据传输任务运行策略 d ) 平台运行数据传输任务 , 数据抽取 图 3 服务网关服务应用 场景 DB15/T 1872 2020 6 应用场景描述如下 : a) 数据源向大数据平台提供接口 信息 ,包括:接口访问 地址、输入参数、输出参数、验证方式等 接口 信息 ; b) 大数据平台根据数据源提供 的 数据 接口进行
17、 定义 及编排; c) 服务网关服务配置数据传输任务运行策略,包括运行的开始时间、结束时间、运行频度; d) 服务网关服务运行数据传输任务,从数据源的数据 接口中 抽取数据到大数据平台数据仓库中。 6.2.4 应用 要求 a) 服务网关服务适用于提供接口类 数据的数据源 ,详细说明参见附录 B; b) 提供数据 接口的数据源需 做好自身数据操作接口程序的开发。 6.3 实时 消息队列 6.3.1 功能 要求 实时消息队列采集为管理信息系统提供实时消息推入和缓存功能。实时消息队列应具备以下主要功 能: a) 应提供分布式消息队列的管理功能,支持消息主题的创建、删除、修改; b) 应提供支持“点对
18、点”和“发布 -订阅”两个消息模式; c) 支持消息的持久化存储操作并且支持持久化周期设置; d) 应提供消息的发送和消费接口,包括链接建立、消息发送、消息消费、链接关闭; e) 应提供分布式高可用的消息队列操作接口,支持消息的发送和消费;支持消息分区和备份操作; f) 具有风格统一的图形化管理界面,支持消息队列主题的创建、删除、测试、授权访问的操作; g) 具备完善的日志审计能力,可以记录消息发送和消费时发生的各种事件。 6.3.2 非功能 要求 实时消息队列应满足以 下非功能性要求: a) 高可行性:支持消息主题的分区和备份; b) 负载均衡:支持消息发送和消费时的负载均衡操作; c) 消
19、息发送速度:可接受的数据量大于 5 万条 /秒。 6.3.3 应用 场景 实时消息队列应用场景见图 4: DB15/T 1872 2020 7 管理信息系统 大数据平台 实时消息队列 大数据平台 数据仓库 a ) 申请实时消息队列服务 b ) 创建消息主题 返回消息配置信息 c ) 业务系统开发业务处理 程序 , 发送或接收消息 图 4 实时消息 队列 应用 场景 应用场景描述如下: a) 管理信息系统须向大数据平台申请实时消息队列接入服务; b) 大数据平台根据申请创建消息队列主题, 返回消息队列名称; c) 管理信息系统开发业务处理程序, 调用平台实时消息队列接口,发送数据或接收数据。 6
20、.3.4 应用 要求 应用要求 如下: a) 实时消息队列采集适用于管理信息系统主动将数据封装为消息 , 发送到大数据平台的实时消息 队列中。基于实时消息队列的消息缓存进行数据分析,如流计算实时处理等,详细说明参见附 录 C; b) 发送的消息内容格式支持字符串,发送的数据对象可以通过对象序列化机制转换为字符串格式 的消息内容; c) 管理信息系统应依照大数据平台提供的实时消息队列采集接口完成自身数据发送或接收接口 的开发。 6.4 文件 接收 FTP服务 6.4.1 功能 要求 文件接收 FTP服务应提供外部系统文件数据的接收并存入到大数据平台数据仓库 的 功能。文件采集 应具备以下主要功能
21、: a) 支持标 准 FTP 协议接收数据; b) 支持顺序型断点续传功能; c) 支持接收的文件的重命名及指定存储目录; d) 应支持对接收文件的完整性校验; e) 应支持对客户端进行认证; f) 支持图形管理功能,支持认证配置、文件目标位置配置、校验处理配置。 DB15/T 1872 2020 8 6.4.2 应用 场景 文件接收 FTP服务应用场景见图 5: 管理信息系统 大数据平台 文件接收 F T P 服务 大数据平台 数据仓库 a ) 分配业务系统 f t p 账号 b ) 业务系统通过标准 F T P 协 议连接大数据平台服务 c ) 业务系统检查目标临时文件是否存在 d ) 业
22、务系统发起全量或续传命令 e ) 业务系统发送数据到大数据平台 f ) 大数据平台接收文件数据 g ) 业务系统发送数据校验文件 g ) 大数据平台接收校验文件 h ) 大数据平台校验内容 i ) 数据平台按配置的规则 存储接收到的数据文件 k ) 业务系统获取数据存储状态 j ) 大数据平台回写数据存储状态 图 5 文件接收 FTP服务 应用 场景 应用场景描述如下: a) 大数据平台配置应用账号、接收参数及存储位置; b) 管理信息系统通过标准 FTP 协议连接大数据平台服务; c) 管理信息系统检查目标临时文件是否存在; d) 管理信息系统发起全量或续传指令; e) 管理信息系统发送数据
23、到大数据平台; f) 大数据平台接收文件数据; g) 管理信息系统发送数据 校验文件 ; h) 大数据平台根据校验文件校验 数据文件 内容; i) 大数据平台按配置的规则存储接收到的数据文件; j) 大数据平台 回 写数据存储 状态; k) 管理信息系统 获取数据存储状态 。 DB15/T 1872 2020 9 6.4.3 应用 要求 应用要求 如下: a) 管理信息系统须在大数据平台注册并申请账号; b) 管理信息系统须按平台协议规范开发上传功能; c) 管理信息系统生成文件数据时须同时生成对应的完整性校验码; d) 具体文件接收 FTP 服务 API 接口参见附录 D.1,具体实现逻辑参
24、见附录 D.2。 6.5 文件 拉取 FTP服务 6.5.1 功能 要求 文件拉取 FTP服务,应提供通过访问 FTP协议实现将文件数据抽取到大数据平台数据仓库的功能。文 件拉取 FTP服务应具备以下主要功能: a) 支持顺序型断点续传功能,支持外部文件存储断点续传能力的自动识别及模式匹配; b) 支持 FTP 服务登录用户名和密码设置; c) 支持文件压缩传输,提供文件压缩规则设置; d) 支持文件加密传输,提供文件加密传输规则设置; e) 支持设置文件同步、异步拉取,支持设置拉取并行度; f) 支持指定目标文件存储 位置、文件名,提供文件类型转换规则,支持常见类型转换; g) 支持全量文件
25、采集,支持外部数据一次性初始化导入; h) 支持定时轮询文件采集, 采集新增的文件, 支持文件列表规则过滤; i) 支持图形管理功能,支持 FTP 连接配置、文件源配置、文件目标存储配置、文件压缩和加密 传输规则配置、文件同步 /异步传输规则配置、文件传输并行度配置、文件定时及实时策略配 置、文件采集过滤配置。 6.5.2 应用 场景 文件拉取 FTP应用场景见图 6: DB15/T 1872 2020 10 管理信息系统 大数据平台 文件拉取 F T P 服务 大数据平台 数据仓库 a ) 将业务数据写入指定的文件区域 b ) 分配 f t p 账号 c ) 配置 F T P 协议 的数据采
26、集服务 d ) 运行基于 F T P 协议 的数据采集服务 e ) 进行文件校验并写入大数据平台数据仓库 图 6 文件拉取 FTP服务 应用 场景 应用场景 描述 如下: a) 管理信息系统应提供初始文件存储位置并将业务 数据写入到文件中 ; b) 管理信息系统 搭建 FTP服务并 为大数据平台 分配 FTP账号信息; c) 大数据平台全量文件采集提供基于 FTP 协议的采集任务配置,包括:存储文件位置、采集文 件、列表方式、是否文件校验、存储目标位置及文件存储命名规则; d) 运行基于 FTP协议的数据采集任务,包括: 包括运行的开始时间、结束时间、运行频度; e) 大数据平台运行文件采集任
27、务, 读取文件存入大数据平台数据存储中。 6.5.3 应用要求 应用要求 如下: a) 管理信息系统须先将业务数据保存为文件,并设置访问权限; b) 数 据文件可通过 FTP 协议访问; c) 管理信息系统生成文件数据时须同时生成对应的完整性校验码; d) 具体文件拉取 FTP 服务 API 接口参见附录 E.1,具体实现逻辑参见附录 E.2。 6.6 直报 系统 6.6.1 功能 要求 直报系统是大数据平台为各 数据 接入 单位 提供 的 在线填写 、上传 。直报 系统 应具备以下主要功能: a) 支持数据接入 单位注册 功能 ,支持管理单位 用户 审批功能 , 支持管理单位 为 用户分配
28、权限 功能 ; b) 支持用户仅能同时登录一次功能; c) 支持模板 管理 功能 ,应具备 模板 的 新增 、删除、修改 、 搜索操作功能 ; d) 支持模板下载 、数据上传、数据提交 操作 功能 ; DB15/T 1872 2020 11 e) 应提供完善的日志和审计能力,可以记录各数据 接入单位 在 数据配置及 直报运行时发生的各种 事件; f) 应具备熔断管理机制, 保证服务整体可用,是直报 系统 访问异常情况下的处理策略。 6.6.2 非功能 要求 直报系统应满足以下非功能性要求: a) 直报系统 需 支持主流 的浏览器版本 ; b) 直报系统网络 需支持 互联网 、政务 网; c)
29、数据上传速度不少于 5 M/秒; d) 系统 响应时间在 200并发下 不低于 3 秒。 6.6.3 应用 场景 直报系统应用场景见图 7: 数据接入单位 大数据平台 直报系统 大数据平台 数据仓库 在线注册 a ) 打开浏览器 b ) 访问直报系统 c ) 用户审批 d ) 分配权限及下发模板 下载模板 f ) 上传数据文件 e ) 根据模板填写数据 图 7 直报 系统 应用 场景 应用场景说明如下 : a) 数据接入 单位用户 打开 浏览器 ; b) 在地址栏 输入大数据平台提供的直报系统访问地址 ,首次 使用 按照指引 进行 用户 在线注册 (非 首次 使用直接到 e); c) 大数据平
30、台管理 员进行用户合法性审批; d) 审批通过后为 注册用户分配权限并 根据 业务需求 制定 数据模板; DB15/T 1872 2020 12 e) 数据接入 单位用户登录直报系统后下载模板文件,并 根据 模板填写需上报的 具体 数据; f) 数据 接入单位用户 根据模板 填写 完成后 在直报系统中直接上传数据文件并提交 ,直报系统 收到 数据接入单位用户上传请求后进行数据格式校验, 校验 通过后 抽取数据到平台数据仓库中。 6.6.4 应用 要求 应用要求 如下: a) 对 信息化 建设 较 弱且有计算机 基本 操作知识的数据接入单位 用户 提供 ; b) 大数据平台 应提供 直报系统 的
31、访问 地址、 操作手册, 酌情组织、 安排定期培训以普及直报系统 的 使用 流程。 7 安全 要求 安全 要求 须满足 GB/T 35274规范 中 “数据服务 安全 要求” 。 DB15/T 1872 2020 13 附录 A (资料性附录) 关系数据库抽取接入说明 关系数据库抽取通过大数据平台提供的 Web界面进行操作, 完成数据接入操作。关系 数据库 应用流 程见 图 A.1: 开始 1 . 配置执行器 2 . 配置数据源 3 . 配置任务 4 . 配置作业 是否立即执行 7 . 执行日志查看 5 . 立即执行传输 6 . 作业调度配置与执 行 结束 是 否 图 A.1 关系数据 库应用
32、流程 应用 流程 描述如下: a) 大数据平台 配置执行器,用于作业调度执行的服务; g) 配置 数据 源,分别 配置源数据库及目标数据库 。根据业务源端的数据库的 IP、 端口、 实例 名、用户名、密码,进行数据源链接配置,抽取数据库用户所属的表、字段信息,目标端数据 库配置, 配置抽取目标数据库信息配置,包括目标数据库的 IP、端口、用户名、密码、数据 库 名; h) 配置任务,配置源端与目标端字段对应关系、是否抽取、格式化公式等,一个 抽取可配置多个 任务 ; i) 配置 作业 ,根据抽取 任务 执行 的 先后顺序 配置 成 作业 ; j) 立即执行传输,手动开启作 业输立即执行; k)
33、 作业调度配置与执行,将数据库抽取配置为作业,支持配置抽取作业的执行策略,包括作业开 始时间、结束时间、运行频率等; l) 执行日志查看,提供作业执行结果信息查看,包括作业开始执行时间、结束时间、运行时长、 作业状态、运行结果、日志详情等。 DB15/T 1872 2020 14 附录 B (资料性附录) 服务网关服务接入说明 B.1 服务网关 服务 应用流程 通过大数据平台的服务 网关服务 提供的 Web界面进行操作。首先服务网关 服务 录入 接口信息 ,然后 通过服务编排 进行 接口的编排 , 生成新的数据接口进行 调度 发布 。 服务网关 服务应用流程见图 B.1: 开始 1 . 登记接
34、口信息 2 . 服务编排 3 . 调度发布结束 图 B.1 服务网关服务应用流程 应用流程描述如下: a) 根据数据源提供的 数据 接口地址、 请求 方式 、请求 头配置、传输协议、 请求参数 信息 在 服务网 关进行数据接口的 登记、 熔断 保护 配置及 测试 验证; b) 针对登记 的 接口 信息进行服务编排, 定义 接口的 输入参数 、输出 参数 、请求头等信息,并生成 新的 接口地址; c) 服务 编排后的 数据 接口 配置 调度策略,包括 调度 时间、调度周期及频次等信息,然后进行发布。 DB15/T 1872 2020 15 附录 C (资料性附录) 实时消息队列接入说明 C.1
35、实时消息队列应用流程 管理信息 系统 通过 Java代码开发方式调用大数据平台提供的实时消息队列 API接口,往消息队列主 题中发送数据。实时消息 队列 应用流程见图 C.1: 开始 1 . 大数据平台与管理信息 系统方约定消费队列主题 名称 2 . 大数据平台创建相应的消 息队列主题 3 . 管理信息系统应用方开发 程序调用大数据平台实时消息 队列 A P I , 封装数据发送消息 结束 图 C.1 实时消息队列应用流程 说明: 1. 大数据平台与管理 信息系统 应用方约定消息队列主题名称; 2. 大数据平台在大数据集群中创建相应的消息队列主题; 3. 管理 信息系统 开发程序调用大数据平台
36、实时消息队列 API,封装数据往消息队列主题中发送消 息。 DB15/T 1872 2020 16 附录 D (资料性附录) 文件接收 FTP服务接入说明 D.1 文件接收 FTP服务接口 文件 接收 FTP服务接口见表 D.1: 表 D.1 文件接收 FTP服务接口 序号 接口方法 接口说明 1 public void initFtpClient(String hostname, Integer port,String username,String password) 初始化 FTP服务器 ,参数说明如下: hostname: FTP服务器 地址; prot: FTP服务器 端口 user
37、name: FTP登录账号; password: FTP登录密码。 2 public boolean uploadFile(String pathname, String fileName, InputStream inputStream) 上传文件。 参数说明如下: pathname: ftp服务保存地址 fileName:上传到 ftp的文件名 inputStream:输入文件流 3 public boolean CreateDirecroty(String remote) 创建文件 目录 。参数说明如下: remote:文件目录 D.2 文件接收 FTP服务示例 管理信息系统在生成好文件
38、后,编写代码 实现上传文件到 大数据 平台的 FTP服务 中, 调用服务示例 ( Java) 见 表 D.2: 表 D.2 文件接收 FTP服务示例 public void initFtpClient(String hostname, Integer port,String username,String password) ftpClient = new FTPClient(); ftpClient.setControlEncoding(utf-8); try ftpClient.connect(hostname, port); ftpClient.login(username, passw
39、ord); int replyCode = ftpClient.getReplyCode(); if (!FTPReply.isPositiveCompletion(replyCode) System.out.println(connect failed.ftp服务器 : + this.hostname + : + this.port); catch (MalformedURLException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); DB15/T 1872 2020 17 public boolea
40、n uploadFile(String pathname, String fileName, InputStream inputStream) try System.out.println(开始上传文件 ); initFtpClient(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); CreateDirecroty(pathname); ftpClient.makeDirectory(pathname); ftpClient.changeWorkingDirectory(pathname); ftpClient.storeFile(fileNam
41、e, inputStream); inputStream.close(); ftpClient.logout(); System.out.println(上传文件成功 ); catch (Exception e) System.out.println(上传文件失败 ); e.printStackTrace(); finally if (ftpClient.isConnected() try ftpClient.disconnect(); catch (IOException e) e.printStackTrace(); if (null != inputStream) try inputSt
42、ream.close(); catch (IOException e) e.printStackTrace(); return true; ; public boolean CreateDirecroty(String remote) throws IOException boolean success = true; String directory = remote + /; / 如果远程目录不存在,则递归创建远程服务器目录 if (!directory.equalsIgnoreCase(/) DB15/T 1872 2020 18 int end = 0; if (directory.s
43、tartsWith(/) start = 1; else start = 0; end = directory.indexOf(/, start); String path = ; String paths = ; while (true) String subDirectory = new String(remote.substring(start, end).getBytes(GBK), iso-8859-1); path = path + / + subDirectory; if (!existFile(path) if (makeDirectory(subDirectory) chan
44、geWorkingDirectory(subDirectory); else System.out.println(创建目录 + subDirectory + 失败 ); changeWorkingDirectory(subDirectory); else changeWorkingDirectory(subDirectory); paths = paths + / + subDirectory; start = end + 1; end = directory.indexOf(/, start); / 检查所有目录是否创建完毕 if (end = start) break; return success; DB15/T 1872 2020 19 附录 E (资料性附录) 文件拉取 FTP服务接入说明 E.1 文件拉取 FTP服务 API接口 文件 拉取 FTP服务 API接口见 表 E.1: 表 E.1 文件拉取 FTP服务 API接口 序号 接口方法 接口说明