亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Node.js 的草畜平衡數(shù)據(jù)中間件設(shè)計

        2024-03-31 05:38:40陳賓賓李雪松李子揚苑馨方
        地理空間信息 2024年3期
        關(guān)鍵詞:可視化資源系統(tǒng)

        陳賓賓,李雪松,李子揚,苑馨方

        (1. 中國科學(xué)院空天信息創(chuàng)新研究院中國科學(xué)院定量遙感信息技術(shù)重點實驗室,北京 100094)

        我國草地資源豐富,擁有天然草原4 億hm2,占國土面積的41%,是我國耕地面積的3 倍,森林面積的1.9倍,約占全球草原面積的12%[1]。由于人為和氣候干擾因素,尤其是不合理的畜牧業(yè)發(fā)展方式,我國部分牧區(qū)存在草畜失衡、草地水土流失、生物多樣性下降等現(xiàn)象,進一步加劇了草原生態(tài)系統(tǒng)對氣候變化的敏感性,牧區(qū)草地生態(tài)功能日益衰減,蟲鼠害、沙塵暴等自然災(zāi)害頻繁發(fā)生[2-3]。然而,牧區(qū)草地過載仍無法解決我國飼草料和畜產(chǎn)品嚴重依賴國際進口的問題,部分牧區(qū)甚至因為草畜失衡導(dǎo)致產(chǎn)能進一步萎縮,嚴重制約了牧區(qū)經(jīng)濟的可持續(xù)發(fā)展以及和諧社會的穩(wěn)步構(gòu)建[4-7]。因此,在牧區(qū)草畜平衡動態(tài)機制制約下,如何準(zhǔn)確分析和預(yù)判放牧管理、草畜調(diào)配、草地管理、旅游規(guī)劃與開發(fā)等人為干擾,以及干旱、霜凍、低溫、沙塵暴等氣候和災(zāi)害事件對牧區(qū)草畜資源分布的干預(yù)與制約作用,揭示草畜動態(tài)平衡和牧區(qū)管理之間的相互作用和反饋模式,是當(dāng)前牧區(qū)草畜資源規(guī)劃亟待解決的重要難題。構(gòu)建基于三維數(shù)字地球的牧區(qū)草畜資源動態(tài)演變可視化系統(tǒng),有助于實現(xiàn)在氣候變化、社會活動、經(jīng)濟政策等制約下的牧區(qū)草原放牧密度和草地生產(chǎn)力信息的預(yù)報預(yù)測以及4D 動態(tài)展示,為地方草牧業(yè)決策提供支持。

        1 系統(tǒng)設(shè)計方案

        牧區(qū)草畜資源動態(tài)演變可視化系統(tǒng)利用星空地一體化多源草畜資源、自然條件和社會經(jīng)濟等多維信息,實現(xiàn)典型干擾情景約束下的草畜動態(tài)平衡模擬的預(yù)測推演,并多維度展示資源動態(tài)演變,在線分析人為干擾、氣候事件與災(zāi)害現(xiàn)象對草原生態(tài)系統(tǒng)和功能變化的影響,為草原管理和農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整提供決策支持。

        B/S 架構(gòu)將系統(tǒng)功能實現(xiàn)的核心部分集成到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用。牧區(qū)草畜資源動態(tài)演變可視化系統(tǒng)采用B/S 架構(gòu)設(shè)計(圖1),包括兩個主體功能:草畜平衡預(yù)測預(yù)報,針對示范實驗區(qū)的草畜平衡干預(yù)情景,開展干擾因子對草畜資源影響的預(yù)測推演以及情景應(yīng)對措施的決策輔助,提供在數(shù)據(jù)分析線服務(wù);草畜資源動態(tài)演變可視化,基于地理空間信息平臺,對示范實驗區(qū)的草畜資源和預(yù)測推演過程進行4D時空數(shù)據(jù)展示。

        圖1 平臺軟件體系結(jié)構(gòu)圖

        2 Node.js平臺

        Node.js 是2009 年5 月發(fā)布的基于Chrome V8 引擎的開源Javascript 運行環(huán)境,打破了過去Javascript 只能在瀏覽器中運行的局面。前后端編程環(huán)境統(tǒng)一,可大大降低開發(fā)成本。Node.js的優(yōu)點為[8-12]:

        1)運用事件驅(qū)動模型。Node.js 主要包括應(yīng)用層、V8引擎層、NodeAPI層和Libuv層。Libuv層維護了一個Event Queue的事件隊列,收到請求后,通過應(yīng)用層和NodeAPI 層將請求作為一個事件放到Event Queue 事件隊列中,并設(shè)置回調(diào)事件函數(shù),再繼續(xù)接收新的請求。在Libuv 層的Event Loop 事件循環(huán)讀取Event Queue中的事件,若遇到非阻塞事件,則自行處理,并在處理完后調(diào)用回調(diào)函數(shù)向上一層返回結(jié)果;若遇到阻塞事件,則委托給后臺線程池來處理,阻塞操作完成后,執(zhí)行結(jié)果與提供的回調(diào)函數(shù)一起再被放入事件隊列中,這樣可通過異步編程實現(xiàn)高吞吐量和高性能。

        2)運用異步、非阻塞式I/O 模型。每個I/O 操作均通過高度嵌套的回調(diào)函數(shù)處理,這是Node.js異步交互原則的規(guī)定[13-15]。當(dāng)執(zhí)行過程中遇到I/O阻塞(查詢數(shù)據(jù)庫、訪問遠程服務(wù)等)時,事件循環(huán)線程不會停下等待輸出結(jié)果,而會繼續(xù)執(zhí)行隊列中的下一個任務(wù)。在函數(shù)執(zhí)行時,Node.js在事件隊列中放置回調(diào)函數(shù),根據(jù)函數(shù)的完成快慢順序調(diào)用。

        3)跨平臺支持,非瀏覽器環(huán)境下運行性能好。V8引擎本身使用了一些最新的編譯技術(shù),可極大提升Javascript腳本語言編寫的代碼的運行速度。Node.js不僅對Chrome V8 引擎進行了封裝,還針對一些特殊用例進行了優(yōu)化,提供了替代的API,使V8引擎在非瀏覽器環(huán)境下運行更好,執(zhí)行Javascript的速度得到了提升、性能更好[16-17]。

        4)易于擴展網(wǎng)絡(luò)應(yīng)用。Node.js是基于Chrome V8引擎構(gòu)建的,因此它的模型與瀏覽器是類似的,運行在單個進程的單個線程上,但其仍可利用CPU的多個核心。Node.js通過child_process.fork()API來生成子進程,以實現(xiàn)多核CPU的利用。另外,建立在同一個接口上的Cluster模塊允許在進程之間共享套接字(sockets),以實現(xiàn)核心的負載均衡。

        3 中間件設(shè)計

        牧區(qū)草畜資源動態(tài)演變可視化系統(tǒng)的中間件軟件體系結(jié)構(gòu)拓撲圖見圖2。中間件連接草畜平衡預(yù)測預(yù)報系統(tǒng)、草畜資源動態(tài)演變可視化系統(tǒng)和地圖服務(wù)系統(tǒng)。草畜平衡預(yù)測預(yù)報系統(tǒng)主要負責(zé)示范實驗區(qū)典型干擾情景設(shè)置(參數(shù)輸入)、草畜平衡預(yù)測推演,界面基于Web開發(fā);地圖服務(wù)系統(tǒng)主要負責(zé)草畜平衡預(yù)測推演結(jié)果的數(shù)據(jù)發(fā)布,采用GeoServer地圖服務(wù)器進行地圖發(fā)布;草畜資源動態(tài)演變可視化系統(tǒng)主要負責(zé)動態(tài)展示草畜平衡預(yù)測推演全過程,基于Cesium三維開源地圖引擎實現(xiàn)。Cesium是一個用于構(gòu)建三維場景和地圖的開源三維渲染引擎,采用B/S 架構(gòu)且遵循WebGL三維繪圖標(biāo)準(zhǔn),基于Javascript編寫[18]。草畜平衡預(yù)測與動態(tài)展示數(shù)據(jù)交互中間件采用Node.js,主要負責(zé)用戶操作監(jiān)控、輸入?yún)?shù)轉(zhuǎn)發(fā)、推演結(jié)果發(fā)布、可視化系統(tǒng)控制和數(shù)據(jù)推送;此外,還包含一個全局的進程守護程序,負責(zé)解決Node.js 可能出現(xiàn)的異常,防止崩潰,包括回調(diào)函數(shù)發(fā)生的異常,保證中間件的可靠運行。

        圖2 體系結(jié)構(gòu)拓撲圖

        3.1 接口設(shè)計

        中間件接口采用一種面向資源的設(shè)計,所有操作與URI 綁定,借助http 請求方法獲取服務(wù)需要的資源,暴露在網(wǎng)絡(luò)中的是面向資源的服務(wù)。中間件包括兩個獨立進程:①基于GeoServer 的數(shù)據(jù)存儲發(fā)布服務(wù),提供中間服務(wù);②基于Cesiume 的三維展示前端,提供交互服務(wù)。系統(tǒng)基于Ajax函數(shù)庫進行二次封裝,實現(xiàn)了Client 類,包含GET、POST 等6 種請求方法,可方便地使用其處理RESTful請求。REST風(fēng)格的Web 服務(wù)能將網(wǎng)絡(luò)上的事物抽象為資源,并通過URI標(biāo)識。中間件的接口引擎引入該方式,將前端所需數(shù)據(jù)以及對數(shù)據(jù)操作的組合看作資源。URL的基本格式包括:①協(xié)議,通常為http或https;②服務(wù)器主機地址和端口號,主機地址可以是域名、主機名或IP 地址,默認端口號可省略;③資源相對路徑,通常用“/”隔開;④請求參數(shù),由問號開始用等號隔開的鍵值對對應(yīng)的參數(shù)組成,多個參數(shù)間用“&”分隔。在符合URI設(shè)計標(biāo)準(zhǔn)的前提下,采用“項目編碼/分類編碼/資源編碼”的格式定義資源相對路徑,各編碼由前端開發(fā)人員通過數(shù)據(jù)接口定制工具自行定制服務(wù)接口地址。中間件主要包括情景監(jiān)聽訂單輸入接口、情景監(jiān)聽輸出接口、情景列表獲取接口、查詢情景數(shù)據(jù)接口、顯示配置文件接口、情景預(yù)測輸出接口、地圖服務(wù)圖層更新接口等。

        進程一主業(yè)務(wù)接口通過RESTful 接口監(jiān)聽人為情景草畜平衡預(yù)測結(jié)果,主要包括請求的任務(wù)ID、預(yù)測開始的時間、預(yù)測的年份、牲畜類型以及人為情景草畜平衡時間序列矩陣。成功獲取預(yù)測結(jié)果后動態(tài)更新GeoServer 圖層,為用戶后續(xù)請求提供響應(yīng)。輸入?yún)?shù)、類型屬性、牛和羊?qū)傩浴⑤敵鰠?shù)見表1~4。進程二主業(yè)務(wù)接口通過RESTful 接口提交訂單任務(wù)ID,查詢進程一狀態(tài),若錄入成功,則通過Cesium 提供基于時間序列的三維交互響應(yīng);若未成功,由可視化插件顯示未成功響應(yīng)結(jié)果。輸入、輸出參數(shù)見表5、6。

        表1 進程一輸入?yún)?shù)

        表2 類型屬性

        表3 牛和羊?qū)傩?/p>

        表4 進程一輸出參數(shù)

        表5 進程二輸入?yún)?shù)

        表6 進程二輸出參數(shù)

        3.2 中間件測試

        在Windows 10 平臺,通過Chrome 瀏覽器啟動草畜平衡預(yù)測預(yù)報系統(tǒng),輸入草畜平衡模型計算參數(shù),中間件實時接收輸入?yún)?shù),啟動數(shù)據(jù)中轉(zhuǎn)服務(wù);等待模型計算完成,將計算圖像結(jié)果通過GeoServer進行服務(wù)發(fā)布;完成地圖服務(wù)發(fā)布后,進行草畜資源動態(tài)演變可視化系統(tǒng)的參數(shù)配置,并打開可視化系統(tǒng)實現(xiàn)草原NPP、GPP、生物量等情景關(guān)鍵參數(shù)以及草原載畜量變化的時空動態(tài)展示。測試效果見圖3,用戶設(shè)置預(yù)測起始年為2017年、預(yù)測3年的草畜平衡,進程一得到計算結(jié)果后,由進程二提供連續(xù)3 年的預(yù)測結(jié)果,并進行動態(tài)交互展示。

        圖3 系統(tǒng)效果圖

        4 結(jié) 語

        本文基于Node.js設(shè)計了草畜平衡數(shù)據(jù)中間件,并在開源Cesium JS 平臺上進行了驗證。結(jié)果表明,中間件實現(xiàn)了情景驅(qū)動的草畜資源演變過程的動態(tài)展示功能,包括情景關(guān)鍵參數(shù)展示,草原NPP、GPP、生物量等演變過程時空動態(tài)展示,草原載畜量變化過程時空動態(tài)展示等。中間件基于Node.js 開發(fā),使得前、后端共用一部分代碼和邏輯,有效保證了最高的效率和最低的維護成本,提高了系統(tǒng)的可復(fù)用性。同時,由于Node.js 采用事件驅(qū)動、非堵塞I/O 模型,保證了中間件的輕量化,有利于系統(tǒng)部署與安裝。草畜平衡數(shù)據(jù)中間件下一步的研究方向為提高中間件的并發(fā)處理能力,包括將服務(wù)器改進為多核Node服務(wù)器、引入Redis 高性能緩存、消息隊列機制等,使中間件具有更加優(yōu)異的并發(fā)處理能力。

        猜你喜歡
        可視化資源系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        基于CiteSpace的足三里穴研究可視化分析
        基礎(chǔ)教育資源展示
        基于Power BI的油田注水運行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        一樣的資源,不一樣的收獲
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        資源回收
        二区三区亚洲精品国产| 婷婷五月综合丁香在线| 少妇人妻偷人精品无码视频| 久久99精品久久久久九色 | 国产白嫩美女在线观看| 亚洲AⅤ樱花无码| 亚洲av一二三四五区在线| 性高朝久久久久久久3小时| 九九精品国产亚洲av日韩| 九九精品无码专区免费| 久久精品国产亚洲av成人无人区| av日韩一区二区三区四区| 亚洲av无码精品蜜桃| 欧美成人久久久| 色视频日本一区二区三区 | 青青草原亚洲在线视频| 中文字字幕在线中文乱码解| yw尤物av无码国产在线观看| 国产精品久免费的黄网站| 亚洲国产av自拍精选| 日本一区二区三区高清在线视频 | 亚洲人成网7777777国产| 日韩在线视频不卡一区二区三区| 性感美女脱内裤无遮挡| av综合网男人的天堂| 亚洲欲色欲香天天综合网| 热热久久超碰精品中文字幕 | 久久夜色撩人精品国产小说| 中日韩字幕中文字幕一区| 亚洲精品视频中文字幕| 亚洲av日韩av天堂一区二区三区 | 全部孕妇毛片丰满孕妇孕交| 中文人妻AV高清一区二区| 91精品国产高清久久福利| 97色偷偷色噜噜狠狠爱网站| 色两性网欧美| 国产黄色一区二区福利| 亚洲精品国产电影| 黑人巨大白妞出浆| 开心激情站开心激情网六月婷婷| 性感女教师在线免费观看|