关键词:
GNSS
流存储
Pravega
异常检测
孤立森林
摘要:
随着中国自主建设的北斗三号全球卫星导航系统成功实现全球组网部署,我国成为了世界上第三个建成全球卫星导航系统的国家,而且北斗系统在导航精度、授时精度等各方面指标均达到世界一流水平。得益于北斗系统的高性能,北斗系统在各个行业都得到广泛的应用。因此对卫星导航授时的数据管理问题进行研究分析具备着重要的意义。本论文来源于某研究所某项目,在园区运营过程中,需要对转发式卫星导航试验系统的数据进行汇总管理,并对其分析处理,最终由数据管理系统将其展示出来,同时需要为其他系统提供数据服务以及完成对其他系统工作数据进行监测的任务,实现实时告警功能。但传统的数据管理方式在当前新型环境下,来自项目复杂度的压力愈发凸显,尤其是不断增长的数据源以及急速增加的业务需求。因此在卫星授时领域的数据管理中,如何解决所面临的数据处理时延长、响应缓慢以及海量数据存储压力的问题已成为一大挑战。为了解决上述所面临的困难,本文设计并实现了一种支持多并发的数据管理架构,该架构中使用Netty框架保证数据采集的可靠性与高性能,使用Flink计算引擎来应对流数据处理的实时性问题,采用分布式存储组件Pravega来解决海量数据的存储压力问题。根据当前的项目背景以及技术架构的特点,本文主要完成以下内容:(1)对GNSS流数据处理系统开展了系统需求分析,阐述用户与系统之间的交互流程、系统和外部系统间的数据传输过程、系统的可视化前端设计以及系统在实际工作场景下所需的非功能性需求,并依据分布式思想对系统的应用软件结构和技术方案进行工程设计,完成了系统部分服务间基于Web Socket的系统通信数据交互方案的设计工作。(2)针对数据采集所面临的延时等问题,基于Netty框架开发系统服务端与解码链,实现多端口自定义协议的数据接收与解析工作,并通过优化相关参数来降低系统资源使用率。针对数据处理阶段的实时性问题,通过对多种异常检测方式的性能比对,设计基于孤立森林IForest算法的异常检测方案并Flink计算引擎对数据处理的异常检测部分进行并行化处理,从而压缩处理时延。针对大量数据的存储压力问题,采用Pravega实现系统的存储层结构,对多种二进制序列化协议的性能测试,采用Proto Buf协议对数据进行二进制序列化压缩处理,降低大量数据的存储占用。(3)对系统的各个模块进行实现,并对系统进行环境部署,同时针对系统中的各个功能编写测试用例,并进行性能检测,验证系统的功能性与非功能性需求,其中测试结果表明系统的各项功能和性能指标均达到预期目标需求。