负荷削减并行计算方法及装置制造方法及图纸

技术编号:17249711 阅读:38 留言:0更新日期:2018-02-11 08:11
本发明专利技术涉及一种负荷削减并行计算方法,读取支路节点开断数据,将支路节点开断数据均分到数据并行计算平台的多个分区中,获取Matlab与Java混合编程的负荷削减算法包;在各分区内分别调用负荷削减算法包计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。通过调用Matlab与Java混合编程的负荷削减算法包并行计算支路节点开断数据,获取支路节点负荷削减量,大大降低了负荷削减算法并行化开发的难度以及复杂度,当新加入一个负荷削减的算法,只需要对新算法进行Matlab与Java混合编程得到负荷削减算法包,就可以对该算法并行化,具有较好的普适性。

【技术实现步骤摘要】
负荷削减并行计算方法及装置
本专利技术涉及电网
,特别涉及一种负荷削减并行计算方法。
技术介绍
随着电力需求的持续增长及电网互联规模不断扩大,电力系统运行与控制需要处理大量的数据,而且对实时性有较高要求。电力系统负荷削减计算的传统串行方式在可处理规模与求解速度上无法满足大型电力网络的在线分析及实时控制等仿真要求,因此提出可行的支持复杂问题快速求解的并行计算方案。目前电力分析的并行计算一般为基于MPI(Message-Passing-Interface,消息传递接口)实现并行化计算。但是,负荷削减计算用到的算法非常多,将这些算法进行并行化开发难度大、复杂度高,而且如果新加入一个算法,需要再次进行并行化,不具有普适性。
技术实现思路
基于此,有必要针对负荷削减算法并行化开发难度大、复杂高、不具有普适性的问题,提供一种负荷削减并行计算方法。一种负荷削减并行计算方法,包括步骤:读取支路节点开断数据,将支路节点开断数据均分到数据并行计算平台的多个分区中,其中,数据并行计算平台包括分布式文件系统、MatlabRuntime以及计算引擎;获取Matlab与Java混合编程的负荷削减算法包;在各分区内分别调用负荷削减算法包,计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。上述负荷削减并行计算方法,通过将读取的支路节点开关数据均分到数据并行平台的多个分区中,在各分区内分别调用Matlab与Java混合编程的负荷削减算法包,并行计算当前分区内的支路节点开断数据,获取支路节点负荷削减量,大大降低了负荷削减算法并行化开发的难度以及复杂度,当新加入一个负荷削减的算法,只需要对新算法进行Matlab与Java混合编程得到负荷削减算法包,就可以对该算法并行化,具有较好的普适性。一种负荷削减并行计算装置,其特征在于,包括:数据读取模块,用于读取支路节点开断数据,将支路节点开断数据均分到数据并行计算平台的多个分区中,其中,数据并行计算平台包括分布式文件系统、MatlabRuntime以及计算引擎;算法包获取模块,用于获取Matlab与Java混合编程的负荷削减算法包;负荷削减量计算模块,用于在各分区内分别调用负荷削减算法包,计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。上述负荷削减并行计算装置,数据读取模块读取的支路节点开关数据均分到数据并行平台的多个分区中,负荷削减量计算模块在各分区内调用通过算法包获取模块获取的Matlab与Java混合编程的负荷削减算法包,并行计算当前分区内的支路节点开断数据,获取支路节点负荷削减量,大大降低了负荷削减算法并行化开发的难度以及复杂度,当新加入一个负荷削减的算法,只需要对新算法进行Matlab与Java混合编程得到负荷削减算法包,就可以对该算法并行化,具有较好的普适性。一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述负荷削减并行计算方法的步骤。一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行负荷削减并行计算方法的步骤。上述负荷削减并行计算的计算机设备以及存储介质,大大降低了负荷削减算法并行化开发的难度以及复杂度,当新加入一个负荷削减的算法,只需要对新算法进行Matlab与Java混合编程得到负荷削减算法包,就可以对该算法并行化,具有较好的普适性。附图说明图1为一个实施例的荷削减并行计算方法流程图;图2为一个实施例的负荷削减并行计算装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术的保护范围。参见图1所示,图1为本专利技术一个实施例的负荷削减并行计算方法的流程图,该实施例中负荷削减并行计算方法,包括以下步骤:步骤S101:读取支路节点开断数据,将支路节点开断数据均分到数据并行计算平台的多个分区中,其中,数据并行计算平台包括分布式文件系统、MatlabRuntime以及计算引擎。负荷削减计算针对的是电网中风险场景,即支路的开断情况。本步骤中,融合集成分布式文件系统(HadoopDistributeFileSystem,HDFS)、MatlabRuntime和计算引擎构建数据并行计算平台,读取支路节点开断数据,将支路节点开断数据均分到数据并行计算平台的多个分区中。其中,分布式文件系统提供对大数据集的高吞吐量访问,实现对电气计算的输入输出的多元异构数据的存储。MatlabRuntim是提前部署的Matlab的运行环境,使得数据并行计算平台内不需要安装Matlab软件,使Java程序能够正确调用Matlab程序。计算引擎提供并行计算环境。步骤S102:获取Matlab与Java混合编程的负荷削减算法包。Matlab具有较好的数值计算功能,通常负荷削减的计算程序都是由Matlab编写的。Java是一种跨平台,适合于分布式计算环境的面向对象的编程语言,但在数值分析和处理方面的能力并不突出。Matlab和Java混合编程可以实现两种语言的优势互补。步骤S103:在各分区内分别调用负荷削减算法包计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。上述负荷削减并行计算方法,通过将读取的支路节点开关数据均分到数据并行平台的多个分区中,在各分区内分别调用Matlab与Java混合编程的负荷削减算法包,并行计算当前分区内的支路节点开断数据,获取支路节点负荷削减量,大大降低了负荷削减算法并行化开发的难度以及复杂度,当新加入一个负荷削减的算法,只需要对新算法进行Matlab与Java混合编程得到负荷削减算法包,就可以对该算法并行化,具有较好的普适性。可选的,读取支路节点开断数据的步骤可以是从分布式文件系统读取支路节点开断数据,或着是从本地读取支路节点开断情况。在一个优选实施例中,计算引擎可以使用Spark计算引擎。Spark平台使用了弹性分布数据集(ResilientDistributedDataset,RDD),为基于内存计算和DAG(DirectedAcyclicGraph,有向无环图)的优化,在Spark平台上可以实施大规模实时并行的电气计算。融合集成HDFS、MatlabRuntime和Spark,构建数据并行计算平台。HDFS存储负荷削减并行计算数据的输入以及输出。MatlabRuntime提供Matlab计算环境,Spark提供分布式并行计算环境。其中,MatlabRuntime和Spark的整合需要通过管理界面的配置文件在yarn-site.xml的NodeManager高级配置代码段(安全阀)配置Matlab的读写目录。具体的,从HDFS或本地读取支路节点开断数据后,在Spark上继承org.apache.spark.Partitioner这个类来实现自定义分区功能,将读取到的数据均分到每个spark中的worker上,确保每个worker的计算能力相同,完成负荷削减并行计算。在本实施例中,采用一定的运算机制把计算任务分担到多台机器上,让每台机器都承担一部分的计算和数据存储在内存中的,实现内存分布式计算框架。使用内存本文档来自技高网...
负荷削减并行计算方法及装置

