国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于天擎系統(tǒng)的氣象資料下載平臺設計

2022-12-27 11:32:52李高潔郭捷喬文文杜建華孫周軍
廣東氣象 2022年6期
關鍵詞:插件實例終端

李高潔,郭捷,喬文文,杜建華,孫周軍,3

(1.廣東省氣象探測數據中心,廣東 廣州 5 1 0 6 4 0;2.海南省南海氣象防災減災重點實驗室,海南 海口 570203;3.廣東省氣象公共服務中心,廣東 廣州 510640)

中國氣象局組織研發(fā)的氣象大數據云平臺(簡稱天擎)是支撐氣象業(yè)務的基礎平臺,其具有海量存儲能力與強大的數據輸出能力,涵蓋數據的傳輸與采集、加工與處理、存儲與服務、分析與監(jiān)控生命周期,實現了觀測數據、業(yè)務產品、分析產品、設備信息、政務信息、社會行業(yè)等數據全集的統(tǒng)一管理和服務,支撐國家與省級的氣象業(yè)務系統(tǒng),形成了“云+端”的氣象業(yè)務模式[1-3]。

天擎通過服務接口為各級氣象應用系統(tǒng)提供唯一的數據接入服務,規(guī)范與統(tǒng)一了數據的出口與格式,也提高了獲取數據的技術門檻??蒲腥藛T需利用計算機編程語言調用服務接口,將返回數據進行解析后使用,對科研人員提出了具備高級開發(fā)語言編程能力的要求。如何面對數據需求,提供方便快捷的數據獲取方法,迎合科研用戶個性化數據需求,解決獲取數據的便捷性問題迫在眉睫。本研究提出了一種氣象數據自動化下載的軟件模型(簡稱終端軟件),通過可視化界面創(chuàng)建資料下載任務、設定調度參數和選擇數據處理格式模板,兼容天擎所有數據格式,實現科研人員零編程從天擎系統(tǒng)獲取氣象數據。

1 需求分析

天擎系統(tǒng)解決了國、省統(tǒng)一集約的數據支撐環(huán)境,但對于科研用戶,在不熟悉資料清單、觀測頻次、觀測要素和存儲格式的情況下,使用起來仍有不便之處。

(1)用戶開發(fā)環(huán)境多樣化。天擎提供了比較詳細的開發(fā)實例文檔,如針對主流的操作系統(tǒng)Linux、HP-UX、Windows等,提供多種語言的客戶端開發(fā)包C#、Java、C/C++、Fortran、Python等,但對于BCB、Visual Basic等在用的編程語言沒有提供相應的開發(fā)示例和說明文檔。

(2)海量數據存儲的業(yè)務應用能力不足。在滿足天氣、氣侯、人影、政務等氣象應用的同時,不同業(yè)務開發(fā)水平的科研人員不能及時有效的獲取數據信息,只能摸索數據的格式特性,找對應的解碼工具進行二次開發(fā),增加了開發(fā)成本和數據使用成本[4]。

(3)科研人員對氣象業(yè)務數據、地球科學數據、社會行業(yè)數據的算法和實際應用鉆研較深入,但對于獲取數據的新技術關注較少,對于日新月異的結構化和非結構化數據存儲[5]規(guī)則關注度不夠,導致不能以最有效的方式獲取數據。

科研人員非??释軌蛲ㄟ^“可見即可得”的方式,以拖拉拽的方式得到天擎數據。

2 系統(tǒng)設計

2.1 系統(tǒng)架構

1)采用B/S架構。

軟件要服務于氣象業(yè)務和科研人員,其對數據的個性化定制需求較高,要求能夠隨時隨地及時地查看數據清單、查看接口的元信息、管理定制的下載任務和任務調度情況等功能。因此,采用B/S軟件架構[7-8],能夠通過瀏覽器完成用戶的相關操作。

2)采用Nutz框架。

軟件需要實現用戶訪問、接口元數據、任務計劃管理、定時任務執(zhí)行和數據預處理等后臺管理功能,并提供HTTP服務,承載前端頁面和后臺服務的運行。Nutz開發(fā)框架能夠滿足要求:(1)支持Ioc注入機制,通過配置方式引入對應的通用軟件功能,簡化開發(fā)工作量;(2)內嵌了Tomcat、Jetty等Web容器,軟件后臺服務和前端頁面一體發(fā)布,不依賴外部Web容器便可在本機運行,簡化項目部署和運行;(3)提供大部分配置的默認值,簡化了應用開發(fā)調試的難度,通過注解減少配置,提高代碼可讀性和開發(fā)效率。

