首页> 中国专利> 一种优化数据库技术实现电网仿真效率的方法

一种优化数据库技术实现电网仿真效率的方法

摘要

本发明提供一种用于优化数据库技术实现电网仿真效率的方法,电网专用数据管理数据库comdb采用链表的方式查询存储通用数据库Mysql中电网数据,并且使用二分查找法查找指定的数据,对读取到comdb中的进行有效性、合理性校验检查并单独保存,数据准备完成后,建立数据拓扑结构,根据计算类型,进行不同的处理,若是潮流计算,进行潮流计算程序,计算完毕后电网专用数据管理数据库comdb根据计算结果信息更新自身内容,将最终结果更新到通用数据库Mysql中,结果信息用报表来展示;若是其他类型的计算,根据计算文件格式,生成对应的计算文件,其他计算程序读取计算文件进行计算,并生成结果文件,通用数据库Mysql根据结果文件的信息直接进行更新,并使用报表来展示。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-02-01

    实质审查的生效 IPC(主分类):G06F16/2453 专利申请号:2020116092865 申请日:20201230

    实质审查的生效

说明书

技术领域

本发明属于电力系统分析计算领域,涉及一种基于内存存储的数据库在电力系统分析中的应用方法,尤其涉及一种用于优化数据库技术实现电网仿真效率的方法。

背景技术

电力行业是一个国家最为重要的基础行业,对民众的日常生活和社会生产有极为重要的作用,近些年来,我国的综合国力提升迅速,电力需求也越来越大,为了满足各方面的电力需求,需要不断改进电力系统,研究新技术。但是随着电网的快速建设和各种新型电力设施的投入使用,电网日益庞大化和复杂化。由此导致电网仿真软件中的数据量迅速增长。

电网仿真软件中,一般采用数据库存储海量的数据。目前的主流数据库技术,大多都是通用数据库技术,即:平衡了增删改查效率,平衡了事务处理、故障恢复、并行、数据安全等效率,在综合性能方面得分很高,但是在某一个特性方面,可能得分会比较低。在电网仿真中,大部分数据不会发生太大的变化,更多的是通过不断的微调数据,实现各种仿真。因此,如果采用通用数据库技术来实现电网仿真,随着数据量的不断增加,根据电网仿真的特点,仿真速度将呈指数级下降,将严重影响用户体验和工作效率。

发明内容

针对电网数据以及仿真的特点,将电网数据存储至内存,并结合特定的数学方法和计算机方法,摈弃一些非常用的功能,优化一些常用功能的效率,实现了一个电网专用的高效的数据库。

本发明要解决的技术问题是,采用一种方法,实现类似数据库的功能,可以更快速的进行数据的增删改查、拓扑、检查等操作,可以作为整个程序的核心数据枢纽,对程序的图形显示、各种模块的计算和模块交互提供支持,以此提高不断增长的数据量下的仿真程序执行效率。

第一步,通过存于计算机硬盘中通用数据库Mysql进行持久化存储电网数据。

第二步,电网专用数据管理数据库comdb查询存取通用数据库Mysql中的电网数据,电网专用数据管理数据库comdb采用链表的方式存储电网数据,针对每条记录进行分配;并将其按名称排序,逐字段将数据复制到所管理的内存中进行使用,因为读取到内存中的数据是按名称排好序的数据,所以,在查找指定的数据时,可以使用二分查找法。

第三步,对读取到电网专用数据管理数据库comdb中的分区、区域、厂站、节点和各元件数据进行有效性、合理性校验检查;例如分区校验,对于每条分区信息,检查分区名称是否为空,如果为空,则将该信息输出至日志,并跳过后续操作;如果数据正确,则采用二分法查找此分区对应的厂站信息,如果没有找到对应的区域信息,则将该信息输出至日志,并跳过后续操作,否则将查找到区域信息记录至该分区中。如果分区有对应的区域信息,还需要将分区和区域的关系单独保存,以供后续查找使用;检查操作完成后,并将分区和厂站、厂站和母线、厂站和各元件、母线和节点、节点和各元件的关系单独保存。

