基于Spark流图合并的电网设备拓扑着色方法及装置与流程

文档序号:26754565发布日期:2021-09-25 03:34阅读:75来源:国知局
基于Spark流图合并的电网设备拓扑着色方法及装置与流程
基于spark流图合并的电网设备拓扑着色方法及装置
技术领域
1.本发明涉及电网拓扑分析技术领域,尤其涉及一种基于spark流图合并的电网设备拓扑着色方法及装置。


背景技术:

2.电力系统拓扑着色可根据设备的电气连接关系以及断路器、开关类设备的实时状态、接入电源情况、接地情况、合环运行情况,确定系统中各种电气设备的带电、停电、接地等状态,并将结果在人机界面上用不同的颜色显示出来,即按拓扑岛着色功能:死岛:不带电的元件统一用一种颜色表示;接地岛:接地元件统一用一种颜色表示;活岛:正常带电的元件根据其不同的电压等级分别用不同的颜色表示,对于电网解列形成的多个活岛情况,也可为各岛配置不同的颜色。
3.拓扑着色可由事件触发,即当电网的运行状态发生改变,导致一部分电气元件和电气设备不带电或恢复带电时,能根据开关实时遥信变位计算电力系统各设备的带电状态。
4.目前对电力系统拓扑岛识别的方法主要有深度搜索法,广度搜索法等。深度/广度搜索原理简单,但是对复杂网络略显不足;对于大型电网计算效率偏低,实时性不强。


技术实现要素:

5.本发明的目的在于提供一种基于spark流图合并的电网设备拓扑着色方法及装置,用于解决配电网络拓扑规模大,计算成本高且速度慢的问题。
6.本发明采用的技术方案如下:
7.本发明提供一种基于spark流图合并的电网设备拓扑着色方法,包括:
8.对配电网实时库模型进行预处理,得到原始图模型数据;
9.基于原始图模型数据构建配电网拓扑图;
10.基于配电网拓扑图计算配电网静态拓扑岛;
11.基于配电网静态拓扑岛计算配电网动态拓扑岛;
12.基于配电网静态拓扑岛和配电网动态拓扑岛进行拓扑着色。
13.进一步的,所述对配电网实时库模型进行预处理,得到原始图模型数据,包括:
14.从配电网实时库中获取模型数据;所述模型数据包括涉及配电网拓扑的设备表信息和域信息;
15.根据设备表信息,拆解双节点、多节点和单节点设备为双节点设备;其中单节点设备另一端子terminal用

1补全;
16.聚合所有设备表中设备端子terminal,去重作为顶点数据,顶点属性默认1;
17.聚合所有设备表中设备作为边数据,设备属性作为边属性;
18.顶点数据和边数据构成原始图模型数据。
19.进一步的,所述基于原始图模型数据构建配电网拓扑图,包括:
20.将原始图模型数据中设备端子terminal抽象为图顶点vertex;
21.将原始图模型数据中设备抽象为图的边edge;
22.使用graphx构造函数以vertex与edge构建配电网拓扑图。
23.进一步的,所述基于配电网拓扑图计算配电网静态拓扑岛,包括:
24.在配电网拓扑图上运行graphx的连通组件算法,单节点设备边为非连通状态,多节点设备边为连通状态,相互连接的设备组成一个连通区域,作为一个配电网静态拓扑岛,缓存在redis集群中。
25.进一步的,还包括:
26.定时进行配电网静态拓扑岛计算,并更新配电网静态拓扑岛版本号,配电网静态拓扑岛版本号依次递增,redis集群中缓存版本号差值小于3的配电网静态拓扑岛,定期清理过期版本配电网静态拓扑岛。
27.进一步的,还包括:
28.采用sparkstreaming实时消费kafka消息中间件topic中的配电网系统模型变更消息;
29.配电网系统模型变更时重新计算配电网静态拓扑岛,更新配电网静态拓扑岛版本号并缓存到redis集群中。
30.进一步的,所述基于配电网静态拓扑岛计算配电网动态拓扑岛,包括:
31.静态拓扑岛中的设备在从redis集群中获取遥信状态,通过graphx转换算子将静态拓扑岛转换为有开关状态的拓扑图;
32.判断拓扑图中设备遥信值和设备类型属性,遥信合闸则图的边为连通状态,遥信分闸则图的边为非连通状态,电源和单节点设备为非连通状态,再次进行graphx的连通组件算法计算,得到配电网动态拓扑岛。
33.进一步的,所述基于配电网静态拓扑岛和配电网动态拓扑岛进行拓扑着色,包括全局拓扑着色和实时拓扑着色;
34.所述全局拓扑着色包括:
35.以所有静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
36.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值;所述电源状态包括带电、接地和停电状态;
37.所述实时拓扑着色包括:
38.实时消费kafka消息中间件中配电系统开关变位消息,以开关所属静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
39.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值。
40.进一步的,还包括:
41.采用多线程并行进行拓扑着色,每个线程处理至少一个静态拓扑岛。
42.本发明另一方面提供一种基于spark流图合并的电网设备拓扑着色装置,包括:
43.预处理模块,用于对配电网实时库模型进行预处理,得到原始图模型数据;
44.图模块,用于基于原始图模型数据构建配电网拓扑图;
45.第一计算模块,用于基于配电网拓扑图计算配电网静态拓扑岛;
46.第二计算模块,用于基于配电网静态拓扑岛计算配电网动态拓扑岛;
47.以及,
48.着色模块,用于基于配电网静态拓扑岛和配电网动态拓扑岛进行拓扑着色。
49.进一步的,所述预处理模块具体用于,
50.从配电网实时库中获取模型数据;所述模型数据包括涉及配电网拓扑的设备表信息和域信息;
51.根据设备表信息,拆解双节点、多节点和单节点设备为双节点设备;其中单节点设备另一端子terminal用

