国际GNSS服务(IGS)数据自动下载与管理

2017-01-10 06:21赵国强董伟
城市勘测 2016年6期
关键词:站点工具自动

赵国强,董伟

(1.中国地震局地震预测研究所,北京 100036; 2. 中铁第四勘察设计院集团有限公司,湖北 武汉 430063)

国际GNSS服务(IGS)数据自动下载与管理

赵国强1*,董伟2

(1.中国地震局地震预测研究所,北京 100036; 2. 中铁第四勘察设计院集团有限公司,湖北 武汉 430063)

系统详细介绍了国际GNSS服务(IGS)数据自动下载与管理系统的实现方法及相关知识,主要包括下载数据站点介绍、FTP工具测试、数据自动下载程序设计以及程序功能稳定性测试等,旨在为相关行业及工作人员提供一个稳定、高效的数据自动下载方案,解决在数据下载中碰到的实际问题,提高工作效率。

IGS ;FTP ;GPS ;数据下载

1 引 言

当前,全球定位系统[1](以下简称“GPS”)在我国国民经济建设各个领域发挥着越来越重要的作用。GPS的基本原理是接收机接收卫星信号,生成观测数据,通过数据处理获得位置等相关参数。随着GPS在我国的蓬勃发展,观测获得大量的GPS观测数据,因此数据处理始终是这个行业人员要从事的一项日常性工作,尤其是高精度GPS数据处理,人工干预程度更高。在做高精度GPS数据处理时,通常首要工作是下载精密星历产品、表文件以及中间计算文件等。另外,目前国内建立了很多GPS数据中心,汇集、保存以及管理国际GPS数据及产品是数据中心的主要功能之一。因此,如何稳定、高效、自动化的汇集国际相关GPS数据及产品,是数据处理,尤其是高精度数据处理的一个重要环节和技术问题。

本文介绍了国际上主流的数据下载站点及其内容,评测了三种数据下载工具的优劣,描述了国际GNSS服务(IGS)数据自动下载与管理系统的实现方法,最后对该系统进行了测试及评估,旨在为相关行业及工作人员提供一个稳定、高效的数据自动汇集方案,解决在数据下载中碰到的实际问题,省去工作人员在数据下载这个环节可能会进行的一些重复尝试,提高工作效率。

2 FTP站点介绍及工具

2.1 FTP站点

国际GNSS服务[2]简称IGS,是一个由200多个国际机构自发组成的非盈利性民间组织,这些国际机构源源不断地将连续运行的GPS以及GLONASS基准站观测数据汇集至IGS数据中心,随后IGS通过解算获得高精度的产品。IGS致力于向各行各业无偿提供高质量的观测数据及产品,这些数据及产品已经成为全球卫星导航定位系统(GNSS)领域的行业标准,用于支持地学研究、多学科交叉应用以及科研教学的发展。在做高精度GPS数据处理时,必须要用到IGS提供的数据和产品,这些数据和产品可以从IGS官网发布的IGS数据分中心站点以匿名用户的身份下载获得,用户无需注册或登记。值得庆贺的是,2014年底,武汉大学成为全球第5个IGS数据分中心,这将大大满足国内用户下载IGS数据的需求,彻底改变我国用户完全依赖国外IGS数据中心的现状,并且使国内用户下载IGS数据的速度从过去10 Kb/s左右提升至峰值 1 Mb/s左右,速度提高近100倍。除此之外,还有一些其他的国际机构,也提供相应的GPS数据及产品,如表1所示。

为测定表1中各站点的数据下载稳定性,设计了1套数据下载方案,即利用Linux自带的下载工具ftp,下载表1各站点的精密星历(igs18161.sp3.Z)和钟差文件(igs18161.clk.Z),大小约 1.3 Mb,从2015年4月1日~2015年4月30日,每天上午10:00开始下载1次这两个文件,并记录每日的数据下载状况,测试结果见表1。由于UNAVCO[3]不提供精密星历,因此以下载观测数据代替进行测试。通过表1测试结果可以得出如下结论:下载国外站点数据整体不稳定,时断时续,但可以满足日常下载的需求。武汉大学IGS中国数据中心无论在下载稳定性、网络可靠性以及下载速度上,都表现出色,在下载数据时,应首选该站点。

