基于Lucene技术的金属设备信息检索系统
2019-07-27张艳飞孙云飞
张艳飞,郭 洋,孙云飞
(内蒙古电力科学研究院,内蒙古 呼和浩特 010020)
0 引言
火电机组金属设备信息涵盖设备制造、安装、运行、检修、寿命评估等过程[1-2]。金属设备信息检索系统在生命周期的不同阶段均产生和积累大量的数据,并具有来源渠道多、数据类型复杂、数据管理分散等特点,降低了数据的有效利用率,不利于设备安全性能监督和设备可靠性评价工作的开展。不同型号和容量的火电机组,金属设备信息检索系统设备经常发生同类型模式的失效[3-5]。目前,采取信息化手段进行金属监督管理的研究和应用,主要针对某一个机组或者某类型部件,主要目的是实现本厂监督设备的信息管理、检修台账管理、高温部件寿命评估和预测、机炉外管道管理等[6-7],未能提供多个电厂、多个机组和设备之间的交叉关联和检索、对比功能。
综上,开发了金属设备信息检索系统。该系统面向技术监督和技术服务,以金属监督设备信息为核心形成分布式架构,涵盖了56个火电厂的120余台机组金属监督设备生命周期内各阶段的基本资料、监督数据、检测数据、失效数据等,通过云计算和云服务器实现数据管理和检索。
1 信息检索系统
1.1 信息检索系统架构
金属设备信息检索系统采用Browser和Server分离的分布式结构,Browser端采用Face Book的React技术开发,Server端采用目前安全性能高,扩展性好,框架技术最为完善的JAVA语言作为系统开发的语言。采用Spring框架技术,使系统能够分层开发,各层之间逻辑分明,层与层之间提供接口方式实现业务和数据的通信,使得系统具有极强的扩展性。基于组件技术,力求将变化封装在组件内部。
独立的全文检索系统,基于Lucene技术开发,可以为分布式客户端提供服务,实现设备信息通过全文检索或者关键词检索方式快速获得目标数据。系统计算由云端服务器提供,数据存储由云端数据库提供。
金属设备信息检索系统架构见图1。
1.2 Lucene技术
按照检索类型,电厂金属设备信息检索系统数据分为结构化数据和非结构化数据。结构化数据指具有固定格式或有限长度的数据,如设备编码。非结构化数据指不定长或无固定格式的数据,如邮件和word文档等。一般称非结构化数据为全文数据。
1.2.1 全文检索原理
对非结构化数据即全文数据的搜索主要有2种方法:一种是顺序扫描法(Serial Scanning),对每个文档依次扫描,直到选取出包含字符串的文档,该方法速度较慢;另一种方法是将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。从非结构化数据中提取出重新组织的信息为索引,这种先建立索引再对索引进行搜索的过程为全文检索。
全文检索中,计算机索引程序对文档中的每个词进行扫描,并对其建立索引,指明该词在文档中出现的次数和位置,将这些信息保存在索引文件中。当用户查询时,检索程序根据用户输入的检索关键词对已建立的索引文件进行搜索,然后将搜索结果返回给用户。全文检索包括索引过程和搜索过程。索引过程是将监督设备的所有结构化和非结构化数据提出信息,创建索引的过程;搜索过程是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。金属设备信息检索系统通过云计算和CDN技术快速实现后台分词、建立索引库,并将结果返回用户。
1.2.2 Lucene技术检索过程
Lucene是用Java编写的全文检索引擎工具包,可以方便地嵌入到各种应用中,实现针对应用的全文索引/检索功能。Lucene有两个主要的服务:索引和检索,两者任务是相互独立的。Lucene提供了丰富的API,可以方便地与存储在索引中的信息交互,但其并不是完整的全文检索应用,而是为应用程序提供索引和搜索功能。若想让Lucene真正起作用,还需在其基础上做一些必要的二次开发,即实现本文所述设备数据和信息检索,需要进行二次开发。开发中主要使用Lucene源码中的7个子包,每个包完成特定的功能,具体如表1所示。
表1 Lucene源码包对应功能表
Lucene全文检索过程如图2所示。1)创建文档对象。为每个文件创建对应的Document对象,把文件的属性都保存到Document对象中;为每个属性创建一个Field(lucene中为域),把Field添加到文档对象中;每个Document都有一个唯一的编号。2)分析文档。针对Document中的域进行分析,例如分析文件名、文件内容两个域,先把文件内容域中的字符串根据空格进行分词,把单词统一转换成小写;没有意义的单词为停用词,把停用词从词汇列表中去掉,并去掉标点符号;最终得到一个关键词列表,每个关键词为一个Term,Term中包含关键词及其所在的域,不同的域中相同的单词是不同的Term。3)创建索引。创建索引是对语汇单元索引,通过词语找文档。索引的目的是为了搜索,最终要实现只搜索被索引的语汇单元从而找到Document。
图2 Lucene技术的全文检索过程
2 设备信息检索系统
2.1 信息检索系统功能简介
金属设备信息检索系统功能框架如图3所示。
金属设备信息检索系统主要功能:1)监督管理。实现技术监督报表管理,技术监督和服务报告管理,机组和设备基础信息管理;根据不同用户权限,实现对权限范围内设备信息管理、报告管理和相应设备资料、报告调阅、维护等;提供火电,新能源,电网领域金属相关规程标准的更新和查阅功能。2)设备管理。对设备进行纵向管理。3)业务管理。对设备基础信息和生命周期各阶段数据进行管理;同时提供了学习园地、规程标准和公告管理,主要用于技术交流和标准查询。4)系统管理。数据安全管理,用户账号和权限、角色管理。
2.2 系统功能实现
金属设备信息检索系统数据记录、数据处理和数据检索、分析均在云端进行,用户登录网站:http:∥www.nmjsjd.cn,在管理员分配的权限范围内进行开展检索和对比操作。
系统管理。用户角色分为系统管理员 (系统维护、权限管理),监督人员(可检索全部火电机组设备信息),电厂专工(在本厂范围内管理和使用设备信息)。数据安全管理采取了国内成熟的腾讯云数据库管理平台,并采取分层模块开发技术,确保数据的安全性。
设备管理。设备信息管理包括设备所属组织管理、机组管理、设备信息管理。其中机组的信息是和组织关联,每一个电厂都需要建立自己的机组,设备按照组织和机组号进行关联。机组管理界面如图4。设备数据录入界面如图5所示。设备数据不区分结构数据和非结构数据,批量上传至云端数据库,由系统后台调用分词模块,对设备数据进行处理,建立检索索引库。
监督管理。监督管理对象为监督报告,监督报表,设备资料。
设备资料为设备在各个阶段产生的数据文件,含设计图纸、质量证明书、检修更换资料、失效分析资料等。监督报告模块是对各电厂对应某个设备的监督报告进行管理,管理人员可以从浏览器端口上传本厂的设备报告,并可以查询本厂范围的报告,用户上传报告后经系统管理员审批后进入数据库存档,该模块支持批量上传,报告管理界面如图6所示。监督报表模块可对火电厂技术监督报表进行管理和分析,不仅对数据进行简单管理,通过积累的月度报表和季度报表可以分析设备超温或者对缺陷进行跟踪监视,监督报表界面如图7所示。
图3 系统功能框架
图4 机组管理界面
图5 设备数据录入界面
全文搜索模块用于检索数据库内的各项资料和设备信息,如报告、报表或者规程标准、工艺措施等。其核心技术为Lucene全文检索引擎,并通过CDN(网站分发技术)提高检索速度。可以采取全文检索或者精确检索,以期获得满意结果。管理界面如图8所示。
图6 报告管理界面
图7 监督报表界面
图8 全文检索界面
3 结语
金属设备信息检索系统可实现火电厂金属监督设备信息管理功能,以火电机组金属监督设备生命周期管理为主线,实现了金属设备基本信息、设备故障信息和失效分析信息、金属监督重大缺陷处理信息、重大部件维修和更换信息等内容的检索、统计和对比功能。基于检索结果进行设备信息的统计和对比,为同类型机组或同类型部件提供失效预警,或针对性开展设备的检验检测,提高设备运行可靠性。
基于Lucene全文检索,系统可快速从多个火电厂同系列或同类型设备失效数据中提取目标信息,提供数据库内所有同类型机组和设备的趋势变化数据、性能老化数据及同类型失效的对比数据,实现人工不可能完成的任务,为设备可靠性评价提供大数据指导。