摘" 要:近年来,由于国家对测震工作的重视,中国地震行业取得了较迅速的增长,但地震装备信息方面由于国家防震减灾机关的装备信息工作还比较落后,信息化和精细化管理程度不高,对本部门装备的状况、数量等信息还没有科学合理的统计分析方式和办法,从而导致了大批优秀地震装备信息资料的浪费。根据分析与管理地震信息数据资料的现状,文章针对防震减灾部门对地震信息管理的实际需求,基于ElasticSearch具有分布式多用户的全文搜索引擎和分布式实时文件存储的优点设计并实现了基于ElasticSearch大数据搜索引擎的地震信息资源管理系统,以方便对地震设备进行高效管理并对地震信息资源进行信息化的建设工作。
关键词:大数据搜索引擎;数据库;ElasticSearch;数据管理
中图分类号:TP311" " 文献标识码:A" 文章编号:2096-4706(2024)09-0068-05
Research and Implementation of Seismic Information Management System
Based on Big Data Search Engine
HUANG Bobing, HUANG Meng, ZHAO Changkai, ZHANG Yuanwang
(Institute of Disaster Prevention, Langfang" 065201, China)
Abstract: In recent years, due to the countrys emphasis on seismic measurement work, Chinese seismic industry has achieved rapid growth. However, in terms of seismic equipment information, due to the relatively backward equipment information work of the national earthquake prevention and disaster reduction agencies, the level of information and refined management is not high, and there are no scientific and reasonable statistical analysis methods for the condition, quantity, and other information of the departments equipment, which has led to the waste of a large number of excellent seismic equipment information materials. Based on the current situation of analyzing and managing earthquake information data, this paper focuses on the actual needs of earthquake prevention and disaster reduction departments for earthquake information management, designs and implements a seismic information resource management system based on ElasticSearchs Big Data search engine, based on the advantages of ElasticSearch, which has a distributed multi-user full-text search engine and distributed real-time file storage, so as to facilitate efficient management of seismic equipment and the construction of information technology for seismic information resources.
Keywords: Big Data search engine; database; ElasticSearch; data management
0" 引" 言
随着科技的发展,地震行业对信息技术的依赖也越来越高,据不完全统计,地震行业及其下属单位相关部门,有软硬件设备数十万件,由于地震行业各个部门权限较多较复杂、软硬件设备信息种类繁多,非常不便于管理,且缺少可供用户直观了解设备详情的可视化平台,针对以上问题本文设计并实现基于ElasticSearch大数据搜索引擎的地震信息资源管理平台[1]。本文主要工作如下:
1)本文研究并设计了基于ElasticSearch大数据搜索引擎的地震信息资源管理平台的整体架构。针对地震系统软硬件信息的特点和数据量的大小,本项目采用云平台+MYSQL数据库的方法构建数据存储基础数据库,应用Element技术结合Validate模块实现地震系统软硬件设备信息填报与汇总。
2)本文针对数据资源量与关联性增加而导致平台应对高并发请求的能力逐渐下降的问题,选用基于ElasticSearch大数据搜索引擎设计来增强综合信息管理功能以便于数据的管理。选用基于ElasticSearch大数据全文搜索引擎技术中的倒排索引算法可对数据库中的地震信息资源数据建立索引并应用于硬件设备的使用及运行情况分析,以及对硬件设备的配置信息、通用软件信息、网络信息、协议端口信息等数据子项索引快速查询并显示相关单位部门等设备详细信息。
1" 系统介绍
1.1" 系统概述
本系统设计具有实用性、高兼容性以及实时响应的特点。系统在工作时需要确保运行可靠性和安全,以及能够进行高性能查询、分析与计算;另外,系统应该具备模块化架构,其功能可划分为几个单独的子系统功能,方便系统的理解、应用和功能的深入拓展。
1.2" 主要技术特点
1.2.1" Elasticsearch搜索引擎
Elasticsearch是一种分布式的全文搜索引擎,其主要特点是在传统的倒排索引基础上利用BM25算法实现搜索功能。通过这种方式,Elasticsearch能够高效地完成索引库的构建,并提供非常有效的查询功能。以Elasticsearch(ES)为代表的垂直分布式搜索引擎具有全文搜索、数据分析和分布式存储三位一体的优势[2]。基于上述优点考虑,釆用此搜索引擎为数据资产管理平台提供数据的存储、分析和检索是最佳选择。
1.2.2" MySQL数据库
MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它的设计旨在提供高效、可靠和灵活的数据存储解决方案。关联数据库是MySQL的核心特性之一,在数据存储中MySQL可将数据存储在多个表中,此方法相比存储在单个表中更具实用性并提高了查询效率。MySQL的双授权政策分为社区版和商业版,使得用户可以根据自己的需求选择合适的版本。社区版是开源的,适用于小到中等规模的项目,它提供了基本的关系型数据库功能。而商业版则提供了更多的高级功能,适用于大型企业级应用。MySQL具有查询效率快、存储灵活、总体成本低、源码开放等特点,这使得大多数网站开发人员选择 MySQL作为数据库。MySQL的开源性质也促进了社区的活跃度和持续的发展,使得用户可以从中获取到大量的支持和资源,因此,一般网站开发的首选网站数据库通常都是MySQL。
2" 系统整体架构概述
2.1" 系统技术路线
本系统采用当前主流的前后台分离开发技术,基于MVVM的设计模式,应用Vue框架的开发平台,以Spring作为后台框架,结合ES6的相关技术及其规范来进行应用开发。整个项目分为上下两层,分别为基础数据入库与多源信息体系构建和前端展示系统两部分[3]。针对地震系统软硬件信息的特点和数据量的大小,本项目采用云平台+MYSQL数据库的方法构建数据存储基础数据库,使用ElasticSearch大数据搜索引擎映射MYSQL存储实现查询优化,应用Element技术结合Validate模块实现地震系统软硬件设备信息填报与汇总。在数据展示方面,应用大数据可视化技术Echarts+Element+GIS技术和JavaScript开发方法进行Web前端展示,实现地震系统软硬件设备信息展示,针对地震行业各个省局和部门的权限要求不同,采用基于用户访问权限模型应用RBAC的权限管理技术实现业务系统的整体的安全管理;为了更直观的显示地震系统软硬件设备的工作环境,使用WebGL开源框架结合Three.js和H5 Canvas技术实现软硬件设备的3D展示[4]。系统整体的技术流程图如图1所示。
2.2" 系统功能概述
本系统综合数据分析与检索是系统核心功能模块。本项目关键技术是基于Spring框架+MySQL数据库+ElasticSearch大数据搜索引擎,主要功能是基于ElasticSearch完成硬件设备的使用及运行情况分析,以及对硬件设备的配置信息、通用软件信息、网络信息、协议端口信息的数据子项索引查询。
3" 数据库设计
3.1" 数据库管理方式
本系统多为管理人员使用,因此,简洁明快成为该软件界面设计的主题。且本系统所管理的地震信息数据内容较为复杂,其中“综合信息数据”“信息资产基础数据”“用户信息数据”用于存储本系统的重要地震信息数据。
3.2" 数据库管理
3.2.1" 综合信息库
综合信息库包括系统硬件设备综合信息数据。其中包括安装位置、机柜编号、柜内U位、是否可下架、设备类型、设备配置(含操作系统)、IP地址、部署业务系统、所属部门数据等,具体与系统其他的数据库相同。
3.2.2" 信息资产基础信息库
信息资产基础信息库包括系统软件业务应用信息数据,其中包括软件信息、系统用户信息、业务应用、链接(服务)用户信息、存储容量信息等数据。
4" 全文搜索系统设计
4.1" 关键技术与算法
目前主流的技术主要有通用查询技术,基于ElasticSearch大数据全文搜索引擎技术。由于本系统当中数据量会大于10万条,而且表和表之间的关联非常多,这样就会降低数据的查询效率。随着管理信息数量的不断增加,平台应对高并发请求的能力逐渐下降,针对此问题,可使用基于ElasticSearch大数据全文搜索引擎技术中的倒排索引算法对数据库中的管理信息数据建立索引,式(1)为该算法的性能模型:
(1)
式中,N表示倒排索引表包含的管理信息词条总数,表长度的统计分布为p(i),x表示管理文档的总数,d表示数据量的平均值,q个查询指向N个管理信息词条中的某一个词条的数量范围为[1,k],对于某个词条上的不同查询操作数的概率记为 fN, q(i),i = 1,2,…,k。该式表示倒排索引对q个并发查询操作的基本性能模型,该模型能够显著改善集中式搜索引擎在并行处理方面的关键问题[5]。索引建立后,把索引信息的操作转换为对URI的接口进行访问,解决地震信息资源数据快速查询的同时更方便于信息的导出,快速动态的生成地震管理信息报告。
本系统所使用的地震信息资源以不同的形式存在,包括结构化数据和非结构化数据。非结构化数据包括各部门地震信息资源文档、机房三维模型等,这类数据用传统的关系型数据库进行存储不利于数据的管理,因此一般存储在分布式系统中[6]。非结构化的地震数据,还包括地震信息的元数据信息。元数据记录了地震数据的数据来源、数据的产生时间以及地震数据的存储位置等信息。为使用ElasticSearch查询地震数据,首先需要为地震数据创建索引。对于非文本类的地震数据,需要使用其元数据来创建索引;而对于文本类数据,需要对文本数据进行分词处理以创建索引[7]。
在ElasticSearch中,每个文档都是索引库中的一条记录,并可以包含多个字段。最终的检索结果是从索引库中获取的文档。通过本系统提出的加权融合公式在SpringMVC项目中构建搜索条件进行检索得出最终的结果。因此,在实现了提高地震信息资源搜索效果的同时保证了数据搜索的高效性与互操作性[7]。
4.2" 系统总体设计
基于ElasticSearch的大数据搜索系统,针对地震信息数据的实际情况和系统设计的功能需求,包括数据索引和同步等功能,具体设计为数据接入模块、数据索引模块和全文查找[8]。基于ElasticSearch的大数据搜索系统在搜索数据时将获取的数据通过Kettle(基于Java的开源ETL工具)接入ElasticSearch集群,在搜索模块调用相应接口后建立倒排索引表,将获取信息返回给最终用户[9]。
在系统设计过程中,为了实现数据迁移,数据接入模块被设计为在满足实际需求的情况下,尽可能采用ElasticSearch作为唯一的数据存储模块,负责将原有系统中的数据迁移到新系统中。但在一些特定的应用场景下,可能需要引入ElasticSearch在新系统中的检索支持,以增强新系统的检索功能。本系统选用Kettle作为数据同步工具,以满足常用数据库间数据迁移和同步操作的需要,满足数据库数据同步[10,11]。
这个过程中,存在多个数据源,同时包括了一个数据缓冲区用来存储从数据源中收集来的数据,另外还有一个ElasticSearch集群,用于访问用户。数据缓冲区与集群间的信息抽取工作采用Kettle技术进行。
系统在进行索引数据时可将大量不同索引以Bulk方式一次发送到集群。在进行数据分片时可通过id对不同数据进行哈希转换以保证数据被正确分配至相应分片。在完成数据分片后,还需对词条进行进一步数据清洗操作。在数据清洗后,数据索引模块会对数据选择合适的分词器再次处理加工之后通过索引器为搜索模块创建索引[11]。搜索模块运行在ElasticSearch分布式集群上,能够根据用户搜索的信息及时响应并为用户返回最终的搜索结果。
5" 系统模块介绍
5.1" 综合驾驶舱模块
该模块为系统首页并实现了数据可视化展示。为了将系统中的设备类型数据、设备维护信息、业务信息等信息更方便、美观地展示出来,我们采用运用主流的ECharts技术,从后端获取相应硬件设备的数据,对数据采用分类算法进行分类处理,最后将处理结果以不同的方式渲染在图表上来进行可视化展示。对于各个单位的整体信息,我们采用WebGIS技术将地理信息和地图结合,通过点击红色圆点以弹窗形式获取到各个单位的具体信息。综合驾驶舱模块如图2所示。
5.2" 信息管理模块
该模块实现了对于综合数据和资产基础信息数据的增删改查,主要利用Spring3MVC和hibernate框架实现了对综合数据和资产基础信息数据的管理功能。针对查询功能,采用基于Elasticsearch的大数据搜索引擎技术,并使用ElasticSearch大数据全文搜索引擎技术中的倒排索引算法对数据库中的地震管理信息数据建立索引,再通过ER-BERT模型与ElasticSearch的加权融合公式构建搜索条件进行检索,以适配对复杂地震信息进行快速搜索的需求。信息管理模块如图3所示。
5.3" 数据报表制作模块
该模块实现了将筛选出来的数据制作成报表功能。在数据筛选的基础上,还添加了多维度的查询功能,以至于方便数据检索,达到按需筛选的要求。在导出数据成报表上,实现了按不同规模导出的功能,可以选择总表导出、详表导出、统计表导出。数据报表制作模块如图4所示。
6" 结" 论
针对目前企业与部门获取数据多元且复杂的情况,本系统对其复杂数据进行了研究并系统地设计了基于ElasticSearch搜索引擎地震信息资源管理系统,使得散落的数据库能够集中管理,并对数据更加高效的查询提供帮助。为更接近管理员期望并贴合用户效益,本系统今后将重点考虑系统建设的内在逻辑关系。
参考文献:
[1] 张雯,盛颖怡,张晓晴,等.基于ElasticSearch的个人敏感信息检测系统 [J].常熟理工学院学报,2022,36(5):33-36.
[2] 李宝玲,郭立鑫,李珂.基于HanLP的档案智能检索系统研发与应用 [J].档案管理,2020(6):41-43+47.
[3] 王笑笑.基于深度语义学习的跨媒体教育大数据智能搜索研究 [D].北京:北京邮电大学,2021.
[4] 陈锦霞,张婷.基于数据稀疏特征的交互设计智能推送仿真 [J].计算机仿真,2020,37(12):166-170.
[5] 张仪.跨平台统一大数据智能化SQL查询系统研究与实现 [D].南京:南京大学,2020.
[6] 宋永鹏.基于MySQL的数据库查询性能优化 [J].电子设计工程,2021,29(12):43-47.
[7] 陶磊,苏晨阳,李正丹,等.基于ElasticSearch和语义相似度匹配的教学资源搜索策略 [J].数据与计算发展前沿,2022,4(2):50-62.
[8] 魏星.分布式架构下数据库查询的并行处理与优化 [D].上海:华东师范大学,2021.
[9] 王屹.基于Python的工程项目数据检索平台设计与实现 [J].天津科技,2020,47(3):43-45.
[10] 吕世超.基于Python语言的自动化测试系统设计应用 [J].仪表技术,2021(2):16-18+61.
[11] 王伟,魏乐,刘文清,等.基于ElasticSearch的分布式全文搜索系统 [J].电子科技,2018,31(8):56-59+65.
作者简介:黄博兵(1999—),男,汉族,河南郑州人,硕士在读,研究方向:自然语言处理;通讯作者:黄猛(1976—),男,汉族,河南新乡人,教授,硕士,研究方向:GIS、软件工程、机器学习、深度学习、大数据分析;赵长开(2001—),男,汉族,贵州威宁人,本科在读,研究方向:计算机科学与技术;张元旺(2004—),男,汉族,河北沧州人,本科在读,研究方向:计算机科学与技术。