徐旻洋 高承勇 周向東2 王國(guó)儉
(1. 華東建筑集團(tuán)股份有限公司,上海 200041; 2.復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,上海 200433)
建筑設(shè)計(jì)領(lǐng)域是較早開展信息化建設(shè)的傳統(tǒng)行業(yè),隨著CAD(計(jì)算機(jī)輔助設(shè)計(jì))技術(shù)的普及和深入發(fā)展,全行業(yè)已經(jīng)跨過數(shù)字化生產(chǎn)的信息技術(shù)門檻,CAD技術(shù)的推廣使用使得建筑設(shè)計(jì)領(lǐng)域沉淀了大量寶貴的建筑設(shè)計(jì)數(shù)字資源[1-3]。近年來,在國(guó)家的大力推進(jìn)和倡導(dǎo)之下,云計(jì)算、大數(shù)據(jù)和人工智能技術(shù)在信息技術(shù)領(lǐng)域蓬勃發(fā)展,涌現(xiàn)出越來越多的成功應(yīng)用,整個(gè)建筑設(shè)計(jì)行業(yè)信息化建設(shè)也正面臨著全面信息化轉(zhuǎn)型的機(jī)遇和挑戰(zhàn)[4]。
隨著工業(yè)化水平的不斷提高,信息化的承載及推動(dòng)作用也在不斷提升,而且企業(yè)的信息化發(fā)展程度將決定企業(yè)發(fā)展的速度,信息化將大幅度地提高企業(yè)管理效率、工作能級(jí)、合規(guī)性、流程化、標(biāo)準(zhǔn)化等方面的能力[5-6]。對(duì)于建筑設(shè)計(jì)行業(yè)來說,信息化與設(shè)計(jì)的結(jié)合,信息化與管理的結(jié)合是一項(xiàng)不可回避的課題。建筑設(shè)計(jì)行業(yè)企業(yè)的轉(zhuǎn)型升級(jí)同樣需要由信息化來驅(qū)動(dòng),特別是從單一業(yè)態(tài)向建筑咨詢、建筑工程、建筑總承包、建筑互聯(lián)網(wǎng)等多業(yè)態(tài)、創(chuàng)新型業(yè)態(tài)的轉(zhuǎn)型發(fā)展,依賴于信息化及設(shè)計(jì)管理一體化的信息平臺(tái)[7]。
建筑設(shè)計(jì)行業(yè)在設(shè)計(jì)系統(tǒng)的發(fā)展歷程從“甩圖板”、協(xié)同設(shè)計(jì)到全過程數(shù)字管理,經(jīng)歷了較長(zhǎng)的過程。與傳統(tǒng)制造業(yè)相比,建筑行業(yè)在生產(chǎn)效率及信息技術(shù)的投入等方面均處在劣勢(shì),網(wǎng)絡(luò)信息化進(jìn)程滯后,造成行業(yè)生產(chǎn)呈現(xiàn)低效、粗放等特點(diǎn)[8-10]。
作為大型建筑設(shè)計(jì)企業(yè)信息化建設(shè)的核心,生產(chǎn)業(yè)務(wù)平臺(tái)在協(xié)同設(shè)計(jì)、質(zhì)量校核、數(shù)據(jù)管理等方面承擔(dān)著重要的作用[11]。目前,行業(yè)內(nèi)多數(shù)大型建筑設(shè)計(jì)企業(yè)的生產(chǎn)業(yè)務(wù)系統(tǒng)建設(shè)已經(jīng)超過5年,有些已將近10年,面對(duì)企業(yè)規(guī)模的擴(kuò)大、全國(guó)化布局發(fā)展以及互聯(lián)網(wǎng)技術(shù)的興起,既有的生產(chǎn)業(yè)務(wù)系統(tǒng)已經(jīng)難以滿足需求。主要體現(xiàn)在管理類功能、技術(shù)類功能和系統(tǒng)性能三大方面:
(1)管理類功能,包括項(xiàng)目策劃、項(xiàng)目管理、業(yè)務(wù)流程、質(zhì)量管理、標(biāo)準(zhǔn)規(guī)范管理、設(shè)計(jì)資源共享管理、人員管理、工具軟件管理、工作環(huán)境管理和系統(tǒng)集成等;
(2)技術(shù)類功能,包括生產(chǎn)業(yè)務(wù)數(shù)據(jù)庫(kù)、全國(guó)化異地協(xié)同、多數(shù)據(jù)格式支持、版本控制、BIM協(xié)同、質(zhì)量檢查、設(shè)計(jì)標(biāo)準(zhǔn)與軟件集成、業(yè)務(wù)社交和高性能分析應(yīng)用等;
(3)系統(tǒng)性能,包括快速高效的數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計(jì)和業(yè)務(wù)流轉(zhuǎn)等,例如,單個(gè)文件的操作響應(yīng)時(shí)間小于1s,100-200個(gè)文件的批量操作響應(yīng)時(shí)間小于1m,200-1 000個(gè)文件的批量操作響應(yīng)時(shí)間小于3m,1 000-3 000個(gè)文件的批量操作響應(yīng)時(shí)間小于5m等。
大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)必須支持海量用戶的在線工作,包括企業(yè)內(nèi)部的成千上萬名設(shè)計(jì)師和項(xiàng)目外部的眾多參與方團(tuán)隊(duì),支持全國(guó)化異地協(xié)同辦公。這樣的應(yīng)用場(chǎng)景對(duì)平臺(tái)架構(gòu)提出了很高的要求,包括支持超大規(guī)模用戶、高可靠性、強(qiáng)通用性、靈活擴(kuò)展性等,針對(duì)這樣的需求,只有云計(jì)算機(jī)平臺(tái)可以提供有效的技術(shù)支撐。
面對(duì)大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)的建設(shè)需求,本文提出必須以生產(chǎn)業(yè)務(wù)數(shù)據(jù)管理為核心,打造互聯(lián)互通的生產(chǎn)工作環(huán)境,實(shí)現(xiàn)工程建設(shè)行業(yè)業(yè)務(wù)鏈的橫向整合、縱向連通,資源整合、規(guī)范流程、統(tǒng)一標(biāo)準(zhǔn),打造面向工程建設(shè)行業(yè)的一體化平臺(tái)。實(shí)現(xiàn)以“數(shù)據(jù)驅(qū)動(dòng)”型建筑設(shè)計(jì)企業(yè)為目標(biāo)的信息技術(shù)轉(zhuǎn)型升級(jí)與改造,總體建設(shè)目標(biāo)是數(shù)據(jù)互聯(lián),提供一個(gè)基于云計(jì)算架構(gòu)的全生命周期業(yè)務(wù)應(yīng)用與管理平臺(tái),讓用戶在一個(gè)統(tǒng)一的數(shù)據(jù)環(huán)境下,高效地開展生產(chǎn)管理工作。
平臺(tái)整體架構(gòu)分為平臺(tái)門戶、全過程數(shù)字化生產(chǎn)管理、數(shù)據(jù)管理和大數(shù)據(jù)支撐,如圖1所示。
(1)生產(chǎn)平臺(tái)門戶,為企業(yè)員工、業(yè)主方、外委單位等其他參與方,提供一個(gè)生產(chǎn)平臺(tái)的統(tǒng)一入口,支持LDAP域控賬號(hào)單點(diǎn)登錄和信息安全認(rèn)證管理。
(2)全過程數(shù)字化生產(chǎn)管理,包含項(xiàng)目立項(xiàng)、實(shí)施策劃、項(xiàng)目工作流程和工作內(nèi)容策劃、協(xié)同設(shè)計(jì)、設(shè)計(jì)過程的組織與管理、項(xiàng)目標(biāo)準(zhǔn)、設(shè)計(jì)交付、設(shè)校審流程、電子簽名、設(shè)計(jì)歸檔、在線質(zhì)量檢查、企業(yè)社交、內(nèi)容管理、數(shù)據(jù)融合及可視化、BIM協(xié)同、文件共享、移動(dòng)端支持、數(shù)據(jù)接口等生產(chǎn)業(yè)務(wù)所需的全部功能,實(shí)現(xiàn)業(yè)務(wù)協(xié)同和管理協(xié)同[12]。
(3)數(shù)據(jù)管理層,提供各類型生產(chǎn)業(yè)務(wù)和管理數(shù)據(jù)的統(tǒng)一存儲(chǔ)和管理,通過數(shù)據(jù)字典、共享數(shù)據(jù)總線及大數(shù)據(jù)實(shí)時(shí)采集進(jìn)行系統(tǒng)之間的數(shù)據(jù)傳遞與交互,確保生產(chǎn)平臺(tái)與既有系統(tǒng)的有機(jī)整合與協(xié)作。
(4)大數(shù)據(jù)支撐層,生產(chǎn)業(yè)務(wù)和企業(yè)管理數(shù)據(jù)經(jīng)過沉淀,經(jīng)數(shù)據(jù)總線流轉(zhuǎn)到大數(shù)據(jù)平臺(tái)進(jìn)行數(shù)據(jù)分析及可視化支持,為知識(shí)管理系統(tǒng)、人工智能系統(tǒng)、領(lǐng)導(dǎo)駕駛艙提供支撐[13]。
圖1 生產(chǎn)業(yè)務(wù)平臺(tái)整理架構(gòu)
平臺(tái)整體架構(gòu)中全過程數(shù)字化生產(chǎn)管理部分,涉及眾多的應(yīng)用模塊(服務(wù)),每一項(xiàng)應(yīng)用模塊滿足不同的功能需求,互相之間存在關(guān)聯(lián)但又較為獨(dú)立。另外,針對(duì)不同的應(yīng)用場(chǎng)景需求,各類服務(wù)的承載量是存在差異的,例如,流程管理模塊,在項(xiàng)目出圖期間,大量的設(shè)校審流程需要應(yīng)用到該模塊功能,具有峰值壓力大,均值壓力小的特點(diǎn),這就需要可靈活拓展的技術(shù)架構(gòu)提供支撐。各個(gè)服務(wù)可以獨(dú)立運(yùn)行,根據(jù)應(yīng)用需要進(jìn)行增減。微服務(wù)架構(gòu)正是解決此類需求的最佳技術(shù)手段,微服務(wù)是用一組小服務(wù)的方式來構(gòu)建一個(gè)應(yīng)用,服務(wù)獨(dú)立運(yùn)行在不同的進(jìn)程中,服務(wù)之間通過輕量的通訊機(jī)制(如RESTful接口)來交互,并且服務(wù)可以通過自動(dòng)化部署方式獨(dú)立部署。正因?yàn)槲⒎?wù)架構(gòu)中,服務(wù)之間是相互獨(dú)立的,所以不同的服務(wù)可以使用不同的語言來開發(fā),或者根據(jù)業(yè)務(wù)的需求使用不同類型的數(shù)據(jù)庫(kù)。平臺(tái)技術(shù)架構(gòu)如圖2所示,其特點(diǎn)包括以下五方面:
(1)采用企業(yè)云架構(gòu)(Iaas/Paas/Saas):包含集團(tuán)/分院/異地多級(jí)/混合云架構(gòu),協(xié)同設(shè)計(jì)數(shù)據(jù)和操作均在云上進(jìn)行,以滿足數(shù)據(jù)可控、異地協(xié)同的需求;
(2)各核心服務(wù)部署在PaaS層,采用服務(wù)治理和微服務(wù)框架集成工作;適合大規(guī)模分布式部署,滿足集團(tuán)大規(guī)模應(yīng)用,以顯著提高海量用戶的并發(fā)使用以及海量文件的并發(fā)流轉(zhuǎn);
(3)突出數(shù)據(jù)管理的核心作用,設(shè)計(jì)生產(chǎn)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)資源池,通過web服務(wù)和數(shù)據(jù)庫(kù)中間件,實(shí)現(xiàn)數(shù)據(jù)共享和整合,并兼顧遺留系統(tǒng)數(shù)據(jù)交換;
(4)采用高可用部署和負(fù)載均衡等技術(shù)框架,提高系統(tǒng)的大規(guī)模并發(fā)應(yīng)用的性能及穩(wěn)定性,可擴(kuò)展性,快速迭代發(fā)布和滾動(dòng)升級(jí)等;
(5)系統(tǒng)框架與大數(shù)據(jù)平臺(tái)保持良好的兼容性與互通能力,可以方便地集成與擴(kuò)展,系統(tǒng)具有較強(qiáng)的數(shù)據(jù)分析與可視化能力,使數(shù)據(jù)驅(qū)動(dòng)的生產(chǎn)設(shè)計(jì)理念得到良好的體現(xiàn)。
下文將針對(duì)生產(chǎn)業(yè)務(wù)平臺(tái)技術(shù)架構(gòu)中的四項(xiàng)核心關(guān)鍵技術(shù)進(jìn)行詳細(xì)說明。
微服務(wù)將系統(tǒng)按照業(yè)務(wù)責(zé)任劃分為彼此獨(dú)立的多個(gè)服務(wù),既保證了概念的清晰和自洽,又保證了系統(tǒng)的靈活性、伸縮性。能獨(dú)立部署,具備自動(dòng)化、可觀察 、故障隔離、自動(dòng)恢復(fù)等特性,由此提供高可用保障,如圖3所示。具體包含以下特點(diǎn):
1)小而專注:根據(jù)業(yè)務(wù)的邊界來確定服務(wù)的邊界,將應(yīng)用部署在獨(dú)立的服務(wù)上,可避免代碼庫(kù)過大衍生的問題;
2)自治:一個(gè)微服務(wù)是一個(gè)獨(dú)立的實(shí)體,它可以獨(dú)立部署、獨(dú)立修改,服務(wù)之間通過 API進(jìn)行通信,微服務(wù)的自治性就是服務(wù)與其他的服務(wù)之間很好的解耦;
3)組件化與多服務(wù):服務(wù)(Services) 是進(jìn)程外的組件,它們通過Web Service請(qǐng)求或遠(yuǎn)程調(diào)用機(jī)制進(jìn)行通信。目前大多數(shù)的程序編寫,無論是使用C語言還是Java都會(huì)引入很多組件。微服務(wù)把原來的組件也單獨(dú)變成服務(wù),例如日志、消息、應(yīng)用過程都作為單獨(dú)的服務(wù),這就是組件化與多服務(wù)。微服務(wù)作為組件的更高級(jí)形式解決了一個(gè)關(guān)鍵問題: 服務(wù)可以被獨(dú)立部署。對(duì)一個(gè)服務(wù)進(jìn)行修改,只需要構(gòu)建和重新部署這一個(gè)服務(wù),對(duì)系統(tǒng)的其他服務(wù)沒有影響;
4)智能端點(diǎn):不同于原來SOA很“重”的 ESB 總線,微服務(wù)架構(gòu)拋棄了 ESB 過度復(fù)雜的業(yè)務(wù)規(guī)則編排、消息路由等特征,將服務(wù)作為智能終端,所有的業(yè)務(wù)智能邏輯在服務(wù)內(nèi)部進(jìn)行處理,實(shí)現(xiàn)服務(wù)間的通信輕量化;
5)基礎(chǔ)設(shè)施自動(dòng)化:?jiǎn)我贿M(jìn)程的傳統(tǒng)應(yīng)用被拆分為一系列的多進(jìn)程服務(wù)后,意味著開發(fā)、調(diào)試、測(cè)試、監(jiān)控和部署的復(fù)雜度都會(huì)相應(yīng)增大,必須有合適的自動(dòng)化基礎(chǔ)設(shè)施來支持微服務(wù)架構(gòu)模式,微服務(wù)通過容器和自動(dòng)運(yùn)維框架很好地解決了這一問題;
圖2 生產(chǎn)業(yè)務(wù)平臺(tái)技術(shù)架構(gòu)
圖3 微服務(wù)架構(gòu)下的業(yè)務(wù)責(zé)任獨(dú)立特性
6)容錯(cuò)設(shè)計(jì):微服務(wù)架構(gòu)采用粗粒度的進(jìn)程間通信,引入了額外的復(fù)雜性和需要處理的新問題,如網(wǎng)絡(luò)延遲、消息格式、負(fù)載均衡和容錯(cuò)。微服務(wù)的容錯(cuò)設(shè)計(jì)包括日志和監(jiān)控,能夠最快地檢測(cè)出故障,盡快地恢復(fù)故障。
容器技術(shù)具有諸多優(yōu)勢(shì),包括輕量級(jí)、應(yīng)用的快速部署、軟件的一致性和可移植性、支持松耦合分布式的微服務(wù)架構(gòu) 、細(xì)粒度的資源使用率管理、支持持續(xù)集成和持續(xù)發(fā)布等。在互聯(lián)網(wǎng)等大規(guī)模用戶的應(yīng)用場(chǎng)景中,從開發(fā)到運(yùn)維,使用容器技術(shù)對(duì)軟件進(jìn)行包裝 、發(fā)布和部署將更加方便。針對(duì)大型建筑設(shè)計(jì)企業(yè),用戶場(chǎng)景趨向于大量設(shè)計(jì)師的集體化應(yīng)用,包括海量的文件、信息流、數(shù)據(jù)流的交互,必須考慮業(yè)務(wù)應(yīng)用系統(tǒng)的高可靠大規(guī)模分布式部署。
Docker容器所使用的Docker鏡像是一種把安裝結(jié)果提前固化的特殊二級(jí)制程序包,這種特殊的鏡像文件通過 Docker Build工具自動(dòng)執(zhí)行安裝腳本。這使得Docker容器具備即插即用的特點(diǎn),即直接啟動(dòng)就可以使用,而沒有傳統(tǒng)系統(tǒng)復(fù)雜的安裝過程。因此,Docker鏡像做到了與外部環(huán)境無關(guān)的隔離性,在任何一個(gè)安裝Docker運(yùn)行環(huán)境的Linux系統(tǒng)中都能正確運(yùn)行,不再依賴具體任務(wù)執(zhí)行者的經(jīng)驗(yàn)和水平,通過Docker技術(shù)的應(yīng)用把安裝、部署和運(yùn)維工作標(biāo)準(zhǔn)化,提高系統(tǒng)的整體效能和質(zhì)量[14]。
隨著企業(yè)的地域擴(kuò)張和用戶數(shù)增長(zhǎng),帶來數(shù)據(jù)中心服務(wù)器數(shù)量的增長(zhǎng),需要部署的容器種類和數(shù)量也越來越多,需要自動(dòng)化的運(yùn)維管理平臺(tái)來完成大規(guī)模容器集群的發(fā)布和管理。Kubernetes正是為容器集群管理提供的完整開源解決方案,如圖4所示。
Kubernetes的目的是讓容器能用于企業(yè)的生產(chǎn)環(huán)境,使容器集群的配置標(biāo)準(zhǔn)化,讓分布式應(yīng)用的開發(fā)和部署更加便捷。Kubemetes在任何基礎(chǔ)設(shè)施(公有云、私有云、混合云和裸機(jī))上都能良好地運(yùn)行,目前已經(jīng)被全球多家大型企業(yè)應(yīng)用到生產(chǎn)環(huán)境中,包括eBay、Wiki media、SAP、紐約時(shí)報(bào)、Yahoo、中國(guó)移動(dòng)、網(wǎng)易、新浪等公司,并正在被更多的企業(yè)用戶接納和使用。Kubernetes 的功能非常豐富,包括資源調(diào)度、容器發(fā)布、狀態(tài)監(jiān)控、彈性擴(kuò)縮容、滾動(dòng)更新、故障恢復(fù),到服務(wù)發(fā)現(xiàn)、負(fù)載均衡等方方面面,可以實(shí)現(xiàn)分布式容器應(yīng)用的大規(guī)模集群管理。同時(shí),Kubernetes 為構(gòu)建微服務(wù)系統(tǒng)提供了全套標(biāo)準(zhǔn)化的架構(gòu),通過 Pod、RC、Service、Label 等核心概念,為用戶提供了一種簡(jiǎn)單的方式,以快速實(shí)現(xiàn)微服務(wù)的布置和管理[15]。
圖4 Docker容器與Kubernetes高可靠大規(guī)模分布式部署
Kubernetes將所有服務(wù)器當(dāng)成一個(gè)整體資源池來管理,包括如何最大限度地提高機(jī)器的資源利用率,在哪些機(jī)器上創(chuàng)建哪些容器應(yīng)用,什么時(shí)候增加,在哪些機(jī)器上增加,什么時(shí)候刪除等工作,這些工作與傳統(tǒng)IaaS平臺(tái)的主要區(qū)別在于:Kubernetes管理的對(duì)象是容器,而不是虛擬機(jī)。
大型建筑設(shè)計(jì)企業(yè)的生產(chǎn)業(yè)務(wù)中包含大量的流程,涉及類型眾多,包括立項(xiàng)審批流程、團(tuán)隊(duì)組建流程、設(shè)計(jì)校對(duì)審核流程、質(zhì)量管理流程、簽章蓋章流程、歸檔流程等。隨著企業(yè)擴(kuò)張帶來的用戶數(shù)量的增長(zhǎng),以及越來越多的大型工程建設(shè)項(xiàng)目帶來的流轉(zhuǎn)文件和信息量的增長(zhǎng),對(duì)平臺(tái)中業(yè)務(wù)流程的高效流轉(zhuǎn)和穩(wěn)定性提出了更高的要求。
本文提出的輕量級(jí)流程管理引擎,基于新的BPMN2.0標(biāo)準(zhǔn),采用對(duì)象管理組(OMG)、互操作和云架構(gòu)技術(shù)實(shí)現(xiàn)一種輕量級(jí)、可嵌入的BPM引擎,適用于可擴(kuò)展的云架構(gòu)。主要功能包括:流程的自動(dòng)化控制;流程數(shù)據(jù)的保存(歷史記錄,歷史數(shù)據(jù)的保存);流程版本的更替;流程運(yùn)行期間數(shù)據(jù)的共享等[16-17]。
流程服務(wù)器基本架構(gòu)組件,包括以下內(nèi)容:
1)流程定義(ProcessDefinition):表示一個(gè)流程的信息與定義;
2)流程實(shí)例(ProcessInstance):?jiǎn)?dòng)一個(gè)流程即創(chuàng)建一個(gè)流程的實(shí)例,流程組件支持海量的流程實(shí)例并發(fā);
3)流程變量(ProcessVariable):流程運(yùn)行提交的各類信息和共享數(shù)據(jù)等;
4)任務(wù)(Task):流程中每一步需要完成的工作;
5)開始和結(jié)束(Start andEnd):每一個(gè)流程只有一個(gè)入口,同時(shí)包含無數(shù)個(gè)出口(正常結(jié)束的出口,異常結(jié)束的出口等);
6)網(wǎng)關(guān)(Gateway):流程的分支節(jié)點(diǎn)(判斷節(jié)點(diǎn)),即決定下一步流程的走向。
基于Kubernetes自動(dòng)化部署框架,平臺(tái)根據(jù)實(shí)際負(fù)載動(dòng)態(tài)擴(kuò)容或縮容流程引擎的節(jié)點(diǎn)數(shù)目,以滿足多個(gè)項(xiàng)目并發(fā)設(shè)校審和簽章等流程任務(wù),使得每個(gè)審批任務(wù)能進(jìn)行秒級(jí)的狀態(tài)轉(zhuǎn)移。
大型建筑設(shè)計(jì)企業(yè)擁有海量的數(shù)據(jù),包括工程項(xiàng)目信息、設(shè)計(jì)人員信息、設(shè)計(jì)文件數(shù)據(jù)、校審過程數(shù)據(jù)、檔案數(shù)據(jù)等工程項(xiàng)目數(shù)據(jù),以及項(xiàng)目成本、應(yīng)收應(yīng)付賬款、項(xiàng)目利潤(rùn)、人員業(yè)績(jī)等企業(yè)管理數(shù)據(jù)。數(shù)據(jù)是寶貴的資產(chǎn),通過平臺(tái)建設(shè)將這些既有的數(shù)據(jù)利用起來,可以為企業(yè)甚至行業(yè)提供支持,提升整體技術(shù)和應(yīng)用水平。
即席查詢是用戶根據(jù)自己的需求,靈活地選擇查詢條件,系統(tǒng)能夠根據(jù)用戶的選擇生成相應(yīng)的結(jié)果。即席查詢與普通應(yīng)用查詢最大的不同是,普通的應(yīng)用查詢是定制開發(fā)的,而即席查詢是由用戶自定義查詢條件的[18]。
即席查詢通常的方式是,將數(shù)據(jù)倉(cāng)庫(kù)中的維度表和事實(shí)表映射到語義層,用戶可以通過語義層選擇表,建立表間的關(guān)聯(lián),最終生成SQL語句。通常的查詢?cè)谙到y(tǒng)設(shè)計(jì)和實(shí)施時(shí)是已知的,可以在系統(tǒng)實(shí)施時(shí)通過建立索引、分區(qū)等技術(shù)來優(yōu)化這些查詢,使這些查詢的效率很高。而即席查詢是用戶在使用時(shí)臨時(shí)產(chǎn)生的,系統(tǒng)無法預(yù)先優(yōu)化這些查詢,所以即席查詢也是評(píng)估數(shù)據(jù)倉(cāng)庫(kù)的一個(gè)重要指標(biāo)。即席查詢的位置通常是在關(guān)系型數(shù)據(jù)倉(cāng)庫(kù)中,多維數(shù)據(jù)庫(kù)有特有的存儲(chǔ)方式,對(duì)即席查詢和通常查詢沒有區(qū)別。在一個(gè)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,即席查詢使用的越多,對(duì)數(shù)據(jù)倉(cāng)庫(kù)的要求就越高,對(duì)數(shù)據(jù)模型的對(duì)稱性的要求也越高[19-20]。
工程項(xiàng)目數(shù)據(jù)大多是非結(jié)構(gòu)化數(shù)據(jù),特別是工程設(shè)計(jì)圖紙,包含了工程各方面的知識(shí)和描述,通過對(duì)這些數(shù)據(jù)建立相應(yīng)的文本內(nèi)容索引,形成知識(shí)積累與沉淀。用戶可以自定義查詢條件,在多個(gè)數(shù)據(jù)源的多維數(shù)據(jù)進(jìn)行綜合即席查詢和關(guān)聯(lián)分析,發(fā)掘其中的隱含關(guān)系,產(chǎn)生更大的數(shù)據(jù)價(jià)值。例如,通過對(duì)既有工程項(xiàng)目數(shù)據(jù)的查詢,可以為新的設(shè)計(jì)任務(wù)提供參考,激發(fā)設(shè)計(jì)靈感,提高設(shè)計(jì)效率。
本文提出的平臺(tái)技術(shù)架構(gòu),采用Elasticsearch搜索引擎,它是一個(gè)基于Apache Lucene(TM)的開源搜索引擎,使用Java開發(fā)并使用Lucene作為其核心來實(shí)現(xiàn)所有索引和搜索的功能,通過RESTful API隱藏Lucene的復(fù)雜性,從而讓全文搜索變得簡(jiǎn)單。它支持中文分詞和分布式的實(shí)時(shí)文件存儲(chǔ),是一個(gè)分布式的實(shí)時(shí)分析搜索引擎,可以擴(kuò)展到上百臺(tái)服務(wù)器,用于處理PB級(jí)結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),具備高效查詢的能力。
本文通過對(duì)行業(yè)內(nèi)建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)的建設(shè)現(xiàn)狀與建設(shè)需求進(jìn)行分析,提出必須以生產(chǎn)業(yè)務(wù)數(shù)據(jù)管理為核心,打造互聯(lián)互通的生產(chǎn)工作環(huán)境,實(shí)現(xiàn)工程建設(shè)行業(yè)業(yè)務(wù)鏈的橫向整合、縱向連通,為設(shè)計(jì)師和管理人員提供一個(gè)基于云計(jì)算架構(gòu)的全生命周期業(yè)務(wù)應(yīng)用與管理一體化平臺(tái),讓用戶在一個(gè)統(tǒng)一的數(shù)據(jù)環(huán)境下,高效地開展生產(chǎn)管理工作。據(jù)此,提出了生產(chǎn)平臺(tái)整體架構(gòu)與技術(shù)架構(gòu):
1)大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)整體架構(gòu),分為平臺(tái)門戶、全過程數(shù)字化生產(chǎn)管理、數(shù)據(jù)管理和大數(shù)據(jù)支撐四個(gè)層次。
2)大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)技術(shù)架構(gòu),必須具備高性能、高可用的特征,包含以下特點(diǎn):采用企業(yè)云架構(gòu)(Iaas/Paas/Saas);各核心服務(wù)部署在PaaS層,采用服務(wù)治理和微服務(wù)框架集成工作;突出數(shù)據(jù)管理的核心作用,通過web服務(wù)和數(shù)據(jù)庫(kù)中間件,實(shí)現(xiàn)數(shù)據(jù)共享和整合;采用高可用部署和負(fù)載均衡等技術(shù)框架;系統(tǒng)框架與大數(shù)據(jù)平臺(tái)保持良好的兼容性與互通能力。
3)針對(duì)大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)技術(shù)架構(gòu),提出四大核心關(guān)鍵技術(shù):服務(wù)治理與微服務(wù);Docker容器與Kubernetes高可靠大規(guī)模分布式部署;輕量級(jí)流程管理引擎;內(nèi)容索引與即席查詢。
4)基于微服務(wù)架構(gòu)搭建的企業(yè)生產(chǎn)平臺(tái),具備功能豐富、可靈活拓展、高性能、高可用的特點(diǎn),可以滿足大型建筑設(shè)計(jì)企業(yè)的管理類和技術(shù)類功能需求,以及對(duì)整體運(yùn)行性能的要求,是當(dāng)前大型建筑設(shè)計(jì)企業(yè)生產(chǎn)平臺(tái)建設(shè)的優(yōu)選技術(shù)方案。
本文提出的生產(chǎn)業(yè)務(wù)平臺(tái)構(gòu)建思路與方法,旨在為行業(yè)內(nèi)大型建筑設(shè)計(jì)企業(yè)的生產(chǎn)平臺(tái)建設(shè)提供參考,推進(jìn)互聯(lián)網(wǎng)信息技術(shù)與建筑行業(yè)信息化結(jié)合,提升行業(yè)內(nèi)建筑設(shè)計(jì)企業(yè)的信息化水平。