專利名稱:一種流量控制方法和裝置的制作方法
技術領域:
本申請涉及網絡技術領域,特別是涉及一種流量控制方法和裝置。
背景技術:
隨著計算機的廣泛應用,對網絡中的應用服務器訪問也越來越多,越來越頻繁,但在對應用服務器的訪問中,可能會存在因為網絡爬蟲或者惡意攻擊而產生的訪問,此類訪問容易使應用服務器的系統資源被耗盡,并導致應用服務器不穩定。現有技術中,通過在用戶端的請求未到達應用服務器端時,對請求進行攔截,一般抓取分析該請求中的IP地址信息,確認該請求所屬用戶端,如果分析出同一 IP地址對應的用戶請求在短時間內訪問頻率過高,則對該IP地址對應的用戶請求進行過濾。由于其在用戶端的請求未到達應用服務器端時對請求進行攔截,并采用一種用戶信息對請求進行過濾,導致過濾信息不全并且安全性不高,容易導致對用戶端的請求的錯誤過濾。例如,如果以固定IP地址為過濾目標,當多個用戶端共用一個IP地址時,只要其中一個用戶使這個IP地址的請求滿足過濾條件時,系統將對這個IP地址進行過濾,這將導致此IP地址下的其他正常用戶端訪問也被錯誤過濾掉。同時,現有技術的單一性使其適用范圍狹窄,不能適應現在過濾過程中越來越高,越來越靈活的要求;并且,在過濾時,對用戶端的每個請求都會遍歷整個過濾規則,給服務器帶來大量的額外的開銷,過濾效率低下。
發明內容
本申請提供一種流量控制方法和裝置,通過靈活配置的流量過濾規則,解決因為網絡爬蟲或者惡意攻擊導致的系統不穩定,降低對用戶端的錯誤過濾的情況,降低服務器系統開銷。為了解決上述問題,本申請公開了一種流量控制方法,包括:請求攔截步驟,在應用服務器端攔截用戶端的請求;用戶信息獲取步驟,根據所述請求獲得用戶信息組合;黑名單過濾步驟,將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾;其中,所述黑名單通過如下步驟生成:訪問計數步驟,根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數;黑名單生成步驟,針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。優選的,所述的用戶信息包括cookie信息、和/或IP信息、和/或session信息、和/或應用請求參數信息。優選的,所述的黑名單過濾步驟包括:關鍵詞匹配步驟,將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果匹配上,進入黑名單匹配步驟;黑名單匹配步驟,將所述關鍵詞組合對應的值組合與黑名單中的值組合進行匹配,如果匹配上,則進行過濾。優選的,所述的黑名單匹配步驟包括:第一黑名單匹配步驟,將所述值組合與應用服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則轉入第二黑名單匹配步驟;第二黑名單匹配步驟,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則進行過濾。優選的,對于所述應用服務器端的緩存日志進行如下處理:通過應用服務器端將所述緩存日志更新到流量控制中心服務器端的日志文件中。優選的,對于所述日志文件進行如下操作:通過流量控制中心服務器端掃描所述日志文件;統計所述值組合的次數;依據所述次數根據流量控制規則生成所述值組合的黑名單。優選的,在用戶信息獲取步驟中包括:步驟Al,抓取請求中包括的由應用服務器端分配給已登錄用戶端的session id ;步驟A2,依據所述session id,在應用服務器端中提取與session id對應session 內容。優選的,所述的過濾包括返回解鎖頁面給用戶端。優選的,當用戶端進行解鎖,則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。相應的,本申請還公開了一種流量控制裝置,包括:請求攔截模塊,用于在應用服務器端攔截用戶端的請求;用戶信息獲取模塊,用于根據所述請求獲得用戶信息組合;黑名單過濾模塊,用于將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾;其中,所述黑名單通過如下模塊生成:訪問計數模塊,用于根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數;黑名單生成模塊,用于針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。與現有技術相比,本申請包括以下優點:首先,本申請通過在應用服務器端攔截用戶端的請求,根據所述請求全面地獲取各用戶信息,并通過黑名單機制對用戶端的請求進行過濾,在解決因網絡爬蟲或者惡意攻擊在短時間內產生巨量網絡訪問的同時,降低服務器系統開銷,能更準確的對用戶端的請求進行過濾,可以降低對正常訪問用戶端錯誤過濾的情況;依據用戶信息的全面獲取能力,能根據不同的實際情況調整過濾的用戶信息組合,配置靈活,適用面廣泛,特別是針對現在分布式系統,可以有效的提高系統的過濾效率。
圖1是本申請一種流量控制方法的實施例的流程示意圖;圖2是本申請一種流量控制裝置的結構示意圖;圖3是本申請一種流量控制裝置的優選的結構示意圖。
具體實施例方式為使本申請的上述目的、特征和優點能夠更加明顯易懂,下面依據附圖和具體實施方式
對本申請作進一步詳細的說明。本申請通過在應用服務器端攔截用戶端的請求,根據所述請求全面地獲取各用戶信息,并通過黑名單機制對用戶端的請求進行過濾,在解決因網絡爬蟲或者惡意攻擊在短時間內產生巨量網絡訪問的同時,降低服務器系統開銷,能更準確的對用戶端的請求進行過濾,可以降低對正常訪問用戶端錯誤過濾的情況;依據用戶信息的全面獲取能力,能根據不同的實際情況調整過濾的用戶信息組合,配置靈活,適用面廣泛,特別是針對現在分布式系統,可以有效的提高系統的過濾效率。本申請還主要針對在應用服務器端進行注冊的用戶端進行的處理過程。參照圖1,其示出了本申請一種流量控制方法的實施例的流程示意圖。請求攔截步驟110,在應用服務器端攔截用戶端的請求;用戶端可以通過網絡將其請求發送到應用服務器端,然后由應用服務器根據請求返回相關信息。用戶端發送的請求由應用服務器端設置的攔截器進行攔截。其中,在實際中,應用服務器端可以分布式系統,即可以由多個分布式應用服務器組成,本申請可在每一個應用服務器內都可設置一個攔截器,用來攔截到各個應用服務器的請求,所述應用服務器一般為web應用服務器。用戶信息獲取步驟120,根據所述請求獲取用戶信息組合;實際中用戶端的請求可包括cookie信息、IP地址信息、session id、requestparameter(應用請求參數)等用戶信息。依據用戶端請求中的上述信息,在應用服務器端可獲取包括cookie信息、和/或IP信息、和/或session信息、和/或應用請求參數信息(request parameter)等用戶信息。其中對于用戶信息session,可以通過如下步驟獲得:步驟Al,抓取請求中包括的由應用服務器端分配給已登錄用戶端的session id。步驟A2,依據所述session id,在應用服務器端中提取與session id對應session 內容。session機制是一種應用服務器端的機制,應用服務器使用一種類似于散列表的結構(包括散列表)來保存信息。但程序需要為某個用戶端的請求創建一個session的時候,應用服務器首先檢查這個用戶端的請求里是否包含了一個session標識即sessionid,如果已經包含一個session id則說明應用服務器已經為此客戶創建過session,應用服務器就按照session id把這個session提取出來進行處理。如果客戶請求不包含session id,則由應用服務器為此客戶創建一個session,并且生成一個與此session相關聯的session id,這個session id將在本次響應中返回給用戶端保存。而該應用服務器中的session是與外界隔離的,無法在該應用服務器以外提取該session信息。因此,對于用戶信息session來說,需要依據用戶端請求中的session id,在應用服務器端提取session。在實際中cookie信息、session信息和request parameter信息中都包括了key (關鍵詞)及對應的 value (值),比如 cookie:“key = id, value = 100156”,該 cookie中的關鍵詞為id,其值為100156,實際中該值可以為用戶的在應用服務器端的注冊id。對于session信息:“key = id, value = 100123”,該session中的關鍵詞為id,其值為100123,實際中該值也可為用戶在服務器端注冊的id ;對于request parameter,其中的關鍵詞key和value值對應各實際的應用。對于IP信息,其關鍵詞為IP,其值為其具體的IP值比如201.1.1.109。本申請可以依據上述信息進行過濾。黑名單過濾步驟130,將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾。優選的,所述的黑名單過濾步驟包括:關鍵詞匹配步驟SI,將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果匹配上,進入黑名單匹配步驟;比如所述流量控制規則配置如下:1、請求的用戶端IP地址為*.*.*.*和請求中session:1d為xx的請求每分種不能超過30次。(其中IP代表關鍵詞,*.*.*.*代表其值,其中id代表關鍵詞,xx代表其值)那么對于根據用戶請求獲得的用戶信息組合為IP信息和session信息組合,其中IP信息的關鍵詞為IP,值為202.1.1.109,session信息的關鍵詞為id,其值為100186。首先,將上述用戶信息組合中對應的關鍵詞組合IP和id與流量控制規則中配置的關鍵詞IP和id進行匹配,顯然可以匹配上,則轉入步驟S2。當用戶請求的IP信息和session信息的關鍵詞組合與流量控制規則中的關鍵詞組合不匹配,比如用戶的IP信息和session信息的關鍵詞組合為IP和AB,則不對其進行過濾,由應用服務器返回業務邏輯,比如返回請求錯誤的業務邏輯。實際中,步驟SI可在應用服務器端進行。實際中,流量控制規則配置可如下:1、請求中cookie:A為xx的請求每分種不能超過30次。(其中A代表關鍵詞,xx代表其值)2、請求中session:A為xx的請求每分種不能超過30次。(其中A代表關鍵詞,xx代表其值)3、請求request parameter:A為xx的請求每分種不能超過30次。(其中A代表關鍵詞,XX代表其值)4、請求的用戶端IP地址為*.*.*.*的請求每分種不能超過30次。(其中IP代表關鍵詞,*.*.*.*代表其值)其中一個或者多個的組合。黑名單匹配步驟S2,將所述關鍵詞組合對應的值組合與黑名單中的值組合進行匹配,如果匹配上,則進行過濾。
在通過步驟SI的關鍵詞匹配之后,對于匹配上的關鍵詞組合對應的值組合,比如前述IP和id關鍵詞組合對應的202.1.1.109和100186,與黑名單中的值組合進行匹配,如果匹配上,則進行過濾。如果沒有匹配上,則繼續記錄以該值的組合進行計數。其中,所述黑名單通過如下步驟生成:訪問計數步驟140,根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數;在實際中是以流量控制規則中的用戶信息組合進行訪問次數的統計。更進一步的是針對用戶信息組合的關鍵詞組合對應的值的組合進行的訪問次數的統計。比如前述的根據用戶請求獲得的用戶信息組合為IP信息和session信息組合,其中IP信息的關鍵詞為IP,值為202.1.1.109,session信息的關鍵詞為id,其值為100186,就以202.1.1.109和100186為組合進行訪問次數的統計。其中,對于用戶信息組合的訪問次數可根據流量控制規則里配置的時間長度進行統計。比如前述每分鐘不得超過30次,那么從第一次接收某個用戶請求開始,比如在10:00時刻第一次接收到某個請求,對于該請求對應的用戶信息組合的統計從10:00時刻開始,一直統計到10:01時刻結束,然后將針對該用戶組合的統計清零,再重新開始統計,如此循環;或者,也可以按照時間點的統計次數之間的差額確認流量控制規則配置的時間段內,該用戶信息組合的訪問次數,比如10:00時刻為O次,10:01時刻為25次,10:02時刻為40次,10:03時刻為60次,那么第一個I分鐘內訪問次數就是25次,第二個I分鐘內就是15次,第三個I分鐘內就是20次。當然,還有其他方法統計流量控制規則配置時間段內的訪問次數,本申請不對其加以限制。黑名單生成步驟150,針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。比如前述控制規則:1、請求的用戶端IP地址為*.*.*.*和請求中session:1d為xx的請求每分種不能超過30次。(其中IP代表關鍵詞,*.*.*.*代表其值,其中id代表關鍵詞,xx代表其值)實際中,流量控制規則可以根據實際應用環境靈活調整,比如,如果為例提高安全性,系統采用session機制,而不采用cookie機制,可以單獨以session信息為用戶信息設置流量控制規則,也可以session信息和IP信息的組合為用戶信息組合設置流量控制規則;如果需要針對應用服務器的應用進行過濾,那么可以以用戶請求中的應用請求參數(request parameter)信息作為用戶信息設置流量控制規則,也可以應用請求參數信息和session信息為用戶信息組合進行過濾;還可根據實際情況的要求以其他的用戶信息組合設置流量控制規則,其中,具體時間間隔和次數也可根據實際要求進行設定,配置靈活,應用廣泛。進一步的,所述的黑名單匹配步驟包括:第一黑名單匹配步驟S3,將所述值組合與應用服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則轉入第二黑名單匹配步驟。比如對于前述根據用戶請求獲得的用戶信息組合為IP信息和session信息組合,其中IP信息的關鍵詞為IP,值為202.1.1.109,session信息的關鍵詞為id,其值為100186,就以202.1.1.109和100186為組合首先與應用服務器端的黑名單中的值的組合進行匹配,如果匹配上,則進行過濾,如果未匹配上,則當次該組合及對應請求存入應用服務器端的緩存日志中,并按該請求的要求返回處理結果。對于應用服務器的緩存日志,優選的,通過應用服務器端將所述緩存日志更新到流量控制中心服務器端的日志文件中。在實際應用中,用戶端的請求的攔截在應用服務器端,請求的響應處理也在應用服務器端,規則的配置和黑名單的生成都在流量控制中心服務器端。在實際中,應用服務器端將所述緩存日志以一定的時間間隔更新到流量控制中心服務器端的日志文件中,比如,每5秒更新一次。進一步的,對于所述日志文件進行如下操作:步驟ml,通過流量控制中心服務器端掃描所述日志文件;步驟m2,統計所述值組合的次數;步驟m3,依據所述次數根據流量控制規則生成所述值組合的黑名單。對于流量控制中心服務器端的日志文件,流量控制中心服務器可實時依據該日志,根據流量控制規則生成黑名單。在實際生成過程中,可以由流量控制中心服務器端的規則引擎掃描流量控制中心服務器的日志文件,通過tair (Key/Value結構數據存儲系統,默認支持基于內存和文件的兩種存儲方式)做訪問計數器統計所述值組合的次數。然后由規則引擎依據流量控制規則里面的次數閾值生成黑名單。第二黑名單匹配步驟S4,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則進行過濾。此步驟的目的是對請求的值組合的進一步的核查,因為通過前述黑名單生成過程知道,應用服務器端的黑名單與流量控制中心服務器端的黑名單可能存在同步的延遲,此步驟可以增加過濾的精確度和有效性。在此步驟中,如果未匹配上,說明應用服務器端的黑名單失效,比如,用戶端根據要求進行解鎖操作,則系統(流量控制中心服務器端)會將解鎖的用戶端的請求相關用戶信息組合從黑名單刪除。那么,此時就需要將流量控制中心服務器端的黑名單再次更新到應用服務器端,使應用服務器端的黑名單保持準確。同時,對于該值組合,系統會將其存入應用服務器端的緩存日志。優選的,所述的過濾包括返回解鎖頁面給用戶端。優選的,當用戶端進行解鎖,則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。實際中,用戶端的解鎖處理在應用服務器中進行,當用戶端的解鎖請求發送到應用服務器端后,應用服務器端將對該請求的解鎖信息發送到流量控制中心服務器端,流量控制中心服務器端則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到分布式系統的各應用服務器端。另外,所述的過濾也可為限制被過濾用戶端在一定時間段內不能進行訪問,本申請不對過濾方法加以限制。
參照圖2,其是本申請一種流量控制裝置的結構示意圖。請求攔截模塊210,用于在應用服務器端攔截用戶端的請求;用戶信息獲取模塊220,用于根據所述請求獲得用戶信息組合;黑名單過濾模塊230,用于將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾;其中,所述黑名單通過如下模塊生成:訪問計數模塊240,用于根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數;黑名單生成模塊250,用于針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。優選的,所述黑名單過濾模塊包括:關鍵詞匹配模塊,用于將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果匹配上,進入黑名單匹配步驟。黑名單匹配模塊,用于將所述關鍵詞組合對應的值組合與黑名單中的值組合進行匹配,如果匹配上,則進行過濾。進一步,優選的,所述的黑名單匹配模塊包括:第一黑名單匹配模塊,將所述值組合與應用服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則轉入第二黑名單匹配步驟;第二黑名單匹配模塊,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則進行過濾。進一步的,優選的,所述的應用服務器端還包括:緩存日志模塊,用于存儲每次未匹配上黑名單的用戶信息組合對應的值組合。解鎖模塊,用于解除解鎖頁面對用戶端請求的鎖定。優選的,所述流量控制中心服務器端的訪問計數模塊以tair (Key/Value結構數據存儲系統,默認支持基于內存和文件的兩種存儲方式)做訪問計數器統計所述值組合的訪問次數。所述流量控制中心服務器端的黑名單生成模塊為規則引擎,用于配置規則,并針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。優選的,所述流量控制中心服務器端還包括解鎖信息發送模塊,用于當用戶端進行解鎖,則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。參照圖3,其示出了本申請一種流量控制裝置的優選的結構示意圖。本申請包括應用服務器端210和流量控制中心服務器端220 ;其中所述的應用服務器端可以為分布式應用服務器端。所述的應用服務器端210包括:請求攔截模塊,用于在應用服務器端攔截所有用戶端的請求。用戶信息獲取模塊,用于根據所述請求獲得用戶信息組合。
關鍵詞匹配模塊,用于將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果匹配上,進入黑名單匹配步驟。第一黑名單匹配模塊,將所述值組合與應用服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則轉入第二黑名單匹配步驟。緩存日志模塊,用于存儲每次未匹配上黑名單的用戶信息組合對應的值組合。解鎖模塊,用于解除解鎖頁面對用戶端請求的鎖定。所述的流量控制中心服務器端220包括:訪問計數模塊,根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數。規則引擎,用于配置規則,并針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。第二黑名單匹配模塊,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則進行過濾。解鎖信息發送模塊,用于當用戶端進行解鎖,則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。本申請在應用服務器對用戶端的請求進行攔截以前,流量控制中心服務器端將黑名單推送給應用服務器端;應用服務器端的請求攔截模塊對到達應用服務器的請求進行攔截;應用服務器端的用戶信息獲取模塊獲取用戶信息組合,所述的用戶信息包括cookie信息、和/或IP信息、和/或session信息、和/或應用請求參數信息(requestparameter)等;應用服務器端的關鍵詞匹配模塊首先將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果未匹配,則返回業務邏輯;如果匹配上,進入第一黑名單匹配模塊;應用服務器端的第一黑名單匹配模塊,根據被推送到應用服務器端的黑名單,對所述請求的用戶信息組合的關鍵詞組合對應的值組合與黑名單中值組合的進行匹配;如果未匹配上,則將該值組合存入應用服務器端的緩存日志模塊,并返回業務邏輯;如果匹配上,則進入第二黑名單匹配模塊;流量控制中心服務器端的第二黑名單匹配模塊,根據其當時的黑名單,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志模塊,并返回業務邏輯,反之,則進行過濾,即返回解鎖頁面給用戶端。用戶端根據要求發送解鎖請求到應用服務器端后,應用服務器端將解鎖消息發送給流量控制中心服務器端。流量控制中心服務器端的解鎖信息發送模塊將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。其中,應用服務器端的緩存日志模塊中的記錄則定時更新到流量控制中心服務器端的日志文件中;流量控制中心的規則引擎掃描該日志文件,tair訪問計數器統計對應用戶請求的所述值組合的次數,然后由規則引擎依據所述次數,根據流量控制規則生成黑名單;流量控制中心再將該新的黑名單推送到各應用服務器端。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。以上對本申請所提供的一種流量控制方法和裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
權利要求
1.一種流量控制方法,其特征在于,包括: 請求攔截步驟,在應用服務器端攔截用戶端的請求; 用戶信息獲取步驟,根據所述請求獲得用戶信息組合; 黑名單過濾步驟,將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾; 其中,所述黑名單通過如下步驟生成: 訪問計數步驟,根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數; 黑名單生成步驟,針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。
2.根據權利要求1所述的方法,其特征在于: 所述的用戶信息包括cookie信息、和/或IP信息、和/或session信息、和/或應用請求參數信息。
3.根據權利要求1或2所述的方法,其特征在于,所述的黑名單過濾步驟包括: 關鍵詞匹配步驟,將用戶信息組合中對應的關鍵詞組合與流量控制規則中的關鍵詞組合進行匹配,如果匹配上,進入黑名單匹配步驟; 黑名單匹配步驟,將所述關鍵詞組合對應的值組合與黑名單中的值組合進行匹配,如果匹配上,則進行過濾。
4.根據權利要求3所述的方`法,其特征在于,所述的黑名單匹配步驟包括: 第一黑名單匹配步驟,將所述值組合與應用服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則轉入第二黑名單匹配步驟; 第二黑名單匹配步驟,將所述值組合與流量控制中心服務器端的黑名單中的值組合進行匹配,如果未匹配上,則將流量控制服務器中心服務器端的黑名單更新到應用服務器端,將該值組合存入應用服務器端的緩存日志,并返回業務邏輯,反之,則進行過濾。
5.根據權利要求4所述的方法,其特征在于,對于所述應用服務器端的緩存日志進行如下處理: 通過應用服務器端將所述緩存日志更新到流量控制中心服務器端的日志文件中。
6.根據權利要求5所述的方法,其特征在于,對于所述日志文件進行如下操作: 通過流量控制中心服務器端掃描所述日志文件; 統計所述值組合的次數; 依據所述次數根據流量控制規則生成所述值組合的黑名單。
7.根據權利要求1所述的方法,其特征在于,在用戶信息獲取步驟中包括: 步驟Al,抓取請求中包括的由應用服務器端分配給已登錄用戶端的session id ; 步驟A2,依據所述session id,在應用服務器端中提取與session id對應session內容。
8.根據權利要求1所述的方法,其特征在于: 所述的過濾包括返回解鎖頁面給用戶端。
9.根據權利要求8所述的方法,其特征在于:當用戶端進行解鎖,則將該用戶端對應的請求的關鍵詞值從黑名單刪除,并將刪除后的黑名單更新到各應用服務器端。
10.一種流量控制裝置,其特征在于,包括: 請求攔截模塊,用于在應用服務器端攔截用戶端的請求; 用戶信息獲取模塊,用于根據所述請求獲得用戶信息組合; 黑名單過濾模塊,用于將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾; 其中,所述黑名單通過如下模塊生成: 訪問計數模塊,用于根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數; 黑名單生成模塊,用于針 對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。
全文摘要
本申請提供了一種流量控制方法和裝置,涉及網絡技術領域。所述的方法包括在應用服務器端攔截用戶端的請求;根據所述請求獲得用戶信息組合;將所述用戶信息組合,與黑名單中的用戶信息組合進行匹配,如果匹配,則進行過濾;其中,所述黑名單通過如下步驟生成根據所述請求對應用戶信息組合的記錄日志,統計所述用戶請求對應的用戶信息組合的訪問次數;針對所述訪問次數,依據流量控制規則生成所述用戶信息組合的黑名單。本申請在解決因網絡爬蟲或者惡意攻擊在短時間內產生巨量網絡訪問時,降低服務器系統開銷,更準確的對用戶端的請求進行過濾,可降低對正常訪問用戶端錯誤過濾的情況;配置靈活,適用面廣泛,可有效的提高系統的過濾效率。
文檔編號H04L29/06GK103107948SQ20111036222
公開日2013年5月15日 申請日期2011年11月15日 優先權日2011年11月15日
發明者王濤 申請人:阿里巴巴集團控股有限公司