MongoDB數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)文檔_第1頁(yè)
MongoDB數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)文檔_第2頁(yè)
MongoDB數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)文檔_第3頁(yè)
MongoDB數(shù)據(jù)庫(kù)管理系統(tǒng)技術(shù)文檔_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MongoDB數(shù)據(jù)管理技術(shù)文檔詳細(xì)設(shè)計(jì)文檔版本一 總體設(shè)計(jì)1.基本架構(gòu)此數(shù)據(jù)管理系統(tǒng)主要完成了數(shù)據(jù)的存儲(chǔ)入庫(kù)、數(shù)據(jù)的按條件檢索、數(shù)據(jù)的出庫(kù)、根據(jù)影像的經(jīng)緯度按軌跡點(diǎn)展示數(shù)據(jù)、數(shù)據(jù)庫(kù)集群的搭建等主要工作,基本實(shí)現(xiàn)了三維建模的數(shù)據(jù)庫(kù)的應(yīng)用需求。數(shù)據(jù)庫(kù)結(jié)構(gòu)如下圖所示: 圖1 MongoDB數(shù)據(jù)庫(kù)架構(gòu)數(shù)據(jù)管理系統(tǒng)要操作的數(shù)據(jù)分類如圖2所示圖2 三位建模數(shù)據(jù)類型MongoDB數(shù)據(jù)管理系統(tǒng)只要針對(duì)建模所需用到的數(shù)據(jù)類型設(shè)計(jì)相應(yīng)的數(shù)據(jù)模型,以數(shù)據(jù)及數(shù)據(jù)庫(kù)所包含的工程對(duì)各種建模數(shù)據(jù)進(jìn)行相應(yīng)管理。根據(jù)數(shù)據(jù)和工程設(shè)計(jì)的數(shù)據(jù)模型分別見表1和表2:數(shù)據(jù)模型類型描述ID數(shù)據(jù)標(biāo)識(shí)(必選)唯一值,用于給不同的數(shù)據(jù)文件進(jìn)行編

2、號(hào),不可重復(fù)ProjectName工程名稱(必選)描述該數(shù)據(jù)文件屬于哪一建模工程場(chǎng)景FileName數(shù)據(jù)名稱(可選)影像數(shù)據(jù)、點(diǎn)云數(shù)據(jù)需要填寫該項(xiàng),矢量數(shù)據(jù)可不填FileType數(shù)據(jù)格式(必選)描述建模數(shù)據(jù)的數(shù)據(jù)格式UpdateTime上傳時(shí)間(必選)描述數(shù)據(jù)上傳時(shí)間Location地理位置(必選)描述建模數(shù)據(jù)對(duì)應(yīng)的經(jīng)緯度坐標(biāo)表1 數(shù)據(jù)模型工程模型類型描述ProjectName工程名稱(必選)描述該數(shù)據(jù)文件屬于哪一建模工程場(chǎng)景FileName數(shù)據(jù)名稱(可選)影像數(shù)據(jù)、點(diǎn)云數(shù)據(jù)需要填寫該項(xiàng),矢量數(shù)據(jù)可不填FileType數(shù)據(jù)格式(必選)描述建模數(shù)據(jù)的數(shù)據(jù)格式UpdateTime上傳時(shí)間(必選)描

3、述數(shù)據(jù)上傳時(shí)間Loc地理位置(必選)描述建模數(shù)據(jù)對(duì)應(yīng)的經(jīng)緯度坐標(biāo)表2 工程模型2.數(shù)據(jù)庫(kù)總體界面圖3 數(shù)據(jù)庫(kù)總體界面二 數(shù)據(jù)庫(kù)功能設(shè)計(jì)1. 接口及功能設(shè)計(jì)數(shù)據(jù)管理系統(tǒng)需對(duì)數(shù)據(jù)快速存儲(chǔ)、修改以及實(shí)現(xiàn)不同方式的檢索,如表3所示,系統(tǒng)將對(duì)數(shù)據(jù)的各類操作以數(shù)據(jù)接口形式提供給相關(guān)的建模功能模塊接口描述addFile (FileType, FileName)數(shù)據(jù)存儲(chǔ)接口updateFile(ID,F(xiàn)ileType, FileName)數(shù)據(jù)更新接口deleteFile(ID)刪除數(shù)據(jù)接口list SelectFilesByName(fileName)按名稱模糊查詢接口list SelectFilesByLo

