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

資源請(qǐng)求的匹配方法和裝置制造方法

文檔序號(hào):6498844閱讀:216來源:國(guó)知局
資源請(qǐng)求的匹配方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種資源請(qǐng)求的匹配方法的裝置。其中,資源請(qǐng)求的匹配方法包括:獲取資源請(qǐng)求的特征;加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。通過本發(fā)明,解決了現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題,進(jìn)而達(dá)到了提高資源請(qǐng)求匹配效率的效果。
【專利說明】資源請(qǐng)求的匹配方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種資源請(qǐng)求的匹配方法和裝置。
【背景技術(shù)】
[0002]瀏覽器是解析網(wǎng)頁(yè)代碼,并將其顯示出來的工具。隨著時(shí)代的發(fā)展,用戶逐漸拋棄了單一 Trident內(nèi)核的瀏覽器,轉(zhuǎn)而選擇速度更快,安全性更高的Webkit內(nèi)核瀏覽器,所謂Trident內(nèi)核就是IE瀏覽器所使用的內(nèi)核,也是很多瀏覽器所使用的內(nèi)核,通常被稱為IE 內(nèi)核。Trident 內(nèi)核的常見瀏覽器有:IE6、IE7、IE8 (Trident4.0)、IE9 (Trident5.0)、IE10(Trident6.0);世界之窗、360安全瀏覽器、傲游;搜狗瀏覽器;騰訊TT ;阿云瀏覽器(早期版本)、百度瀏覽器(早期版本)、瑞星安全瀏覽器等;所謂WebKit內(nèi)核是一個(gè)開源的瀏覽器引擎,是目前最火熱的瀏覽器內(nèi)核,常見的WebKit內(nèi)核的瀏覽器有:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機(jī)瀏覽器、Android默認(rèn)瀏覽器,Chrome瀏覽器等,獵豹瀏覽器是一款同時(shí)具備Trident內(nèi)核和WebKit內(nèi)核的雙核瀏覽器。然后,由于網(wǎng)頁(yè)兼容性的問題,現(xiàn)在的瀏覽器往往是需要兩個(gè)內(nèi)核共同存在的。此外,當(dāng)今用戶對(duì)瀏覽器也有了更多的功能需求,而這些功能是與瀏覽器對(duì)網(wǎng)頁(yè)資源的處理緊密關(guān)聯(lián)的,瀏覽器的任何功能對(duì)于網(wǎng)頁(yè)資源的處理都是選擇性的,即只處理與該功能預(yù)定規(guī)則相匹配的資源請(qǐng)求。因此,對(duì)瀏覽器資源請(qǐng)求的匹配處理也就成了瀏覽器程序中常見又必不可少的部分。現(xiàn)有技術(shù)在對(duì)請(qǐng)求網(wǎng)頁(yè)資源的資源請(qǐng)求進(jìn)行處理時(shí),一般是通過一定的預(yù)定規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配處理,具體匹配方式主要是字符串匹配方法,即,瀏覽器的主程序會(huì)將資源請(qǐng)求的資源地址字符串與預(yù)定規(guī)則中的各條規(guī)則字符串進(jìn)行完整匹配,圖1中示出了現(xiàn)有技術(shù)中對(duì)請(qǐng)求網(wǎng)絡(luò)資源的資源請(qǐng)求進(jìn)行規(guī)則匹配的流程,如圖1所示,該匹配方法需要將瀏覽器的資源請(qǐng)求與匹配規(guī)則逐一比對(duì),當(dāng)規(guī)則中包含大量通配符或正則表達(dá)式時(shí),處理效率極低;同時(shí)由于處理時(shí)需要加載所有匹配規(guī)則,因此資源占用較高。
[0003]針對(duì)現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題,目前尚未提出有效的解決方案。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的主要目的在于提供一種資源請(qǐng)求的匹配方法和裝置,以解決現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題。
[0005]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種資源請(qǐng)求的匹配方法,包括:獲取資源請(qǐng)求的特征;加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。
[0006]進(jìn)一步地,對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)包括:接收匹配規(guī)則;獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞,其中,作用域?yàn)槠ヅ湟?guī)則可應(yīng)用的加載網(wǎng)站的域名,加載網(wǎng)站為加載網(wǎng)頁(yè)資源的網(wǎng)站;按照獲取到的類型對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)類型及匹配規(guī)則與類型的對(duì)應(yīng)關(guān)系;按照獲取到的作用域?qū)ζヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)作用域及匹配規(guī)則與作用域的對(duì)應(yīng)關(guān)系;以及按照獲取到的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)關(guān)鍵詞及匹配規(guī)則與關(guān)鍵詞的對(duì)應(yīng)關(guān)系。
[0007]進(jìn)一步地,通過以下方式獲取匹配規(guī)則的關(guān)鍵詞:讀取表示匹配規(guī)則的字符串;在讀取過程中每讀取到一個(gè)第一字符,對(duì)表示匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,第一字符既不是字母字符也不是數(shù)字字符;統(tǒng)計(jì)每個(gè)分割字符串的字符量的多少;以及確定字符量最多的分割字符串為匹配規(guī)則的關(guān)鍵詞。
[0008]進(jìn)一步地,資源請(qǐng)求的特征包括發(fā)起資源請(qǐng)求的網(wǎng)站的域、資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息,其中,加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則包括采用以下加載方式中的至少一種進(jìn)行加載:以資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對(duì)匹配規(guī)則進(jìn)行加載;以發(fā)起資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進(jìn)行加載;以及以發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,關(guān)鍵詞索引按照匹配規(guī)則的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行加載。
[0009]進(jìn)一步地,以資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則包括:查找規(guī)則數(shù)據(jù)庫(kù)以判斷規(guī)則數(shù)據(jù)庫(kù)中是否存儲(chǔ)有第一類型,其中,第一類型與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相同;以及若判斷出規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有第一類型,則獲取規(guī)則數(shù)據(jù)庫(kù)中第一類型下的匹配規(guī)則的作用域,得到第一作用域,以發(fā)起資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則包括:判斷第一作用域中是否包括第一域,其中,第一域?yàn)榘l(fā)起資源請(qǐng)求的網(wǎng)站的域;以及若判斷出第一作用域中包括第一域,則獲取規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于第一域的匹配規(guī)則的關(guān)鍵詞,得到第一關(guān)鍵詞,以發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則包括:判斷第一字符串是否包括第一關(guān)鍵詞,其中,第一字符串為表示地址信息的字符串;以及若判斷出第一字符串中包括第一關(guān)鍵詞,則加載規(guī)則數(shù)據(jù)庫(kù)中包含第一關(guān)鍵詞的匹配規(guī)則。
[0010]進(jìn)一步地,在獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞之前,匹配方法還包括:獲取接收到的匹配規(guī)則的時(shí)間屬性;獲取規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性;以及判斷接收到的匹配規(guī)則的時(shí)間屬性對(duì)應(yīng)的時(shí)刻是否在規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性對(duì)應(yīng)的時(shí)刻之后,其中,若判斷出接收到的匹配規(guī)則的時(shí)間屬性對(duì)應(yīng)的時(shí)刻在規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性對(duì)應(yīng)的時(shí)刻之后,則獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞。
[0011]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種資源請(qǐng)求的匹配裝置,該匹配裝置用于執(zhí)行本發(fā)明上述內(nèi)容所提供的任一種匹配方法。
[0012]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種資源請(qǐng)求的匹配裝置,包括:第一獲取單元,用于獲取資源請(qǐng)求的特征;加載單元,用于加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及匹配單元,用于利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。
[0013]進(jìn)一步地,匹配裝置還包括:接收單元,用于接收匹配規(guī)則;第二獲取單元,用于獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞,其中,作用域?yàn)槠ヅ湟?guī)則可應(yīng)用的加載網(wǎng)站的域名,加載網(wǎng)站為加載網(wǎng)頁(yè)資源的網(wǎng)站;第一處理單元,用于按照獲取到的類型對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)類型及匹配規(guī)則與類型的對(duì)應(yīng)關(guān)系;第二處理單元,用于按照獲取到的作用域?qū)ζヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)作用域及匹配規(guī)則與作用域的對(duì)應(yīng)關(guān)系;以及第三處理單元,用于按照獲取到的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)關(guān)鍵詞及匹配規(guī)則與關(guān)鍵詞的對(duì)應(yīng)關(guān)系。
[0014]進(jìn)一步地,第二獲取單元包括:讀取子單元,用于讀取表示匹配規(guī)則的字符串;分割子單元,用于在讀取過程中每讀取到一個(gè)第一字符,對(duì)表示匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,第一字符既不是字母字符也不是數(shù)字字符;統(tǒng)計(jì)子單元,用于統(tǒng)計(jì)每個(gè)分割字符串的字符量的多少;以及確定子單元,用于確定字符量最多的分割字符串為匹配規(guī)則的關(guān)鍵詞。
[0015]進(jìn)一步地,資源請(qǐng)求的特征包括發(fā)起資源請(qǐng)求的網(wǎng)站的域、資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息,其中,加載單元包括:第一加載子單元,用于以資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對(duì)匹配規(guī)則進(jìn)行加載;第二加載子單元,用于以發(fā)起資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進(jìn)行加載;以及第三加載子單元,用于以發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,關(guān)鍵詞索引按照匹配規(guī)則的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行加載。
[0016]進(jìn)一步地,第一加載單元包括:第一判斷模塊,用于查找規(guī)則數(shù)據(jù)庫(kù)以判斷規(guī)則數(shù)據(jù)庫(kù)中是否存儲(chǔ)有第一類型,其中,第一類型與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相同;以及第一獲取模塊,用于在判斷出規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有第一類型時(shí),獲取規(guī)則數(shù)據(jù)庫(kù)中第一類型下的匹配規(guī)則的作用域,得到第一作用域,第二加載單元包括:第二判斷模塊,用于判斷第一作用域中是否包括第一域,其中,第一域?yàn)榘l(fā)起資源請(qǐng)求的網(wǎng)站的域;以及第二獲取模塊,用于在判斷出第一作用域中包括第一域時(shí),獲取規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于第一域的匹配規(guī)則的關(guān)鍵詞,得到第一關(guān)鍵詞,第三加載單元包括:第三判斷模塊,用于判斷第一字符串是否包括第一關(guān)鍵詞,其中,第一字符串為表示地址信息的字符串;以及加載模塊,用于在判斷出第一字符串中包括第一關(guān)鍵詞時(shí),加載規(guī)則數(shù)據(jù)庫(kù)中包含第一關(guān)鍵詞的匹配規(guī)則。
[0017]通過本發(fā)明,采用獲取資源請(qǐng)求的特征;加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。通過在對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配時(shí),獲取規(guī)則庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的規(guī)則,實(shí)現(xiàn)了減少對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配的匹配次數(shù),避免了依次將資源請(qǐng)求與規(guī)則庫(kù)中所有規(guī)則進(jìn)行匹配所造成的處理效率低,解決了現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題,進(jìn)而達(dá)到了提高資源請(qǐng)求匹配效率的效果。【專利附圖】

