[發明專利]一種控制API調用資源的方法和裝置有效
| 申請號: | 201811076287.0 | 申請日: | 2018-09-14 |
| 公開(公告)號: | CN110908808B | 公開(公告)日: | 2023-06-23 |
| 發明(設計)人: | 郭宏淮 | 申請(專利權)人: | 深圳愛捷云科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F21/54 |
| 代理公司: | 北京華智則銘知識產權代理有限公司 11573 | 代理人: | 陳向敏 |
| 地址: | 518000 廣東省深圳市南山區粵海街*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 控制 api 調用 資源 方法 裝置 | ||
本發明公開了一種控制API調用資源的方法和裝置,屬于計算機技術領域。所述方法包括:根據目標API的所有調用賬戶的資源key及每個所述資源key的調用頻率限制,創建所述目標API的資源key實例池;當接收到所述目標API的調用請求時,在所述目標API的資源key實例池中隨機選擇一個key實例作為目標key實例;反饋所述目標key實例對應的目標資源key,并從所述目標API的資源key實例池中刪除所述目標key實例。采用本發明,可以有效控制API的調用,保證API調用資源的利用率。
技術領域
本發明涉及計算機技術領域,特別涉及一種控制API調用資源的方法和裝置。
背景技術
目前企業業務系統的功能越來越多、架構越來越復雜,大的系統往往會拆分成多個小的系統,拆分后的系統與系統之間通過調用對方提供的API來進行數據共享和業務交互。
為了保證系統的穩定性和高可用性,避免過量請求導致系統崩潰,或者被某一接入方頻繁占用而影響其他接入方的使用,同時兼顧API的接口資源利用率,接口提供方會對API的調用頻率做一定限制,即限制某調用賬戶(一個調用賬戶對應一個資源key)單位時間內對API的調用次數,調用次數超過時將直接返回失敗信息或將賬戶加入黑名單中。
相應的,在對接此類系統時,一方面為了避免發起過量調用而導致大量失敗,另一方面為了避免過量調用而被接口提供方拉入黑名單,接口調用方同樣需要對API的調用進行有效的保護。故而,目前亟需一種能夠有效控制API的調用,保證API的接口資源利用率的API的調用方法。
發明內容
為了解決現有技術的問題,本發明實施例提供了一種控制API調用資源的方法和裝置。所述技術方案如下:
第一方面,提供了一種控制API調用資源的方法,所述方法包括:
根據目標API的所有調用賬戶的資源key及每個所述資源key的調用頻率限制,創建所述目標API的資源key實例池;
當接收到所述目標API的調用請求時,在所述目標API的資源key實例池中隨機選擇一個key實例作為目標key實例;
反饋所述目標key實例對應的目標資源key,并從所述目標API的資源key實例池中刪除所述目標key實例。
可選的,所述反饋所述目標key實例對應的目標資源key之后,還包括:
將所述調用請求的接收時間和所述目標key實例的標識信息,按接收時間由近到遠對應存儲在所述目標資源key的請求隊列中。
可選的,所述方法還包括:
根據所述目標資源key的調用頻率限制確定所述目標資源key的回收臨界時長;
將所述目標資源key的請求隊列中對應的接收時間距當前時間大于所述回收臨界時長的key實例確定為待回收key實例;
將所述待回收key實例添加至所述資源key實例池,并在所述目標資源key的請求隊列中刪除所述待回收key實例的對應項。
可選的,所述方法還包括:
根據所述目標資源key的調用頻率限制確定所述目標資源key的回收臨界時長和回收臨界次數,其中,所述回收臨界次數取值為N;
如果在所述目標資源key的請求隊列中,按接收時間由近到遠的倒數第N個對應項的接收時間距當前時間大于所述回收臨界時長,則將倒數第N個對應項之后的key實例確定為待回收key實例;
將所述待回收key實例添加至所述資源key實例池,并在所述目標資源key的請求隊列中刪除所述待回收key實例的對應項。
可選的,所述方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳愛捷云科技有限公司,未經深圳愛捷云科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811076287.0/2.html,轉載請聲明來源鉆瓜專利網。





