趙 芳 史利漢 魏 威
?
重慶氣象服務(wù)接口系統(tǒng)接入CIMISS的技術(shù)方法研究與實(shí)現(xiàn)
趙 芳1史利漢2魏 威3
1.重慶市氣象信息與技術(shù)保障中心,重慶 401147 2.重慶市氣象局,重慶 401147 3.重慶華云氣象科技開發(fā)有限公司,重慶 401147
從存儲(chǔ)策略、表結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)格式,接口參數(shù)、適用場(chǎng)景等多個(gè)方面對(duì)重慶本地氣象數(shù)據(jù)環(huán)境和CIMISS進(jìn)行比對(duì)和分析,找到兩者之間的差異和映射關(guān)系,對(duì)重慶氣象數(shù)據(jù)服務(wù)接口進(jìn)行改造,完成重慶氣象服務(wù)接口系統(tǒng)接入CIMISS的目標(biāo)。
CIMISS;CQMISS;數(shù)據(jù)服務(wù)接口;移植
重慶氣象信息中心自2007年開始打造本地的氣象數(shù)據(jù)支撐平臺(tái)——重慶氣象信息共享系統(tǒng)CQMISS(ChongQing Meteorological Information Service System),采用Mysql存儲(chǔ)基礎(chǔ)氣象數(shù)據(jù)及產(chǎn)品,并遵循SOA標(biāo)準(zhǔn)以統(tǒng)一服務(wù)接口方式面向重慶氣象業(yè)務(wù)和科研服務(wù)?;谀壳爸貞c本地?cái)?shù)據(jù)環(huán)境的應(yīng)用情況,如何實(shí)現(xiàn)從CQMISS到CIMISS的平滑過渡,對(duì)本地?cái)?shù)據(jù)服務(wù)接口進(jìn)行改造是非常關(guān)鍵的一步。本文通過對(duì)兩種數(shù)據(jù)環(huán)境進(jìn)行詳細(xì)的差異分析,最終確定移植方案并實(shí)現(xiàn)接入目標(biāo)。
重慶氣象數(shù)據(jù)支撐平臺(tái)整體架構(gòu)遵循SOA標(biāo)準(zhǔn)設(shè)計(jì),建立數(shù)據(jù)產(chǎn)品資源池和業(yè)務(wù)功能資源池,以服務(wù)接口的方式支撐各個(gè)業(yè)務(wù)系統(tǒng)的建設(shè)。其中重慶氣象信息共享系統(tǒng)CQMISS現(xiàn)已開發(fā)webservice基礎(chǔ)接口23個(gè),注冊(cè)用戶200多個(gè),粗略統(tǒng)計(jì)每天調(diào)用次數(shù)60萬余次,數(shù)據(jù)下載量40G左右。
要在用戶和業(yè)務(wù)系統(tǒng)不做任何改動(dòng)的情況下實(shí)現(xiàn)接入目標(biāo),就必須保證接口的參數(shù)輸入和結(jié)果輸出不變。對(duì)重慶數(shù)據(jù)接口進(jìn)行改造,核心代碼優(yōu)先調(diào)用MUISC,從CIMISS獲取數(shù)據(jù)。經(jīng)過分析,此次主要對(duì)日常業(yè)務(wù)中使用的最廣泛的五個(gè)接口進(jìn)行改造。
2.1 數(shù)據(jù)存儲(chǔ)差異
CIMISS數(shù)據(jù)庫采用ORACLE,本地?cái)?shù)據(jù)庫采用Mysql。兩種存儲(chǔ)環(huán)境存在多種不同,經(jīng)過比對(duì)得出移植改造造成的影響差異。
2.1.1存儲(chǔ)策略差異
CQMISS和CIMISS均根據(jù)數(shù)據(jù)采集頻率、數(shù)據(jù)大小制定相應(yīng)存儲(chǔ)策略。CIMISS數(shù)據(jù)庫通過ORACLE的表分區(qū)功能實(shí)現(xiàn),CQMISS則根據(jù)存儲(chǔ)策略制定分表策略,以年分庫,或年或月或旬建表,由入庫程序自動(dòng)完成。
2.1.2表結(jié)構(gòu)差異
氣象資料存儲(chǔ)結(jié)構(gòu)依據(jù)資料傳輸格式、要素關(guān)系及應(yīng)用習(xí)慣進(jìn)行設(shè)計(jì)?;跉庀筚Y料傳輸傳輸?shù)臉?biāo)準(zhǔn)化,大多數(shù)CQMISS表結(jié)構(gòu)設(shè)計(jì)與CIMISS一致;一部分因設(shè)計(jì)時(shí)考慮應(yīng)用需求方向不同存在差異。
2.1.3數(shù)據(jù)單位差異
CQMISS環(huán)境下的入庫策略大多將數(shù)據(jù)文件直接解碼入庫,保留原始的數(shù)據(jù)單位、占位補(bǔ)齊,不做修改;CIMISS在解碼時(shí)會(huì)對(duì)數(shù)據(jù)做一定處理,使得存儲(chǔ)的數(shù)據(jù)更有利于直接應(yīng)用。
2.1.4特征值差異
CIMISS環(huán)境中對(duì)各種特征值有非常規(guī)范和詳細(xì)的定義,如缺測(cè)用999999表示,不觀測(cè)和無數(shù)據(jù)用999998表示等。而CQMISS中對(duì)缺測(cè)、不觀測(cè)等情況造成的要素缺失,均用相應(yīng)占位的“/”表示,如溫度缺測(cè),表示為“////”。為保證輸出一致,需要對(duì)特征值做相應(yīng)處理。
2.2 接口差異
2.2.1使用場(chǎng)景差異
此次改造中,CQMISS涉及的幾個(gè)接口均為通用接口,為適用于所有資料多種場(chǎng)景的基礎(chǔ)接口。CIMISS提供應(yīng)用的MUSIC接口,多為定制接口,適用于不同資料、不同場(chǎng)景。需要對(duì)多種資料的定制接口進(jìn)行分析,找到與CQMISS接口應(yīng)用場(chǎng)景更相近的接口,以確定對(duì)接方案。
2.2.2 參數(shù)差異
接口的參數(shù)差異主要表現(xiàn)在資料類型、時(shí)間、要素等方面[1]。
經(jīng)過前面的差異分析,遵循CIMISS已提供服務(wù)的數(shù)據(jù)從CIMISS獲取,CIMISS未提供服務(wù)的數(shù)據(jù)及本地特色產(chǎn)品仍從CQMISS數(shù)據(jù)環(huán)境獲取的原則,確定CQMISS改造方案。改造方案根據(jù)數(shù)據(jù)表結(jié)構(gòu)的差異分為結(jié)構(gòu)相似和結(jié)構(gòu)不同兩種情況。代碼修改包括本地服務(wù)接口與MUSIC資料代碼、要素參數(shù)的映射,提交參數(shù)獲取CIMISS數(shù)據(jù),對(duì)返回輸出的格式化等等。改造后流程如下圖:
3.1 結(jié)構(gòu)相似的數(shù)據(jù)接入改造
(1)建立CQMISS與MUSIC元數(shù)據(jù)信息映射表。該表的設(shè)計(jì)是整個(gè)改造過程中最為關(guān)鍵的一步,需要在表中詳細(xì)體現(xiàn)出兩個(gè)數(shù)據(jù)環(huán)境中的具體差異及映射關(guān)系。
(2)根據(jù)CQMISS用戶提交的參數(shù),查詢緣數(shù)據(jù)信息映射表,轉(zhuǎn)化為MUSIC匹配的參數(shù)。
(3)根據(jù)參數(shù)判斷適用場(chǎng)景,選擇相應(yīng)的MUSIC接口。提交參數(shù),調(diào)用接口從CIMISS獲取數(shù)據(jù)。
(4)依照映射表中CQMISS的要素單位和長(zhǎng)度,對(duì)獲得的數(shù)據(jù)進(jìn)行格式化轉(zhuǎn)換,包括特征值的轉(zhuǎn)換,并返回給用戶。
3.2 結(jié)構(gòu)不同的數(shù)據(jù)接入改造
結(jié)構(gòu)不同資料的屬個(gè)別現(xiàn)象,找不到相似規(guī)律,需具體情況具體處理,找到用戶提交參數(shù)與數(shù)據(jù)表之間的關(guān)系及映射算法。以土壤水分逐小時(shí)資料為例,getedatatoarray接口在接收到參數(shù)后,需要從要素參數(shù)中解析出土壤深度和要素。相應(yīng)的MUSIC接口選擇“按時(shí)間、區(qū)站號(hào)、土壤深度檢索農(nóng)氣資料數(shù)據(jù)要素”,提交參數(shù)后需要對(duì)返回結(jié)果再做多條合并,保證按用戶要素順序返回至客戶端。
改造后從功能上實(shí)現(xiàn)了本地?cái)?shù)據(jù)服務(wù)接口到CIMISS的移植。但需對(duì)每一個(gè)輸出數(shù)據(jù)點(diǎn)作格式化處理,數(shù)據(jù)量較大時(shí)存在時(shí)間損耗,接口性能會(huì)下降。因大批量數(shù)據(jù)需求主要面向科研業(yè)務(wù),對(duì)時(shí)效性要求不高,可以接受;對(duì)日常實(shí)時(shí)預(yù)報(bào)預(yù)警業(yè)務(wù)無影響[2]。
通過對(duì)重慶氣象數(shù)據(jù)服務(wù)接口進(jìn)行改造,實(shí)現(xiàn)了在業(yè)務(wù)用戶及應(yīng)用系統(tǒng)不需要做任何改動(dòng)的情況下,服務(wù)接口從本地?cái)?shù)據(jù)環(huán)境到CIMISS數(shù)據(jù)環(huán)境的移植,完成重慶氣象服務(wù)接口系統(tǒng)接入CIMISS的目標(biāo)。同時(shí),CQMISS和CIMISS兩個(gè)數(shù)據(jù)環(huán)境互為補(bǔ)充和備份,任意一方發(fā)生故障,管理人員只需要稍作配置上改動(dòng),即可完成切換,提高了數(shù)據(jù)服務(wù)系統(tǒng)可靠性。
[1]熊安元,趙芳,王穎,等.全國綜合氣象信息共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].應(yīng)用氣象學(xué)報(bào),2015,26(4).
[2]孫周軍,肖文名,等.基于SOA的數(shù)據(jù)訪問通用服務(wù)系統(tǒng)研究與應(yīng)用[C]//第31屆中南六省區(qū),2013.
Research and implementation of Chongqing meteorological service interface system access CIMISS Technology
Zhao Gang1Shi Lihan2Wei Wei3
1 Chongqing Meteorological Information and Technical Support Center, Chongqing 401147, China 2 Meteorological Bureau of Chongqing Municipality, Chongqing 401147 3 Chongqing Huayun Meteorological Science and Technology Development Co., Ltd., Chongqing 401147
This paper from storage strategy,structure design,data format and multiple aspects of interface parameters,the application scenes of Chongqing local meteorological data environment and CIMISS for comparison and analysis,find the difference and mapping relations between the two,the transformation of Chongqing meteorological data service interface,complete Chongqing meteorological service system access interface CIMISS.
CIMISS;CQMISS;data service interface;transplantation
P456.7
A
1009-6434(2016)09-0112-02
趙芳(1980—),女,漢族,湖北宜都人,本科學(xué)歷,工程師,重慶市氣象信息與技術(shù)保障中心,從事氣象信息共享與數(shù)據(jù)管理工作。