余永纪,杨学平,薛秀丽
(云南机电职业技术学院,云南 昆明 650203)
物联网(IoT)是在互联网基础上扩展与延伸的网络,物与物之间进行“万物互联”,实现信息的交换与通信。物联网的出现,再加上数据通信成本的急剧下降,以及各种传感技术和智能设备的出现,加速了数据的采集和应用[1]。但是在面向各种具体行业应用,源源不断的产生海量的实时数据的同时,就会产生大量的、相互不共享的数据,容易形成信息孤岛的现象[2]。而且当前数据交换体系存在着数据利用效率低、服务质量无保障、数据交换不可靠、数据请求安全无保障等问题[3],而且很多数据交换与共享平台无法直接应用于物联网系统。
为了打破信息孤岛,解决物联网系统数据共享与交换问题,充分挖掘数据价值,提高数据利用率,本文将基于物联网构架,提出一种基于物联网的数据共享交换平台设计方案,主要完成物联网的数据采集、数据交换、数据处理及数据管理功能,将数据进行治理和融合,形成资源共享目录,在数据交换系统基础上,实现数据的交换与共享,并提供与之相适应的数据交换或数据产品服务接口。
基于物联网的数据共享交换平台总体架构图如图1所示,平台支持对分布式的海量的结构化数据、非结构化数据进行统一存储、统一管理,并提供灵活的权限管理和操作功能。系统提供统一的用户管理和认证体系。遵循平台制定的数据服务标准规范体系,获取相应的数据,将分散数据采集进入到平台的信息资源库中。在平台基础功能的支撑之下,通过数据资源目录对信息资源库进行统一管理,统一对外提供数据资源共享服务。
基于物联网的数据共享交换平台总体架构图如图1所示,平台支持对分布式的海量的结构化数据、非结构化数据进行统一存储、统一管理,并提供灵活的权限管理和操作功能。系统提供统一的用户管理和认证体系。遵循平台制定的数据服务标准规范体系,获取相应的数据,将分散数据采集进入到平台的信息资源库中。在平台基础功能的支撑之下,通过数据资源目录对信息资源库进行统一管理,统一对外提供数据资源共享服务。
平台总体架构包括以下层次:
应用层:各类应用访问的统一入口。
管控层:提供平台的统一管理,包括接口管理、监控统计、用户管理、服务统计等模块。
业务层:提供数据目录、数据资源管理及共享交换服务等的功能实现,包括数据目录管理、数据资源管理、数据采集、数据交换、ETL及企业服务总线等模块。
数据资源层:是提供数据共享与交换的支撑机构,它主要实现数据聚合与分层集中管理,建立数据的共享资料库及资源目录,为上层业务提供数据服务。
基础设施层:主要包括基础网络资源、计算及存储资源、数据库系统等基础设施,还包括物联网设施、安全控制设备、身份认证设施以及密钥管理设施等。
政策法规与标准规范体系:包括相应的国内标准、行业标准以及平台建设的相关标准。
安全保障体系:符合国家、相关安全管理部门,以及信息中心相关安全管理规定的要求,保障数据信息和数据服务的安全。
基于物联网架构的数据采集子系统逻辑架构图如图2所示,数据采集子系统由物联网数据采集服务、采集应用服务、集成开发设计器、统一管理平台等构成。物联网服务提供物联网设备管理、物联网节点接入授权、物联网数据传输及数据的异构管理等功能。采集应用服务提供认证授权、监控管理接口、扩展接口、数据桥接、数据适配、数据同步、数据抽取、数据存储、处理流程、任务调度、转换引擎等。集成开发设计器包括数据源接入、流程开发、任务配置、任务部署、调试跟踪、任务执行、监控输出、运行日志。统一管理平台主要实现数据采集过程中的监管与控制,包括设备、节点、权限的控制与管理,采集过程中的运行及状态监控,数据采集的性能统计与分析等。
图2 基于物联网架构的数据采集子系统逻辑架构图
数据交换子系统主要提供数据交换的规则配置、流程管理、交换任务的调度、交换过程运行状况的监控、系统资源占用情况及系统异常处理等功能。数据交换子系统是数据采集、传输、监控的工具、手段,借助先进的数据共享交换平台工具,构建安全、可靠、高效、一致的数据传输机制。
2.2.1 数据交换引擎
数据交换引擎是数据共享交换平台的核心部分,采用基于JAVA技术设计的消息中间件软件设计,结合大数据和云计算的数据存储和处理能力,支撑数据交换平台实现海量、多格式、高可靠、高并发和高稳定数据采集与分发。
在共享交换平台中心部署服务节点,实现前置交换系统与平台间的稳定可靠的信息传递,选择合理的技术手段确保前置交换系统之间可靠的信息传递功能,实现交换信息内容的“不丢、不错、不重”高效传输。支持交换节点之间的路由和备份路由功能,提供断点续传功能,并且提供数据的打包、传递、转换及解包等功能。
2.2.2 交换监控子系统
交换监控子系统用于监控数据共享与交换的状态、服务和日志等信息,提供前置交换系统的注册与授权、状态查询、信息统计、更新及远程部署等功能,协同部门交换前置机和中心交换前置机的运行并对交换平台的运行情况进行管理和监控。
2.2.3 前置交换子系统
前置交换子系统是业务应用与平台之间数据交换的桥梁,它负责提供前置数据交换的规则与模式,可以利用中间件进行数据的交换和共享,实现数据格式的转换与桥接,以及信息数据的传输等功能。
2.2.4 桥接交换子系统
桥接服务运行环境和桥接服务配置工具。提供物理隔离情况下的数据交换。支持异构系统的数据源(如Oracle、MySQL、SQLServer等)的各种字段类型(如数据库表的字符型、日期型、数字型、Blob、Clob、流类型等)等在隔离的两段网络间实现跨域的数据交换。
2.2.5 交换传输子系统
交换传输子系统提供全生命周期的文件传输及处理服务,提供交换服务实现数据库表、业务系统、XML、文件等到文件的格式转换、过滤、映射处理。提供传输服务实现文件(夹)的可靠传输、变化文件传输、压缩、加密传输等。提供交换服务、Shell调用服务实现文件到数据库、业务系统等集成;提供FTP服务实现和外部系统的集成;提供文件分类调用服务实现文件分类调用等。
数据处理,也称ETL(Extract-Transform-Load),主要是对各数据源单位采集的原始信息进行清洗、加工、转换、比对等,并按照统一的标准对数据进行串联和汇集,最后将处理完的数据加载到相关存储设备中。
2.3.1 数据清洗
数据清洗是根据不同的业务情况制定清洗规则,针对不能满足业务需求的数据,如不完整、有重复的数据进行处理,最终达到应用要求的过程[4]。数据清洗主要包括数据比对、过滤、关联、去重、转换及解析等过程,其目的就是保障数据的完整性、正确性和一致性。
2.3.2 数据加工
数据加工主要是两方面的工作:构建源数据处理体系和搭建数据资源池基础数据库群。源数据处理系统分析源数据库数据特征,根据源数据特征和目标数据库结构安装配置ETL工具,进行数据抽取/清洗/转换/加载(即ETL过程),从数据采集到平台之后到建成可供分析应用的数据仓库,之间要经历繁的ETL过程(数据清洗、转换和整合)。
2.3.3 数据抽取
数据在经过清洗和加工以后,可以对数据资源进行编目,形成共享资源目录,以支撑数据的检索和定位。为了满足不同的业务和数据形式的要求,在需求明确的情况下,可以制定不同的数据抽取规则接口,对数据源中分布的,异构的、关联的数据进行抽取。数据抽取的过程主要是从各个业务系统上根据约定的采集周期采集全量或增量数据。在采集过程中可能涉及系统内或跨系统的数据关联获取。
数据管理子系统主要是针对数据的创建、存储、使用、共享及评价等过程进行的管理。主要包括元数据管理、任务管理、数据融合等几个方面。元数据管理是最基本的数据管理,任务管理主要根据业务需求,以任务的形式建立数据加工的流程,实现对数据处理任务的配置、任务调度、运行监控管理等工作。数据融合主要针对物联网跨域数据特点,挖掘各类实体数据的关联系统,对数据进行整合、存储及管理,使数据最终能够共享与交换。
2.4.1 元数据管理
元数据管理是对物联网各类数据的最基本管理功能,实现元数据的采集、注册、变更、授权及统计等生命周期的管理功能。平台系统提供元数据管理功能,通过对物联网数据的加工设计、执行处理、数据融合等步骤,主动产生或提取数据元数据,并通过制定元数据开放的使用规范及标准,对元数据资源进行发布、申请、审核、授权等操作,以便将数据进行开放共享与交换。元数据管理还可以实现元数据的模型定义并存储,在功能层包装成各类元数据功能,最终对外提供数据的应用及展现;还可以提供元数据的关联分析和流向功能,方便对数据实现追踪溯源和流向的分析与统计。
2.4.2 任务管理
任务管理及调度逻辑图如图3所示,任务管理包括数据处理任务的配置、任务调度和任务运行控制管理等。这部分主要实现对物联网数据采集和处理的任务规则、参数和服务等的配置,实现物联网节点运行状态、节点资源状态、节点任务运行状态及节点的历史运行状态的监控。
图3 任务管理及调度逻辑图
2.4.3 数据融合
采用关系数据库技术、MPP分布式存储技术、Hadoop大数据处理技术和柔性多引擎检索技术构建数据存储系统,是预处理及过滤数据库内资料、读取资料来源、分析资料转换规则及载入系统,并将转换资料写入主资料库,最后完成跨域数据整合、存储及管理,是数据交换平台关键部分之一[5-6]。这要求具有完全分布式的、多副本机制的、对等的、不共享的系统架构,没有单点故障或瓶颈。系统能线性增长,每新增加一个节点能同时增加系统性能和存储容量。
支持增量索引,采用集中索引和实时索引相结合的方式,集中索引针对批量更新的海量数据库,其索引的制作耗时较长,由管理员确定索引时间,如每天夜间等;实时索引适用于频繁更新的数据库,保证记录的添加、修改、删除都能实时地反映到搜索结果当中。
随着信息技术的发展,物联网行业应用版图不断增长,物联网系统数据也呈现出数据量大、多样、多域、多应用等特点,在各个应用领域形成了大量数据不共享、信息不互通的物联网平行应用系统,打破信息数据壁垒,实现物联网数据的共享与交换,是物联网系统广泛应用的关键。本文基于物联网构架,提出一种基于物联网的数据共享交换平台设计方案,完成了数据采集、数据交换、数据处理与数据管理等方面的功能,并提供与之相适应的数据共享交换接口及数据服务,进一步破除“信息孤岛”和“数据烟囱”现象,推动数据资源的整合,对物联网系统的多域数据共享与交换有重要意义。