本發(fā)明涉及多媒體技術(shù)領(lǐng)域,特別是涉及一種搜索緩存更新方法及裝置。
背景技術(shù):
隨著搜索的不斷發(fā)展,熱點(diǎn)內(nèi)容的不斷升級(jí)與更新,以及搜索量的不斷加大,為了提高搜索服務(wù)的性能及穩(wěn)定性,搜索緩存是必不可少的重要因素。緩存就是臨時(shí)文件交換區(qū),是可以進(jìn)行高速數(shù)據(jù)交換的存儲(chǔ)器,它先于內(nèi)存與CPU交換數(shù)據(jù),因此速率極快,為了加快用戶查詢的響應(yīng)速度,緩存幾乎成了搜索引擎的標(biāo)配。搜索引擎會(huì)把一些熱點(diǎn)內(nèi)容的關(guān)鍵詞的搜索結(jié)果放入到緩存中,當(dāng)該關(guān)鍵詞再次被搜索時(shí),可以直接從內(nèi)存中調(diào)取搜索結(jié)果,而不必再從索引庫中進(jìn)行重新檢索和排名。緩存機(jī)制的引入,不僅加快了搜索引擎對(duì)用戶搜索的反應(yīng)速度,也減少了搜索引擎對(duì)數(shù)據(jù)的重復(fù)計(jì)算。
然而,對(duì)于熱點(diǎn)內(nèi)容,當(dāng)其有信息更新時(shí),在緩存的有效期內(nèi),在搜索結(jié)果頁中便不能及時(shí)展示最新的熱點(diǎn)內(nèi)容的相關(guān)信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種搜索緩存更新方法及裝置,以提高熱點(diǎn)內(nèi)容的更新速度。具體技術(shù)方案如下:
本發(fā)明實(shí)施例公開了一種搜索緩存更新方法,包括:
當(dāng)熱點(diǎn)內(nèi)容更新時(shí),提取所述熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將所述第一搜索詞更新至第一數(shù)據(jù)庫,其中,所述第一數(shù)據(jù)庫存儲(chǔ)熱點(diǎn)內(nèi)容的搜索詞;
當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)所述搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,判斷是否得到第二搜索詞;
當(dāng)?shù)玫降诙阉髟~,且判斷所述第二搜索詞有效時(shí),根據(jù)所述第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存,其中,所述第二數(shù)據(jù)庫存儲(chǔ)搜索結(jié)果的緩存;
判斷所述第一搜索結(jié)果的緩存是否有效,如果是,將所述第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果;如果否,將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將所述第二搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,位于所述提取所述熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將所述第一搜索詞更新至第一數(shù)據(jù)庫,之前,所述搜索緩存更新方法還包括:
接收熱點(diǎn)內(nèi)容的消息隊(duì)列,將所述消息隊(duì)列對(duì)應(yīng)的搜索詞更新至所述第一數(shù)據(jù)庫。
可選的,位于所述根據(jù)所述搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,判斷是否得到第二搜索詞,之后,所述搜索緩存更新方法還包括:
當(dāng)?shù)玫降诙阉髟~,且判斷所述第二搜索詞無效時(shí),將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第三搜索請(qǐng)求結(jié)果,將所述第三搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,所述判斷所述第二搜索詞有效的步驟,包括:
確定得到所述第二搜索詞的時(shí)間戳與所述第二搜索詞的寫入時(shí)間戳的第一差值;
如果所述第一差值小于第一預(yù)設(shè)有效期,判斷所述第二搜索詞有效;
所述判斷所述第一搜索結(jié)果的緩存是否有效的步驟,包括:
確定得到第一搜索結(jié)果的緩存的時(shí)間戳與所述第一搜索結(jié)果的緩存的寫入時(shí)間戳的第二差值;
根據(jù)所述第二差值是否小于第二預(yù)設(shè)有效期,判斷所述第一搜索結(jié)果的緩存是否有效。
可選的,所述判斷所述第二搜索詞無效的步驟,包括:
確定得到所述第二搜索詞的時(shí)間戳與所述第二搜索詞的寫入時(shí)間戳的第一差值;
如果所述第一差值大于或等于第一預(yù)設(shè)有效期,判斷所述第二搜索詞無效。
可選的,位于所述根據(jù)所述搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,判斷是否得到第二搜索詞,之后,所述搜索緩存更新方法還包括:
當(dāng)?shù)貌坏降诙阉髟~時(shí),根據(jù)所述搜索請(qǐng)求查詢所述第二數(shù)據(jù)庫,得到第二搜索結(jié)果的緩存,判斷所述第二搜索結(jié)果的緩存是否有效;
如果是,將所述第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果;如果否,將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第五搜索請(qǐng)求結(jié)果,將所述第五搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,所述判斷所述第二搜索結(jié)果的緩存是否有效的步驟,包括:
確定得到第二搜索結(jié)果的緩存的時(shí)間戳與所述第二搜索結(jié)果的緩存的寫入時(shí)間戳的第三差值;
根據(jù)所述第三差值是否小于第三預(yù)設(shè)有效期,判斷所述第二搜索結(jié)果的緩存是否有效。
可選的,位于所述將所述第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果,之后,所述搜索緩存更新方法還包括:
返回所述第一搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于所述獲取第二搜索請(qǐng)求結(jié)果,之后,所述搜索緩存更新方法還包括:
返回所述第二搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于所述獲取第三搜索請(qǐng)求結(jié)果,之后,所述搜索緩存更新方法還包括:
返回所述第三搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于所述將所述第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果,之后,所述搜索緩存更新方法還包括:
返回所述第四搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于所述獲取第五搜索請(qǐng)求結(jié)果,之后,所述搜索緩存更新方法還包括:
返回所述第五搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端。
本發(fā)明實(shí)施例還公開了一種搜索緩存更新裝置,包括:
搜索詞更新模塊,用于當(dāng)熱點(diǎn)內(nèi)容更新時(shí),提取所述熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將所述第一搜索詞更新至第一數(shù)據(jù)庫,其中,所述第一數(shù)據(jù)庫存儲(chǔ)熱點(diǎn)內(nèi)容的搜索詞;
搜索詞判斷模塊,用于當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)所述搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,判斷是否得到第二搜索詞;
第一緩存獲取模塊,用于當(dāng)?shù)玫降诙阉髟~,且判斷所述第二搜索詞有效時(shí),根據(jù)所述第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存,其中,所述第二數(shù)據(jù)庫存儲(chǔ)搜索結(jié)果的緩存;
第一緩存判斷模塊,用于判斷所述第一搜索結(jié)果的緩存是否有效;
第一搜索請(qǐng)求結(jié)果獲取模塊,用于當(dāng)所述第一緩存判斷模塊的判斷結(jié)果為是時(shí),將所述第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果;
第二搜索請(qǐng)求結(jié)果獲取模塊,用于當(dāng)所述第一緩存判斷模塊的判斷結(jié)果為否時(shí),將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將所述第二搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
搜索詞建立模塊,用于接收熱點(diǎn)內(nèi)容的消息隊(duì)列,將所述消息隊(duì)列對(duì)應(yīng)的搜索詞更新至所述第一數(shù)據(jù)庫。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
第三搜索請(qǐng)求結(jié)果獲取模塊,用于當(dāng)?shù)玫降诙阉髟~,且判斷所述第二搜索詞無效時(shí),將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第三搜索請(qǐng)求結(jié)果,將所述第三搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,所述第一緩存獲取模塊,包括:
第一差值確定子模塊,用于確定得到所述第二搜索詞的時(shí)間戳與所述第二搜索詞的寫入時(shí)間戳的第一差值;
第二搜索詞有效判斷子模塊,用于如果所述第一差值小于第一預(yù)設(shè)有效期,判斷所述第二搜索詞有效;
所述第一緩存判斷模塊,包括:
第二差值確定子模塊,用于確定得到第一搜索結(jié)果的緩存的時(shí)間戳與所述第一搜索結(jié)果的緩存的寫入時(shí)間戳的第二差值;
第一有效判定子模塊,用于根據(jù)所述第二差值是否小于第二預(yù)設(shè)有效期,判斷所述第一搜索結(jié)果的緩存是否有效。
可選的,所述第三搜索請(qǐng)求結(jié)果獲取模塊,包括:
第一差值確定子模塊,用于確定得到所述第二搜索詞的時(shí)間戳與所述第二搜索詞的寫入時(shí)間戳的第一差值;
第二搜索詞無效判斷子模塊,用于如果所述第一差值大于或等于第一預(yù)設(shè)有效期,判斷所述第二搜索詞無效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
第二緩存獲取模塊,用于當(dāng)?shù)貌坏降诙阉髟~時(shí),根據(jù)所述搜索請(qǐng)求查詢所述第二數(shù)據(jù)庫,得到第二搜索結(jié)果的緩存;
第二緩存判斷模塊,用于判斷所述第二搜索結(jié)果的緩存是否有效;
第四搜索請(qǐng)求結(jié)果獲取模塊,用于當(dāng)所述第二緩存判斷模塊的判斷結(jié)果為是時(shí),將所述第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果;
第五搜索請(qǐng)求結(jié)果獲取模塊,用于當(dāng)所述第二緩存判斷模塊的判斷結(jié)果為否時(shí),將所述搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第五搜索請(qǐng)求結(jié)果,將所述第五搜索請(qǐng)求結(jié)果更新至所述第二數(shù)據(jù)庫。
可選的,所述第二緩存判斷模塊,包括:
第三差值確定子模塊,用于確定得到第二搜索結(jié)果的緩存的時(shí)間戳與所述第二搜索結(jié)果的緩存的寫入時(shí)間戳的第三差值;
第二有效判定子模塊,用于根據(jù)所述第三差值是否小于第三預(yù)設(shè)有效期,判斷所述第二搜索結(jié)果的緩存是否有效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
第一搜索請(qǐng)求結(jié)果返回模塊,用于返回所述第一搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第二搜索請(qǐng)求結(jié)果返回模塊,用于返回所述第二搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第三搜索請(qǐng)求結(jié)果返回模塊,用于返回所述第三搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第四搜索請(qǐng)求結(jié)果返回模塊,用于返回所述第四搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第五搜索請(qǐng)求結(jié)果返回模塊,用于返回所述第五搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端。
本發(fā)明實(shí)施例提供的搜索緩存更新方法及裝置,當(dāng)熱點(diǎn)內(nèi)容更新時(shí),將熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞更新至第一數(shù)據(jù)庫。當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,當(dāng)判斷得到的第二搜索詞有效時(shí),根據(jù)第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存有效時(shí),將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存無效時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。這樣,應(yīng)用本發(fā)明實(shí)施例的搜索緩存更新方法,可提高熱點(diǎn)內(nèi)容的更新速度,使得熱點(diǎn)內(nèi)容的信息更靠前,方便用戶查看最新信息。當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例的搜索緩存更新方法的一種流程圖;
圖2為本發(fā)明實(shí)施例的搜索緩存更新方法的另一種流程圖;
圖3為本發(fā)明實(shí)施例的搜索緩存更新方法的另一種流程圖;
圖4為本發(fā)明實(shí)施例的搜索緩存更新裝置的一種結(jié)構(gòu)圖;
圖5為本發(fā)明實(shí)施例的搜索緩存更新裝置的另一種結(jié)構(gòu)圖;
圖6為本發(fā)明實(shí)施例的搜索緩存更新裝置的另一種結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,搜索技術(shù)越來越多的受到人們的關(guān)注。在用戶的搜索請(qǐng)求中,少數(shù)搜索詞占了搜索請(qǐng)求的相當(dāng)大比例,而大多數(shù)搜索詞單個(gè)出現(xiàn)的次數(shù)非常少,因此搜索引擎把用戶經(jīng)常查詢的少數(shù)搜索詞的搜索結(jié)果存放于緩存中,就可以應(yīng)對(duì)大多數(shù)用戶的搜索請(qǐng)求了。對(duì)于每個(gè)緩存都是有有效期的,在緩存的有效期內(nèi),在搜索結(jié)果頁中便不能及時(shí)展示最新的相關(guān)信息。其中,緩存的有效期越長(zhǎng),緩存的命中率越高。如果降低緩存的有效期,雖然可降低緩存命中率進(jìn)而提高更新速度,但是對(duì)于一些非熱點(diǎn)內(nèi)容,更新速度并沒有太過強(qiáng)烈的需求。因此,在不降低搜索緩存有效期的情況下,現(xiàn)有技術(shù)中熱點(diǎn)內(nèi)容的更新速度比較慢。
本發(fā)明實(shí)施例公開了一種搜索緩存更新方法,可提高熱點(diǎn)內(nèi)容的更新速度。參見圖1,圖1為本發(fā)明實(shí)施例的搜索緩存更新方法的一種流程圖,包括如下步驟:
S101,當(dāng)熱點(diǎn)內(nèi)容更新時(shí),提取熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將第一搜索詞更新至第一數(shù)據(jù)庫,其中,第一數(shù)據(jù)庫存儲(chǔ)熱點(diǎn)內(nèi)容的搜索詞。
可以理解的是,每一條信息,尤其是熱點(diǎn)信息都有對(duì)應(yīng)的關(guān)鍵詞,在日常生活中,用戶可通過關(guān)鍵詞檢索得到想要的相關(guān)信息。本發(fā)明實(shí)施例中,熱點(diǎn)內(nèi)容的信息也有相對(duì)應(yīng)的詞語,也就是搜索詞。當(dāng)熱點(diǎn)內(nèi)容更新時(shí),提取熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將該第一搜索詞更新至第一數(shù)據(jù)庫。這樣,第一數(shù)據(jù)庫中存儲(chǔ)的就是熱點(diǎn)內(nèi)容的搜索詞,在接收到搜索請(qǐng)求時(shí),尤其是熱點(diǎn)內(nèi)容的搜索請(qǐng)求時(shí),可提高搜索效率。其中,熱點(diǎn)內(nèi)容指當(dāng)下人們關(guān)注的熱點(diǎn)消息,可以是時(shí)事政治、體育賽事、娛樂八卦、生活服務(wù)等等。而熱點(diǎn)內(nèi)容的信息可以是視頻信息、圖片信息或者是文字信息。
舉例而言,當(dāng)前的熱點(diǎn)內(nèi)容是某國(guó)總統(tǒng)選舉,那么,互聯(lián)網(wǎng)上將不斷出現(xiàn)關(guān)于該國(guó)總統(tǒng)選舉的最新消息,每一條相關(guān)消息對(duì)應(yīng)的搜索詞可以是某國(guó)總統(tǒng)大選、參選總統(tǒng)的名字等,則第一搜索詞為某國(guó)總統(tǒng)大選、參選總統(tǒng)的名字等,并將該第一搜索詞更新至第一數(shù)據(jù)庫,使得第一數(shù)據(jù)庫中的數(shù)據(jù)實(shí)時(shí)更新。
S102,當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫。
S103,判斷是否得到第二搜索詞。
具體的,第一數(shù)據(jù)庫中存儲(chǔ)的是熱點(diǎn)內(nèi)容的搜索詞,當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢第一數(shù)據(jù)庫,通過查詢可判斷該搜索請(qǐng)求是熱點(diǎn)內(nèi)容的搜索請(qǐng)求還是非熱點(diǎn)內(nèi)容的搜索請(qǐng)求。當(dāng)?shù)玫降诙阉髟~時(shí),表明該搜索請(qǐng)求是熱點(diǎn)內(nèi)容的搜索請(qǐng)求;否則,表明該搜索請(qǐng)求是非熱點(diǎn)內(nèi)容的搜索請(qǐng)求。例如,搜索請(qǐng)求中的搜索詞為某熱播電視劇的名字,通過第一數(shù)據(jù)庫查詢,得到的第二搜索詞為該熱播電視劇的名字。
當(dāng)?shù)玫降诙阉髟~,執(zhí)行S104,判斷第二搜索詞是否有效。
當(dāng)判斷第二搜索詞有效時(shí),執(zhí)行S105,根據(jù)第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存,其中,第二數(shù)據(jù)庫存儲(chǔ)搜索結(jié)果的緩存。
需要說明的是,當(dāng)?shù)玫降诙阉髟~時(shí),僅僅表明搜索請(qǐng)求是熱點(diǎn)內(nèi)容的搜索請(qǐng)求。而實(shí)際應(yīng)用中,搜索詞是有一定的有效期的。即,不同時(shí)期的熱點(diǎn)內(nèi)容是不同的,當(dāng)搜索詞還在有效期時(shí),表明該搜索詞對(duì)應(yīng)的信息還是熱點(diǎn)內(nèi)容;當(dāng)搜索詞過了有效期,則表明該搜索詞已經(jīng)不是熱點(diǎn)內(nèi)容的搜索詞。本步驟中,當(dāng)?shù)玫降诙阉髟~,且判斷第二搜索詞有效時(shí),表明該第二搜索詞還在有效期,該第二搜索詞對(duì)應(yīng)的信息還是熱點(diǎn)內(nèi)容。那么,可直接根據(jù)該第二搜索詞查詢第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存。其中,第二數(shù)據(jù)庫中存儲(chǔ)的是搜索結(jié)果的緩存,通過搜索結(jié)果的緩存可快速獲取到搜索結(jié)果,不用通過搜索引擎進(jìn)行搜索,提高了搜索效率。
S106,判斷第一搜索結(jié)果的緩存是否有效。
當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存有效時(shí),執(zhí)行S107,將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果。當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存無效時(shí),執(zhí)行S108,將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
具體的,與搜索詞相同,搜索結(jié)果的緩存也是有有效期的。只有在有效期內(nèi),才可以通過搜索結(jié)果的緩存返回搜索請(qǐng)求結(jié)果。如果第一搜索結(jié)果的緩存有效,那么,該第一搜索結(jié)果的緩存可返回搜索請(qǐng)求結(jié)果,即,該第一搜索結(jié)果的緩存中的信息為第一搜索請(qǐng)求結(jié)果。而在第一搜索結(jié)果的緩存無效時(shí),即,第一搜索結(jié)果的緩存過了有效期,需要將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,通過搜索引擎獲取第二搜索請(qǐng)求結(jié)果。同時(shí),需要將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫,以使第二數(shù)據(jù)庫中的數(shù)據(jù)保持最新,使得在下次接收到相同的搜索請(qǐng)求時(shí),直接從第二數(shù)據(jù)庫中獲取搜索請(qǐng)求結(jié)果。
舉例而言,第二搜索詞為該熱播電視劇的名字,得到的第一搜索結(jié)果的緩存為該熱播電視劇的緩存。如果該熱播電視劇的緩存還在有效期,可直接將該熱播電視劇的緩存中的視頻信息作為第一搜索請(qǐng)求結(jié)果。如果該熱播電視劇的緩存過了有效期,則需要根據(jù)該熱播電視劇的名字通過搜索引擎得到第二搜索請(qǐng)求結(jié)果,該第二搜索請(qǐng)求結(jié)果為搜索引擎返回的該熱播電視劇的視頻信息。
可見,本發(fā)明實(shí)施例提供的搜索緩存更新方法,及時(shí)將熱點(diǎn)內(nèi)容的搜索詞更新至第一數(shù)據(jù)庫,當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢第一數(shù)據(jù)庫,當(dāng)判斷得到的第二搜索詞有效時(shí),根據(jù)第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存有效時(shí),將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存無效時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。這樣,應(yīng)用本發(fā)明實(shí)施例的搜索緩存更新方法,可提高熱點(diǎn)內(nèi)容的更新速度,使得熱點(diǎn)內(nèi)容的信息更靠前,方便用戶查看最新信息。
參見圖2,圖2為本發(fā)明實(shí)施例的搜索緩存更新方法的另一種流程圖,在圖1實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
S201,當(dāng)?shù)玫降诙阉髟~,且判斷第二搜索詞無效時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第三搜索請(qǐng)求結(jié)果,將第三搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
本步驟中,當(dāng)判斷第二搜索詞無效時(shí),則表明該搜索詞已經(jīng)不是熱點(diǎn)內(nèi)容的搜索詞。將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第三搜索請(qǐng)求結(jié)果,將第三搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。本步驟的處理過程與S108相同,這里不再贅述。
參見圖3,圖3為本發(fā)明實(shí)施例的搜索緩存更新方法的另一種流程圖,在圖1實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
S301,當(dāng)?shù)貌坏降诙阉髟~時(shí),根據(jù)搜索請(qǐng)求查詢第二數(shù)據(jù)庫,得到第二搜索結(jié)果的緩存。
S302,判斷第二搜索結(jié)果的緩存是否有效。
當(dāng)S302的判斷結(jié)果為是時(shí),執(zhí)行S303,將第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果。當(dāng)S302的判斷結(jié)果為否時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第五搜索請(qǐng)求結(jié)果,將第五搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
本發(fā)明實(shí)施例中,當(dāng)?shù)貌坏降诙阉髟~時(shí),表明搜索請(qǐng)求中的搜索詞不是熱點(diǎn)內(nèi)容的搜索詞,那么,該搜索請(qǐng)求屬于非熱點(diǎn)內(nèi)容的搜索請(qǐng)求。根據(jù)搜索請(qǐng)求中的搜索詞查詢第二數(shù)據(jù)庫,得到第二搜索結(jié)果的緩存;判斷第二搜索結(jié)果的緩存是否有效,如果是,將第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果。如果否,將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第五搜索請(qǐng)求結(jié)果,將第五搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
需要說明的是,非熱點(diǎn)內(nèi)容的搜索請(qǐng)求流程與熱點(diǎn)內(nèi)容的搜索請(qǐng)求流程中的S106、S107和S108相同,且非熱點(diǎn)內(nèi)容的搜索請(qǐng)求屬于現(xiàn)有技術(shù),這里不再贅述。
可選的,位于將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果,之后,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
返回第一搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于獲取第二搜索請(qǐng)求結(jié)果,之后,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
返回第二搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于獲取第三搜索請(qǐng)求結(jié)果,之后,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
返回第三搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于將第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果,之后,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
返回第四搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
位于獲取第五搜索請(qǐng)求結(jié)果,之后,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
返回第五搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端。
本發(fā)明實(shí)施例中,在得到第一搜索請(qǐng)求結(jié)果或第二搜索請(qǐng)求結(jié)果或第三請(qǐng)求結(jié)果或第四搜索請(qǐng)求結(jié)果或第五請(qǐng)求結(jié)果后,處理搜索請(qǐng)求的服務(wù)器將第一搜索請(qǐng)求結(jié)果或第二搜索請(qǐng)求結(jié)果或第三請(qǐng)求結(jié)果或第四搜索請(qǐng)求結(jié)果或第五請(qǐng)求結(jié)果返回給搜索請(qǐng)求客戶端,以使用戶可以查看具體的搜索結(jié)果。
可選的,位于提取熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將第一搜索詞更新至第一數(shù)據(jù)庫,之前,本發(fā)明實(shí)施例的搜索緩存更新方法,還包括:
接收熱點(diǎn)內(nèi)容的消息隊(duì)列,將消息隊(duì)列對(duì)應(yīng)的搜索詞更新至第一數(shù)據(jù)庫。
需要說明的是,第一數(shù)據(jù)庫是預(yù)先建立的,不同時(shí)期的熱點(diǎn)內(nèi)容是不同的,處理搜索請(qǐng)求的服務(wù)器根據(jù)當(dāng)前的熱點(diǎn)內(nèi)容,接收熱點(diǎn)內(nèi)容的消息隊(duì)列,并將該消息隊(duì)列中的搜索詞更新至第一數(shù)據(jù)庫,由此,形成第一數(shù)據(jù)庫。
可選的,本發(fā)明實(shí)施例的搜索緩存更新方法中,判斷第二搜索詞有效的步驟,包括:
首先,確定得到第二搜索詞的時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值。
其次,如果第一差值小于第一預(yù)設(shè)有效期,判斷第二搜索詞有效。
判斷第一搜索結(jié)果的緩存是否有效的步驟,包括:
首先,確定得到第一搜索結(jié)果的緩存的時(shí)間戳與第一搜索結(jié)果的緩存的寫入時(shí)間戳的第二差值。
其次,根據(jù)第二差值是否小于第二預(yù)設(shè)有效期,判斷第一搜索結(jié)果的緩存是否有效。
需要說明的是,得到第二搜索詞的時(shí)間戳指處理搜索請(qǐng)求過程中的當(dāng)前時(shí)間戳,當(dāng)前時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值為第二搜索詞的存在時(shí)間,如果第一差值小于第一預(yù)設(shè)有效期,表明第二搜索詞還在有效期,判斷第二搜索詞有效。其中,第一預(yù)設(shè)有效期可以是10分鐘,5分鐘等。
同樣的,搜索結(jié)果的緩存是有對(duì)應(yīng)的寫入時(shí)間的,而得到第一搜索結(jié)果的緩存的時(shí)間戳指處理搜索請(qǐng)求過程中的當(dāng)前時(shí)間戳,當(dāng)然,該當(dāng)前時(shí)間戳和得到第二搜索詞的時(shí)間戳是不同的。該當(dāng)前時(shí)間戳與第一搜索結(jié)果的緩存的寫入時(shí)間戳的第二差值,也就是第一搜索結(jié)果的緩存的存在時(shí)間,如果存在時(shí)間小于第二預(yù)設(shè)有效期,表明該第一搜索結(jié)果的緩存還在有效期,也就是還沒過期。其中,第二預(yù)設(shè)有效期可以是8分鐘,3分鐘等。
一般的,第一預(yù)設(shè)有效期要遠(yuǎn)大于第二預(yù)設(shè)有效期,即,搜索詞的有效期遠(yuǎn)大于緩存的有效期,如果搜索詞還在有效期,該搜索詞對(duì)應(yīng)的信息的緩存可能還在有效期,也可能已經(jīng)過期;如果搜索詞已經(jīng)過了有效期,則該搜索詞對(duì)應(yīng)的信息的緩存必然已經(jīng)過了有效期。這樣,確保在熱點(diǎn)內(nèi)容的搜索詞的有效期內(nèi),熱點(diǎn)內(nèi)容的搜索結(jié)果的緩存及時(shí)更新。
可選的,本發(fā)明實(shí)施例的搜索緩存更新方法中,判斷第二搜索詞無效的步驟,包括:
首先,確定得到第二搜索詞的時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值。
其次,如果第一差值大于或等于第一預(yù)設(shè)有效期,判斷第二搜索詞無效。
本發(fā)明實(shí)施例中,判斷第二搜索詞無效的步驟與判斷第二搜索詞有效的步驟類似,得到第二搜索詞的時(shí)間戳指處理搜索請(qǐng)求過程中的當(dāng)前時(shí)間戳,當(dāng)前時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值為第二搜索詞的存在時(shí)間,如果第一差值大于或等于第一預(yù)設(shè)有效期,表明第二搜索詞已經(jīng)過了有效期,判斷第二搜索詞無效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新方法中,判斷第二搜索結(jié)果的緩存是否有效的步驟包括:
首先,確定得到第二搜索結(jié)果的緩存的時(shí)間戳與第二搜索結(jié)果的緩存的寫入時(shí)間戳的第三差值。
其次,根據(jù)第三差值是否小于第三預(yù)設(shè)有效期,判斷第二搜索結(jié)果的緩存是否有效。
具體的,判斷第二搜索結(jié)果的緩存是否有效的步驟與判斷第一搜索結(jié)果的緩存是否有效的步驟相同,這里不再贅述。
相應(yīng)于上述方法實(shí)施例,本發(fā)明實(shí)施例還提供了一種搜索緩存更新裝置,參見圖4,圖4為本發(fā)明實(shí)施例的搜索緩存更新裝置的一種結(jié)構(gòu)圖,包括:
搜索詞更新模塊401,用于當(dāng)熱點(diǎn)內(nèi)容更新時(shí),提取熱點(diǎn)內(nèi)容的信息對(duì)應(yīng)的第一搜索詞,并將第一搜索詞更新至第一數(shù)據(jù)庫,其中,第一數(shù)據(jù)庫存儲(chǔ)熱點(diǎn)內(nèi)容的搜索詞。
搜索詞判斷模塊402,用于當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢預(yù)先建立的第一數(shù)據(jù)庫,判斷是否得到第二搜索詞。
第一緩存獲取模塊403,用于當(dāng)?shù)玫降诙阉髟~,且判斷第二搜索詞有效時(shí),根據(jù)第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存,其中,第二數(shù)據(jù)庫存儲(chǔ)搜索結(jié)果的緩存。
第一緩存判斷模塊404,用于判斷第一搜索結(jié)果的緩存是否有效。
第一搜索請(qǐng)求結(jié)果獲取模塊405,用于當(dāng)?shù)谝痪彺媾袛嗄K的判斷結(jié)果為是時(shí),將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果。
第二搜索請(qǐng)求結(jié)果獲取模塊406,用于當(dāng)?shù)谝痪彺媾袛嗄K的判斷結(jié)果為否時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
可見,本發(fā)明實(shí)施例提供的搜索緩存更新裝置,及時(shí)將熱點(diǎn)內(nèi)容的搜索詞更新至第一數(shù)據(jù)庫,當(dāng)接收到搜索請(qǐng)求時(shí),根據(jù)搜索請(qǐng)求中的搜索詞查詢第一數(shù)據(jù)庫,當(dāng)判斷得到的第二搜索詞有效時(shí),根據(jù)第二搜索詞查詢預(yù)先建立的第二數(shù)據(jù)庫,得到第一搜索結(jié)果的緩存;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存有效時(shí),將第一搜索結(jié)果的緩存中的信息作為第一搜索請(qǐng)求結(jié)果;當(dāng)?shù)谝凰阉鹘Y(jié)果的緩存無效時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第二搜索請(qǐng)求結(jié)果,將第二搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。這樣,應(yīng)用本發(fā)明實(shí)施例的搜索緩存更新裝置,可提高熱點(diǎn)內(nèi)容的更新速度,使得熱點(diǎn)內(nèi)容的信息更靠前,方便用戶查看最新信息。
需要說明的是,本發(fā)明實(shí)施例的裝置是應(yīng)用上述搜索緩存更新方法的裝置,則上述搜索緩存更新方法的所有實(shí)施例均適用于該裝置,且均能達(dá)到相同或相似的有益效果。
參見圖5,圖5為本發(fā)明實(shí)施例的搜索緩存更新裝置的另一種結(jié)構(gòu)圖,在圖4實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
搜索詞建立模塊501,用于接收熱點(diǎn)內(nèi)容的消息隊(duì)列,將消息隊(duì)列對(duì)應(yīng)的搜索詞更新至第一數(shù)據(jù)庫。
第三搜索請(qǐng)求結(jié)果獲取模塊502,用于當(dāng)?shù)玫降诙阉髟~,且判斷第二搜索詞無效時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第三搜索請(qǐng)求結(jié)果,將第三搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
參見圖6,圖6為本發(fā)明實(shí)施例的搜索緩存更新裝置的另一種結(jié)構(gòu)圖,包括:
第二緩存獲取模塊601,用于當(dāng)?shù)貌坏降诙阉髟~時(shí),根據(jù)搜索請(qǐng)求查詢第二數(shù)據(jù)庫,得到第二搜索結(jié)果的緩存。
第二緩存判斷模塊602,用于判斷第二搜索結(jié)果的緩存是否有效。
第四搜索請(qǐng)求結(jié)果獲取模塊603,用于當(dāng)?shù)诙彺媾袛嗄K的判斷結(jié)果為是時(shí),將第二搜索結(jié)果的緩存中的信息作為第四搜索請(qǐng)求結(jié)果。
第五搜索請(qǐng)求結(jié)果獲取模塊604,用于當(dāng)?shù)诙彺媾袛嗄K的判斷結(jié)果為否時(shí),將搜索請(qǐng)求轉(zhuǎn)發(fā)至搜索引擎,獲取第五搜索請(qǐng)求結(jié)果,將第五搜索請(qǐng)求結(jié)果更新至第二數(shù)據(jù)庫。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置中,第一緩存獲取模塊,包括:
第一差值確定子模塊,用于確定得到第二搜索詞的時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值。
第二搜索詞有效判斷子模塊,用于如果第一差值小于第一預(yù)設(shè)有效期,判斷第二搜索詞有效。
第一緩存判斷模塊,包括:
第二差值確定子模塊,用于確定得到第一搜索結(jié)果的緩存的時(shí)間戳與第一搜索結(jié)果的緩存的寫入時(shí)間戳的第二差值。
第一有效判定子模塊,用于根據(jù)第二差值是否小于第二預(yù)設(shè)有效期,判斷第一搜索結(jié)果的緩存是否有效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置中,第三搜索請(qǐng)求結(jié)果獲取模塊,包括:
第一差值確定子模塊,用于確定得到第二搜索詞的時(shí)間戳與第二搜索詞的寫入時(shí)間戳的第一差值。
第二搜索詞無效判斷子模塊,用于如果第一差值大于或等于第一預(yù)設(shè)有效期,判斷第二搜索詞無效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置中,第二緩存判斷模塊,包括:
第三差值確定子模塊,用于確定得到第二搜索結(jié)果的緩存的時(shí)間戳與第二搜索結(jié)果的緩存的寫入時(shí)間戳的第三差值。
第二有效判定子模塊,用于根據(jù)第三差值是否小于第三預(yù)設(shè)有效期,判斷第二搜索結(jié)果的緩存是否有效。
可選的,本發(fā)明實(shí)施例的搜索緩存更新裝置,還包括:
第一搜索請(qǐng)求結(jié)果返回模塊,用于返回第一搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第二搜索請(qǐng)求結(jié)果返回模塊,用于返回第二搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第三搜索請(qǐng)求結(jié)果返回模塊,用于返回第三搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第四搜索請(qǐng)求結(jié)果返回模塊,用于返回第四搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端;或,
第五搜索請(qǐng)求結(jié)果返回模塊,用于返回第五搜索請(qǐng)求結(jié)果至搜索請(qǐng)求客戶端。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。