3)采用H5可視化技術。

軟件提供H5界面供用戶訪問和交互操作,用戶的軟件運行環(huán)境、使用的瀏覽器各不相同,在開發(fā)Web頁面時需要考慮訪問性能和兼容性。H5即HTML5技術是超文本標記語言第5代(HyperText Markup Language 5)的縮寫,是構建Web應用內容的語言[6],它具有如下優(yōu)點:(1)解決不同瀏覽器的兼容性問題,H5是萬維網聯盟(W3C)發(fā)布的標準,各廠商的瀏覽器均會支持和實現這一標準;(2)通過H5響應式頁面設計,支持多種屏幕尺寸和分辨率下頁面的正常顯示,使網頁適應不同的用戶的訪問環(huán)境。

2.2 功能設計

本軟件采用云+端模式運行,其中云端包含氣象數據服務與云控任務管理服務兩部分。數據服務以天擎服務接口為基礎提供數據供給;云控管理服務終端軟件的下載任務管理、任務調度、用戶鑒權、格式轉換、在線升級、上線狀態(tài)監(jiān)控等功能提供可視化交互功能。

1)數據服務。

天擎服務接口提供數據的響應流程如圖1所示。軟件向天擎服務接口發(fā)起調用請求時,首先通過接口網關進行用戶認證、服務路由檢索、流量控制和負載分流等訪問權限認證后,根據請求參數組裝數據檢索、統(tǒng)計、更新等程式操作,將具體程式在站點數據、文件產品、數值模式等數據存儲體中進行執(zhí)行,檢索出對應的氣象業(yè)務數據,按照要求的格式進行轉換和封裝,將結果返回給調用請求發(fā)起端。本終端軟件即是整個服務流程中發(fā)起請求的客戶端。

圖1 天擎服務接口數據服務流程示意圖

2)云控任務管理服務。

云控任務管理主要是利用可視化技術實現的用戶管理交互和對終端軟件發(fā)起相關服務請求的響應。主要功能如下:

(1)鑒權認證服務。通過在氣象大數據云平臺服務接口注冊成功的用戶,已經通過安全認證,可直接登錄氣象數據自動化下載平臺進行創(chuàng)建任務。根據服務接口的權限類型,訪問對應的資料清單和接口清單列表。

(2)元數據管理服務。天擎定義了豐富的數據接口,用戶登錄終端軟件時,接口元數據服務將該用戶能夠訪問的數據資料種類、接口訪問權限等信息組織成結構化數據,傳輸到終端本地,便于用戶在終端上能夠快速的查看數據的元數據信息以及接口的具體使用說明。

(3)下載流量控制。為了避免大規(guī)模的數據訪問請求,天擎自身具有限流控制,對訪問量過大的用戶,會自動暫停提供服務。為避免終端軟件造成天擎超負荷,本軟件根據任務提交的定時計劃判別出數據請求量,如果達到預設的閾值,就會暫停提交的任務計劃,優(yōu)先保障天擎正常提供服務。

(4)終端狀態(tài)監(jiān)控。終端運行時定期向云控平臺上報調用速度、狀態(tài)信息和其他附件采集信息,云控平臺提供集中查看每個終端軟件的當前下載速率、運行IP、登錄賬戶、登錄時間等信息。天擎管理人員可以判別某終端為異常,可強制某終端軟件下線,優(yōu)先保障天擎服務正常運行。

(5)軟件智能升級。終端軟件運行在本機,用戶可以手工觸發(fā)或啟動觸發(fā)檢查是否有最新版本發(fā)布。在具備更新條件時,則自動啟動更新進程,向云控管理服務發(fā)出更新請求和傳遞更新包,終端軟件會替換更新模塊和自動重啟。

3 關鍵技術

3.1 模型定義

軟件的正常運行是由任務模型、任務模型管理器、任務實例和任務調度管理器關鍵組件互相配合完成。

(1)任務模型:該模型是數據下載任務的具體定義,包括任務基本信息、下載數據的時間范圍、任務調度參數、接口調用參數、數據處理參數等。①任務的基本信息是由任務模型以Restful API接口方式讀取天擎服務接口的基本參數信息,包括用戶登錄的賬戶、密碼、讀取數據的接口URL、數據返回格式、接口參數值;②數據下載任務的定義是任務模型產生的具體任務節(jié)點計劃,任務計劃的調度模式以及任務計劃的參數實施,包括調度任務的時間范圍、時間間隔、延遲執(zhí)行時間、失敗調度任務需要重復執(zhí)行次數和時間偏移量。

