本發(fā)明專利技術公開了一種基于云端的移動應用的后臺請求自適應調度算法,首先預測未來需求;然后根據(jù)未來需求,得出最佳后臺容量;最后根據(jù)最佳后臺容量進行實時用戶請求速率分配。本發(fā)明專利技術利用不同用戶請求有不同延遲容忍性的特征,通過緩存延遲容忍的用戶請求,減少用戶請求的峰值,通過預測未來產(chǎn)生的用戶請求,規(guī)劃所需的最佳后臺容量,從而降低了移動應用開發(fā)者的成本,提高了服務質量和云資源利用率。
【技術實現(xiàn)步驟摘要】
本專利技術屬于移動互聯(lián)網(wǎng)
,尤其涉及一種基于云端的移動應用的后臺請求自適應調度算法。
技術介紹
2015年,全球的移動應用下載量約1790億次,收益約450億并且有550萬開發(fā)人員參與其中。為了爭取更高的市場份額和利潤,應用開發(fā)者紛紛尋求以更低的成本保證服務質量的途徑和方法。移動應用程序開發(fā)包括兩個主要部分:前端設計和后臺支持。應用程序的前端是用戶在移動設備上可見的和可操作的部分,不同的應用具有不同的前端設計。應用程序的后臺支持其前端功能的實現(xiàn),當用戶與應用程序交互時,前端用戶請求都需要經(jīng)由后臺處理,因此后臺配置是應用開發(fā)者所要考慮的基本問題之一。開發(fā)人員可以在平臺即服務(Platform-as-a-Service,PaaS)的云端構建后臺(如Heroku),也可以簡單地使用移動后端即服務(Mobile-backend-as-a-Service,MBaaS)。在前一種情況下,開發(fā)人員可以有償?shù)卦谳p量級容器(如Heroku中的dynos)中構建自己的后臺,比如一個配置512MB的RAM和2個CPU的dyno的月租為50美元。在后一種情況下,開發(fā)人員可以通過MBaaS供應商提供的按請求數(shù)量收費的服務來訪問后臺,但是此類服務規(guī)定了單位時間內的最大請求數(shù),這可能導致超出限制的請求被丟棄。為了保證服務質量,開發(fā)人員可以租用更多dyno或更高級的MbaaS,但這意味著需要支付更昂貴的費用以及不必要的資源浪費。在后臺配置中,后臺接收的用戶請求速率在時刻變化,但是開發(fā)人員不能過于頻繁地改變后臺服務器的配置或者短時間內調整MbaaS的服務計劃。雖然有些服務平臺,如亞馬遜的彈性計算云(ElasticComputeCloud,EC2)、微軟的Azure和Heroku,提供自動縮放機制(autoscaling),但是該機制通過啟動或關閉計算機來增加或減少后臺容量,產(chǎn)生較大的延遲,影響服務質量,并為開發(fā)人員帶來較大的經(jīng)濟損失和資源浪費。關于云資源配置,許多現(xiàn)有工作提出了在資源的動態(tài)配置時,使用云計算進行預測性的縮放機制。為了適應動態(tài)波動的視頻請求,視頻服務提供商可以利用預測視頻需求的統(tǒng)計模型,預先指定帶寬資源;為了有效地在不同數(shù)據(jù)中心存儲和遷移數(shù)據(jù),研究者提出了一種預測社交媒體應用查看請求的流行模型。類似預測型的自動縮放模型也被用于云端的資源分配和能量消耗上。
技術實現(xiàn)思路
本專利技術針對現(xiàn)有技術的不足,提出了一種基于云端的移動應用的后臺請求自適應調度算法。本專利技術所采用的技術方案是:一種基于云端的移動應用的后臺請求自適應調度算法,包含以下步驟:步驟1:預測未來需求;步驟2:根據(jù)未來需求,得出最佳后臺容量;步驟3:根據(jù)最佳后臺容量進行實時用戶請求速率分配。作為優(yōu)選,步驟1的具體實現(xiàn)包括以下子步驟:步驟1.1:依據(jù)延時容忍度(比如1秒或者5秒,由移動應用開發(fā)者根據(jù)不同的后臺請求定義,作為算法的輸入)將請求劃分為K類;步驟1.2:每一分鐘的每類請求數(shù)量作為歷史數(shù)據(jù);根據(jù)相近原則和時間周期性原則,將前一個小時和前兩天同一個小時的歷史數(shù)據(jù)作為輸入,預測下一小時第i分鐘k類請求的數(shù)量步驟1.3:利用訓練集數(shù)據(jù)做訓練,驗證集數(shù)據(jù)做驗證得到機器學習的預測模型;步驟1.4:基于機器學習的預測模型預測未來需求。作為優(yōu)選,所述基于機器學習的預測模型包括邏輯回歸模型、單隱層多層感知器模型、深度信念網(wǎng)絡模型和卷積神經(jīng)網(wǎng)絡模型。作為優(yōu)選,所述單隱層多層感知器模型的神經(jīng)元數(shù)量為1000;所述深度信念網(wǎng)絡模型有三層隱層,每個隱層包含1000個神經(jīng)元;所述卷積神經(jīng)網(wǎng)絡模型包含兩個卷積層和一個全連層,每層包含500個神經(jīng)元。作為優(yōu)選,步驟2的具體實現(xiàn)過程是:假設第i分鐘的個請求中會被推遲到第j分鐘的比例為其中,表示不被推遲的比例,表示第i分鐘k類請求的數(shù)量;假設在第j分鐘處理的請求表示為Nj,包括之前推遲到第j分鐘內和在第j分鐘內產(chǎn)生的請求,即:則最佳后臺容量N的值通過解決優(yōu)化問題得到,其約束條件為其中,為移動應用開發(fā)者設定的k類請求從第i分鐘延遲到第j分鐘的比例的上限。作為優(yōu)選,步驟3的具體實現(xiàn)包括以下子步驟:步驟3.1:云端服務器將每分鐘分成T個時隙,用戶每個時隙向云端服務器報告新產(chǎn)生的請求數(shù)量和類型;步驟3.2:云端服務器根據(jù)用戶的報告為用戶分配速率,之后用戶根據(jù)分配的速率自主安排發(fā)送自己的請求到后臺。作為優(yōu)選,步驟3.2中用戶產(chǎn)生新的請求后,首先放入一個隊列中,根據(jù)優(yōu)先級順序進行發(fā)送。作為優(yōu)選,請求的優(yōu)先級由用戶決定,根據(jù)請求的類型和已經(jīng)延遲的分鐘數(shù)決定;每個時隙發(fā)送的請求數(shù)量不超過云端服務器所分配的請求速率Rs(τ)。作為優(yōu)選,速率分配由網(wǎng)絡效用最大化模型決定;假設有S位用戶,每個時隙總的用戶請求上限為N/T;每個時隙τ,Xs(τ)為用戶s未發(fā)送到后臺的請求數(shù),ws(τ)為用戶s請求的權重,在時隙τ內,云端服務器分配給用戶s速率Rs(τ)為:其中,α為調節(jié)公平性的參數(shù),取值范圍為正數(shù);N為最佳后臺容量。作為優(yōu)選,所述用戶s的請求的權重ws(τ)的計算方式為該用戶所有新產(chǎn)生的請求的類型k之和。本專利技術利用不同用戶請求有不同延遲容忍性的特征,通過緩存延遲容忍的用戶請求,減少用戶請求的峰值,通過預測未來產(chǎn)生的用戶請求,規(guī)劃所需的最佳后臺容量,從而降低了移動應用開發(fā)者的成本,提高了服務質量和云資源利用率。附圖說明圖1是本專利技術的架構圖。圖2是本專利技術實施例的機器學習模型圖。圖3是本專利技術實施例的機器學習模型預測精度對比圖。圖4是本專利技術實施例的機器學習模型的訓練時間對比圖。圖5是本專利技術實施例的后臺容量需求的對比圖。圖6是本專利技術實施例的后臺效用的對比圖。圖7是本專利技術實施例的2名用戶的實時請求速率分配狀況圖。具體實施方式為了便于本領域普通技術人員理解和實施本專利技術,下面結合附圖及實施例對本專利技術作進一步的詳細描述,應當理解,此處所描述的實施示例僅用于說明和解釋本專利技術,并不用于限定本專利技術。本專利技術主要根據(jù)移動應用用戶請求延遲容忍度的不同,提出一種調度用戶請求的方法,通過緩存延遲容忍的請求,降低用戶請求的波動幅度。本方法利用機器學習方法預測未來請求的數(shù)量,從而得出最佳后臺容量,然后實時根據(jù)每個用戶新產(chǎn)生的請求分配速率。通過本專利技術的請求調度算法,應用開發(fā)商可以以更低的成本保證服務質量,提高后臺資源利用率。本專利技術提供的調度算法能夠用第三方云服務和用戶終端模塊實現(xiàn)流程。參見圖1,實施例以在亞馬遜云端服務(AmazonWebService,AWS)和iPhone手機上實現(xiàn)的調度算法(命名為Clockwork)為例對本專利技術的流程進行一個具體的闡述,如下:步驟1:基于機器學習算法預測未來需求。依據(jù)延時容忍度將請求劃分為K類。云端服務器存儲每一分鐘的每類請求數(shù)量作為歷史數(shù)據(jù)。在預測下一小時第i分鐘k類請求的數(shù)量時,根據(jù)相近原則和時間周期性原則,將前一個小時和前兩天同一個小時的歷史數(shù)據(jù)作為輸入,即利用訓練集數(shù)據(jù)做訓練,驗證集數(shù)據(jù)做驗證得到機器學習的預測模型。機器學習算法可選擇邏輯回歸模型(LogisticRegression,LR),單隱層多層感知器模型(single-hidden-layerMultilayerPerceptron,sMLP),深度信念網(wǎng)絡模型(DeepBeliefNe本文檔來自技高網(wǎng)...

【技術保護點】
一種基于云端的移動應用的后臺請求自適應調度算法,其特征在于,包括以下步驟:步驟1:預測未來需求;步驟2:根據(jù)未來需求,得出最佳后臺容量;步驟3:根據(jù)最佳后臺容量進行實時用戶請求速率分配。
【技術特征摘要】
1.一種基于云端的移動應用的后臺請求自適應調度算法,其特征在于,包括以下步驟:步驟1:預測未來需求;步驟2:根據(jù)未來需求,得出最佳后臺容量;步驟3:根據(jù)最佳后臺容量進行實時用戶請求速率分配。2.根據(jù)權利要求1所述的基于云端的移動應用的后臺請求自適應調度算法,其特征在于,步驟1的具體實現(xiàn)包括以下子步驟:步驟1.1:依據(jù)延時容忍度將請求劃分為K類;步驟1.2:每一分鐘的每類請求數(shù)量作為歷史數(shù)據(jù);根據(jù)相近原則和時間周期性原則,將前一個小時和前兩天同一個小時的歷史數(shù)據(jù)作為輸入,預測下一小時第i分鐘k類請求的數(shù)量步驟1.3:利用訓練集數(shù)據(jù)做訓練,驗證集數(shù)據(jù)做驗證得到機器學習的預測模型;步驟1.4:基于機器學習的預測模型預測未來需求。3.根據(jù)權利要求2所述的基于云端的移動應用的后臺請求自適應調度算法,其特征在于:所述基于機器學習的預測模型包括邏輯回歸模型、單隱層多層感知器模型、深度信念網(wǎng)絡模型和卷積神經(jīng)網(wǎng)絡模型。4.根據(jù)權利要求3所述的基于云端的移動應用的后臺請求自適應調度算法,其特征在于:所述單隱層多層感知器模型的神經(jīng)元數(shù)量為1000;所述深度信念網(wǎng)絡模型有三層隱層,每個隱層包含1000個神經(jīng)元;所述卷積神經(jīng)網(wǎng)絡模型包含兩個卷積層和一個全連層,每層包含500個神經(jīng)元。5.根據(jù)權利要求1所述的基于云端的移動應用的后臺請求自適應調度算法,其特征在于,步驟2的具體實現(xiàn)過程是:假設第i分鐘的個請求中會被推遲到第j分鐘的比例為其中,表示不被推遲的比例,表示第i分鐘k類請求的數(shù)量;假設在第j分鐘處理的請求表示為Nj,包括之前推遲到第j分鐘內和在第j分鐘內產(chǎn)生的請求,即:Nj=Σi=1j-1Σk=1Kδijknik+Σk=1Kδiiknjk=Σi=1jΣk=...
【專利技術屬性】
技術研發(fā)人員:陳艷姣,林龍,
申請(專利權)人:武漢大學,
類型:發(fā)明
國別省市:湖北;42
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。