##项目简介
基于微服务的天文数据检索与自主学习平台``
天文学是人们通常所说的六大基础学科之一,在人类社会发展中占据着极其重要的地位。从古代到现代,人类对于头顶这片浩瀚星空奥秘的探索从未停止,探索宇宙的真谛也一直是每一位天文学家持续追寻的目标。
改革开放以来,随着生活质量的提高和教育水平的不断发展提升,天文科普逐渐走进千家万户。从社区到学校,从田野到广场,越来越多的普通人愿意加入到天文知识学习当中,越来越多的天文爱好者愿意开展各式各样的天文观测和天文科普活动,越来越多的天文科普单位和组织也愿意面向公众开展天文科普讲座和组织天象观测、天文教学活动。
同时,现代的工业化也对传统户外天文观测活动产生较大影响。目前的传统观测活动极其容易受到当地较厚的云层、严重的大气污染(例如工厂排放的废气与汽车尾气遮掩夜空)的影响,因此在观测前及时获取当地的气候环境信息和相关天象信息是非常必要的,这些相关信息的获取也急需一些现代化的软件和设备来进行补充辅助。
直至目前,虽然科学技术已经发展到了数字化的时代,但是由于天文爱好者群体的小众性,目前的天文信息传播大部分仍然基于传统的通信媒介。因此,针对天文爱好者开发一款用于信息检索与知识学习的平台就显得尤其必要。该平台若实现,不仅可以方便天文爱好者开展相关观测活动,同时可以推动天文科普领域的数字化,对于业余天文界有着极大的意义。
目前在天文数据管理和天文观测信息集成方面,国内已有部分学者从事相关研究。张硕,罗阿理等学者曾基于Android对天文观测信息进行了移动应用方面的集成[1],并在移动端实现数据可视化,实现了辅助望远镜观测的信息集成系统。钟守波,韩波,张彦霞等学者则设计了天文大数据管理工具[2],用于处理各类天文观测仪器产生的大量数据。然而,以上的类似研究用户均为相关天文科研工作者,主要用途均为科研,无法实际为业余天文爱好者提供足够便利。
同时,目前也有部分移动互联网开发团队,开始了针对业余天文方面的软件开发,并提出了众多天文观测活动的新型解决方案。越来越多的业余天文软件诞生,协助解决了部分天文爱好者的难题,如专注于星图的Sky Guide[3],Star Walk[4],Stellarium[5]等可以实时查看当地的星图,专注于知识普及的“VR天文秀”,“通晓天文”可以了解到许多相关天文知识,专注于野外观测信息的 “移动天文台”[6]可以获取到不同类别的天文观测数据等。不过,这些软件虽然具有较强的互动性和趣味性,却仍然存在着数据复杂,功能不全,界面和操作不友好等诸多问题,户外天文观测活动仍然需要一个较为友好的信息集成化平台来进行辅助。
开发者也曾基于Android实现一款天文天象实时查看与预报系统[7],但该系统经过半年试用之后,问题逐渐暴露。一方面,系统本身在构造之初并未考虑重用性与通用性,难以在此基础上进行改造。另一方面,系统本身提供功能有限,仍然难以满足天文爱好者的使用需求。
总而言之,目前虽然有部分团队开发面向天文爱好者的软件系统,但对于天文爱好者来说,界面使用复杂,功能不全,接口难以重用,难以跨平台等众多问题仍然存在。
参考文献: [1]张硕,罗阿理.基于Android平台的天文观测信息集成系统[J].计算机应用,2014,34(S2):339-343.
[2]钟守波,韩波,张彦霞,赵永恒,何勃亮.天文大数据管理工具的设计与实现[J].天文研究与技术,2015,12(04):510-517.
[3]陈媛媛.移动互联网下的立体化科技传播[J].科技传播,2016,8(23):42-44.
[4]酱鸭.星空触手可及 Star Walk2[J].电脑爱好者,2015(06):73.
[5]陈斌.Stellarium软件在“地球与宇宙”教学中的应用[J].实验教学与仪器,2018,35(Z1):135-137.
[6]彭清思,范泰阳,黄文斌.手机APP在中学地理教学中的应用——以iOS操作系统为例[J].地理教学,2018(01):44-46+64.
[7]张峻巍,王浩杰,王紫琛,李艳娟.基于Android的天文天象实时查看预报系统[J].计算机与现代化,2019(06):104-110+115.
根据现状分析来看,基于天文爱好者的需求搭建一个天文数据检索与自主学习平台就显得颇为重要。
一方面,该系统应当具备资深天文爱好者常用的查询功能,包括天文观测数据检索、恒星数据检索、名词检索等;另一方面,系统也应当考虑天文业余学习人士、天文知识竞赛备赛者和普通大众所需求的功能,包括知识学习与问答,观测建议与反馈,竞赛试题练习与推荐等。同时,该系统在架构上应当具备多平台特性和接口的通用性,在检索与推荐上也应当适应天文数据的一些特性。
因此,基于上述需求,计划基于微服务实现上述平台的各项功能。
基于开发者曾经设计的Android系统和曾经设计的星云村微信小程序,开发者计划本项目对曾经的系统进行全面迭代与重构,以便提供更好更优质更稳定的服务。
本项目开发代号为jupyter2,预计开发周期为2个月,主要包括后端、前端、管理端三大部分。
该JAVA项目部分为项目的前端,即客户端。