本申請(qǐng)涉及通信技術(shù)領(lǐng)域,尤其涉及一種服務(wù)組件管理方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)通信技術(shù)的飛速發(fā)展和移動(dòng)多媒體時(shí)代的到來,手機(jī)作為人們必備的移動(dòng)通信工具,已從簡(jiǎn)單的通話工具向智能化發(fā)展,演變成一個(gè)移動(dòng)的個(gè)人信息收集和處理平臺(tái)。借助操作系統(tǒng)和豐富的應(yīng)用軟件,智能手機(jī)成了一臺(tái)移動(dòng)終端。
目前,主流的智能手機(jī)操作系統(tǒng)包括googleandroid和蘋果的ios等。其中,android操作系統(tǒng)中,使用以activity為單位的應(yīng)用來實(shí)現(xiàn)一個(gè)特有的服務(wù)場(chǎng)景,僅支持有限制地訪問其他應(yīng)用的activity。無論是android還是ios,用戶想要完成一項(xiàng)業(yè)務(wù),往往需要在多種不同的應(yīng)用之間多次跳轉(zhuǎn),而在不同應(yīng)用之間進(jìn)行跳轉(zhuǎn)時(shí),數(shù)據(jù)流轉(zhuǎn)也有不少限制。以如下場(chǎng)景為例,用戶出門旅游,需要研究旅游攻略,制定日程,預(yù)訂機(jī)票、酒店,進(jìn)行支付,關(guān)注目的地天氣信息等。在android或ios操作系統(tǒng)中,基于上述場(chǎng)景,用戶需要使用瀏覽器搜索旅游攻略,使用旅行服務(wù)應(yīng)用程序來預(yù)定機(jī)票和酒店,使用支付應(yīng)用程序進(jìn)行支付,使用天氣應(yīng)用程序來關(guān)注天氣。這需要在多種應(yīng)用程序之間進(jìn)行跳轉(zhuǎn)切換,并且因無法將已制定的數(shù)據(jù)傳遞到其他應(yīng)用程序,用戶需要多次重復(fù)操作,比如進(jìn)行目的地、日期等的選擇和搜索。
如何實(shí)現(xiàn)不同服務(wù)之間的跳轉(zhuǎn),以滿足靈活方便的業(yè)務(wù)需求,是目前亟需解決的問題。
申請(qǐng)內(nèi)容
本申請(qǐng)實(shí)施例提供了一種服務(wù)組件管理方法及系統(tǒng)。
本申請(qǐng)實(shí)施例提供的服務(wù)組件管理方法,包括:
接收第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體;
向所述第二服務(wù)組件發(fā)送所述信息實(shí)體。
進(jìn)一步地,向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之前,還包括:創(chuàng)建第二服務(wù)組件的實(shí)例。
其中,創(chuàng)建第二服務(wù)組件的實(shí)例,包括:
獲取所述第二服務(wù)組件對(duì)應(yīng)的可執(zhí)行程序代碼;
運(yùn)行所述可執(zhí)行程序代碼,并為所述可執(zhí)行程序代碼分配運(yùn)行環(huán)境。
進(jìn)一步地,向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之后,還包括:
接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果;
將所述第二服務(wù)組件返回的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri,所述目標(biāo)服務(wù)組件的uri對(duì)應(yīng)一個(gè)第二服務(wù)組件,或者對(duì)應(yīng)多個(gè)第二服務(wù)組件。
其中,所述目標(biāo)服務(wù)組件的uri中還附帶有參數(shù)。
其中,所述參數(shù)根據(jù)所述第一服務(wù)組件接收到的事件確定。
其中,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述參數(shù)用于指示所述第二服務(wù)組件的設(shè)定入口。
優(yōu)選地,所述信息實(shí)體中還包括以下內(nèi)容之一或任意組合:數(shù)據(jù),事件。
進(jìn)一步地,還包括:所述第二服務(wù)組件處理所述信息實(shí)體。
其中,若所述信息實(shí)體中包括數(shù)據(jù)和事件,則處理所述信息實(shí)體包括:根據(jù)所述信息實(shí)體中包括的數(shù)據(jù),執(zhí)行所述信息實(shí)體中包括的的事件所對(duì)應(yīng)的操作。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri和事件時(shí),所述目標(biāo)服務(wù)組件的uri包括用于表征廣播事件的信息;
向所述第二服務(wù)組件發(fā)送所述信息實(shí)體,包括:
根據(jù)所述信息實(shí)體中目標(biāo)服務(wù)組件的uri中所包括的用于表征廣播事件的信息,確定注冊(cè)監(jiān)聽所述事件的至少一個(gè)第二服務(wù)組件;
向注冊(cè)監(jiān)聽所述事件的第二服務(wù)組件發(fā)送所述信息實(shí)體。
優(yōu)選地,所述信息實(shí)體中還包括指示信息,所述指示信息被所述第二服務(wù)組件用來確定所進(jìn)行的處理操作。
其中,所述指示信息中包括第一指示信息;所述第一指示信息用于指示所述第一服務(wù)組件和所述第二服務(wù)組件是否在同一服務(wù)組件組內(nèi)。
其中,所述服務(wù)組件組中包括至少2個(gè)服務(wù)組件,所述服務(wù)組件組根據(jù)業(yè)務(wù)場(chǎng)景設(shè)置。
優(yōu)選地,所述指示信息中包括第二指示信息;所述第二指示信息用于指示所述目標(biāo)服務(wù)組件是否需要進(jìn)入指定的狀態(tài),或者指示所述目標(biāo)服務(wù)組件與用戶界面的交互方式。
其中,所述指定的狀態(tài),包括以下狀態(tài)中的一種:
隱藏狀態(tài),該狀態(tài)下的服務(wù)組件在后臺(tái)運(yùn)行,對(duì)用戶不可見;
可見地非交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,但不響應(yīng)用戶輸入;
可見地交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,并且響應(yīng)用戶輸入。
其中,所述交互方式,包括以下方式中的一種:
可見地交互方式;
可見地非交互方式。
優(yōu)選地,所述信息實(shí)體中還包括:
所述第一服務(wù)組件的uri;和/或
所述第二服務(wù)組件的組件標(biāo)識(shí)id,所述組件標(biāo)識(shí)id用于在所述第二服務(wù)組件存在多個(gè)實(shí)例時(shí),指示所述多個(gè)實(shí)例中與所述id對(duì)應(yīng)的實(shí)例。
優(yōu)選地,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
其中,向所述第二服務(wù)組件發(fā)送所述信息實(shí)體,包括:
確定所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件;
若為遠(yuǎn)程服務(wù)組件,則向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體。
進(jìn)一步地,向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體之后,還包括:
接收所述服務(wù)器發(fā)送的對(duì)所述信息實(shí)體的處理結(jié)果;
將所述服務(wù)器發(fā)送的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
本申請(qǐng)實(shí)施例提供的服務(wù)組件交互方法,包括:
第一服務(wù)組件根據(jù)接收到的信息生成指向第二服務(wù)組件的信息實(shí)體,所述接收到的信息包括事件和/或數(shù)據(jù);
所述第一服務(wù)組件發(fā)送所述信息實(shí)體。
優(yōu)選地,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;或
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述第一服務(wù)組件根據(jù)接收到的信息生成指向第二服務(wù)組件的信息實(shí)體,包括:
所述第一服務(wù)組件根據(jù)接收到的事件,確定所述事件被配置的目標(biāo)服務(wù)組件;
所述第一服務(wù)組件將所述目標(biāo)服務(wù)組件的統(tǒng)一資源標(biāo)識(shí)符uri,寫入所述信息實(shí)體的相應(yīng)字段。
進(jìn)一步地,所述第一服務(wù)組件根據(jù)接收到的信息生成所述信息實(shí)體,還包括以下至少一項(xiàng):
所述第一服務(wù)組件將接收到的事件和/或數(shù)據(jù),寫入所述信息實(shí)體的相應(yīng)字 段。
優(yōu)選地,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
進(jìn)一步地,還包括:接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果。
進(jìn)一步地,還包括:
接收第三服務(wù)組件發(fā)送的指向所述第一服務(wù)組件的信息實(shí)體;
處理所述第二接收單元接收到的信息實(shí)體。
其中,處理所述第二接收單元接收到的信息實(shí)體,包括:
若接收到的信息實(shí)體中包括數(shù)據(jù)和事件,則根據(jù)所述信息實(shí)體中包括的數(shù)據(jù),執(zhí)行所述信息實(shí)體中包括的的事件所對(duì)應(yīng)的操作。
本申請(qǐng)實(shí)施例提供的服務(wù)組件管理裝置,包括:
第一接收單元,用于接收第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體;
第一發(fā)送單元,用于向所述第二服務(wù)組件發(fā)送所述信息實(shí)體。
優(yōu)選地,還包括:創(chuàng)建單元,用于在向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之前,創(chuàng)建第二服務(wù)組件的實(shí)例。
其中,所述創(chuàng)建單元,具體用于:
獲取所述第二服務(wù)組件對(duì)應(yīng)的可執(zhí)行程序代碼;
運(yùn)行所述可執(zhí)行程序代碼,并為所述可執(zhí)行程序代碼分配運(yùn)行環(huán)境。
優(yōu)選地,還包括:
第二接收單元,用于向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之后,接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果;
第二發(fā)送單元,用于將所述第二服務(wù)組件返回的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的統(tǒng)一資源標(biāo)識(shí)符uri,所述目標(biāo)服務(wù)組件的uri對(duì)應(yīng)一個(gè)第二服務(wù)組件,或者對(duì)應(yīng)多個(gè)第二服務(wù)組 件。
其中,所述目標(biāo)服務(wù)組件的uri中還附帶有參數(shù)。
其中,所述參數(shù)根據(jù)所述第一服務(wù)組件接收到的事件確定。
其中,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述參數(shù)用于指示所述第二服務(wù)組件的設(shè)定入口。
優(yōu)選地,所述信息實(shí)體中還包括以下內(nèi)容之一或任意組合:數(shù)據(jù),事件。
進(jìn)一步地,還包括:所述第二服務(wù)組件處理所述信息實(shí)體。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri和事件時(shí),所述目標(biāo)服務(wù)組件的uri包括用于表征廣播事件的信息;
所述第一發(fā)送單元具體用于:
根據(jù)所述信息實(shí)體中目標(biāo)服務(wù)組件的uri中所包括的用于表征廣播事件的信息,確定注冊(cè)監(jiān)聽所述事件的至少一個(gè)第二服務(wù)組件;
向注冊(cè)監(jiān)聽所述事件的第二服務(wù)組件發(fā)送所述信息實(shí)體。
優(yōu)選地,所述信息實(shí)體中還包括指示信息,所述指示信息被所述第二服務(wù)組件用來確定所進(jìn)行的處理操作。
其中,所述指示信息中包括第一指示信息;
所述第一指示信息用于指示所述第一服務(wù)組件和所述第二服務(wù)組件是否在同一服務(wù)組件組內(nèi)。
其中,所述服務(wù)組件組中包括至少2個(gè)服務(wù)組件,所述服務(wù)組件組根據(jù)業(yè)務(wù)場(chǎng)景設(shè)置。
優(yōu)選地,所述指示信息中包括第二指示信息;
所述第二指示信息用于指示所述目標(biāo)服務(wù)組件是否需要進(jìn)入指定的狀態(tài),或者指示所述目標(biāo)服務(wù)組件與用戶界面的交互方式。
其中,所述指定的狀態(tài),包括以下狀態(tài)中的一種:
隱藏狀態(tài),該狀態(tài)下的服務(wù)組件在后臺(tái)運(yùn)行,對(duì)用戶不可見;
可見地非交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,但不響應(yīng)用戶輸入;
可見地交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,并且響應(yīng)用戶輸入。
優(yōu)選地,所述交互方式,包括以下方式中的一種:
可見地交互方式;
可見地非交互方式。
進(jìn)一步地,所述信息實(shí)體中還包括:
所述第一服務(wù)組件的uri;和/或
所述第二服務(wù)組件的組件標(biāo)識(shí)id,所述組件標(biāo)識(shí)id用于在所述第二服務(wù)組件存在多個(gè)實(shí)例時(shí),指示所述多個(gè)實(shí)例中與所述id對(duì)應(yīng)的實(shí)例。
優(yōu)選地,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
其中,所述第一發(fā)送單元具體用于:
確定所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件;
若為遠(yuǎn)程服務(wù)組件,則向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體。
進(jìn)一步地,所述第二接收單元還用于:在向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體之后,接收所述服務(wù)器發(fā)送的對(duì)所述信息實(shí)體的處理結(jié)果;所述第二發(fā)送單元還用于:將所述服務(wù)器發(fā)送的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
本申請(qǐng)實(shí)施例提供的服務(wù)組件,所述服務(wù)組件為第一服務(wù)組件,該服務(wù)組件包括:
生成單元,用于根據(jù)接收到的信息生成指向第二服務(wù)組件的信息實(shí)體,所述接收到的信息包括事件和/或數(shù)據(jù);
發(fā)送單元,用于發(fā)送所述信息實(shí)體。
優(yōu)選地,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;或
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述生成單元具體用于:
根據(jù)接收到的事件,確定所述事件被配置的目標(biāo)服務(wù)組件;
將所述目標(biāo)服務(wù)組件的統(tǒng)一資源標(biāo)識(shí)符uri,寫入所述信息實(shí)體的相應(yīng)字段。
進(jìn)一步地,所述生成單元還用于:
在根據(jù)接收到的信息生成所述信息實(shí)體時(shí),還包括以下至少一項(xiàng):
將接收到的事件和/或數(shù)據(jù),寫入所述信息實(shí)體的相應(yīng)字段。
優(yōu)選地,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
進(jìn)一步地,還包括:第一接收單元,用于接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果。
進(jìn)一步地,還包括:
第二接收單元,用于接收第三服務(wù)組件發(fā)送的指向所述第一服務(wù)組件的信息實(shí)體;
處理單元,用于處理所述第二接收單元接收到的信息實(shí)體。
其中,所述處理單元具體用于:若所述接收單元接收到的信息實(shí)體中包括數(shù)據(jù)和事件,則根據(jù)所述信息實(shí)體中包括的數(shù)據(jù),執(zhí)行所述信息實(shí)體中包括的的事件所對(duì)應(yīng)的操作。
本申請(qǐng)實(shí)施例提供的終端裝置,包括:
存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序指令;
處理器,耦合到所述存儲(chǔ)器,用于讀取所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序指令,并作為響應(yīng),執(zhí)行如下操作:
接收第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體;
向所述第二服務(wù)組件發(fā)送所述信息實(shí)體。
本申請(qǐng)的上述實(shí)施例中,接收到第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體后,向第二服務(wù)組件發(fā)送該信息實(shí)體,實(shí)現(xiàn)了服務(wù)組件之間基于信息實(shí)體進(jìn)行交互,從而實(shí)現(xiàn)了服務(wù)組件之間的關(guān)聯(lián)。操作系統(tǒng)中的服務(wù)組件可以執(zhí)行指定功能或提供指定服務(wù),該功能或服務(wù)可以是系統(tǒng)的功能或服務(wù),也可以是應(yīng)用程序可提供的功能或服務(wù),多個(gè)服務(wù)組件間傳遞的信息實(shí)體可以實(shí)現(xiàn)在多個(gè)服務(wù)組件間進(jìn)行交互,進(jìn)而實(shí)現(xiàn)特定場(chǎng)景下的業(yè)務(wù)。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例中page間相互關(guān)系的示意圖;
圖2為本申請(qǐng)實(shí)施例中的page狀態(tài)轉(zhuǎn)換示意圖之一;
圖3為本申請(qǐng)實(shí)施例中的page狀態(tài)轉(zhuǎn)換示意圖之二;
圖4為本申請(qǐng)實(shí)施例提供的服務(wù)組件管理系統(tǒng)的架構(gòu)示意圖;
圖5為本申請(qǐng)實(shí)施例提供的服務(wù)組件管理流程示意圖之一;
圖6為本申請(qǐng)實(shí)施例提供的服務(wù)組件管理流程示意圖之二;
圖7為本申請(qǐng)實(shí)施例提供的特定業(yè)務(wù)場(chǎng)景下的page間的關(guān)聯(lián)關(guān)系示意圖;
圖8為本申請(qǐng)實(shí)施例提供的服務(wù)組件管理裝置的結(jié)構(gòu)示意圖;
圖9為本申請(qǐng)實(shí)施例提供的服務(wù)組件的結(jié)構(gòu)示意圖;
圖10為本申請(qǐng)實(shí)施例提供的終端裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本申請(qǐng)作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部份實(shí)施例, 而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
下面結(jié)合附圖對(duì)本申請(qǐng)實(shí)施例進(jìn)行詳細(xì)描述。
本申請(qǐng)實(shí)施例提供了一種服務(wù)組件管理方案,用于實(shí)現(xiàn)不同服務(wù)組件的交互和關(guān)聯(lián),進(jìn)而可為實(shí)現(xiàn)不同服務(wù)組件之間的跳轉(zhuǎn)。本申請(qǐng)實(shí)施例可應(yīng)用于各種操作系統(tǒng),比如云os,尤其適用于yunos。以下實(shí)施例均以yunos為例,描述基于yunos的服務(wù)組件管理方案。
下面首先對(duì)yunos中與本申請(qǐng)實(shí)施例相關(guān)的架構(gòu)以及組成部分進(jìn)行說明。
(1)page
page稱為服務(wù)組件,是對(duì)本地服務(wù)和遠(yuǎn)程服務(wù)的抽象,也即服務(wù)的基本單元,通過對(duì)數(shù)據(jù)和方法的封裝,可以提供各種服務(wù)。一個(gè)服務(wù)場(chǎng)景可以包括多個(gè)page。舉例來說,一個(gè)page可以是ui(用戶界面)、拍照等服務(wù),也可以是后臺(tái)服務(wù),如賬戶認(rèn)證。運(yùn)行態(tài)page稱為page實(shí)例,是本地服務(wù)或遠(yuǎn)程服務(wù)的運(yùn)行載體,可由dpms創(chuàng)建(比如dpms收到pagea發(fā)送的指向pageb的pagelink后可創(chuàng)建pageb的實(shí)例)、調(diào)度、管理,dpms可維護(hù)page實(shí)例的生命周期。
每個(gè)page可以在yunos中被唯一標(biāo)識(shí),比如可以使用uri(uniformresourceidentifier,唯一資源標(biāo)識(shí)符)對(duì)page進(jìn)行標(biāo)識(shí)。uri可以通過各種方式生成,只要可以保證唯一性即可,本申請(qǐng)并不對(duì)uri的生成方式進(jìn)行限制。
優(yōu)選地,用于標(biāo)識(shí)page的uri中可包括以下信息域:
-資源類型域,用于承載資源類型指示信息;
-域名域,用于承載資源所屬域的指示信息;
-路徑域,用于承載資源所在的路徑,比如資源在其所屬域中的路徑。
其中,資源的類型可包括三種,分別稱為第一類型、第二類型和第三類型:
-第一類型:用于表示資源存儲(chǔ)于外部存儲(chǔ)器;
-第二類型:用于表示資源未存儲(chǔ)于外部存儲(chǔ)器,如存儲(chǔ)于本地,比如未 存儲(chǔ)于外部存儲(chǔ)器而存儲(chǔ)于sim卡中,且資源為應(yīng)用程序本身的資源,比如,應(yīng)用程序安裝包解壓后的資源;
-第三類型:用于表示資源未存儲(chǔ)于外部存儲(chǔ)器,如存儲(chǔ)于本地,比如未存儲(chǔ)于外部存儲(chǔ)器而存儲(chǔ)于sim卡中,且資源為應(yīng)用程序運(yùn)行時(shí)的資源,比如,運(yùn)行時(shí)產(chǎn)生的資源。
此外,資源類型還可以包括:
-第四類型,用于表示資源存儲(chǔ)于網(wǎng)絡(luò)側(cè)(如云端)。
當(dāng)然以上資源類型僅為示例,本申請(qǐng)實(shí)施例不排除其他資源類型分類方式。
進(jìn)一步地,基于上述分類,資源類型域包括第一字段和第二字段。若第一字段的取值表明資源的類型為第一類型,則第二字段為空;否則,第二字段的取值表明資源的類型為第二類型或第三類型。
進(jìn)一步地,用于標(biāo)識(shí)page的uri中還可包括以下信息域中的一種或組合:
-用戶信息域,用于承載用戶信息,該用戶可以是資源請(qǐng)求方用戶;
-參數(shù)域,用于承載參數(shù)。
下面示例性地示出了一種資源uri的格式:
scheme://username/domain/subscheme/path?param1=xxx¶m2=xxx
上述uri格式中的各信息域的含義如下所述:
scheme域:資源類型域,用于承載資源類型指示信息。該信息域?yàn)楸剡x項(xiàng)。該信息域的取值為page或file。若scheme域的取值為file,則表示該資源為第一類型;若scheme域的取值為page,則需要進(jìn)一步依據(jù)subscheme域的取值確定資源的類型。scheme域的取值還可以是“http”或“https”,表示訪問的資源為云端資源。
subscheme域:擴(kuò)展的資源類型域,用于承載資源類型的擴(kuò)展指示信息。該信息域?yàn)榭蛇x項(xiàng)。當(dāng)scheme域的取值為file時(shí),uri中不包括subscheme域,或subscheme域的取值為null;當(dāng)scheme域的取值為page時(shí),uri中包 括subscheme域。subscheme域的取值可以是asset或data,若subscheme域的取值為asset,則表示該資源為應(yīng)用程序本身的資源,若subscheme域的取值為data,則表示該資源為應(yīng)用程序運(yùn)行時(shí)的資源。
username域:用于承載發(fā)起資源訪問請(qǐng)求的用戶的信息,比如用戶名;
domain域:用于承載資源所屬的域的指示信息,比如域名;
path域:用于承載資源在其所屬域中的路徑,即相對(duì)路徑;path中也可以包含“asset”或“data”,這里的asset或data代表相對(duì)路徑的結(jié)構(gòu),比如其中的一級(jí)目錄;
param域:用于承載需要傳遞的參數(shù)。
uri可以理解為一個(gè)地址鏈接,通過該uri可以唯一地確定出其對(duì)應(yīng)的page。例如,為了便于區(qū)分page提供的服務(wù),為該page分配的uri中可以選擇性地包括該服務(wù)的相關(guān)信息,例如:服務(wù)名稱、服務(wù)內(nèi)容、服務(wù)提供方等。
例如:a公司提供的日歷服務(wù),為其對(duì)應(yīng)的page分配的uri可以如下:
page://calendar.a.com
其中:“page://”用于區(qū)分該地址為page對(duì)應(yīng)的地址,以和其他類型的地址區(qū)分;“calendar”表示提供的服務(wù)名稱;“a”表示該服務(wù)的提供方。
根據(jù)場(chǎng)景需求,一個(gè)page可能需要?jiǎng)?chuàng)建多個(gè)page實(shí)例,為便于區(qū)分同一page的不同實(shí)例,可以進(jìn)一步為每個(gè)page實(shí)例分配唯一的pageid進(jìn)行標(biāo)識(shí),該標(biāo)識(shí)可以在page實(shí)例被創(chuàng)建時(shí)分配。page實(shí)例是指page的運(yùn)行態(tài),即本地或遠(yuǎn)程服務(wù)的運(yùn)行載體,由dpms(dynamicpagemanagerservice,動(dòng)態(tài)page管理服務(wù))創(chuàng)建調(diào)度并管理其生命周期。進(jìn)一步地,該pageid可以被攜帶在信息實(shí)體pagelink中傳遞。
page之間可以傳遞事件和/或數(shù)據(jù),page可以通過ui與用戶進(jìn)行交互,以提供服務(wù),如圖1所示,pagea可以向pageb發(fā)送事件(event),并從pageb獲取返回的數(shù)據(jù)(data),pagea可以通過ui與用戶交互。其中,pagea可以提供服務(wù)a,pageb可以提供服務(wù)b。進(jìn)一步地,pagea還可以以u(píng)i方式向用 戶提供顯示界面,通過該界面為用戶展示服務(wù)以及接收用戶的各種輸入,pageb可以主要在后臺(tái)運(yùn)行,可以為其他page提供服務(wù)支持。
page可被創(chuàng)建和銷毀。page從創(chuàng)建到銷毀有三種狀態(tài):
created(建立)狀態(tài):表示page被創(chuàng)建,page被創(chuàng)建(即被實(shí)例化)后首先進(jìn)入created狀態(tài);
running(運(yùn)行)狀態(tài):page被激活后進(jìn)入running狀態(tài),running狀態(tài)下的page之間能夠傳遞事件和/或數(shù)據(jù),以及能夠處理其他running狀態(tài)的page傳遞來的事件和/或數(shù)據(jù);
stopped(停止)狀態(tài):page被去激活后進(jìn)入stopped狀態(tài),stopped狀態(tài)下的page不能夠與其他page進(jìn)行事件和/或數(shù)據(jù)的傳遞。
page可在上述不同狀態(tài)之間進(jìn)行轉(zhuǎn)換,并在轉(zhuǎn)換的時(shí)接收到生命事件通知,該生命事件通知用于指示page轉(zhuǎn)換后的狀態(tài)。其中,page的狀態(tài)轉(zhuǎn)換以及生命事件通知可以由dpms控制。圖2示出了page狀態(tài)轉(zhuǎn)換示意圖,如圖2所示,當(dāng)page從created狀態(tài)進(jìn)入running狀態(tài)時(shí),會(huì)收到onstart事件,當(dāng)page從running狀態(tài)進(jìn)入stopped狀態(tài)時(shí),會(huì)收到onstop事件,page在running狀態(tài)下,可以通過onlink接口接收到其他page發(fā)來的pagelink。。其中,onstart事件是用于指示page開始進(jìn)入running狀態(tài)的生命事件通知,onstop事件是用于指示page開始進(jìn)入stopped狀態(tài)的生命事件通知。
若page具有用ui(用戶界面),則running狀態(tài)可以擴(kuò)展成為以下三種狀態(tài)中的一種:
hided(隱藏)狀態(tài):hided狀態(tài)下的page能夠在后臺(tái)運(yùn)行,對(duì)于用戶來說不可見;
showed-inactive(可見地非交互)狀態(tài):showed-inactive狀態(tài)下的page對(duì)于用戶來說可見,但是不響應(yīng)用戶輸入;
showed-active(可見地交互)狀態(tài):showed-active狀態(tài)下的page對(duì)用戶來說可見,并且可以響應(yīng)用戶輸入。
例如:pagea為全屏窗口,pageb為非全屏窗口,當(dāng)pageb在pagea之上顯示時(shí),pagea是showed-inactive狀態(tài),pageb是showed-active狀態(tài)。
通過生命事件通知,page可在上述不同狀態(tài)之間進(jìn)行轉(zhuǎn)換。圖3示出了page狀態(tài)轉(zhuǎn)換示意圖,如圖所示,hided狀態(tài)下的page收到onshow事件后進(jìn)入showed-inactive狀態(tài),showed-inactive狀態(tài)下的page收到onhide事件后進(jìn)入hided狀態(tài);showed-inactive狀態(tài)下的page收到onactive事件后進(jìn)入showed-active狀態(tài),showed-active狀態(tài)下的page收到oninactive事件后進(jìn)入showed-inactive狀態(tài)。
(2)pagelink
pagelink是page之間流轉(zhuǎn)的信息實(shí)體,可以在page間傳遞信息,例如,事件和/或數(shù)據(jù)等。具體傳遞數(shù)據(jù)可以使用設(shè)定的api(applicationprogramminginterface,應(yīng)用程序編程接口),yunos以此為基礎(chǔ)記錄服務(wù)組件之間的關(guān)聯(lián)關(guān)系。pagelink可以指定目標(biāo)page的uri,并且可以包含事件、數(shù)據(jù)、服務(wù)等信息中的一種或多種。
page通過pagelink以更加靈活的方式的組合,可以實(shí)現(xiàn)豐富的服務(wù)場(chǎng)景。
(3)dpms
dpms是dynamicpagemanagerservice的英文簡(jiǎn)稱,中文稱為動(dòng)態(tài)page管理服務(wù),可以被看作是服務(wù)組件管理實(shí)體,是一種系統(tǒng)服務(wù)。dpms可以管理page生命周期以及運(yùn)行時(shí)調(diào)度,page從創(chuàng)建到銷毀的生命周期管理,以及page間經(jīng)pagelink的交互都可以通過dpms實(shí)現(xiàn)。
基于以上描述,本申請(qǐng)實(shí)施例提供了一種服務(wù)組件管理系統(tǒng),該系統(tǒng)可包括服務(wù)組件管理實(shí)體以及n個(gè)(n為大于1的整數(shù))服務(wù)組件。基于該架構(gòu),服務(wù)組件管理實(shí)體可接收一個(gè)服務(wù)組件(為方便描述,此處稱為第一服務(wù)組件)發(fā)送的指向另一個(gè)服務(wù)組件(為方便描述,此處稱為第二服務(wù)組件的信息實(shí)體),并發(fā)送該信息實(shí)體給第二服務(wù)組件進(jìn)行處理。
以yunos為例,該服務(wù)組件管理系統(tǒng)可以被看作是yunos中的一個(gè)組成 部分。如圖4所示,該服務(wù)組件管理系統(tǒng)可包括dpms以及n個(gè)page。其中,dpms可以是os內(nèi)的資源調(diào)度管理模塊,各種page可組成一個(gè)服務(wù)資源池。相應(yīng)地,dpms可接收一個(gè)page(為方便描述,此處稱為第一page)發(fā)送的指向另一個(gè)page(為方便描述,此處稱為第二page),并發(fā)送該pagelink給第二page進(jìn)行處理,從而實(shí)現(xiàn)不同page之間的交互、關(guān)聯(lián)以及跳轉(zhuǎn)。
下面結(jié)合圖5,以yunos為例,對(duì)上述服務(wù)組件管理過程進(jìn)行詳細(xì)描述。
如圖5所示,該過程可包括如下步驟:
步驟502:第一page向dpms發(fā)送指向第二page的信息實(shí)體(以下稱pagelink),dpms接收第一page發(fā)送的指向第二page的pagelink。
其中,第一page可以是本地page也可以是遠(yuǎn)程page,同樣,第二page可以是本地page也可以是遠(yuǎn)程page。通常,作為pagelink發(fā)送方的第一page在running狀態(tài)下發(fā)送指向第二page的pagelink。
進(jìn)一步地,在步驟502之前,可以包括以下步驟:第一page根據(jù)接收到的信息生成指向第二page的pagelink,所述接收到的信息可包括事件和/或數(shù)據(jù)。具體來說,觸發(fā)第一page生成pagelink的因素可能存在以下情況中的一種或多種組合:
-接收到其他page發(fā)送來的pagelink;
-對(duì)其他page發(fā)送來的pagelink進(jìn)行處理,根據(jù)第一pagelink的業(yè)務(wù)處理邏輯需要向第二page發(fā)送pagelink;
-接收到其他page返回的處理結(jié)果后,根據(jù)第一pagelink的業(yè)務(wù)處理邏輯需要向第二page發(fā)送pagelink;
-用戶在第一page對(duì)應(yīng)的用戶界面上進(jìn)行了界面操作,該界面操作觸發(fā)第一page生成指向第二page的pagelink;
-設(shè)定的事件(包括系統(tǒng)事件或自定義事件)發(fā)生,因此觸發(fā)第一page生成指向第二page的pagelink;
-根據(jù)設(shè)定的時(shí)間點(diǎn)或周期,第一page生成指向第二page的pagelink。
其中,第一page根據(jù)接收到的事件生成指向第二page的pagelink時(shí),所述事件可包括以下事件中的一種:
-第一page對(duì)應(yīng)的ui上的控件被觸發(fā)產(chǎn)生的事件;
-設(shè)定的系統(tǒng)事件;
-設(shè)定的非系統(tǒng)事件,可以是自定義的事件。
更具體地,第一page在生成pagelink時(shí),可根據(jù)接收到的事件,確定該事件被配置的目標(biāo)page,將該目標(biāo)page的uri寫入指向該目標(biāo)page的pagelink的相應(yīng)字段。
更具體地,第一page在生成pagelink時(shí),還可指向以下至少一項(xiàng):將接收到的事件和/或數(shù)據(jù),寫入該pagelink的相應(yīng)字段。
步驟504:dpms向第二page發(fā)送該pagelink。
該步驟中,dpms可首先確定第二page為本地page還是遠(yuǎn)程page,若為遠(yuǎn)程page,則向第二page對(duì)應(yīng)的服務(wù)器發(fā)送該pagelink。通常,具體實(shí)施時(shí),每個(gè)page在發(fā)布時(shí),會(huì)有一個(gè)列表,用于維護(hù)哪些page是本地的,哪些是在云端,如果在本地,則需要在本地保存該page對(duì)應(yīng)的代碼,如果在云端,則將pagelink發(fā)到云端(根據(jù)云端提供的url),由云端反饋處理結(jié)果。
進(jìn)一步地,步驟504之后還可以包括如下步驟:
步驟506:第二page處理接收到的pagelink,并向dpms返回對(duì)該pagelink的處理結(jié)果;
步驟508:dpms接收第二page返回的處理結(jié)果,并將第二page返回的處理結(jié)果發(fā)送給第一page。
對(duì)于上述步驟506至步驟508,如果在步驟504中dpms向第二page對(duì)應(yīng)的服務(wù)器發(fā)送該pagelink,則在步驟506中,第二page對(duì)應(yīng)的服務(wù)器向dpms返回對(duì)該pagelink的處理結(jié)果,在步驟508中,dpms將該服務(wù)器發(fā)送的處理結(jié)果發(fā)送給第一page。
進(jìn)一步地,dpms在收到第一page發(fā)送的指向第二page的pagelink后, 可以首先創(chuàng)建第二page的實(shí)例,即在步驟504之前,還可以包括如下步驟:
步驟503:dpms創(chuàng)建第二page的實(shí)例,該實(shí)例用于處理第一page發(fā)送的pagelink。進(jìn)一步地,根據(jù)前述內(nèi)容,page具有不同的狀態(tài),優(yōu)選地,在創(chuàng)建第二page的實(shí)例的同時(shí)還可以將其狀態(tài)設(shè)置為running狀態(tài),通常running狀態(tài)下的page才能給處理接收到的pagelink。
具體地,dpms創(chuàng)建第二page的實(shí)例的過程可包括:獲取第二page對(duì)應(yīng)的可執(zhí)行程序代碼,運(yùn)行該可執(zhí)行程序代碼,并為該可執(zhí)行程序代碼分配運(yùn)行環(huán)境。具體地,可首先創(chuàng)建第二page對(duì)應(yīng)的進(jìn)程,然后搭建該進(jìn)程的運(yùn)行環(huán)境,比如可設(shè)置第二page自身的可執(zhí)行代碼的位置以及資源的位置,分配內(nèi)存等,然后加載可執(zhí)行代碼以及資源的入口,啟動(dòng)該進(jìn)程運(yùn)行。具體實(shí)施時(shí),可參照對(duì)象實(shí)例化的標(biāo)準(zhǔn)流程創(chuàng)建page實(shí)例。
以pagea通過dpms向pageb發(fā)送pagelink為例,pagea通過dpms向pageb發(fā)送pagelink的過程可如圖6所示。其中,pagea生成指向pageb的pagelink并發(fā)送給dpms,dpms觸發(fā)pageb進(jìn)入running狀態(tài)(即激活pageb)并將該pagelink發(fā)送給pageb,pageb處理接收到的pagelink,并將處理結(jié)果發(fā)送給dpms,dpms將該處理結(jié)果返回給pagea。
上述流程中第一page發(fā)送指向第二page的pagelink中,至少包括目標(biāo)page的uri,也可以進(jìn)一步包括第一page的uri。在一種替換的方案中,第一page發(fā)送的pagelink中不包含該第一page的uri,dmps在接收到該pagelink后將該第一page的uri等標(biāo)識(shí)信息添加到該pagelink中。在系統(tǒng)運(yùn)行過程中,dpms或者yinos系統(tǒng)的核心框架層可記錄各page之間的關(guān)聯(lián)關(guān)系,比如記錄pagelink的發(fā)送方page的uri以及接收方page的uri。
該目標(biāo)page的uri對(duì)應(yīng)一個(gè)第二page,或者對(duì)應(yīng)多個(gè)第二page。具體實(shí)施時(shí),page的uri可以分為兩種類型:明確的uri和泛指的uri,明確的uri對(duì)應(yīng)一個(gè)page,泛指的uri對(duì)應(yīng)多個(gè)page,比如,可以預(yù)留一些uri作為泛指的uri,這部分uri并不對(duì)應(yīng)一個(gè)唯一的page,而是可以對(duì)應(yīng)多個(gè)page。 泛指的uri是系統(tǒng)預(yù)留的,通常不允許有page自身的uri和泛指uri相同。
作為一個(gè)例子,dpms對(duì)目標(biāo)page的uri為泛指uri的pagelink的處理方式是:接收到這樣的pagelink后,查找系統(tǒng)中所有的page,凡是注冊(cè)監(jiān)聽了pagelink攜帶的event的page都會(huì)收到此pagelink以進(jìn)行處理。
優(yōu)選地,本申請(qǐng)的一些優(yōu)選實(shí)施例中,第一page發(fā)送的指向第二page的pagelink中,在第二page的uri中還可以附帶一些參數(shù),以便傳遞給第二page。該參數(shù)用來指示第二page的設(shè)定入口,比如,第二page的服務(wù)入口、功能入口、信息入口等,該參數(shù)通常與頁面加載相關(guān),一般來說,不需加密、與頁面加載相關(guān)的參數(shù)可附帶在uri中。
作為一個(gè)例子,發(fā)送到設(shè)置頁面的pagelink中所包含的目標(biāo)page的uri為:
page://setting.example.com/setting?subpage=wifi
其中,subpage=wifi為附帶在該uri中的參數(shù),則設(shè)置頁面會(huì)根據(jù)subpage=wifi直接跳轉(zhuǎn)wifi設(shè)置二級(jí)頁面。這些參數(shù)與uri的格式要求可參照html協(xié)議的規(guī)定,或者其他協(xié)議規(guī)定,只要第二page能夠識(shí)別即可。通過在uri中附加參數(shù),可以更好地兼容html5頁面。
在另一些優(yōu)選的實(shí)施例中,附帶在第二page的uri中的參數(shù)可根據(jù)第一page接收到的事件確定,即,第一page根據(jù)接收到的事件確定需要在目標(biāo)pageuri中攜帶的參數(shù)。例如,這些事件可包括以下之一或任意組合:
-第一page對(duì)應(yīng)的ui上的控件被觸發(fā)產(chǎn)生的事件;
-設(shè)定的系統(tǒng)事件;
-設(shè)定的非系統(tǒng)事件。
進(jìn)一步地,指向第二page的pagelink中還可以包括以下內(nèi)容之一或組合:
-數(shù)據(jù)(data)
第二page處理發(fā)送來的pagelink時(shí),可根據(jù)傳遞來的data處理該pagelink。
傳遞給第二page的數(shù)據(jù)可以有一個(gè)或多個(gè),傳遞給第二page的數(shù)據(jù)可以有多種數(shù)據(jù)類型,比如這些數(shù)據(jù)類型可以包括數(shù)字(整數(shù)或浮點(diǎn)數(shù)),字符串,邏輯值(true或false),數(shù)組,對(duì)象,null等,在此不再一一列舉。
優(yōu)選地,這些數(shù)據(jù)可采用json(javascriptobjectnotation,javascript對(duì)象標(biāo)記)格式進(jìn)行組織。json格式是一種輕量級(jí)的數(shù)據(jù)交換格式。json采用完全獨(dú)立于語言的文本格式,是一種適合數(shù)據(jù)交換的語言,易于閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。json的數(shù)據(jù)格式采用名稱/值對(duì)組合對(duì)形式,名稱/值對(duì)組合中的名稱寫在前面(在雙引號(hào)中),值對(duì)寫在后面(同樣在雙引號(hào)中),中間用冒號(hào)隔開,不同的名稱/值對(duì)組合中間用逗號(hào)隔開,例如,{"key1":"value1","key2":"value2"}。當(dāng)然,也可以采用其他數(shù)據(jù)結(jié)構(gòu)組織這些data,比如xml(exteilemarkulaguage,擴(kuò)展標(biāo)記語言),在此不再一一列舉。
需要說明的是,第一page通過pagelink傳遞給第二page的數(shù)據(jù),可以攜帶于pagelink中的data字段或信息單元,也可以附加在目標(biāo)page的uri中。這些數(shù)據(jù)是通過data字段傳遞還是附加在目標(biāo)page的uri中傳遞,可以由通信雙方(page)預(yù)先約定。
-事件(event)
第二page可根據(jù)傳遞來的event執(zhí)行相應(yīng)的操作。
作為一個(gè)例子,若指向第二page的pagelink中包括數(shù)據(jù)和事件,則第二page處理該pagelink包括:根據(jù)該pagelink中包括的數(shù)據(jù),執(zhí)行該pagelink中包括的事件所對(duì)應(yīng)的操作。例如,通過pagelink傳遞給第二page的事件為當(dāng)用戶點(diǎn)擊網(wǎng)頁上的“支付”按鍵執(zhí)行支付事件,通過該pagelink傳遞給第二page的數(shù)據(jù)包括用戶賬號(hào)、支付金額、收款方,則第二page在處理該pagelink時(shí)可執(zhí)行以下操作:當(dāng)用戶點(diǎn)擊網(wǎng)頁上的“支付”按鍵時(shí),用該用戶賬號(hào)登錄支付應(yīng)用頁面,向該收款方進(jìn)行該金額的網(wǎng)上支付操作。
事件(event)是可以被控件識(shí)別的操作,如按下確定按鈕,選擇某個(gè)單選按鈕或者復(fù)選框。每一種控件有自己可以識(shí)別的事件,如窗體的加載、單擊、 雙擊等事件,編輯框(文本框)的文本改變事件,等等。事件有系統(tǒng)事件和用戶事件。系統(tǒng)事件由系統(tǒng)激發(fā),用戶事件由用戶激發(fā)。事件驅(qū)動(dòng)控件執(zhí)行某項(xiàng)功能。
第一page發(fā)送的指向第二page的pagelink中,可以傳遞一個(gè)或多個(gè)event,傳遞的event的類型可以包括系統(tǒng)事件和/或用戶事件。
進(jìn)一步地,在一些優(yōu)選實(shí)施例中,可以預(yù)先定義兩種事件類型:廣播事件和非廣播事件,所謂廣播事件是指被注冊(cè)為需要進(jìn)行廣播的事件,所謂非廣播事件是指未被注冊(cè)為需要廣播的事件。比如,可以將系統(tǒng)相關(guān)的事件(比如系統(tǒng)關(guān)閉的事件,該事件可對(duì)應(yīng)一系列關(guān)閉系統(tǒng)的操作,如退出用戶界面等操作)定義為廣播事件,廣播事件的發(fā)生通常不僅僅是影響目標(biāo)page(比如上述第二page)而是還會(huì)影響除此以外的其他page;相對(duì)應(yīng)地,將其他與特定業(yè)務(wù)相關(guān)的事件(比如網(wǎng)上支付操作的事件,該事件可對(duì)應(yīng)網(wǎng)上支付的操作)定義為非廣播事件。廣播事件可默認(rèn)被所有page監(jiān)聽,也可針對(duì)廣播事件預(yù)先注冊(cè)監(jiān)聽該廣播事件的一個(gè)或多個(gè)page。優(yōu)選地,廣播事件可通過uri中包含的用于表征廣播事件的信息進(jìn)行標(biāo)識(shí)。
dpms接收到第一page發(fā)送的pagelink后,會(huì)識(shí)別其中包含的事件類型是廣播事件還是非廣播事件,如果其中包含廣播事件,則針對(duì)該廣播事件,dpms可以確定注冊(cè)監(jiān)聽該事件的page,并向注冊(cè)監(jiān)聽該事件的page發(fā)送該pagelink,以便這些page進(jìn)行相應(yīng)操作,優(yōu)選地,向注冊(cè)監(jiān)聽該事件的所有page發(fā)送該pagelink,其中,可預(yù)先配置所有或部分特定的page監(jiān)聽廣播事件;如果該pagelink中包含非廣播事件,則針對(duì)該非廣播事件,dpms可將該pagelink發(fā)送給第二page,以便第二page根據(jù)該非廣播事件進(jìn)行相應(yīng)操作。
作為廣播事件的一個(gè)例子,比如針對(duì)系統(tǒng)關(guān)機(jī)這個(gè)場(chǎng)景,電源管理服務(wù)發(fā)送一個(gè)pagelink,該pagelink中包含“uri=broadcast.yunos.com,event=shutdown”,其中“broadcast”表示名稱為shutdown的事件是廣播事件,則dpms將該pagelink向所有注冊(cè)監(jiān)聽該shutdown事件的page發(fā)送。作為非廣播事件 的一個(gè)例子,比如針對(duì)賬號(hào)登錄場(chǎng)景,登錄頁面可以發(fā)送一個(gè)點(diǎn)對(duì)點(diǎn)的pagelink給賬號(hào)服務(wù),該pagelink中包含“uri=account.yunos.com,event=login,data={id=a,passwork=b}”,由于其中沒有包含用于表征名稱為login的事件為廣播事件的信息,則dpms將該pagelink向目標(biāo)page發(fā)送。
在上述各種實(shí)施例中的pagelink所包含的內(nèi)容的基礎(chǔ)上,在一些實(shí)施例中,第一page發(fā)送的指向第二page的pagelink中還可包括指示信息,該指示信息被目標(biāo)page用來確定所進(jìn)行的處理操作。指示信息的數(shù)量和類型不做限制。
舉例來說,指示信息中可包括第一指示信息,該第一指示信息用于指示第一page和目標(biāo)page(比如上述第二page)是否在同一page組內(nèi)。優(yōu)選地,該第一指示信息可以是布爾型數(shù)據(jù),比如第一指示信息的取值為true時(shí)表示第一page(pagelink的發(fā)送者)和第二page(pagelink的接收者)在同一page組內(nèi),第一指示信息的取值為false時(shí)表示第一page和第二page可以不在同一page組內(nèi)。
一個(gè)page組中可包括一個(gè)或多個(gè)page。page組可以預(yù)先配置,也可以根據(jù)需要進(jìn)行調(diào)整,比如可以由發(fā)起者(如上述的第一page)在pagelink中指定。一個(gè)page組中的page可根據(jù)業(yè)務(wù)場(chǎng)景來設(shè)置,一個(gè)page組中的page通常與特定的業(yè)務(wù)或者業(yè)務(wù)場(chǎng)景相關(guān),比如,對(duì)于旅游出行業(yè)務(wù)場(chǎng)景來說,可以將實(shí)現(xiàn)機(jī)票查詢的page以及實(shí)現(xiàn)網(wǎng)上訂購(gòu)機(jī)票進(jìn)行支付的page配置在一個(gè)page組內(nèi);再例如,對(duì)于日常訂餐的業(yè)務(wù)場(chǎng)景來說,可以將訂餐查詢的page以及實(shí)現(xiàn)網(wǎng)上訂餐支付的page配置在一個(gè)page組內(nèi)。
以上述旅游出行場(chǎng)景為例,第一page為實(shí)現(xiàn)機(jī)票查詢的page,第二page為實(shí)現(xiàn)訂購(gòu)機(jī)票進(jìn)行支付的page,第一page發(fā)送的指向第二page的pagelink中,第一指示信息的取值為true,表示第一page和第二page應(yīng)在同一page組內(nèi)。這種情況下,dpms在接收到第一page發(fā)送的該pagelink后,可以判斷當(dāng)前是否存在與第一page在同一page組的第二page,如果沒有,則創(chuàng)建第 二page的實(shí)例,該第二page的實(shí)例與第一page屬于同一page組,在創(chuàng)建第二page的實(shí)例時(shí),可以根據(jù)旅游出行場(chǎng)景的需要?jiǎng)?chuàng)建適合該業(yè)務(wù)場(chǎng)景的實(shí)例,比如允許使用信用卡支付但不能使用其他預(yù)付卡支付。
以上述日常訂餐場(chǎng)景為例,第一page為實(shí)現(xiàn)訂餐查詢的page,第二page為實(shí)現(xiàn)網(wǎng)上訂餐支付的page,第一page發(fā)送的指向第二page的pagelink中,第一指示信息的取值為false,表示第一page和第二page不在同一page組內(nèi)。這種情況下,dpms在接收到第一page發(fā)送的該pagelink后,如果當(dāng)前已創(chuàng)建第二page的實(shí)例且該實(shí)例不屬于任何page組,則可以將該pagelink發(fā)送給第二page進(jìn)行處理。
通過page組的劃分,對(duì)于一種通用的服務(wù)組件,比如實(shí)現(xiàn)支付的服務(wù)組件,可以根據(jù)不同的業(yè)務(wù)場(chǎng)景需要,創(chuàng)建適合于不同業(yè)務(wù)場(chǎng)景的實(shí)例。
再舉例來說,pagelink所包含的指示信息中可包括第二指示信息,該第二指示信息用于指示目標(biāo)page是否進(jìn)入指定的狀態(tài),該指定的狀態(tài)具體可以包括showed-active狀態(tài)或者其他狀態(tài)(如hided、showed-inactive等狀態(tài))。優(yōu)選地,該第二指示信息可以是布爾型數(shù)據(jù),比如第二指示信息的取值為true時(shí)表示第二page(pagelink的接收者)需要進(jìn)入指定的狀態(tài),第二指示信息的取值為false時(shí)表示第二page不需要進(jìn)入指定的狀態(tài)。該第二指示信息也可以用于指示目標(biāo)page與ui的交互方式(比如可見地交互方式或非可見地交互方式)。優(yōu)選地,該第二指示信息可以是布爾型數(shù)據(jù),比如第二指示信息的取值為true時(shí)表示第二page(pagelink的接收者)需要采用可見地交互方式與ui交互,第二指示信息的取值為false時(shí)表示第二page不需要采用可見地交互方式與ui交互(或者采用可見地非交互方式與ui交互)。
如前所述,page的running狀態(tài)可進(jìn)一步細(xì)分為hided狀態(tài)、showed-inactive狀態(tài)和showed-active狀態(tài)。在一些實(shí)施例中,第二page可根據(jù)第一page發(fā)送的pagelink中的第二指示信息,確定是否進(jìn)入showed-active狀態(tài)。
根據(jù)上述對(duì)pagelink的內(nèi)容描述,表1示例性地示出了一種pagelink的數(shù)據(jù)結(jié)構(gòu)。
表1:pagelink的組成
在一個(gè)pagelink中,目標(biāo)page的uri一項(xiàng),僅填寫“明確的uri”或者“泛指的uri”。表1中的needactibe=true時(shí),目標(biāo)page被激活,即進(jìn)入showed-active狀態(tài)。表1中,除referer字段以外,其他字段可由pagelink發(fā)送方指定,referer字段可由yunos系統(tǒng)的核心框架層自動(dòng)填寫。
在實(shí)際的業(yè)務(wù)場(chǎng)景中,可能需要多個(gè)page以串聯(lián)的方式進(jìn)行交互,比如pagea需要通過pagelink傳遞數(shù)據(jù)和事件給pageb,pagea也可能同時(shí)需要通過pagelink傳遞數(shù)據(jù)和事件給pagec,pageb需要通過pagelink傳遞數(shù)據(jù)和 事件給paged等等,這種情況下,針對(duì)每?jī)蓚€(gè)需要通過pagelink傳遞數(shù)據(jù)和事件的page,均可按照上述實(shí)施例提供的方式進(jìn)行交互,從而將一個(gè)業(yè)務(wù)過程所需的所有page串聯(lián)起來,基于pagelink進(jìn)行數(shù)據(jù)和事件的傳遞,完成該業(yè)務(wù)過程。
圖7示例性地示出了兩種業(yè)務(wù)場(chǎng)景下,page的關(guān)聯(lián)情況示意圖。其中,在業(yè)務(wù)場(chǎng)景1下,用戶在該業(yè)務(wù)的ui界面上的操作觸發(fā)page1生成指向page2的pagelink并通過dpms發(fā)送給page2,page2收到page1發(fā)送的pagelink后進(jìn)行處理并生成指向page3的pagelink,并通過dpms發(fā)送給page3,page3收到該pagelink后進(jìn)行處理,一方面生成指向page4的pagelink并通過dpma發(fā)送給page4處理,另一方面生成指向page9的pagelink并通過dpms發(fā)送給page9處理,page4收到pagelink后進(jìn)行處理并返回處理結(jié)果給page3。
在場(chǎng)景2下,用戶在該業(yè)務(wù)的ui界面上的操作觸發(fā)page5生成指向page2的pagelink并通過dpms發(fā)送給page2,page2收到page5發(fā)送的pagelink后進(jìn)行處理并生成指向page6的pagelink,并通過dpms發(fā)送給page6處理,page6收到pagelink后進(jìn)行處理并生成指向page7的pagelink,并通過dpms發(fā)送給page6處理,page7收到pagelink后進(jìn)行處理并生成指向page10的pagelink,并通過dpms發(fā)送給page10處理,page10收到pagelink后進(jìn)行處理并返回處理結(jié)果給page7。
以旅游出行的業(yè)務(wù)場(chǎng)景為例,如果要完成該場(chǎng)景的一個(gè)業(yè)務(wù)過程,需要多種page且需要按照一定的邏輯順序運(yùn)行這些page,比如一種實(shí)現(xiàn)方式為:
1、pagea向dmps發(fā)送指向pageb的pagelink
pagea為旅游出行攻略應(yīng)用,pageb為機(jī)票酒店查詢應(yīng)用;該pagelink中的options一項(xiàng)中,ingroup=false,needactive=true;該pagelink中的data一項(xiàng)中,需要傳遞的參數(shù)包括:目的地以及往返時(shí)間,還可以進(jìn)一步包括一些其他參數(shù),比如機(jī)票、酒店住宿的價(jià)格范圍等參數(shù),pagea可通過ui界面獲取這些data的具體取值并攜帶于pagelink;這樣,pageb在收到該pagelink后 可根據(jù)傳遞過來的目的地和往返時(shí)間查詢相應(yīng)的往返機(jī)票以及在該段時(shí)間內(nèi)目的地的酒店情況,進(jìn)一步地,pageb可將查詢結(jié)果通過dmps返回給pagea。
2、pageb向dmps發(fā)送指向pagec的pagelink
pagec為支付應(yīng)用;該pagelink中的options一項(xiàng)中,ingroup=true,needactive=true;該pagelink中的data一項(xiàng)中,需要傳遞的參數(shù)包括:訂購(gòu)的飛機(jī)航班信息、訂購(gòu)的酒店信息,用戶的支付賬戶信息等;這樣,pageb在收到該pagelink后可使用該支付賬戶根據(jù)傳遞過來的機(jī)票以及酒店的訂購(gòu)信息進(jìn)行支付,進(jìn)一步地,pagec可將支付結(jié)果通過dmps返回給pageb;
3、pagea向dmps發(fā)送指向paged的pagelink
paged為天氣查詢應(yīng)用;該pagelink中的options一項(xiàng)中,ingroup=false,needactive=false;該pagelink中的data一項(xiàng)中,需要傳遞的參數(shù)包括:目的地以及往返時(shí)間;這樣,paged在收到該pagelink后可根據(jù)傳遞過來的目的地和往返時(shí)間,查詢?cè)谙鄳?yīng)時(shí)間段內(nèi)該目的地的天氣情況,進(jìn)一步地,paged可將查詢結(jié)果通過dmps返回給pagea。
通過以上描述可以看出,在yunos中,可以用十分自然的方式將以一個(gè)業(yè)務(wù)場(chǎng)景所需的所有page串聯(lián)起來,如以上例子所展示的:瀏覽網(wǎng)頁尋找攻略,跳轉(zhuǎn)到感興趣地點(diǎn)的酒店和機(jī)票服務(wù)page,跳轉(zhuǎn)到支付服務(wù)page,跳轉(zhuǎn)到天氣服務(wù)頁面。跳轉(zhuǎn)過程中通過pagelink將前一page的數(shù)據(jù)傳遞到下一page,不需要用戶重復(fù)的數(shù)據(jù)輸入。其中,一個(gè)page提供某項(xiàng)本地或遠(yuǎn)端的服務(wù),page之間跳轉(zhuǎn)沒有應(yīng)用的限制,通過pagelink將幾個(gè)page組合起來就可以實(shí)現(xiàn)各種服務(wù)的需求。
上述各實(shí)施例可應(yīng)用于云os操作系統(tǒng)。云os也可稱為云操作系統(tǒng)或者云計(jì)算操作系統(tǒng)或者云計(jì)算中心操作系統(tǒng),是以云計(jì)算、云存儲(chǔ)技術(shù)作為支撐的操作系統(tǒng),是云計(jì)算后臺(tái)數(shù)據(jù)中心的整體管理運(yùn)營(yíng)系統(tǒng)。它是指構(gòu)架于服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)等基礎(chǔ)硬件資源和單機(jī)操作系統(tǒng)、中間件、數(shù)據(jù)庫等基礎(chǔ)軟件之上的、管理海量的基礎(chǔ)硬件、軟件資源的云平臺(tái)綜合管理系統(tǒng)。
基于相同的技術(shù)構(gòu)思,本申請(qǐng)實(shí)施例還提供了一種服務(wù)組件管理裝置,該裝置可以是前述實(shí)施例中的dpms。
參見圖8,為本申請(qǐng)實(shí)施例提供的服務(wù)組件管理裝置的結(jié)構(gòu)示意圖,該裝置可包括:第一接收單元801、第一發(fā)送單元802,其中:
第一接收單元801,用于接收第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體;
第一發(fā)送單元802,用于向所述第二服務(wù)組件發(fā)送所述信息實(shí)體。
進(jìn)一步地,該裝置還可包括創(chuàng)建單元803,用于在向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之前,創(chuàng)建第二服務(wù)組件的實(shí)例。具體地,創(chuàng)建單元803可具體用于:獲取所述第二服務(wù)組件對(duì)應(yīng)的可執(zhí)行程序代碼,運(yùn)行所述可執(zhí)行程序代碼,并為所述可執(zhí)行程序代碼分配運(yùn)行環(huán)境。
進(jìn)一步地,上述裝置中還可包括:
第二接收單元804,用于向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之后,接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果;
第二發(fā)送單元805,用于將所述第二服務(wù)組件返回的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
優(yōu)選地,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
相應(yīng)地,第一發(fā)送單元802具體用于:確定所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件,若為遠(yuǎn)程服務(wù)組件,則向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體。
相應(yīng)地,第二接收單元804,用于在向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體之后,接收所述服務(wù)器發(fā)送的對(duì)所述信息實(shí)體的處理結(jié)果;第二發(fā)送單元805,用于將所述服務(wù)器發(fā)送的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri,所述目標(biāo)服務(wù)組件的uri對(duì)應(yīng)一個(gè)第二服務(wù)組件,或者對(duì)應(yīng)多個(gè)第二服務(wù)組件。
其中,所述目標(biāo)服務(wù)組件的uri中還附帶有參數(shù)。
其中,所述參數(shù)根據(jù)所述第一服務(wù)組件接收到的事件確定。
其中,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述參數(shù)用于指示所述第二服務(wù)組件的設(shè)定入口。
優(yōu)選地,所述信息實(shí)體中還包括以下內(nèi)容之一或任意組合:數(shù)據(jù),事件。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri和事件時(shí),所述目標(biāo)服務(wù)組件的uri包括用于表征廣播事件的信息。相應(yīng)地,第一發(fā)送單元802具體用于:根據(jù)所述信息實(shí)體中目標(biāo)服務(wù)組件的uri中所包括的用于表征廣播事件的信息,確定注冊(cè)監(jiān)聽所述事件的至少一個(gè)第二服務(wù)組件,向注冊(cè)監(jiān)聽所述事件的第二服務(wù)組件發(fā)送所述信息實(shí)體。
進(jìn)一步地,所述信息實(shí)體中還包括指示信息,所述指示信息被所述第二服務(wù)組件用來確定所進(jìn)行的處理操作。
其中,所述指示信息中包括第一指示信息;所述第一指示信息用于指示所述第一服務(wù)組件和所述第二服務(wù)組件是否在同一服務(wù)組件組內(nèi)。
其中,所述服務(wù)組件組中包括至少2個(gè)服務(wù)組件,所述服務(wù)組件組根據(jù)業(yè)務(wù)場(chǎng)景設(shè)置。
優(yōu)選地,所述指示信息中包括第二指示信息;所述第二指示信息用于指示所述目標(biāo)服務(wù)組件是否需要進(jìn)入指定的狀態(tài),或者指示所述目標(biāo)服務(wù)組件與用戶界面的交互方式。
其中,所述指定的狀態(tài),包括以下狀態(tài)中的一種:
隱藏狀態(tài),該狀態(tài)下的服務(wù)組件在后臺(tái)運(yùn)行,對(duì)用戶不可見;
可見地非交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,但不響應(yīng)用戶輸入;
可見地交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,并且響應(yīng)用戶輸入。
其中,所述交互方式,包括以下方式中的一種:
可見地交互方式;
可見地非交互方式。
優(yōu)選地,所述信息實(shí)體中還包括:所述第一服務(wù)組件的uri;和/或,所述第二服務(wù)組件的組件標(biāo)識(shí)id,所述組件標(biāo)識(shí)id用于在所述第二服務(wù)組件存在多個(gè)實(shí)例時(shí),指示所述多個(gè)實(shí)例中與所述id對(duì)應(yīng)的實(shí)例。
基于相同的技術(shù)構(gòu)思,本申請(qǐng)實(shí)施例還提供了一種服務(wù)組件。
參見圖9,為本申請(qǐng)實(shí)施例提供的服務(wù)組件的結(jié)構(gòu)示意圖,如圖所示,該服務(wù)組件可包括:生成單元901、發(fā)送單元902,其中:
生成單元901,用于根據(jù)接收到的信息生成指向第二服務(wù)組件的信息實(shí)體,所述接收到的信息包括事件和/或數(shù)據(jù);
發(fā)送單元902,用于發(fā)送所述信息實(shí)體。
其中,所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件。
優(yōu)選地,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的用戶界面ui上的控件被觸發(fā)產(chǎn)生的事件;或
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,生成單元901可具體用于:
根據(jù)接收到的事件,確定所述事件被配置的目標(biāo)服務(wù)組件;
將所述目標(biāo)服務(wù)組件的統(tǒng)一資源標(biāo)識(shí)符uri,寫入所述信息實(shí)體的相應(yīng)字段。
進(jìn)一步地,所述生成單元還可用于:
在根據(jù)接收到的信息生成所述信息實(shí)體時(shí),還包括以下至少一項(xiàng):
將接收到的事件和/或數(shù)據(jù),寫入所述信息實(shí)體的相應(yīng)字段。
進(jìn)一步地,上述裝置中還可包括第一接收單元903,用于接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果。
進(jìn)一步地,上述裝置中還可包括:第二接收單元904和處理單元905,其中,第二接收單元904可用于接收第三服務(wù)組件發(fā)送的指向所述第一服務(wù)組件的信息實(shí)體;處理單元905可用于處理所述第二接收單元接收到的信息實(shí)體。
更具體地,處理單元905可具體用于:若所述接收單元接收到的信息實(shí)體中包括數(shù)據(jù)和事件,則根據(jù)所述信息實(shí)體中包括的數(shù)據(jù),執(zhí)行所述信息實(shí)體中包括的的事件所對(duì)應(yīng)的操作。
基于相同的技術(shù)構(gòu)思,本申請(qǐng)實(shí)施例還提供了一種終端裝置。
參見圖10,為本申請(qǐng)實(shí)施例提供的終端裝置的結(jié)構(gòu)示意圖,該終端裝置總體來說可包括:處理器1001,存儲(chǔ)器1002、顯示器1003。
其中,處理器1001可以是通用處理器(比如微處理器或者任何常規(guī)的處理器等)、數(shù)字信號(hào)處理器、專用集成電路、現(xiàn)場(chǎng)可編程門陣列或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。存儲(chǔ)器1002具體可包括內(nèi)部存儲(chǔ)器和/或外部存儲(chǔ)器,比如隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)。顯示器1003可包括觸摸屏控制電路。
處理器1001與其他各模塊之間存在數(shù)據(jù)通信連接,比如可基于總線架構(gòu)進(jìn)行數(shù)據(jù)通信。總線架構(gòu)可以包括任意數(shù)量的互聯(lián)的總線和橋,具體由處理器1001代表的一個(gè)或多個(gè)處理器和存儲(chǔ)器1002代表的存儲(chǔ)器的各種電路鏈接在一起。總線架構(gòu)還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類的各種其他電路鏈接在一起,這些都是本領(lǐng)域所公知的,因此,本文不再對(duì)其進(jìn)行進(jìn)一步描述??偩€接口提供接口。處理器1001負(fù)責(zé)管理總線架構(gòu)和通常的處理,存儲(chǔ)器1002可以存儲(chǔ)處理器1001在執(zhí)行操作時(shí)所使用的數(shù)據(jù)。
本申請(qǐng)實(shí)施例揭示的流程,可以應(yīng)用于處理器1001中,或者由處理器1001實(shí)現(xiàn)。在實(shí)現(xiàn)過程中,各步驟可以通過處理器1001中的硬件的集成邏輯電路或者軟件形式的指令完成??梢詫?shí)現(xiàn)或者執(zhí)行本申請(qǐng)實(shí)施例中的公開的各方法、步驟及邏輯框圖。結(jié)合本申請(qǐng)實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為 硬件處理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。
具體地,處理器1001,耦合到存儲(chǔ)器1002,用于讀取存儲(chǔ)器1002存儲(chǔ)的計(jì)算機(jī)程序指令,并作為響應(yīng),執(zhí)行如下操作:
接收第一服務(wù)組件發(fā)送的指向第二服務(wù)組件的信息實(shí)體;
向所述第二服務(wù)組件發(fā)送所述信息實(shí)體。
進(jìn)一步地,處理器1001向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之前,還用于:創(chuàng)建第二服務(wù)組件的實(shí)例。
其中,處理器1001創(chuàng)建第二服務(wù)組件的實(shí)例的過程,包括:
獲取所述第二服務(wù)組件對(duì)應(yīng)的可執(zhí)行程序代碼;
運(yùn)行所述可執(zhí)行程序代碼,并為所述可執(zhí)行程序代碼分配運(yùn)行環(huán)境。
進(jìn)一步地,處理器1001還可用于:在向所述第二服務(wù)組件發(fā)送所述信息實(shí)體之后,接收所述第二服務(wù)組件返回的對(duì)所述信息實(shí)體的處理結(jié)果,將所述第二服務(wù)組件返回的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri,所述目標(biāo)服務(wù)組件的uri對(duì)應(yīng)一個(gè)第二服務(wù)組件,或者對(duì)應(yīng)多個(gè)第二服務(wù)組件。
其中,所述目標(biāo)服務(wù)組件的uri中還附帶有參數(shù)。
其中,所述參數(shù)根據(jù)所述第一服務(wù)組件接收到的事件確定。
其中,所述事件,包括:
所述第一服務(wù)組件對(duì)應(yīng)的ui上的控件被觸發(fā)產(chǎn)生的事件;
設(shè)定的系統(tǒng)事件;
設(shè)定的非系統(tǒng)事件。
優(yōu)選地,所述參數(shù)用于指示所述第二服務(wù)組件的設(shè)定入口。
優(yōu)選地,所述信息實(shí)體中還包括以下內(nèi)容之一或任意組合:數(shù)據(jù),事件。
其中,若所述信息實(shí)體中包括數(shù)據(jù)和事件,則處理器1001可根據(jù)所述信 息實(shí)體中包括的數(shù)據(jù),執(zhí)行所述信息實(shí)體中包括的的事件所對(duì)應(yīng)的操作。
優(yōu)選地,所述信息實(shí)體中至少包括目標(biāo)服務(wù)組件的uri和事件時(shí),所述目標(biāo)服務(wù)組件的uri包括用于表征廣播事件的信息。相應(yīng)地,處理器1001可用于:根據(jù)所述信息實(shí)體中目標(biāo)服務(wù)組件的uri中所包括的用于表征廣播事件的信息,確定注冊(cè)監(jiān)聽所述事件的至少一個(gè)第二服務(wù)組件,向注冊(cè)監(jiān)聽所述事件的第二服務(wù)組件發(fā)送所述信息實(shí)體。
優(yōu)選地,所述信息實(shí)體中還包括指示信息,所述指示信息被所述第二服務(wù)組件用來確定所進(jìn)行的處理操作。
其中,所述指示信息中包括第一指示信息;所述第一指示信息用于指示所述第一服務(wù)組件和所述第二服務(wù)組件是否在同一服務(wù)組件組內(nèi)。
其中,所述服務(wù)組件組中包括至少2個(gè)服務(wù)組件,所述服務(wù)組件組根據(jù)業(yè)務(wù)場(chǎng)景設(shè)置。
優(yōu)選地,所述指示信息中包括第二指示信息;所述第二指示信息用于指示所述目標(biāo)服務(wù)組件是否需要進(jìn)入指定的狀態(tài),或者指示所述目標(biāo)服務(wù)組件與用戶界面的交互方式。
其中,所述指定的狀態(tài),包括以下狀態(tài)中的一種:
隱藏狀態(tài),該狀態(tài)下的服務(wù)組件在后臺(tái)運(yùn)行,對(duì)用戶不可見;
可見地非交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,但不響應(yīng)用戶輸入;
可見地交互狀態(tài),該狀態(tài)下的服務(wù)組件對(duì)用戶可見,并且響應(yīng)用戶輸入。
其中,所述交互方式,包括以下方式中的一種:
可見地交互方式;
可見地非交互方式。
優(yōu)選地,所述信息實(shí)體中還包括:
所述第一服務(wù)組件的uri;和/或
所述第二服務(wù)組件的組件標(biāo)識(shí)id,所述組件標(biāo)識(shí)id用于在所述第二服務(wù)組件存在多個(gè)實(shí)例時(shí),指示所述多個(gè)實(shí)例中與所述id對(duì)應(yīng)的實(shí)例。
優(yōu)選地,處理器1001可確定所述第二服務(wù)組件為本地服務(wù)組件或遠(yuǎn)程服務(wù)組件;若為遠(yuǎn)程服務(wù)組件,則向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體。
進(jìn)一步地,處理器1001向所述第二服務(wù)組件對(duì)應(yīng)的服務(wù)器發(fā)送所述信息實(shí)體之后,還可接收所述服務(wù)器發(fā)送的對(duì)所述信息實(shí)體的處理結(jié)果,并將所述服務(wù)器發(fā)送的處理結(jié)果發(fā)送給所述第一服務(wù)組件。
本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。