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

?

JSON在氣象信息系統(tǒng)建設(shè)中的應(yīng)用實(shí)踐

2018-06-08 10:33:38付會(huì)明江西省氣象信息中心南昌市330046
江西通信科技 2018年2期
關(guān)鍵詞:氣象信息系統(tǒng)語言

付會(huì)明 江西省氣象信息中心 南昌市 330046

0 引言

隨著氣象現(xiàn)代化深入推進(jìn),氣象信息系統(tǒng)一方面規(guī)模越來越大功能越來越強(qiáng),另一方面結(jié)構(gòu)越來越精細(xì)形式越來越豐富。與此同時(shí)現(xiàn)代計(jì)算機(jī)技術(shù)快速發(fā)展,移動(dòng)應(yīng)用大量普及,網(wǎng)絡(luò)計(jì)算能力空前提高。使得建立在氣象信息系統(tǒng)基礎(chǔ)上的氣象業(yè)務(wù)和氣象服務(wù)中的信息活動(dòng)變得極為頻繁和寬泛,機(jī)器語言之間、應(yīng)用模組之間、服務(wù)設(shè)備之間的快速數(shù)據(jù)交換成了氣象信息系統(tǒng)建設(shè)的非常關(guān)切的需求。在眾多新技術(shù)中JSON數(shù)據(jù)技術(shù)提供了便捷數(shù)據(jù)交互能力。JSON是一種輕量級的數(shù)據(jù)交換格式,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得JSON 成為理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率,在數(shù)據(jù)傳輸方面具有明顯優(yōu)點(diǎn):數(shù)據(jù)格式比較簡單,易于讀寫,格式都是壓縮的,占用帶寬小。氣象數(shù)據(jù)有別于其他數(shù)據(jù),結(jié)構(gòu)復(fù)雜種類多樣,實(shí)時(shí)性強(qiáng)動(dòng)態(tài)多變,具有極強(qiáng)的專業(yè)特征。氣象信息系統(tǒng)承載各類氣象數(shù)據(jù)傳輸處理加工等業(yè)務(wù)功能,在系統(tǒng)建設(shè)與運(yùn)行中各種數(shù)據(jù)信息關(guān)聯(lián)緊密交流活躍。在氣象信息系統(tǒng)建設(shè)中各個(gè)場合與界面中需要完成各種數(shù)據(jù)交互工作,JSON提供了極強(qiáng)的技術(shù)支撐,應(yīng)用好JSON技術(shù)能為業(yè)務(wù)帶來極大便利。

1 JSON技術(shù)與其他技術(shù)的分析比較

1.1 簡介

JSON(JavaScript Object Notation, JS 對象標(biāo)記) 是一種用于傳輸和生成數(shù)據(jù)的協(xié)定,其基本是一種輕量級的數(shù)據(jù)交換格式。JSON語法來源于C家族的語言(包括C、C++、C#、Java、JavaScript、Perl、Python等)。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。JSON 可以將應(yīng)用對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序。JSON輕量型對象跟語言無關(guān)用于傳輸實(shí)現(xiàn)共享,幾乎所有語言都直接支持,用于不同語言共享數(shù)據(jù),如可以讓asp,php等與前臺js很好的交互。

JSON對象是一系列以逗號分隔的名稱/值對(name:value),最外面用一對花括號括起來。其簡潔性是XML無法比擬的,在數(shù)據(jù)傳輸時(shí),減少的數(shù)據(jù)量可以帶來性能上的提升,裝載后,就可以通過名稱直接訪問任何字段了,相對于DOM極大地提高了效率。JSON還提供數(shù)據(jù)類型的支持,并通過使用對象和數(shù)組可以表現(xiàn)結(jié)構(gòu)化數(shù)據(jù),占用空間小。在互聯(lián)網(wǎng)應(yīng)用中,對于相同的信息量在相同帶寬環(huán)境下,JSON會(huì)以更小的體積更快速地發(fā)送。這些特性使JSON成為理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成而無平臺之分。

1.2 JSON與數(shù)據(jù)庫技術(shù)的對比

兩者應(yīng)用領(lǐng)域不同,數(shù)據(jù)庫用于持久化保存大量數(shù)據(jù)其主要的功能目的是數(shù)據(jù)保存和共享,而JSON是一種規(guī)則化數(shù)據(jù)傳輸?shù)男问剑斜4鏀?shù)據(jù)的功能,但是并不持久。一般情況下都是存在于內(nèi)存,一旦程序退出了,JSON數(shù)據(jù)就沒有了。JSON特別適于網(wǎng)際快速數(shù)據(jù)交換如程序后端與前臺界面之間進(jìn)行交互,而在此方面數(shù)據(jù)庫技術(shù)是不適應(yīng)的。