国际FTP站点 表1

2.2 FTP工具

大量的、日常性的、自动化的通过FTP方式下载数据,通常情况都是在Linux系统下实现,因此本文主要介绍Linux下的FTP工具。由于Linux版本众多,本文以在 Ubuntu10.04.4 LTS系统环境下为例进行说明。

ftp,是Linux系统自带的一个下载工具,不需要安装,没有界面,直接在终端输入ftp即可使用。

lftp[4],是一个功能强大的数据下载工具,它支持FTP、SFTP和FTPS等文件访问协议。lftp没有图形界面,纯命令行方式进行操作,风格和SHELL类似,具有命令补全、显示下载进度、历史记录、断点续传、允许多个后台任务、镜像、书签、排队、多进程下载等功能,使用起来十分方便。lftp不是Linux自带的工具,需要下载安装,在Ubuntu下,输入sudo apt-get install lftp即可完成下载安装。

ncftp[5],是一款在Linux平台上传下载数据的FTP工具,它提供更加强大、快捷、方便的功能,被广泛的应用于Linux的各个版本上,与传统ftp相比,它的优势在于:采用递归的方法可以下载整个目录及其子目录、支持断点续传、匿名自动登录、可以显示下载进度等。ncftp不是Linux自带的工具,需要下载安装,在Ubuntu下,输入sudo apt-get install ncftp即可完成下载安装。

lftp和ncftp一个共同的优势在于,能够继续失败的传输并重新尝试,在通过有网络瓶颈的网络传输大型文件时这点非常有用,并且都可以输出状态行,显示传输的进度,而ftp只能显示传输速度。无论哪种FTP工具,在使用时,都需要用到get和mget这两个命令,get只能下载单个文件名确定的文件,mget可以进行批量下载,并可以使用通配符,即“*”、“?”等。另外,如果在Windows下临时下载少量数据,则推荐使用Xftp软件,该软件功能强大、性能稳定,可以在360软件管家中搜索Xftp免费下载安装使用。

为了测试ftp、lftp和ncftp三种工具在实际下载数据时的可靠性及有效性,设计如下方案,从2015年5月1日~2015年5月31日,在这个月期间每天的上午10:00用上述三种工具分别从SOPAC下载7个GAMIT-hfiles,分别是higs1a.15046.Z、higs2a.15046.Z、higs3a.15046.Z、higs4a.15046.Z、higs5a.15046.Z、higs6a.15046.Z、higs7a.15046.Z。选择这些文件的原因是,hfiles相对较大,单个文件每个约4 Mb,这样在下载时,碰到网络不稳定的几率要大,使得测试更接近实际应用中的状态,便于发现在下载中碰到诸如网络异常等原因时各个工具的不同表现,同时hfiles总数只有7个,总量不是很大,使得实际测试更具有操作性和可实施性。每天记录下载数据的速度、用时以及出现的问题,速度和用时按天求平均,汇总如表2。表中空文件是指只有一个文件名,大小可以忽略不计,打开后没有内容的文件。坏文件是指文件无法打开,或者打开时报错的文件,IGS提供的大部分文件都是压缩文件,如果下载后无法解压,一般均为坏文件。小文件是指文件可正常打开,但文件内容不完整,只有部分内容,文件大小比源文件小的文件。

FTP工具测试结果 表2

通过表2测试结果可知,日常数据下载应该采用稳定性和可靠性更高的lftp和ncftp。

3 数据下载流程

3.1 设计原则

在设计数据下载程序时,应该遵从以下一些原则:

稳定性,即系统不会轻易出现故障,在自动下载大量数据时,稳定是第一位的,在硬件平台确保正常运行的前提下,系统可以持续稳定的自动运行,基本无需人工干预;

可靠性,即下载下来的数据是正确的,要确保下载到的数据与源数据保持一致,避免产生小文件、空文件及坏文件;

高效性,即下载效率高,用最少的网络资源,最优化的算法,尽可能一次下载成功,减轻网络压力,并且已经正确下载的文件,不会被再次下载;

