黃 河
?
談氣象服務的可擴展網絡接入服務器的設計與實現
黃 河
湖北省公眾氣象服務中心,湖北 武漢430074
針對目前氣象服務的網絡接入服務器存在的弊端,以當前開發氣象服務器的情況為根據,設計了一個可擴展網絡服務器,對可擴展網絡服務器的整體框架和核心功能進行了介紹。
氣象服務;可擴展;網絡接入服務器
目前,氣象行業的氣象服務系統正在朝著信息傳遞高效及時、較廣的業務覆蓋面、較多的業務種類等方向發展。為了更好地滿足氣象服務系統的發展要求,本文針對一種氣象服務的可擴展網絡接入服務器的設計與實現進行了分析和介紹。
1.1 網絡通信模塊
①套接字監聽。套接字監聽的主要作用就是對監聽客戶端的Socket進行負責和銷毀,以預先設定的要求為根據對客戶端的連接請求進行接受或者拒絕。
②對象池。對象池能夠回收管理暫時空閑的連接對象,通過對空閑對象的充分利用能夠有效地降低資源的損耗,而且還可以將創建和銷毀操作更加快捷、方便的完成。
③線程池。線程池的主要作用就是對I/0工作線程進行存放,在多個任務上分攤線程創建的開銷。線程在請求達到的時候就會存在,因此可以使系統整體的響應速度得以提升。
④I/0工作線程。I/0工作線程的最為主要的作用就是對I/0請求類型進行判斷,并且對相應的對象進行調用,加以處理。
1.2 消息模塊
①消息協議。消息協議主要是客戶端與客戶端之間、客戶端與服務器之間開展通信的規則,利用封裝多種類型的解析方式可以將統一的協議解析機制提供出來。②消息隊列。消息隊列的最為主要的作用就是對通信模塊接收的消息進行存放,而且對消息進行處理,向服務管理模塊分派處理好的消息。
1.3服務管理模塊
①配置管理。對全部的服務和功能進行集中的管理和配置,其中包括終止、恢復和初始化等一系列的操作,利用相應的服務列表可以對服務進行查找。②服務工廠。以消息處理模塊的解析結果為根據對相應的服務實例進行調用,在完成處理之后向消息處理模塊返送結果。③網絡接口。網絡接入服務器框架可以將統一的服務接口提供給開發人員,利用這個接口可以實現全部的服務功能,可以確保服務的動態加載功能更好的實現。
2.1 系統操作界面
①管理操作模塊。管理操作模塊分為兩個部分,也就是用戶管理和地區管理。其中,用戶管理主要功能就是使管理人員對用戶信息進行更加便捷的操作。如對用戶賬號的創建、刪除和修改;在地區管理中設置了分組管理功能,以省、市、縣為根據對人影指揮平臺和氣象預警平臺實施分組管理,同時能夠以省級PC指揮機的指令為根據將下屬地區PC指揮機的權限剝奪掉。②系統設置操作。系統設置操作分為兩個部分:也就是高級設置操作和基本設置操作,通過基本設置操作用戶能夠配置服務器的數據庫的IP地址端口、啟動時是否最小化以及是否開機啟動等。高級設置操作則將自動更新設置和注冊信息的配置功能等提供給了用戶。③數據操作模塊。數據操作模塊可以對用戶管理人影作業相關數據進行更好的管理。其具有清理日志和過期數據、備份和恢復人影作業相關數據、查看離線文件信息和歷史操作記錄等功能[1]。
2.2 系統網絡與通信模塊
在網絡接入服務系統中網絡通信模塊屬于核心模塊,其可以將數據傳輸服務提供給消息處理模塊,而且還可以對客戶端和系統的交互起到維護作用。該模塊的主要作用就是創建和銷毀線程池、內存池和對象池,而且還可以對客戶端通信和套接字進行啟動。網絡通信模塊必須要具備良好的伸縮性和交互性,確保可以以其為基礎更好地架設系統的其他模塊。
2.3 設計和實現數據處理模塊
①CP協議的無消息邊界。作為面向連續字節流的可靠傳輸協議,TCP協議能夠對數據有效到達接收端進行保障,但并不能保障數據的完整性。這是由于在程序設計的過程中,每次只能發送一個程序包,而TCP協議往往要收集到一定量的數據才會進行統一發送,以提高傳輸的速率。這種情況下很容易出現粘包。②消息協議。為了保障數據傳輸的穩定性和準確性,并將數據處理的結果及時反饋給氣象業務平臺,必須制定與氣象服務需要相適合的消息協議。時序、語義和語法是通訊協議的三要素。由于氣象業務的不同,需要不同的消息協議,設計中要保障消息協議的可擴展性和可移植性。③SON數據格式。以字節流的方式傳輸消息數據包,數據包是以對象的形式存在的,一般有兩種方法來對業務邏輯中的對象進行轉換。第一種是對對象進行序列化,然后向接收方發送;第二種是建立字節數組,然后直接發送。④數據接收模塊。必須對接收和發送的流程進行科學的設計,保障網絡傳輸的正確性。網絡接入服務器的接收流程見圖1,發送流程見圖2。
2.4 數據庫
本設計使用Oracle lOg系統存儲數據作為數據庫,主要對人影作業指揮過程中的離線文件、已注冊的氣象業務平臺信息和服務器使用人員的信息進行存儲。服務器使用人員和管理人員的密碼、用戶名、部門、姓名、ID等信息主要存儲于人員信息表,已注冊的氣象業務平臺的等級、類型、密碼、ID等信息主要存儲于氣象平臺信息表,客戶端的離線文件請求主要存儲于離線文件表,人工影響天氣決策指揮成功作業的數據包大小和類型、原客戶端信息、作業起始時間主要存儲于歷史作業記錄表,網絡接入服務器的一些常規信息主要存儲于系統信息日志[2]。由于氣象服務的數據量不斷增大,數據種類不斷增多,導致氣象服務終端具有越來越集中的訪問量和更加頻繁的數據交互。為了避免系統崩潰,可以繼續使用負載均衡技術,對系統負載進行合理的分配,使服務器接入的可靠性和實時性得到保障。盡管業務邏輯層具有很快的處理速度,但是在讀寫數據時,處理速度往往很慢,此時可以用數據庫連接池技術。也就是在連接池中放入一定數量的數據庫,這樣在用戶訪問時就可以直接取出空閑的數據庫進行操作,操作完畢后再將其放回連接池[3]。

