基于SolrCloud的档案管理系统

2016-12-13 07:15蹇文燕陈天策
云南档案 2016年11期
关键词:全文检索关系数据库入库

 蹇文燕 冯 敏 陈天策

基于SolrCloud的档案管理系统

蹇文燕冯敏陈天策

随着信息化、数字化的迅速发展,档案管理系统的数据量日益增大,由此带来了数据写入与检索速度低下的弊端。在建立档案管理系统时引入SolrC loud技术,即可解决这一制约档案数字化、现代化发展的难题。

SolrC loud档案管理系统

随着档案管理数字化的发展,电子数据的剧烈增长,检索需求日益复杂,数据分析需要迫切,使得传统的档案管理系统已无力应对,而So rlc loud技术正好可以解决这一难题。

So lrCloud是So lr4.0版本以后基于So lr和Zookeeper的分布式搜索方案。So lrCloud是So lr的基于Zookeeper一种部署方式。So lr可以以多种方式部署,例如单机方式,多机M aster-Slave r方式。So lrCloud具有强大的扩展能力和数据整合能力,而且最重要的是具有优秀的全文检索能力,可以最大限度的满足档案管理工作中的数据入库和数据全面检索的需求,对于千万级的电子数据(包括OFFICE文档、PDF文档、纯文本文档、RAR压缩文件和HTM L、XM L格式的网络数据)检索速度平均都处于毫秒级别。

一、So lrC loud应用于档案管理系统的优势

1.确保档案的完整性

如档案著录时出现数据库读写错误、管理系统的程序崩溃或者断网的情况等,可能会导致著录数据未进入档案库从而造成损失。实践证明基于文件系统的档案管理系统无法处理这种情况,而基于关系数据库的系统也只能做到事务的回滚,不能做到事务的恢复,而So lrCloud就可以解决这个问题。So lrCloud的任务是通过Zookeeper作为媒介发布的,So lrCloud接收到任务后,如果执行任务时出现故障,在So lrCloud重启后,Zookeepe r集群可以再次执行这个未完成的任务,并且对So lrCloud的所有服务器开始任务同步。这样我们在档案入库时,尤其是批量档案入库时,就能更方便快捷的保障档案的完整性。

2.具有自动容错和数据备份的功能

基于文件系统的档案管理系统和传统的单机关系数据库是没有容错功能的,虽然o rac le RAC和SQL2012开始支持分布式的数据查询方案和数据备份,但是关系数据库是难以实现自动容错的,如果在海量的档案数据中进行检索,一台机器的故障可能会造成需要的档案信息无法检索出来,这会对档案利用工作造成很大的影响。而So lrCloud具有良好的容错和备份性能,它会对档案数据索引进行分片,并对每个分片创建多个Rep lication(副本数据)。每个Rep lication都可以对外提供服务。一个Rep lication挂掉不会影响索引服务。更强大的是,它还能自动的在其它机器上帮你把失败机器上的索引Rep lication重建并投入使用。So lrCloud在查询时会自动负载均衡多个Rep lication。如果查询压力大,可以通过扩展机器,增加Rep lication来减缓。

3.简便智能的数据管理和维护

关系数据库在数据增大后,常常难以维护,它需要极其专业的数据库知识,对数据进行分区,建立索引,甚至是优化软件的查询方案或者插入方案。这无疑是一项复杂的工作,档案管理人员通常是难以具有数据库管理员的维护技术,如果聘请专业的数据库管理员或者与系统开发公司签订数据库维护合同,会极大的增加了软件系统的成本,难以符合现在档案工作实际。而So lrC loud的维护是极其简单的,So lrCloud在档案数据入库的时候,自动进行数据的去重和索引的优化,这就免去了后面的繁琐的维护工作。如果索引数量实在太大,造成服务器性能降低的话,我们就需要对So lrCloud的集群进行扩展。当增加硬件服务器后,只需要简单命令操作就可以对庞大的索引的进行自动分割,并不需要复杂的数据库操作。如果我们需要备份档案数据,那么只需要直接拷贝So lrCloud的索引文件就能实现,恢复也只需要用备份数据直接覆盖现有的索引数据,并再次启动So lrCloud节点就能完成,不需要专业的数据备份技术和备份方案。

4.So lrCloud是开源的项目

开源项目不但具有低成本的优势,而且在功能上容易扩展。随着档案管理系统的使用,新的需求、新的功能提出以后,以往的关系数据库方案需要重新建立符合需求的数据库,然后再对数据进行备份和重新入库,这个过程的经济成本和时间成本难以计算。而So lrCloud的改变是快捷的,只需更改配置文件就能增加或改变数据的存储类型以满足档案管理需求,然后再利用高速的索引生成来重建整个档案管理系统。

5.So lrCloud可以作为中间件

