本发明涉及一种供电范围搜索方法,尤其涉及一种基于电网CIM模型的供电范围跨区域搜索方法,同时还涉及用于实现该方法的搜索系统,属于电网调度自动化领域。
背景技术:在目前常用的供电范围搜索方法中,以网络连通性分析和网络路径搜索的电网拓扑分析为主。其中,搜索电网拓扑图通常采用深度优先搜索和宽度优先搜索算法。深度优先搜索算法是一种非启发式的搜索,需要对拓扑树的所有节点进行遍历,属于盲目搜索。而宽度优先搜索算法也是一种盲目搜索算法。与深度优先算法不同的是,宽度优先算法从根节点开始,沿着树的宽度遍历拓扑树的节点,如果发现目标,则演算终止。利用宽度优先或者深度优先搜索算法进行供电范围的方法需要对整个区域的电网模型遍历搜索,随着电网模型的逐步完善,电网的结构和规模越来越大,利用遍历的方法进行搜索耗时越来越多,不能实时显示用电范围的真实情况,不能满足发生紧急故障时的现场指导要求。在公开号为CN103544658A的中国专利申请中,将哈希函数用于电网拓扑图中,根据节点和各种设备的类型,以设备标识作为键,设备对象作为值,建立对应各种设备类型的拓扑哈希表;根据建立得到的对应各种设备类型的拓扑哈希表,从而对所有设备进行节点的拓扑网络的建立。但是,随着全国电网信息的统一和规范化,为了设备标识编号在整个配电网中的唯一以及便于以后电网规模的扩大,通常将设备标识编号设定为一个远远大于电网元件数目的数值,利用设备的标志作为键会导致大量的存储空间的浪费。另外,哈希函数是利用哈希函数将数据结构映射到散列表中的键值(Keyvalue),从而可以根据键值而直接访问在内存存储位置。在该过程中,通常会出现同一个键值对应同多个散射列表中位置的情况,该情况称为冲突,因此如何处理冲突是哈希映射中不可缺少的步骤。而上述专利申请中并未涉及到如何处理冲突的方法。公开号为CN102957206A的中国专利申请公开了一种面向智能电网的多粒度离线模型拼接方法。在该拼接方法中,对于边界厂站,基于设备粒度保留边界厂站内网节点和设备,切除边界厂站外网节点和设备;对于非边界厂站,根据其内、外网特征进行厂站粒度的保留或切除。这样可以完善模型拼接机制,有效改善模型拼接的效果。
技术实现要素:针对现有技术的不足,本发明所要解决的首要技术问题在于提供一种基于CIM模型的跨区域供电范围搜索方法。本发明所要解决的又一技术问题在于提供一种基于CIM模型的跨区域供电范围搜索系统。为实现上述的发明目的,本发明采用下述的技术方案:一种基于CIM模型的跨区域供电范围搜索方法,包括以下步骤:A1.根据供电电源所在电网的大小创建哈希函数;A2.根据所述哈希函数,将电网中全部设备的标识编号映射到离散哈希表,利用所述离散哈希表形成电网的哈希拓扑图;A3.利用所述哈希拓扑图对指定设备的供电范围进行搜索。其中较优地,所述步骤A1中,根据供电电源的电压对供电区域进行划分,去掉非供电的高压区域;其中较优地,所述步骤A2中,利用离散哈希表的键值直接访问对应的设备对象。其中较优地,当离散哈希表中一个键值对应多个设备对象,即出现冲突时,采用链地址方法解决该冲突。其中较优地,所述步骤A3中,当所述供电范围跨接不同的供电区域,对跨区域模型进行拼接形成新的供电范围,将新的供电范围进行高亮显示。其中较优地,对跨区域模型进行拼接形成新的供电范围包括以下步骤:C1.通过网络将供电区域的外网CIM模型文件和SVG图形文件上传至供电内网;C2.将参与拼接的模型文件进行校验和分析,执行如下操作:模型校验、边界维护、内外厂站分析、模型增量分析;C3.将供电范围内的模型分解为多个小的电网模型,完成对模型的分类;C4.将来自多个调度源端的模型文件按照电压等级或区域进行划分,进行模型边界的融合处理,替代内网等价端,关联电网数据库,形成完整的供电网络图。一种基于CIM模型的跨区域供电范围搜索系统,用于实现上述的跨区域供电范围搜索方法,包括:哈希函数生成模块,用于根据供电电源所在电网的大小创建哈希函数,离散哈希表生成模块,用于根据所述哈希函数,将电网中全部设备的标识编号映射到离散哈希表,哈希拓扑图生成模块,用于根据所述离散哈希表形成电网的哈希拓扑图,供电范围搜索模块,用于利用所述哈希拓扑图对指定设备的供电范围进行搜索,所述哈希函数生成模块与所述离散哈希表生成模块相连接,所述哈希拓扑图生成模块与所述离散哈希表生成模块相连接,还与所述供电范围搜索模块连接。本发明能够根据电网拓扑梳理出各级电源的供电路径,满足了“全链条式”的电网监视要求,最大限度地保障了对重要用户的可靠供电;同时,有利于实现事故现场的快速反应,便于现场指导。附图说明图1是本发明所提供的跨区域供电范围搜索方法的流程图;图2为本发明中,映射生成电网设备离散哈希表的示意图;图3是本发明中,哈希拓扑搜索方法的流程图;图4是本发明中,模型拼接方法的示意图;图5是本发明所提供的跨区域供电范围搜索系统的示意图。具体实施方式下面结合附图和具体实施例对本发明作进一步的详细说明。本发明提供了一种基于CIM模型的跨区域供电范围搜索方法,如图1所示,首先根据供电电源的电压对供电区域进行划分,去除掉非供电的高压区域。然后构造哈希函数,利用哈希函数生成供电区域的离散哈希表,利用该离散哈希表进行快速搜索,并且高亮显示所搜索出的供电区域。如果供电范围涉及多个区域,则基于公共信息模型(CommonInformationModel,简称CIM)和可伸缩矢量图形(ScalableVectorGraphics,简称SVG)对多个区域的供电网进行拼接显示。为此,本发明所提供的跨区域供电范围搜索方法,包括以下步骤:A1.根据供电电源所在电网的大小创建合适的哈希函数。首先,将设备的标识编号作为设备被映射的对象。根据供电范围的大小构建适合的哈希函数,构建的准则是使得映射后的散射列表冲突尽量的少。根据电压级别对电网中所有设备进行划分,按照统一的编号规则,对整个供电区域电网模型内的全部设备和节点进行编号,从而保证设备和节点唯一,不会产生混淆。按照预定的规则,并将设备的区域号、电压类型记录号、厂站号等信息与上述标识编号整合在一起,构造合适的哈希函数。因此,这样处理便于将全部设备进行归类,同时也便于快速定位在同一供电范围内的设备。将设备的标识编号通过哈希函数映射到离散哈希列表中。例如,一组电网设备的标识编号如数组X,每个编号都是一个长整型实数,根据设备编号数组构造一个哈希函数,将数组X映射到数目有限的离散哈希表Y中,利用存储的位置替代设备的标识编号,经过映射就可以用Y替代X,这样就大大降低了搜索的复杂度。当映射过程中出现冲突的时候,即一个键值对应多个设备的时候,则利用链地址的方法解决冲突。离散哈希表中为空的地方代表没有设备与之对应。图2所示的存储空间为部分离散哈希表。其中,数值0~7为离散哈希表的部分键值,利用哈希函数将电网设备的标识编号映射到离散哈希表中,建立标识编号与键值的对应关系,构造的哈希函数使得冲突尽量少;当出现冲突的时候,即一个键值对应多个设备的时候,如图中的设备B,设备F对应的键值均为2,则利用链地址方法解决冲突,即按照顺序将键值一样的设备存放在键值为2的链表中;当出现多个设备冲突时,如设备D、G、I映射键值均为4,均存储在该地址下的链表中。例如一组设备,编号如数组A[1000033431,10000435327,2000065343,20000232354,100007454403],当然实际供电范围的设备编号比这个要多很多,设备编号都很大。这时候我们根据设备编号数组构造一个哈希函数,将数组A映射到散列表中,例如我们定义(A%10,除10取余)作为哈希函数,那么数组经过计算得到的B[1,7,3,4,3],在经过哈希函数处理过的电网设备中,就可以用B替代A,这样就大大降低了搜索的复杂度。可以看出数组B中存在两个3,这就是冲突,解决冲突的方法是在3这个位置通过链地址将以后出现的3根据次序链接上,以便于将来查找。一个好的哈希函数的标准就是尽量少地产生冲突。A2.根据步骤A1中所构造的哈希函数,建立电网中全部设备的离散哈希表。利用哈希函数将区域内部的设备均映射到哈希散列表中,建立设备的离散哈希表,利用上述离散哈希表的键值可以直接访问设备对象;当哈希表中一个键值对应多个设备对象,即出现冲突时,则采用链地址方法解决冲突,利用得到的离散哈希表结合GIS(地理信息系统)信息创建电网的哈希拓扑图;其中,上述的离散哈希表已经对电网中全部设备建立了键值进行对应,便于在供电范围内进行快速的搜索。A3.根据步骤A2中的离散哈希表,快速搜索指定设备的供电范围,根据设定的开关点和设备标识,在离散哈希表中查找对应节点;以对应节点为起点,由近到远依次对拓扑网络中的节点进行访问,直到遍历全部节点为止;将最终不能找到电源点并且设置为已访问的路径堆栈进行合并,并进行高亮显示,得到供电范围,并将其供电范围进行高亮显示。图3所示是哈希拓扑搜索方法的具体流程,包括以下步骤:搜索开始后,通过哈希函数计算出指定供电设备的键值,在拓扑图中寻找相同的键值的设备。利用键值在哈希拓扑图中寻找拓扑关联设备,然后判断该设备节点是否已经搜索过?如果没有搜索过,则记录该节点,并将该设备标签(tag)值设置为true,继续判断该节点是否存在子节点;如果该节点已经搜索过,则直接判断是否有子节点。如果该节点存在子节点,则搜索并将该子节点计入供电范围的哈希拓扑图中,返回起点进行新一轮的搜索;如果该节点没有子节点,则返回上一级节点,并判断是否还有未搜索的节点,如果没有未搜索过的节点则搜索结束;如果还存在未搜索过的节点,则搜索并记录该节点,返回起点进行新一轮的搜索。遍历哈希拓扑图中所有相关的元件,得到全部的供电范围。最后将搜索到的供电范围高亮显示。利用离散哈希表进行供电范围追踪时,为了保证搜索的准确性,需要遵循如下原则:1)哈希拓扑图搜索到相关的设备时,判断该设备的电压属性,供电范围不能从变压器低压侧扩大到高压侧,即当搜索过程中搜索到变压器低压侧时,可认为找到了电源,搜索不必继续。2)当在拓扑中搜索到变压器设备时,如果变压器低压侧连接的设备只通过该变压器供电,则其属于该变压器的供电范围。3)如果在拓扑中搜索到的变压器低压侧连接的设备通过多个变压器供电,则需要检查设备的潮流方向。4)当站内设备由多个电源供电时,该设备是否属于供电范围,需要检查相关设备的潮流方向。利用离散哈希表搜索供电区域,当遇到跨区域的情况时,还需要进行模型拼接。因此,本发明进一步提供了一种基于公共信息模型(CIM)和可伸缩矢量图形(SVG)的供电范围跨区域模型拼接方法,如图4所示,包括以下步骤:B1.通过网络将供电区域的外网CIM模型文件和SVG图形文件上传至供电内网。上传的文件为上一步骤搜索的供电范围模型;如果供电范围跨多个区域,则需要将模型一一上传;其中,本发明所指的内网为指定供电电源所在的厂站为内网,其他厂站为外网。B2.将参与拼接的模型文件进行校验和分析,执行如下操作:模型校验、边界维护、内外厂站分析、模型增量分析。其中,校验和分析的目的是为了保证参与模型的质量,保证所有信息的正确性与一致性,为后续模型拼接提供正确的数据源,是对拼接模型的统一标准化处理。B3.模型拆分,将供电范围的外厂电网按照某种规则,例如指定电压等级、相同厂站或者一组特定设备等,将供电范围内的模型分解为多个小型电网模型,即电气拓扑岛,完成对模型的分类,便于下一步的拼接工作。在拆分的模型中,信息重叠部分要保持标识一致,同时在已有的哈希拓扑图中重叠部分的命名应保持一致,便于下一步的拼接;B4.将来源于外网厂站的模型文件,按照电压等级或区域划分,进行模型边界的融合处理,替代内网等价端,关联电网数据库,最终形成一个完整的供电网络图。本发明还提供了一种基于CIM模型的跨区域供电范围搜索系统,如图5所示,用于实现上述的跨区域供电范围搜索方法,包括:哈希函数生成模块,用于根据供电电源所在电网的大小创建合适的哈希函数,离散哈希表生成模块,用于根据所述哈希函数,将电网中全部设备的标识编号映射到离散哈希表中,哈希拓扑图生成模块,用于根据所述离散哈希表形成电网的哈希拓扑图,供电范围搜索模块,用于利用所述哈希拓扑图对指定设备的供电范围进行搜索。其中,哈希函数生成模块与离散哈希表生成模块相连接,哈希拓扑图生成模块与离散哈希表生成模块相连接,还与供电范围搜索模块连接。指定所需要搜索的供电元件,哈希表生成模块根据供电元件的电压对供电区域进行划分,去掉非供电的高压区域,将设备的标识编号作为映射值,构造哈希函数;离散哈希表生成模块,根据所构造的哈希函数,将区域内的设备映射到离散哈希表中;当出现冲突时,采用链地址法解决冲突;哈希拓扑图生成模块,根据离散哈希表,利用链地址的方式,形成电网的哈希拓扑图;供电范围搜索模块,根据上述哈希拓扑图对指定的供电元件进行快速搜索,得到其供电范围,当供电范围覆盖多个厂站时,供电范围搜索模块可以跨区域搜索,并将搜索到的供电区域进行拼接并高亮显示。在跨区域供电范围搜索系统中,供电范围搜索模块跨区域搜索且进行拼接包括以下步骤:C1.通过网络将供电区域的外网CIM模型文件和SVG图形文件上传至供电内网。上传的文件为上一步骤搜索的供电范围模型;如果供电范围跨多个区域,则需要将模型一一上传;其中,本发明所指的内网为指定供电电源所在的厂站为内网,其他厂站为外网。C2.将参与拼接的模型文件进行校验和分析,执行如下操作:模型校验、边界维护、内外厂站分析、模型增量分析。模型校验主要包括:各文件的语法正确性;网络拓扑、参数等正确性;图形文件与模型文件的一致性等。模型校验的内容可以根据需要自行配置。边界维护是模型合并中的重要环节,智能边界维护简化了模型边界维护的流程。内外网厂站分析是基于人工或智能搜索到的边界定义,设置厂站的边界特性。这里的边界特性是指在模型文件中包含导电设备的厂站均具备边界特性。存在边界设备的厂站称之为边界厂站;边界厂站以内的厂站称之为内网厂站;其他厂站通称外网厂站。模型增量分析的结果以CIM模型增量文件的方式提供,使得用户在模型拼接前就对模型变化有所预期。其中,校验和分析的目的是为了保证参与模型的质量,保证所有信息的正确性与一致性,为后续模型拼接提供正确的数据源,对模型的变化有前期的了解,为用户判断新模型是否参与提供依据,是对拼接模型的统一标准化处理。边界维护是模型合并中的重要环节。网级调度与省市级调度之间的调度边界通常在厂站与厂站之间的联络线上,而省市级调度与地区级调度之间的调度边界通常是在厂站内部划分。针对边界维护繁琐、工作量大的问题,本发明在分析网、省、地各级调度模型边界特点的基础上采用了模型空间维度的边界自检测技术。该边界自检测技术考虑了三类边界维护方式:1.指定边界电压等级,自动检测变压器边界;2.指定边界厂站,半自动检测线路边界;3.任意类型边界自定义的功能。三类边界维护方式相互配合以满足各类离线模型拼接的边界维护需求。C3.模型拆分,将供电范围的外厂电网按照某种规则,例如指定电压等级,相同厂站或者一组特定设备等,将供电范围内的模型分解为多个小型电网模型,即电气拓扑岛,完成对模型的分类,便于下一步的拼接工作;在拆分的模型中,信息重叠部分要保持标识一致,同时在已有的哈希拓扑图中重叠部分的命名应保持一致,便于下一步的拼接;C4.将来源于外网厂站的模型文件,按照电压等级或区域进行划分,进行模型边界的融合处理,替代内网等价端,关联电网数据库,最终形成一个完整的供电网络图。与现有技术相比较,本发明通过针对所有设备资源建立离散哈希表,快速准确对供电范围内的设备进行定位,有效实现快速对供电范围进行查找,并且还能解决关联矩阵的规模扩大问题,且计算量大大降低,提高了供电范围的搜索效率。而且,供电范围会进行高亮显示,清楚直观,让人一目了然。这样对于事故溯源或者电网事故影响范围评估等应用提供了强有力的技术保障。上面对本发明所提供的基于CIM模型的跨区域供电范围搜索方法及其系统进行了详细的说明。对本领域的技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。