本發(fā)明涉及互聯(lián)網(wǎng)技術領域,具體涉及一種檢測推廣URL有效性和安全性的方法和裝置。
背景技術:
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,互聯(lián)網(wǎng)用戶日益增多,形成巨大的推廣受眾,越來越多的具有推廣需求的推廣方希望通過互聯(lián)網(wǎng)進行推廣和宣傳,以提高推廣效率。通常情況下,推廣方通過URL鏈接的方式將推廣內(nèi)容發(fā)布給瀏覽者,該URL表征了一個具體的推廣內(nèi)容在互聯(lián)網(wǎng)上的地址,被稱作“推廣URL”,當瀏覽者點擊推廣URL時,對應的目標推廣內(nèi)容將顯示在瀏覽器上,并且根據(jù)目標推廣內(nèi)容的類型進行打開和運行,實現(xiàn)了向瀏覽者推送推廣內(nèi)容的方案。
然而,當推廣URL中包含的目標推廣內(nèi)容的信息發(fā)生異常,如信息過期或信息刪除等情況時,將導致瀏覽者無法訪問該推廣URL,即該推廣URL失效,成為失效的推廣URL。此外,如果推廣URL被植入惡意代碼或被掛載木馬,成為惡意的推廣URL,瀏覽者在訪問該推廣URL時,這些惡意程序會侵入瀏覽者的計算機系統(tǒng)使之感染惡意代碼或計算機病毒。大量的失效的推廣URL和惡意的推廣URL在白白占用互聯(lián)網(wǎng)資源的同時,不僅無法滿足推廣方的推廣需求、無法滿足瀏覽者對推廣內(nèi)容的瀏覽需求,還對瀏覽者的信息安全造成極大的威脅;因此,對推廣URL有效性和安全性的檢測至關重要。
目前,在發(fā)布的推廣URL中,有相當一部分推廣URL尤其是人工維護的推廣URL,只通過人工來檢測推廣URL的有效性和安全性,該檢測方案效率較低且檢測結果誤差較大。
技術實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種檢測推廣URL有效性和安全性的方法和裝置。
依據(jù)本發(fā)明的一個方面,提供了一種檢測推廣URL有效性和安全性的方法,該方法包括:
獲取待檢測的推廣URL;
將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果;以及,
對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL;如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中;如果存在則直接確定該推廣URL為非惡意。
可選地,所述將該推廣URL保存到緩存中包括:將該推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
可選地,所述將每個待檢測的推廣URL下發(fā)給爬蟲程序包括:按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器;爬蟲調(diào)度器將收到的推廣URL下發(fā)給相應的爬蟲程序;
在所述獲得推廣URL的有效性的檢測結果之后,該方法進一步包括:爬蟲程序?qū)@得的推廣URL有效性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
可選地,所述檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;
則所述按照預設策略從檢測服務器集群中選擇一個檢測服務器包括:根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。
可選地,所述從選擇的該檢測服務器組中選擇一個檢測服務器包括:向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器。
可選地,所述從選擇的該檢測服務器組中選擇一個檢測服務器包括:
向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間;
將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
可選地,所述方法進一步包括:所述選擇的該檢測服務器組中的各檢測服務器同步保存爬蟲調(diào)度器返回的推廣URL有效性的檢測結果。
可選地,所述檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器包括:檢測服務器將收到的推廣URL分發(fā)到與該推廣URL的IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。
依據(jù)本發(fā)明的另一個方面,提供了一種檢測推廣URL有效性和安全性的裝置,該裝置包括:
獲取單元,適于獲取待檢測的推廣URL;
有效性檢測單元,適于將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果;
安全性檢測單元,適于對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL;如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中;如果存在則直接確定該推廣URL為非惡意。
可選地,所述安全性檢測單元,適于將該推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
可選地,所述有效性檢測單元,適于按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;利用檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器;利用爬蟲調(diào)度器將收到的推廣URL下發(fā)給相應的爬蟲程序;
所述有效性檢測單元,進一步適于利用爬蟲程序?qū)@得的推廣URL有效 性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
可選地,所述檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;
所述有效性檢測單元,適于根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。
可選地,所述有效性檢測單元,適于向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器。
可選地,所述有效性檢測單元,適于向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間;將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
可選地,所述有效性檢測單元,進一步適于在檢測服務器接收到爬蟲調(diào)度器返回的推廣URL有效性的檢測結果時,將該推廣URL有效性的檢測結果在該檢測服務器所屬的檢測服務器組中進行廣播,使得同一檢測服務器組中的各檢測服務器均保存該推廣URL有效性的檢測結果。
可選地,所述有效性檢測單元,適于利用檢測服務器將收到的推廣URL分發(fā)到與該推廣URL的IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。
由上述可知,在通過推廣URL推送推廣內(nèi)容的場景中,需要對推廣URL的有效性和安全性進行高效、準確地檢測,以保證推送的有效性;本發(fā)明提供的技術方案對于待檢測的推廣URL,一方面,將待檢測的推廣URL下發(fā)給爬蟲程序,通過爬蟲程序訪問推廣URL的方式檢測推廣URL的有效性;另一方面,建立在緩存中保存已檢測安全性且安全性檢測結果為非惡意的推廣URL的機制,通過先在緩存中查找待檢測的推廣URL,若不存在再調(diào)用安全檢測服務器的安全檢測接口的方式檢測推廣URL的安全性。依據(jù)本方案 對推廣URL進行檢測,能夠快速、準確地獲知推廣URL的有效性和安全性檢測結果,并且對于已檢測安全性且安全性檢測結果為非惡意的推廣URL,在對其進行多次檢測時,無需重復調(diào)用第三方安全檢測服務器的安全檢測接口,大大減輕了安全檢測服務器的負荷,大幅提高檢測效率。
上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性和安全性的方法流程圖;
圖2示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性的數(shù)據(jù)流示意圖;
圖3示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性和安全性的裝置的示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領域的技術人員。
在互聯(lián)網(wǎng)領域中,對于推廣方利用推廣URL向瀏覽者推送推廣內(nèi)容的場景,為保證推送過程的有效性和安全性,需要定期檢測推廣URL的有效性和安全性,以避免由于推廣URL失效和/或推廣URL被惡意攻擊而給推廣方和瀏覽方帶來的不便與損失?;诖?,本發(fā)明提供了一種檢測推廣URL有效性 和安全性的方法和系統(tǒng),下文將通過具體的實施例對其進行詳細的說明。
圖1示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性和安全性的方法流程圖。如圖1所示,該方法包括:
步驟S110,獲取待檢測的推廣URL。
步驟S120,將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果。
步驟S130,對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL。
步驟S140,如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中。
步驟S150,如果存在則直接確定該推廣URL為非惡意。
可見,圖1所示的方法對于待檢測的推廣URL,一方面,將待檢測的推廣URL下發(fā)給爬蟲程序,通過爬蟲程序訪問推廣URL的方式檢測推廣URL的有效性;另一方面,建立在緩存中保存已檢測安全性且安全性檢測結果為非惡意的推廣URL的機制,通過先在緩存中查找待檢測的推廣URL,若不存在再調(diào)用安全檢測服務器的安全檢測接口的方式檢測推廣URL的安全性。依據(jù)本方案對推廣URL進行檢測,能夠快速、準確地獲知推廣URL的有效性和安全性檢測結果,并且對于已檢測安全性且安全性檢測結果為非惡意的推廣URL,在對其進行多次檢測時,無需重復調(diào)用第三方安全檢測服務器的安全檢測接口,大大減輕了安全檢測服務器的負荷,大幅提高檢測效率。
在本發(fā)明的一個實施例中,圖1所示方法的步驟S140,將安全性檢測結果為非惡意的推廣URL保存到緩存中包括:將安全性檢測結果為非惡意的推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
其中,所述布隆過濾器是一種空間效率很高的隨機數(shù)據(jù)結構,它利用位組很簡潔地表示一個集合,并能判斷一個元素是否屬于這個集合。在本實施例中,將每個安全性檢測結果為非惡意的推廣URL經(jīng)過多個哈希函數(shù)映射到布隆過濾器中的多個位上,只需標記推廣URL的映射位即可將該推廣URL的信息保存下來。
例如,設置一個m位的位組(BitSet),BitSet相當于是一個二進制容器,容器中每一位上的元素都是一位二進制碼,或為0,或為1,先將所有位初始化為0,然后選擇k個不同的哈希函數(shù),第i個哈希函數(shù)對待保存的推廣URL哈希的結果記為h(i,推廣URL),且h(i,推廣URL)的范圍是0到m-1。對于待保存的推廣URL,分別計算h(1,推廣URL),h(2,推廣URL),……,h(k,推廣URL),然后將BitSet的第h(1,推廣URL),h(2,推廣URL),……,h(k,推廣URL)位均設為1,這樣就將待保存的推廣URL映射到BitSet中的k個二進制位上了。
則與之對應地,對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL的過程即為檢查該推廣URL是否被BitSet記錄過的過程:對于該推廣URL,分別計算h(1,推廣URL),h(2,推廣URL),……,h(k,推廣URL),然后檢查BitSet的第h(1,推廣URL),h(2,推廣URL),……,h(k,推廣URL)位是否均為1,是則認為該推廣URL被BitSet記錄過,直接確定該推廣URL為非惡意;否則認為該推廣URL沒有被BitSet記錄過,需要進一步調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果。
圖2示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性的數(shù)據(jù)流示意圖。如圖2所示,一個或多個任務代理器獲取待檢測推廣URL,對于獲取的每個推廣URL,按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;各檢測服務器將收到的推廣URL分發(fā)到多個爬蟲調(diào)度器上;各爬蟲調(diào)度器將收到的推廣URL分發(fā)給相應的多個爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果;此外,各爬蟲程序?qū)@得的推廣URL有效性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
需要說明的是,圖2中可以包括一個或多個任務代理器,多個任務代理器的地位是等價的,且其中的每個任務代理器與一個任務代理器的執(zhí)行邏輯是一致的,因此,圖2中僅示出一個任務代理器作為代表進行說明;檢測服務器集群中的各檢測服務器與爬蟲調(diào)度器的交互關系對應相同,各爬蟲調(diào)度器與爬蟲程序的交互關系也對應相同;因此,圖2中僅示出第一個檢測服務 器與多個爬蟲調(diào)度器的交互關系作為代表進行說明,以及第一個爬蟲調(diào)度器與多個爬蟲程序的交互關系作為代表進行說明。
在本實施例中,圖2所示的檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;則所述按照預設策略從檢測服務器集群中選擇一個檢測服務器包括:根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。通過這樣的設置,大量待檢測推廣URL被分散到多個檢測服務器組中的多個檢測服務器上進行處理,大大減輕了各檢測服務器的檢測壓力,提高檢測效率,降低檢測故障發(fā)生率。
具體地,上述從選擇的該檢測服務器組中選擇一個檢測服務器包括:向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器;即從選擇的該檢測服務器中選擇當前響應最快的一個檢測服務器,用于接收當前待檢測推廣URL。在一些情況下,在上述向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間的過程中,經(jīng)常會由于網(wǎng)絡抖動而導致各檢測服務器的當前響應時間不穩(wěn)定,為此,在獲得各檢測服務器的當前響應時間后,可以將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
例如,任務代理器向一個檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的響應時間,在上一個時間段,響應時間最短的檢測服務器為A檢測服務器,而在當前時間段,響應時間最短的檢測服務器為B服務器,為去除網(wǎng)絡抖動造成的影響,預設T0,將A檢測服務器的當前響應時間TA和B檢測服務器的當前響應時間TB進行比較,如果TA-TB≥T0,則表明在當前時間段內(nèi)B檢測服務器的性能確實優(yōu)于A檢測服務器,因此選擇B檢測服務器;如果TA-TB<T0,則表明在當前時間段內(nèi)B檢測服務器的響應速度快于A檢測服務器可能是網(wǎng)絡抖動所造成的,不能確定B檢測服務器的性能確實優(yōu)于A檢測服務器,因此依然沿用A檢測服務器。
在本實施例中,在各爬蟲程序獲得的推廣URL有效性的檢測結果最終將返回給相應的檢測服務器之后,進一步地,相應的檢測服務器所在的檢測服務器組中的所有檢測服務器同步保存返回的推廣URL有效性的檢測結果。通過這樣的設置,使得同一個檢測服務器組中的所有檢測服務器能夠分享其中任一個檢測服務器所得到的推廣URL有效性的檢測結果,保持組內(nèi)同步更新的狀態(tài),當調(diào)用同一個檢測服務器組中的任一個檢測服務器時,即可獲知歷史檢測結果,無需對相同的推廣URL進行重復檢測。
本實施例中,爬蟲調(diào)度器可以是檢測服務器中的模塊,也可以是硬件上獨立于檢測服務器的機器,當爬蟲調(diào)度器是硬件上獨立于檢測服務器的機器時,圖2中的各檢測服務器將收到的推廣URL分發(fā)到多個爬蟲調(diào)度器上包括:各檢測服務器將收到的每個推廣URL進行DNS解析,得到該推廣URL對應的IP地址,將該推廣URL分發(fā)到與其IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。其中,各檢測服務器可以監(jiān)測到多個爬蟲調(diào)度器的運行狀況,當一個爬蟲調(diào)度器發(fā)生故障時,檢測服務器會將該爬蟲調(diào)度器上的待檢測推廣URL轉(zhuǎn)移分配給附近的其他爬蟲調(diào)度器。
在本實施例中,各爬蟲程序具有等價的地位,各爬蟲調(diào)度器基于負載均衡的原則將收到的推廣URL分發(fā)給相應的多個爬蟲程序,即將收到的推廣URL均勻地分配給多個爬蟲程序。
圖3示出了根據(jù)本發(fā)明一個實施例的一種檢測推廣URL有效性和安全性的裝置的示意圖。如圖3所示,該檢測推廣URL有效性和安全性的裝置300包括:
獲取單元310,適于獲取待檢測的推廣URL。
有效性檢測單元320,適于將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果。
安全性檢測單元330,適于對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL;如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中;如果存在則直接確定該推廣URL為非惡意。
可見,圖3所示的裝置在各單元的配合下,對于待檢測的推廣URL,一方面,將待檢測的推廣URL下發(fā)給爬蟲程序,通過爬蟲程序訪問推廣URL的方式檢測推廣URL的有效性;另一方面,建立在緩存中保存已檢測安全性且安全性檢測結果為非惡意的推廣URL的機制,通過先在緩存中查找待檢測的推廣URL,若不存在再調(diào)用安全檢測服務器的安全檢測接口的方式檢測推廣URL的安全性。依據(jù)本方案對推廣URL進行檢測,能夠快速、準確地獲知推廣URL的有效性和安全性檢測結果,并且對于已檢測安全性且安全性檢測結果為非惡意的推廣URL,在對其進行多次檢測時,無需重復調(diào)用第三方安全檢測服務器的安全檢測接口,大大減輕了安全檢測服務器的負荷,大幅提高檢測效率。
在本發(fā)明的一個實施例中,圖3所示裝置的安全性檢測單元330,適于將該推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
在本發(fā)明的一個實施例中,圖3所示裝置的有效性檢測單元320,適于按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;利用檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器;利用爬蟲調(diào)度器將收到的推廣URL下發(fā)給相應的爬蟲程序;進一步地,有效性檢測單元320利用爬蟲程序?qū)@得的推廣URL有效性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
其中,所述檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;則圖3所示裝置的有效性檢測單元320,適于根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。
在本發(fā)明的一個實施例中,圖3所示裝置的有效性檢測單元320按照預設策略從檢測服務器集群中選擇一個檢測服務器的過程是:向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器。在一些情況下,在上述向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間的過程中,經(jīng)常會由于網(wǎng)絡抖動而導致各檢測服務器的當前響應時間不穩(wěn)定,為此,有效性檢測單元320,適于向該檢測服務器組中的各檢測服務器發(fā)送Ping 請求,獲得各檢測服務器的當前響應時間;將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
在本發(fā)明的一個實施例中,圖3所示裝置的有效性檢測單元320,進一步適于在檢測服務器接收到爬蟲調(diào)度器返回的推廣URL有效性的檢測結果時,將該推廣URL有效性的檢測結果在該檢測服務器所屬的檢測服務器組中進行廣播,使得同一檢測服務器組中的各檢測服務器均保存該推廣URL有效性的檢測結果。
在本發(fā)明的一個實施例中,圖3所示裝置的有效性檢測單元320,適于利用檢測服務器將收到的推廣URL分發(fā)到與該推廣URL的IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。
需要說明的是,圖3所示裝置的各實施例與上文中圖1-圖2所示各實施例對應相同,上文中已詳細說明,在此不再贅述。
綜上所述,在通過推廣URL推送推廣內(nèi)容的場景中,需要對推廣URL的有效性和安全性進行高效、準確地檢測,以保證推送的有效性;本發(fā)明提供的技術方案對于待檢測的推廣URL,一方面,將待檢測的推廣URL下發(fā)給爬蟲程序,通過爬蟲程序訪問推廣URL的方式檢測推廣URL的有效性;另一方面,建立在緩存中保存已檢測安全性且安全性檢測結果為非惡意的推廣URL的機制,通過先在緩存中查找待檢測的推廣URL,若不存在再調(diào)用安全檢測服務器的安全檢測接口的方式檢測推廣URL的安全性。依據(jù)本方案對推廣URL進行檢測,能夠快速、準確地獲知推廣URL的有效性和安全性檢測結果,并且對于已檢測安全性且安全性檢測結果為非惡意的推廣URL,在對其進行多次檢測時,無需重復調(diào)用第三方安全檢測服務器的安全檢測接口,大大減輕了安全檢測服務器的負荷,大幅提高檢測效率;本方案提供了高效、準確、可靠的檢測推廣URL的有效性和安全性的方案,保證了推廣內(nèi)容的推送過程的有效性和安全性,能夠更完美地滿足當前互聯(lián)網(wǎng)領域的推廣需求,保護互聯(lián)網(wǎng)用戶的信息安全。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類裝置所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權 利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的一種檢測推廣URL有效性和安全性的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發(fā)明公開了A1、一種檢測推廣URL有效性和安全性的方法,其中,該方法包括:
獲取待檢測的推廣URL;
將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果;以及,
對于每個待檢測的推廣URL,查詢緩存中是否存在該推廣URL;如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該推廣URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中;如果存在則直接確定該推廣 URL為非惡意。
A2、如A1所述的方法,其中,所述將該URL保存到緩存中包括:將該推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
A3、如A1所述的方法,其中,
所述將每個待檢測的推廣URL下發(fā)給爬蟲程序包括:按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器;爬蟲調(diào)度器將收到的推廣URL下發(fā)給相應的爬蟲程序;
在所述獲得推廣URL的有效性的檢測結果之后,該方法進一步包括:爬蟲程序?qū)@得的推廣URL的有效性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
A4、如A3所述的方法,其中,所述檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;
則所述按照預設策略從檢測服務器集群中選擇一個檢測服務器包括:根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。
A5、如A4所述的方法,其中,所述從選擇的該檢測服務器組中選擇一個檢測服務器包括:
向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器。
A6、如A4所述的方法,其中,所述從選擇的該檢測服務器組中選擇一個檢測服務器包括:
向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間;
將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
A7、如A4所述的方法,其中,該方法進一步包括:
所述選擇的該檢測服務器組中的各檢測服務器同步保存爬蟲調(diào)度器返回的推廣URL的有效性的檢測結果。
A8、如A3所述的方法,其中,所述檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器包括:
檢測服務器將收到的推廣URL分發(fā)到與該URL的IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。
本發(fā)明還公開了B9、一種檢測推廣URL有效性和安全性的裝置,其中,該裝置包括:
獲取單元,適于獲取待檢測的推廣URL;
有效性檢測單元,適于將每個待檢測的推廣URL下發(fā)給爬蟲程序,由爬蟲程序通過訪問收到的推廣URL,獲得推廣URL的有效性的檢測結果;
安全性檢測單元,適于對于每個待檢測的URL,查詢緩存中是否存在該推廣URL;如果不存在則通過調(diào)用安全檢測服務器的安全檢測接口,對該推廣URL進行安全檢測,獲得該URL的安全性檢測結果,如果安全性檢測結果表示該推廣URL非惡意,則將該推廣URL保存到緩存中;如果存在則直接確定該推廣URL為非惡意。
B10、如B9所述的裝置,其中,
所述安全性檢測單元,適于將該推廣URL以布隆過濾器的數(shù)據(jù)結構形式保存到緩存中。
B11、如B9所述的裝置,其中,
所述有效性檢測單元,適于按照預設策略從檢測服務器集群中選擇一個檢測服務器,將該推廣URL發(fā)送給該選擇的檢測服務器;利用檢測服務器將收到的推廣URL下發(fā)給爬蟲調(diào)度器;利用爬蟲調(diào)度器將收到的推廣URL下發(fā)給相應的爬蟲程序;
所述有效性檢測單元,進一步適于利用爬蟲程序?qū)@得的推廣URL有效性的檢測結果返回給相應的爬蟲調(diào)度器,再由爬蟲調(diào)度器返回給相應的檢測服務器。
B12、如B11所述的裝置,其中,所述檢測服務器集群中包括多個檢測服務器組,每個檢測服務器組中包括多個檢測服務器;
所述有效性檢測單元,適于根據(jù)該推廣URL的域名的哈希值從檢測服務器集群中選擇一個檢測服務器組,從選擇的該檢測服務器組中選擇一個檢測服務器。
B13、如B12所述的裝置,其中,
所述有效性檢測單元,適于向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間,選擇當前響應時間最短的檢測服務器。
B14、如B12所述的裝置,其中,
所述有效性檢測單元,適于向該檢測服務器組中的各檢測服務器發(fā)送Ping請求,獲得各檢測服務器的當前響應時間;將當前響應時間最短的檢測服務器與前一次檢測所述推廣URL時選擇的檢測服務器的當前響應時間進行比較,如果二者差距超過預設范圍,則選擇當前響應時間最短的檢測服務器;如果二者差距未超過預設范圍,則沿用前一次檢測所述推廣URL時選擇的檢測服務器。
B15、如B12所述的裝置,其中,
所述有效性檢測單元,進一步適于在檢測服務器接收到爬蟲調(diào)度器返回的推廣URL的有效性的檢測結果時,將該推廣URL的有效性的檢測結果在該檢測服務器所屬的檢測服務器組中進行廣播,使得同一檢測服務器組中的各檢測服務器均保存該推廣URL的有效性的檢測結果。
B16、如B11所述的裝置,其中,
所述有效性檢測單元,適于利用檢測服務器將收到的推廣URL分發(fā)到與該推廣URL的IP地址屬于同一地區(qū)的爬蟲調(diào)度器上。