宗 干,郭金运,2,胡志博,代 杰,谭争光
(1.山东科技大学测绘科学与工程学院,山东 青岛266590 2.海岛(礁)测绘技术国家测绘地理信息局重点实验室,山东 青岛266590)
近年来Web相关技术的发展为信息的交换与处理提供了极大便利,基于Browser/Server(B/S)架构的Web数据库技术在其中更是发挥了主要作用。各方面研究为Web服务及其相关领域的发展做出极大贡献[1-4]。在 GNSS领域,为满足用户对GNSS数据高精度处理结果的需求,考虑到以Web数据库等为主的交互式动态网页技术在数据的传输方面的优势以及传统数据处理软件在传播、安装与学习使用方面所受的限制,已有多个组织机构推出了自己的 Web数据处理服务,主要有SOPAC提供的SCOUT[5],加拿大自然资源部提供的CSRS Online Database,纽布伦斯威克大学(UNB)提供的GAPS,澳大利亚地球科学局提供的AUSPOS[5-6],美国喷气推进实验室(JPL)提供的 APPS等。
总体来看,当前的Web数据处理服务多为国外组织所提供,国内用户在使用时会有一定障碍。并且这些服务主要以GPS数据的处理为主,对我国北斗系统(BDS)观测数据的处理能力偏弱。另外,目前国内BDS相关网站大多仅提供相关的新闻资讯,并没有结合观测数据的处理业务。
因此,针对以上GNSS Web服务所存在的不足,同时考虑到目前北斗系统正处于发展阶段,数据处理软件并不普及,许多用户虽有BDS观测数据但无法进行处理的这一难点,提出了BDS/GPS双系统在线资讯及数据处理服务。该服务基于B/S架构,利用 Web数据库及相关开发技术,使用Bernese及自主开发的北斗数据处理程序对用户的北斗和GPS两种观测数据提供基本处理服务,处理结果可靠,使用方便。
B/S(浏览器/服务器)架构的兴起是为满足一体化客户端的需要,完成从胖客户端向瘦客户端的转变,它是对20世纪80年代出现的C/S(客服机/服务器)结构的发展。相对于传统两层的C/S,B/S是一种三层结构,分为表示层、业务逻辑层(事务逻辑)和数据访问层(数据层),结构如图1所示。
图1 B/S三层结构图
在以B/S结构为基础的BDS/GPS Web服务中,表示层主要负责用户在进行北斗系统数据或者GPS数据处理时关于解算策略设置的接收以及处理结果和其他新闻信息的显示,由距离用户最近的Web浏览器完成这一任务;业务逻辑层是整个结构的核心部分,位于表示层和数据访问层之间,其任务一方面是响应由表示层发出的用户对观测数据处理或其他方面的请求,并通过Web应用程序与数据库进行连接,另一方面将来自数据访问层的处理的结果由Web服务器传送回客户端,起到连接与信息传递的作用;数据访问层主要由数据库服务器构成,其任务主要是响应业务逻辑层对数据库进行操作的请求,将用户在表单中的解算策略设置以及邮箱等信息存入数据库,另外如果用户进行了在线留言,除了将留言内容存入数据库以外还要将其返回Web服务器,再由Web服务器以标准HTML页面的形式显示于浏览器中。
选用B/S进行BDS/GPS Web服务设计的优势[7-9]在于:1)操作简便,用户仅需浏览器即可完成GPS和BDS相关资讯的获取以及数据的上传与下载,对用户计算机软硬件的要求低。2)由于几乎所有操作和设置都在服务器端完成,因此管理员对系统维护管理较方便。3)结合动态网页技术,各种关于GNSS的新闻或信息的发布与更新更加方便,工作量相对于使用静态网页减少明显。
Web应用程序是B/S的典型产物,其本质与传统的应用程序并无不同,但最大的特点是不需要单独安装,仅需浏览器便可运行。通常所见到的网页计数器、日期时间显示都属于该范畴。开发Web应用程序,设计增强网页交互性的动态网页可以借助 Active Server Pages(ASP),将 HTML与脚本开发有机结合,脚本通过位于Web服务器端的IIS进行解释,根据其处理结果仅以标准HTML页面的形式返回。保证了ASP代码的保密性与对浏览器的适应性[7]。
为向用户提供BDS/GPS数据服务和实时动态更新的GNSS资讯,传统的静态页面已无法满足需要,因此有必要将Web应用开发与数据库相融合。Web数据库技术将数据库中数据的独立性、共享性以及数据结构化水平高、易于维护等特性与动态网页的交互性、灵活性相结合,弥补了静态页面的不足。对数据库进行查找、删除等操作是Web应用程序中最主要的方面,通过Web数据库查询返回的动态页面属于Deep Web的一种形式,这方面技术的应用有利于结构化数据的集成[10],同时也有利于增强信息数据处理与反馈等方面的交互性、动态性、实时性。
使用Web应用程序实现对数据库操作并返回动态页面的一般过程如下:
1)用户向Web服务器发出请求,服务器会对请求中所包含的asp文件进行判断,若含有脚本程序(VBScript或JavaScript),则通过IIS对其进行解释执行,否则将直接返回,处理结束。
2)在对脚本进行解释的过程中,如果脚本中使用了 ActiveX Data Objects(ADO)对象,则 Web服务器会根据ADO的设置启动对应的Open Database Connectivity(ODBC)驱动程序,连接数据库服务器,访问指定的数据库,完成对数据库的操作并返回结果。
3)若需要将数据库操作结果显示于用户浏览器,则IIS在解释脚本的过程中会利用ASP提供的输出对象结合数据库服务器返回的结果,将需要显示的内容以HTML页面的形式显示于用户浏览器窗口中。
使用ASP的Web数据库访问流程如图2所示。
图2 Web数据库访问流程
北斗卫星导航系统(BDS)作为我国自主研发的导航定位系统于2012年12月27日正式提供区域服务,截至2012年底共有4颗MEO卫星,5颗IGSO卫星和5颗GEO卫星在轨工作[11],定位精度可以达到高程10m,水平10m.
为推广北斗系统的应用,提出一种基于 Web数据库的BDS/GPS服务,该服务可以提供北斗系统和GPS相关的新闻资讯,也可以处理用户提交的BDS/GPS数据,并将结果通过邮件的形式返回。该服务依托相应的服务网站实现,其特点主要包括:
1)基于B/S结构,用户不需要另外安装客户端软件,只需要浏览器即可使用本服务。
2)综合利用静态网页与动态网页,提高数据与信息的交互性。
3)利用ASP开发Web应用程序访问数据库,依靠Web数据库实现对数据管理的交互性、动态性、实时性。
服务网站的页面划分以及主要功能如下:
1)主页:作为网站的入口,向用户提供主要服务内容、网站导航,并且滚动更新最新资讯。
2)资讯:作为本站主要功能之一,汇总国内外北斗卫星导航系统及其他GNSS新闻资讯,涵盖视频新闻、图片新闻、文字新闻等多种形式,另外包括专家访谈栏目与定位导航行业最新发展动态,为用户提供及时的资讯服务。该页面属于动态页面、与数据库服务器相连,使用户在获得近期新闻的同时可以查阅过往资料。
3)图集:收集展示与GNSS、航空航天领域相关的图片资料。
4)百科:为非专业用户提供BDS、航空航天以及GPS、GLONASS等其他GNSS系统的介绍,主要包括系统历史与当前发展状况,专业术语解释,系统应用领域与范围等多方面。
5)服务:可以提供BDS与GPS两种系统的基本数据处理与下载服务。
数据处理方面分为本站数据处理和外站服务链接。本站北斗数据处理服务目前可提供北斗静态标准绝对定位服务,对于GPS数据可以提供静态以及动态条件下的绝对定位和相对定位服务。外站数据处理服务主要针对GPS数据。提供多种GPS服务组织的链接地址,包括CSRS Online Database、The Precise Point Positioning Software Center、APPS、AUSPOS、SCOUT、GAPS 和magicGNSS,用户通过这些链接可直接使用以上组织提供的数据处理服务。
数据下载方面,提供本站数据下载和外站数据下载链接。外站数据主要为国外各组织的GNSS观测数据及精密产品的下载链接,包括CDDIS、SOPAC/CSRC Archive、NGS CORS、GDC等。本站北斗和GPS观测数据及对应的星历文件使用FTP下载方式,数据来自山东科技大学BDS/GPS数据观测站。测站采用两台和芯星通UR240-CORS双模四频点接收机进行连续同步观测。旨在为暂无北斗接收机的用户提供观测数据进行数据解算、软件测试以及其他教学和科研方面的帮助,测站的GPS观测数据可用于检验同站北斗观测数据处理结果精度。
6)关于:总体介绍本站背景、所提供服务范围等信息。
7)联系我们:提供联系电话、地址、邮箱等信息。同时提供在线留言功能,该功能同样基于Web数据库,将用户的留言信息保存至数据库并返回显示于动态网页中。
网站功能结构如图3所示。
图3 网站结构图
根据以上功能规划,对网站各页面进行了设计和调试。网站首页如图4所示。首页提供GNSS最新相关消息、GNSS系统介绍、图片展示以及对应链接,作为整个站点的入口以及各种资讯汇总页。
图4 网站首页
数据服务作为本服务的另一主要方面,主要针对GPS和北斗系统的数据处理与下载。数据服务页如图5所示。
图5 数据服务页
使用数据处理服务需要经过两个步骤,首先是填写处理策略表单,表单内容包括所提交文件名称、卫星截止高度角、气象参数、邮箱地址等基本设置,在表单中的各项设置会存入数据库,该过程选择VBScript编写动态页面脚本,通过位于Web服务器上的IIS对脚本进行解释,由于需要连接数据库,因此在脚本中使用了ADO来启动ODBC,访问BDS或是GPS表单设置数据库,将用户在浏览器中的设置记录至其中。
表单填写完成后需要提交观测数据,观测数据应为标准Rinex格式;其次是数据的提交,用户观测数据文件的提交采用在线上传的方式,该功能根据ASP无组件上传的原理进行开发。上传完成后根据这些设置对观测数据进行处理,将处理结果以及统计数据以邮件的形式发送到用户邮箱,若数据处理不成功同样会返回邮件告知用户,并提供适当解决方案。
对于GPS数据,处理时采用Bernese,处理结果可靠而且能够达到较高精度。北斗系统数据处理采用自主开发软件进行。为验证软件处理精度,以山东科技大学北斗系统观测站东站2012年DoY 362天1Hz采样全天的观测数据为例,统计结果如表1及图6所示。
表1 东站DoY 362全天观测统计结果
图6 东站E、N、U三方向偏差
由于19点以后本地降雪,由图6可以看出E、N、U方向精度变差,U方向对电离层和对流层的变化敏感,因此,其误差波动较其他两方向剧烈,但综合分析统计结果,E、N、U三方向偏差RMS分别为3.839m、2.590m和4.758m,可以看出程序处理结果合理,能够达到北斗系统合理定位精度。
基于Web数据库的BDS/GPS服务系统的开发可以解决一部分用户对数据以及处理结果的需求问题,弥补缺少数据处理工具的不足,具有操作方便、处理快速、结果可靠等优点。
该服务目前仍存在诸多需要改进之处,将来的工作主要包括使用ASP.net代替ASP,优化动态网页;除GNSS外,同时提供包括垂线偏差计算(使用山东科技大学数字天顶摄影仪[12]),重力数据、卫星测高数据、潮汐观测数据等的处理,为用户提供更全面、更可靠的服务;另外可建立英文站点,以满足国外用户需要。
[1]岳 坤,王晓玲,周傲英.Web服务核心支撑技术:研究综述[J].软件学报,2004,15(3):428-442.
[2]MCLLRAITH S A,MARTIN D L.Bringing semantics to web services[J].Intelligent Systems,IEEE,2003,18(1):90-93.
[3]FELBER P,CHAN C Y,GAROFALAKIS M,et al.Scalable filtering of XML data for web services[J].Internet Computing,IEEE,2003,7(1):49-57.
[4]詹 骞.基于 Ajax/REST的GIS WEB服务研究与实现[D].北京:中国地质大学(北京),2008.
[5]李 黎,戴吾蛟,李浩军,等.AUSPOS在线定位系统研究分析[J].全球定位系统,2008,34(5):43-46.
[6]徐永斌.在线PPP软件的精度比较分析[J].测绘与空间地理信息,2011,34(4):167-169.
[7]汤朝霞.ASP技术在Web数据库开发中的应用研究[D].济南:山东师范大学,2004.
[8]冷建华.基于 WEB的在线考试系统的研究与设计[D].南昌:南昌大学,2012.
[9]陈庆涛 .NET和分布式(网络)数据库集成技术支持下的WEB GIS系统研究与开发[D].成都:成都理工大学,2008.
[10]刘 伟,孟小峰,孟卫一.Deep Web数据集成研究综述[J].计算机学报,2007,30(9):1475-1489.
[11]中国卫星导航系统管理办公室.北斗卫星导航系统空间信号接口控制文件公开服务信号B1I(1.0版)[R].2012.
[12]郭金运,宋来勇,常晓涛,等.数字天顶摄影仪确定垂线偏差及其精度分析[J].武汉大学学报·信息科学版,2011,36(9):1085-1088,1101.