面向电力系统分析的软件平台及其运行和分布式开发方法技术方案

技术编号:14642626 阅读:118 留言:0更新日期:2017-02-15 22:43
本发明专利技术涉及一种面向电力系统分析的软件分布式开发方法,包括:构建具有通信功能的服务器端和客户端;软件算法的分布式开发,开发团队通过客户端调用服务器端的基础数据及通用算法进行相应算法的开发研究;软件的成果汇总,使开发团队的算法成果与软件服务器端无缝链接,实现软件的分布式开发。本发明专利技术提供的技术方案解决了软件构建过程中基础数据和基本算法的共享问题,避免了集中开发的高成本,提升了开发速度,同时实现了算法开发成果与软件的无缝融合,同时软件成果具有可移植性和重用性。

【技术实现步骤摘要】

本专利技术涉及一种基于面向电力系统工程应用的软件平台,具体讲涉及一种面向电力系统分析的软件平台及其运行和分布式开发方法
技术介绍
开发基于面向电力系统工程应用的软件是一个工作量较大的系统工程,需要多个项目开发小组的共同协作。软件中的高级算法需要涉及实际电网中的相关数据和一些电力系统的基础算法。实际电网中的相关数据出于安全性的考虑不能随意拷贝,而同一类型的基础算法,采用不同的方式,得出相应的计算结果也有较大的差别。所以在开发电力系统软件时,保证数据的安全性和密封性,基础算法的统一性是十分有必要的。同时,开发基于面向电力系统工程应用的软件,采用传统的集中式开发方式,或是项目开发小组在某地共同进行开发,实际上存在多个开发小组分散在各个地区的情况。针对这种情况,若是将各个开发小组集中到某地进行算法开发的成本过高,或是各项目小组完成相应的算法后,集中到一起再将算法整合,整个软件需要进行大量修改,耗时较长,所以传统的集中开发并不可行。基于上述情况,电力系统工程应用迫切需要一种新的软件开发模式,来适应新形势,使得在软件能够在保证数据的安全性和密封性,基础算法的统一性的前提下,支持开发机构进行异地开发,不必拘束于集中于一地开发的现实条件。这种异地进行算法研发的分布式开发方式,避免了传统开发方式交互性差且控制复杂,开发和维护成本高等缺点,实现了缩短开发周期和提高代码重用性的目的。但是现有技术中尚无针对电力系统算法的分布式的开发方式,目前绝大部分开发的电力系统算法都是针对事先约定的特定运行环境进行算法的研发,或是修改传统开发方式开发的算法成果的接口后移植到其他平台架构,像这样限在某种开发环境进行的定制和修改的开发方式,耗费较多的时间,很难满足最终用户需要。
技术实现思路
为解决上述现有技术中的不足,本专利技术的目的是提供一种面向电力系统分析的软件平台及其运行和分布式开发方法,通过这种分布式开发方式,使电力系统软件的开发具有基本算法统一,相关数据保密的特点,还避免了集中式开发的高成本的问题。本专利技术的目的是采用下述技术方案实现的:本专利技术提供一种面向电力系统分析的软件平台,其改进之处在于,所述平台包括服务器端和客户端,所述平台的服务器端包括:电力系统算法库:用于存储电力系统的算法;历史数据库:用于存储电网的拓扑数据;内存数据库:用于缓存电力系统算法计算所需要的电网配置数据、算法中间结果的数据和输出的计算结果数据;服务器端通讯模块:实现与客户端的通讯,用于接收客户端的通讯请求并向客户端发送计算的结果数据;服务管理类模块:用于对服务进行管理,包括线程的产生、管理和销毁;服务线程类模块:用于完成计算任务,解析、生成通讯报文,该模块采用每服务每线程的运行模式,即每一个服务对应一个独立的线程;所述平台的客户端包括:可视化模块:用于实现数据的显示,显示方式包括数据的列表显示方式、图文显示方式、表格显示方式;数据库管理模块:用于管理客户端的数据,客户端的数据包括配置参数、电网基础的拓扑数据和计算结果数据;客户端通讯模块:实现与服务器端的通讯功能,可以向服务器端发送数据请求并接受来自服务器端发送计算的结果数据。一种面向电力系统分析的软件平台的运行方法,其改进之处在于:所述方法包括下述步骤:步骤1、对软件运行平台进行启动,完成初始化操作,初始化的内容为判断电网拓扑数据是否存在以及判断加载软件所需的配置文件是否存在,若均存在则执行步骤2,否则发出错误提醒;步骤2、平台的服务器端的通讯模块监听来自客户端通讯模块的连接请求,客户端通过服务器端的IP地址和端口号向服务器端发出连接请求,建立通讯连接;步骤3、客户端的可视化模块加载系统配置文件,启动客户端的数据库管理工具,并将数据库中的配置参数传递给可视化模块,由客户端通讯模块向服务器端发送计算请求的数据报文,该报文包括计算所需的电网的基础拓扑数据,计算参数和计算指令;步骤4、服务器端的通讯模块响应客户端请求,服务管理类模块根据请求创建分配服务线程;步骤5、服务线程类模块解析通讯报文,根据客户端发送的数据报文要求进行计算,其中计算过程中的中间数据存储在内存数据库中;步骤6、服务器端通讯模块根据客服端的请求将计算后的结果和异常信息,进行XML格式的编码后返回给客户端;步骤7、服务器端服务管理类模块将线程关闭;步骤8、客户端通讯模块将服务器端返回的XML格式的数据进行解析,可视化模块加载解析后的数据并进行显示。其中,步骤5中服务线程类模块解析通讯报文,根据客户端发送的数据报文要求进行计算包括:步骤5-1、加载计算所需的电网拓扑数据的线程资源,保存连接的句柄;步骤5-2、对XML格式的通讯报文进行解析,得到报文内容;步骤5-3、根据步骤5-2中计算功能要求来调用平台中对应的算法函数,完成客户端要求的电力系统计算;步骤5-4、将步骤5-3计算的结果发送至服务端通讯模块。其中,步骤5-3中的算法函数包括数据输入、启动计算和结果输出三个函数,具体为:步骤5-3-1、进行数据输入计算,将历史数据库中的电网拓扑数据缓存到内存数据库中;步骤5-3-2、启动计算,加载内存数据库中的数据,启动指定的电力系统算法进行计算;步骤5-3-3、获取结果,获取步骤5-3-2的计算结果。一种软件平台的分布式开发方法,其改进之处在于,所述开发方法包括以下步骤:步骤A、构建具有通信功能的基础软件平台,包含服务器端和客户端;步骤B、对软件平台算法进行分布式开发;步骤C、对软件平台的成果进行汇总,通过将远端开发的相关高级算法整合移植到软件服务器端,使软件的功能完整化,实现最终的面向电力系统分析的软件的开发。其中:所述步骤A中,服务器端用于处理客户端的算法计算,获取到客户端的计算请求之后,接收客户端的计算数据,并进行相应的计算,最终将计算结果返回给客户端;客户端用于显示各种不同的数据,包括输入的算法数据,算法计算结束后的结果数据,以及通过调用服务器端的通用数据接口显示通用数据;所述步骤A包括下述步骤:步骤A-1:根据客户端和服务器端的通信的要求,软件采用ACE封装的C++的底层通讯,使客户端和服务器端实现基于ACE的C/S通讯;步骤A-2:建立电力系统中服务器端的算法库,制定统一的调用接口;步骤A-3:建立电力系统中服务器端的数据库,制定统一的访问接口;步骤A-4:制定统一的计算服务流程;步骤A-5:完善软件的数据管理,优化人机交互体验。其中:所述步骤A-2中,算法库包含用于电力系统分析的基础算法和开发机构研发的高级算法,提供给算法开发机构和客户端调用计算使用;基础算法包括潮流计算、暂态稳定计算、短路电流计算、网损分析、电压稳定分析、静态安全分析、静态和动态等值分析、小干扰稳定分析、最优潮流计算、无功优化和继电保护整定电力系统常用的成熟算法,高级算法为研发机构基于上述常用算法针对电力系统某一课题进行二次开发后的算法;所述步骤A-3中,数据库包括内存数据库和历史数据库;内存数据库指的是在内存中操作数据的数据库,用于完成算法计算过程中的数据暂存功能,将不同格式的数据存入内存数据库中转化成为统一格式的数据;历史数据库用于存储电网通用拓扑数据,供算法开发者调用使用;所述步骤A-4中,服务器端提供计算服务的基类,所述计算服务流程包括数据输入、启动计算本文档来自技高网
...
面向电力系统分析的软件平台及其运行和分布式开发方法

