2023年11月30日发(作者:)

内存对象数据库在输配电网平台并发拓扑分析中的应用

李飞;黄琦;纪元;贺彦

【摘 要】首先设计并开发了面向对象的内存数据库,采用了分区、分页存储技术,

用于大规模电网模型的高效缓存和检索[4-5].该内存对象数据库集成进一个实时

GIS平台,为实现了大规模并发的拓扑追踪服务提供模型数据.其次本文介绍了基于

任务调度队列的拓扑追踪和开关操作系列的并行处理技术,解决了多客户请求的并

行执行及其冲突问题.接着本文针对跨分区的操作请求,采用父子任务的形式加入任

务队列.最后本文在某省上线系统中进行了压力测试,本文开发的系统在千万级的电

网设备模型规模下,每台服务器1 000并发请求的处理时间小于0.1.

【期刊名称】《贵州电力技术》

【年(),期】2016(019)011

【总页数】6(P29-34)

【关键词】电网GIS平台;并行电网拓扑分析;内存对象数据库;任务调度队列

【作 者】李飞;黄琦;纪元;贺彦

【作者单位】电子科技大学能源科学与工程学院,四川成都610054;贵州电网有限

责任公司信息中心,贵州贵阳510623;电子科技大学能源科学与工程学院,四川成都

610054;贵州电网有限责任公司信息中心,贵州贵阳510623;深圳航天科工(集团)

,广东深圳518048

【正文语种】

【中图分类】TM71

地理信息系统(Geographical Information SystemGIS)是输配电网规划、运行

调度与抢修决策支持系统的基础数据管理和可视化平台[1-3]。

拓扑分析是实现检修调度、停电管理及输配电高级决策的基础功能[6-8]。而并

行的拓扑分析服务是GIS平台应用服务器的主要设计难点之一[9-10]。一方面,

电网模型包括了全省输电网和配电网,设备规模达到千万级,遍布全省的各区县局

的不同用户,经常出现大规模的并发访问用户请求[11-13;而且开关分合操作

会产生大量设备动态拓扑关系的变动,同时进行的开关分合操作和拓扑追踪操作相

互之间可能产生冲突。实现大规模并发拓扑分析服务的关键是模型数据处理和任务

调度。[14-16

2.1实时态、研究态管理的需求

GIS平台支撑的生产、规划等业务系统需要进行模拟拓扑分析操作,例如以当前开

关运行状态或者年度正常运行状态为基础,分析拉合若干个开关产生的停电计划。

这需要在GIS的应用服务器上提供实时态、正常态和研究态的拓扑分析支持。其

中,实时态对应电网的当前运行状态、开关状态随SCADA遥信以及调度人工置位

及时更新,正常态对应年度(或者月度)运行方式、开关状态通常不改变,研究态是

基于实时态或者正常态进行模拟分析的状态,三者都包括开关位置、电流方向、设

备带电和接地状态、环路状态等动态数据。正常态、实时态是所有用户共享的全局

数据,研究态是一个用户独享或者少数人共享(例如用于多人联合分析)的数据。

研究态是用户发出开始模拟分析请求后才在应用服务器上创建的,并且从实时态或

者正常态拷贝数据来初始化研究态。这需要解决两个问题,一是复制范围应尽可能

的小、因为配网分析通常只是针对几条线路、不必要复制整个省的数据,二是要快

速,理想情况下希望1个分县局配网的研究态初始化在20 ms以内完成。

以本GIS平台在贵州电网的实现为例,应用服务器的内存中包含了11个输电线路、

11个变电站和100个分县局配电低压的实时态分区。当某个用户请求对某条或几

条配电线路进行停电分析时,用户所选择要进行分析的区县局配电分区和相关变电

站分区(通常各包含一个),从实时态拷贝数据进行初始化,创建研究态时复制数据

的示意图如图1所示。

2.2拓扑分析内存对象结构设计

GIS平台的应用服务器和拓扑分析服务都是采用C++语言编写而成。通常C++

序采用new来分配每个对象,使用数组(Array)或者链表(List)来存储多个对象的集

合、内部使用指针来存储集合到单个对象的引用。这种方式在面对大数据量的配电

网拓扑应用时存在几个问题。

(1)内存碎片。由于每个设备对象都分配一次内存、而每次分配的内存长度都是几

十至一百字节左右的小内存,全省的设备将产生上千万个次小对象的内存分配,从

而产生大量的内存碎片,产生额外的内存利用和管理开销。

(2)由于指针的存在导致难以快速实现研究态之间的快速拷贝。

从提高执行效率角度、以及支持研究态的快速拷贝初始化等应用需求出发,拓扑分

析服务使用了一套称为“A对象”(即Analytical Object,分析对象)的内存对象结

构。A对象从图形浏览服务和空间分析服务所使用的“G对象”(即GIS Object

地理信息对象)中初始化,并经过经过拓扑化简、内存分页分块压缩后得到,如图

2所示。

G对象是针对设备的图形和属性服务应用,抽象了设备的几何特征,包含了点状设

(Gadget)和线状设备(Segment)以及拓扑连接点(Node)A对象是针对配电网

拓扑分析的需求,按拓扑类型,细分为ASwitch(开关刀闸类)ASegment(架空、

电缆)APowerTrans(主变)AMVTrans(配变)AShunt(并联电容器、电抗器)

AGenerator(发电机)AEnergySource(电源点)AToHouse(低压落点点、进户

)等。G对象经过拓扑化简形成A对象,线路上连续的多个架空线段化简为一个

ASegment对象,站内相连的电气连接线和母线段化简为一个Node,开关、变

压器等保存化简后的Node索引。

按拓扑类型拆分后,每个类型的A对象在内存中是固定长度的,能够采用分页的

形式进行高效内存分配,如图3所示。对于每个分区,每种A对象类型都有一个

首地址数组CPtrArrayAtypeID],其中AtypeID是对象类型ID的枚举值。该

数组包含了Page页地址数组CPtrArrayPageIndex],数组每个成员都是一个

