GE数字集团系统架构师 余思源
Historian 8.1已经在今年五月正式发布,该版本的一个重要更新就是新发布的ETL工具。
ETL是Extract, Transform, Load的缩写,中文翻译是:提取-传输-加载,实际上ETL是一套面向文件的高性能数据传输解决工具。
功能简介
众所周知,Historian已经提供了Server to Server (S2S)采集器,用于在两台Historian服务器之间传递数据。S2S采集器可以高效实时地传递数据,同时还支持本地缓存功能,在网络中断时可保障数据不丢失。
但是S2S采集器也有局限性,若两台Historian服务器之间无网络连接(两台服务器位于不同的城市,或者一台在控制网而另一台在办公网),或者网络连接的成本太高(一台服务器部署在轮船上而另一台在陆上的数据中心)时,S2S采集器则不太适用了。
Historian ETL正是为了应对这些场景而生,它包含一整套面向文件的数据提取,传输和加载工具。
首先,ETL配置哪些标签需要发送,它们在现场和目标Historian上的名称(可以不相同),是否启用采集器压缩,死区范围,超时时间等信息;然后将现场Historian服务器上选中的数据提取并保存为文本文件,若干文本文件合并压缩再后发送到一台BITS或FTP文件服务器上;目标Historian服务器上开启相应服务来监控文件服务器,一旦发现了新的压缩文件,则将其内容解析后导入目标Historian中。
ETL传输方式类似于“数据二极管”的模式,数据是单方向的传输,现场Historian服务器不知道也无需知道目标Historian服务器是否收到数据,从而避免了一切通过状态反馈信息来试探甚至破坏现场Historian服务器。此外,压缩文件可以暂存在目标服务器上,这也降低了对现场Historian服务器的磁盘和性能的要求。
前期准备
在前期准备时,用户需要创建一个XML文件,指定现场Proficy Historian或PI Server中哪些标签及其属性需要提取,该文件格式如下:
-
-
ValvePressure
ValvePressure
1
2.5
2
1
10
8
10
8
为了方便用户维护该XML文件,系统提供一个Excel模板,用户可方便地在Excel中整理需要提取的标签列表,然后输出到XML文件中。
提取
提取组件可以将数据从三种数据源中导出,它们是Historian时序数据,Historian A&E数据和OSI PI数据。
对于Historian时序数据,还可以提取警报和事件数据,执行数据缩放和绝对值死区压缩。
将导出的文本文件进行压缩,以实现高效传输。
用户需要通过Historian ETL Extract Configuration工具对提取组件进行配置,其界面如下:
配置完成后,点击配置工具中的“Start Service” 按钮即可开始提取工作。
以Historian时序数据为例,提取组件的工作流程如下:
将与标签相关的数据提取到文本文件中,该文件以以下格式命名:YYYYDDMMHHRR_ <现场historian计算机名称> .txt。这些文件存储在以下文件夹中: / Historian ETL Extract / HistFiles。
提取了指定数量的文本文件(默认为6个)后,将这些文本文件打包压缩为.zip文件,该文件以以下格式命名:YYYYDDMMHHRR_ <现场historian计算机名称> .zip。这些文件存储在以下文件夹中: / Historian ETL Extract / ZipFiles。
文件被压缩后,删除 / Historian ETL Extract / HistFiles文件夹中的文本文件。
传输
在目标Historian服务器上安装文件共享传输协议(例如FTP,BITS等),将数据从现场Historian服务器传输到目标Historian服务器。
若选择使用BITS,需要在Windows Features中安装BITS相关服务,如下图所示。
BITS站点配置完成后,用户可执行 /Historian ETL Transform/BITS 目录下的
OSM_LBW_Transfer.cmd程序来启动文件传输,相关配置信息请参见OSM_LBW_Transfer.vbs文件。
若选择使用FTP,需要在Windows Server Roles中安装FTP相关服务,如下图所示。
FTP站点配置完成后,用户可执行 /Historian ETL Transform/ FTP File Transfer/ 目录下的. FTPFileTransfer程序,配置FTP站点信息,需要监控的ZIP文件目录等,点击 “Start“按钮即可开始传输文件。
加载
加载是提取的逆向操作,它负责监视文件目录,解压缩文件并处理它们,将数据加载到Proficy Historian中。
用户需要通过Historian ETL Load Configuration工具对加载组件进行配置,其界面如下:
配置完成后,点击配置工具中的“Start Service” 按钮即可开始加载工作。
加载组件的工作流程如下:
提取 / Historian ETL Load / ZipImportFiles文件夹中的.zip文件,解压缩后的文本文件存储在目标Historian服务器的 / Historian ETL Load / ImportFiles文件夹中。
将数据导入到目标Historian服务器。
删除 / Historian ETL Load / ZipImportFiles文件夹中的.zip文件。
删除 / Historian ETL Load / ImportFiles文件夹中的文本文件。
总结
ETL工具是Server to Server采集器的有效补充,它可以为众多的应用场景提供服务,如下文所示:
通过无线电或低带宽蜂窝连接进行数据传输
没有连接的数据传输(使用移动媒介进行读写)
用于定期连接应用程序的数据传输(例如,船舶可以在到达港口时传输数据)
通过单向安全连接(例如数据二极管)进行数据传输
从OSI PI Server到Proficy Historian的数据迁移
提取Historian数据以导入到其它应用程序中
从其它应用程序导入数据到Historian中
ETL包含数据提取,传输和加载三个组件,它们可以单独使用,也可以组合成一套完整的面向文件的数据传输解决方案。
如果大家对ETL工具和新发布的Historian 8.1感兴趣,欢迎随时与GE Digital联系。