專利名稱:面向概率數(shù)據(jù)流的Skyline查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種不確定數(shù)據(jù)流的查詢處理方法,具體涉及一種面向概率數(shù)據(jù)流的Skyline查詢方法。
背景技術(shù):
多維空間上的Skyline查詢處理技術(shù)是近年來數(shù)據(jù)庫領(lǐng)域的研究熱點(diǎn)。Skyline在偏好查詢、多標(biāo)準(zhǔn)決策支持以及數(shù)據(jù)挖掘與可視化等方面應(yīng)用廣泛。此前大量的工作都專注于在靜態(tài)數(shù)據(jù)集上計(jì)算Skyline,近年來也出現(xiàn)了一些在滑動(dòng)窗口中計(jì)算Skyline的研究成果,最近以來,一種被稱為概率數(shù)據(jù)流的數(shù)據(jù)形態(tài)逐步引起了人們的關(guān)注。Skyline查詢是指從給定的一個(gè)D維數(shù)據(jù)對(duì)象集合S中選擇一個(gè)子集,該子集中的任意一個(gè)數(shù)據(jù)對(duì)象都不能被S中的任意一個(gè)其他數(shù)據(jù)對(duì)象所支配。所謂支配關(guān)系是指在D維空間的數(shù)據(jù)集合S中,如果數(shù)據(jù)對(duì)象P至少在某一幅度上由于另一個(gè)數(shù)據(jù)對(duì)象q,而且數(shù)據(jù)對(duì)象P在其他維度上都不比數(shù)據(jù)對(duì)象q差(P優(yōu)于或者等于q),那么數(shù)據(jù)對(duì)象P能夠支配數(shù)據(jù)對(duì)象q。數(shù)據(jù)流管理與分析是近年來數(shù)據(jù)庫領(lǐng)域的研究熱點(diǎn)。最近兩年以來,數(shù)據(jù)流的研究重心逐步轉(zhuǎn)移到不確定的概率數(shù)據(jù)流。數(shù)據(jù)的不確定性分為兩種:元組不確定性和屬性不確定性。元組不確定性是指關(guān)系數(shù)據(jù)庫中的一個(gè)元組關(guān)聯(lián)著一個(gè)概率值,表明其存在的可能性,本發(fā)明的數(shù)據(jù)模型即是基于元組不確定性的;屬性不確定性是指元組中的每個(gè)屬性值是不精確的,精確程度以一定概率(或概率密度函數(shù))表示。與傳統(tǒng)確定性數(shù)據(jù)流上的Skyline計(jì)算不同,概率數(shù)據(jù)流上的計(jì)算難點(diǎn)是:(I)盡可能早地淘汰那些不再有機(jī)會(huì)加入Skyline的對(duì)象;(2)采用合適的策略高效地確定新到達(dá)對(duì)象的身份?,F(xiàn)有的相關(guān)工作僅限于靜態(tài)數(shù)據(jù)集或傳統(tǒng)確定性數(shù)據(jù)流的Skyline查詢處理,尚無人考慮概率數(shù)據(jù)流上的Skyline計(jì)算問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種面向概率數(shù)據(jù)流的Skyline查詢方法,能夠解決現(xiàn)有技術(shù)的問題。為了解決以上技術(shù)問題,本發(fā)明提供了一種面向概率數(shù)據(jù)流的Skyline查詢方法,包括:(I)準(zhǔn)備階段:構(gòu)建一個(gè)概率數(shù)據(jù)流環(huán)境下對(duì)象的狀態(tài)模型:將概率數(shù)據(jù)流中的每個(gè)元組看作一個(gè)對(duì)象,數(shù)據(jù)流中觀察到的對(duì)象在進(jìn)入系統(tǒng)之前先保存在緩沖區(qū)中;(2)預(yù)備階段:新對(duì)象到達(dá)后立即調(diào)用處理過期對(duì)象的方法,從系統(tǒng)中淘汰過期對(duì)象并增大被該過期對(duì)象支配的對(duì)象的Skyline概率;(3)處理階段:接著調(diào)用確定新到達(dá)對(duì)象身份的方法,計(jì)算新到達(dá)對(duì)象的Skyline概率并將該新到達(dá)對(duì)象插入到其所屬格中相應(yīng)的隊(duì)列中;(4)最后階段:最后調(diào)用處理被新到達(dá)對(duì)象支配的方法,處理所有被新到達(dá)對(duì)象支配的對(duì)象,即降低被新到達(dá)對(duì)象支配的對(duì)象的Skyline概率。優(yōu)選地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(I)所述概率數(shù)據(jù)流的每一個(gè)元祖被賦予的屬性包括:其在數(shù)據(jù)流中的序列號(hào),其存在的概率,及其在各屬性上的取值。優(yōu)選地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,位于所述緩沖區(qū)的概率數(shù)據(jù)流對(duì)象具有如下四種狀態(tài):到達(dá)態(tài)、候選Skyline態(tài)、處于Skyline態(tài)、和過期態(tài);對(duì)象在其整個(gè)生命周期內(nèi)呈現(xiàn)不同的狀態(tài),但在一個(gè)具體的時(shí)刻它只能處于一個(gè)確定的狀態(tài)。進(jìn)一步地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,采用網(wǎng)格作為索引結(jié)構(gòu),并且采用隊(duì)列來保存活動(dòng)對(duì)象,每個(gè)網(wǎng)格中關(guān)聯(lián)2個(gè)指針列表,分別指向該網(wǎng)格中的Skyline態(tài)和候選Skyline態(tài)對(duì)象的指針。優(yōu)選地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(3)將先到達(dá)的對(duì)象U的支配域和反向支配域劃分為1、I1、II1、IV區(qū)域。進(jìn)一步地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(3)所述的確定新到達(dá)對(duì)象身份的方法采用概率定界方法,將新到達(dá)的對(duì)象U,記為格C,并稱為格對(duì)象,所述格c的左下角和右上角分別記為Cmin和Cmax,可以得出任何支配Cmin的對(duì)象必須支配U,而且任何支配u的對(duì)象也必須支配Cmax。更近一步地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(3)在到達(dá)目的的前提下盡可能地減少訪問對(duì)象樹,以減少支配測(cè)試的次數(shù),在對(duì)所述III區(qū)的遍歷訪問過程中,如果所述到達(dá)對(duì)象U的概率上界小于概率閾值P,則停止遍歷。更近一步地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(4)中如果所述到達(dá)對(duì)象u不被它之后到達(dá)的活動(dòng)對(duì)象支配的概率小于概率閾值P時(shí),則將其立即從系統(tǒng)中提前淘汰。更近一步地,本發(fā)明的面向概率數(shù)據(jù)流的Skyline查詢方法,步驟(4)提前淘汰對(duì)象后,沒有必要對(duì)這些對(duì)象進(jìn)行概率補(bǔ)償。本發(fā)明具有以下優(yōu)點(diǎn):1,本發(fā)明第二步采用了概率定界的規(guī)則,這種啟發(fā)性規(guī)則大大提高了概率流處理過程中確定對(duì)象身份的效率。2,本發(fā)明第二步采用了逐步求精的規(guī)則,這種思想即是在達(dá)到目的的前提下盡可能地減少訪問的對(duì)象數(shù),以減少支配測(cè)試的次數(shù)。在實(shí)施過程中,對(duì)III區(qū)的訪問采取逐格逐對(duì)象推進(jìn)的方式進(jìn)行。為對(duì)象II增加一個(gè)屬性,該屬性用來保存在求精的過程中遍歷停止的位置,這樣就能獲得對(duì)象Skyline概率的更精確值。3,本發(fā)明第四步采用一種空間優(yōu)化策略,該策略盡可能早地從滑動(dòng)窗口中淘汰那些不再有機(jī)會(huì)加入Skyline的對(duì)象。在保證算法的正確性與完備性的前提下,將同時(shí)滿足以下兩個(gè)條件的對(duì)象提前從系統(tǒng)中淘汰=(I)U沒有機(jī)會(huì)再加入Skyline ;(2)將u提前淘汰不對(duì)u.DR中對(duì)象的身份判定造成影響。4,本發(fā)明第四步在各個(gè)維上進(jìn)行輪轉(zhuǎn)執(zhí)行,在不同維上取值較優(yōu)的結(jié)果都能公平的輸出,這樣就能避免了對(duì)某維的偏向性。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。圖1是本發(fā)明第一步構(gòu)建的SOPDS處理過程中的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)圖;圖2是本發(fā)明的概率數(shù)據(jù)流對(duì)象的狀態(tài)轉(zhuǎn)換3是本發(fā)明的總流程圖;圖4是對(duì)象的支配域和反支配域示意圖;圖5計(jì)算優(yōu)化策略示意圖;圖6是本發(fā)明方法處理過期對(duì)象過程示意 圖7是本發(fā)明計(jì)算新到對(duì)象的Skyline概率并確定新到對(duì)象身份的過程。
具體實(shí)施例方式本發(fā)明提供了一種面向概率數(shù)據(jù)流的Skyline查詢方法,包括:(I)準(zhǔn)備階段:構(gòu)建一個(gè)概率數(shù)據(jù)流環(huán)境下對(duì)象的狀態(tài)模型:將概率數(shù)據(jù)流中的每個(gè)元組看作一個(gè)對(duì)象,數(shù)據(jù)流中觀察到的對(duì)象在進(jìn)入系統(tǒng)之前先保存在緩沖區(qū)中;(2)預(yù)備階段:新對(duì)象到達(dá)后立即調(diào)用處理過期對(duì)象的方法,從系統(tǒng)中淘汰過期對(duì)象并增大被該過期對(duì)象支配的對(duì)象的Skyline概率;(3)處理階段:接著調(diào)用確定新到達(dá)對(duì)象身份的方法,計(jì)算新到達(dá)對(duì)象的Skyline概率并將該新到達(dá)對(duì)象插入到其所屬格中相應(yīng)的隊(duì)列中;(4)最后階段:最后調(diào)用處理被新到達(dá)對(duì)象支配的方法,處理所有被新到達(dá)對(duì)象支配的對(duì)象,即降低被新到達(dá)對(duì)象支配的對(duì)象的Skyline概率。概率數(shù)據(jù)流的每一個(gè)元祖被賦予的屬性包括:其在數(shù)據(jù)流中的序列號(hào),其存在的概率,及其在各屬性上的取值。令A(yù)= {A1; A2,...,Ad}是一組有界并有序的域,O =A1XA2X...XAd是一個(gè)D維空間,稱A1,...,Ad為空間O的屬性或維。不失一般性,本文假設(shè).VAieA的定義域均為實(shí)數(shù)區(qū)間(0,I],考慮一個(gè)數(shù)據(jù)集U,任何對(duì)象u e U均來自空間0,且對(duì)象間相關(guān)獨(dú)立,將u在屬性Ai上的取值記為u.ValiO支配:給定任意兩個(gè)對(duì)象U,V e U.如果對(duì)于u.Vali ( V.Vali,且u.Valj < v.Valj,則說u支配V,反之亦然。Skyline:集合U中所有不被其他對(duì)象所支配的對(duì)象組成的集合,稱作U上的Skyline,記為SKY(U)。本文定義概率數(shù)據(jù)流為不確定元組的序列Ku1, P1),..., <uk, pk>...},其中Xui, Pi>是一個(gè)不確定元組;Ui是一個(gè)來自空間O的對(duì)象,對(duì)象間相互獨(dú)立。步驟(3)將先到達(dá)的對(duì)象u的支配域(Dominate Region,簡(jiǎn)記為DR)與反向支配區(qū)域(Adverse Dominate Region,簡(jiǎn)記為ADR)劃分為1、I1、II1、IV區(qū)域。某對(duì)象u的影響時(shí)間是指落在u的反支配區(qū)域內(nèi)的對(duì)象的最大時(shí)間戳,刪除u所支配的對(duì)象,是從系統(tǒng)中刪除u的支配區(qū)域內(nèi)的所有對(duì)象,對(duì)象的支配域和反支配域由圖4所示。確定新到達(dá)對(duì)象身份的方法采用概率定界方法,將新到達(dá)的對(duì)象U,記為格C,并稱為格對(duì)象,所述格c的左下角和右上角分別記為Cmin和Cmax,可以得出任何支配Cmin的對(duì)象必須支配U,而且任何支配u的對(duì)象也必須支配Cmax。在到達(dá)目的的前提下盡可能地減少訪問對(duì)象樹,以減少支配測(cè)試的次數(shù),在對(duì)所述III區(qū)的遍歷訪問過程中,如果所述到達(dá)對(duì)象u的概率上界小于概率閾值P,則停止遍歷。步驟(4)中如果所述到達(dá)對(duì)象u不被它之后到達(dá)的活動(dòng)對(duì)象支配的概率小于概率閾值P時(shí),則將其立即從系統(tǒng)中提前淘汰。提前淘汰對(duì)象后,沒有必要對(duì)這些對(duì)象進(jìn)行概率補(bǔ)償。
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖和實(shí)施例,對(duì)發(fā)明方案進(jìn)行進(jìn)一步的詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖3是本發(fā)明的總流程圖。具體流程如下:第一步,技術(shù)方案首先將新到達(dá)的數(shù)據(jù)流對(duì)象U緩存在緩沖區(qū)中。第二步,新對(duì)象到達(dá)后立即調(diào)用“處理過期對(duì)象模塊”處理過期的對(duì)象,同時(shí)包括從系統(tǒng)中淘汰過期的u并增大被u支配的對(duì)象的Skyline概率。第三步,接著調(diào)用“確定新到達(dá)對(duì)象身份”模塊來計(jì)算u的Skyline概率并將u插入到其所屬格中相應(yīng)的隊(duì)列中。第四步,最后調(diào)用“處理被新到對(duì)象支配”模塊來處理所有被U支配的對(duì)象,即降低被u支配的對(duì)象的Skyline概率圖1 是本發(fā)明第一步構(gòu)建的 SOPDS(Skyline Computation Over ProbabilisticData Stream)處理過程中的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)圖。建立一個(gè)基于網(wǎng)格的索引結(jié)構(gòu),不失一般性,圖1給出空間維度為2時(shí)算法的數(shù)據(jù)結(jié)構(gòu),此后的闡述將專注于空間維度為2時(shí)的情形。采用隊(duì)列來保存活動(dòng)對(duì)象,將新到達(dá)的對(duì)象插入到隊(duì)列尾端,而過期的數(shù)據(jù)對(duì)象從隊(duì)列頭端直接刪除。稱該隊(duì)列為活動(dòng)對(duì)象列表,簡(jiǎn)記為AOL。AOL中對(duì)象的序列號(hào)是由頭向尾遞增的。換一種說法,稱較早到達(dá)系統(tǒng)的對(duì)象較“老”,較遲到達(dá)的對(duì)象較“年輕”,則AOL頭端對(duì)象較“老”,尾端對(duì)象較“年輕”。采用網(wǎng)格作為活動(dòng)對(duì)象的索引,每個(gè)格關(guān)聯(lián)2個(gè)指針列表,分別用來保存指向該網(wǎng)格中的Skyline和候選Skyline對(duì)象的指針。格中的每一個(gè)指針列表也是一個(gè)隊(duì)列,指針列表隨著數(shù)據(jù)對(duì)象的更新而動(dòng)態(tài)維護(hù),確保該隊(duì)列所關(guān)聯(lián)的對(duì)象的序列號(hào)也由頭部向尾遞增。SOPDS算法的輸出則由Skyline對(duì)象指針列表表現(xiàn)出來。如圖2所示,在概率數(shù)據(jù)流環(huán)境下對(duì)象呈現(xiàn)出4種不同的狀態(tài),即達(dá)、候選Skyline、Skyline和過期狀態(tài).數(shù)據(jù)流中觀察到的對(duì)象在進(jìn)入系統(tǒng)之先保存在緩沖區(qū)中,對(duì)象位于緩沖區(qū)中,稱之處于到達(dá)態(tài);進(jìn)入系統(tǒng)的對(duì)象,當(dāng)前若不是Skyline對(duì)象但在將來有可能成加入Skyline,稱之處于候選Skyline態(tài);當(dāng)前是Skyline對(duì)象中的稱之處于Skyline態(tài);對(duì)象過期后稱之處于過期態(tài)。對(duì)象在其整個(gè)生命周期內(nèi)呈現(xiàn)不同的狀態(tài),但在一個(gè)具體的時(shí)刻它只能處于一個(gè)確定的狀態(tài)。狀態(tài)轉(zhuǎn)換的觸發(fā)條件圖如下表一所示。
權(quán)利要求
1.一種面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,包括: (1)準(zhǔn)備階段:構(gòu)建一個(gè)概率數(shù)據(jù)流環(huán)境下對(duì)象的狀態(tài)模型:將概率數(shù)據(jù)流中的每個(gè)元組看作一個(gè)對(duì)象,數(shù)據(jù)流中觀察到的對(duì)象在進(jìn)入系統(tǒng)之前先保存在緩沖區(qū)中; (2)預(yù)備階段:新對(duì)象到達(dá)后立即調(diào)用處理過期對(duì)象的方法,從系統(tǒng)中淘汰過期對(duì)象并增大被該過期對(duì)象支配的對(duì)象的Skyline概率; (3)處理階段:接著調(diào)用確定新到達(dá)對(duì)象身份的方法,計(jì)算新到達(dá)對(duì)象的Skyline概率并將該新到達(dá)對(duì)象插入到其所屬格中相應(yīng)的隊(duì)列中; (4)最后階段:最后調(diào)用處理被新到達(dá)對(duì)象支配的方法,處理所有被新到達(dá)對(duì)象支配的對(duì)象,即降低被新到達(dá)對(duì)象支配的對(duì)象的Skyline概率。
2.如權(quán)利要求1所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(I)所述概率數(shù)據(jù)流的每一個(gè)元祖被賦予的屬性包括:其在數(shù)據(jù)流中的序列號(hào),其存在的概率,及其在各屬性上的取值。
3.如權(quán)利要求1所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,位于所述緩沖區(qū)的概率數(shù)據(jù)流對(duì)象具有如下四種狀態(tài):到達(dá)態(tài)、候選Skyline態(tài)、處于Skyline態(tài)、和過期態(tài);對(duì)象在其整個(gè)生命周期內(nèi)呈現(xiàn)不同的狀態(tài),但在一個(gè)具體的時(shí)刻它只能處于一個(gè)確定的狀態(tài)。
4.如權(quán)利要求3所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,采用網(wǎng)格作為索引結(jié)構(gòu),并且采用隊(duì)列來保存活動(dòng)對(duì)象,每個(gè)網(wǎng)格中關(guān)聯(lián)2個(gè)指針列表,分別指向該網(wǎng)格中的Skyline態(tài)和候選Skyline態(tài)對(duì)象的指針。
5.如權(quán)利要求1所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(3)將先到達(dá)的對(duì)象U的支配域和反向支配域劃分為1、I1、II1、IV區(qū)域。
6.如權(quán)利要求5所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(3)所述的確定新到達(dá)對(duì)象身份的方法采用概率定界方法,將新到達(dá)的對(duì)象U,記為格C,并稱為格對(duì)象,所述格C的左下角和右上角分別記為Cmin和Cmax,可以得出任何支配Cmin的對(duì)象必須支配U,而且任何支配u的對(duì)象也必須支配Cmax。
7.如權(quán)利要求6所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(3)在到達(dá)目的的前提下盡可能地減少訪問對(duì)象樹,以減少支配測(cè)試的次數(shù),在對(duì)所述III區(qū)的遍歷訪問過程中,如果所述到達(dá)對(duì)象U的概率上界小于概率閾值P,則停止遍歷。
8.如權(quán)利要求6所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(4)中如果所述到達(dá)對(duì)象u不被它之后到達(dá)的活動(dòng)對(duì)象支配的概率小于概率閾值P時(shí),則將其立即從系統(tǒng)中提前淘汰。
9.如權(quán)利要求8所述的面向概率數(shù)據(jù)流的Skyline查詢方法,其特征在于,步驟(4)提前淘汰對(duì)象后,沒有必要對(duì)這些對(duì)象進(jìn)行概率補(bǔ)償。
全文摘要
本發(fā)明公開了一種面向概率數(shù)據(jù)流的Skyline查詢方法,包括(1)構(gòu)建一個(gè)概率數(shù)據(jù)流環(huán)境下對(duì)象的狀態(tài)模型將概率數(shù)據(jù)流中的每個(gè)元組看作一個(gè)對(duì)象,數(shù)據(jù)流中觀察到的對(duì)象在進(jìn)入系統(tǒng)之前先保存在緩沖區(qū)中;(2)新對(duì)象到達(dá)后,從系統(tǒng)中淘汰過期對(duì)象并增大被該過期對(duì)象支配的對(duì)象的Skyline概率;(3)接著計(jì)算新到達(dá)對(duì)象的Skyline概率并將該對(duì)象插入到其所屬格中相應(yīng)的隊(duì)列中;(4)處理所有被新到達(dá)對(duì)象支配的對(duì)象,即降低被新到達(dá)對(duì)象支配的對(duì)象的Skyline概率。本發(fā)明采用適應(yīng)性更強(qiáng)的網(wǎng)格索引的基礎(chǔ)上,提出了概率定界、逐步求精、提前淘汰與選擇補(bǔ)償?shù)葐l(fā)式規(guī)則對(duì)算法從時(shí)間和空間兩方面進(jìn)行了系統(tǒng)地優(yōu)化。
文檔編號(hào)G06F17/30GK103150326SQ20121059757
公開日2013年6月12日 申請(qǐng)日期2012年12月21日 優(yōu)先權(quán)日2012年12月21日
發(fā)明者孫圣力, 劉京, 陳杭 申請(qǐng)人:北京大學(xué)軟件與微電子學(xué)院無錫產(chǎn)學(xué)研合作教育基地