本發(fā)明涉及移動通信領域,特別地,涉及一種移動終端程序的計算遷移方法與裝置。
背景技術:
:移動終端包括智能手機、平板電腦等的快速發(fā)展,成為大眾喜愛的主要通訊與娛樂設備。終端應用程序層出不窮,如社交應用,網絡游戲,音視頻應用,定位服務等等,這些應用程序成為消耗終端能耗的主要內容。雖然技術人員在終端硬件方面不停改進增強終端蓄電能力,但遠遠不能滿足終端能耗需求?!坝嬎氵w移”能夠有效從軟件方面緩解終端耗能問題,移動終端通過計算遷移把應用程序的復雜計算經過無線網絡環(huán)境遷移至更高速的服務器執(zhí)行,服務器執(zhí)行完畢后返回執(zhí)行結果至計算遷移點,終端繼續(xù)執(zhí)行,從而減少終端運行時間和能耗。計算遷移通過程序分割技術將終端應用程序執(zhí)行組件一分為二或者一分為多進行遷移計算,因此能否有效進行遷移的前提是得到正確的分割結果。目前,通過現(xiàn)有研究得到程序分割技術主要有兩種:一、手動程序分割。程序員提前實現(xiàn)程序代碼分割,只在遷移時刻遷移已經分割好的程序,是一種靜態(tài)的程序分割算法。二、自動程序分割。即使用自動的程序分析算法和工具動態(tài)分割程序代碼,并遷移至相應服務器執(zhí)行。自動程序分割有靜態(tài)和動態(tài)兩種形式。顧名思義,靜態(tài)程序分割是在遷移決策前,就決定程序哪些部分應該被遷移,不考慮程序實際運行環(huán)境。動態(tài)程序分割是在程序實際運行過程中,綜合考慮一系列遷移條件,根據(jù)實時網絡環(huán)境,目標函數(shù)等動態(tài)分割決策可遷移程序片段。計算遷移過程中要經過易變不穩(wěn)定的無線網絡環(huán)境,數(shù)據(jù)傳輸是計算遷移的必要環(huán)節(jié),移動設備和服務器之間程序數(shù)據(jù)傳遞是造成終端能耗的主要方面。在整個計算遷移過程中,主要有四個組成部分會造成時延和能耗:程序在移動終端本地執(zhí)行的時間(能耗)、遷移至服務器執(zhí)行程序的時間(終端等待產生空閑能耗),終端傳輸數(shù)據(jù)和服務器返回數(shù)據(jù)的傳輸時間(能耗)。其中,數(shù)據(jù)傳輸部分產生能耗是通信能耗,其他為計算能耗。這兩種能耗是計算遷移產生的總能耗。若程序分割算法自身復雜度很高,對于終端來說會產生大量能耗;若網絡環(huán)境較差,會使得遷移過程產生大量通信能耗,甚至影響應用程序執(zhí)行時延。針對現(xiàn)有技術中遷移程序分割不能自適應網絡環(huán)境動態(tài)分割,導致終端能耗高、時延高的問題,目前尚無有效的解決方案。技術實現(xiàn)要素:有鑒于此,本發(fā)明的目的在于提出一種移動終端程序的計算遷移方法與裝置,能夠自適應網絡環(huán)境進行動態(tài)分割,降低終端的能耗與時延。基于上述目的,本發(fā)明提供的技術方案如下:本發(fā)明實施例提供了一種移動終端程序的計算遷移方法,包括:將移動終端程序分割為多個組件,并剔除不支持計算遷移的組件;根據(jù)剩余組件以及剩余組件之間的數(shù)據(jù)交互關系,構建組件關系無向圖;根據(jù)組件關系無向圖與當前帶寬迭代擴大可遷移單元,直到遷移計算權重比滿足當前帶寬的最小值;在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移;在當前帶寬不穩(wěn)定時,立即在時延允許范圍內進行計算遷移。在一些實施方式中,所述根據(jù)剩余組件以及剩余組件之間的數(shù)據(jù)交互關系,構建組件關系無向圖包括:將所述多個剩余組件作為頂點;將所述多個剩余組件之間的交互關系作為邊;將所述每個剩余組件的計算任務量作為對應頂點的權值;將所述每兩個剩余組件之間的交互任務量作為對應邊的權值;根據(jù)頂點、邊、頂點的權值與邊的權值構建組件關系無向圖。在一些實施方式中,根據(jù)組件關系無向圖與當前帶寬迭代擴大可遷移單元,直到計算量與通信量之比滿足當前帶寬的最小值包括:根據(jù)組件關系無向圖計算每個頂點的計算遷移比,并將計算遷移比最大的頂點加入可遷移單元;根據(jù)當前可遷移單元計算總遷移計算量與遷移計算權重比,并以當前帶寬作為自變量,通過香農公式獲得遷移計算權重比的最小值;判斷遷移計算權重比是否滿足最小值,若不滿足則將繼續(xù)選取頂點加入可遷移單元并返回上一步驟。在一些實施方式中,所述頂點的計算遷移比,為頂點的權值與所有與該頂點直接相連的權重之和的比;所述根據(jù)當前可遷移單元計算總遷移計算量與遷移計算權重比包括:根據(jù)當前可遷移單元計算總遷移計算量、新加入可遷移單元的頂點的遷移計算量與當前可遷移單元與外部的直接連接邊的權重之和;根據(jù)組件關系無向圖計算新加入可遷移單元的頂點與可遷移單元的外部關聯(lián)權重、以及新加入可遷移單元的頂點與可遷移單元的內部關聯(lián)權重;根據(jù)當前可遷移單元計算總遷移計算量與新加入可遷移單元的頂點的遷移計算量之和、與當前可遷移單元與外部的直接連接邊的權重之和與新加入可遷移單元的頂點與可遷移單元的外部關聯(lián)權重之和與新加入可遷移單元的頂點與可遷移單元的內部關聯(lián)權重之差,計算遷移計算權重比。在一些實施方式中,所述若不滿足則將繼續(xù)選取頂點加入可遷移單元包括:分別指定每個可遷移單元以外的頂點,并分別計算該頂點與可遷移單元的外部關聯(lián)權重與該頂點與可遷移單元的內部關聯(lián)權重;根據(jù)該頂點與可遷移單元的外部關聯(lián)權重、該頂點與可遷移單元的內部關聯(lián)權重計算該頂點加入可遷移單元之后可遷移單元的遷移計算權重比;選取加入可遷移單元之后可遷移單元的遷移計算權重比最大的頂點加入可遷移單元。在一些實施方式中,所述頂點與可遷移單元的外部關聯(lián)權重,為可遷移單元中任意一頂點直接連接的、非可遷移單元的頂點,與所有非可遷移單元中的頂點直接相連的邊的權重之和;所述頂點與可遷移單元的內部關聯(lián)權重,為可遷移單元中任意一頂點直接連接的、非可遷移單元的頂點,與所有可遷移單元中的頂點直接相連的邊的權重之和。在一些實施方式中,所述在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移包括:在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元直到遷移計算權重比達到最大值;根據(jù)遷移計算權重比最大值計算程序啟用計算遷移后所有組件的總能耗與運行時間;當計算程序啟用計算遷移后所有組件的總能耗小于程序不啟用計算遷移后所有組件的總能耗,且程序啟用計算遷移后所有組件的運行時間小于終端的容忍時延時,進行計算遷移,否則重新計算。在一些實施方式中,所述在當前帶寬不穩(wěn)定時,立即在時延允許范圍內進行計算遷移包括:根據(jù)遷移計算權重比立即計算程序啟用計算遷移后所有組件的總能耗與運行時間;當計算程序啟用計算遷移后所有組件的總能耗小于程序不啟用計算遷移后所有組件的總能耗,且程序啟用計算遷移后所有組件的運行時間小于終端的容忍時延時,進行計算遷移,否則重新計算。在一些實施方式中,所述計算程序啟用計算遷移后所有組件的總能耗,為所有組件的終端計算能耗、終端空閑能耗、與終端與服務期間的通信能耗之和;所述計算程序啟用計算遷移后所有組件的運行時間,為所有組件的終端計算時間、終端空閑時間、與終端與服務期間的通信時間之和。本發(fā)明實施例還提供了一種電子設備,包括至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行上述方法。綜上所述,本發(fā)明提供的技術方案通過使用將移動終端程序分割為多個組件,剔除不支持計算遷移的組件,構建組件關系無向圖,迭代擴大可遷移單元直到遷移計算權重比滿足當前帶寬的最小值,在當前帶寬穩(wěn)定時繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移、在當前帶寬不穩(wěn)定時立即在時延允許范圍內進行計算遷移的技術手段,能夠自適應網絡環(huán)境進行動態(tài)分割,降低終端的能耗與時延。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為根據(jù)本發(fā)明實施例的一種移動終端程序的計算遷移方法的流程圖;圖2為根據(jù)本發(fā)明實施例的一種移動終端程序的計算遷移方法的實施例的組件關系無向圖;圖3為根據(jù)本發(fā)明實施例的一種移動終端程序的計算遷移方法的實施例的詳細流程圖;圖4為本發(fā)明實施例提供的執(zhí)行所述一種移動終端程序的計算遷移方法的電子設備的一個實施例的硬件結構示意圖。具體實施方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進一步進行清楚、完整、詳細地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。基于上述目的,本發(fā)明實施例的第一個方面,提出了一種移動終端程序的計算遷移方法的一個實施例。如圖1所示,根據(jù)本發(fā)明實施例提供的移動終端程序的計算遷移方法包括:本發(fā)明實施例提供了一種移動終端程序的計算遷移方法,包括:步驟S101,將移動終端程序分割為多個組件,并剔除不支持計算遷移的組件;步驟S103,根據(jù)剩余組件以及剩余組件之間的數(shù)據(jù)交互關系,構建組件關系無向圖;步驟S105,根據(jù)組件關系無向圖與當前帶寬迭代擴大可遷移單元,直到遷移計算權重比滿足當前帶寬的最小值;步驟S107,在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移;步驟S109,在當前帶寬不穩(wěn)定時,立即在時延允許范圍內進行計算遷移。在一些實施方式中,所述根據(jù)剩余組件以及剩余組件之間的數(shù)據(jù)交互關系,構建組件關系無向圖包括:將所述多個剩余組件作為頂點;將所述多個剩余組件之間的交互關系作為邊;將所述每個剩余組件的計算任務量作為對應頂點的權值;將所述每兩個剩余組件之間的交互任務量作為對應邊的權值;根據(jù)頂點、邊、頂點的權值與邊的權值構建組件關系無向圖。在一些實施方式中,根據(jù)組件關系無向圖與當前帶寬迭代擴大可遷移單元,直到計算量與通信量之比滿足當前帶寬的最小值包括:根據(jù)組件關系無向圖計算每個頂點的計算遷移比,并將計算遷移比最大的頂點加入可遷移單元;根據(jù)當前可遷移單元計算總遷移計算量與遷移計算權重比,并以當前帶寬作為自變量,通過香農公式獲得遷移計算權重比的最小值;判斷遷移計算權重比是否滿足最小值,若不滿足則將繼續(xù)選取頂點加入可遷移單元并返回上一步驟。在一些實施方式中,所述頂點的計算遷移比,為頂點的權值與所有與該頂點直接相連的權重之和的比;所述根據(jù)當前可遷移單元計算總遷移計算量與遷移計算權重比包括:根據(jù)當前可遷移單元計算總遷移計算量、新加入可遷移單元的頂點的遷移計算量與當前可遷移單元與外部的直接連接邊的權重之和;根據(jù)組件關系無向圖計算新加入可遷移單元的頂點與可遷移單元的外部關聯(lián)權重、以及新加入可遷移單元的頂點與可遷移單元的內部關聯(lián)權重;根據(jù)當前可遷移單元計算總遷移計算量與新加入可遷移單元的頂點的遷移計算量之和、與當前可遷移單元與外部的直接連接邊的權重之和與新加入可遷移單元的頂點與可遷移單元的外部關聯(lián)權重之和與新加入可遷移單元的頂點與可遷移單元的內部關聯(lián)權重之差,計算遷移計算權重比。在一些實施方式中,所述若不滿足則將繼續(xù)選取頂點加入可遷移單元包括:分別指定每個可遷移單元以外的頂點,并分別計算該頂點與可遷移單元的外部關聯(lián)權重與該頂點與可遷移單元的內部關聯(lián)權重;根據(jù)該頂點與可遷移單元的外部關聯(lián)權重、該頂點與可遷移單元的內部關聯(lián)權重計算該頂點加入可遷移單元之后可遷移單元的遷移計算權重比;選取加入可遷移單元之后可遷移單元的遷移計算權重比最大的頂點加入可遷移單元。在一些實施方式中,所述頂點與可遷移單元的外部關聯(lián)權重,為可遷移單元中任意一頂點直接連接的、非可遷移單元的頂點,與所有非可遷移單元中的頂點直接相連的邊的權重之和;所述頂點與可遷移單元的內部關聯(lián)權重,為可遷移單元中任意一頂點直接連接的、非可遷移單元的頂點,與所有可遷移單元中的頂點直接相連的邊的權重之和。在一些實施方式中,所述在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移包括:在當前帶寬穩(wěn)定時,繼續(xù)迭代擴大可遷移單元直到遷移計算權重比達到最大值;根據(jù)遷移計算權重比最大值計算程序啟用計算遷移后所有組件的總能耗與運行時間;當計算程序啟用計算遷移后所有組件的總能耗小于程序不啟用計算遷移后所有組件的總能耗,且程序啟用計算遷移后所有組件的運行時間小于終端的容忍時延時,進行計算遷移,否則重新計算。在一些實施方式中,所述在當前帶寬不穩(wěn)定時,立即在時延允許范圍內進行計算遷移包括:根據(jù)遷移計算權重比立即計算程序啟用計算遷移后所有組件的總能耗與運行時間;當計算程序啟用計算遷移后所有組件的總能耗小于程序不啟用計算遷移后所有組件的總能耗,且程序啟用計算遷移后所有組件的運行時間小于終端的容忍時延時,進行計算遷移,否則重新計算。在一些實施方式中,所述計算程序啟用計算遷移后所有組件的總能耗,為所有組件的終端計算能耗、終端空閑能耗、與終端與服務期間的通信能耗之和;所述計算程序啟用計算遷移后所有組件的運行時間,為所有組件的終端計算時間、終端空閑時間、與終端與服務期間的通信時間之和。綜上所述,本發(fā)明提供的技術方案通過使用將移動終端程序分割為多個組件,剔除不支持計算遷移的組件,構建組件關系無向圖,迭代擴大可遷移單元直到遷移計算權重比滿足當前帶寬的最小值,在當前帶寬穩(wěn)定時繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移、在當前帶寬不穩(wěn)定時立即在時延允許范圍內進行計算遷移的技術手段,能夠自適應網絡環(huán)境進行動態(tài)分割,降低終端的能耗與時延。基于上述目的,本發(fā)明實施例的第二個方面,提出了一種移動終端程序的計算遷移方法的一個實施例。首先將應用程序抽象為圖結構,利用圖結構中的點和邊,抽象組件關系,組件關系圖的建立過程如下:程序中運行時組件抽象為頂點,組件之間的交互關系抽象為邊。其中圖中頂點的權值表示這個組件運行時的計算任務量;邊的權值表示組件之間的交互任務量。根據(jù)這些組件和交互關系,可以得到如圖2所示的組件關系無向圖。本發(fā)明目的是節(jié)約終端能耗,應用程序在終端運行能耗為端運行時平均能耗PL乘以應用程序平均運行時間TL來獲得這段運行時間內的能耗。EL=PL*TL計算遷移能耗,并不是遷移到服務器端執(zhí)行的組件在服務器端產生能耗,而是包括四個部分:一是從終端發(fā)送數(shù)據(jù)到服務器端終端產生能耗Et;二是服務器執(zhí)行過程中,終端等待時即空閑時產生能耗Ef;三是服務器端執(zhí)行完程序返回結果給終端,終端接收數(shù)據(jù)產生能耗Er;四是必須留在終端執(zhí)行或沒有被遷移部分產生的能耗EL。應用程序遷移時在終端產生的整體能耗為:計算遷移的目的是為了節(jié)約終端能耗,延長終端使用時間,所以遷移分割算法應盡量減小E。此外,根據(jù)計算遷移的必要條件本地執(zhí)行程序能耗要大于遷移程序的整體能耗,否則進行計算遷移沒有意義,即EL>E。香農定理(Shannon)指出數(shù)據(jù)傳輸速率Rmax與信道帶寬B、信噪比S/N的關系為:Rmax=B×log2(1+S/N)通過公式可知,網絡帶寬的不斷變化,會影響數(shù)據(jù)傳輸速率的變化,以此引起傳輸時延和能耗的變化。因為Q=QL+QS且Rmax>Rdata,代入El>E化簡得到:在上述公式中,Pt,Pr,PL,PI,Q,M,β為定值,分別表示終端發(fā)送數(shù)據(jù)功率、接收數(shù)據(jù)功率、運行時功率、空閑時功率、應用程序的計算量、移動終端運行速率與服務器運行速率與終端比值。變量DS,Dr,QS會根據(jù)實時計算遷移結果動態(tài)變化,其中,DS為終端發(fā)送給服務器數(shù)據(jù),QS是在服務器端運行的總計算量,Dr是服務器完執(zhí)行完程序后返回給終端的數(shù)據(jù),數(shù)據(jù)量相對較小,且返回數(shù)據(jù)量大小是我們及編程人員不可控的。但是DS,QS等值經過分析可知,QL+QS為定值等于整個應用程序的總計算量,且DS越小,QS越大,公式右邊部分整個比值越小。終端發(fā)射數(shù)據(jù)功率Pt一般遠大于接收數(shù)據(jù)功率Pr,且服務器返回給終端數(shù)據(jù)量也較小,因此,我們忽略終端接收返回數(shù)據(jù)產生能耗進一步簡化公式得到:在遷移過程中,根據(jù)網絡帶寬的變化,本方法主要通過調整DS與QS的比值找到最佳遷移單元。為了定量計算遷移前后終端能耗,我們給出以組件為執(zhí)行單位的能耗和時延計算公式,如果任意組件vi在終端執(zhí)行,則組件vi能耗為:其中PL為終端運行時功率,Tvil(t)為單個組件vi在終端執(zhí)行時間。如果組件vi在服務器端執(zhí)行,則組件vi在終端產生空閑能耗:其中Pi為終端空閑時功率,Tvis(t)為單個組件vi在服務器端執(zhí)行時間。表示組件vi和vj間的數(shù)據(jù)傳輸量,如果組件vi和vj在同側執(zhí)行(都在終端或服務器),則組件間沒有傳輸時延和能耗。否則若組件vi在終端執(zhí)行,vj在服務器端執(zhí)行,則傳輸時延和能耗為:其中Pt為終端發(fā)送數(shù)據(jù)功率,Rdata(t)為上行傳輸速率(從終端到服務器端)。若組件vi在服務器端執(zhí)行,vj在終端執(zhí)行,則傳輸時延和能耗為:其中Pr為終端接收數(shù)據(jù)功率,Sdata(t)為下行傳輸速率(從服務器端到終端)。綜上,程序所有組件產生能耗和運行時間為:設用戶容忍時延為Tmax,則遷移運行時間必須滿足:T(t)≤Tmax。程序分割算法必須在用戶容忍時延內完成組件遷移及計算任務,并且得到能耗公式E(t)的最小值或在當前環(huán)境下的最優(yōu)值,才能進行計算遷移。根據(jù)組件關系圖和遷移必要公式以及目標公式,我們詳細敘述本發(fā)明的具體實施方案:在任意無向圖G(V,E)中,頂點v與頂點u通過邊E直接相連,則v和u互為直接相連點。所有與u直接相連的邊E陳為直接相連邊。頂點u計算量w(u)與所有直接相連邊的權重e(u,v)和的比值,定義為計算遷移比,記作COC(u),表達式如下:其中,V是與u互為直接相連點的集合。本方法最終目的是要找到一個可遷移單元U,在這個可遷移單元內部的點稱為遷移點,所有在這個單元外部的點稱為待選擇點,所有待選擇點的集合記為POE,其中待選擇點中與可遷移單元中任意一點直接相連的點稱為單元外連點,所有單元外連點的集合記為UOP,所有單元外連點與可遷移單元直接相連邊稱為單元內連邊,所有單元內連邊的集合記為UIE,單元外連點與單元以外的直接相連邊稱為單元外連邊,所有單元外連邊的集合記為UOE.任意屬于集合UOP的節(jié)點v,與可遷移單元U所有直接相連邊的集合稱為EI(v),邊權之和稱為此節(jié)點對可遷移單元U的內部關聯(lián)權重WI(v,U)。EI(v)={(v,u)∈UIE,u∈U,v∈UOP}其中,w(e)是屬于EI(v)的邊的權重。任意屬于集合UOP的節(jié)點v,與待選擇點的集合POE的所有直接相連邊的集合稱為Eo(v),邊權之和稱為此節(jié)點對可遷移單元U的外部關聯(lián)權重WO(v,U)。w(e)是屬于Eo(v)的邊的權重。本方法根據(jù)當前網絡帶寬B,首先得到當前遷移計算量和通信量最小值MINwp,通過不斷更新可遷移單元U,并且比較遷移計算權重比(WP值),判斷此環(huán)境是否適合遷移,若遷移,能否節(jié)省終端能耗。其中,W(U)是整個遷移單元的計算量之和,W(v)是新加入組件的計算量,Eo(U)是整個遷移單元與外部的直接連接邊的權重之和,Wo(v,U)是新加入組件與此單元的外部關聯(lián)權重,WI(v,U)是新加入組件與此單元的內部關聯(lián)權重。我們選擇的組件應是使得WP(U)是最大值的組件,且加入單元后應該使得WP>MINwp。如圖3所示,本發(fā)明設計的自適應程序分割方法步驟如下:首先,標記應用程序中不可遷移組件,如需要與用戶輸入交互的組件;需要使用終端本地硬件接口,如照相機,音頻,傳感器等等的組件;會引起安全和用戶隱私泄露的組件等。其次,排除不能遷移組件,根據(jù)組件運行時關系,構造應用程序組件關系圖,對于圖中的每個頂點分別計算COC(u),得到具有最大值的頂點u,此頂點作為可遷移單元U的第一個頂點,并記錄W(U)和WP(U)為COC(u)。然后,分別計算所有與單元U直接相連點的內部關聯(lián)權重WI(v,U)和外部關聯(lián)權重WO(v,U)。計算W(U)+w(v)與E(U)-WI(v,U)+WO(v,U)的比值,選擇具有最大比值的組件加入單元U中,更新單元U和W(U)。若不能滿足當前網絡環(huán)境下最小值,則重復上一步驟繼續(xù)合并單元U。若滿足且當前網絡帶寬穩(wěn)定,重復上一步驟繼續(xù)合并單元U,得到最大值并判斷是否滿足當前網絡環(huán)境下最小值,若滿足則計算E(t)和T(t),在時延允許范圍內E(t)<EL則遷移;若滿足但當前網絡帶寬不穩(wěn)定,停止計算,判斷是否滿足當前網絡環(huán)境下最小值,若滿足,立即計算E(t)和T(t),在時延允許范圍內E(t)<EL則遷移。本發(fā)明實施例以圖2示出的組件關系無向圖為例說明本發(fā)明的具體實施方式。第一步:計算圖中任意頂點u計算量w(u)與所有直接相連邊的權重e(u,v)和的比值,即COC(u),如下表所示:從表格可以看出,序號為4的組件具有最大的COC值,因此選擇此組件為起始位置,并且構成遷移單元的第一個點。與組件4直接相連的點有四個,為2、3、6、7號點。第二步:計算直接連接點的內部關聯(lián)權重和外部關聯(lián)權重組件序號內部關聯(lián)權重外部關聯(lián)權重23534106216718計算出來的結果見上表。我們希望合并的組件與遷移單元的內部關聯(lián)權重高,外部關聯(lián)權重小,并且計算量大,如果有組件的外部關聯(lián)權重小于內部關聯(lián)權重,則這個組件是首要選取的點,否則我們計算假設加入后的WP值,所有的WP值不化簡直接計算。組件序號WP274/12376/16693/24784/17上表顯示出,加入組件2后整個單元的WP值最高,我們選擇組件2加入單元中,更新W(U)=74和Eo(U)=12。我們假設當前帶寬為ζ。根據(jù)公式,忽略服務器的返回數(shù)據(jù)量,計算出QS/DS最小值為8,則此時單元不能滿足遷移的必要條件,并且?guī)捵兓秶浅P?,我們繼續(xù)計算,此時單元集合為2、4號點,與單元U的直接相連點為1、3、6、7號點。經過計算,加入組件1,組件1的內部關聯(lián)權為3,外部關聯(lián)權為2,且計算出WP約為8.54,此時WP>8,在帶寬變化非常大的情況下如果想要立即遷移也能得到能耗優(yōu)化。再之后加入組件3,如下表所示:從上表可以看出,如果帶寬不變,則全部遷移最節(jié)省能耗,但是全部遷移不實際。當加入到組件9時,出現(xiàn)了最小割的情況,最小割的缺點偏向于單點分割。帶寬變化的情況下,初始帶寬為ζ,計算到加入組件1后,即可遷移,否則繼續(xù)加入組件3,若此時帶寬在(8/13)ζ至ζ范圍內變動,遷移組件{2,4,1,3}都可節(jié)約能耗,不需要重新計算或者繼續(xù)計算。帶寬下降至(1/2)ζ時,繼續(xù)計算加入組件5,遷移組件{2,4,1,3,5}。繼續(xù)下降至(4/15)ζ,直到加入組件12,遷移組件{2,4,1,3,5,11,6,12},也即是帶寬在(4/15)ζ至(1/2)ζ范圍內變化時,遷移組件{2,4,1,3,5,11,6,12}都能滿足節(jié)約終端能耗。下表示出了以上結果。由此分析可以看出,自適應組件分割算法能結合實時網絡帶寬及時作出遷移決策,并且遷移結果可在帶寬變化的一定范圍內調整,雖然遷移結果并不是整體遷移最優(yōu)解,但是算法能夠快速執(zhí)行遷移,根據(jù)優(yōu)化目標函數(shù)和網絡環(huán)境動態(tài)調整,求出局部最優(yōu)解。綜上所述,本發(fā)明提供的技術方案通過使用將移動終端程序分割為多個組件,剔除不支持計算遷移的組件,構建組件關系無向圖,迭代擴大可遷移單元直到遷移計算權重比滿足當前帶寬的最小值,在當前帶寬穩(wěn)定時繼續(xù)迭代擴大可遷移單元并在時延允許范圍內進行計算遷移、在當前帶寬不穩(wěn)定時立即在時延允許范圍內進行計算遷移的技術手段,能夠自適應網絡環(huán)境進行動態(tài)分割,降低終端的能耗與時延?;谏鲜瞿康模景l(fā)明實施例的第三個方面,提出了一種執(zhí)行所述移動終端程序的計算遷移方法的電子設備的一個實施例。圖4示出的是本發(fā)明提供的執(zhí)行所述移動終端程序的計算遷移方法的電子設備的一個實施例的硬件結構示意圖。所述執(zhí)行所述移動終端程序的計算遷移方法的電子設備包括至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行如上所述任意一種方法。以如圖4所示的電子設備為例,在該電子設備中包括一個處理器401以及一個存儲器402,并還可以包括:輸入裝置403和輸出裝置404。處理器401、存儲器402、輸入裝置403和輸出裝置404可以通過總線或者其他方式連接,圖4中以通過總線連接為例。存儲器402作為一種非易失性計算機可讀存儲介質,可用于存儲非易失性軟件程序、非易失性計算機可執(zhí)行程序以及模塊,如本申請實施例中的所述移動終端程序的計算遷移方法對應的程序指令/模塊。處理器401通過運行存儲在存儲器402中的非易失性軟件程序、指令以及模塊,從而執(zhí)行服務器的各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述方法實施例的移動終端程序的計算遷移方法。存儲器402可以包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需要的應用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)移動終端程序的計算遷移裝置的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器402可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實施例中,存儲器402可選包括相對于處理器401遠程設置的存儲器。上述網絡的實例包括但不限于互聯(lián)網、企業(yè)內部網、局域網、移動通信網及其組合。輸入裝置403可接收輸入的數(shù)字或字符信息,以及產生與移動終端程序的計算遷移裝置的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置404可包括顯示屏等顯示設備。所述一個或者多個模塊存儲在所述存儲器402中,當被所述處理器401執(zhí)行時,執(zhí)行上述任意方法實施例中的移動終端程序的計算遷移方法。所述執(zhí)行所述移動終端程序的計算遷移方法的電子設備的任何一個實施例,可以達到與之對應的前述任意方法實施例相同或者相類似的效果。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。所述計算機程序的實施例,可以達到與之對應的前述任意方法實施例相同或者相類似的效果。此外,典型地,本公開所述的裝置、設備等可為各種電子終端設備,例如手機、個人數(shù)字助理(PDA)、平板電腦(PAD)、智能電視等,也可以是大型終端設備,如服務器等,因此本公開的保護范圍不應限定為某種特定類型的裝置、設備。本公開所述的客戶端可以是以電子硬件、計算機軟件或兩者的組合形式應用于上述任意一種電子終端設備中。此外,根據(jù)本公開的方法還可以被實現(xiàn)為由CPU執(zhí)行的計算機程序,該計算機程序可以存儲在計算機可讀存儲介質中。在該計算機程序被CPU執(zhí)行時,執(zhí)行本公開的方法中限定的上述功能。此外,上述方法步驟以及系統(tǒng)單元也可以利用控制器以及用于存儲使得控制器實現(xiàn)上述步驟或單元功能的計算機程序的計算機可讀存儲介質實現(xiàn)。此外,應該明白的是,本文所述的計算機可讀存儲介質(例如,存儲器)可以是易失性存儲器或非易失性存儲器,或者可以包括易失性存儲器和非易失性存儲器兩者。作為例子而非限制性的,非易失性存儲器可以包括只讀存儲器(ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦寫可編程ROM(EEPROM)或快閃存儲器。易失性存儲器可以包括隨機存取存儲器(RAM),該RAM可以充當外部高速緩存存儲器。作為例子而非限制性的,RAM可以以多種形式獲得,比如同步RAM(DRAM)、動態(tài)RAM(DRAM)、同步DRAM(SDRAM)、雙數(shù)據(jù)速率SDRAM(DDRSDRAM)、增強SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。所公開的方面的存儲設備意在包括但不限于這些和其它合適類型的存儲器。本領域技術人員還將明白的是,結合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實現(xiàn)為電子硬件、計算機軟件或兩者的組合。為了清楚地說明硬件和軟件的這種可互換性,已經就各種示意性組件、方塊、模塊、電路和步驟的功能對其進行了一般性的描述。這種功能是被實現(xiàn)為軟件還是被實現(xiàn)為硬件取決于具體應用以及施加給整個系統(tǒng)的設計約束。本領域技術人員可以針對每種具體應用以各種方式來實現(xiàn)所述的功能,但是這種實現(xiàn)決定不應被解釋為導致脫離本公開的范圍。結合這里的公開所描述的各種示例性邏輯塊、模塊和電路可以利用被設計成用于執(zhí)行這里所述功能的下列部件來實現(xiàn)或執(zhí)行:通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立門或晶體管邏輯、分立的硬件組件或者這些部件的任何組合。通用處理器可以是微處理器,但是可替換地,處理器可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機。處理器也可以被實現(xiàn)為計算設備的組合,例如,DSP和微處理器的組合、多個微處理器、一個或多個微處理器結合DSP核、或任何其它這種配置。結合這里的公開所描述的方法或算法的步驟可以直接包含在硬件中、由處理器執(zhí)行的軟件模塊中或這兩者的組合中。軟件模塊可以駐留在RAM存儲器、快閃存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動盤、CD-ROM、或本領域已知的任何其它形式的存儲介質中。示例性的存儲介質被耦合到處理器,使得處理器能夠從該存儲介質中讀取信息或向該存儲介質寫入信息。在一個替換方案中,所述存儲介質可以與處理器集成在一起。處理器和存儲介質可以駐留在ASIC中。ASIC可以駐留在用戶終端中。在一個替換方案中,處理器和存儲介質可以作為分立組件駐留在用戶終端中。在一個或多個示例性設計中,所述功能可以在硬件、軟件、固件或其任意組合中實現(xiàn)。如果在軟件中實現(xiàn),則可以將所述功能作為一個或多個指令或代碼存儲在計算機可讀介質上或通過計算機可讀介質來傳送。計算機可讀介質包括計算機存儲介質和通信介質,該通信介質包括有助于將計算機程序從一個位置傳送到另一個位置的任何介質。存儲介質可以是能夠被通用或專用計算機訪問的任何可用介質。作為例子而非限制性的,該計算機可讀介質可以包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲設備、磁盤存儲設備或其它磁性存儲設備,或者是可以用于攜帶或存儲形式為指令或數(shù)據(jù)結構的所需程序代碼并且能夠被通用或專用計算機或者通用或專用處理器訪問的任何其它介質。此外,任何連接都可以適當?shù)胤Q為計算機可讀介質。例如,如果使用同軸線纜、光纖線纜、雙絞線、數(shù)字用戶線路(DSL)或諸如紅外線、無線電和微波的無線技術來從網站、服務器或其它遠程源發(fā)送軟件,則上述同軸線纜、光纖線纜、雙絞線、DSL或諸如紅外先、無線電和微波的無線技術均包括在介質的定義。如這里所使用的,磁盤和光盤包括壓縮盤(CD)、激光盤、光盤、數(shù)字多功能盤(DVD)、軟盤、藍光盤,其中磁盤通常磁性地再現(xiàn)數(shù)據(jù),而光盤利用激光光學地再現(xiàn)數(shù)據(jù)。上述內容的組合也應當包括在計算機可讀介質的范圍內。以上是本發(fā)明公開的示例性實施例,但是應當注意,在不背離權利要求限定的本公開的范圍的前提下,可以進行多種改變和修改。根據(jù)這里描述的公開實施例的方法權利要求的功能、步驟和/或動作不需以任何特定順序執(zhí)行。此外,盡管本公開的元素可以以個體形式描述或要求,但是也可以設想多個,除非明確限制為單數(shù)。應當理解的是,在本文中使用的,除非上下文清楚地支持例外情況,單數(shù)形式“一個”(“a”、“an”、“the”)旨在也包括復數(shù)形式。還應當理解的是,在本文中使用的“和/或”是指包括一個或者一個以上相關聯(lián)地列出的項目的任意和所有可能組合。上述本公開實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。所屬領域的普通技術人員應當理解:以上任何實施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權利要求)被限于這些例子;在本發(fā)明實施例的思路下,以上實施例或者不同實施例中的技術特征之間也可以進行組合,并存在如上所述的本發(fā)明實施例的不同方面的許多其它變化,為了簡明它們沒有在細節(jié)中提供。因此,凡在本發(fā)明實施例的精神和原則之內,所做的任何省略、修改、等同替換、改進等,均應包含在本發(fā)明實施例的保護范圍之內。當前第1頁1 2 3