论文部分内容阅读
随着大数据技术的不断发展,互联网数据的主流逐渐从结构化数据转变为非结构化数据,然而非结构化数据具有种类繁多、规模巨大且难以标准化的特点,管理相当困难。运用大数据技术实现高效的非结构化数据管理是重要的研究方向。因此,有了本论文的研究内容。本文主要研究内容分为三部分:MongoDB、非结构化数据管理,及MongoDB应用于非结构化数据管理。设计并实现基于MongoDB,结合其他大数据技术的非结构化数据管理系统是康赛公司共享数据中心的升级项目,是本文应用的主要体现。首先,本文对选题的背景、来源、研究内容及贡献、NoSQL数据库研究现状做介绍,总结非结构化数据管理的研究方向,介绍每个方向上的研究现状。在此基础上,通过自己的总结和分析对非结构化数据管理的总体架构进行介绍,并对各模块的关键技术进行深入研究,为本文的研究、设计与实现工作打下基础。然后,本文详细介绍系统的研究与设计工作。通过研究MongoDB、HDFS及关系数据库的特性,确定MongoDB存元数据和小文件,HDFS存大文件的存储方案。接着,通过分析生产环境下数据采集模块的实际应用,设计基于Zookeeper和负载权值的数据采集协调器。通过研究MongoDB全文索引的不足,设计基于MongoDB+ElasticSearch的数据写入与数据读取分离的检索功能并提出一种MongoDB的分页优化方法。随后,通过研究信息孤岛和信息整合,设计应用服务接口。通过分析大数据量下查询与计算的问题,设计基于MongoDB的查询与计算分离的统计分析功能。通过研究MongoDB自动分片和副本集,设计系统扩展性和高可用性,同时提出一种基于增删改查频率的MongoDB数据块迁移方法。紧接着,介绍系统应用层数据库的设计,通过用户权限表实现用户级的数据共享。最后,本文详细介绍系统的实现工作。按照系统性能设计,进行MongoDB的物理部署。结合HttpClient和poi实现主动采集功能,提供一种根据文件流的特定字节标识判断文件类型的方法。通过研究数据采集时的用户体验度问题,提出一种基于缓存的数据采集优化方法。实现基于MongoDB+ElasticSearch的检索功能,提出一种基于ES原始计分函数,结合文档热度的相关度计分方法。实现基于WebService的服务接口。实现基于MapReduce+Kmeans算法,结合热度的文件分类。