本申請(qǐng)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種異常訪問(wèn)請(qǐng)求識(shí)別方法及裝置。
背景技術(shù):
異常訪問(wèn)請(qǐng)求識(shí)別是各個(gè)互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)保護(hù)數(shù)據(jù)、防止惡意抓取的必要操作?,F(xiàn)有的異常訪問(wèn)請(qǐng)求識(shí)別方法一般是通過(guò)訪問(wèn)頻次限制來(lái)實(shí)現(xiàn)。通過(guò)為所有ip地址設(shè)置統(tǒng)一的訪問(wèn)頻次閾值,在攜帶同一ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次超過(guò)該訪問(wèn)頻次閾值時(shí),則認(rèn)為攜帶該ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求,將該ip地址封禁,拒絕攜帶該ip地址的所有訪問(wèn)請(qǐng)求,以達(dá)到數(shù)據(jù)防抓取的目的。
并且,考慮到異常訪問(wèn)請(qǐng)求的訪問(wèn)頻次相對(duì)較高,因此,現(xiàn)有技術(shù)設(shè)置的訪問(wèn)頻次閾值是一個(gè)相對(duì)較高的值,但在實(shí)際應(yīng)用中,發(fā)明人發(fā)現(xiàn)現(xiàn)實(shí)情況也存在部分異常訪問(wèn)請(qǐng)求為低頻訪問(wèn),在這種情況下,通過(guò)現(xiàn)有的訪問(wèn)頻次閾值并不能識(shí)別出低頻的異常訪問(wèn)請(qǐng)求。若為解決該問(wèn)題而將訪問(wèn)頻次閾值降低,會(huì)產(chǎn)生將真實(shí)用戶的正常數(shù)據(jù)訪問(wèn)請(qǐng)求誤認(rèn)為是異常訪問(wèn)請(qǐng)求的問(wèn)題,從而影響真實(shí)用戶的正常數(shù)據(jù)訪問(wèn)操作。因此,現(xiàn)有的異常訪問(wèn)請(qǐng)求識(shí)別方法無(wú)法識(shí)別出所有可能的異常訪問(wèn)請(qǐng)求,從而出現(xiàn)無(wú)法全面有效地阻止來(lái)自異常訪問(wèn)請(qǐng)求的數(shù)據(jù)抓取操作。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)解決的技術(shù)問(wèn)題之一是,提供一種異常訪問(wèn)請(qǐng)求識(shí)別方法及裝置,實(shí)現(xiàn)了準(zhǔn)確、有效的識(shí)別異常訪問(wèn)請(qǐng)求。
根據(jù)本申請(qǐng)一方面的一個(gè)實(shí)施例,提供了一種異常訪問(wèn)請(qǐng)求識(shí)別方法,包括:
接收攜帶ip地址及訪問(wèn)時(shí)間的訪問(wèn)請(qǐng)求;
識(shí)別所述ip地址所屬的ip地址段;所述ip地址段包含至少一個(gè)ip地址;
將所述ip地址段及訪問(wèn)時(shí)間輸入頻次閾值確定模型,得到所述模型輸出的訪問(wèn)頻次閾值;其中,所述頻次閾值確定模型采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得;
獲取所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次;
判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次是否超過(guò)所確定的訪問(wèn)頻次閾值;
若超過(guò)所述訪問(wèn)頻次閾值,則識(shí)別出攜帶所述ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求。
根據(jù)本申請(qǐng)另一方面的一個(gè)實(shí)施例,提供了一種異常訪問(wèn)請(qǐng)求識(shí)別裝置,包括:
接收單元,用于接收攜帶ip地址及訪問(wèn)時(shí)間的訪問(wèn)請(qǐng)求;
地址段識(shí)別單元,用于識(shí)別所述ip地址所屬的ip地址段;所述ip地址段包含至少一個(gè)ip地址;
確定單元,用于將所述ip地址段及訪問(wèn)時(shí)間輸入頻次閾值確定模型,得到所述模型輸出的訪問(wèn)頻次閾值;其中,所述頻次閾值確定模型采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得;
獲取單元,用于獲取所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次;
判斷單元,用于判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次是否超過(guò)所確定的訪問(wèn)頻次閾值;
異常訪問(wèn)請(qǐng)求單元,用于在所述判斷單元判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次超過(guò)所述訪問(wèn)頻次閾值情況下,識(shí)別出攜帶所述ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求。。
本申請(qǐng)實(shí)施例通過(guò)采用機(jī)器學(xué)習(xí)的方法訓(xùn)練頻次閾值確定模型,從而可以為不同ip地址確定不同時(shí)間段的訪問(wèn)頻次閾值,實(shí)現(xiàn)了準(zhǔn)確、有 效的識(shí)別異常訪問(wèn)請(qǐng)求。其中,不但實(shí)現(xiàn)了低頻的異常訪問(wèn)請(qǐng)求的識(shí)別,而且使得基于該訪問(wèn)頻次閾值可以更加準(zhǔn)確的識(shí)別出數(shù)據(jù)防抓取操作,有效提高了數(shù)據(jù)防抓取效果。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細(xì)說(shuō)明將參考圖示實(shí)施例、附圖進(jìn)行,但本申請(qǐng)并不僅限于這些實(shí)施例。而是,本申請(qǐng)的范圍是廣泛的,且意在僅通過(guò)后附的權(quán)利要求限定本申請(qǐng)的范圍。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的在異常訪問(wèn)請(qǐng)求識(shí)別過(guò)程中采用機(jī)器學(xué)習(xí)方法訓(xùn)練頻次閾值確定模型的示意圖。
圖2是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的單一ip訪問(wèn)頻次示意圖。
圖3是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的同一網(wǎng)段ip訪問(wèn)頻次示意圖。
圖4是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的異常訪問(wèn)請(qǐng)求識(shí)別方法的流程圖。
圖5是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的異常訪問(wèn)請(qǐng)求識(shí)別裝置的結(jié)構(gòu)示意圖。
本領(lǐng)域普通技術(shù)人員將了解,雖然下面的詳細(xì)說(shuō)明將參考圖示實(shí)施例、附圖進(jìn)行,但本申請(qǐng)并不僅限于這些實(shí)施例。而是,本申請(qǐng)的范圍是廣泛的,且意在僅通過(guò)后附的權(quán)利要求限定本申請(qǐng)的范圍。
具體實(shí)施方式
在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
計(jì)算機(jī)設(shè)備包括用戶設(shè)備與網(wǎng)絡(luò)設(shè)備。其中,所述用戶設(shè)備包括但 不限于電腦、智能手機(jī)、pda等;所述網(wǎng)絡(luò)設(shè)備包括但不限于單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器組成的服務(wù)器組或基于云計(jì)算(cloudcomputing)的由大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成的云,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。其中,所述計(jì)算機(jī)設(shè)備可單獨(dú)運(yùn)行來(lái)實(shí)現(xiàn)本申請(qǐng),也可接入網(wǎng)絡(luò)并通過(guò)與網(wǎng)絡(luò)中的其他計(jì)算機(jī)設(shè)備的交互操作來(lái)實(shí)現(xiàn)本申請(qǐng)。其中,所述計(jì)算機(jī)設(shè)備所處的網(wǎng)絡(luò)包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、vpn網(wǎng)絡(luò)等。
需要說(shuō)明的是,所述用戶設(shè)備、網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的計(jì)算機(jī)設(shè)備或網(wǎng)絡(luò)如可適用于本申請(qǐng),也應(yīng)包含在本申請(qǐng)保護(hù)范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過(guò)流程圖示出)可以通過(guò)硬件、軟件、固件、中間件、微代碼、硬件描述語(yǔ)言或者其任意組合來(lái)實(shí)施。當(dāng)用軟件、固件、中間件或微代碼來(lái)實(shí)施時(shí),用以實(shí)施必要任務(wù)的程序代碼或代碼段可以被存儲(chǔ)在機(jī)器或計(jì)算機(jī)可讀介質(zhì)(比如存儲(chǔ)介質(zhì))中。(一個(gè)或多個(gè))處理器可以實(shí)施必要的任務(wù)。
這里所公開(kāi)的具體結(jié)構(gòu)和功能細(xì)節(jié)僅僅是代表性的,并且是用于描述本申請(qǐng)的示例性實(shí)施例的目的。但是本申請(qǐng)可以通過(guò)許多替換形式來(lái)具體實(shí)現(xiàn),并且不應(yīng)當(dāng)被解釋成僅僅受限于這里所闡述的實(shí)施例。
應(yīng)當(dāng)理解的是,雖然在這里可能使用了術(shù)語(yǔ)“第一”、“第二”等等來(lái)描述各個(gè)單元,但是這些單元不應(yīng)當(dāng)受這些術(shù)語(yǔ)限制。使用這些術(shù)語(yǔ)僅僅是為了將一個(gè)單元與另一個(gè)單元進(jìn)行區(qū)分。舉例來(lái)說(shuō),在不背離示例性實(shí)施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術(shù)語(yǔ)“和/或”包括其中一個(gè)或更多所列出的相關(guān)聯(lián)項(xiàng)目的任意和所有組合。
應(yīng)當(dāng)理解的是,當(dāng)一個(gè)單元被稱為“連接”或“耦合”到另一單元時(shí),其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對(duì),當(dāng)一個(gè)單元被稱為“直接連接”或“直接耦合”到另一單元時(shí),則不存在中間單元。應(yīng)當(dāng)按照類似的方式來(lái)解釋被用于描述單元之 間的關(guān)系的其他詞語(yǔ)(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術(shù)語(yǔ)僅僅是為了描述具體實(shí)施例而不意圖限制示例性實(shí)施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個(gè)”、“一項(xiàng)”還意圖包括復(fù)數(shù)。還應(yīng)當(dāng)理解的是,這里所使用的術(shù)語(yǔ)“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個(gè)或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應(yīng)當(dāng)提到的是,在一些替換實(shí)現(xiàn)方式中,所提到的功能/動(dòng)作可以按照不同于附圖中標(biāo)示的順序發(fā)生。舉例來(lái)說(shuō),取決于所涉及的功能/動(dòng)作,相繼示出的兩幅圖實(shí)際上可以基本上同時(shí)執(zhí)行或者有時(shí)可以按照相反的順序來(lái)執(zhí)行。
下面結(jié)合附圖對(duì)本申請(qǐng)的技術(shù)方案作進(jìn)一步詳細(xì)描述。
現(xiàn)有的異常訪問(wèn)請(qǐng)求識(shí)別方法由于針對(duì)所有ip地址設(shè)置統(tǒng)一的訪問(wèn)頻次閾值,導(dǎo)致無(wú)法識(shí)別出低于所述訪問(wèn)頻次閾值的低頻的異常訪問(wèn)請(qǐng)求,也就是無(wú)法實(shí)現(xiàn)防止低頻數(shù)據(jù)抓取操作。針對(duì)該問(wèn)題,本申請(qǐng)實(shí)施例可以針對(duì)每一ip地址確定與該ip地址對(duì)應(yīng)的訪問(wèn)頻次閾值,且考慮到同一ip地址在不同時(shí)間段的訪問(wèn)頻次不同,本申請(qǐng)實(shí)施例可進(jìn)一步為每一ip地址確定不同時(shí)間段對(duì)應(yīng)的訪問(wèn)頻次閾值。因此,本申請(qǐng)實(shí)施例針對(duì)不同用戶的不同屬性(不同時(shí)間段訪問(wèn)頻次不同)確定個(gè)性化的訪問(wèn)頻次閾值,避免了所有ip地址對(duì)應(yīng)統(tǒng)一訪問(wèn)頻次閾值存在的無(wú)法實(shí)現(xiàn)低頻數(shù)據(jù)防抓取操作的問(wèn)題。
本申請(qǐng)實(shí)施例提供的為每一ip地址確定不同時(shí)間段對(duì)應(yīng)的訪問(wèn)頻次閾值的方法可以為:
采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得頻次閾值確定模型,該頻次閾值確定模型在輸入ip地址及訪問(wèn)時(shí)間的情況下,輸出與該ip地址及訪問(wèn)時(shí)間對(duì)應(yīng)的訪問(wèn)頻次閾值。也就是該頻次閾值確定模型可以為每一ip地址確定在預(yù)設(shè)不同時(shí)間段的訪問(wèn)頻次閾值。所述時(shí)間段為預(yù)先劃分的時(shí)間段,例如可將一天的時(shí)間劃分為連續(xù)的多個(gè)時(shí)間段,每個(gè)時(shí)間段可以為:1分 鐘、2分鐘或5分鐘等等。
本申請(qǐng)實(shí)施例所述的頻次閾值確定模型可以在異常訪問(wèn)請(qǐng)求識(shí)別過(guò)程中不斷進(jìn)行機(jī)器學(xué)習(xí)。在異常訪問(wèn)請(qǐng)求識(shí)別過(guò)程中采用機(jī)器學(xué)習(xí)方法訓(xùn)練所述頻次閾值確定模型的示意圖如圖1中所示,在接收到攜帶ip地址及訪問(wèn)時(shí)間的訪問(wèn)請(qǐng)求后,通過(guò)頻次閾值確定模型確定與該ip地址及訪問(wèn)時(shí)間對(duì)應(yīng)的訪問(wèn)頻次閾值,依據(jù)該訪問(wèn)頻次閾值檢查該訪問(wèn)請(qǐng)求在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)的訪問(wèn)頻次是否超過(guò)該訪問(wèn)頻次閾值,得到訪問(wèn)頻次檢查結(jié)果。收集該訪問(wèn)請(qǐng)求的相關(guān)信息,包括訪問(wèn)請(qǐng)求的ip地址、訪問(wèn)時(shí)間、訪問(wèn)頻次檢查結(jié)果。同時(shí),可對(duì)訪問(wèn)頻次檢查結(jié)果為超過(guò)訪問(wèn)頻次閾值的訪問(wèn)請(qǐng)求進(jìn)行驗(yàn)證碼驗(yàn)證,得到驗(yàn)證碼驗(yàn)證結(jié)果,收集該驗(yàn)證碼驗(yàn)證結(jié)果相關(guān)信息,包括驗(yàn)證碼驗(yàn)證成功次數(shù)。將收集的數(shù)據(jù)作為頻次閾值確定模型的訓(xùn)練數(shù)據(jù)輸入頻次確定模型進(jìn)行機(jī)器學(xué)習(xí)。
其中,初始采用機(jī)器學(xué)習(xí)的方法訓(xùn)練該頻次閾值確定模型是利用歷史數(shù)據(jù)進(jìn)行訓(xùn)練,具體實(shí)施例如下:
首先,獲取攜帶ip地址及訪問(wèn)時(shí)間的歷史訪問(wèn)請(qǐng)求作為訓(xùn)練頻次閾值確定模型的采樣數(shù)據(jù)。
其中,所述歷史訪問(wèn)請(qǐng)求例如可以為15天、一個(gè)月或三個(gè)月等等范圍內(nèi)的訪問(wèn)請(qǐng)求。獲取的所述歷史訪問(wèn)請(qǐng)求包括但不限于:ip地址、訪問(wèn)時(shí)間、驗(yàn)證碼成功驗(yàn)證次數(shù)。
驗(yàn)證碼成功驗(yàn)證次數(shù)是指攜帶ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次超過(guò)預(yù)設(shè)的訪問(wèn)頻次閾值時(shí),采用驗(yàn)證碼驗(yàn)證該ip地址是人為操作的次數(shù)。具體的驗(yàn)證碼驗(yàn)證方法將在下面實(shí)施例中介紹。
之后,將采樣數(shù)據(jù)的ip地址進(jìn)行聚合,并為聚合后的ip地址設(shè)置所屬的ip地址段。其中,將采樣數(shù)據(jù)的ip地址聚合包括如下操作:
第一步,按ip地址的相似性聚合,即,將所述采樣數(shù)據(jù)的所有ip地址中同網(wǎng)段的ip地址聚合。一種實(shí)施方式是判斷ip地址的前三個(gè)點(diǎn)分十進(jìn)制數(shù)字是否相同,例如a.b.c.10和a.b.c.20可以認(rèn)為在同一個(gè)網(wǎng)段的ip地址。
第二步,將訪問(wèn)時(shí)間與訪問(wèn)頻次對(duì)應(yīng)關(guān)系曲線相近度小于規(guī)定相近 度閾值的一組同網(wǎng)段ip地址進(jìn)行聚合。
一般同網(wǎng)段多個(gè)ip地址輪流訪問(wèn)實(shí)現(xiàn)數(shù)據(jù)抓取,這些ip地址的訪問(wèn)時(shí)間的分布明顯不同,因此針對(duì)單獨(dú)一個(gè)ip地址其訪問(wèn)曲線在時(shí)間上是斷續(xù)的如圖2中所示,而同網(wǎng)段的多個(gè)ip地址的曲線可以實(shí)現(xiàn)連續(xù)如圖3中所示。本步驟是將多機(jī)器協(xié)同完成數(shù)據(jù)抓取的多個(gè)同網(wǎng)段的ip地址聚合。
所述訪問(wèn)時(shí)間與訪問(wèn)頻次對(duì)應(yīng)關(guān)系曲線的相近度可采用余弦相似度算法實(shí)現(xiàn)。也就是,聚合后的一組ip地址包含訪問(wèn)時(shí)間與訪問(wèn)頻次對(duì)應(yīng)關(guān)系曲線相近度低于規(guī)定相近度閾值的一組ip地址。以24小時(shí)對(duì)應(yīng)的訪問(wèn)頻次曲線為例,假設(shè)多個(gè)攜帶不同ip地址(均在同一個(gè)網(wǎng)段),且在24小時(shí)內(nèi)的訪問(wèn)頻次曲線兩兩之間的相近度閾值均低于規(guī)定相近度閾值,則將該多個(gè)ip地址聚合為一組ip地址。并為該聚合后的一組ip地址設(shè)置所屬的ip地址段,例如,聚合后的一組ip地址為一個(gè)子網(wǎng)內(nèi)的一組ip地址,包括a.b.c.1,a.b.c.2,a.b.c.3三個(gè)ip地址,則為該聚合后的一組ip地址設(shè)置所屬的ip地址段為a.b.c.x。a.b.c.1,a.b.c.2,a.b.c.3三個(gè)ip地址對(duì)應(yīng)的采樣數(shù)據(jù)即為聚合后的ip地址段a.b.c.x對(duì)應(yīng)的采樣數(shù)據(jù)。
可以理解的是,聚合后的一個(gè)ip地址段包含至少一個(gè)ip地址。
然后,以聚合后的ip地址段對(duì)應(yīng)的采樣數(shù)據(jù)訓(xùn)練所述頻次閾值確定模型。
由于需要為每一ip地址確定不同時(shí)間段對(duì)應(yīng)的訪問(wèn)頻次閾值,因此,需要將聚合后的ip地址段對(duì)應(yīng)的采樣數(shù)據(jù)按時(shí)間段進(jìn)行劃分,如前文中所述,所述時(shí)間段為預(yù)先劃分的時(shí)間段,例如可將一天的時(shí)間劃分為連續(xù)的多個(gè)時(shí)間段,每個(gè)時(shí)間段可以為:1分鐘、2分鐘或5分鐘等等。則可將聚合后的ip地址段對(duì)應(yīng)的采樣數(shù)據(jù)劃分為不同的時(shí)間段的采樣數(shù)據(jù)。針對(duì)不同時(shí)間段的采樣數(shù)據(jù)進(jìn)行頻次閾值確定模型的訓(xùn)練。
具體的,針對(duì)某一時(shí)間段內(nèi)的采樣數(shù)據(jù),提取該時(shí)間段的采樣數(shù)據(jù)的ip地址段及訪問(wèn)時(shí)間作為待訓(xùn)練模型的輸入,將訪問(wèn)頻次閾值作為該模型的輸出。另外,還可將驗(yàn)證碼成功驗(yàn)證次數(shù)作為輸入,從而根據(jù)該 驗(yàn)證碼成功驗(yàn)證次數(shù)調(diào)整各ip地址段在各時(shí)間段的訪問(wèn)頻次閾值。最終得到的頻次閾值確定模型可在輸入聚合后的ip地址段及訪問(wèn)時(shí)間情況下,輸出對(duì)應(yīng)的訪問(wèn)頻次閾值。這樣,在不同的時(shí)間段針對(duì)不同的ip地址段可確定不同的訪問(wèn)頻次閾值,實(shí)現(xiàn)了為用戶確定個(gè)性化的訪問(wèn)頻次閾值,從而可以在不損害正常用戶體驗(yàn)的情況下有效提高數(shù)據(jù)防抓取效果。
圖4是根據(jù)本申請(qǐng)一個(gè)實(shí)施例的異常訪問(wèn)請(qǐng)求識(shí)別方法的流程圖,該方法是基于頻次閾值確定模型來(lái)確定ip地址在當(dāng)前訪問(wèn)時(shí)間對(duì)應(yīng)的訪問(wèn)頻次閾值,從而基于該確定的訪問(wèn)頻次閾值進(jìn)行異常訪問(wèn)請(qǐng)求的識(shí)別。所述頻次閾值確定模型為上面所述的采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得,該方法主要包括如下步驟s410~s470:
s410、接收攜帶ip地址及訪問(wèn)時(shí)間的訪問(wèn)請(qǐng)求。
s420、識(shí)別所述ip地址所屬的ip地址段。
如前文中所述,在訓(xùn)練頻次閾值確定模型時(shí),將ip地址進(jìn)行聚類,并為聚類后的ip設(shè)置有所屬的ip地址段,每一ip地址段包含至少一個(gè)ip地址,則根據(jù)該設(shè)置可識(shí)別所述ip地址所屬的ip地址段。例如,所述ip地址為a.b.c.1,所屬的ip地址段為a.b.c.x。
s430、將所述ip地址段及訪問(wèn)時(shí)間輸入頻次閾值確定模型,得到所述模型輸出的訪問(wèn)頻次閾值。也就是得到所述ip地址段在所述訪問(wèn)時(shí)間的訪問(wèn)頻次閾值。假設(shè)所述ip地址段為a.b.c.x,訪問(wèn)時(shí)間為2:03:04,在輸入頻次閾值確定模型后,輸出的訪問(wèn)頻次閾值為250次。
s440、獲取所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次。
所述預(yù)設(shè)時(shí)長(zhǎng)可與訓(xùn)練所述頻次閾值確定模型時(shí)劃分的時(shí)間段的時(shí)長(zhǎng)相同。假如,訓(xùn)練頻次閾值確定模型時(shí)所劃分的時(shí)間段為1分鐘,則獲取訪問(wèn)請(qǐng)求的訪問(wèn)頻次需記錄1分鐘內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次;若訓(xùn)練頻次閾值確定模型時(shí)所劃分的時(shí)間段為2分鐘,則獲取訪問(wèn)請(qǐng)求的訪問(wèn)頻次需記錄2分鐘內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次。
所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)可采用如下任一方式確定:
第一種方式,將一天24小時(shí)劃分為所述預(yù)設(shè)時(shí)長(zhǎng)的時(shí)間段,例如,從00:00:00開(kāi)始每2分鐘為一個(gè)時(shí)間段,則可判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的時(shí)間段,假設(shè)所述訪問(wèn)時(shí)間為2:03:04,則可確定所屬的時(shí)間段為2:02:00~2:04:00。此種情況,只有在所述訪問(wèn)時(shí)間為每一時(shí)間段的結(jié)束時(shí)間點(diǎn)時(shí)才執(zhí)行該獲取訪問(wèn)頻次的操作。也就是此種情況下,在獲取訪問(wèn)頻次前,還包括判斷所述訪問(wèn)時(shí)間是否為任一時(shí)間段的結(jié)束時(shí)間點(diǎn)的步驟,且在所述訪問(wèn)時(shí)間是任一時(shí)間段的結(jié)束時(shí)間點(diǎn)的情況下,再執(zhí)行獲取訪問(wèn)頻次的操作。
第二種方式,從所述訪問(wèn)時(shí)間往前預(yù)設(shè)時(shí)長(zhǎng)所確定的時(shí)間段,例如,所述訪問(wèn)時(shí)間為2:03:04,預(yù)設(shè)時(shí)長(zhǎng)為2分鐘,則獲取從2:03:04開(kāi)始往前2分鐘內(nèi)的攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次,也就是2:01:04~2:03:04這段時(shí)間內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次。
另外,由于同一ip地址段的多個(gè)ip地址輪流訪問(wèn)協(xié)作實(shí)現(xiàn)數(shù)據(jù)抓取,因此本申請(qǐng)實(shí)施例獲取所述ip地址所屬的ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次。例如,所述ip地址所屬的ip地址段為a.b.c.x,該ip地址段包括如下ip地址:a.b.c.1,a.b.c.2,a.b.c.3。假設(shè)在2:03:04接收到攜帶a.b.c.1的訪問(wèn)請(qǐng)求的訪問(wèn)頻次為60次,預(yù)設(shè)時(shí)長(zhǎng)為2分鐘,則獲取2:01:04~2:03:04這段時(shí)間內(nèi)a.b.c.1、a.b.c.2及a.b.c.3的訪問(wèn)頻次之和,如果在該時(shí)間段內(nèi)接收到攜帶a.b.c.2的訪問(wèn)請(qǐng)求的訪問(wèn)頻次為80次,攜帶a.b.c.3的訪問(wèn)請(qǐng)求的訪問(wèn)頻次為120次,則獲取2:01:04~2:03:04這段時(shí)間內(nèi)ip地址段a.b.c.x包含的所有ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次為260=60+80+120次。
s450、判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次是否超過(guò)所確定的訪問(wèn)頻次閾值。
即,判斷步驟s440中獲取的攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次是否超過(guò)步驟s430中頻次閾值確定模型輸出的訪問(wèn)頻次閾值,如上面實(shí)施例中所述,假如頻次閾值確定模型輸出的訪問(wèn)頻次 閾值為250,而步驟s440中獲取的訪問(wèn)頻次閾值為260,則可判斷出所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次超過(guò)所確定的訪問(wèn)頻次閾值。
若超過(guò)所述訪問(wèn)頻次閾值,則執(zhí)行步驟s460;若未超過(guò)所述訪問(wèn)頻次閾值,則執(zhí)行步驟s470。
s460、識(shí)別出攜帶所述ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求。
對(duì)于識(shí)別出的異常訪問(wèn)請(qǐng)求可采取如下方式實(shí)現(xiàn)防止該異常訪問(wèn)請(qǐng)求的數(shù)據(jù)抓取操作:對(duì)攜帶所述ip地址的訪問(wèn)請(qǐng)求采用驗(yàn)證碼進(jìn)行驗(yàn)證,同理,對(duì)攜帶所述ip地址所屬的ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求采用驗(yàn)證碼進(jìn)行驗(yàn)證直到驗(yàn)證成功。也就是對(duì)該ip地址所屬的ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求采用驗(yàn)證碼進(jìn)行驗(yàn)證,直到驗(yàn)證成功。具體的針對(duì)一個(gè)ip采用驗(yàn)證碼進(jìn)行驗(yàn)證的方法包括:
提供驗(yàn)證碼給發(fā)送攜帶所述ip地址的訪問(wèn)請(qǐng)求的每一用戶;
接收每一用戶輸入的驗(yàn)證碼;
比較每一用戶輸入的驗(yàn)證碼與提供給所述用戶的驗(yàn)證碼是否一致;
若用戶輸入的驗(yàn)證碼與提供給所述用戶的驗(yàn)證碼一致,則驗(yàn)證碼驗(yàn)證成功,進(jìn)入步驟s470,否則重復(fù)執(zhí)行步驟s460。
需要說(shuō)明的是,由于使用同一ip地址的用戶很多,若其中一個(gè)用戶驗(yàn)證碼驗(yàn)證成功,則即可認(rèn)為該ip地址驗(yàn)證成功,則攜帶該ip地址的所有訪問(wèn)請(qǐng)求即被認(rèn)為非異常訪問(wèn)請(qǐng)求。在同一ip地址段的所有ip地址中任一ip地址驗(yàn)證成功,則可認(rèn)為該ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求亦非異常訪問(wèn)請(qǐng)求。
s470、允許所述訪問(wèn)請(qǐng)求的訪問(wèn)操作。
在所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次未超過(guò)所確定的訪問(wèn)頻次閾值情況下,認(rèn)為該訪問(wèn)請(qǐng)求為非異常訪問(wèn)請(qǐng)求,則允許該訪問(wèn)請(qǐng)求的訪問(wèn)操作。
同時(shí),在驗(yàn)證成功情況下,說(shuō)明該攜帶ip地址的訪問(wèn)請(qǐng)求為人的操作,執(zhí)行數(shù)據(jù)抓取的可能性較小,則允許該訪問(wèn)請(qǐng)求的訪問(wèn)操作。
本申請(qǐng)實(shí)施例通過(guò)采用機(jī)器學(xué)習(xí)的方法訓(xùn)練頻次閾值確定模型,從 而可以為不同ip地址確定不同時(shí)間段的訪問(wèn)頻次閾值,實(shí)現(xiàn)了準(zhǔn)確、有效的識(shí)別異常訪問(wèn)請(qǐng)求。其中,不但實(shí)現(xiàn)了低頻的異常訪問(wèn)請(qǐng)求的識(shí)別,而且使得基于該訪問(wèn)頻次閾值可以更加準(zhǔn)確的識(shí)別出數(shù)據(jù)防抓取操作,有效提高了數(shù)據(jù)防抓取效果。
另外,由于利用頻次閾值確定模型可以針對(duì)不同ip地址確定與該ip地址匹配的訪問(wèn)頻次閾值,有效減少了由于訪問(wèn)頻次閾值設(shè)置不準(zhǔn)確帶來(lái)的驗(yàn)證碼驗(yàn)證操作的次數(shù)過(guò)多而影響用戶正常操作的問(wèn)題。
本申請(qǐng)實(shí)施例還提供一種與上述異常訪問(wèn)請(qǐng)求識(shí)別方法對(duì)應(yīng)的異常訪問(wèn)請(qǐng)求識(shí)別裝置,如圖5中所示為所述裝置結(jié)構(gòu)示意圖,該裝置是基于頻次閾值確定模型來(lái)確定ip在當(dāng)前訪問(wèn)時(shí)間對(duì)應(yīng)的訪問(wèn)頻次閾值,從而基于該確定的訪問(wèn)頻次閾值進(jìn)行異常訪問(wèn)請(qǐng)求識(shí)別。所述頻次閾值確定模型為上面所述的采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得,所述異常訪問(wèn)請(qǐng)求的識(shí)別裝置包括:
接收單元510,用于接收攜帶ip地址及訪問(wèn)時(shí)間的訪問(wèn)請(qǐng)求;
地址段識(shí)別單元520,用于識(shí)別所述ip地址所屬的ip地址段;所述ip地址段包含至少一個(gè)ip地址;
確定單元530,用于將所述ip地址段及訪問(wèn)時(shí)間輸入頻次閾值確定模型,得到所述模型輸出的訪問(wèn)頻次閾值;其中,所述頻次閾值確定模型采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得;
獲取單元540,用于獲取所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次;
判斷單元550,用于判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次是否超過(guò)所確定的訪問(wèn)頻次閾值;
異常訪問(wèn)請(qǐng)求單元560,用于在所述判斷單元判斷所述訪問(wèn)時(shí)間對(duì)應(yīng)的預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次超過(guò)所述訪問(wèn)頻次閾值情況下,識(shí)別出攜帶所述ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求。
所述裝置還包括如下單元用于采用機(jī)器學(xué)習(xí)的方法訓(xùn)練獲得所述頻次 閾值確定模型包括:
采用數(shù)據(jù)獲取單元570,用于獲取預(yù)設(shè)時(shí)長(zhǎng)范圍內(nèi)歷史接收的攜帶ip地址的訪問(wèn)請(qǐng)求信息作為訓(xùn)練頻次閾值確定模型的采樣數(shù)據(jù);
聚合單元580,用于將采樣數(shù)據(jù)按ip地址聚合,得到聚合后的ip地址段對(duì)應(yīng)的采樣數(shù)據(jù);
訓(xùn)練單元590,用于以聚合后的ip地址段對(duì)應(yīng)的采樣數(shù)據(jù)按照預(yù)設(shè)時(shí)間段進(jìn)行劃分來(lái)訓(xùn)練所述頻次閾值確定模型。
所述聚合單元580被配置為:
將所述采樣數(shù)據(jù)的所有ip地址中同網(wǎng)段的ip地址聚合;
將訪問(wèn)時(shí)間與訪問(wèn)頻次對(duì)應(yīng)關(guān)系曲線相近度小于規(guī)定相近度閾值的一組同網(wǎng)段ip地址進(jìn)行聚合。
所述獲取單元540被配置為:
獲取從所述訪問(wèn)時(shí)間往前預(yù)設(shè)時(shí)長(zhǎng)內(nèi)攜帶所述ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求的訪問(wèn)頻次。
所述裝置還包括:
驗(yàn)證單元5010,用于在識(shí)別出攜帶所述ip地址的訪問(wèn)請(qǐng)求為異常訪問(wèn)請(qǐng)求情況下,對(duì)攜帶所述ip地址所屬的ip地址段包含的所有ip地址的訪問(wèn)請(qǐng)求采用驗(yàn)證碼進(jìn)行驗(yàn)證直到驗(yàn)證成功。
綜上所述,本申請(qǐng)實(shí)施例通過(guò)采用機(jī)器學(xué)習(xí)的方法訓(xùn)練頻次閾值確定模型,從而可以為不同ip地址確定不同時(shí)間段的訪問(wèn)頻次閾值,實(shí)現(xiàn)了準(zhǔn)確、有效的識(shí)別異常訪問(wèn)請(qǐng)求。其中,不但實(shí)現(xiàn)了低頻的異常訪問(wèn)請(qǐng)求的識(shí)別,而且使得基于該訪問(wèn)頻次閾值可以更加準(zhǔn)確的識(shí)別出數(shù)據(jù)防抓取操作,有效提高了數(shù)據(jù)防抓取效果。
另外,由于利用頻次閾值確定模型可以針對(duì)不同ip地址確定與該ip地址匹配的訪問(wèn)頻次閾值,有效減少了由于訪問(wèn)頻次閾值設(shè)置不準(zhǔn)確帶來(lái)的驗(yàn)證碼驗(yàn)證操作的次數(shù)過(guò)多而影響用戶正常操作的問(wèn)題。
需要注意的是,本申請(qǐng)可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采用專用集成電路(asic)、通用目的計(jì)算機(jī)或任何其他類似硬件設(shè)備來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例中,本申請(qǐng)的軟件程序可以通過(guò)處理器執(zhí) 行以實(shí)現(xiàn)上文所述步驟或功能。同樣地,本申請(qǐng)的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可以被存儲(chǔ)到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,ram存儲(chǔ)器,磁或光驅(qū)動(dòng)器或軟磁盤(pán)及類似設(shè)備。另外,本申請(qǐng)的一些步驟或功能可采用硬件來(lái)實(shí)現(xiàn),例如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。
另外,本申請(qǐng)的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被計(jì)算機(jī)執(zhí)行時(shí),通過(guò)該計(jì)算機(jī)的操作,可以調(diào)用或提供根據(jù)本申請(qǐng)的方法和/或技術(shù)方案。而調(diào)用本申請(qǐng)的方法的程序指令,可能被存儲(chǔ)在固定的或可移動(dòng)的記錄介質(zhì)中,和/或通過(guò)廣播或其他信號(hào)承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲(chǔ)在根據(jù)所述程序指令運(yùn)行的計(jì)算機(jī)設(shè)備的工作存儲(chǔ)器中。在此,根據(jù)本申請(qǐng)的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本申請(qǐng)的多個(gè)實(shí)施例的方法和/或技術(shù)方案。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本申請(qǐng)不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本申請(qǐng)的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本申請(qǐng)。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本申請(qǐng)的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請(qǐng)內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。系統(tǒng)權(quán)利要求中陳述的多個(gè)單元或裝置也可以由一個(gè)單元或裝置通過(guò)軟件或者硬件來(lái)實(shí)現(xiàn)。第一,第二等詞語(yǔ)用來(lái)表示名稱,而并不表示任何特定的順序。