新四季網

一種三維空間數據並行調度方法和系統的製作方法

2023-07-20 20:43:41

專利名稱:一種三維空間數據並行調度方法和系統的製作方法
技術領域:
本發明屬於地理空間信息系統技術領域,尤其涉及一種三維空間數據並行調度方法和系統。
背景技術:
大規模三維空間數據的流暢可視化一直是三維GIS最基本的需求,能否從大規模三維空間資料庫中快速調度所需的數據已成為保障三維實時可視化流暢性的關鍵。在三維空間資料庫的數據量小於系統內存或顯示設備緩存時,通常採用系統啟動便將數據全部加載到內存與顯存的策略,以支持最高效的三維可視化。但是,隨著三維空間資料庫的規模不斷增加,系統內存已遠遠無法加載全部數據,這就必須需要動態調度技術,按三維可視化的需要動態加載數據。為了提高三維空間數據可視化與數據調度的效率,採用多線程技術能充分利用多核的優勢,實現數據讀取的真正並行,但是如何能使多線程執行效率更高效,必須考慮並行任務的合理劃分問題。現有三維GIS軟體對於連續的海量地形表面數據的動態調度已經取得了比較成熟的成果,如Google Earth、World Wind等數字地球軟體對全球的海量地形數據,在網絡環境下都可以實現快速、流暢的多解析度顯示的可視化效果,如Skyline的Terra Gate網絡數據伺服器軟體以流方式給多客戶實時傳輸三維地理地形數據集。但是,目前對於地上地下各種離散複雜實體、地質實體、地下管網等的海量三維空間數據的動態調度還遠沒有地形數據的成熟,如Skyline對三維空間數據的紋理大小、幾何面片數等有比較嚴格的限定。尤其是對城市三維模型數據,由於數據結構複雜性、空間分布不規則性以及多細節層次特性等特性,因而對城市三維模型數據的調度遠沒有地形數據成熟、快速。三維空間資料庫的數據調度都是以前端用戶的請求為前提,從資料庫中高性能的吞吐數據,主動滿足前端快速數據請求。此過程以響應前端用戶的調度需求為目的,因此必需在中間模塊把調度需求轉換成從資料庫中調度數據的並行調度任務。對於三維空間數據的並行調度必須針對三維GIS可視化以及三維空間數據的數據內容相關性進行數據的並行調度任務劃分,但是目前還都沒有成熟的方案。

發明內容
本發明提供一種三維空間數據並行調度方法和系統,旨在解決當前三維空間數據的調度效率低,導致無法從大規模三維空間資料庫中快速調度所需的數據,從而難以保障三維實時可視化流暢性的問題。為此,本發明提供了如下技術方案—種基於數據內容的三維空間數據並行調度方法,包括以下步驟接收多個客戶端的三維空間數據調度請求;通過基於數據內容的調度任務並行分解方法,將三維空間數據調度任務進行分解,生成可並行執行的三維空間數據調度子任務;
為所述三維空間數據調度子任務分配可用任務執行線程和資料庫連接,執行三維空間資料庫的並行查詢;對所述三維空間數據調度子任務查詢獲取的數據重組後,返回給客戶端。本發明還提供了一種三維空間數據並行調度系統,包括客戶端和伺服器,伺服器包括調度任務分解模塊,用於數據調度請求的解析,數據調度任務的並行分解,生成可並行執行的數據調度任務;數據調度模塊,用於生成基於數據內容的三維空間數據調度任務;線程池管理模塊,用於線程池技術管理線程的創建、銷毀與管理操作,任務的分配策略,以及線程之間的同步協同機制;資料庫連接池模塊,用於資料庫連接池技術管理資料庫連接的創建、銷毀與管理操作與所述數據調度模塊和資料庫分別相連接,用於為所述三維空間數據調度任務分配可用線程,執行三維空間資料庫的多調度任務並行查詢,預先創建和保存多個用戶的資料庫連接隊列;;調度任務執行模塊,與所述線程池管理模塊與資料庫連接池管理模塊相連接,用於執行的三維空間資料庫的並行調度任務;三維空間資料庫,與所述線程池管理模塊調度任務執行模塊相連接,用於存儲大規模的三維空間數據。與現有技術相比,本發明的實施例具有如下優點本發明基於三維空間數據的數據內容相關性分析,對三維空間數據的調度運用調度任務並行分解進行並行調入任務劃分,以及多調度任務的並行執行,從而提高從資料庫提取不同類型三維空間數據的調度效率,改善了三維GIS實時可視化的能力。