灵活性,即当某个FTP站点故障时,系统可以马上切换到备用站点,而不单纯依赖某个站点获得数据,做到少量站点出现问题时,不会影响系统的正常运行;

可移植性,数据下载系统不受操作系统的影响,可在大部分Linux平台应用。

3.2 程序设计流程

选择常用的C Shell语言编程,根据设计原则及FTP工具的测试结果,选用lftp进行数据下载,FTP站点首选高速稳定的,具体下载文件类别及配置如表3所示。

IGS数据下载站点列表 表3

正确设置操作系统时间,并利用date命令获得当前时间参数,利用GAMIT[6]软件中的doy命令获取想要下载的数据当天时间,由于GPS的相关数据、产品命名以及FTP站点的目录设置等都与日期有关,因此只要获取了目标数据的时间信息,包括年、月、日、年积日、GPS周以及GPS周-天等相关参数,即可进入站点的相应目录获取相应的数据。

设计数据下载程序头文件,由于每一个FTP站点的文件目录结构不尽相同,没有统一的标准,因此无法自动生成数据下载程序,用手工编辑的方式生成表3中每种文件类型在不同站点下载时需要用到的程序头文件,存放于固定位置,等待主程序的调用,头文件主要包括站点地址、进入站点方式等内容。

主程序的主要功能是自动生成和调用数据下载程序,首先判断目标目录、文件在本地是否存在,如果目录不存在,则在本地建立目录,如果文件不存在,则将文件名添加到数据下载程序头文件中,并生成一个完整的数据下载程序。最后调用数据下载程序,进入ftp站点开始下载数据,并将数据保存在本地结构化的目录中。3.3 定时任务

IGS的数据和产品都是定时更新,如表4所示,借助Linux里面自带的配置定时任务命令crontab即可实现定时自动下载。设计定时任务的基本原则是,既要考虑同一数据安排多次下载以确保下载成功,又不能重复太多次浪费系统资源和网络资源,同时尽可能将所有的下载任务均匀分配在一天的各个时间段以避免偶然因素导致的系统性数据下载失败,并且尽可能串行下载,即某一个时刻只在某一个站点下载某一个文件,以防止网络拥堵(具体方案见表4)。在设置定时任务时,首先要明确UTC时间、GPS时间以及北京时间的含义及关系。世界协调时(UTC)即我们通常生活中所使用的时间,UTC与格林尼治平均时一致,即为零时区的时间,北京时区是东八区,因此北京时间领先UTC时间8个小时。GPS时间,也就是GPS原子时,它的时间基准是1980年1月6日0点与UTC时刻相一致,以后按原子时秒长累积计时,GPS时与UTC时之差为秒的整倍数,通常采用跳秒的方法来处理这种差异。我们要意识到北京时间比GPS时间早8个小时,即当天的IGS数据要在北京时间早8点以后才开始陆续生成,也就是说,在0点~8点设置的定时任务,只能下载到前一天的数据,而无法下载当天的数据。

最后生成系统运行日志,以便日常对系统进行监控并且在出现故障时易于排查,日志内容应包括数据开始下载时间、数据量、用时、完成情况、故障记录等信息。日志可通过Linux的邮件系统定时发送到指定邮箱,这样就不必经常登陆系统查看运行状况,每天查收邮件就能知晓系统的基本状态。可以使用简单灵活的sendemail工具发送邮件,sendemail不是Linux自带的工具,在Ubuntu下输入sudo apt-get install sendemail即可完成下载安装。

IGS数据自动下载定时任务 表4

4 运行评价

根据设计原则对数据下载系统的实际运行情况进行评估。稳定性,即系统是否能长时间正常运行而无需人工干预,故障率是表征这类性能的一个指标,故障率是指总体时间段内出现各类故障所占时间的百分比。在设置定时任务时,为了确保数据下载成功,某个文件会在第一次下载失败后的某些时间段内再尝试进行多次下载,首次下载成功率,即下载任务中的所有数据第一次下载成功所占比例,如果是因为站点上没有目标数据而导致的首次下载失败,则不计入统计范围。可靠性,即已经下载得到的数据是否有质量问题,如果发现数据有问题,比如出现空文件、小文件或者是坏文件,需跟源数据进行比对,如果源数据本身存在问题,则与数据下载系统是否可靠无关,如果源数据正确无误,说明数据下载系统还存在问题,不可靠。高效性,即测试数据的首次下载成功率及用时以及定时任务设置是否合理。灵活性,当某个IGS分中心无法连接时,系统是否会自动切换至备用站点进行下载。可移植性,本系统在Ubuntu C Shell环境下建立,由于C Shell是Linux中通用的一种编程环境,因此,只要在安装有C Shell的任何Linux系统下,都可以安装部署此系统。

