首页 > 范文大全 > 正文

基于ODBC的电量采集系统和负控系统异构信息导换技术

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于ODBC的电量采集系统和负控系统异构信息导换技术范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】电量采集分析系统和负控系统是两个网络结构、操作平台、数据库和开发工具等相关的硬件和软件不一致,不能直接兼容的异构电力信息系统。异构电力信息系统的集成需求越来越迫切,针对这一问题,提出了一种基于开放型数据库链接(odbc)技术对“ 电量采集分析系统”和“负控系统”两个异构电力信息系统进行数据导换的方法,并以实例对该数据导换方法进行介绍。

【关键词】ODBC技术;数据导换;异构数据库;电量采集分析系统;负控系统

电力信息系统的集成是电力系统信息时代的产物,是电力部门参与市场竞争的必然要求。对于有些功能较为相近,用途不同的系统,例如,电能量采集系统与负荷控制系统,可以采用数据导换的方法,在不影响原有各系统的功能及性能的基础上对异构信息系统的数据进行融合,这样既达到了扩展功能实现数据共享、减少大量投资,提高设备的使用效率,同时也为异构电力信息系统的集成打下了良好的基础。

1、异构电力信息系统数据导换的基本原理

1.1常见异构电力信息系统

多异构电力信息系统包括管理信息系统(MIS)、调度自动化系统、配网地理信息系统、负荷控制系统、用电管理系统、电能量采集与分析系统等,多异构电力信息数据导换(下面简称多异构系统)是将供电局的调度自动化系统、负荷控制与用电管理系统、管理信息系统(MIS)和配网自动化与地理信息系统(GIS)等多个系统进行整合,沟通信息渠道,建立横向联系,实现统一管理,资源共享,向电业局各个职能部门提供较全面的服务。

1.2利用ODBC技术实现异构电力信息系统数据库间的链接

异构数据库的数据导换必然涉及到数据库间的链接。本文主要采用ODBC(开放数据库连接)技术对数据库进行链接。使用ODBC能够灵活地实现异构数据库数据的存取,成为系统数据导换中实现数据共享必不可缺少的技术,而且使用ODBC可以获得较强的应用程序独立性,当系统需要变更服务器或要将数据库软硬件升级时,客户端的应用程序只需要较少的改变。如图1所示,利用ODBC能够使基于不同数据库开发环境的应用程序进行连接。电能量采集分析系统(假设为部门1)使用的DBMS是Sybase数据库,负控系统(假设为部门2)采用的DBMS是SQLServer数据库,为了今后便于数据导换系统的扩展,这里不失一般性。当部门1的应用程序要访问部门2的数据时,就通过ODBC驱动器管理器动态加载SQLServer驱动器,并通过它建立与SQLServer服务器的连接,与服务器建立连接完毕后,驱动器将用户ID与密码送至服务器,以完成安全检查,之后即可通过SQL语句来执行查询请求,最后通过驱动器、驱动器管理器将结果返回应用程序,从而实现该数据访问。

2、数据导换技术

2.1数据导换过程中存在的问题

(1)命名冲突。同一个概念可能有不同的名称来表示。例如:在电能量采集分系统中表计编码名称“AAA990710”和负荷控制系统中编码名称“28929”指的是同一个概念,即“一棉分厂表1电能表”表计。在电能量采集分析系统中,电能表计的命名规则是以9位数字表示,前三位代表测量站名称(AAA表示大用户测量站),第4~5位表示采集器名称(99代表负荷控制系统的采集器),第6~8位表示同一块采集器下所挂电能表的编号,最后一位对于非负控数据用0或1表示,0代表主表,1代表备表。而对于负控数据,MeterNo和TermNo表示的很复杂,必须要转换成16进制后才能与表计编号对应。

(2)域冲突。每个DBMS都定义了自己系统的数据类型,随着数据库系统的不断发展和版本的不断升级,数据类型的种类也不断增多,给系统间数据导换的工作带来了很多困难,系统可以遇到属性在以下几方面的冲突;数据类型、域长度以及度量单位等。例如:可能会遇到不同的日期时间格式,dd/mm/yyyy,或mm/dd/yyyy,或yyyy/ mm/dd格式,应用程序应该以一定的措施统一该日期格式。

(3)类型冲突。一个类、关联或属性都在模型中表示一个概念。例如; 在负荷控制系统中,电量采集时间QueryDate是作为一个属性值存在的,表示采集器抄回某一测量量值时的时间值,而在电能量采集分析系统中,将其转换成ZZCLRQSJ(终止测量日期时间)它是作为一个类存在的,属性值有:大于电量抄表进度,小于电量抄表进度,操作有开始导入数据和不导入数据等。

