專利名稱:一種高維環(huán)境中資源分配問題的查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫系統(tǒng)、信息檢索、高維數(shù)據(jù)映射和查詢技術(shù),特別是涉及一種高維環(huán)境內(nèi)資源分配問題的查詢方法。
背景技術(shù):
在越來越多的應(yīng)用中,服務(wù)器根據(jù)用戶自身的要求和偏好,為用戶分配的資源。這包括在線婚介網(wǎng)站,交換居所服務(wù)網(wǎng)站,以及求職網(wǎng)站。這種類型的資源分配問題,通常指定一個(gè)查詢物體。該查詢物體包含一定數(shù)量的自身屬性參數(shù),同時(shí),還包含一系列的要求。 更進(jìn)一步,數(shù)據(jù)庫中的每個(gè)物體,同樣擁有一定數(shù)量的自身屬性參數(shù)和一系列對對方的條件。不同于傳統(tǒng)的查詢類型,例如區(qū)域查詢只需要判斷數(shù)據(jù)庫中的物體是否處于查詢區(qū)域當(dāng)中,資源分配問題的查詢處理,需要判斷數(shù)據(jù)庫中的物體和查詢物體是否處于彼此的查詢區(qū)域當(dāng)中。除了新的查詢語義,在處理資源分配問題的過程中,還有一系列新的挑戰(zhàn)。首先,資源分配問題涉及到的查詢類型遠(yuǎn)比傳統(tǒng)的空間數(shù)據(jù)類型,例如點(diǎn)數(shù)據(jù)、區(qū)域數(shù)據(jù)復(fù)雜。具體地,上述應(yīng)用中的數(shù)據(jù)可以被建模為一個(gè)用于表示物體屬性參數(shù)的空間點(diǎn),和一個(gè)用于表示物體條件的空間區(qū)域的組合。更進(jìn)一步,用于表示屬性參數(shù)的空間點(diǎn)和用于表示條件的空間區(qū)域可能處于不同的值域空間中。由于這些問題的存在,使得為這種復(fù)雜類型數(shù)據(jù)建立索引,從而加快查詢帶來了更大的難度。另一方面,即時(shí)在同一種應(yīng)用場景當(dāng)中,資源分配問題也可能存在不同的表現(xiàn)形式。在這種情況下,一個(gè)可以有效的管理海量高維數(shù)據(jù),并支持各種表現(xiàn)形式的資源分配問題的通用索引方法和查詢方法顯得更加重要。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種高維環(huán)境中資源分配問題的查詢方法。本發(fā)明解決其技術(shù)問題采用的技術(shù)方案的步驟如下
1)將每一個(gè)物體,用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示;
2)將步驟I)中得到的每一個(gè)物體所對應(yīng)的高維點(diǎn)通過降維方法轉(zhuǎn)化成一個(gè)一維鍵
值;
3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;
4)在查詢處理前,根據(jù)查詢物體的查詢條件,將資源分配問題轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間;
5)在查詢處理時(shí),采用“最佳優(yōu)先”的方法訪問步驟3)中得到的B+樹;
6)用分配標(biāo)記值來控制步驟5)中B+樹的訪問終止,從而查詢結(jié)束。步驟I)將每一個(gè)物體,用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示;其中高維點(diǎn)為物體的中心點(diǎn);兩個(gè)附加參數(shù)分別為物體的最大半徑和最大權(quán)重值。
步驟2)將步驟I)中得到的每一個(gè)物體所對應(yīng)的高維點(diǎn)通過降維方法轉(zhuǎn)化成一個(gè)一維鍵值;其中的降維方法為P+樹方法。步驟3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;其中B+樹方法的索引關(guān)鍵值是物體對應(yīng)的一維鍵值;此外在每個(gè)B+ 樹節(jié)點(diǎn)中有兩個(gè)存儲空間,分別用來存儲物體的兩個(gè)附加參數(shù)。步驟4)中將資源分配問題轉(zhuǎn)化為一維空間中的鍵值區(qū)間需通過兩個(gè)步驟a)將資源分配問題轉(zhuǎn)化為區(qū)域查詢問題;b)將步驟a)中得到的區(qū)域查詢問題通過降維方法轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間。步驟5)中為了采用“最佳優(yōu)先”的方法訪問步驟3)中得到的B+樹,需要在內(nèi)存中建立一個(gè)最大堆結(jié)構(gòu);其中最大堆的每個(gè)條目包含一個(gè)B+樹節(jié)點(diǎn),以及該B+樹節(jié)點(diǎn)在最大堆中的排序值。步驟6)中通過分配標(biāo)記值和步驟5)中最大堆的頂端條目中的排序值的大小關(guān)系的比較,來控制步驟5)中B+樹的訪問的終止,從而查詢結(jié)束。本發(fā)明具有的有益效果是
本發(fā)明充分利用了數(shù)據(jù)庫和信息檢索的現(xiàn)有研究和實(shí)現(xiàn)成果,基于已有的降維方法的擴(kuò)展和融合可以非常方便快捷的提供資源分配問題的查詢能力,并且不依賴于模糊數(shù)據(jù)的維度,為使用者提供最好的性能。本發(fā)明可以廣泛用于交友網(wǎng)站,交換居所服務(wù)網(wǎng)站,以及求職網(wǎng)站等網(wǎng)絡(luò)服務(wù)行業(yè)中海量數(shù)據(jù)的管理,以及資源分配問題的查詢處理。
圖I是資源分配問題的查詢方法示意圖。圖2是B+樹方法的示意圖。
具體實(shí)施例方式現(xiàn)結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。本發(fā)明具體實(shí)施過程和工作原理,如圖I所示
1)將每一個(gè)物體,用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示;
2)將步驟I)中得到的每一個(gè)物體所對應(yīng)的高維點(diǎn)通過降維方法轉(zhuǎn)化成一個(gè)一維鍵
值;
3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;
4)在查詢處理前,根據(jù)查詢物體的查詢條件,將資源分配問題轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間;
5)在查詢處理時(shí),采用“最佳優(yōu)先”的方法訪問步驟3)中得到的B+樹;
6)用一個(gè)標(biāo)記值來控制步驟5)中B+樹的訪問何時(shí)終止。步驟I)中首先將物體所處于的屬性空間和條件空間結(jié)合起來,得到一個(gè)高維的聯(lián)合空間,并用4表示該聯(lián)合空間的維度值。然后對于每一個(gè)物體I用一個(gè)&維的空間矩形來表示物體的屬性和條件。令G表示Z的矩形的中心點(diǎn),來表示G在各維度距離該矩形邊界的最大距離(半徑),rz來表示z的最大權(quán)重值,則每個(gè)物體z被表示為一個(gè)高維點(diǎn)G和兩個(gè)附加值最大半徑^>和最大權(quán)重rz。步驟2)中為了克服“維度的詛咒”這一問題,采用P+樹降維方法,將每一個(gè)物體的中心點(diǎn)G hkDj維的高維環(huán)境映射到一維空間,成為一個(gè)一維鍵值。然后,如圖2所示,用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;其中B+樹方法的索引關(guān)鍵值是物體對應(yīng)的一維鍵值;此外在每個(gè)B+樹節(jié)點(diǎn)中有兩個(gè)存儲空間,分別用來存儲物體的兩個(gè)附加參數(shù)。步驟3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中。其中B+樹方法如圖I所示。B+樹的索引關(guān)鍵值是物體對應(yīng)的一維鍵值。在每一個(gè)樹節(jié)點(diǎn)中,除了索引關(guān)鍵值,樹節(jié)點(diǎn)中還有兩個(gè)存儲空間,用來存儲物體的兩個(gè)附加參數(shù),分別為該子節(jié)點(diǎn)對應(yīng)的分支中所有物體的最大半徑和最大權(quán)重值。步驟4)中將資源分配問題轉(zhuǎn)化為一維空間中的鍵值區(qū)間需通過兩個(gè)步驟a)將資源分配問題轉(zhuǎn)化為區(qū)域查詢問題;b)將區(qū)域查詢問題通過降維方法轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間。步驟4)中將資源分配問題轉(zhuǎn)化為一維空間中的鍵值區(qū)間需通過兩個(gè)步驟
a)根據(jù)資源分配問題的具體類型和查詢物體的查詢條件,將資源分配問題轉(zhuǎn)化為區(qū)域查詢問題。b)將步驟a)中得到的區(qū)域查詢問題通過P+樹降維方法映射成一個(gè)一維鍵值區(qū)間。這個(gè)鍵值空間,將被存儲在一個(gè)名為的列表中。步驟5)中采用最佳優(yōu)先的方式訪問B+樹。為了實(shí)現(xiàn)最佳優(yōu)先的訪問方式,需要在內(nèi)存中建立一個(gè)最大堆結(jié)構(gòu)//。最大堆的每一個(gè)條目表不為切,N. value)。其中,Ar是B+ 樹中的一個(gè)節(jié)點(diǎn),而況是#在最大堆#中對應(yīng)的排序值。具體地,Λ 此代表了 # 的子樹包含的物體能夠成為資源分配問題查詢結(jié)果的可能性。在查詢開始的時(shí)候,本查詢方法先將B+樹的根節(jié)點(diǎn)插入最大堆#中。此后,本查詢方法每次都直接訪問最大堆的頂端條目(N,N. value)中對應(yīng)的節(jié)點(diǎn)見步驟6)中通過比較標(biāo)記值和步驟5)中最大堆的頂端條目中的排序值的大小關(guān)系來控制步驟5)中B+樹的訪問何時(shí)終止。令標(biāo)記值為匕_。當(dāng)匕_大于最大堆的頂端條目中的排序值況value時(shí),步驟步驟5)中B+樹的訪問終止。
權(quán)利要求
1.一種高維環(huán)境中資源分配問題的查詢方法,其特征在于采用以下步驟實(shí)現(xiàn).1)將每一個(gè)物體,用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示;.2)將步驟I)中得到的每一個(gè)物體所對應(yīng)的高維點(diǎn)通過降維方法轉(zhuǎn)化成一個(gè)一維鍵值;.3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;.4)在查詢處理前,根據(jù)查詢物體的查詢條件,將資源分配問題轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間;.5)在查詢處理時(shí),采用“最佳優(yōu)先”的方法訪問步驟3)中得到的B+樹;.6)用分配標(biāo)記值來控制步驟5)中B+樹的訪問終止,從而查詢結(jié)束。
2.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟I)將每一個(gè)物體,用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示;其中高維點(diǎn)為物體的中心點(diǎn);兩個(gè)附加參數(shù)分別為物體的最大半徑和最大權(quán)重值。
3.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟2)將步驟I)中得到的每一個(gè)物體所對應(yīng)的高維點(diǎn)通過降維方法轉(zhuǎn)化成一個(gè)一維鍵值; 其中的降維方法為P+樹方法。
4.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟3)用B+樹方法將步驟I)和步驟2)中得到的所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中;其中B+樹方法的索引關(guān)鍵值是物體對應(yīng)的一維鍵值;此外在每個(gè)B+樹節(jié)點(diǎn)中有兩個(gè)存儲空間,分別用來存儲物體的兩個(gè)附加參數(shù)。
5.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟4)中將資源分配問題轉(zhuǎn)化為一維空間中的鍵值區(qū)間需通過兩個(gè)步驟a)將資源分配問題轉(zhuǎn)化為區(qū)域查詢問題;b)將步驟a)中得到的區(qū)域查詢問題通過降維方法轉(zhuǎn)化為一個(gè)一維的鍵值區(qū)間。
6.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟5)中為了采用“最佳優(yōu)先”的方法訪問步驟3)中得到的B+樹,需要在內(nèi)存中建立一個(gè)最大堆結(jié)構(gòu);其中最大堆的每個(gè)條目包含一個(gè)B+樹節(jié)點(diǎn),以及該B+樹節(jié)點(diǎn)在最大堆中的排序值。
7.根據(jù)權(quán)利要求I所述的一種高維環(huán)境中資源分配問題的查詢方法,其特征在于步驟6)中通過分配標(biāo)記值和步驟5)中最大堆的頂端條目中的排序值的大小關(guān)系的比較,來控制步驟5)中B+樹的訪問的終止,從而查詢結(jié)束。
全文摘要
本發(fā)明公開了一種高維環(huán)境中資源分配問題的查詢方法。該方法將每一個(gè)物體用高維環(huán)境中的一個(gè)高維點(diǎn)和兩個(gè)附加參數(shù)來表示。然后將每個(gè)物體所對應(yīng)的高維點(diǎn)通過一種降維技術(shù)映射成一個(gè)一維空間中的鍵值,并用一個(gè)B+樹將所有物體對應(yīng)的一維鍵值和附加參數(shù)索引在內(nèi)存中。在查詢處理前,根據(jù)資源分配問題的查詢物體的查詢條件將資源分配問題轉(zhuǎn)化一維空間中的鍵值區(qū)間。在查詢處理時(shí),采用“最佳優(yōu)先”的方法訪問B+樹,并用分配標(biāo)記值來控制B+樹的訪問何時(shí)終止,從而查詢結(jié)束。本發(fā)明利用了數(shù)據(jù)庫和信息檢索的現(xiàn)有研究和實(shí)現(xiàn)成果,基于已有的降維方法的擴(kuò)展和融合可以非常方便快捷的提供資源分配問題的查詢能力,提供最好的性能。
文檔編號G06F17/30GK102609440SQ201110437148
公開日2012年7月25日 申請日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者壽黎但, 胡天磊, 陳剛, 陳珂, 馬春洋 申請人:浙江大學(xué)