So lrCloud的最大的优势就是索引建立和查询的简便性和高效性。如果我们已经建立了昂贵的基于文件系统或者关系数据库的档案管理系统,但是系统的查询速度响应时间太慢,我们也可以充分利用 So lrCloud的索引优势,将So lrC loud作为中间件来优化关系数据库。用So lrCloud对关系数据生成索引后,让So lrCloud去面对繁重的检索工作,最后再让关系数据库来提供具体的档案数据。如果我们有几个档案管理系统,或者需要整合多个系统的资源,提供更全面的档案检索功能的话,也可以利用So lrCloud建立一个中间的索引数据库来提供给查询客户端。

6.So lrCloud的全文检索功能是 So lrCloud最具竞争力的核心能力

传统的关系数据库,对于海量的、特别是其中内容较大的文件进行全文检索操作,查询时间的耗费是巨大的。而且关系数据库的中文分词不完善,更是难以定制扩展。而So lrCloud是开源,它具有很强的整合能力,我们可以使用“IK分词”、“mm seg4 j”、“庖丁解牛”等开源分词插件,甚至可以自己设计更为精确和人性化的档案分词插件,这个插件能定制系统中的特殊行业分词,这样档案系统在全文检索的时候会更加的迅速与精确。

7.So lrCloud提供优秀的检索命中率算法

检索命中率可以根据自身的计分系统来排序,我们在进行全文检索的时候,相似度越高的档案会排在检索结果的前面,这样可以极大的便于档案检索人员迅速精确的查询出所需的档案,提高检索效率。而传统的档案系统在命中多个档案时,就相形见绌了。同时检索命中率使得我们对档案系统的利用有了新的途径,查询命中率和查询效果的统计分析可以使得我们对档案系统的管理维护更有目的性,为后期的系统优化提供可靠的决策支持。

二、基于So lrC loud的档案管理系统

So lrCloud是一组So lr服务器集群,我们需要将所有的档案数据和档案索引数据存放在每个 So lr服务器中。So lr服务器我们称为So lrCloud的物理节点。而So lrCloud的逻辑节点是管理节点,数量通常与物理节点一致,当然也可以多于物理节点,本文采用一致的节点数量来进行说明。

1.So lrCloud的档案管理系统的整体架构

(档案管理系统的逻辑图)

按照上图,我们用三台服务器来创建档案管理系统(So lrCloud需要集群的数量为奇数个),并且创建三个逻辑分布式节点,也就是说所有归档的档案数据会分别存放在这三个逻辑节点中。其中,这三台服务器部署了 Zookeepe r,由Zookeeper选出了三个Leade r,Leader负责直接处理具体的请求,Rep lica负责备份和容错,并且这三台机器都有两个副本Rep lica。Leade r和Rep lica是Zookeepe r选举的。每当So lrCloud重启后,这三台机器上的任何一个原来的Rep lica都可能变成Leade r,原来的Leader也可能会变成Rep lica,但是在每台机器中选出一个Leade r,这与shard数量对应。这个方案搭建的档案管理系统,三台机器中的任何两台故障都不影响系统的使用,同时在故障机器恢复正常后,三台机器中所有副本都会同步到最新。从这点我们就可以发现So lrCloud的工作模式本身就具有极强的容错性能来保障档案数据的完整。

2.So lrCloud的档案管理系统的档案入库过程

档案管理系统在档案入库时,档案入库终端可以将任何档案数据提交个任一Rep lica,如果他不是Leade r,它会把请求转给和自己同Shard的Leade r生成索引,Leader再把生成索引的副本给本Shard的每个Rep lica。入库的档案数据是根据唯一ID的hash值来选择Shard的,如果提交的档案数据不属于本Shard,Leade r会把它转给对应的Shard的Leade r生成索引,对应Leade r再把生成索引的副本给本Shard的每个Rep lica。档案入库过程有三点:一是一份档案数据,有两个备份数据,任何两个数据顺坏或丢失,不影响系统的正常工作;二是档案入库时档案数据是根据唯一ID的hash值确定了档案的唯一性,数据自动去重在整合档案资源,提高检索命中率是很有帮助的;三是档案入库时均衡入库,三个服务器中的副本是均衡的,入库的档案数据是根据唯一ID的hash值确定了档案在哪个服务器中保存,均衡入库的好处是提高查询效率

3.So lrC loud的档案管理系统的档案检索过程

档案检索终端对档案管理系统提出查询请求时,So lrCloud会根据Shard数量,将查询转化为多个子查询(与Shard数量一致),每个子查询返回查询结果并返回给档案检索终端。这个查询过程是分布式系统的通用模式。

三、So lrC loud优化整合已有档案系统

1.So lrCloud优化整合已有档案系统的整体架构

按照下图,我们用多个服务器来搭建一个So lrCloud,So lrCloud并不关心档案数据的入库和存放过程,只关心提供给档案查询终端的索引检索过程。

(SolrCloud优化整合已有档案系统逻辑图)

2.So lrCloud优化整合已有档案系统的档案入库过程

