本發(fā)明還提供一種API資源獲取裝置,包括第一接收單元70,生成單元71,第一發(fā)送單元72,第二接收單元73,拆分單元74,以及第二發(fā)送單元75,其中:
[0088]第一接收單元70,用于接收在預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的應(yīng)用程序編程接口API資源請求消息,并將所述API資源請求消息發(fā)送至生成單元71 ;
[0089]生成單元71,用于接收所述第一接收單元70發(fā)送的API資源請求消息,并根據(jù)所述預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息,生成一個(gè)API請求包;
[0090]第一發(fā)送單元72,用于獲取所述生成單元71生成的所述API請求包,將所述API請求包發(fā)送至API服務(wù)器;
[0091]第二接收單元73,用于接收所述API服務(wù)器發(fā)送的API資源響應(yīng)消息,并將所述API資源響應(yīng)消息發(fā)送至拆分單元74 ;
[0092]拆分單元74,用于接收所述第二接收單元73發(fā)送的API資源響應(yīng)消息,根據(jù)所述API請求包中包含的所述API資源請求消息所對應(yīng)的終端,對所述API資源響應(yīng)消息進(jìn)行拆分獲取API資源響應(yīng)子消息,并將所述API資源響應(yīng)子消息發(fā)送至第二發(fā)送單元75 ;
[0093]第二發(fā)送單元75,用于接收所述拆分單元74發(fā)送的API資源響應(yīng)子消息,并將所述API資源響應(yīng)子消息發(fā)送至相應(yīng)的所述終端。
[0094]進(jìn)一步的,所述裝置還包括判定單元76,用于:根據(jù)所述預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息,生成一個(gè)API請求包之前,判定所述API資源請求消息數(shù)量未達(dá)到預(yù)設(shè)消息數(shù)量門限值,且獲取的可用API資源調(diào)用次數(shù)大于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值。
[0095]所述裝置還包括處理單元77,用于:當(dāng)判定所述API資源請求消息數(shù)量達(dá)到預(yù)設(shè)消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預(yù)設(shè)可用API調(diào)用次數(shù)門限值時(shí),根據(jù)所述各個(gè)終端發(fā)送的API資源請求消息,分別獲取每一個(gè)所述終端的性能參數(shù),并根據(jù)所述性能參數(shù)達(dá)到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成高優(yōu)先級請求包;將所述高優(yōu)先級請求包發(fā)送至所述API服務(wù)器,并接收所述API服務(wù)器發(fā)送的API資源響應(yīng)消息;根據(jù)所述高優(yōu)先級請求包中包含的API資源請求消息所對應(yīng)的終端,對所述API資源響應(yīng)消息進(jìn)行拆分;將拆分后生成的API資源響應(yīng)子消息發(fā)送至性能參數(shù)達(dá)到預(yù)設(shè)參數(shù)門限值的相應(yīng)終端。
[0096]基于上述技術(shù)方案,參閱圖8所示,本發(fā)明提供一種獲取API資源的裝置,包括收發(fā)器80,存儲器81,以及處理器82,其中:
[0097]收發(fā)器80,用于接收在預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的應(yīng)用程序編程接口 API資源請求消息,并將所述API資源請求消息發(fā)送至處理器82 ;
[0098]存儲器81,用于存儲應(yīng)用程序;
[0099]處理器82,用于調(diào)用存儲器81中的應(yīng)用程序,執(zhí)行如下操作:接收收發(fā)器80發(fā)送的API資源請求消息,并根據(jù)所述預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息,生成一個(gè)API請求包;
[0100]其中,收發(fā)器80,還用于獲取所述生成單元生成的所述API請求包,將所述API請求包發(fā)送至API服務(wù)器;以及接收所述API服務(wù)器發(fā)送的API資源響應(yīng)消息,并將所述API資源響應(yīng)消息發(fā)送至處理器82 ;
[0101]處理器82,還用于接收收發(fā)器80發(fā)送的API資源響應(yīng)消息,根據(jù)所述API請求包中包含的所述API資源請求消息所對應(yīng)的終端,對所述API資源響應(yīng)消息進(jìn)行拆分獲取API資源響應(yīng)子消息,并將所述API資源響應(yīng)子消息發(fā)送至收發(fā)器80 ;
[0102]收發(fā)器80,還用于接收處理器82發(fā)送的API資源響應(yīng)子消息,并將所述API資源響應(yīng)子消息發(fā)送至相應(yīng)的所述終端。
[0103]處理器82,還用于:根據(jù)所述預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息,生成一個(gè)API請求包之前,判定所述API資源請求消息數(shù)量未達(dá)到預(yù)設(shè)消息數(shù)量門限值,且獲取的可用API資源調(diào)用次數(shù)大于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值。
[0104]處理器82,還用于:當(dāng)判定所述API資源請求消息數(shù)量達(dá)到預(yù)設(shè)消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預(yù)設(shè)可用API調(diào)用次數(shù)門限值時(shí),根據(jù)所述各個(gè)終端發(fā)送的API資源請求消息,分別獲取每一個(gè)所述終端的性能參數(shù),并根據(jù)所述性能參數(shù)達(dá)到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成高優(yōu)先級請求包;將所述高優(yōu)先級請求包發(fā)送至收發(fā)器80 ;以及根據(jù)所述高優(yōu)先級請求包中包含的API資源請求消息所對應(yīng)的終端,對API服務(wù)器發(fā)送的API資源響應(yīng)消息進(jìn)行拆分;將拆分后生成的API資源響應(yīng)子消息發(fā)送至收發(fā)器80;
[0105]收發(fā)器80,還用于:接收處理器82發(fā)送的高優(yōu)先級請求包,并將該高優(yōu)先級請求包發(fā)送至所述API服務(wù)器,并接收所述API服務(wù)器發(fā)送的API資源響應(yīng)消息;將處理器82拆分后生成的API資源響應(yīng)子消息發(fā)送至性能參數(shù)達(dá)到預(yù)設(shè)參數(shù)門限值的相應(yīng)終端。
[0106]處理器82,還用于:當(dāng)判定所述API資源請求消息數(shù)量達(dá)到預(yù)設(shè)消息數(shù)量門限值,或者,所述可用API資源調(diào)用次數(shù)小于預(yù)設(shè)可用API調(diào)用次數(shù)門限值時(shí),獲取所述性能參數(shù)未達(dá)到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息;根據(jù)所述性能參數(shù)未達(dá)到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成低優(yōu)先級請求包;將所述高優(yōu)先級請求包發(fā)送至API服務(wù)器之后,獲取所述低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù);若所述發(fā)送參數(shù)達(dá)到預(yù)設(shè)發(fā)送參數(shù)門限值,則將所述低優(yōu)先級請求包發(fā)送至收發(fā)器80 ;以及根據(jù)所述低優(yōu)先級請求包中包含的API資源請求消息所對應(yīng)的終端,對API服務(wù)器發(fā)送的API資源響應(yīng)消息進(jìn)行拆分;將拆分后生成的API資源響應(yīng)子消息發(fā)送至收發(fā)器80 ;
[0107]收發(fā)器80,還用于接收處理器82發(fā)送的低優(yōu)先級請求包,并將該低優(yōu)先級請求包發(fā)送至所述API服務(wù)器,并接收所述API服務(wù)器發(fā)送的API資源響應(yīng)消息;將處理器82拆分后生成的API資源響應(yīng)子消息發(fā)送至性能參數(shù)未達(dá)到預(yù)設(shè)參數(shù)門限值的相應(yīng)終端。
[0108]處理器80,具體用于:獲取當(dāng)前時(shí)刻的可用API資源調(diào)用次數(shù);對所述當(dāng)前時(shí)刻的可用API資源調(diào)用次數(shù),以及所述低優(yōu)先級請求包中每一條API資源請求消息分別對應(yīng)的終端的性能參數(shù)進(jìn)行加權(quán)求和,獲取所述低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù)。
[0109]綜上所述,本發(fā)明實(shí)施例中,第一服務(wù)器接收在預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息;根據(jù)該預(yù)設(shè)時(shí)長范圍內(nèi)各個(gè)終端發(fā)送的API資源請求消息,生成一個(gè)API請求包;第一服務(wù)器將上述API請求包發(fā)送至API服務(wù)器,并接收API服務(wù)器發(fā)送的API資源響應(yīng)消息;第一服務(wù)器根據(jù)上述API請求包中包含的所述API資源請求消息所對應(yīng)的終端,對API資源響應(yīng)消息進(jìn)行拆分,將拆分后生成的API資源響應(yīng)子消息發(fā)送至相應(yīng)的終端。采用本發(fā)明技術(shù)方案,將所有終端發(fā)送的API資源請求消息整合為一個(gè)API請求包,基于該API請求包發(fā)送一次API資源請求,僅占用一次API調(diào)用次數(shù)即可獲取多個(gè)終端發(fā)送的API資源請求消息對應(yīng)的API資源響應(yīng)消息,從而避免了 API資源快速消耗,有效節(jié)約了API資源以及成本。
[0110]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0111]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0112]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)