亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于垂直劃分模式的分布并行Skyline查詢方法

文檔序號:6436385閱讀:218來源:國知局
專利名稱:基于垂直劃分模式的分布并行Skyline查詢方法
技術(shù)領(lǐng)域
本發(fā)明涉及Skyline查詢的分布并行處理方法,尤其是基于數(shù)據(jù)垂直劃分模式的高效分布并行Skyline查詢方法。
背景技術(shù)
Skyline查詢是海量數(shù)據(jù)管理領(lǐng)域亟待解決的核心問題之一。Skyline查詢是指從給定的一個D維的數(shù)據(jù)對象集合S中選擇一個子集,該子集中的任意一個數(shù)據(jù)對象都不能被S中的任意一個其他數(shù)據(jù)對象所控制。所謂控制關(guān)系是指在D維的數(shù)據(jù)對象集合S中, 如果數(shù)據(jù)對象P至少在某一維度上優(yōu)于另一個數(shù)據(jù)對象q,而且數(shù)據(jù)對象P在其他維度上都不比數(shù)據(jù)對象q差(P優(yōu)于或等于q),那么數(shù)據(jù)對象P能夠控制數(shù)據(jù)對象q。Skyline查詢是目前解決多目標(biāo)優(yōu)化問題的典型方法之一,Skyline查詢已經(jīng)成為數(shù)據(jù)分析和信息提取的重要技術(shù)手段,在城市導(dǎo)航、市場分析、環(huán)境監(jiān)控等諸多領(lǐng)域都有著重要應(yīng)用。近年來,隨著計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的快速發(fā)展,人們獲取、存儲和傳遞數(shù)據(jù)的能力日益增強(qiáng),數(shù)據(jù)的規(guī)模急劇膨脹,“大數(shù)據(jù)”作為信息爆炸的產(chǎn)物應(yīng)運(yùn)而生。隨著數(shù)據(jù)集規(guī)模的不斷增大,Skyline查詢的數(shù)據(jù)處理變得更加復(fù)雜,對存儲資源和計算資源的需求也急劇增長,Skyline查詢的處理效率逐漸成為影響數(shù)據(jù)分析和信息提取效果的關(guān)鍵因素。隨著集群計算、網(wǎng)格計算、對等計算、云計算等網(wǎng)絡(luò)計算模式的不斷發(fā)展,分布并行計算技術(shù)已經(jīng)日趨成熟,并逐漸成為提高海量數(shù)據(jù)處理效率的有效技術(shù)途徑之一。分布并行計算將計算任務(wù)分布在大量計算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計算能力、存儲空間和各種軟件服務(wù)。將分布并行計算技術(shù)與海量數(shù)據(jù)的Skyline查詢相結(jié)合,可以通過開發(fā)查詢計算的并行性來提高查詢處理效率。目前,數(shù)據(jù)分布的模式主要包括水平劃分模式和垂直劃分模式。水平劃分模式是指數(shù)據(jù)分布在多個節(jié)點(diǎn)上,每個節(jié)點(diǎn)存儲的數(shù)據(jù)是整個數(shù)據(jù)集的一部分,且各節(jié)點(diǎn)存儲的數(shù)據(jù)是覆蓋全部維度的完整的數(shù)據(jù)對象。垂直劃分模式是指數(shù)據(jù)分布在多個節(jié)點(diǎn)上,每個節(jié)點(diǎn)存儲的數(shù)據(jù)是整個數(shù)據(jù)集的一部分,且各節(jié)點(diǎn)存儲的數(shù)據(jù)是所有數(shù)據(jù)對象在一個或者多個維度上的所有數(shù)據(jù),而不是完整的數(shù)據(jù)對象?,F(xiàn)有的基于垂直劃分模式的分布并行 Skyline 查詢方法(W. -T. Balke, U. Giintzer, J. Zheng. Efficient Distributed Skylining for Web Information Systems. In Proc of the Int. Conf. on Extending Database Technology (EDBT,04),Heraklion, Crete, Greece, 2004, 256-273.)將不同維度的數(shù)據(jù)分布存儲在各計算節(jié)點(diǎn)上,各計算節(jié)點(diǎn)負(fù)責(zé)對各自存儲的維度數(shù)據(jù)進(jìn)行排序,然后統(tǒng)一發(fā)送給協(xié)調(diào)節(jié)點(diǎn),協(xié)調(diào)節(jié)點(diǎn)負(fù)責(zé)基于各計算節(jié)點(diǎn)的排序結(jié)果進(jìn)行Skyline查詢處理。由此可見, 大量的查詢處理任務(wù)主要集中在協(xié)調(diào)節(jié)點(diǎn),Skyline查詢處理的并行性沒有得到充分開發(fā), 計算節(jié)點(diǎn)的數(shù)據(jù)處理能力沒有得到充分利用,從而導(dǎo)致分布并行Skyline查詢方法的處理效率十分有限,難以充分滿足海量數(shù)據(jù)分析和信息提取的實際需求。因此,如何針對海量數(shù)據(jù)及其Skyline查詢的本質(zhì)特點(diǎn),結(jié)合分布并行計算環(huán)境的資源特點(diǎn),設(shè)計基于垂直劃分模式的高效分布并行Skyline查詢方法,保證Skyline查詢處理的效率和查詢結(jié)果的正確性,已經(jīng)成為并行與分布處理領(lǐng)域的熱點(diǎn)研究問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對現(xiàn)有的基于垂直劃分模式的分布并行Skyline 查詢方法處理效率不高的問題,提出一種基于垂直劃分模式的分布并行Skyline查詢方法,充分開發(fā)Skyline查詢處理的并行性,在保證查詢結(jié)果的正確性的前提下,顯著提高 Skyline查詢處理的效率。本發(fā)明技術(shù)方案包括以下步驟第一步,構(gòu)建一個分布并行計算環(huán)境,它由多個節(jié)點(diǎn)構(gòu)成,每個節(jié)點(diǎn)都是一臺可獨(dú)立運(yùn)行的計算機(jī),各節(jié)點(diǎn)通過網(wǎng)絡(luò)設(shè)備互連。分布并行計算環(huán)境中的節(jié)點(diǎn)分為兩類協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)。分布并行計算環(huán)境包括一個協(xié)調(diào)節(jié)點(diǎn),協(xié)調(diào)節(jié)點(diǎn)負(fù)責(zé)存儲原始數(shù)據(jù)集中的所有數(shù)據(jù)對象的編號,負(fù)責(zé)與用戶交互,接收用戶提交的查詢請求,向各計算節(jié)點(diǎn)分發(fā)查詢處理任務(wù)和收集查詢處理結(jié)果,并向用戶返回查詢結(jié)果。分布并行計算環(huán)境包括N個計算節(jié)點(diǎn)(N是原始數(shù)據(jù)集中數(shù)據(jù)對象的維度數(shù)目,N為正整數(shù)),每個計算節(jié)點(diǎn)負(fù)責(zé)存儲原始數(shù)據(jù)集的一個維度上的所有數(shù)據(jù), 計算節(jié)點(diǎn)執(zhí)行查詢處理任務(wù),并向協(xié)調(diào)節(jié)點(diǎn)返回查詢處理結(jié)果。協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)上均安裝有操作系統(tǒng)、TCP/IP協(xié)議軟件,配置了網(wǎng)絡(luò)環(huán)境。協(xié)調(diào)節(jié)點(diǎn)上安裝有任務(wù)調(diào)度程序和結(jié)果分析處理程序。任務(wù)調(diào)度程序接收用戶提交的Skyline查詢請求,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù)。結(jié)果分析處理程序負(fù)責(zé)收集計算節(jié)點(diǎn)的Skyline查詢處理結(jié)果,并對收集到的所有計算節(jié)點(diǎn)的Skyline查詢處理結(jié)果再進(jìn)行Skyline查詢處理以得到最終的Skyline查詢結(jié)果。計算節(jié)點(diǎn)上安裝有查詢處理程序。查詢處理程序負(fù)責(zé)接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢請求,并對計算節(jié)點(diǎn)上存儲的原始數(shù)據(jù)集進(jìn)行Skyline查詢處理。第二步,協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù);各計算節(jié)點(diǎn)執(zhí)行查詢處理程序,接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù),并行進(jìn)行 Skyline查詢處理。2. 1協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序接收用戶提交的Skyline查詢請求;2. 2協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù)。具體步驟如下2. 2. 1任務(wù)調(diào)度程序根據(jù)計算節(jié)點(diǎn)的數(shù)目N將原始數(shù)據(jù)集的所有M個數(shù)據(jù)對象編號(M為數(shù)據(jù)對象編號總數(shù),M為正整數(shù))分成大小均等的N個數(shù)據(jù)對象編號集合,每個數(shù)據(jù)對象編號集合包括[M/N]個或者([M/N]+l)個數(shù)據(jù)對象編號,[M/N]表示不超過M/N的最大整數(shù);2. 2. 2任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢請求,并向每個計算節(jié)點(diǎn)分發(fā)一個數(shù)據(jù)對象編號集合。2. 3每個計算節(jié)點(diǎn)的查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù), 根據(jù)接收的Skyline查詢請求對各自負(fù)責(zé)的數(shù)據(jù)對象集合(即收到的數(shù)據(jù)對象編號集合對應(yīng)的數(shù)據(jù)對象構(gòu)成的集合)進(jìn)行Skyline查詢處理,具體步驟如下
2. 3. 1查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢請求和數(shù)據(jù)對象編號集合;2. 3. 2查詢處理程序初始化查詢處理結(jié)果集合簡稱Skyline集合LS=0;2. 3. 3查詢處理程序從其他計算節(jié)點(diǎn)獲取計算節(jié)點(diǎn)負(fù)責(zé)的數(shù)據(jù)對象集合中所有數(shù)據(jù)對象的全部維度數(shù)據(jù),組成本地(即該查詢處理程序所屬計算節(jié)點(diǎn))原始數(shù)據(jù)集Set ;2. 3. 4查詢處理程序?qū)Ρ镜卦紨?shù)據(jù)集Set中的所有數(shù)據(jù)對象逐一進(jìn)行數(shù)據(jù)對象之間的控制關(guān)系判斷,將不被kt中任意一個其他數(shù)據(jù)對象所控制的數(shù)據(jù)對象放到 Skyline集合LS中,即,判斷本地原始數(shù)據(jù)集Set中的每個數(shù)據(jù)對象DO與Set中的所有其他數(shù)據(jù)對象之間的控制關(guān)系,如果DO不被Set中任意一個其他數(shù)據(jù)對象所控制,則將DO放入計算節(jié)點(diǎn)的 Skyline 集合 LS 中,即,LS = LS+ {DO};2. 3. 5查詢處理程序?qū)kyline集合LS返回給協(xié)調(diào)節(jié)點(diǎn)。第三步,協(xié)調(diào)節(jié)點(diǎn)的結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS,并對其進(jìn)行Skyline查詢處理,得到最終的Skyline查詢結(jié)果。3. 1結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS ;3. 2結(jié)果分析處理程序合并所有計算節(jié)點(diǎn)的Skyline集合LS,得到新數(shù)據(jù)集NS ;3. 3初始化協(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS=0;3. 4結(jié)果分析處理程序?qū)S進(jìn)行Skyline查詢處理,即,判斷NS中的每個數(shù)據(jù)對象N_D0與NS中所有其他數(shù)據(jù)對象之間的控制關(guān)系,如果N_D0不被NS中任意一個其他數(shù)據(jù)對象所控制,那么將N_D0放入?yún)f(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS中,S卩,GS = GS+{N_D0};3. 5結(jié)果分析處理程序?qū)kyline集合GS返回給用戶。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下技術(shù)優(yōu)點(diǎn)1.本發(fā)明2.2. 1步和2.2.2步協(xié)調(diào)節(jié)點(diǎn)根據(jù)計算節(jié)點(diǎn)的數(shù)目均衡分配查詢處理任務(wù),有效保證計算節(jié)點(diǎn)之間的負(fù)載均衡,為充分開發(fā)Skyline查詢處理的并行性奠定基礎(chǔ)。2.本發(fā)明2. 3. 3步各計算節(jié)點(diǎn)之間相互交換維度數(shù)據(jù),組成各自的本地原始數(shù)據(jù)集;本發(fā)明2. 3. 4步各計算節(jié)點(diǎn)同時對各自的本地原始數(shù)據(jù)集進(jìn)行Skyline查詢處理,在保證Skyline查詢處理結(jié)果的正確性的前提下,最大限度地開發(fā)Skyline查詢處理的并行性, 提高了 Skyline查詢處理效率。


