999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向BIM數(shù)據(jù)的分布式文件存儲系統(tǒng)設(shè)計與實施

2016-03-09 10:08:31王寶會
土木建筑工程信息技術(shù) 2016年5期
關(guān)鍵詞:功能

王寶會 高 遠(yuǎn)

(北京航空航天大學(xué)軟件學(xué)院,北京 100191)

面向BIM數(shù)據(jù)的分布式文件存儲系統(tǒng)設(shè)計與實施

王寶會 高 遠(yuǎn)

(北京航空航天大學(xué)軟件學(xué)院,北京 100191)

國內(nèi)的BIM相關(guān)技術(shù)在近幾年發(fā)展迅速,隨之高速增長的BIM數(shù)據(jù)對存儲系統(tǒng)的高可用性、負(fù)載均衡、橫向擴(kuò)容等功能也提出了更高的要求。本文就BIM行業(yè)內(nèi)某公司需求,設(shè)計并實施了以FastDFS為主HDFS為輔的分布式文件存儲系統(tǒng)。該公司主要存儲BIM數(shù)據(jù)中常見的.rfa文件和.rvt文件,其中,.rfa文件的大小在KB級,而部分.rvt文件則體量較大。主流分布式存儲系統(tǒng)HDFS適合存儲大文件,為節(jié)省研發(fā)HDFS針對小文件存儲算法方面的成本,本文引入了適合存儲中小型文件的輕量級分布式存儲系統(tǒng)FastDFS,以此為主要存儲系統(tǒng),并部署HDFS,存儲大文件,為公司之后優(yōu)化HDFS小文件存儲,遷移全部存儲平臺至HDFS,并在此之上建立分布式計算平臺打下技術(shù)基礎(chǔ)。本文在兩個存儲系統(tǒng)之上布置了配有Keepalived模塊的Nginx反向代理服務(wù)器,統(tǒng)一用戶存取入口,在保證系統(tǒng)負(fù)載均衡和高可用性能力的同時封裝了WebAPI,依據(jù)文件大小,將BIM數(shù)據(jù)分別存入FastDFS和HDFS。經(jīng)測試,新系統(tǒng)較原系統(tǒng)在存儲性能方面有較大提升,并增添了高可用性、負(fù)載均衡、橫向擴(kuò)容等功能。

BIM數(shù)據(jù);FastDFS;HDFS

【DOI】 10.16670/j.cnki.cn11-5823/tu.2016.05.08

1 引言

BIM(Building Information Modeling)是“建筑信息建模”的簡稱。自上世紀(jì)70年代于美國提出至今,BIM以其在縮短工期、節(jié)約成本、提高生產(chǎn)效率等方面的先天優(yōu)勢,廣泛應(yīng)用于以美國為首的眾多國家。[1]BIM的不斷發(fā)展也對其相關(guān)數(shù)據(jù)的存儲提出了更高的要求。經(jīng)總結(jié),BIM數(shù)據(jù)有如下特點:

1.1 BIM數(shù)據(jù)的非結(jié)構(gòu)性

依據(jù)美國國家BIM標(biāo)準(zhǔn)對BIM的定義,該模型具有物理特性(PhysicalCharacteristic)和功能特性(FunctionalCharacteristic)。[2]其中,物理特性可以理解為其包含了建筑的幾何信息; 功能特性,是指其集成了工程項目中的各種相關(guān)信息。BIM各方信息相關(guān)性大、結(jié)構(gòu)復(fù)雜,非結(jié)構(gòu)性明顯,傳統(tǒng)關(guān)系數(shù)據(jù)庫難以滿足其存儲需求,應(yīng)選擇文件存儲系統(tǒng)存儲其相關(guān)數(shù)據(jù)。

1.2 BIM數(shù)據(jù)量的不斷增長

隨著工程項目的不斷開展,BIM數(shù)據(jù)的體量不斷增大,呈現(xiàn)大數(shù)據(jù)(Big Data)特性。由于BIM大數(shù)據(jù)是企業(yè)的寶貴財富,往往不會刪除,這就要求存儲系統(tǒng)具有優(yōu)秀的橫向擴(kuò)容能力,以適應(yīng)增長的數(shù)據(jù)量。

BIM數(shù)據(jù)的應(yīng)用貫穿建筑設(shè)施的全部生命周期(見圖1),存儲系統(tǒng)應(yīng)具有高可用性,以保證數(shù)據(jù)的長期存儲且,便于項目各階段的工作人員隨時調(diào)用信息。

