企业数据交换平台的设计与实现

企业数据交换平台的设计与实现

ID:33406398

大小:2.19 MB

页数:62页

时间:2019-02-25

上传者:U-22107
企业数据交换平台的设计与实现_第1页
企业数据交换平台的设计与实现_第2页
企业数据交换平台的设计与实现_第3页
企业数据交换平台的设计与实现_第4页
企业数据交换平台的设计与实现_第5页
资源描述:

《企业数据交换平台的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。学位论文作者签名:蠢型车翻耻日期:盈lQ:三关于学位论文使用授权的说明本人完全了解华北电力大学有关保留、使用学位论文的规定,即:①学校有权保管、并向有关部门送交学位论文的原件与复印件;②学校可以采用影印、缩印或其它复制手段复制并保存学位论文:③学校可允许学位论文被查阅或借阅;④学校可以学术交流为目的,复制赠送和交换学位论文;⑤同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。(涉密的学位论文在解密后遵守此规定)作者签名:蠢艇线卿畦日期:砬垃:3一导师签名:去蝌渤 华北电力人学硕.L学位论文摘要随着社会的发展,电能已经成为现代人类中不可缺少的重要能源,人们对电能质量的关注程度越来越高。但是对电能质量的监测与分析没有统一的标准,电能质量各系统之间数据存储格式和数据输出格式的不兼容使得数据难以交换。本文就是针对电力企业中的这种情况,在.NET平台上以IEEE标准委员会提出的电能质量数据交换格式PQDIF为基础设计开发了数据交换平台,实现了数据的共享。此平台不仅实现了C/S体系结构的数据交换,还可通过B/S结构在页面上实现格式的转化,完成二次数据交换。通过此数据交换平台,电力企业可对大区域范围内电能质量进行集中监测和综合分析,为电能质量的治理提供科学的决策依据,从而改善电能质量,以保障人民的生活质量及国民经济各行各业的正常生产。关键词:数据交换平台,电能质量,.NET框架,PQDIFABSTRACTWiththedevelopmentofsociety,electricalpowerhasbecomeallindispensableandimportantenergyinmodemhumans,andpeoplearepayingmoreandmoreattentiontopowerquality.However,therearenotunifiedstandardsofmonitoringandanalyzingpowerquality.Theincompatibleofdatastorageformatsanddataoutputformatsbetweenvarioussystemsofpowerqualitymakesitdifficulttoexchangedata.Inresponsetothissituationofelectricalenterprise,thedataexchangeplatformisdesignedanddevelopedusingthe.NETplatforminthispaper,basedonPQDIFwhichproposedbyIEEEStandardCommittee,anditimplementsdatasharing.TheplatformnotonlyachievesdataexchangeofC/Sarchitecture,butalsoCanaccomplishformatconversiontocompletetheseconddataexchangethroughB/Sarchitecture.Throughthedataexchangeplatform,electricalenterprisesCandocentralizedmonitoringandcomprehensiveanalysisofpowerqualitywithinalargearea,toprovidescientificsuggestionsforthepowerqualitymanagement.ThentheyCanimprovepowerqualitytoguaranteethepeople’Slifequalityandtheproductionofnationalindustries.HeWei-shan(computerapplicationtechnology)Directedbyprof.QiLin—haiKEYWORDS:dataexchangeplatform,powerquality,.netframework,PQDIF 1.2.2国内研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..41.3论文研究的主要内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.4第二章数据交换平台相关技术研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1数据交换平台的相关技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1.1XML技术研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1.2.NET技术介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一82.2PQDIF研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.2.1PQDIF的优点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯102.2.2PQDIF的结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1O2.2.3PQDIF数据实例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.2.4PQDIF的压缩规则⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯162.3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..17第三章企业数据交换平台的设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯183.1数据交换平台的物理结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯183.2数据交换平台的逻辑结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯193.3数据库设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..213.4数据交换⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯233.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.23第四章企业数据交换平台的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.244.1PQDIF文件的解析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.244.1.1PQDIF文件解析的依据⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.244.1.2PQDIF文件的结构解析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..264.1.3PQDIF文件的内容解析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.304.2数据压缩存储⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.334.2.1数据压缩⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一33 华北电力人学硕士学位论文4.2.2数据存储⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.354.3数据解压缩⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.384.4数据展示及格式转化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一394.4.1数据展示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..394.4.2数据格式转化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯414.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.46第五章总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯475.1论文完成的主要工作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯475.2下一步的工作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯48参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.49致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52在学期间发表的学术论文和参加科研情况⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..53 随着企业计算机水平的不断提高,根据业务的需要建设了很多的应用系统,企业内不同系统间信息共享的要求不断加强。如经营分析系统中的经营分析报表、综合查询系统中的数据查询服务等,希望能实现应用集成,最后统一由综合管理系统来展现;同时企业希望通过总部的综合管理系统与各省分公司的系统能够互联互通实现全公司的统一管理,如总部能迅速下达行政指令到各省分公司,各省分公司也可以访问总部共享的信息【11。(2)可靠传输问题在应用系统中,根据实际工作需要,经常要进行数据交换以实现协同工作,比如公文流转、决策分析报告、人事任命函等,都需要从一个系统传递到另一个或者多个系统,但由于网络线路不稳定等原因,经常会出现报文丢失或公文的重复接收等情况,由于这些是用户的重要业务数据,用户对此的可靠性要求同益增强【I】。(3)异构数据交换通过收集、整合来自各业务系统或者分散的前端设备的异构数据,可实现异构数据的共享,对业务数据进行预处理,并以业务分析模型组织预处理后的数据,最终建设成为企业的数据中心,以一致、统一的方式向管理信息系统提供数据分析支持。本文中的数据交换平台是围绕电能质量异构数据进行。电能质量是电力工业产品的重要指标,涉及发、供、用各方面的权益。优良的电能质量对保证电网和用户的电气设备的安全经济运行,保障国民经济各行各业的正常生产,提高产品质量和人民生活质量都具有重要意义【引。因此,电能质量的分析、控制、治理十分重要。 华北电力人学硕+学位论文所谓电能质量是指通过公用电网供给用户端的交流电能的品质【3】。理想状态的公用电网应以恒定的频率、正弦波形和标准电压对用户供电。同时,在三相交流系统中,各相电压和电流的幅值应大小相等、相位对称且互差1200。但由于系统中的发电机、变压器和线路等设备非线性或不对称,负荷性质多变,加之调控手段不完善及运行操作、外来干扰和各种故障等原因,这种理想的状态并不存在,因此产生了电网运行、电力设备和供用电环节中的各种问题,也就产生了电能质量的概念【31。从不同角度理解,通常电能质量包括:电压质量、电流质量、供电质量、用电质量等几个方面【2儿41。分析、控制、评估电网的电能质量主要依据以下几个指标:电压偏差、频率偏差、电压不平衡度、谐波、电压闪变等稳态指标;电压暂降、短时中断和过电压等暂态指标。电能质量的监测和分析是改善和治理电能质量的前提条件,只有及时、准确地监测到电网中重要站点的电能质量指标数据,并对其进行分析评估,才能提出合理、有效、准确的治理措施【5儿引。因此,电能质量监测和分析相关技术已经成为人们的研究热点【7】【81。近年来,由于电能质量的改善与治理普遍受到电网公司的重视,各级供电企业在电能质量污染严重的地方,如电气化铁路、炼钢厂等;在电能质量敏感的地方,如电子芯片生产厂、汽车制造厂、医院等;在新能源接入的地方,如风能机组、光伏发电等,安装部署了电能质量监测仪器,形成了各区域电网的电能质量在线监测网络,实现了对电能质量污染源、电能质量敏感源以及新能源的电能质量指标数据的实时监测。通过电能质量监测网可以将电能质量指标数据及时上传汇总。电能质量分析评估系统通过对电能质量监测网络监测到的指标数据采集、解析、计算处理、结果存储等环节,形成电能质量数据中心。在此基础上,实现对稳态指标和暂态指标的分析、对新能源接入条件下对电网电能质量影响的分析以及对电能质量进行综合等级评估等各种电能质量分析功能。与电能质量在线监测网络实现点到点远程监测不同,电能质量分析评估系统可以将电能质量监测网中各个监测点历史数据进行汇总分析,实现对不同区域电网、不同电压等级、不同监测点在不同的时间区间(同、周、月、季、年)的电能质量各种指标数据的变化趋势的分析,从而实现从不同侧面了解电压质量和电流质量以及系统整体运行的质量状况,对电能质量可能造成的危害、影响程度和影响范围做出判断,从而为电力公司对电能质量的改善和治理提供科学的决策依据。经过几年的努力,国家电网公司、南方电网公司的各级电力企业逐步建立完善了规模不一的电能质量监测网络,在电网的高效运行、优质服务方面发挥着重要作用。随着智能电网建设的推进,整合电网系统中的数据,优化电网的管理,将电网提升为互动运转的全新模式,形成电网全新的服务功能,提高整个电网的可靠性、可用性和综合效率已经成为电网发展建设的重要目标。2 华北电力人学硕+学位论文对电能质量监测网中的电能质量指标数据进行收集、预处理计算、存贮,形成电能质量数据中心;对电能质量数据进行智能综合分析、可视化结果展示,实现电能质量综合分析评估,已经成为构建电能质量监测分析管理平台的典型解决方案,也是实现电能质量管理的重要技术手段。数据交换是构建电能质量监测分析管理平台的重要环节,为了实现监测网的设备上采集到的异构数据的共享,必须建立电能质量数据交换平台,实现电能质量数据的共享。这里的数据交换包含两个环节。其一,分布在电能质量监测网中各个监测点的监测设备来自不同厂商,它们采集的数据格式不同,数据通信规约各异,界面风格和操作方式不一致,无法将这些异构的数据进行统一、一致的分析处理,因此,必须将监测设备采集的数据进行数据交换,形成统一、一致的数据格式,形成电能质量数据中心,服务于智能综合分析【9】【Ⅺ】;第二次数据交换发生在将统一数据格式的电能质量数据中心的数据文件进行解析,形成综合分析的数据库。电能质量内容广泛,涉及稳态和暂态等多种指标。电能质量数据除了包含基本的电压和电流实时波形数据外,还包含计算生成的稳态指标数据和电能质量事件数据,根据不同的电能质量分析需求,需要抽取不同的电能质量指标数据,进行计算处理,将实现不同分析功能的数据进行存贮管理,实现各种指标分析、趋势判断以及等级评估等。通常情况下,第一次数据交换由电能质量监测设备厂商实现;第二次数据交换由电能质量分析系统开发者完成,即电能质量数据交换平台。1.2国内外研究现状1.2.1国外研究现状为了实现不同电能质量监测设备厂商采用统一的数据指标体系,作为数据采集、交换和分析标准,IEEE标准委员会提出了一种电能质量数据的交换格式PQDIF(PowerQualityDataInterchangeFormat)[11J。这个格式完全独立于监测设备的软、硬件,不仅可以较好地解决多数据源数据兼容问题,还可以实现电能质量物理属性的多角度观察功能,满足了电能质量监测技术的发展需要,为分析电网的电能质量问题以及实现电能质量管理和分析系统提供了一个很好的平刽4】【111。电能质量监测网数据库管理软件PQView是目前国外电力企业中建立电能质量监测网时使用最多的专业软件。该软件所有权为美国电力士公司和美国电科院共同拥有Il引。PQView是一个数据库应用软件,其设计的目的是存储和分析大容量的与电能质量相关的干扰和稳态测量数据。具有多种数据管理工具的特点使其可以快速对测量数据进行定性分类。PQView还包含有统计分析和绘图工具,可对电力系统中单点或多点进行分析。PQView支持IEEE的电能质量数据交换格式(PQDIF)作为3一 华北电力人学硕士学位论文输入数据源。1.2.2国内研究现状近年来,无论是电力系统还是电力用户都开始重视电能质量的研究。电能质量监测网和电能质量分析评估系统也在各级电力企业逐步建立起来。电能质量监测设备厂商,在监测网络建设初期,基本都是各自独立,互不兼容,也就是说第一代国产电能质量监测设备基本都不兼容,无法实现统一格式要求。随着电能质量监测网建设规模的扩大和电能质量综合分析评估需求的压力,电能质量监测设备厂商都已经实现了将采集数据转换成为PQDIF格式,并且,可以对第一代产品进行升级改造实现数据格式统一。当电能质量监测网建设成熟后,国内电力企业逐步开展电能质量的综合分析与评估,为电能质量综合治理提供决策依据。最近两三年,有关网省电力公司在电能质量监测网络的基础上,开始搭建电能质量综合分析评估系统。他们的解决方案基本是利用现有的电能质量监测网,采集、整合电能质量指标数据,形成PQDIF格式的数据文件,上传汇总到电能质量综合分析评估系统平台,利用美国电科院的PQView软件进行分析评估。实践中,这种模式遇到如下问题:(1)PQView软件功能丰富,但过于专业化,更适合于电能质量专业研究人员使用,难于满足各级不同管理岗位人员对电能质量的分析应用;(2)PQView软件主要用于稳态指标和事件信息的分析查询,对于电能质量智能综合等级评估、系统谐波与用户谐波分析、扰动类型分析以及新能源接入对电网电能质量影响分析无法实现。也就是说,PQView无法适应不断增加的应用需求;(3)PQView软件价格昂贵,推广普及难以实现。构建自主知识产权的电能质量分析评估软件意义重大,实现将PQDIF数据文件解析、计算处理、存贮管理,形成电能质量数据中心是关键。1.3论文研究的主要内容本论文结合开发电能质量智能分析系统实际科研课题,研究了企业数据交换平台的相关软件技术及实现方法,分析了电能质量监测网中的PQDIF数据格式特征,提出了通过对PQDIF数据解析、压缩、存储管理,建立电能质量数据交换平台的实现方法,形成电能质量数据中心,实现电能质量指标分析和结果展示功能。论文完成的主要工作:(1)PQDIF数据解析;(2)解析数据的压缩、存储管理、解压缩;(3)数据展示及格式转换(Excel、XML等格式)。论文的组织如下:第一章是引言部分,介绍了本课题的研究背景及意义,主要是围绕电能质量异4 华北电力大学硕士学位论文构数据交换在国内外的发展和研究现状进行了说明。第二章对本课题所用到的技术和标准做了比较详细的介绍,包括数据交换平台普遍用到的技术,如XML技术以及开发技术,还包括PQDIF标准,如PQDIF的优点、结构、压缩规则,PQDIF是解决电能质量监测设备采集的异构数据所制定的统一格式。第三章是对企业数据交换平台的总体设计,包括物理体系结构、逻辑体系结构、数据库的设计,还说明了数据交换平台中的数据交换方式,使用C/S结构与B/S结构结合的方式实现了数据的两次转换。第四章主要讲述企业数据交换平台的实现,详细说明了各个模块的实现过程,包括PQDIF文件的解析依据、PQDIF文件的解析过程(结构解析、内容解析)、数据的压缩存储、数据的解压缩以及数据的展示与二次转换。第五章为全文的总结与展望,总结了本文所做的工作,并指出了今后还要继续努力的方向。5 华北电力大学硕士学位论文第二章数据交换平台相关技术研究2.1数据交换平台的相关技术传统的数据交换方案是一个个直接的“点对点”的数据链接,并且需要定制开发以实现系统之间的“会话”。随着新系统的不断增加,直接的定向连接和定制开发的情况会急剧增加,这最终将成为信息流动和系统维护的瓶颈。在数据交换领域中,没有标准的部件式交换的代价是高昂的,相同的数据分析处理模块在很多应用中被重复地撰写,可能只是为了将某一数据源的数据转换到各个不同的目标数据源中去。由于没有中间标准,各个系统的实现人员也几乎不可能将代码重用,昂贵的数据交换代价使得数据源只能散乱孤立地存在。因此,通用的、分布式的网络数据交换平台也就产生了。网络数据交换平台能够提供数据服务,使得不同的系统不会受到数据的物理位置的影响,也不会受到需要存取数据信息的应用个数的影响,对于每一个系统也不需要进行特别的定制处理就能完成数据的交换。本文中的电能质量数据交换平台就是属于网络数据交换平台。目前,国内外的大部分数据交换共享系统还是使用传统的方式,每个系统按照自己的标准设计,没有良好的复用性和扩展性,每个系统都要独自完成三个层次的设计,不仅浪费了大量的时间和精力,而且不可避免会产生很多的漏洞,不利于数据的安全【l31。在本文中,用到了XML技术,这种方法节约了大量时间和精力,也提高了安全性。另外,本文的数据交换平台使用.NET技术进行开发的,以下对这两种技术进行介绍。2.1.1XML技术研究可扩展标记语言XML(ExtensibleMarkupLanguage)是W3C定义的一个规范,它定义了用于定义标记语言的语法。XML定义了使用标记来组织文档结构的语言,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言【14】。它可以被描述成标准通用语言SGML(StandardGeneralizedMarkupLanguage)的一个子集,但是XML比SGML简单,因此撰写一个XML文档也比较容易。(1)XML基本概念XML是一种简单的面向多种应用的、与平台无关的并被广泛应用的标记语言。XML最开始是针对WEB应用提出来的,通过在文档中增加相应的标记说明数据的含6 华北电力人学硕士学位论文义,而不是说明如何显示。XML实际上是一种定义语言,使用者可以自由定义标签,如等,并且能够通过元素之间的嵌套包含来体现层次结构【15】【161。XML有以下几个特点:1)纯文本:几乎任何工具都可创建和编辑XML,使得程序可以更简单,从而提供了从配置文件到企业级数据仓库的可扩展性。2)基于内容的数据表示:XML提供了一种功能强大、灵活高效地表达数据内容的方法,处理程序容易理解标记的含义,具有自描述性。3)易于处理:XML对格式的定义严格,具有层次结构,而且与具体的平台及系统无关。XML和数据库之间是互补的关系,在不同的场合具有不同的优势。数据库是数据存储的地方,与平台相关,而XML更适合于动态的数据传输和交换,与平台无关。随着数据库技术的蓬勃发展,各应用系统间的数据交换日渐频繁,大量的人力物力消耗在这个方面。对双方的数据库体系的同时掌握成为了实现数据交换的前提,而利用XML作为数据通道就很容易克服这个问题。由于XML的自定义性及可扩展性,它足以表达各种类型的数据,作为独立于平台和设备的结构化数据表达方式,它有效地实现了计算机之间的对话,因此被广泛用在数据交换、WEB应用、数据集成和数据共享等应用中f17】。(2)XML与数据交换XML技术在数据交换格式方面显示了其独特的优点,主要有:1)内容与形式分离XML文档中标记包含了特定的信息,这些信息对于数据的检索、描述和处理有着巨大的意义。改变数据的表现形式时只需要修改从XML中分离出来的专用于定义数据表现格式放入文档即可【l引。2)良好的可扩展性:XML允许各个不同的行业根据自己独特的需要制定自己的一套标记,同时,并不要求所有浏览器都能处理成千上万个标记,同样也不要求一个标记语言能够适合各个行业各个领域的应用,这种具体问题具体分析的方法更有助于标记语言的发展。3)便于异构系统之问信息传输不同企业、不同部门中往往存在着许多不同的系统,XML可以用作各种不同系统之间的交流媒介,是一种非常理想的数据交换语言。4)可以在网络上传递对安全性要求较高的数据XML丰富的格式语言可用来描述不同类型的数据,例如信用证、贷款申请表、保险单、各种发票等。结构化的XML文档送至Web的数据可以被加密,并且很容易附加上数字签名【19】。7 华北电力人学硕十学位论文概括来说,XML技术在数据交换方面的优势有【20】:·使用了XML规范,使平台具有良好的通用性、扩展性;●良好的可移植性;·不影响参与数据交换的各个系统的自治性;·满足一定的实时性要求。XML提供了一种连接关系数据库和面向对象数据库以及其他数据库管理系统之间的纽带,其文档本身节点是一种有若干节点组成的属性结构,这种特点使得数据更适宜于用面向对象格式来存储,同时也有利于面向对象语言(C++、Java等)调用XML编程接口访问XML节点【2¨。关系数据库和面向对象数据库首先需要将数据从数据库中提取出来,经过转换为XML数据形式或直接以XML数据形式发布到网上(局域网或Internet网),然后相互交换数据,经应用层系统处理后再转存入库。正是由于XML本身具有的这些特性,使得XML成为目前多数据交换平台的首选。(3)XML在电能质量数据交换中的应用在电能质量数据交换平台中使用XML进行数据交换时,是将不同数据表中的基础数据按照各自统一的格式,转化为XML文档。因为只要数据交换中各参与方采用统一的XML标签和格式生成XML文档,不同应用系统中不同语言编写的应用程序就可正确识别和解析文档中的数据,实现数据的动态交换。2.1.2.NET技术介绍本文的开发平台选择.NET平台,开发工具选择VisualStudio2005,以ASP.NET、ADO.NET作为开发技术,C撑作为开发语言,实现数据交换的任务。下面简单介绍有关.NET的技术。VisualStudio.NET是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebServices、桌面应用程序和移动应用程序。对于.NET,微软的定义是:用于构架、配置、运行网络服务及其他应用程序的开发环境【221。VisualBasic.NET、VisualC++.NET、VisualC撑.NET和VisualJ撑.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,此框架是支持生成和运行下一代应用程序和XMLWebServices的内部Windows组件,其组成结构图如图2.1所示【231。.NETFramework是微软公司推出的完全面向对象的软件开发与运行平台。.NETFramework具有两个主要组件:公共语言运行库(CommonLanguageRuntime,简称CLR)和.NetFramework类库(BaseClassLibrary)[24】。公共语言运行库是。NetFramework的基础,它在组件的运行时和开发时操作中都起很大的作用,为多种语言提供了一种统一的运行环境。公共语言运行库可以看8 图2.1.NetFramework组成结构图.NET框架是目前网络应用开发的主流平台。.NET框架具有以下优点【25】:基于公认的Web平台标准;.NET的类库可以供各种语言调用(具有通用性);使用层次化的命名空间(hierarchicalnamespaces)对类进行管理;统一的编程模式,多语言支持,与开发语言无关;内置的WebServices等等。2.2PODIF研究本文中的数据交换平台的数据来源是PQDIF(PowerQuantityDataInterchangeFormat,电能质量数据交换格式)文件,它是由IEEE标准委员会提出的,就是为了解决电能质量中的异构数据问题而制定的统一数据指标体系。其设计思路是完全独立于监测设备的软、硬件,构筑一个通用的与平台、语言无关的技术层,不仅可以较好的解决多数据源数据的兼容问题,还可以实现电能质量物理属性的多角度观察9 华北电力大学硕+学位论文功能,满足了电能质量监测技术的发展需要【41。2.2.1PODIF的优点(1)把电能质量数据标准化为同一种格式,使电能质量的管理和分析变得简单,可将原来多对多的数据关系减少到一对多。(2)结构灵活,使用了物理层、逻辑层相分离,以及全球唯一标识符GUID的方法,大大提高了数据信息检索的速度,满足了对电能质量海量数据的管理需求。(3)PQDIF本身就是紧凑的二进制结构,同时加入了开放的ZLIB压缩方法,该方法设计自由,可以在任何计算机和操作系统下使用,所以PQDIF的压缩性能更强大,易存储。(4)允许在不同厂商的设备或不同的仪器模块中移植数据,使用户可以在一个电能质量监测系统中使用不同的设备进行协调工作。(5)在很大的范围内兼容不同的仪器种类,并且可以随着通用品牌的监测仪器的发展而升级。2.2.2PODlF的结构电能质量数据交换格式PQDIF是一种平面文件结构。它由一系列逻辑相关的记录链接而成,在每个记录中包含一系列元素,它们定义了记录的内容。PQDIF文件结构分为物理层和逻辑层。物理层描述文件的物理结构,使用标识识别文件的特定元素,它并不关心实际被储存的内容;逻辑层使用物理层定义的结构,利用特定标识在文件中建立元素,描述逻辑关系【26】。◆PQDIF的物理结构PQDIF的物理结构就是指PQDIF的物理组成方式【27】。一个典型的PQDIF文件是由一系列的记录组成,各记录之间是通过链接关系联系起来的,这种链接关系是在每个记录的记录头中表明的。这样我们就可以操作记录结构而不必重写整个文件,比如对文件中的记录进行添加、删除或重新排序等操作,如图2.2所示。10 华北电力大学硕十学位论文图2-2PQDIF标准记录及各种操作在PQDIF文件中,每个记录类型都有相同的基础结构,即记录头和记录体两部分,如表2.1所示。表2.1记录的组成项日解释标识符:PQDIF信息{4a11140一e49f-1lcf-9900-50514449600)记标识:记录类型标识信息包(tagContainer)录头记录头的大小64byte记录体的大小512byte记录集合:以一个集合开始集合Collection体 华北电力人学硕士学位论文表2.1记录的组成(续)数量12标量:集合元素通过它在记录中的位元素0置来标识,与记录头中的标识是相对标记:tagFileName类型:向量应的物理类型:ClLARl链接计数:13向量:代表一组相同类型的数值数据:“filename'’(1)记录头每个记录都有一个具有唯一标识符GUID的标准记录头,记录头中指定了该记录的标签名、记录头大小、记录体大小及与指向下一个记录的绝对链接,还可能记录其它一些状态信息(如指出该记录是可激活的还是已删除的)等。(2)记录体记录体由一系列元素组成,分为三种类型:集合、标量和向量。集合实质上是一些标识及与其相关链接组成的数组,属分层结构;标量是一个特定物理类型量的数值;向量代表一组相同类型的数值。记录体总是以一个集合元素开始,该元素在记录中的位置被标记为第一个元素,它是通过记录头中的标签来识别的。因而,记录体由记录头的标签确定。●PQDIF的逻辑结构PQDIF的逻辑结构是由记录的逻辑层次构成的,即以一个容器记录开始,它包含一个或多个数据源记录;每个数据源记录又包含一个或多个监测设置记录和观测记录;同时还可以通过定义新的标记来“扩展"记录128]。记录的顺序是由每个记录头文件中的绝对链接定义好的。如图2.3所示。图2.3逻辑结构记录12 华北电力人学硕+学位论文很多监测仪器的设置记录能作为特殊的数据源在观测记录的中间出现,这样就允许改变监测仪器(结构)的设置。因此,一些观测数据可以使用监测仪设置记录作为参数。如果不允许多重设置记录,那么改变了设置后,我们不得不创建一个全新的数据源。(1)容器记录容器记录是PQDIF文件的第一项,也是唯一项,包含了PQDIF的文件信息,如表2.2所示。表2.2容器记录的主要标记项标记项注释tagContainerPQDIF文件中第一项,也是唯一项,用于识别容器记录tagFileName本地存储PQDIF的文件名tagCreation生成PQDIF文件的时间tagVersionInfoPQDIF文件的版本信息tagCompressionStyleID压缩方式,O.不压缩,1.记录体压缩,2.全部压缩tagCompressionAlgorithmID压缩算法,一般为1.ZLIB(2)数据源记录数据源记录包含了具体某台监测设备的监测类型、厂商信息以及设备信息等,如表2.3所示。表2.3数据源记录的主要标记项标记项注释tagRecDataSource用于识别数据源记录,一般指某台监测仪器tagDataSourceTypelD测量方式,如手动测量、仪器测量及模拟测量等tagVendorlD厂商信息tagEquipmentlD监测设备信息tagChannelDefns测量通道层(通道定义)tagOneChannelDefn某条测量通道,可扩展到多条通道tagPhaseID相位标示,如A相、B相、C相等tagQuantityTypelD测量类型tagQuantityMeasuredlD测量值类型tagSeriesDefns测量通道对心的序列层(序列定义)tagOneSeriesDefn某条测量序列,可扩展到多条序列13 华北电力人学硕+学位论文表2.3数据源记录的主要标记项(续)tagValueTy’pelD序列值标示,如最大值、最小值、平均值等tagQuantityUnitslD测量值单位(3)监测设置记录监测设置记录针对特定的监测设备提供了一系列的配置参数信息。它不是必须的,但是如果信息(如给定通道的触发值)是传输数据的限制条件,则必须创建监测设置记录,如表2-4所示。表2.4监测设置记录的主要标记项标记项注释tagRecMonitorSettings用于识别监测设置记录,配置参数tagEffective设备开始运行时间tagTimelnstalled设备安装时间tagTimeRemoved设备停用时间tagNominalFrequency频率tagChannelSettingsArray测量通道设置层tagOneChannelSetting各条通道设置tagChannelDefnldx与数据源记录中tagChannelDefns对应链接(4)观测记录观测记录用于记录监测数值,如表2.5所示。表2.5观测记录的主要标记项标记项注释tagRecObservation用于识别观测记录,如一个测量事件tagObservationName观测记录名tagTimeCreate观测记录创建时间tagTimeStart观测记录开始时间tagChannellnstances测量通道层(通道例程)tagOneChannellnst各条测量通道tagChannelDefnIdx与数据源记录中tagChannelDefns对应链接tagSerieslnstances测量序列层(序列例程)tagOneSerieslnstance各条测量序列14 华北电力人学硕+学位论文表2.5观测记录的主要标记项(续)tagSeriesValues测量值!.2.3PQDIF数据实例在PQDIF文件中,各个标记项所处的位置不同,所以在以具体例子来说明’QDIF文件的结构时,将标记所处的层次也表示出来。各个记录的具体实例如表2-6、:.7、2.8、2-9所示。表2-6容器记录层次标记项数值举例OtagContainerNAltagFileNameD:\PQDIF\NativeI5\PQDIFr\wf.pqd1tagCreation7/7/199920:40:58.0.00000217ltagVersionlnfo1,5,1,51tagCompressionStylelDID—.Comp——Style_ReeordlevelltagCompressionAlgorithmlDID_Comp_Alg_Zlib表2.7数据源记录层次标记项数值举例0tagRecDataSourceNAltagDataSourceTypelDID—DS_TypeMeasureltagVendorlDID—vendor—ElectrotekltagEquipmentlDID^Equip_Etk_Testprogram1tagChannelDefnsNA2tagOneChannelDefnNA3tagPhaselDID-QM-AN3tagQuantityMeasuredlDID——QM——Voltage3tagQuantityTypeIDID——QT——Waveform3tagSeriesDefnsNA4tagOneSeriesDefnNA5tagQuantityUnitslDID_QU_Seconds5tagQuantityCharacteristiclDID——QCNone4tagOneSeriesDefnNA15 华北电力人学硕士学位论文表2.7数据源记录(续)5tagQuantityUnitsIDID—Qu—volts5tagValueTypelDID——Series_Value_TypeAvg5tagQuantityCharacteristicIDID——Qc——Instantaneous表2-8监测设置记录层次标记项数值举例0tagRecMonitorSettingsNAltagEffeetive7/6/199911:40:45.999926ltagTimelnstalled1/1/19820:0:0.0000ltagChannelSettingsArrayNA2tagOneChannelSettingNA3tagChannelDefnldx57ltagNominalFrequency50表2-9观测记录层次标记项数值举例0tagRecObservationNAltagObservationNamePhaseAVoltageWaveformltagTimeStart7/6/199911:40:45.9926ltagTriggerMethodlDID_TriggerMeth_ChannelltagChannelInstancesNA2tagOneChannelInstNA3tagChannelDefnldx573tagSeriesInstancesNA4tagOneSerieslnstanceNA5tagSeriesValues0,0.00013,0.00026,⋯4tagOneSerieslnstanceNA5tagSeriesValues-4607.4621,-5030.9689,一5482.9193⋯.2.2.4PODIF的压缩规则PQDIF文件是二进制格式的,所以即使在不压缩的情况下也是非常紧凑的。然而PQDIF还是提供了有效的压缩方法ZLIB,这种方法不受专利权限的制约,是16 华北电力人学硕士学位论文开放性的压缩规则。PQDIF文件在压缩时具有特殊性,采用一种叫做记录级的压缩方法,即当记录级压缩时,所有记录的记录头都不压缩,除容器记录体外的所有记录体都可作为一个独立的压缩块,如图2.4所示【10】。记录头反映的不是记录体非压缩前的大小而是压缩后的大小,记录体中的相对链接应该在压缩前设置好,也就是先生成记录体后再进行压缩,每个记录体的检验块存储在与之对应的记录头中。这样的压缩规则便于PQDIF的阅读程序很快得知文件的整体结构,而不需解码文件的全部内容【2引。2.3本章小结记录头一容器记录记录体记录头一数据源记录记录体一压缩记录头一监测设置记录记录体一压缩记录头一观测记录记录体~压缩图2-4PQDIF记录压缩本章主要介绍了电能质量数据交换平台中用到的主要技术XML、.NET技术及PQDIF标准。在XML技术研究中,介绍了XML的概念以及其适用于数据交换所具有的独特的特点,说明它非常适合作为信息交换的数据格式技术标准。接着,介绍了开发数据交换平台所使用的有关.NET技术,介绍了其组成结构图。最后,说明了电能质量数据交换格式PQDIF。在PQDIF研究中,首先介绍了PQDIF的优点,标准化的统一数据格式、灵活的结构、广泛的兼容性,使得不同厂商的电能质量监测仪器将采集到的数据封装成PQDIF的文件格式,进行统一、一致的分析处理。PQDIF采用物理层和逻辑层分离的结构,物理结构只是物理组成方式,不包含文件实际存储的内容,而逻辑结构是根据物理结构来描述其中的内容,对PQDIF文件的结构分析了解,数据转换才能更好地进行。PQDIF的压缩规则只对汜录体进行压缩,不对记录头压缩。这种压缩方法使PQDIF阅读程序很快地了解文件的结构。17 华北电力人学硕士学位论文第三章企业数据交换平台的设计3.1数据交换平台的物理结构由于电能质量监测设备的生产厂商不同,从设备上采集到的原始数据格式各异,所以在设备端需将这些异构数据都存储为PQDIF文件格式,企业电能质量数据交换平台(PowerQualityExchangePlatform,PQEP)定时采集这些PQDIF数据文件,并进行解析转化、压缩存储,形成电能质量数据库,将电能质量数据库中的数据通过应用服务器实现电能质量稳态指标和暂态指标数据的查询与分析,并可以将查询分析结果以表格和图形方式展示出来,还可将数据库中的数据转换成多种形式,如Excel、XML格式,供不同系统、应用程序使用。数据交换平台的物理结构如图3.1所示。图3.1数据交换平台的物理结构电能质量数据交换平台由数据转换服务器、Web应用服务器、Web发布服务器和电能质量数据库组成。其中,数据转换服务器采用C/S应用模式,负责定时地读取PQDIF文件,并对其进行解析转换,根据不同的记录标记将数据压缩存入不同韵数据库表中,形成电能质量数据库。Web应用服务器采用B/S应用模式,负责电能质量指标数据的查询与分析,并实现将查询分析结果以多种方式展示,同时,可以将数据库中的数据转换为Excel、XML格式,供不同的应用程序(如Matlab程序)或系统使用。Web发布服务器为用户通过浏览器访问数据交换平台提供接口。数据转换应用服务的使用者是系统管理员,通过配置文件部署设置,定时自动18 华北电力大学硕十学位论文运行,日常无需人为操作,这部分功能是电能质量数据交换平台的核心,也是本论文的工作重点;Web应用服务是面对企业广大用户,用户通过浏览器访问本系统,实现电能质量指标数据的分析与查询,利用此模块也可以实现数据的二次转换。3.2数据交换平台的逻辑结构数据交换平台采用的是C/S与B/S相结合的体系结构,其中,数据交换处理采用C/S结构,数据查询分析及二次数据交换采用B/S结构。C/S(Client/Server)结构即客户端/服务器结构,它是软件系统体系结构,通过这种结构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,它的优点主要是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器,其对应的优点是客户端响应速度快。C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别成为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,所以应用服务器运行数据负荷较轻。由于,PQDIF数据格式交换处理模块,采用定时自动运行,无需人为操作,比较适合使用C/S结构处理,降低了系统开销,发挥了客户端的处理能力。B/S(Browser/Server)结构即浏览器/服务器结构,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户端上只要安装一个浏览器,而服务器安装数据库即可。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端是零维护,而且系统扩展非常容易。目前,B/S结构的使用越来越多,特别是由于需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大地减轻了服务器的负担,并增加了交互性,能进行局部刷新。用B/S架构实现的软件,其维护和升级方式简单,它只需管理服务器即可,所有的客户端只是浏览器,根本不需做任何维护,而且其成本降低了,服务器操作系统的选择会更多。目前,基于浏览器的应用系统得到越来越多用户的接受,其配置灵活、管理方便,客户端不需要进行安装各种数据存取客户端及相关应用组件,设计者也不必关心业务逻辑是如何访问数据信息的,而把主要精力集中在人机界面上;通过在数据19 华北电力入学硕士学位论文层和表示层之问增加一个中间层一业务逻辑层,最大限度地重用服务器有限资源,即数据展示和业务逻辑相对独立,与后端系统也保持相对独立性,有利于系统扩展,维护也较容易。所以,数据查询分析模块更适合于B/S结构处理。数据交换平台的逻辑体系结构如图3.2所示。数据查询分析::::..:。:.:界面展示层Web浏览器t-上}圳,象;孵毒B日l暂态数据查询|I稳态数据奁询f业务逻辑层‘‘|数据导出剑Excel、XMLlI千:.o上l::::数据访问层ADo.NET._1PPQEP数据库下数据交换l数据压缩I结构解析l内容解析lTPQDIF文件图3—2数据交换平台的逻辑结构从电能质量数据交换平台的逻辑结构中,我们可以看到处于比数据库更底层位置的是从监测设备上采集到的PQDIF文件。为了实现把电能质量数据存入数据库中,而后进行分析展示,必须对PQDIF文件进行解析。PQDIF文件的解析主要包括结构解析和内容解析,PQDIF文件的结构解析主要是解析各个记录和标记。对结构了解之后,才能清楚标记的含义,进而实现内容的解析,根据不同的标记进行数据的分类,将数据存储到不同的数据库表中。PQDIF文件不仅数量庞大,而且其中包含的内容也很多,为了达到提高效率及节省数据库空间的目的,需对解析完的数据进行压缩,存储到电能质量数据库PQEP20 华北电力人学硕士学位论文中。当对数据进行分析展示时,还需对其中的数据进行解压缩。PQDIF文件的解析、压缩及解压缩处理采用C/S结构进行处理。B/S体系结构是指数据访问层、业务逻辑层、界面展示层,使代码的可读性和功能的扩展性有了很好的提高,各层的功能为:(1)数据访问层该层主要通过.NET平台下提供的ADO.NET接口,建立业务逻辑层与电能质量数据交换平台中的数据库之间的交互。(2)业务逻辑层业务逻辑层在逻辑结构中的位置很关键,它处于数据访问层与界面展示层的中间,起到了数据交换中承上启下的作用。对于数据访问层而言,它是调用者;对于界面展示层而言,它却是被调用者。在电能质量数据交换平台中该层主要完成电能质量数据的查询分析,还可将数据导出到Excel、XML中,完成数据的二次交换。(3)界面展示层该层主要接受用户的请求以及数据的返回,为客户端提供应用程序的访问。3.3数据库设计数据库设计是每个应用系统中必不可少的环节,数据库设计的合理与否直接影响到后续工作的复杂度及效率【3叭。电能质量数据交换平台涉及到的数据表有通道表、监测点表、稳态数据表和有关事件的数据表,由于事件又可分为RMS事件与Trend事件,并且需要由一个总事件表来标识,所以有关事件的数据表需要创建三个。下面具体说明各个表的含义。通道是用来标识一组数据所代表的含义,比如A相的波形电压,是由相位、测量值类型、特征量三个字段来唯一标识的,这三个字段中的相应内容在PQDIF文件中有对应的标记,所以通道表主要是由这三个字段组成的,另外还需通道名称字段以及主键通道ID[31】。监测点是用于监测和考核电能质量的节点,通常设置在电能质量敏感的地方,如电气化铁路的牵引站、炼钢厂等,在每个监测点上都有一些基准数据特征,如电压、频率等,于是电压、频率和监测点名称三个字段组成了监测点表。在电能质量监测数据中,主要有稳态数据和事件数据。在PQDIF文件中有相应标记tagTriggerMethodlD区分这两种数据。稳态数据主要是各个监测点监测不同的通道在一定时间段上的数据,必须有标识采集数据的起始时间和结束时间的字段,以及采集数据的间隔时间的字段。事件数据主要是短时间内发生骤变或波形趋势的数据,只要一发生一次事件,就需在总事件表中增加一条包含基础信息的记录,而在具体的事件表RMSVariation和EventTrend中需要记21 华北电力人学硕十学位论文录具体的通道及监测到的数据。下面列出数据表的具体结构,如表3.1、3.2、3.3、3—4、3.5、3-6所示:表3.1通道表(Channel)字段名中文字段名字段类型是否为空长度id通道号hat否4nanle通道名称varchar是32tagPhaselD相位varchar是32tagQuantityMeasuredID测量值类型varchar是32tagQuantityCharacteristiclD特征量varchar是32表3-2监测点表(Site)字段名中文字段名字段类型是否为空长度id监测点号int否4mnle监测点名称varchar是64description监测点描述varchar是255nominalBaseV标称电压float是4nominalFundFreq频率float是8表3-3稳念数据表(SteadyState)字段名中文字段名字段类型是否为空长度sitelD监测点号int否4channelID通道号int否4whenStart开始时间dateTime否4startTime时问偏移量flo敷否4whenEnd结束时间dateTime是4numberSamples数据个数int是4samples压缩数据tmage是50表3-4事件表(Event)字段名中文字段名字段类型是否为空长度id事件号hat否4sited监测点口.int是4whenStart开始时间dateTime是4startTime时间偏移量float是20baseV基准电压float是4fundFreq频率float是4表3。5RMS事件表(RMSVariation)l字段名中文字段名字段类型是否为空长度eventID事件号mt否4 华北电力人学硕士学位论文表3.5RMS事件表(RMSVariation)(续)channelID通道号int否4startTime时间偏移量float否20duration持续时间real是20minimum最小值float是4maximum最大值float是4average平均值float足4表3-6Trend事件表(EventTrend)字段名中文字段名字段类型是否为空长度eventID事件号int否4channelID通道号int否4startTime时间偏移量float否20numberSamples数据个数int足4samples压缩数据unage是503.4数据交换数据交换是指不同应用系统之间相互发送、传递有意义、有价值的数据【2们。数据交换是为了解决由于数据格式差异带来的数据内容提取效率低,从而给系统分析带来困难的问题,是实现数据共享的一种技术【32。。本文的数据交换平台中的数据交换主要有两方面:一方面是将PQDIF文件转换到PQEP数据库中,为数据分析与展示做铺垫;另一方面是将数据库中的数据转换成Excel格式或XML格式,可供不同系统应用。3.5本章小结本章首先介绍了数据交换平台的物理结构,本文中的数据交换平台主要是通过数据转换服务器来解析PQDIF文件并将解析后的数据压缩存储到数据库中,使用Web应用服务器对数据进行查询与分析,还可将数据转换成不同的数据格式,并使用W曲发布服务器为用户通过浏览器访问数据交换平台提供接口;然后介绍了数据交换平台的逻辑结构,说明了数据交换处理中使用的C/S结构及B/S结构,及各个结构的优点,和各个模块使用不同结构的原因,还说明了使用各个结构完成的功能;之后介绍了数据交换平台中的数据库设计,满足系统的需求,最后说明了数据交换平台中涉及到的数据交换。 华北电力大学硕十学位论文第四章企业数据交换平台的实现4.1PODlF文件的解析在进行PQDIF文件解析之前,首先了解一下PQDIF在整个平台中的位置。PQDIF位于整个数据交换平台的数据层的底层,解决的是相对于数据库层来说异构数据源之间的数据通用性问题。PQDIF是比数据库更低层的数据源信息。它一方面屏蔽了数据库面对各种不同监测设备的数据复杂性,同时通过PQDIF这一通用平台向下协调了异构数据源,向上为访问数据的应用层提供了统一的数据格式和访问接口。这不仅可以简化、统一应用程序开发人员的开发环境,减少程序设计的复杂性,还便于汇集不同数据源上的数据【33】【341。对PQDIF文件的结构及结构之间的关系有深入的了解,有助于实现数据的转换。PQDIF文件的解析工作是在.NET平台下,使用C≠≠语言进行的。在进行PQDIF文件解析时,需要使用动态链接库pqdcom4.dll中的函数。pqdcom4.dll由ElectrotekConcepts公司开发,可以免费从IEEE的网站上下载,其目的在于推广PQDIF规范在世界范围内的使用和简化程序开发人员的工作。这种动态链接库文件(DynamicLinkableLibrary,DLL)是一种不能单独运行的文件,它是把程序代码中会使用到的函数编译成机器码并保存在宰.dll文件中。由于DLL代码使用了内存共享技术,在某些地方windows也赋予了DLL更高的权限,因而DLL可以实现一些一般程序所不能实现的功能,同时DLL还为不同语言间代码的共享提供了一条方便的途径。下载完动态链接库后,在进行解析时,通过“添加引用”将其添加到项目中,在项目中显示为PQDCOM4Lib,然后利用其中的PQDCOM4Class类进行结构解析和内容解析。4.1.1PODlF文件解析的依据数据解析转换的依据中有关PQDIF的结构的分析在第二章中已介绍,下面主要介绍逻辑结构中数据源记录与观测记录之间的关系,如图4.1所示。数据源记录与观测记录的内部结构彼此并行,操作过程中相互链接为隐性链接【Il】。在面向对象的语言中,这样描述它:一个数据源记录有许多通道定义,每个通道定义又有许多序列定义;一个观测记录有许多通道例程,每个通道例程又有许多序列例程。这里提到的定义、例程的结构与面向对象的类、例程的结构相同,而且使用的目的也相同。“静态”信息在所有的“例程"中属于公共信息,可以在定义级(或类)中使用。24 (tagOneChannelInst)的通道定义序列号(tagChannelDefnIdx),可以在数据源记录中找到相对应的通道定义(tagChannelDefns)d?对应的通道定义(tagOneChannelDefn),从而将二者之间的关系建立起来了。例如,在观测记录的通道例程中,通道定义序列号为l,由于数据源记录中的通道定义是从0开始编号的,那么就需在数据源记录中找到第二个通道定义,其中所包含的信息类型,就是观测记录中相应通道的序列值数据类型。通道定义、序列定义、通道例程和序列例程中包含的内容如下:(1)通道定义包括通道名称、相别、何种质量类型(波形、趋势等)及其它的名称信息,并在每个观测记录中无需重复说明。(2)序列定义表达了测量量(电流、电压、功率等)、单位量(伏、安培)、特征量(瞬时、尖峰、有效值等)、数列值类型(最小、最大、平均等)、显示数据方式(预定义了希腊前缀)等数列信息,并在所有观测记录中都有效。(3)通道例程通道例程主要提供与其它序列例程的链接。由于一个观测记录不是所有的通道定义都能用到,通常只用到一部分,所以通道例程数要少于通道定义数,其中,通道例程定义了索引来表明各个特殊通道定义的例程。换句话说,通道定义提供了一个可能的通道库,独立的通道例程可以决定使用哪个通道定义,所以,对一个观测记录来说没有必要去使用每个可能的通道定义。同理,一个通道定义可有多个通道例程,它为描述一个特殊的质量参数的多属性时提供方便。例如,如果要记录由一25 华北电力大学硕士学位论文个特殊的通道定义来表示的电压的3次、5次、7次谐波的幅值,则在文件中就会存储一个具有三个例程的通道定义。每个例程中包含一个元素来规定该例程所表示的谐波次数。同样也可用这种方法来表示其它的量。(4)序列例程序列例程包含了构成观测记录的一系列数值。序列例程与通道例程有不同之处,因为每个序列例程必须与每个序列定义直接匹配,如果序列的拓扑结构有差异,则要为每个序列建立一个新的序列定义来与之相匹配。(5)共享数列通常情况下,我们所得到的监测记录数据是基于同一个时间列的,那么这个时间列就可以成为共享数列,该数列值可以用共享通道定义索引和共享数列定义索引两个标识来代替。4.1.2PODIF文件的结构解析对PQDIF文件进行解析存储,首先要解析出PQDIF文件的结构,了解到哪些结构中存放的哪些数据,进而才能解析其中的内容,对其中的某些内容进行压缩,存放到相应的数据库表中,从而供系统使用。如前所述,PQDIF文件分为两层:物理层和逻辑层。物理层,描述文件的物理结构,与实际存储的内容无关;而逻辑层使用物理层定义好的结构,利用特定标记在文件中建立元素,分层分级描述所要记录的事件。为了更好的解析PQDIF文件,表4.1列出PQDIF的逻辑结构卡片,可以看到PQDIF通过标记的继承性和其数值来记录电能质量数据,标记可以搜索到任意一层,这样可以很方便的得到电能质量数据的所有属性,包括厂商设备信息、线路信息、发生时间和数值大小等。对于直接继承关系的数据,可以直接记录;而没有直接继承关系的数据,可以通过查找标记逻辑关系来记录。逻辑结构卡片包含PQDIF中所有定义好的标记,其中有些标记是可选的。容器记录、数据源记录和监测设置记录分别保存的是PQDIF的文件信息、监测设备信息以及对应设备的参数设置信息,而实测的数据保存在观测记录中,表4.1所描述的是观测记录的结构,可看到各标记之间分层、分级记录数据,上下衔接,可选标记的记录可以为空。表4.1PQDIF逻辑结构卡片26 华北电力人学硕士学位论文表4.1PQDIF逻辑结构卡片(续)0CollectiontagRecObservation创建一个观测记录lVectortagObservationNamCHARl趋势数据第00观测记录名e组分项电压电流lScalartagTimeCreateTIMESTA9/25/2007记录创建时间MP1O:l2:0.0000000421CollectiontagChannellnstances多个通道集合2CollectiontagOneChannellnst确定一个通道3ScalartagChannelDefnldxIntegerO通道对应的A相电压5VectortagSeriesValuesREAL80.50,0.51,0.52,..时间序列5ScalartagSeriesBaseQuantREAL8l0000.000000基准值ity5ScalartagSeriesScale放大系数(可选项记录为空)5VectortagSeriesValuesREAL8.12.067730633l测量值序列25.-14.001199866432...2CollectiontagOneChannellnst确定一个通道3ScalartagChannelDefnldxIntegerl通道对应的B相电压5VectortagSeriesValuesREAL812.65448050565测量值序列3,9.9513599698480...2CollectiontagOneChannellnst确定一个通道3ScalartagChannelDefnldxInteger2通道对应的C相电压5VectortagSeriesValuesREAL8..586749872528测量值序列39,4.0498398965843...27 华北电力大学硕十学位论文PQDIF文件的结构解析工作主要是解析出PQDIF文件的逻辑结构及各个结构中的元素标记符,为内容转换做铺垫。结构解析界面如图4.2所示:图4-2PQDIF结构解析界面PQDIF的结构解析程序界面比较简单,易操作,有利于操作者了解原始数据的逻辑结构信息。从图4.2中,我们可以看到有三栏分别描述一个事件的逻辑组成,左边表示记录的第一级,中间一栏表示记录的第二级及其以上层次,右边表示中间栏所标识的数据信息,其主要代码为:if(vectorMethod==1){for(idx=0;idx<=(count-1);idx++){status=pqdif.ElementGetVectorData(pElement,idx,outValue);listVectorContents.Items.Add(idx.ToStringO+’’:”+Value.ToStringO);)’else{ 华北电力人学硕士学位论文status=pqdif.ElementGetVectorArray(pElement,outvalues);boolcheckvalues=Microsoft.VisualBasic.Information.IsArray(values);if(checkvalues==true)Typety=values.GetType0;switch(ty.Name)case”Double[]’’:Double[】tempvalues=(Double口)values;for(idx=Information.LBound(tempvalues,Information.UBound(tempvalues,1);idx++)idx<辜listVectorContents.Items.Add(idx.ToString()+”:”+tempvalues[idx].ToStrin90);break;case”Single[]”:Single[】tempvaluesl=(Single【】)values;for(idx=Information.LBound(tempValuesl,1);idx<=Information.UBound(tempvalues1,1);idx++)listVectorContents.Items.Add(idx.ToStrin90+tempvalues1[idx].ToStrin90);break;case”Int32[]”:Int32[】tempvalues2=(Int32[])values;for(idx=Information.LBound(tempvalues2,Information.UBound(tempvalues2,1);idx++)listVectorContents.Items.Add(idx.ToString()+tempvalues2[idx].ToStrin90);break;+idx<----+ 华北电力人学硕十学位论文4.1.3PQDIF文件的内容解析PQDIF文件的内容解析需要依赖逻辑结构中数据源记录与观测记录间的关系才能完成,所以主要解析数据源记录和观测记录中的标记及内容。PQDIF内容解析的总流程图如图4.3所示:图4-3PQDIF内容解析流程图在解析PQDIF文件内容时,首先读取PQDIF文件,对于数据源记录和观测记录来说,各自调用一个函数GetTagRecDataSourceO与GetTagRecObservation0来对其中的标记进行层次解析,直到分解到叶子标记为止。在数据源记录中的标记主要描述的是数据类型及数据所属的通道,而在观测记录中的标记主要描述的是具体的数据数值,二者通过通道定义索引号进行连接。以函数GetTagRecObservation0为例,使用流程图描述其解析过程,如图4.4所示。在函数GetTagRecObservation()解析中,首先获取观测记录中所包含的元素标记个数。如果是重要的叶子节点就将其内容赋给相应的变量,以便存储在数据库的相应字段中,例如观测记录开始时间tagTimeStart以及用于区分稳态数据和事件数据的标记tagTriggerMethodlD;如果不是叶子节点,再需调用相应的解析函数,进行进一步的解析,例如通道例程中还包含通道定义序列号和序列例程,此时在GetTagChannellnstances0函数中,还需调用GetTagChannelDefnldx0和GetseriesInstances()来获得通道定义索引号及相应的数据数值。同理,在函数GetTagRecDataSource()解析中,其过程与函数GetTagRecObservation()相同,可获得30 图4-4PQDIF解析方法GetTagRecObservation0流程图GetTagRecObservation0函数的解析代码为:publicvoidGetTagRecObservation(intRecord)//pElement指的是tagRecObservation下的元素intpElement;nameTag=”tagRecObservationName’’:DateTimewhenStart=DateTime.MinValue;stringtagTriggerMethodlD=””;intcount;status=pqdif.RecordGetCollection(Record,outpCollection);31 华北电力人学硕十学位论文status=pqdif.ConectionGetCount(pCollection,outcount);for(intnlnl=O;I姗0)output.Write(buffer,0,len);}output.Flush0: 华北电力人学硕士学位论文4.2.2数据存储(1)数据信息表PQDIF数据库中主要涉及两类具体数据表:SteadyState表和有关事件的表。当PQDIF文件的观测记录中的tagTriggerMethodID标记为ID—TRIGGER—METH—PERIODIC时,需将相应的信息存入SteadyState表中;当此标记为ID—TRIGGERMETHCHANNEL时,可知此条记录属于事件记录,则将基础信息存入Event表中,再根据tagQuantityTypelD标记判断具体事件类型,当此标记为ID—QT_PHASOR时,将相应的信息存入RMSVariation表中,当其为IDQTWAVEFORM时,需将相应信息存入EventTrend表中。对于SteadyState表的处理流程如图4.5所示:图4-5SteadyState表的处理流程图35 华北电力人学硕+学位论文处理流程说明:稳态信息表中的数据主要根据通道号和监测点号进行存储的,由PQDIF文件数据源记录的tagOneChannelDefn中的相位标示标记(tagPhaselD)、测量值类型标记(tagQuantityMeasuredlD)和特征量标记(tagQuantityCharacteristicID)从通道表中获得其通道号,由tagNameDS标记可知监测点名称,从监测点表中获得其监测点号,还需调用GetSteadyState()函数从稳态数据表中获得channellD、sitelD、whenStart字段,将其存放在一个内存表中。稳态表中的一条记录一般存储一周的数据,在解析某一PQDIF文件时,首先需判断此文件中记录的通道号与监测点号是否与稳态表中已存在的相同,若相同需将其起始时间与数据库中此条记录的起始时间进行比较,若是在一周范围内,则更新数据库中的此条记录;若超出一周的时问范围,则将PQDIF文件中的此条记录信息存放在数据库的新记录中。若通道号和监测点号与稳态表中已存在的不相同,则也应存到数据库的新记录中。有关事件表的处理流程如图4.6所示:图4-6有关事件表的处理流程图流程说明为:当一监测到有事件发生时,Event表中的id字段加一,根据36 华北电力人学硕十学位论文tagNameDS标记内容得到监测点名称,再去Site表中查询获得监测点号,存入Event表的字段sitelD中,还需将观测记录中的tagTimeStart标记中的内容存入起始时间字段whenStart中,tagSeriesOffset标记中的内容存入时间偏移量字段startTime中,数据源记录中的tagSeriesNominalQuantity标记内容需存入基准电压字段baseV中,而监测设置记录中的tagNominalFrequency标记内容需存入频率字段fundFreq中。不论是哪一种事件,都需从Event表中读取id字段存放在相应事件表的eventlD字段,还要根据相位标示标记(tagPhaselD)、测量值类型标记(tagQuantityMeasuredlD)和特征量标记(tagQuantityCharacteristicID)获得通道号,再根据事件类型,将信息存入相应的数据表中。(2)通道表及监测点表通道表中的信息是固定不变的,主要由PQDIF文件中的三个标记进行标识,列出部分通道,如表4.2所示。表4.2通道表内容(Channel)通道通道名称tagPhaselDtagQuantityMeasurtagQuantityCharacter号edlDisticlD4161VRMSAID——PHASE——ANID_QM_VOLTAGEIO_QC_RMS4162VRMSBID——PHASE——BNID_QM_VOLTAGEID_QC_gMS4163VRMSCID——PHASE——CNID_QM_VOLTAGEID_QC_RMS4164VRMSABID——PHASE——ABID_QM_VOLTAGEID_QC_RMS4165VRMSBCID——PHASE——BCIDQM_VOLTAGEID_QC_RMS4166VRMSCAID——PHASE——CAID_QM_VOLTAGEtD_QC_RMS4193VTHDAID——PHASE——ANID_QM,OLTAGEID_QC_TOTAL_THD4194VTHDBID——PHASE——BNID_QM_VOLTAGEm_QC_TOI弋地jHD4195VTHDCID——PHASE——CNID_QMJOLTAGEID_QC_TOI弋地)HD4196VTHDABID——PHASE——ABID_QM_VOLTAGEID_QC_TOTAL_THD4197VTHDBCID——PHASE——BCID_QM_VOLTAGEID_QC_TOTAL_THD4198VTHDCAID——PHASE——CA1D_QM_VOLTAGEID_QC_TO嘎ALjHD8289ITHDAID——PHASE——ANID_QM_CURRENTID_QC_TOTAL_THD8290ITHDBID——PHASE——BNID_QM_CURRENTID_QC_TOTAL_THD829lITHDCID——PHASE——CNID_QM_CURRENTID_QC_TOTAL_THDPQDIF文件的数据源记录中的tagNameDS标记来标识一个监测点,在每次进行新的文件解析时,自动检测监测点表是否有变化,如有变化要进行更新,即查询监测点表获得其名称字段,用tagNameDS标记内容与监测点表中的名称进行比较,若相同,不需更新,若不相同,则新建一条记录,存放监测点相关信息。37 华北电力人学硕+学位论文4.3数据解压缩在4.2.1节中说明了数据以数据流的形式压缩存储到了数据库中,在进行数据展示之前,需将压缩数据进行解压缩操作。具体步骤为:首先需查询数据库,从中获取压缩字段,将其存放在内存表DataTable中,再将其转化为数据流,调用解压缩算法,实现数据的解压缩。将内存表中的数据转化为数据流的语句为:stringoutstr;DataTabledt=GetSample_test0;byte[】bt=(byte[])dt.Rows[O][O];MemoryStreamms=newMemoryStream(bt);ms.Position=0;MemoryStreamoutput=newMemoryStream0;output2DecompressStream(ms);解压缩仍然使用Zlib算法,具体的解压缩代码为:publicstaticMemoryStreamDecompressStream(StreamSourceStream){try{MemoryStreamstmOutput=newMemoryStream0;zlib.ZOutputStreamoutZStream=newzlib.ZOutputStream(stmOutput);CopyStream(SourceStream,outZStream);outZStream.finish();returnstmOutput;.}catch{retumnull;}) 华北电力人学硕+学位论文4.4数据展示及格式转化4.4.1数据展示在数据交换平台的数据库中主要涉及到事件数据表和稳态数据表,数据展示同时分为暂降数据和稳态数据的查询展示。在一般的应用程序中,通常使用单调的表格形式展示数据。而在数据交换平台中,数据可以以多种方式展现,除了表格显示外,还有丰富的图形显示,从而可向用户提供更多的信息,使用户可从图形中更直接的了解电能质量的相关信息。(1)暂降数据查询展示暂降数据主要是指单次暂降特征量的展示。单次电压暂降的主要特征量是指暂降幅值和持续时间。暂降数据的表格展示如图4.7所示。查询条件包括单位、监测点、时间。单位:山西省电力公司固囝舍下级监测点:.摹踟笆!薹筻鱼!粤曼!噎圜帆细蜓圜查询ll曲线圈000300010007000T0007000T0007000T0007阳泉伊电分公司陌泉供电分公司大fi}供龟分公司丈同供电分公司文同供电分公笥大同供电分公司大嗣供电分公司丈同供电分公司大同供电分公司海测1452008—07—0304:36:54海测1452008—01"-0300:23:26官堡1122008—0"1—0214:30:52曹堡l132008—07-0214:49:55官堡2732008-06-2515:49:27官堡2"/32008-06-2515:53:28官堡1“2008-06-2714:33:∞宫堡lll2008-06-2714:35:38官堡llI2008—06-2714:39:16官堡1122008—06-2714:09:33宦堡l122008—06"-2714:12:07富堡1122008—06"2714:15:45富堡1132008-06-2./14:28:3./官堡I132008·06-2./14:31:ll0.485124B0.150.095270.0500390.96220|I^6.94.382190.059940.325002B86.5154.9425O.2∞3930.553"/14B86.5954.993310.2803960.943507^78.399.456660.0499690.783369B84.86107.18920.040130.931385^83.4753.01180.0902310.813832BTI.1l45.161960.0999930.830642A89。8467.057380.2IDl5l0.640165^83。3哇52.929230.090230.503273B71.18t5.206420.0999930.4826强^89.7256.98llT0.2301960.272124^83。3752.948290。090230.135068BTI.2545。250880.099995一’一⋯一⋯⋯⋯一一~⋯⋯一一⋯一一..』跣转至第15J3l页Go㈣⋯埘辨捐茹萌蟊≤Ⅻ《《Ⅻ∞《%_*%_%自自∞_目_∞Ⅻ_g∞_∞______目#龆_目_糍∞q_%目日%目自I撼共有433条记录第1/31页酋页i.一戈下一页末页图4.7暂降数据表格显示选中某条记录后,点击“曲线图”按钮可查看相对应的RMS曲线图和波形图,然后点击“导出数据"图片“”,可将进行图形展示的基础数据导出为Excel表格和XML文档。图形显示如图4.8所示。39 华北电力人学硕+学位论文图4.8暂降数据图形显示(2)稳态数据查询展示稳态数据查询模块只有图形显示,用户根据相应的查询条件可查看对应的稳态数据图形,还可点击“导出"按钮,将描绘图形的基础数据进行转换,导出到Excel表格和XML文档中,如图4-9所示。图4-9稳态数据图形显示40 华北电力人学硕+学位论文4.4.2数据格式转化在4.4.1节中提到了在页面上通过相应的按钮,可将数据进行转化,导出为相应的格式,主要是Excel表格和XML文件。以下重点介绍这两种方式的导出方法。这两种文件格式在实际应用中都具有独特的优点。Excel是用于创建和维护电子表格的应用软件,经过十几年的发展与完善,己成为office家族中电子表格专用软件。Excel实际上是一种数据库,对数据库所进行的各项操作同样也适用于Excel。它还具有较强的图表分析功能,其内置的三百多个函数,使它还应用于科学计算领域。此外,Excel由于其格式规范,可作为一些应用程序的输入参数,对其中的数据进行计算。XML因为其自身的特点,如自我描述性、可扩展性、数据内容与显示分离,所以XML在处理数据时效率很高,逐渐成为了数据交换的标准,将需要交换的数据转换为XML文档即可在各个应用程序之间传递。只要数据交换中各参与方采用统一的XML标签和格式生成XML文档,不同应用系统中不同语言编写的应用程序就可正确识别和解析文档中的数据,实现数据的动态交换。’,‘(1)Excel格式转化Excel表格的转化是将数据库中的基础数据转化为Excel格式。实现这部分的功能,需要读取数据库中的数据,将其存放在内存表DataTable中,根据转换方法将其转换为Excel表格,并以转换的时间为文件名称,转换后的Excel表可作为参数供应用程序如Matlab使用,主要代码为://将数据导入到excel文件DataTabletempdt=newDataTable(”harmonicWave”);tempdt.Columns.Add(”va”);tempdt.Columns.Add(”vb”);tempdt.Columns.Add(”VC”);tempdt.Columns.Add(”ia”);tempdt.Columns.Add(”ib”);tempdt.Columns.Add(”ic”);for(inttempi=O:tempi属性值,不得超过2个字符。正因为XMLSchema的这些特点,在本文中实现XML格式转化时使用的是XMLSchema。由于数据库中有不同的数据表,并且各个表的结构不同,所以需要定义不同的XMLSchema。以显示波形图的基础数据为例,转化后的XML文档如图4.11所示:(whenStarttype=”DATE“>2003—05—0618:01:00</whenStart>2003—05一0613:01:00</whenLocal>2003—5-613:01:00.2830</timeStamp>一(eventIDtYpe=“INT4。>59</eventID>(siteIDtYPe=”INT4”>1</siteID>8erviceEntronceDataNode5530</siteName>4111a</channelID)VwaveformA</channelName>(startTimetvPe=”REAL8“>0.O</startTime>1.0</status>T68</numberSamples>+.cforrnats></record>一59</eventID>1</siteID>(siteNarrletYPe=”CHAR”size=”30”>8erric8EntranceDataNode5530</siteName>(channeIIDtvPe=”INT4”>4114</channeIID>VWaveformB</channelName>(startTimetvPe=“REAL8”)0.O</startTime>1.0</status>768</numberSarnples>o.0001302422460867</samplePeriod>+(rormats></record>一59《/eventlD>图4.11基础数据导出为XdV[L文档45 华北电力人学硕士学位论文4.5本章小结本章详细介绍了企业数据交换平台的实现方法。首先,介绍了PQDIF文件的解析依据及解析过程,解析过程主要包括结构解析和内容解析,使用流程图、程序代码及文字的方式详细说明了各个标记的解析方法。由于监测设备上采集到的PQDIF文件多,解析后的数据量大,需将数据进行压缩,再存储到数据库中。压缩算法采用的是国际上流行的无损压缩算法Zlib算法。与其他无损压缩算法相比,Zlib压缩算法能够压缩更多形式的数据,并且具有同winzip和winrar等商业软件相比毫不逊色的压缩率,并且使用了很少的系统资源,并介绍了其压缩过程,展示了相应程序代码。PQDIF文件中根据不同的标记需将数据存入对应的数据库表中,主要涉及到稳态数据表及事件数据表,详细说明了其存储过程。然后,介绍了利用Zlib算法实现的数据的解压缩。最后,对数据库中的基础数据以表格和图形的形式展示出来,并可将基础数据转化为Excel表格和XML文件,供不同系统使用。 华北电力人学硕士学位论文第五章总结与展望5.1论文完成的主要工作本文针对电力企业中电能质量数据规模大、格式各异的特点,以IEEE标准委员会提出的电能质量数据交换格式PQDIF为数据源,开发了企业数据交换平台,主要完成了以下工作:(1)深入研究了XML、PQDIF技术本文对XML的概念及其独特的优点进行了研究,说明它非常适合作为信息交换的数据格式技术标准,然后对PQDIF格式的优点、物理结构、逻辑结构等进行了深入有效地研究,为PQDIF的解析做好铺垫。(2)对数据交换平台进行了设计本文从物理结构、逻辑结构对数据交换平台进行了设计,并说明了其数据库的结构。本文中的数据交换平台是由数据转换服务器、应用服务器、Web发布服务器和电能质量数据库组成,使用C/S结构与B/S结构相结合的方式实现了两次数据交换,即将PQDIF文件解析转换到电能质量数据库和将数据库中的基础数据转换成Excel格式和XML文件。(3)实现了数据交换平台本文主要从以下三个方面实现了数据交换平台:1)PQDIF文件的解析本文介绍了电能质量数据交换格式PQDIF的结构及结构记录之间的关系,并以此为依据,从结构和内容两方面使用流程图、程序代码及文字方式详细说明了解析PQDIF文件的过程,为数据的压缩存储做好准备。2)数据压缩存储与解压缩PQDIF解析转换后的数据量很大,为达到节省数据库空间的目的,需对数据进行压缩存储。在数据交换平台中采用的压缩算法是公开的、没有任何版权的、压缩率较高的Zlib算法,并使用流程图的方式说明了数据的存储过程。对数据进行展示前,还需对其进行解压缩,其算法采用的仍是Zlib算法。3)数据展示与格式转化本文数据交换平台中的数据除了表格显示外,还有丰富的图形显示,使用户可从图形中更直接地了解电能质量的相关信息。用户通过浏览器访问本平台,实现电能质量指标数据的查询,还可将基础数据转化为Excel表格和XML文件,完成数据的二次交换。47 华北电力大学硕十学位论文通过电能质量数据交换平台的建立,电能质量分散数据实现了共享,电力企业可对区域电网进行集中监测,从不同侧面了解和预知电压和电流质量以及电能质量的整体运行状况,可对电能质量可能造成的危害、影响程度和影响范围做出判断,从而可为电能质量的治理提供科学的决策依据,从而改善电能质量,以保障人民的生活质量及国民经济各行各业的正常生产。5.2下一步的工作由于时间的原因以及本人认识深度的有限,本论文中还有一些工作有待于以后进一步的研究:(1)在本文中提到,从监测设备上采集的文件都是已经封装好的PQDIF文件,电能质量数据交换平台利用这些文件作为数据源,但是由于有些电力企业中的一些监测设备是旧设备,并且仍在使用中,与现有的应用软件无法兼容,不能将其监测到的数据封装成PQDIF文件,也就无法将其使用在数据交换平台中并实现异构数据的共享,所以要考虑如何将这些设备上采集到的异构数据用程序实现数据格式的统一,即封装成PQDIF文件,将是下一步工作的重点。(2)目前系统中使用Zlib压缩算法实现了数据的压缩,压缩效率也比较高,但是压缩算法仍需进一步的优化,这也将是下一步需要研究的内容。(3)平台的可靠性和安全性还有待于进一步研究和实施,如引入加密算法。 华北电力人学硕+学位论文参考文献王燕.基于可靠WEB服务的数据交换平台研究与实现:[硕士学位论文].湖南:国防科学技术大学,2005张涛.基于PQDIF的改进型电能质量数据交换模型及其实现:[硕士学位论文].四川I:四川大学,2006刘湛.基于PQDIF的电能质量监测数据的处理:[硕士学位论文].南昌:南昌大学,2008张欣欣.电能质量在线监测系统与PQDIF的实现:[硕士学位论文].北京:华北电力大学,2008丁屹峰,程浩忠,占勇,孙毅斌.基于PQDIF格式压缩的电能质量数据模型.继电器,2005,33(7):55"--58AulerLF,d’AmoreR.PowerOualityMonitoringandControlUsingEthernetNetworks.10thInternationalConferenceonHarmoniCSandQualityofPower,2002(1):208,--,213j[7]BatistaJ,AfonsoJL.MartinsJS.Low—CostPowerOualityMonitorBased[8]GarcezJZ.BezerraUH,CastroALS,AlvesRNC,.IntegratingaPowerQualityMonitoringSysteminaDistributionControlCenter.IEEEPortoPowerTechConference,2001(3):10"--13[9]聂晶晶.电能质量监测系统及PQDIF数据存储格式的研究:[硕士学位论文].南京:东南大学,2006[10]杨进,肖湘宁,王宏.网络型电能质量监测系统中pqdif的实现.现代电力,2004,21(6):24"--28[11]P1159WorkingGroupoftheSCC一22PowerOualityStandardsCoordinatingCommittee.IEEEP1159.3/D9Draft,2002[12]李树军,石新春,付超.基于PQDIF的电能质量监测系统的设计.大功率变流技术,2009(2):49~52[13]章明,许青松,沈锡臣.基于XML的数据交换共享平台模型.清华大学学报(自491J眩眵心畸SC..上nOrtCeElarCSUJunTlnOmUSOpmyCvlanOCanreCh鹬口。旺~E3I2.ooC:P)a“0n0O2 华北电力人学硕+学位论文然科学版),2003,43(1):106-"--"107[14]唐俊伟.基于Web技术的数据交换平台的研究与设计:[硕士学位论文].西安:西北工业大学,2006[15]WeichangDu,HuiLi.XMLAgentsTechnologyforBuiidingCollaborativeApplications.CollaborativeTechnologiesandSystems,2006,11(5):289,--297[16]赵毅,王浩然,庄冠华,骆斌.一种基于XML的数据集成系统框架及其应用.计算机工程与应用,2005,26(5):181~183[17]王萍萍.构件技术在信息系统集成中的应用研究:[硕士学位论文].北京:华北电力大学,2007[18]明日科技.ASP.NET2.0开发技术大全.北京:人民邮电出版社,2008:730一-.,731[19]刘锡冬.基于XML的数据交换的研究与应用:[硕士学位论文].山东:山东大学,2007[20]李雯,谢辅文,邹道明.XML数据交换技术的应用与研究.计算机与现代化,2008(1):91~93[21]SteeleR.,DillonT.,PandyaP.,VentsovY.XML-basedmobileagentsInformationTechnology.CodingandComputing,2005,2(4):42---,48[22]张强,周荣辉.COM和.NET构件模型.教育软件开发与应用,2006,35(3):36"38[23]ThuanThai,HoangQ.Lam..net框架精髓.(王敏之译).北京:中国电力出版社,2001:7~15[24]张跃延,顾彦玲等编著.ASP.NET从入门到精通.北京:清华大学出版社,2008:4"-6[25]侯彦娥.基于.NET的Web应用系统通用平台中构件技术研究:[硕士学位论文].北京:中国科学院研究生院,2006[26]IEEEStd1159.3D.RecommendedPracticefortheTransferofPowerQualityData[27]DataFileFormatforPowerQualityDataInterchange.IEEE1159.3/D9[28]IEEEStandardsCoordinatingCommitree22onPowerQuality.IEEERecommendedPracticeforMonitoringElectricPowerQualityIEEEStd1159—1995ApprovedJune14,1995IEEEStandardsBoard 华北电力大学硕士学位论文刘小舟,丁华强.PQDIF在电能质量监测系统中的应用.华北电力技术,2007(4):33~39刘金晓.人机交互界面定制及生成工具的研究与开发:[硕士学位论文].北京:华北电力大学,2007PQDIFGuidelinesforPQViewApplicationsCharacterization,2000刘永光.基于XML数据交换平台的研究与应用:[硕士学位论文].沈阳:沈阳工业大学,2005许晓芳,张建平.电能质量多数据源兼容技术简介.电能质量国际研讨会,2002聂晶晶,许晓芳,夏安邦,李鹏.电能质量监测及管理系统.电力自动化设备,2005,25(10):75~77JeanGailly.ZLIBCompressedDataFormat.http://wWW.zlib.net。2002汪勇.基于XML和WebServices的电子政务数据交换平台的实现:[硕士学位论文].西安:西北工业大学,200551明叫l=I勾朝们朝刚眩陷∞心随心心陷 华北电力人学硕十学位论文致谢论文工作即将结束,研究生学习生涯也接近尾声。在研究生学习过程中我得到了许多人的关心、支持、帮助,在此谨向他们表示我最诚挚的感谢!首先我要深深感谢我的导师齐林海副教授。在两年多的时间里,齐老师在学习、生活、工作等各方面都给了我无私的帮助与支持,在软件开发和学术论文撰写过程中,提出了很多建设性的建议,所有的成绩都与齐老师孜孜不倦的指导是分不开的。齐老师真诚的为人作风、严谨的治学态度、宽厚包容的处世风格、勤勉的工作作风都将让我终生受益。对齐老师的教诲与启迪、关心与爱护、鼓励与宽容,我将铭记于心,并为有这样的导师而骄傲自豪。在此我对齐老师致以崇高的敬意和最美好的祝福!感谢马素霞老师,无论是在学习中还是在生活中,马老师都给予了我极大的帮助,并在论文选题到论文完成的各阶段给我提出了不少宝贵的意见。在此深表感谢!感谢和我一起工作生活过的张杰、张晶、林天华、万华等同学,感谢他们在论文制作期间给予我的真诚而热心的帮助和指导。感谢我的家人,在我的求学生涯中,他们对我无私的爱和长期以来默默的支持和鼓励是我前进的不竭动力。感谢华北电力大学控制与计算机工程学院为我们提供了一个良好的学习研究环境,感谢研0715班所有的同学,在这个团结向上的大家庭中度过的两年半美好时光将让我终生难忘。衷心感谢在百忙之中参与评审本论文和参加答辩的各位专家、教授152 华北电力大学硕十学位论文在学期间发表的学术论文和参加科研情况[1]赫伟珊,齐林海,马素霞.数据交换技术的研究.中国电力教育(增刊),2008(12):115~117[2]赫伟珊,齐林海,林天华.电能质量分析系统中异构数据交换的实现方法.电力科学与工程,2009,25(11):45~47[3]2008.2-2008.1l:参与开发国家电网公司华北电科院电能质量专家系统[4]2009.2-2009.7:参与开发H3C公司VPLSVPN组件[5]2009.10—2009.12:参与开发山西电力公司电能质量智能信息系统53

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