資源請求的匹配方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種資源請求的匹配方法的裝置。其中,資源請求的匹配方法包括:獲取資源請求的特征;加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及利用加載的匹配規(guī)則對資源請求進行匹配。通過本發(fā)明,解決了現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題,進而達到了提高資源請求匹配效率的效果。
【專利說明】資源請求的匹配方法和裝置
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領域,具體而言,涉及一種資源請求的匹配方法和裝置。
【背景技術】
[0002]瀏覽器是解析網(wǎng)頁代碼,并將其顯示出來的工具。隨著時代的發(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)核是一個開源的瀏覽器引擎,是目前最火熱的瀏覽器內(nèi)核,常見的WebKit內(nèi)核的瀏覽器有:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手機瀏覽器、Android默認瀏覽器,Chrome瀏覽器等,獵豹瀏覽器是一款同時具備Trident內(nèi)核和WebKit內(nèi)核的雙核瀏覽器。然后,由于網(wǎng)頁兼容性的問題,現(xiàn)在的瀏覽器往往是需要兩個內(nèi)核共同存在的。此外,當今用戶對瀏覽器也有了更多的功能需求,而這些功能是與瀏覽器對網(wǎng)頁資源的處理緊密關聯(lián)的,瀏覽器的任何功能對于網(wǎng)頁資源的處理都是選擇性的,即只處理與該功能預定規(guī)則相匹配的資源請求。因此,對瀏覽器資源請求的匹配處理也就成了瀏覽器程序中常見又必不可少的部分。現(xiàn)有技術在對請求網(wǎng)頁資源的資源請求進行處理時,一般是通過一定的預定規(guī)則對資源請求進行匹配處理,具體匹配方式主要是字符串匹配方法,即,瀏覽器的主程序會將資源請求的資源地址字符串與預定規(guī)則中的各條規(guī)則字符串進行完整匹配,圖1中示出了現(xiàn)有技術中對請求網(wǎng)絡資源的資源請求進行規(guī)則匹配的流程,如圖1所示,該匹配方法需要將瀏覽器的資源請求與匹配規(guī)則逐一比對,當規(guī)則中包含大量通配符或正則表達式時,處理效率極低;同時由于處理時需要加載所有匹配規(guī)則,因此資源占用較高。
[0003]針對現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種資源請求的匹配方法和裝置,以解決現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題。
[0005]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種資源請求的匹配方法,包括:獲取資源請求的特征;加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及利用加載的匹配規(guī)則對資源請求進行匹配。
[0006]進一步地,對匹配規(guī)則進行分類存儲包括:接收匹配規(guī)則;獲取匹配規(guī)則的類型、作用域和關鍵詞,其中,作用域為匹配規(guī)則可應用的加載網(wǎng)站的域名,加載網(wǎng)站為加載網(wǎng)頁資源的網(wǎng)站;按照獲取到的類型對匹配規(guī)則進行分類,并存儲類型及匹配規(guī)則與類型的對應關系;按照獲取到的作用域?qū)ζヅ湟?guī)則進行分類,并存儲作用域及匹配規(guī)則與作用域的對應關系;以及按照獲取到的關鍵詞對匹配規(guī)則進行分類,并存儲關鍵詞及匹配規(guī)則與關鍵詞的對應關系。
[0007]進一步地,通過以下方式獲取匹配規(guī)則的關鍵詞:讀取表示匹配規(guī)則的字符串;在讀取過程中每讀取到一個第一字符,對表示匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,第一字符既不是字母字符也不是數(shù)字字符;統(tǒng)計每個分割字符串的字符量的多少;以及確定字符量最多的分割字符串為匹配規(guī)則的關鍵詞。
[0008]進一步地,資源請求的特征包括發(fā)起資源請求的網(wǎng)站的域、資源請求對應的網(wǎng)頁資源的類型和發(fā)起資源請求的網(wǎng)站的地址信息,其中,加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則包括采用以下加載方式中的至少一種進行加載:以資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫中與資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對匹配規(guī)則進行加載;以發(fā)起資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進行加載;以及以發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,關鍵詞索引按照匹配規(guī)則的關鍵詞對匹配規(guī)則進行加載。
[0009]進一步地,以資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫中與資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則包括:查找規(guī)則數(shù)據(jù)庫以判斷規(guī)則數(shù)據(jù)庫中是否存儲有第一類型,其中,第一類型與資源請求對應的網(wǎng)頁資源的類型相同;以及若判斷出規(guī)則數(shù)據(jù)庫中存儲有第一類型,則獲取規(guī)則數(shù)據(jù)庫中第一類型下的匹配規(guī)則的作用域,得到第一作用域,以發(fā)起資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的域相對應的匹配規(guī)則包括:判斷第一作用域中是否包括第一域,其中,第一域為發(fā)起資源請求的網(wǎng)站的域;以及若判斷出第一作用域中包括第一域,則獲取規(guī)則數(shù)據(jù)庫中應用于第一域的匹配規(guī)則的關鍵詞,得到第一關鍵詞,以發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則包括:判斷第一字符串是否包括第一關鍵詞,其中,第一字符串為表示地址信息的字符串;以及若判斷出第一字符串中包括第一關鍵詞,則加載規(guī)則數(shù)據(jù)庫中包含第一關鍵詞的匹配規(guī)則。
[0010]進一步地,在獲取匹配規(guī)則的類型、作用域和關鍵詞之前,匹配方法還包括:獲取接收到的匹配規(guī)則的時間屬性;獲取規(guī)則數(shù)據(jù)庫的時間屬性;以及判斷接收到的匹配規(guī)則的時間屬性對應的時刻是否在規(guī)則數(shù)據(jù)庫的時間屬性對應的時刻之后,其中,若判斷出接收到的匹配規(guī)則的時間屬性對應的時刻在規(guī)則數(shù)據(jù)庫的時間屬性對應的時刻之后,則獲取匹配規(guī)則的類型、作用域和關鍵詞。
[0011]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種資源請求的匹配裝置,該匹配裝置用于執(zhí)行本發(fā)明上述內(nèi)容所提供的任一種匹配方法。
[0012]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種資源請求的匹配裝置,包括:第一獲取單元,用于獲取資源請求的特征;加載單元,用于加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及匹配單元,用于利用加載的匹配規(guī)則對資源請求進行匹配。
[0013]進一步地,匹配裝置還包括:接收單元,用于接收匹配規(guī)則;第二獲取單元,用于獲取匹配規(guī)則的類型、作用域和關鍵詞,其中,作用域為匹配規(guī)則可應用的加載網(wǎng)站的域名,加載網(wǎng)站為加載網(wǎng)頁資源的網(wǎng)站;第一處理單元,用于按照獲取到的類型對匹配規(guī)則進行分類,并存儲類型及匹配規(guī)則與類型的對應關系;第二處理單元,用于按照獲取到的作用域?qū)ζヅ湟?guī)則進行分類,并存儲作用域及匹配規(guī)則與作用域的對應關系;以及第三處理單元,用于按照獲取到的關鍵詞對匹配規(guī)則進行分類,并存儲關鍵詞及匹配規(guī)則與關鍵詞的對應關系。
[0014]進一步地,第二獲取單元包括:讀取子單元,用于讀取表示匹配規(guī)則的字符串;分割子單元,用于在讀取過程中每讀取到一個第一字符,對表示匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,第一字符既不是字母字符也不是數(shù)字字符;統(tǒng)計子單元,用于統(tǒng)計每個分割字符串的字符量的多少;以及確定子單元,用于確定字符量最多的分割字符串為匹配規(guī)則的關鍵詞。
[0015]進一步地,資源請求的特征包括發(fā)起資源請求的網(wǎng)站的域、資源請求對應的網(wǎng)頁資源的類型和發(fā)起資源請求的網(wǎng)站的地址信息,其中,加載單元包括:第一加載子單元,用于以資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫中與資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對匹配規(guī)則進行加載;第二加載子單元,用于以發(fā)起資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進行加載;以及第三加載子單元,用于以發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,關鍵詞索引按照匹配規(guī)則的關鍵詞對匹配規(guī)則進行加載。
[0016]進一步地,第一加載單元包括:第一判斷模塊,用于查找規(guī)則數(shù)據(jù)庫以判斷規(guī)則數(shù)據(jù)庫中是否存儲有第一類型,其中,第一類型與資源請求對應的網(wǎng)頁資源的類型相同;以及第一獲取模塊,用于在判斷出規(guī)則數(shù)據(jù)庫中存儲有第一類型時,獲取規(guī)則數(shù)據(jù)庫中第一類型下的匹配規(guī)則的作用域,得到第一作用域,第二加載單元包括:第二判斷模塊,用于判斷第一作用域中是否包括第一域,其中,第一域為發(fā)起資源請求的網(wǎng)站的域;以及第二獲取模塊,用于在判斷出第一作用域中包括第一域時,獲取規(guī)則數(shù)據(jù)庫中應用于第一域的匹配規(guī)則的關鍵詞,得到第一關鍵詞,第三加載單元包括:第三判斷模塊,用于判斷第一字符串是否包括第一關鍵詞,其中,第一字符串為表示地址信息的字符串;以及加載模塊,用于在判斷出第一字符串中包括第一關鍵詞時,加載規(guī)則數(shù)據(jù)庫中包含第一關鍵詞的匹配規(guī)則。
[0017]通過本發(fā)明,采用獲取資源請求的特征;加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及利用加載的匹配規(guī)則對資源請求進行匹配。通過在對資源請求進行規(guī)則匹配時,獲取規(guī)則庫中與資源請求的特征相對應的規(guī)則,實現(xiàn)了減少對資源請求進行規(guī)則匹配的匹配次數(shù),避免了依次將資源請求與規(guī)則庫中所有規(guī)則進行匹配所造成的處理效率低,解決了現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題,進而達到了提高資源請求匹配效率的效果?!緦@綀D】
【附圖說明】
[0018]構成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0019]圖1是根據(jù)相關技術對資源請求進行規(guī)則匹配的流程圖;
[0020]圖2是根據(jù)本發(fā)明實施例的匹配方法的流程圖;
[0021]圖3是根據(jù)本發(fā)明實施例進行匹配規(guī)則分類存儲的流程圖;
[0022]圖4是采用本發(fā)明實施例的匹配方法對資源請求進行規(guī)則匹配的流程圖;
[0023]圖5是根據(jù)本發(fā)明實施例的匹配裝置的示意圖;
[0024]圖6是本發(fā)明實施例的匹配裝置中規(guī)則處理單元的示意圖;以及
[0025]圖7是本發(fā)明實施例的匹配裝置中請求處理單元的示意圖。
【具體實施方式】
[0026]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
[0027]本發(fā)明實施例提供了一種資源請求的匹配方法,以下對本發(fā)明實施例所提供的資源請求的匹配方法進行具體介紹:
[0028]圖2是根據(jù)本發(fā)明實施例的匹配方法的流程圖,如圖2所示,該方法包括如下的步驟S201至步驟S203:
[0029]S201:獲取資源請求的特征,具體地,當用戶通過瀏覽器打開網(wǎng)頁時,瀏覽器首先會產(chǎn)生資源請求,之后再通過對資源請求進行響應來得到與資源請求相對應的網(wǎng)頁資源,其中,獲取資源請求的特征主要是獲取發(fā)起資源請求的網(wǎng)站的域、資源請求對應的網(wǎng)頁資源的類型和發(fā)起資源請求的網(wǎng)站的地址信息。
[0030]S202:加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫,即,加載規(guī)則數(shù)據(jù)庫中與資源請求的特征具有對應關系的匹配規(guī)則。
[0031]S203:利用加載的匹配規(guī)則對資源請求進行匹配。具體地,可以采用現(xiàn)有技術任意一種對資源請求進行匹配處理的方法。
[0032]本發(fā)明實施例的匹配方法在對資源請求進行規(guī)則匹配時,通過在對資源請求進行規(guī)則匹配時,獲取規(guī)則庫中與資源請求的特征相對應的規(guī)則,實現(xiàn)了減少對資源請求進行規(guī)則匹配的匹配次數(shù),避免了依次將資源請求與規(guī)則庫中所有規(guī)則進行匹配所造成的處理效率低,解決了現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題,進而達到了提高資源請求匹配效率的效果。
[0033]以步驟S203中采用字符串完整匹配方法、利用加載的匹配規(guī)則對資源請求進行匹配舉例說明:
[0034]首先,分別獲取表示資源請求的地址信息的字符串和表示加載的匹配規(guī)則的字符串,其中,表示資源請求的地址信息的字符串為發(fā)起資源請求的網(wǎng)站的URL地址所對應的字符串,表示加載的匹配規(guī)則的字符串為加載的匹配規(guī)則的編碼字符串。其中,若步驟S202中加載的匹配規(guī)則包括多條匹配規(guī)則時,則對表示各條匹配規(guī)則的字符串均進行獲取,得到多條字符串,一條字符串表示一條匹配規(guī)則。[0035]然后,判斷表示資源請求的地址信息的字符串與表示加載的匹配規(guī)則的字符串是否相同,即,判斷資源請求的URL地址字符串與表示加載的匹配規(guī)則的字符串是否相同,其中,若步驟S202中加載的匹配規(guī)則為多條規(guī)則的話,則將表示資源請求的地址信息的字符串與獲取到的每一條字符串進行對比以判斷是否相同。
[0036]最后,在判斷出表示資源請求的地址信息的字符串與表示加載的匹配規(guī)則的字符串相同時,確定資源請求與瀏覽器的匹配規(guī)則相匹配。若步驟S202中加載的匹配規(guī)則包括多條匹配規(guī)則,則在將表示資源請求的地址信息的字符串與獲取到的每一條字符串進行對比判斷后,若判斷出表示資源請求的地址信息的字符串與多條字符串中的任一字符串相同,則確定資源請求與瀏覽器的匹配規(guī)則相匹配。
[0037]本發(fā)明實施例中對匹配規(guī)則進行分類存儲的具體處理方法在圖3中示出,如圖3所示:
[0038]首先,接收瀏覽器中的匹配規(guī)則,對接收到的匹配規(guī)則的類型、作用域和關鍵詞進行獲取,其中,所謂類型是指對匹配規(guī)則進行編碼時程序預定的編碼字符串的枚舉類型,所謂作用域是指匹配規(guī)則需要在什么域名下生效,即,匹配規(guī)則可以應用的加載網(wǎng)站的域名即為該匹配規(guī)則的作用域,所謂加載網(wǎng)站是指對網(wǎng)頁資源進行加載的網(wǎng)站,在本發(fā)明實施例中發(fā)起資源請求的網(wǎng)站即是一個加載網(wǎng)站;
[0039]然后,對匹配規(guī)則進行分類后存儲,主要按照以下三種方式對匹配規(guī)則進行分類,方式一:按照獲取到的枚舉類型對匹配規(guī)則進行分類,并存儲獲取到的類型及匹配規(guī)則與類型的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在其歸屬的枚舉類型下;方式二:按照獲取到作用域?qū)ζヅ湟?guī)則進行分類,并存儲獲取到的作用域及匹配規(guī)則與作用域的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在其所應用的作用域下;方式三:按照獲取到的關鍵詞對匹配規(guī)則進行分類,并存儲關鍵詞及匹配規(guī)則與關鍵詞的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在對應的關鍵詞下。
[0040]其中,在本發(fā)明實施例中,將作用域分為兩種,一種是指定域,一種是全域,其中,當加載網(wǎng)站為預先指定的一部分網(wǎng)站中的任一網(wǎng)站時,匹配規(guī)則A生效,則這部分預先指定網(wǎng)站的域名的集合即為匹配規(guī)則A的指定域;當加載網(wǎng)站無論為什么網(wǎng)站時,匹配規(guī)則B均生效,則所有網(wǎng)站的域名集合即為匹配規(guī)則B的全域,其中,在全域下生效的匹配規(guī)則為全域規(guī)則,在指定域下生效的匹配規(guī)則為指定域規(guī)則。本發(fā)明實施例的枚舉類型包括enumHTML (html文檔資源)、enumCSS (層疊樣式表資源)、enumPicture (圖像資源)、enumJS(腳本資源)、enumObject (嵌入對象資源)、enumXML (xml文檔資源)、enumUndef (其他未定義類型);匹配規(guī)則的關鍵詞可以為匹配規(guī)則編碼字符串中的短字符串,即,通過對表示匹配規(guī)則的字符串進行分割來得到匹配規(guī)則的關鍵詞,具體分割方法為:對表示匹配規(guī)則的字符串進行讀取,在讀取過程中每讀取到一個第一字符,即對表示匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,所謂第一字符是指除字母字符和數(shù)字字符之外的字符;然后統(tǒng)計每個分割字符串中字符的個數(shù)多少;最后確定字符個數(shù)最多的分割字符串為匹配規(guī)則的關鍵詞,其中,若多個分割字符串中有兩個或兩個以上的分割字符串的字符個數(shù)均為N,并且其它分割字符串的字符個數(shù)都小于N,即,分割字符串中字符個數(shù)最多的分割字符串為多個,則確定任意一個字符個數(shù)為N的字符串為匹配規(guī)則的關鍵詞。舉例說明,表示某條匹配規(guī)則的字符串為“abcde-fghi j.klmnop.com/qrstuvw.html”,則確定"qrstuvw"為該條匹配規(guī)則的關鍵詞。
[0041]進一步地,本發(fā)明實施例中從規(guī)則數(shù)據(jù)庫中加載與資源請求的特征相對應的匹配規(guī)則包括按照以下方式中的至少一種或者兩種以兩種以上結(jié)合的方式進行加載:
[0042]方式一:以資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫中與資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對匹配規(guī)則進行加載,即,按照資源請求對應的網(wǎng)頁資源的類型從規(guī)則數(shù)據(jù)庫中加載與該類型相同的類型下的匹配規(guī)則,達到了避免加載與資源請求對應的網(wǎng)頁資源的類型不相同的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0043]方式二:以發(fā)起資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進行加載,即,按照發(fā)起資源請求的網(wǎng)站的域從規(guī)則數(shù)據(jù)庫中加載應用到該域下的匹配規(guī)則,達到了避免加載無法應用到發(fā)起資源請求的網(wǎng)站的域下的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0044]方式三:以發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,關鍵詞索引按照匹配規(guī)則的關鍵詞對匹配規(guī)則進行加載,即,按照地址信息進行加載,與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則滿足:表示地址信息的字符串中具有加載的匹配規(guī)則的關鍵詞,該加載方式同樣達到了減少匹配規(guī)則的加載量。
[0045]優(yōu)選地,在本發(fā)明實施例中可以將上述三種加載方式結(jié)合使用,具體地,按照以下加載步驟進行:
[0046]首先,對規(guī)則數(shù)據(jù)庫進行查找以判斷規(guī)則數(shù)據(jù)庫中是否存儲有第一類型,其中,第一類型與資源請求對應的網(wǎng)頁資源的類型相同,若能夠從規(guī)則數(shù)據(jù)庫中查找到第一類型,則說明判斷出規(guī)則數(shù)據(jù)庫中存儲有歸屬于第一類型的匹配規(guī)則,在該情況下,對規(guī)則數(shù)據(jù)庫中第一類型下的匹配規(guī)則的作用域進行獲取,得到第一作用域;
[0047]然后,判斷第一作用域中是否包括第一域,其中,第一域為發(fā)起資源請求的網(wǎng)站的域,若判斷出第一作用域中包括第一域,則對規(guī)則數(shù)據(jù)庫中應用于第一域的匹配規(guī)則的關鍵詞進行獲取,得到第一關鍵詞;
[0048]最后,判斷第一字符串是否包括第一關鍵詞,其中,第一字符串為表示地址信息的字符串,若判斷出第一字符串中包括第一關鍵詞,則對規(guī)則數(shù)據(jù)庫中包含第一關鍵詞的匹配規(guī)則進行加載,即,提取出第一關鍵詞對應的所有的完整規(guī)則進行加載。進一步地,若應用于第一域的匹配規(guī)則有多條的話,則獲取到的關鍵詞可為多個,即,第一關鍵詞包括多個關鍵詞,對于此種情況則判斷第一字符串中是否包括多個關鍵詞中的任一關鍵詞,若判斷出第一字符串中包括多個關鍵詞中的任一關鍵詞,則確定第一字符串中包括第一關鍵詞,假設第一字符串中包括的那個關鍵詞為關鍵詞K,則從規(guī)則數(shù)據(jù)庫中提取出關鍵詞K對應的所有的完整規(guī)則進行加載。
[0049]通過依次采用資源請求對應的網(wǎng)頁資源的類型、發(fā)起所述資源請求的網(wǎng)站的域和發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,對規(guī)則數(shù)據(jù)庫中的匹配規(guī)則進行依次篩選,最后加載同時滿足以上條件的匹配規(guī)則,實現(xiàn)了進一步減少匹配規(guī)則的加載量,以在后續(xù)將匹配規(guī)則與資源請求進行匹配時,采用更少量的匹配規(guī)則進行匹配,進一步地提高匹配效率。
[0050]需要說明的是,在本發(fā)明實施例中,采用“第一類型”這樣的描述語言,只是為了將資源請求對應的網(wǎng)頁資源的類型與其它類型進行區(qū)分,并非是對網(wǎng)頁資源的類型的次序做限定。采用“第一作用域”、“第一關鍵詞”這樣的描述語言的理由與上述說明類似。
[0051]通過以上描述可以看出,本發(fā)明實施例的資源請求的匹配方法主要分為兩部分,一部分是對瀏覽器中的各功能所使用的匹配規(guī)則進行處理,另一部分是利用處理后的匹配規(guī)則對資源請求進行匹配處理,這兩部分流程分別在不同階段獨立進行,互不影響,其中,對匹配規(guī)則的分類處理在資源請求的匹配處理之前進行。本發(fā)明實施例通過對匹配規(guī)則進行了特定的分類處理(按照類型、作用域等特性進行了劃分),在對某項資源請求進行匹配時,每次只需加載部分特定的匹配規(guī)則即可;按照本發(fā)明實施例的處理流程(在圖4中示出),無論匹配規(guī)則總數(shù)量的多少,每項資源請求在沒有重復匹配規(guī)則的情況下只需進行2-4次比對,即可完成完整的匹配過程,減少了匹配次數(shù);傳統(tǒng)的單一固定地將瀏覽器的資源請求與字符串規(guī)則進行一一比對的匹配流程,每項資源請求所需要的比對次數(shù)基本等同于規(guī)則的總數(shù)量;二者相比,本發(fā)明實施例的匹配方法明顯提高了匹配效率。[0052]更進一步地,在接收到匹配規(guī)則之后,并且在獲取匹配規(guī)則的類型、作用域和關鍵詞之前,本發(fā)明實施例的匹配方法還包括對匹配規(guī)則是否發(fā)生修改的判斷,此處舉例說明一種判斷匹配規(guī)則是否發(fā)生修改的方法:首先,對接收到的匹配規(guī)則的時間屬性進行獲取,并對規(guī)則數(shù)據(jù)庫的時間屬性進行獲取;然后,對比判斷接收到的匹配規(guī)則的時間屬性對應的時刻是否在規(guī)則數(shù)據(jù)庫的時間屬性對應的時刻之后,若前者在后者之后,則說明在前一次對匹配規(guī)則進行分類存儲到規(guī)則數(shù)據(jù)庫后,匹配規(guī)則發(fā)生了修改,在這種情況下需對匹配規(guī)則再次進行分類存儲;若前者不在后者之后,則說明在前一次對匹配規(guī)則進行分類存儲到規(guī)則數(shù)據(jù)庫后,匹配規(guī)則沒有發(fā)生修改,在這種情況下無需對匹配規(guī)則進行再次分類存儲。
[0053]其中,本發(fā)明實施例的匹配方法中在對資源請求對應的網(wǎng)頁資源的類型進行確定是可以采用以下方法進行:先對產(chǎn)生資源請求的內(nèi)核類型進行獲取并判斷產(chǎn)生資源請求的內(nèi)核類型是Webkit內(nèi)核還是Trident內(nèi)核。對于瀏覽器內(nèi)核為Webkit內(nèi)核的情況,瀏覽器通過Webkit內(nèi)核產(chǎn)生資源請求時,會在封裝層做出修改,使其在請求資源時通過ResourceDispatcherHostlmpl:: OnRequestResource> ResourceDispatcherHostImpl::BeginRequest等函數(shù)回調(diào)給處理函數(shù),由于Webkit內(nèi)核在內(nèi)部預定義了 ResourceType,所以對于Webkit內(nèi)核瀏覽器所產(chǎn)生的資源請求對應的資源類型可以直接獲取得到;而對于瀏覽器內(nèi)核為Trident內(nèi)核的情況,對該瀏覽器內(nèi)核所產(chǎn)生的資源請求對應的網(wǎng)頁資源的確定,可以通過程序注冊“異步可插協(xié)議”(Asynchronous Pluggable Protocol),使該內(nèi)核請求的所有資源經(jīng)由 COInetProt::StartEx> ClnternetProtocolFiIter::Start 等函數(shù)回調(diào)給程序,以此獲得所有資源請求的地址信息,并通過對該地址信息的擴展名信息進行分類得到請求的網(wǎng)頁資源的類型。
[0054]本發(fā)明實施例還提供了一種資源請求的匹配裝置,以下對本發(fā)明實施例所提供的資源請求的匹配這種進行具體介紹:
[0055]圖5是根據(jù)本發(fā)明實施例的匹配裝置的示意圖,如圖5所示,該實施例的匹配裝置包括第一獲取單元10、加載單元20和匹配單元30。[0056]具體地,第一獲取單元10用于獲取資源請求的特征,具體地,當用戶通過瀏覽器打開網(wǎng)頁時,瀏覽器首先會產(chǎn)生資源請求,之后再通過對資源請求進行響應來得到與資源請求相對應的網(wǎng)頁資源,其中,獲取資源請求的特征主要是獲取發(fā)起資源請求的網(wǎng)站的域、資源請求對應的網(wǎng)頁資源的類型和發(fā)起資源請求的網(wǎng)站的地址信息。
[0057]加載單元20用于加載規(guī)則數(shù)據(jù)庫中與資源請求的特征相對應的匹配規(guī)則,其中,規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫,即,加載規(guī)則數(shù)據(jù)庫中與資源請求的特征具有對應關系的匹配規(guī)則。
[0058]匹配單元30用于利用加載的匹配規(guī)則對資源請求進行匹配。具體地,可以采用現(xiàn)有技術任意一種對資源請求進行匹配處理的方法。
[0059]本發(fā)明實施例的匹配裝置在對資源請求進行規(guī)則匹配時,通過在對資源請求進行規(guī)則匹配時,獲取規(guī)則庫中與資源請求的特征相對應的規(guī)則,實現(xiàn)了減少對資源請求進行規(guī)則匹配的匹配次數(shù),避免了依次將資源請求與規(guī)則庫中所有規(guī)則進行匹配所造成的處理效率低,解決了現(xiàn)有技術中對資源請求進行匹配時處理效率低的問題,進而達到了提高資源請求匹配效率的效果。
[0060]匹配單元30利用加載的匹配規(guī)則對資源請求進行匹配的匹配方法為:
[0061]首先,分別獲取表示資源請求的地址信息的字符串和表示加載的匹配規(guī)則的字符串,其中,表示資源請求的地址信息的字符串為發(fā)起資源請求的網(wǎng)站的URL地址所對應的字符串,表示加載的匹配規(guī)則的字符串為加載的匹配規(guī)則的編碼字符串。其中,若加載單元20中加載的匹配規(guī)則包括多條匹配規(guī)則時,則對表示各條匹配規(guī)則的字符串均進行獲取,得到多條字符串,一條字符串表示一條匹配規(guī)則。
[0062]然后,判斷表示資源請求的地址信息的字符串與表示加載的匹配規(guī)則的字符串是否相同,即,判斷資源請求的URL地址字符串與表示加載的匹配規(guī)則的字符串是否相同,其中,若加載單元20中加載的匹配規(guī)則為多條規(guī)則的話,則將表示資源請求的地址信息的字符串與獲取到的每一條字符串進行對比以判斷是否相同。
[0063]最后,若判斷出表示資源請求的地址信息的字符串與表示加載的匹配規(guī)則的字符串相同,則確定資源請求與瀏覽器的匹配規(guī)則相匹配。若加載單元20中加載的匹配規(guī)則包括多條匹配規(guī)則,則在將表示資源請求的地址信息的字符串與獲取到的每一條字符串進行對比判斷后,若判斷出表示資源請求的地址信息的字符串與多條字符串中的任一字符串相同,則確定資源請求與瀏覽器的匹配規(guī)則相匹配。
[0064]本發(fā)明實施例中在對匹配規(guī)則進行分類存儲時,可以采用匹配裝置中的規(guī)則處理單元進行處理,其中,規(guī)則處理單元的示意圖在圖6中示出,如圖6所示,規(guī)則處理單元包括原始規(guī)則讀取單元、索引單元和快表輸出單元,其中,原始規(guī)則讀取單元(即,接收單元)用于用瀏覽器中的匹配規(guī)則進行讀取,索引單元用于對匹配規(guī)則進行處理,快表輸出單元是對索引單元的輸出結(jié)果進行存儲的單元,也即是規(guī)則數(shù)據(jù)庫。其中,索引單元主要通過第二獲取單元以及第一至第三處理單元對匹配規(guī)則進行處理:
[0065]具體地,第二獲取單元用于獲取匹配規(guī)則的類型、作用域和關鍵詞,其中,所謂類型是指對匹配規(guī)則進行編碼時程序預定的編碼字符串的枚舉類型,所謂作用域是指匹配規(guī)則需要在什么域名下生效,即,匹配規(guī)則可以應用的加載網(wǎng)站的域名即為該匹配規(guī)則的作用域,所謂加載網(wǎng)站是指對網(wǎng)頁資源進行加載的網(wǎng)站,在本發(fā)明實施例中發(fā)起資源請求的網(wǎng)站即是一個加載網(wǎng)站;第一處理單元用于按照獲取到的枚舉類型對匹配規(guī)則進行分類,并存儲獲取到的類型及匹配規(guī)則與類型的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在其歸屬的枚舉類型下;第二處理單元用于按照獲取到作用域?qū)ζヅ湟?guī)則進行分類,并存儲獲取到的作用域及匹配規(guī)則與作用域的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在其所應用的作用域下;第三處理單元用于按照獲取到的關鍵詞對匹配規(guī)則進行分類,并存儲關鍵詞及匹配規(guī)則與關鍵詞的對應關系,即,將匹配規(guī)則中的各條規(guī)則對應存儲在對應的關鍵詞下。其中,第二獲取單元通過讀取子單元對表示匹配規(guī)則的字符串進行讀取,在讀取過程中每讀取到一個第一字符,即由分割子單元對表示匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,所謂第一字符是指除字母字符和數(shù)字字符之外的字符;然后由統(tǒng)計子單元統(tǒng)計每個分割字符串中字符的個數(shù)多少;最后由確定子單元確定字符個數(shù)最多的分割字符串為匹配規(guī)則的關鍵詞。
[0066]本發(fā)明實施例中在對匹配規(guī)則進行加載時,可以采用匹配裝置中的請求處理單元進行處理,其中,請求處理單元的示意圖在圖7中示出,如圖7所示,請求處理單元包括類型匹配單元、作用域匹配單元和關鍵詞匹配單元。
[0067]其中,類型匹配單元也稱作第一加載子單元,主要用于以資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載規(guī)則數(shù)據(jù)庫中與資源請求請求的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,類型索引按照匹配規(guī)則的類型對匹配規(guī)則進行加載,即,按照資源請求對應的網(wǎng)頁資源的類型從規(guī)則數(shù)據(jù)庫中加載與該類型相同的類型下的匹配規(guī)則,達到了避免加載與資源請求對應的網(wǎng)頁資源的類型不相同的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0068]作用域匹配單元也稱作第二加載子單元,主要用于以發(fā)起資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,作用域索引按照匹配規(guī)則的作用域?qū)ζヅ湟?guī)則進行加載,即,按照發(fā)起資源請求的網(wǎng)站的域從規(guī)則數(shù)據(jù)庫中加載應用到該域下的匹配規(guī)則,達到了避免加載無法應用到發(fā)起資源請求的網(wǎng)站的域下的匹配規(guī)則,減少了匹配規(guī)則的加載量。
[0069]關鍵詞匹配單元也稱作第三加載子單元,主要用于以發(fā)起資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載規(guī)則數(shù)據(jù)庫中與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,關鍵詞索引按照匹配規(guī)則的關鍵詞對匹配規(guī)則進行加載,即,按照地址信息進行加載,與發(fā)起資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則滿足:表示地址信息的字符串中具有加載的匹配規(guī)則的關鍵詞,該加載方式同樣達到了減少匹配規(guī)則的加載量。
[0070]進一步地,本發(fā)明實施例中的類型匹配單元、作用域匹配單元和關鍵詞匹配單元可以結(jié)合起來進行匹配規(guī)則的加載,具體地,由第一加載子單元中的第一判斷模塊用于按照資源請求對應的網(wǎng)頁資源的類型(以下稱作第一類型)從規(guī)則數(shù)據(jù)庫中查找是否存儲有與第一類型,若查找判斷出規(guī)則數(shù)據(jù)庫中存儲有第一類型,則則說明判斷出規(guī)則數(shù)據(jù)庫中存儲有歸屬于第一類型的匹配規(guī)則,此時,由第一加載子單元中的第一獲取模塊對規(guī)則數(shù)據(jù)庫中第一類型下的匹配規(guī)則的作用域進行獲取,得到第一作用域;然后由第二加載子單元中的第二判斷模塊查找判斷第一作用域中是否包括第一域,其中,第一域為發(fā)起資源請求的網(wǎng)站的域,若判斷出第一作用域中包括第一域,則由第二加載子單元中的第二獲取模塊對規(guī)則數(shù)據(jù)庫中應用于第一域的匹配規(guī)則的關鍵詞進行獲取,得到第一關鍵詞;最后,由第三加載子單元中的第三判斷模塊判斷第一字符串是否包括第一關鍵詞,其中,第一字符串為表示地址信息的字符串,若判斷出第一字符串中包括第一關鍵詞,則由第三加載子單元中的加載模塊對規(guī)則數(shù)據(jù)庫中包含第一關鍵詞的匹配規(guī)則進行加載,即,提取出第一關鍵詞對應的所有的完整規(guī)則進行加載。
[0071]通過依次采用類型匹配單元、作用域匹配單元和關鍵詞匹配單元對規(guī)則數(shù)據(jù)庫中的匹配規(guī)則進行依次篩選,最后加載同時滿足以上條件的匹配規(guī)則,實現(xiàn)了進一步減少匹配規(guī)則的加載量,以在后續(xù)將匹配規(guī)則與資源請求進行匹配時,采用更少量的匹配規(guī)則進行匹配,進一步地提高匹配效率。
[0072]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了極大的減少每項資源請求的匹配次數(shù),提升匹配速度;同時由于原始匹配規(guī)則處理與資源匹配處理過程分開獨立進行,且在資源匹配過程中每次需要加載的匹配規(guī)則大大減少,因此在匹配過程中,程序的資源占用也大幅度的降低。使用本發(fā)明的方法,尤其是在瀏覽器處理大量資源匹配請求時,可極大的提高程序處理速度,降低程序CPU (Central Processing Unit,中央處理器)及內(nèi)存資源占用。
[0073]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0074]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0075]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種資源請求的匹配方法,其特征在于,包括: 獲取資源請求的特征; 加載規(guī)則數(shù)據(jù)庫中與所述資源請求的特征相對應的匹配規(guī)則,其中,所述規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及利用加載的匹配規(guī)則對所述資源請求進行匹配。
2.根據(jù)權利要求1所述的匹配方法,其特征在于,對匹配規(guī)則進行分類存儲包括: 接收所述匹配規(guī)則; 獲取所述匹配規(guī)則的類型、作用域和關鍵詞,其中,所述作用域為所述匹配規(guī)則可應用的加載網(wǎng)站的域名,所述加載網(wǎng)站為加載網(wǎng)頁資源的網(wǎng)站; 按照獲取到的類型對所述匹配規(guī)則進行分類,并存儲所述類型及所述匹配規(guī)則與所述類型的對應關系; 按照獲取到的作用域?qū)λ銎ヅ湟?guī)則進行分類,并存儲所述作用域及所述匹配規(guī)則與所述作用域的對應關系 ;以及 按照獲取到的關鍵詞對所述匹配規(guī)則進行分類,并存儲所述關鍵詞及所述匹配規(guī)則與所述關鍵詞的對應關系。
3.根據(jù)權利要求2所述的匹配方法,其特征在于,通過以下方式獲取所述匹配規(guī)則的關鍵詞: 讀取表示所述匹配規(guī)則的字符串; 在讀取過程中每讀取到一個第一字符,對表示所述匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,所述第一字符既不是字母字符也不是數(shù)字字符; 統(tǒng)計每個分割字符串的字符量的多少;以及 確定字符量最多的分割字符串為所述匹配規(guī)則的關鍵詞。
4.根據(jù)權利要求2所述的匹配方法,其特征在于,所述資源請求的特征包括發(fā)起所述資源請求的網(wǎng)站的域、所述資源請求對應的網(wǎng)頁資源的類型和發(fā)起所述資源請求的網(wǎng)站的地址信息,其中,加載規(guī)則數(shù)據(jù)庫中與所述資源請求的特征相對應的匹配規(guī)則包括采用以下加載方式中的至少一種進行加載: 以所述資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫中與所述資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,所述類型索引按照所述匹配規(guī)則的類型對所述匹配規(guī)則進行加載; 以發(fā)起所述資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,所述作用域索引按照所述匹配規(guī)則的作用域?qū)λ銎ヅ湟?guī)則進行加載;以及 以發(fā)起所述資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,所述關鍵詞索引按照所述匹配規(guī)則的關鍵詞對所述匹配規(guī)則進行加載。
5.根據(jù)權利要求4所述的匹配方法,其特征在于, 以所述資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫中與所述資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則包括: 查找所述規(guī)則數(shù)據(jù)庫以判斷所述規(guī)則數(shù)據(jù)庫中是否存儲有第一類型,其中,所述第一類型與所述資源請求對應的網(wǎng)頁資源的類型相同;以及 若判斷出所述規(guī)則數(shù)據(jù)庫中存儲有所述第一類型,則獲取所述規(guī)則數(shù)據(jù)庫中所述第一類型下的匹配規(guī)則的作用域,得到第一作用域, 以發(fā)起所述資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的域相對應的匹配規(guī)則包括: 判斷所述第一作用域中是否包括第一域,其中,所述第一域為發(fā)起所述資源請求的網(wǎng)站的域;以及 若判斷出所述第一作用域中包括所述第一域,則獲取所述規(guī)則數(shù)據(jù)庫中應用于所述第一域的匹配規(guī)則的關鍵詞,得到第一關鍵詞, 以發(fā)起所述資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則包括: 判斷第一字符串是否包括所述第一關鍵詞,其中,所述第一字符串為表示所述地址信息的字符串;以及 若判斷出所述第一字符串中包括所述第一關鍵詞,則加載所述規(guī)則數(shù)據(jù)庫中包含所述第一關鍵詞的匹配規(guī)則。
6.根據(jù)權利要求2所述的匹配方法,其特征在于,在獲取所述匹配規(guī)則的類型、作用域和關鍵詞之前,所述匹配方法還包括: 獲取接收到的所述匹配規(guī)則的時間屬性; 獲取所述規(guī)則數(shù)據(jù)庫的時間屬性;以及 判斷接收到的所述匹配規(guī)則的時間屬性對應的時刻是否在所述規(guī)則數(shù)據(jù)庫的時間屬性對應的時刻之后, 其中,若判斷出接收到的所述匹配規(guī)則的時間屬性對應的時刻在所述規(guī)則數(shù)據(jù)庫的時間屬性對應的時刻之后,則獲取所述匹配規(guī)則的類型、作用域和關鍵詞。
7.一種資源請求的匹配裝置,其特征在于,包括: 第一獲取單元,用于獲取資源請求的特征; 加載單元,用于加載規(guī)則數(shù)據(jù)庫中與所述資源請求的特征相對應的匹配規(guī)則,其中,所述規(guī)則數(shù)據(jù)庫為瀏覽器中對匹配規(guī)則進行分類存儲的數(shù)據(jù)庫;以及匹配單元,用于利用加載的匹配規(guī)則對所述資源請求進行匹配。
8.根據(jù)權利要求7所述的匹配裝置,其特征在于,所述匹配裝置還包括: 接收單元,用于接收所述匹配規(guī)則; 第二獲取單元,用于獲取所述匹配規(guī)則的類型、作用域和關鍵詞,其中,所述作用域為所述匹配規(guī)則可應用的加載網(wǎng)站的域名,所述加載網(wǎng)站為加載網(wǎng)頁資源的網(wǎng)站; 第一處理單元,用于按照獲取到的類型對所述匹配規(guī)則進行分類,并存儲所述類型及所述匹配規(guī)則與所述類型的對應關系; 第二處理單元,用于按照獲取到的作用域?qū)λ銎ヅ湟?guī)則進行分類,并存儲所述作用域及所述匹配規(guī)則與所述作用域的對應關系;以及 第三處理單元,用于按照獲取到的關鍵詞對所述匹配規(guī)則進行分類,并存儲所述關鍵詞及所述匹配規(guī)則與所述關鍵詞的對應關系。
9.根據(jù)權利要求8所述的匹配裝置,其特征在于,所述第二獲取單元包括:讀取子單元,用于讀取表示所述匹配規(guī)則的字符串; 分割子單元,用于在讀取過程中每讀取到一個第一字符,對表示所述匹配規(guī)則的字符串進行一次分割,得到多個分割字符串,其中,所述第一字符既不是字母字符也不是數(shù)字字符; 統(tǒng)計子單元,用于統(tǒng)計每個分割字符串的字符量的多少;以及 確定子單元,用于確定字符量最多的分割字符串為所述匹配規(guī)則的關鍵詞。
10.根據(jù)權利要求8所述的匹配裝置,其特征在于,所述資源請求的特征包括發(fā)起所述資源請求的網(wǎng)站的域、所述資源請求對應的網(wǎng)頁資源的類型和發(fā)起所述資源請求的網(wǎng)站的地址信息,其中,所述加載單元包括: 第一加載子單元,用于以所述資源請求對應的網(wǎng)頁資源的類型作為索引詞,并按照類型索引方式加載所述規(guī)則數(shù)據(jù)庫中與所述資源請求對應的網(wǎng)頁資源的類型相對應的匹配規(guī)則,其中,所述類型索引按照所述匹配規(guī)則的類型對所述匹配規(guī)則進行加載; 第二加載子單元,用于以發(fā)起所述資源請求的網(wǎng)站的域作為索引詞,并按照作用域索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的域相對應的匹配規(guī)則,其中,所述作用域索引按照所述匹配規(guī)則的作用域?qū)λ銎ヅ湟?guī)則進行加載;以及 第三加載子單元,用于以發(fā)起所述資源請求的網(wǎng)站的地址信息作為索引詞,并按照關鍵詞索引方式加載所述規(guī)則數(shù)據(jù)庫中與發(fā)起所述資源請求的網(wǎng)站的地址信息相對應的匹配規(guī)則,其中,所述關鍵詞索引按照所述匹配規(guī)則的關鍵詞對所述匹配規(guī)則進行加載。
11.根據(jù)權利要求10所述的匹配裝置,其特征在于, 所述第一加載單元包括: 第一判斷模塊,用于查找所述規(guī)則數(shù)據(jù)庫以判斷所述規(guī)則數(shù)據(jù)庫中是否存儲有第一類型,其中,所述第一類型與所述資源請求對應的網(wǎng)頁資源的類型相同;以及 第一獲取模塊,用于在判斷出所述規(guī)則數(shù)據(jù)庫中存儲有所述第一類型時,獲取所述規(guī)則數(shù)據(jù)庫中所述第一類型下的匹配規(guī)則的作用域,得到第一作用域, 所述第二加載單元包括: 第二判斷模塊,用于判斷所述第一作用域中是否包括第一域,其中,所述第一域為發(fā)起所述資源請求的網(wǎng)站的域;以及 第二獲取模塊,用于在判斷出所述第一作用域中包括所述第一域時,獲取所述規(guī)則數(shù)據(jù)庫中應用于所述第一域的匹配規(guī)則的關鍵詞,得到第一關鍵詞, 所述第三加載單元包括: 第三判斷模塊,用于判斷第一字符串是否包括所述第一關鍵詞,其中,所述第一字符串為表示所述地址信息的字符串;以及 加載模塊,用于在判斷出所述第一字符串中包括所述第一關鍵詞時,加載所述規(guī)則數(shù)據(jù)庫中包含所述第一關鍵詞的匹配規(guī)則。
【文檔編號】G06F17/30GK103914479SQ201310004211
【公開日】2014年7月9日 申請日期:2013年1月6日 優(yōu)先權日:2013年1月6日
【發(fā)明者】楊振輝, 丁川達, 張?zhí)煲? 徐鳴 申請人:北京金山安全軟件有限公司, 北京金山網(wǎng)絡科技有限公司, 貝殼網(wǎng)際(北京)安全技術有限公司, 可牛網(wǎng)絡技術(北京)有限公司