论文部分内容阅读
天文数据分别被保存在世界各大天文台中,随着天文数据量爆炸式的增长,想要从海量的数据中找到满足用户需求的天文数据非常困难。天文星图的信噪比值是对星体目标检测的一个重要属性,为了能够实现天文数据的共享,论文基于Storm平台研究开发了一种面向天文数据的分布式实时查询引擎。查询范围为天文数据FITS文件中的信噪比值属性。能够实现用户在输入查询请求后,从世界各地的天文台上下载相关天文数据,并同时对下载的天文数据中的信噪比值进行有效正确的实时查询,将符合条件的数据筛选出来。实时查询引擎重点关键技术为查询逻辑计划和物理执行计划的生成和优化。接收用户需求后,对需求进行正确性校验和语义分析,然后转变到查询逻辑计划并对逻辑计划进行相关的优化。采用分解关系、选择下推等基本办法进行初步优化,再设立单独监控模块对查询代价进行实时监控,如果查询代价超出所设阈值范围则对逻辑计划进行动态调整,可以有效的减少查询过程的中间量以提高查询效率。生成优化的查询逻辑计划后需要转化为物理执行计划,论文实现基于代价预估选择代价最小的物理执行方案,以及对Storm原生负载均衡调度机制的优化,实现多任务运行时Storm各个节点的Slot分配更加均衡。在实际系统上对有无优化算法进行实验对比后,发现对查询逻辑计划的动态优化有效的减少了总体查询时间,基本实现了单节点百兆网卡满速下载的实时查询不产生数据拥堵。