1补全;
52.聚合所有设备表中设备端子terminal,去重作为顶点数据,顶点属性默认1;
53.聚合所有设备表中设备作为边数据,设备属性作为边属性;
54.顶点数据和边数据构成原始图模型数据。
55.进一步的,所述第一计算模块具体用于,
56.在配电网拓扑图上运行graphx的连通组件算法,单节点设备边为非连通状态,多节点设备边为连通状态,相互连接的设备组成一个连通区域,作为一个配电网静态拓扑岛,缓存在redis集群中。
57.进一步的,所述第二计算模块具体用于,
58.静态拓扑岛中的设备在从redis集群中获取遥信状态,通过graphx转换算子将静态拓扑岛转换为有开关状态的拓扑图;
59.判断拓扑图中设备遥信值和设备类型属性,遥信合闸则图的边为连通状态,遥信分闸则图的边为非连通状态,电源和单节点设备为非连通状态,再次进行graphx的连通组件算法计算,得到配电网动态拓扑岛。
60.进一步的,所述着色模块具体用于,
61.以所有静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
62.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值;所述电源状态包括带电、接地和停电状态;
63.以及,
64.实时消费kafka消息中间件中配电系统开关变位消息,以开关所属静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
65.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值。
66.本发明的有益效果为:
67.本发明方法充分结合spark流计算与图计算技术特点,在电网拓扑分析计算时,将电网拓扑分为不考虑开关分合的静态拓扑与考虑开关实时分合状态的动态拓扑计算;拓扑着色以静态拓扑岛为基础,根据开端设备实时变位,并行重计算静态拓扑岛带电状态,按照连通岛不同电源状态给电网设备拓扑着色。本发明解决了大规模电网模型拓扑计算复杂度高、实时性低的技术问题。
附图说明
68.图1为本发明的基于spark流图合并的电网设备拓扑着色方法流程图;
69.图2为本发明中静态和动态拓扑计算实施架构;
70.图3为本发明中静态拓扑计算示意图;
71.图4为本发明中动态拓扑计算与拓扑着色示意图。
具体实施方式
72.下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
73.本发明提出采用图的数据结构计算配电网拓扑岛,使用图连通组件算法将配电网划分为各不相连的子图即静态拓扑岛,拓扑着色依托于静态拓扑岛做动态计算。
74.配电网拓扑计算选用graphx作为图计算框架,graphx是spark的api组件,属于分布式属性图(顶点与边均有属性)结构,支持图与分布式图计算。graphx配电网拓扑图是将电网设备抽象为图的边,即电网设备id映射为图的边id,电网设备属性映射为图的边属性;电网设备端子terminal抽象为图顶点;使graphx配电网拓扑图的顶点和边与电网拓扑中设备一一对应起来。
75.静态拓扑岛划分采用graphx连通组件算法,是在无向图中找到一组连接的节点,其中同一组中的所有节点形成一个连接的组件,取该组件最小顶点标识作为连通组件标识,即静态拓扑岛。静态拓扑岛缓存在redis集群中,采用拓扑岛版本管理策略解决图事务问题。
76.动态拓扑岛计算以静态拓扑岛为基础,使用算法略有不同,需要考虑电网设备分合闸状态,在原始连通组件计算迭代时,增加判断电网设备遥信值属性,遥信合闸认为图的边为连接状态,遥信分闸认为图的边为断开状态,即改进的连通组件算法。拓扑着色,是根据动态拓扑岛中电源点及电压状态确定电气岛设备的带电、停电、接地状态,并将颜色值缓存起来。
77.基于此,本发明的一个实施例提供一种基于spark流图合并的电网设备拓扑着色方法,由静态拓扑计算、动态拓扑着色两部分组成,参见图2。静态拓扑计算全量和增量模型,并将静态拓扑岛缓存到redis集群中;动态拓扑着色根据设备实时状态计算拓扑岛颜色,并缓存拓扑设备状态,拓扑设备颜色值到redis集群中。
78.具体实现过程,参见图1,包括:
79.对配电网实时库模型进行预处理;通过解析xml文件中配置的涉及配电网拓扑计算的表信息、域信息,从实时库中获取模型数据,聚合模型数据得到构建graphx图对象所需的顶点与边数据,称之为原始图模型数据。
80.基于原始图模型数据构建配电网拓扑图;将原始图模型数据中的电网设备抽象为图的边(edge),设备端子terminal抽象为图顶点(vertex)构建graphx图对象。
81.基于配电网拓扑图计算配电网静态拓扑岛;使用graphx连通组件算法将配电网拓扑图切分为拓扑子图,即静态拓扑岛,静态拓扑岛缓存在redis集群中,通过拓扑岛版本管理策略保证图事务一致性。
82.对配电网模型变化进行实时计算;模型变化时,重新计算静态拓扑岛并缓存到redis集群中。
83.基于静态拓扑岛计算配电网动态拓扑岛;结合redis集群中的开关分合位,在静态
拓扑岛基础上,使用改进的graphx连通组件算法计算电气岛,即动态拓扑岛。
84.基于静态拓扑岛和动态拓扑岛进行拓扑着色计算;包含全局拓扑着色与实时拓扑着色,根据电源点及其带电状态确定动态拓扑岛中各电气设备带电、停电、接地等状态,并用不同颜色标识出来。
85.作为本发明的一个实施例,对配电网实时库模型进行预处理,操作如下:
86.解析xml文件中配置的涉及配电网拓扑的设备表信息、域信息,从配电网实时库中获取模型数据;
87.拆解双节点、多节点、单节点设备为双节点设备;单节点设备另一端子terminal用

