• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于微服務(wù)架構(gòu)的航道工程BIM綜合管理平臺(tái)技術(shù)研究

      2022-01-24 07:11:50駱光磊宋云濤
      中國(guó)港灣建設(shè) 2021年12期
      關(guān)鍵詞:調(diào)用航道架構(gòu)

      駱光磊,宋云濤

      (1.中交第二航務(wù)工程勘察設(shè)計(jì)院有限公司,湖北 武漢 430000;2.長(zhǎng)江南京航道工程局,江蘇 南京 210011)

      0 引言

      隨著水運(yùn)行業(yè)信息化建設(shè)的推進(jìn),針對(duì)航道工程的信息化管理系統(tǒng)不斷涌現(xiàn),通過信息化手段,可以快速地填報(bào)相關(guān)信息和管控施工過程,提高了工程的管理水平[1-2]。然而,由于航道工程施工周期長(zhǎng)、影響因素多,施工和運(yùn)維過程中往往存在頻繁的需求變更,傳統(tǒng)的單體式架構(gòu)系統(tǒng)需要對(duì)整個(gè)系統(tǒng)統(tǒng)一變更和部署才能完成一次更新,消耗開發(fā)人員和設(shè)計(jì)人員的大量精力和時(shí)間;另外,隨著航道工程智能化的發(fā)展,工程信息化系統(tǒng)有了更多要求和標(biāo)準(zhǔn),使得整個(gè)航道工程管控系統(tǒng)規(guī)模日益增大,傳統(tǒng)的單體架構(gòu)在應(yīng)對(duì)這種復(fù)雜系統(tǒng)時(shí),不可避免地會(huì)產(chǎn)生性能降低、拓展性變差和維護(hù)困難的問題[3],限制了系統(tǒng)的實(shí)用性,最終導(dǎo)致系統(tǒng)難以推行。

      為了適應(yīng)當(dāng)前航道工程項(xiàng)目的業(yè)務(wù)需求,信息化系統(tǒng)的架構(gòu)升級(jí)成為了推進(jìn)行業(yè)整體數(shù)字化、智能化的必要條件,另外,隨著當(dāng)前工程建設(shè)領(lǐng)域?qū)?xiàng)目管控精細(xì)化要求的提升,BIM技術(shù)也成為了評(píng)判系統(tǒng)功能是否完善的重要標(biāo)準(zhǔn)。為此,以微服務(wù)架構(gòu)搭建航道工程BIM綜合管理平臺(tái),將整個(gè)系統(tǒng)切分為不同服務(wù),引入BIM技術(shù)對(duì)航道工程進(jìn)行建模,將工程中每個(gè)構(gòu)件的設(shè)計(jì)、施工、運(yùn)維階段信息全量仿真模擬[4],在保證工程方案安全準(zhǔn)確的同時(shí),進(jìn)一步提高項(xiàng)目的管理水平。

      1 微服務(wù)架構(gòu)

      1.1 微服務(wù)架構(gòu)思想

      微服務(wù)架構(gòu)(Micro Service Architecture,MSA)是相對(duì)于單體架構(gòu)提出的一種軟件架構(gòu)方式,將單一的應(yīng)用程序劃分成為多個(gè)微小的服務(wù),即微服務(wù)[5],所有微服務(wù)注冊(cè)到服務(wù)中心并暴露相應(yīng)的API接口,保證不同服務(wù)之間可以相互調(diào)用,進(jìn)而實(shí)現(xiàn)系統(tǒng)的整體功能。微服務(wù)架構(gòu)中,每個(gè)微服務(wù)在獨(dú)立的進(jìn)程中運(yùn)行,并且能夠獨(dú)立部署到生產(chǎn)環(huán)境中,實(shí)現(xiàn)了應(yīng)用系統(tǒng)的并行開發(fā),大大提高了代碼開發(fā)效率,且高度的解耦性保證了整個(gè)系統(tǒng)的容錯(cuò)性和兼容性,整個(gè)系統(tǒng)可以不拘泥于單一編程語(yǔ)言的實(shí)現(xiàn)。

      1.2 微服務(wù)框架

      目前行業(yè)主流微服務(wù)框架有阿里巴巴研發(fā)的Dubbo框架和Pivotal團(tuán)隊(duì)的Spring Cloud框架,兩者各有其側(cè)重點(diǎn)[6]。Dubbo專注于服務(wù)治理,提供了高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,但是要構(gòu)建出一個(gè)完整的微服務(wù)應(yīng)用,還需要開發(fā)者整合網(wǎng)關(guān)、服務(wù)注冊(cè)、負(fù)載均衡等基礎(chǔ)應(yīng)用;而Spring Cloud側(cè)重于對(duì)整個(gè)系統(tǒng)架構(gòu)的整合,將微服務(wù)架構(gòu)各個(gè)關(guān)鍵點(diǎn)的成熟技術(shù)和框架整合到Spring Cloud框架中[7],按照“約定優(yōu)先于配置”的原則,實(shí)現(xiàn)應(yīng)用的快速搭建,減少了開發(fā)人員大量的配置工作。

      總體上看,Spring Cloud框架在開發(fā)友好性上要優(yōu)于Dubbo框架,為提高系統(tǒng)的搭建效率和穩(wěn)定性,采用了微服務(wù)框架Spring Cloud搭建航道BIM平臺(tái)。

      2 航道工程BIM綜合管理平臺(tái)設(shè)計(jì)

      航道工程BIM綜合管理平臺(tái)是指利用BIM建模技術(shù),精細(xì)化管理航道工程在設(shè)計(jì)階段、施工階段、運(yùn)維階段的各個(gè)環(huán)節(jié),以信息化手段完成質(zhì)量安全檢查、流程審批、文件歸檔等繁瑣操作,提升工程管理的效率。通過將航道工程中主要業(yè)務(wù)進(jìn)行分解,利用Spring Cloud微服務(wù)框架對(duì)各服務(wù)進(jìn)行治理,實(shí)現(xiàn)了系統(tǒng)的快速搭建,同時(shí)引入多種組件保證了平臺(tái)的易用性和穩(wěn)定性,最終形成了一套易開發(fā)、易部署、易維護(hù)的航道BIM平臺(tái)。

      2.1 系統(tǒng)總體架構(gòu)

      鑒于航道BIM平臺(tái)多業(yè)務(wù)特點(diǎn),基于微服務(wù)架構(gòu)實(shí)現(xiàn)應(yīng)用系統(tǒng),系統(tǒng)總體架構(gòu)圖如圖1。

      圖1 系統(tǒng)總體架構(gòu)圖Fig.1 Overall system architecture

      系統(tǒng)從架構(gòu)角度縱向切分為4個(gè)層級(jí):表現(xiàn)層、基礎(chǔ)服務(wù)層、業(yè)務(wù)層和數(shù)據(jù)層,核心模塊為業(yè)務(wù)管理服務(wù)、流程管理服務(wù)、BIM模型服務(wù)、數(shù)據(jù)庫(kù)服務(wù)。

      前端交互界面基于Vue.js框架實(shí)現(xiàn)與后臺(tái)的松散耦合,采用Nginx搭建網(wǎng)關(guān)實(shí)現(xiàn)轉(zhuǎn)發(fā)請(qǐng)求、過濾請(qǐng)求和負(fù)載均衡等功能;后端系統(tǒng)采用Spring Cloud技術(shù)將不同的業(yè)務(wù)分割成微服務(wù),每個(gè)服務(wù)注冊(cè)到Zookeeper服務(wù)注冊(cè)中心,再通過Dubbo框架實(shí)現(xiàn)各個(gè)子服務(wù)之間的遠(yuǎn)程調(diào)用;為避免各業(yè)務(wù)服務(wù)直接調(diào)用數(shù)據(jù)庫(kù)導(dǎo)致邏輯復(fù)雜和重復(fù)工作,基于MyBatis框架技術(shù)單獨(dú)建立數(shù)據(jù)庫(kù)服務(wù),向外提供統(tǒng)一的數(shù)據(jù)訪問接口,實(shí)現(xiàn)業(yè)務(wù)服務(wù)與數(shù)據(jù)庫(kù)的通信;BIM模型服務(wù)集成了SuperMap三維GIS平臺(tái)[8],將BIM模型數(shù)據(jù)在PostgreSQL數(shù)據(jù)庫(kù)中建庫(kù)建表,利用數(shù)據(jù)關(guān)聯(lián)性打通了BIM模型與業(yè)務(wù)之間的數(shù)據(jù)隔離。

      2.2 關(guān)鍵技術(shù)研究

      面對(duì)不斷變化的工程需求時(shí),為搭建穩(wěn)定高效的航道工程BIM綜合管理平臺(tái),研究設(shè)計(jì)了如下技術(shù)方案。

      1)服務(wù)注冊(cè)中心與遠(yuǎn)程調(diào)用

      不同微服務(wù)之間雖然是高度解耦的,但是業(yè)務(wù)中不可避免地會(huì)存在數(shù)據(jù)傳遞或相互調(diào)用的需求,因此不同服務(wù)之間需要建立通信機(jī)制。本平臺(tái)采用Zookeeper和Dubbo作為服務(wù)間不同接口遠(yuǎn)程調(diào)用的橋梁。

      采用Zookeeper作為服務(wù)注冊(cè)中心,所有微服務(wù)通過配置注冊(cè)中心的IP和端口號(hào),注冊(cè)到Zookeeper上,以便其他服務(wù)通過注冊(cè)中心查找該服務(wù)。通過Dubbo管理不同服務(wù)之間的遠(yuǎn)程調(diào)用,Dubbo監(jiān)控消費(fèi)方的調(diào)用行為,在Zookeeper上查找相應(yīng)的服務(wù)提供方并調(diào)用接口,實(shí)現(xiàn)兩個(gè)服務(wù)之間的遠(yuǎn)程調(diào)用。

      使用時(shí),在服務(wù)消費(fèi)方創(chuàng)建遠(yuǎn)程服務(wù)調(diào)用類,并將服務(wù)提供者的接口用@Reference注解標(biāo)注,Dubbo自動(dòng)將與消費(fèi)方接口同名的遠(yuǎn)程接口注入到此類中,在本服務(wù)其他模塊中調(diào)用該接口便可實(shí)現(xiàn)不同服務(wù)之間的遠(yuǎn)程調(diào)用。

      2)緩存方案

      航道BIM平臺(tái)中各階段的業(yè)務(wù)數(shù)據(jù)龐雜,為了提升數(shù)據(jù)查詢效率,本平臺(tái)引入Redis緩存機(jī)制對(duì)數(shù)據(jù)進(jìn)行快速查詢。Redis是一種NoSql數(shù)據(jù)庫(kù),以鍵值對(duì)方式存儲(chǔ)數(shù)據(jù),利用Redis將已經(jīng)查詢過的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,下次查詢首先在內(nèi)存中查詢數(shù)據(jù),如果命中內(nèi)存,則直接獲取數(shù)據(jù),避免了磁盤數(shù)據(jù)的讀取,顯著提升系統(tǒng)速度。

      在Spring Cloud框架中整合Redis,首先在Maven中引入Redis依賴,并配置Redis數(shù)據(jù)庫(kù)的地址和端口等配置信息:在SpringCloud的啟動(dòng)類中添加@EnableCaching注解開啟緩存,在查詢接口中添加@Cacheable注解讓該方法擁有Redis緩存,此時(shí)該方法每次查詢時(shí)都會(huì)先在Redis緩存中查找相關(guān)數(shù)據(jù)。

      3)網(wǎng)關(guān)設(shè)計(jì)與負(fù)載均衡

      不同微服務(wù)通常有不同的網(wǎng)絡(luò)地址或不同端口,為了向服務(wù)調(diào)用方提供統(tǒng)一且穩(wěn)定的服務(wù)入口,需要進(jìn)行網(wǎng)關(guān)設(shè)計(jì),在服務(wù)調(diào)用方和微服務(wù)之間加入網(wǎng)關(guān),可實(shí)現(xiàn)無(wú)感知的調(diào)用服務(wù),便于后期微服務(wù)的擴(kuò)展和維護(hù)。

      本平臺(tái)采用Nginx技術(shù)搭建API網(wǎng)關(guān),利用Nginx的反向代理功能,將后端微服務(wù)暴露的網(wǎng)絡(luò)地址或API接口進(jìn)行代理,實(shí)現(xiàn)統(tǒng)一的接口調(diào)用。Nginx的另一個(gè)重要功能是實(shí)現(xiàn)負(fù)載均衡,當(dāng)同一個(gè)微服務(wù)部署到多個(gè)服務(wù)器時(shí),可以通過負(fù)載均衡策略分發(fā)調(diào)用請(qǐng)求,避免某臺(tái)服務(wù)器荷載過大而產(chǎn)生阻塞現(xiàn)象。在Nginx服務(wù)器啟動(dòng)前,修改配置文件,將需要代理的后端微服務(wù)添加到Nginx的代理服務(wù)server中,前端便可通過指定域名或url路徑調(diào)用微服務(wù)接口。

      3 航道工程BIM綜合管理平臺(tái)實(shí)現(xiàn)

      基于以上技術(shù)和框架,以長(zhǎng)江航道綜合整治項(xiàng)目為實(shí)施對(duì)象,搭建了長(zhǎng)江航道BIM綜合管理平臺(tái),該平臺(tái)以微服務(wù)的方式實(shí)現(xiàn)了工作業(yè)務(wù)填報(bào)、工作流程審批、BIM模型交互等主要功能,涵蓋了工程設(shè)計(jì)階段、施工階段和運(yùn)維階段的各類業(yè)務(wù),可以滿足航道項(xiàng)目管理的多數(shù)場(chǎng)景,為航道工程管理提供高效手段。

      3.1 服務(wù)接口實(shí)現(xiàn)

      服務(wù)接口是實(shí)現(xiàn)平臺(tái)功能的最小單元,每個(gè)接口承載一種業(yè)務(wù)需求,復(fù)雜的業(yè)務(wù)邏輯在接口內(nèi)部實(shí)現(xiàn),接口調(diào)用方只需關(guān)注接口的輸入輸出。為適應(yīng)航道項(xiàng)目各種業(yè)務(wù)需求,開發(fā)了數(shù)目眾多的服務(wù)接口,按接口類型分為4類:業(yè)務(wù)功能接口、工作流程接口、BIM模型接口和基礎(chǔ)服務(wù)接口,各系統(tǒng)主要模塊接口定義格式見表1。

      表1 系統(tǒng)主要模塊接口定義Table 1 Interface definition of main modules of the system

      3.2 平臺(tái)功能實(shí)現(xiàn)

      1)業(yè)務(wù)管理功能

      業(yè)務(wù)管理提供對(duì)各種業(yè)務(wù)數(shù)據(jù)的增刪改查、導(dǎo)入導(dǎo)出等功能,以及復(fù)雜業(yè)務(wù)的自動(dòng)匯總、計(jì)算等邏輯功能。業(yè)務(wù)管理服務(wù)集成了工程各類基礎(chǔ)數(shù)據(jù)、進(jìn)度管理、質(zhì)量管控、計(jì)量支付、安全管理、運(yùn)行數(shù)據(jù)監(jiān)控等多種航道項(xiàng)目常用功能,業(yè)務(wù)人員通過進(jìn)入相應(yīng)模塊進(jìn)行業(yè)務(wù)快速填報(bào),提升項(xiàng)目運(yùn)行效率。

      2)流程管理功能

      流程管理是工程項(xiàng)目中的重要環(huán)節(jié),施工完成情況、質(zhì)量審批、工程支付、設(shè)計(jì)圖紙審批等眾多業(yè)務(wù)都需要按照流程逐步進(jìn)行,本平臺(tái)通過流程管理服務(wù)控制所有業(yè)務(wù)流程進(jìn)度,按照流程設(shè)計(jì)、業(yè)務(wù)填報(bào)、觸發(fā)流程、流程審批的順序,完成業(yè)務(wù)數(shù)據(jù)的流程控制。

      3)BIM管理功能

      BIM管理功能是平臺(tái)對(duì)整個(gè)項(xiàng)目可視化的模塊,可以使用戶從多角度掌握模型狀態(tài)、進(jìn)行碰撞檢查等工作;另外,通過將BIM模塊與業(yè)務(wù)服務(wù)關(guān)聯(lián),用戶可以通過每個(gè)構(gòu)件查詢其關(guān)聯(lián)的業(yè)務(wù)信息和業(yè)務(wù)狀態(tài),并方便地對(duì)構(gòu)件關(guān)聯(lián)的業(yè)務(wù)進(jìn)行填報(bào)和流程審批工作,為用戶提供一種管理項(xiàng)目的新維度。BIM管理功能典型界面見圖2。

      圖2 BIM平臺(tái)典型界面Fig.2 Typical interface of BIM platform

      4 結(jié)語(yǔ)

      為解決傳統(tǒng)單體系統(tǒng)架構(gòu)模塊復(fù)雜、可拓展性差等問題,研究設(shè)計(jì)了航道工程系統(tǒng)相關(guān)的系統(tǒng)架構(gòu)及關(guān)鍵技術(shù),將BIM技術(shù)引入系統(tǒng),搭建基于微服務(wù)架構(gòu)的航道工程BIM綜合管理平臺(tái),該平臺(tái)實(shí)現(xiàn)了系統(tǒng)的快速開發(fā)、快速部署、快速拓展,可根據(jù)實(shí)際工程需求不斷接入新服務(wù)模塊,為航道工程全生命周期管理提供高效手段。

      猜你喜歡
      調(diào)用航道架構(gòu)
      基于FPGA的RNN硬件加速架構(gòu)
      功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
      汽車工程(2021年12期)2021-03-08 02:34:30
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
      新航道
      留學(xué)(2017年5期)2017-03-29 03:03:54
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
      我國(guó)首條40萬(wàn)噸級(jí)航道正式開建
      水道港口(2014年1期)2014-04-27 14:14:38
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      屏山县| 桃源县| 深水埗区| 鸡东县| 视频| 灵寿县| 响水县| 荥经县| 海阳市| 张家川| 兴国县| 平远县| 建宁县| 浦北县| 游戏| 苏州市| 平乡县| 开鲁县| 拉孜县| 沁水县| 怀宁县| 浦江县| 罗城| 铜梁县| 平武县| 高州市| 弥勒县| 图片| 托克托县| 呼图壁县| 潞西市| 富阳市| 辛集市| 祁门县| 中牟县| 吐鲁番市| 新蔡县| 新疆| 云龙县| 长白| 汕尾市|