欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于B/S結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、系統(tǒng)與流程

文檔序號:12824759閱讀:553來源:國知局
一種基于B/S結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、系統(tǒng)與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、系統(tǒng)。



背景技術(shù):

瀏覽器/服務(wù)器(browser/server,b/s)結(jié)構(gòu)是web興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式。在b/s結(jié)構(gòu)中,傳統(tǒng)的內(nèi)容查詢方法是:瀏覽器可以向應(yīng)用服務(wù)器發(fā)起包含查詢條件的查詢請求,而應(yīng)用服務(wù)器可以根據(jù)該查詢條件,從數(shù)據(jù)庫中查詢出符合該查詢條件的內(nèi)容記錄并返回給瀏覽器。在實(shí)踐中發(fā)現(xiàn),上述傳統(tǒng)的內(nèi)容查詢方法強(qiáng)依賴數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫中的內(nèi)容記錄太多時,會造成查詢緩慢,從而影響了對瀏覽器查詢請求的響應(yīng)速度,而且數(shù)據(jù)庫一旦宕機(jī)會造成查詢失效;進(jìn)一步地,大量的并發(fā)查詢會增加應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例公開了一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、系統(tǒng),用于解決如何有效的減少對瀏覽器查詢請求的響應(yīng)速度的影響,降低查詢失效的風(fēng)險,以及降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷的問題。

本發(fā)明實(shí)施例第一方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法,包括:

獲取瀏覽器發(fā)起的查詢請求,其中,該查詢請求包括用于查詢內(nèi)容的查詢條件;

查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式中,上述查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,包括:

生成該查詢條件匹配的hash值;

查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式,可以利用該查詢條件匹配的hash值具有唯一性的特點(diǎn),精確地查詢出是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,從而可以提高靜態(tài)網(wǎng)頁內(nèi)容的查詢精度。

結(jié)合本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式中,若未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,該方法還包括:

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

存儲該查詢條件匹配的hash值與該訪問地址的對應(yīng)關(guān)系,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成內(nèi)容記錄丟失而造成查詢失效,從而可以有效地提高內(nèi)容記錄的安全性。

結(jié)合本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式中,該方法還包括:

向該靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給該瀏覽器。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式,當(dāng)瀏覽器下次發(fā)起包括該查詢條件的查詢請求時,可以直接將該查詢條件對應(yīng)的靜態(tài) 網(wǎng)絡(luò)內(nèi)容的訪問地址或靜態(tài)網(wǎng)絡(luò)內(nèi)容直接返回給瀏覽器,從而可以使得查詢請求不再強(qiáng)依賴數(shù)據(jù)庫,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;而且可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

結(jié)合本發(fā)明實(shí)施例第一方面的第二種或第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式中,在從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄之前,該方法還包括:

對該查詢條件的使用次數(shù)進(jìn)行更新;

判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過該預(yù)設(shè)閾值,執(zhí)行從數(shù)據(jù)庫中查詢符合上述查詢條件的內(nèi)容記錄的步驟。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式,可以將部分查詢條件(即高頻出現(xiàn)的查詢條件)的內(nèi)容記錄生成靜態(tài)網(wǎng)頁內(nèi)容并保存在靜態(tài)資源服務(wù)器中,這樣當(dāng)瀏覽器下次發(fā)起包括高頻出現(xiàn)的查詢條件的查詢請求時,查詢請求不再強(qiáng)依賴數(shù)據(jù)庫,從而可以優(yōu)先滿足高頻出現(xiàn)的查詢條件的查詢成功率。

結(jié)合本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第五種可能的實(shí)現(xiàn)方式中,上述的判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,包括:

判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。舉例來說,可以采用帕累托法則(又稱為二八定律)來判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過80%(即預(yù)設(shè)閾值=80%)。其中,利用帕累托法則可以十分便捷地判斷出該查詢條件是否屬于高頻出現(xiàn)的查詢條件。

結(jié)合本發(fā)明實(shí)施例第一方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第六種可能的實(shí)現(xiàn)方式中,若未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,該方法還包括:

向應(yīng)用服務(wù)器發(fā)送上述查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并將查詢到的內(nèi)容記錄發(fā)送給瀏覽器。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第六種可能的實(shí)現(xiàn)方式,可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

結(jié)合本發(fā)明實(shí)施例第一方面、本發(fā)明實(shí)施例第一方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第七種可能的實(shí)現(xiàn)方式中,上述的獲取瀏覽器發(fā)起的查詢請求包括:

接收查詢過濾器發(fā)送的查詢請求,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第七種可能的實(shí)現(xiàn)方式,可以有效地分流應(yīng)用服務(wù)器的查詢請求,減少應(yīng)用服務(wù)器的查詢工作量,從而可以降低應(yīng)用服務(wù)器的工作負(fù)荷。

結(jié)合本發(fā)明實(shí)施例第一方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第八種可能的實(shí)現(xiàn)方式中,該查詢條件包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值,上述的生成該查詢條件匹配的hash值,包括:

針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;

將獲得的所有字段-數(shù)值對按照上述多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;

以及,利用hash算法對上述字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

其中,實(shí)施本發(fā)明實(shí)施例第一方面的第八種可能的實(shí)現(xiàn)方式,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。

本發(fā)明實(shí)施例第二方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,包括:

第一獲取單元,用于獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于 查詢內(nèi)容的查詢條件;

第一查詢單元,用于查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;

發(fā)送單元,用于在第一查詢單元查詢出存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式中,第一查詢單元包括:

生成子單元,用于生成該查詢條件匹配的hash值;

本地查詢子單元,用于查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

結(jié)合本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式中,上述設(shè)備還包括:

第二查詢單元,用于在本地查詢子單元查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建單元,用于創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

交互單元,用于將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

緩存單元,用于存儲該查詢條件匹配的hash值與該訪問地址的對應(yīng)關(guān)系,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

結(jié)合本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式中,上述設(shè)備還包括:

第二獲取單元,用于向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容;

上述的發(fā)送單元,還用于將第二獲取單元獲取的該靜態(tài)網(wǎng)頁內(nèi)容或緩存單元中的該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第二方面的第二種或第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式中,上述設(shè)備還包括:

更新單元,用于在本地查詢子單元查詢未存儲有該hash值對應(yīng)的靜態(tài) 網(wǎng)頁內(nèi)容時,對該查詢條件的使用次數(shù)進(jìn)行更新;

判斷單元,用于判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值;

上述的第二查詢單元,具體用于在本地查詢子單元查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,以及上述的判斷單元判斷出該查詢條件更新后的使用次數(shù)超過預(yù)設(shè)閾值時,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

結(jié)合本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第五種可能的實(shí)現(xiàn)方式中,上述的判斷單元具體用于判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。

結(jié)合本發(fā)明實(shí)施例第二方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第六種可能的實(shí)現(xiàn)方式中,上述的發(fā)送單元還用于在本地查詢子單元查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并由應(yīng)用服務(wù)器將該內(nèi)容記錄發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第二方面、本發(fā)明實(shí)施例第二方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第七種可能的實(shí)現(xiàn)方式中,上述的第一獲取單元具體用于接收查詢過濾器發(fā)送的查詢請求,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。

結(jié)合本發(fā)明實(shí)施例第二方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第八種可能的實(shí)現(xiàn)方式中,該查詢條件包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值,上述的生成子單元包括:

獲取模塊,用于針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;

組合模塊,用于將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;

哈希模塊,用于利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例第三方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢系統(tǒng),包括瀏覽器、內(nèi)容查詢設(shè)備以及靜態(tài)資源服務(wù)器,其中:

靜態(tài)資源服務(wù)器,用于存儲靜態(tài)網(wǎng)頁內(nèi)容;

內(nèi)容查詢設(shè)備,用于獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;以及,查詢靜態(tài)資源服務(wù)器中是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第三方面的第一種可能的實(shí)現(xiàn)方式中,內(nèi)容查詢設(shè)備查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的方式具體為:

內(nèi)容查詢設(shè)備生成該查詢條件匹配的hash值;

以及,查詢靜態(tài)資源服務(wù)器是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