1.3 JSON與XML的對比

本質(zhì)上JSON與XML都是一種數(shù)據(jù)交換格式,現(xiàn)在兩者都成為常用的數(shù)據(jù)格式標(biāo)準(zhǔn),支持多種語言,包括C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、ActionScript、Ruby等客戶端和服務(wù)器端語言。

XML(Extensible Markup Language)擴(kuò)展標(biāo)記語言,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。XML使用DTD(document type definition)文檔類型定義來組織數(shù)據(jù);具有格式統(tǒng)一,跨平臺和語言,符合標(biāo)準(zhǔn);容易與其他系統(tǒng)進(jìn)行遠(yuǎn)程交互,數(shù)據(jù)共享比較方便等優(yōu)點(diǎn)。但其缺點(diǎn)也是明顯的:首先XML文件龐大,文件格式復(fù)雜,傳輸占帶寬;其次服務(wù)器端和客戶端都需要花費(fèi)大量代碼及資源和時(shí)間來解析XML,導(dǎo)致服務(wù)器端和客戶端代碼變得異常復(fù)雜且不易維護(hù);另外客戶端不同瀏覽器之間解析XML的方式不一致,需要重復(fù)編寫很多代碼。

JSON沒有XML歷史久遠(yuǎn)但正在迅速得到普及。XML和JSON都使用結(jié)構(gòu)化方法來標(biāo)記數(shù)據(jù),但JSON簡單的語法格式和清晰的層次結(jié)構(gòu)明顯要比 XML 容易閱讀,并且在數(shù)據(jù)交換方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大節(jié)約傳輸數(shù)據(jù)所占用得帶寬。

總的來看XML復(fù)雜,適合于較大信息組織處理如配置文件的編輯保存。而JSON簡潔,通信編碼效率高便于數(shù)據(jù)交換,傳輸相同的數(shù)據(jù)JSON要比XML更小巧,而這正是現(xiàn)代網(wǎng)絡(luò)化氣象應(yīng)用所需要的。

2 JSON技術(shù)在各種氣象信息業(yè)務(wù)系統(tǒng)中應(yīng)用實(shí)踐

2.1 在B/S模式氣象數(shù)據(jù)傳輸服務(wù)應(yīng)用開發(fā)中的實(shí)例

依托Internet以B/S模式向用戶發(fā)布?xì)庀蠓?wù)信息,是現(xiàn)代氣象信息系統(tǒng)業(yè)務(wù)的重要組成部分。B/S模式中需要Web前端腳本語言(如Javascript)與后端腳本語言(asp,php,jsp)協(xié)同工作, Ajax和RIA(Rich Internet Applications豐富的因特網(wǎng)應(yīng)用程序)等技術(shù)流行增強(qiáng)了Web應(yīng)用的交互性。而JSON可以封裝各種類型格式的數(shù)據(jù)包括網(wǎng)頁中的數(shù)組對象表單等,在其中能發(fā)揮關(guān)鍵作用,提供服務(wù)器到客戶端瀏覽器之間的實(shí)時(shí)數(shù)據(jù)交互,這對于實(shí)時(shí)性很強(qiáng)的氣象服務(wù)是很重要的。這里展示的是GPS/MET文件傳輸實(shí)時(shí)監(jiān)控的應(yīng)用實(shí)例,主要代碼如下:

前臺數(shù)據(jù)提交與獲取腳本:

后臺的關(guān)鍵代碼:

用戶瀏覽器監(jiān)控界面:

圖1 用戶瀏覽器監(jiān)控界面

JSON在業(yè)務(wù)流程中起到了數(shù)據(jù)載體的作用,應(yīng)用系統(tǒng)能直接將后臺信息反饋的前臺監(jiān)視界面,用戶無需反復(fù)刷新瀏覽器頁面,就能實(shí)時(shí)獲取文件傳輸狀態(tài)信息。在氣象業(yè)務(wù)中使用JSON技術(shù)讓應(yīng)用開發(fā)變得簡單規(guī)范,提高了效率,若沒有使用JSON在有大量信息傳送時(shí)系統(tǒng)效率和用戶體驗(yàn)將大打折扣。特別是在AJAX應(yīng)用中使用JSON作為數(shù)據(jù)交換的載體,可以有效提高系統(tǒng)響應(yīng)速度降低等待時(shí)間,對于提高系統(tǒng)資源利用率有著很大的貢獻(xiàn)價(jià)值。

