一种用于多平台的电能质量监测数据同步传输方法技术

技术编号:7630214 阅读:206 留言:0更新日期:2012-08-03 11:58
本发明专利技术是一种用于多平台的电能质量监测数据同步传输方法;包括如下步骤:1)确定同步数据源数据库中需要导出的数据;2)调用数据包函数,将步骤1)中需要导出的数据转换为指定格式的数据;3)记录并输出指定格式的数据;4)接收数据源数据库导出的数据,提取出数据;5)将提取的数据转化为数据表,并建立相应数据在数据源数据库中的标识与目标库中的标识的映射关系表。本发明专利技术提供了在不同的平台间电能质量监测数据同步传输方法,解决了不同平台间数据传输的不兼容性,具有更加高效和稳定的效果,改善系统的灵活性,更易于第三方理解。

【技术实现步骤摘要】

本专利技术是,具体指基于ORACLE存储过程和XML文件格式的电能质量监测数据导出和导入方法,属于电力

技术介绍
在当前软件系统越来越复杂,业务应用不断向广度和深度扩展的情况下,同一系统不同模块之间的数据交互、不同系统之间的数据交互、不同厂家之间系统的数据交互需求变得越来越迫切。这些数据的种类和格式繁多,构建这些系统的软件平台也并不相同,而且随着业务流程的不断完善和改进,软件系统的数据格式和类别也会不断变化,从而进一步给数据的同步带来了挑战。 电能质量监测数据在不同平台间进行数据传输由于数据量大、耦合度高,经常需要随着业务的拓展不断修改接口,每次修改后又需要做大量测试才能稳定,但稳定的接口通常在实际使用中过不了多久又需要升级修改。因此,寻找一种能灵活适应业务需求变化、跨平台、开发简单、高效、开放的数据同步方法,保证系统的稳定可靠运行、易于系统升级维护是有其实质意义的。
技术实现思路
本专利技术的主要目的是解决现有电能质量监测数据同步技术不利于异构平台使用、开发维护部署复杂,同步数据源端和数据目的端接口耦合性过高的缺陷,提供一种更为先进、简单、开放、高效的方法实现数据同步。实现本专利技术的技术方案为 ,包括以下步骤 1)确定同步数据源数据库中需要导出的数据; 2)调用数据包函数,将步骤I)中需要导出的数据转换为指定格式的数据; 3)记录并输出指定格式的数据; 4)接收数据源数据库导出的数据,提取出数据; 5)将提取的数据转化为数据表,并建立相应数据在数据源数据库中的标识与目标库中的标识的映射关系表。所述步骤I)中需要导出的数据采用数据表或SQL语句描述。所述步骤2)中指定格式的数据为XML格式的字符串。所述步骤5)建立对应的数据在数据源数据库中的标识与目标库中数据标识的映射关系表有二种情况 11)导入数据的标识不存在,则在目标库中插入导入数据,增加映射导入数据标识和导入目标库中的标识映射关系; 12)映射关系中存在的导入数据中不存在标识,则删除目标库中对应数据; 13)导入的数据标识已经存在,则更新目标库中对应数据。本专利技术技术方案包括两个方面,一是使用ORACLE的PL/SQL存储过程完成源端数据的导出,以及目的端数据的导入,PL/SQL在所有平台上都适用,解决了跨平台的问题,同时在数据库服务器端直接运行,更加高效和稳定,并且比其它高级语言开发维护部署更简单。二是数据源端导出和数据目的端导入使用XML格式传输数据,XML是自描述的数据格式,与平台无关,更易于第三方理解,在与第三方厂家共同完成同步方案时更容易沟通和合作。从程序上包括两部 份,一部份是同步数据源端导出,另一部份是同步数据目的端导入。分别描述如下 导入导出所处理的数据格式 {数据表A长度},{数据表B长度},{数据表C长度}……@ {数据表A的XML} {数据表B的XML } {数据表C的XML }…。如上所示,前面是数据表的长度,各数据表的长度以逗号分隔,长度和具体数据用@分隔,省略号表示可重复一次到不限次数。所述步骤2)中提供的数据包函数为DBMS_XMLGEN. NEffCONTEXT和DBMS_XMLGEN.GETXML。所述步骤5)中提供的函数为XMLTABLE。本专利技术因为通过充分使用ORACLE本身提供的函数,来进行XML和数据表的相互转换,同时ORACLE提供的PL/SQL是一门高效、使用方便的语言,简化了开发工作量,同时也提高了稳定性,能更好的及时响应客户的系统上线、升级要求,并能在任何平台下完成部署。同时因为同步数据源端和数据目的端使用XML作为交换格式,也可以供不同的厂商、不同的平台调用,改善了系统的灵活性。附图说明图I为本专利技术数据导入导出的流程图。具体实施例方式图I为本专利技术数据导入导出的流程图,分为导出存储过程及导入存储过程。导出存储过程,开始数据的导出存储过程,首先确定数据源端需要同步的具体数据,并用数据表或SELECT语句进行描述,继而针对每一类数据,分别逐个调用DBMS_XMLGEN. NEffCONTEXT和DBMS_XMLGEN. GETXML函数完成数据库数据到XML格式串数据的转换,将所有转换完成的XML数据组合为存储过程最终输出。导入存储过程,接收导出存储过程输出的XML格式的数据,通过调用XMLTABLE函数,将XML还原为数据库的数据表形式,并建立相应的数据在数据源数据库中标识与目标库中数据标识的映射关系表,建立对应的数据在数据源数据库中的标识与目标库中数据标识的映射关系表有三种情况11)导入数据的标识不存在,则在目标库中插入导入数据,增加映射导入数据标识和导入目标库中的标识映射关系;12)映射关系中存在的导入数据中不存在标识,则删除目标库中对应数据;13)导入的数据标识已经存在,则更新目标库中对应数据。在某具体的网级主站与下级省级主站的供电局、变电站、母线、线路数据同步,运用了本方案,场景如下在下级省主站数据库中新建PROC_EXPORT_CELL过程,在过程的实现中,通过ORACLE本身提供的处理XML的函数DBMS_XMLGEN. NEffCONTEXT和DBMS_XMLGEN. GETXML将供电局表(TSUPPLIER)、变电站表(TSTATI0N)、母线表(TMLINE)、线路表(TLINE)的数据转化为XML字符串,赋值给PR0C_EXP0RT_CELL过程的输出参数,从而使用数据同步接收端调用该过程可以获取同步数据的XML格式。在网级主站数据库中,新建PR0CJMP0RT_CELL过程,并建立数据源端和目的端的关系映射表T_ID_MAP,主要包括TYPE (类型,用于表示映射类型,如供电局、变电站、母线、线路映射)、TRUNK_ID(网主站ID ,是数据源端数据导入网主站形成的新标ID) .BRANCH,ID (省主站ID,是同步数据在源步中的标识ID)、BRANCH_SITE (省主站名称)等字段,通过接收分析下级省主站PR0C_EXP0RT_CELL过程的输出,通过调用ORACLE提供的XMLTABLE将XML数据转化为数据表,并通过T_ID_MAP中是否已经存在映射关系,来确定是否进行数据插入、更新、还是删除原先导入数据。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于多平台的电能质量监测数据同步传输方法,其特征在于包括以下步骤 1)确定同步数据源数据库中需要导出的数据; 2)调用数据包函数,将步骤I)中需要导出的数据转换为指定格式的数据; 3)记录并输出指定格式的数据; 4)接收数据源数据库导出的数据,提取出数据; 5)将提取的数据转化为数据表,并建立相应数据在数据源数据库中的标识与目标库中的标识的映射关系表。2.根据权利要求I所述的用于多平台的电能质量监测数据同步传输方法,其特征在于所述步骤I)中需要导出的数据采用数据表或...

【专利技术属性】
技术研发人员:丁泽俊陈波李果向阳邹正华熊耀明董旭柱段卫国
申请(专利权)人:南方电网科学研究院有限责任公司深圳市领步科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术