1、1、搭建数据库1.1、搭建OPEN3000数据库找一个ORACLE数据库,假如其SID为ORCL1创建用户CIM,把“EMS数据实时导入表open3000CIM”文件夹下所有的表都建好2创建用户EMS,把“EMS数据实时导入表open3000EMS”文件夹下的所有表都建好1.2、搭建D5000数据库(达梦)创建D5000(名字随意取)数据库,建好数据库后创建两个模式HISDB和MIDDATA。如图:2、搭建数据交换系统项目部署请参考user_reference.doc文档中1.3.2小节的配置3、配置EMS数据实时获取公共配置:1配置数据源打开数据交换首页(http:/localhost:80
2、80/dxp),依次点击:配置如下几个数据源,注意数据源ID请用指定的名字:3.1、关于OPEN3000的EMS数据实时获取在配置OPEN3000的EMS数据实时获取时,需要用到两个数据源ems和cim。获取过程包含了两部分:一、将EMS数据转换到中间表,这个中间表是张月表,系统自动创建。二、根据CIM库中遥测基础信息将中间表的数据转换到遥测历史96点或者288点表中,如果是积分电量则会往积分电量表中写数据。1第一部分的转换使用到的job是:com.tellhow.dxpapp.cimems.CimEmsService,它会将EMS信息导入到中间表,下面创建定时任务:触发器就每分钟执行一次吧:
3、交换任务没啥说的,勾选“自定义“OK,点击“保存“,等到了正分钟的时候,可以看到控制台会输出如下信息:至此第一部分已经结束2第二部分是将中间表的数据转换到遥测历史表中,处理JOB为:com.tellhow.dxpapp.cimems.CimEms96Service,这个过程可以是定时触发,也可以手工触发。定时触发可以设置在凌晨2点,如此需要设置触发器。既然是测试这里选择手工触发的方式,数据则是2012-06-08的,如下图:如无意外,控制台将输出:因为是立即执行,所以任务名称是系统自动分配的。=另外一种情况是,数据仍然是OPEN3000的数据,但是其遥测历史表在达梦数据库中。例如:本例中,先是
4、从EMS数据库实时获取数据到CIM库中的中间表,然后再从中间表转化到遥测历史数据表中,这些表在MIDDATA中。如此的话,可使用JOB:com.tellhow.dxpapp.cimems.CimEms96ServiceD5001,执行过程如下:输出和上面无异:3.2、关于D5000的EMS数据实时获取基于D5000平台的EMS数据实时获取则相对简单,中间表不再是月表,而是由年月日组成的日表,比如:MANALOG_DATA_SCADA_20120608,其中日表数据的生成是D5000平台控制的,我们无需理会,所以我们要做的就是将日表数据转化到遥测历史表中,该Job是:com.tellhow.dxpapp.cimems.CimEms96ServiceD5000,转换过程中将使用到hisdb和middata两个数据源,同样采用手工触发方式:其输出结果与OPEN3000基本相同: