58]本發(fā)明實施例中,當(dāng)API資源請求消息數(shù)量達到預(yù)設(shè)消息數(shù)量門限值,或者,可用API資源調(diào)用次數(shù)大于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值時,將生成的高優(yōu)先級請求包發(fā)送至第二服務(wù)器,以及接收第二服務(wù)器發(fā)送的API資源響應(yīng)消息。采用上述技術(shù)方案,將所有API資源請求消息進行優(yōu)先級劃分,優(yōu)先獲取高優(yōu)先級API資源請求對應(yīng)的API資源,從而在API資源剩余不足的情況下,保證了高優(yōu)先級終端優(yōu)先獲取API資源。
[0059]進一步的,當(dāng)上述高優(yōu)先級請求包發(fā)送完畢后,第一服務(wù)器獲取上述性能參數(shù)未達到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息;根據(jù)該性能參數(shù)未達到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成低優(yōu)先級請求包。
[0060]生成低優(yōu)先級請求包之后,第一服務(wù)器根據(jù)當(dāng)前時刻的可用API資源調(diào)用次數(shù)以及低優(yōu)先級請求包中每一條API資源請求消息分別對應(yīng)的終端的性能參數(shù),對該低優(yōu)先級請求包進行后續(xù)操作,具體為:獲取當(dāng)前時刻的可用API資源調(diào)用次數(shù);根據(jù)該當(dāng)前時刻的可用API資源調(diào)用次數(shù),以及上述低優(yōu)先級請求包中每一條API資源請求消息分別對應(yīng)的終端的性能參數(shù),獲取該低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù);根據(jù)該發(fā)送參數(shù)與預(yù)設(shè)發(fā)送參數(shù)門限值的比較結(jié)果,決定將低優(yōu)先級請求包發(fā)送至第二服務(wù)器或者丟棄。其中,若低優(yōu)先級請求包的發(fā)送參數(shù)達到預(yù)設(shè)發(fā)送參數(shù)門限值,則將該低優(yōu)先級請求包發(fā)送至第二服務(wù)器,以及接收第二服務(wù)器發(fā)送的API資源響應(yīng)消息,若低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù)未達到預(yù)設(shè)發(fā)送參數(shù)門限值,則將該低優(yōu)先級請求包丟棄。上述預(yù)設(shè)發(fā)送參數(shù)門限值為根據(jù)不同應(yīng)用場景的具體情況預(yù)先配置所得的值。
[0061]在上述過程中,低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù)為表征該低優(yōu)先級請求包發(fā)送價值大小的參數(shù),可選的,該發(fā)送參數(shù)通過當(dāng)前時刻的可用API資源調(diào)用次數(shù),以及低優(yōu)先級請求包中每一條API資源請求消息分別對應(yīng)的終端的性能參數(shù)進行加權(quán)系數(shù)求和獲取,其中,上述加權(quán)系數(shù)為根據(jù)不同應(yīng)用場景的具體情況預(yù)先配置所得的值;任意一個終端的性能參數(shù)包括該任意一個終端的賬戶使用年限、賬戶類型級別、賬戶消費等級等參數(shù)。例如,當(dāng)高優(yōu)先級請求包發(fā)送完畢后,第一服務(wù)器獲取當(dāng)前時刻可用API資源調(diào)用次數(shù)A ;并且,第一服務(wù)器分別根據(jù)低優(yōu)先級請求包中的每一條API資源請求消息獲取相應(yīng)的終端標(biāo)識,并基于每一個終端標(biāo)識獲取每一個終端的性能參數(shù),其中,若任意一個終端的性能參數(shù)Bi僅包括該任意一個終端的賬戶使用年限bl、賬戶類型級別b2、賬戶消費等級b3等參數(shù),則Bi = bl’ *bl+b2’ *b2+b3’ *b3,bl’為賬戶使用年限的權(quán)重系數(shù),b2’為賬戶類型級別的權(quán)重系數(shù),b3’為賬戶消費等級的權(quán)重系數(shù);獲取每一個終端的性能參數(shù)后,對所有終端的性能參數(shù)采用求取平均值的方法獲取低優(yōu)先級請求包中所有終端的平均性能參數(shù)B ;基于上述當(dāng)前時刻可用API資源調(diào)用次數(shù)A以及所有終端的平均性能參數(shù)B,采用加權(quán)系數(shù)求和的方式獲取低優(yōu)先級請求包的發(fā)送參數(shù),即C = a*A+b*B, C為低優(yōu)先級請求包的發(fā)送參數(shù),a為可用API資源調(diào)用次數(shù)的權(quán)重系數(shù),b為所有終端的平均性能參數(shù)的權(quán)重系數(shù)。
[0062]采用上述技術(shù)方案,在高優(yōu)先級請求包發(fā)送完畢后,綜合考慮API資源剩余情況,以及低優(yōu)先級請求包中每一條API資源請求消息分別對應(yīng)的終端的性能參數(shù),決定是否向第二服務(wù)器發(fā)送低優(yōu)先級請求包,在可用API資源調(diào)用次數(shù)充足的情況下,盡量保證低優(yōu)先級終端獲取API資源。
[0063]參閱圖4所示,各個終端向第一服務(wù)器發(fā)送API資源請求消息,第一服務(wù)器的邏輯控制單元根據(jù)預(yù)設(shè)時長范圍內(nèi)API資源請求消息數(shù)量,以及可用API資源調(diào)用次數(shù)對上述API資源請求消息進行處理。
[0064]步驟330:根據(jù)API請求包中包含的API資源請求消息所對應(yīng)的終端,對上述API資源響應(yīng)消息進行拆分,將拆分后生成的API資源響應(yīng)子消息發(fā)送至相應(yīng)的終端。
[0065]參閱圖5所示,第一服務(wù)器接收到第二服務(wù)器發(fā)送的API資源響應(yīng)消息后,根據(jù)API請求包中包含的API資源請求消息所對應(yīng)的終端,對該API資源響應(yīng)消息進行拆分,生成API資源響應(yīng)子消息;將上述API資源響應(yīng)子消息發(fā)送至上述請求包中每一條API資源請求消息分別對應(yīng)的終端。
[0066]其中,當(dāng)將高優(yōu)先級請求包發(fā)送至第二服務(wù)器后,接收第二服務(wù)器發(fā)送的API資源響應(yīng)消息;根據(jù)上述高優(yōu)先級請求包中包含的API資源請求消息所對應(yīng)的終端,對上述API資源響應(yīng)消息進行拆分;將拆分后生成的API資源響應(yīng)子消息發(fā)送至性能參數(shù)達到預(yù)設(shè)參數(shù)門限值的相應(yīng)終端。
[0067]當(dāng)將低優(yōu)先級請求包發(fā)送至第二服務(wù)器后,接收第二服務(wù)器發(fā)送的API資源響應(yīng)消息;根據(jù)低優(yōu)先級請求包中包含的API資源請求消息所對應(yīng)的終端,對上述API資源響應(yīng)消息進行拆分;將拆分后生成的API資源響應(yīng)子消息發(fā)送至性能參數(shù)未達到預(yù)設(shè)參數(shù)門限值的相應(yīng)終端。
[0068]采用上述技術(shù)方案,將多條API資源請求消息合并為一次API資源請求,僅向第二服務(wù)器發(fā)送一次API資源請求,即可獲取所有客戶端的API資源,從而有效節(jié)約了 API資源,以及避免了由于API資源消耗完畢而造成的成本提高問題。
[0069]基于上述技術(shù)方案,參閱圖6所示,將預(yù)設(shè)時長范圍內(nèi)的API資源請求消息進行合并,生成一個合并請求包為例,終端、第一服務(wù)器,以及第二服務(wù)器之間的信息交互過程為:
[0070]步驟601:終端向第一服務(wù)器發(fā)送API資源請求消息。
[0071]步驟602:第一服務(wù)器向終端返回通信成功消息。
[0072]本發(fā)明實施例中,上述API資源獲取系統(tǒng)采用非阻塞式機制,第一服務(wù)器向終端返回通信成功消息,以減少終端的等待時間。
[0073]步驟603:第一服務(wù)器進行延時處理。
[0074]本發(fā)明實施例中,在延時預(yù)設(shè)時長后,獲取預(yù)設(shè)時長范圍內(nèi)各個終端發(fā)送的API資源請求消息。
[0075]步驟604:第一服務(wù)器將上述獲取預(yù)設(shè)時長范圍內(nèi)各個終端發(fā)送的API資源請求消息進行合并,在本地生成一個合并請求包。
[0076]本發(fā)明實施例中,第一服務(wù)器根據(jù)上述合并請求包,創(chuàng)建一次新的API資源請求。
[0077]步驟605:第一服務(wù)器獲取當(dāng)前的網(wǎng)絡(luò)質(zhì)量參數(shù),并根據(jù)網(wǎng)絡(luò)質(zhì)量參數(shù)獲取預(yù)設(shè)消息數(shù)量門限值。
[0078]步驟606:第一服務(wù)器判斷上述合并請求包中的API資源請求消息數(shù)量是否達到上述預(yù)設(shè)消息數(shù)量門限值,以及第一服務(wù)器比較當(dāng)前時刻可用API資源調(diào)用次數(shù)與預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值的大小。
[0079]步驟6061:當(dāng)上述API資源請求消息數(shù)量未達到預(yù)設(shè)消息數(shù)量門限值,且該可用API資源調(diào)用次數(shù)大于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值時,第一服務(wù)器將上述合并請求包發(fā)送至第二服務(wù)器。
[0080]步驟6062:當(dāng)上述API資源請求消息數(shù)量達到預(yù)設(shè)消息數(shù)量門限值,或者,上述可用API資源調(diào)用次數(shù)小于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值時,第一服務(wù)器將上述合并請求包進行拆分,并根據(jù)每一個終端的性能參數(shù),將上述性能參數(shù)達到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成高優(yōu)先級請求包,將該高優(yōu)先級請求包發(fā)送至第二服務(wù)器。
[0081]步驟6063:當(dāng)上述API資源請求消息數(shù)量達到預(yù)設(shè)消息數(shù)量門限值,或者,上述可用API資源調(diào)用次數(shù)小于預(yù)設(shè)可用API資源調(diào)用次數(shù)門限值時,第一服務(wù)器將上述合并請求包進行拆分,并根據(jù)每一個終端的性能參數(shù),將上述性能參數(shù)未達到預(yù)設(shè)參數(shù)門限值的所有終端對應(yīng)的API資源請求消息,生成低優(yōu)先級請求包。
[0082]步驟60631:若低優(yōu)先級請求包的發(fā)送參數(shù)達到預(yù)設(shè)發(fā)送參數(shù)門限值,則第一服務(wù)器將該低優(yōu)先級請求包發(fā)送至第二服務(wù)器。
[0083]步驟60632:若低優(yōu)先級請求包對應(yīng)的發(fā)送參數(shù)未達到預(yù)設(shè)發(fā)送參數(shù)門限值,則第一服務(wù)器將該低優(yōu)先級請求包丟棄,向終端發(fā)送提醒消息。
[0084]步驟607:第一服務(wù)器接收第二服務(wù)器發(fā)送的API資源響應(yīng)消息。
[0085]步驟608:第一服務(wù)器對該API資源響應(yīng)消息進行拆分,生成API資源響應(yīng)子消肩、O
[0086]步驟609:第一服務(wù)器將上述API資源響應(yīng)子消息分別發(fā)送至相應(yīng)的各個終端。
[0087]基于上述技術(shù)方案,參閱圖7所示,