4、cation(Coordinate X, Coordinate Y, Distance)按坐標(biāo)緩沖區(qū)查詢接口表3 數(shù)據(jù)庫(kù)接口描述數(shù)據(jù)存儲(chǔ)接口提供影像、點(diǎn)云和矢量數(shù)據(jù)的批量存儲(chǔ),數(shù)據(jù)尺寸較小可以直接按document存儲(chǔ);影像和點(diǎn)云數(shù)據(jù)一般較大,采用GridFS方式存儲(chǔ),將一個(gè)大文件分割成多個(gè)小文件,當(dāng)影像和點(diǎn)云等數(shù)據(jù)保存到MongoDB時(shí),會(huì)被自動(dòng)分割成許多塊,每塊只保存一個(gè)名字空間數(shù)據(jù),名字空間用于區(qū)分不同的存儲(chǔ)類別,對(duì)每塊而言,其頭部包含一些本塊的元數(shù)據(jù),包括本身的位置、上一個(gè)和下一個(gè)塊的位置以及塊中第1 條和最后一條記錄的位置指針,剩余部分用于存儲(chǔ)具體數(shù)據(jù),具體數(shù)據(jù)之間采用雙向連接。為簡(jiǎn)

5、化外部調(diào)用,接口利用傳入的文件類型(FileType)自動(dòng)判斷采用何種方式保存數(shù)據(jù);數(shù)據(jù)刪除和更新接口,支持利用數(shù)據(jù)的標(biāo)識(shí)號(hào)操作數(shù)據(jù);三維建模時(shí)要求對(duì)數(shù)據(jù)快速檢索,本系統(tǒng)提供的檢索方式包括:按文件名模糊檢索和按坐標(biāo)(Coordinate X, Coordinate Y)及距離(Disatance)進(jìn)行緩沖區(qū)檢索兩種方式,均支持批量數(shù)據(jù),數(shù)據(jù)結(jié)果為數(shù)據(jù)文件對(duì)應(yīng)的ID列表,利用該列表,可以將相應(yīng)數(shù)據(jù)導(dǎo)出數(shù)據(jù)庫(kù),如圖3,可以實(shí)現(xiàn)數(shù)據(jù)在線縮略圖展示。2.存儲(chǔ)數(shù)據(jù)1)存儲(chǔ)較大數(shù)據(jù):在上傳較大文件時(shí),選擇上傳如上圖所示的18張影像,會(huì)出現(xiàn)程序崩潰現(xiàn)象,測(cè)試計(jì)算機(jī)內(nèi)存為2GB,滿足不了每次大批量上傳較大影像

6、的要求,受計(jì)算機(jī)硬件影響,當(dāng)上傳上述空三數(shù)據(jù)時(shí),同時(shí)上傳很多張,由于是使用內(nèi)存流形式上傳,會(huì)出現(xiàn)程序崩潰的現(xiàn)象。這和計(jì)算機(jī)硬件是有關(guān)系的,上傳較大影像文件時(shí)最好分多次上傳,批量上傳會(huì)對(duì)計(jì)算機(jī)硬件要求很高。上傳尺寸較小影像數(shù)據(jù)時(shí)不受計(jì)算機(jī)硬件限制。2)存儲(chǔ)較小影像數(shù)據(jù)(帶經(jīng)緯度): 在創(chuàng)建完數(shù)據(jù)庫(kù)和工程之后,就可以向數(shù)據(jù)庫(kù)下的工程中導(dǎo)入數(shù)據(jù)了。右鍵“導(dǎo)入模型數(shù)據(jù)”,需要導(dǎo)入二級(jí)目錄下的數(shù)據(jù),例如D:data模型1,模型1文件夾里是具體的模型數(shù)據(jù)。導(dǎo)入項(xiàng)目文件數(shù)據(jù)可以導(dǎo)入單個(gè)數(shù)據(jù)文件,不需要放在二級(jí)目錄下。 圖7 所示為導(dǎo)入單個(gè)數(shù)據(jù)的操作。 在“工程視圖”下的”IMG”也可以瀏覽存儲(chǔ)的相應(yīng)工程的數(shù)

