專利名稱:一種運(yùn)行進(jìn)程的方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種運(yùn)行進(jìn)程的方法、系統(tǒng)及設(shè)備。
背景技術(shù):
隨著手機(jī)的軟、硬件能力的不斷提升,手機(jī)特別是智能手機(jī)的功能日益強(qiáng)大,用戶對(duì)手機(jī)的應(yīng)用不再僅僅滿足于打電話、發(fā)短消息和個(gè)人信息管理,而是越來(lái)越多地使用手機(jī)的拍照、錄像、聽(tīng)音樂(lè)、玩游戲、瀏覽網(wǎng)頁(yè)、收發(fā)郵件、識(shí)別語(yǔ)言和圖像處理等業(yè)務(wù)應(yīng)用軟件,并逐步用于企業(yè)應(yīng)用和移動(dòng)辦公領(lǐng)域,同時(shí),為了使手機(jī)能夠安全地運(yùn)行上述功能,在手機(jī)中也需要?dú)⒍拒浖头阑饓浖馨踩珣?yīng)用軟件。由于手機(jī)中運(yùn)行了大量應(yīng)用軟件(包括業(yè)務(wù)應(yīng)用軟件和安全應(yīng)用軟件),因此,對(duì)手機(jī)的計(jì)算能力提出了較高的要求。目前,為了解決手機(jī)的計(jì)算能力不能很好地滿足大量應(yīng)用軟件運(yùn)行的問(wèn)題,將需要在手機(jī)上運(yùn)行的進(jìn)程遷移到服務(wù)器端,即將該進(jìn)程的計(jì)算過(guò)程轉(zhuǎn)移到服務(wù)器端運(yùn)行,從而有效降低對(duì)手機(jī)的計(jì)算壓力,同時(shí)還能夠降低計(jì)算過(guò)程為手機(jī)帶來(lái)的功耗。將手機(jī)上運(yùn)行的計(jì)算過(guò)程遷移到服務(wù)器端的方式為將原本需要在終端內(nèi)運(yùn)行的進(jìn)程遷移至服務(wù)器端,由服務(wù)器端來(lái)運(yùn)行該進(jìn)程,同時(shí)利用服務(wù)器集群中負(fù)載均衡的思想,將遷移至服務(wù)器端的進(jìn)程在不同服務(wù)器之間動(dòng)態(tài)遷移,避免某一服務(wù)器的負(fù)載過(guò)大的問(wèn)題。在目前的遷移方式中,終端只能按照固定方式將全部或部分進(jìn)程進(jìn)行遷移,而在實(shí)際操作中,由于網(wǎng)絡(luò)帶寬以及手機(jī)/服務(wù)器的能力不同,在這種固定遷移方式下,可能出現(xiàn)服務(wù)器端無(wú)法正確運(yùn)行相應(yīng)進(jìn)程的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種運(yùn)行進(jìn)程的方法、系統(tǒng)及設(shè)備,用以解決現(xiàn)有技術(shù)中存在的固定遷移方式下,可能出現(xiàn)服務(wù)器端無(wú)法正確運(yùn)行遷移進(jìn)程的問(wèn)題。一種運(yùn)行進(jìn)程的方法,所述方法包括終端在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息;在檢測(cè)出的信息滿足設(shè)定條件時(shí),終端將運(yùn)行所述第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,指示該服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程;終端接收服務(wù)器運(yùn)行所述第一進(jìn)程后返回的運(yùn)行結(jié)果。一種運(yùn)行進(jìn)程的系統(tǒng),所述系統(tǒng)包括終端,用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息, 在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,并接收服務(wù)器返回的運(yùn)行結(jié)果;服務(wù)器,用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程,并向終端返回運(yùn)行結(jié)果。
一種終端,所述終端包括檢測(cè)模塊,用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息;遷移模塊,用于在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行所述第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,指示該服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程;接收模塊,用于接收服務(wù)器運(yùn)行所述第一進(jìn)程后返回的運(yùn)行結(jié)果。一種服務(wù)器,所述服務(wù)器包括接收模塊,用于接收終端同步至的輸入?yún)?shù),所述輸入?yún)?shù)是終端在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息,在檢測(cè)出的信息滿足設(shè)定條件時(shí)發(fā)送的;運(yùn)行模塊,用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程;返回模塊,用于向終端返回運(yùn)行結(jié)果。本發(fā)明實(shí)施例根據(jù)終端負(fù)載、服務(wù)器能力以及通信狀態(tài)來(lái)動(dòng)態(tài)遷移終端進(jìn)程,將本應(yīng)在終端側(cè)運(yùn)行的進(jìn)程遷移至在服務(wù)器側(cè)運(yùn)行,由于服務(wù)器的能力以及終端與服務(wù)器之間的網(wǎng)絡(luò)狀態(tài)都能夠支持進(jìn)程遷移,因此,通過(guò)本發(fā)明方案可以確保進(jìn)程遷移的正確運(yùn)行, 有效地降低運(yùn)行進(jìn)程對(duì)終端造成的計(jì)算壓力。
圖1為本發(fā)明實(shí)施例一中運(yùn)行進(jìn)程的方法示意圖;圖2為本發(fā)明實(shí)施例ニ中終端和服務(wù)器之間通信關(guān)系示意圖;圖3為本發(fā)明實(shí)施例三中運(yùn)行進(jìn)程的系統(tǒng)結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例四中終端各邏輯部件示意圖;圖5為本發(fā)明實(shí)施例五中服務(wù)器各邏輯部件示意圖。
具體實(shí)施例方式為了能夠?qū)⒔K端側(cè)運(yùn)行的進(jìn)程正確遷移到服務(wù)器側(cè),本發(fā)明實(shí)施例提出一種新的運(yùn)行進(jìn)程的方案,在本發(fā)明實(shí)施例的方案中,根據(jù)終端負(fù)載、服務(wù)器能力以及通信狀態(tài)來(lái)動(dòng)態(tài)遷移終端進(jìn)程,在終端的狀態(tài)較差、服務(wù)器的狀態(tài)較好且網(wǎng)絡(luò)能力能夠支持進(jìn)程遷移吋, 將本應(yīng)在終端側(cè)運(yùn)行的進(jìn)程遷移至服務(wù)器側(cè)運(yùn)行,由于服務(wù)器的能力以及終端與服務(wù)器之間的網(wǎng)絡(luò)狀態(tài)都能夠支持進(jìn)程遷移,因此,通過(guò)本發(fā)明方案可以確保進(jìn)程遷移的正確運(yùn)行, 以降低運(yùn)行進(jìn)程對(duì)手機(jī)造成的計(jì)算壓力。下面結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)說(shuō)明。本發(fā)明各實(shí)施例中涉及的終端可以是能夠進(jìn)行網(wǎng)絡(luò)傳輸?shù)闹悄苁謾C(jī),也可以是有計(jì)算能力轉(zhuǎn)移需求的其他終端;本發(fā)明各實(shí)施例中涉及的服務(wù)器是具有強(qiáng)運(yùn)算能力的設(shè)備,如通過(guò)USB、WIFI或其他方式與終端通信的計(jì)算機(jī)或網(wǎng)絡(luò)設(shè)備。本發(fā)明各實(shí)施例中涉及的終端可以采用諸如ARM架構(gòu)的Android/OMS操作系統(tǒng), 并安裝多種進(jìn)程;在服務(wù)器中為終端搭建ー個(gè)VMM虛擬機(jī),在該VMM虛擬機(jī)上運(yùn)行與終端版本相同的Android/OMS操作,所不同的是,為了使服務(wù)器具有較好的運(yùn)算能力,在服務(wù)器中
5的操作系統(tǒng)采用x86架構(gòu),為了避免對(duì)服務(wù)器操作系統(tǒng)內(nèi)核的改造,在服務(wù)器內(nèi)安裝與終端內(nèi)相同的進(jìn)程。如圖1所示,為本發(fā)明實(shí)施例一中運(yùn)行進(jìn)程的方法示意圖,所述方法包括以下步驟步驟101 終端啟動(dòng)進(jìn)程。如本實(shí)施例一中的終端為智能手機(jī),則在需要啟動(dòng)終端內(nèi)的某一進(jìn)程時(shí),用戶可以點(diǎn)擊顯示器中的圖標(biāo),此時(shí),終端收到啟動(dòng)該進(jìn)程的請(qǐng)求消息。步驟102 終端判斷是否需要進(jìn)行進(jìn)程遷移,若是,則執(zhí)行步驟103 ;否則,在終端內(nèi)運(yùn)行該進(jìn)程。在步驟101中,終端接收到用戶觸發(fā)的請(qǐng)求消息后,并不立即運(yùn)行該進(jìn)程,而是通過(guò)對(duì)終端、服務(wù)器、終端和服務(wù)器之間的傳輸通道的檢測(cè)來(lái)判斷是否需要遷移進(jìn)程。終端的判斷過(guò)程如下第一歩終端檢測(cè)以下信息中的一個(gè)或多個(gè)的組合。終端的負(fù)載信息、進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力信息以及終端與服務(wù)器之間的傳輸帶寬信息。第二歩判斷檢測(cè)出的信息是否滿足設(shè)定條件,若是,則確定需要遷移進(jìn)程;否則,在終端內(nèi)運(yùn)行該進(jìn)程。本步驟中的設(shè)定條件是對(duì)檢測(cè)出的信息的判定標(biāo)準(zhǔn),包括但不限于以下任意ー項(xiàng)或多項(xiàng)的組合第一項(xiàng)終端的負(fù)載達(dá)到第一門(mén)限值,在滿足本項(xiàng)條件吋,表示終端的負(fù)載過(guò)大, 不適宜繼續(xù)運(yùn)行進(jìn)程;第二項(xiàng)進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力達(dá)到閾值,在滿足本項(xiàng)條件吋,表示準(zhǔn)備運(yùn)行的進(jìn)程要求的計(jì)算能力,終端很難滿足該進(jìn)程需要的計(jì)算能力,或是終端在滿足該進(jìn)程的計(jì)算能力后,無(wú)法滿足其他進(jìn)程的運(yùn)行需求;第三項(xiàng)服務(wù)器能夠提供的計(jì)算能力能夠滿足所述第一進(jìn)程運(yùn)行時(shí)所需的計(jì)算能力,在滿足本項(xiàng)條件吋,表示服務(wù)器有能力接收從終端遷移來(lái)的進(jìn)程;第四項(xiàng)終端與服務(wù)器之間的傳輸帶寬達(dá)到第二門(mén)限值,在滿足本項(xiàng)條件吋,表示傳輸帶寬能夠支持進(jìn)程遷移至服務(wù)器時(shí),終端與服務(wù)器之間的信息傳輸。當(dāng)以上四項(xiàng)設(shè)定條件中的任一項(xiàng)或多項(xiàng)滿足吋,認(rèn)為滿足設(shè)定條件,需要遷移進(jìn)程;較優(yōu)地,本實(shí)施例還可以將以上四項(xiàng)組合使用來(lái)判斷是否需要遷移進(jìn)程例如在滿足第一項(xiàng)和/或第二項(xiàng)時(shí),為了降低終端的計(jì)算壓力,將該進(jìn)程遷移至服務(wù)器;在不滿足第一項(xiàng)和第二項(xiàng)但滿足第三項(xiàng)或第四項(xiàng)時(shí),可以遷移進(jìn)程,以達(dá)到降低終端計(jì)算壓力的目的,也可以不遷移進(jìn)程,此時(shí),由于終端負(fù)載并不大且進(jìn)程所需的計(jì)算能力不高,在終端內(nèi)足以運(yùn)行該進(jìn)程,也避免了過(guò)于頻繁的進(jìn)程遷移反而影響終端的性能,造成終端的資源浪費(fèi)。步驟103 終端確定運(yùn)行該進(jìn)程時(shí)采用的輸入?yún)?shù)。本步驟中的輸入?yún)?shù)是對(duì)進(jìn)程進(jìn)行運(yùn)行的依據(jù),如所述進(jìn)程是圖像處理進(jìn)程,則所述輸入?yún)?shù)可以是對(duì)原始圖像的調(diào)整參數(shù),包括調(diào)整后的圖像尺寸、分辨率、象素點(diǎn)亮
所述輸入?yún)?shù)可以在步驟101中由用戶通過(guò)請(qǐng)求消息發(fā)送給終端,表示用戶希望該進(jìn)程進(jìn)行的操作。步驟104 終端將所述輸入?yún)?shù)同步至服務(wù)器。終端通過(guò)與服務(wù)器之間的傳輸通道來(lái)傳輸所述輸入?yún)?shù)。例如終端通過(guò)WIFI與服務(wù)器建立傳輸通道,則終端將所述輸入?yún)?shù)通過(guò)WIFI傳輸通道發(fā)送至服務(wù)器。在本步驟中,終端還可以向服務(wù)器發(fā)送觸發(fā)服務(wù)器運(yùn)行遷移進(jìn)程的觸發(fā)消息,該觸發(fā)消息中可以同時(shí)攜帯需要運(yùn)行的進(jìn)程標(biāo)識(shí)。步驟105 服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行進(jìn)程。由于本實(shí)施例一中的服務(wù)器內(nèi)安裝的進(jìn)程與終端內(nèi)安裝的進(jìn)程相同,因此,當(dāng)服務(wù)器接收到終端發(fā)送的觸發(fā)消息后,根據(jù)其中攜帯的進(jìn)程標(biāo)識(shí),確定需要運(yùn)行的進(jìn)程,并按照接收到的輸入?yún)?shù)運(yùn)行該進(jìn)程。步驟106 服務(wù)器運(yùn)行完畢進(jìn)程后,向終端返回運(yùn)行結(jié)果。此時(shí),終端遷移至服務(wù)器的進(jìn)程已運(yùn)行完畢,若終端獲得的運(yùn)行結(jié)果是用戶請(qǐng)求的結(jié)果,則向用戶展示運(yùn)行結(jié)果,若終端獲得的運(yùn)行結(jié)果是用于計(jì)算用戶請(qǐng)求結(jié)果的中間值,則終端利用該運(yùn)行結(jié)果繼續(xù)運(yùn)行其他進(jìn)程。例如遷移至服務(wù)器的進(jìn)程是圖像處理進(jìn)程,終端接收到的運(yùn)行結(jié)果是處理完畢的圖像,則終端在顯示器上顯示該圖像;再例如用戶需要將指定的包含英文和日文的文檔翻譯為中文文檔,而遷移至服務(wù)器的進(jìn)程是中英翻譯進(jìn)程,服務(wù)器向終端返回的運(yùn)行結(jié)果是包含日文和中文的文檔,終端需要繼續(xù)運(yùn)行中日翻譯進(jìn)程,才能得到用戶需要的結(jié)果。通過(guò)以上步驟101 步驟106的描述,終端在啟動(dòng)進(jìn)程時(shí)根據(jù)終端、服務(wù)器、終端和服務(wù)器之間的傳輸通道的各狀態(tài)來(lái)決定進(jìn)程是在終端內(nèi)運(yùn)行還是遷移至服務(wù)器運(yùn)行,以克服在進(jìn)程遷移吋,由于服務(wù)器能力不夠或是終端與服務(wù)器之間連接通路有問(wèn)題導(dǎo)致進(jìn)程不能正確遷移至服務(wù)器或是遷移至服務(wù)器后,服務(wù)器不能正確運(yùn)行該進(jìn)程的問(wèn)題;在確定需要遷移至服務(wù)器運(yùn)行吋,進(jìn)程并沒(méi)與發(fā)生實(shí)質(zhì)上的遷移,而是將輸入?yún)?shù)同步至服務(wù)器后,由服務(wù)器根據(jù)該輸入?yún)?shù)運(yùn)行自身安裝的進(jìn)程,由于此時(shí)服務(wù)器已確定具有運(yùn)行進(jìn)程的能力,因此,與現(xiàn)有技術(shù)中將遷移至服務(wù)器端的進(jìn)程在不同服務(wù)器之間動(dòng)態(tài)遷移來(lái)克服服務(wù)器負(fù)載過(guò)大的方案相比,本發(fā)明實(shí)施例一的方案無(wú)需對(duì)終端和服務(wù)器的操作系統(tǒng)內(nèi)核做任何改造而實(shí)現(xiàn)服務(wù)器的負(fù)載均衡。實(shí)施例ニ 本發(fā)明實(shí)施例ニ以對(duì)智能手機(jī)內(nèi)的圖像進(jìn)行圖像處理為例,對(duì)本發(fā)明實(shí)施例一的方案進(jìn)行詳細(xì)說(shuō)明。如圖2所示,為本發(fā)明實(shí)施例ニ中智能手機(jī)和服務(wù)器之間通信關(guān)系示意圖,終端內(nèi)安裝了多種進(jìn)程,包括進(jìn)程A、進(jìn)程B等,在服務(wù)器內(nèi)也安裝了相同的進(jìn)程A和進(jìn)程B,為了區(qū)分終端和服務(wù)器內(nèi)的進(jìn)程,本實(shí)施例ニ中將服務(wù)器內(nèi)的進(jìn)程稱之為進(jìn)程ガ和進(jìn)程B7。本實(shí)施例ニ中的進(jìn)程A和進(jìn)程B是用于區(qū)分進(jìn)程的標(biāo)識(shí),本實(shí)施例中也不限于用
第一進(jìn)程、第二進(jìn)程等來(lái)標(biāo)示。本實(shí)施例ニ中的終端采用ARM架構(gòu)的Android操作系統(tǒng)(Android/ARM),服務(wù)器采用x86結(jié)構(gòu)的Android操作系統(tǒng)(Android/X86),終端使用的CPU為ARM,服務(wù)器采用的 CPUihtel x86。
終端和服務(wù)器內(nèi)分別安裝了應(yīng)用程序架構(gòu)(APP Framework),終端側(cè)的APP Framework和服務(wù)器側(cè)的APP Framework之間可以建立代理通道,此代理通道可以由服務(wù)器發(fā)起建立,也可以由終端發(fā)起建立。終端與服務(wù)器之間還可以通過(guò)VNC協(xié)議建立連接,即在終端內(nèi)設(shè)置VNC客戶單元, 在服務(wù)器內(nèi)設(shè)置VNC服務(wù)單元,VNC服務(wù)單元實(shí)時(shí)啟動(dòng),而VNC客戶單元可以在啟動(dòng)后處于休眠狀態(tài),在有進(jìn)程遷移至服務(wù)器吋,喚醒休眠的VNC客戶單元,與VNC服務(wù)單元建立VNC 連接。在服務(wù)器內(nèi)還可以設(shè)置VMM虛擬機(jī),在遷移進(jìn)程吋,同步給服務(wù)器的輸入?yún)?shù)可以由VMM虛擬機(jī)通過(guò)鏡像在服務(wù)器內(nèi)復(fù)制。在終端和服務(wù)器分別按照上述方式設(shè)計(jì)后,本實(shí)施例二方案包括以下步驟第一歩用戶點(diǎn)擊手機(jī)顯示器上的圖像處理軟件,啟動(dòng)終端內(nèi)的圖像處理進(jìn)程,稱之為進(jìn)程A。同吋,用戶向終端輸入的輸入?yún)?shù)包括用戶希望得到的圖像大小以及圖像分辨卓。第二步終端檢測(cè)自身的負(fù)載以及進(jìn)程A運(yùn)行時(shí)需要的計(jì)算能力。第三歩在終端的負(fù)載達(dá)到第一門(mén)限值且進(jìn)程A需要較高的計(jì)算能力達(dá)到閾值吋,表示終端運(yùn)行該進(jìn)程A將會(huì)導(dǎo)致終端的計(jì)算壓力過(guò)大,則進(jìn)ー步檢測(cè)服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬。在本步驟中,終端可以根據(jù)與服務(wù)器的傳輸通道的接ロ檢測(cè)傳輸帶寬。若服務(wù)器只為一臺(tái)終端提供服務(wù),則終端可以根據(jù)服務(wù)器的最大計(jì)算能力以及當(dāng)前服務(wù)器正在為該終端運(yùn)行進(jìn)程占用的計(jì)算能力,確定服務(wù)器能夠?yàn)檫M(jìn)程A提供的計(jì)算能力;若服務(wù)器同時(shí)為多臺(tái)終端提供服務(wù),則終端可以通過(guò)查詢請(qǐng)求消息,從服務(wù)器處獲得服務(wù)器當(dāng)前能夠?yàn)檫M(jìn)程A提供的計(jì)算能力。第四步在服務(wù)器提供的計(jì)算能力滿足進(jìn)程A的需求且傳輸帶寬得到第二設(shè)定值吋,表示進(jìn)程A能夠正確地遷移至服務(wù)器,終端將利用自身的APPFramework通過(guò)代理通道通知服務(wù)器的APP Framework啟動(dòng)進(jìn)程A7。第五步在服務(wù)器啟動(dòng)進(jìn)程ガ之前,終端將輸入?yún)?shù)同步至服務(wù)器,即由服務(wù)器的 VMM虛擬機(jī)在服務(wù)器內(nèi)復(fù)制輸入?yún)?shù)的鏡像。第六步終端內(nèi)的VNC客戶單元和VNC服務(wù)單元通過(guò)VNC協(xié)議建立VNC連接。本步驟可以在終端確定將進(jìn)程A遷移至服務(wù)器后且VNC服務(wù)單元將運(yùn)行結(jié)果返回給VNC客戶單元之前的任意時(shí)刻執(zhí)行。第七步服務(wù)器運(yùn)行進(jìn)程ガ,若在運(yùn)行過(guò)程中,進(jìn)程ガ需要調(diào)用終端的外設(shè)時(shí),服務(wù)器將對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端。在本步驟中,若是對(duì)終端本地存儲(chǔ)的圖片進(jìn)行處理,則在第五步時(shí),VMM虛擬機(jī)還可以在服務(wù)器內(nèi)復(fù)制待處理圖片的鏡像,并運(yùn)行進(jìn)程ガ,此時(shí),不需要執(zhí)行本步驟。若是待處理的圖片需要由終端實(shí)時(shí)拍攝后,再由服務(wù)器運(yùn)行進(jìn)程ガ對(duì)其進(jìn)行處理,則在本步驟中, 進(jìn)程ガ需要調(diào)用終端的攝像頭,因此,服務(wù)器向調(diào)用攝像頭的參數(shù)重定向至終端。第八步終端接收到該進(jìn)行調(diào)用的參數(shù)后,調(diào)用攝像頭進(jìn)行拍攝,并將拍攝的圖片同步至服務(wù)器,相當(dāng)于在終端本地運(yùn)行進(jìn)程A后,由進(jìn)程A調(diào)用攝像頭獲得拍攝的圖片。
第九步進(jìn)程ガ對(duì)接收到的圖片進(jìn)行運(yùn)行,在得到圖像大小以及圖像分辨率滿足用戶需求的圖片后,進(jìn)程ガ運(yùn)行完畢。第十步VNC服務(wù)單元將處理完畢后的圖片通過(guò)VNC連接發(fā)送至VNC客戶單元,由 VNC客戶單元將處理完畢后的圖片寫(xiě)入終端的緩存區(qū)域。在本實(shí)施例ニ的方案,進(jìn)程ガ直接對(duì)圖片進(jìn)行操作,不需要與其他進(jìn)程協(xié)同操作。 假設(shè)實(shí)施例ニ的方案中,進(jìn)程ガ的內(nèi)容只是進(jìn)行圖像處理,而不具有調(diào)用終端攝像頭拍攝圖片的功能(假設(shè)為進(jìn)程B的功能),則本實(shí)施例ニ的方案可以有以下兩種第一種方案若進(jìn)程B也遷移至服務(wù)器,即服務(wù)器同時(shí)運(yùn)行進(jìn)程ガ和進(jìn)程が,進(jìn)程 A7和進(jìn)程B7之間是本地進(jìn)程的通信,則在本實(shí)施例ニ的第七步中,由進(jìn)程hi觸發(fā)進(jìn)程B、再由進(jìn)程が調(diào)用終端的攝像頭,服務(wù)器將對(duì)終端攝像頭進(jìn)行調(diào)用的參數(shù)重定向至終端;在終端調(diào)用攝像頭拍攝得到圖片后,在第九步中,進(jìn)程が接收到該圖片后發(fā)送給進(jìn)程ガ,再由進(jìn)程ガ對(duì)接收到的圖片進(jìn)行運(yùn)行。第二種方案若進(jìn)程B未遷移至服務(wù)器,即服務(wù)器中運(yùn)行進(jìn)程ガ,終端內(nèi)運(yùn)行進(jìn)程 B,則在第七步中,進(jìn)程kf與進(jìn)程B通過(guò)代理通道進(jìn)行通信,具體的通信過(guò)程為進(jìn)程kf發(fā)送至進(jìn)程B的拍攝請(qǐng)求由服務(wù)器內(nèi)的APP Framework通過(guò)代理通道發(fā)送至終端內(nèi)的APP Framework,再由終端內(nèi)的APP Framework發(fā)送至進(jìn)程B ;在第八步中,進(jìn)程B調(diào)用攝像頭進(jìn)行拍攝,并將拍攝的圖片發(fā)送至終端內(nèi)的APP Framework,再由終端內(nèi)的APP Framework發(fā)送至服務(wù)器內(nèi)的APP Framework,最終由服務(wù)器內(nèi)的APP Framework發(fā)送至進(jìn)程bL第二種方案是利用Android/OMS中提供的運(yùn)行時(shí)綁定機(jī)制(Intent)來(lái)協(xié)助實(shí)現(xiàn)進(jìn)程ガ和進(jìn)程B之間的通信。通過(guò)本發(fā)明實(shí)施例ニ提供的方法,可以根據(jù)終端負(fù)載、服務(wù)器能力以及通信狀態(tài)來(lái)動(dòng)態(tài)遷移終端進(jìn)程,降低終端的計(jì)算壓力,保證終端整體性能的最優(yōu)化。仍以本實(shí)施例ニ 的方案為例,如果不按照第二歩 第四步的方案檢測(cè)是否應(yīng)該將進(jìn)程A遷移至服務(wù)器,而是直接將進(jìn)程A遷移至服務(wù)器,由服務(wù)器運(yùn)行進(jìn)程ガ的話,則可能出現(xiàn)以下情況若當(dāng)前終端和服務(wù)器之間采用GPRS網(wǎng)絡(luò)進(jìn)行傳輸,而網(wǎng)絡(luò)帶寬小,網(wǎng)絡(luò)擁塞情況嚴(yán)重,則將進(jìn)程A遷移至服務(wù)器時(shí),由于待處理的圖片其他輸入?yún)?shù)的傳輸可能會(huì)耗費(fèi)大量時(shí)間,因此,遷移進(jìn)程A的效果不佳。若當(dāng)前服務(wù)器正在為大量的終端提供服務(wù),服務(wù)器能夠分配給進(jìn)程A的資源有限,則將進(jìn)程A遷移至服務(wù)器吋,由于服務(wù)器的計(jì)算能力不能很好地滿足進(jìn)程A的需求,因此,遷移進(jìn)程A的效果不佳。而使用本發(fā)明方案后,對(duì)通信帶寬、終端、網(wǎng)絡(luò)能力都進(jìn)行檢測(cè),可以確定出最優(yōu)的遷移方案,確保進(jìn)程遷移至服務(wù)器后,服務(wù)器能夠正確、快速運(yùn)行遷移的進(jìn)程,優(yōu)化終端的計(jì)算壓力。此外,本發(fā)明方案不需要改變現(xiàn)有的終端與服務(wù)器的架構(gòu),且由于進(jìn)程并不進(jìn)行實(shí)質(zhì)性遷移,因此,不需要對(duì)終端和服務(wù)器的操作系統(tǒng)內(nèi)核做任何改造,而只需要對(duì)服務(wù)器內(nèi)的APP Framework做適度改造,使其支持輸入?yún)?shù)的鏡像同步和與終端APP Framework 之間的代理通信機(jī)制;同時(shí),本發(fā)明方案還充分結(jié)合VNC技術(shù)與常規(guī)的VNC方式相比,本發(fā)明方案能夠支持遷移的進(jìn)程對(duì)終端外設(shè)的調(diào)用。實(shí)施例三
本發(fā)明實(shí)施例三還提供ー種運(yùn)行進(jìn)程的系統(tǒng),如圖3所示,所述系統(tǒng)包括終端11 和服務(wù)器12,其中終端11用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的一個(gè)或多個(gè)信息,在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,并接收服務(wù)器返回的運(yùn)行結(jié)果;服務(wù)器12用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程,并后向終端返回運(yùn)行結(jié)果。所述服務(wù)器12具體用于將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端,井根據(jù)終端返回的外設(shè)調(diào)用結(jié)果運(yùn)行所述第一進(jìn)程;所述終端11還用于根據(jù)接收到的參數(shù)調(diào)用對(duì)應(yīng)的外設(shè),并返回外設(shè)調(diào)用結(jié)果。本發(fā)明實(shí)施例三所述的系統(tǒng)涉及的終端和服務(wù)器是能夠協(xié)同執(zhí)行實(shí)施例ー和實(shí)施例二方案的設(shè)備,其內(nèi)部架構(gòu)可以是圖2所示的架構(gòu)。實(shí)施例四本發(fā)明實(shí)施例四還提供ー種終端,該終端的內(nèi)部架構(gòu)可以是圖2的手機(jī)所示的架構(gòu),在本實(shí)施例四中,實(shí)現(xiàn)終端功能各邏輯部件示意圖如圖4所示。所述終端包括檢測(cè)模塊21、遷移模塊22和接收模塊23,其中檢測(cè)模塊21用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息;遷移模塊22用于在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行所述第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,指示該服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程;接收模塊23用于接收服務(wù)器運(yùn)行所述第一進(jìn)程后返回的運(yùn)行結(jié)果。所述接收模塊23還用于接收服務(wù)器重定向的對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù);所述終端還包括調(diào)用模塊對(duì),用于根據(jù)接收到的參數(shù)調(diào)用對(duì)應(yīng)的外設(shè),并將外設(shè)調(diào)用結(jié)果返回給服務(wù)器。本實(shí)施例四中的終端在操作系統(tǒng)上安裝了大量的進(jìn)程(如各種應(yīng)用軟件),利用遷移模塊22中的APP Framework通過(guò)代理通道通知服務(wù)器的APPFramework啟動(dòng)第一進(jìn)程, 且遷移模塊22中的VNC客戶單元接收服務(wù)器返回的運(yùn)行結(jié)果。實(shí)施例五本發(fā)明實(shí)施例五提供一種服務(wù)器,該服務(wù)器的內(nèi)部架構(gòu)可以是圖2的服務(wù)器所示的架構(gòu),在本實(shí)施例五中,實(shí)現(xiàn)服務(wù)器功能的各邏輯部件示意圖如圖5所示。服務(wù)器包括 接收模塊31、運(yùn)行模塊32和返回模塊33,其中接收模塊31用于接收終端同步至的輸入?yún)?shù),所述輸入?yún)?shù)是終端在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息,在檢測(cè)出的信息滿足設(shè)定條件時(shí)發(fā)送的;運(yùn)行模塊32用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行所述第一進(jìn)程;返回模塊33用于后向終端返回運(yùn)行結(jié)果。所述運(yùn)行模塊32具體用于將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端,井根據(jù)終端返回的外設(shè)調(diào)用結(jié)果運(yùn)行所述第一進(jìn)程。本實(shí)施例五中的服務(wù)器在操作系統(tǒng)上也安裝了大量的進(jìn)程(如各種應(yīng)用軟件), 利用接收模塊31中的VMM虛擬機(jī)在服務(wù)器內(nèi)復(fù)制輸入?yún)?shù)的鏡像。且VMM虛擬機(jī)還可以在運(yùn)行模塊32中,將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端; 返回模塊33中的VNC服務(wù)單元將運(yùn)行結(jié)果返回給終端。
10
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種運(yùn)行進(jìn)程的方法,其特征在干,所述方法包括終端在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息;在檢測(cè)出的信息滿足設(shè)定條件時(shí),終端將運(yùn)行所述第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,指示該服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程; 終端接收服務(wù)器運(yùn)行所述第一進(jìn)程后返回的運(yùn)行結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在干,所述設(shè)定條件包括以下一項(xiàng)或多項(xiàng)的組合 終端的負(fù)載達(dá)到第一門(mén)限值;第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力達(dá)到閾值;服務(wù)器能夠提供的計(jì)算能力滿足所述第一進(jìn)程運(yùn)行時(shí)所需的計(jì)算能力; 終端與服務(wù)器之間的傳輸帶寬達(dá)到第二門(mén)限值;在檢測(cè)出的信息滿足設(shè)定條件中的任一項(xiàng)時(shí),終端將輸入?yún)?shù)同步至服務(wù)器。
3.如權(quán)利要求1所述的方法,其特征在干,服務(wù)器運(yùn)行第一進(jìn)程,具體包括服務(wù)器將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端,要求終端根據(jù)接收到的參數(shù)調(diào)用對(duì)應(yīng)的外設(shè);服務(wù)器根據(jù)終端返回的外設(shè)調(diào)用結(jié)果運(yùn)行第一進(jìn)程。
4.如權(quán)利要求1、2或3所述的方法,其特征在干,服務(wù)器運(yùn)行第一進(jìn)程,具體包括 在第一進(jìn)程的運(yùn)行過(guò)程中需要與運(yùn)行在終端內(nèi)的第二進(jìn)程進(jìn)行通信吋,通過(guò)服務(wù)器內(nèi)的應(yīng)用程序架構(gòu)APP Framework和終端內(nèi)的APP Framework建立的代理通道,服務(wù)器將第 ー進(jìn)程發(fā)送給第二進(jìn)程的信息傳輸給終端,并接收第二進(jìn)程向第一進(jìn)程發(fā)送的信息。
5.如權(quán)利要求1、2或3所述的方法,其特征在干,終端接收服務(wù)器運(yùn)行第一進(jìn)程后返回的運(yùn)行結(jié)果,具體包括終端內(nèi)的虛擬網(wǎng)絡(luò)計(jì)算VNC客戶單元與服務(wù)器內(nèi)VNC服務(wù)單元建立連接; VNC客戶單元接收VNC服務(wù)單元返回的運(yùn)行結(jié)果; VNC客戶單元將所述運(yùn)行結(jié)果寫(xiě)入終端的緩存區(qū)域。
6.一種運(yùn)行進(jìn)程的系統(tǒng),其特征在干,所述系統(tǒng)包括終端,用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息,在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,并接收服務(wù)器返回的運(yùn)行結(jié)果;服務(wù)器,用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程,并向終端返回運(yùn)行結(jié)果。
7.如權(quán)利要求6所述的系統(tǒng),其特征在干,所述服務(wù)器,具體用于將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端,井根據(jù)終端返回的外設(shè)調(diào)用結(jié)果運(yùn)行所述第一進(jìn)程;所述終端,還用于根據(jù)接收到的參數(shù)調(diào)用對(duì)應(yīng)的外設(shè),并返回外設(shè)調(diào)用結(jié)果。
8.—種終端,其特征在干,所述終端包括檢測(cè)模塊,用于在啟動(dòng)第一進(jìn)程吋,檢測(cè)終端的負(fù)載、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的一個(gè)或多個(gè)信息;遷移模塊,用于在檢測(cè)出的信息滿足設(shè)定條件吋,將運(yùn)行所述第一進(jìn)程的輸入?yún)?shù)同步至服務(wù)器,指示該服務(wù)器根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程; 接收模塊,用于接收服務(wù)器運(yùn)行第一進(jìn)程后返回的運(yùn)行結(jié)果。
9.如權(quán)利要求8所述的終端,其特征在干,所述接收模塊,還用于接收服務(wù)器重定向的對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù); 所述終端還包括調(diào)用模塊,用于根據(jù)接收到的參數(shù)調(diào)用對(duì)應(yīng)的外設(shè),并將外設(shè)調(diào)用結(jié)果返回給服務(wù)器。
10.一種服務(wù)器,其特征在干,所述服務(wù)器包括接收模塊,用于接收終端同步至的輸入?yún)?shù),所述輸入?yún)?shù)是終端在啟動(dòng)第一進(jìn)程吋, 檢測(cè)終端的負(fù)載、第一進(jìn)程運(yùn)行時(shí)需要的計(jì)算能力、服務(wù)器能夠提供的計(jì)算能力以及終端與服務(wù)器之間的傳輸帶寬中的ー個(gè)或多個(gè)信息,在檢測(cè)出的信息滿足設(shè)定條件時(shí)發(fā)送的; 運(yùn)行模塊,用于根據(jù)接收到的輸入?yún)?shù)運(yùn)行第一進(jìn)程; 返回模塊,用于向終端返回運(yùn)行結(jié)果。
11.如權(quán)利要求10所述的服務(wù)器,其特征在干,所述運(yùn)行模塊,具體用于將第一進(jìn)程在運(yùn)行過(guò)程中需要對(duì)終端外設(shè)進(jìn)行調(diào)用的參數(shù)重定向至終端,井根據(jù)終端返回的外設(shè)調(diào)用結(jié)果運(yùn)行所述第一進(jìn)程。
全文摘要
本發(fā)明公開(kāi)了一種運(yùn)行進(jìn)程的方法、系統(tǒng)及設(shè)備,主要內(nèi)容包括根據(jù)終端負(fù)載、服務(wù)器能力以及通信狀態(tài)來(lái)動(dòng)態(tài)遷移終端進(jìn)程,將本應(yīng)在終端側(cè)運(yùn)行的進(jìn)程遷移至在服務(wù)器側(cè)運(yùn)行,由于服務(wù)器的能力以及終端與服務(wù)器之間的網(wǎng)絡(luò)狀態(tài)都能夠支持進(jìn)程遷移,因此,通過(guò)本發(fā)明方案可以確保進(jìn)程遷移的正確運(yùn)行,有效地降低運(yùn)行進(jìn)程對(duì)手機(jī)造成的計(jì)算壓力。
文檔編號(hào)G06F9/48GK102546920SQ20111000050
公開(kāi)日2012年7月4日 申請(qǐng)日期2011年1月4日 優(yōu)先權(quán)日2011年1月4日
發(fā)明者章鋒 申請(qǐng)人:中國(guó)移動(dòng)通信有限公司