论文部分内容阅读
随着GPS、GLONASS、Galileo和BDS等全球卫星导航系统(GNSS)的逐步建设和完善,世界各国都建立了自己的连续运行参考站(CORS)系统,并把相关数据和技术应用于实时定位导航、地震监测预报、大地测量、地壳运动监控、城市规划、工程建设、气象服务、地理信息系统、精准农业及交通运输管理等领域。GNSS跟踪站网产生的大规模观测数据及解算产品的数据量呈爆发增长,这给数据存储管理和快速检索带来巨大挑战。基于文件的存储管理方式无法满足用户对GNSS数据灵活性使用的需求,而基于关系数据库的方案虽然能够解决灵活性的问题,但存储和检索海量数据时,存在性能瓶颈且扩展困难维护代价高。针对上述问题,本文使用以Hadoop生态系统为代表的大数据技术,重新定义了海量GNSS数据的存储和检索方式,基于NoSQL数据库HBase和云实时搜索引擎Elasticsearch(ES)构建了分布式存储检索架构。相较于基于文件和基于关系数据库的数据管理方式,本文的架构方案便于CORS数据中心以更高效率提供GNSS分布式解算所需的数据和计算环境,例如大规模GNSS网基线解算、网平差、观测数据质量分析等。本文的创新点和主要研究内容如下:1)根据CORS系统业务需求,分别设计了实时数据存储、数据批量导入、索引创建、数据检索、数据获取五个模块,构成本文存储检索系统的核心。2)根据GNSS各类数据结构特点分别设计了HBase表存储模式,实现GNSS数据以历元为单位的细粒度管理,满足用户多样化的数据定制和使用需求。3)结合RINEX文件格式的特点和业务需求,设计了基于ES的二级索引结构,该方案节约了索引数据存储成本,提高了检索效率。4)提出了基于MapReduce的GNSS数据批量导入算法,避免调用HBase客户端API导入海量历史数据而带来的低吞吐量问题。最后,本文通过对比实验分别从数据写入、检索和读取三方面对系统进行了功能和性能测试。实验结果表明,HBase写入和读取速率能够满足业务需求,ES搜索响应时间维持在秒级水平。