2.2 在氣象業(yè)務(wù)團(tuán)隊(duì)開發(fā)中的應(yīng)用實(shí)例

氣象信息系統(tǒng)不斷向高復(fù)雜度、細(xì)粒度化方向發(fā)展,系統(tǒng)結(jié)構(gòu)也有原來的模塊化向更細(xì)的組件、器件、接口分化。隨之氣象信息系統(tǒng)建設(shè)團(tuán)隊(duì)規(guī)模變大,分工變細(xì),其中每個(gè)團(tuán)隊(duì)成員使用的開發(fā)語言與工具必能存在差異,如使用的開發(fā)語言有C++、Python、Java、C#、PHP、Asp.net、Perl、Pascal、VB等等,這樣在團(tuán)隊(duì)開發(fā)中語言之間數(shù)據(jù)交流成了系統(tǒng)建設(shè)的巨大障礙。直到JSON出現(xiàn)這個(gè)問題才被根本解決,數(shù)據(jù)交互障礙不再存在,每個(gè)團(tuán)隊(duì)成員不再要為各個(gè)功能塊之間的數(shù)據(jù)交互花大量時(shí)間進(jìn)行信息編碼,而可以將主要力量花在核心的業(yè)務(wù)邏輯實(shí)現(xiàn)上。本文以長江流域氣象服務(wù)綜合業(yè)務(wù)平臺項(xiàng)目為實(shí)例,介紹JSON在大規(guī)模團(tuán)隊(duì)分工與合作中的應(yīng)用。長江流域氣象服務(wù)綜合業(yè)務(wù)平臺項(xiàng)目由長江流域內(nèi)十二個(gè)?。ㄊ校┖献魍瓿桑脚_分信息收集與處理分系統(tǒng)、數(shù)據(jù)存儲(chǔ)管理分系統(tǒng)、信息共享服務(wù)分系統(tǒng)、云平臺支撐分系統(tǒng)構(gòu)成。這里展示了系統(tǒng)數(shù)據(jù)流程圖和為最終用戶提供服務(wù)的關(guān)鍵“信息共享服務(wù)分系統(tǒng)”的結(jié)構(gòu),如圖2、圖3所示:

圖2 長江流域氣象服務(wù)綜合業(yè)務(wù)平臺數(shù)據(jù)流程

圖3 共享服務(wù)分系統(tǒng)結(jié)構(gòu)組成

綜合業(yè)務(wù)平臺的數(shù)據(jù)流程圖和功能結(jié)構(gòu)圖顯示,系統(tǒng)高度細(xì)化各功能塊之間聯(lián)系緊密數(shù)據(jù)交換頻繁,JSON技術(shù)在系統(tǒng)建設(shè)運(yùn)作和成員協(xié)同開發(fā)方面發(fā)揮了作用。首先對于使用各種開發(fā)語言的編程人員JSON支持多種語言能封裝機(jī)器語言中的數(shù)組(Array)、布爾值(Boolean)或復(fù)雜的對象(Object),而且是基于純文本的結(jié)構(gòu)化數(shù)據(jù),是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫。其次JSON是跨平臺的,易于機(jī)器解析和生成,幾乎所有語言都有相應(yīng)的 JSON包支持,能輕易承載數(shù)據(jù)實(shí)現(xiàn)跨平臺傳遞,如讓java程序和asp.net程序互相傳遞包含數(shù)據(jù)的數(shù)組等;而客戶端JavaScript可以簡單的通過eval()進(jìn)行JSON數(shù)據(jù)的讀取;并且易于維護(hù)。使得業(yè)務(wù)系統(tǒng)建設(shè)中編程語言間的障礙不再存在,提高了團(tuán)隊(duì)多人協(xié)同工作效能。

2.3 在多業(yè)務(wù)融合中的應(yīng)用實(shí)例

