论文部分内容阅读
随着航天事业的不断发展,人造卫星的发射数量急剧增加。人造卫星不断地对地球和太空环境进行探测和监控,产生海量数据。现有的卫星数据存储系统需要将卫星数据发回地面站进行存储和处理,通信效率和实时性低,不能满足日益增长的数据存储和处理需要。卫星收集到的数据数量庞大、形式多样且包含多种结构,需要运用多个存储系统进行分别存储,操作十分复杂。因此需要建立一个高轨道卫星集群存储系统,在星上进行分布式数据存储,混合存储各类不同的数据,为星上应用提供统一的数据服务。本文基于对现有各类存储系统的研究,提出了混合型分布式存储系统,结合关系型数据库、非关系型数据库、分布式文件系统等多种存储形式,对结构化、半结构化和非结构化的数据进行统一的操作。设计混合存储管理模型,通过数据类型服务端对不同数据结构的各个数据类型进行存储,对上层应用提供统一的客户端接口用于进行数据操作。混合存储管理模型作为各类存储系统与上层应用之间的中间层,在客户端接口与实际各个存储系统接口之间进行转换,提供与多个存储系统等效的数据服务。分布式文件系统通过副本技术为数据进行冗余备份,提高容错性并平衡负载。根据研究文件数据的读取会有冷热之分,现有副本策略不能很好利用文件热度的特性,对存储空间消耗过大,不适用于卫星环境。本文进行了动态副本存储策略的设计,通过数据观测周期内的读取频率对文件的热度进行区分,并根据文件的热度动态调整文件的副本个数。针对卫星环境下卫星站点间通信速度低于卫星站点内通信速度的特征,考虑节点间距离和负载的影响,设计了副本位置选择策略。本文结合关系型数据库MySQL、非关系型数据库MongoDB和分布式文件系统HDFS设计并实现了混合型分布式存储系统的原型系统,验证了其与各个存储系统之间的等效性,进行了功能测试。基于HDFS实现了动态副本策略,通过真机实验和仿真实验,验证了本文策略与HDFS静态策略和Scarlett动态策略相比,能够在占用更少存储空间的前提下,提高文件的读取速度。