档案的入库还是通过已经建立的档案系统完成,So lrCloud只是从已有的档案管理服务器中按照设定的配置文件,提取索引和全文检索内容,然后再根据So lrCloud建立索引过程建立索引。这个过程值得注意的有两点:一是建立索引的过程是包括全文检索内容的,因此So lrCloud不仅仅是简单的索引优化,而是全文检索过程的优化;二是So lrCloud建立的索引来自于已有的档案管理系统,每当已有的档案管理系统的数据变更时,都需要触发So lrCloud的差异同步模块来完成索引建立。

3.So lrCloud优化整合已有档案系统的档案检索过程

档案查询终端进行检索时,不是对已有的档案管理系统进行检索,而是检索So lrCloud。So lrCloud通过高效的全文检索方案将查询结果反馈给档案查询终端。如果查询终端需要进一步获得档案数据,然后再通过So lrCloud提交已有的档案管理系统中下载。

四、So lrC loud在档案利用方面的扩展

如何通过档案管理系统来高效的利用档案是现今值得探讨的一个课题,本文在此不做详细的介绍,只是以此来进一步阐释So lrCloud的其中优势。例如在查询量的统计分析,查询来源的统计分析,查询关键字的统计分析,查询覆盖面与档案数据的统计分析,查询命中率和查询效果的统计分析中传统的档案管理系统是可以实现其中的几个模块的,但是它们有一个致命的缺点:系统不可分层。So lrCloud的灵活的分层特性给查询终端提供了开阔的空间,和缓冲的时间,我们可以在这些空间和时间中进一步提高档案系统的利用率。查询来源、查询量和查询关键字仅仅是通过So lrCloud来增加一个模块就能完成,查询覆盖面与档案数据、查询命中率和查询效果的统计分析也是So lrCloud依靠自身特性就能很好实现。

五、So lrC loud的前景与缺点

So lrCloud是一个分布式的集群检索方案,对于今后海量的档案数据来看,So lrCloud无疑提供了一条便捷高效的途径。将So lrCloud应用于档案管理系统,可以将传统的系统性能极大的提升。如果在实践中支持单点归档的方式,So lrCloud可以通过配置文件和程序设计的办法做到海量数据的自动归档与索引重建。这就相当于只要原始的电子档案存在,我们就可以将它变成一个档案管理系统,提供给检索用户。而传统的基于文件系统或关系数据库的档案系统是没有办法短时间重建的。同时传统的系统建设是机械的需求和设计,它必须一开始就按照需求分析逐项建立,以后如果稍有更改或者增加模块,那么就可能对整个系统带来颠覆性的后果,而So lrC loud的分层特性能更好的应对以后更多的多元化需求。

虽然So lrCloud具有强大的灵活性与兼容、高效性,但是So lrCloud也有两个明显的缺点,一是So lrCloud的分布式主要体现在索引的存储方式上,它对数据本身的存储是没有实现分布式存储的。如果要在So lrCloud系统中存储数据,那么效率是低下的。但是数据的分布式解决方案对档案系统而言相当于系统重建,这失去了对已有数据整合利用的平滑功能。二是So lrCloud对精细的数据操作需要复杂的设计。例如,我们进行条件过于繁杂的查询统计时,So lrCloud就必须进行复杂设计,因为So lrCloud没有SQL语言的丰富性来完成用户自由的查询,必须通过程序设计的办法来实现传统关系数据库中多表、多条件的联合查询、嵌套查询等等。

档案管理系统本身最重要的功能就是全文检索,至于复杂查询功能,通过So lrCloud的程序设计来实现也是可行的。复杂查询应用的场合大多是需要做报表统计或者数据分析时,种类不多的复杂查询,程序设计能够解决的问题都不是什么难题。所以So lrCloud对于档案的管理和查询需求是极具优势的,正所谓瑕不掩瑜。

[1]蔡学锋.基于Solr的搜索引擎核心技术研究与应用[D].北京:计算机应用技术,2013.

[2]罗学礼等.电力企业的非结构化数据检索研究[J].计算机与数字工程,2014年04期.

[3]冯祥等.基于Solr的海量日志信息查询性能优化的研究[J].硅谷,2014年03期.

[4]aw nuxk jy.So lrC loud简 介 .[2015-9-11]. http://www.chepoo.com/so lrcloud-introduction.htm l

[5]余镇源.SolrC loud学习研究笔记. [2015-9-12].http://so.csdn.net/so/search/s.do? ref=too lbar&q=solrcloud&ref=too lbar&q=solrcloud

作者单位:四川师范大学档案馆成都市成华区人民检察院

猜你喜欢
全文检索关系数据库入库
关系数据库在高炉数据采集系统中的应用
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
关系数据库技术在计算机网络设计中的应用
探讨关系数据库设计中范式理论的教学方法
Oracle数据库全文检索性能研究
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例
全文检索引擎Lucene系统模型与应用研究
全文检索引擎技术在电子病历中的应用