找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 通用数采监控系统数据集成设计与实现

[复制链接]
admin 发表于 2013-3-26 11:36:42 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 针对目前数采监控系统缺乏统一的数据共享集成模式问题,提出了一种可对不同数采监控系统进行统一管理的数据共享集成方案。该方案构建了一种异构数据协议模型,通过配置的方式生成不同数采系统的数据协议格式,并能将任意自定制协议进行动态注册或撤消。通过对各采集系统发送的数据进行实时协议识别、数据解析、数据分发与监控显示等处理,实现异构采集数据的共享集成和集中监控。
关键词: 数采监控; 异构协议; 信息集成; 数据转换; 数据集成
       随着数采监控系统SCADA(Supervisory Control and Data Acquisition)业务集成的深入发展,敏捷、不受限制的采集数据的集成已成为关键的业务需求。企业的发展不仅需要引进一些新的应用数据服务器系统,而且要整合旧的数据应用服务器系统,以实现整个企业之间甚至不同企业之间的采集数据信息的共享和更新。为实现异构协议数据应用服务器之间的信息共享,需对其传输的数据信息进行变换,实现各传输协议之间的集成转换。
     解决协议集成转换的典型方法,主要有“ESB服务总线”、“Mule服务总线”、“基于JBI的ServiceMix服务总线”以及“CXF服务总线”[1],但这些方法只支持标准的数据传输协议,不能集成各种异构数据应用服务器自定义的协议,无法满足企业的各种采集数据信息共享与升级的实际需求。有鉴于此,对异构数据自定义协议集成的研究和分析,具有一定的现实意义。
1 系统设计
     针对目前市场上协议转换方法的不足,本文构建一个能支持自定义协议集成的系统。该系统通过用户配置其自定义协议,不仅实现接收自定义应用传输协议的数据流并进行解析,而且能发送自定义应用协议的数据给其他异构通信应用服务器。此外,系统能支持用户自定义协议解析规则,具有良好的扩展性,并具有稳定可靠、处理能力强、管理方便等特点。
1.1 系统结构设计
     系统可分为应用层、业务层与资源层三个部分。应用层负责对异构数据协议的各种应用管理及动态展示实时数据等应用功能。业务层是整个系统的核心层,不仅负责监听计算机各不同端口,对接收的数据流进行识别、解析以及存储、分发等各种处理,而且为整个系统提供数据支撑,及各种数据的增、删、查、改等数据操作功能;资源层包括本系统所有的数据资源,即数据库、系统临时数据及外部采集系统发送的数据流。系统的结构如图1所示。
    20121107045433883164648.gif
   1.2 异构数据协议解析规则分析及其管理设计
     协议解析规则是在解析协议时对协议数据流的处理手段。综合分析各种标准应用协议及各用户自定义协议,大致有三种不同的协议解析规则:(1)控制规则:协议解析时对整体数据流的处理手段,如协议是否需要回复、校验和及协议序列号等;(2)数据前处理规则:对单个协议数据解析前的处理手段,如解析前对单个数据字节大小端进行的变换;(3)数据解析后处理规则:对已解析出来的单个数据进行处理的规则,如将解析出的数据乘以标定。
     规则管理设计原则是用户能方便地加载自己定制的协议解析规则,使得系统具有更强的扩展性。本系统拟采取数据库机制,在系统的应用层增加管理功能实现。
1.3 自定义异构数据协议模型设计
     协议格式模型的设计原则是保证协议格式能符合大部分用户的需求,使得系统具有高度的灵活性和广泛的适应性。
     异构协议的具体帧格式由用户自由配置。协议格式由包头、命令区、数据区以及包尾组成,格式配置模型如图2所示。
    20121107045433930034649.gif
       考虑到实际应用中各自定义的数据协议格式因需而异,协议格式框架中的包头、命令区以及包尾是协议的可选部分,在配置时可根据协议具体需求选择。数据区是协议不可缺少的部分,协议的数据流包含的类型有数据类型与非数据类型。数据类型是字节型、短整型、整型、长整型、浮点型及双精度型以及它们各自的数组类型组成;非数据类型为字符串类型。
 命令区存放的是协议的控制数据流,解析协议数据流时按命令区类型进行解析。当命令区参数不为空时,将解析结果与参数相比对,相等则调用对应的协议控制规则;当命令区参数为空时,可直接调用对应的协议控制规则进行校验。
     数据区存放的是协议的消息数据,其类型为数据类型,用户可对数据在解析前后进行必要的处理。
2 系统实现
     系统使用基于J2EE平台设计,从而实现了跨平台、可复用、易维护等特性。系统整体使用了Spring+Hibernate框架进行开发。系统依赖于Spring的IOC功能对各JavaBean进行管理,促进系统功能模块间的松耦合。同时系统使用Spring对数据资源进行事务管理,保证系统数据的完整性和系统性能的高效性[2]。系统采用Hibernate框架,以完全面向对象的思想对数据进行管理与优化,完全隔离了底层数据库机制,使得系统适用于Mysql、Sql Server及Oracle等数据库[3]。
    系统包括通信模块、应用管理模块和数据管理模块三个部分。模块之间有连接接口或者由数据池进行控制连接。通信模块与应用管理模块为本系统的核心部分,数据管理模块为其他模块提供数据支撑。
2.1 通信模块
     系统采取NIO Socket通信技术以及多线程机制进行实现通信模块,提高了系统的并发处理能力、优化了系统的响应速度。通信模块的组成如图3所示。
    20121107045433976914650.gif
   2.1.1 数据接收及协议识别、解析模块
     协议的识别与解析是系统的核心功能,正确、高效地进行协议的识别与解析是系统运行的保障。在此功能模块中,系统基于Mina通信框架进行扩展、开发。Mina框架是由Java技术开发的一种用于开发高性能和高可用性的网络应用程序的基础框架,该框架具有多协议支持、多端口监听、异步通信等优点[4]。利用Mina框架,不仅可在同一端口监听不同协议的数据流,而且可在多个端口监听获取数据流。模块解析数据时,考虑到网络延迟及TCP/IP的数据采用的是分组传输方式,将上次解码剩余的码流存放起来,与下次同一Session接收的数据流合并进行整合解码。 模块解析数据工作流程如图4所示。
    20121107045434101904651.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 20:34 , Processed in 0.055215 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表