地震前兆数据采集适配
软件方案设计1
汤一翔1)  滕云田1)  刘高川1,2)  张  旸1)  王  晨1)  王  喆1)
1)中国地震局地球物理研究所,北京 100081
2)中国地震台网中心,北京 100045
摘要  为解决地震前兆非标准仪器的统一接入问题,本文对地震前兆台网设备异构性进行了分析,提出一套完整的地震前兆数据采集适配软件设计方案,并从采集、存储、传输3个主要软件模块描述了关键技术设计。
关键词:前兆台网  数据采集  适配器  设备异构  序列化  NIO
引言
随着网络技术的迅速发展,远程控制和监测设备逐渐成为行业信息化的焦点(袁理想等,2005)。遵循不同协议、多样式的数据表达方式的异构传感数据接入问题成为一个研究热点(邓攀等,2010)。中国地震
局于2011年实施了前兆观测系统并网改造升级工作,实现了绝大部分观测设备网络化统一管理(周克昌等,2013;贾鸿飞等,2013)。随着地震前兆台网的发展,观测设备不断增多,学科观测手段不断增加,数据频带逐渐增高和拓宽,单个设备日产出数据量急剧增大,设备通讯协议也更为多样,台网设备的异构性逐渐增大。
适配器被广泛用于解决异构性问题中,其可实现对传感器数据的抽象访问、数据转换操作等(陈峰等,2011;陈庆奎等,2012)。本文提出一种多类型异构设备集成适配设计方案,以完成异构设备数据采集、存储及设备向服务器的高效传输。
1  设备异构分析
地震前兆观测设备的异构性可分为命令集异构、数据结果异构和物理连接方式异构3种(邓攀等,2010)。物理连接方式主要有IPv4连接(网络化设备)、RS232连接(公共数采和智能设备)和PPP 连接(调制解调器连接)3种,目前PPP 连接已由IPv4取代(周克昌等,2013)。网络化设备遵循“十五”网络通讯协议,但仍存在非标准仪器设备,如极低频仪器、
1 基金项目  中国地震局地球物理研究所基本科研业务专项“地震前兆观测网仪器适配器研制”(DQJB16B01);“基于云平
台的前兆组网技术中数据通信系统原型设计”(DQJB16B02)
[收稿日期] 2017-05-18
[作者简介] 汤一翔,男,生于1991年。在读硕士研究生。主要从事地球物理观测信息技术研究。E-mail :tyx@cea-igp.ac [通讯作者] 滕云田,男,生于1966年。研究员。主要从事地球物理观测综合技术研究。E-mail :tengyt@cea-igp.ac 第13卷 第1期
2018年3月 震灾防御技术 Technology for Earthquake Disaster Prevention Vol. 13,No. 1 Mar.,2018 汤一翔,滕云田,刘高川,张旸,王晨,王喆,2018.地震前兆数据采集适配软件方案设计.震灾防御技术,13(1):215—225. doi :10.11899/zzfy20180120
震灾防御技术 13卷216
光泵磁力仪、GNSS设备等高采样率仪器。
随着地震前兆观测技术的不断发展以及台网智能化监控管理需求的推动,台网设备越来越多,手段越来越丰富,采样率越来越高,设备通讯协议日益多元,现有的技术系统架构已不堪重负。在大规模传感器组网技术中,采用集中式管理的大数据中心已成为趋势。限于当时的技术手段,“十五”设备网络通讯协议采用的是字符串编码,其编码方式数据量大,且编解码过程需要较大计算资源。与此同时,面对大量异构设备的协议适配和结果处理无疑将极大地增加数据中心负担。如何实现设备的高效透明访问和数据传输控制是当前和未来将要面临的问题。
2采集适配器设计
屏蔽设备异构性,实现设备高效透明访问和管理是适配器软件设计的核心目标,在前端以地震前兆数据采集适配器实现“多类型设备集成封装”(图1),将物理设备统一封装为同构的虚拟设备,使上层通过适配器设备的统一访问入口对设备进行访问控制和向上层服务器高效安全传输数据(邓攀等,2010;王晨等,2012;梁红杰等,2014)。
根据适配器工作及采集业务管理等需求,将适配器设计为数据采集、数据存储和数据传输3个主要业务逻辑模块,见图2。
图1  适配器物理拓扑图
Fig. 1 Physical topology of the adapter
图2  适配器主要业务逻辑模块
Fig. 2 The main business logic module of the adapter
2.1数据采集模块
数据采集模块主要负责对各类物理设备的统一集成封装,包括物理连接驱动、通讯指令适配,数据结果集适配、任务队列管理和指令执行。采集程序通过线程池管理,实现多并发指令控制,并提供采集状态监控接口。
2.2数据存储模块
数据存储模块主要负责数据的存储管理,包括数据库连接管理,数据生命周期管理、数据分块和读写接口。数据库连接管理采用连接池,控制外界对数据库的访问连接数,确保数据库安全及性能损耗;数据生命周期管理实现定期清理过期的观测数据;数据分块实现大数
1期 汤一翔等:地震前兆数据采集适配软件方案设计217
据量的数据切块存储;数据读写接口则实现对数据库的操作访问。
2.3数据传输模块
数据传输模块通过数据传送机制与上层服务器进行通信和数据传输。通过指令侦听与解析模块接收上层指令信息并解析处理。链接安全通过IP白名单机制、连接数管理以及权限进行控制;应用高性能消息序列化技术及可靠加密保证消息的传输效率及数据安全。
3关键技术设计
适配器字符串是什么
3.1适配采集任务设计
实现对异构设备的透明化访问和数据采集,需要将下层设备封装为同构的虚拟设备,并通过设备访问接口实现设备访问,实现设备统一管理。适配器对上层的业务功能表现为对虚拟设备的访问,在采集过程中,通过采集实现方法的自主适配及采集程序重构完成异构设备采集任务,对采集返回的结果集进行重构并向上层业务反馈统一数据格式的结果。基于适配的采集程序结构如图3所示。
通过设备指令适配、结果集适配和物理连接适配,并根据相应适配行为设计对应接口模型,实现对多类型异构设备访问方法的规范化集成封装,同时根据所封装的异构设备访问方法重构采集执行单元,实现执行接口的动态适配,设备访问流程见图4。
(1)指令适配与命令构造模板设计
在虚拟设备指令向物理设备指令转换时,由于设备通信协议的异构,虚拟指令根据语义映射相应物理设备指令单元,不同指令单元按设备协议组合构造出完整的物理设备指令。
统一虚拟命令通过getbytesCommand接口方法将命令中各个语义单元映射为物理设备指令单元,并组合成相应物理设备命令。同时,由于各个设备的访问安全机制不同,因此需要规定getbytesLogin接口方法获取登录命令和handle建立连接接口方法,规范设备访问行为。
(2)结果适配与结果处理模板设计
结果适配通过设备结果映射处理接口实现,完成抽象结果处理流程实例化。结果处理流程先对物理设备返回结果进行二进制流解析,将二进制流拆分成独立的数据项,然后按数据业务逻辑对数据项进行重组、标记,形成统一格式的数据返回对象向上层业务返回虚拟设备结果。在程序实现中,设备返回数据流通过结果处理接口readNewData分解为各结果单元,通过getUniformResult将结果按需求计算和重新组合为入网结果格式,以便向接口层返回采集结果,具体见图5及图6。
(3)物理连接适配与连接器模板设计
物理连接适配由统一连接器接口和不同物理连接器构成。为保证底层协议规范的异构对设备访问的透明,
对底层通信通道协议封装,对上层只暴露connect连接接口、close通道关闭接口、setConfig连接配置接口以及getInputStream和getOutputStream获取输入输出流接口。
(4)基于动态加载的接口适配实例化
为实现设备适配的可扩展及减少在适配新设备时对软件源码的维护,采用动态加载接口实现类的接口适配方式。以DeviceAdapter抽象类为父类模板完成对指令适配、结果集适配、物理连接适配方法的聚合,异构设备根据实际设备访问需求编写相应采集执行的实例,利用JA V A对象编程的多态技术,完成对命令构造、连接访问和结果处理方法的差异化表达。
218
震灾防御技术 13卷
图3  基于适配的采集程序结构
Fig. 3 The acquisition program structure based on the adaptation
图4  设备访问流程
Fig. 4  Device access process
1期  汤一翔等:地震前兆数据采集适配软件方案设计 219
如图7所示,接口实例化过程中,通过
DeviceType 属性存储设备访问实现类的名
称,用于检索相应设备访问实现类。对适配
类实例进行缓存以实现实例的多次复用,降
低频繁初始化的性能消耗。本地库自动从服
务器适配仓库中更新。
3.2  适配存储设计
观测及运行数据的有效存储是数据采
集、管理、处理和传输的基础条件,基于业
务需求及硬件条件,我们选择MYSQL 数据
库用于数据的存储管理。
为实现观测数据统一存储及适配大数
据量数据存储,设计了大字段数据高效存取
控制及大数据量数据分块存储两项关键技术方案。
图6  采集结果数据具体构造过程模拟示意
Fig. 6  Data construction process simulation
(1)大字段数据高效存取控制
针对数据库中大字段的数据查询、存储或更新时频繁开闭锁可能遇到的性能瓶颈,数据库存取管理设计了相应数据存取流程,见图8。利用内存缓存适配器观测设备配置信息以降低连接数据库的开销;采用将大字段数据与字段检索信息拆分为一对一的两张关联表的数据表结构方式,检索信息表在将大字段单独存放后单行长度变小、数据库存储单元数据密度增加,这大大减少了数据库在不同存储单元间的随机读取,从而提高数据存取性能。
(2)大数据量数据分块存储
对大部分前兆数据MEDIUMBLOB 字段类型的存储空间已经可以满足存储需求,针对适
配高采样率、大数据量产出的观测设备,数据分块存储是一种可行方案。相较于数据文件的图5  采集结果处理流程 Fig. 5  Data collection result processing flow

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。