智城识别ID 58054
承接项目数 0
好评率 0%
会员 3级
总收入 ¥ 0RMB
保证金 2000 RMB
拥有技能 Access SQLServer MySQL SQL C++ Java ASP CNet Oracle
所属地区 北京市

案例

14075623786598
9 年多前上传

开发周期 : 1 周
项目报价 : ¥500-¥1,000

数据采集系统解决方案

数据采集系统解决方案

一、方案概述

石油、石化行业现场存在大量OPC设备,因此数据转发子系统起到一个承上启下作用,将现场OPC设备采集到数据采集子系统中去,并将数据采集子系统中所有点(100万点)通过OPC Server的方式中转至PI数据库,完成数据的统一采集。同时,向各场站远方采集终端中转发送各种数据信息及控制命令。

二、系统架构

数据采集子系统为一高效稳定、大吞吐量的实时化数据库,基于其采用Linux系统开发,无法兼容现有石化行业部分OPC设备(OPC通讯基于Windows的DCOM开发),并且由于石化行业PI数据库仅向我方提供OPC接口作为唯一录入系统的接口,因此开发一个快速稳定,基于分布式处理的windows数据转发中心软件作为数据采集子系统的一部分,完成数据采集子系统承上启下的作用。

系统规划采用多机冗余、负载均衡以及分布式技术,利用多项核心技术来满足高吞吐量和高可靠性的要求。

三、核心技术

网络通讯的开发是各组件间通讯的一大难点,为了保证稳定的网络开发,维护通讯数据报的完整性、有效性,需要开发大量的辅助代码来完成此功能。TAO(ACE ORB)是一个基于CORBA标准的中间件平台。它兼容大部分 CORBA标准,它可以实现远程对象调用,而不用关心如何去做对象定位、网络通讯数据包等环节,成为一个高性能、实时的服务质量的分布式应用平台。在本架构中,TAO构成了数据转发平台的主要部分,主要用于开发封装应用接口的低层CORBA组件与高层业务接口的CORBA组件。高层业务CORBA组件负责接收客户端的调用请求,并把它分解与映射到低层CORBA组件;而低层CORBA组件负责与ACE通信层交互,通过ACE层适配以达到与外部系统的交互。

在C/S结构的C++网络程序中,直接采用Socket API进行开发效率是很低的,所以大家发明以及使用了各种各样的网络框架,如Boost.Aiso和ACE,简化了网络通信开发的难度。

但是这种基于数据包收发的模式还是不太方便,于是又出现了RPC、DCOM、CORBA等远程接口调用的标准。客户端只需要像调用本地函数一样调用远程接口,框架会自动处理数据包收发,请求和应答等底层细节。

CORBA是一个为简化跨平台应用而提出的规范,它独立于网络协议、编程语言和软硬件平台,支持异构的分布式计算环境和不同编程语言间的对象重用。CORBA可以作为不同平台应用间信息传递的中间件,CORBA通过引入经过充分验证的有效的框架结构和通信手段,最大限度地简化了网络通信相关应用的设计与开发,使得我们可以专注于业务逻辑的实现,而无需关心通信的细节。CORBA曾在无数文章中被称作“软总线”,以表明它作为数据传递通道的基本特性。

TAO(The ACE ORB)是美国华盛顿大学的Douglas C. Schmidt教授领导开发的一个实时CORBA平台,它是一个免费的开放源码项目,用C++语言开发,符合CORBA2.6规范。简而言之,CORBA就是一组跨平台的DCOM组件,而TAO就是CORBA的具体实现。

14075624287560
TAO组件平台展示
14075623786598
系统规划整体结构