位置感知訂閱/發布系統的top-k訂閱查詢匹配方法
【技術領域】
[0001] 本發明屬于訂閱查詢匹配方法,特別涉及一種位置感知訂閱/發布系統的top-k 訂閱查詢匹配方法。
【背景技術】
[0002] 移動互聯網飛速發展和帶有GPS功能的智能手機的普及使得位置感知的訂閱/發 布系統越來越多地受到了研究人員的關注。大量的帶有地理位置標簽的信息不斷地在很多 應用中產生。例如,在一些社交網絡應用中,如Facebook,Twitter,這些應用中含有大量的 用戶。他們的個人信息可被描述為一系列屬性值對,并可與GPS揭示的地理位置信息相結 合成為帶有地理位置信息標簽的屬性值對。在線上支付線下消費的應用中,有很多用戶不 斷地在瀏覽產品,這些產品也可以被描述為一系列屬性值對并與地理位置信息想結合。在 本文中,我們將這樣的數據信息稱為'帶有地理位置信息標簽的屬性值對'。
[0003] 在一個基于位置敏感的訂閱發布系統當中,訂閱者訂閱他們的興趣,同時發布 者發布具有地理位置信息的事件。這種系統在現實世界得到很多應用。在位置感知的 廣告定向投放系統當中,廣告商是訂閱者,他們可以聲明一些用戶屬性作為訂閱。比如, ("16〈age〈28,hobbye{Tennis,basketball} ","51. 165145","0· 141123")。社交網絡 應用中用戶的個人信息比如年齡、愛好和地理位置可以作為一個事件,比如,(e.g."age= 20,sex=female,hobby=tennis,school=Harvard","51. 256543","0·145845")。如 果有個事件和訂閱高度相關,那么相應的廣告將會被展示在用戶的屏幕上。這種廣告推送 模型對于線上支付線下消費商業模式也有用處,比如Groupon,Groupon的商家和服務提供 者可作為訂閱者,這些訂閱者可能想更精確地投送廣告給他們的潛在客戶,他們可以同時 聲明用戶的個人信息和一系列的產品信息作為訂閱,比如(e.g.,"hobby=smart-phone, iteme{IPhone6s,IPhone5s},299$〈price〈499$","51.25543","0· 145845")。該系統的用 戶是信息發布者。當一個用戶點擊一個產品鏈接時,這條產品信息和用戶屬性可以作為一 個事件,例如(e.g."hobby=smart-phone,item=iphone6s",price= 469$,"51· 32454", "0. 146382")。在這些應用中,由于屏幕尺寸的限制,只有一小部分廣告可以被展示在用戶 屏幕上。
[0004]當前的非結構化訂閱/發布系統可以很好的支持由帶有地理位置信息的文本描 述的訂閱,然而,這種系統不能支持需要結構化描述的帶有地理位置信息的屬性值對。當前 的位置感知的結構化訂閱/發布系統,采用布爾表達式代表一個訂閱,可以高效地檢索出 所有匹配的信息,但是用戶有可能被信息淹沒。
【發明內容】
[0005] 為了解決這個問題,我們提出了一個新型的帶有布爾表達式的top-k訂閱查詢匹 配。最近的關于帶有布爾表達式的top-k訂閱查詢匹配工作是處理部分匹配,而本文提出 的是嚴格的布爾表達式的全部匹配。
[0006] 該問題有兩大挑戰,一,怎樣從數百萬帶有多種屬性和值的訂閱中選出top-k個 訂閱查詢匹配的候選集。二,我們需要從大量候選集當中選出t〇p-k個匹配最好的訂閱。因 此,我們需要一個有效并且高效的解決方案來處理該問題。
[0007] 本發明的技術方案是:
[0008] -種位置感知訂閱/發布系統的top-k訂閱查詢匹配方法,其包括以下步驟:
[0009] (1)根據訂閱的空間點信息建立R-tree;
[0010] (2)提取每個訂閱中的謂詞和該謂詞的權重;
[0011] (3)將步驟⑵中謂詞載入到R-tree中不同層中的不同節點上得到RRt-tree;
[0012] (4)根據給定的事件e在RRt-tree中遍歷各個訂閱進行謂詞匹配,根據謂詞匹配 結果得到訂閱的候選集;
[0013] (5)計算出步驟(4)中的訂閱的候選集中各個訂閱與事件e的相似性函數值;
[0014] (6)將訂閱候選集中的訂閱按照相似性函數值的大小進行降序排列作為上界隊 列,并輸出前k個訂閱作為top-k訂閱查詢匹配結果。
[0015] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,步驟 (3) 中)將步驟(2)中謂詞載入到R-tree中不同層中的不同節點上得到RRt-tree的過程 為:
[0016] 步驟⑴中的R-tree的高度是秦給定一個訂閱s,其謂詞的個數為Μ:;
[0017] If 將s中剩余?- 4+1個謂詞載入其葉子結點;
[0018] If ,只有前S.S層的祖先結點包含s中的謂詞;
[0019] 令?1表示S中第i個謂詞,那么Pi將被載入在第i層的祖先結點上,對于第i層 中的每個結點η都有一個謂詞集合P。
[0020] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,為Ρ設 計一個謂詞索引,包括:
[0021] 第一步,按照謂詞的屬性將其分成若干個不相交的謂詞列表,如下公式:
[0022]
[0023] 對于列表中的每個謂詞,為統計已匹配的謂詞個數,均設有一個指針指向其 相應訂閱的M[s];
[0024] 第二步,列表中的謂詞被進一步根據他們的操作符劃分為相應的值列表 Αλ.〇ρ3如下所示:
[0025]
[0026] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,步驟 (4) 謂詞匹配的過程為:
[0027] 為所有訂閱設置一個哈希圖,并初始化相應的哈希值」^1<]為0 ;
[0028] 當P中的一個謂詞被匹配后,我們將其相應的哈希值·Μ'[5]增加1 ;
[0029] 給定一個事件e和一個在第i層的結點n,如果算間<1,s不可能是e的一個top-k 訂閱的候選集;
[0030] 給定一個事件e和一個在第i層的結點n,如果s-定是e的一個top-k 訂閱的候選集;
[0031] 給定一個事件e和一個在第i層的結點n,如果.令并且η是一個葉子結 點,那么s-定是e的一個top-k訂閱的候選集。
[0032] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,把訂閱 按照關鍵屬性分成復個訂閱列表,并用RRt-tree索引這些列表中的訂閱;
[0033] 給定一個訂閱集合,我們根據關鍵屬性δA.將其分區并用RRt-tree對其進行索 弓丨,如下所示:
[0034]
[0035] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,相似性 函數值的計算包括:
[0036] 對于一個給定的事件e和RRt-tree中的一個結點η,布爾表達式相似性函數 UBBE(e,n)計算公式如下:
[0037]
[0038] 這里XPhsi.oaej)是指出現在1到i-Ι層中屬于s的所有已匹配的謂詞的得分, 另外ω中尚未匹配的屬性值對的最大權重,1 -St1娜是s中尚未匹配的謂詞權重之 和;
[0039] 對于一個給定的事件e和RRt-tree中的一個結點η,空間相似性函數UBbe (e, η)計 算公式加下.
[0040]
[0041] MaxDist訂閱之間最大的距離,n. MBR是η所確定的最小邊界矩形,MinDist (e. loc, n. MBR)是e. loc和n. MBR的最小距離;
[0042] 對于一個給定的事件e和RRt-tree中的一個結點η,最終的相似性函數UB (e, η) 計算公式如下:
[0043] UB(e, η) - Max{Va e (n.amin n. a.riax ) min[l - a, UBi;i.;(e, η)] -I- a UBs(e, n)}(6)
[0044] 這里n. amin,和n. a_是結點n中訂閱里最大的阿爾法值和最小的阿爾法值;
[0045] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,給定一 個事件e和一個訂閱s,其相似性函數計算公式如下:
[0046]
[0047] 這里是布爾表達式相似性函數,,是空間相似性函數。布爾表達式相似性函數 計算公式如下:
[0048]
[0049] 這里I?表示訂閱s中謂詞的個數。
[0050] 空間相似性函數的計算公式如下:
[0051]
[0052]這里dist(e.loc,s.ioc;疋e/ρμs
兩,maxuisL疋訂閱之間的最大距離;
[0053] 給定一個事件e和一個包含一個訂閱集合Sn的結點n,對于任意s S n,q?(e.s) < UB(e, η)。
[0054] 優選的是,所述的位置感知訂閱/發布系統的top-k訂閱查詢匹配方法中,如下情 況時停止查詢:
[0055] 1)當k訂閱被找到并且它的最小相似性得分大于上界隊列中的最大上界 UB(e,η) 〇
[0056] 2)當上界隊列為空時。
[0057] 本發明提出一種位置感知訂閱/發布系統的top-k訂閱查詢匹配方法,其包括以 下步驟:(1)根據訂閱的空間點信息建立R-tree; (2)提取每個訂閱中的謂詞和該謂詞的權 重;(3)將步驟(2)中謂詞載入到R-tree中不同層中的不同節點上得到RRt-tree;(4)根據 給定的事件e在RRt-tree中遍歷各個訂閱進行謂詞匹配,根據謂詞匹配結果得到訂閱的候 選集;(5)計算出步驟(4)中的訂閱的候選集中各個訂閱與事件e的相似性函數值;(6)將 訂閱候選集中的訂閱按照相似性函數值的大小進行降序排列作為上界隊列,并輸出前k個 訂閱作為top-k訂閱查詢匹配結果。本發明將R-tree索引結構和一個謂詞索引結構結合 起來,并采用一個訂閱分區策略。當一個事