激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

基于Web3D的異構數據存儲及通信研究

時(shí)間:2024-10-20 21:19:12 通信工程畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于Web3D的異構數據存儲及通信研究

  【摘 要】針對目前虛擬現實(shí)中三維模型和二維屬性關(guān)聯(lián)程度低、加載速度慢的情況,本文以湖南省地質(zhì)博物館為例,采用Unity3D作為開(kāi)發(fā)平臺,研究了異構數據存儲的存儲方式及通信途徑,制定了數據庫存儲和文件存儲相結合的數據存儲方案,并對Unity3D在Web環(huán)境下的數據通信過(guò)程進(jìn)行了研究。采用異步、分層次加載的方式對異構數據進(jìn)行加載,滿(mǎn)足了參觀(guān)者的參觀(guān)心理,在保證數據一致性的前提下,提高了數據的加載速度。

基于Web3D的異構數據存儲及通信研究

  【關(guān)鍵詞】異構數據;存儲;通信;Web3D;虛擬博物館

  引言

  Web3D,即網(wǎng)絡(luò )三維技術(shù),指在虛擬現實(shí)的基礎上,將現實(shí)世界中的物體通過(guò)互聯(lián)網(wǎng)進(jìn)行虛擬的三維立體展示并提供交互操作的一種虛擬現實(shí)技術(shù)[1]。目前,Web3D技術(shù)得到互聯(lián)網(wǎng)領(lǐng)域的廣泛關(guān)注,并已在博物館的虛擬展示方面得到應用,Google與世界多家博物館合作的Google“藝術(shù)計劃”、南京市博物館、上海市博物館、敦煌洞窟壁畫(huà)博物館等使用Web3D,均已實(shí)現博物館的遠程三維瀏覽及互動(dòng),但是目前虛擬博物館基本上采用圖片或全景圖進(jìn)行展示。采用圖片進(jìn)行展示,實(shí)現方式簡(jiǎn)單,但三維展示功能普遍較弱,全景圖雖然在該方面有所提高,能很好的現實(shí)虛擬效果,但是仍存在三維模型與二維屬性信息關(guān)聯(lián)程度低的缺陷,參觀(guān)者不能獲得場(chǎng)景及展品的信息,不能對展、藏品進(jìn)行全方位展示,更談不上對展、藏品的信息化管理。

  對展館和展品進(jìn)行虛擬展示,不僅要在網(wǎng)絡(luò )中傳輸結構化的屬性數據,還需要傳輸大量的沉重的圖片、模型、音視頻等非結構化數據,這些數據,特別是非結構化數據的傳輸速度受互聯(lián)網(wǎng)網(wǎng)絡(luò )帶寬和傳輸速度的限制,加載速度慢。為了滿(mǎn)足網(wǎng)絡(luò )環(huán)境下參觀(guān)者對于加載流暢度的要求,提高三維模型和二維屬性的關(guān)聯(lián)程度,實(shí)現異構數據的一致性存儲,對虛擬博物館進(jìn)行數據存儲和通信方式的研究變得尤為重要。

  Unity3D是一個(gè)成熟的跨平臺、層次級的虛擬現實(shí)開(kāi)發(fā)引擎,支持JavaScript、C#、Python等多種腳本語(yǔ)言,兼容各種操作系統,可發(fā)布成網(wǎng)頁(yè)的方式,用戶(hù)不用下載客戶(hù)端即可體驗。本文以湖南省地質(zhì)博物館為例,采用Unity3D作為開(kāi)發(fā)平臺,根據地質(zhì)博物館展/藏品的特點(diǎn)及之間的相互關(guān)系,設計了虛擬博物館的數據存儲方式,并對網(wǎng)絡(luò )環(huán)境中虛擬博物館的數據通信過(guò)程進(jìn)行研究。

  圖1 系統架構示意圖

  1 系統架構

  在網(wǎng)絡(luò )環(huán)境下,為了保證系統的響應速度和數據安全,系統采用B/S三層架構,圖1展示了系統的主要構成,分為表示層、業(yè)務(wù)層及數據層[2]。

  1.1 表示層

  表示層采用Unity3D的NGUI插件進(jìn)行開(kāi)發(fā),是虛擬博物館與參觀(guān)者進(jìn)行交互的界面。表示層通過(guò)http協(xié)議將交互產(chǎn)生的數據發(fā)送到業(yè)務(wù)層,并對業(yè)務(wù)層反饋的數據進(jìn)行可視化顯示。

  在表示層中,虛擬瀏覽導航模塊可根據用戶(hù)選擇的瀏覽方式為用戶(hù)提供不同的參觀(guān)線(xiàn)路,實(shí)現用戶(hù)在虛擬展館中的參觀(guān)移動(dòng)。展品展示模塊實(shí)現展品在虛擬博物館中的加載及圖片、音頻、視頻、三維模型等全方位展示。查詢(xún)功能模塊實(shí)現用戶(hù)對展館及展、藏品的分類(lèi)查詢(xún)查詢(xún)和在虛擬博物館中的定位。

  1.2 業(yè)務(wù)層

  業(yè)務(wù)層采用Unity3D編寫(xiě)腳本,根據表示層用戶(hù)的交互請求,向數據層請求數據。

  導航輔助模塊提供虛擬展館中參觀(guān)的節點(diǎn)信息,并根據用戶(hù)的位置提供參觀(guān)線(xiàn)路。資源管理模塊對客戶(hù)端的請求對數據控制模塊反饋的數據進(jìn)行管理。數據控制模塊按照導航輔助模塊和資源管理模塊的需求向數據層請求數據。

  1.3 數據層

  數據層存儲虛擬博物館的展館及展、藏品的所有信息,包括屬性信息、位置信息、模型、音頻、視頻、圖片等。

  2 數據存儲

  為了對系統中存儲的異構數據進(jìn)行統一管理,保持數據一致性,同時(shí),保證數據的加載速度,系統采用數據庫存儲和文件存儲相結合的方式存儲異構數據,即在文件系統中存儲文件,同時(shí)在數據庫中存儲文件的路徑和文件相應的BLOB字段。系統在進(jìn)行讀取操作時(shí),可直接讀取文件系統中的文件,在更新數據時(shí),則將數據庫和文件系統的數據同時(shí)進(jìn)行更新。

  2.1 基于心理設計存儲層次

  2.1.1 數據庫存儲

  由于參觀(guān)者參觀(guān)博物館時(shí)首先進(jìn)入博物館主場(chǎng)館,然后按照展館逐個(gè)參觀(guān),并重點(diǎn)觀(guān)看自己感興趣的展品,考慮到參觀(guān)者的參觀(guān)心理及參觀(guān)習慣,系統按照湖南省地質(zhì)博物館中展館及展品等實(shí)體的陳列關(guān)系,將博物館按層次分為展館主體、展廳、展柜、展品四部分,采用分步加載的方式對各層次數據進(jìn)行加載,不僅能夠滿(mǎn)足參觀(guān)者的視覺(jué)需求,而且減少了單次加載的數據量,從而減少參觀(guān)者等待數據加載的時(shí)間。

  根據博物館中實(shí)體的層次劃分,系統共設計19張表,存儲各層次主體的基本信息、音頻、視頻、三維模型的信息,各表之間以外鍵關(guān)聯(lián),既能保持各表的關(guān)聯(lián),同時(shí)保持了各自的獨立性,便于日后按照需求進(jìn)行擴充。

  以展品為例,根據系統需求,共包含展品基本信息表(EXITEM_BASEINFO)、展品圖片信息表(EXITEM_PICINFO)、展品模型信息表(EXITEM_MODELINFO)、展品視頻信息表(EXITEM_VIDEOINFO)、展品音頻信息表(EXITEM_AUDIOINFO)、展品類(lèi)型信息表(EXITEM_TYPEINFO),在此,主要對展品基本信息表和展品模型信息表進(jìn)行說(shuō)明。

  表1 展品基本信息表

  展品基本信息表中ITEM_ID為主鍵,EXHALL_ID等為外鍵,將展品基本信息表和展廳基本信息表進(jìn)行關(guān)聯(lián),系統能夠根據展品ID查詢(xún)到其所在展廳、展柜及收藏者信息等,可以從多角度、全方位地對展品進(jìn)行展示,同時(shí),將這些信息分表存儲,減小了單表的數據量,可提高查詢(xún)速度,避免數據庫更新異常等問(wèn)題。

  表2 模型基本信息表

  模型基本信息表中主鍵為MODEL_ID,外鍵為EXITEM_ID,將模型基本信息表和展品基本信息表關(guān)聯(lián),系統可根據EXITEM_ID獲取到展品的三維模型。展品模型按照二進(jìn)制流[7](EXITEM_MODEL字段)和文件路徑(FILEPATH字段)兩種方式進(jìn)行存儲,既方便和文件系統的數據進(jìn)行關(guān)聯(lián),實(shí)現數據的統一管理,而且二進(jìn)制流在文件系統異常時(shí)可根據路徑用于文件的恢復,在有數據冗余的情況下,可提高系統中數據的安全性能。

  2.1.2 文件存儲

  由于直接加載文件比從數據庫中讀取數據加載速度快,系統除在數據庫中存儲模型的二進(jìn)制流數據,還在文件系統中存儲模型文件。文件在系統中的存儲層次與數據庫中各主體的層次劃分一致,系統依照數據庫中存儲的文件的網(wǎng)絡(luò )路徑對文件進(jìn)行讀寫(xiě)。

  2.2 一致性保持

  由于系統中的異構數據在數據庫系統和文件系統中分別進(jìn)行存儲,需要對其進(jìn)行一致性維護。

  數據一致性指關(guān)聯(lián)數據之間的關(guān)系是否完整和正確,一方面指物理上的一致,即同一個(gè)事實(shí)的數據應該相同,如數據庫中存儲的幾個(gè)表都涉及到同一個(gè)數據項,這些數據應該保持相同的值,另一方面,數據一致性指邏輯上的一致,即不同數據之間業(yè)務(wù)邏輯的一致。本系統主要對數據的物理一致性保持進(jìn)行維護。

  由于數據庫中存儲異構數據主要的作用是數據備份,主要數據源是文件系統中的數據,兩者之間有較為明顯的主從關(guān)系,系統采用基于主從的事務(wù)控制方法來(lái)維護數據的一致性。

  系統中異構數據的更新操作以事務(wù)的方式提交給系統,事務(wù)先對文件系統的文件進(jìn)行更新操作,若操作成功則對其在數據庫中進(jìn)行備份,若備份失敗則進(jìn)行事務(wù)的回滾。以數據更新為例,其流程如圖2:

  圖2 數據更新流程圖

  有些異常情況,如突然斷電、數據庫發(fā)生遷移、誤刪文件等會(huì )造成數據的不一致,這種情況依靠事務(wù)控制機制無(wú)法處理的。因此,系統針對這些異常情況產(chǎn)生的數據不一致進(jìn)行了分類(lèi)并對其進(jìn)行一致性維護。

  (1)誤刪文件或數據庫遷移造成文件系統中文件缺失。若系統依照路徑查找文件失敗,則按照數據庫中存儲的文件路徑和BLOB數據對文件系統的數據進(jìn)行恢復。

  (2)突然斷電導致數據庫中文件路徑或BLOB數據未更新。若文件路徑更新完畢,則依照存儲的文件路徑查找該文件,并以BLOB的格式存儲在數據庫中。若文件路徑也未更新,則根據文件所對應實(shí)體(如展品或展館)以及文件類(lèi)型(音頻或視頻),根據文件系統存儲的層級結構查找該文件并進(jìn)行備份。

  3 數據通信

  由于該系統基于Unity進(jìn)行開(kāi)發(fā),參觀(guān)者要想使用瀏覽器對虛擬博物館進(jìn)行參觀(guān),首先需要安裝Unity WebPlayer插件。但是由于安全沙盒的限制,Unity WebPalyer不能直接與數據庫連接并且從數據庫中讀取數據。因此,本系統采用圖3的方式實(shí)現客戶(hù)端與數據庫的通信。首先,客戶(hù)端獲取參觀(guān)者在頁(yè)面的請求,并將請求和數據通過(guò)http協(xié)議發(fā)送給服務(wù)端,服務(wù)端的php通過(guò)url獲取用戶(hù)的請求和數據,執行腳本進(jìn)行數據庫操作,最后,將結果數據組織為Json格式反饋給客戶(hù)端,Unity WebPlayer讀取并解析網(wǎng)頁(yè)中的JSON數據,將其進(jìn)行可視化并在客戶(hù)端進(jìn)行展示。

  圖3 客戶(hù)端與數據庫通信方式

  本文以展品信息查詢(xún)?yōu)槔,展示W(wǎng)eb環(huán)境下Unity的通信過(guò)程。從系統的整體結構(圖1)可知,要執行展品信息的查詢(xún),首先觸發(fā)客戶(hù)端的查詢(xún)功能模塊,然后查詢(xún)功能模塊對查詢(xún)請求進(jìn)行分類(lèi)處理,并提交給資源管理模塊,資源管理模塊對現有資源進(jìn)行查詢(xún),如果沒(méi)有則進(jìn)一步向數據控制模塊請求數據,下文將主要講述數據控制模塊從數據庫中獲取數據后將數據反饋給表示層進(jìn)行顯示的過(guò)程。

  3.1 數據控制模塊

  數據控制模塊主要根據不同的查詢(xún)需求請求數據。要實(shí)現對展品信息的查詢(xún),數據控制模塊根據表示層的請求,不僅需要從數據層獲取展品的名稱(chēng)、編號、位置、鑒定特性等基本的屬性信息,為了對展品進(jìn)行多方面的展示,還需獲取圖片、音頻、視頻、模型等文件。   對于數據庫中存儲的文本信息,系統采用php腳本連接數據庫并讀取數據。由于JSON具有數據量小、易解析的特點(diǎn),系統選用其作為數據控制模塊和數據層的交換格式。系統將php腳本讀取的屬性數據按照JSON的格式要求進(jìn)行組織并反饋給資源管理模塊(如圖4)。

  圖4 展品屬性數據(JSON格式)

  對于圖片、模型等文件的獲取,系統將其路徑作為屬性數據的一部分反饋給資源管理模塊,客戶(hù)端可直接從服務(wù)器端對發(fā)布的文件進(jìn)行讀取,而不受Unity WebPlayer對數據庫的通信限制。

  3.2 資源管理模塊

  資源管理模塊接收表示層的查詢(xún)請求,并對數據控制模塊的數據進(jìn)行管理。根據表示層的查詢(xún)請求,資源管理模塊首先判定請求的數據是否包含在場(chǎng)景的預置文件或者緩存中,有則直接反饋到表示層進(jìn)行顯示,如果沒(méi)有,則向數據控制模塊發(fā)送數據請求,并接收數據控制模塊反饋的數據,當數據接收完畢,則反饋給表示層,對其進(jìn)行進(jìn)一步解析和顯示。主要代碼如下:

  if(!Resourses.Load(model)){

  WWW www = WWW.LoadFromCacheOrDownload(address,version);

  }

  3.3 展品展示模塊

  由于展品的屬性數據量小,而圖片的數據量大,因此,資源管理模塊接收到數據控制模塊反饋的JSON數據之后,則通知展品展示模塊首先對屬性數據進(jìn)行顯示。由于JSON格式的數據在客戶(hù)端容易解析,系統使用LitJSON先將JSON數據轉換成對象,通過(guò)訪(fǎng)問(wèn)對象的屬性值直接獲取屬性數據并在NGUI界面上顯示(如圖5)。

  對于圖片、模型等信息,系統則根據經(jīng)過(guò)JSON處理后得到的路徑直接向服務(wù)端請求文件。采用屬性信息和圖片信息分開(kāi)分布加載,不僅能夠滿(mǎn)足Web環(huán)境下的通信要求,而且屬性數據的優(yōu)先加載使用戶(hù)體驗得到提升。盡管采用了屬性信息和圖片信息分布加載的方式,但是由于圖片、三維模型等文件和屬性數據存在數量級的差異,系統采用異步加載的方式對模型進(jìn)行加載。系統進(jìn)行異步加載的主要代碼如下:

  yield return bundle;

  yield return Instantiate(bundle.assetBundle.mainAsset);

  bundle.assetBundle.Unload(false);

  圖5 展品查詢(xún)結果

  4 結語(yǔ)

  依照參觀(guān)者的參觀(guān)習慣對博物館的實(shí)體進(jìn)行層次存儲,不僅保證了數據的一致性,而且可有效減少單次加載數據量和加載時(shí)間。在Web環(huán)境下采用JSON格式進(jìn)行數據交互,減少了傳輸的數據量,同時(shí),采用分層次、異步加載的方式進(jìn)行加載,使模型的加載能夠在后臺進(jìn)行,減少了用戶(hù)等待時(shí)間,極大地提升了用戶(hù)的參觀(guān)體驗。由于地質(zhì)博物館的模型更為復雜和精細,數據量大,需要消耗更大的網(wǎng)絡(luò )帶寬和加載時(shí)間,因此,下一步的主要工作是對三維模型的數據量進(jìn)行精簡(jiǎn)。

  【參考文獻】

  [1]黃健.面向通用性的Web3D虛擬展覽館的設計與實(shí)現[D].成都:電子科技大學(xué),2012:34-47.

  [2]任國棟,陳林華,陶學(xué)鋒,方先行.基于Unity3D的虛擬博物館信息可視化系統[J].計算機系統應用,2013,22(9):86-90.

  [3]韓桂明.基于Unity3d房間仿真的關(guān)鍵技術(shù)研究[J].理論與算法,2014(8):41-43.

  [4]張延,余紅英,戚藝雪,萬(wàn)吉.基于Unity3D_3DMAX的導彈視景仿真系統[J].科技視界,2014(9):151-152.

  [5]張典華,陳一民,李磊.基于Unity3D的多平臺三維空戰游戲的開(kāi)發(fā)[J].計算機技術(shù)與發(fā)展,2014,24(1):192-195.

  [6]張利利,李仁義,李曉京,馬進(jìn),惠鐸鐸.Unity3D與數據庫通信方法的研究[J].計算機技術(shù)與發(fā)展,2014,24(3):229-232.

  [7]胡逢愷,趙剛,程旭.基于SQL Server數據庫的三維模型存取研究與實(shí)現[J].四川理工學(xué)院學(xué)報,2010,23(2):212-215.

  [8]朱惠娟.基于Unity3D的虛擬漫游系統[J].計算機系統應用,2012,20(10):36-39.

【基于Web3D的異構數據存儲及通信研究】相關(guān)文章:

基于SDO的異構服務(wù)數據模型研究03-28

對數據通信技術(shù)的研究03-19

基于GPS的船舶數據模擬系統的研究03-07

基于OFDM的UWB無(wú)線(xiàn)通信系統的研究03-07

一種基于鐵電存儲器的雙機串行通信技術(shù)03-18

基于愛(ài)好的電子商務(wù)數據挖掘技術(shù)的研究12-08

基于盲源分離的無(wú)線(xiàn)視頻通信研究與仿真03-07

基于閃存的星載大容量存儲器的研究和實(shí)現03-18

基于FPGA的TS201 linkport數據通信設計與實(shí)現03-30

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频