圖1 網絡接入服務器接收流程

圖2 數據發送流程圖
傳統的氣象服務系統不具備可移植性、可擴展性和可通用性,而且具有傳遞數據格式單一和較小的負載能力等問題。本文設計的系統能夠充分地滿足現在氣象服務對網絡接入服務器的需求,具有較高的可行性[4]。
[1]廖宏建,楊玉寶,唐連章.完成端口實現高性能服務端通信層的關鍵問題[J].計算機應用,2012(3):153.
[2]王進 B/S模式下的三層架構模式[J].軟件導刊,2011(3):55.
[3]韓吉,周杰,杜景林.基于Android的氣象WSN監測系統設計與實現[J].計算機工程與設計,2014(8):2709-2714.
[4]蔡錦輝.利用3G網絡實現移動氣象工作站[J].電子技術與軟件工程,2014(13):58-59.
Talking About Weather Service of the Design and Implementation of a Scalable Network Access Server
Huang He
Public Meteorological Service Center in Hubei Province,Hubei WuHan 430074
This article in view of the present insufficiency of meteorological service network access server. In the current development of meteorological server based on the condition of the designed a scalable web server. The core of the overall framework and scalable web server functions are introduced.
meteorological services;Extensible;network access server
P409
A
1009-6434(2016)07-0142-03
黃河(1983—),男,漢族,湖北省武漢市人,碩士,工程師,從事氣象服務與應用氣象工作。