[發明專利]IP限流方法、裝置、系統、計算機設備及存儲介質在審
| 申請號: | 202110703070.3 | 申請日: | 2021-06-24 |
| 公開(公告)號: | CN113438310A | 公開(公告)日: | 2021-09-24 |
| 發明(設計)人: | 卓根生 | 申請(專利權)人: | 平安科技(深圳)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/06;H04L12/813;G06F21/55;G06F16/27 |
| 代理公司: | 深圳國新南方知識產權代理有限公司 44374 | 代理人: | 周雷 |
| 地址: | 518000 廣東省深圳市福田區福*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | ip 限流 方法 裝置 系統 計算機 設備 存儲 介質 | ||
本發明公開了一種IP限流方法、裝置、系統、計算機設備及存儲介質,其中,方法包括:接收到訪問數據庫的訪問請求時,從訪問請求中獲取訪問IP地址,并記錄訪問IP地址的訪問記錄至新增訪問數據集,新增訪問數據集以第一預設頻率同步至數據庫;判斷IP數據集中是否存在訪問IP地址,IP數據集中包括IP地址、與IP地址對應的訪問次數和過期時間,每個服務器中存儲的IP數據集以第二預設頻率從數據庫中同步得到;若存在,則當訪問IP地址的訪問次數和過期時間不滿足預設條件時,阻止訪問請求。通過上述方式,本發明能夠適用于低訪問量的分布式服務系統,不需要通過第三方工具即可實現IP限流,同時還降低了維護成本。
技術領域
本申請涉及網絡訪問技術領域,特別是涉及一種IP限流方法、裝置、系統、計算機設備及存儲介質。
背景技術
隨著移動互聯網的不斷深入,越來越多的公司和企業逐漸開始面向互聯網,并且把面向客戶的服務和業務也遷移到線上。在開發這些線上業務時,隨著客戶數量的不斷增多,業務平臺的架構也在不斷地變化演進。從早期的單體應用架構逐漸轉變為微服務架構,集群和分布式也成為了標配的技術。
對于向互聯網開放的分布式系統而言,經常容易遭到類似批量攻擊等類型的惡意攻擊,攻擊者編寫惡意腳本,持續大批量訪問網站,占滿數據庫連接池,進而導致正常用戶無法訪問或訪問異常緩慢,針對此類攻擊,最有效的方式是增加IP限流功能,對單個IP單位時間段內的訪問數量進行限制,超過閾值則阻止該IP訪問。目前業內的主流做法是通過第三方工具來實現IP限流功能,例如結合Redis來實現IP限流功能,但這通常更適用于訪問量很多的大型分布式系統,對于還處在較低訪問量的中小型分布式系統而言,從技術角度上來說,增加Redis會使系統架構更為復雜,后續每次進行遷移和擴展都要考慮到Redis的問題,導致工作量大增,從成本的角度上來說,增加Redis意味著需要增加服務器資源投入以及運維人員的運維成本,從效率的角度上來說,系統架構更復雜,也意味著更大的工作量,不利于系統的快速迭代上線。
發明內容
本申請提供一種IP限流方法、裝置、分布式系統、計算機設備及存儲介質,以解決現有的IP限流方法應用在低訪問量的分布式系統時,會導致系統架構更為復雜,不利于維護的技術問題。
為解決上述技術問題,本申請采用的一個技術方案是:提供一種IP限流方法,其應用于分布式系統的每個服務器,分布式系統包括多個服務器和數據庫;方法包括:接收到訪問數據庫的訪問請求時,從訪問請求中獲取訪問IP地址,并記錄訪問IP地址的訪問記錄至新增訪問數據集,新增訪問數據集以第一預設頻率同步至數據庫;判斷IP數據集中是否存在訪問IP地址,IP數據集中包括IP地址、與IP地址對應的訪問次數和過期時間,每個服務器中存儲的IP數據集以第二預設頻率從數據庫中同步得到;若存在,則當訪問IP地址的訪問次數和過期時間不滿足預設條件時,阻止訪問請求。
作為本申請的進一步改進,當訪問IP地址的訪問次數和過期時間不滿足預設條件時,阻止訪問請求,包括:獲取第一當前時間、及從IP數據集中獲取訪問IP地址的訪問次數和過期時間;判斷訪問次數是否超過預設次數且第一當前時間是否在過期時間范圍內;若訪問次數超過預設次數且第一當前時間在過期時間范圍內,則阻止訪問請求。
作為本申請的進一步改進,記錄訪問IP地址的訪問記錄至新增訪問數據集,包括:判斷新增訪問數據集中是否存在訪問IP地址;若不存在,則保存訪問IP地址至新增訪問數據集,并設定訪問IP地址的新增訪問次數為1;若存在,則控制訪問IP地址的新增訪問次數加1。
作為本申請的進一步改進,新增訪問數據集同步至數據庫的步驟,包括:獲取第二當前時間、及從數據庫中獲取最新IP數據集;判斷新增訪問數據集中的每個IP地址是否存在于最新IP數據集中;若是,則根據新增訪問數據集中IP地址的新增訪問次數和第二當前時間更新最新IP數據集中相應IP地址的訪問次數和過期時間;若否,則將新增訪問數據集中的IP地址、IP地址對應的新增訪問次數添加至最新IP數據集中,并在最新IP數據集中根據第二當前時間為IP地址設定過期時間;將更新后的最新IP數據集同步至數據庫中保存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安科技(深圳)有限公司,未經平安科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110703070.3/2.html,轉載請聲明來源鉆瓜專利網。