結(jié)合本發(fā)明實(shí)施例第三方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第二種可能的實(shí)現(xiàn)方式中:

內(nèi)容查詢設(shè)備,還用于在查詢出未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

以及,還用于創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

以及,還用于將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

以及,還用于存儲該查詢條件匹配的hash值與該訪問地址的對應(yīng)關(guān)系,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

結(jié)合本發(fā)明實(shí)施例第三方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第三種可能的實(shí)現(xiàn)方式中:

內(nèi)容查詢設(shè)備,還用于向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲 取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第三方面的第二種或第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第四種可能的實(shí)現(xiàn)方式中,內(nèi)容查詢設(shè)備還用于從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄之前,對該查詢條件的使用次數(shù)進(jìn)行更新;以及,判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過預(yù)設(shè)閾值,執(zhí)行上述的從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄的步驟。

結(jié)合本發(fā)明實(shí)施例第三方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第五種可能的實(shí)現(xiàn)方式中,內(nèi)容查詢設(shè)備判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值的方式具體為:

內(nèi)容查詢設(shè)備判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。

結(jié)合本發(fā)明實(shí)施例第三方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第六種可能的實(shí)現(xiàn)方式中:

內(nèi)容查詢設(shè)備,還用于在查詢出未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄并發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第三方面、本發(fā)明實(shí)施例第三方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第七種可能的實(shí)現(xiàn)方式中:

內(nèi)容查詢設(shè)備獲取瀏覽器發(fā)起的查詢請求的方式具體為:

內(nèi)容查詢設(shè)備接收查詢過濾器發(fā)送的查詢請求,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。

結(jié)合本發(fā)明實(shí)施例第三方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第三方面的第八種可能的實(shí)現(xiàn)方式中,該查詢條件包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值,內(nèi)容查詢設(shè)備生成該查詢條件匹配的hash值的方式具體為:

內(nèi)容查詢設(shè)備針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;

以及,將獲得的所有字段-數(shù)值對按照上述多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;

以及,利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例第四方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法,包括:

獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第四方面的第一種可能的實(shí)現(xiàn)方式中,上述方法還包括:

生成該查詢條件匹配的hash值;

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系。

結(jié)合本發(fā)明實(shí)施例第四方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第四方面的第二種可能的實(shí)現(xiàn)方式中,上述的存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系包括:

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

本發(fā)明實(shí)施例第五方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,包括:

獲取單元,用于獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;

查詢單元,用于從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建單元,用于創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

交互單元,用于將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

發(fā)送單元,用于將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第五方面的第二種可能的實(shí)現(xiàn)方式中,上述設(shè)備還包括:

生成單元,用于生成該查詢條件匹配的hash值;

緩存單元,用于存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系。

結(jié)合本發(fā)明實(shí)施例第五方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第五方面的第二種可能的實(shí)現(xiàn)方式中,緩存單元具體用于存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

本發(fā)明實(shí)施例第六方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,包括輸入器件、處理器件、存儲器件以及輸出器件,其中,存儲器件用于存儲程序和數(shù)據(jù),處理器件用于調(diào)用存儲器件存儲的程序,執(zhí)行以下操作:

通過輸入器件獲取瀏覽器發(fā)起的查詢請求,其中,查詢請求包括用于查詢內(nèi)容的查詢條件;

查詢是否存儲有查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,通過輸出器件將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第六方面的第一種可能的實(shí)現(xiàn)方式中,處理器件查詢是否存儲有查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,包括:

處理器件生成該查詢條件匹配的hash值;

處理器件查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

結(jié)合本發(fā)明實(shí)施例第六方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第二種可能的實(shí)現(xiàn)方式中,若未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng) 頁內(nèi)容,處理器件還用于執(zhí)行以下操作:

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;例如,通過輸出器件向數(shù)據(jù)庫發(fā)送用于查詢符合該查詢條件的內(nèi)容記錄的請求,以及通過輸入器件接收數(shù)據(jù)庫發(fā)送的符合該查詢條件的內(nèi)容記錄;

創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

通過輸出器件將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

存儲該查詢條件匹配的hash值與該訪問地址的對應(yīng)關(guān)系至存儲器件,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

結(jié)合本發(fā)明實(shí)施例第六方面的第二種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第三種可能的實(shí)現(xiàn)方式中,處理器件還用于執(zhí)行以下操作:

向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第六方面的第二種或第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第四種可能的實(shí)現(xiàn)方式中,處理器件從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄之前,還執(zhí)行以下操作:

對該查詢條件的使用次數(shù)進(jìn)行更新;

判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過預(yù)設(shè)閾值,執(zhí)行從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄的步驟。

結(jié)合本發(fā)明實(shí)施例第六方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第五種可能的實(shí)現(xiàn)方式中,處理器件判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,包括:

判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。

結(jié)合本發(fā)明實(shí)施例第六方面的第一種或第二種可能的實(shí)現(xiàn)方式,在本發(fā) 明實(shí)施例第六方面的第六種可能的實(shí)現(xiàn)方式中,若未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,處理器件還執(zhí)行以下操作:

向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并將該內(nèi)容記錄發(fā)送給瀏覽器。

結(jié)合本發(fā)明實(shí)施例第六方面、本發(fā)明實(shí)施例第六方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第七種可能的實(shí)現(xiàn)方式中,處理器件通過輸入器件獲取瀏覽器發(fā)起的查詢請求包括:

通過輸入器件接收查詢過濾器發(fā)送的查詢請求,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。

結(jié)合本發(fā)明實(shí)施例第六方面的第一種至第六種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第六方面的第八種可能的實(shí)現(xiàn)方式中,該查詢條件包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值,處理器件生成該查詢條件匹配的hash值,包括:

針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;

將獲得的所有字段-數(shù)值對按照上述多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;

以及,利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例第七方面公開一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,包括輸入器件、處理器件、存儲器件以及輸出器件,其中,存儲器件用于存儲程序和數(shù)據(jù),處理器件用于調(diào)用存儲器件存儲的程序,執(zhí)行以下操作:

通過輸入器件獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng) 頁內(nèi)容;

通過輸出器件將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

通過輸出器件將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在本發(fā)明實(shí)施例第七方面的第一種可能的實(shí)現(xiàn)方式中,處理器件還用于執(zhí)行以下操作:

生成該查詢條件匹配的hash值;

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系至存儲器件。

結(jié)合本發(fā)明實(shí)施例第七方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第七方面的第二種可能的實(shí)現(xiàn)方式中,處理器件存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系至存儲器件包括:

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系至存儲器件,以使該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下有益效果:

本發(fā)明實(shí)施例可以獲取瀏覽器發(fā)起的包括用于查詢內(nèi)容的查詢條件的查詢請求,當(dāng)查詢到存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,可以直接將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,從而實(shí)現(xiàn)瀏覽器對該查詢條件對應(yīng)的內(nèi)容查詢??梢姡景l(fā)明實(shí)施例,內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施本發(fā)明實(shí)施例可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩 存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)示意圖;

圖2是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖3是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖4是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖5是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖6是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖7是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖;

圖8是本發(fā)明實(shí)施例公開的一種在加速單元中預(yù)先建立高頻出現(xiàn)的查詢條件匹配的hash值與靜態(tài)網(wǎng)頁url的對應(yīng)關(guān)系的方法示意圖;

圖9是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖;

圖10是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu) 示意圖;

圖11是本發(fā)明實(shí)施例公開的又一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖;

圖12是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖;

圖13是本發(fā)明實(shí)施例公開的又一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖;

圖14是本發(fā)明實(shí)施例公開的又一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖;

圖15是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明實(shí)施例公開了一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、系統(tǒng),可以有效的減少對瀏覽器查詢請求的響應(yīng)速度的影響,降低查詢失效的風(fēng)險,以及降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。以下分別進(jìn)行詳細(xì)說明。

為了更好的理解本發(fā)明實(shí)施例,下面先對本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)進(jìn)行描述。

