基于海量数据的存储与实时事件发现系统的设计与实现

基于海量数据的存储与实时事件发现系统的设计与实现

论文摘要

随着航运业朝着规模化、系统化发展,数字化管理成为发展的必然趋势。为用户提供高效精确的数据服务,就成为航运平台的主要目标之一。然而国内目前在航运数字化领域研究落后于国际先进水平,对AIS数据的使用也多处于提供原始数据查询的层次。在这种情况下亟须开发出一种能够实时发现AIS数据背后隐藏的事件的系统,然后通过海运平台将这些事件信息发送给关注这些事件的用户。海量数据即是大量,或超大量的数据。由于大小是一个相对的概念,所以海量数据的定义也是随着存储数据的硬件性能,设备处理数据的计算速度,以及构建在之上的软件的性能的变化而变化的。本文研究的AIS数据就是一种海量数据,由于数据量的特殊性,对这种数据的存储和读写服务的提供方面,使用传统的关系数据库暴露出多方面的问题。因此,本文基于netCDF数据格式对构建AIS数据的存储底层做了有益的尝试。1.首先研究了海量数据存储。基于目前常用的开源数据库MySQL o包括MySQL的主流存储引擎的研究,并对在海量数据条件下MySQL的读写性能进行了测试。2.研究了netCDF数据格式。深入研究了netCDF数据格式的物理存储模型,结合AIS数据,提出了使用netCDF格式进行AIS数据存储的两种方案。3.根据对netCDF数据格式的研究,基于unidata C API构建了用于存储AIS数据的函数库。4.设计并实现了基于netCDF函数库的AIS实时数据存储系统。5.研究AIS数据,构建可以从AIS数据中计算的船舶航行事件模型。最后基于这些事件模型,设计并实现了事件发现引擎,并运用到了实际的项目中。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.1.1 海量数据处理背景
  • 1.1.2 AIS数据
  • 1.1.3 AIS事件发现系统的研究背景
  • 1.2 AIS数据应用现状和研究意义
  • 1.3 本文要解决的问题
  • 1.4 论文的组织结构
  • 第二章 需求分析
  • 2.1 总体需求
  • 2.2 系统模块功能需求
  • 2.2.1 对外数据查询模块
  • 2.2.2 数据存储模块
  • 2.2.4 原始数据导入模块
  • 2.2.3 AIS事件发现引擎
  • 2.2.5 订阅和发送模块
  • 第三章 海量数据存储的研究
  • 3.1 MySQL数据库存储引擎介绍
  • 3.2 整表存储方案以及测试
  • 3.3 分表存储方案的研究
  • 3.3.1 数据表分区的背景研究
  • 3.3.2 AIS数据分表方案
  • 3.3.3 缺陷分析
  • 3.4 研究结论
  • 第四章 基于netCDF数据格式的数据存储研究
  • 4.1 netCDF数据格式背景介绍
  • 4.2 netCDF数据格式深入研究
  • 4.2.1 netCDF数据格式的物理结构
  • 4.2.2 netCDF数据格存储AIS数据
  • 4.2.3 小结
  • 4.3 I/O效率测试
  • 4.3.1 固定维度的逐条写入
  • 4.3.2 变化维度的逐条写入
  • 4.3.3 批量变化维度写入
  • 4.3.4 写入实验总结
  • 4.3.5 单条读取
  • 4.3.6 批量读取
  • 4.3.7 小结
  • 4.4 本章总结
  • 第五章 设计实现netCDF函数库
  • 5.1 数据结构
  • 5.2 函数库结构
  • 5.3 模块详细设计
  • 5.3.1 文件直接操作模块设计
  • 5.3.2 netCDF文件描述符管理模块
  • 5.3.3 I/O过程处理模块
  • 5.3.4 封装Mysql C API I/O函数
  • 5.3.5 初始化环境模块
  • 5.3.6 数据库查询应用封装
  • 5.3.7 netCDF库外部接口
  • 5.4 函数库的编译和使用
  • 5.4.1 函数库编译
  • 5.4.2 函数库使用
  • 第六章 AIS数据存储系统的设计与实现
  • 6.1 系统结构
  • 6.2 辅助数据库表
  • 6.2.1 实时数据表
  • 6.2.2 netCDF文件索引格式表
  • 6.2.3 netCDF文件索引当日表
  • 6.2.4 netCDF文件索引历史表
  • 6.3 程序运行流程
  • 6.3.1 数据导入线程
  • 6.3.2 数据表处理线程
  • 6.4 数据文件压缩
  • 6.5 错误恢复方案
  • 6.5.1 索引数据表错误恢复
  • 6.5.2 数据文件错误恢复
  • 6.6 AIS数据查询服务进程的设计
  • 6.6.1 流程设计
  • 6.6.2 查询接口设计
  • 6.7 本章小结
  • 第七章 AIS事件模型和事件发现引擎的设计与实现
  • 7.1 事件模型
  • 7.1.1 状态变化事件
  • 7.1.2 航行动态事件
  • 7.1.3 区域相关事件
  • 7.1.4 设备相关事件
  • 7.2 数据模型设计
  • 7.2.1 事件ID码表
  • 7.2.2 流水事件表
  • 7.2.3 流水事件辅助表
  • 7.2.4 用户订阅的系统eventID参数
  • 7.2.5 用户订阅邮件发送队列
  • 7.2.6 用户自定义订阅规则表(区域相关)
  • 7.2.7 用户自定义订阅规则表(点相关)
  • 7.2.8 消失跟踪中间表
  • 7.2.9 消失不跟踪中间表
  • 7.2.10 实时AIS数据表
  • 7.2.11 实时AIS数据过期表
  • 7.2.12 区域事件中间表
  • 7.2.13 航线添补表
  • 7.2.14 系统计算航线结果表
  • 7.2.15 随机点航线计算结果表
  • 7.3 事件发现引擎设计
  • 7.3.1 数据存储模块
  • 7.3.2 流程控制模块
  • 7.3.3 事件计算单元
  • 7.4 系统上线测试
  • 7.4.1 数据导入netCDF系统运行结果
  • 7.4.2 事件发现引擎计算结果
  • 7.4.3 事件计算结果展示
  • 第八章 论文总结与展望
  • 8.1 论文工作总结
  • 8.2 进一步的工作
  • 参考文献
  • 致谢
  • 攻读学位期间发表的学术论文目录
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    基于海量数据的存储与实时事件发现系统的设计与实现
    下载Doc文档

    猜你喜欢