第四步,数据准备完成后,建立数据拓扑结构,电网专用数据管理数据库comdb会增加用于保存计算节点的辅助拓扑表bs和用于保存整个电网的关系的辅助拓扑表bsl,根据节点信息,依次初始化辅助拓扑表bs,按顺序对辅助拓扑表bs里的节点进行编号,根据广度搜索法对整个的电网进行遍历,将搜索到的电网关系保存到助拓扑表bsl中。

第五步,整个电网搜索完成后,根据设备之间的关系,电网可划分为一个或多个独立的区域,然后对每个区域进行编号,并逐个对每个区域进行搜索,判断该区域中是否存在发电机或负荷,以判断该区域是活动区域或者是死区域。最后,将bsl中的信息保存至其他记录中,用于后续处理。

第六步,根据当前的计算类型,进行不同的处理,若是潮流计算,comdb会开辟一块新的内存,并将数据按照潮流计算程序所要求的格式复制到新内存中,进行潮流计算程序,计算完毕后电网专用数据管理数据库comdb根据计算结果信息更新自身内容,该新内存中的内容即为计算后的结果信息,将最终结果更新到通用数据库Mysql中,结果信息用报表来展示;若是其他类型的计算,根据计算文件格式,生成对应的计算文件,其他计算程序读取计算文件进行计算,并生成结果文件,通用数据库Mysql根据结果文件的信息直接进行更新,并使用报表来展示。

技术效果

电网专用数据管理数据库Comdb进行电网信息处理,速度快,扩展性好,简单易用。

电网专用数据管理数据库Comdb对其他应用强大的支持性。

该数据库可以快速的构建电网拓扑结构,快速查找到指定的信息,并可以存储拓扑后的电网结构信息,对于后续处理,不在拓扑,从而提升了仿真效率。

该方法可以快速拓扑出电网结构,分析电网设备间的关系,也可以对电网信息进行管理和维护,在此基础上,该数据库还可以支撑其他的一些应用,例如单线图程序等等,同时还具有很强的扩展性和易维护性。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为一种基于内存存储的数据库在电力系统分析中的应用方法流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

随着电网的快速建设和各种新型电力设施的投入使用,电网日益庞大化和复杂化。由此导致电网仿真软件中的数据量迅速增长。

电网仿真软件中,一般采用数据库存储海量的数据。目前的主流数据库技术,大多都是通用数据库技术,即:平衡了增删改查效率,平衡了事务处理、故障恢复、并行、数据安全等效率,在综合性能方面得分很高,但是在某一个特性方面,可能得分会比较低。在电网仿真中,大部分数据不会发生太大的变化,更多的是通过不断的微调数据,实现各种仿真。因此,如果采用通用数据库技术来实现电网仿真,随着数据量的不断增加,根据电网仿真的特点,仿真速度将呈指数级下降,将严重影响用户体验和工作效率。

针对电网数据以及仿真的特点,将电网数据存储至内存,并结合特定的数学方法和计算机方法,摈弃一些非常用的功能,优化一些常用功能的效率,实现了一个电网专用的高效的数据库。

本发明要解决的技术问题是,采用一种方法,实现类似数据库的功能,可以更快速的进行数据的增删改查、拓扑、检查等操作,可以作为整个程序的核心数据枢纽,对程序的图形显示、各种模块的计算和模块交互提供支持,以此提高不断增长的数据量下的仿真程序执行效率。

电网专用数据管理数据库comdb是一套自主开发的电网专用数据管理数据库,该数据库将数据存储于内存中,以高速的内存提升自身性能。电网数据特点是查找操作多,增删改的操作比较少,因此采用二分查找法重点优化了数据查找的性能,并额外存储了电网的结构信息,避免了反复的查找操作,以此来提高效率,二分查找法是数学中一种基本的算法,基本思想是一个数据非黑即白,对于排好序的数据,假定是升序,如果要查找给定的数据X,先从序列的中间位置开始比较,如果中间位置的数据为X,则查找成功;若X小于中间位置的数据,则数据一定位于其实位置和中间位置之间,那么中间位置以后的数据不再参与比较,将起始位置至中间位置当做一个新的序列,再次使用该方法查找;同理,如果X大于中间位置的数据,则数据一定位于中间位置至结束位置之间,那么中间位置以前的数据不再参与比较,将中间位置至结束位置当做一个新的序列,再次使用该方法查找,该方法每次比较可以放弃一半的数据,因此,当数据量很大,并且是排好序的数据时,很适宜采用此方法。