請參閱圖1,圖1是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)示意圖。其中,圖1所示的基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)可以用于為瀏覽器提供內(nèi)容查詢服務(wù)。本發(fā)明實(shí)施例中,瀏覽器查詢的內(nèi)容可以包括位于數(shù)據(jù)庫中的內(nèi)容,例如位于電信互聯(lián)網(wǎng)商城系統(tǒng)的數(shù)據(jù)庫中的手機(jī)、套餐、卡號等資源內(nèi)容; 還可以包括位于各種電子商務(wù)平臺的數(shù)據(jù)庫中的電子產(chǎn)品、圖書、食品、裝飾品以及衣物等各種資源內(nèi)容,本發(fā)明實(shí)施例不作限定、如圖1所示,該基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)不僅可以包括瀏覽器(也稱為客戶端瀏覽器)、應(yīng)用服務(wù)器(也稱為web服務(wù)器)、數(shù)據(jù)庫(也稱為數(shù)據(jù)庫服務(wù)器),還可以包括加速單元、靜態(tài)資源服務(wù)器;其中,在圖1所示的網(wǎng)絡(luò)架構(gòu)中,應(yīng)用服務(wù)器上可以部署一個查詢過濾器,該查詢過濾器可以用于對瀏覽器發(fā)送給應(yīng)用服務(wù)器的包括查詢條件的查詢請求進(jìn)行攔截并發(fā)送給加速單元,而加速單元可以在查詢出存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,可以將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址(即url)或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,其中,該靜態(tài)網(wǎng)頁內(nèi)容是是由加速單元預(yù)先根據(jù)數(shù)據(jù)庫中符合該查詢條件的內(nèi)容記錄生成的靜態(tài)網(wǎng)頁內(nèi)容。其中,靜態(tài)資源服務(wù)器中存儲的靜態(tài)網(wǎng)頁內(nèi)容(也稱為靜態(tài)資源)可以包括超文本標(biāo)記語言(hypertextmarkuplanguage,html)、超文本標(biāo)記(hypertextmarkup,htm)等格式文本的靜態(tài)網(wǎng)頁內(nèi)容。本發(fā)明實(shí)施例中,實(shí)施圖1所示的網(wǎng)絡(luò)架構(gòu),可以有效的減少對瀏覽器查詢請求的響應(yīng)速度的影響,降低查詢失效的風(fēng)險,以及降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

需要說明的是,圖1所示的僅僅是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu)示例而已,在實(shí)際應(yīng)用中,查詢過濾器可以獨(dú)立于應(yīng)用服務(wù)器和加速單元進(jìn)行部署,或者,查詢過濾器也作為加速單元集成的一部分,本發(fā)明實(shí)施例不作限定。本發(fā)明實(shí)施例中,加速單元在物理形態(tài)上可以是一種服務(wù)器或者服務(wù)平臺,本發(fā)明實(shí)施例不作限定。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖2,圖2是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖2所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

201、加速單元獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件。

作為一種可選的實(shí)施方式,如圖1所示,當(dāng)查詢過濾器部署在應(yīng)用服務(wù)器上時,加速單元可以接收查詢過濾器發(fā)送的包括查詢條件的查詢請求,其中,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的查詢請求。

作為另一種可選的實(shí)施方式,當(dāng)查詢過濾器作為加速單元集成的一部分時,加速單元可以直接對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截,即加速單元可以直接接收瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求,從而可以獲得瀏覽器發(fā)起的包括查詢條件的查詢請求。

其中,上述兩種可選的實(shí)施方式可以有效地分流應(yīng)用服務(wù)器的查詢請求,減少應(yīng)用服務(wù)器的查詢工作量,從而可以降低應(yīng)用服務(wù)器的工作負(fù)荷。

202、加速單元查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

本發(fā)明實(shí)施例中,加速單元可以查詢靜態(tài)資源服務(wù)器中是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,加速單元可以將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。例如,加速單元可以通過查詢過濾器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,或者,加速單元也可以通過應(yīng)用服務(wù)器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,本發(fā)明實(shí)施例不作限定。

本發(fā)明實(shí)施例中,加速單元如果查詢未存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,那么加速單元還可以向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并由應(yīng)用服務(wù)器將查詢到的內(nèi)容記錄發(fā)送給瀏覽器,從而可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

可見,實(shí)施圖2所描述的方法,內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查 詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖2所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖3,圖3是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖3所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

301、加速單元獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括查詢條件。

作為一種可選的實(shí)施方式,如圖1所示,當(dāng)查詢過濾器部署在應(yīng)用服務(wù)器上時,加速單元可以接收查詢過濾器發(fā)送的包括查詢條件的查詢請求,其中,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。

作為另一種可選的實(shí)施方式,當(dāng)查詢過濾器作為加速單元集成的一部分時,加速單元可以直接對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截,從而可以獲得瀏覽器發(fā)起的包括查詢條件的查詢請求。

其中,上述兩種可選的實(shí)施方式可以有效地分流應(yīng)用服務(wù)器的查詢請求,減少應(yīng)用服務(wù)器的查詢工作量,從而可以降低應(yīng)用服務(wù)器的工作負(fù)荷。

302、加速單元生成該查詢條件匹配的hash值。

本發(fā)明實(shí)施例中,上述步驟302中,加速單元可以從該查詢請求中獲取該查詢條件,然后再生成該查詢條件匹配的hash值。

在一個實(shí)施例中,該查詢條件可以包括多個查詢字段以及每一個查詢字 段的對應(yīng)數(shù)值,例如,該查詢條件為{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一個查詢字段,而value-i1表示field-i1的對應(yīng)數(shù)值;field-i2表示第二個查詢字段,而value-i2表示field-i2的對應(yīng)數(shù)值;field-in表示最后一個查詢字段,而value-in表示field-in的對應(yīng)數(shù)值;其中,查詢字段可以包括手機(jī)、套餐、號碼等查詢字段。

相應(yīng)地,上述步驟302中,加速單元生成該查詢條件匹配的hash值的方式可以為:

加速單元可以針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對(也稱為key-value對);以及,加速單元可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;以及,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

例如,加速單元可以從該查詢請求中獲取該查詢條件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,加速單元可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例中,加速單元將每一個查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合獲得字段-數(shù)值對之后,再將獲得的所有字段-數(shù)值對按照指定順序(即上述的多個查詢字段在該查詢條件中的位置順序)進(jìn)行排序獲得字符串,并利用hash算法對該字符串進(jìn)行處理,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。需要說明的是,hash算法可以將任意長度的二進(jìn)制值映射為較短的固定長度的二進(jìn)制值,這個較短的固 定長度的二進(jìn)制值稱為hash值,hash值是字符串唯一且極其緊湊的數(shù)值表示形式。如果字符串哪怕只更改一個字母或者調(diào)整某個字母的位置,隨后的哈希處理都將產(chǎn)生不同的hash值,因此,要找到hash值相同的兩個不同的字符串,在計(jì)算上是不可能實(shí)現(xiàn)的。

303、加速單元查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

在一個實(shí)施例中,加速單元查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的方式可以為:

加速單元查詢加速單元的本地緩存中是否存儲有該hash值與某一個靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,如果存儲有,說明靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果未存儲有,說明靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

本發(fā)明實(shí)施例中,當(dāng)加速單元將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器時,瀏覽器可以從靜態(tài)資源服務(wù)器中查詢該訪問地址對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,從而實(shí)現(xiàn)了針對靜態(tài)網(wǎng)頁內(nèi)容的重定向訪問。

在一個實(shí)施例中,若加速單元查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,相應(yīng)地,加速單元還可以進(jìn)一步執(zhí)行以下步驟:

11)、加速單元從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

12)、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

本發(fā)明實(shí)施例中,加速單元可以利用php模板來創(chuàng)建靜態(tài)網(wǎng)頁,將查詢到的符合該查詢條件的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,從而可以獲得靜態(tài)網(wǎng)頁內(nèi)容。其中,如果加速單元查詢到的符合該查詢條件的內(nèi)容記錄有多頁內(nèi)容,那么加速單元可以將每一頁內(nèi)容都會生成一個獨(dú)立的靜態(tài)網(wǎng)頁內(nèi)容,而且每個靜態(tài)網(wǎng)頁內(nèi)容中還包含分頁信息,利用分頁信息可以鏈接到對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