(2)任務實例:該模型是數據下載任務的最小單元,保存了數據下載任務的所有運行信息和監(jiān)控信息,監(jiān)控信息包括任務執(zhí)行狀態(tài)、任務創(chuàng)建時間、任務生成開始結束時間、任務完成情況已生成數量/應生成數量,任務運行的詳細信息包括數據訪問完整URL、輸出數據文件名、文件保存路徑、任務失敗再執(zhí)行次數等運行情況的詳細日志信息。

(3)任務實例集。該模型是待執(zhí)行任務實例的集合。任務實例集分為3種情況:①全部為立即下載數據任務,即全部為下載歷史數據的任務實例,需要按照隨機順序逐個執(zhí)行;②立即下載數據任務與未來下載數據任務并存,即用戶下載的數據包含歷史數據和后續(xù)產生的數據,終端軟件會將當天與第2天未生成的數據的下載任務實例預先生成;③全部為未來下載數據任務,即用戶只下載創(chuàng)建任務時刻以后的生產數據。

(4)任務模型管理器。該模型任務模型的管理調度,關于任務模型的操作都由其負責處理,如任務模型新建、修改、克隆、刪除任務模型,對任務模型進行啟動、暫停和中止,以及定時或手工生成第2天下載任務實例。

(5)任務實例調度[9-10]。該模型是負責調度和執(zhí)行數據下載任務。定時檢索1 h內需要被執(zhí)行的任務實例放入隊列,對任務隊列進行遍歷,達到執(zhí)行條件時則執(zhí)行具體下載操作;對平臺中的任務計劃進行統(tǒng)計、分類、定期清除,統(tǒng)計已完成的任務計劃、失敗的任務計劃和待執(zhí)行的任務計劃。

3.2 運行流程

圖2詳細描述了任務模型、任務實例到任務具體執(zhí)行的全部運行流程。

圖2 任務調度運行流程示意圖

(1)任務可視化定制過程。用戶在web交互頁面選擇需要下載的數據及使用的數據訪問接口,填寫任務創(chuàng)建表單,提交表單后模型管理器按照任務模型定義封裝信息、創(chuàng)建任務,保存到軟件內嵌數據庫的任務模型表。此外,模型管理器負責提供任務模型的查詢和管理,包括數據下載任務的啟動、暫停、停止、刪除、克隆等操作。

(2)任務實例生成過程。任務創(chuàng)建后,任務模型管理器根據任務模型定義的數據下載時間和當前時間判斷任務類型,包含3種情況:若任務結束時間早于當前時間,任務模型為歷史數據調取模型,管理器會一次性生成所有時次的數據下載任務實例;若任務開始時間早于當前時間,且結束時間晚于當前時間或用戶沒有設置任務結束時間,任務模型為混合數據下載任務,管理器首先生成當天以前所有時次的數據下載任務實例,并每天定時生成第2天的任務實例;若任務開始時間晚于當前時間,且結束時間晚于當前時間或用戶沒有設置任務結束時間,任務模型為未來數據下載任務,管理器根據時間區(qū)間,每天提前生成第2天的任務實例。

(3)任務實例執(zhí)行過程。同一個任務模型所屬的所有任務實例構成任務實例集,任務實例執(zhí)行完畢后會記錄相應的任務完成情況,如下載是否成功、下載數據大小、任務完成時間等等,軟件通過上述信息統(tǒng)計任務執(zhí)行情況供用戶查詢。

(4)任務調度器運行過程。任務調度器負責統(tǒng)一調度和執(zhí)行任務實例,根據任務實例定義的任務執(zhí)行時間觸發(fā)下載線程,從數據接口平臺檢索下載數據,并根據接口調用情況及返回結果,判斷數據下載是否成功,若下載不成功則按照策略進行重試。

以上過程中,科研人員利用平臺提供的可視化界面進行參數的設置,后續(xù)下載任務的執(zhí)行則由軟件平臺自行運行。整個過程無需進行編程,且有友好的操作與監(jiān)視管理界面。

3.3 插件技術