圖1是本發(fā)明第一步構(gòu)建的分布并行計算環(huán)境結(jié)構(gòu)圖。圖2是本發(fā)明分布并行計算環(huán)境的軟件部署圖。圖3是本發(fā)明總流程圖。圖4是本發(fā)明第二步協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序、各計算節(jié)點(diǎn)執(zhí)行查詢處理程序的流程圖。圖5是本發(fā)明第三步協(xié)調(diào)節(jié)點(diǎn)執(zhí)行結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的 Skyline集合LS、進(jìn)行Skyline查詢處理以得到最終的Skyline查詢結(jié)果的流程圖。
具體實施方式
圖1是本發(fā)明第一步構(gòu)建的分布并行計算環(huán)境的結(jié)構(gòu)圖。分布并行計算環(huán)境的節(jié)點(diǎn)由協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)組成。協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)均是包含處理器、存儲器、磁盤和網(wǎng)絡(luò)接口的計算機(jī)。協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)之間通過互連網(wǎng)絡(luò)相連。圖2是本發(fā)明分布并行計算環(huán)境的軟件部署圖。協(xié)調(diào)節(jié)點(diǎn)上安裝有操作系統(tǒng)、 TCP/IP協(xié)議軟件、任務(wù)調(diào)度程序和結(jié)果分析處理程序。其中前兩者是通用軟件,可從公開發(fā)行的軟件包中獲得;后兩者是本發(fā)明的專用軟件。計算節(jié)點(diǎn)上安裝有操作系統(tǒng)軟件、TCP/IP 協(xié)議軟件、查詢處理程序。其中前兩者是通用軟件,可從公開發(fā)行的軟件包中獲得;查詢處理程序是本發(fā)明的專用軟件。圖3是本發(fā)明總流程圖。具體流程如下第一步,構(gòu)建一個分布并行計算環(huán)境,它由多個節(jié)點(diǎn)構(gòu)成,每個節(jié)點(diǎn)都是一臺可獨(dú)立運(yùn)行的計算機(jī),各節(jié)點(diǎn)通過網(wǎng)絡(luò)設(shè)備互連。第二步,協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù);各計算節(jié)點(diǎn)執(zhí)行查詢處理程序,接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù),并行進(jìn)行 Skyline查詢處理。第三步,協(xié)調(diào)節(jié)點(diǎn)的結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS,并對其進(jìn)行Skyline查詢處理,得到最終的Skyline查詢結(jié)果。圖4是本發(fā)明第二步協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序、各計算節(jié)點(diǎn)執(zhí)行查詢處理程序的流程圖。具體流程如下2. 1協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序接收用戶提交的Skyline查詢請求;2. 2協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù)。具體步驟如下2. 2. 1任務(wù)調(diào)度程序根據(jù)計算節(jié)點(diǎn)的數(shù)目N將原始數(shù)據(jù)集的所有M個數(shù)據(jù)對象編號分成大小均等的N個數(shù)據(jù)對象編號集合,每個數(shù)據(jù)對象編號集合包括[M/N]個或者([M/ N]+l)個數(shù)據(jù)對象編號;2. 2. 2任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢請求,并向每個計算節(jié)點(diǎn)分發(fā)一個數(shù)據(jù)對象編號集合。2. 3每個計算節(jié)點(diǎn)的查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù), 根據(jù)接收的Skyline查詢請求對各自負(fù)責(zé)的數(shù)據(jù)對象集合(即接收的數(shù)據(jù)對象編號集合對應(yīng)的數(shù)據(jù)對象構(gòu)成的集合)進(jìn)行Skyline查詢處理,具體步驟如下2. 3. 1計算節(jié)點(diǎn)的查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢請求和數(shù)據(jù)對象編號集合;2. 3. 2計算節(jié)點(diǎn)的查詢處理程序初始化查詢處理結(jié)果集合簡稱Skyline集合 LS=0;2. 3. 3計算節(jié)點(diǎn)的查詢處理程序從其他計算節(jié)點(diǎn)獲取計算節(jié)點(diǎn)負(fù)責(zé)的數(shù)據(jù)對象集合中所有數(shù)據(jù)對象的全部維度數(shù)據(jù),組成本地(即該查詢處理程序所屬計算節(jié)點(diǎn))原始數(shù)據(jù)集Set ;2. 3. 4計算節(jié)點(diǎn)的查詢處理程序?qū)ω?fù)責(zé)的數(shù)據(jù)對象集合中的所有數(shù)據(jù)對象逐一進(jìn)行數(shù)據(jù)對象之間的控制關(guān)系判斷,得到Skyline集合LS ;2. 3. 5計算節(jié)點(diǎn)的查詢處理程序?qū)kyline集合LS返回給協(xié)調(diào)節(jié)點(diǎn)。
圖5是本發(fā)明第三步協(xié)調(diào)節(jié)點(diǎn)執(zhí)行結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的 Skyline集合LS、進(jìn)行Skyline查詢處理以得到最終的Skyline查詢結(jié)果的流程圖。具體流程如下3. 1結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS ;3. 2結(jié)果分析處理程序合并所有計算節(jié)點(diǎn)的Skyline集合LS,得到新數(shù)據(jù)集NS ;3. 3初始化協(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS=0;3. 4結(jié)果分析處理程序?qū)S進(jìn)行Skyline查詢處理,即,判斷NS中的每個數(shù)據(jù)對象N_D0與NS中所有其他數(shù)據(jù)對象之間的控制關(guān)系,如果N_D0不被NS中任意一個其他數(shù)據(jù)對象所控制,那么將N_D0放入?yún)f(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS中,S卩,GS = GS+{N_D0};3. 5結(jié)果分析處理程序?qū)kyline集合GS返回給用戶。
權(quán)利要求
1.一種基于垂直劃分模式的分布并行Skyline查詢方法,其特征在于包括以下步驟 第一步,構(gòu)建一個分布并行計算環(huán)境,它由多個節(jié)點(diǎn)構(gòu)成,每個節(jié)點(diǎn)都是一臺可獨(dú)立運(yùn)行的計算機(jī),各節(jié)點(diǎn)通過網(wǎng)絡(luò)設(shè)備互連;節(jié)點(diǎn)包括一個協(xié)調(diào)節(jié)點(diǎn)和N個計算節(jié)點(diǎn),N是原始數(shù)據(jù)集中數(shù)據(jù)對象的維度數(shù)目,N為正整數(shù);協(xié)調(diào)節(jié)點(diǎn)負(fù)責(zé)存儲原始數(shù)據(jù)集中的所有數(shù)據(jù)對象的編號,負(fù)責(zé)與用戶交互,接收用戶提交的查詢請求,向各計算節(jié)點(diǎn)分發(fā)查詢處理任務(wù)和收集查詢處理結(jié)果,并向用戶返回查詢結(jié)果;每個計算節(jié)點(diǎn)存儲原始數(shù)據(jù)集的一個維度上的所有數(shù)據(jù),計算節(jié)點(diǎn)執(zhí)行查詢處理任務(wù),并向協(xié)調(diào)節(jié)點(diǎn)返回查詢處理結(jié)果;協(xié)調(diào)節(jié)點(diǎn)和計算節(jié)點(diǎn)上均安裝有操作系統(tǒng)、TCP/IP協(xié)議軟件,配置了網(wǎng)絡(luò)環(huán)境;協(xié)調(diào)節(jié)點(diǎn)上安裝有任務(wù)調(diào)度程序和結(jié)果分析處理程序,任務(wù)調(diào)度程序接收用戶提交的Skyline查詢請求,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù),結(jié)果分析處理程序負(fù)責(zé)收集計算節(jié)點(diǎn)的Skyline查詢處理結(jié)果,并對收集到的所有計算節(jié)點(diǎn)的Skyline查詢處理結(jié)果再進(jìn)行Skyline查詢處理以得到最終的Skyline查詢結(jié)果;計算節(jié)點(diǎn)上安裝有查詢處理程序,查詢處理程序負(fù)責(zé)接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢請求,并對計算節(jié)點(diǎn)上存儲的原始數(shù)據(jù)集進(jìn)行Skyline 查詢處理;第二步,協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù);各計算節(jié)點(diǎn)執(zhí)行查詢處理程序,接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù),并行進(jìn)行Skyline 查詢處理·2.1協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序接收用戶提交的Skyline查詢請求;2. 2協(xié)調(diào)節(jié)點(diǎn)的任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù),具體步驟如下2. 2. 1任務(wù)調(diào)度程序根據(jù)計算節(jié)點(diǎn)的數(shù)目N將原始數(shù)據(jù)集的所有M個數(shù)據(jù)對象編號分成大小均等的N個數(shù)據(jù)對象編號集合,每個數(shù)據(jù)對象編號集合包括[M/N]個或者[M/N]+l 個數(shù)據(jù)對象編號,M為數(shù)據(jù)對象編號總數(shù),M為正整數(shù),[M/N]表示不超過M/N的最大整數(shù); 2. 2. 2任務(wù)調(diào)度程序向所有計算節(jié)點(diǎn)分發(fā)Skyline查詢請求,并向每個計算節(jié)點(diǎn)分發(fā)一個數(shù)據(jù)對象編號集合;2. 3每個計算節(jié)點(diǎn)的查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù),根據(jù)接收的Skyline查詢請求對收到的數(shù)據(jù)對象編號集合對應(yīng)的數(shù)據(jù)對象構(gòu)成的集合進(jìn)行 Skyline查詢處理,具體步驟如下2. 3. 1查詢處理程序接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢請求和數(shù)據(jù)對象編號集合; 2. 3. 2查詢處理程序初始化查詢處理結(jié)果集合簡稱Skyline集合LS=0; 2. 3. 3查詢處理程序從其他計算節(jié)點(diǎn)獲取計算節(jié)點(diǎn)負(fù)責(zé)的數(shù)據(jù)對象集合中所有數(shù)據(jù)對象的全部維度數(shù)據(jù),組成本地原始數(shù)據(jù)集kt ;2. 3. 4查詢處理程序?qū)Ρ镜卦紨?shù)據(jù)集合Set中的所有數(shù)據(jù)對象逐一進(jìn)行數(shù)據(jù)對象之間的控制關(guān)系判斷,將不被Set中任意一個其他數(shù)據(jù)對象所控制的數(shù)據(jù)對象放到Skyline 集合LS中,S卩,判斷本地原始數(shù)據(jù)集Set中的每個數(shù)據(jù)對象DO與Set中的所有其他數(shù)據(jù)對象之間的控制關(guān)系,如果DO不被Set中任意一個其他數(shù)據(jù)對象所控制,則將DO放入計算節(jié)點(diǎn)的 Skyline 集合 LS 中,SP,LS = LS+{DO};2. 3. 5查詢處理程序?qū)kyline集合LS返回給協(xié)調(diào)節(jié)點(diǎn)。第三步,協(xié)調(diào)節(jié)點(diǎn)的結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS,并對其進(jìn)行Skyline查詢處理,得到最終的Skyline查詢結(jié)果.3. 1結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS ;.3. 2結(jié)果分析處理程序合并所有計算節(jié)點(diǎn)的Skyline集合LS,得到新數(shù)據(jù)集NS ;.3. 3初始化協(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS=0;.3. 4結(jié)果分析處理程序?qū)S進(jìn)行Skyline查詢處理,即,判斷NS中的每個數(shù)據(jù)對象N_ DO與NS中所有其他數(shù)據(jù)對象之間的控制關(guān)系,如果丄00不被NS中任意一個其他數(shù)據(jù)對象所控制,那么將N_D0放入?yún)f(xié)調(diào)節(jié)點(diǎn)的Skyline集合GS中,S卩,GS = GS+{N_D0}; 3. 5結(jié)果分析處理程序?qū)kyline集合GS返回給用戶。
全文摘要
本發(fā)明公開了一種基于垂直劃分模式的分布并行Skyline查詢方法,目的是提出一種新的Skyline查詢方法,充分開發(fā)Skyline查詢處理的并行性,提高效率。技術(shù)方案是先構(gòu)建由一個協(xié)調(diào)節(jié)點(diǎn)和N個計算節(jié)點(diǎn)組成的分布并行計算環(huán)境,協(xié)調(diào)節(jié)點(diǎn)上安裝有任務(wù)調(diào)度程序和結(jié)果分析處理程序,計算節(jié)點(diǎn)上安裝有查詢處理程序;協(xié)調(diào)節(jié)點(diǎn)執(zhí)行任務(wù)調(diào)度程序,向各計算節(jié)點(diǎn)分發(fā)Skyline查詢處理任務(wù);各計算節(jié)點(diǎn)執(zhí)行查詢處理程序,接收來自協(xié)調(diào)節(jié)點(diǎn)的Skyline查詢處理任務(wù),并行進(jìn)行Skyline查詢處理;協(xié)調(diào)節(jié)點(diǎn)執(zhí)行結(jié)果分析處理程序收集所有計算節(jié)點(diǎn)的Skyline集合LS,并對其進(jìn)行Skyline查詢處理,得到最終的Skyline查詢結(jié)果。采用本發(fā)明可有效保證計算節(jié)點(diǎn)之間的負(fù)載均衡,既保證Skyline查詢結(jié)果的正確性又提高查詢效率。
文檔編號G06F17/30GK102323957SQ201110327359
公開日2012年1月18日 申請日期2011年10月26日 優(yōu)先權(quán)日2011年10月26日
發(fā)明者孫偉東, 李小勇, 王媛, 王意潔, 裴曉強(qiáng), 鄧瑞鵬, 馬行空 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1