13)、加速單元將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

本發(fā)明實(shí)施例中,加速單元將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器的文件目錄中,并獲取該靜態(tài)網(wǎng)頁內(nèi)容存儲在靜態(tài)資源服務(wù)器的文件目錄下的訪問地址。

14)、加速單元存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系。

本發(fā)明實(shí)施例中,加速單元存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系可以實(shí)現(xiàn)該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

其中,通過實(shí)施上述步驟11)~步驟14),即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成內(nèi)容記錄丟失而造成查詢失效,從而可以有效地提高內(nèi)容記錄的安全性。

在一個實(shí)施例中,若加速單元查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,相應(yīng)地,加速單元還可以進(jìn)一步執(zhí)行以下步驟:

21)、加速單元對該查詢條件的使用次數(shù)進(jìn)行更新;例如,加速單元可以對該查詢條件的使用次數(shù)累加1。

22)、加速單元判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過預(yù)設(shè)閾值,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

作為一種可選的實(shí)施方式,加速單元可以判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。舉例來說,加速單元可以采用帕累托法則(又稱為二八定律)來判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過80%(即預(yù)設(shè)閾值=80%)。其中,利用帕累托法則可以十分便捷地判斷出該查詢條件是否屬于高頻出現(xiàn)的查詢條件。

23)、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

24)、加速單元將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

25)、加速單元存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系。

本發(fā)明實(shí)施例中,加速單元存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系可以使得該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

其中,通過實(shí)施上述步驟21)~步驟25),加速單元可以將高頻出現(xiàn)的查詢條件的內(nèi)容記錄生成靜態(tài)網(wǎng)頁內(nèi)容并保存在靜態(tài)資源服務(wù)器中,這樣當(dāng)瀏覽器下次發(fā)起包括高頻出現(xiàn)的查詢條件的查詢請求時,查詢請求不再強(qiáng)依賴數(shù)據(jù)庫,從而可以優(yōu)先滿足高頻出現(xiàn)的查詢條件的查詢成功率。

在一個實(shí)施例中,當(dāng)加速單元將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址之后,加速單元可以向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器,從而可以使得查詢請求不再強(qiáng)依賴數(shù)據(jù)庫,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;而且可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

在另一個實(shí)施例中,加速單元如果查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,那么加速單元也可以向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并由應(yīng)用服務(wù)器將查詢到的內(nèi)容記錄發(fā)送給瀏覽器,從而可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

作為一種可選的實(shí)施方式,應(yīng)用服務(wù)器可以將查詢到的符合該查詢條件的內(nèi)容記錄進(jìn)行處理,以生成符合瀏覽器展示的ui界面,并將該ui界面作為應(yīng)答數(shù)據(jù)流返回給瀏覽器,使瀏覽器可以展示查詢條件對應(yīng)的ui界面。

可見,實(shí)施圖3所描述的方法,內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖3所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖4,圖4是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖4所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

401、用戶訪問瀏覽器的查詢界面,在查詢界面上輸入查詢條件pi并提交給瀏覽器。