圖1是本發明實施例提供的三維空間數據並行調度方法的方法流程圖;圖2是本發明實施例提供的生成基於數據內容的三維空間數據調度任務的方法流程圖;圖3是本發明實施例提供的為三維空間數據調度任務分配可用線程,執行三維空間資料庫的多調度任務並行查詢方法流程圖;圖4是本發明實施例提供的從空閒線程隊列中取出空閒線程的方法流程圖;圖5是本發明實施例提供的三維空間數據並行調度系統的結構圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的僅是本發明的一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。圖1是本發明實施例提供的三維空間數據並行調度方法的方法流程圖,為了便於說明,僅不出了與本發明實施例相關的部分。如圖1所示,該方法包括以下步驟
步驟101,接收多個客戶端的三維空間數據調度請求。步驟102,通過基於數據內容的調度任務並行分解方法,將三維空間數據調度任務進行分解,生成可並行執行的三維空間數據調度子任務。步驟103,為所述三維空間數據調度子任務分配可用任務執行線程和資料庫連接,執行三維空間資料庫的並行查詢。步驟104,對所述三維空間數據調度子任務查詢獲取的數據重組後,返回給客戶端。圖2是本發明實施例提供的生成基於數據內容的三維空間數據調度任務的方法流程圖,為了便於說明,僅示出了與本發明實施例相關的部分。如圖2所示,該方法執行步驟101,接收客戶端的數據查詢請求後,還包括以下步驟步驟201,判斷接收的數據查詢請求類型,若為三維空間查詢請求,執行步驟202,若為非三維空間查詢請求,則執行步驟203。步驟202 :獲取所述三維空間查詢請求需要查詢的三維要素類集合,根據三維要素類的數據類型進行判斷,為每個三維要素類建立單獨的調度任務,並轉換成可並行執行的三維要素數據調度任務。具體的,所述三維空間查詢請求,可以是建築查詢、植被查詢、管線查詢、地質查詢中的一種或者多種。具體的,所述轉換成的數據調度任務,可以是建築調度任務、植被調度任務、管線調度任務、地質調度任務中的一種或者多種。步驟203 :判斷該查詢請求的類型,分離材質、紋理、共享模型以及屬性等各種數據類型的查詢,並轉換成相應的數據調度任務。具體的,所述非三維空間查詢請求,可以是紋理查詢、材質查詢、共享模型查詢、屬性查詢中的一種或者多種。具體的,所述轉換成的相應的數據調度任務,可以是紋理調度任務、材質調度任務、共享模型調度任務、屬性調度任務中的一種或者多種。圖3是本發明實施例提供的為三維空間數據調度任務分配可用任務執行線程,執行三維空間資料庫的多調度任務並行查詢方法流程圖,為了便於說明,僅示出了與本發明實施例相關的部分。如圖3所示,該方法包括以下步驟步驟301,將生成的三維空間數據調度任務放入三維空間數據調度任務隊列中。步驟302,依次取出三維空間數據調度任務隊列中的第一個調度任務。優選的,按照先進先出的原則,依次從所述三維空間數據調度任務隊列中取出第一個調度任務。步驟303,從空閒任務執行線程隊列中取出一個空閒線程。具體的,從空閒線程隊列中取出空閒線程的方法,如圖4所示,將在下一個實施例中詳細說明。步驟304,將三維空間數據調度任務隊列中取出的調度任務,綁定在從所述空閒線程隊列中取出的所述空閒線程中。
步驟305,將所述空閒線程設置為繁忙線程,加入到繁忙線程隊列中。步驟306,從所述繁忙線程隊列中,依次取出所述綁定調度任務的繁忙線程,執行所述三維空間數據調度任務。具體的,所述綁定調度任務的繁忙線程,從資料庫連接池管理模塊的連接池管理器中,獲取空閒的資料庫連接,進行三維空間資料庫的查詢。步驟307,所述三維空間數據調度任務執行完畢後,將所述繁忙線程設置為空閒線程,並加入到所述空閒線程隊列中。優選的,存儲在同一磁碟/RAID中的三維空間數據,由同一線程進行處理。步驟308,將執行所述三維空間數據調度任務所獲取的數據進行返回。具體的,將每個線程執行所述調度任務所獲取的數據合併在一個集合中,將全部數據進行返回。圖4是本發明實施例提供的從空閒線程隊列中取出空閒線程的方法流程圖,為了便於說明,僅示出了與本發明實施例相關的部分。如圖4所示,該方法包括以下步驟步驟401,判斷空閒線程隊列中是否存在空閒線程,若存在,則執行步驟402,若不存在,則執行步驟403。步驟402,從所述空閒線程隊列中取出一個空閒線程。步驟403,判斷活動線程是否達到最大線程設置數,若已達到,則執行步驟404,若未達到,則執行步驟405。步驟404,等待至空閒線程隊列中有空閒線程時,從所述空閒線程隊列中取出一個空閒線程。步驟405,創建新線程放入所述空閒線程隊列中。基於相同的構思,本發明實施例還提供一種三維空間數據並行調度系統,如圖5所示,該系統包括客戶端51,用於向伺服器發送數據查詢請求,並接收返回的查詢結果。調度任務分解模塊52,用於數據調度請求的解析,數據調度任務的並行分解;調度任務執行模塊56,生成可並行執行的數據調度任務。具體的,調度任務分解模塊52運用調度任務並行分解算法,生成基於數據內容的三維空間數據調度任務。線程池管理模塊53,用於線程池技術管理線程的創建、銷毀與管理操作,任務的分配策略,以及線程之間的同步協同機制。具體的,線程池管理模塊53,包括線程池管理器,所述線程池管理器分別與數據調度模塊、資料庫連接池管理模塊和資料庫相連接。具體的,所述線程池管理器用於從所述調度任務執行模塊56中獲取三維空間數據調度任務,分配可用線程。具體的,所述線程池管理器還用於與從所述資料庫連接池管理模塊中獲取的空閒的資料庫連接,並從資料庫獲取資料庫存儲信息後,進行三維空間資料庫的查詢。三維空間資料庫54,用於存儲大規模的三維空間數據。資料庫連接池模塊55,用於資料庫連接池技術管理資料庫連接的創建、銷毀與管理操作。具體的,資料庫連接池模塊55,還包括資料庫連接池管理器,資料庫連接池管理器用於向線程池管理器提供空閒的資料庫連接。本發明實施例基於三維空間數據的數據內容相關性分析,通過對三維空間數據的調度運用調度任務並行分解進行並行調入任務劃分,以及多調度任務的並行執行,從而提高從資料庫提取不同類型三維空間數據的調度效率,改善了三維GIS實時可視化的能力。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布於實施例的裝置中,也可以進行相應變化位於不同於本實施例的一個或多個裝置中。上述實施例的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護範圍。
權利要求
1.一種基於數據內容的三維空間數據並行調度方法,其特徵在於,包括以下步驟: 接收多個客戶端的三維空間數據調度請求; 通過基於數據內容的調度任務並行分解方法,將三維空間數據調度任務進行分解,生成可並行執行的三維空間數據調度子任務; 為所述三維空間數據調度子任務分配可用任務執行線程和資料庫連接,執行三維空間資料庫的並行查詢; 對所述三維空間數據調度子任務查詢獲取的數據重組後,返回給客戶端。
2.如權利要求1所述的三維空間數據並行調度方法,其特徵在於,所述通過基於數據內容的調度任務並行分解方法,將三維空間數據調度任務進行分解,生成可並行執行的三維空間數據調度子任務,包括以下步驟: B1:判斷接收的數據查詢請求類型,若為三維空間查詢請求,執行步驟B2,若為非三維空間查詢請求,則執行步驟B3 ; B2:獲取所述三維空間查詢請求需要查詢的三維要素類集合,根據三維要素類的數據類型進行判斷,為每個三維要素類建立單獨的調度任務,並轉換成可並行執行的三維要素數據調度任務; B3:判斷該查詢請求的類型,分離材質、紋理、共享模型以及屬性等各種數據類型的查詢,並轉換成相應的數據調度任務。
3.如權利要求1或2所述的三維空間數據並行調度方法,其特徵在於,所述為所述三維空間數據調度任務分配可用任務執行線程,執行三維空間資料庫的並行查詢,包括以下步驟: Cl:將所述生成的三維空間數據調度任務放入三維空間數據調度任務隊列中; C2:按照先進先出的原則,依次取出所述三維空間數據調度任務隊列中的第一個調度任務; C3:從空閒任務執行線程隊列中取出一個空閒線程; C4:將所述三維空間數據調度任務隊列中取出的所述調度任務,綁定在從所述空閒線程隊列中取出的所述空閒線程中,並將所述空閒線程設置為繁忙線程,加入到繁忙線程隊列中; C5:從所述繁忙線程隊列中,依次取出所述綁定調度任務的繁忙線程,執行所述三維空間數據調度任務; C6:所述三維空間數據調度任務執行完畢後,將所述繁忙線程設置為空閒線程,並加入到所述空閒線程隊列中; C7:將執行所述三維空間數據調度任務所獲取的數據進行返回。
4.如權利要求3所述的三維空間數據並行調度方法,其特徵在於,所述步驟C5,包括以下步驟: 所述綁定調度任務的繁忙線程,獲取空閒的資料庫連接,進行三維空間資料庫的查詢。
5.如權利要求3所述的三維空間數據並行調度方法,其特徵在於,所述步驟C7,包括以下步驟: 將每個線程執行所述調度任務所獲取的數據合併在一個數據集合後,將全部數據進行返回。
6.一種三維空間數據並行調度系統,包括客戶端和伺服器,其特徵在於,所述伺服器包括: 調度任務分解模塊,用於數據調度請求的解析,數據調度任務的並行分解,生成可並行執行的數據調度任務; 線程池管理模塊,用於線程池技術管理線程的創建、銷毀與管理操作,任務的分配策略,以及線程之間的同步協同機制; 資料庫連接池模塊,用於資料庫連接池技術管理資料庫連接的創建、銷毀與管理操作,預先創建和保存多個用戶的資料庫連接隊列; 調度任務執行模塊,與所述線程池管理模塊與資料庫連接池管理模塊相連接,用於執行的三維空間資料庫的並行調度任務; 三維空間資料庫, 與所述調度任務執行模塊相連接,用於存儲大規模的三維空間數據。
全文摘要
本發明涉及地理空間信息系統技術領域,提供了一種基於數據內容的三維空間數據並行調度方法,所述方法包括接收多個客戶端的三維空間數據調度請求;通過基於數據內容的調度任務並行分解方法,將三維空間數據調度任務進行分解,生成可並行執行的三維空間數據調度子任務;為所述三維空間數據調度子任務分配可用任務執行線程和資料庫連接,執行三維空間資料庫的並行查詢;對所述三維空間數據調度子任務查詢獲取的數據重組後,返回給客戶端。本發明通過將三維空間數據調度任務的分解與並行執行,提高了從三維空間資料庫調度不同類型三維空間數據的效率,改善了三維GIS實時可視化的能力。
文檔編號G06F9/46GK103077074SQ20121057633
公開日2013年5月1日 申請日期2012年12月26日 優先權日2012年12月26日
發明者李曉明, 朱慶, 李行義, 修文群, 梁守真, 李洪忠 申請人:深圳先進技術研究院

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