多源异构数据监控管理平台的设计与应用
2021-11-29李晓如韩勇华
李晓如,韩勇华,彭 烨
(深圳市深水龙岗水务集团有限公司,广东 深圳 518030)
大数据时代,数据资产将成为企业的核心资产[1]。数据资产能否集中管控,数据种类是否齐全、质量是否良好、共享渠道是否通畅是目前许多企业面临的共性挑战,也是急需解决的难题。目前在多源异构数据集成、治理及应用共享等方面已有相关研究[2-4],具体可涉及技术理论以及应用系统设计与实现等各方面,相关技术已成熟应用于地质[5]、农业[6]、医学[7]、电力等行业领域,很好地解决了不同行业领域数据类别多、质量差、共享难等问题,为后续数据分析挖掘、释放数据价值提供了保障。针对水务行业,如何将多源异构数据汇聚、监控、共享等技术与实际业务融合,指导水务企业开展多源异构数据的接入与共享,其应用研究相对欠缺。
发展智慧水务,挖掘数据沉淀价值,是传统水务企业发展转型的新机遇[8]。本文从现有水务企业数据监控管理存在的问题出发,提出了一种多源异构数据汇聚方法,实现了从原水、水厂、管网、二供、客户全流程在线监测点及离线报表等多源异构数据的集中接入与管控,并结合目前水务行业数据应用需求,开发了一套标准化数据接口,可根据第三方需求,灵活配置接口,实现跨企业、跨行业数据共享,助力智慧水务的快速发展。
1 技术路线
平台设计主要分数据汇聚、数据展示、数据共享3部分,技术路线如图1所示。
图1 技术路线示意
平台可实现企业全量数据的集中接入、存储与管控。通过梳理企业生产过程中所属的人、财、物等信息资源,针对不同数据业务及传输属性,可采用不同数据接入方式,在线监测数据借助传感器技术和通讯技术可将数据按照约定的协议上传至监控管理平台,离线数据借助报表填报模块可实现数据的录入与存储。数据汇聚完成后,监控管理平台可对接入数据进行实时数据展示与历史数据查询,对于异常数据配有报警服务,并可对数据进行深入分析挖掘等。为满足智慧水务发展需求,平台配有一套标准化对外数据接口,可满足企业内外部数据对接的需求,为水务企业的智慧化生产、智慧化管理提供数据支撑。
2 数据汇聚
数据汇聚主要是将企业在线和离线数据进行集中采集、解析与分类存储。目前,在感知层建设方面,存在较多问题,由于不同厂家有不同技术标准和通讯协议,一个厂家一个平台,导致设备无法混联互装、数据共享困难、维护复杂[9]。针对存在问题,综合考虑企业长远发展需求,从突破平台网关技术角度出发,解决了目前设备通讯协议标准不统一导致的平台众多、管理维护困难等问题。另外,针对离线数据可通过报表填报模块实现不同数据的收集与整理。数据汇聚采用自动上传与人工填报2种方式。
2.1 自动上传
借助现有成熟的物联感知技术,可以实现设备层数据自动上传至监控层。其中物联汇聚网关扮演极其重要的角色,一方面能够兼容不同协议在线监测点设备数据的接入;另一方面,针对已建设的在线监测点,如果已有数据监控平台,可以通过数据接口、消息队列等方式将数据接入平台。
2.1.1协议对接
在线监测设备根据应用场景不同通讯协议也不尽相同,常用通讯协议有OPC、MQTT、Modbus及厂家自定义通讯协议等[10]。目前,平台网关已集成了多种通讯协议,覆盖了市面上主流厂商设备,根据设备上传报文,可自动识别设备采用的通讯协议,然后按照目标协议对传输报文进行解析,并将解析数据上传给物联处理引擎模块进行数据清洗与分类存储等。根据应用需求,物联网关也可进行指令下发,对现场设备进行配置参数的设置,例如数据采集时间、上传周期等。协议对接数据流如图2所示。
图2 协议对接数据流示意
2.1.2接口对接
针对已建设的在线监测点,如有第三方监控平台,可采用消息队列[11]、API接口[12]等方式实现数据的接入。一般消息队列用于实时在线数据的接入,API接口用于业务类数据的接入。网关完成接口数据解析后将数据上传给物联处理引擎模块进行数据清洗和存储。
针对视频监测点,摄像头厂家一般都会配置网络硬盘录像机,常见的有海康威视、浙江大华品牌。以海康摄像机为例,视频数据对接可以通过设备厂家提供的流媒体接口(流媒体接口是由设备用户名、密码、设备IP地址、端口、通道号、码流类型等参数拼接成的RTSP视频流地址,不同厂商设备RTSP视频流地址格式不同)实现,平台通过调用RTSP视频流地址获取海康视频,然后通过多媒体视频处理工具ffmpeg将视频流解析成web展现形式。接口对接流如图3所示。
图3 接口对接数据流示意
2.2 人工填报
除了在线数据,目前,企业也有很多离线业务数据收集的需求,为了实现离线数据的统一管理,在目前监控管理平台中增加报表填报管理模块,可按需制定不同报表模板,填报人员只需按要求录入数据保存即可。
3 数据展示
数据展示可实现接入数据的可视化,具备实时监控、视频管理、报警提醒、数据查询、统计分析、运行管理、报表统计、系统设置等功能模块。
3.1 实时监控
实时监控可按原水、生产、管网、二供、用户全流程展示不同业务段在线监测点实时数据信息,同时可按监测功能分类展示不同在线监测点数据,例如压力点、流量点、水质点等。
3.2 视频管理
视频管理可实现终端摄像机视频接入与展示。平台通过调用流媒体接口并借助多媒体视频处理工具ffmpeg可将终端摄像机视频直接在监控平台展示。视频管理模块支持视频新增、删除、视频放大与缩小、视频打开与关闭等操作配置。
3.3 报警管理
平台支持事件触发机制,提供事件触发引擎、自定义事件触发引擎等功能,通过设定不同监测参数上下限值等操作,可实现数据异常实时提醒,并可通过手机短信、移动APP将异常信息第一时间推送给相关负责人。
3.4 数据查询
提供全面的历史数据管理与查询功能。可按不同业务流程、监测类型、监测点、数据采集时间等内容查询数据。
3.5 统计分析
统计分析可以对关键指标进行日、周、月、年的统计,或者选定某一时间段,统计某些关键指标的变化趋势及百分比。
3.6 运行管理
运行管理主要是对接入数据进行修复、清洗,确保接入数据质量,同时可对漏传数据进行补录以及在线设备远程设置等。
3.7 报表统计
实现离线数据的收集,根据现有业务需求,制定不同日、周、月、年报表模板,也可根据临时业务数据收集需求,灵活编制不同报表样式。
3.8 系统设置
系统管理可以对接入平台设备协议、驱动、网关进行配置管理,同时可设置规则引擎、权限策略及系统审计等。
4 数据共享
平台接口分为授权服务接口和数据服务接口2大块,接口服务统一采用POST+JSON请求方式请求,返回值为JSON。为保证数据传输安全和传输性能,接口服务以HTTPS加密服务方式提供并采用HTTP压缩特性进行在线压缩。
4.1 授权服务
4.1.1应有授权(第三方应用→平台)
功能:第三方应用通过被分配的应用ID和密钥获取应用授权码。
输入:
{
grant_type: string - 授权类型;- 必须为”client_
credentials”
client_id: string - 应用ID - 必填
client_secret: string - 应用密钥(加密) - 必填
}
输出:
{
token_type: string - 凭据类型
access_token: string - 应用凭据
refresh_token: string - 刷新凭据
expires_in: int - 失效周期(s)
}
4.1.2凭据刷新(第三方应用->平台)
功能:第三方应用通过刷新接口,保持授权码可用性。
输入:
{
grant_type: string - 授权类型;- 必填,”refresh_
token”
client_id: string - 应用ID - 必填
client_secret: string - 应用密钥 - 必填
refresh_token: string - 刷新凭据 - 必填
}
输出:
{
token_type: string - 凭据类型
access_token: string - 应用凭据
refresh_token: string - 刷新凭据
expires_in: int - 失效周期(s)
}
为了保密,第三方应用需要一个access_token获取和刷新接口服务。access_token的有效期通过返回的expire_in来传达。接口服务器需要根据这个有效时间提前去刷新access_token。在刷新过程中,接口服务器对外输出的依然是旧access_token,平台后台会保证在刷新短时间内,新旧access_token都可用,这保证了第三方应用业务的平滑过渡。
4.2 数据服务
4.2.1实时数据
功能:通过测点、传感器编号获取实时数据。
输入:
{
access_token: string - 应用授权码 - 必填
codes: array[string] - 传感器编码 - 必填
}
输出:
[{
station string - 监测点编码
code:string - 传感器编码
Time:int - 时间戳[s]
Value: any - 实时数值
}]
同一台传感器编码是唯一的,用于标识传感器的身份。当提供数据服务接口给第三方应用系统时,需配套提供传感器编码,为了确保数据共享的灵活性及安全性,只需提供具备访问权限的传感器编码给对方即可。
4.2.2历史数据
功能:通过测点、传感器编码获取分钟级历史数据。
输入:
{
access_token: string - 应用授权码 - 必填
codes: array[string] - 传感器编码 - 必填
begin: int64 - 起始时间戳(s)- 必填
end: int64 - 结束时间戳(s) - 必填
}
输出:
[{
code: string - 传感器编码
time: int- 时间
value: any - 数值
}]
以上是对监测点实时和历史数据对接的说明,除在线监测数据,平台还可对业务数据进行对接,对接模式可参考在线数据对接说明。
5 应用情况
目前该平台已在某水务集团试运行6个月,就运行情况来看,实现了现有集团全量数据的集中采集、存储、分析、应用及共享,总体效果良好。平台总览如图4所示。
图4 系统总览示意
平台应用统一了目前物联网感知层设备接入方式,规范了企业对内、外数据接口标准,将员工从繁重的数据填报工作中解放出来,提高了工作效率。系统总览通过“一张图”方式直观展示了平台接入设备总数、设备在线率及分类展示厂站、管网、二供设备总数量与运行情况,并对第三方应用系统取数速度和总量进行了统计,便于管理人员快速掌控企业设备运行、数据收集与变化情况,为下一步工作决策提供数据支撑。
6 结语
本文从现有企业数据汇聚存在的痛点和难点出发,以水务企业数据监控管理应用为例,提出了一种多源异构数据汇聚解决方法,开发了一套物联网关服务及报表填报模块,实现了企业全量数据的集中采集、解析与存储。通过统一企业全量数据采集通道,规范了企业数据流,畅通了数据共享机制,避免了一数多源现象,同时为设备的集中运维管理提供了基础。数据汇聚与应用需要不断更新优化,以实际效果为导向,真正去做足、做实、做好的一项工作。