海量的BIM數(shù)據(jù)還包含了多種格式,為提升系統(tǒng)處理BIM數(shù)據(jù)的效率,應(yīng)對于常用的幾種數(shù)據(jù)格式進(jìn)行更有針對性的存儲處理。

圖1 BIM數(shù)據(jù)應(yīng)用于建筑設(shè)施的全部生命周期

圖2 原存儲系統(tǒng)結(jié)構(gòu)

在性能方面,存儲系統(tǒng)應(yīng)具有負(fù)載均衡功能,以滿足大量數(shù)據(jù)的存儲、調(diào)用并行操作需求。

本文就BIM行業(yè)內(nèi)某公司需求,建立以FastDFS為主HDFS為輔的分布式存儲系統(tǒng),為該公司的長遠(yuǎn)發(fā)展打下BIM數(shù)據(jù)的存儲技術(shù)基礎(chǔ)。

2 總體概述

該公司原存儲系統(tǒng)框架是基于SOA(Service-Oriented Architecture)的傳統(tǒng)文件存儲系統(tǒng),配置WCF(Windows Communication Foundation)中間件,連接客戶端和存儲服務(wù)器,提供文件處理和業(yè)務(wù)功能服務(wù),詳細(xì)系統(tǒng)結(jié)構(gòu)如圖2所示。

根據(jù)BIM數(shù)據(jù)在非結(jié)構(gòu)性和體量大方面的特點,總結(jié)出如下功能需求如圖3所示。

圖3 功能需求

BIM數(shù)據(jù)格式方面,該公司存儲的以Revit的.rfa文件和.rvt文件為主。其中,.rfa文件的大小在KB級,適合用FastDFS存儲,而部分.rvt文件體量過大,超出了FastDFS的適用范圍。出于對系統(tǒng)性能和成本的綜合考慮,本文以較輕量級的FastDFS為主,存儲中小文件,并引入HDFS,存儲較大的.rvt文件,為公司之后優(yōu)化HDFS小文件存儲,遷移全部存儲平臺至HDFS,并在此之上建立分布式計算平臺打下技術(shù)基礎(chǔ)。

為便于分配FastDFS和HDFS的存儲任務(wù),保持系統(tǒng)的高可用性和負(fù)載均衡能力,統(tǒng)一用戶使用接口,本文在FastDFS和HDFS之上布置了配有Keepalived模塊的Nginx反向代理服務(wù)器。

以上述需求為基礎(chǔ),本文設(shè)計并實施了以FastDFS為主HDFS為副的分布式文件存儲系統(tǒng)。新系統(tǒng)針對BIM數(shù)據(jù)的特點提供了上傳、下載、高可用性、負(fù)載均衡、橫向擴(kuò)容功能。

3 系統(tǒng)模塊

3.1 FastDFS

FastDFS(Fast Distributed File System)是一款類GFS(Google File System)的開源分布式文件存儲系統(tǒng),由淘寶網(wǎng)的資深架構(gòu)師余慶開發(fā)。FastDFS含有TrackerServer和StorageServer兩種角色,分別負(fù)責(zé)調(diào)度任務(wù)和文件數(shù)據(jù)的存儲。其存儲集群由一個或多個分組組成,每個分組下包含一臺或多臺Storage Server。同一組內(nèi)的Storage Server相互備份,所存文件完全一致,從而實現(xiàn)冗余備份功能; 存儲集群的存儲總?cè)萘繛樗薪M的容量線性和。這種設(shè)計簡化了系統(tǒng)的存儲和備份機(jī)制。FastDFS還取消了分塊存儲文件的功能,元數(shù)據(jù)保存在文件名中,適合存儲中小型文件。[3]綜上,F(xiàn)astDFS在保存基本功能的前提下,大大減小系統(tǒng)體量,打造了其“輕”、“快”的系統(tǒng)特點。

圖4 物理拓?fù)?/p>

3.2 HDFS

HDFS(Hadoop Distributed File System)作為云計算平臺Hadoop的分布式文件系統(tǒng),已成為當(dāng)前海量存儲集群上部署的主流文件系統(tǒng)。HDFS采用主從結(jié)構(gòu)(Master-Slave結(jié)構(gòu)),由一個NameNode和若干個DataNode組成[4],與FastDFS相似。由于元數(shù)據(jù)全部存于NameNode的內(nèi)存中,過多的小文件存儲會最終耗盡NameNode的尋址能力,又HDFS采用分塊方式存儲文件,故HDFS適合存儲大文件。