1补全,拓扑计算时视为断开状态;
88.聚合所有表中电网设备端子terminal,去重作为图的顶点数据vertexrdd,顶点属性默认1;聚合所有表中电网设备关系(源端子,目标端子)作为图的边数据edgerdd,设备属性作为边属性。
89.设备端子terminal是配电网设备两端端点,用于连接线路的节点。
90.作为本发明的一个实施例,基于原始图模型数据构建配电网拓扑图,具体操作如下:
91.将原始图模型数据中设备端子terminal抽象为图顶点(vertex);
92.将原始图模型数据中设备抽象为图的边(edge);
93.使用graphx构造函数以vertex与edge构建配电网拓扑图。graphx是spark平台提供的图计算和图挖掘的分布式图处理框架。edge/vertex是graphx图数据结构的组成成员,在spark中被抽象为edgerdd/vertexrdd。
94.作为本发明的一个实施例,基于配电网拓扑图计算配电网静态拓扑岛,初始化时全量计算拓扑模型,支持定时全量拓扑计算、动态增量拓扑计算;每次拓扑计算生成新版本静态拓扑岛,并按照特定规则划分连通区域并缓存,同时更新静态拓扑岛版本。
95.参见图3,具体包括:
96.在配电网拓扑图上运行graphx的连通组件算法,单节点设备边为非连通状态,多节点设备边为连通状态,相互连接的设备组成一个连通区域,即静态拓扑岛。
97.将静态拓扑岛存储起来,为动态拓扑计算提供模型支撑,缓存在redis集群中,提高存取效率。
98.静态拓扑岛在模型变更与动态拓扑计算时等场景被同时使用,采用拓扑岛版本控制策略保证图事务一致性;静态拓扑岛版本号依次递增,redis集群缓存版本号差值小于3的静态拓扑岛,过期版本静态拓扑岛将被定期清理。
99.定时进行静态拓扑岛计算,保证图模型数据准一致性。
100.作为本发明的一个实施例,对配电网模型变化进行实时计算,具体参见图3,是指,
101.基于kafka消息中间件,sparkstreaming实时消费kafka的topic中的配电网系统模型变更消息;
102.模型变化时重新计算静态拓扑岛,将新版静态拓扑岛缓存到redis集群中;
103.更新当前静态拓扑岛版号本标记。
104.sparkstreaming是spark的流处理框架,支持从多种数据源获取数据,具备高吞吐量、分布式,高容错的特性。
105.作为本发明的一个实施例,基于静态拓扑岛计算配电网动态拓扑岛,初始化时需获取所有最新版本静态拓扑岛模型中当前电气设备运行状态,并缓存该状态;sparkstreaming实时消费开关变位,graphx计算每批次存在状态变化的开关所属的静态拓扑岛,同时启动多个图计算线程重新计算这些静态拓扑岛状态,分析拓扑颜色值,并缓存到redis集群中。
106.参见图4,具体如下:
107.静态拓扑岛中的设备在从redis集群中获取遥信状态后,通过graphx转换算子将静态拓扑岛转换为有开关状态的拓扑图;
108.以graphx的连通组件算法为基础,增加判断电网设备遥信值和设备类型属性,遥信合闸认为图的边为连通状态,遥信分闸认为图的边为断开状态,电源、单节点设备认为断开状态(非连通状态),再次做graphx连通组件算法计算,得到动态拓扑岛。
109.作为本发明的一个实施例,基于静态拓扑岛和动态拓扑岛进行动态拓扑着色,参见图4,包括:
110.根据电源状态确定动态拓扑岛中电网设备的带电、接地、停电状态,并根据电网设备状态赋予动态拓扑岛特定颜色值。
111.一个静态拓扑岛在动态拓扑计算后,被切分为多个动态拓扑岛;一个动态拓扑岛包含一个或多个电网设备,如动态拓扑岛中包含电源点且电源点带电,则该动态拓扑岛为带电状态,对该动态拓扑岛着色。电网设备与动态拓扑岛为包含关系,岛着色则岛中多有设备着色。
112.全局拓扑着色以所有静态拓扑岛为基础构建一张拓扑图,做动态拓扑岛与颜色计算。即,先根据改进的graphx的连通组件算法计算出动态拓扑岛,然后遍历各动态拓扑岛,根据动态拓扑岛中是否含电源且电源状态确定各个动态拓扑岛带电状态(同一动态拓扑岛中的设备状态是相同的),然后给这些动态拓扑岛中设备赋予特定颜色值。
113.实时拓扑着色实时消费kafka消息中间件中配电系统开关变位消息,以开关所属静态拓扑岛为基础构建一张拓扑图,做动态拓扑岛与颜色计算。
114.拓扑着色采用spark流计算技术,使用多线程提交图计算任务,每个线程处理1个或多个静态拓扑岛,不同线程使用不同spark调度资源池,公平的竞争计算资源,并行大批量计算静态拓扑岛颜色。
115.本发明的另一个实施例提供一种基于spark流图合并的电网设备拓扑着色装置,包括:
116.预处理模块,用于对配电网实时库模型进行预处理,得到原始图模型数据;
117.图模块,用于基于原始图模型数据构建配电网拓扑图;
118.第一计算模块,用于基于配电网拓扑图计算配电网静态拓扑岛;
119.第二计算模块,用于基于配电网静态拓扑岛计算配电网动态拓扑岛;
120.以及,
121.着色模块,用于基于配电网静态拓扑岛和配电网动态拓扑岛进行拓扑着色。
122.本发明实施例中,预处理模块具体用于,
123.从配电网实时库中获取模型数据;所述模型数据包括涉及配电网拓扑的设备表信息和域信息;
124.根据设备表信息,拆解双节点、多节点和单节点设备为双节点设备;其中单节点设备另一端子terminal用