7、據(jù),如圖8對(duì)于存儲(chǔ)的帶GPS經(jīng)緯度坐標(biāo)的影像數(shù)據(jù),右鍵點(diǎn)擊”數(shù)據(jù)庫(kù)視圖“中的“Project”,選擇”照片展示“,可以點(diǎn)擊相應(yīng)點(diǎn),按坐標(biāo)方位瀏覽GPS坐標(biāo)相應(yīng)的影像信息,如圖9和圖10并且支持右鍵查找當(dāng)前鼠標(biāo)光標(biāo)所在處最臨近的影像,見圖11和圖12如圖可以限定查詢距離和返回影像個(gè)數(shù),也可以將相應(yīng)的影像導(dǎo)入相應(yīng)的模型,見圖13從數(shù)據(jù)庫(kù)安裝到數(shù)據(jù)一些管理見上。3. 集群搭建參考網(wǎng)址(用三臺(tái)計(jì)算機(jī)配置一個(gè)服務(wù)器系統(tǒng),別的計(jì)算機(jī)可以通過訪問該服務(wù)器中的IP地址和端口訪問這個(gè)服務(wù)器系統(tǒng),相當(dāng)于一個(gè)系統(tǒng)和許多臺(tái)計(jì)算機(jī)可以連接組成一個(gè)工作集群。圖14 數(shù)據(jù)在集群中的交互如圖14所示,機(jī)器1和機(jī)器2為數(shù)據(jù)機(jī)和

8、數(shù)據(jù)副本機(jī),機(jī)器3為仲裁機(jī)。機(jī)器13搭建了一個(gè)集群,別的機(jī)器可以訪問這個(gè)集群進(jìn)行數(shù)據(jù)交互操作。 在每臺(tái)機(jī)器上不同的硬盤中分別安裝數(shù)據(jù)客戶端,按每臺(tái)機(jī)器的IP地址沒別配置cmd下的端口,如在機(jī)器1中配置,打開4個(gè)cmd窗口,跳轉(zhuǎn)到MongoDB安裝bin目錄,分別輸入如下shell語(yǔ)句:C:mongodbtestbinmongod -dbpath=C:MongoDBbin -bind_ip 192.168.203.12 -port 21000 /(1)D:mongodbtestbinmongos -bind_ip 192.168.203.12 -port 20000 -configdb=192.

9、168.203.12:21000 /(2)mongod -dbpath=E:MongoDBbin -bind_ip 192.168.203.12 -port 22001 -replSet shard1/192.168.203.54:22001,192.168.203.102:22001 /(3)mongod -dbpath=F:MongoDBbin -bind_ip 192.168.203.12 -port 22002 -replSet shard2/192.168.203.54:22002,192.168.203.102:22001 /(4)機(jī)器2和機(jī)器3按實(shí)際的IP地址進(jìn)行同機(jī)器1的配置。如圖13圖16是配置數(shù)據(jù)機(jī)和數(shù)據(jù)副本機(jī)以及仲裁機(jī)的過程。圖13圖14圖15圖16這樣搭建好集群之后,別的計(jì)算機(jī)就可以通過IP地址和端口號(hào)訪問集群了,相當(dāng)于建立了一個(gè)數(shù)量可以動(dòng)態(tài)變化的計(jì)算機(jī)群,這樣多臺(tái)電腦就可以在三臺(tái)計(jì)算機(jī)為基礎(chǔ)的集群工作了。整個(gè)分片集群搭建完了,思考一下我們這個(gè)架構(gòu)是不是足夠好呢?其實(shí)還有很多地方需要優(yōu)化,比如我們把所有的仲裁節(jié)點(diǎn)放在一臺(tái)機(jī)器,其余兩臺(tái)機(jī)器承擔(dān)了全部讀寫操作,但是作為仲裁的192.168.203.12相當(dāng)空閑。讓機(jī)器3 192.168.203.12多分擔(dān)點(diǎn)責(zé)任吧!架構(gòu)可以這樣調(diào)整,把機(jī)器的負(fù)載分的更加均衡一點(diǎn),每個(gè)機(jī)器既可以作為主節(jié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論