自动气象站是由电子设备或计算机控制的自动进行气象观测和资料收集传输的气象站。将多个自动气象站数据信息利用有线或无线方式连接至数据中心处理系统就构成了自动气象监测网络。自动气象监测网是我国气象现代化综合观测系统的主要组成部分,是气象基础设施现代化建设的重要环节,是获取气象预报、预测基本数据的主要工具。建立适当规模自动气象站,对于研究城市局地气候,分析局地小气候规律,做好中小尺度灾害性天气预报,为气象防灾减灾服务,具有极其重要的作用[1]。
我国从20世纪80年代中期开始研制自动气象站, 几经试验于20世纪90年代末投放台站使用。2002年进入大规模建设阶段,至2008年止,全国已经布设的自动气象站超过20000个。为满足气象业务发展的需求,自动气象站的建设还在不断扩大。就广东省来说,目前全省总共布设了1400多个自动气象站,到2010年,预计将达到2000个自动气象站,从而形成庞大的自动气象监测网。
自动气象站组网的通信模式基本可分为两种,即有线和无线方式。有线方式主要以公共电话网为基础,通过电话拨号轮询采集数据。由于使用电话采集一个自动气象站资料,从摘机拨号到通信完毕挂机要花20多秒的时间,如果有30个站资料要采集,那么正常采集完所有站资料要10分钟以上。所以,自动气象监测网越大时效就越低,极大地抑制了自动气象站的观测密度和资料的有效传输。同时,通信费用也相对偏高,电话通信线路易受干扰和雷电入侵,给自动气象站资料的正常采集带来很大的负面影响。在一些条件恶劣、地域偏僻的地区,电话通信根本无法到达,使自动气象站的合理布点有一定的局限性。
无线方式主要以移动通信网络为构架,可分为点对多点、基于INTERNET或专线的无线组网,实现资料集中采集。但存在由各地台站建立采集中心,组网规模小,自动气象站来报率参差不齐,来报质量难以控制。存在各中心拥有各自的APN名和IP地址段,受移动资源管理的限制,不同网段之间不能互通等问题,通信资源不能集约化综合利用。缺乏整体性、系统性规划管理,不易于全网监控和维护。
因此,要突破传统自动气象监测网资料传输、处理的弱点,克服目前自动气象站组网存在的问题,充分发挥自动气象站在现代气象业务中的作用和效益,必须建立一个既能符合现代气象业务需求又能满足未来业务发展的新型自动气象监测系统。同时,考虑到各省现有自动气象监测网的差异,充分利用现有的设备资源,有利于归口管理,以省为单位,并以广东省为例,对大规模自动气象站组网及资料传输处理系统进行研究与设计。
1 组网设计 1.1 组网技术及特点组网技术是决定能否实现大规模自动气象站组网成功的关键,是决定能否实现自动气象站资料快速、有效传输的根本保证。GPRS技术特别适应于间断的、突发性的或频繁的、少量的数据传输。根据自动气象站资料数据量较小,资料传输次数密度大,资料传输突发性高等特点,GPRS是当前适合自动气象站网通信的一项新技术。
GPRS(通用无线分组业务,General Packet Radio Service)是利用“分封交换”(Packet-Switched)的概念所发展出的一套无线传输方式,是在现有的GSM系统上发展出来的一种新的分组数据承载业务[2]。GPRS采用与GSM同样的调制标准、同样的频宽、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构, 实现与现有的GSM同样的安全性及简单接入。GPRS提供四种不同的编码方式,这些编码方式提供不同的错误保护能力和不同的接入速率。GPRS能高效利用信道资源在无线接口MAC/RLC层无线资源的有效管理,以及核心网部分适于数据传送的分组交换方式,GPRS网络适于突发性数据的有效传送[3]。GPRS提供端到端的、广域的无线IP连接,充分利用共享无线信道,采用IP Over PPP实现数据终端的高速、远程接入。GPRS数据网络通过GPRS网关支持节点(Gateway GPRS Support Node,GGSN)能和多种不同的数据网络连接,如ISDN、PSPDN和LAN等,建立到企业网关的VPDN隧道,实现GPRS网络与企业网络的无缝连接[4]。
采用GPRS技术构建大型自动气象监测网系统,实现了从串行通信模式到完全基于IP技术的网络通信模式的转变,改变过去分散采集及采用PSTN组网通信容量的限制,大幅度提高自动气象站的来报时效及观测密度,实现全网资料的同步采集,提高对自动气象站网的监控能力和维护能力。并解决原自动气象站网通信系统存在的问题。
(1) GPRS永远在线,速率高,所有自动气象站都可同时向GPRS网络发送资料,解决自动气象站时效低的问题。理论上,通过GPRS网络每次收齐全省自动气象站的一次正点资料所用的时间,可能小于原来用电话拨号调一个自动气象站资料所用的时间。
(2) GPRS按通信流量计费。自动气象站每1分钟发一份报,每站每月的费用约20元。而原来采用电话通信方式时,即使每小时采集一份报,每站每月的市话费用约200元。对比两者的信息量价格比,GPRS通信有极大的优势。
(3) GPRS依无线进行通信,消除了雷电从通信接口入侵自动气象站主机这一重大隐患。
(4) GPRS信号覆盖面广,解决了条件恶劣、地域偏僻地区电话通信无法到达的问题,使自动气象站的布点更加合理。
1.2 系统组成根据GPRS网络给业务用户提供的通信连接方式和全省气象系统的现有通信资源、业务需求情况,基于统一的APN名、统一的IP地址规划、统一的数据传输规范协议和数据传输格式,设计既考虑全省规范管理又有利于台站业务需求的自动气象站网和数据采集系统。如图 1所示,系统可由以下四个部分组成。
(1) 自动气象站与无线通信终端(DTU)。自动气象站负责气象数据(如:风向、风速、雨量、温度、湿度、气压等)的采集,并提供对外连接的RS232口。DTU负责连接GPRS网络,接收发送自动气象站资料,在自动气象站与通信处理中心的数据交互中起着桥梁的作用。由于GPRS网络的业务调整可能导致DTU出现假在线(假死)的现象,所以要求DTU具有看门狗自复位及外部检测复位功能,保证DTU在出现异常情况下能及时恢复正常工作。同时采用静态的地址分配方式,即由GPRS服务商为每个DTU分配一个固定的IP地址,从而简化了移动通信终端动态地址分配而给通信带来的复杂性。
(2) 数据传输网络,即GPRS网络和有线专线的结合。GPRS网络负责气象数据的无线传输,并通过GGSN实现自动气象站资料采集中心的专线接入。由于每个自动气象站一次观测的原始报文信息量约为300 byte,2000个自动气象站的总信息量约为586 KB/1次观测。所以系统采用2 M的移动E1光纤专线为通信主干通道,采用不同接入点、不同物理链路的2 M移动E1光纤专线作为通信备用通道,实现双同APN,双传输和双GRE通道,满足现有业务的需求,并保证系统通信更加安全、可靠。E1专线的通信带宽可以随时增大,使未来业务发展对通信的要求得到保证。
(3) 资料采集中心。由通信服系统服务器、数据处理系统服务器、数据分发系统服务器、信息监控系统服务器组成。采集中心还增加一台负载均衡器,实现四台服务器的冗余备份和网络负载平均分配,避免服务器出现宕机或服务停止等故障而造成服务器节点的单点故障。
(4) 台站资料接收分中心。通过VPN方式与省气象局内网连接,实现该管区自动气象站资料与省中心的同步接收。同时在市局或县局可通过无线DDN方式经GPRS网络与省采集中心连接,实现对自动气象站的点对点控制,也能作为VPN的备份线路。
1.3 传输协议GPRS数据网络提供了基于IP的UDP与TCP传输协议,用户选择不同的数据传输协议对数据传输会产生不同的效果。在小数据量行业应用中,数据发送间隔通常从几秒到几小时之间不等,若采用TCP连接,数据报文之间发送间隔通常超过TCP协议需要的最大确认间隔,数据报文之间发送间隔通常超过TCP协议需要的最大确认间隔,导致几乎每个数据报文都需要在TCP协议中的ACK报文。同时服务器除了完成大量数据处理功能外,还需要完成对大量GPRS终端的TCP连接保持,这对服务器的承载能力提出了严格的要求。如果终端连接数量很大,即使服务器系统足够强大,也忙于处理TCP连接请求以及重传数据导致系统性能严重下降。大量重传数据进一步加剧GPRS网络的拥塞情况,严重时可以让GPRS网络及服务器系统崩溃[5]。所以在大规模自动气象站资料传输中,采用UDP协议。
由于UDP是面向无连接的、不提供数据传送保证机制的协议,采集中心接收突发性的多个数据报时可能会出现数据报的无序性。所以,为了确保自动气象站资料传输的可靠性和有序性,在通信终端植入RCP(Reliable Communication Protocol)应用可靠通信协议[6],并对自动气象站资料进行有序报文封装,其结构如表 1所示。
(1) 命令指DTU与数据采集中心通信应答的握手标识,不同的标识表示UDP包是注册包(DTU上线时发出)、心跳包(DTU在线定时测试通信链路)和用户数据包等。
(2) 数据包长度指数据包中用户数据的实际长度。
(3) ID指DTU的身份标识。
(4) 数据包序列号指DTU发送到数据采集中心的数据包流水号,从0到999重复执行。
1.4 工作流程自动气象监测网的数据传输工作过程可分为以下两个步骤,其所涉及的各个信息流关系如图 2所示。
(1) 用户通信终端的IP获取和网络通信连路的建立[7, 8]。
用户通过企业专用的APN呼叫到SGSN;SGSN通过DNS解析APN接入归属GGSN的IP地址。GPRS网络在SGSN和GGSN间启动相应的GTP隧道协议,实现GPRS骨干网内的安全传输;接入端企业所在的GGSN针对该APN发起RADIUS认证请求,同时GGSN通过APN的用户标识实现GRE隧道选择。企业将私有IP地址事先在GGSN上面配置好,这样就可以通过GGSN根据APN给GPRS用户分配企业的内部IP地址。移动用户发起数据业务,在GGSN通过APN的用户标识实现数据的GRE隧道封装安全传输。在企业专有网外部网关入口完成GRE隧道的解封装,还原为企业专网用户数据包。企业专网到移动用户的GRE隧道封装数据包,经过GGSN隧道解封装后,通过GPRS网络转发到移动用户。
(2) 自动气象站资料的采集、传输、处理、入库、监控。
自动气象站定时采集到的气象数据通过RS232口发送到DTU,DTU将自动气象站送来的数据按RCP协议形成UDP数据包经移动GPRS网传送到采集中心通信服务系统。通信服务系统对收到数据包进行识别,判断是注册包、心跳包还是数据包,然后分别对DTU做出回复,从而实现了自动气象站与数据采集中心的信息交互。数据处理系统对数据包进行处理并将数据送入省局业务数据库,在辅助平台上供台站浏览。数据分发系统实时将数据分发到各台站接收系统。监控系统对自动气象站的运行状态和网络通信情况进行实时监控。
2 软件设计由于全省自动气象站向数据采集中心间隙性同步上传观测资料,这就要求数据采集中心必须具备接收处理大批量“突发浪涌数据”的能力, 在下一观测周期数据“浪涌”之前必须将该观测周期接收到的数据处理完成, 观测数据才不会排队等待接收处理最终导致系统因负荷过重而崩溃。所以,考虑到资料处理的效率、可靠和系统稳健性、可扩展性、可维护性等,采集中心软件分为以下几个部分。
2.1 通信服务子系统作为自动监测网的数据交换枢纽,通信服务子系统采用多线程[9]并发处理技术和完成端口的重叠I/O机制[10]的大规模通信响应的快速处理技术实现网络通信并发、高效传输,采用数据分区管理数据结构实现对全网自动气象站资料“浪涌”数据的多级缓存队列,采用相关临界区CRITICAL_SECTION同步加锁机制实现对数据缓冲区的并发访问。其结构流程图如图 3所示。
系统可由系统主线程模块、自动气象站通信线程模块、TCP服务器线程模块、TCP客户端维护线程模块、自动气象站数据恢复维护线程模块等五类模块及其内外部接口组成。
(1) 系统主线程模块主要提供对系统的初始化、系统各运行参数的管理,对系统其它线程的调度控制和系统的自维护功能等。
(2) 自动气象站通信线程模块按全省各地区台站和应用划分来动态创建线程。每条线程负责接收该属地的DTU及自动气象站信息,并对信息分类、统计、排序、封装、发送、判断、转储等操作,实现对信息的交互和处理。
(3) TCP服务器线程模块负责侦听接收来自外部进程数据处理系统的连接请求和数据流的发送,拆解数据包并将其发送到相应的自动气象站。
(4) TCP客户端维护线程模块负责对自动气象站通信线程与数据处理系统(外部进程)通信的TCP连接和维护。当系统启动时,TCP客户维护线程为所有自动通信线程的TCP数据通信传输做好连接初始化。当自动气象站通信线程发现TCP传输链路故障时,采用消息机制告诉TCP客户端维护线程以进行该通信链路维护。TCP客户端维护线程对这些链路故障及处理情况告诉信息监控系统。
(5) 自动气象站数据恢复维护线程通过TCP客户端维护线程形成TCP连接链路,实现与数据处理系统的数据传输。当某自动气象站通信线程由于其TCP链路故障而造成自动气象站数据接收队列满时,或系统故障而自维护时,自动气象站通信线程将数据写入数据缓冲区,自动气象站数据恢复维护线程读出缓冲区数据传送到数据处理系统。可见,自动气象站数据恢复线程对自动气象站数据传输链路起到备份作用,使整个系统更加稳定、可靠。
2.2 数据处理子系统数据处理子系统[11, 12]使用线程池化技术(池化技术——就是提前保存大量的资源,以备不时之需。对于线程、内存、连接对象等,这些都是资源,程序创建一个线程或者在堆上申请一块内存时,都涉及到很多系统调用,很耗CPU资源。如果程序需要很多类似的工作线程或者需要频繁的申请释放内存,没有使用线程池和内存池进行优化,那很有可能这部分代码将会成为影响整个程序性能的瓶颈。)为每一个地区动态分配一条独立的资料接收线程, 每条接收线程分别操作其严格对应的数据缓存区,不同连接的数据分发线程并发操作其自身对应的数据缓存区,提高数据接收的效率。同时, 系统启动数据处理线程, 并发扫描所有连接数据的缓存区,当所扫描的连接数据缓存区非空时,处理该连接缓存区数据并刷新该缓存。由于数据接收线程与处理线程存在同步访问数据缓存区而被饿死,所以,系统引入J2SE5.0并发管理机制中的并发缓存数据结构ConcurrentHashMap,使得并发应用程序有着非常好的吞吐量。其结构流程图如图 4所示。
信息监控子系统实现对整个监测网的网络通信状态、自动气象站运行情况以及探测数据质量进行监控, 并对故障站点分析处理, 提取故障报告通过短信方式通知相关技术人员[13]。监控子系统还能对自动气象站发送控制指令, 实现对自动气象站各参数的设置和资料的补调。其工作原理如图 5所示。
系统采用SQL2000数据库管理系统,存储终端状态信息的历史记录,自动气象站基本信息,自动气象站当前数据信息,自动气象站历史数据信息,自动气象站当前状态信息,自动气象站历史状态信息。通过ADO与数据访问层OLE DB Provider协同工作技术[13],提供通用数据访问。采用XML(扩展标记语言)实现信息的动态交换、显示及查询。短信报警将信息字符串进行PDU编码以及使用AT指令来控制下位机发送短信[14, 15]。
2.4 数据分发与台站接收子系统该子系统的设计所采用的技术与通信服务子系统基本相同。即采用多线程方式,由主线程创建子线程,接收子线程同步接收由通信服务子系统转发来的数据包,然后放入缓冲区,由发送子线程以TCP流的方式发送到各个地方的台站接收系统。台站接收系统收到后按业务要求生成气象业务产品及监控信息。系统结构流程图如图 6所示,图中各连线为各模块的信息交互和控制关系。
大规模自动气象站组网及资料传输处理技术在广东省自动气象站的应用,实现了全省1400多个自动气象站的组网和资料的统一采集。系统投入业务应用以来,通过对系统的时效、通信容量、资料缓存时间、处理能力、来报情况等性能指标进行考核。系统运行安全、稳定、可靠,自动气象站资料采集传输实时、高效、准确。
(1) 从监控服务器发送命令调自动气象站资料,平均响应时间为8 s,最小响应时间为6 s,最大响应时间为10 s。即从监控服务器
(2) 在局域网环境下测试,按50路接收,通信容量每秒达6000个自动气象站资料的处理能力。当数据处理服务器出现故障时,通信处理服务器能继续工作,具有大量的缓存能力,缓存时间视内存大小而定。如服务器内存为2 Gb,按6000个自动气象站每6分钟来报计,连续缓存能达3天时间。若数据处理服务器还没恢复正常,通信处理服务器在缓存满时将数据写入文件,重新初始化系统继续接收。对大数据量的数据处理,具有三级的缓存能力。当GPRS台站服务中心端出现故障时,资料分发系统能将分发给各台站的资料分别寄存在缓存中,缓存能力可达该台站自动气象站两天资料。
(3) 全省上线的1400多个自动气象站每6分钟同时向省接收中心发送数据包,系统对于每个周期的“浪涌”数据接收、处理、上传过程耗时小于1分钟,也就是说即使全省的自动气象站加密为每1分钟一份数据包,系统仍然能够及时准确地处理所有自动气象站的数据资料,因此对于当前的运行状况而言,系统大部分时间仍然处于等待空闲状态。
(4) 从最近半年由监控系统统计出在线全省自动气象站的来报率为99%以上,如表 2所示。
所有自动气象站(包括在线和不在线)的及时率和平均来报率超过95%。出现缺报的主要原因是自动气象站受雷击或电源供电不正常。
4 结语大型自动气象监测网及数据采集中心是严格按系统的设计原则及业务需求,采用先进的网路构架及软件开发技术而研究开发的。系统在广东省自动气象站通信采集改造工程应用后,大大提升了全省自动气象站探测网资料采集能力,充分发挥了现代化设备的效益。应用和测试表明,系统在满足目前全省自动气象站的通信外,对未来的业务发展,系统的通信容量能达到每分钟6000个自动气象站资料处理的能力。实现全省自动气象站每周期来报时效从过去的30分钟缩短到小于1分钟,实现全省自动气象站的来报率从过去的90%提高到99%以上,自动气象站的故障率同比过去下降了70%以上。实现自动气象站全网实时自动监控,减轻了值班人员的工作压力,提高对自动气象站故障的快速排查和远程维护能力,故障的处理时间由原来72小时内缩短到现在的24小时内。实现了气象探测业务传输和资料处理手段的革命性变革,对现代化气象业务的发展提供了新的保障途经,在此应用的基础上,在我国已建成的2万多个自动气象站具有广泛应用推广价值。
系统的开发基于网络IP底层编程技术及向对象构件技术,实现系统接口的标准化和可移植性,对IP网路的升级、变换和未来以3G网络通信为架构的气象通信业务具有同样的满足性。通过本系统的研究,解决了通信的不稳定性、无序性及大规模的通信响应技术对其他不同的通信应用研究起一定的指导作用。本系统的设计非常适于无人值守、实时性、突发性的数据有效传送。
胡玉峰, 2004. 自动气象站原理与测量方法[M]. 北京: 气象出版社.
|
钟章队, 蒋文怡, 李红君, 等, 2001. GPRS通用分组无线业务[M]. 北京: 人民邮电出版社, 5-53.
|
乌欣, 胡捍英, 2002. GPRS的网络结构和协议分析[J]. 通信技术, (3): 59-61. |
李煜罗, 汉文, 2003. GPRS虚拟专用网络技术的研究与分析[J]. 通信技术, (3): 65-67. |
施伟年, 凌海宏, 2004. GPRS网络上的两种数据传输协议[J]. 电力系统通信, (8): 20-22. |
伍光胜, 敖振浪, 谭鉴荣, 等, 2007. 基于气象探测网应用的移动通信终端的实现[J]. 计算机应用研究, 24(增刊): 1708-1709. |
孙剑俊, 2003. GPRS的APN激活过程分析[J]. 广东通信技术, 23(4): 9-12. |
徐彬辉, 张力军, 2002. GPRS网络的关键传输技术——隧道技术[J]. 江苏通信技术, 18(4): 25-29. |
伍光胜, 宋信忠, 郑明辉, 2001. 多线程技术及其应用的研究[J]. 计算机应用研究, (1): 33-36. |
黄超编, 2003. WINDOWS网络编程[M]. 北京: 人民邮电出版社, 264-301.
|
周钦强, 谭鉴荣, 伍光胜, 等, 2007. 基于TCP多连接通信实时并发数据处理技术研究[J]. 计算机工程与应用, 43(18): 246-248. DOI:10.3321/j.issn:1002-8331.2007.18.076 |
李源鸿, 敖振浪, 2003. 自动气象站网实时监控系统结构设计方法[J]. 气象, 29(1): 32-34. DOI:10.7519/j.issn.1000-0526.2003.01.008 |
求是科技, 2004. SQL Sever2000数据库开发技术与工程实践[M]. 北京: 人民邮电出版社, 298-320.
|
韩琇, 李凯, 黄磊, 2005. 自动气象站SMS监控系统[J]. 气象, 31(11): 78-80. DOI:10.7519/j.issn.1000-0526.2005.11.019 |
李建勇, 谭鉴荣, 伍光胜, 等, 2008. 气象探测设备监控系统短信报警模块的设计[J]. 计算机应用研究, 25(增刊): 679-680. |