專利名稱:基于空間關系的三維空間數(shù)據(jù)自適應預調度方法
技術領域:
本發(fā)明涉及地理學及地學空間信息處理技術領域,尤其涉及一種基于空間關系的 三維空間數(shù)據(jù)自適應預調度方法。
背景技術:
三維空間數(shù)據(jù)實時可視化與多用戶在線應用等都需要極快的響應時間,這對大規(guī) 模三維空間數(shù)據(jù)數(shù)據(jù)庫管理的性能提出了巨大的挑戰(zhàn)。受當前計算機硬件的限制,使得在 三維場景繪制時不可能一次性將所需的全部三維空間數(shù)據(jù)調入內存,必須根據(jù)當前三維場 景的需要動態(tài)調入所需的數(shù)據(jù)。因而能否從文件或三維空間數(shù)據(jù)庫中高效的動態(tài)調度所需 的數(shù)據(jù)到系統(tǒng)內存已成為保障三維實時繪制流暢性的關鍵。目前,國內外大都采用一定的空間組織建立內、外存一致的存儲索引結構,使用投 機的預讀取策略、相應的緩存管理策略、以及多線程并行調度的方法等實現(xiàn)海量數(shù)據(jù)的增 量動態(tài)調度。由于圖像瓦片與金字塔結構等技術對于柵格數(shù)據(jù)的管理與實時應用已比較 成熟,許多商業(yè)軟件如Google Earth、Skyline以及Oracle 10/llg的GeoRaster都采用 這些成熟技術實現(xiàn)了海量柵格數(shù)據(jù)的管理。Oracle摒棄了數(shù)據(jù)的空間特性,單純從面向 對象的角度,開發(fā)了基于對象關系圖的預調度技術。該技術采用面向對象思想,為存在繼 承、派生、聯(lián)合、聚合關系的對象建立對象關系圖,并沿此圖實現(xiàn)預調度對象的追蹤和加載。 Fimkhouser等最先將數(shù)據(jù)預讀取加載的方法引入到大數(shù)據(jù)量的可視化應用中?,F(xiàn)有大多數(shù) 地形漫游系統(tǒng)的動態(tài)調度方法大都采用基于平面格網(wǎng)的預測機制?;谝朁c的預測模型是 根據(jù)當前的視點的位置、運動方向、運動速度、角速度等建立一個視點的預測函數(shù),根據(jù)當 前交互的特點,預計算幾個可能的視點位置,使用預計算得到的視點進行數(shù)據(jù)的可見性判 斷來完成對數(shù)據(jù)的預加載。現(xiàn)有典型系統(tǒng)如意大利CRS小組開發(fā)的0EMM基于八叉樹的內 外存一體化結構,IBM公司Correa等開發(fā)的iwalk基于八叉樹的多線程單機環(huán)境的調度技 術,德國Saarland大學開發(fā)的基于k_D樹結構的內、外存結構用于大規(guī)模場景的實時射線 追蹤的動態(tài)數(shù)據(jù)調度方法等。另外Oracle llg提供了基于對象之間關系的復雜對象的預 調度技術。該技術采用面向對象的思想根據(jù)對象之間的關系建立對象關系圖,然后由初始 化對象開始,通過對象之間的引用關系而預讀取其他對象。在這種技術中,應用程序可設置 一些檢索規(guī)則,如檢索的深度,以便在一次網(wǎng)絡傳輸中檢索出一批相關的對象。
發(fā)明內容
針對上述存在的技術問題,本發(fā)明的目的是提供一種基于空間關系的三維空間數(shù) 據(jù)自適應預調度方法,以從文件或三維空間數(shù)據(jù)庫中高效地動態(tài)調度所需的數(shù)據(jù)到系統(tǒng)內 存,保障三維實時繪制的流暢性。為達到上述目的,本發(fā)明采用如下的技術方案①采用觸發(fā)器機制實現(xiàn)對系統(tǒng)調度情況的實時監(jiān)控;②利用已經(jīng)被調度到緩存中的三維空間對象建立樣品索引樹,將活動對象按其空
3間位置關系形成空間聚類結構;③計算樣品樹中影響區(qū)域的影響因子R,以遞歸方式自下而上計算,求得樣品樹中 每個影響區(qū)域的影響因子;④從樣品樹的根結點開始,以其影響區(qū)域為包圍盒進行檢索,檢索出根節(jié)點影響 區(qū)域包含的預取對象;⑤計算預取對象占用的內存總和大小k,K=n∑1Ki;⑥比較K與設定的供預調度對象剩余可使用的內存空間的大小,= Kpre-Kuse, 其中,Kpm為設定預調度緩存空間、為已占用預調度緩存空間;如果K ( KM,將檢索出的 對象作為預調度對象調入緩存,結束預調度進程;如果K > Kre,到步驟⑦;⑦對樣品樹中下一層的影響區(qū)域按其影響因子R的大小降序排列兄弟節(jié)點;⑧按所排順序,選取第一個節(jié)點為需篩選影響區(qū)域;⑨影響區(qū)域為包圍盒進行全局檢索,檢索出篩選影響區(qū)域包含的預取對象;
⑩計算預取對象占用的內存總和大小K,K=n∑1Ki,其中Ki表示預取對象占用的內
存大?。?比較K與設定的供預調度對象剩余可使用的內存空間的大小,如果K彡Kre, 將檢索出的對象作為預調度對象調入緩存,按所排順序,選取下一個兄弟節(jié)點為需篩選影 響區(qū)域,到步驟⑨;如果K > Kre,到步驟⑦; 當檢索到樣品樹葉節(jié)點時,選取其父節(jié)點的下一個節(jié)點為需篩選影響區(qū)域,到 步驟⑨; 當、=0時,結束預調度進程; 在下次執(zhí)行調度程序時,停止預調度進程,或當CPU的使用率超過一定值時,則 停止預調度進程。
所述步驟③中采用R=n∑i1Vi*Ri/V計算樣品樹中影響區(qū)域的影響因子R,其中V表
示影響區(qū)域的體積,氏表示其子節(jié)點影響區(qū)域的影響因子,V,表示其子節(jié)點影響區(qū)域的體 積。本發(fā)明具有以下優(yōu)點和積極效果1)本發(fā)明提出了樣品樹的空間聚類結構,能夠根據(jù)活動對象的空間來高效并科學 合理地確定預調度對象;2)本發(fā)明采用了觸發(fā)器及多線程的機制,能保證系統(tǒng)操作的正常進行,最大限度 地避免網(wǎng)絡阻塞;3)本發(fā)明的預調度方法具有自適應特性,能自動選擇預調度對象,有效地解決了 系統(tǒng)資源爭奪和使用效率的問題。
圖1是本發(fā)明提供的基于空間關系的三維空間數(shù)據(jù)自適應預調度方法的流程圖。圖2是本發(fā)明提出的樣品樹的結構示意圖。
具體實施例方式本發(fā)明提供的基于空間關系的三維空間數(shù)據(jù)自適應預調度方法,綜合考慮已調度 空間對象的范圍及重要性,選擇最優(yōu)預調度對象,基于空間聚類分析的預調度策略根據(jù)內 存等硬件使用情況自適應調整設定預調度內存空間,自動的查找滿足條件預調度對象,并 根據(jù)CPU的計算能力,適時地啟動和關閉預調度程序,下面以具體實施例結合附圖對本發(fā) 明作進一步說明本方法以空間關系中的九交模型為理論依據(jù),采用空間聚類和空間插值的思想, 將緩存中的空間對象視為樣品數(shù)據(jù),建立樣品樹。通過樣品樹中活動對象或子影響區(qū)域的 影響因子估算上一級影響區(qū)域的影響因子值。同時兼顧系統(tǒng)的內存實時使用情況和CPU的 計算能力,采用觸發(fā)器及多線程的相關機制來實現(xiàn)系統(tǒng)實時地監(jiān)控CPU的計算能力和調度 情況,啟動預調度進程。九交模型是0GC(0pen Geospatial Consortium,開放空間信息協(xié)會)制定的一套 適用空間查詢的一套模型。九交模型根據(jù)不同維度,不同類型的幾何對象之間的空間關系 來定義空間查詢的基本算子?;镜膸缀螌ο笤赜悬c,線,面,它們都有很明確的邊界,內部,外部。相關定義 如下表所示 九交模型通過比較兩個或者多個對象的外部,邊界,和內部,并求交,考慮求交結 果的維度,故適合于各種對象。這個模型分別用1(a)、B (a)、E (a)表示幾何對象a的內部、 邊界和外部的集合,通過對兩個幾何對象a、b的外部、邊界、內部集合進行求交,運用維數(shù) 擴展法進行擴展,并將求交結果填充到九交模型表中,如下表所示 dim()的返回值有_1,0,1,2.分別代表不同的含義,如下T 交集存在,dim = 0,1 或 2 ;
F 交集不存在,dim = -1 ;0 交集存在,但其最高維度必須是0 ;1 交集存在,但其最高維度必須為1 ;2 交集存在,但其最高維度必須為2 ;樣品樹是將活動對象按其空間位置關系而建立的空間聚類結構,體現(xiàn)了活動對象 之間的空間相關性和空間數(shù)據(jù)的局部性特征。三維空間數(shù)據(jù)具有三維空間局部性的特性, 即若一個區(qū)域中的數(shù)據(jù)被訪問,那么此區(qū)域中其它數(shù)據(jù)被訪問的可能性也很大?;诳臻g 關系的樣品樹將三維空間局部性也要被考慮在內,綜合考慮空間對象的范圍及重要性,根 據(jù)活動對象的空間來高效并科學合理的確定預調度對象。樣品樹體現(xiàn)了不同聚類粒度級別上空間對象之間的相關性。在設計樣品樹時,最 重要的是實現(xiàn)空間對象之間的聚類功能??臻g聚類主要是依據(jù)空間對象之間的距離關系將 空間對象自動分成幾個群組,且使同一個群組內的空間對象之間的距離盡可能的小,屬于 不同群組的空間對象之間空間距離盡可能大的一種方法。通過聚類分析可以反映活動對象 之間的多中心特征,同時可以反映空間對象之間的相關性。最常用的為樹形空間索引結構, 例如R樹,建立樣品樹存儲結構。樣品樹是按活動對象的空間距離建立的具有不同粒度級別的聚類結構。該樹具有 深度的概念,處于同一層次上的聚類對象具有相同的聚類粒度,這是它與其它聚類結構的 不同之處。下面結合圖2詳細描述樣品樹圖2中Root為樣品樹的根結點,活動對象3、4、5構成聚類對象a,對象8的聚類對 象為其自身。假定對象3、4、5的影響因子和影響區(qū)域分別為R3、R4、R5,V3、V4、V5,對于聚類 對象a,其影響因子可按公式1計算。以遞歸的方式自下而上計算,可求得樣品樹中每個聚 類對象的影響因子,其流程如圖2中的實線方向所示。Ra = (R3*V3+R4*V4+R5*V5/Va(1)如果Ra > Rb,則說明聚類對象a影響區(qū)域中的空間對象被用戶頻繁地調度,該區(qū) 域為熱點調度區(qū)域。采用相交和包含判別原則,優(yōu)先從熱點調度區(qū)域中選擇預調度對象,因 此在聚類對象a影響區(qū)域中的預調度候選對象的調度優(yōu)先級要高于其他預調度候選對象, 預調度對象的過濾流程為非活動對象、預調度候選對象、預調度對象。下面結合圖1詳細描述本發(fā)明提出的基于空間關系的三維空間數(shù)據(jù)自適應預調 度方法的每個步驟步驟1 采用觸發(fā)器機制實現(xiàn)對系統(tǒng)調度情況的實時監(jiān)控。如果系統(tǒng)處于調度的 間歇期,同時CPU的利用率滿足設定的啟動預調度程序條件,則啟動預調度程序。步驟2 利用已經(jīng)被調度到緩存中的三維空間對象建立樣品索引樹,將活動對象 按其空間位置關系形成空間聚類結構;由于三維R樹構造算法充分考慮了三維空間的鄰近性原則,充分考慮了三維空間 的鄰近性原則,三維空間相鄰的對象聚集于R樹相同的節(jié)點或者鄰近兄弟節(jié)點中,并且其 固有的樹狀層次結構具備從全局空間迅速鎖定局部空間的能力,從而加速三維空間查詢, 只需極少數(shù)的計算量就能從三維空間中獲取滿足指定查詢請求的三維空間數(shù)據(jù)。因此,本 發(fā)明以三維R樹空間索引為基礎,結合三維空間數(shù)據(jù)的空間區(qū)域連續(xù)性訪問原理構造樣品樹。各非葉結點記錄空間信息以及影響因子R,葉節(jié)點為樣品對象,非葉結點實現(xiàn)樣品的多 層次空間聚類,如圖2樣品樹結構所示。步驟3 計算樣品樹中影響區(qū)域(即非葉結點空間包圍盒)的影響因子R,以遞歸 方式自下而上計算,可求得樣品樹中每個影響區(qū)域的影響因子;
n采用代計算樣品樹中影響區(qū)域的影響因子R。其中V表示影響區(qū)域
i=\
的體積氓表示其子節(jié)點影響區(qū)域的影響因子A表示其子節(jié)點影響區(qū)域的體積。若活動對象的包圍盒較大,則說明它在空間中延展較廣,它與其它空間對象具有 相交、包含、相鄰關系的幾率也較大;若活動對象的影響因子較大,則說明其被頻繁的進行 空間調度,與它具有相交、包含關系的空間對象被調度的幾率也比較大;空間索引僅記錄非 活動對象包圍盒的大小,其詳細的空間分布信息是未知的,系統(tǒng)只能粗略地判斷它與活動 對象之間的空間關系,因此將聚類對象的影響因子作為平均值處理是合理的。步驟4 從樣品樹的根結點開始,采用相交和包含判別原則,以其影響區(qū)域為包圍 盒進行檢索,檢索出根節(jié)點影響區(qū)域包含的預取對象;
n步驟5 計算預取對象占用的內存總和大小。其中Ki表示預取對象占
1
用的內存大??;步驟6 :比較K與設定的供預調度對象剩余可使用的內存空間的大小,= Kpre-Kuse0 Kpre為設定預調度緩存空間、為已占用預調度緩存空間。如果K ( KM,將檢索 出的對象作為預調度對象調入緩存,結束預調度進程;如果K > Kre,到步驟7 ;步驟7 對樣品樹中下一層的影響區(qū)域按其影響因子R的大小降序排列兄弟節(jié)點;步驟8 按所排順序,選取第一個節(jié)點為需篩選影響區(qū)域;步驟9 采用相交和包含判別原則,以影響區(qū)域為包圍盒進行全局檢索,檢索出篩 選影響區(qū)域包含的預取對象;
n步驟10 計算預取對象占用的內存總和大小K,X = I]&。其中&表示預取對象占
1
用的內存大??;步驟11 比較K與設定的供預調度對象剩余可使用的內存空間的大小。如果 K ^ Kre,將檢索出的對象作為預調度對象調入緩存,按所排順序,選取下一個兄弟節(jié)點為需 篩選影響區(qū)域,到步驟9 ;如果K > Kre,到步驟7 ;步驟12 當檢索到樣品樹葉節(jié)點時,選取其父節(jié)點的下一個節(jié)點為需篩選影響區(qū) 域,到步驟9;步驟13 當、=0時,結束預調度進程;步驟14 在下次執(zhí)行調度程序時,停止預調度進程,釋放樣品樹內存;或當CPU的 使用率超過一定值時,則停止預調度進程,以保證其他操作的正常進行,同時,在內存中保 留樣品樹存儲結構,在CPU的使用率符合程序啟用條件時復用已建立的樣品數(shù)進行預調度 對象的選取。以上實施例僅供說明本發(fā)明之用,而非對本發(fā)明的限制,有關技術領域的技術人 員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的 技術方案,都落入本發(fā)明的保護范圍。
權利要求
一種基于空間關系的三維空間數(shù)據(jù)自適應預調度方法,其特征在于,包括①采用觸發(fā)器機制實現(xiàn)對系統(tǒng)調度情況的實時監(jiān)控;②利用已經(jīng)被調度到緩存中的三維空間對象建立樣品索引樹,將活動對象按其空間位置關系形成空間聚類結構;③計算樣品樹中影響區(qū)域的影響因子R,以遞歸方式自下而上計算,求得樣品樹中每個影響區(qū)域的影響因子;④從樣品樹的根結點開始,以其影響區(qū)域為包圍盒進行檢索,檢索出根節(jié)點影響區(qū)域包含的預取對象;⑤計算預取對象占用的內存總和大小K,⑥比較K與設定的供預調度對象剩余可使用的內存空間Kre的大小,Kre=Kpre Kuse,其中,Kpre為設定預調度緩存空間、Kuse為已占用預調度緩存空間;如果K≤Kre,將檢索出的對象作為預調度對象調入緩存,結束預調度進程;如果K>Kre,到步驟⑦;⑦對樣品樹中下一層的影響區(qū)域按其影響因子R的大小降序排列兄弟節(jié)點;⑧按所排順序,選取第一個節(jié)點為需篩選影響區(qū)域;⑨影響區(qū)域為包圍盒進行全局檢索,檢索出篩選影響區(qū)域包含的預取對象;⑩計算預取對象占用的內存總和大小K,其中Ki表示預取對象占用的內存大??;比較K與設定的供預調度對象剩余可使用的內存空間Kre的大小,如果K≤Kre,將檢索出的對象作為預調度對象調入緩存,按所排順序,選取下一個兄弟節(jié)點為需篩選影響區(qū)域,到步驟⑨;如果K>Kre,到步驟⑦;當檢索到樣品樹葉節(jié)點時,選取其父節(jié)點的下一個節(jié)點為需篩選影響區(qū)域,到步驟⑨;當Kre=0時,結束預調度進程;在下次執(zhí)行調度程序時,停止預調度進程,或當CPU的使用率超過一定值時,則停止預調度進程。FDA0000025489450000011.tif,FDA0000025489450000012.tif,FDA0000025489450000013.tif,FDA0000025489450000014.tif,FDA0000025489450000015.tif,FDA0000025489450000016.tif
2.根據(jù)權利要求1所述的基于空間關系的三維空間數(shù)據(jù)自適應預調度方法,其特征在于所述步驟②中樣品樹是按活動對象的空間距離建立的具有不同粒度級別的聚類結構。 該樹具有深度的概念,處于同一層次上的聚類對象具有相同的聚類粒度。樣品樹體現(xiàn)了不 同聚類粒度級別上空間對象之間的相關性。
3.根據(jù)權利要求1所述的基于空間關系的三維空間數(shù)據(jù)自適應預調度方法,其特征在于n所述步驟③中采用W代計算樣品樹中影響區(qū)域的影響因子R,其中V表示影i=\響區(qū)域的體積,氏表示其子節(jié)點影響區(qū)域的影響因子,V,表示其子節(jié)點影響區(qū)域的體積。
全文摘要
本發(fā)明涉及地理學及地學空間信息處理技術領域,尤其涉及一種基于空間關系的三維空間數(shù)據(jù)自適應預調度方法。本方法以空間關系中的九交模型為理論依據(jù),結合緩存管理和空間索引的特點,采用空間聚類和空間插值的思想,將緩存中的空間對象視為樣品數(shù)據(jù),將這些對象的命中率作為估值權值,將空間索引中的空間對象信息當作待估值數(shù)據(jù),同時兼顧系統(tǒng)的內存容量和CPU的計算能力。該預調度方法可以提高空間數(shù)據(jù)的調度速度。由于采用了樹形索引、觸發(fā)器、多線程等技術,有效地解決了系統(tǒng)資源爭奪和使用效率問題,并可以顯著改善數(shù)據(jù)通信阻塞問題。該算法能適應三維空間數(shù)據(jù)調度需求,并能擴展用于多維空間數(shù)據(jù),能在多種專業(yè)GIS軟件中推廣使用。
文檔編號G06F17/30GK101916301SQ20101026912
公開日2010年12月15日 申請日期2010年9月1日 優(yōu)先權日2010年9月1日
發(fā)明者何珍文, 劉軍旗, 劉剛, 劉圓圓, 吳沖龍, 周青, 孫卡, 張夏林, 李新川, 楊成杰, 王玭茜, 田宜平, 翁正平, 魏振華 申請人:中國地質大學(武漢)