通过存于计算机硬盘中通用数据库Mysql进行持久化存储电网数据。

电网专用数据管理数据库comdb查询存取通用数据库Mysql中的电网数据,电网专用数据管理数据库comdb采用链表的方式存储电网数据,因为电网数据量大,所以comdb会占用比较多的内存,如果采用数组的方式存储,则存在内存中无法找到相应大小的整块内存,导致内存分配失败。因此,在存储电网数据时,采用链表的方式,针对每条记录进行内存分配,以此避免内存分配失败的问题。针对每条记录进行分配,并将其按名称排序,逐字段将数据复制到所管理的内存中进行使用,因为读取到内存中的数据是按名称排好序的数据,所以,在查找指定的数据时,可以使用二分查找法。

读取到comdb中的数据需要进行校验。校验时,需对分区、区域、厂站、节点和各元件等数据进行有效性、合理性检查。例如分区校验,对于每条分区信息,检查分区名称是否为空,如果为空,则将该信息输出至日志,并跳过后续操作;如果数据正确,则采用二分法查找此分区对应的厂站信息,如果没有找到对应的区域信息,则将该信息输出至日志,并跳过后续操作,否则将查找到区域信息记录至该分区中。如果分区有对应的区域信息,还需要将分区和区域的关系单独保存,以供后续查找使用。

同理,对于其他数据也是类似的检查操作,并将分区和厂站、厂站和母线、厂站和各元件、母线和各元件、母线和节点、节点和各元件的关系单独保存。至此,一次数据校验完毕,并处理好了电网之间的数据关系,后续使用时,可以不用再次查询,直接使用已有的数据关系即可。

此时,comdb会增加两个辅助拓扑表,分别是bs和bsl,bs用于保存计算节点,bsl用于保存整个电网的关系。首先需要初始化bs表,根据节点信息,依次初始化bs表,如果某节点所属的计算节点已经存在于bs中,则跳过该节点。初始化完毕bs后,按顺序对bs里的节点进行编号,然后再根据广度搜索法对整个的电网进行遍历,将所搜到的电网关系保存到bsl中。

整个电网搜索完成后,根据设备之间的关系,电网可划分为一个或多个独立的区域,然后对每个区域进行编号,并逐个对每个区域进行搜索,判断该区域中是否存在发电机或负荷,以判断该区域是活动区域或者是死区域。最后,将bsl中的信息保存至其他记录中,用于后续处理。

根据当前的计算类型,进行不同的处理,若是潮流计算,comdb会开辟一块新的内存,并将数据按照潮流计算程序所要求的格式复制到新内存中,进行潮流计算程序,计算完毕后电网专用数据管理数据库comdb根据计算结果信息更新自身内容,该新内存中的内容即为计算后的结果信息,将最终结果更新到通用数据库Mysql中,结果信息用报表来展示;若是其他类型的计算,根据计算文件格式,生成对应的计算文件,其他计算程序读取计算文件进行计算,并生成结果文件,通用数据库Mysql根据结果文件的信息直接进行更新,并使用报表来展示。

技术效果

电网专用数据管理数据库Comdb进行电网信息处理,速度快,扩展性好,简单易用。

电网专用数据管理数据库Comdb对其他应用强大的支持性。

该数据库可以快速的构建电网拓扑结构,快速查找到指定的信息,并可以存储拓扑后的电网结构信息,对于后续处理,不在拓扑,从而提升了仿真效率。

该方法可以快速拓扑出电网结构,分析电网设备间的关系,也可以对电网信息进行管理和维护,在此基础上,该数据库还可以支撑其他的一些应用,例如单线图程序等等,同时还具有很强的扩展性和易维护性。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号