氣象信息系統(tǒng)是一個(gè)巨大的異構(gòu)系統(tǒng),不斷有新系統(tǒng)加入如CIMISS、各種基于地理信息系統(tǒng)的服務(wù)系統(tǒng)、MICAPS預(yù)報(bào)系統(tǒng)等,而且各省市還有自己的子業(yè)務(wù)系統(tǒng),融合各個(gè)業(yè)務(wù)系統(tǒng)發(fā)揮最大綜合效益是氣象信息系統(tǒng)建設(shè)的一項(xiàng)重要工作。JSON技術(shù)也可以在其中發(fā)揮重要作用,目前通過API接口,中間件結(jié)合JSON數(shù)據(jù)格式規(guī)范集約或融合系統(tǒng)的方法證明是有效的,取得了很好成果,如縣級MICAPS預(yù)報(bào)預(yù)警業(yè)務(wù)平臺與CMISS系統(tǒng)融合實(shí)現(xiàn)等案例,由于篇幅有限在此不做展開闡述。

3 前景展望

JSON技術(shù)不僅促進(jìn)了數(shù)據(jù)快速交換能力,而且推動(dòng)了數(shù)據(jù)和應(yīng)用標(biāo)準(zhǔn),使得信息交流更規(guī)范共享更容易。

采用JSON數(shù)據(jù)進(jìn)行數(shù)據(jù)交換將運(yùn)行程序所需一些資源文件放置于應(yīng)用之中,運(yùn)行時(shí)只需下載核心數(shù)據(jù),這樣有效地降低了訪問流量,并且提高了處理速度,降低了開發(fā)和使用門檻。

JSON技術(shù)將加速氣象信息社會(huì)化應(yīng)用,許多機(jī)構(gòu)如中國天氣網(wǎng)提供了基于JSON數(shù)據(jù)格式的API應(yīng)用接口,使得獲取氣象數(shù)據(jù)和預(yù)報(bào)變得極為簡單容易,各種平臺Windows、Android等都可以向中國天氣網(wǎng)發(fā)送GET請求獲取JSON數(shù)據(jù),許許多多包括桌面、手機(jī)、移動(dòng)平板的氣象應(yīng)用APP如雨后春筍般出現(xiàn),極大豐富了氣象信息的應(yīng)用領(lǐng)域,如下圖的一些氣象APP展現(xiàn)了豐富多彩的應(yīng)用。

圖4 氣象APP社會(huì)化應(yīng)用

可見在JSON等新技術(shù)推動(dòng)下,氣象信息被大眾更深入接受并在更廣泛領(lǐng)域取得了很好社會(huì)經(jīng)濟(jì)效益,氣象信息生態(tài)已在初步形成。

[1]姜宇.JSON在電子政務(wù)信息系統(tǒng)數(shù)據(jù)交換中的研究與應(yīng)用.科技創(chuàng)新導(dǎo)報(bào).2012,5

[2]劉志雄.基于B/S模式的氣候資料處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).農(nóng)業(yè)網(wǎng)絡(luò)信息.2008,12

[3]付會(huì)明.長江流域氣象服務(wù)綜合業(yè)務(wù)平臺延伸服務(wù)探討.長江流域中下游大氣探測、通信與信息技術(shù)交流會(huì)文集,2014,11

猜你喜歡
氣象信息系統(tǒng)語言
氣象樹
企業(yè)信息系統(tǒng)安全防護(hù)
哈爾濱軸承(2022年1期)2022-05-23 13:13:18
《內(nèi)蒙古氣象》征稿簡則
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
氣象戰(zhàn)士之歌
心聲歌刊(2019年5期)2020-01-19 01:52:52
基于區(qū)塊鏈的通航維護(hù)信息系統(tǒng)研究
電子制作(2018年11期)2018-08-04 03:25:54
大國氣象
讓語言描寫搖曳多姿
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
累積動(dòng)態(tài)分析下的同聲傳譯語言壓縮
苏尼特右旗| 碌曲县| 奎屯市| 新竹县| 高阳县| 通州区| 志丹县| 顺昌县| 巴楚县| 兴城市| 揭阳市| 大宁县| 枝江市| 广东省| 榕江县| 临潭县| 栾城县| 静乐县| 益阳市| 梧州市| 蕉岭县| 黄梅县| 威海市| 永泰县| 阿荣旗| 尼勒克县| 原平市| 竹北市| 和静县| 新蔡县| 新巴尔虎左旗| 手游| 水富县| 屯留县| 万安县| 景东| 南陵县| 凤山县| 马龙县| 亚东县| 德阳市|