其中,用戶在查詢界面上輸入的查詢條件pi可以包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值。例如,該查詢條件pi為{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一個查詢字段,而value-i1表示field-i1的對應(yīng)數(shù)值;field-i2表示第二個查詢字段,而value-i2表示field-i2的對應(yīng)數(shù)值;field-in表示最后一個查詢字段,而value-in表示field-in的對應(yīng)數(shù)值;其中,查詢字段可以包括手機(jī)、套餐、號碼等查詢字段。

在一個實(shí)施例中,用戶也可以從瀏覽器的查詢界面提供的多個查詢條件中選擇自己想要的查詢條件pi并提交給瀏覽器,本發(fā)明實(shí)施例不作限定。

402、瀏覽器向應(yīng)用服務(wù)器發(fā)送包括該查詢條件pi的查詢請求。

403、查詢請求經(jīng)過查詢過濾器進(jìn)行攔截。

404、查詢過濾器將攔截得到的查詢請求發(fā)送給加速單元。

其中,通過上述步驟403和步驟404,加速單元可以獲取到由瀏覽器發(fā)起的包括查詢條件pi的查詢請求。

405、加速單元從查詢請求中獲取該查詢條件pi。

406、加速單元生成該查詢條件pi匹配的hash值。

在一個實(shí)施例中,加速單元可以從該查詢請求中獲取該查詢條件pi={(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,加速單元可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

407、加速單元查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,如果未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,執(zhí)行步驟408~步驟413;如果存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,直接執(zhí)行步驟412~步驟413。

本發(fā)明實(shí)施例中,加速單元查詢存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址時,說明此時靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,說明此時靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

408、加速單元從數(shù)據(jù)庫中查詢符合該查詢條件pi的內(nèi)容記錄。

409、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

410、加速單元將獲得的靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜 態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

411、加速單元存儲查詢條件pi匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該查詢條件pi匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

本發(fā)明實(shí)施例中,實(shí)施上述步驟408~步驟411可以使加速單元再次接收到瀏覽器發(fā)起的包括該查詢條件的查詢請求時,加速單元可以直接將靜態(tài)資源服務(wù)器存儲的該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

412、加速單元向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容。

413、加速單元將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

本發(fā)明實(shí)施例中,加速單元可以通過查詢過濾器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,或者,加速單元也可以通過應(yīng)用服務(wù)器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,本發(fā)明實(shí)施例不作限定。

可見,實(shí)施圖4所描述的方法,可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖4所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖5,圖5是本發(fā)明實(shí)施例公開的另 一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖5所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

其中,步驟501~步驟506與前面實(shí)施例中的步驟401~步驟406相同,本發(fā)明實(shí)施例不作贅述。

507、加速單元查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,如果未存儲有,執(zhí)行步驟508~步驟514;如果存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,執(zhí)行步驟515。

本發(fā)明實(shí)施例中,加速單元查詢存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址時,說明此時靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,說明此時靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

508、加速單元對該查詢條件pi的使用次數(shù)進(jìn)行更新;例如,加速單元可以對該查詢條件pi的使用次數(shù)累加1。

需要說明的是,上述步驟508中,加速單元在對該查詢條件pi的使用次數(shù)進(jìn)行更新時,可以先查詢是否已經(jīng)存儲了該查詢條件pi,如果已經(jīng)存儲了該查詢條件pi,加速單元僅需對該查詢條件pi的使用次數(shù)進(jìn)行更新即可,反之,如果尚未存儲該查詢條件pi,加速單元需要先存儲該查詢條件pi,然后再對該查詢條件pi的使用次數(shù)進(jìn)行更新。

509、加速單元根據(jù)帕累托法則判斷該查詢條件pi更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過80%,當(dāng)加速單元根據(jù)帕累托法則判斷出該查詢條件pi更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值未超過80%時,執(zhí)行步驟510~步驟514;反之,當(dāng)加速單元根據(jù)帕累托法則判斷出該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值未超過80%時,直接執(zhí)行步驟515~步驟517。

510、加速單元從數(shù)據(jù)庫中查詢符合該查詢條件pi的內(nèi)容記錄。

511、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài) 網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

512、加速單元將獲得的靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

513、加速單元存儲查詢條件pi匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該查詢條件pi匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

本發(fā)明實(shí)施例中,實(shí)施上述步驟508~步驟513,加速單元可以預(yù)先對高頻出現(xiàn)的查詢條件的內(nèi)容記錄生成靜態(tài)網(wǎng)頁內(nèi)容并保存在靜態(tài)資源服務(wù)器中,這樣當(dāng)瀏覽器下次發(fā)起包括高頻出現(xiàn)的查詢條件的查詢請求時,加速單元可以直接將靜態(tài)資源服務(wù)器存儲的高頻出現(xiàn)的查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

514、加速單元向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容。

515、加速單元將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

本發(fā)明實(shí)施例中,加速單元可以通過查詢過濾器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,或者,加速單元也可以通過應(yīng)用服務(wù)器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,本發(fā)明實(shí)施例不作限定。

可見,實(shí)施圖5所描述的方法,可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖5所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖6,圖6是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖6所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

其中,步驟601~步驟613與前面實(shí)施例中的步驟501~步驟513相同,本發(fā)明實(shí)施例不作贅述。

本發(fā)明實(shí)施例中,實(shí)施上述步驟608~步驟613,加速單元可以預(yù)先對高頻出現(xiàn)的查詢條件的內(nèi)容記錄生成靜態(tài)網(wǎng)頁內(nèi)容并保存在靜態(tài)資源服務(wù)器中,這樣當(dāng)瀏覽器下次發(fā)起包括高頻出現(xiàn)的查詢條件的查詢請求時,加速單元可以直接將靜態(tài)資源服務(wù)器存儲的高頻出現(xiàn)的查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

614、加速單元向應(yīng)用服務(wù)器發(fā)送該查詢請求。

在一個實(shí)施例中,加速單元可以直接向查詢過濾器發(fā)送該查詢請求。

在另一個實(shí)施例中,加速單元可以向查詢過濾器發(fā)送該查詢請求,并由該查詢過濾器向應(yīng)用服務(wù)器發(fā)送該查詢請求。

615、應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

616、應(yīng)用服務(wù)器將查詢到的符合該查詢條件的內(nèi)容記錄發(fā)送給瀏覽器,并結(jié)束本流程。

本發(fā)明實(shí)施例中,實(shí)施上述步驟614~步驟616,可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

可見,實(shí)施圖6所描述的方法,可以使內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這 樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖6所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法。請參閱圖7,圖7是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法的流程示意圖。如圖7所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢方法可以包括以下步驟。

701、加速單元獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件。

702、加速單元從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

703、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

704、加速單元將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

705、加速單元將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,在圖7所描述的方法中,加速單元獲得靜態(tài)網(wǎng)頁內(nèi)容之后,可以生成該查詢條件匹配的hash值,并且存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系。其中,加速單元存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的 對應(yīng)關(guān)系的方式可以為:存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。這樣當(dāng)加速單元再次接收到瀏覽器發(fā)起的包括該查詢條件的查詢請求時,加速單元可以直接將該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

另外,實(shí)施圖7所描述的方法可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖7所描述的方法可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

作為一種可選的實(shí)施方式,加速單元可以在為瀏覽器提供內(nèi)容查詢服務(wù)之前,預(yù)先對高頻出現(xiàn)的查詢條件的內(nèi)容記錄進(jìn)行生成靜態(tài)網(wǎng)頁內(nèi)容并保存在靜態(tài)資源服務(wù)器中,并且加速單元可以存儲查詢條件匹配的hash值與靜態(tài)網(wǎng)頁內(nèi)容的服務(wù)地址的對應(yīng)關(guān)系。請參閱圖8,圖8是本發(fā)明實(shí)施例公開的一種在加速單元中預(yù)先建立高頻出現(xiàn)的查詢條件匹配的hash值與靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系的方法示意圖。如圖8所示,該方法可以包括:

801、用戶訪問瀏覽器的查詢界面,在查詢界面上輸入查詢條件并提交給瀏覽器。

802、瀏覽器向應(yīng)用服務(wù)器發(fā)送包括該查詢條件的查詢請求。

803、查詢請求經(jīng)過查詢過濾器進(jìn)行攔截。

804、查詢過濾器將攔截得到的查詢請求發(fā)送給加速單元。

805、加速單元從查詢請求中獲取該查詢條件。

806、加速單元將該查詢條件的使用次數(shù)累加1。

807、加速單元根據(jù)帕累托法則,查詢使用次數(shù)與所有查詢條件的總使用次數(shù)的比值超過80%的高頻出現(xiàn)的查詢條件,以形成查詢條件列表。

808、加速單元遍歷查詢條件列表,并根據(jù)查詢條件列表中的每一個查詢條件,從數(shù)據(jù)庫中查找出符合該查詢條件的內(nèi)容記錄。

809、加速單元創(chuàng)建靜態(tài)網(wǎng)頁,并將查找出的符合該查詢條件的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容。

其中,如果符合該查詢條件的內(nèi)容記錄有多頁內(nèi)容,那么每一頁內(nèi)容都會生成一個獨(dú)立的靜態(tài)網(wǎng)頁,每個靜態(tài)網(wǎng)頁中還包含分頁信息,利用分頁信息可以鏈接到對應(yīng)的靜態(tài)網(wǎng)頁。

810、加速單元將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址。

811、加速單元生成該查詢條件匹配的hash值,存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系。

其中,通過反復(fù)執(zhí)行上述步驟808~步驟811,加速單元可以存儲查詢條件中的每一個高頻出現(xiàn)的查詢條件匹配的hash值與靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系,這樣當(dāng)瀏覽器下次發(fā)起包括高頻出現(xiàn)的查詢條件的查詢請求時,加速單元可以將查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,或者,加速單元可以將瀏覽器發(fā)起的查詢請求重定向到靜態(tài)資源服務(wù)器以請求對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,從而可以使得包括高頻出現(xiàn)的查詢條件的查詢請求不再強(qiáng)依賴數(shù)據(jù)庫,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;而且即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險,而且可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的一 種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,用于實(shí)現(xiàn)上述加速單元的功能。請參閱圖9,圖9是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。在實(shí)際應(yīng)用中,圖9所示的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備在物理形態(tài)上可以是服務(wù)器、服務(wù)平臺等設(shè)備,本發(fā)明實(shí)施例不作限定。如圖9所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備可以包括:

第一獲取單元901,用于獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括查詢條件;

第一查詢單元902,用于查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;

發(fā)送單元903,用于在第一查詢單元902查詢出存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,第一獲取單元901可以接收查詢過濾器發(fā)送的包括查詢條件的查詢請求,其中,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。其中,該查詢條件可以包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值。例如,該查詢條件為{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一個查詢字段,而value-i1表示field-i1的對應(yīng)數(shù)值;field-i2表示第二個查詢字段,而value-i2表示field-i2的對應(yīng)數(shù)值;field-in表示最后一個查詢字段,而value-in表示field-in的對應(yīng)數(shù)值;其中,查詢字段可以包括手機(jī)、套餐、號碼等查詢字段。

作為一種可選的實(shí)施方式,第一查詢單元902可以生成該查詢條件匹配的hash值,并且查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。舉例來說,第一查詢單元902可以從該查詢請求中獲取該查詢條件,并針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對(也稱為key-value對);以及可以將獲得的所有字段-數(shù)值對按照 上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;以及可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。例如,第一查詢單元902可以從該查詢請求中獲取該查詢條件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,第一查詢單元902可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例中,第一查詢單元902將每一個查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合獲得字段-數(shù)值對之后,再將獲得的所有字段-數(shù)值對按照指定順序(即上述的多個查詢字段在該查詢條件中的位置順序)進(jìn)行排序獲得字符串,并利用hash算法對該字符串進(jìn)行處理,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。

作為一種可選的實(shí)施方式,第一查詢單元902查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的方式可以為:

第一查詢單元902可以查詢本地緩存中是否存儲有該hash值與某一個靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,如果存儲有,說明靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果未存儲有,說明靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

本發(fā)明實(shí)施例中,發(fā)送單元903可以將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給查詢過濾器,并由查詢過濾器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器;或者,發(fā)送單元903可以將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給應(yīng)用服務(wù)器,并由應(yīng)用服務(wù)器將該靜 態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,本發(fā)明實(shí)施例不作限定。

作為一種可選的實(shí)施方式,發(fā)送單元903還可以在第一查詢單元902查詢出未存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并由應(yīng)用服務(wù)器將查詢到的內(nèi)容記錄發(fā)送給瀏覽器,從而可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

可見,實(shí)施圖9所描述的設(shè)備,內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖9所描述的設(shè)備可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

請一并參閱圖10,圖10是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。其中,圖10所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備是由圖9所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備進(jìn)行優(yōu)化得到的。其中,在圖10所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備中,第一查詢單元902可以包括:

生成子單元9021,用于生成該查詢條件匹配的hash值;

本地查詢子單元9022,用于查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

如前面所述,該查詢條件可以包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值。相應(yīng)的,生成子單元9021可以從該查詢請求中獲取該查詢條件, 并針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對(也稱為key-value對);以及,生成子單元9021可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;以及,生成子單元9021可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

例如,生成子單元9021可以從該查詢請求中獲取該查詢條件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,生成子單元9021可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例中,生成子單元9021將每一個查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合獲得字段-數(shù)值對之后,再將獲得的所有字段-數(shù)值對按照指定順序(即上述的多個查詢字段在該查詢條件中的位置順序)進(jìn)行排序獲得字符串,并利用hash算法對該字符串進(jìn)行處理,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。

本地查詢子單元9022可以查詢本地緩存中是否存儲有該hash值與某一個靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,如果存儲有,說明靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果未存儲有,說明靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

本發(fā)明實(shí)施例中,發(fā)送單元903可以將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給查詢過濾器,并由查詢過濾器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器;或者,發(fā)送單元903可以將該靜態(tài)網(wǎng)頁內(nèi) 容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給應(yīng)用服務(wù)器,并由應(yīng)用服務(wù)器將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,本發(fā)明實(shí)施例不作限定。

作為一種可選的實(shí)施方式,發(fā)送單元903還可以在本地查詢子單元9022查詢出未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并由應(yīng)用服務(wù)器將查詢到的內(nèi)容記錄發(fā)送給瀏覽器,從而可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

作為一種可選的實(shí)施方式,圖10所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備還包括:

第二查詢單元904,用于在本地查詢子單元9022查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并提供給創(chuàng)建單元905;

創(chuàng)建單元905,用于創(chuàng)建靜態(tài)網(wǎng)頁,并將第二查詢單元904查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容,并提供給交互單元906;

交互單元906,用于將創(chuàng)建單元905獲得的靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,并提供給緩存單元907;

緩存單元907,用于存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。

作為一種可選的實(shí)施方式,圖10所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備還包括:

第二獲取單元908,用于向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并提供給發(fā)送單元903;例如,第二獲取單元908可以從緩存單元907存儲的該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系中,獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,并根據(jù)該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址向靜態(tài)資源服務(wù)器獲 取該靜態(tài)網(wǎng)頁內(nèi)容;

相應(yīng)地,發(fā)送單元903還用于將第二獲取單元908獲取的該靜態(tài)網(wǎng)頁內(nèi)容或緩存單元907中該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

請一并參閱圖11,圖11是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。其中,圖11所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備是由圖10所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備進(jìn)行優(yōu)化得到的。其中,在圖11所描述的基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備中,還包括:

更新單元909,用于在本地查詢子單元9022查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,對該查詢條件的使用次數(shù)進(jìn)行更新;

判斷單元910,用于判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值;

相應(yīng)地,第二查詢單元904具體用于在本地查詢子單元9022查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,以及判斷單元910判斷出該查詢條件更新后的使用次數(shù)超過預(yù)設(shè)閾值時,從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄。

作為一種可選的實(shí)施方式,判斷單元910具體用于判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。例如,舉例來說,判斷單元910可以采用帕累托法則(又稱為二八定律)來判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過80%(即預(yù)設(shè)閾值=80%)。其中,利用帕累托法則可以十分便捷地判斷出該查詢條件是否屬于高頻出現(xiàn)的查詢條件。

作為一種可選的實(shí)施方式,生成子單元9021包括:

獲取模塊90211,用于針對該查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;

組合模塊90212,用于將獲得的所有字段-數(shù)值對按照該多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;

哈希模塊90213,用于利用hash算法對該字符串進(jìn)行處理,獲得該查詢條 件匹配的hash值。

可見,實(shí)施圖9~圖11所描述的內(nèi)容查詢設(shè)備,使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖9~圖11所描述的內(nèi)容查詢設(shè)備可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

請一并參閱圖12,圖12是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。如圖12所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備包括:

獲取單元1201,用于獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;

查詢單元1202,用于從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;

創(chuàng)建單元1203,用于創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

交互單元1204,用于將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

發(fā)送單元1205,用于將交互單元1204獲得的該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或創(chuàng)建單元1203獲得的該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,圖12所示的內(nèi)容查詢設(shè)備還可以包括:

生成單元1206,用于生成該查詢條件匹配的hash值;

緩存單元1207,用于存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系。

在圖12所示的內(nèi)容查詢設(shè)備中,緩存單元1207具體可以用于存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系,從而使得該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。這樣當(dāng)獲取單元1201再次接收到瀏覽器發(fā)起的包括該查詢條件的查詢請求時,查詢單元1202可以查詢出緩存單元1207中緩存有該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系,相應(yīng)地,發(fā)送單元1205可以直接將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

另外,實(shí)施圖12所描述的內(nèi)容查詢設(shè)備可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖12所描述的內(nèi)容查詢設(shè)備可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,用于實(shí)現(xiàn)上述加速單元的功能。請參閱圖13,圖13是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。如圖13所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備可以包括:

輸入器件1301、處理器件1302、存儲器件1303以及輸出器件1304等組件,這些組件可以通過一條或多條總線進(jìn)行通信。圖13示出的內(nèi)容查詢設(shè)備的結(jié)構(gòu)并不構(gòu)成對本發(fā)明的限定,它既可以是總線形結(jié)構(gòu),也可以是星型結(jié)構(gòu),還可以包括比圖13示出的更多或更少的部件,或者組合某些部件,或者不同 的部件布置。在本發(fā)明實(shí)施例中,內(nèi)容查詢設(shè)備在物理形態(tài)上可以是一種服務(wù)設(shè)備、服務(wù)平臺等。其中,存儲器件1303用于存儲程序和數(shù)據(jù),處理器件1302用于調(diào)用存儲器件1303存儲的程序,執(zhí)行以下操作:

通過輸入器件1301獲取瀏覽器發(fā)起的查詢請求,其中,查詢請求包括用于查詢內(nèi)容的查詢條件;

查詢是否存儲有查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,通過輸出器件1304將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,處理器件1302可以通過輸入器件1301接收查詢過濾器發(fā)送的包括查詢條件的查詢請求,其中,該查詢請求是查詢過濾器對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截而獲得的。具體地,查詢過濾器可以對瀏覽器發(fā)送給應(yīng)用服務(wù)器的查詢請求進(jìn)行攔截,獲得查詢請求并發(fā)送給的輸入器件1301,而輸入器件1301可以將接收到的查詢請求發(fā)送給處理器件1302。其中,該查詢請求包括的該查詢條件可以包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值。例如,該查詢條件為{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一個查詢字段,而value-i1表示field-i1的對應(yīng)數(shù)值;field-i2表示第二個查詢字段,而value-i2表示field-i2的對應(yīng)數(shù)值;field-in表示最后一個查詢字段,而value-in表示field-in的對應(yīng)數(shù)值;其中,查詢字段可以包括手機(jī)、套餐、號碼等查詢字段。

作為一種可選的實(shí)施方式,處理器件1302查詢是否存儲有查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,包括:

處理器件1302生成該查詢條件匹配的hash值;

處理器件1302查詢是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

作為一種可選的實(shí)施方式,處理器件1302生成該查詢條件匹配的hash值的方式可以為:

處理器件1302可以從該查詢請求中獲取該查詢條件,并針對該查詢條件 包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對(也稱為key-value對);以及,處理器件1302可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序,獲得字符串;以及,處理器件1302可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

例如,處理器件1302可以從該查詢請求中獲取該查詢條件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,處理器件1302可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

本發(fā)明實(shí)施例中,處理器件1302將每一個查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合獲得字段-數(shù)值對之后,再將獲得的所有字段-數(shù)值對按照指定順序(即上述的多個查詢字段在該查詢條件中的位置順序)進(jìn)行排序獲得字符串,并利用hash算法對該字符串進(jìn)行處理,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。

作為一種可選的實(shí)施方式,處理器件1302可以查詢存儲器件1303中是否單元查詢存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,如果有,說明此時靜態(tài)資源服務(wù)器中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果查詢未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,說明此時靜態(tài)資源服務(wù)器中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

作為一種可選的實(shí)施方式,若未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,處理器件1302還用于執(zhí)行以下操作:

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;例如,通過輸出器件1304 向數(shù)據(jù)庫發(fā)送用于查詢符合該查詢條件的內(nèi)容記錄的請求,以及通過輸入器件1301接收數(shù)據(jù)庫發(fā)送的符合該查詢條件的內(nèi)容記錄;創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;通過輸出器件1304將靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器上,并向靜態(tài)資源服務(wù)器獲取靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系至存儲器件1303,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。相應(yīng)地,處理器件1302還可以向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,處理器件1302從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄之前,還可以執(zhí)行以下操作:

對該查詢條件的使用次數(shù)進(jìn)行更新;

判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過預(yù)設(shè)閾值,執(zhí)行從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄的步驟。

作為一種可選的實(shí)施方式,處理器件1302判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,包括:

判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。

作為一種可選的實(shí)施方式,處理器件1302在查詢出未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,處理器件1302還可以執(zhí)行以下操作:

向應(yīng)用服務(wù)器發(fā)送該查詢請求,以觸發(fā)應(yīng)用服務(wù)器從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄,并將該內(nèi)容記錄發(fā)送給瀏覽器,從而可以提高瀏覽器獲得符合該查詢條件的內(nèi)容記錄的成功率。

可見,實(shí)施圖13所描述的內(nèi)容查詢設(shè)備,使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外, 由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖13所描述的內(nèi)容查詢設(shè)備可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

基于圖1所示的一種基于b/s結(jié)構(gòu)的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例公開了的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備,用于實(shí)現(xiàn)上述加速單元的功能。請參閱圖14,圖14是本發(fā)明實(shí)施例公開的另一種基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備的結(jié)構(gòu)示意圖。如圖14所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢設(shè)備可以包括:

輸入器件1401、處理器件1402、存儲器件1403以及輸出器件1404等組件,這些組件可以通過一條或多條總線進(jìn)行通信。圖14示出的內(nèi)容查詢設(shè)備的結(jié)構(gòu)并不構(gòu)成對本發(fā)明的限定,它既可以是總線形結(jié)構(gòu),也可以是星型結(jié)構(gòu),還可以包括比圖14示出的更多或更少的部件,或者組合某些部件,或者不同的部件布置。在本發(fā)明實(shí)施例中,內(nèi)容查詢設(shè)備在物理形態(tài)上可以是一種服務(wù)設(shè)備、服務(wù)平臺等。其中,存儲器件1403用于存儲程序和數(shù)據(jù),處理器件1402用于調(diào)用存儲器件1403存儲的程序,執(zhí)行以下操作:

通過輸入器件1401獲取瀏覽器發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;

從數(shù)據(jù)庫中查詢符合該查詢條件的內(nèi)容記錄;例如,通過輸出器件1404向數(shù)據(jù)庫發(fā)送用于查詢符合該查詢條件的內(nèi)容記錄的請求,以及通過輸入器件1401接收數(shù)據(jù)庫發(fā)送的符合該查詢條件的內(nèi)容記錄;

創(chuàng)建靜態(tài)網(wǎng)頁,并將該內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;

通過輸出器件1404將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器,并向靜態(tài)資源服務(wù)器獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;

通過輸出器件1404將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器。

作為一種可選的實(shí)施方式,處理器件1402還用于執(zhí)行以下操作:

生成該查詢條件匹配的hash值;

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系至存儲器件1403。

作為一種可選的實(shí)施方式,處理器件1402存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系至存儲器件1403的方式包括:

存儲該hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系至存儲器件,以使該hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)。這樣當(dāng)處理器件1402再次通過輸入器件1401接收到瀏覽器發(fā)起的包括該查詢條件的查詢請求時,處理器件1402可以查詢出存儲器件1403中緩存有該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的對應(yīng)關(guān)系,相應(yīng)地,處理器件1402可以通過輸出器件1404直接將該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器,從而使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險。

另外,實(shí)施圖14所描述的內(nèi)容查詢設(shè)備可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖14所描述的內(nèi)容查詢設(shè)備可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

請參閱圖15,圖15是本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢系 統(tǒng)的結(jié)構(gòu)示意圖。如圖15所示,該基于b/s結(jié)構(gòu)的內(nèi)容查詢系統(tǒng)可以包括瀏覽器1501、內(nèi)容查詢設(shè)備1502以及靜態(tài)資源服務(wù)器1503,其中:

靜態(tài)資源服務(wù)器1503,用于存儲靜態(tài)網(wǎng)頁內(nèi)容;

內(nèi)容查詢設(shè)備1502,用于獲取瀏覽器1502發(fā)起的查詢請求,該查詢請求包括用于查詢內(nèi)容的查詢條件;以及,查詢靜態(tài)資源服務(wù)器1503中是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容,如果存儲有,將該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址或該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容發(fā)送給瀏覽器1501。

作為一種可選的實(shí)施方式,內(nèi)容查詢設(shè)備1502查詢是否存儲有該查詢條件對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的方式具體可以為:

內(nèi)容查詢設(shè)備1502生成該查詢條件匹配的hash值;以及,查詢靜態(tài)資源服務(wù)器1503是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

本發(fā)明實(shí)施例中,內(nèi)容查詢設(shè)備1502可以查詢內(nèi)容查詢設(shè)備1502的本地緩存中是否存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,如果內(nèi)容查詢設(shè)備1502的本地緩存中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,說明此時靜態(tài)資源服務(wù)器1503中存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容;反之,如果內(nèi)容查詢設(shè)備1502的本地緩存中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址,說明此時靜態(tài)資源服務(wù)器1502中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容。

作為一種可選的實(shí)施方式,圖15所示的基于b/s結(jié)構(gòu)的內(nèi)容查詢系統(tǒng)還可以包括數(shù)據(jù)庫1504,其中:

內(nèi)容查詢設(shè)備1502,還用于在查詢出靜態(tài)資源服務(wù)器1502未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,從數(shù)據(jù)庫1504中查詢符合該查詢條件的內(nèi)容記錄;以及,還用于創(chuàng)建靜態(tài)網(wǎng)頁,并將查詢到的內(nèi)容記錄填充到創(chuàng)建的靜態(tài)網(wǎng)頁中,獲得靜態(tài)網(wǎng)頁內(nèi)容;以及,還用于將該靜態(tài)網(wǎng)頁內(nèi)容存儲至靜態(tài)資源服務(wù)器1503上,并向靜態(tài)資源服務(wù)器1503獲取該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址;以及,還用于存儲該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容的訪問地 址的對應(yīng)關(guān)系,以使該查詢條件匹配的hash值與該靜態(tài)網(wǎng)頁內(nèi)容對應(yīng)??蛇x地,內(nèi)容查詢設(shè)備1502還用于向靜態(tài)資源服務(wù)器1503獲取該靜態(tài)網(wǎng)頁內(nèi)容,并將獲取的該靜態(tài)網(wǎng)頁內(nèi)容或該靜態(tài)網(wǎng)頁內(nèi)容的訪問地址發(fā)送給瀏覽器1501。

作為一種可選的實(shí)施方式,內(nèi)容查詢設(shè)備1502還用于從數(shù)據(jù)庫1504中查詢符合該查詢條件的內(nèi)容記錄之前,對該查詢條件的使用次數(shù)進(jìn)行更新;以及,判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值,如果超過預(yù)設(shè)閾值,執(zhí)行從數(shù)據(jù)庫1504中查詢符合該查詢條件的內(nèi)容記錄的步驟。

作為一種可選的實(shí)施方式,內(nèi)容查詢設(shè)備1502判斷該查詢條件更新后的使用次數(shù)是否超過預(yù)設(shè)閾值的方式可以為:

內(nèi)容查詢設(shè)備1502判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過預(yù)設(shè)閾值。舉例來說,內(nèi)容查詢設(shè)備1502可以采用帕累托法則(又稱為二八定律)來判斷該查詢條件更新后的使用次數(shù)與存儲的所有查詢條件的總使用次數(shù)的比值是否超過80%(即預(yù)設(shè)閾值=80%)。其中,利用帕累托法則可以十分便捷地判斷出該查詢條件是否屬于高頻出現(xiàn)的查詢條件。

作為一種可選的實(shí)施方式,圖15所示的基于b/s結(jié)構(gòu)的內(nèi)容查詢系統(tǒng)還可以包括應(yīng)用服務(wù)器1505,其中:

內(nèi)容查詢設(shè)備1502,還用于在查詢出靜態(tài)資源服務(wù)器1503中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容時,例如,內(nèi)容查詢設(shè)備1502查詢出內(nèi)容查詢設(shè)備1502的本地緩存中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容的訪問地址的對應(yīng)關(guān)系時(說明此時靜態(tài)資源服務(wù)器1503中未存儲有該hash值對應(yīng)的靜態(tài)網(wǎng)頁內(nèi)容),內(nèi)容查詢設(shè)備1502可以向應(yīng)用服務(wù)器1505發(fā)送該查詢請求,而應(yīng)用服務(wù)器1505可以從數(shù)據(jù)庫1504中查詢符合該查詢條件的內(nèi)容記錄,并將查詢出的內(nèi)容記錄發(fā)送給瀏覽器1501,從而可以提高瀏覽器1501獲得符合該查詢條件的內(nèi)容記錄的成功率。

作為一種可選的實(shí)施方式,圖15所示的內(nèi)容查詢系統(tǒng)還可以包括查詢過濾器1506,在圖15所示的內(nèi)容查詢系統(tǒng)中,查詢過濾器8061506可以部署在應(yīng)用服務(wù)器1505中。需要說明的是,在實(shí)際應(yīng)用中,查詢過濾器1506可以獨(dú)立于應(yīng)用服務(wù)器1505進(jìn)行部署,或者,查詢過濾器1506也作為內(nèi)容查詢設(shè)備802集成的一部分,本發(fā)明實(shí)施例不作限定。

其中,內(nèi)容查詢設(shè)備1502獲取瀏覽器1501發(fā)起的查詢請求的方式可以為:

內(nèi)容查詢設(shè)備1502接收查詢過濾器1506發(fā)送的查詢請求,該查詢請求是查詢過濾器1506對瀏覽器1501發(fā)送給應(yīng)用服務(wù)器1505的查詢請求進(jìn)行攔截而獲得的。具體地,查詢過濾器1506可以對瀏覽器1501發(fā)送給應(yīng)用服務(wù)器1505的查詢請求進(jìn)行攔截,獲得查詢請求并發(fā)送給內(nèi)容查詢設(shè)備1502。

本發(fā)明實(shí)施例中,該查詢請求中的查詢條件可以包括多個查詢字段以及每一個查詢字段的對應(yīng)數(shù)值,那么相應(yīng)地,內(nèi)容查詢設(shè)備1502生成該查詢條件匹配的hash值的方式可以為:

內(nèi)容查詢設(shè)備1502從查詢請求中獲取查詢條件,并針對查詢條件包括的每一個查詢字段,將該查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合,獲得字段-數(shù)值對;以及,將獲得的所有字段-數(shù)值對按照多個查詢字段在查詢條件中的位置順序進(jìn)行排序,獲得字符串;以及,利用hash算法對字符串進(jìn)行處理,獲得該查詢條件匹配的hash值。

例如,內(nèi)容查詢設(shè)備1502可以從該查詢請求中獲取該查詢條件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并將field-i1和value-i1組合獲得第一個字段-數(shù)值對;以及,將field-i2和value-i2組合獲得第二個字段-數(shù)值對;……;以及,將field-in和value-in組合獲得最后一個字段-數(shù)值對,在此基礎(chǔ)上,內(nèi)容查詢設(shè)備1502可以將獲得的所有字段-數(shù)值對按照上述的多個查詢字段在該查詢條件中的位置順序進(jìn)行排序獲得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;進(jìn)一步地,加速單元可以利用hash算法對該字符串進(jìn)行處理,獲得該查詢條件匹配的 hash值。

本發(fā)明實(shí)施例中,內(nèi)容查詢設(shè)備1502將每一個查詢字段和該查詢字段的對應(yīng)數(shù)值進(jìn)行組合獲得字段-數(shù)值對之后,再將獲得的所有字段-數(shù)值對按照指定順序(即上述的多個查詢字段在該查詢條件中的位置順序)進(jìn)行排序獲得字符串,并利用hash算法對該字符串進(jìn)行處理,可以確保不同的查詢條件分別匹配不同的hash值,從而可以提升后續(xù)查詢的精確度。

可見,實(shí)施圖15所描述的內(nèi)容查詢系統(tǒng),使得內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,這樣即使數(shù)據(jù)庫中的內(nèi)容記錄的再多,也不會降低對瀏覽器查詢請求的響應(yīng)速度,從而可以有效地減少對瀏覽器查詢請求的響應(yīng)速度的影響;另外,由于內(nèi)容查詢不再強(qiáng)依賴數(shù)據(jù)庫,即使數(shù)據(jù)庫出現(xiàn)宕機(jī),也不會造成查詢失效,從而可以有效地降低查詢失效的風(fēng)險;而且,實(shí)施本發(fā)明實(shí)施例可以對應(yīng)用服務(wù)器和數(shù)據(jù)庫進(jìn)行內(nèi)容查詢分流,從而可以有效地降低應(yīng)用服務(wù)器和數(shù)據(jù)庫的工作負(fù)荷。

此外,實(shí)施圖15所描述的內(nèi)容查詢系統(tǒng)可以省去使用應(yīng)用服務(wù)器的內(nèi)存資源來預(yù)先緩存內(nèi)容記錄,從而可以減少對應(yīng)用服務(wù)器的內(nèi)存資源的占用,減少應(yīng)用服務(wù)器的內(nèi)存資源的浪費(fèi)。

本發(fā)明實(shí)施例中,利用靜態(tài)文件方式緩存的靜態(tài)網(wǎng)頁內(nèi)容可以降低數(shù)據(jù)庫、應(yīng)用服務(wù)器的壓力;而且,瀏覽器在獲得一次靜態(tài)網(wǎng)頁內(nèi)容后即可本地緩存,后續(xù)訪問不需要二次請求,從而可以提升網(wǎng)頁的展示速度,提升客戶的體驗(yàn);而且利用靜態(tài)資源服務(wù)器的分布式、無狀態(tài),能夠平滑擴(kuò)展。

本發(fā)明實(shí)施例的方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。

本發(fā)明實(shí)施例終端或設(shè)備中的單元或模塊可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。

本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可 讀存儲介質(zhì)中,存儲介質(zhì)包括只讀存儲器(read-onlymemory,rom)、隨機(jī)存儲器(randomaccessmemory,ram)、可編程只讀存儲器(programmableread-onlymemory,prom)、可擦除可編程只讀存儲器(erasableprogrammablereadonlymemory,eprom)、一次可編程只讀存儲器(one-timeprogrammableread-onlymemory,otprom)、電子抹除式可復(fù)寫只讀存儲器(electrically-erasableprogrammableread-onlymemory,eeprom)、只讀光盤(compactdiscread-onlymemory,cd-rom)或其他光盤存儲器、磁盤存儲器、磁帶存儲器、或者能夠用于攜帶或存儲數(shù)據(jù)的計(jì)算機(jī)可讀的任何其他介質(zhì)。

以上對本發(fā)明實(shí)施例公開的一種基于b/s結(jié)構(gòu)的內(nèi)容查詢方法及設(shè)備、數(shù)據(jù)庫系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
六盘水市| 尼勒克县| 于都县| 贡嘎县| 炎陵县| 房产| 五台县| 新余市| 新宾| 方山县| 广东省| 方城县| 喀喇| 龙川县| 安泽县| 保山市| 大新县| 新巴尔虎右旗| 永泰县| 广灵县| 永善县| 色达县| 望江县| 遂平县| 秦安县| 康保县| 巴马| 诸城市| 郎溪县| 绥滨县| 庆安县| 石棉县| 潢川县| 泰兴市| 阜新市| 平顶山市| 云梦县| 东兰县| 吉隆县| 镇坪县| 日喀则市|