一种海量电力设备快速检索服务的实现方法技术

技术编号:17097661 阅读:20 留言:0更新日期:2018-01-21 09:36
本发明专利技术公开了一种海量电力设备快速检索服务的实现方法:步骤1、读取上次画面文件扫描结果及其特征码列表;步骤2、读取当前画面目录下的文件并生成对应的特征码;步骤3、根据步骤1和步骤2的结果生成文件变化列表:包括增加的文件、删除的文件和修改的文件;步骤4、根据文件变化列表更新电力设备对象索引;步骤5、保存本次画面文件扫描结果及其特征码列表;步骤6、当客户端以关键字以及关键字的类型发起检索服务时,索引服务端返回对象信息至客户端。使得电力自动化系统中的各子系统可以通过调用检索服务快速检索海量电力设备,实现高效、快速的检索。

An implementation method of rapid retrieval service for mass power equipment

The invention discloses a method for realizing rapid and massive power equipment retrieval services: Step 1, read the last picture file scan results and feature code list; step 2, read the current picture directory file and generate the corresponding feature code; step 3, generated according to step 1 and step 2 of the results of document change list: including additional files, delete the file and modify the file; step 4, according to the document change list update object index of power equipment; step 5, save the picture file scan results and feature code list; step 6, when a client with keywords and keyword type initiated retrieval service, the server returns the object information index to the client. All the subsystems in the power automation system can retrieve the massive power equipment quickly by calling the retrieval service to achieve efficient and rapid retrieval.

【技术实现步骤摘要】
一种海量电力设备快速检索服务的实现方法
本专利技术涉及一种海量电力设备快速检索服务的实现方法。
技术介绍
电力自动化系统管理母线、断路器、变压器等主网设备以及馈线、配变等配网设备,其中,电力自动化系统通过各种接线图(也称为画面)来表示电网结构,比如系统单线图表示主网的网架结构、配网联络图表示配网的网架结构、厂站单线图表示某个变电站的结构、馈线图表示某条馈线及其相关的配电设备的结构、厂站间隔图表示变电站内某个间隔,其中很多设备同时存在于不同的画面之中,比如系统单线图中的线路也同时存在于厂站单线图和厂站间隔图中。在设备改名或者设备删除时,需要查找该设备是否在其他的画面中存在。目前常用的处理方法是遍历并解析所有的画面,并在这些画面中查找是否存在某个设备。这种方式对于一个变电站监控系统来说或许可行,因为变电站只存在一个厂站单线图和若干厂站间隔图,可以很快遍历完毕。但在网级一体化系统中,画面数量多达几千幅,设备数量达几十万个,如果通过逐幅画面遍历的方式查找某个设备会存在相当大的延迟,严重影响用户体验。
技术实现思路
针对上述问题,本专利技术提供一种海量电力设备快速检索服务的实现方法,使得电力自动化系统中的各子系统可以通过调用检索服务快速检索海量电力设备,实现高效、快速的检索。为实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:一种海量电力设备快速检索服务的实现方法,包括如下步骤:步骤1、读取上次画面文件扫描结果及其特征码列表;步骤2、读取当前画面目录下的文件并生成对应的特征码;步骤3、根据步骤1和步骤2的结果生成文件变化列表:包括增加的文件、删除的文件和修改的文件;步骤4、根据文件变化列表更新电力设备对象索引:401、读取上次电力设备对象索引文件并在内存中建立电力设备对象索引结构;402、对于增加的文件:解析画面文件内容,并将其中的电力设备信息增加到索引中;对于删除的文件,从索引中删除该画面名对应的所有索引;对于修改的文件,先删除该画面名对应的所有索引,再解析画面文件内容,并将其中的电力设备信息增加到索引中;403、保存电力设备对象索引文件;步骤5、保存本次画面文件扫描结果及其特征码列表;步骤6、当客户端以关键字以及关键字的类型发起检索服务时,索引服务端进行如下操作:601、读取电力设备对象索引文件并在内存中建立电力设备对象索引结构;602、根据关键字查找关键字字典获取该关键字对应的散列表;603、查询散列表获取对象信息列表;604、返回对象信息至客户端。优选,按照设定的时间间隔定期重复步骤1-5。优选,步骤1和步骤2中的特征码由MD5算法生成。优选,电力设备对象索引结构的关键字包括对象名、对象名拼音、对象ID和画面名。优选,对于内部系统,检索服务采用基于私有通信协议的TCP报文提供服务。优选,对于外部系统,检索服务采用远程过程调用协议提供服务。本专利技术的有益效果是:通过本方法的实施,可以在电力自动化系统中调用检索服务,根据对象名、对象名拼音和对象ID等关键字快速检索电力设备。附图说明图1为本专利技术所述画面文件变化监视流程图;图2为本专利技术所述设备索引建立流程图;图3为本专利技术所述设备索引结构示意图;图4为本专利技术所述索引关键字字典树示例图;图5为本专利技术所述设备检索时序图。具体实施方式下面结合附图和具体的实施例对本专利技术技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。如图1-5所示,一种海量电力设备快速检索服务的实现方法,包括如下步骤:步骤1、读取上次画面文件扫描结果及其特征码列表;步骤2、读取当前画面目录下的文件并生成对应的特征码;步骤3、根据步骤1和步骤2的结果生成文件变化列表:包括增加的文件、删除的文件和修改的文件;步骤4、根据文件变化列表更新电力设备对象索引;步骤5、保存本次画面文件扫描结果及其特征码列表。按照设定的时间间隔定期重复步骤1-5,上述步骤实现了画面文件变化的监视,其中,上一个循环中的步骤5的信息作为下一个循环步骤1中的信息。如图1所示,采用定时扫描画面文件目录的方式来监视画面文件的变化。画面文件的变化主要有三种情况:一是增、删、改画面内的电力设备,二是删除某一幅画面,三是新建某一幅画面。这三种情况均需对索引进行维护,对应到画面文件的变化就是画面文件的增加、删除和修改。对于这三种变化,增加、删除都很明确,关键是画面文件修改的判断标准。MD5作为一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,用于确保信息传输完整一致。本专利技术采用画面文件的MD5码来判断画面文件是否修改,即步骤1和步骤2中的特征码由MD5算法生成。另外,为了记录上次扫描的情况,本专利技术会使用一个文件名及其MD5码的列表,每次扫描完画面文件目录后跟前次扫描的列表对比,从而区分出画面文件的增加列表、删除列表和变化列表。由于电力自动化系统中电力设备的数量非常巨大,如果单纯线性存储,必然不能满足快速检索的要求。本专利技术采用散列表的方式来存储关键字和对象信息的关联,另外由于存在根据对象名、对象名拼音、对象ID和画面名来查找对象信息的需求,需要建立多种关键字跟对象信息的关联。图2是本专利技术所述设备索引建立流程图,图3是对象索引结构的示意图。对象索引结构中关键字包括对象名、对象名拼音、对象ID和画面名,关键字对应具体的对象条目,对象条目会对应一个或多个画面。通过这个索引,可以根据不同的关键字来迅速查找到其对应的对象条目。比如可以快速获取哪些画面包含该对象,某个画面包含哪些对象等,能满足电力自动化系统设备快速检索的要求。这种结构能够解决根据完整关键字来检索对象信息时的效率问题,但是在电力自动化系统中常常需要模糊匹配,比如根据关键字的某一部分来检索。这种情况下,如果关键字数量非常巨大,遍历关键字并进行字符串的匹配必然会耗费大量时间,检索算法的复杂度是O(N2)。为此本专利技术对关键字采用了字典来管理。最常用的字典就是排序数组,即关键字字典是一个已经按字母顺序排序好的数组,每次读取索引的时候只要将该数组载入内存,通过二分查找即可。这种方法查询时间复杂度为Log(N),占用的空间大小是O(N*关键字长度)。排序数组的缺点是消耗内存,即需要完整存储每一个关键字,当关键字数目多达上千万时,占用的内存将不可接受。考虑到查找效率和占用内存的平衡,本专利技术采用字典树(Trie)来存储这些关键字,考虑到中文的特殊性,采用双数组字典树(DoubleArrayTrie)来存储中文关键字。字典树又称单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。图4是一个设备拼音关键字的字典树示例,表示ycjx(砚崇甲线)和ycyx(砚崇乙线)。具体的,电力设备索引的具体更新方法如下:401、读取上次电力设备对象索引文件并在内存中建立电力设备对象索引结构;402、对于增加的文件:解析画面文件内容,并将其中的电力设备信息增加到索引中;对于删除的文件,从索引中删除该画面名对应的所有索引;对于修改的文件,先删除该画面名对应的所有索引,再解析画面文件内容,并将其中的电力设备信息增加到索引中,即先删除再增加;403、保存电力设备对象索引文件。检索对象信息本文档来自技高网...
一种海量电力设备快速检索服务的实现方法

