虚拟太阳天文台(VSO)技术回顾林钢华国家天文台报告内容一、虚拟太阳天文台的提出;二、建立虚拟太阳天文台要解决的技术问题;三、虚拟太阳天文台的体系结构;四、VSO的可扩展性;五、采用的技术;六、VSO今后的发展。一、虚拟太阳天文台的提出虚拟天文台由科学驱动而产生,基于计算机技术、网络技术的发展而得以发展。在1998年卡波迪蒙蒂瓷的天文台的KevinReardon提出:太阳活动周期变化的详细研究需要分析横跨多年的观测记录,还要使用标准协议将多个单独维护的数据库无缝地连接起来,实现跨多个档案的复杂检索;一、虚拟太阳天文台的提出1998年意大利8个天文台和研究所的天文工作者提出“全部太阳数据目录”(WSC:theWholeSunCatalog)项目:WSC将有效连接遍布世界的可用太阳档案。WSC通过已提供的单个太阳档案,简化执行检索的任务和扩展科学家的查询范围,WSC使这种可能性极大地增加。其中Roudier指出1995年时仅在欧洲就列出了几十个可用的数据库,显而易见,访问这几十个数据库是一个耗费时间的任务,并且这个任务几乎不可能完成。提出WCS项目,就是为了生成太阳天文台的数据目录,解决这样广泛查询的困难;一、虚拟太阳天文台的提出1997年Sanchez-Duarte等首先提出了结合太阳档案成为一个统一系统的思想;1998年Dimitoglou等进一步讨论了这一思想;由前期发展而演化为VSO的项目还有JOSO(theJointOrganizationforSolarObservation)、SOLAR(SOHOLong_termArchive)、ARTHEMIS、BASS2000。1998年美国国家研究委员会关于地基太阳研究的空间研究理事会组织了关于数据档案及其挖掘对于太阳研究团体重要性的讨论,并推荐:“开发一个由NSF和NASA合作支持的通过访问的分布数据档案”。之后美国国家研究委员会天文学天体物理调查委员会郑重签署了把国家虚拟天文台作为顶级优先的小型项目启动协议。国家虚拟天文台(NVO:NationalVirtualObservatories)是一个夜间天文学上与VSO的相似项目,代表了在交叉相关研究中天文团体日益增长的兴趣。一、虚拟太阳天文台的提出2001年7月NASA空间科学日地结合部举行了两年一次的运作使命和数据中心的回顾会议,太阳数据分析中心(SDAC)也包括在此次会议内。这次会上对VSO提出了研究、原型、开发方面的经费预算。在此基础上,2002年11月由美国斯坦福大学、国家太阳天文台、蒙大纳州州立大学和太阳数据中心组成的VSO研究组发布了虚拟太阳天文台设计协议书,此书中给出了VSO的体系结构、组织结构、特性、技术方法、首批参加此项目的成员、经费分配、项目运作时间表等问题的描述。至此VSO项目正式起动。二、建立虚拟太阳天文台要解决的技术问题搜索和证认的可视化;形成多种可能的搜索;标准化查询形成方法;标准化数据服务信息;包括元数据标准和统一的数据模型;能传送数据或至少指向数据源;能吸收新数据源;进一步还有:软件和文献资源;查询登记;分布式处理;证认服务。三、虚拟天太阳文台的体系结构如由美国四所天文单位牵头的VSO体系结构;由欧洲联盟提出的EGSO(EuropeanGridofSolarObservations欧洲网格太阳天文台)体系结构;CoSEC(CollaborativeSunEarthConnector协作式日地连接器)体系结构二、虚拟太阳天文台的体系结构三、虚拟天太阳文台的体系结构VSO的简化体系结构如图所示,它主要由图中所示6部分组成:1.用户。指访问VSO的人,如太阳物理学家、空间物理学家等;2.访问方法。指为访问VSO专门开发的用户应用程序接口;3.VSO实例。它是VSO核心,用来处理用户查询,确定到哪一个站点去查询数据并将数据返回;4.中心服务器。它用来记录搜索的重复性和属性(是谁做了哪些查询);它也记录下各个数据提供者提供的可用数据和数据更新;5.数据提供者。它是实际执行数据查询所在地;三、虚拟太阳天文台的体系结构6.数据要求和返回。用户通过数据提供者提供的工具直接检索数据,或者通过使用智能VSO代理,它向(那些)数据提供者询问数据的可用性,并将询问结果集中起来,用电子邮件将这些结果通知用户,如:在什么地点什么时间数据是可用的。几个单位已在不同站点从多种数据服务方面测试了这一体系结构的可用性。四、VSO的可扩展性VSO体系结构的成功开发增加了基础系统体系结构在处理分布式系统的扩展性和容错性方面的能力。这种扩展性体现在数据提供者方面,它由原来的几个天文台扩展到全美国、乃至全世界;可以精细化数据模型;可以增加其它服务,如联接更为典型的分布式处理项目,如CoSEC、EGSO等;体现在用户方面,将由单一类型用户和界面扩展到多种类型用户和界面;四、VSO的可扩展性容错性能则体现在:这个系统的全部体系结构受到那些不同数据仓库(它们是不具有共享能力的普通数据集)的影响,当增加新数据提供者或新搜索能力时,返回有用结果的时间不应随着它们的增加而线性增加,在原型开发中,开发者小心地识别并孤立出那些慢的或无反应的数据仓库,使它们不影响VSO搜索的整体质量。对这种额外的复杂性的处理使搜索者集中精力于搜索目标上而不是使用的工具上。五、采用的技术—XML采用了XML(可扩展标记语言)。它的自描述性使其非常适用于不同应用间的数据交换,这种交换不以预先规定一组数据结构定义为前提。VSO使用它作为文档中识别结构的一种机制。如数据提供方的元数据采用XML定义并存储;在关系数据库中提供了XML视图,这样可实现基于XML的检索,实现XML视图和关系数据库之间的映射;采用XML进行数据交换,VSO中的注册项就是根据数据模型的定义用XML来描述的。五、采用的技术—WEB服务WEB服务。它是网络上可用的服务,标准化的XML消息,它独立于操作系统和编程语言;它建立在如下协议堆栈基础上:发现UDDI描述WSDLXML消息XML-RPC,SOAP传输HTTP,SMTP,FTPInternetIPv4,IPv6在VSO中使用它以应用为中心替代了以人为中心(POST/GET)的特性;及它的Web自动化特性:如服务描述,服务注册。五、采用的技术—SOAPSOAP(SimpleObjectAccessProtocol简单对象访问协议)的应用。它是RPC(远程过程调用)机制,它用HTTP进行传输,客户和服务器之间的消息是以XML编写的。虚拟太阳天文台的目的就是整合分布的不同的数据档案成为一个看似集中的虚拟的数据集合去提供通用的搜索和传递服务。VSO使用SOAP来实现这一目的。SOAP即可用于服务器端也可用于客户端。SOAP正是在松散的联合和动态的集成之间建立的无缝跨平台互操作的协议,SOAP和XML也正是WEB服务中最为适合的消息交换协议。VSO使用Perl的SOAP::Lite模块,提供数据访问与操作系统平台的无关性。(其实使用Java的Axis:模块,或C/C++的gSOAP:模块也都是可以的,因为Java和C/C++都支持SOAP。)五、采用的技术—SOAPSOAP是网络胶合剂,它使VSO和数据提供者通话,还能使VSO和其他虚拟天文台项目如EGSO、CoSEC结合。(SOAP分布服务器通过SOAP协议和每一个VSO实例通讯.)。其中SOAP::Lite模块是API的关键所在。SOAP具有错误处理机制,如超时处理,对标准的和自行定制的错误原因进行处理。在VSO使用SOAP的基础上,就要上天的空间望远镜如:STEREO、Solar-B、SDO,获取的数据也将采用基于SOAP的技术提供用户使用五、采用的技术--DM数据模型(DM):定义了一个统一的全世界范围的视图,因此解除了任何数据提供方在数据方面的特性。它尽可能全面而完整的定义了数据查询时可能给出的查询项目及其值。它用于描述任何数据提供者站点的数据集,使其与资源注册中的一致,也使得元数据按照DM组织。用户查询及结果返回都以DM的术语表示,在VSO各个部分编程实现中,都以此DM作为内部数据结构。五、采用的技术--DM转换:数据存储不需要按照DM进行,但在查询提出时,需要有一个从VSODM到数据提供方数据规范的转换,在查询结果得到时,需要有一个从数据提供方数据规范到VSODM的转换。数据模型中的名字使用了更多的惯例和惯例的统一,这使得数据描述和接口对于用户来说更为直观。由于数据模型是独立开发的,还需和国际间其它虚拟天文台项目如EGSO协调去统一此模型中的数据描述。显而易见的优点:采用统一国际数据标准(DM),有利于整合现有资源,也易于维护和升级换代;可以提供动态服务,能够适应网络和资源提供处的变化。五、采用的技术—实例实例.下图给出了对VSO实例功能较详细地概括。实例是VSO的核心.实例工作过程如下:VSO用户接口得到查询参数,如:”MDI,Yohkoh,SXT,NSO,EITmagnetogramfromOct-28-2001”VSO搜索引擎通过包含有VSO提供者信息的VSO注册器确定到图中〈1〉、〈3〉、〈5〉、〈7〉所指位置进行查询,图2VSO实例在〈1〉、〈3〉、〈5〉、〈7〉所指本地服务器中提供者查询引擎分别执行如下操作:SELECTobservationFROMdatabaseWHEREdate=’28-Oct-2001’ANDinstrument=EITSELECTobservationFROMdatabaseWHEREdate=’28-Oct-2001’ANDinstrument=NSOmagnetogramSELECTobservationFROMdatabaseWHEREdate=’28-Oct-2001’ANDinstrument=YohkohSELECTobservationFROMdatabaseWHEREdate=’28-Oct-2001’ANDinstrument=MDI提供者查询引擎将结果〈2〉、〈4〉、〈6〉、〈8〉返回用户接口。这一过程由多个实例独立地完成。五、采用的技术—实例VSO要求对于注册器和会话的集中存储(存储在图1〈4〉所示的中心服务器中)。实例运行类似的代码作基于注册器的转换工作;用户是通过和VSO实例通讯实现询问和请求的;分布式服务器通过SOAP协议和每一个VSO实例通讯。实例运行在本地机器上,它使VSO成为没有执行瓶颈的分布式系统。五、采用的技术—实例实例以Perl语言实现。选择Perl的原因是因为流行的WEB服务用它编写,、前期已开发的网络、数据库接口及词汇匹配包都用它编写。五、采用的技术—资源注册技术它用于记录数据提供者、他们提供什么样的可用数据及其数据更新;VSO搜索引擎使用这些信息确定向哪些数据提供者发送查询要求;它还记录下如何访问这些数据及数据输出方法。五、采用的技术—资源注册技术描述斯坦福MDI数据注册项的例子如下:Source:SOHOInstrument:MDIObservables:Dopplergram,MagnetogramLOS,ContinuumIntensity,LineDepthTimeRange:1996.01.03present描述如何访问斯坦福数据注册项查询接口的例子如下:Server:15-m5.stanford.eduURL:Proxy:输出接口例子如下:Method:GETURL:五、采用的技术—VSO搜索引擎它通过寻问资源注册器确定向哪个数据提供方发出查寻要求;等待提供方的响应;汇集提供方的查询结果。查寻项按照DM给