一种电网网络瞬时状态的形式化表达与解析方法与流程

文档序号:32213087发布日期:2022-11-16 06:41阅读:164来源:国知局
一种电网网络瞬时状态的形式化表达与解析方法与流程

1.本发明涉及电网数据维护技术领域,具体是涉及一种电网网络瞬时状态的形式化表达与解析方法。


背景技术:

2.伴随着绿色能源的倡导与普及,新型的发电厂、变电站快速出现,电网网络的规模日益增加,网络的结构日趋复杂,这种客观状况给网络运行分析、能源成分分析带来了很多困难。如何借助数字化技术实现电能网络瞬间状态的捕捉、保存以及在线数据分析是目前业界研究的重点内容之一。
3.描述电能网络状态的传统方法包括两类,一类称之为“轻量级”方案,典型的应用场景是调度,以xml或者类xml文件方式描述网络瞬时结构与状态,这种方式的优势是创建容易、保存简单,便于共享;困难在于网络状态信息的及时维护困难,xml文件定义网络元素以及描述元素成分关系的时候不够灵活,而且无法实现状态信息诊断,一旦被篡改,则网络状态信息不可用;另一类称之为“重量级”方案,即采用数据库方式实现网络元素和关系的一致性维护,这种方式的优势是网络状态描述准确,有足够的措施保证结构完整性与关系的一致性,但问题是不够轻便,数据库方式提取的网络结构,难以作为分析参数在多个应用中传递。


技术实现要素:

4.为了克服现有技术存在的缺点,本发明提出了一种电网网络瞬时状态的形式化表达与解析方法。形式更加灵活、表达更加简便,不仅能够实现网络状态的“自检”,还可以提取瞬态的结构关系,能够为基于电能网络的能源成分分析与溯源分析提供了便利条件。
5.本发明提供一种电网网络瞬时状态的形式化表达方法,通过创建语义表达式来描述电能网网络的结构、元素和运行状态;包括网络元素的对象表达式、网络元素实体的属性表达式和网络元素之间的关系表达式。
6.所述的网络元素的对象表达式,包括厂站对象表达式、线段对象表达式、测量点对象表达式,三者采用不同的特定字符,采用其对应的特定字符表示开头和结尾,开头和结尾字符相同。
7.所述的网络元素实体的属性表达式,包括厂站属性表达式、线段属性表达式和测量点属性表达式,采用特定字符表示属性的开头和结尾,采用另一个特定字符表示属性值的开头和结尾,开头和结尾字符相同。
8.所述的网络元素之间的关系表达式,即网络元素中厂站-线段-测量点-测量设备示值之间的关系表达式;采用网络元素“首末对应法”来完整表达厂站-线段-测量点三者之间的关系;即:用一条形式语句完整描述两个厂站之间的潮流有向关系;网络元素关系表达式是一组复合语法,采用三重嵌套的规则,具体规则包括:第一层:厂站关系表达式,位于网络元素关系表达式的两端部分,由厂站对象表达
子式开始,以厂站对象表达子式结束,表达了两个厂站实体之间的有向邻接关系;第二层:测量点关系表达式,网络元素关系表达式剔除首末厂站表达子式,剩余中间部分是测量点与线段关系子式,测量点与线段关系子式以测量点表达子式开始,以测量点表达子式结束,表达了厂站与测量点之间的归属关系以及测量点之间的邻接关系。
9.第三层:有向线段关系表达式,测量点与线段关系子式剔除首末测量点表达式,剩余的部分是线段表达子式,线段表达子式表达了厂站与线段、线段与测量点之间的邻接关系,同时,也表达了电能在线段上的潮流方向。
10.所述的网络元素关系表达式可以循环嵌套组合使用。满足主流操作系统中的正则表达式递归书写规范。
11.一种用于电网网络瞬时状态的形式化表达方法的专用解析器,适用于所述的电网网络瞬时状态的形式化表达方法,采用双堆栈来承担形式语言的解析引擎,分别是对象解析器和关系解析器。二者统称为形式语言的解析器。
12.所述的对象解析器,从表达式开始至结束,逐个扫描并提取字符入栈,直至栈中出现相同的标识符,两个相同标识符之间的部分即为网络元素对象的成功识别,依据堆栈访问规则,并从栈顶弹出实体并送入关系解析器。
13.所述的关系解析器,扫描的基本单元是对象,其处理的内容是对象解析器的输出;关系解析器采用堆栈引擎扫描每个实体对象,直至两个同类的实体对象出现在栈中,此时可弹出并识别一组关系。
14.所述的对象解析器还可以判断实体表达式是否存在错误;若扫描到最后,对象解析器中仍有字符存在,则存在部分对象表达式不完整的问题,即识别语法错误;具体的错误类型可由栈中的字符判断,如果栈中存在标识符“@”,则表示存在某个对象的属性表达子式不完整;如果存在标识符“&”则表示一定存在某个测量点表达子式不完整;如果存在标识符“!”则一定存在某条线段的表达子式不完整;最后,如果存在标识符“#”则必定存在某个厂站实体,其对象表达式语法上存在不完整的现象。
15.所述的关系解析器还可以识别关系表达式不完整、非法或者错误情况,当且仅当扫描结束后堆栈为空时才能说明当前形式语言的关系表达式是符合语法规范的,反之则存在关系语法错误。具体的错误类型同样要视栈中剩余的对象类型而定,如果栈中剩余测量点、线段、厂站,则对应的,一定存在测量点、线段和厂站关系不完整错误。
16.一种电能网络瞬态持久化保存与恢复的方法,基于上述电网网络瞬时状态的形式化表达方法及其专用解析器,包括保存流程和恢复流程。
17.所述的保存流程,利用形式化语言描述电能网络的状态,依据电能网络的拓扑有向关系生成一组状态表达式,可完整保存网络状态;具体步骤为:s01,从网络拓扑图中任意厂站结点入手,遍历站-站邻接子图;针对所有厂站,创建厂站表达式;s02,创建对象表达式和属性表达式,包括厂站及厂站属性表达式、测量点及测量点属性表达式、线段及线段属性表达式;s03,按照三层嵌套关系表达规则,拼接关系表达式;s04,重复s01-s03,直至所有的站-站关系表达式全部创建,形成电能网序列化结果。
18.所述的恢复流程具体步骤为:s1,逐行读取每行形式语言表达式文本。
19.s2,采用对象解析器识别表达式的网络元素。
20.s3,采用关系解析器,逐项识别图元素之间的关系,s4,重复s1-s3过程,即可恢复完整电能网络有向图。
21.本发明的有益效果在于:本发明不仅能保存网络的瞬时状态,而且能够通过解析器检查形式语言的合法性并完整还原网络的有向拓扑图。
22.电能网络的形式化表达式可以简洁、完整地描述电能网络的状态,专用解析器可以完整还原、恢复电能网络的拓扑结构,还可以检查电能形式语言的语法完整性与网络元素之间的实体关系完整性,为网络能源的成分分析和能源溯源分析做准备。
23.电能网络是一张由厂站、线段、测量点三类元素对象构成的庞大、复杂的有向网络。网络的结构复杂性与状态时变性为网络的状态描述、保存与恢复等操作带来很多困难。本发明可以有效地解决复杂电能网络结构和运行状态的序列化问题,为网络的电能成分和能源溯源提供技术支撑。
附图说明
24.图1为本发明电能网络示意图;图2为本发明关系表达式的实体解析与关系剖析图;图3为本发明双栈解析器的工作原理示例图;图4为本发明电能网络有向图序列化过程图;图5为本发明电能网络有向图序列化过程示意图;图6为本发明站-站子图提取图;图7为本发明关系表达式拼接过程示意图;图8为本发明依据形势语言表达式恢复电能网络有向图的完整过程图;图9为本发明图元素识别图;图10为本发明【站】-【站】子图恢复过程。
具体实施方式
25.实施例1,一种电网网络瞬时状态的形式化表达方法,通过创建语义表达式来描述电能网网络的结构、元素和运行状态;包括网络元素的对象表达式、网络元素实体的属性表达式和网络元素之间的关系表达式。
26.所述的网络元素的对象表达式,包括厂站对象表达式、线段对象表达式、测量点对象表达式,三者采用不同的特定字符,采用其对应的特定字符表示开头和结尾,开头和结尾字符相同。
27.厂站表达式用来完整描述一个厂站的对象实体,采用“#”开头和“#”结尾。例如:#wh07957710#表示存在一个厂站,厂站id为“wh07957710”。
28.线段表达式用来完整描述一条线段的对象实体,采用“!”开头和“!”结尾。例如:!wh08763530!表示存在一条线段,线段id为“wh08763530”。
29.测量点表达式用来完整描述一个电能表设备实体,采用“&”开头和“&”结尾。例
如:&d0798149&,表示存在一个测量仪器设备,设备id为“d0798149”。
30.所述的网络元素实体的属性表达式,包括厂站属性表达式、线段属性表达式和测量点属性表达式,采用特定字符表示属性的开头和结尾,采用另一个特定字符表示属性值的开头和结尾,开头和结尾字符相同。
31.采用符号“@”开头和结尾,表示一个属性,例如:#wh07957710#@name@,表示厂站wh07957710存在一个属性,属性命名为“name”。
32.采用符号“[”和“]”表示一个属性值。例如:#wh07957710#@name@[武汉解放大道330kv城ii回路]表示厂站wh07957710的name属性的属性值是“武汉解放大道330kv城ii回路”。
[0033]
所述的网络元素之间的关系表达式,即网络元素中厂站-线段-测量点-测量设备示值之间的关系表达式;采用网络元素“首末对应法”来完整表达厂站-线段-测量点三者之间的关系;即:用一条形式语句完整描述两个厂站之间的潮流有向关系;网络元素关系表达式是一组复合语法,采用三重嵌套的规则,具体规则包括:第一层:厂站关系表达式,位于网络元素关系表达式的两端部分,由厂站对象表达子式开始,以厂站对象表达子式结束,表达了两个厂站实体之间的有向邻接关系;第二层:测量点关系表达式,网络元素关系表达式剔除首末厂站表达子式,剩余中间部分是测量点与线段关系子式,测量点与线段关系子式以测量点表达子式开始,以测量点表达子式结束,表达了厂站与测量点之间的归属关系以及测量点之间的邻接关系。
[0034]
第三层:有向线段关系表达式,测量点与线段关系子式剔除首末测量点表达式,剩余的部分是线段表达子式,线段表达子式表达了厂站与线段、线段与测量点之间的邻接关系,同时,也表达了电能在线段上的潮流方向。
[0035]
所述的测量设备示值在表达式中通过测量点的示值属性表达。
[0036]
所述的网络元素关系表达式可以循环嵌套组合使用。满足主流操作系统中的正则表达式递归书写规范。
[0037]
如图1中的电能网络拓扑图,可用形式语言表达为:#st0001#&d0001&!l001!&d0002&&d0003&!l002!&d0004&#st0002#该表达式描述了由两个厂站、两条线段和四个测量点构成的电能网络,站-线-点的关系可以由关系表达式描述,这些元素实体关系的完整解释可由如图2描述和示意。
[0038]
实施例2针对实施例1的关系表达式,设计一种用于电网网络瞬时状态的形式化表达方法的专用解析器,适用于所述的电网网络瞬时状态的形式化表达方法,采用双堆栈来承担形式语言的解析引擎,分别是对象解析器和关系解析器。二者统称为形式语言的解析器。
[0039]
所述的对象解析器,从表达式开始至结束,逐个扫描并提取字符入栈,直至栈中出现相同的标识符,两个相同标识符之间的部分即为网络元素对象的成功识别,依据堆栈访问规则,并从栈顶弹出实体并送入关系解析器。根据实施例1的设定,字符“#”表示厂站实体标识符,字符“&”表示测量点实体标识符,字符“!”表示线段实体标识符。
[0040]
以实施例1中所列图1的表达式为例,标识符“#”首先入栈,继字符