【技术保护点】
一种海量电力设备快速检索服务的实现方法,其特征在于,包括如下步骤:步骤1、读取上次画面文件扫描结果及其特征码列表;步骤2、读取当前画面目录下的文件并生成对应的特征码;步骤3、根据步骤1和步骤2的结果生成文件变化列表:包括增加的文件、删除的文件和修改的文件;步骤4、根据文件变化列表更新电力设备对象索引:401、读取上次电力设备对象索引文件并在内存中建立电力设备对象索引结构;402、对于增加的文件:解析画面文件内容,并将其中的电力设备信息增加到索引中;对于删除的文件,从索引中删除该画面名对应的所有索引;对于修改的文件,先删除该画面名对应的所有索引,再解析画面文件内容,并将其中的电力设备信息增加到索引中;403、保存电力设备对象索引文件;步骤5、保存本次画面文件扫描结果及其特征码列表;步骤6、当客户端以关键字以及关键字的类型发起检索服务时,索引服务端进行如下操作:601、读取电力设备对象索引文件并在内存中建立电力设备对象索引结构;602、根据关键字查找关键字字典获取该关键字对应的散列表;603、查询散列表获取对象信息列表;604、返回对象信息至客户端。

【技术特征摘要】
1.一种海量电力设备快速检索服务的实现方法,其特征在于,包括如下步骤:步骤1、读取上次画面文件扫描结果及其特征码列表;步骤2、读取当前画面目录下的文件并生成对应的特征码;步骤3、根据步骤1和步骤2的结果生成文件变化列表:包括增加的文件、删除的文件和修改的文件;步骤4、根据文件变化列表更新电力设备对象索引:401、读取上次电力设备对象索引文件并在内存中建立电力设备对象索引结构;402、对于增加的文件:解析画面文件内容,并将其中的电力设备信息增加到索引中;对于删除的文件,从索引中删除该画面名对应的所有索引;对于修改的文件,先删除该画面名对应的所有索引,再解析画面文件内容,并将其中的电力设备信息增加到索引中;403、保存电力设备对象索引文件;步骤5、保存本次画面文件扫描结果及其特征码列表;步骤6、当客户端以关键字以及关键字的类型发起检索服务时,索引服务端进行如下操作:601、读取电力设备对象索引文件...

【专利技术属性】
技术研发人员:周季峰胡剑锋张高峰栾乐莫文雄
申请(专利权)人:南京南瑞继保电气有限公司南京南瑞继保工程技术有限公司广州供电局有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1