【附圖說明】
[0018]構(gòu)成本申請(qǐng)的一部分的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)相關(guān)技術(shù)對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配的流程圖;
[0020]圖2是根據(jù)本發(fā)明實(shí)施例的匹配方法的流程圖;
[0021]圖3是根據(jù)本發(fā)明實(shí)施例進(jìn)行匹配規(guī)則分類存儲(chǔ)的流程圖;
[0022]圖4是采用本發(fā)明實(shí)施例的匹配方法對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配的流程圖;
[0023]圖5是根據(jù)本發(fā)明實(shí)施例的匹配裝置的示意圖;
[0024]圖6是本發(fā)明實(shí)施例的匹配裝置中規(guī)則處理單元的示意圖;以及
[0025]圖7是本發(fā)明實(shí)施例的匹配裝置中請(qǐng)求處理單元的示意圖。
【具體實(shí)施方式】
[0026]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0027]本發(fā)明實(shí)施例提供了一種資源請(qǐng)求的匹配方法,以下對(duì)本發(fā)明實(shí)施例所提供的資源請(qǐng)求的匹配方法進(jìn)行具體介紹:
[0028]圖2是根據(jù)本發(fā)明實(shí)施例的匹配方法的流程圖,如圖2所示,該方法包括如下的步驟S201至步驟S203:
[0029]S201:獲取資源請(qǐng)求的特征,具體地,當(dāng)用戶通過瀏覽器打開網(wǎng)頁(yè)時(shí),瀏覽器首先會(huì)產(chǎn)生資源請(qǐng)求,之后再通過對(duì)資源請(qǐng)求進(jìn)行響應(yīng)來得到與資源請(qǐng)求相對(duì)應(yīng)的網(wǎng)頁(yè)資源,其中,獲取資源請(qǐng)求的特征主要是獲取發(fā)起資源請(qǐng)求的網(wǎng)站的域、資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息。
[0030]S202:加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù),即,加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征具有對(duì)應(yīng)關(guān)系的匹配規(guī)則。
[0031]S203:利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。具體地,可以采用現(xiàn)有技術(shù)任意一種對(duì)資源請(qǐng)求進(jìn)行匹配處理的方法。
[0032]本發(fā)明實(shí)施例的匹配方法在對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配時(shí),通過在對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配時(shí),獲取規(guī)則庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的規(guī)則,實(shí)現(xiàn)了減少對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配的匹配次數(shù),避免了依次將資源請(qǐng)求與規(guī)則庫(kù)中所有規(guī)則進(jìn)行匹配所造成的處理效率低,解決了現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題,進(jìn)而達(dá)到了提高資源請(qǐng)求匹配效率的效果。
[0033]以步驟S203中采用字符串完整匹配方法、利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配舉例說明:
[0034]首先,分別獲取表示資源請(qǐng)求的地址信息的字符串和表示加載的匹配規(guī)則的字符串,其中,表示資源請(qǐng)求的地址信息的字符串為發(fā)起資源請(qǐng)求的網(wǎng)站的URL地址所對(duì)應(yīng)的字符串,表示加載的匹配規(guī)則的字符串為加載的匹配規(guī)則的編碼字符串。其中,若步驟S202中加載的匹配規(guī)則包括多條匹配規(guī)則時(shí),則對(duì)表示各條匹配規(guī)則的字符串均進(jìn)行獲取,得到多條字符串,一條字符串表示一條匹配規(guī)則。[0035]然后,判斷表示資源請(qǐng)求的地址信息的字符串與表示加載的匹配規(guī)則的字符串是否相同,即,判斷資源請(qǐng)求的URL地址字符串與表示加載的匹配規(guī)則的字符串是否相同,其中,若步驟S202中加載的匹配規(guī)則為多條規(guī)則的話,則將表示資源請(qǐng)求的地址信息的字符串與獲取到的每一條字符串進(jìn)行對(duì)比以判斷是否相同。
[0036]最后,在判斷出表示資源請(qǐng)求的地址信息的字符串與表示加載的匹配規(guī)則的字符串相同時(shí),確定資源請(qǐng)求與瀏覽器的匹配規(guī)則相匹配。若步驟S202中加載的匹配規(guī)則包括多條匹配規(guī)則,則在將表示資源請(qǐng)求的地址信息的字符串與獲取到的每一條字符串進(jìn)行對(duì)比判斷后,若判斷出表示資源請(qǐng)求的地址信息的字符串與多條字符串中的任一字符串相同,則確定資源請(qǐng)求與瀏覽器的匹配規(guī)則相匹配。
[0037]本發(fā)明實(shí)施例中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的具體處理方法在圖3中示出,如圖3所示:
[0038]首先,接收瀏覽器中的匹配規(guī)則,對(duì)接收到的匹配規(guī)則的類型、作用域和關(guān)鍵詞進(jìn)行獲取,其中,所謂類型是指對(duì)匹配規(guī)則進(jìn)行編碼時(shí)程序預(yù)定的編碼字符串的枚舉類型,所謂作用域是指匹配規(guī)則需要在什么域名下生效,即,匹配規(guī)則可以應(yīng)用的加載網(wǎng)站的域名即為該匹配規(guī)則的作用域,所謂加載網(wǎng)站是指對(duì)網(wǎng)頁(yè)資源進(jìn)行加載的網(wǎng)站,在本發(fā)明實(shí)施例中發(fā)起資源請(qǐng)求的網(wǎng)站即是一個(gè)加載網(wǎng)站;
[0039]然后,對(duì)匹配規(guī)則進(jìn)行分類后存儲(chǔ),主要按照以下三種方式對(duì)匹配規(guī)則進(jìn)行分類,方式一:按照獲取到的枚舉類型對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)獲取到的類型及匹配規(guī)則與類型的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在其歸屬的枚舉類型下;方式二:按照獲取到作用域?qū)ζヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)獲取到的作用域及匹配規(guī)則與作用域的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在其所應(yīng)用的作用域下;方式三:按照獲取到的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)關(guān)鍵詞及匹配規(guī)則與關(guān)鍵詞的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在對(duì)應(yīng)的關(guān)鍵詞下。
[0040]其中,在本發(fā)明實(shí)施例中,將作用域分為兩種,一種是指定域,一種是全域,其中,當(dāng)加載網(wǎng)站為預(yù)先指定的一部分網(wǎng)站中的任一網(wǎng)站時(shí),匹配規(guī)則A生效,則這部分預(yù)先指定網(wǎng)站的域名的集合即為匹配規(guī)則A的指定域;當(dāng)加載網(wǎng)站無論為什么網(wǎng)站時(shí),匹配規(guī)則B均生效,則所有網(wǎng)站的域名集合即為匹配規(guī)則B的全域,其中,在全域下生效的匹配規(guī)則為全域規(guī)則,在指定域下生效的匹配規(guī)則為指定域規(guī)則。本發(fā)明實(shí)施例的枚舉類型包括enumHTML (html文檔資源)、enumCSS (層疊樣式表資源)、enumPicture (圖像資源)、enumJS(腳本資源)、enumObject (嵌入對(duì)象資源)、enumXML (xml文檔資源)、enumUndef (其他未定義類型);匹配規(guī)則的關(guān)鍵詞可以為匹配規(guī)則編碼字符串中的短字符串,即,通過對(duì)表示匹配規(guī)則的字符串進(jìn)行分割來得到匹配規(guī)則的關(guān)鍵詞,具體分割方法為:對(duì)表示匹配規(guī)則的字符串進(jìn)行讀取,在讀取過程中每讀取到一個(gè)第一字符,即對(duì)表示匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,所謂第一字符是指除字母字符和數(shù)字字符之外的字符;然后統(tǒng)計(jì)每個(gè)分割字符串中字符的個(gè)數(shù)多少;最后確定字符個(gè)數(shù)最多的分割字符串為匹配規(guī)則的關(guān)鍵詞,其中,若多個(gè)分割字符串中有兩個(gè)或兩個(gè)以上的分割字符串的字符個(gè)數(shù)均為N,并且其它分割字符串的字符個(gè)數(shù)都小于N,即,分割字符串中字符個(gè)數(shù)最多的分割字符串為多個(gè),則確定任意一個(gè)字符個(gè)數(shù)為N的字符串為匹配規(guī)則的關(guān)鍵詞。舉例說明,表示某條匹配規(guī)則的字符串為“abcde-fghi j.klmnop.com/qrstuvw.html”,則確定"qrstuvw"為該條匹配規(guī)則的關(guān)鍵詞。
[0041]進(jìn)一步地,本發(fā)明實(shí)施例中從規(guī)則數(shù)據(jù)庫(kù)中加載與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則包括按照以下方式中的至少一種或者兩種以兩種以上結(jié)合的方式進(jìn)行加載:
[0042]方式一:以資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對(duì)匹配規(guī)則進(jìn)行加載,即,按照資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型從規(guī)則數(shù)據(jù)庫(kù)中加載與該類型相同的類型下的匹配規(guī)則,達(dá)到了避免加載與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型不相同的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0043]方式二:以發(fā)起資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進(jìn)行加載,即,按照發(fā)起資源請(qǐng)求的網(wǎng)站的域從規(guī)則數(shù)據(jù)庫(kù)中加載應(yīng)用到該域下的匹配規(guī)則,達(dá)到了避免加載無法應(yīng)用到發(fā)起資源請(qǐng)求的網(wǎng)站的域下的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0044]方式三:以發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,關(guān)鍵詞索引按照匹配規(guī)則的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行加載,即,按照地址信息進(jìn)行加載,與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則滿足:表示地址信息的字符串中具有加載的匹配規(guī)則的關(guān)鍵詞,該加載方式同樣達(dá)到了減少匹配規(guī)則的加載量。
[0045]優(yōu)選地,在本發(fā)明實(shí)施例中可以將上述三種加載方式結(jié)合使用,具體地,按照以下加載步驟進(jìn)行:
[0046]首先,對(duì)規(guī)則數(shù)據(jù)庫(kù)進(jìn)行查找以判斷規(guī)則數(shù)據(jù)庫(kù)中是否存儲(chǔ)有第一類型,其中,第一類型與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相同,若能夠從規(guī)則數(shù)據(jù)庫(kù)中查找到第一類型,則說明判斷出規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有歸屬于第一類型的匹配規(guī)則,在該情況下,對(duì)規(guī)則數(shù)據(jù)庫(kù)中第一類型下的匹配規(guī)則的作用域進(jìn)行獲取,得到第一作用域;
[0047]然后,判斷第一作用域中是否包括第一域,其中,第一域?yàn)榘l(fā)起資源請(qǐng)求的網(wǎng)站的域,若判斷出第一作用域中包括第一域,則對(duì)規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于第一域的匹配規(guī)則的關(guān)鍵詞進(jìn)行獲取,得到第一關(guān)鍵詞;
[0048]最后,判斷第一字符串是否包括第一關(guān)鍵詞,其中,第一字符串為表示地址信息的字符串,若判斷出第一字符串中包括第一關(guān)鍵詞,則對(duì)規(guī)則數(shù)據(jù)庫(kù)中包含第一關(guān)鍵詞的匹配規(guī)則進(jìn)行加載,即,提取出第一關(guān)鍵詞對(duì)應(yīng)的所有的完整規(guī)則進(jìn)行加載。進(jìn)一步地,若應(yīng)用于第一域的匹配規(guī)則有多條的話,則獲取到的關(guān)鍵詞可為多個(gè),即,第一關(guān)鍵詞包括多個(gè)關(guān)鍵詞,對(duì)于此種情況則判斷第一字符串中是否包括多個(gè)關(guān)鍵詞中的任一關(guān)鍵詞,若判斷出第一字符串中包括多個(gè)關(guān)鍵詞中的任一關(guān)鍵詞,則確定第一字符串中包括第一關(guān)鍵詞,假設(shè)第一字符串中包括的那個(gè)關(guān)鍵詞為關(guān)鍵詞K,則從規(guī)則數(shù)據(jù)庫(kù)中提取出關(guān)鍵詞K對(duì)應(yīng)的所有的完整規(guī)則進(jìn)行加載。
[0049]通過依次采用資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型、發(fā)起所述資源請(qǐng)求的網(wǎng)站的域和發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,對(duì)規(guī)則數(shù)據(jù)庫(kù)中的匹配規(guī)則進(jìn)行依次篩選,最后加載同時(shí)滿足以上條件的匹配規(guī)則,實(shí)現(xiàn)了進(jìn)一步減少匹配規(guī)則的加載量,以在后續(xù)將匹配規(guī)則與資源請(qǐng)求進(jìn)行匹配時(shí),采用更少量的匹配規(guī)則進(jìn)行匹配,進(jìn)一步地提高匹配效率。
[0050]需要說明的是,在本發(fā)明實(shí)施例中,采用“第一類型”這樣的描述語(yǔ)言,只是為了將資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型與其它類型進(jìn)行區(qū)分,并非是對(duì)網(wǎng)頁(yè)資源的類型的次序做限定。采用“第一作用域”、“第一關(guān)鍵詞”這樣的描述語(yǔ)言的理由與上述說明類似。
[0051]通過以上描述可以看出,本發(fā)明實(shí)施例的資源請(qǐng)求的匹配方法主要分為兩部分,一部分是對(duì)瀏覽器中的各功能所使用的匹配規(guī)則進(jìn)行處理,另一部分是利用處理后的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配處理,這兩部分流程分別在不同階段獨(dú)立進(jìn)行,互不影響,其中,對(duì)匹配規(guī)則的分類處理在資源請(qǐng)求的匹配處理之前進(jìn)行。本發(fā)明實(shí)施例通過對(duì)匹配規(guī)則進(jìn)行了特定的分類處理(按照類型、作用域等特性進(jìn)行了劃分),在對(duì)某項(xiàng)資源請(qǐng)求進(jìn)行匹配時(shí),每次只需加載部分特定的匹配規(guī)則即可;按照本發(fā)明實(shí)施例的處理流程(在圖4中示出),無論匹配規(guī)則總數(shù)量的多少,每項(xiàng)資源請(qǐng)求在沒有重復(fù)匹配規(guī)則的情況下只需進(jìn)行2-4次比對(duì),即可完成完整的匹配過程,減少了匹配次數(shù);傳統(tǒng)的單一固定地將瀏覽器的資源請(qǐng)求與字符串規(guī)則進(jìn)行一一比對(duì)的匹配流程,每項(xiàng)資源請(qǐng)求所需要的比對(duì)次數(shù)基本等同于規(guī)則的總數(shù)量;二者相比,本發(fā)明實(shí)施例的匹配方法明顯提高了匹配效率。[0052]更進(jìn)一步地,在接收到匹配規(guī)則之后,并且在獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞之前,本發(fā)明實(shí)施例的匹配方法還包括對(duì)匹配規(guī)則是否發(fā)生修改的判斷,此處舉例說明一種判斷匹配規(guī)則是否發(fā)生修改的方法:首先,對(duì)接收到的匹配規(guī)則的時(shí)間屬性進(jìn)行獲取,并對(duì)規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性進(jìn)行獲取;然后,對(duì)比判斷接收到的匹配規(guī)則的時(shí)間屬性對(duì)應(yīng)的時(shí)刻是否在規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性對(duì)應(yīng)的時(shí)刻之后,若前者在后者之后,則說明在前一次對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)到規(guī)則數(shù)據(jù)庫(kù)后,匹配規(guī)則發(fā)生了修改,在這種情況下需對(duì)匹配規(guī)則再次進(jìn)行分類存儲(chǔ);若前者不在后者之后,則說明在前一次對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)到規(guī)則數(shù)據(jù)庫(kù)后,匹配規(guī)則沒有發(fā)生修改,在這種情況下無需對(duì)匹配規(guī)則進(jìn)行再次分類存儲(chǔ)。
[0053]其中,本發(fā)明實(shí)施例的匹配方法中在對(duì)資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型進(jìn)行確定是可以采用以下方法進(jìn)行:先對(duì)產(chǎn)生資源請(qǐng)求的內(nèi)核類型進(jìn)行獲取并判斷產(chǎn)生資源請(qǐng)求的內(nèi)核類型是Webkit內(nèi)核還是Trident內(nèi)核。對(duì)于瀏覽器內(nèi)核為Webkit內(nèi)核的情況,瀏覽器通過Webkit內(nèi)核產(chǎn)生資源請(qǐng)求時(shí),會(huì)在封裝層做出修改,使其在請(qǐng)求資源時(shí)通過ResourceDispatcherHostlmpl:: OnRequestResource> ResourceDispatcherHostImpl::BeginRequest等函數(shù)回調(diào)給處理函數(shù),由于Webkit內(nèi)核在內(nèi)部預(yù)定義了 ResourceType,所以對(duì)于Webkit內(nèi)核瀏覽器所產(chǎn)生的資源請(qǐng)求對(duì)應(yīng)的資源類型可以直接獲取得到;而對(duì)于瀏覽器內(nèi)核為Trident內(nèi)核的情況,對(duì)該瀏覽器內(nèi)核所產(chǎn)生的資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的確定,可以通過程序注冊(cè)“異步可插協(xié)議”(Asynchronous Pluggable Protocol),使該內(nèi)核請(qǐng)求的所有資源經(jīng)由 COInetProt::StartEx> ClnternetProtocolFiIter::Start 等函數(shù)回調(diào)給程序,以此獲得所有資源請(qǐng)求的地址信息,并通過對(duì)該地址信息的擴(kuò)展名信息進(jìn)行分類得到請(qǐng)求的網(wǎng)頁(yè)資源的類型。
[0054]本發(fā)明實(shí)施例還提供了一種資源請(qǐng)求的匹配裝置,以下對(duì)本發(fā)明實(shí)施例所提供的資源請(qǐng)求的匹配這種進(jìn)行具體介紹:
[0055]圖5是根據(jù)本發(fā)明實(shí)施例的匹配裝置的示意圖,如圖5所示,該實(shí)施例的匹配裝置包括第一獲取單元10、加載單元20和匹配單元30。[0056]具體地,第一獲取單元10用于獲取資源請(qǐng)求的特征,具體地,當(dāng)用戶通過瀏覽器打開網(wǎng)頁(yè)時(shí),瀏覽器首先會(huì)產(chǎn)生資源請(qǐng)求,之后再通過對(duì)資源請(qǐng)求進(jìn)行響應(yīng)來得到與資源請(qǐng)求相對(duì)應(yīng)的網(wǎng)頁(yè)資源,其中,獲取資源請(qǐng)求的特征主要是獲取發(fā)起資源請(qǐng)求的網(wǎng)站的域、資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息。
[0057]加載單元20用于加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù),即,加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求的特征具有對(duì)應(yīng)關(guān)系的匹配規(guī)則。
[0058]匹配單元30用于利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配。具體地,可以采用現(xiàn)有技術(shù)任意一種對(duì)資源請(qǐng)求進(jìn)行匹配處理的方法。
[0059]本發(fā)明實(shí)施例的匹配裝置在對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配時(shí),通過在對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配時(shí),獲取規(guī)則庫(kù)中與資源請(qǐng)求的特征相對(duì)應(yīng)的規(guī)則,實(shí)現(xiàn)了減少對(duì)資源請(qǐng)求進(jìn)行規(guī)則匹配的匹配次數(shù),避免了依次將資源請(qǐng)求與規(guī)則庫(kù)中所有規(guī)則進(jìn)行匹配所造成的處理效率低,解決了現(xiàn)有技術(shù)中對(duì)資源請(qǐng)求進(jìn)行匹配時(shí)處理效率低的問題,進(jìn)而達(dá)到了提高資源請(qǐng)求匹配效率的效果。
[0060]匹配單元30利用加載的匹配規(guī)則對(duì)資源請(qǐng)求進(jìn)行匹配的匹配方法為:
[0061]首先,分別獲取表示資源請(qǐng)求的地址信息的字符串和表示加載的匹配規(guī)則的字符串,其中,表示資源請(qǐng)求的地址信息的字符串為發(fā)起資源請(qǐng)求的網(wǎng)站的URL地址所對(duì)應(yīng)的字符串,表示加載的匹配規(guī)則的字符串為加載的匹配規(guī)則的編碼字符串。其中,若加載單元20中加載的匹配規(guī)則包括多條匹配規(guī)則時(shí),則對(duì)表示各條匹配規(guī)則的字符串均進(jìn)行獲取,得到多條字符串,一條字符串表示一條匹配規(guī)則。
[0062]然后,判斷表示資源請(qǐng)求的地址信息的字符串與表示加載的匹配規(guī)則的字符串是否相同,即,判斷資源請(qǐng)求的URL地址字符串與表示加載的匹配規(guī)則的字符串是否相同,其中,若加載單元20中加載的匹配規(guī)則為多條規(guī)則的話,則將表示資源請(qǐng)求的地址信息的字符串與獲取到的每一條字符串進(jìn)行對(duì)比以判斷是否相同。
[0063]最后,若判斷出表示資源請(qǐng)求的地址信息的字符串與表示加載的匹配規(guī)則的字符串相同,則確定資源請(qǐng)求與瀏覽器的匹配規(guī)則相匹配。若加載單元20中加載的匹配規(guī)則包括多條匹配規(guī)則,則在將表示資源請(qǐng)求的地址信息的字符串與獲取到的每一條字符串進(jìn)行對(duì)比判斷后,若判斷出表示資源請(qǐng)求的地址信息的字符串與多條字符串中的任一字符串相同,則確定資源請(qǐng)求與瀏覽器的匹配規(guī)則相匹配。
[0064]本發(fā)明實(shí)施例中在對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)時(shí),可以采用匹配裝置中的規(guī)則處理單元進(jìn)行處理,其中,規(guī)則處理單元的示意圖在圖6中示出,如圖6所示,規(guī)則處理單元包括原始規(guī)則讀取單元、索引單元和快表輸出單元,其中,原始規(guī)則讀取單元(即,接收單元)用于用瀏覽器中的匹配規(guī)則進(jìn)行讀取,索引單元用于對(duì)匹配規(guī)則進(jìn)行處理,快表輸出單元是對(duì)索引單元的輸出結(jié)果進(jìn)行存儲(chǔ)的單元,也即是規(guī)則數(shù)據(jù)庫(kù)。其中,索引單元主要通過第二獲取單元以及第一至第三處理單元對(duì)匹配規(guī)則進(jìn)行處理:
[0065]具體地,第二獲取單元用于獲取匹配規(guī)則的類型、作用域和關(guān)鍵詞,其中,所謂類型是指對(duì)匹配規(guī)則進(jìn)行編碼時(shí)程序預(yù)定的編碼字符串的枚舉類型,所謂作用域是指匹配規(guī)則需要在什么域名下生效,即,匹配規(guī)則可以應(yīng)用的加載網(wǎng)站的域名即為該匹配規(guī)則的作用域,所謂加載網(wǎng)站是指對(duì)網(wǎng)頁(yè)資源進(jìn)行加載的網(wǎng)站,在本發(fā)明實(shí)施例中發(fā)起資源請(qǐng)求的網(wǎng)站即是一個(gè)加載網(wǎng)站;第一處理單元用于按照獲取到的枚舉類型對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)獲取到的類型及匹配規(guī)則與類型的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在其歸屬的枚舉類型下;第二處理單元用于按照獲取到作用域?qū)ζヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)獲取到的作用域及匹配規(guī)則與作用域的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在其所應(yīng)用的作用域下;第三處理單元用于按照獲取到的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行分類,并存儲(chǔ)關(guān)鍵詞及匹配規(guī)則與關(guān)鍵詞的對(duì)應(yīng)關(guān)系,即,將匹配規(guī)則中的各條規(guī)則對(duì)應(yīng)存儲(chǔ)在對(duì)應(yīng)的關(guān)鍵詞下。其中,第二獲取單元通過讀取子單元對(duì)表示匹配規(guī)則的字符串進(jìn)行讀取,在讀取過程中每讀取到一個(gè)第一字符,即由分割子單元對(duì)表示匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,所謂第一字符是指除字母字符和數(shù)字字符之外的字符;然后由統(tǒng)計(jì)子單元統(tǒng)計(jì)每個(gè)分割字符串中字符的個(gè)數(shù)多少;最后由確定子單元確定字符個(gè)數(shù)最多的分割字符串為匹配規(guī)則的關(guān)鍵詞。
[0066]本發(fā)明實(shí)施例中在對(duì)匹配規(guī)則進(jìn)行加載時(shí),可以采用匹配裝置中的請(qǐng)求處理單元進(jìn)行處理,其中,請(qǐng)求處理單元的示意圖在圖7中示出,如圖7所示,請(qǐng)求處理單元包括類型匹配單元、作用域匹配單元和關(guān)鍵詞匹配單元。
[0067]其中,類型匹配單元也稱作第一加載子單元,主要用于以資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與資源請(qǐng)求請(qǐng)求的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對(duì)匹配規(guī)則進(jìn)行加載,即,按照資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型從規(guī)則數(shù)據(jù)庫(kù)中加載與該類型相同的類型下的匹配規(guī)則,達(dá)到了避免加載與資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型不相同的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0068]作用域匹配單元也稱作第二加載子單元,主要用于以發(fā)起資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進(jìn)行加載,即,按照發(fā)起資源請(qǐng)求的網(wǎng)站的域從規(guī)則數(shù)據(jù)庫(kù)中加載應(yīng)用到該域下的匹配規(guī)則,達(dá)到了避免加載無法應(yīng)用到發(fā)起資源請(qǐng)求的網(wǎng)站的域下的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0069]關(guān)鍵詞匹配單元也稱作第三加載子單元,主要用于以發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,關(guān)鍵詞索引按照匹配規(guī)則的關(guān)鍵詞對(duì)匹配規(guī)則進(jìn)行加載,即,按照地址信息進(jìn)行加載,與發(fā)起資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則滿足:表示地址信息的字符串中具有加載的匹配規(guī)則的關(guān)鍵詞,該加載方式同樣達(dá)到了減少匹配規(guī)則的加載量。
[0070]進(jìn)一步地,本發(fā)明實(shí)施例中的類型匹配單元、作用域匹配單元和關(guān)鍵詞匹配單元可以結(jié)合起來進(jìn)行匹配規(guī)則的加載,具體地,由第一加載子單元中的第一判斷模塊用于按照資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型(以下稱作第一類型)從規(guī)則數(shù)據(jù)庫(kù)中查找是否存儲(chǔ)有與第一類型,若查找判斷出規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有第一類型,則則說明判斷出規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有歸屬于第一類型的匹配規(guī)則,此時(shí),由第一加載子單元中的第一獲取模塊對(duì)規(guī)則數(shù)據(jù)庫(kù)中第一類型下的匹配規(guī)則的作用域進(jìn)行獲取,得到第一作用域;然后由第二加載子單元中的第二判斷模塊查找判斷第一作用域中是否包括第一域,其中,第一域?yàn)榘l(fā)起資源請(qǐng)求的網(wǎng)站的域,若判斷出第一作用域中包括第一域,則由第二加載子單元中的第二獲取模塊對(duì)規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于第一域的匹配規(guī)則的關(guān)鍵詞進(jìn)行獲取,得到第一關(guān)鍵詞;最后,由第三加載子單元中的第三判斷模塊判斷第一字符串是否包括第一關(guān)鍵詞,其中,第一字符串為表示地址信息的字符串,若判斷出第一字符串中包括第一關(guān)鍵詞,則由第三加載子單元中的加載模塊對(duì)規(guī)則數(shù)據(jù)庫(kù)中包含第一關(guān)鍵詞的匹配規(guī)則進(jìn)行加載,即,提取出第一關(guān)鍵詞對(duì)應(yīng)的所有的完整規(guī)則進(jìn)行加載。
[0071]通過依次采用類型匹配單元、作用域匹配單元和關(guān)鍵詞匹配單元對(duì)規(guī)則數(shù)據(jù)庫(kù)中的匹配規(guī)則進(jìn)行依次篩選,最后加載同時(shí)滿足以上條件的匹配規(guī)則,實(shí)現(xiàn)了進(jìn)一步減少匹配規(guī)則的加載量,以在后續(xù)將匹配規(guī)則與資源請(qǐng)求進(jìn)行匹配時(shí),采用更少量的匹配規(guī)則進(jìn)行匹配,進(jìn)一步地提高匹配效率。
[0072]從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了極大的減少每項(xiàng)資源請(qǐng)求的匹配次數(shù),提升匹配速度;同時(shí)由于原始匹配規(guī)則處理與資源匹配處理過程分開獨(dú)立進(jìn)行,且在資源匹配過程中每次需要加載的匹配規(guī)則大大減少,因此在匹配過程中,程序的資源占用也大幅度的降低。使用本發(fā)明的方法,尤其是在瀏覽器處理大量資源匹配請(qǐng)求時(shí),可極大的提高程序處理速度,降低程序CPU (Central Processing Unit,中央處理器)及內(nèi)存資源占用。
[0073]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0074]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0075]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種資源請(qǐng)求的匹配方法,其特征在于,包括: 獲取資源請(qǐng)求的特征; 加載規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,所述規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及利用加載的匹配規(guī)則對(duì)所述資源請(qǐng)求進(jìn)行匹配。
2.根據(jù)權(quán)利要求1所述的匹配方法,其特征在于,對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)包括: 接收所述匹配規(guī)則; 獲取所述匹配規(guī)則的類型、作用域和關(guān)鍵詞,其中,所述作用域?yàn)樗銎ヅ湟?guī)則可應(yīng)用的加載網(wǎng)站的域名,所述加載網(wǎng)站為加載網(wǎng)頁(yè)資源的網(wǎng)站; 按照獲取到的類型對(duì)所述匹配規(guī)則進(jìn)行分類,并存儲(chǔ)所述類型及所述匹配規(guī)則與所述類型的對(duì)應(yīng)關(guān)系; 按照獲取到的作用域?qū)λ銎ヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)所述作用域及所述匹配規(guī)則與所述作用域的對(duì)應(yīng)關(guān)系 ;以及 按照獲取到的關(guān)鍵詞對(duì)所述匹配規(guī)則進(jìn)行分類,并存儲(chǔ)所述關(guān)鍵詞及所述匹配規(guī)則與所述關(guān)鍵詞的對(duì)應(yīng)關(guān)系。
3.根據(jù)權(quán)利要求2所述的匹配方法,其特征在于,通過以下方式獲取所述匹配規(guī)則的關(guān)鍵詞: 讀取表示所述匹配規(guī)則的字符串; 在讀取過程中每讀取到一個(gè)第一字符,對(duì)表示所述匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,所述第一字符既不是字母字符也不是數(shù)字字符; 統(tǒng)計(jì)每個(gè)分割字符串的字符量的多少;以及 確定字符量最多的分割字符串為所述匹配規(guī)則的關(guān)鍵詞。
4.根據(jù)權(quán)利要求2所述的匹配方法,其特征在于,所述資源請(qǐng)求的特征包括發(fā)起所述資源請(qǐng)求的網(wǎng)站的域、所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息,其中,加載規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則包括采用以下加載方式中的至少一種進(jìn)行加載: 以所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,所述類型索引按照所述匹配規(guī)則的類型對(duì)所述匹配規(guī)則進(jìn)行加載; 以發(fā)起所述資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,所述作用域索引按照所述匹配規(guī)則的作用域?qū)λ銎ヅ湟?guī)則進(jìn)行加載;以及 以發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,所述關(guān)鍵詞索引按照所述匹配規(guī)則的關(guān)鍵詞對(duì)所述匹配規(guī)則進(jìn)行加載。
5.根據(jù)權(quán)利要求4所述的匹配方法,其特征在于, 以所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則包括: 查找所述規(guī)則數(shù)據(jù)庫(kù)以判斷所述規(guī)則數(shù)據(jù)庫(kù)中是否存儲(chǔ)有第一類型,其中,所述第一類型與所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相同;以及 若判斷出所述規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有所述第一類型,則獲取所述規(guī)則數(shù)據(jù)庫(kù)中所述第一類型下的匹配規(guī)則的作用域,得到第一作用域, 以發(fā)起所述資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則包括: 判斷所述第一作用域中是否包括第一域,其中,所述第一域?yàn)榘l(fā)起所述資源請(qǐng)求的網(wǎng)站的域;以及 若判斷出所述第一作用域中包括所述第一域,則獲取所述規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于所述第一域的匹配規(guī)則的關(guān)鍵詞,得到第一關(guān)鍵詞, 以發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則包括: 判斷第一字符串是否包括所述第一關(guān)鍵詞,其中,所述第一字符串為表示所述地址信息的字符串;以及 若判斷出所述第一字符串中包括所述第一關(guān)鍵詞,則加載所述規(guī)則數(shù)據(jù)庫(kù)中包含所述第一關(guān)鍵詞的匹配規(guī)則。
6.根據(jù)權(quán)利要求2所述的匹配方法,其特征在于,在獲取所述匹配規(guī)則的類型、作用域和關(guān)鍵詞之前,所述匹配方法還包括: 獲取接收到的所述匹配規(guī)則的時(shí)間屬性; 獲取所述規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性;以及 判斷接收到的所述匹配規(guī)則的時(shí)間屬性對(duì)應(yīng)的時(shí)刻是否在所述規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性對(duì)應(yīng)的時(shí)刻之后, 其中,若判斷出接收到的所述匹配規(guī)則的時(shí)間屬性對(duì)應(yīng)的時(shí)刻在所述規(guī)則數(shù)據(jù)庫(kù)的時(shí)間屬性對(duì)應(yīng)的時(shí)刻之后,則獲取所述匹配規(guī)則的類型、作用域和關(guān)鍵詞。
7.一種資源請(qǐng)求的匹配裝置,其特征在于,包括: 第一獲取單元,用于獲取資源請(qǐng)求的特征; 加載單元,用于加載規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求的特征相對(duì)應(yīng)的匹配規(guī)則,其中,所述規(guī)則數(shù)據(jù)庫(kù)為瀏覽器中對(duì)匹配規(guī)則進(jìn)行分類存儲(chǔ)的數(shù)據(jù)庫(kù);以及匹配單元,用于利用加載的匹配規(guī)則對(duì)所述資源請(qǐng)求進(jìn)行匹配。
8.根據(jù)權(quán)利要求7所述的匹配裝置,其特征在于,所述匹配裝置還包括: 接收單元,用于接收所述匹配規(guī)則; 第二獲取單元,用于獲取所述匹配規(guī)則的類型、作用域和關(guān)鍵詞,其中,所述作用域?yàn)樗銎ヅ湟?guī)則可應(yīng)用的加載網(wǎng)站的域名,所述加載網(wǎng)站為加載網(wǎng)頁(yè)資源的網(wǎng)站; 第一處理單元,用于按照獲取到的類型對(duì)所述匹配規(guī)則進(jìn)行分類,并存儲(chǔ)所述類型及所述匹配規(guī)則與所述類型的對(duì)應(yīng)關(guān)系; 第二處理單元,用于按照獲取到的作用域?qū)λ銎ヅ湟?guī)則進(jìn)行分類,并存儲(chǔ)所述作用域及所述匹配規(guī)則與所述作用域的對(duì)應(yīng)關(guān)系;以及 第三處理單元,用于按照獲取到的關(guān)鍵詞對(duì)所述匹配規(guī)則進(jìn)行分類,并存儲(chǔ)所述關(guān)鍵詞及所述匹配規(guī)則與所述關(guān)鍵詞的對(duì)應(yīng)關(guān)系。
9.根據(jù)權(quán)利要求8所述的匹配裝置,其特征在于,所述第二獲取單元包括:讀取子單元,用于讀取表示所述匹配規(guī)則的字符串; 分割子單元,用于在讀取過程中每讀取到一個(gè)第一字符,對(duì)表示所述匹配規(guī)則的字符串進(jìn)行一次分割,得到多個(gè)分割字符串,其中,所述第一字符既不是字母字符也不是數(shù)字字符; 統(tǒng)計(jì)子單元,用于統(tǒng)計(jì)每個(gè)分割字符串的字符量的多少;以及 確定子單元,用于確定字符量最多的分割字符串為所述匹配規(guī)則的關(guān)鍵詞。
10.根據(jù)權(quán)利要求8所述的匹配裝置,其特征在于,所述資源請(qǐng)求的特征包括發(fā)起所述資源請(qǐng)求的網(wǎng)站的域、所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型和發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息,其中,所述加載單元包括: 第一加載子單元,用于以所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相對(duì)應(yīng)的匹配規(guī)則,其中,所述類型索引按照所述匹配規(guī)則的類型對(duì)所述匹配規(guī)則進(jìn)行加載; 第二加載子單元,用于以發(fā)起所述資源請(qǐng)求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的域相對(duì)應(yīng)的匹配規(guī)則,其中,所述作用域索引按照所述匹配規(guī)則的作用域?qū)λ銎ヅ湟?guī)則進(jìn)行加載;以及 第三加載子單元,用于以發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息作為索引詞,并按照關(guān)鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫(kù)中與發(fā)起所述資源請(qǐng)求的網(wǎng)站的地址信息相對(duì)應(yīng)的匹配規(guī)則,其中,所述關(guān)鍵詞索引按照所述匹配規(guī)則的關(guān)鍵詞對(duì)所述匹配規(guī)則進(jìn)行加載。
11.根據(jù)權(quán)利要求10所述的匹配裝置,其特征在于, 所述第一加載單元包括: 第一判斷模塊,用于查找所述規(guī)則數(shù)據(jù)庫(kù)以判斷所述規(guī)則數(shù)據(jù)庫(kù)中是否存儲(chǔ)有第一類型,其中,所述第一類型與所述資源請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)資源的類型相同;以及 第一獲取模塊,用于在判斷出所述規(guī)則數(shù)據(jù)庫(kù)中存儲(chǔ)有所述第一類型時(shí),獲取所述規(guī)則數(shù)據(jù)庫(kù)中所述第一類型下的匹配規(guī)則的作用域,得到第一作用域, 所述第二加載單元包括: 第二判斷模塊,用于判斷所述第一作用域中是否包括第一域,其中,所述第一域?yàn)榘l(fā)起所述資源請(qǐng)求的網(wǎng)站的域;以及 第二獲取模塊,用于在判斷出所述第一作用域中包括所述第一域時(shí),獲取所述規(guī)則數(shù)據(jù)庫(kù)中應(yīng)用于所述第一域的匹配規(guī)則的關(guān)鍵詞,得到第一關(guān)鍵詞, 所述第三加載單元包括: 第三判斷模塊,用于判斷第一字符串是否包括所述第一關(guān)鍵詞,其中,所述第一字符串為表示所述地址信息的字符串;以及 加載模塊,用于在判斷出所述第一字符串中包括所述第一關(guān)鍵詞時(shí),加載所述規(guī)則數(shù)據(jù)庫(kù)中包含所述第一關(guān)鍵詞的匹配規(guī)則。
【文檔編號(hào)】G06F17/30GK103914479SQ201310004211
【公開日】2014年7月9日 申請(qǐng)日期:2013年1月6日 優(yōu)先權(quán)日:2013年1月6日
【發(fā)明者】楊振輝, 丁川達(dá), 張?zhí)煲? 徐鳴 申請(qǐng)人:北京金山安全軟件有限公司, 北京金山網(wǎng)絡(luò)科技有限公司, 貝殼網(wǎng)際(北京)安全技術(shù)有限公司, 可牛網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌苏市| 长治县| 醴陵市| 乐安县| 汉阴县| 平昌县| 商河县| 辛集市| 鄱阳县| 文登市| 雷波县| 牙克石市| 阿拉善右旗| 禄丰县| 介休市| 惠安县| 宁阳县| 静安区| 呼伦贝尔市| 武邑县| 呼图壁县| 冀州市| 城口县| 扎鲁特旗| 墨江| 石城县| 思茅市| 宜川县| 双柏县| 博白县| 电白县| 天等县| 边坝县| 汶川县| 济南市| 天峻县| 吴忠市| 封开县| 香河县| 盐亭县| 金门县|