根据上述稳定性、可靠性、高效性以及灵活性等评价指标的含义,设计如下测试方案:时间为2015年6月1日~2015年11月30日共计6个月,测试期间确保服务器、网络以及存储等系统硬件平台正常运行,并避免人为因素的干扰,用时为所对应文件成功下载时间按天求平均,具体下载文件类型、文件名称、文件大小、定时任务以及测试结果如表3~表5所示。

系统测试结果列表 表5

通过表5可以得到以下结论:该系统在测试期间,稳定性高,运行流畅,程序没有出现崩溃死机等状况。系统可靠,经检验比对,下载成功的数据里面没有出现小文件、空文件及坏文件。下载效率高,所有数据都在第一次下载成功,用时较短,没有长时间占用网络资源。

因此该系统可用于日常的工作生产中,满足相关部门及人员对IGS数据和产品的需求。

5 问题与建议

本系统在数据下载前没有去测试目标站点的连通性,如果数据第一次下载失败,第二次下载会更换站点,以此类推,具体参见表3。系统智能化程度较低,如需增加下载文件的类型及数量,需要人工添加至下载列表。对网络环境要求较高,如果网络环境较差,会导致数据下载用时成倍增加甚至导致系统崩溃。系统没有操作界面,运行维护时主要依靠命令行的方式,对于初学者来说,需要一个相对较长的学习熟悉时间,今后可在本系统的基础上开发Windonws版本,更易于推广应用。由于文章篇幅所限,无法给出系统完整的源代码,有兴趣的读者可与作者电子邮箱(zhao@cmonoc.cn)联系。

[1] Elliott D.Kaplan,Christopher J.Hegarty .GPS原理与应用(第二版)[M]. 北京:电子工业出版社,2007.

[2] IGS[OL]. http://igsws.unavco.org/,2015.

[3] TEQC[OL]. http://www.unavco.org/,2015.

[4] baidu[OL]. http://www.baidu.com/,2015.

[5] ncftp[OL]. http://www.ncftp.com/,2013.

[6] GAMIT/GLOBK[OL]. http://www-gpsg.mit.edu/~simon/gtgk/,2015.

[7] 邢诚,徐亚明,周校等. IBIS-S系统检测方法研究[J]. 测绘地理信息,2013,38(4):9~12.

[8] 姚飞娟,王建强,刘伟等. GPS历元比较时间对齐方法[J]. 测绘地理信息,2014,39(1):17~22.

Automatic Downloading Data and Product from IGS

Zhao Guoqiang1,Dong Wei2

(1.Institute of Earthquake Science,CEA,BeiJing 100036,China;2.China Railway Siyuan Survey And Design Group Co.,Ltd. WuHan 430063,China)

In detail,we introduce how to design a system to download IGS data and product automatically,including:basic knowledge,FTP sites,testing about FTP tools,flow of the program and testing about the program. We aim to provide a stable and efficient data downloading project for GPS industry and staff,solve the problem when we downloaded the IGS data and product,and improve work efficiency.

IGS;FTP;GPS;data downloading

1672-8262(2016)06-103-05

P228

B

2016—01—28

赵国强(1981—),男,硕士,助理研究员,主要从事GPS数据处理及其地学应用等研究工作。

中国地震局地震预测研究所基本科研业务费专项(2016IES0202)资助

猜你喜欢
站点工具自动
波比的工具
波比的工具
自动捕盗机
基于Web站点的SQL注入分析与防范
2017~2018年冬季西北地区某站点流感流行特征分析
准备工具:步骤:
“巧用”工具
让小鸭子自动转身
首届欧洲自行车共享站点协商会召开
自动摇摆的“跷跷板”