3.3 Nginx

Nginx(“Enginex”)是俄羅斯人Igor Sysoev編寫的一款高性能的HTTP和反向代理服務(wù)器,也是一款I(lǐng)MAP/POP3/SMTP代理服務(wù)器。Nginx已經(jīng)在俄羅斯最大的門戶網(wǎng)站——Rambler Media(www.rambler.ru)上運行多年,俄羅斯超過20%的虛擬主機(jī)平臺采用Nginx作為反向代理服務(wù)器。在國內(nèi),已經(jīng)有新浪博客、新浪播客、搜狐通行證、網(wǎng)易新聞、網(wǎng)易博客、金山逍遙網(wǎng)、金山愛詞霸等多家網(wǎng)站、頻道使用Nginx服務(wù)器[5]。

3.4 Keepalived

Keepalived是由C語言編寫的路由軟件,其所提供的高可用性是通過VRRP(Virtual Router Redundancy Protocol)協(xié)議實現(xiàn)的[6]。VRRP,即虛擬路由冗余協(xié)議,可使用戶通過虛擬IP多路訪問鏈路上的多臺路由器。

4 系統(tǒng)的架構(gòu)設(shè)計

根據(jù)公司對存儲系統(tǒng)的實際需求,本文將以FastDFS為主HDFS為副的分布式文件存儲系統(tǒng)應(yīng)用于BIM信息平臺,其物理拓?fù)鋱D如圖4所示,詳細(xì)功能介紹如下:

4.1 上傳與下載

用戶通過Keepalived模塊建立的虛擬IP訪問Nginx服務(wù)器申請上傳或下載服務(wù)。對于上傳,Nginx根據(jù)文件大小和閾值(本文定為500MB)選擇調(diào)用FastDFS或HDFS的上傳文件API,并將文件名和文件大小存入數(shù)據(jù)庫; 下載時,用戶依文件名查詢數(shù)據(jù)庫的元數(shù)據(jù),經(jīng)Nginx服務(wù)器,從FastDFS或HDFS下載文件。

4.2 高可用性

圖5 HDFS的靜態(tài)負(fù)載均衡原理

高可用性要求系統(tǒng)在升級或出現(xiàn)故障時,運行在該系統(tǒng)上的數(shù)據(jù)不會丟失,而且可以在盡可能短的時間內(nèi)恢復(fù)系統(tǒng)的正常運行。

FastDFS采取對等結(jié)構(gòu),以保證高可用性,可存在多臺TrackerServer和StorageServer,且各自集群內(nèi)部關(guān)系平等。每臺StorageServer會向所有TrackerServer通信,當(dāng)客戶端需通過TrackerSrver訪問StorageServer時,以輪轉(zhuǎn)方式選擇TrackerServer。

HDFS采取主從結(jié)構(gòu),通過設(shè)置兩臺NameNode來保證高可用性。其中,一臺NameNode處于Active狀態(tài),接管全部調(diào)度任務(wù),另一臺處于Standby狀態(tài),保持與ActiveNameNode的元數(shù)據(jù)同步,在檢測到ActiveNameNode停止工作時,變?yōu)锳ctive狀態(tài)。DataNode會與兩臺NameNode通信,確保信息同步。

FastDFS和HDFS均采用冗余備份方式實現(xiàn)文件數(shù)據(jù)存儲的高可用性。FastDFS中同一分組內(nèi)StorageServer相互備份,備份份數(shù)等于組內(nèi)StorageServer的數(shù)量; HDFS的默認(rèn)備份三份,兩個副本分別存在一個機(jī)架的不同DataNode上,一個副本存在另一個機(jī)架上的DataNode。

反向代理服務(wù)器Nginx采用主從結(jié)構(gòu),通過Keepalived模塊實現(xiàn)高可用。Keepalived是VRRP協(xié)議的實現(xiàn)。對于多臺服務(wù)器,一臺為MASTER,其余為BACKUP,MASTER負(fù)責(zé)主要任務(wù),BACKUP處于監(jiān)聽狀態(tài)。當(dāng)MASTER停止工作時,其余BACKUP依據(jù)VRRP協(xié)議競選MASTER。

