一種獲取api資源的方法及裝置的制造方法
【技術(shù)領域】
[0001]本發(fā)明涉及通信技術(shù)領域,尤其涉及一種獲取API資源的方法及裝置。
【背景技術(shù)】
[0002]隨著通信技術(shù)的飛速發(fā)展,越來越多的用戶通過終端獲取免費的API(Applicat1n Programming Interface ;應用程序編程接口)資源(如在線地圖資源等),其中,終端通常通過登錄集成有API資源的運營商頁面,該運營商通過上述API資源的提供商獲取API資源。
[0003]由于集成有不同API資源的任意一個運營商對應的免費API調(diào)用次數(shù)不同,因此,當運營商所服務的用戶數(shù)目龐大時,大量的API資源請求將導致該運營商對應的免費API資源被快速消耗完畢,此時,當仍存在用戶請求獲取上述API資源時,運營商將需要通過付費方式獲取非免費API資源,從而增加了成本。
[0004]例如,在用戶通過終端登錄集成Map A工具的運營商頁面查找運營商網(wǎng)點、wifi熱點、合作伙伴等位置信息時,上述提供Map A工具的公司對該MapA提供的免費API調(diào)用次數(shù)規(guī)定了上限API調(diào)用次數(shù),每天每個API的上限調(diào)用次數(shù)為N次。參閱圖1所示,終端獲取Map A對應的API資源的流程為:
[0005]步驟100:終端接收用戶指示,登錄運營商A的頁面,并切換至Map A對應的功能頁面。
[0006]步驟110:終端根據(jù)用戶的指示,向運營商A的服務器發(fā)送API資源請求消息。
[0007]步驟120:運營商A的服務器接收到該API資源請求消息后,將該API資源請求消息發(fā)送至Map A對應的服務器。
[0008]步驟130:Map A對應的服務器接收到上述API資源請求消息后,查詢本地存儲的當前時刻運營商A的可用API資源調(diào)用次數(shù),若該可用API資源調(diào)用次數(shù)不為零,則將該可用API資源調(diào)用次數(shù)減一后,更新可用API資源調(diào)用次數(shù),并返回API資源響應消息;若該可用API資源調(diào)用次數(shù)為零,則運營商A需要向Map A對應的服務器付費,當Map A對應的服務器確認付費成功后,返回API資源響應消息。
[0009]其中,若運營商A當天在上述API資源請求消息之前未發(fā)起任意一 API資源請求消息,則上述可用API資源調(diào)用次數(shù)即為上限調(diào)用次數(shù)。
[0010]步驟140:運營商A將上述API資源響應消息轉(zhuǎn)發(fā)至終端。
[0011]步驟150:終端根據(jù)上述API資源響應消息,在本地呈現(xiàn)Map A調(diào)用結(jié)果。
[0012]通常,當可用API資源調(diào)用次數(shù)為零,且運營商A不對API資源付費時,終端將呈現(xiàn)錯誤頁面。
[0013]由此可見,目前在終端請求API資源的過程中,存在當已用API調(diào)用次數(shù)達到上限API調(diào)用次數(shù)時,終端無法獲取API資源,以及獲取API資源成本高的問題。
【發(fā)明內(nèi)容】
[0014]本發(fā)明實施例提供一種獲取API資源的方法及裝置,用以解決目前在終端請求API資源的過程中,存在當已用API調(diào)用次數(shù)達到上限API調(diào)用次數(shù)時,終端無法獲取API資源,以及獲取API資源成本高的問題。
[0015]本發(fā)明實施例提供的具體技術(shù)方案如下:
[0016]第一方面,提供一種獲取API資源的方法,包括:
[0017]接收在預設時長范圍內(nèi)各個終端發(fā)送的應用程序編程接口 API資源請求消息;
[0018]根據(jù)所述預設時長范圍內(nèi)各個終端發(fā)送的API資源請求消息,生成一個API請求包;
[0019]將所述API請求包發(fā)送至API服務器,并接收所述API服務器發(fā)送的API資源響應消息;
[0020]根據(jù)所述API請求包中包含的所述API資源請求消息所對應的終端,對所述API資源響應消息進行拆分,將拆分后生成的API資源響應子消息發(fā)送至相應的所述終端。
[0021]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,根據(jù)所述預設時長范圍內(nèi)各個終端發(fā)送的API資源請求消息,生成一個API請求包之前,判定所述API資源請求消息數(shù)量未達到預設消息數(shù)量門限值,且獲取的可用API資源調(diào)用次數(shù)大于預設可用API資源調(diào)用次數(shù)門限值。
[0022]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,當判定所述API資源請求消息數(shù)量達到預設消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預設可用API調(diào)用次數(shù)門限值時,根據(jù)所述各個終端發(fā)送的API資源請求消息,分別獲取每一個所述終端的性能參數(shù),并根據(jù)所述性能參數(shù)達到預設參數(shù)門限值的所有終端對應的API資源請求消息,生成高優(yōu)先級請求包;將所述高優(yōu)先級請求包發(fā)送至所述API服務器,并接收所述API服務器發(fā)送的API資源響應消息;根據(jù)所述高優(yōu)先級請求包中包含的API資源請求消息所對應的終端,對所述API資源響應消息進行拆分;將拆分后生成的API資源響應子消息發(fā)送至性能參數(shù)達到預設參數(shù)門限值的相應終端。
[0023]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,當判定所述API資源請求消息數(shù)量達到預設消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預設可用API調(diào)用次數(shù)門限值時,獲取所述性能參數(shù)未達到預設參數(shù)門限值的所有終端對應的API資源請求消息;根據(jù)所述性能參數(shù)未達到預設參數(shù)門限值的所有終端對應的API資源請求消息,生成低優(yōu)先級請求包;將高優(yōu)先級請求包發(fā)送至API服務器之后,獲取所述低優(yōu)先級請求包對應的發(fā)送參數(shù);若所述發(fā)送參數(shù)達到預設發(fā)送參數(shù)門限值,則將所述低優(yōu)先級請求包發(fā)送至所述API服務器,并接收所述API服務器發(fā)送的API資源響應消息;根據(jù)所述低優(yōu)先級請求包中包含的API資源請求消息所對應的終端,對所述API資源響應消息進行拆分;將拆分后生成的API資源響應子消息發(fā)送至性能參數(shù)未達到預設參數(shù)門限值的相應終端。
[0024]結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,獲取所述低優(yōu)先級請求包對應的發(fā)送參數(shù)的方法,包括:獲取當前時刻的可用API資源調(diào)用次數(shù);對所述當前時刻的可用API資源調(diào)用次數(shù),以及所述低優(yōu)先級請求包中每一條API資源請求消息分別對應的終端的性能參數(shù)進行加權(quán)求和,獲取所述低優(yōu)先級請求包對應的發(fā)送參數(shù)。
[0025]第二方面,提供一種獲取API資源的裝置,包括:
[0026]第一接收單元,用于接收在預設時長范圍內(nèi)各個終端發(fā)送的應用程序編程接口API資源請求消息,并將所述API資源請求消息發(fā)送至生成單元;
[0027]生成單元,用于接收所述第一接收單元發(fā)送的API資源請求消息,并根據(jù)所述預設時長范圍內(nèi)各個終端發(fā)送的API資源請求消息,生成一個API請求包;
[0028]第一發(fā)送單元,用于獲取所述生成單元生成的所述API請求包,將所述API請求包發(fā)送至API服務器;
[0029]第二接收單元,用于接收所述API服務器發(fā)送的API資源響應消息,并將所述API資源響應消息發(fā)送至拆分單元;
[0030]拆分單元,用于接收所述第二接收單元發(fā)送的API資源響應消息,根據(jù)所述API請求包中包含的所述API資源請求消息所對應的終端,對所述API資源響應消息進行拆分獲取API資源響應子消息,并將所述API資源響應子消息發(fā)送至第二發(fā)送單元;
[0031]第二發(fā)送單元,用于接收所述拆分單元發(fā)送的API資源響應子消息,并將所述API資源響應子消息發(fā)送至相應的所述終端。
[0032]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述裝置還包括判定單元,用于:根據(jù)所述預設時長范圍內(nèi)各個終端發(fā)送的API資源請求消息,生成一個API請求包之前,判定所述API資源請求消息數(shù)量未達到預設消息數(shù)量門限值,且獲取的可用API資源調(diào)用次數(shù)大于預設可用API資源調(diào)用次數(shù)門限值。
[0033]結(jié)合第二方面第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述裝置還包括處理單元,用于:當判定所述API資源請求消息數(shù)量達到預設消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預設可用API調(diào)用次數(shù)門限值時,根據(jù)所述各個終端發(fā)送的API資源請求消息,分別獲取每一個所述終端的性能參數(shù),并根據(jù)所述性能參數(shù)達到預設參數(shù)門限值的所有終端對應的API資源請求消息,生成高優(yōu)先級請求包;將所述高優(yōu)先級請求包發(fā)送至所述API服務器,并接收所述API