多應(yīng)用的處理方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種多應(yīng)用的處理方法和裝置,所述方法包括:在接收一運(yùn)行指令;根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。本發(fā)明的多應(yīng)用處理方法在應(yīng)用啟動(dòng)時(shí),只選擇其中一個(gè)服務(wù)模塊作為運(yùn)行模塊,并關(guān)閉掉其他服務(wù)模塊,使得各個(gè)應(yīng)用通過一個(gè)運(yùn)行的服務(wù)模塊與服務(wù)器進(jìn)行通信,從而降低設(shè)備電量消耗,降低服務(wù)器壓力,而且不會(huì)改變用戶的基本使用習(xí)慣。
【專利說明】多應(yīng)用的處理方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,特別是涉及一種多應(yīng)用的處理方法和裝置。
【背景技術(shù)】
[0002]隨著信息系統(tǒng)功能逐漸復(fù)雜,移動(dòng)設(shè)備上的業(yè)務(wù)越來越復(fù)雜?,F(xiàn)階段,出現(xiàn)了在單個(gè)最終用戶的設(shè)備中,會(huì)安裝來自同一供應(yīng)商的多個(gè)應(yīng)用的情況。且經(jīng)常性的,這些應(yīng)用會(huì)有一些定時(shí)的,多次的,與后臺(tái)服務(wù)與云之間進(jìn)行的少量數(shù)據(jù)交換,需要用到終端的Service (服務(wù))組件的功能或其他需要用到Service的功能。而且這些應(yīng)用的Service組件的功能是一樣的。
[0003]一般情況下,每個(gè)應(yīng)用程序都包含獨(dú)立的Service組件,并在運(yùn)行態(tài)獨(dú)立運(yùn)行與后臺(tái)通信。也會(huì)有使用數(shù)據(jù)共享的情況,比較常見的方案有如下幾種:
[0004]使用一個(gè)獨(dú)立的,需要額外安裝的Service應(yīng)用程序與后臺(tái)通信,其他應(yīng)用共享它的數(shù)據(jù)。
[0005]僅將與后臺(tái)的Service置入到最重要的應(yīng)用中,并與其他應(yīng)用共享。
[0006]這些方案都有比較明顯的缺點(diǎn):
[0007]使用多個(gè)應(yīng)用使用獨(dú)立的通訊服務(wù),一方面會(huì)導(dǎo)致移動(dòng)設(shè)備的電量消耗過大,另一方面,對(duì)服務(wù)器也會(huì)產(chǎn)生過高的壓力。
[0008]獨(dú)立的Service會(huì)造成部署上的困難,并且客戶也不容易理解為什么使用一個(gè)應(yīng)用的功能需要安裝兩個(gè)應(yīng)用程序。而僅包含在最重要的應(yīng)用中這個(gè)方案,會(huì)導(dǎo)致當(dāng)這個(gè)重要程序未使用時(shí),其他應(yīng)用會(huì)缺失功能的問題。
【發(fā)明內(nèi)容】
[0009]為了解決現(xiàn)有的終端中多應(yīng)用運(yùn)行時(shí)存在浪費(fèi)資源、效率較低的問題,本發(fā)明提供了一種多應(yīng)用的處理方法和裝置。
[0010]本發(fā)明的實(shí)施例提供一種多應(yīng)用的處理方法,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)與服務(wù)器進(jìn)行通信的服務(wù)模塊,包括:
[0011]接收一指令;
[0012]根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0013]利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0014]本發(fā)明的實(shí)施例還提供了第二種多應(yīng)用的處理方法,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)與服務(wù)器進(jìn)行通信的服務(wù)模塊,包括:
[0015]接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0016]各個(gè)應(yīng)用通過運(yùn)行的服務(wù)模塊與服務(wù)器之間進(jìn)行通信。
[0017]本發(fā)明的實(shí)施例提供一種多應(yīng)用的處理裝置,包括:
[0018]接收模塊,用于接收一指令;[0019]處理模塊,用于根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0020]執(zhí)行模塊,用于利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0021]本發(fā)明的實(shí)施例提供第二種多應(yīng)用的處理裝置,包括:
[0022]發(fā)送模塊,用于在接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0023]運(yùn)行模塊,用于利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0024]本發(fā)明的上述技術(shù)方案的有益效果如下:本發(fā)明的多應(yīng)用處理方法在應(yīng)用啟動(dòng)時(shí),只選擇其中一個(gè)服務(wù)模塊作為運(yùn)行模塊,并關(guān)閉掉其他服務(wù)模塊,使得各個(gè)應(yīng)用通過一個(gè)運(yùn)行的服務(wù)模塊與服務(wù)器進(jìn)行通信,從而降低設(shè)備電量消耗,降低服務(wù)器壓力,而且不會(huì)改變用戶的基本使用習(xí)慣。本發(fā)明通過服務(wù)模塊之間的協(xié)議自行選擇可同時(shí)為所有應(yīng)用提供數(shù)據(jù)同步服務(wù),具有如下優(yōu)點(diǎn):
[0025]1.降低了設(shè)備在CPU、網(wǎng)絡(luò)等方面上的開銷,降低了設(shè)備電量消耗;
[0026]2.避免了單一設(shè)備多個(gè)線程訪問同一服務(wù)的的情況,降低了服務(wù)器壓力;
[0027]3.且所有動(dòng)作都自動(dòng)進(jìn)行,不會(huì)改變用戶的基本使用習(xí)慣。
【專利附圖】
【附圖說明】
[0028]圖1為本發(fā)明第一種實(shí)施例的多應(yīng)用的處理方法的流程圖;
[0029]圖2為本發(fā)明第二種實(shí)施例的多應(yīng)用的處理方法的流程圖;
[0030]圖3為本發(fā)明第一種實(shí)施例的多應(yīng)用的處理裝置的結(jié)構(gòu)框圖;
[0031]圖4為本發(fā)明的處理裝置中的處理模塊的結(jié)構(gòu)框圖;
[0032]圖5為本發(fā)明第二種實(shí)施例的多應(yīng)用的處理裝置的結(jié)構(gòu)框圖;
[0033]圖6為本發(fā)明一種實(shí)施例的多應(yīng)用的示意圖;
[0034]圖7為本發(fā)明一種實(shí)施例的服務(wù)模塊的狀態(tài)遷移的示意圖;
[0035]圖8為本發(fā)明一種實(shí)施例的服務(wù)模塊在啟動(dòng)態(tài)收到展示消息的流程圖;
[0036]圖9為本發(fā)明一種實(shí)施例的服務(wù)模塊在工作態(tài)收到展示消息的流程圖;
[0037]圖10為本發(fā)明一種實(shí)施例的當(dāng)前服務(wù)模塊與高等級(jí)服務(wù)模塊通信的時(shí)序圖;
[0038]圖11為本發(fā)明一種實(shí)施例的當(dāng)前服務(wù)模塊與低等級(jí)服務(wù)模塊通信的時(shí)序圖。
【具體實(shí)施方式】
[0039]為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
[0040]需要說明的是,本發(fā)明的實(shí)施例優(yōu)選適用于移動(dòng)設(shè)備,例如,IOS操作系統(tǒng)(10S是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng))的移動(dòng)設(shè)備、安卓操作系統(tǒng)(Android系統(tǒng)是一種基于Linux的自由及開放源代碼的操作系統(tǒng))的移動(dòng)設(shè)備,Windows Phone操作系統(tǒng)(WindowsPhone是由微軟開發(fā)的手持設(shè)備操作系統(tǒng))的移動(dòng)設(shè)備,當(dāng)然也適用于個(gè)人計(jì)算機(jī)以及其他智能移動(dòng)設(shè)備,本發(fā)明對(duì)此不作限定。
[0041]如圖1所示,為本發(fā)明第一種實(shí)施例的多應(yīng)用的處理方法的流程圖,該方法基于多個(gè)應(yīng)用和與應(yīng)用一一對(duì)應(yīng)的服務(wù)模塊,服務(wù)模塊用于與服務(wù)器之間進(jìn)行通信,該方法包括如下步驟:
[0042]步驟SlOl:接收一指令;
[0043]步驟S102:根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0044]步驟S103:利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0045]本發(fā)明的多應(yīng)用處理方法在應(yīng)用啟動(dòng)時(shí),只選擇其中一個(gè)服務(wù)模塊作為運(yùn)行模塊,并關(guān)閉掉其他服務(wù)模塊,使得各個(gè)應(yīng)用通過一個(gè)運(yùn)行的服務(wù)模塊與服務(wù)器進(jìn)行通信,從而降低設(shè)備電量消耗,降低服務(wù)器壓力,而且不會(huì)改變用戶的基本使用習(xí)慣。
[0046]本實(shí)施例的多應(yīng)用可以是終端上各種應(yīng)用,例如QQ、游戲、天氣、飛信等,服務(wù)模塊用于實(shí)現(xiàn)應(yīng)用與服務(wù)器之間的通信,需要滿足選擇進(jìn)行運(yùn)行的服務(wù)模塊能夠?qū)崿F(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的數(shù)據(jù)交換。優(yōu)選地,各個(gè)服務(wù)模塊能夠?qū)崿F(xiàn)每一個(gè)應(yīng)用與服務(wù)器之間的數(shù)據(jù)交換,此時(shí),就可以選擇任何一個(gè)服務(wù)模塊作為共享的服務(wù)模塊。例如,多應(yīng)用為同一供應(yīng)商提供的應(yīng)用,各個(gè)應(yīng)用的服務(wù)模塊一般具有與服務(wù)器之間可替換的數(shù)據(jù)交換功能。
[0047]步驟SlOl中,接收的指令可以是一個(gè)消息或者發(fā)送一個(gè)報(bào)文,該指令可以是在應(yīng)用啟動(dòng)時(shí)發(fā)送,也可以是在應(yīng)用所在的終端啟動(dòng)時(shí)進(jìn)行發(fā)送。
[0048]步驟S102中,在接收到一指令時(shí),確定關(guān)閉和運(yùn)行的服務(wù)模塊,具體是根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊。由于各個(gè)服務(wù)模塊的等級(jí)不同,與服務(wù)器之間的通信速度不同,為此,選擇其中一個(gè)服務(wù)模塊作為共享服務(wù)模塊,既滿足應(yīng)用的運(yùn)行,又可以大大降低服務(wù)器壓力。
[0049]所述根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊的步驟,進(jìn)一步包括:
[0050]當(dāng)前服務(wù)模塊向其他服務(wù)模塊廣播當(dāng)前服務(wù)模塊的等級(jí)號(hào),并接收由其他服務(wù)模塊廣播的等級(jí)號(hào);
[0051]如果其他服務(wù)I旲塊中有等級(jí)聞?dòng)诋?dāng)如服務(wù)I旲塊,則關(guān)閉當(dāng)如服務(wù)I旲塊;
[0052]如果其他服務(wù)模塊的等級(jí)低于當(dāng)前服務(wù)模塊,則關(guān)閉其他服務(wù)模塊。
[0053]如圖2所示,為本發(fā)明第二種實(shí)施例的多應(yīng)用的處理方法的流程圖,該方法包括:
[0054]步驟S201:接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0055]步驟S202:各個(gè)應(yīng)用通過運(yùn)行的服務(wù)模塊與服務(wù)器之間進(jìn)行通信。
[0056]應(yīng)用在接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送運(yùn)行指令,使得服務(wù)模塊確定其中一個(gè)作為運(yùn)行服務(wù)模塊,而關(guān)閉其他的服務(wù)模塊。
[0057]如圖3所示,為本發(fā)明第一種實(shí)施例的多應(yīng)用的處理裝置的結(jié)構(gòu)框圖,該裝置包括:
[0058]接收模塊101,用于接收一運(yùn)行指令;
[0059]處理模塊102,用于根據(jù)所述運(yùn)行指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)豐吳塊;
[0060]執(zhí)行模塊103,用于利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0061]如圖4所示,為本發(fā)明的處理裝置中的處理模塊的結(jié)構(gòu)框圖,該處理模塊包括:
[0062]廣播模塊1021,用于向其他服務(wù)模塊廣播當(dāng)前服務(wù)模塊的等級(jí)號(hào),并接收由其他服務(wù)模塊廣播的等級(jí)號(hào);[0063]判斷模塊1022,用于在其他服務(wù)模塊中有等級(jí)高于當(dāng)前服務(wù)模塊時(shí),則關(guān)閉前服務(wù)模塊,以及用于在其他服務(wù)模塊的等級(jí)低于當(dāng)前服務(wù)模塊時(shí),則關(guān)閉其他服務(wù)模塊。
[0064]本實(shí)施例的處理模塊是根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊,通過在當(dāng)前服務(wù)模塊和其他服務(wù)模塊之間進(jìn)行等級(jí)號(hào)的廣播,并判斷相互之間的等級(jí),從而確定運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊。
[0065]如圖5所示,為本發(fā)明第二種實(shí)施例的多應(yīng)用的處理裝置的結(jié)構(gòu)框圖,該裝置包括:
[0066]發(fā)送模塊201,用于在接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0067]運(yùn)行模塊202,用于利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
[0068]本發(fā)明還提供了一種多應(yīng)用的處理系統(tǒng),包括:
[0069]應(yīng)用;
[0070]服務(wù)器;
[0071]服務(wù)模塊,與應(yīng)用 對(duì)應(yīng),用于在應(yīng)用啟動(dòng)時(shí),運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;
[0072]所述應(yīng)用通過運(yùn)行的服務(wù)模塊實(shí)現(xiàn)與服務(wù)器之間的通信。
[0073]本實(shí)施例的處理系統(tǒng)可以是IOS操作系統(tǒng)、安卓操作系統(tǒng),Windows Phone操作系統(tǒng),在應(yīng)用啟動(dòng)時(shí),只選擇其中一個(gè)服務(wù)模塊作為運(yùn)行模塊,并關(guān)閉掉其他服務(wù)模塊,使得各個(gè)應(yīng)用通過一個(gè)運(yùn)行的服務(wù)模塊與服務(wù)器進(jìn)行通信,從而降低設(shè)備電量消耗,降低服務(wù)器壓力,而且不會(huì)改變用戶的基本使用習(xí)慣。
[0074]以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明:
[0075]本發(fā)明的多應(yīng)用處理方法適用于多個(gè)應(yīng)用程序,每個(gè)應(yīng)用對(duì)應(yīng)一與服務(wù)器進(jìn)行通信的服務(wù)模塊。本實(shí)施例的各個(gè)服務(wù)模塊具有與服務(wù)器之間進(jìn)行數(shù)據(jù)交換的功能相同,即滿足數(shù)據(jù)交換協(xié)議一致,使得各個(gè)服務(wù)模塊有可替換性。例如是同一開發(fā)商提供的應(yīng)用,還可以類推到不屬于同一供應(yīng)商的應(yīng)用。但需要這些應(yīng)用在后臺(tái)服務(wù)與服務(wù)器的數(shù)據(jù)交換功能具有可替換性。
[0076]如圖6所示,為本發(fā)明一種實(shí)施例的多應(yīng)用的示意圖,本實(shí)施例包括三個(gè)應(yīng)用,分別是應(yīng)用A、應(yīng)用B、應(yīng)用C,三個(gè)應(yīng)用分別對(duì)應(yīng)一 Service (服務(wù))模塊,且Service模塊與服務(wù)器之間進(jìn)行數(shù)據(jù)交換的功能相同。本實(shí)施例的三個(gè)服務(wù)模塊與服務(wù)器之間進(jìn)行數(shù)據(jù)交換的功能具有替換性,進(jìn)行數(shù)據(jù)交換的功能相互兼容。本實(shí)施例的應(yīng)用A、應(yīng)用B、應(yīng)用C屬于同一服務(wù)商提供的應(yīng)用,對(duì)應(yīng)的服務(wù)模塊A、服務(wù)模塊B、服務(wù)模塊C具有相同的功能,其中,服務(wù)模塊A和服務(wù)模塊B的版本號(hào)為Servicel.0,服務(wù)模塊C的版本號(hào)為Servicel.1,三者的版本號(hào)不同,但是可以相互兼容。
[0077]對(duì)Service模塊的說明:
[0078]本發(fā)明中的Service模塊實(shí)現(xiàn)相互之間的通信以及與服務(wù)器之間的通信,選擇其中一個(gè)服務(wù)模塊作為共享的運(yùn)行服務(wù)模塊,關(guān)閉掉其他的服務(wù)模塊。
[0079]如圖7所示,為本發(fā)明一種實(shí)施例的服務(wù)模塊的狀態(tài)遷移的示意圖,Service模塊有如下三種運(yùn)行狀態(tài),并互相切換:
[0080]啟動(dòng)態(tài):當(dāng)監(jiān)聽到設(shè)備啟動(dòng)完成的消息之后,或應(yīng)用程序運(yùn)行時(shí),會(huì)啟動(dòng)Service模塊。從這個(gè)Service模塊開始啟動(dòng)到最后開始正式工作的這段時(shí)間(本實(shí)施例以預(yù)設(shè)的15秒作為判定依據(jù),當(dāng)然也可以采用其他的預(yù)設(shè)時(shí)間),處于啟動(dòng)態(tài)。
[0081]消亡態(tài):當(dāng)一個(gè)Service模塊從開始委托其他應(yīng)用幫助完成自己的功能,到關(guān)閉自身,這段時(shí)間,處于消亡態(tài)。
[0082]工作態(tài):當(dāng)一個(gè)Service模塊開始工作,到開始關(guān)閉自己,處于工作態(tài)。
[0083]各個(gè)服務(wù)模塊會(huì)在這幾種狀態(tài)之間切換,切換的狀態(tài)有:
[0084]1.啟動(dòng)態(tài)切換到消亡態(tài);
[0085]2.啟動(dòng)態(tài)切換到工作態(tài);
[0086]3.工作態(tài)切換到消亡態(tài);
[0087]動(dòng)態(tài)的功能流程:在啟動(dòng)態(tài),所有Service模塊之間將互相通訊,并選擇出最適合為所有應(yīng)用服務(wù)的那一個(gè)服務(wù)模塊,實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的數(shù)據(jù)交換,并關(guān)閉其他的Service模塊。
[0088]當(dāng)一個(gè)應(yīng)用對(duì)應(yīng)的Service模塊在啟動(dòng)態(tài)時(shí),會(huì)使用廣播的方式與其他正在運(yùn)行的具有相同數(shù)據(jù)交換功能的Service模塊進(jìn)行通訊。并依據(jù)規(guī)則競(jìng)爭(zhēng),最終選擇出唯一的一個(gè)最適合服務(wù)所有應(yīng)用的服務(wù)留存運(yùn)行,并為所有應(yīng)用服務(wù)。而其他應(yīng)用的Service模塊將會(huì)切換到消亡態(tài),最后將自己關(guān)閉。
[0089]這個(gè)通訊過程中將會(huì)使用如下幾種消息。
[0090]展不消息:ShowIntent
[0091]服務(wù)模塊啟動(dòng)時(shí)會(huì)廣播此消息,告知本服務(wù)所在應(yīng)用的APPID(或其他可區(qū)分應(yīng)用的字符串),服務(wù)模塊的版本號(hào)。
[0092]委托消息:EntrustIntent
[0093]服務(wù)模塊認(rèn)為自己可以關(guān)閉時(shí),將任務(wù)交代給其他服務(wù)模塊時(shí)廣播此消息。
[0094]確認(rèn)消息:ConfirmIntent
[0095]服務(wù)模塊收到來自其他服務(wù)模塊的委托,回復(fù)的確認(rèn)消息。
[0096]關(guān)閉消息:CloseIntent
[0097]服務(wù)模塊收到其他服務(wù)模塊的展示,認(rèn)為自身可以完成它的功能時(shí),通知對(duì)方關(guān)閉的消息。
[0098]如圖8所示,為本發(fā)明一種實(shí)施例的服務(wù)模塊在啟動(dòng)態(tài)收到展示消息的流程圖,具體如下:
[0099]進(jìn)入啟動(dòng)態(tài):向系統(tǒng)注冊(cè)通訊消息接受類,發(fā)送展示消息。
[0100]收到展示消息:對(duì)比自身與發(fā)送展示消息的服務(wù)模塊的版本號(hào)與APPID。
[0101]對(duì)方版本號(hào)較高:當(dāng)前服務(wù)模塊轉(zhuǎn)入消亡態(tài);
[0102]對(duì)方版本號(hào)較低:回復(fù)關(guān)閉消息,使得發(fā)送展示消息的服務(wù)模塊關(guān)閉;
[0103]雙方版本號(hào)相同:比較應(yīng)用的APPID,并依照大小轉(zhuǎn)入消亡態(tài)或回復(fù)關(guān)閉消息。
[0104]啟動(dòng)態(tài)下在預(yù)設(shè)的時(shí)間(例如15秒之內(nèi))未轉(zhuǎn)入消亡態(tài),便自動(dòng)進(jìn)入工作態(tài)。
[0105]收到委托消息:記錄委托內(nèi)容備用,同時(shí)發(fā)送確認(rèn)消息;
[0106]收到確認(rèn)消息:將自己關(guān)閉。
[0107]收到關(guān)閉消息:轉(zhuǎn)入消亡態(tài)。
[0108]如圖9所示,為本發(fā)明一種實(shí)施例的服務(wù)模塊在工作態(tài)收到展示消息的流程圖,當(dāng)前服務(wù)模塊收到展示消息:對(duì)比自身與發(fā)送展示消息的服務(wù)的版本號(hào)與APPID。
[0109]對(duì)方版本號(hào)較高:轉(zhuǎn)入消亡態(tài);
[0110]對(duì)方版本號(hào)較低:回復(fù)關(guān)閉消息;
[0111]雙方版本號(hào)相同:比較APPID,并依照大小轉(zhuǎn)入消亡態(tài)或回復(fù)關(guān)閉消息。
[0112]收到委托消息:記錄委托內(nèi)容并開始為其服務(wù),同時(shí)發(fā)送確認(rèn)消息;
[0113]收到確認(rèn)消息:忽略;
[0114]收到關(guān)閉消息:停止工作,并轉(zhuǎn)入消亡態(tài)。
[0115]進(jìn)入消亡態(tài):廣播委托信息并等待回應(yīng)。發(fā)送委托消息時(shí)需要發(fā)送所有其他應(yīng)用委托過來備用的消息。Service轉(zhuǎn)入消亡態(tài)時(shí),所有未處理的消息都將被忽略。
[0116]收到展示消息:忽略;
[0117]收到委托消息:忽略;
[0118]收到確認(rèn)消息:將自己關(guān)閉;
[0119]收到關(guān)閉消息:忽略;
[0120]長(zhǎng)時(shí)間15秒未收到確認(rèn)消息時(shí),將會(huì)轉(zhuǎn)回啟動(dòng)態(tài)并重新發(fā)送展示消息。
[0121]如圖10所示,為本發(fā)明一種實(shí)施例的當(dāng)前服務(wù)模塊與高等級(jí)服務(wù)模塊通信的時(shí)序圖,ServiceA表示當(dāng)前服務(wù)模塊,具有較低等級(jí),ServiceB表示另一服務(wù)模塊,具有較高等級(jí),兩者進(jìn)行通信的過程如下:
[0122]1.ServiceA在啟動(dòng)之后以廣播的形式發(fā)送展示消息。
[0123]2.ServiceB處理之后發(fā)送關(guān)閉消息給ServiceA。
[0124]3.ServiceA收到關(guān)閉消息之后,發(fā)送委托消息給ServiceB,并在收到確認(rèn)消息之后將自己關(guān)閉。
[0125]如圖11所示,為本發(fā)明一種實(shí)施例的當(dāng)前服務(wù)模塊與低等級(jí)服務(wù)模塊通信的時(shí)序圖,ServiceC表示當(dāng)前服務(wù)模塊,具有較高等級(jí),ServiceD表示另一服務(wù)模塊,具有較低等級(jí),兩者進(jìn)行通信的過程如下:
[0126]1.ServiceC在啟動(dòng)之后廣播展示消息。
[0127]2.ServiceD在收到廣播之后將自己轉(zhuǎn)換到消亡態(tài),并向ServiceC發(fā)送委托消息。
[0128]3.ServiceC處理委托消息,并回復(fù)確認(rèn)。
[0129]4.ServiceD將自己收到確認(rèn)之后將自己關(guān)閉。
[0130]在實(shí)際運(yùn)行過程中,在工作態(tài)的服務(wù)會(huì)為人為的原因被關(guān)閉(如被強(qiáng)行關(guān)閉,被卸載等XService可以在被強(qiáng)行關(guān)閉時(shí)送廣播,喚起所有其他同族應(yīng)用的服務(wù),并重新按照競(jìng)爭(zhēng)規(guī)則產(chǎn)生一個(gè)處于工作態(tài)的服務(wù)。由于這個(gè)動(dòng)作不一定符合最終用戶的期望,所以這個(gè)可以根據(jù)具體的安全策略進(jìn)行調(diào)整。
[0131]應(yīng)用上述技術(shù)方案,通過應(yīng)用啟動(dòng)時(shí),只選擇其中一個(gè)服務(wù)模塊作為運(yùn)行模塊,并關(guān)閉掉其他服務(wù)模塊,使得各個(gè)應(yīng)用通過一個(gè)運(yùn)行的服務(wù)模塊與服務(wù)器進(jìn)行通信,從而降低設(shè)備電量消耗,降低服務(wù)器壓力,而且不會(huì)改變用戶的基本使用習(xí)慣。
[0132]此說明書中所描述的許多功能部件都被稱為模塊,以便更加特別地強(qiáng)調(diào)其實(shí)現(xiàn)方式的獨(dú)立性。
[0133]本發(fā)明實(shí)施例中,模塊可以用軟件實(shí)現(xiàn),以便由各種類型的處理器執(zhí)行。舉例來說,一個(gè)標(biāo)識(shí)的可執(zhí)行代碼模塊可以包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或者邏輯塊,舉例來說,其可以被構(gòu)建為對(duì)象、過程或函數(shù)。盡管如此,所標(biāo)識(shí)模塊的可執(zhí)行代碼無需物理地位于一起,而是可以包括存儲(chǔ)在不同物理上的不同的指令,當(dāng)這些指令邏輯上結(jié)合在一起時(shí),其構(gòu)成模塊并且實(shí)現(xiàn)該模塊的規(guī)定目的。
[0134]實(shí)際上,可執(zhí)行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個(gè)不同的代碼段上,分布在不同程序當(dāng)中,以及跨越多個(gè)存儲(chǔ)器設(shè)備分布。同樣地,操作數(shù)據(jù)可以在模塊內(nèi)被識(shí)別,并且可以依照任何適當(dāng)?shù)男问綄?shí)現(xiàn)并且被組織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)。所述操作數(shù)據(jù)可以作為單個(gè)數(shù)據(jù)集被收集,或者可以分布在不同位置上(包括在不同存儲(chǔ)設(shè)備上),并且至少部分地可以僅作為電子信號(hào)存在于系統(tǒng)或網(wǎng)絡(luò)上。
[0135]在模塊可以利用軟件實(shí)現(xiàn)時(shí),考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實(shí)現(xiàn)的模塊,在不考慮成本的情況下,本領(lǐng)域技術(shù)人員都可以搭建對(duì)應(yīng)的硬件電路來實(shí)現(xiàn)對(duì)應(yīng)的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導(dǎo)體或者是其它分立的元件。模塊還可以用可編程硬件設(shè)備,諸如現(xiàn)場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等實(shí)現(xiàn)。
[0136]在本發(fā)明各方法實(shí)施例中,所述各步驟的序號(hào)并不能用于限定各步驟的先后順序,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,對(duì)各步驟的先后變化也在本發(fā)明的保護(hù)范圍之內(nèi)。
[0137]以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種多應(yīng)用的處理方法,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)與服務(wù)器進(jìn)行通信的服務(wù)模塊,其特征在于,包括: 接收一指令; 根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊; 利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
2.根據(jù)權(quán)利要求1所述的多應(yīng)用的處理方法,其特征在于,選擇運(yùn)行的服務(wù)模塊能夠?qū)崿F(xiàn)各個(gè)應(yīng)用與服務(wù)器之間進(jìn)行數(shù)據(jù)交換。
3.根據(jù)權(quán)利要求2所述的多應(yīng)用的處理方法,其特征在于,所述根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊的步驟,進(jìn)一步包括:根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊。
4.根據(jù)權(quán)利要求3所述的多應(yīng)用的處理方法,其特征在于,所述根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊的步驟,進(jìn)一步包括: 當(dāng)前服務(wù)模塊向其他服務(wù)模塊廣播當(dāng)前服務(wù)模塊的等級(jí)號(hào),并接收由其他服務(wù)模塊廣播的等級(jí)號(hào); 如果其他服務(wù)模塊中有等級(jí)高于當(dāng)前服務(wù)模塊的等級(jí)時(shí),則關(guān)閉當(dāng)前服務(wù)模塊; 如果其他服務(wù)模塊的等級(jí)低于當(dāng)前服務(wù)模塊的等級(jí)時(shí),則關(guān)閉其他服務(wù)模塊。
5.一種多應(yīng)用的處理方法,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)與服務(wù)器進(jìn)行通信的服務(wù)模塊,其特征在于,包括: 接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊; 各個(gè)應(yīng)用通過運(yùn)行的服務(wù)模塊與服務(wù)器之間進(jìn)行通信。
6.根據(jù)權(quán)利要求5所述的多應(yīng)用的處理方法,其特征在于,所述接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊的步驟,進(jìn)一步包括:根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊。
7.一種多應(yīng)用的處理裝置,每個(gè)應(yīng)用對(duì)應(yīng)一個(gè)與服務(wù)器進(jìn)行通信的服務(wù)模塊,其特征在于,包括: 接收模塊,用于接收一指令; 處理模塊,用于根據(jù)所述指令選擇運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊; 執(zhí)行模塊,用于利用運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
8.根據(jù)權(quán)利要求7所述的多應(yīng)用的處理裝置,其特征在于,所述處理模塊進(jìn)一步包括:用于根據(jù)服務(wù)模塊的等級(jí)確定需要運(yùn)行的服務(wù)模塊和關(guān)閉的服務(wù)模塊。
9.根據(jù)權(quán)利要求8所述的多應(yīng)用的處理裝置,其特征在于,所述處理模塊進(jìn)一步包括: 廣播模塊,用于向其他服務(wù)模塊廣播當(dāng)前服務(wù)模塊的等級(jí)號(hào),并接收由其他服務(wù)模塊廣播的等級(jí)號(hào); 判斷模塊,用于在其他服務(wù)模塊中有等級(jí)高于當(dāng)前服務(wù)模塊,則關(guān)閉前服務(wù)模塊,以及用于在其他服務(wù)模塊的等級(jí)低于當(dāng)前服務(wù)模塊,則關(guān)閉其他服務(wù)模塊。
10. 一種多應(yīng)用的處理裝置,其特征在于,包括: 發(fā)送模塊,用于在接收到啟動(dòng)指令時(shí),向服務(wù)模塊發(fā)送一運(yùn)行指令,使得運(yùn)行其中一個(gè)服務(wù)模塊,并關(guān)閉其他服務(wù)模塊;運(yùn)行模塊,用于利用 運(yùn)行的服務(wù)模塊實(shí)現(xiàn)各個(gè)應(yīng)用與服務(wù)器之間的通信。
【文檔編號(hào)】H04L29/08GK103634404SQ201310654661
【公開日】2014年3月12日 申請(qǐng)日期:2013年12月5日 優(yōu)先權(quán)日:2013年12月5日
【發(fā)明者】徐波 申請(qǐng)人:用友軟件股份有限公司