4.3 負(fù)載均衡

FastDFS由TrackerServer提供負(fù)載均衡功能。以存儲為例,其選擇StorageServer的默認(rèn)算法是:對于可用的多個分組,以現(xiàn)存儲空間使用率(剩余存儲空間/總存儲空間)為主要決定因素,每當(dāng)進(jìn)行存儲操作時更新評價值,選出評價值最高的兩個Group(優(yōu)先選擇最高評價值的分組,若不可用,則選擇次高),再以輪詢方式選擇所選分組內(nèi)的StorageServer。

HDFS通過Balancer程序?qū)崿F(xiàn)對文件數(shù)據(jù)的靜態(tài)負(fù)載均衡。思路為:先機(jī)架間平衡,后機(jī)架內(nèi)衡機(jī),且均以圖5所示策略均衡負(fù)載。更新機(jī)架間或機(jī)架內(nèi)個節(jié)點的平均存儲利用率(同F(xiàn)astDFS),結(jié)合閾值(由用戶設(shè)定),將各機(jī)架或機(jī)架內(nèi)各節(jié)點分組,再按序在組間轉(zhuǎn)移數(shù)據(jù)。

在Nginx上有多種內(nèi)置負(fù)載均衡和擴(kuò)展負(fù)載均衡策略可供選擇。內(nèi)置策略包括輪詢、加權(quán)輪詢、IP_hash、URL_hash等; 擴(kuò)展策略有一致性hash、通用hash等。本文選用加權(quán)輪詢方法。

4.4 橫向擴(kuò)容

FatDFS可在線擴(kuò)容。

當(dāng)有新的StorageServer加入某一分組時,該Storage Server會在啟動時為每個Tracker Server建立一個線程用于通信。Tracker Server在接收到新Storage Server的心跳包時會更新自己對應(yīng)分組的映射表,并將新表同步至該分組的每臺Storage Server上。最后該組內(nèi)一臺存有全部文件的Storage Server會將全部文件備份至新進(jìn)Storage Server。

當(dāng)有新的分組加入時,新分組中的Storage Server會以在啟動時向Tracker Server發(fā)送自己的信息。Tracker Server整理信息,建立該分組與其下Storage Server的映射表,并將該表返回給新組中的每臺Storage Server。此時,存儲系統(tǒng)完成擴(kuò)容。

HDFS也可在線擴(kuò)展存儲量。新的DataNode接入系統(tǒng)時,與NameNode握手,獲得NameNode的namespaceID,該ID用于保證系統(tǒng)的一致性,每當(dāng)DataNode啟動時會在與NameNode握手時確定namespaceID是否一致,不一致時,DataNode會自動關(guān)閉。NameNode會在與DataNode初次握手時給其分配storage ID,用于唯一的標(biāo)識該DataNode,且不會隨DataNode的IP和端口變化而變化。

5 小結(jié)

本文首先分析BIM數(shù)據(jù)的存儲需求,并依此得出BIM數(shù)據(jù)存儲系統(tǒng)應(yīng)具有高可用性、負(fù)載均衡、橫向擴(kuò)展等功能,最終設(shè)計并實施了以FastDFS為主HDFS為副的分布式文件存儲系統(tǒng)。新系統(tǒng)對BIM數(shù)據(jù)的.rfa文件和.rvt文件做出了優(yōu)化,通過在Nginx反向代理服務(wù)器上封裝WebAPI,以文件大小為閾值,調(diào)用FastDFS或HDFS。經(jīng)測試,新系統(tǒng)存的存儲性能有較大提升,并增加了諸多功能,相比原系統(tǒng),能適合存儲BIM數(shù)據(jù)。

[1]王珺. BIM理念及BIM軟件在建設(shè)項目中的應(yīng)用研究[D]. 西南交通大學(xué),2011.

[2]NIBS NationalBIM Standard Project Committee,National BIM Standard[EB/OL]. [2016-10-27]. https://www.nationalbimstandard.org/faqs.

[3]余慶.分布式文件系統(tǒng)FastDFS架構(gòu)剖析[J],程序員,2010,(11):63-65.

[4]HDFSArchitecture[EB/OL].[2016-10-27].http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html.