【技术保护点】
一种负荷削减并行计算方法,其特征在于,包括步骤:读取支路节点开断数据,将所述支路节点开断数据均分到数据并行计算平台的多个分区中,其中,所述数据并行计算平台包括分布式文件系统、Matlab Runtime以及计算引擎;获取Matlab与Java混合编程的负荷削减算法包;在各所述分区内分别调用所述负荷削减算法包,计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。

【技术特征摘要】
1.一种负荷削减并行计算方法,其特征在于,包括步骤:读取支路节点开断数据,将所述支路节点开断数据均分到数据并行计算平台的多个分区中,其中,所述数据并行计算平台包括分布式文件系统、MatlabRuntime以及计算引擎;获取Matlab与Java混合编程的负荷削减算法包;在各所述分区内分别调用所述负荷削减算法包,计算当前分区内的支路节点开断数据,获取支路节点负荷削减量。2.根据权利要求1所述的负荷削减并行计算方法,其特征在于,所述读取支路节点开断数据的步骤包括以下步骤:从所述分布式文件系统或本地读取支路节点开断数据。3.根据权利要求1所述的负荷削减并行计算方法,其特征在于,所述获取Matlab与Java混合编程的负荷削减算法包的步骤包括以下步骤:将Matlab负荷削减串行算法封装为Java类,发布为jar包;对所述jar包进行测试,若测试成功,将所述jar包作为负荷削减算法包;若测试失败,则转至将Matlab负荷削减串行算法封装为Java类,发布为jar包的步骤。4.根据权利要求3所述的负荷削减并行计算方法,其特征在于,所述对jar包进行测试的步骤包括以下步骤:记录Matlab负荷削减串行算法的输入数据的值和类以及输出数据的值和类型;根据所述输入数据的值和类,在Java中构建与Matlab相对应的数据结构;导入所述jar包,根据所述jar包获取Java程序;将所述数据结构传入所述Java程序,获取所述数据结构的执行结果,对比所述数据结构的执行结果与Matlab负荷削减串行算法的输出数据,若所述执行结果的值和类型与所述输出数据的值和类型相同,测试成功。5.根据权利要求1所述的负荷削减并行计算方法,其特征在于,所述在各所述分区内分别调用所述负荷削减算法包...

【专利技术属性】
技术研发人员:陆国俊胡金星章磊栾乐李光茂何兵肖天为冯圣中崔屹平
申请(专利权)人:广州供电局有限公司中国科学院深圳先进技术研究院
类型:发明
国别省市:广东,44

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

1