林 亲,卢晓猛,黎华丽,米琳莹,3,高东洋
(1.中国科学院国家天文台,北京 100012;2.中国科学院研究生院,北京 100049;3.中国科学院光学天文重点实验室(国家天文台),北京 100012)
科学技术普及就是把人类研究开发的科学知识、科学方法,以及融化于其中的科学思想和科学精神,通过多种方法、多种途径传播到社会上,使之为公众所理解的过程。它是提高国民素质的关键措施,也是社会主义物质文明和精神文明建设的重要内容。在互联网飞速发展的今天,网络成为人们快速获取、发布和传递信息的重要渠道。因此,在普及科学知识时,科普工作者应充分发挥互联网这一新型大众传媒在信息传播领域的优势,实现科普资源的网络共享,以便更好地促进科学知识的广泛传播。
在中国科学院“十一五”信息化建设专项支持下建立了一个基于网络平台的天文观测科学实践中心。该中心将互联网技术、天文观测技术有效地融合在一起,一方面它把专业天文资源和知识以丰富的多媒体形式呈现并传递给公众,另一方面普通大众可通过该实践中心自行或在专家的指导下对天文观测设备进行控制,实现远程观测。与传统的天文科普网站相比,此天文观测实践中心不仅可以传播天文科普知识,还可以让公众亲身实践天文观测,实现了网络和用户的良好互动。总之,天文观测实践中心的建立,满足了公众对宇宙进行深度探索的需求,对于提高用户对天文探索的兴趣,拓展全民天文认识,最终提高全民科学文化素质都将起到一定的推动作用。
在天文观测科学实践中心的建设中,围绕天文观测这一科学活动,按照天文知识传播和天文观测体验两条主线(图1),构建了一系列内容丰富、形式多样的相关栏目。网站地址为:http://www.kepu.net.cn/gb/practicecenter/201001_03_tw/index.html,首页界面如图2。网站的内容分为6个栏目,分别为:“中心视野”、“望远镜博览”、“天象月历”、“天象演播”、“动手看天象”和“我来说两句”。其中特色栏目“动手看天象”为用户提供了一个进行天文观测的实践平台,因此用户在授权的情况下通过任意一台连网的计算机即可参与到天文观测的活动中,并可通过其它5个栏目了解相关的天文基础知识,分享观测结果以及发表评论等。
图1 网站与用户之间的信息交流形式Fig.1 Information communication between the website and users
图2 “天文观测科学实践中心”首页Fig.2 Home page of the website—The Scientific Practice Center for Astronomical Observation
天文基础知识主要通过栏目“中心视野”、“望远镜博览”、“天象月历”、“天象演播”和“我来说两句”传播给用户,这5个栏目的内容都是围绕特色栏目“动手看天象”展开,各栏目简介如下。
“中心视野”对观测的对象、仪器和方法进行介绍和说明。
“望远镜博览”以图文并茂的方式对各类科普望远镜以及国际上著名的科研专用望远镜进行了介绍,并分享了一些专家的望远镜维护和使用心得等。
“天象月历”以月历的形式对重要的天象进行预报。
“天象演播”对重大天象等公众比较关心的天文观测进行直播和点播。
“我来说两句”以论坛的形式为用户提供交流平台。用户在平台上可以发表评论,展示成果,以及与其它网友讨论问题等。
天文观测体验重点体现在“动手看天象”栏目。此栏目为用户提供了一个远程控制望远镜进行天文观测的网络实践平台。为了构建良好的平台管理模式,该平台的运行策略主要包含以下4点:(1)开放申请;(2)择优分配观测时间;(3)观测者独享望远镜控制权;(4)观测数据公众分享。因此用户在获得授权的情况下可通过远程控制界面控制位于优异观测台址的望远镜,并可查看实时观测视频。望远镜远程控制系统的整体示意图如图3。
由图3可知,望远镜远程控制系统在硬件上需具备多台计算机、赤道仪、望远镜、摄像头以及信号传输线等,除此之外,为了保证系统的稳定运行,还应保证网络畅通。
图3 望远镜远程控制系统整体示意图Fig.3 The framework of the remote control system of a telescope
在望远镜远程控制系统的终端,兴隆观测基地[1]提供的相应硬件设备见表1。
网站页面设计的内容编排遵循形式统一、色彩和谐、重点突出的原则。网站在实现上采用文本和多媒体资源结合的方式,并使用链接建立各页面之间的引导关系,使用户可以方便地访问网站所有的相关信息。
网站页面设计的技术实现集合了HTML、CSS和JavaScript等3种技术,其中HTML负责页面结构;CSS负责样式表现,使网站布局合理、风格统一、美观大方且便于维护;JavaScript负责动态行为,增加了网页的互动性和友好性,并使网页能够及时响应用户操作。
表1 兴隆观测基地天文科普主要仪器设备统计表Table 1 Instruments of the Xinglong Observation Base for popular astronomy
望远镜远程控制系统向用户提供一个远程控制界面,用户通过这个界面可与位于兴隆观测基地的现场软件建立通信。整个系统在用户和硬件之间包含了多层软件,每一层在系统中承担特定的功能。图4为模块间逻辑关系图。
图4 望远镜远程控制系统的主要软硬件模块Fig.4 Modules of the remote control system of a telescope
望远镜远程控制系统分为两大部分:(1)远程控制望远镜;(2)观测视频实时传输。由图4可知,两部分信号的传输相互独立,互不干扰,仅在用户端将两部分的控制操作整合到同一界面上,这种方式能使用户通过视频方便及时地了解观测现状,而不受控制模块的影响。
2.2.1 远程控制望远镜
该部分在设计体系架构时考虑到系统应具有标准化、兼容性、扩展性和安全性,因此将系统分为3个层次,如图4,分别为望远镜前沿控制机(TFC)、局域网控制中心(LC)和远程用户。在实际改造和研发过程中,严格按照底层硬件控制标准和通信协议标准开发软件,注重硬件兼容、平台兼容和通信接口兼容,因此系统具有高兼容性。另一方面,用户若想远程控制更多的硬件,只需改进前沿控制软件,并运行在相应的计算机上,以及在Java Applet和Dispatcher服务器端程序中添加少量的代码即可,无需做结构调整和转移Dispatcher服务器端程序,使整套系统具有较强的扩展性和安全性。接下来分别介绍各层次的技术实现。
(1)望远镜前沿控制机
计算机位于望远镜圆顶内,平台为Windows操作系统,系统上装有两个软件,分别为TheSky5天文软件和前沿控制软件,其中前沿控制软件用VB语言开发。近期将把软件TheSky5升级到最新版本TheSkyX Professional。
TheSky5软件通过RS232串口通信直接控制赤道仪,前沿控制软件则通过调用美国Software Bisque公司(www.bisque.com)提供的RASCOM脚本与TheSky5软件建立连接间接控制赤道仪,另外,前沿控制软件与局域网控制中心建立基于TCP/IP和Socket的网络通信,采用默认的同步通信模式接收局域网控制中心信息,并将即时信息反馈到局域网控制中心。
(2)局域网控制中心
服务器位于兴隆观测基地的中心控制室,平台为Linux操作系统,运行在上面的Dispatcher服务器端程序使用C++语言开发。
Dispatcher服务器端程序与远程用户和前沿控制软件之间都采用基于TCP/IP和Socket的网络通信,它为第1层和第3层的信息中转站。该程序为Daemon程序,可实现多用户同时访问,满足了一人控制观测,多人同时在线观看的要求。为了能更好地应对突发性且数量巨大的瞬时客户端访问,还采用了线程池和选择异步通信技术,其中线程池技术为线程创建、销毁的开销和系统资源不足等问题提供了很好的解决方案,有效地提高了系统响应速度和整体性能;采用选择异步通信技术,在没有网络通信时,程序将处于阻塞状态,从而降低了CPU的占用率[2-4]。
(3)远程用户
远程用户为最终用户,他们可在任何一台连入互联网并装有JRE的计算机上,通过IE浏览器下载远程控制界面。该远程控制界面采用Java Applet技术实现。
根据以上3个层次不同的工作任务和安全需求,在第1层和第2层之间,采用了C/S结构;在第2层和第3层之间,采用了B/S结构,远程用户可通过IE或者Netscape等网络浏览器执行观测任务。图5为获得控制权限的用户通过远程控制界面执行望远镜指向操作的主要流程,其中点划线走向为望远镜指向命令传输流程,虚线走向为望远镜状态信息传递流程。
图5 远程控制望远镜指向的主要流程Fig.5 The block diagram for the remote control of telescope pointing
由图5可知,用户在客户端输入观测目标信息后,该信息将以字符串的形式被传送到局域网控制中心,再从控制中心被分送到相应的望远镜前沿控制机上,从而实现望远镜的远程控制,当前沿控制机获得反馈的望远镜状态信息后,也以字符串的形式把此信息发送到局域网控制中心,再由该中心把信息发送给用户。
当网络由于受到外界环境的影响变得不稳定或发生短暂阻塞时,如果软件不能及时做出相应的处理,会直接影响到整个系统的稳定性,导致数据传送失败,甚至使系统瘫痪。为了解决这个问题,软件在实现时采取了基于缓冲队列的网络通信模式[5]。在软件的初始化阶段,每一层软件都在各自的内存中申请一个较大的缓存缓冲器,把接收的数据首先存在缓冲器中,再将缓冲器中的内容压入缓冲队列,执行发送数据任务时则从缓冲队列中读取内容,并自动将对应数据发送到另一层。在这里缓存队列起到了缓冲数据的作用,使系统在一定程度上能够应付由于网络波动带来的传送数据丢失等问题。
2.2.2 观测视频实时传输
该部分的实现采用了商业解决方法,通过利用在技术性能、易用性、效率和交互性等方面具有突出优势的Windows Media技术传送实时观测视频。
Windows Media Encoder运行在前沿控制机上,把采集的视频流通过HTTP协议以推传递的方式[6]推送给运行在本地服务器上的Windows Media Server[7],并在本地服务器上建立一个广播发布点。然后,Windows Media Server再以实时流协议(RTSP)[6]将视频流信息以广播的方式[7]传送给客户端。这时远程用户通过远程控制界面调出Windows Media Player播放器即可查看实时观测视频。
2010年12月7日到2010年12月10日对望远镜远程控制系统进行了测试,使用IE浏览器、Netscape或者Firefox均能打开远程控制界面,在测试期间未出现望远镜指向命令和状态信息丢失的情况,不过数据信息传送存在数秒的延迟,视频信息在传输过程中也存在着一段时间的延迟,由于望远镜控制软件设置了软保护,因此命令信息和视频传送的延迟不会对望远镜的安全造成影响。
“天文观测科学实践中心”网站于2010年1月开通,并于2011年4月26日顺利通过项目验收,在此期间网站的平均日页面浏览数为305页,总页面浏览数超过14万页,其中最高峰的一天达1 515页。网站的特色栏目“动手看天象”也从2010年12月开始每月为用户提供4天左右的观测开放日,该计划的实施在一定程度上增大了天文科普的宣传面,使那些对天文观测感兴趣但未能提交合格观测申请的用户也可以体验到亲自控制望远镜进行天文观测的过程。
在以后的工作中,为了更好地向公众宣传天文观测知识,将在望远镜远程控制系统中增加CCD相机控制、图像实时传输和图像处理等功能,以及增加滤光片控制系统,使用户可对自己拍的图像进行分析和处理,并可获得彩色图像,从而做到更好地培养用户对天文观测的兴趣,以及进一步扩大宣传范围。
致谢:感谢中国科学院网络中心黎文和国家天文台姜晓军,国家天文台兴隆观测基地陈颖为、李红斌和肖峰,以及其他老师和同学的支持和帮助。
[1]卢晓猛,肖峰,米琳莹,等.兴隆观测基地网站 [OL].北京:国家天文台兴隆观测基地,2005.http://www.xinglong-naoc.org/.Lu Xiaomeng,Xiao feng,Mi Linying,et al.Website of Xinglong Observation Base [OL].Beijing:Xinglong Observation Base-National Astronomical Observatory of China,2005.http://www.xinglong-naoc.org/.
[2]许骏,金振宇.Windows Sockets实现天文终端的远程控制 [J].云南天文台台刊,2001(1):40-46.Xu Jun,Jin Zhenyu.Remote Control of Astronomical Terminals Based on WinSockets [J].Publications of Yunnan Observatory,2001(1):40-46.
[3]周建国,晏蒲柳.Client/Server异步通信程序关键实现技术 [J].微计算机信息,2002,18(10):64-66.Zhou Jianguo,Yan Puliu.The Key Implementation Technology of Client/Server’s Asynchronous Communication Programs [J].Microcomputer Information,2002,18(10):64-66.
[4]王华,马亮,顾明,等.线程池技术研究与应用[J].计算机应用研究,2005,22(11):141-145.Wang Hua,Ma Liang,Gu Ming,et al.Research and Application of Thread Pools [J].Application Research of Computers,2005,22(11):141-145.
[5]王景彬,阎兆立,程晓斌,等.VxWorks下基于缓冲队列的网络通信 [J].微计算机信息,2009,25(11):84-85.Wang Jingbin,Yan Zhaoli,Cheng Xiaobin,et al.Network Communication Based on Buffering Queues in VxWorks [J].Microcomputer Information,2009,25(11):84-85.
[6]高剑.利用Windows Media流媒体技术构建网络直播系统 [J].中国高新技术企业,2010(30):62-64.Gao Jian.Constructing Network Broadcast System through Windows Media Technology [J].China High-Tech Enterprises,2010(30):62-64.
[7]金蕾,曹西,周恕义,等.用基于 Windows Media的流媒体技术搭建校园网视频点播系统[J].教育信息化,2003(6):37-38.Jin Lei,Cao Xi,Zhou Shuyi,et al.Constructing Campus Vidio-on-demand System Based on Windows Media Technology [J].China Education Info,2003(6):37-38.