■ 徐擁軍 何文春 倪學(xué)磊 王琦 郭曉軍
從氣象數(shù)據(jù)服務(wù)的層面,分析了全國綜合氣象信息共享系統(tǒng)(CIMISS)應(yīng)急切換需求和場景,根據(jù)數(shù)據(jù)環(huán)境故障的范圍,設(shè)計了系統(tǒng)設(shè)備級故障切換和功能級故障切換的應(yīng)急流程,實現(xiàn)了應(yīng)急切換的功能模塊并集成到氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(MUSIC)軟件中。
為滿足對海量氣象數(shù)據(jù)管理和服務(wù)的需求,國家氣象信息中心設(shè)計開發(fā)了全國綜合氣象信息共享系統(tǒng)(China Integrated Meteorological Information Sharing System,CIMISS)。目前該系統(tǒng)運行于國家氣象信息中心和31個省級氣象數(shù)據(jù)中心,集氣象數(shù)據(jù)收集、加工處理、存儲管理和共享服務(wù)于一體,管理國家級或省級數(shù)據(jù)中心全部可收集的國內(nèi)外氣象資料和業(yè)務(wù)產(chǎn)品,為氣象部門及相關(guān)行業(yè)用戶快捷便利地獲取氣象數(shù)據(jù)提供數(shù)據(jù)使用環(huán)境。
由于服務(wù)器硬件設(shè)備老舊以及CIMISS系統(tǒng)模塊繁多,每個環(huán)節(jié)都會出現(xiàn)一定的故障隱患。當(dāng)故障出現(xiàn)后,如何保障本地核心業(yè)務(wù)系統(tǒng)的穩(wěn)定運行,是CIMISS數(shù)據(jù)環(huán)境能否直接支撐業(yè)務(wù)系統(tǒng)的關(guān)鍵。備份系統(tǒng)的建設(shè)是進行故障恢復(fù)和服務(wù)切換的最佳方式,國家級以前的MDSS(氣象資料存儲檢索系統(tǒng))和現(xiàn)有的CIMISS數(shù)據(jù)環(huán)境都建設(shè)了備份系統(tǒng)。省級數(shù)據(jù)環(huán)境沒有建設(shè)備份系統(tǒng),且需要支撐省、市、地縣三級業(yè)務(wù),應(yīng)用量多,數(shù)據(jù)訪問頻繁,存在極大的系統(tǒng)故障隱患,業(yè)務(wù)影響范圍大。省級CIMISS數(shù)據(jù)環(huán)境面臨故障時,如何依據(jù)現(xiàn)有軟硬件條件,建立應(yīng)急手段和實施措施,保障省級核心業(yè)務(wù)系統(tǒng)的數(shù)據(jù)服務(wù)成為了急需解決的問題。
本文提出了基于氣象數(shù)據(jù)統(tǒng)一服務(wù)接口的數(shù)據(jù)服務(wù)應(yīng)急切換方案,對應(yīng)急切換的需求和場景進行了分析,并在此基礎(chǔ)上設(shè)計了快速切換流程,編寫了切換功能模塊,集成到了MUSIC服務(wù)接口軟件中,為CIMISS數(shù)據(jù)環(huán)境故障時提供了一種有效的應(yīng)急保障方式。
CIMISS平臺依托全國氣象寬帶網(wǎng)絡(luò)系統(tǒng),連接國家級中心和全國31個省級中心,以實現(xiàn)國家級和各省級之間的互聯(lián)互通,保障氣象信息傳輸、共享的時效性和可靠性,氣象通信網(wǎng)絡(luò)布局見圖1。CIMISS平臺各級中心包括核心業(yè)務(wù)區(qū)、寬帶網(wǎng)雙向DMZ區(qū)(demilitarized zone,隔離區(qū))、互聯(lián)網(wǎng)單向DMZ區(qū)、行業(yè)單向DMZ區(qū)4 個網(wǎng)絡(luò)區(qū)域,其中,核心業(yè)務(wù)區(qū)由業(yè)務(wù)網(wǎng)(LAN)、管理私網(wǎng)、IB網(wǎng)和存域網(wǎng)(SAN)組成。國家級接入速率450 Mbps,區(qū)域中心級20 Mbps,省級16 Mbps。CIMISS采用網(wǎng)狀結(jié)構(gòu),國家級中心與31個省級中心之間采用MPLS VPN(MPLS為多協(xié)議標(biāo)記轉(zhuǎn)換)方式相連,各省級網(wǎng)絡(luò)系統(tǒng)在各自現(xiàn)有網(wǎng)絡(luò)系統(tǒng)架構(gòu)基礎(chǔ)上進行合理部署以滿足信息共享平臺建設(shè)的需要。
圖1 氣象通信網(wǎng)絡(luò)布局圖
氣象數(shù)據(jù)統(tǒng)一服務(wù)接口(簡稱MUSIC)屬于數(shù)據(jù)共享服務(wù)系統(tǒng),是基于CIMISS數(shù)據(jù)環(huán)境,面向氣象業(yè)務(wù)和科研,提供全國統(tǒng)一、標(biāo)準(zhǔn)、豐富的數(shù)據(jù)訪問服務(wù)和應(yīng)用編程接口(API),為國、省、地、縣各級應(yīng)用系統(tǒng)提供唯一權(quán)威的數(shù)據(jù)接入服務(wù),包括:站點資料的檢索、統(tǒng)計,格點資料的解析、裁剪和抽取,文件產(chǎn)品的查詢、下載,臺站信息的檢索等。通過服務(wù)接口,將前端應(yīng)用與后端復(fù)雜、異構(gòu)的數(shù)據(jù)管理技術(shù)分離,解決應(yīng)用系統(tǒng)需要根據(jù)后端數(shù)據(jù)組織方式甚至格式的變化而頻繁升級改造的問題。詳細功能結(jié)構(gòu)見圖2。
圖2 MUSIC功能結(jié)構(gòu)圖
MUSIC由服務(wù)端和客戶端開發(fā)包組成,服務(wù)端提供多樣服務(wù)方式,支持REST(Representational State Transfer)、WebServices(是指用于架構(gòu)Web service的整體技術(shù)框架,而Web Service則是使用Web Services技術(shù)而創(chuàng)建的應(yīng)用實例)、RPC(Remote Procedure Call Protocol,遠程過程調(diào)用協(xié)議)等多種服務(wù)協(xié)議,包含數(shù)據(jù)緩存、RPC服務(wù)容器、Tomcat(Tomcat是Apache軟件基金會的Jakarta項目中的一個核心項目)服務(wù)以及JVM(Java Virtual Machine,Java虛擬機)等組件組成,主要用JAVA語言開發(fā),實現(xiàn)數(shù)據(jù)檢索、統(tǒng)計計算、格點解析等服務(wù),利用Tomcat容器實現(xiàn)REST、WebServices服務(wù),利用高效ZeroC開源服務(wù)框架,實現(xiàn)多語言版本開發(fā)包RPC數(shù)據(jù)傳輸交換協(xié)議。客戶端支持Linux、Windows等多種操作系統(tǒng)平臺,支持JAVA、C#、C/C++、PHP、Python、Fortran等多種開發(fā)語言,技術(shù)架構(gòu)見圖3。
圖3 MUSIC技術(shù)架構(gòu)
CIMISS通過MUSIC提供用戶訪問數(shù)據(jù),每個節(jié)點(指國家級或某省,全網(wǎng)共32個節(jié)點)有4臺MUSIC服務(wù)器,通過負載均衡設(shè)備發(fā)布一個服務(wù)地址(SLB)。負載均衡采用路由模式進行部署,所有流量都經(jīng)過負載均衡,可均衡任何下行流量,并盡量小的影響原有網(wǎng)絡(luò)結(jié)構(gòu)。
CIMISS系統(tǒng)龐大,環(huán)節(jié)流程多,雖然在各個系統(tǒng)設(shè)計時都進行了高可用設(shè)計,但是業(yè)務(wù)運行中,難免會出現(xiàn)各種異常,導(dǎo)致業(yè)務(wù)系統(tǒng)中斷。為了減少用戶對數(shù)據(jù)使用的影響,在數(shù)據(jù)服務(wù)時,需要考慮進行服務(wù)應(yīng)急切換。MUSIC建立了“國省接口元數(shù)據(jù)審核同步”流程,保障每類資料、每個接口,面向全國的用戶都是唯一的、統(tǒng)一的。因此,當(dāng)一個節(jié)點的CIMISS出現(xiàn)故障時,基于MUSIC相應(yīng)的配置策略,可將本地數(shù)據(jù)請求切換到備份的省份進行數(shù)據(jù)服務(wù),保障數(shù)據(jù)服務(wù)不中斷。
應(yīng)急切換方案是面向應(yīng)用的,即當(dāng)本地CIMISS出現(xiàn)故障時,保障本地的核心應(yīng)用不受影響,不承擔(dān)本地數(shù)據(jù)的恢復(fù)等功能。
本地的服務(wù)請求切換到備份節(jié)點(一般為區(qū)域中心或國家級中心)后,節(jié)點之間網(wǎng)絡(luò)負載變大,備份節(jié)點的服務(wù)壓力也會增大。因此,切換方案只適用于CIMISS短期故障的應(yīng)急切換,不能作為長期的業(yè)務(wù)一直處于應(yīng)急服務(wù)的狀態(tài)。
省級CIMISS一般選擇區(qū)域中心或國家級CIMISS作為備份節(jié)點。備份的前提條件如下:
1)應(yīng)急備份節(jié)點擁有本地節(jié)點應(yīng)用所需的數(shù)據(jù)。梳理本地為支撐應(yīng)用要備份的數(shù)據(jù)清單,將本省的常規(guī)資料、本地特色數(shù)據(jù),通過省際共享等系統(tǒng),同步到備份節(jié)點的CIMISS進行管理。
2)應(yīng)急備份節(jié)點的接口元數(shù)據(jù)與本地相同。使用MUSIC“國省接口元數(shù)據(jù)審核同步”流程,保證備份節(jié)點與本地節(jié)點的接口一致。
3)保障本地MUSIC系統(tǒng)涉及的節(jié)點之間的網(wǎng)絡(luò)互通。
4)應(yīng)急備份節(jié)點能在異地節(jié)點應(yīng)急請求時開通用戶訪問許可。
5)應(yīng)急備份節(jié)點在服務(wù)能力、網(wǎng)絡(luò)上,保障異地應(yīng)急請求時的訪問需求。
基于MUSIC的應(yīng)急服務(wù)切換根據(jù)系統(tǒng)故障范圍,可進行兩種方式的切換:設(shè)備級切換和功能級切換,切換方式見圖4,箭頭方向表示數(shù)據(jù)流向。
圖4 應(yīng)急服務(wù)切換方式
設(shè)備級切換是當(dāng)本地數(shù)據(jù)環(huán)境出現(xiàn)模塊或硬件故障,導(dǎo)致CIMISS數(shù)據(jù)環(huán)境服務(wù)中斷,此時,需要將本地所有的應(yīng)用完全切換到應(yīng)急備份節(jié)點,本地CIMISS系統(tǒng)不再進行數(shù)據(jù)服務(wù)。比如當(dāng)本地節(jié)點基礎(chǔ)庫、支撐庫出現(xiàn)宕機或MUSIC服務(wù)器宕機時,可臨時采用整體切換,保障關(guān)鍵氣象應(yīng)用的運行。該方式將給應(yīng)急備份節(jié)點造成數(shù)據(jù)資源與系統(tǒng)資源的雙重壓力,不宜長時間進行。
功能級切換是根據(jù)資料使用需求,當(dāng)本地某類資料出現(xiàn)異?;蛘弑镜匚创鎯υ擃愘Y料,但業(yè)務(wù)急需,可通過選擇對應(yīng)的資料切換到備份節(jié)點或存儲該類數(shù)據(jù)的節(jié)點進行數(shù)據(jù)服務(wù)。使用功能級切換時本地MUSIC服務(wù)必須正常運行,從備份節(jié)點獲取數(shù)據(jù)以后,數(shù)據(jù)的封裝服務(wù)都在本地進行。
當(dāng)操作員進行應(yīng)急切換時,系統(tǒng)根據(jù)配置信息將數(shù)據(jù)服務(wù)切換到提供應(yīng)急備份的服務(wù)節(jié)點。應(yīng)用或用戶的數(shù)據(jù)請求通過MUSIC負載均衡路由到提供應(yīng)急服務(wù)的節(jié)點,數(shù)據(jù)通過負載均衡返回給請求的應(yīng)用或用戶。設(shè)備級切換通過MUSIC負載均衡的配置信息實現(xiàn)服務(wù)路由切換,功能級切換通過改變MUSIC服務(wù)數(shù)據(jù)源配置進行請求切換。應(yīng)急備份服務(wù)節(jié)點通過MUSIC負載均衡接收請求,MUSIC服務(wù)讀取配置信息并判斷請求賬戶的類別,如果為應(yīng)急賬戶,給予開通應(yīng)急訪問權(quán)限,進入數(shù)據(jù)服務(wù)功能模塊,將封裝的數(shù)據(jù)返回。為了便于識別應(yīng)急節(jié)點訪問的用戶,MUSIC對API賬戶的命名設(shè)計了強制性約定,須以省級編報中心的代碼開頭(CCCC碼,見標(biāo)準(zhǔn)QX/T 129-2011)。應(yīng)急切換流程見圖5。
圖5 應(yīng)急切換流程示意圖
3.1.1設(shè)備級切換
設(shè)備級切換流程比較簡單,預(yù)先在本地MUSIC負載均衡服務(wù)上配置應(yīng)急備份節(jié)點的MUSIC服務(wù)地址。當(dāng)開展切換服務(wù)時,登陸本地MUSIC負載均衡管理界面,關(guān)閉本地4個MUSIC系統(tǒng)節(jié)點的服務(wù),并啟用應(yīng)急備份節(jié)點的MUSIC服務(wù),本地的所有數(shù)據(jù)服務(wù)由異地服務(wù)節(jié)點提供。切換過程中,應(yīng)急備份節(jié)點的MUSIC服務(wù)后臺需要開通對應(yīng)急請求節(jié)點所有API賬戶的訪問權(quán)限。為了提高切換時效,切換配置準(zhǔn)備在前期進行。切換后數(shù)據(jù)流程見圖6(注:虛框表示應(yīng)急備份端MUSIC部署結(jié)構(gòu))。
圖6 設(shè)備級切換流程
3.1.2功能級切換
功能級切換是將特定的資料切換到應(yīng)急備份節(jié)點提供服務(wù)。資料切換方式有多種備選方案,比如直接切換到異地數(shù)據(jù)庫和切換到異地MUSIC服務(wù)。雖然CIMISS統(tǒng)一了數(shù)據(jù)存儲規(guī)范,但并不約束數(shù)據(jù)庫存儲技術(shù),每個數(shù)據(jù)節(jié)點可采用不同的數(shù)據(jù)庫,從而采用異地數(shù)據(jù)庫切換導(dǎo)致切換流程復(fù)雜,需要了解每個節(jié)點的存儲技術(shù);同時異地數(shù)據(jù)庫切換不便于進行數(shù)據(jù)訪問權(quán)限控制和用戶行為限制,造成提供備份節(jié)點的數(shù)據(jù)庫安全風(fēng)險。加之,數(shù)值模式格點解析服務(wù)需要讀取本地存儲文件,異地數(shù)據(jù)庫切換不能拷貝文件到本地。綜上分析,本文采用基于異地MUSIC服務(wù)開展按資料切換方案,應(yīng)急切換數(shù)據(jù)服務(wù)流程如圖7。
圖7 應(yīng)急切換數(shù)據(jù)服務(wù)流程
當(dāng)本地MUSIC接收用戶請求后,進行相關(guān)驗證,判斷資料服務(wù)提供方,如果為本地資料,則進入本地服務(wù)流程中。如果為異地服務(wù),則根據(jù)接收到的請求參數(shù),轉(zhuǎn)換為異地服務(wù)請求(REST),請求異地MUSIC數(shù)據(jù)服務(wù)。應(yīng)急節(jié)點MUSIC服務(wù)接收請求后,根據(jù)配置,判斷是否具有資料檢索應(yīng)急訪問權(quán)限,如果有,則進行資料獲取,并將結(jié)果利用protostuff(一個開源的、基于Java語言的序列化庫)工具進行高效序列化,然后通過gzip工具(gzip是GNUzip的縮寫,它是一個GNU自由軟件的文件壓縮程序)快速壓縮,利用http協(xié)議將結(jié)果返回給請求端MUSIC節(jié)點。本地接收數(shù)據(jù)后,進行g(shù)zip解壓,然后反序列化為MUSIC數(shù)據(jù)結(jié)構(gòu),并進行數(shù)據(jù)格式化,然后返回給用戶。
由于應(yīng)急省份網(wǎng)絡(luò)帶寬等限制,需要對結(jié)果數(shù)據(jù)進行必要的處理后進行傳輸。數(shù)據(jù)處理包含數(shù)據(jù)的序列化與數(shù)據(jù)壓縮,由于Protostuff工具具有較好的序列化與反序列化效率,并且向下版本兼容,項目中采用其作為數(shù)據(jù)交換格式處理工具。通過對相同的對象多種序列化與反序列化工具的總耗時、序列化結(jié)果大小進行測試,測試結(jié)果表明Protostuff具有較高的時效。
當(dāng)應(yīng)急服務(wù)為服務(wù)產(chǎn)品(文件格式)檢索時,用戶通過上述流程獲取到遠程文件存儲地址,然后根據(jù)文件存儲的URL地址請求下載。為了區(qū)分本地文件服務(wù)與應(yīng)急文件服務(wù),利用不同的端口號進行服務(wù)區(qū)分,比如本地采用80端口,應(yīng)急服務(wù)文件下載采用8010端口。本地MUSIC負載均衡服務(wù)端接收到下載請求后,進行端口判斷,如果為應(yīng)急切換后的文件下載服務(wù),則進行路由轉(zhuǎn)換,通過MUSIC負載均衡向遠程應(yīng)急備份節(jié)點發(fā)起下載服務(wù),數(shù)據(jù)通過本地MUSIC負載均衡返回給用戶。文件下載應(yīng)急服務(wù)流程如圖8。
圖8 文件下載應(yīng)急切換服務(wù)流程
當(dāng)本地節(jié)點資料恢復(fù)正常,能提供數(shù)據(jù)服務(wù)后,應(yīng)及時切回到本地服務(wù),以免給應(yīng)急備份節(jié)點造成服務(wù)壓力。
元數(shù)據(jù)是關(guān)于數(shù)據(jù)的結(jié)構(gòu)化的數(shù)據(jù),不僅對信息對象進行描述,還能夠描述資源的使用環(huán)境、管理、加工、保存和使用等方面的情況。應(yīng)急切換元數(shù)據(jù)主要是對切換過程中需要用到的數(shù)據(jù)進行描述和結(jié)構(gòu)設(shè)計,主要包含API賬號元數(shù)據(jù)設(shè)計、切換配置元數(shù)據(jù)設(shè)計和切換資料元數(shù)據(jù)設(shè)計三部分。
3.2.1API賬戶兀數(shù)據(jù)設(shè)計
MUSIC是CIMISS數(shù)據(jù)服務(wù)接入唯一方式,必須通過申請API賬戶,并通過審核后才能使用。API賬戶設(shè)計時根據(jù)相關(guān)規(guī)范采用省級標(biāo)準(zhǔn)CCCC碼作為前綴,用于判斷API賬戶所屬于的數(shù)據(jù)中心,便于進行用戶行為記錄分析。API賬戶元數(shù)據(jù)設(shè)計表見表1。
3.2.2MUSIC應(yīng)急切換配置兀數(shù)據(jù)設(shè)計
應(yīng)急切換配置元數(shù)據(jù)表包含應(yīng)急切換請求表和應(yīng)急切換響應(yīng)配置表。應(yīng)急切換請求表用來可進行應(yīng)急切換遠程備份節(jié)點的信息,包含數(shù)據(jù)服務(wù)切換到備份中心的節(jié)點ID,節(jié)點名稱,服務(wù)提供地址等,詳細設(shè)計見表2。應(yīng)急切換響應(yīng)配置表記錄了本中心提供給請求切換數(shù)據(jù)中心的信息,包含是否提供應(yīng)急數(shù)據(jù)服務(wù)的“綠色通道”,文件下載服務(wù)的地址信息等,結(jié)構(gòu)設(shè)計見表3。
表1 賬戶信息表結(jié)構(gòu)
表2 應(yīng)急切換請求配置
表3 應(yīng)急切換響應(yīng)配置
3.2.3切換資料兀數(shù)據(jù)設(shè)計
記錄氣象資料服務(wù)的應(yīng)急備份數(shù)據(jù)中心位置,MUSIC服務(wù)將數(shù)據(jù)服務(wù)導(dǎo)向該資料設(shè)定的數(shù)據(jù)中心,可實現(xiàn)不同的資料切換到不同的數(shù)據(jù)中心提高應(yīng)急服務(wù),結(jié)構(gòu)設(shè)計見表4。
表4 應(yīng)急切換資料配置
根據(jù)應(yīng)急切換方案和切換流程,在MUSIC中添加應(yīng)急切換服務(wù)模塊,該模塊包含以下幾個方面的組件:應(yīng)急切換人工操作模塊,應(yīng)急請求切換模塊,應(yīng)急賬戶識別模塊,應(yīng)急請求數(shù)據(jù)封裝模塊,應(yīng)急請求數(shù)據(jù)解析模塊,具體框架圖見圖9。
圖9 應(yīng)急切換模塊框架圖
應(yīng)急切換操作。提供應(yīng)急切換各種信息的配置操作,包含添加、編輯、刪除應(yīng)急服務(wù)節(jié)點信息;配置選擇需要開展應(yīng)急切換服務(wù)的資料清單,執(zhí)行應(yīng)急切換操作;開通應(yīng)急切換用戶申請等功能。
應(yīng)急數(shù)據(jù)請求功能。主要用于讀取應(yīng)急切換配置信息,識別應(yīng)用應(yīng)急請求,并將應(yīng)用對本地的數(shù)據(jù)服務(wù)轉(zhuǎn)換為異地應(yīng)急請求服務(wù)功能。
應(yīng)急賬戶識別功能。當(dāng)接收到賬戶請求后,讀取配置信息,識別用戶的權(quán)限,當(dāng)用戶為開通訪問權(quán)限應(yīng)急用戶時,給予數(shù)據(jù)服務(wù)權(quán)限。
數(shù)據(jù)封裝功能。應(yīng)急賬戶訪問獲取結(jié)果后,需要進行數(shù)據(jù)對象的封裝,包含序列化、壓縮、生成校驗碼等步驟,以便數(shù)據(jù)能快速、安全、無損的傳輸?shù)秸埱蠖?。采用高效的Protostuff工具進行數(shù)據(jù)對象序列化,壓縮比高的gzip工具進行數(shù)據(jù)壓縮,從而節(jié)約網(wǎng)絡(luò)帶寬和提供傳輸效率。
數(shù)據(jù)解析功能。當(dāng)應(yīng)急請求接收到數(shù)據(jù)結(jié)果后,需要對封裝的數(shù)據(jù)進行解析,包含數(shù)據(jù)校驗碼識別、解壓、反序列化為請求對象。解析后的數(shù)據(jù)返回給請求應(yīng)用端,實現(xiàn)整個數(shù)據(jù)的服務(wù)。
應(yīng)急切換配置服務(wù)界面主要分為兩部分:負載均衡服務(wù)器配置,MUSIC服務(wù)切換配置。負載均衡服務(wù)器提供的配置界面,主要用于進行設(shè)備級應(yīng)急切換操作。
基于MUSIC服務(wù)的切換界面包含三部分內(nèi)容:備份切換準(zhǔn)備界面,切換到備份省級節(jié)點和訪問許可設(shè)置。
1)備份切換準(zhǔn)備界面,主要為應(yīng)急備份節(jié)點選取和提供應(yīng)急訪問等信息設(shè)置,為應(yīng)急時快速切換做前期準(zhǔn)備。選擇備份節(jié)點,可添加、刪除我的備份節(jié)點信息。提供應(yīng)急訪問節(jié)點,可添加刪除本地為異地節(jié)點提供訪問的配置信息。
2)切換到備份省級節(jié)點界面,主要用于將本地服務(wù)的資料切換到備份節(jié)點上去,使用異地節(jié)點提供數(shù)據(jù)服務(wù)。提供資料的切換異地和從異地切回功能,支持多個資料一起切換。
3)訪問許可設(shè)置界面,用于開通異地節(jié)點應(yīng)急請求服務(wù),只有開通免認證后,應(yīng)急請求才能正常訪問數(shù)據(jù)服務(wù)。
應(yīng)急切換模塊集成在氣象數(shù)據(jù)統(tǒng)一服務(wù)接口中,在國家級和31個省級節(jié)點進行部署。在網(wǎng)絡(luò)連通的情況下,切換在MUSIC的服務(wù)端進行,實現(xiàn)一鍵式切換,對于用戶完全透明。選取MUSIC數(shù)據(jù)服務(wù)的三種主要場景,以山西為例,對比本地數(shù)據(jù)服務(wù)與應(yīng)急切換到國家級后數(shù)據(jù)服務(wù)效果,測試結(jié)果數(shù)據(jù)見表5。測試應(yīng)用服務(wù)器到本地與應(yīng)急節(jié)點MUSIC服務(wù)的網(wǎng)絡(luò)延時,其中TIME值越大表示網(wǎng)絡(luò)延時高,數(shù)據(jù)傳輸路徑長耗時多,對比見表6。
表5 應(yīng)急切換前后數(shù)據(jù)檢索性能對比
表6 網(wǎng)絡(luò)延時對比
測試結(jié)果表明,應(yīng)急切換可實現(xiàn)CIMISS存儲數(shù)據(jù)的異地應(yīng)急服務(wù),由于國家級與省級節(jié)點網(wǎng)絡(luò)帶寬限制,數(shù)據(jù)延時是本地的200多倍,導(dǎo)致切換后的檢索性能具有比較大的差距,由于MUSIC在數(shù)據(jù)傳輸過程中采用了高效數(shù)據(jù)壓縮技術(shù),有效提高了檢索數(shù)據(jù)量的傳輸效率,服務(wù)性能基本在可控范圍內(nèi)。
為了保障CIMISS省級數(shù)據(jù)環(huán)境支撐應(yīng)用服務(wù)的穩(wěn)定性和可靠性,本文提出了省級節(jié)點故障時服務(wù)應(yīng)急切換的方案,根據(jù)節(jié)點內(nèi)系統(tǒng)故障的范圍,設(shè)計了設(shè)備級故障切換和功能級故障切換兩種流程,并在此基礎(chǔ)上,升級了氣象數(shù)據(jù)統(tǒng)一服務(wù)接口軟件,集成了應(yīng)急切換服務(wù)模塊,具體結(jié)論如下:
1)介紹了MUSIC的整體結(jié)構(gòu),闡述了利用MUSIC實現(xiàn)應(yīng)急切換的充要條件,并對應(yīng)急切換使用的場景和前提條件進行了描述。應(yīng)急切換只提供短期數(shù)據(jù)應(yīng)急服務(wù),不承擔(dān)數(shù)據(jù)恢復(fù)功能,應(yīng)急省份一般選擇擁有本省數(shù)據(jù)的區(qū)域中心或國家級CIMISS作為應(yīng)急切換的數(shù)據(jù)源,并且保障兩地網(wǎng)絡(luò)互通,應(yīng)急切換時通知提供應(yīng)急服務(wù)方開通訪問許可。
2)對應(yīng)急切換的流程進行了詳細的、利于操作的設(shè)計。包含整體切換和按功能級切換的操作方式,前期準(zhǔn)備以及采取的技術(shù)手段等。 整體切換主要利用兩地的負載均衡進行服務(wù)路由轉(zhuǎn)換實現(xiàn)MUSIC服務(wù)端的整體切換,按功能級切換主要利用MUSIC服務(wù)接口的REST服務(wù)能力,對切換的資料進行遠程訪問,并進行本地格式封裝,提供本地用戶請求服務(wù)。
3)根據(jù)設(shè)計的切換流程方案,采用protostuff數(shù)據(jù)序列化和反序列化和gzip高壓縮技術(shù)對數(shù)據(jù)進行封裝,然后利用http協(xié)議進行數(shù)據(jù)高效交換,實現(xiàn)了應(yīng)急切換服務(wù)軟件模塊,并集成到MUSIC軟件中。利用省級負載均衡設(shè)備的配置界面,實現(xiàn)了CIMISS設(shè)備級故障時一鍵式服務(wù)切換功能,并開發(fā)了一套氣象資料在線切換頁面,實現(xiàn)了CIMISS系統(tǒng)功能故障時的快速切換。
4)應(yīng)急切換服務(wù)測試結(jié)果表明,在目前的網(wǎng)絡(luò)帶寬條件限制下,CIMISS故障省份的數(shù)據(jù)服務(wù)性能有很大的降低,不能支撐大并發(fā)的數(shù)據(jù)請求,后續(xù)需要從網(wǎng)絡(luò)帶寬、數(shù)據(jù)壓縮等多方面進行優(yōu)化。
目前,切換流程不僅可用于CIMISS系統(tǒng)故障時進行應(yīng)急切換,也應(yīng)用在其他省級未存儲的數(shù)據(jù)服務(wù)業(yè)務(wù)中,比如災(zāi)害管理數(shù)據(jù)的省級服務(wù),A省通過MUSIC的在線資料切換功能,實現(xiàn)省、市、地縣三級業(yè)務(wù)系統(tǒng)通過省級MUSIC提供國家級存儲的災(zāi)害數(shù)據(jù)服務(wù)。隨著云技術(shù)的發(fā)展,氣象部門正在開展基于云架構(gòu)的氣象專有云設(shè)計和建設(shè),基于MUSIC數(shù)據(jù)服務(wù)切換的設(shè)計與實現(xiàn),在未來氣象專有云國省數(shù)據(jù)服務(wù)中將發(fā)揮更大的作用,使得氣象數(shù)據(jù)存儲更集約、服務(wù)更高效。
深入閱讀
熊安元, 趙芳, 王穎, 等, 2015. 全國綜合氣象信息共享系統(tǒng)的設(shè)計與實現(xiàn). 應(yīng)用氣象學(xué)報, 26(4): 500-512.
李坤, 王百杰, 2009. 服務(wù)器集群負載均衡技術(shù)研究及算法比較.計算機與現(xiàn)代化, (8): 7-10.
高攀, 林荔, 2008. 負載均衡技術(shù)的三種實現(xiàn)方法. 福建氣象, (6):45-47.
聶曉旭, 于鳳芹, 欽道理, 2015. 基于Protobuf的數(shù)據(jù)傳輸協(xié)議. 計算機系統(tǒng)應(yīng)用, (8): 112-116.
Advances in Meteorological Science and Technology2018年1期