楊宗翰 吳 巍 楊 昱
中國核工業(yè)第五建設有限公司 上海 314300
隨著智慧工地智能設備的不斷增加和應用范圍的擴充,針對數(shù)據(jù)的存儲和使用,以及智慧工地平臺的性能提升、功能優(yōu)化,集中式數(shù)據(jù)庫系統(tǒng)表現(xiàn)出一定的不足。例如,數(shù)據(jù)按實際需要已在網(wǎng)絡上分布存儲,再采用集中式處理,勢必造成通信開銷大的問題;應用程序集中在一臺計算機上運行,一旦該計算機發(fā)生故障,則整個系統(tǒng)受到影響,可靠性不高;集中式處理使系統(tǒng)的規(guī)模和配置都不夠靈活,系統(tǒng)的可擴充性差。在這種形勢下,集中式數(shù)據(jù)庫的“集中計算”概念開始向“分布計算”概念發(fā)展。
分布式數(shù)據(jù)庫系統(tǒng)通常使用較小的計算機系統(tǒng),每臺計算機可單獨放在一個地方,每臺計算機中都可能有DBMS 的一份完整拷貝副本,或者部分拷貝副本,并具有自己局部的數(shù)據(jù)庫。位于不同地點的許多計算機通過網(wǎng)絡互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的大型數(shù)據(jù)庫。
伴隨著現(xiàn)代網(wǎng)絡科技的發(fā)展和建筑企業(yè)對項目管理要求的提升,碎片化的應用和孤立的數(shù)據(jù)已經(jīng)不能滿足建筑企業(yè)對項目的綜合管理和目標監(jiān)控,越來越多的智能設備和應用系統(tǒng)被廣泛應用于施工現(xiàn)場。“智慧工地平臺”以物聯(lián)網(wǎng)端設備數(shù)據(jù)采集為基礎,將施工現(xiàn)場大量零碎離散的應用和硬件設備進行集成,形成數(shù)據(jù)匯集,產生數(shù)據(jù)中心。
隨著施工現(xiàn)場對于智能設備需求的增加,以及應用范圍的擴大,智慧工地數(shù)據(jù)庫系統(tǒng)要面對以下挑戰(zhàn):數(shù)據(jù)采集存儲需適應各種惡劣的網(wǎng)絡環(huán)境;具有較強的可擴展性;快速更新迭代使用等。以分布式為主要特征的數(shù)據(jù)庫可較好地解決以上問題。
分布式數(shù)據(jù)庫為了保證數(shù)據(jù)的高可靠性,往往采用備份的策略實現(xiàn)容錯。所以,在讀取數(shù)據(jù)的時候,客戶端可以從多個備份服務器同時讀取,從而提高了數(shù)據(jù)的訪問速度。
分布式數(shù)據(jù)庫可以通過增添存儲節(jié)點來實現(xiàn)存儲容量的線性擴展。由于采用多臺主機組成存儲集群,所以相對于集中式數(shù)據(jù)庫,它可以提供更高的用戶并發(fā)訪問量。
分布式數(shù)據(jù)庫系統(tǒng)的結構更適合具有地理分布特性的組織或機構使用,允許分布在不同區(qū)域、不同級別的各個部門對其自身的數(shù)據(jù)實行局部控制。例如,可實現(xiàn)全局數(shù)據(jù)在本地錄入、查詢、維護,由于計算機資源靠近用戶,可以降低通信代價,提高響應速度;而涉及其他場地數(shù)據(jù)庫中的數(shù)據(jù)只是少量的,從而可以大大減少網(wǎng)絡上的信息傳輸量。同時,局部數(shù)據(jù)的安全性也得到提高。
集中式數(shù)據(jù)庫系統(tǒng)強調的是集中式控制,物理數(shù)據(jù)庫是存放在一個場地上,由一個DBMS 集中管理。多個用戶只可以通過近程或遠程終端在多用戶操作系統(tǒng)支持下運行該DBMS,來共享集中式數(shù)據(jù)庫中的數(shù)據(jù)。而分布式數(shù)據(jù)庫系統(tǒng)的場地局部DBMS 的自治性,使得大部分局部事務管理和控制都能就地解決,只有在涉及其他場地的數(shù)據(jù)時才需要通過網(wǎng)絡作為全局事務來管理。分布式DBMS 可以設計成不同程度的自治性,從具有充分的場地自治到幾乎是完全集中式的控制。
與一個大型計算機支持一個大型的集中式數(shù)據(jù)庫再加一些近程和遠程終端相比,由超級微型計算機或超級小型計算機支持的分布式數(shù)據(jù)庫系統(tǒng)往往具有更高的性價比和實施靈活性。分布式系統(tǒng)比集中式系統(tǒng)具有更高的可靠性和更好的可用性。如由于數(shù)據(jù)分布在多個場地并有許多復制數(shù)據(jù),在個別場地或個別通信鏈路發(fā)生故障時,不會導致整個系統(tǒng)的崩潰,而且系統(tǒng)的局部故障不會引起全局失控。而且在一定條件下響應速度加快,如果存取的數(shù)據(jù)在本地數(shù)據(jù)庫中,那么就可以由用戶所在的計算機來執(zhí)行,速度更快。
例如,在網(wǎng)絡通信傳輸速度不高時,系統(tǒng)的響應速度慢,同時系統(tǒng)本身的復雜性也容易導致較高的故障率。當故障發(fā)生后,系統(tǒng)恢復也比較復雜,可靠性有待提高。
一般來說,在分布式數(shù)據(jù)庫中存取數(shù)據(jù),比在集中式數(shù)據(jù)庫中存取數(shù)據(jù)更復雜,開銷更大。
在具有高度場地自治的分布式數(shù)據(jù)庫中,不同場地的局部數(shù)據(jù)庫管理員可以采用不同的安全措施,但是無法保證全局數(shù)據(jù)都是安全的。安全性問題是分布式系統(tǒng)固有的問題。因為分布式系統(tǒng)是通過通信網(wǎng)絡來實現(xiàn)分布控制的,而通信網(wǎng)絡本身在保護數(shù)據(jù)的安全性和保密性方面存在弱點,數(shù)據(jù)很容易被竊取。
(1)同構同質型DDB:各個場地都采用同一類型的數(shù)據(jù)模型(譬如都是關系型),并且是同一型號的DBMS。
(2)同構異質型DDBS:各個場地采用同一類型的數(shù)據(jù)模型,但是DBMS 的型號不同,譬如DB2、ORACLE、SYBASE 和SQL Server 等。
(3)異構型DDBS:各個場地的數(shù)據(jù)模型的型號不同,甚至類型也不同。隨著計算機網(wǎng)絡技術的發(fā)展,異種機聯(lián)網(wǎng)問題已經(jīng)得到較好的解決,此時依靠異構型DDBS 就能存取全網(wǎng)中各種異構局部庫中的數(shù)據(jù)。
智慧工地總體結構分為現(xiàn)場控制單元(Site Unit)和企業(yè)管理中心(Enterprise Centre)兩個部分。企業(yè)管理中心部署在公司機房,現(xiàn)場控制單元部署在每個項目部,并通過VPN 或接入現(xiàn)場控制單元。
智慧工地平臺數(shù)據(jù)庫部署以公司部署現(xiàn)場控制單元、現(xiàn)場部署現(xiàn)場控制單元兩類為主。
在智慧工地的分布式數(shù)據(jù)庫系統(tǒng)中,存在著很多個服務器。“智慧工地”的穩(wěn)定性要求在任何時刻系統(tǒng)中某一個服務器的失效不影響系統(tǒng)的運行,即在某一服務器失效時,系統(tǒng)中所有的客戶機自動連接到另外一臺服務器繼續(xù)工作。
為達到系統(tǒng)穩(wěn)定性的要求,采用了備份服務器的方法,整個分布式系統(tǒng)中采用“域”模式,實行統(tǒng)一管理。在系統(tǒng)運行的任意時刻,整個系統(tǒng)中都存在一臺唯一的主服務器。同時,系統(tǒng)中還存在多臺備份服務器,在主服務器出現(xiàn)故障時,任一備份服務器都有可能被提升為主服務器。因此,系統(tǒng)中處于正常工作狀態(tài)的任何備份服務器必須隨時與主服務器保持一致,而且主服務器中的系統(tǒng)數(shù)據(jù)字典、用戶配置,以及安全規(guī)則的任何修改,必須同時反映到各備份服務器。
為保障智慧工地中數(shù)據(jù)的安全,在系統(tǒng)發(fā)生局部故障時仍能保持對發(fā)生故障部分的數(shù)據(jù)的正常訪問。系統(tǒng)在其他結點保留該部分數(shù)據(jù)的副本,因而也就帶來數(shù)據(jù)的一致性問題。用戶對若干數(shù)據(jù)副本中的修改要能夠同時反映到所有的副本中去,否則數(shù)據(jù)的不一致將會帶來系統(tǒng)的混亂。對于系統(tǒng)中存在的同一個庫、表或視圖的多個副本,系統(tǒng)數(shù)據(jù)字典中將保持一個表。該表記錄所有的副本位置、狀態(tài),以及是否與最近的副本傳輸?shù)臄?shù)據(jù)一致。
基于智慧工地的分布式數(shù)據(jù)庫的設計、場地劃分及數(shù)據(jù)在不同場地的分配比較復雜,數(shù)據(jù)的劃分及分配對系統(tǒng)的性能、響應速度及可用性等具有極大的影響。與局部數(shù)據(jù)庫系統(tǒng)的存取部件的存取速度相比,不同現(xiàn)場環(huán)境的通信速度非常慢。因通信系統(tǒng)有較高的延遲,在CPU 上處理通訊信息的代價很高。因此,應用分布式數(shù)據(jù)庫的智慧工地平臺中要注意解決分布式數(shù)據(jù)庫的設計、查詢處理和優(yōu)化、事務管理,以及并發(fā)控制和目錄管理等問題。