[發明專利]一種業務請求防頻的方法和裝置有效
| 申請號: | 201711329279.8 | 申請日: | 2017-12-13 |
| 公開(公告)號: | CN109918191B | 公開(公告)日: | 2021-02-26 |
| 發明(設計)人: | 董煥強 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;楊曉偉 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 業務 請求 方法 裝置 | ||
本發明公開了一種業務請求防頻的方法和裝置,涉及計算機技術領域。該方法的一具體實施方式包括:獲取當前業務代碼對應的緩存鍵,更新緩存鍵的值以得到返回值;將返回值與防頻次數進行比較,確定返回值大于防頻次數時,不執行業務代碼。該實施方式克服了現有技術中存在因同時處理多個業務而導致防頻失效、重復編寫率高而導致的工作量大以及出現網絡用時長等安全可靠性低的問題,進而達到降低防頻失效以及降低工作量的技術效果,有利于提高程序開發效率,減少程序員的工作量。
技術領域
本發明涉及計算機技術領域,尤其涉及一種業務請求防頻的方法和裝置。
背景技術
隨著互聯網的發展,越來越多的用戶通過網絡購物、交友、獲取資訊等,給互聯網服務的提供者帶來了比較大的壓力,為了保證服務可以承受一定的用戶訪問量與并發量,服務一般采用分布式部署的方式,即將同一服務部署到n臺服務器上,這n臺服務器同時對外提供服務。但由于這n臺服務器之間并無通信,很容易被惡意攻擊者攻擊(例如:DDoS攻擊);同時如果用戶正常的請求重復發送且被不同的服務器處理,很容易出現業務上的混亂或者導致服務器出現大量異常,從而導致資源的浪費并危及服務的可用性。為了保證服務的穩定我們需要對用戶在特定時間內的訪問次數做限制,即防頻。
當前主流的分布式防頻的方式是利用緩存Redis中的SET命令與GET命令結合來實現,Redis是一個高性能的內存數據庫,存儲著鍵值對數據。Redis使用單進程單線程模式,可以保證并發順序,所有操作通過內存直接處理,效率極高,并支持分布式集群配置。
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
現有技術中在采取防頻措施時存在因同時處理多個業務而導致防頻失效、重復編寫率高而導致的工作量大以及出現網絡用時長等安全可靠性低的問題。
發明內容
有鑒于此,本發明實施例提供一種業務請求防頻的方法和裝置,通過在業務代碼中預設注解配置信息,然后根據返回值與注解配置信息做比較的方式,有效的降低了防頻失效的問題,同時降低了工作量。
為實現上述目的,根據本發明實施例的一個方面,提供了一種業務請求防頻的方法。
本發明實施例的一種業務請求防頻的方法,在業務代碼中預設有注解配置信息,注解配置信息包括防頻次數,該方法包括:獲取當前業務代碼對應的緩存鍵,更新緩存鍵的值以得到返回值;將返回值與防頻次數進行比較,確定返回值大于防頻次數時,不執行業務代碼。
優選的,在本發明的實施方式中注解配置信息還包括緩存鍵前綴,獲取當前業務代碼對應的緩存鍵的步驟包括:將獲取到的緩存鍵前綴與用戶的唯一標識進行拼接,以得到緩存鍵,其中,用戶的唯一標識是當前業務代碼的用戶的唯一標識。
優選的,在本發明的實施方式中在將返回值與防頻次數進行比較的步驟之前還包括:判斷返回值的大小,若返回值等于1,則直接執行業務代碼;若返回值大于1,則執行將返回值與防頻次數進行比較的步驟。
優選的,在本發明的實施方式中確定返回值大于防頻次數時,判斷緩存鍵的有效期是否為永久性;若為永久性,則拋出異常;若不為永久性,則拋出次數超限異常。
優選的,在本發明的實施方式中當拋出異常時,刪除緩存鍵并執行業務代碼。
優選的,在本發明的實施方式中由面向切面編程框架Spring AOP配置實現。
為實現上述目的,根據本發明的另一方面,提供了一種業務請求防頻的裝置。
本發明實施例的一種業務請求防頻的裝置,在業務代碼中預設有注解配置信息,注解配置信息包括防頻次數,該裝置包括:獲取模塊,用于獲取當前業務代碼對應的緩存鍵,更新緩存鍵的值以得到返回值;處理模塊,用于將返回值與防頻次數進行比較,確定返回值大于防頻次數時,不執行業務代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711329279.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據采集方法及相關設備
- 下一篇:一種用于服務器的BMC資源分配方法