Page页。每个Page页包含1024A对象,采用一次内存分配、然后再按地址

偏移逻辑上划分为1024个对象,避免每个对象进行内存分配带来的内存碎片问题。

采用分页形式的A对象结构同时消除了拓扑分析常用的对象之间的指针,改为A

对象的下标进行相互引用。当从实时态或者正常态中初始化研究态时,只需要使用

memcpy复制整个Page页,不需要逐个复制对象并且修改指针引用。而按对象

下标进行访问又具有很高的随机访问效率,按Page地址数组[对象Index>>10

+(对象Index1024)*(对象尺寸)就可以快速获得。

经过实际系统测试,贵州全省输变配低压的G对象内存缓存为50GB,经过拓扑

化简后并按拓扑类型进行分组、分页、去除指针处理后,容量缩减至10GB;分页

后的A对象单线程随机访问100万对象小于10毫秒;单个分区的研究态初始化时

间控制在10毫秒。

2.3拓扑分析的任务调度队列

针对拓扑分析服务并发访问、以及开关置位产生的动态拓扑变动与拓扑追踪互斥等

特性,系统采用了基于分区的优先级任务调度队列方式,实现支持多用户并行分析

同一个分区的数据,以及跨分区之间的联络线路相关的分析,如图4所示。每个

分区维护一个高优先级和一个低优先级任务队列,其中高优先级队列为带电初始化、

分区内开关置位、跨分区的联络点状态改变等需要互斥串行执行的分析处理;低优

先级队列为供电电源追踪、供电范围追踪、转供电分析等可以并行执行的分析处理。

进一步系统维护了一个拓扑分析线程池,如图5所示。工作线程轮流处理各个分

区的任务队列,先处理高优先级,再处理低优先级,调度算法如下:

(1)对于一个分区,任何一个时间只有一个线程执行高优先级任务()操作,但是可

以有多个线程执行常规优先级队列;

(2)线程执行高优先级任务时,一直执行完本分区的操作任务,中间不中断;

(3)每个线程只在分区内部处理高优先级和常规优先级的任务,通过联络点对对方

分区的改变(父任务),是通过创建新的子任务(“联络点对端状态改变”),加入对

端分区的高优先级任务、父任务挂起等待子任务完成来异步的实现。

设置开关状态服务是GIS应用服务器为B/S客户端提供改变电网带电状态变化的

主要服务,功能是根据研究态ID、开关分合状态操作指定研究态的电网设备带电

状态。该服务的输入参数包括研究态ID(要操作研究态)、开关ID和开关分合状态,

输出参数是开关校核结果。该服务主要实现流程如图6所示,包括如下步骤。

(1)解析WebService的输入参数,获得操作的研究态对象、拓扑开关对象和开关

分合状态;

(2)产生开关操作任务,把此任务加入到指定分区的高优先级任务队列中;

(3)等待开关操作任务完成;

(4)调度模块定时轮询各个分区任务队列,判断是否存在可调度任务,如果不存在

继续步骤4,否则步骤5;

(5)开始执行任务,按照拓扑分析化简A对象进行初始化,处理过程中记录跨分区

联络点;

(6)判断是否存在跨分区联络点,如果存在执行步骤7,否则执行步骤8

(7)产生带电变化子任务,把此任务加入到对端分区的高优先级任务队列中;

(8)任务完成,释放资源,唤醒挂起任务;

(9)收到唤醒信号,打包操作结果,返回。

基于本文研究成果开发的GIS平台在贵州电网压力测试中表现出很高的并发处理

性能。基于表1全省数据量情况下,使用LoadRunner模拟20个虚拟用户对单

台服务器(48核心)进行连续不间断的压力测试,模拟进行10 kV开关分合对下游

10 kV0.4 kV的影响,开关置位平均1020毫秒,供电范围分析10100

(当返回10 000个以上设备时,需要花费更多的传输时间),详细测试结果图6

和表2,事务响应曲线见图7,测试配置参数见表3,测试用例的数据量见表4

GIS平台数据统计如表1所示(截止2014.12),全省共分为11个主网分区和99

个配网分区。

针对省级集中部署的电网GIS平台对大规模并发服务处理和拓扑分析服务的需求,

本文提出了并行拓扑处理构建GIS应用服务器,解决拓扑分析服务并发访问、以

及开关置位产生动态拓扑变动与拓扑追踪互斥等问题,系统采用了简化拓扑对象和

基于分区的优先级任务调度队列方式即能实现对不同分区同时进行分析,还能支持

多个分区进行模拟操作,具有明显的技术优势。

6]李伟.基于ArcGIS的电网GIS空间信息服务平台建设[J.山西建筑,2011

37(6):252-253. Li uction of GIS spatial information service

platform for power grid based on ArcGISJ.Shanxi architecture2011

37 (6):252-253.

7]陈斌.基于Smallworld的配电GIS应用研究[J.技术研发,2012

19(5):70-73. Chen ch on the application of distribution GIS based

orld technology research and developmentJ],Technology