[5]林麗麗. 使用高性能Web服務(wù)器Nginx實現(xiàn)開源負(fù)載均衡[J]. 大眾科技,2010,卷缺失(7):27,37-38.

[6]Keepalived[EB/OL]. [2016-10-27]. http://www.keepalived.org/

Design and Implementation of Distributed File Storage System based on BIM data

Wang Baohui,Gao Yuan

(SoftwareCollegeofBeihangUniversity,Beijing100191,China)

Building information modeling(BIM)related technologies have been widely used in recent years.Dueto itsnon-structural and growing volume,BIM data puts forward higher requirements tostorage system.In this paper,we design and implement a distributed file systemto store BIM data with high availability,load balancing,and horizontalexpansion.The FastDFs and HDFS(Hadoop distributed filesystem)are basically used to store small files and large files respectively.On top of this arrangement,Nginx reverse proxy server with Keepalived module is deployed tounify the user access port,and encapsulate the Web API to manage the BIM data.Preliminary experiment results show that our approach achieves better performance.

BIM Data; FastDFS; HDFS

國家科技支撐計劃子課題“建筑行業(yè)設(shè)計服務(wù)共性技術(shù)集成平臺研發(fā)與應(yīng)用”(編號: 2014BAH25F03-04)

王寶會(1973-),男,教授級高工,碩士,主要研究方向:軟件架構(gòu); 高遠(yuǎn)(1992-),男,碩士在讀,主要研究方向:軟件工程。

TU17

A

1674-7461(2016)05-0040-05

猜你喜歡
功能
拆解復(fù)雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
深刻理解功能關(guān)系
鉗把功能創(chuàng)新實踐應(yīng)用
關(guān)于非首都功能疏解的幾點思考
基于PMC窗口功能實現(xiàn)設(shè)備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達(dá)功能
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 中文字幕在线欧美| 色成人综合| 午夜无码一区二区三区| 久久久久久午夜精品| 国产综合日韩另类一区二区| 19国产精品麻豆免费观看| 国产日韩欧美中文| 欧美日韩国产在线人成app| 亚洲AV无码久久天堂| 国产成人凹凸视频在线| 熟妇丰满人妻| 全免费a级毛片免费看不卡| 国产午夜精品鲁丝片| 老司机精品一区在线视频| 亚洲日韩AV无码一区二区三区人| 精品少妇三级亚洲| 视频一区视频二区中文精品| 国产精品对白刺激| 久久精品中文无码资源站| 久久伊人久久亚洲综合| 丰满少妇αⅴ无码区| 婷婷色丁香综合激情| 久久久噜噜噜久久中文字幕色伊伊 | 天天躁狠狠躁| 成人av专区精品无码国产| 日韩欧美中文| 日本a级免费| www.av男人.com| 色欲综合久久中文字幕网| 国产成人高清精品免费软件| 一本一本大道香蕉久在线播放| 91亚洲精品第一| 欧美日韩国产综合视频在线观看 | 91破解版在线亚洲| 18禁色诱爆乳网站| 亚洲九九视频| 999精品免费视频| 久久精品aⅴ无码中文字幕| 99免费在线观看视频| 中国成人在线视频| 亚洲无码免费黄色网址| 国产三级韩国三级理| 久草视频福利在线观看| 日本高清有码人妻| 久久久久中文字幕精品视频| 亚洲综合在线网| 国产精品成| 综合人妻久久一区二区精品 | 亚洲无线国产观看| 欧美国产日韩另类| 一本大道无码日韩精品影视| 国产老女人精品免费视频| 韩国自拍偷自拍亚洲精品| 丰满少妇αⅴ无码区| 欧美成人区| 天天综合网亚洲网站| 亚洲香蕉久久| 日韩福利在线观看| 99在线国产| 97se亚洲| 国产精品自拍合集| 日本在线国产| 欧美日韩国产精品综合| 天天躁狠狠躁| 久久五月视频| av在线手机播放| 久久国产拍爱| 国产一区二区三区在线精品专区| 国产不卡一级毛片视频| 91精品人妻一区二区| 国产亚洲日韩av在线| 无码乱人伦一区二区亚洲一| 亚洲动漫h| 无码福利日韩神码福利片| 国产福利一区视频| 亚洲性网站| 欧美日本不卡| 黄色网站不卡无码| 毛片久久久| 在线精品亚洲国产| 久久99蜜桃精品久久久久小说| 欧美午夜在线播放|