一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于关系数据库的拓扑搜索方法、系统及介质与流程

2021-11-18 02:59:00 来源:中国专利 TAG:


1.本发明涉及计算机领域,特别涉及一种基于关系数据库的拓扑搜索方法、系统及介质。


背景技术:

2.城市配电线由数千条馈线组成,馈线是以一个变电站出线开关为电源,延伸到线路末端或联络开关的供电线路,联络开关是两条馈线的拼接点。城市配电网就是以变电站为电源,通过联络开关,把所有馈线拼接到一起的供电网络。
3.在配电自动化主站系统中经常有搜索一条馈线上所有设备的使用场景,通常的做法是用c 或java等语言开发程序实现,程序首先从关系库加载设备模型数据,然后用广度优先或深度优先搜索算法搜索馈线上的所有设备。参照图1,通过广度优先搜索算法搜索馈线上的所有设备。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于关系库的拓扑搜索方法,能够直接操作关系数据库就可以达到搜索馈线设备的目标。
5.本发明还提出一种具有基于关系库的拓扑搜索系统。
6.本发明还提出一种实施上述基于关系库的拓扑搜索方法的计算机可读存储介质。
7.根据本发明的第一方面实施例的基于关系库的拓扑搜索方法,所述关系库存储设备拓扑模型和点线拓扑模型,所述设备拓扑模型通过抽象简化得到所述点线拓扑模型;所述点线拓扑模型包括点表及线表;其中,所述点表存储点id;所述线表存储线id和线两端连接的点的点id;所述点表中每个点id与所述设备拓扑模型中的每一个设备一一对应,所述线表中每个线id与所述设备拓扑模型中每一个馈线段一一对应;所述方法包括以下步骤:s1、创建一个空的点表和线表,分别记为第一点表和第一线表;s2、获取并记录待搜索馈线段的边界设备id作为边界点的点id;s3、获取所述待搜索馈线段中任意一个设备id作为点id插入所述第一点表;s4、获取所述第一线表中的记录数,记为第一记录数;s5、插入所述第一点表中和点关联的所有线到所述第一线表,约束条件是所述所有线在所述第一线表中不存在且所述点不是边界点;s6、插入所述第一线表中和线关联的所有点到所述第一点表,约束条件是所述所有点在所述第一点表中不存在;s7、获取所述第一线表中的记录数,记为第二记录数;s8、比较所述第一记录数和所述第二记录数,若不相等,返回所述步骤s4。
8.根据本发明实施例的基于关系库的拓扑搜索方法,至少具有如下有益效果:本发明实施的基于关系库的拓扑搜索方法直接操作关系数据库就可以达到搜索馈线设备的目标,原始数据和处理方法都存储在数据库中,避免了用程序代码实现馈线检索的麻烦。
9.根据本发明的一些实施例,所述步骤s2还包括:通过定义变量缓存所述边界设备id。
10.根据本发明的一些实施例,所述设备拓扑模型包括馈线段表和设备表;所述馈线
段表存储各馈线段两端连接的设备id及馈线段属性;所述设备表存储各设备id和设备属性。
11.根据本发明的一些实施例,所述步骤s3还包括:获取用户输入的设备id,将所述用户输入的设备id作为点id插入所述第一点表。
12.根据本发明的一些实施例,所述步骤s8还包括:若所述第一记录数和所述第二记录数相等,输出所述点表和线表作为搜索结果。
13.根据本发明的第二方面实施例的基于关系库的拓扑搜索系统,包括:关系库,用于存储设备拓扑模型和点线拓扑模型;所述点线拓扑模型包括点表及线表;其中,所述点表存储点id;所述线表存储线id和线两端连接的点的点id;所述点表中每个点id与所述设备拓扑模型中的每一个设备一一对应,所述线表中每个线id与所述设备拓扑模型中每一个馈线段一一对应;抽象简化模块,用于对设备拓扑模型进行抽象简化得到点线拓扑模型;搜索模块,用于进行馈线的拓扑搜索;所述搜索模块用于执行以下步骤:s1、创建一个空的点表和线表,分别记为第一点表和第一线表;s2、获取并记录待搜索馈线段的边界设备id作为边界点的点id;s3、获取所述待搜索馈线段中任意一个设备id作为点id插入所述第一点表;s4、获取所述第一线表中的记录数,记为第一记录数;s5、插入所述第一点表中和点关联的所有线到所述第一线表,约束条件是所述所有线在所述第一线表中不存在且所述点不是边界点;s6、插入所述第一线表中和线关联的所有点到所述第一点表,约束条件是所述所有点在所述第一点表中不存在;s7、获取所述第一线表中的记录数,记为第二记录数;s8、比较所述第一记录数和所述第二记录数,若不相等,返回所述步骤s4。
14.根据本发明实施例的基于关系库的拓扑搜索系统,至少具有如下有益效果:本发明实施例的基于关系库的拓扑搜索系统直接操作关系数据库就可以达到搜索馈线设备的目标,原始数据和处理方法都存储在数据库中,避免了用程序代码实现馈线检索的麻烦。
15.根据本发明的一些实施例,所述馈线段表存储各馈线段两端连接的设备id及馈线段属性;所述设备表存储各设备id和设备属性。
16.根据本发明的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的第一方面实施例中任一项的方法。
17.由于本发明实施例的计算机可读存储介质上存储有用于执行如本发明第一方面中任一项所述的基于关系库的拓扑搜索方法的计算机可执行指令,因此具有本发明第一方面的所有有益效果。
18.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
19.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
20.图1为本发明实施例的方法的流程示意图。
21.图2为本发明实施例的配电网设备拓扑模型示意图。
22.图3为本发明实施例的点线拓扑模型示意图。
23.图4为本发明实施例的系统的模块示意框图。
具体实施方式
24.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
25.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
26.在配电自动化主站系统中经常有搜索一条馈线上所有设备的使用场景,通常的做法是用c 或java等语言开发程序实现,程序首先从关系库加载设备模型数据,然后用广度优先或深度优先搜索算法搜索馈线上的所有设备。
27.既然原始数据已经存储在关系库,是否能用关系库自身的pl/sql语言(procedural language/sql)实现同样的目标?这样就可以避免开发程序实现拓扑搜索的麻烦,而是直接操作数据库就达到搜索馈线设备的目标。因此,本发明提出了基于关系库的拓扑搜索算法。
28.本发明实施例首先对设备拓扑模型做抽象简化处理,如图2所示为配电网设备拓扑模型,图3为点线拓扑模型。配电网设备拓扑模型经过抽象简化处理得到点线拓扑模型。设备拓扑模型中馈线段会记录两端连接的设备id,设备一般不需要反向关联。在关系库中的存储结构如下表1馈线段表和表2设备表所示。
29.表1 馈线段表
30.馈线段id馈线段2端链接的设备id属性1属性2
……
31.表2 设备表
32.设备id属性1属性2属性3
……
33.对设备拓扑模型做抽象简化后得到的点线拓扑模型在关系库中的存储结构如下表3点表和下表4线表所示。
34.表3 点表
35.点id
36.表4 线表
37.线id关联的点id1关联的点id2
38.参照图1,本发明实施例的搜索方法包括以下步骤:
39.s1、创建一个空的点表和线表,分别记为第一点表和第一线表;
40.s2、获取并记录待搜索馈线段的边界设备id作为边界点的点id;
41.s3、获取待搜索馈线段中任意一个设备id作为点id插入第一点表;
42.s4、获取第一线表中的记录数,记为第一记录数;
43.s5、插入第一点表中和点关联的所有线到第一线表,约束条件是所有线在第一线表中不存在且点不是边界点;
44.s6、插入第一线表中和线关联的所有点到第一点表,约束条件是所有点在第一点表中不存在;
45.s7、获取第一线表中的记录数,记为第二记录数;
46.s8、比较第一记录数和第二记录数,若不相等,返回所述步骤s4。
47.本发明实施例部分实现代码如下:
[0048][0049]
如图2所示的设备拓扑模型,在一个实施例中,要搜索图中变电站1至联络开关中间的馈线上的设备及馈线段。首先指定变电站1和联络开关时搜索范围的边界设备,然后把开关3插入点表。启动搜索算法,当线表的记录数没有变化,则则搜索停止。最终变电站1、开关2、开关3、开关4、联络开关记录进点表,连接它们的4段线记录进线表,实现搜索整条馈线上设备和线路的目标。
[0050]
与前述实施例相对应,本发明还提供了系统的实施例。对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
[0051]
参照图4,本发明实施例还提出一种基于关系库的拓扑搜索系统,包括:关系库,用于存储设备拓扑模型和点线拓扑模型;点线拓扑模型包括点表及线表;其中,点表存储点id;线表存储线id和线两端连接的点的点id;点表中每个点id与设备拓扑模型中的每一个设备一一对应,线表中每个线id与设备拓扑模型中每一个馈线段一一对应;抽象简化模块,
用于对设备拓扑模型进行抽象简化得到点线拓扑模型;搜索模块,用于进行馈线的拓扑搜索;其中,搜索模块的搜索步骤参照上述实施例及图1。
[0052]
上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
[0053]
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
[0054]
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献