1补全;
125.聚合所有设备表中设备端子terminal,去重作为顶点数据,顶点属性默认1;
126.聚合所有设备表中设备作为边数据,设备属性作为边属性;
127.顶点数据和边数据构成原始图模型数据。
128.本发明实施例中,第一计算模块具体用于,
129.在配电网拓扑图上运行graphx的连通组件算法,单节点设备边为非连通状态,多节点设备边为连通状态,相互连接的设备组成一个连通区域,作为一个配电网静态拓扑岛,缓存在redis集群中。
130.本发明实施例中,第二计算模块具体用于,
131.静态拓扑岛中的设备在从redis集群中获取遥信状态,通过graphx转换算子将静态拓扑岛转换为有开关状态的拓扑图;
132.判断拓扑图中设备遥信值和设备类型属性,遥信合闸则图的边为连通状态,遥信分闸则图的边为非连通状态,电源和单节点设备为非连通状态,再次进行graphx的连通组件算法计算,得到配电网动态拓扑岛。
133.本发明实施例中,着色模块具体用于,
134.以所有静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
135.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值;所述电源状态包括带电、接地和停电状态;
136.以及,
137.实时消费kafka消息中间件中配电系统开关变位消息,以开关所属静态拓扑岛为基础构建一张拓扑图,进行配电网动态拓扑岛计算;
138.遍历配电网动态拓扑岛,根据配电网动态拓扑岛中电源状态赋予动态拓扑岛特定颜色值。
139.值得指出的是,该装置实施例是与上述方法实施例对应的,上述方法实施例的实现方式均适用于该装置实施例中,并能达到相同或相似的技术效果,故不在此赘述。
140.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
141.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
142.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
143.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
144.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1