2.2采用主数据库法实现数据导换

数据导换的一个明显技术就是让相关应用程序的目标数据存储在一个单个的企业数据库(叫做主数据库,master databsae)中。主数据在图2中用实线的圆柱表示。电能量数据采集分析系统的数据库(Sybase数据库)作为企业数据库即主数据库,负控系统作为其他应用程序有它自己的企业数据库(在图2中用虚线的圆柱表示)通常情况下在其各自的企业数据库中进行操作。但在进行数据导换时仅对负控系统的企业数据库客户端进行操作,取出相关数据,使得负控系统的数据与电能量数据采集分析系统的数据融合,同时存在于主数据库中即Sybase数据库中。这样既不影响负控系统的本身运行状况,又达到了数据导换融合,对负控系统的数据进行分析计算的目的。图2中,应用A、应用B、应用C、应用D可以是电力信息系统中的不同子系统,在这种方法中,企业数据库包含并且完整地融合了单个应用程序。

主数据库的建立是实现主数据库的基础。可以通过使用一个长事务来实现数据由一个应用程序数据库向主数据库的数据导换。其他数据库中的数据被提取出来并进行登记,然后写到主数据库中,主数据库对导入的数据进行它自己的计算分类,再通过访问主数据库对数据进行分析和查询。

3、数据导换方法的实现

数据导换包括自动导入数据和手工导入数据。对于定时导入数据又可以分为不同的作业方案,例如定时导入前N天的数据或者是定时按进度导入数据。以及定时导入数据的起始时间和定时自动导入数据的时间间隔等选项。对于手工导入数据则必须提供给用户选择起始导入时间和终止导入时间的选项栏。

4、应用实例

本设计主要针对电能量数据采集分析系统和负控系统这两个异构电力信息系统的数据导换来进行说明的。具体实现的基本思想是;

在一个Form中,分别用两个TDatabase控件连接新老数据库。并采用TTable,TDbGrid作为数据转移的中心,根据DbGrid中的数据生成标准的SQL插入语句。这样,就实现了从一个数据库系统到另一个数据库系统的数据转移。

算例:假设在负荷控制系统中新增加一块表计及表计所抄数据,内容如表1、表2。

由于Sybase数据库中表计格式有所变化,因此需要进行格式及类型转换如下(表3、表4):JLBJBM:='AAA99'+QUERY1.FIELDBYNAME('MeterNum').asinteger+'0';//(AAA99表示负控采集器编码,'0'表示主表,'1'表示备表)

MeterAdr:=query1.fieldbyname(' MeterAdr').asstring;

CLLDM:=QUERY1. FIELDBYNAME('Total').as-float×CTBB×PTBB//( CTBB表示CT变比PTBB表示PT变比)

CLRQSJ:=COPY(FORMATDATETIME('yyyy/mm/dd hh:mm:ss'query1.fieldbyname('CLROSJ').ASDATETIME),1,10)//截取日期…

本文采用将MeterNo的值转换为16进制,取第1位作为JLBJBM编码的倒数第2位,取最后一位作为JLBJBM编码的倒数第3位。而倒数第4位添0处理。数据导入临时读码表时,启动的后台计算程序立即对临时读码表中的数据进行分类统计计算,并分流到实时表中,再进行日月年统计计算,最后通过报表、负荷分析图、网页等形式与用户接口,对数据进行分析显示,实现了负控系统数据导入到电能量数据采集分析系统的全部功能,并通过电能量数据采集分析系统的强大分析功能对负控系统数据进行分析和查询显示。

5、结论

随着电力系统信息化工作的不断深入,大型关系数据库之间的数据交换、资源共享的要求越来越强烈,因而异构数据库之间的数据导换,对不同管理部门的多个异构电力信息系统,实现统一管理,资源共享,提供较全面的服务,同时数据导换省去了硬件开发的难度,也为异构电力信息系统的集成工作提供了有利的基础。

参考文献

[1]邵佩英,杨孝如.Sybase数据库系统基础知识[M].北京:中国水利水电出版社,2008.30-35.

[2]谢兆阳.Microsoft SQL Server 2000数据库设计与系统管理[M].北京:清华大学出版社,2001.62-65.

[3]王艳君.数据库间的数据导换[J].计算机工程2009.37-39.