APP下载

基于Kafka集群的数据搜索及共享机制在电力企业的应用研究

2018-06-14孟椿智叶耿谢瑞浩

数字技术与应用 2018年3期
关键词:全文检索搜索引擎引擎

孟椿智 叶耿 谢瑞浩

(1.广西电网有限责任公司信息中心,广西南宁 530023;2.广西博联信息通信技术有限责任公司,广西南宁 530023)

目前电力企业已经进入大数据时代,数据信息量越来越大,通过Hadoop技术建设数据中心,实现数据采集抽取、清洗转换、加载存储、数据可视化显示等,而电力企业的应用系统对数据的需求越来越旺盛,有必要就数据搜索及共享机制展开研究。

1 电力大数据趋势

随着计算机科学的飞速发展,电力行业的信息化程度越来越高,有关的电力数据资源也开始快速增加,电力企业的数据资源逐渐朝着异构、多源以及PB级规模迅速发展。在社会向着大数据发展的大环境下,电力大数据也逐渐成为了电力工业技术革新的必经之路。电力大数据标志着电力技术的跨越性进步,通过建设数据中心为应用系统提供强有力的数据支撑,完成数据价值变现,是智能化电力系统的重大变革要求。

图1 电力企业全文检索引擎系统功能设计

2 Kafka集群关键技术

Kafka是Apache基金会的顶级开源项目,主要应用场景有日志收集系统和消息系统,实现消息持久化、高吞吐率地数据传输能力。Kafka集群一般包括几个broker(消息中间件处理结点),producer(消息提供者)将数据推送到broker上,consumer(消息消费者)再从broker拉取数据进行消费,Kafka集群使用“at least once”的机制实现数据传输,即数据至少传输一次,如果数据未接收成功,会重发直至成功。

3 基于Kafka集群的数据搜索及共享机制在电力企业的应用

3.1 设计与实现

3.1.1 功能设计

结合电力企业应用过程中对数据中心提出数据共享的需求,本文设计了以hadoop技术为主的,多种数据源应用框架结合的电力企业全文检索引擎系统,其中应用了部分开源、扩展性强的kafka集群技术,从而建立了有效、实用的数据共享机制。图1是电力企业全文检索引擎系统功能的设计情况。

用户可以通过输入关键字的方式对全文进行有效检索,并且搜索引擎可以按照用户提供的属性以及其他相关信息等对相关性大的搜索结果按照关联性的大小依次进行排序,从而搜索出和用户需求匹配的数据,再通过Kafka集群向用户推送数据结果,达到数据共享的效果,因此,电力企业全文检索引擎系统具备以下功能:(1)搜索引擎具备对全文数据进行快速检索的能力。为了实现快速检索,可以有效结合倒排索引的方式,通过反向索引实现在大规模的文本数据中准确定位相关信息的功能。(2)搜索引擎能够对相关性进行充分、有效的检索。查准率和查全率是对系统检索能力进行衡量的基础指标。查准率意味着搜索引擎检索功能的精确程度,也就是说查准率是检索结果中正确数据的百分比。查全率意味着搜索引擎检索出相关信息的能力,也就是说查全率是搜索引擎检索出的相关结果同全部相关结果的百分比。(3)稳定的数据共享机制。在用户根据自身需求搜索出数据后,电力企业全文检索引擎系统需要向用户提供稳定的数据传输通道,确保数据可以正确、可靠地到达相关应用系统,为企业的生产运营、决策分析提供强有力的数据支撑。

3.1.2 索引模块构建

为了实现检索功能,需要创建相应的索引模块。因此,应当以电力特点为基础,构建具有检索功能的模块。一般来说,检索模块主要由检索分析处理与检索结果处理两大部分构成。

对于索引模块而言,其通常都会涉及到多个系统之间的数据同步问题。要想符合检索系统对数据一致性和实效性的需求,就必须具备不同的数据采集方式,和多渠道的索引构建策略。为此,可以从以下三方面入手:(1)保障数据能够被全量抽取,并构建相应的索引模块。索引数据和业务系统数据必须具备一致性,因此,应当定期利用系统对所有的索引数据进行重建。(2)注意索引数据的实时同步。一些业务数据必须被及时且准确地检索到,对于这部分数据应当构建相应的实时索引数据。(3)索引模块构建过程中要注意定期增量同步。通常情况下,索引系统和业务系统以及消息中间件是相互独立的,因此,应当有效保证异构系统之间的数据具有一致性。

3.1.3 数据共享机制

为了能够稳定地向用户传输数据,实现数据共享的机制,需要建设kafka集群,用户作为consumer(消息消费者),订阅从电力企业全文检索引擎系统搜索出来的Topic(消息),即数据,数据中心作为producer(消息提供者),将用户订阅的Topic推送到broker(消息中间件处理结点),用户可通过数据接口、文件下载等方式从broker获取详细的数据内容用于后续的数据应用。

3.2 具体应用效果

基于Kafka集群的数据搜索及共享机制在电力企业全文检索引擎系统中得到积极应用,目前已为多个的应用系统提供服务,实际应用表明,本文设计的全文检索引擎系统的搜索速率达到了496条/秒,每天可提供超过5GB的数据量,大大满足了应用系统的数据共享需求。

4 结语

基于Kafka集群的数据搜索及共享机制,能够有效提高全文检索的查准率和查全率,为应用系统提供强有力的数据传输,其对于电力企业的发展具有重要意义。

[1]李爱军,王海滨,郑晓波.基于推理控制策略的智能型电力搜索引擎的研究[J].西华大学学报(自然科学版),2008,27(06):34-37+48+122.

[2]宋宛净,姚建刚,汪觉恒,等.全寿命周期成本理论在主变压器选择中的应用[J].电力系统及其自动化学报,2012,24(06):111-116.

[3]白红伟,马志伟,朱永利.基于云计算的绝缘子状态监测数据的处理[J].电瓷避雷器,2011,(04):19-22+28.

[4]曲朝阳,熊泽宇,颜佳,等.基于空间分割的电力大数据三维全景可视化场景管理方法[J].华北电力大学学报(自然科学版),2016,43(02):23-29.

猜你喜欢

全文检索搜索引擎引擎
Oracle数据库全文检索性能研究
网络搜索引擎亟待规范
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
Nutch搜索引擎在网络舆情管控中的应用
基于Nutch的医疗搜索引擎的研究与开发
基于KySou的全文检索系统的分析与优化
广告主与搜索引擎的双向博弈分析
One Engine Left只剩下一个引擎
用JSP调用Lucene包来实现全文检索