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

面向BIM數據的分布式文件存儲系統設計與實施

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

王寶會 高 遠

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

面向BIM數據的分布式文件存儲系統設計與實施

王寶會 高 遠

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

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

BIM數據;FastDFS;HDFS

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

1 引言

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

1.1 BIM數據的非結構性

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

1.2 BIM數據量的不斷增長

隨著工程項目的不斷開展,BIM數據的體量不斷增大,呈現大數據(Big Data)特性。由于BIM大數據是企業的寶貴財富,往往不會刪除,這就要求存儲系統具有優秀的橫向擴容能力,以適應增長的數據量。

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

海量的BIM數據還包含了多種格式,為提升系統處理BIM數據的效率,應對于常用的幾種數據格式進行更有針對性的存儲處理。

圖1 BIM數據應用于建筑設施的全部生命周期

圖2 原存儲系統結構

在性能方面,存儲系統應具有負載均衡功能,以滿足大量數據的存儲、調用并行操作需求。

本文就BIM行業內某公司需求,建立以FastDFS為主HDFS為輔的分布式存儲系統,為該公司的長遠發展打下BIM數據的存儲技術基礎。

2 總體概述

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

根據BIM數據在非結構性和體量大方面的特點,總結出如下功能需求如圖3所示。

圖3 功能需求

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

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

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

3 系統模塊

3.1 FastDFS

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

圖4 物理拓撲

3.2 HDFS

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

3.3 Nginx

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

3.4 Keepalived

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

4 系統的架構設計

根據公司對存儲系統的實際需求,本文將以FastDFS為主HDFS為副的分布式文件存儲系統應用于BIM信息平臺,其物理拓撲圖如圖4所示,詳細功能介紹如下:

4.1 上傳與下載

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

4.2 高可用性

圖5 HDFS的靜態負載均衡原理

高可用性要求系統在升級或出現故障時,運行在該系統上的數據不會丟失,而且可以在盡可能短的時間內恢復系統的正常運行。

FastDFS采取對等結構,以保證高可用性,可存在多臺TrackerServer和StorageServer,且各自集群內部關系平等。每臺StorageServer會向所有TrackerServer通信,當客戶端需通過TrackerSrver訪問StorageServer時,以輪轉方式選擇TrackerServer。

HDFS采取主從結構,通過設置兩臺NameNode來保證高可用性。其中,一臺NameNode處于Active狀態,接管全部調度任務,另一臺處于Standby狀態,保持與ActiveNameNode的元數據同步,在檢測到ActiveNameNode停止工作時,變為Active狀態。DataNode會與兩臺NameNode通信,確保信息同步。

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

反向代理服務器Nginx采用主從結構,通過Keepalived模塊實現高可用。Keepalived是VRRP協議的實現。對于多臺服務器,一臺為MASTER,其余為BACKUP,MASTER負責主要任務,BACKUP處于監聽狀態。當MASTER停止工作時,其余BACKUP依據VRRP協議競選MASTER。

4.3 負載均衡

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

HDFS通過Balancer程序實現對文件數據的靜態負載均衡。思路為:先機架間平衡,后機架內衡機,且均以圖5所示策略均衡負載。更新機架間或機架內個節點的平均存儲利用率(同FastDFS),結合閾值(由用戶設定),將各機架或機架內各節點分組,再按序在組間轉移數據。

在Nginx上有多種內置負載均衡和擴展負載均衡策略可供選擇。內置策略包括輪詢、加權輪詢、IP_hash、URL_hash等; 擴展策略有一致性hash、通用hash等。本文選用加權輪詢方法。

4.4 橫向擴容

FatDFS可在線擴容。

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

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

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

5 小結

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

[1]王珺. BIM理念及BIM軟件在建設項目中的應用研究[D]. 西南交通大學,2011.

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

[3]余慶.分布式文件系統FastDFS架構剖析[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服務器Nginx實現開源負載均衡[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

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

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

TU17

A

1674-7461(2016)05-0040-05

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 日本在线视频免费| 国产一区二区免费播放| 4虎影视国产在线观看精品| 在线欧美国产| 国产粉嫩粉嫩的18在线播放91| 国产白丝av| 人人爽人人爽人人片| 蝴蝶伊人久久中文娱乐网| 国产综合在线观看视频| 91国内在线视频| 成年网址网站在线观看| www.youjizz.com久久| 欧美日韩导航| 久久精品中文字幕免费| 永久免费无码日韩视频| 国产超碰一区二区三区| 亚洲av成人无码网站在线观看| 免费国产无遮挡又黄又爽| 欧美一道本| 国产大片喷水在线在线视频 | 欧美不卡视频一区发布| 国产婬乱a一级毛片多女| 99精品视频在线观看免费播放| 激情乱人伦| 国产一在线观看| 91麻豆精品国产高清在线| 国产丰满大乳无码免费播放| 久久夜夜视频| 亚洲首页国产精品丝袜| 欧美亚洲国产视频| 亚洲色婷婷一区二区| 永久免费精品视频| 91午夜福利在线观看精品| 日韩一级毛一欧美一国产| 日韩午夜伦| 日本午夜精品一本在线观看| 色悠久久综合| 狠狠色综合网| 国产亚洲高清在线精品99| 久久久久人妻一区精品色奶水 | 国产成+人+综合+亚洲欧美| 亚洲欧洲日产国码无码av喷潮| 亚洲精品成人7777在线观看| 91精选国产大片| 波多野结衣二区| 日本欧美成人免费| 中文字幕天无码久久精品视频免费| 最新亚洲人成网站在线观看| 一级毛片免费不卡在线| 激情無極限的亚洲一区免费| 国产一二三区视频| 青青青国产精品国产精品美女| 欧美专区在线观看| 国产拍在线| 精品一区二区三区水蜜桃| 亚洲一区网站| 毛片大全免费观看| 一级毛片免费观看久| 中文字幕亚洲精品2页| 婷婷五月在线视频| 91外围女在线观看| 日韩中文精品亚洲第三区| 草草线在成年免费视频2| 天天躁夜夜躁狠狠躁图片| 久视频免费精品6| 国产制服丝袜无码视频| 国产日韩精品欧美一区灰| 中美日韩在线网免费毛片视频| 高潮毛片免费观看| 国产一级精品毛片基地| 伊人无码视屏| 欧美天天干| 人妻丰满熟妇啪啪| 精品国产Av电影无码久久久| 亚洲天堂日韩av电影| 国产99在线| 青青国产视频| 国产无人区一区二区三区| 无码精油按摩潮喷在线播放| 欧美啪啪一区| 99在线观看视频免费| 亚洲视频免费在线看|