專利名稱:基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法
技術領域:
本發(fā)明涉及網(wǎng)上三維場景的在多用戶環(huán)境中的高效網(wǎng)絡傳輸,特別是涉及基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法。
背景技術:
傳統(tǒng)的虛擬現(xiàn)實系統(tǒng)都局限于本地構(gòu)建和使用,隨著互聯(lián)網(wǎng)技術的發(fā)展,虛擬現(xiàn)實的應用領域進一步擴展,為了滿足地理上廣為分布的不同計算終端之間的交互需求,分布式虛擬現(xiàn)實(Distributed Virtual Reality, DVR),又稱分布式虛擬環(huán)境(DVE,Distributed Virtual Environments)應運而生。地理上分布于不同區(qū)域的計算終端,在本地構(gòu)建虛擬環(huán)境,然后通過控制虛擬節(jié)點化身(avatar,用于代表真實用戶的虛擬人)在一個共享的三維虛擬環(huán)境中進行交互或者漫游。
從分布式虛擬環(huán)境產(chǎn)生的原因來看,地理上廣為分布的用戶之間、用戶和虛擬環(huán)境之間的通訊和交互需求是其產(chǎn)生的內(nèi)在原因,也是分布式虛擬環(huán)境產(chǎn)生的充分條件;而正是由于虛擬現(xiàn)實和互聯(lián)網(wǎng)技術的發(fā)展,從而在外部技術上推動了其產(chǎn)生,因此技術進步可以看成分布式虛擬環(huán)境產(chǎn)生和發(fā)展的必要條件。作為虛擬現(xiàn)實和網(wǎng)絡技術結(jié)合所產(chǎn)生的交叉研究領域,分布式虛擬現(xiàn)實已在軍事仿真訓練、虛擬城市、大規(guī)模網(wǎng)絡在線游戲MM0G、虛擬數(shù)字博物館、網(wǎng)絡在線學習等諸多領域得到了廣泛的應用。由于虛擬環(huán)境是眾多化身的活動場所,因此在用戶終端高效構(gòu)建虛擬環(huán)境就成為DVE領域首要解決的問題。在互聯(lián)網(wǎng)技術飛速發(fā)展的今天,網(wǎng)絡基礎設施的完善極大地推動了 DVE領域的發(fā)展。對比通過CD/DVE-R0M預先安裝來構(gòu)建虛擬場景的方式,基于從服務器端下載虛擬場景已經(jīng)成為地理上廣為分布的用戶節(jié)點快捷、便利地構(gòu)建本地虛擬環(huán)境的主流方式。在這一方式中,用戶需首先將存儲于服務器上的虛擬場景全部下載到本地,經(jīng)過重構(gòu)、渲染等處理生成虛擬場景,然后在場景中開展特定的應用(與其余用戶進交互或根據(jù)興趣漫游)。然而,隨著虛擬場景在空間上的跨度和數(shù)據(jù)量與日俱增,分布在不同地域并發(fā)下載同一場景的用戶數(shù)量也越來越多(最明顯的例子是大量新加入MMOG的玩家需要同時從某地下載場景以構(gòu)建本地游戲場景),基于Client/Server的傳統(tǒng)場景下載模式正面臨著以下難以解決的“瓶頸”問題。(I)大規(guī)模虛擬場景的下載實時性與服務器端有限帶寬之間的矛盾。目前各類虛擬場景的復雜度和規(guī)模都急劇增加。一個著名的例子是MMOG-SecondLife,其場景數(shù)據(jù)量已經(jīng)達到34TB,且仍持續(xù)增長;現(xiàn)有一些研究機構(gòu)如NASA更致力于構(gòu)建地球級別的大規(guī)模三維世界,例如X3D Earth (其數(shù)據(jù)量已經(jīng)達到70TB)。用戶對大規(guī)模場景數(shù)據(jù)的實時下載需求并未發(fā)生變化,但在基于client/server的下載模式中,服務器能提供的下載帶寬卻極其有限,尤其是在諸如MMOG這類大規(guī)模用戶參與的DVE中,多用戶同時下載的請求帶來的帶寬競爭現(xiàn)象尤其明顯,極有可能造成網(wǎng)絡擁塞。(2)服務器端的有限處理能力與多用戶并發(fā)下載之間的矛盾。
DVE中用戶規(guī)模越來越大,流行的MMOG通常都有數(shù)萬乃至數(shù)十萬用戶同時在線。在基于client/server的下載模式中,大規(guī)模用戶對大規(guī)模場景數(shù)據(jù)的同時請求勢必給服務器帶來極高的負載,并可能帶來服務器癱瘓。
發(fā)明內(nèi)容
本發(fā)明的目的是在于提供一種基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法,可解決現(xiàn)有技術的下載模式陳舊、下載速度慢等問題。本發(fā)明的技術方案基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法,其特征在于,該方法包括以下步驟(I)加入分布式虛擬環(huán)境;(2)判定可視場景;
(3)興趣區(qū)域的鄰居發(fā)現(xiàn);(4)場景源發(fā)現(xiàn);(5)場景源選擇;(6)檢測是否能提供服務,若為是,則繼續(xù)下一步,若為否,則返回步驟(4);(7)下載優(yōu)先級處理;(8)場景傳輸;(9)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟⑵;(10)檢測是否傳輸完畢,若為是,則繼續(xù)下一步,若為否,則返回步驟⑶;(11)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟⑵;(12)預下載。本發(fā)明具有的有益效果(I)在場景下載中采用P2P技術,將集中式下載改為分布式下載,即場景下載源由單一的服務器改變?yōu)楦鱾€P2P節(jié)點,大大降低對服務器的性能需求;(2)快速從節(jié)點獲取所需要的場景資源,從而快速構(gòu)建虛擬場景。
圖I是本發(fā)明基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法的流程示意圖;圖2是本發(fā)明的可擴展多層興趣區(qū)域示意圖;圖3是本發(fā)明的節(jié)點注冊過程示意圖;圖4是本發(fā)明的節(jié)點加入DVE過程的示意圖;圖5是本發(fā)明的節(jié)點在移動過程中發(fā)現(xiàn)SMLAOI鄰居示意圖;圖6是本發(fā)明的節(jié)點離開P2P-DVE示意圖;圖7是本發(fā)明的場景下載增量信息的格式示意圖;圖8是本發(fā)明的SMLAOI場景下載源分級搜索示意圖;圖9是本發(fā)明的場景下載請求動態(tài)分配過程示意圖;圖10是本發(fā)明的場景傳輸示意圖;圖11是本發(fā)明的兩種運動模式示意圖;圖12是本發(fā)明的P2P-DVE仿真模擬平臺示意圖13是本發(fā)明的場景請求服務成功率示意圖;圖14是本發(fā)明的下載飽和度示意圖;圖15是本發(fā)明的下載飽和度時序圖;圖16是本發(fā)明的服務器端下載率示意圖。
具體實施例方式為使對本發(fā)明的結(jié)構(gòu)特征及所達成的功效有更進一步的了解與認識,用以較佳的實施例及附圖配合詳細的說明,說明如下
該實施例的圖I中,基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法,該方法包括以下步驟(I)加入分布式虛擬環(huán)境;(2)判定可視場景;(3)興趣區(qū)域的鄰居發(fā)現(xiàn);(4)場景源發(fā)現(xiàn);(5)場景源選擇;(6)檢測是否能提供服務,若為是,則繼續(xù)下一步,若為否,則返回步驟(4);(7)下載優(yōu)先級處理;(8)場景傳輸;(9)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟⑵;(10)檢測是否傳輸完畢,若為是,則繼續(xù)下一步,若為否,則返回步驟⑶;(11)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟⑵;(12)預下載。本發(fā)明主要包含以下四部分內(nèi)容I.將傳統(tǒng)單層興趣區(qū)域提升為可擴展多層興趣區(qū)域,并根據(jù)每層節(jié)點資源及場景數(shù)據(jù)量匹配的原則給出了可擴展多層興趣區(qū)域的分劃技術。根據(jù)虛擬場景漸進式傳輸?shù)奶攸c,又提出可擴展多層興趣區(qū)域下載增量/減量的概念,并采用一種高效方案快速拾取下載增量;針對視點旋轉(zhuǎn)過程中的場景拾取,提出旋轉(zhuǎn)增量/減量的概念,并同樣給出拾取旋轉(zhuǎn)增量的方法。2.針對節(jié)點化身在漫游中隨時改變位置的特點,提出了一種基于Voronoi圖的節(jié)點通信機制,該機制主要通過節(jié)點之間的消息轉(zhuǎn)發(fā)來定位節(jié)點化身,從而降低了服務器負載。3.提出一種復合式場景下載源發(fā)現(xiàn)策略,其包括“場景信息主動通知”和“請求-應答”兩個階段。在場景信息主動通知階段,通過周期性地接受來自虛擬鄰居節(jié)點的消息,節(jié)點就能夠感知自身所需場景資源的擁有者;當場景信息主動通知策略不能完全發(fā)現(xiàn)請求節(jié)點所需場景資源的擁有者時,則啟動請求-應答策略。在請求-應答階段中,設計了一種基于可擴展多層興趣區(qū)域的分級場景下載源搜索策略,該策略優(yōu)先向擁有那些最有可能擁有指定區(qū)域內(nèi)場景的節(jié)點發(fā)出查詢請求,避免了向全局網(wǎng)絡發(fā)送查詢請求所帶來的巨大通信開銷。3.設計了一種最優(yōu)場景下載源的選擇策略。該策略選擇對場景下載性能影響最大的三種因素CPU負載、網(wǎng)絡延時及可用帶寬進行綜合評價,并采用層次分析法來確定各因素的權(quán)重,從而篩選出最適合傳輸場景的節(jié)點。4.在P2P文件共享應用中,若節(jié)點存在自私行為(只想下載而不愿意提供上傳),則會導致囚徒困境,從而造成系統(tǒng)性能的極大損失。為了避免在三維場景傳輸中的囚徒困境,設計了一種基于傳輸貢獻的針鋒相對策略。該策略通過計算一定周期內(nèi)請求節(jié)點對自身的場景傳輸貢獻,對貢獻較大的節(jié)點進行獎勵,即優(yōu)先處理來自這些節(jié)點的下載請求,并阻塞來自傳輸貢獻較小的節(jié)點的請求??蓴U展興趣區(qū)域為適應P2P網(wǎng)絡中場景的并行傳輸需求,本發(fā)明將現(xiàn)有的興趣區(qū)域(area ofinterest, A0I)擴展為可擴展多層興趣域SMLAOI (Scalable Multi-Layer A0I),其用于當前可視場景的判定和場景下載源的搜索。如圖2所示,假設現(xiàn)有一個n層SMLA0I,其由n個同心圓組成,每個同心圓又可分為兩個子區(qū)域。按照當前視線方向從遠到近,標識每個子區(qū)域為Qn,Qn-!,... ,Q0,... , Q-(n-D。SMLAOI的最外層半徑即AOI半徑R,均為觀察者的最大可 視距離。從整體上看,SMLAOI又被分劃為CVR(Current Visible Region,當前可視區(qū)域,由Q1, Q2,... Qn組成的一個扇環(huán),夾角通常為 120。)和 VRA (Visible Region After Rotation,旋轉(zhuǎn)后可視區(qū)域,由Qci, Q-!, Q—2, Q-(n-i) 組成)。P2P網(wǎng)絡中節(jié)點的鄰居化身發(fā)現(xiàn)設計了一種用于搜索SMLAOI鄰居化身的機制。將節(jié)點化身在P2P-DVE中的活動分為主要三個階段(a)節(jié)點化身加入階段;(b)節(jié)點化身移動階段;(c)節(jié)點化身退出階段。下面簡單描述這三個階段。(a)節(jié)點化身加入階段新加入DVE的節(jié)點化身連接到某服務器進行注冊(值得注意的是,在整個P2P網(wǎng)絡中,可能存在不止一臺服務器,節(jié)點化身需要根據(jù)網(wǎng)絡延時等因素選擇一臺服務器注冊)。如圖3所示,節(jié)點在獲得服務器A、B、C及D到自身的TTS后,由于D到自身網(wǎng)絡延時最小,故選擇向D注冊。服務器將為該節(jié)點化身分配在其在P2P-DVE中的全局唯一節(jié)點化身ID。新加入DVE的節(jié)點向P2P-DVE的所有節(jié)點發(fā)送“查詢消息包”,“消息查詢包”的格式為:< 包頭,新加入節(jié)點化身在DVE 二維平面上的坐標,節(jié)點IP〉。新加入節(jié)點的消息查詢包經(jīng)過貪心擴散,將最終為P2P-DVE中的某節(jié)點收到(這里將其命名為接受者),接收者將向新加入的節(jié)點返回一個虛擬鄰居列表,在該虛擬鄰居列表中包含AOI鄰居和緊密鄰居。新加入節(jié)點和該虛擬鄰居列表中的每個節(jié)點都直接建立連接,然后構(gòu)造以自己化身為中心的一個Voronoi圖,同時,那些被連接的節(jié)點也會隨之更新其自身的Voronoi圖。經(jīng)過以上步驟后,新加入節(jié)點化身完成了對自己初始加入位置的其它鄰近虛擬節(jié)點化身的發(fā)現(xiàn)。接下來介紹節(jié)點化身在移動過程中對鄰近虛擬節(jié)點化身的發(fā)現(xiàn)。圖4給出一個節(jié)點加入DVE的例子。在左邊圖中,黑色圓點及三角形表示服務器及其緊密鄰居;橙色圓點則表示要加入DVE的節(jié)點,藍色圓點及正方形表示接收者及其緊密鄰居;橙色箭頭則表示信息的傳遞過程;右邊圖則表示節(jié)點加入DVE之后更新的VOTonoi圖,陰影部分是被影響的鄰居化身。(b)節(jié)點化身移動階段移動的節(jié)點化身將向自己當前所有已經(jīng)建立連接的虛擬鄰居發(fā)送“位置更新消息包”,“位置更新消息包”格式如下:< 包頭,下一步在DVE 二維平面上的坐標,下一步所需要的場景增量信息,自身所存儲的場景信息>。在接受到這類“位置更新消息包”后,該節(jié)點的虛擬鄰居節(jié)點會做出不同處理。不是邊緣鄰居的節(jié)點接受該“位置更新消息包”后,直接丟棄該“位置更新消息包”;而該移動化身的邊界鄰居在接受到該位置更新消息包后,邊界鄰居將檢查自身的緊密鄰居是否對該移動節(jié)點化身可見(即落入對方的AOI內(nèi)),或者自身的緊密鄰居已經(jīng)成為該移動化身所在節(jié)點的緊密鄰居; 如果以上條件滿足,則該邊界鄰居向移動節(jié)點化身發(fā)送通知,通知信息將對“位置更新消息包”中的查詢進行回應,即返回自身Cache中所擁有的場景信息。移動化身所在節(jié)點在收到該通知后,直接和新發(fā)現(xiàn)的虛擬鄰居建立連接。如果該移動節(jié)點化身的邊界鄰居發(fā)現(xiàn)自身已經(jīng)離開該移動節(jié)點化身的AOI范圍后,同樣會向該移動節(jié)點化身發(fā)送通知,這樣移動節(jié)點化身就會與這類節(jié)點斷開連接。圖5給出一個節(jié)點在DVE中平移過程中發(fā)現(xiàn)SMLAOI鄰居的例子。在左邊圖中,黑色圓點、正方形、三角形及星形分別表示某個移動節(jié)點、它的緊密鄰居、邊緣鄰居及符合兩種鄰居特征的鄰居。在右邊圖中,叉形則表示在節(jié)點化身平移后不再屬于AOI鄰居的節(jié)點化身。(c)節(jié)點化身的退出階段該機制保證節(jié)點化身的正常退出和異常退出(斷電或者其它因素)沒有區(qū)別,只需要簡單斷開和所有其余節(jié)點的連接;而受到節(jié)點化身離開P2P-DVE影響的其余節(jié)點化身則更新其自身Voronoi圖。圖6給出節(jié)點離開DVE的一個示例,圖中,黑色正方形表示離開的節(jié)點。在節(jié)點較為密集的P2P-DVE中,為避免因局部區(qū)域節(jié)點化身過于密集而導致的網(wǎng)絡擁塞現(xiàn)象,采用了 AOI半徑的動態(tài)調(diào)整機制。該AOI半徑動態(tài)調(diào)整機制的基本思路如下以節(jié)點Vk為例,當Vk的CPU負載超過閾值時,則減小SMLAOI半徑,以降低其工作負載。場景下載源搜索每個觀察者在每步移動后,都將向自己的當前AOI鄰居發(fā)送自己的場景下載增量信息,該信息格式如圖7所示,0bj_ID表示物體的標識,Max_ID則表示本地已經(jīng)接受到該物體的網(wǎng)格增量。由于物體的重構(gòu)依賴于連續(xù)的網(wǎng)格增量,因此若場景文件片編號分別為I、2、3,5的網(wǎng)格增量被本地接受,該物體當前的Max_ID即為3而不是5。對于新發(fā)現(xiàn)的AOI鄰居,則向其發(fā)送自身當前Cache空間內(nèi)存儲的所有已經(jīng)下載場景的信息。這樣在收到信息后,觀察者將直接向擁有該場景文件的節(jié)點請求場景傳輸。但主動通知場景信息的這種方式仍然存在缺陷不能保證僅通過場景信息的主動通知實現(xiàn)對場景下載源的完全發(fā)現(xiàn)。當一個請求節(jié)點需要下載給定區(qū)域內(nèi)場景時,可以看出由于節(jié)點視野范圍的限制,只有部分SMLAOI鄰居對該給定區(qū)域產(chǎn)生興趣;而那些目前節(jié)點化身正位于該區(qū)域或離該區(qū)域較近的節(jié)點與該請求節(jié)點有更多相同的興趣域?;谝陨险J識,首先向這類節(jié)點發(fā)送場景查詢請,則找到場景下載源的概率相比首先向那些節(jié)點化身距離該區(qū)域較遠的節(jié)點發(fā)送查詢請求的概率更高。如圖8所示,提出一種基于SMLAOI的場景下載源分級搜索策略。場景下載源選擇盡管對于某一個場景文件而言,可能找到多個場景下載源,而實際上請求節(jié)點只能從其中一個場景下載源獲得該場景文件。首先,網(wǎng)絡中節(jié)點的資源狀況千差萬別,包括可用帶寬、Cache容量、CPU處理能力等。其次,在像因特網(wǎng)這樣的廣域網(wǎng)環(huán)境中,任意兩個節(jié)點在建立連接后,在物理距離、傳輸時延上也各不相同;而在P2P覆蓋網(wǎng)中,任意兩個節(jié)點之間的虛擬連接映射為廣域網(wǎng)中的多條物理連接,因此差別就顯得更大。提出一種新的場景下載源選擇機制-“最優(yōu)場景下載源”選擇機制。對于場景文件下載請求隊列中的每一個請求,在經(jīng)過對現(xiàn)有場景下載源的可用資源的全面評估后,請求節(jié)點將從其當前所有場景下載源中選擇一個處理能力最強的節(jié)點(最優(yōu)場景下載源)來提供下載服務。以場景請求節(jié)點Vk為例,假定某場景文件的下載請求節(jié)點的場景下載源集合為S(Pi) ,S= (N1,N2,...,NJ0盡管現(xiàn)實中存在許多因素可以影響場景傳輸性能,目前本文只考慮其中幾個最為關鍵的因素,它們分別是Ucpu(Ni):節(jié)點Ni當前CPU利用率,其值域為
;Bupload (Ni):節(jié)點Ni此刻可用的上傳帶寬;KNi ;Vk):請求節(jié)點與節(jié)點Ni之間的網(wǎng)絡延時。通過公式(4. I)來評估每個場景下載源的資源得分狀況。通常而言,客戶端帶寬為0之100Kb/s,而網(wǎng)絡延時為0至10S。為了公平的評價每個指標,本文首先利用兩個“歸一化因子”FactorBdP Factor^對它們進行歸一化處理;在歸一化完成之后,Bw(Ni)和Lat (Ni !requester)的值域也為
。
權(quán)利要求
1.基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法,其特征在于,該方法包括以下步驟 (1)加入分布式虛擬環(huán)境; (2)判定可視場景; (3)興趣區(qū)域的鄰居發(fā)現(xiàn); (4)場景源發(fā)現(xiàn); (5)場景源選擇; (6)檢測是否能提供服務,若為是,則繼續(xù)下一步,若為否,則返回步驟(4); (7)下載優(yōu)先級處理; (8)場景傳輸; (9)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟(2); (10)檢測是否傳輸完畢,若為是,則繼續(xù)下一步,若為否,則返回步驟(8); (11)檢測是否視點移動,若為否,則繼續(xù)下一步,若為是,則返回步驟(2); (12)預下載。
全文摘要
本發(fā)明涉及基于對等網(wǎng)的大規(guī)模虛擬場景的高效下載方法,該方法包括以下步驟加入分布式虛擬環(huán)境;判定可視場景;興趣區(qū)域的鄰居發(fā)現(xiàn);場景源發(fā)現(xiàn);場景源選擇;檢測是否能提供服務,若為是,則下載優(yōu)先級處理;場景傳輸;檢測是否視點移動,若為否,則檢測是否傳輸完畢,若為是,則檢測是否視點移動,若為否,則預下載。本發(fā)明具有的有益效果在場景下載中采用P2P技術,將集中式下載改為分布式下載,即場景下載源由單一的服務器改變?yōu)楦鱾€P2P節(jié)點,大大降低對服務器的性能需求;快速從節(jié)點獲取所需要的場景資源,從而快速構(gòu)建虛擬場景。
文檔編號H04L29/08GK102752325SQ20111009694
公開日2012年10月24日 申請日期2011年4月18日 優(yōu)先權(quán)日2011年4月18日
發(fā)明者羅昌, 賈金原 申請人:賈金原