【技术保护点】
一种面向电力系统分析的软件平台,其特征在于,所述平台包括服务器端和客户端,所述平台的服务器端包括:电力系统算法库:用于存储电力系统的算法;历史数据库:用于存储电网的拓扑数据;内存数据库:用于缓存电力系统算法计算所需要的电网配置数据、算法中间结果的数据和输出的计算结果数据;服务器端通讯模块:实现与客户端的通讯,用于接收客户端的通讯请求并向客户端发送计算的结果数据;服务管理类模块:用于对服务进行管理,包括线程的产生、管理和销毁;服务线程类模块:用于完成计算任务,解析、生成通讯报文,该模块采用每服务每线程的运行模式,即每一个服务对应一个独立的线程;所述平台的客户端包括:可视化模块:用于实现数据的显示,显示方式包括数据的列表显示方式、图文显示方式、表格显示方式;数据库管理模块:用于管理客户端的数据,客户端的数据包括配置参数、电网基础的拓扑数据和计算结果数据;客户端通讯模块:实现与服务器端的通讯功能,可以向服务器端发送数据请求并接受来自服务器端发送计算的结果数据。

【技术特征摘要】
1.一种面向电力系统分析的软件平台,其特征在于,所述平台包括服务器端和客户端,所述平台的服务器端包括:电力系统算法库:用于存储电力系统的算法;历史数据库:用于存储电网的拓扑数据;内存数据库:用于缓存电力系统算法计算所需要的电网配置数据、算法中间结果的数据和输出的计算结果数据;服务器端通讯模块:实现与客户端的通讯,用于接收客户端的通讯请求并向客户端发送计算的结果数据;服务管理类模块:用于对服务进行管理,包括线程的产生、管理和销毁;服务线程类模块:用于完成计算任务,解析、生成通讯报文,该模块采用每服务每线程的运行模式,即每一个服务对应一个独立的线程;所述平台的客户端包括:可视化模块:用于实现数据的显示,显示方式包括数据的列表显示方式、图文显示方式、表格显示方式;数据库管理模块:用于管理客户端的数据,客户端的数据包括配置参数、电网基础的拓扑数据和计算结果数据;客户端通讯模块:实现与服务器端的通讯功能,可以向服务器端发送数据请求并接受来自服务器端发送计算的结果数据。2.一种如权利要求1所述的面向电力系统分析的软件平台的运行方法,其特征在于:所述方法包括下述步骤:步骤1、对软件运行平台进行启动,完成初始化操作,初始化的内容为判断电网拓扑数据是否存在以及判断加载软件所需的配置文件是否存在,若均存在则执行步骤2,否则发出错误提醒;步骤2、平台的服务器端的通讯模块监听来自客户端通讯模块的连接请求,客户端通过服务器端的IP地址和端口号向服务器端发出连接请求,建立通讯连接;步骤3、客户端的可视化模块加载系统配置文件,启动客户端的数据库管理工具,并将数据库中的配置参数传递给可视化模块,由客户端通讯模块向服务器端发送计算请求的数据报文,该报文包括计算所需的电网的基础拓扑数据,计算参数和计算指令;步骤4、服务器端的通讯模块响应客户端请求,服务管理类模块根据请求创建分配服务线程;步骤5、服务线程类模块解析通讯报文,根据客户端发送的数据报文要求进行计算,其中计算过程中的中间数据存储在内存数据库中;步骤6、服务器端通讯模块根据客服端的请求将计算后的结果和异常信息,进行XML格式的编码后返回给客户端;步骤7、服务器端服务管理类模块将线程关闭;步骤8、客户端通讯模块将服务器端返回的XML格式的数据进行解析,可视化模块加载解析后的数据并进行显示。3.如权利要求2所述的软件平台的运行方法,其特征在于,步骤5中服务线程类模块解析通讯报文,根据客户端发送的数据报文要求进行计算包括:步骤5-1、加载计算所需的电网拓扑数据的线程资源,保存连接的句柄;步骤5-2、对XML格式的通讯报文进行解析,得到报文内容;步骤5-3、根据步骤5-2中计算功能要求来调用平台中对应的算法函数,完成客户端要求的电力系统计算;步骤5-4、将步骤5-3计算的结果发送至服务端通讯模块。4.如权利要求3所述的软件平台运行方法,其特征在于,步骤5-3中的算法函数包括数据输入、启动计算和结果输出三个函数,具体为:步骤5-3-1、进行数据输入计算,将历史数据库中的电网拓扑数据缓存到内存数据库中;步骤5-3-2、启动计算,加载内存数据库中的数据,启动指定的电力系统算法进行计算;步骤5-3-3、获取结果,获取步骤5-3-2...

【专利技术属性】
技术研发人员:曾平良殷明慧张彦涛代倩徐洋超韩家辉高云龙蔡晨晓邹云
申请(专利权)人:中国电力科学研究院国家电网公司江苏省电力公司南京理工大学
类型:发明
国别省市:北京;11

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

1