论文部分内容阅读
近年来,不管是新兴的互联网服务领域,还是电信、交通等传统行业,都出现了数据的爆炸性增长。国家海事系统积累了海量、及时、准确的AIS、VTS船舶航行数据资源,这些数据资源由于分散在各个系统中,还没有进行统一的整合和再利用,海事局提出了急切需要盘活海量、权威的AIS等数据资源的需求,通过数据服务化转换,提供领导决策和航运出行两大主线服务,从而不断提升海事公众服务能力,加强海事服务保障能力。本文基于海事局对海量数据服务化转换的需求,设计与实现了海事大数据查询服务平台。本文首先对国内外海事数据服务发展现状和HBase二级索引的发展现状的不足进行了分析与总结。然后重点介绍本文所用的分布式存储系统HBase,并介绍其所依赖的Hadoop分布式文件系统HDFS。接着,介绍本文所用到的全文检索应用服务器Apache Solr,分别对其内部索引原理和检索原理做了详细分析。针对海事数据的位置搜索需求,详细介绍了Solr中索引经纬度的geohash算法和位置搜索原理。另外,介绍了Solr的分布式模式SolrCloud原理,以针对海事积累的大量数据进行分布式索引。本文利用HBase作为数据存储层,解决海事海量数据存储问题,利用Solr作为HBase数据存储层之上的数据索引层改善HBase只能通过rowkey唯一维度进行数据查询的局面,实现对海事数据进行布尔查询,模糊查询,位置搜索等多维度查询需求。这样,索引和真实数据分离,需通过Observer协处理器中提供的服务器端钩子函数实现在向HBase插入数据的同时在Solr中建立对应数据的索引,保证Solr中索引与HBase中对应数据的一致性,且避免了目前HBase二级索引的实现中对HBase源码的改动。基于此核心解决方案建立海事大数据查询服务平台系统,将系统分为数据处理、数据存储、数据索引、数据查询四个模块,分别对其进行详细设计与实现并对系统进行了优化。最后,提供了一个用户查询界面。本文最后进行系统索引数据与真实数据一致性性验证,测试数据插入平均速度,测试不同情况下请求响应时间、多用户并发查询情况下的系统性能以及30min持续多用户并发查询情况下系统的稳定性。该测试结果已通过海事局评审,并在基于此数据查询服务平台,在之上开发了海事数据公众服务网站并上线运行。