專利名稱:實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及實(shí)時(shí)垂直搜索引擎系統(tǒng)數(shù)據(jù)緩存與抓取協(xié)調(diào)相關(guān)的技術(shù),特別 涉及基于泊松過(guò)程的一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化的方法。
背景技術(shù):
實(shí)時(shí)垂直搜索引擎通過(guò)用戶查詢驅(qū)動(dòng)的數(shù)據(jù)抓取、語(yǔ)義分析等技術(shù),為用 戶提供更貼切、更準(zhǔn)確實(shí)時(shí)、滿意度更高的搜索結(jié)果。它從根本上解決了傳統(tǒng) 垂直搜索引擎數(shù)據(jù)結(jié)果過(guò)時(shí)嚴(yán)重的弊病,滿足了用戶對(duì)機(jī)票、股市等特定領(lǐng)域 的搜索中日益強(qiáng)烈的高實(shí)時(shí)性需求。
利用爬蟲(chóng)實(shí)時(shí)査詢的結(jié)果與服務(wù)器緩存結(jié)果的合并來(lái)提高用戶搜索體驗(yàn)是 實(shí)時(shí)垂直搜索引擎的核心技術(shù)。爬蟲(chóng)的實(shí)時(shí)査詢能較好地保證數(shù)據(jù)的實(shí)時(shí)性, 卻增大了數(shù)據(jù)源站點(diǎn)的壓力;適量的數(shù)據(jù)緩存雖能減少對(duì)數(shù)據(jù)源站點(diǎn)的訪問(wèn)壓 力,卻無(wú)法保證數(shù)據(jù)的實(shí)時(shí)性。因此,如何在兼顧數(shù)據(jù)源站點(diǎn)壓力的前提下提 高實(shí)時(shí)垂直搜索結(jié)果的實(shí)時(shí)性和性能是緩存策略的重點(diǎn)。
但是由于實(shí)時(shí)垂直搜索引擎的發(fā)展歷史尚短,并且實(shí)時(shí)垂直搜索引擎緩存 調(diào)度比較復(fù)雜,因此產(chǎn)業(yè)界對(duì)此至今沒(méi)有一個(gè)成熟的解決方案。現(xiàn)有的實(shí)時(shí)垂 直搜索引擎仍然使用傳統(tǒng)垂直搜索引擎的抓取調(diào)度方法,對(duì)抓取配額的利用率 不高。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法。主要應(yīng) 用于實(shí)時(shí)垂直搜索引擎的抓取資源管理,計(jì)算了對(duì)抓取配額的自動(dòng)分配平衡方 法,提供了實(shí)時(shí)垂直搜索引擎自動(dòng)調(diào)節(jié)管理抓取配額的功能。
本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案的步驟如下
1) 根據(jù)搜索對(duì)象之間的關(guān)聯(lián)關(guān)系,預(yù)測(cè)搜索對(duì)象的熱門度趨勢(shì),計(jì)算下一 周期內(nèi)各個(gè)搜索對(duì)象的緩存權(quán)重度;
2) 根據(jù)步驟l)中所得各個(gè)搜索對(duì)象的緩存權(quán)重度,將抓取配額分配給不 同搜索對(duì)象,并依據(jù)用戶對(duì)同一搜索對(duì)象的訪問(wèn)規(guī)律,初步分配與調(diào)整抓取配 額;
3) 計(jì)算每個(gè)搜索對(duì)象的實(shí)際數(shù)據(jù)變化頻率,動(dòng)態(tài)平衡不同搜索對(duì)象的抓取 配額。所述步驟1)中搜索對(duì)象之間的關(guān)聯(lián)關(guān)系,使用的是搜索對(duì)象之間的屬性關(guān) 聯(lián),不同搜索對(duì)象的緩存權(quán)重度的差異標(biāo)志了不同搜索對(duì)象在周期內(nèi)用戶査詢 量的差異。
所述步驟1)中計(jì)算下一周期T內(nèi)各個(gè)搜索對(duì)象緩存權(quán)重度的步驟如下
3.1) 定義搜索搜索對(duì)象的各個(gè)屬性,并定義各屬性的取值;
3.2) 計(jì)算關(guān)系矩陣集合K,其中iQ代表屬性Px的屬性關(guān)系矩陣,該屬性關(guān) 系矩陣值Ky代表了屬性取值pi與Pj之間的關(guān)聯(lián)度;
3.3) 處理上一周期內(nèi)的所有查詢數(shù)據(jù),提取出每個(gè)屬性不同取值的査詢次 數(shù),計(jì)算屬性訪問(wèn)集合T], Tix表示屬性Px的訪問(wèn)向量,該訪問(wèn)向量值Ni代表屬 性某一取值Pi在T內(nèi)的訪問(wèn)次數(shù),tx為各個(gè)屬性Px的權(quán)重度;
3.4) 使用公式
<formula>formula see original document page 5</formula>
計(jì)算下一個(gè)周期內(nèi)各個(gè)搜索對(duì)象的緩存權(quán)重度。
所述步驟2)中用戶對(duì)搜索對(duì)象的訪問(wèn)符合泊松過(guò)程,且用戶對(duì)同一搜索對(duì)
象的查詢量隨著時(shí)間的增長(zhǎng)呈線性趨勢(shì),抓取配額的初步分配符合公式
<formula>formula see original document page 5</formula>
其中C代表總抓取次數(shù)限制,N代表搜索對(duì)象個(gè)數(shù),Ci代表搜索對(duì)象i分配 到的抓取配額;
針對(duì)查詢驅(qū)動(dòng)的特點(diǎn)進(jìn)行抓取配額的初步調(diào)整符合公式
<formula>formula see original document page 5</formula>其中c^d代表以上公式的Ci, T代表計(jì)算周期,;w為用戶對(duì)搜索對(duì)象i的査 詢頻率。
所述步驟3)中動(dòng)態(tài)平衡,計(jì)算搜索對(duì)象實(shí)際數(shù)據(jù)變化頻率、的計(jì)算方法,
依據(jù)以下公式<formula>formula see original document page 5</formula>其中tei表示發(fā)現(xiàn)第i次變化的間隔,tuj表示第j次沒(méi)有發(fā)現(xiàn)變化的間隔,在
總共n次重抓中,總共發(fā)現(xiàn)了 m次變化。
所述步驟3)中的動(dòng)態(tài)中,使用t表示搜索對(duì)象的更新間隔,具體方法為
6.1) 遍歷所有搜索對(duì)象,計(jì)算每一個(gè)搜索對(duì)象的^,t值與用戶查詢量值V, 并計(jì)算每個(gè)搜索對(duì)象的V* [(l-e^t)/ Vt]值,定義其為F;
6.2) 對(duì)每個(gè)搜索對(duì)象按照 ^t從大到小排序,同時(shí)對(duì)每個(gè)搜索對(duì)象按V從 小到大排序;
6.3) 依次篩選出?ie,t最大,同時(shí)V最小的搜索對(duì)象與^,t最小,同時(shí)V最 大的搜索對(duì)象,并將前者的抓取配額平衡給后者,直到這兩個(gè)搜索對(duì)象的F相 同為止;
6.4) 不斷重復(fù)步驟6.3),直到所有搜索對(duì)象的F相同。 本發(fā)明具有的有益效果是增加了垂直搜索引擎對(duì)數(shù)據(jù)站點(diǎn)抓取配額的利
用率,增加了實(shí)時(shí)垂直搜索引擎用戶的體驗(yàn),實(shí)現(xiàn)了實(shí)時(shí)垂直搜索引擎對(duì)不同
數(shù)據(jù)站點(diǎn)的自適應(yīng)配置。
圖1是本發(fā)明實(shí)施步驟流程圖。
圖2是融合本發(fā)明的實(shí)時(shí)垂直搜索引擎系統(tǒng)架構(gòu)圖。
具體實(shí)施例方式
現(xiàn)結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
如圖1所示,本發(fā)明具體實(shí)施過(guò)程和工作原理如下
1) 根據(jù)對(duì)象之間的關(guān)聯(lián)關(guān)系,預(yù)測(cè)對(duì)象的熱門度趨勢(shì),計(jì)算下一周期內(nèi) 各個(gè)對(duì)象的緩存權(quán)重度;
2) 根據(jù)步驟l)中所得各個(gè)對(duì)象的緩存權(quán)重度,將抓取配額分配給不同對(duì) 象,并依據(jù)用戶對(duì)同一對(duì)象的訪問(wèn)規(guī)律,初步調(diào)整抓取配額;
3) 計(jì)算每個(gè)對(duì)象的實(shí)際數(shù)據(jù)變化頻率,動(dòng)態(tài)平衡不同對(duì)象的抓取配額。 如圖1)所示,步驟1)中對(duì)象之間的關(guān)聯(lián)關(guān)系使用的是對(duì)象之間的屬性
關(guān)聯(lián)。比如機(jī)票對(duì)象,包含了{(lán)出發(fā)城市,到達(dá)城市,日期}三個(gè)屬性,不同的
機(jī)票對(duì)象之間在不同的屬性上都有關(guān)聯(lián),比如{北京,杭州,距今2天}的對(duì)象
與{北京,上海,距今1天}兩個(gè)對(duì)象僅到達(dá)城市不同,并且杭州與上海地理位
置非常接近,可以理解為這兩個(gè)機(jī)票的關(guān)聯(lián)比較密切。不同對(duì)象的緩存權(quán)重度
的差異標(biāo)志了不同對(duì)象在一定周期內(nèi)用戶查詢量的差異,反應(yīng)到機(jī)票對(duì)象上可 以理解為不同機(jī)票對(duì)象的熱門程度。其中計(jì)算下一周期內(nèi)各個(gè)對(duì)象緩存權(quán)重度的具體步驟如下-
1) 定義對(duì)象的各個(gè)屬性,并定義各屬性的取值,比如機(jī)票對(duì)象包含(出發(fā) 城市,到達(dá)城市,日期}三個(gè)屬性,而出發(fā)城市和到達(dá)城市的取值則為中國(guó)各個(gè)
具有民用機(jī)場(chǎng)的城市;
2) 計(jì)算關(guān)系矩陣集合K,其中1Q代表屬性Px的屬性關(guān)系矩陣,該屬性關(guān)系
矩陣值Kij代表了屬性取值Pi與Pj之間的關(guān)聯(lián)度;
3) 處理上一周期內(nèi)的所有查詢數(shù)據(jù),提取出每個(gè)屬性不同取值的査詢次
數(shù)。計(jì)算屬性訪問(wèn)集合T1, T^表示屬性Px的訪問(wèn)向量。該訪問(wèn)向量值Ni代表屬 性某一取值Pi在T內(nèi)的訪問(wèn)次數(shù),tx為各個(gè)屬性Px的權(quán)重度;
4) 使用公式
w 附
計(jì)算各個(gè)對(duì)象的緩存權(quán)重度。
如圖1)所示,進(jìn)行完步驟l)處理后,步驟2)表征了對(duì)搜索對(duì)象抓取配
額的初步分配,用戶對(duì)相同對(duì)象的訪問(wèn)符合泊松過(guò)程,且用戶對(duì)同一對(duì)象的査
詢量隨著時(shí)間的增長(zhǎng)呈線性趨勢(shì)。抓取配額的初步分配符合公式
! =0
其中C代表總抓取次數(shù)限制,N代表對(duì)象個(gè)數(shù),Ci代表對(duì)象i分配到的抓取 配額。比如兩個(gè)對(duì)象的熱門程度為W「4、 W2=9,則抓取配額的初步分配為 d=C*2/5、 c2=C*3/5。
實(shí)時(shí)垂直搜索引擎的數(shù)據(jù)抓取為用戶査詢驅(qū)動(dòng),因此需要針對(duì)查詢驅(qū)動(dòng)的 特點(diǎn)進(jìn)行抓取配額的初步調(diào)整,使用以下公式進(jìn)行
e — e n i C':oW 、 —- c/_oW 、2 7".入
其中Ci—。w代表上式中的的Ci, T代表計(jì)算周期,、為用戶對(duì)對(duì)象i的查詢頻 率,依此公式調(diào)整后的抓取配額考慮了用戶對(duì)同一對(duì)象査詢的離散型。 如圖l)所示,步驟3)中計(jì)算對(duì)象實(shí)際數(shù)據(jù)變化頻率^,依據(jù)公式
7附 * _附
其中tei表示發(fā)現(xiàn)第i次變化的間隔,tuj表示第j次沒(méi)有發(fā)現(xiàn)變化的間隔。在
總共n次重抓中,總共發(fā)現(xiàn)了 m次變化。
給定各個(gè)抓取對(duì)象的數(shù)據(jù)變化頻率、后,可以此為依據(jù)進(jìn)行不同對(duì)象的動(dòng) 態(tài)平衡,具體方法為
1) 遍歷所有搜索對(duì)象,計(jì)算每一個(gè)搜索對(duì)象的^,t值與用戶查詢量值V, 并計(jì)算每個(gè)搜索對(duì)象的F=V* [(l-e^t)/Vt]值;
2) 對(duì)每個(gè)搜索對(duì)象按照?^t從大到小排序,同時(shí)對(duì)每個(gè)搜索對(duì)象按V從 小到大排序;該步驟的目的為方便找出所有對(duì)象中F最小的搜索對(duì)象;
3) 依據(jù)各個(gè)對(duì)象的、n與V,找出F最小的對(duì)象和F最大的對(duì)象,并將前 者的抓取配額平衡給后者,直到這兩個(gè)搜索對(duì)象的F相同;
4) 不斷重復(fù)步驟3),直到所有搜索對(duì)象的F相同。
在經(jīng)過(guò)如上步驟之后,實(shí)現(xiàn)了抓取資源在一個(gè)周期內(nèi)在所有搜索對(duì)象之間 的最優(yōu)化分配。
圖2描述了實(shí)時(shí)垂直搜索引擎的整體抓取架構(gòu),方框代表了本緩存優(yōu)化方 法在整個(gè)實(shí)時(shí)垂直搜索引擎中的應(yīng)用點(diǎn),方框中各個(gè)節(jié)點(diǎn)即代表了緩存優(yōu)化計(jì) 算的各個(gè)步驟。計(jì)算步驟代表了不同緩存對(duì)象的緩存權(quán)重度計(jì)算,其計(jì)算數(shù) 據(jù)來(lái)自網(wǎng)站日志。分配步驟即代表了依據(jù)緩存權(quán)重度進(jìn)行抓取配額的初步分 配與調(diào)整,分配的計(jì)算結(jié)果反應(yīng)到對(duì)象信息表,以表征各個(gè)對(duì)象的實(shí)時(shí)信息。 在垂直搜索引擎運(yùn)行過(guò)程中,動(dòng)態(tài)平衡步驟實(shí)時(shí)從對(duì)象信息表中讀取對(duì)象信 息,并使用動(dòng)態(tài)平衡方法重新調(diào)整不同搜索對(duì)象的抓取配額。
本發(fā)明在實(shí)時(shí)垂直搜索引擎的切入點(diǎn)為分發(fā)器,對(duì)每個(gè)的査詢請(qǐng)求,分 發(fā)器依據(jù)本優(yōu)化方法計(jì)算的不同抓取對(duì)象抓取配額度來(lái)調(diào)度決定用戶的査詢結(jié) 果為實(shí)時(shí)從網(wǎng)絡(luò)抓取還是數(shù)據(jù)服務(wù)器中數(shù)據(jù)。
權(quán)利要求
1、一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法,其特征在于,該方法的步驟如下1)根據(jù)搜索對(duì)象之間的關(guān)聯(lián)關(guān)系,預(yù)測(cè)搜索對(duì)象的熱門度趨勢(shì),計(jì)算下一周期內(nèi)各個(gè)搜索對(duì)象的緩存權(quán)重度;2)根據(jù)步驟1)中所得各個(gè)搜索對(duì)象的緩存權(quán)重度,將抓取配額分配給不同搜索對(duì)象,并依據(jù)用戶對(duì)同一搜索對(duì)象的訪問(wèn)規(guī)律,初步分配與調(diào)整抓取配額;3)計(jì)算每個(gè)搜索對(duì)象的實(shí)際數(shù)據(jù)變化頻率,動(dòng)態(tài)平衡不同搜索對(duì)象的抓取配額。
2、 根據(jù)權(quán)利要求1中所述的一種實(shí)時(shí)垂搜索引擎對(duì)象緩存優(yōu)化方法,其特征在于所述步驟l)中搜索對(duì)象之間的關(guān)聯(lián)關(guān)系,使用的是搜索對(duì)象之間的屬性關(guān)聯(lián),不同搜索對(duì)象的緩存權(quán)重度的差異標(biāo)志了不同搜索對(duì)象在周期內(nèi)用戶查詢量的差異。
3、 根據(jù)權(quán)利要求1中所述的一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法,其特征在于所述步驟1)中計(jì)算下一周期T內(nèi)各個(gè)搜索對(duì)象緩存權(quán)重度的步驟如下3.1) 定義搜索搜索對(duì)象的各個(gè)屬性,并定義各屬性的取值;3.2) 計(jì)算關(guān)系矩陣集合K,其中i^代表屬性Px的屬性關(guān)系矩陣,該屬性關(guān)系矩陣值Ky代表了屬性取值pi與pj之間的關(guān)聯(lián)度;3.3) 處理上一周期內(nèi)的所有査詢數(shù)據(jù),提取出每個(gè)屬性不同取值的査詢次數(shù),計(jì)算屬性訪問(wèn)集合Tl, ilx表示屬性P)c的訪問(wèn)向量,該訪問(wèn)向量值Ni代表屬性某一取值Pi在T內(nèi)的訪問(wèn)次數(shù),tx為各個(gè)屬性Px的權(quán)重度;3.4) 使用公式附 加計(jì)算下一個(gè)周期內(nèi)各個(gè)搜索對(duì)象的緩存權(quán)重度。
4、 根據(jù)權(quán)利要求1中所述的一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法,其特征在于所述步驟2)中用戶對(duì)搜索對(duì)象的訪問(wèn)符合泊松過(guò)程,且用戶對(duì)同一搜索對(duì)象的查詢量隨著時(shí)間的增長(zhǎng)呈線性趨勢(shì),抓取配額的初步分配符合公式藝#其中C代表總抓取次數(shù)限制,N代表搜索對(duì)象個(gè)數(shù),Ci代表搜索對(duì)象i分配到的抓取配額;針對(duì)査詢驅(qū)動(dòng)的特點(diǎn)進(jìn)行抓取配額的初步調(diào)整符合公式<formula>formula see original document page 3</formula>其中Ci。w代表以上公式的Ci, T代表計(jì)算周期,、為用戶對(duì)搜索對(duì)象i的査詢頻率。
5、 根據(jù)權(quán)利要求1中所述的一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法,其特征在于所述步驟3)中動(dòng)態(tài)平衡,計(jì)算搜索對(duì)象實(shí)際數(shù)據(jù)變化頻率、的計(jì)算方法,依據(jù)以下公式乙札,乙 其中tei表示發(fā)現(xiàn)第i次變化的間隔,tuj表示第j次沒(méi)有發(fā)現(xiàn)變化的間隔,在總共n次重抓中,總共發(fā)現(xiàn)了 m次變化。
6、 根據(jù)權(quán)利要求1中所述的一種實(shí)時(shí)垂直搜索引擎搜索對(duì)象緩存優(yōu)化方法,其特征在于所述步驟3)中的動(dòng)態(tài)中,使用t表示搜索對(duì)象的更新間隔,具體方法為-[6.1) 遍歷所有搜索對(duì)象,計(jì)算每一個(gè)搜索對(duì)象的 ^t值與用戶查詢量值V,并計(jì)算每個(gè)搜索對(duì)象的V* [(l-e^t)/Vt]值,定義其為F;[6.2) 對(duì)每個(gè)搜索對(duì)象按照X^t從大到小排序,同時(shí)對(duì)每個(gè)搜索對(duì)象按V從小到大排序;[6.3) 依次篩選出、4最大,同時(shí)V最小的搜索對(duì)象與^,t最小,同時(shí)V最大的搜索對(duì)象,并將前者的抓取配額平衡給后者,直到這兩個(gè)搜索對(duì)象的F相同為止;[6.4) 不斷重復(fù)步驟6.3),直到所有搜索對(duì)象的F相同。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)時(shí)垂直搜索引擎對(duì)象緩存優(yōu)化方法。利用對(duì)象及對(duì)象屬性之間的關(guān)系,預(yù)測(cè)不同對(duì)象的熱門度趨勢(shì),計(jì)算不同對(duì)象的緩存權(quán)重;利用用戶對(duì)同一對(duì)象查詢符合泊松過(guò)程以及數(shù)據(jù)抓取為查詢驅(qū)動(dòng)的特點(diǎn),計(jì)算抓取配額在各個(gè)對(duì)象之間的初始分配和調(diào)整方法;利用數(shù)據(jù)的真實(shí)變化頻率符合泊松過(guò)程的特點(diǎn),計(jì)算抓取配額在各個(gè)對(duì)象之間的動(dòng)態(tài)平衡方法。本發(fā)明增加了垂直搜索引擎對(duì)數(shù)據(jù)站點(diǎn)抓取配額的利用率,增加了實(shí)時(shí)垂直搜索引擎用戶的體驗(yàn),實(shí)現(xiàn)了實(shí)時(shí)垂直搜索引擎對(duì)不同數(shù)據(jù)站點(diǎn)的自適應(yīng)配置。
文檔編號(hào)G06F17/30GK101667198SQ20091015287
公開(kāi)日2010年3月10日 申請(qǐng)日期2009年9月18日 優(yōu)先權(quán)日2009年9月18日
發(fā)明者周佳慶, 壽黎但, 胡天磊, 剛 陳, 珂 陳 申請(qǐng)人:浙江大學(xué)