摘要:随着时域天文观测对超长时序、多站点多设备协调观测需求的增长, 全自动、无人值守联合观测成为光学天文观测发展的趋势之一.观测系统调度管理作为其中的重要组成, 在提高观测效率, 协同多台站多设备观测方面发挥至关重要作用.本文简述望远镜网络调度管理的发展历程, 总结已实现的项目基本思路和逻辑, 介绍中国SONG项目中调度管理系统的需求、设计和实现.
关键词:天文望远镜; 观测网络; 调度管理系统;
1 引言
地基光学天文观测对环境有严格的要求.伴随经济发展, 人类活动造成的光污染、大气环境污染等因素逼迫在用和新研天文设备向偏远地区迁移.这造成观测资源的持续分散.天文学研究尤其是时域天文学的发展对观测资源统一使用的需求极大提高, 而当前条件下观测资源进一步的分布散列, 这形成了尖锐矛盾.基于飞速发展的信息技术和愈加低廉的网络资源, 程控自主天文台 (Robotic Autonomous Observatory, 简称RAO) 是解决这一矛盾的技术途径.同时, 无人值守、远程观测的程控自主天文台, 在提高观测效率和降低运行维护成本方面有着无与伦比的优势.根据相同或相似的科学目标, 通过高速网络连接多个独立运行的程控自主天文台并协同运行观测, 就形成了程控自主天文台网络 (Robotic Autonomous Observatory Network, 简称RAON) [1,2].
RAO是一个数据驱动的系统.RAO系统包括设备控制、数据管理、观测辅助、网络通信和调度管理等5个子系统[2].这5部分中设备控制和数据管理是系统的工作基础, 观测辅助是系统的安全保障, 网络通信是系统的连接纽带.调度管理作为系统的“大脑”, 在观测中重点关注对于符合条件的不同目标的遴选, 多设备的调度, 变化环境条件下的及时响应等至关重要的工作[3-5].调度管理系统是RAO系统核心利益的保障, 其工作效率高度依赖于调度算法.调度管理系统的设计和运行, 需要对台站环境等离线数据做长时间记录和深入分析, 并结合在线数据的及时反馈, 从而制定合理的调度策略[3].
多个RAO组成的观测网络 (RAON) 通过调度决策系统 (dispatcher) 协调控制每个RAO的调度管理系统 (scheduler) .调度决策系统处于核心地位, 完成任务和资源分配等工作.本地调度管理系统处于从属地位, 在保障望远镜及相关设备物理安全的同时完成本地设备调度工作[6].在任何情况下都要确保系统安全、自洽.
2 历史与现状
2.1 国外RAON及其调度管理系统
国外对于RAON的研究始于20世纪末, 主要分为两个研究方向:
一是基于已有天文望远镜, 通过软件改造升级, 构建观测网络实现联网观测.在具体实施时又分为两类技术发展方向: (1) 对望远镜等设备控制软件定制开发, 使其具备联网观测能力. (2) 基于AS-COM、RTS2、INDI等中间层改造控制软件, 借助中间层实现联网观测.此研究的目的是在节约改造成本和建设周期的同时, 通过实现联网观测挖掘已有观测设备的潜力.但由于历史原因, 大部分已有设备缺少必要的、可数字化监测的安全保护措施, 仅通过软件升级难以保证无人值守的可靠性.Robo Net-II[7], HTN[8], NORT[9]等是此方向的代表性项目.
二是新建RAON, 各节点使用相同或者高度一致的硬件, 通过网络通信和软件来调度管理整个系统, 这是目前发展的主要方向.新建RAON在设计阶段就充分考虑时序观测和无人值守需求:硬件上选择技术成熟、可靠、具有状态反馈的产品, 并做模块化设计;控制逻辑简单可行, 具有健壮性, 构建从观测输入到数据输出的闭环过程;软件上利用ASCOM、RTS2、INDI等中间层的支持, 减少开发工作量;采用硬件、软件双重保护, 确保系统安全.RAON是近十多年形成的时域天文学研究的低成本技术方案, 已在运行的ROTSE, Pi of the Sky, HATSouth, BOOTES, LCOGT和Saloris等项目, 以及在研的KMTNet都是其典型代表.
2.1.1 HATNet和HATSouth
匈牙利自动望远镜 (HAT) 由匈牙利的一个研究小组开发完成, 其设计目标是完成北天亮变星的全自动巡天计划.随着工作的进展, HAT逐渐由1台设备扩展到6台, 并组成观测网络, 即HATNet.在HATNet成功的基础上, 美国普林斯顿大学、澳大利亚国立大学、德国马普天文研究所又共同建设HATSouth系统, 目的是用巡天方式寻找系外行星候选体.HATSouth建成于2010年, 由分布在南半球3个天文台站的6套完全相同的望远镜设备构成观测网络.HATSouth是世界上第一个全年7×24小时对整个南半天球进行监测的自动望远镜网络, 获得了大量的科学数据.HATSouth在每个台站部署2套观测系统, 由本地调度管理系统控制完成巡天观测.位于普利斯顿大学的数据中心协调三个台站的工作状态, 并完成观测数据自动处理.
2.1.2 BOOTES
BOOTES:全球γ暴与瞬变源观测系统, 由西班牙安德鲁西亚天体物理研究所发起, 包括中国科学院云南天文台在内的多家科研院所参与了该项目的研发和运行.BOOTES项目计划在全球安放6台能力相同或相似的光学全自动望远镜, 并形成全球观测网, 使得任何时刻至少有一台望远镜可以观测.BOOTES网络于2015年完成, 包括5台60cm光学望远镜和1台60cm光学/红外望远镜.其中BOOTES-4位于云南天文台高美古观测站, 2012年3月开始工作.
BOOTES的运行控制软件系统称为RTS2 (Remote Telescope System 2nd Version, RTS2) , 是基于Linux的开源程序.RTS2覆盖程控自主天文台的完整流程, 包括:调度管理, 天文观测, 数据存储, 自动数据处理等.与虚拟天文台 (VO) 结合, BOOTES还提供VO数据访问方式.在未来的工作计划中, RTS2将加入对整个RAON进行调度管理的功能.
2.1.3 LCOGT
LCOGT (Las Cumbres Observatory Global Telescope) 是由私人基金资助的RAON项目, 目标是建立一个可同时开展科学研究和教育的全球性程控望远镜网络, 为时域天文学提供更多的观测能力.整个网络包括南半球3个台站和北半球5个台站, 多台口径2m、1m和0.4m的程控望远镜以及多个类型的终端仪器.网络中各望远镜采用相同的终端设备, 既可以提供测光观测, 还提供中分辨率阶梯光栅光谱和低分辨率光谱观测.望远镜、圆顶、气象站等均使用完全相同的硬件, 一周内即可完成现场安装调试.“即插即用”的易损件在站备份, 若运行过程中出现故障, 非专业人员也可完成更换.
2.1.4 Solaris
Solaris主要科学目标是利用掩食探测环绕双星的行星, 是一个位于南半球的无人值守天文观测网络.Solaris包含4台0.5m的望远镜:2台位于南非 (Solaris-1和Solaris-2) , 1台位于澳大利亚赛丁泉天文台 (Solaris-3) , 1台位于阿根廷 (Solaris-4) .每个台站均有一台望远镜配备Johnson滤光片系统做多色测光, 位于南非的两台望远镜中, 有一台做高分辨率光谱观测.Solaris使用相同的赤道仪、滤光片转轮和CCD, 唯一的不同是Solaris-3使用不同的光学系统.Solaris于2013年10月落成并投入使用.在过去3年中, 共对290个目标进行观测, 获得超过169万帧FITS图像, 总数据量超过15T, 并有着大量的科学产出.Solaris是第一个全自动无人值守的光学观测网络, 在设计上采用的容错机制可保证观测系统在非关键错误下持续工作, 非常有借鉴意义.
以上各个系统中, HATNet工作模式是巡天观测, 对调度管理系统要求不高, 其高度自治节点实现了长时间的正常工作;BOOTES项目开发的RTS2具备本地的调度管理功能, 支持项目获得了可观的科学产出, 针对RAON的网络调度管理系统尚在开发;LCOGT的调度管理系统前期版本已经运行了近2年, 实现了迄今为止最复杂的天文望远镜网络调度管理, 快速响应的伺服观测模式是其特色;Solaris的调度管理系统已开发完成并投入运行, 对调度管理系统的可靠性研究及容错机制对类似项目有着借鉴意义.
2.2 国内RAON及其调度管理系统
国内天文界密切关注RAON的发展, 但对其尝试和实施较少, 相对国外而言起步较晚.天文界积极参与各种可能的国际合作并努力寻找自主发挥的方向, 多为合作者身份参与国际合作项目, 具有代表性的是BOOTES-4和中国SONG项目.
2.2.1 BOOTES-4
2012年3月, 全球γ暴与瞬变源观测系统第四号观测站 (BOOTES-4) 在中国科学院云南天文台丽江高美古观测站投入使用.BOOTES-4采用了自主开发的RTS2软件系统, 可为国内RAO技术的研究提供良好的学习参考.国内天文设备研制单位正在基于RTS2进行二次开发:LAMOST借助RTS2来改进观测控制系统;云南天文台、天文光学技术研究所基于RTS2开展大气视宁度监测仪 (DIMM) 的自动化研究.由于RTS2开发人员变动, 基于网络的调度管理系统研发进展落后于预期.
2.2.2 中国SONG项目
国际SONG (Stellar Observation Network Group) 项目的科学目标是星震学时序观测, 由丹麦奥胡斯大学发起.其设计目标是在南北半球各建立四台配备相同终端设备的全自动高性能1米望远镜系统, 组成长时序视向速度联合观测网, 由多台望远镜连续观测以获得不间断的观测数据.以中国科学院国家天文台为首的合作单位于2009年正式加入SONG项目, 并于紫金山天文台青海观测站部署一个标准节点.2015年该设备完成验收, 进入试观测阶段.
在SONG项目基础上, 中国天文学家提出了50厘米双筒望远镜网络 (50cm Binocular Network, 50Bi N) .50Bi N在SONG项目选址的优良台址上, 安装50cm双筒望远镜, 开展大视场多色测光观测, 其科学目标为: (1) 疏散星团整体一致的多色测光巡天. (2) 选源星团天区内所有时变源的长时间基线同时多色测光观测.50Bi N原型机在紫金山天文台青海观测站完成安装, 已进入科学运行阶段.经过近2年的运行, 整个观测系统的硬件、稳定性得到检验, 目前正在进行无人值守观测系统开发与测试工作.
在国内为数不多的望远镜观测网络中, BOOTES使用RTS2成熟本地调度管理系统, 其网络调度管理系统正在开发中;SONG项目中, 原型机完成了软件体系结构逻辑设计, 通信协议定义等工作, 需要进行下一步的设计和开发工作.
3 SONG项目望远镜调度管理
国际SONG项目主要的科学工作是开展星震学研究, 对于观测目标连续观测获得不间断的数据, 获得被测目标的视向速度变化, 反演其内部的结构与演化过程.其出发点是以较小的投入, 建设全球布站的地基无人值守望远镜观测网络, 获得高于已有空间观测设备分辨率的观测能力.
从功能上, 国际SONG项目的观测网络要实现以下目标: (1) 对选定恒星进行24小时连续不断的高分辨、高精度光谱观测. (2) 整个观测网络从外部看起来是一致的观测系统, 其对用户透明, 观测者仅通过Web页面提交观测计划和访问数据. (3) 由位于丹麦的调度管理系统对整个网络的观测任务进行调度管理, 各节点具有自治观测能力.
中国SONG项目作为标准节点, 其功能需求为: (1) 接收来自中心控制节点的调度结果 (观测任务) 进行观测. (2) 向中心控制节点反馈观测结果, 实时信息 (气象、设备状态等) , 同步观测数据. (3) 可作为独立的台站, 在满足条件的情况进行无人值守观测.
研究恒星表面震动需要对观测目标进行长时序的光谱观测, 通常对感兴趣的目标做以月为单位的持续观测, 且整晚只对1-2个源进行观测, 需要考虑的问题主要是限制条件 (高度角、大气消光、月相等) 和环境因素 (降水、云量、风速、沙尘等) , 不同观测源的切换判定等, 相对于LCOGT这类的网络, SONG项目对调度管理系统要求的重点不同.
SONG项目的系统工作模型采用了中心控制型的拓扑结构, 设计上采用分层结构.如图1所示, 中心控制服务器作为整个系统的核心节点, 负责整个观测网络的调度管理, 资源分配.其他各节点包括可配置交换机、控制服务器和数据处理服务器.节点内的设备配置为内部和外部两层虚拟局域网, 整个节点作为整体接受中心控制服务器控制.软件从逻辑上可分为四层, 如图2所示, 自底向上分别为:Level 4, 硬件驱动层;Level 3, 组合硬件驱动, 实现观测设备逻辑功能的驱动;Level 2, 中间层脚本, 可根据观测者需求编制不同策略脚本;Level 1, 处理观测请求、系统任务、响应系统状态变化的守护程序.
图1 SONG系统工作模型
图2 系统层次结构
SONG项目工作流程 (图3) :观测者通过Web接口将观测请求 (OR) 插入中心服务器数据库;网络调度器 (Dispatcher) 自动复制符合限制条件的观测请求 (OR) 到各台站服务器调度数据库.如图4所示, 台站调度器 (Scheduler) 守护进程将满足观测条件的请求解析为观测计划 (Plan) 并发送给观测控制系统 (Observation Control System, OCS) ;OCS将计划分解成观测任务 (Task) , 并调用脚本执行, 发送命令给望远镜控制系统 (Telescope Control System, TCS) , 观测完成后将数据推送到观测数据库;守护进程寻找下一观测请求直至队列中所有任务完成.
图3 网络调度流程图
在系统实现上, 从稳定性、可靠性等各方面考虑, SONG项目软件系统使用客户端/服务器 (C/S) 模式, 采用Debian Linux作为平台, 开发工具为Python.系统数据库选择Postgre SQL作为数据库管理系统, 使用Postgre SQL具有的触发器 (Trigger) 作为数据驱动机制, 使用Slony-I作为数据同步工具.
图4 台站调度流程图
4 总结
随着时域天文学的发展, 望远镜观测网络成为地基观测的重要发展方向之一.从提高时域观测的时间覆盖范围和降低项目成本尤其是日益增加的人力成本等角度出发, 天文界发起并实施了一系列无人值守或自动化观测的望远镜观测网络, 因此产生了望远镜调度管理系统.望远镜网络调度管理在整个观测网络中实现决策、调度和任务分发的工作, 是无人值守乃至智能观测效率和可靠性的基础.调度管理系统通常采用中心控制型拓扑结构和分层软件设计, 选用分布式数据库管理系统尤其是以Postgre SQL这类带触发器的数据库管理系统作为数据管理工具, 开发工具多采用Python.伴随着越来越多的望远镜观测网络的建设, 会对网络调度管理提出新的要求和挑战.
参考文献
[1]Genet, R.M.History of Robotic and Remotely Operated Telescopes.in Telescopes from Afar.2011.
[2]崔辰州, et al..程控自主天文台网络的发展[J].天文学进展, 2013, 31 (2) :141-159.
[3]Fraser, S.N., Adaptive optimal telescope scheduling.2012, Liverpool John Moores University.
[4]Fraser, S.and I.A.Steele, Robotic telescope scheduling:the Liverpool Telescope experience.2004.5493:p.331.
[5]Saunders, E.S.and S.Lampoudi.Multi-Telescope Observing:the LCOGT Network Scheduler.in Hot-Wiring Transient Universe Workshop.2013.
[6]Grundahl, F., et al.Stellar Oscillations Network Group-SONG.in Journal of Physics:Conference Series.2008.IOP Publishing.
[7]Tsapras, Y., et al., Robo Net-II:Follow-up observations of microlensing events with a robotic network of telescopes.Astronomische Nachrichten, 2009.330 (1) :p.4-11.
[8]Allan, A., et al., A protocol standard for heterogeneous telescope networks.Astronomische Nachrichten, 2006.327 (8) :p.744.
[9]Hajjar, R., et al., The Network of Oriental Robotic Telescopes (NORT) :An Arab Project.United Nations Programme on Space Applications, 2001.12:p.43.