戴 硕,沈呈彩,李琼英,赵世清,林 隽
(1.中国科学院国家天文台云南天文台,云南 昆明 650011;2.中国科学院研究生院,北京 100049)
近年来,随着天文观测仪器精度的提高,观测数据量越来越大。如目前LAMOST计划,使用32个4K×4K的CCD进行观测,每晚观测产生约15G(4K×4K×2×32×5×3=15.3G)的数据。澄江抚仙湖太阳观测基地建成后,仅光谱仪就能带来每天约15G的数据。云南天文台Hα全日面望远镜每天的观测数据也为1~2G(观测样图见图1)。同时,云南天文台还加入了全球Hα观测网络(Global High Resolution Network),每天需要和该网络进行数据共享。如此海量的数据对数据保存和共享提出了严峻的挑战。因此需要建立一个存储数据库,并以此为基础,实现数据共享和各种附加功能。全日面观测数据的服务已经有了多年实践经验,这里只是把这些经验做一总结,并将之和澄江1m红外太阳塔联系起来,以起到经验传承的作用。正如文中所总结的,这些观测数据服务系统在最基本的功能需求上是一致的,因此只要做好最基本的功能,就可以在这之上进行有针对性的扩展,以适用于各种望远镜的需求。澄江1m红外太阳塔就是在此之上进行扩展的实例。
为了给各种数据库功能提供有力保障,特别是对于存储的各个方面的需求,需要给数据库选择合适的硬件设备。硬件方面,目前主流的存储系统网络架构有直连式存储(Direct-Attached Storage,DAS)、网络接入存储(Network-Attached Storage,NAS)和存储区域网络(Storage Area Network,SAN),见图2。
直连式存储是服务器直接与应用端相连,那么数据存储、共享等操作均需占用服务器资源。由于各种数据操作会占用较多的服务器CPU资源,因此此类设计的各种数据操作常选择在数据服务不繁忙时进行。网络接入存储可以采用目前成熟的以太网,通过网络设备,如网络交换机等,用网络来连接存储系统(存储节点)和服务器主机,相当于建立一个专门的存储网络。由于存储系统不需要复杂的操作,只具备简单的功能和服务即可,因此各存储系统不需要专业的服务器。存储区域网络(SAN)是一个由存储设备和系统部件构成的网络,所有的通信都在一个与应用网络隔离的单独的网络上完成,可以被用来集中和共享存储资源。SAN存储采用的接口技术可以为FC(光纤通道)或者是iSCSI(基于internet的TCP/IP协议的SCSI),传输协议为Block协议。前者带宽一般为2Gbps,目前最快为10Gbps,但成本极为昂贵;后者带宽最快可以为10Gbps。图2表示了这3种存储结构的主要特征。从图中可以看到DAS和SAN是基于设备的,而NAS是基于数据块的。
图1 2005年10月12日云南天文台Hα全日面望远镜观测得到的单色像Fig.1 Full-disk Hα solar image obtained by the solar telescope of the Yunnan Observatory in Oct.12,2005
图2 3种不同的存储架构示意图Fig.2 Illustration of three different storage architectures
软件方面,目前常用的数据库软件主要有Oracle、Mysql和SQL-Server。其中Mysql为开源软件,可以自由下载使用,Oracle和SQL-Server均需购买。MySQL是一个小型关系型数据库管理系统,在2008年被Sun公司收购。MySQL被广泛应用在Internet上的中小型网站中。它为C和C++语言编写,支持多线程,提供TCP/IP、ODBC和JDBC等多种数据库连接途径。MySQL的MyISAM引擎专为快速读取而设计,在给因特网上的应用提供服务的数据库中性能最优。它同时还提供若干实用工具用来优化数据库和表,以及方便进行数据库移植等。
根据Hα全日面望远镜这些年来的运行经验[1-2],结合未来的发展要求,本设计需要满足如下需求:
(1)大容量数据存储,且要求可灵活扩展
目前观测的原始数据量为每天1~2G,若保证5年的数据存储空间,则需要3TB左右。按照下面第2点要求,数据进行完整备份,则数据量还要翻一倍,即6TB。另外,如果以后进行设备改造,每天采集的数据量会进一步增加。因此必须保证存储空间可以灵活增加。
(2)数据安全
由于天文观测的特殊性,所有的资料都是唯一的,过期不可能再次观测。因此必须完全保证观测资料的存储安全。这包括两方面的含义:一是保证数据存储本身的安全,数据库软件和存储设备硬件;另一个是保证数据服务的安全,网络服务和防范黑客攻击。
(3)数据服务
至少支持基于时间和仪器的简单查询。数据记录可以被所有人访问。经过身份认证后,被授权人应该可以通过网络下载数据。有重大观测任务时,须保证不间断服务。保证一定数量的并发连接。
(4)数据接收
可以自动导入望远镜的观测记录和观测数据、处理后的数据。在某些情况下,进行简单的数据处理。处理完毕的数据可以自动上网。
(5)数据检索
由于数据量很大,对数据库性能要求较高,数据库和表首先要结构设计良好。考虑到目前网络状况,必须保证数据库的反应速度。另外,根据目前各种太阳物理数据服务的特点,提供更多检索种类的支持。考虑整合各种其他太阳物理数据库,实现一站式检索。
(6)适当考虑数据库周边
提供类似于科普教育的功能。
(1)设计原则
先进性:使用的硬件和软件必须是先进而成熟的。
实用性:本数据库面向各个方面的用户,包括科研和科普,因此要满足他们的实际需要。各个方面宜采用最简单的方案,使大家易于接受。
经济性:在同等条件下,要减轻经济负担。
易于管理:管理人员均为非专业人员,必须易于管理,还应该具有一定的指令容错性。
安全性:除了硬件存储安全之外,强调网络服务安全和防范黑客。
可扩充性:设计方案具有良好的存储扩充性和升级能力。
标准化:对于未来的国际合作,必须有相应的考虑。
(2)设计目标
根据目前反馈信息,本数据服务系统的总体目标是建立基于DAS+NAS的数据中心,即建立一个集中、异构、可扩充、可集成、可交换的和安全可靠的复合数据库系统。具体目标如下:存储方案采用DAS+NAS方案;软件方面,网络服务采用Linux+Apache+MySQL+PHP(LAMP),数据处理采用IDL;数据库引擎采用MySQL的MyISAM引擎;存储设备提供冗余支持,磁盘存储使用RAID-5,并有完整的光盘备份;提供网络安全的保障机制。
(3)系统功能组成
图3为系统功能组成示意图。基本运行流程为:用户对服务系统提出服务请求;服务系统返回相应结果;数据列表的检索在服务系统本地完成;具体数据下载,服务系统需要再向存储系统提出服务请求;服务系统对存储系统提出服务请求;存储系统返回相应结果;备份系统可以对存储系统进行访问;存储系统不能访问备份系统。澄江1m红外太阳塔的系统会在此基础上进一步完善,配备独立的日志系统防止误操作。另外,服务系统还将具有一个包括完整功能的副本,该副本会在服务系统出现问题时上线工作。
图3 全日面观测数据服务系统的功能组成示意图Fig.3 Block diagram of the service system for full-disk solar observations
(4)网络拓扑结构
为了满足实际功能的需要,设计图4所示的网络拓扑结构。这里面存在2个局域网,望远镜局域网和全日面观测数据服务系统的NAS局域网。数据系统单独组成局域网,一方面是因为NAS还要承担部分数据处理任务。因此在NAS的基础上,把标准的NAS结构做了修改,使用专业服务器来充当各节点,所以组成了局域网。另一方面,考虑到天文台内网速度较慢,实际工作中,有时候当天的存储系统和备份系统的同步不能按时完成,所以单独建立局域网,以提高同步的速度。服务系统同时连接着NAS和天文台的内网,内网用户可以直接进行下载。外网用户须经过天文台的防火墙才能访问到服务器。这样可以提高安全性。不过,考虑到实际工作的需要,如与Hα全球联测网络进行数据同步,传输数据量巨大,那么此时的服务系统就直接连接到因特网上,提供数据服务。根据澄江1m红外太阳塔初步的需求,其存储部分将分为3部分,即磁盘存储的当天观测数据,磁盘阵列存储的近期数据以及磁带机存储的全部数据。根据这一特点,将为其设计相应的网络。
图4 全日面观测数据服务系统的网络拓扑图Fig.4 Topological structure of the network of the service system for full-disk solar observations
(5)用户工作流程图
用户获取数据的步骤,可以用如图5的流程图来说明。按照实际工作的需求,当天的“每日照”和观测数据列表是可以被每个人访问到的,具体数据的下载须申请,在经过记录之后可以下载。
图5 用户工作流程图Fig.5 Flowchart of data acquisition
任何用户,如果浏览当天或近期的“每日照”,在云南天文台太阳爆发和CME理论组的首页上即看到。如果需要进行数据检索操作,那么进入如图6的全日面观测服务系统的网页,在“数据查询快速通道中”选择Hα数据,然后进入如图7检索界面进行操作。得到检索结果后,如果是天文台内网用户,那么经过IP认证和VNC端口号认证(分配给太阳组计算服务器用户的端口号)后,即可对数据进行下载。如果是外网用户,可以通过email提交申请至halpha@ynao.ac.cn,经过记录后,会发送下载地址到用户邮箱。用户可通过该地址自行下载。
图6 查询系统界面Fig.6 Web interface of the service system for full-disk solar observations
图7 检索操作的界面Fig.7 Interface of searching observations
(6)实际工作中的一些考虑和待解决的问题
由于本系统是运行在因特网上的服务,因此根据实际工作的需要还有如下考虑:
网络安全性,这是任何提供网络服务的项目所必须考虑的。在本系统中,只是初步尝试了有关方法,以求为以后澄江红外太阳观测基地的有关项目积累经验。考虑的安全问题主要是MySQL注入式攻击。这种攻击主要是指在查询界面中输入一些特殊的内容,从而使MySQL错误的理解攻击者的查询本意。这种攻击结合PHP的一些漏洞,使数据库的数据面临严重威胁。对于本系统,这里由于查询方式简单,因此使用了下拉式的PHP选单而不是输入框,并且限定返回值为合法日期对应的数字(如图6)。这种简单做法可以避免初等的攻击手段。另外,使用了Zend程序。它不仅可以提高PHP的性能,本身还改进了PHP和MySQL安全性,禁用了某些高危函数。当然,以后的发展将需要系统提供更多的查询方式,因此这里的安全问题还需要做进一步的工作。
数据库优化。若数据查询过程中一次查询结果为几百条,则响应速度已经较慢了,如果考虑到并发查询请求,那么服务器的压力就会更大。实际上,国外台站如墨东天文台、中欧太阳数据中心等均已限制查询结果不得超过200条,否则用户须改变查询条件以获得较少命中结果。因此数据库必须进行优化。
对于本系统,只是使用常规手段进行优化。这一方面是因为MySQL记录数量约在每年十万的量级,查询压力不是很大,另一方面是因为服务器性能较好。经过测试,MySQL的CPU和内存占用处于合理水平,所以没有做这方面的限制。不过,以后澄江太阳观测基地因为是多波段数据,记录数会成倍增加,估计每年约在百万量级。因此可能会需要使用一些专门的优化方法。
本系统已经正常运行了半年左右。根据在运行过程中出现的问题对系统进行了及时更新,这也为澄江太阳观测基地数据库的建设积累了经验。由于实际工作中问题多种多样,以后还会对有关问题进一步跟踪解决。这些经验也会进一步丰富和完善澄江1m红外太阳塔有关系统的设计。
致谢:感谢新泽西理工大学物理系日地关系研究中心徐砚博士对本文提出的有益建议。
[1]陈东.网络控制技术与虚拟天文台[D].中科院研究生院博士学位论文,2003.
[2]韦卡宁,赵世清,李琼英,等.H-alpha太阳全日面像数据管理系统的建立[J].天文研究与技术—国家天文台台刊,2004,1(2):119-128.
WEI Ka-ning,ZHAO Shi-qing,LI Qiong-ying,et al.Development of the Prototype Data Management System of the Solar H-alpha Full Disk Observation[J].Astronomical Research & Technology,2004,1(2):119-128.
AServiceSystemforFull-diskHαSolarObservationsintheYunnanObservatory