TW202321949A - 網頁訪問限流方法、裝置及電腦可讀存儲介質 - Google Patents
網頁訪問限流方法、裝置及電腦可讀存儲介質 Download PDFInfo
- Publication number
- TW202321949A TW202321949A TW111137565A TW111137565A TW202321949A TW 202321949 A TW202321949 A TW 202321949A TW 111137565 A TW111137565 A TW 111137565A TW 111137565 A TW111137565 A TW 111137565A TW 202321949 A TW202321949 A TW 202321949A
- Authority
- TW
- Taiwan
- Prior art keywords
- access
- user
- current
- matrix
- sequence
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本發明提供了一種網頁訪問限流方法、裝置、系統及電腦可讀存儲介質,包括:當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;將使用者訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料;根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。利用上述方法,能夠通過分析使用者訪問資料實現針對不同使用者的動態調整限流範圍,來實現網頁訪問限流。
Description
本發明屬於限流領域,具體涉及一種網頁訪問限流方法、裝置及電腦可讀存儲介質。
本部分旨在為申請專利範圍中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。
在開發高併發系統時,一般通過限流可以很好地控制系統的每秒查詢率,從而達到保護系統的目的。上述限流的目的是通過對併發訪問進行限速,一旦達到一定的速率就可以拒絕服務、排隊等待、降級等。
目前常用的限流演算法有兩種:計數器演算法和權杖桶演算法。前者通過滑動視窗結合計數器實現WEB訪問限流,後者使用大小固定的權杖桶並以恒定的速率源源不斷地產生權杖。如果權杖桶中存在權杖,則允許發送請求;而如果權杖桶中不存在權杖,則不允許發送請求。
現有的限流演算法,不管是計數器演算法的閾值,還是權杖桶演算法的桶大小和速率,都需要事先根據經驗設置閾值,缺乏普適性,無法通過資料動態學習調整。
針對上述現有技術中存在的問題,提出了一種網頁訪問限流方法、裝置及電腦可讀存儲介質,利用這種方法、裝置及電腦可讀存儲介質,能夠解決上述問題。
本發明提供了以下方案。
第一方面,提供一種網頁訪問限流方法,包括:當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;將使用者訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料;根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。
在一種實施方式中,當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。
在一種實施方式中,基於使用者訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣,包括:根據使用者訪問畫像矩陣確定各個維度的限流範圍;根據使用者訪問序列獲取對應於用戶訪問畫像矩陣的各個維度的值;根據判斷各個維度的值是否在限流範圍內,以確定當前訪問是否為正常訪問。
在一種實施方式中,使用者訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度:使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
在一種實施方式中,還包括:在宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個使用者訪問網頁服務時觸發埋點以生成調用請求,調用請求包括當前訪問資訊;將當前訪問的判斷結果應答至宿主應用的埋點處,且當埋點收到非正常訪問的應答時,向宿主應用回饋限流提醒。
在一種實施方式中,利用以下方法生成訪問矩陣池:通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到訪問矩陣池;其中,時間維度是指對單一使用者的訪問序列進行資料歸納,空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。
在一種實施方式中,根據維度權重對用戶畫像矩陣的多個維度進行優先順序排列;按照優先順序順序依次判斷各個維度的值是否在對應的限流範圍內;其中,一旦判斷出當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
第二方面,提供一種網頁訪問限流裝置,包括:訪問收納模組,用於當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;訪問歸集模組,用於根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;訪問矩陣池,將用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料;限流計算模組,用於根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。
在一種實施方式中,當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。
在一種實施方式中,限流計算模組,還用於:根據使用者訪問畫像矩陣確定各個維度的限流範圍;根據使用者訪問序列獲取對應於用戶訪問畫像矩陣的各個維度的值;根據判斷各個維度的值是否在限流範圍內,以確定當前訪問是否為正常訪問。
在一種實施方式中,使用者訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度:使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
在一種實施方式中,還包括:應用埋點模組,用於在宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個使用者訪問網頁服務時觸發埋點以生成調用請求,調用請求包括當前訪問資訊;結果輸出模組,用於將當前訪問的判斷結果應答至宿主應用的埋點處,且當應用埋點模組收到非正常訪問的應答時,向宿主應用回饋限流提醒。
在一種實施方式中,訪問矩陣池還用於:通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到訪問矩陣池;其中,時間維度是指對單一使用者的訪問序列進行資料歸納,空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。
在一種實施方式中,限流計算模組還用於:根據維度權重對用戶畫像矩陣的多個維度進行優先順序排列;按照優先順序順序依次判斷各個維度的值是否在對應的限流範圍內;其中,一旦判斷出當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
第三方面,提供一種網頁訪問限流裝置,包括:至少一個處理器;以及,與至少一個處理器通信連接的記憶體;其中,記憶體存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行:如第一方面的方法。
第四方面,提供一種電腦可讀存儲介質,電腦可讀存儲介質存儲有程式,當程式被多核處理器執行時,使得多核處理器執行如第一方面的方法。
本申請實施例採用的上述至少一個技術方案能夠達到以下有益效果:本實施例中,無需事先設置閾值,能夠實現基於根據使用者歷史訪問資料生成且例如當前使用者資料而動態更新的訪問矩陣池判斷是否需要對使用者當前對網頁服務的訪問進行限流。
應當理解,上述說明僅是本發明技術方案的概述,以便能夠更清楚地瞭解本發明的技術手段,從而可依照說明書的內容予以實施。為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉例說明本發明的具體實施方式。
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
在本申請實施例的描述中,應理解,諸如“包括”或“具有”等術語旨在指示本說明書中所公開的特徵、數位、步驟、行為、部件、部分或其組合的存在,並且不旨在排除一個或多個其他特徵、數位、步驟、行為、部件、部分或其組合存在的可能性。
除非另有說明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。
術語“第一”、“第二”等僅用於描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特徵的數量。由此,限定有“第一”、“第二”等的特徵可以明示或者隱含地包括一個或者更多個該特徵。在本申請實施例的描述中,除非另有說明,“多個”的含義是兩個或兩個以上。
本申請中的所有代碼都是示例性的,本領域技術人員根據所使用的程式設計語言,具體的需求和個人習慣等因素會在不脫離本申請的思想的條件下想到各種變型。
另外還需要說明的是,在不衝突的情況下,本發明中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本發明。
本申請提出一種網頁訪問限流方法,具體包括:當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;將使用者訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料;根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。由此可以通過分析使用者訪問資料可實現針對不同使用者的動態調整限流閾值,來實現網頁訪問限流。
圖1為根據本申請一實施例的一種網頁訪問限流方法的流程示意圖,用於對非正常訪問進行限流,在該流程中,從設備角度而言,執行主體可以是一個或者多個電子設備;從程式角度而言,執行主體相應地可以是搭載於這些電子設備上的程式。
如圖1所示,本實施例提供的方法可以包括以下步驟:
S101、當用戶訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;
在一種實施方式中,當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。例如,可以是(用戶A,url1,時間戳記10)。
在一種實施方式中,為了更無感地啟動上述限流方法,還包括:在宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個使用者訪問網頁服務時觸發埋點以生成調用請求,調用請求包括當前訪問資訊。
例如,可以在需要執行限流研判和處置的宿主應用內設置埋點,具體可以位於宿主應用的網頁服務入口,當宿主應用的網頁服務被調用後觸發埋點,第一時間以同步方式對網頁限流方法發起調用並接受其回饋結果。
其中,可以通過對宿主應用提供HTTP服務,以接收宿主應用通過觸發應用埋點而發送的調用請求,該調用請求中可以包括使用者訪問網頁服務的當前訪問資訊。
S102、根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;
其中,當前訪問資訊可以包括(使用者A,url1,時間戳記10),其轉換生成的用戶訪問序列可以包括[(用戶A,url1,時間戳記1),(用戶A,url2,時間戳記2),…,(用戶A,url1,時間戳記10)],其中,可以設定使用者訪問序列的資訊數,比如10條,然後以當前訪問資訊為最後一個序列元素,提取使用者A之前9次的在先訪問資訊,並組合成按時序排列的用戶訪問序列。
可以理解,如當前訪問之前,用戶發生的在先訪問不滿預設數量或者並未發生在先訪問,也可以生產少於預設元素的使用者訪問序列。
例如,用戶A在一秒內連續點擊獲取驗證碼按鈕3次,其中獲取驗證碼對應url為/getAuthCode,則三次請求分別對應的url序列資料為:
1、[(/getAuthCode,時間戳記1)],
2、[(/getAuthCode,時間戳記1),(/getAuthCode,時間戳記2)]
3、[(/getAuthCode,時間戳記1),(/getAuthCode,時間戳記2),(/getAuthCode,時間戳記3)]
S103、將用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣;
其中,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料。例如,訪問矩陣池基於即時不斷輸入的使用者訪問序列進行動態更新,在當前訪問對應的使用者訪問資料登錄之前,其已經通過在先輸入的使用者歷史訪問資料加工計算出使用者訪問矩陣以及用戶訪問習慣,由此可以滾動形成用戶限流畫像,以刻畫用戶在各個維度的訪問歸納資料。
在一種實施方式中,為了生成訪問矩陣池,還可以包括:通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到訪問矩陣池;其中,時間維度是指對單一使用者的訪問序列進行資料歸納,空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。最終形成訪問矩陣池中的各個用戶的用戶訪問畫像矩陣,以此為依據對用戶訪問進行限流決策。
在一種實施方式中,使用者訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度:使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
其中,單位時間可以是1秒,全量用戶是指接入訪問矩陣池的全部使用者。
可以理解,可以根據實際業務場景維度自行設計上述維度,本申請對此不作具體限制。
S104、根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。
可以理解,用戶訪問畫像矩陣從多個維度刻畫了用戶的訪問習慣,由此,可以根據使用者訪問畫像矩陣來對用戶訪問序列中包含的用戶最近幾次的訪問資料進行研判,以判斷訪問是否正常。
進一步地,也可以根據使用者訪問畫像矩陣來對當前時間的多個用戶併發生成的多個用戶訪問序列進行研判,以判斷多個用戶的訪問是否正常。
在一種實施方式中,S104中的基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣,具體可以包括:
根據使用者訪問畫像矩陣確定各個維度的限流範圍;根據使用者訪問序列獲取對應於用戶訪問畫像矩陣的各個維度的值;根據判斷各個維度的值是否在限流範圍內,以確定當前訪問是否為正常訪問。
例如,如根據使用者A的使用者訪問畫像矩陣確定該用戶A在1秒內對特定URL請求(點擊獲取驗證碼getAuthCode)總次數的限流範圍為小於2次、該用戶A在1秒內的全部URL請求總次數的限流範圍為小於5次、全量用戶在1秒內對特定URL請求(點擊獲取驗證碼getAuthCode)總次數的限流範圍為小於1000次,等等。那麼可以獲取各個維度的限流範圍為:小於2;小於5;小於1000。基於此,可以對應根據使用者訪問序列獲取對應於用戶訪問畫像矩陣的各個維度的值,比如為:1;3;489。可以看出,此時各項指標都未超過限流範圍,可以認為是正常訪問。
可選地,還可以將判斷規則設置為:如果超過限流範圍不超過預設閾值時,也可以認為是正常訪問。還可以將判斷規則設置為:為每個維度設置權重,基於權重、是否超過限流範圍(或者超過限流範圍的程度)進行加權計算,如最終結果未超過設定值即可以認為是正常訪問。本申請對此不作具體限制。
在一種實施方式中,為了減少不必要的計算量,本申請還可以包括:根據維度權重對用戶畫像矩陣的多個維度進行優先順序排列;按照優先順序順序依次判斷各個維度的值是否在對應的限流範圍內;其中,一旦判斷出當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
在獲取判斷當前訪問是否符合用戶訪問習慣的判斷結果之後,將當前訪問的判斷結果應答至宿主應用的埋點處,且當埋點收到非正常訪問的應答時,向宿主應用回饋限流提醒。比如提醒需執行丟棄請求、切斷連結、告警等處理。
在本說明書的描述中,參考術語“一些可能的實施方式”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特徵、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特徵、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特徵進行結合和組合。
此外,術語“第一”、“第二”僅用於描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特徵的數量。由此,限定有“第一”、“第二”的特徵可以明示或者隱含地包括至少一個該特徵。在本發明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用於實現特定邏輯功能或過程的步驟的可執行指令的代碼的模組、片段或部分,並且本發明的優選實施方式的範圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。
關於本申請實施例的方法流程圖,將某些操作描述為以一定循序執行的不同的步驟。這樣的流程圖屬於說明性的而非限制性的。可以將在本文中所描述的某些步驟分組在一起並且在單個操作中執行、可以將某些步驟分割成多個子步驟、並且可以以不同于在本文中所示出的順序來執行某些步驟。可以由任何電路結構和/或有形機制(例如,由在電腦設備上運行的軟體、硬體(例如,處理器或晶片實現的邏輯功能)等、和/或其任何組合)以任何方式來實現在流程圖中所示出的各個步驟。
基於相同的技術構思,本發明實施例還提供一種網頁訪問限流裝置,用於執行上述任一實施例所提供的網頁訪問限流方法。圖2為本發明實施例提供的一種網頁訪問限流裝置結構示意圖。
如圖2所示,裝置20包括:
訪問收納模組201,用於當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;
訪問歸集模組202,用於根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;
訪問矩陣池203,將用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料;
限流計算模組204,用於根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。
在一種實施方式中,當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。
在一種實施方式中,限流計算模組204,還用於:根據使用者訪問畫像矩陣確定各個維度的限流範圍;根據使用者訪問序列獲取對應於用戶訪問畫像矩陣的各個維度的值;根據判斷各個維度的值是否在限流範圍內,以確定當前訪問是否為正常訪問。
在一種實施方式中,使用者訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度:使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
在一種實施方式中,還包括:應用埋點模組200,用於在宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個使用者訪問網頁服務時觸發埋點以生成調用請求,調用請求包括當前訪問資訊;結果輸出模組,用於將當前訪問的判斷結果應答至宿主應用的埋點處,且當應用埋點模組收到非正常訪問的應答時,向宿主應用回饋限流提醒。
在一種實施方式中,訪問矩陣池203還用於:通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到訪問矩陣池;其中,時間維度是指對單一使用者的訪問序列進行資料歸納,空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。
在一種實施方式中,限流計算模組204還用於:根據維度權重對用戶畫像矩陣的多個維度進行優先順序排列;按照優先順序順序依次判斷各個維度的值是否在對應的限流範圍內;其中,一旦判斷出當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
需要說明的是,本申請實施例中的裝置可以實現前述方法的實施例的各個過程,並達到相同的效果和功能,這裡不再贅述。
圖3為根據本申請一實施例的網頁訪問限流裝置,用於執行圖1所示出的網頁訪問限流方法,該裝置包括:至少一個處理器;以及,與至少一個處理器通信連接的記憶體;其中,記憶體存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行上述實施例所述的方法。
根據本申請的一些實施例,提供了網頁訪問限流方法的非易失性電腦存儲介質,其上存儲有電腦可執行指令,該電腦可執行指令設置為在由處理器運行時執行:上述實施例所述的方法。
本申請中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、設備和電腦可讀存儲介質實施例而言,由於其基本相似於方法實施例,所以其描述進行了簡化,相關之處可參見方法實施例的部分說明即可。
本申請實施例提供的裝置、設備和電腦可讀存儲介質與方法是一一對應的,因此,裝置、設備和電腦可讀存儲介質也具有與其對應的方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述裝置、設備和電腦可讀存儲介質的有益技術效果。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用存儲介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得存儲在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器 (CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體 (RAM) 和/或非易失性記憶體等形式,如唯讀記憶體 (ROM) 或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊存儲。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的存儲介質的例子包括,但不限於相變記憶體 (PRAM)、靜態隨機存取記憶體 (SRAM)、動態隨機存取記憶體 (DRAM)、其他類型的隨機存取記憶體 (RAM)、唯讀記憶體 (ROM)、電可擦除可程式設計唯讀記憶體 (EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體 (CD-ROM)、數位多功能光碟 (DVD) 或其他光學存儲、磁盒式磁帶,磁帶磁磁片存儲或其他磁性存放裝置或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的資訊。此外,儘管在附圖中以特定順序描述了本發明方法的操作,但是,這並非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合併為一個步驟執行,和/或將一個步驟分解為多個步驟執行。
雖然已經參考若干具體實施方式描述了本發明的精神和原理,但是應該理解,本發明並不限於所公開的具體實施方式,對各方面的劃分也不意味著這些方面中的特徵不能組合以進行受益,這種劃分僅是為了表述的方便。本發明旨在涵蓋所附申請專利範圍的精神和範圍內所包括的各種修改和等同佈置。
S101:當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊;
S102:根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列;
S103:將用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣;
S104:根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣。
200:應用埋點模組
201:訪問收納模組
202:訪問歸集模組
203:訪問矩陣池
204:限流計算模組
[圖1]為根據本發明一實施例的網頁訪問限流方法的流程示意圖;
[圖2]為根據本發明一實施例的網頁訪問限流裝置的結構示意圖;
[圖3]為根據本發明又一實施例的網頁訪問限流裝置的結構示意圖。
S101:當使用者訪問宿主應用的網頁服務時,獲取宿主應用發來的當前訪問資訊
S102:根據當前訪問資訊生成使用者訪問序列,用戶訪問序列將使用者的當前訪問資訊及預設次數的在先訪問資訊按時序排列
S103:將用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣
S104:根據使用者標識從訪問矩陣池獲取對應的用戶訪問畫像矩陣,基於用戶訪問序列和用戶畫像矩陣判斷當前訪問是否符合用戶訪問習慣
Claims (16)
- 一種網頁訪問限流方法,包括: 當使用者訪問宿主應用的網頁服務時,獲取所述宿主應用發來的當前訪問資訊; 根據所述當前訪問資訊生成使用者訪問序列,所述用戶訪問序列將所述用戶的所述當前訪問資訊及預設次數的在先訪問資訊按時序排列; 將所述用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,所述使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料; 根據所述使用者標識從所述訪問矩陣池獲取對應的所述用戶訪問畫像矩陣,基於所述用戶訪問序列和所述用戶畫像矩陣判斷當前訪問是否符合所述用戶訪問習慣。
- 如請求項1所述的方法,其中,所述當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。
- 如請求項1或2所述的方法,其中,基於所述用戶訪問序列和所述用戶畫像矩陣判斷當前訪問是否符合所述用戶訪問習慣,包括: 根據所述使用者訪問畫像矩陣確定各個維度的限流範圍; 根據所述使用者訪問序列獲取對應於所述用戶訪問畫像矩陣的各個維度的值; 根據判斷所述各個維度的值是否在所述限流範圍內,以確定所述當前訪問是否為正常訪問。
- 如請求項1-3中任一項所述的方法,其中,所述用戶訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度的訪問歸納資料: 使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
- 如請求項1-4中任一項所所述的方法,其中,還包括: 在所述宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個用戶訪問所述網頁服務時觸發所述埋點以生成調用請求,所述調用請求包括所述當前訪問資訊; 將所述當前訪問的判斷結果應答至所述宿主應用的埋點處,且當所述埋點收到非正常訪問的應答時,向所述宿主應用回饋限流提醒。
- 如請求項1-5中任一項所所述的方法,其中,利用以下方法生成所述訪問矩陣池: 通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到所述訪問矩陣池; 其中,所述時間維度是指對單一使用者的訪問序列進行資料歸納,所述空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。
- 如請求項3-6中任一項所所述的方法,其中, 根據維度權重對所述用戶畫像矩陣的多個維度進行優先順序排列; 按照優先順序順序依次判斷所述各個維度的值是否在對應的所述限流範圍內; 其中,一旦判斷出所述當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
- 一種網頁訪問限流裝置,其中,包括: 訪問收納模組,用於當使用者訪問宿主應用的網頁服務時,獲取所述宿主應用發來的當前訪問資訊; 訪問歸集模組,用於根據所述當前訪問資訊生成使用者訪問序列,所述用戶訪問序列將所述用戶的所述當前訪問資訊及預設次數的在先訪問資訊按時序排列; 訪問矩陣池,將所述用戶訪問序列輸入訪問矩陣池,以動態更新對應於各個使用者的用戶訪問畫像矩陣,所述使用者訪問畫像矩陣根據使用者歷史訪問資料生成且包括多個維度的訪問歸納資料; 限流計算模組,用於根據所述使用者標識從所述訪問矩陣池獲取對應的所述用戶訪問畫像矩陣,基於所述用戶訪問序列和所述用戶畫像矩陣判斷當前訪問是否符合所述用戶訪問習慣。
- 如請求項8所述的裝置,其中,所述當前訪問資訊包括:使用者標識、當前服務URL和時間戳記。
- 如請求項8或9所述的裝置,其中,所述限流計算模組,還用於: 根據所述使用者訪問畫像矩陣確定各個維度的限流範圍; 根據所述使用者訪問序列獲取對應於所述用戶訪問畫像矩陣的各個維度的值; 根據判斷所述各個維度的值是否在所述限流範圍內,以確定所述當前訪問是否為正常訪問。
- 如請求項8-10中任一項所所述的裝置,其中,所述用戶訪問畫像矩陣包括使用者標識且包含如下任意一種或多種維度: 使用者單位時間內對特定URL請求總次數、使用者單位時間內的URL請求總次數、使用者單位時間內的URL請求總數與URL種類數的比值、全量使用者單位時間內的特定URL請求總次數、全量使用者單位時間內的URL請求總次數、全量使用者單位時間內的URL請求總數與URL種類數的比值。
- 如請求項8-11中任一項所所述的裝置,其中,還包括: 應用埋點模組,用於在所述宿主應用內的網頁服務入口處設置埋點,使得任意一個或多個用戶訪問所述網頁服務時觸發所述埋點以生成調用請求,所述調用請求包括所述當前訪問資訊; 結果輸出模組,用於將所述當前訪問的判斷結果應答至所述宿主應用的埋點處,且當所述應用埋點模組收到非正常訪問的應答時,向所述宿主應用回饋限流提醒。
- 如請求項8-12中任一項所所述的裝置,其中,所述訪問矩陣池還用於: 通過對使用者歷史訪問資料分別進行時間維度和空間維度的資料歸納,得到所述訪問矩陣池; 其中,所述時間維度是指對單一使用者的訪問序列進行資料歸納,所述空間維度是指對同一時間不同使用者併發的訪問資訊進行資料歸納。
- 如請求項10-13中任一項所所述的裝置,其中,所述限流計算模組還用於: 根據維度權重對所述用戶畫像矩陣的多個維度進行優先順序排列; 按照優先順序順序依次判斷所述各個維度的值是否在對應的所述限流範圍內; 其中,一旦判斷出所述當前訪問是非正常訪問,則無需對後續優先順序維度進行判斷。
- 一種網頁訪問限流裝置,包括: 至少一個處理器;以及,與至少一個處理器通信連接的記憶體;其中,記憶體存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行:如請求項1-7中任一項所述的方法。
- 一種電腦可讀存儲介質,所述電腦可讀存儲介質存儲有程式,當所述程式被多核處理器執行時,使得所述多核處理器執行如請求項1-7中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111407417.6 | 2021-11-24 | ||
CN202111407417.6A CN113973087B (zh) | 2021-11-24 | 2021-11-24 | 一种网页访问限流方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202321949A true TW202321949A (zh) | 2023-06-01 |
Family
ID=79590248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111137565A TW202321949A (zh) | 2021-11-24 | 2022-10-03 | 網頁訪問限流方法、裝置及電腦可讀存儲介質 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113973087B (zh) |
TW (1) | TW202321949A (zh) |
WO (1) | WO2023093206A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973087B (zh) * | 2021-11-24 | 2024-01-05 | 中国银联股份有限公司 | 一种网页访问限流方法、装置及计算机可读存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149828A1 (en) * | 2015-11-24 | 2017-05-25 | International Business Machines Corporation | Trust level modifier |
CN107222426B (zh) * | 2016-03-21 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN107465648B (zh) * | 2016-06-06 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 异常设备的识别方法及装置 |
CN107783987B (zh) * | 2016-08-25 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN107465686A (zh) * | 2017-08-23 | 2017-12-12 | 杭州安恒信息技术有限公司 | 基于网络异质大数据的ip信誉度计算方法及装置 |
CN107918497A (zh) * | 2017-11-14 | 2018-04-17 | 厦门攸信信息技术有限公司 | 一种控制器的预测方法及系统 |
CN109962855A (zh) * | 2017-12-14 | 2019-07-02 | 深圳市融汇通金科技有限公司 | 一种web服务器的限流方法、限流装置及终端设备 |
CN109274639A (zh) * | 2018-07-03 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 开放平台异常数据访问的识别方法和装置 |
CN109271555B (zh) * | 2018-09-19 | 2021-04-06 | 上海哔哩哔哩科技有限公司 | 信息聚类方法、系统、服务器及计算机可读存储介质 |
CN110677494B (zh) * | 2019-10-14 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 访问响应方法和装置 |
CN111552933A (zh) * | 2020-03-30 | 2020-08-18 | 西安交大捷普网络科技有限公司 | 一种账号异常登录的识别方法与装置 |
CN115004210A (zh) * | 2020-04-01 | 2022-09-02 | 深圳市欢太科技有限公司 | 用户画像列表构建方法、装置、服务器以及存储介质 |
CN111756702B (zh) * | 2020-05-29 | 2022-11-08 | 北京沃东天骏信息技术有限公司 | 数据安全防护方法、装置、设备和存储介质 |
CN111966995A (zh) * | 2020-08-17 | 2020-11-20 | 福建工程学院 | 一种基于用户行为的用户权限动态管控方法和装置以及设备 |
CN113347205B (zh) * | 2021-06-30 | 2022-10-28 | 深圳前海微众银行股份有限公司 | 一种检测业务访问请求的方法及装置 |
CN113645310A (zh) * | 2021-08-20 | 2021-11-12 | 北京高途云集教育科技有限公司 | 一种数据限流方法、装置、电子设备及可读存储介质 |
CN113973087B (zh) * | 2021-11-24 | 2024-01-05 | 中国银联股份有限公司 | 一种网页访问限流方法、装置及计算机可读存储介质 |
-
2021
- 2021-11-24 CN CN202111407417.6A patent/CN113973087B/zh active Active
-
2022
- 2022-09-07 WO PCT/CN2022/117423 patent/WO2023093206A1/zh unknown
- 2022-10-03 TW TW111137565A patent/TW202321949A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN113973087A (zh) | 2022-01-25 |
WO2023093206A1 (zh) | 2023-06-01 |
CN113973087B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11228425B2 (en) | Data storage method, data query method and apparatuses | |
JP6676167B2 (ja) | 情報推薦方法及び装置 | |
US10554388B2 (en) | Service execution method and device | |
WO2019192103A1 (zh) | 并发访问控制方法、装置、终端设备及介质 | |
WO2017084529A1 (zh) | 识别网络攻击的方法和装置 | |
US10789085B2 (en) | Selectively providing virtual machine through actual measurement of efficiency of power usage | |
CN113285883A (zh) | 一种访问请求的限流方法及装置、电子设备、存储介质 | |
EP3576036A1 (en) | Service execution method and device | |
US10095561B2 (en) | Method and processes for securely autofilling data fields in a software application | |
WO2017157202A1 (zh) | 执行系统调用的方法及装置 | |
TWI712970B (zh) | 支付通道推薦方法及其系統與電腦可讀儲存媒體 | |
WO2021238555A1 (zh) | 信息搜索 | |
WO2023093206A1 (zh) | 一种网页访问限流方法、装置及计算机可读存储介质 | |
AU2017273371B2 (en) | Method and device for preventing server from being attacked | |
JP2017534977A (ja) | アプリケーションインターフェースのナビゲーション | |
US9641497B2 (en) | Multi-browser authentication | |
CN111464487A (zh) | 访问控制方法、装置及系统 | |
US11449308B2 (en) | Condensed spoken utterances for automated assistant control of an intricate application GUI | |
CN109885729B (zh) | 一种显示数据的方法、装置及系统 | |
EP3750098B1 (en) | Privacy preserving data collection and analysis | |
US20150220648A1 (en) | Systems and Methods for Performing Machine-Implemented Tasks | |
US11683391B2 (en) | Predicting microservices required for incoming requests | |
CN114422439A (zh) | 接口限流方法、装置、计算机设备和存储介质 | |
TWI579708B (zh) | Method and apparatus for interacting with user data | |
CN110020332A (zh) | 一种基于圈选元素的事件生成方法及装置 |