research and development201219(5):70-73.

8]赵强,杨柳.基于Oracle Spatial的配电网GIS拓扑分析与应用[C.中国计

算机学会.全国第四届Web信息系统及其应用学术会议、全国第二届语义Web

本体论学术研讨会、全国电子政务技术与办公自动化学术研讨会论文集.北京,

2007: 123-125.

9]邓佑满,贺英,等.基于NT的配电管理系统[J.电力系统自动化,2000

24(8):52-56. Deng YoumanHe Yinget bution management

system based on NTJ.Automation of electric power systems200024

(8):52-56.

10]廖卫列,刘军,等.基于地理信息系统的配电网络拓扑分析及其应用[J.

电网技术,200630(1):85-88. Liao WeilieLiu Junet gy analysis

of distribution network based on geographic information system and its

applicationJ.Power system technology200630(1):85-88.

11]王博.大规模配电网快速N-X校验方法研究[J.中国电业(技术版)2011

(5):26-30. Wang N-X verification method for large-scale

distribution networkJ.China electric power(Technology Edition)2011

(5):26-30.

12]黄正,陈凡,等.电网拓扑分析算法的研究[J.南京工程学院学报(自然科

学版)201311(2):43-49. Huang Zhengchen fanet on

network topology analysis algorithmJ.Journal of Nanjing Institute of

Technology (NATURAL SCIENCE EDITION)201311(2):43-49.

13]李锋,张源.电路并行拓扑分析[J.信息与电子工程,20086(3):172-

175. Li FengZhang t parallel topology analysis

J.Information and electronic engineering20086(3):172-175.

14]吴文传,张伯明,徐春晖.调度自动化系统实时数据库模型的研究与实现

J.电网技术,200125(9):28-32. Wu WenchuanZhang BomingXu

ch and implementation of real time database model of

dispatching automation systemJ.Power system technology200125

(9):28-32.

15]王珊,肖艳芹,等.内存数据库关键技术研究[J.计算机应用,2007

27(10):2354-2357. Wang ShanXiao Yanqinet ch on Key

Technologies of memory databaseJ.Computer application200727

(10):2354-2357.

16]刘云生,李国徽.实时内存数据库的装入[J.软件学报,2000

11(6):829-835. Liu YunshengLi Guohui.The load of real time memory

databaseJ.Software journal200011(6):829-835.

李飞(1974),男,博士研究生,高级工程师,从事电力信息化,检测技术及自动

化装置方向研究工作。e-main:************

【相关文献】

1]陈竞成,张学松,于尔铿.配电管理系统(DMS)及其应用功能[J.电力系统自动化,1999

23(18):4548. ChenJingchengZhangXuesongbution management

system(DMS)and its applicationJ.Automation of electric power systems1999

23(18):45 48.

2]翁颖钧,朱仲英.地理信息系统技术在电力系统自动化中的应用[J.电力系统自动化,2003

27(18):7478. WenYingjunation of geographic information

system technique in automation of power systemsJ. Automation of Electric Power

Systems20032 7(18):7478.

3]王瀚秋,刘开.低压配电网GIS结合电力营配一体化信息平台的建设与应用[J.电力信息化,

20108(1):71-74. Wang HanqiuLiu uction and application of low voltage

distribution network GIS combined with electric power distribution and integration

information platformJ.Electric power information20108(1):71-74.

4]刘才华.电网GIS地理信息服务平台建设与应用效益分析[J.数字技术与应用,2012

(10):235-236. Liu uction and application benefit analysis of GIS geographic

information service platform for power gridJ.Digital technology and application

2012(10):235-236.

5]林峰,郭宝,钱蔚.面向公共电网GIS平台的电网地理图形应用架构[J.电力系统自动化,

201135(24):6367. Lin FengGuo BaoQian ation framework of

powersystem automation for the public grid GIS platformJ.Automation of electric

power systems201135(24):63-67.