科研人員對科研數據格式有多種需求。因此,采用插件化設計模式,定義了格式轉換實現的抽象類和接口,并預先實現了NETCDF、GRIB、PNG等格式轉換插件,與數據接口進行綁定,由科研人員按需選擇,減少編制數據格式轉換的開發(fā)工作,以及減小了格式轉換與數據下載的耦合度。插件運行的具體過程如下:(1)在軟件配置文件中定義插件清單,記錄插件名稱及插件實現類,軟件啟動時加載插件清單到內存。(2)用戶打開任務創(chuàng)建表單,軟件讀取插件清單,將插件列表及每個插件對應的運行參數設置以表單的形式展現,由用戶進行選擇和輸入;用戶完成任務創(chuàng)建,任務模型保存插件基本信息以及對應的運行參數。(3)軟件執(zhí)行數據下載任務實例,完成從數據接口調用數據后,根據格式轉換插件配置,得到插件類名稱和路徑,利用動態(tài)加載技術得到對應插件類實例,執(zhí)行格式轉換操作。

目前已實現的格式轉換插件功能包括:將多個任務實例的檢索結果合并到同一文件;若調用的接口為文件信息檢索接口,則解析接口返回結果中的文件列表及下載URL,從接口平臺將對應的數據文件下載保存到指定目錄;將接口返回的網格數據封裝轉換為NETCDF格式。

4 業(yè)務應用

4.1 性能測試

用終端軟件從天擎數據服務接口測試下載1、7、30 d,1年的中國地面逐小時全要素數據的結構化存儲數據的耗時性能;測試下載1、7、30 d,1年的歐洲中心數值預報產品的地面氣壓要素的非結構化存儲數據的耗時性能,結果如表1所示。

表1 結構化和非結構化數據下載性能測試結果

根據表1結果中對結構化存儲數據和非結構存儲數據下載性能的測試結果顯示,終端軟件成功下載數據,數據下載速率穩(wěn)定,下載量的大小影響下載速率且并未因下載數據量大導致天擎服務接口發(fā)生故障。

4.2 典型應用

終端軟件業(yè)務應用以來,每年共享給服務用戶的數據量達到100 TB,業(yè)務共享單位達到20多個。特別在利用終端軟件配置了網格化實況能見度、自動站觀測等數據的下載任務,定時從服務接口下載數據傳輸給香港天文臺,支持了粵港澳大灣區(qū)天氣網站系統(tǒng)的建設。該軟件的應用成果驗證了氣象大數據云平臺服務接口的應用可行性,也對服務接口的推廣應用起到了推動作用。

5 結論

基于天擎系統(tǒng)的氣象資料下載軟件針對提高獲取數據技術門檻的問題,結合可視化交互、任務調度和數據格式模板適配技術,為科研提供便捷、零編程的數據獲取幾種方法。

1)終端軟件的任務模型設計與調度模型的思路和實現方法,可用于其他領域的業(yè)務調度模型。

2)終端軟件在氣象行業(yè)的實際應用中,對于氣象部門推動天擎數據環(huán)境支撐業(yè)務的發(fā)展模式起到較大的推動作用。

3)在向非氣象部門進行數據共享中,終端軟件可以屏蔽數據源結構的異構性,是一種很好的數據下載軟件。

猜你喜歡
插件實例終端
X美術館首屆三年展:“終端〉_How Do We Begin?”
現代裝飾(2020年8期)2020-08-24 08:22:58
自編插件完善App Inventor與樂高機器人通信
電子制作(2019年22期)2020-01-14 03:16:34
通信控制服務器(CCS)維護終端的設計與實現
多功能北斗船載終端的開發(fā)應用
電子制作(2016年15期)2017-01-15 13:39:14
MapWindowGIS插件機制及應用
基于Revit MEP的插件制作探討
完形填空Ⅱ
完形填空Ⅰ
ABB Elastimold 10kV電纜終端及中間接頭
自動化博覽(2014年4期)2014-02-28 22:31:14
火力加強再加強IE插件三劍客
大姚县| 佛教| 郁南县| 集安市| 丽水市| 恩平市| 株洲市| 麟游县| 望奎县| 湘乡市| 佛坪县| 静安区| 类乌齐县| 阿尔山市| 高淳县| 云安县| 宾川县| 五峰| 台江县| 西吉县| 白城市| 临安市| 凤台县| 图们市| 周宁县| 高清| 名山县| 哈尔滨市| 秦安县| 荔浦县| 黑龙江省| 陇川县| 通河县| 韶山市| 芷江| 定远县| 灌阳县| 和田市| 遵化市| 东光县| 台南县|