s’、

t’、
‘0’

‘0’

‘0’

‘1’
入栈之后,第二个“#”入栈,此时对象解析器中标识符“#”重复出现,即可解析出厂站实体“st0001”。如果扫描到最后,对象解析器中仍有字符存在,则一定存在部分对象
表达式不完整的问题,即语法错误识别,具体的错误类型可由栈中的字符判断,如果栈中存在标识符“@”,则表示存在某个对象的属性表达子式不完整;如果存在标识符“&”则表示一定存在某个测量点表达子式不完整;如果存在标识符“!”则一定存在某条线段的表达子式不完整;最后,如果存在标识符“#”则必定存在某个厂站实体,其对象表达式语法上存在不完整的现象。综上,对象解析器不仅可以用来扫描和识别对象实体,而且可以判断实体表达式是否存在错误。
[0041]
所述的关系解析器,扫描的基本单元是对象,其处理的内容是对象解析器的输出;关系解析器采用堆栈引擎扫描每个实体对象,直至两个同类的实体对象出现在栈中,此时可弹出并识别一组关系。如图3,关系解析器识别的第一个关系应该是测量点“d0001”和“d0002”之间构成的线段邻接关系,第一个关系能够拼接能源网络拓扑图中的线段“l001”子图。同理,关系解析器在识别电能网关系的同时,亦可识别关系表达式不完整、非法或者错误情况,当且仅当扫描结束后堆栈为空时才能说明当前形式语言的关系表达式是符合语法规范的,反之必定存在关系语法错误,具体的错误类型同样要视栈中剩余的对象类型而定,如果栈中剩余测量点、线段、厂站,则对应的,一定存在测量点、线段和厂站关系不完整错误。
[0042]
实施例3一种电能网络瞬态持久化保存与恢复的方法,基于上述瞬时状态的形式化表达方法及其专用解析器,包括保存流程和恢复流程。
[0043]
所述的保存流程,利用形式化语言描述电能网络的状态,依据电能网络的拓扑有向关系生成一组状态表达式,可完整保存网络状态;具体步骤如图4,具体包括以下步骤:s01,从网络拓扑图中任意厂站结点入手,遍历站-站邻接子图;针对所有厂站,创建厂站表达式;如图5中的虚线框子图;提取子图中一对厂站“st0007-st004f”部分,如图6。
[0044]
s02,创建对象表达式和属性表达式,包括厂站及厂站属性表达式、测量点及测量点属性表达式、线段及线段属性表达式;如按照图6,需创建5个实体对象。
[0045]
(1)厂站表达式:#st0007#@name[火],释义:创建厂站对象,id=st0007,属性name取值“火”;(2)测量点表达式:&d00d&@name[表],释义:创建测量点对象,id=d00d,属性name取值“表”;(3)线段表达式:!l013!,释义:创建线段对象,id=l013;(4)测量点表达式:&d00c&@name[表],释义:创建测量点对象,id=d00c,属性name取值“表”;(5)厂站表达式:#st004f#@name[变电站],释义:创建厂站对象,id=st004f,属性name取值“变电站”;s03,按照三层嵌套关系表达规则,拼接关系表达式;如图7。
[0046]
s04,重复s01-s03,直至所有的站-站关系表达式全部创建,形成电能网序列化结果。如图5中的虚框子图的序列化结果,如下:#st0007#@name@[火]&d00d&@name@[表]!l013!&d00c&@name@[表]#st004f#@
name@[变电站]#st0007#@name@[火]&d00e&@name@[表]!l016!&d00b&@name@[表]#st005f#@name@[变电站]#st004f#@name@[变电站]&d009&@name@[表]!l014!&d007&@name@[表]#st006f#@name@[变电站]#st005f#@name@[变电站]&d00a&@name@[表]!l015!&d008&@name@[表]#st006f#@name@[变电站]电能网络的形式化表达式不仅能保存网络的瞬时状态,而且能够通过解析器完整还原网络的有向拓扑图。表达式中对象表达式的先后顺序即代表了电网网络的方向。
[0047]
电能网络有向图的恢复步骤如图8:s1,逐行读取每行形式语言表达式文本。例如:#st0007#@name@[火]&d00d&@name@[表]!l013!&d00c&@name@[表]#st004f#@name@[变电站]s2,采用对象解析器识别表达式的网络元素。针对s1中的表达式,可识别图元素如图9s3,采用关系解析器,逐项识别图元素之间的关系,按照s1的表达式,首先能够识别【点】-【线】-【点】关系,然后识别【站】-【线】-【站】关系,如图10。
[0048]
s4,重复s1-s3过程,即可恢复完整电能网络有向图。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1