專利名稱:在家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)中的服務(wù)調(diào)用技術(shù),尤指一種在家庭網(wǎng)絡(luò)中的設(shè)備之間進(jìn)行服務(wù)調(diào)用的方法。
背景技術(shù):
隨著人們物質(zhì)生活水平的提高,家庭范圍內(nèi)的信息設(shè)備、通訊設(shè)備、娛樂設(shè)備、家用電器、自動(dòng)化設(shè)備、保安監(jiān)控裝置等設(shè)備逐漸增多,同時(shí),由于個(gè)人計(jì)算機(jī)和因特網(wǎng)在家庭中的迅速普及、電訊技術(shù)的蓬勃發(fā)展以及智能設(shè)備的長足進(jìn)步,家庭網(wǎng)絡(luò)日益受到廣泛關(guān)注,人們對(duì)于簡(jiǎn)單、靈活與可靠的家庭網(wǎng)絡(luò)的需求也愈顯強(qiáng)烈。于是,提出了很多諸如智能家居(Smart Home)、電子家庭(Electronic Home,e-Home)、數(shù)字家園(DigitalFamily)、網(wǎng)絡(luò)家居(Network Home)、智能化家庭(Intelligent Home)的家庭網(wǎng)絡(luò)概念。具體的講,家庭網(wǎng)絡(luò)(Home network)實(shí)際包括四層含義①家庭中的信息設(shè)備、通訊設(shè)備、娛樂設(shè)備、家用電器、自動(dòng)化設(shè)備、保安監(jiān)控裝置等互聯(lián)互通、資源共享,組成家庭智能化網(wǎng)絡(luò)系統(tǒng);②通過網(wǎng)關(guān)與社區(qū)、互聯(lián)網(wǎng)連接,實(shí)現(xiàn)與家庭外部環(huán)境的信息交換;③家庭的設(shè)備及其連接的網(wǎng)絡(luò)應(yīng)該滿足人們安全、方便、舒適、健康與綠色環(huán)保的基本需求,為人們提供身心愉悅的體驗(yàn);④體現(xiàn)以人為本的理念,易于使用、安全可靠、方便維護(hù)、價(jià)格適宜,滿足居家生活的特點(diǎn)。
有鑒于此,申請(qǐng)人在另一專利申請(qǐng)中提出了一種數(shù)字家庭網(wǎng)絡(luò)系統(tǒng),如圖1所示,該系統(tǒng)主要由網(wǎng)關(guān)11、一個(gè)以上主干網(wǎng)設(shè)備12和多個(gè)控制子網(wǎng)設(shè)備13構(gòu)成,該網(wǎng)關(guān)11可以進(jìn)一步包括兩部分門戶網(wǎng)關(guān)110和控制網(wǎng)關(guān)111,門戶網(wǎng)關(guān)110與控制網(wǎng)關(guān)111之間通過寬帶接口相連?;诖讼到y(tǒng)結(jié)構(gòu)可以看出,該數(shù)字家庭網(wǎng)絡(luò)由主干網(wǎng)和控制子網(wǎng)兩個(gè)子網(wǎng)組成,其中,由門戶網(wǎng)關(guān)110及與其連接的家用設(shè)備所形成的網(wǎng)絡(luò)部分稱為主干網(wǎng),主干網(wǎng)主要用于實(shí)現(xiàn)信息設(shè)備、通訊設(shè)備、娛樂設(shè)備等的互連;而由控制網(wǎng)關(guān)111及與其連接的家用設(shè)備所形成的網(wǎng)絡(luò)部分稱為控制子網(wǎng),控制子網(wǎng)主要用于實(shí)現(xiàn)家用電器、自動(dòng)化設(shè)備、保安監(jiān)控裝置等設(shè)備的互連。該數(shù)字家庭網(wǎng)絡(luò)的核心思想就是使家庭網(wǎng)絡(luò)上的家用設(shè)備互連互通、資源共享。在此家庭網(wǎng)絡(luò)系統(tǒng)中,門戶網(wǎng)關(guān)、控制網(wǎng)關(guān)和服務(wù)器可統(tǒng)稱為資源管理設(shè)備,用于管理網(wǎng)絡(luò)資源。
基于上述網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)設(shè)備之間的互連和資源共享是這樣實(shí)現(xiàn)的當(dāng)某個(gè)設(shè)備A申請(qǐng)接入家庭網(wǎng)絡(luò)時(shí),該設(shè)備A先在家庭網(wǎng)絡(luò)中查找資源管理設(shè)備,找到后即向資源管理設(shè)備發(fā)注冊(cè)請(qǐng)求;經(jīng)資源管理設(shè)備許可后,該設(shè)備A與資源管理設(shè)備之間在安全認(rèn)證的基礎(chǔ)上建立連接關(guān)系;連接成功后,該設(shè)備A向網(wǎng)絡(luò)中的資源管理設(shè)備進(jìn)行設(shè)備注冊(cè),即將自身的設(shè)備信息發(fā)給資源管理設(shè)備,然后,設(shè)備A再將自身能提供的服務(wù)注冊(cè)到資源管理設(shè)備中,資源管理設(shè)備存儲(chǔ)所有的設(shè)備注冊(cè)信息和服務(wù)注冊(cè)信息,以便查找。
當(dāng)兩個(gè)已連接到家庭網(wǎng)絡(luò)中的設(shè)備要進(jìn)行通信時(shí),主動(dòng)發(fā)起操作的設(shè)備A先向資源管理設(shè)備發(fā)設(shè)備查找請(qǐng)求,由資源管理設(shè)備在自身存儲(chǔ)的設(shè)備注冊(cè)信息中查找是否有合適的設(shè)備,如果有,則將相應(yīng)的信息發(fā)給設(shè)備A,由設(shè)備A向設(shè)備B發(fā)請(qǐng)求,得到許可后,設(shè)備A對(duì)設(shè)備B進(jìn)行服務(wù)調(diào)用。當(dāng)前操作完成后,兩個(gè)設(shè)備之間就自動(dòng)斷開連接。
當(dāng)設(shè)備離開網(wǎng)絡(luò)時(shí),該設(shè)備將進(jìn)行設(shè)備注銷操作,從資源管理設(shè)備上刪除自身的相關(guān)信息,包括設(shè)備信息和服務(wù)信息。
在上述操作過程中,資源管理設(shè)備可能存在或不存在,如果沒有資源管理設(shè)備,設(shè)備之間經(jīng)過相互查找過程后,自協(xié)商形成對(duì)等連接進(jìn)行通信。有資源管理設(shè)備時(shí),資源管理設(shè)備會(huì)定期進(jìn)行設(shè)備宣告,即向其它設(shè)備宣告自身的設(shè)備信息;其它非資源管理設(shè)備也會(huì)在不同的情況下進(jìn)行設(shè)備宣告。
從上述操作方案可以看出,基于家庭網(wǎng)絡(luò)上的、各種各樣的應(yīng)用,最終都要通過服務(wù)調(diào)用來完成,也就是說,要實(shí)現(xiàn)家庭網(wǎng)絡(luò)的互聯(lián)互通、資源共享,服務(wù)調(diào)用是其中很關(guān)鍵的步驟。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的在于提供一種在家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法,使得家庭網(wǎng)絡(luò)的各個(gè)設(shè)備之間能實(shí)現(xiàn)資源共享,且保證服務(wù)調(diào)用的可靠性。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種在家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法,該方法包括以下步驟a.服務(wù)調(diào)用方通過服務(wù)的特征信息獲取調(diào)用服務(wù)和被調(diào)用服務(wù)的服務(wù)句柄,并用獲取的服務(wù)句柄向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求消息;b.被調(diào)用方協(xié)議棧在收到請(qǐng)求消息后,根據(jù)請(qǐng)求消息中的被調(diào)用服務(wù)句柄判斷該被調(diào)用服務(wù)是否存在,以及該被調(diào)用服務(wù)是否已與服務(wù)調(diào)用方建立租用關(guān)系,如果是,則被調(diào)用方向服務(wù)調(diào)用方返回含有服務(wù)調(diào)用結(jié)果的服務(wù)調(diào)用響應(yīng)消息,進(jìn)入步驟c,否則結(jié)束本流程;c.服務(wù)調(diào)用方協(xié)議棧在收到服務(wù)調(diào)用響應(yīng)消息后,根據(jù)響應(yīng)消息中的調(diào)用服務(wù)句柄判斷本方是否存在該服務(wù),且該調(diào)用服務(wù)是否已與被調(diào)用方建立租用關(guān)系,如果是,則服務(wù)調(diào)用方與被調(diào)用方開始實(shí)際的服務(wù)調(diào)用交互過程;否則結(jié)束本流程。
在服務(wù)調(diào)用方協(xié)議棧及被調(diào)用方協(xié)議棧確認(rèn)服務(wù)調(diào)用方已與被調(diào)用服務(wù)之間建立租用關(guān)系后,該方法還包括判斷該被調(diào)用服務(wù)的當(dāng)前調(diào)用數(shù)量是否超過該被調(diào)用服務(wù)的并發(fā)控制閾值,如果是,則被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為拒絕調(diào)用;否則,被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為允許調(diào)用。
該方法進(jìn)一步包括每項(xiàng)服務(wù)在服務(wù)注冊(cè)成功后,將獲取唯一標(biāo)識(shí)該服務(wù)的服務(wù)句柄。
上述方案中,步驟a中所述服務(wù)句柄的獲取進(jìn)一步包括a1.服務(wù)調(diào)用方先通過對(duì)被調(diào)用服務(wù)的特征描述在本地協(xié)議棧中查找是否存在該被調(diào)用服務(wù),如果存在,則返回該被調(diào)用服務(wù)的服務(wù)句柄,結(jié)束查找流程,如果不存在,則執(zhí)行步驟a2;a2.服務(wù)調(diào)用方通過對(duì)被調(diào)用服務(wù)的特征描述在其它家庭網(wǎng)絡(luò)設(shè)備中查找是否存在該被調(diào)用服務(wù),如果存在,則返回該被調(diào)用服務(wù)的服務(wù)句柄,并將該被調(diào)用服務(wù)所屬方設(shè)定為被調(diào)用方,否則結(jié)束查找流程。
步驟c中所述實(shí)際的服務(wù)調(diào)用交互過程包括至少一個(gè)基本服務(wù)調(diào)用過程,每個(gè)基本服務(wù)調(diào)用過程包括以下步驟c1.服務(wù)調(diào)用方經(jīng)過服務(wù)調(diào)用方協(xié)議棧和被調(diào)用方協(xié)議棧向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求消息;c2.被調(diào)用方收到該請(qǐng)求后,再經(jīng)過被調(diào)用方協(xié)議棧和調(diào)用方協(xié)議棧返回服務(wù)調(diào)用響應(yīng)消息,該響應(yīng)消息中含有調(diào)用方所需的信息。
其中,服務(wù)調(diào)用方協(xié)議棧和被調(diào)用方協(xié)議棧分別通過自身所提供的服務(wù)調(diào)用請(qǐng)求回調(diào)函數(shù)和服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù)處理服務(wù)調(diào)用請(qǐng)求和服務(wù)調(diào)用響應(yīng)信息。所述服務(wù)調(diào)用請(qǐng)求回調(diào)函數(shù)和服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù)是在服務(wù)注冊(cè)時(shí),由當(dāng)前注冊(cè)服務(wù)所對(duì)應(yīng)的應(yīng)用程序傳遞給本方協(xié)議棧的。
可見,本發(fā)明所提供的家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法,由于其與服務(wù)注冊(cè)、服務(wù)查找以及服務(wù)租用相結(jié)合,在每個(gè)服務(wù)正式被調(diào)用前要先檢查該服務(wù)當(dāng)前是否可用,包括是否注冊(cè)、是否建立租用關(guān)系、是否符合并發(fā)控制等等,從而充分保證了服務(wù)調(diào)用操作的安全性、可靠性和協(xié)調(diào)性。
圖1為本發(fā)明采用的家庭網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)示意圖;圖2為服務(wù)調(diào)用簡(jiǎn)單的實(shí)現(xiàn)過程示意圖;圖3為本發(fā)明服務(wù)調(diào)用過程實(shí)現(xiàn)的信令時(shí)序圖;圖4為本發(fā)明服務(wù)調(diào)用過程實(shí)現(xiàn)的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
如圖2所示,最簡(jiǎn)單的服務(wù)調(diào)用過程可以描述為服務(wù)調(diào)用方向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求消息,該請(qǐng)求經(jīng)過調(diào)用方協(xié)議棧和被調(diào)用方協(xié)議棧傳送至被調(diào)用方;被調(diào)用方收到該請(qǐng)求后,再經(jīng)過被調(diào)用方協(xié)議棧和調(diào)用方協(xié)議棧返回服務(wù)調(diào)用響應(yīng)消息,該響應(yīng)消息中含有調(diào)用方所需的信息。在實(shí)際應(yīng)用中,圖2所示的過程只是調(diào)用方和被調(diào)用方在實(shí)現(xiàn)服務(wù)調(diào)用操作中的一次交互過程,可稱作一次基本服務(wù)調(diào)用過程,調(diào)用方和被調(diào)用方通常要經(jīng)過多次的基本服務(wù)調(diào)用過程才能完成一次完整的服務(wù)調(diào)用。
另外,在家庭網(wǎng)絡(luò)中,為了適應(yīng)服務(wù)的動(dòng)態(tài)變化、滿足安全性等要求,服務(wù)調(diào)用必須與服務(wù)注冊(cè)、服務(wù)查找、服務(wù)授權(quán)、服務(wù)租用等操作相結(jié)合。其中,服務(wù)注冊(cè)與服務(wù)查找結(jié)合可以適應(yīng)服務(wù)的動(dòng)態(tài)變化,而服務(wù)授權(quán)與服務(wù)租用結(jié)合可以滿足安全性要求。因此,家庭網(wǎng)絡(luò)中的服務(wù)調(diào)用需要滿足以下的條件1)每個(gè)應(yīng)用程序要想作為一個(gè)服務(wù)運(yùn)行,必須先進(jìn)行服務(wù)注冊(cè),通過服務(wù)注冊(cè),將服務(wù)的名稱、類型等信息告訴本端的協(xié)議棧,從而使服務(wù)的集中管理及服務(wù)查找成為可能;并且,在服務(wù)注冊(cè)成功后,本端協(xié)議棧也將給該應(yīng)用程序返回一個(gè)服務(wù)句柄,該服務(wù)句柄可以唯一標(biāo)識(shí)此服務(wù),在以后的服務(wù)查找、服務(wù)授權(quán)、服務(wù)租用以及服務(wù)調(diào)用中都會(huì)涉及該服務(wù)句柄。
在進(jìn)行服務(wù)注冊(cè)時(shí),應(yīng)用程序還要向本端協(xié)議棧傳遞其它一些信息,其中與服務(wù)調(diào)用有關(guān)的包含以下兩項(xiàng)內(nèi)容a.服務(wù)調(diào)用請(qǐng)求回調(diào)函數(shù)。調(diào)用方協(xié)議棧在收到發(fā)送給被調(diào)用服務(wù)的服務(wù)調(diào)用請(qǐng)求后,將調(diào)用此函數(shù)來執(zhí)行實(shí)際的服務(wù)調(diào)用操作。
b.服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù)。被調(diào)用方協(xié)議棧負(fù)責(zé)將服務(wù)調(diào)用的結(jié)果反饋給調(diào)用方協(xié)議棧,調(diào)用方協(xié)議棧在收到該反饋信息后,將調(diào)用此函數(shù)將執(zhí)行結(jié)果通知服務(wù)調(diào)用方。
2)為了確定服務(wù)調(diào)用的對(duì)象,服務(wù)調(diào)用方會(huì)在查找請(qǐng)求中指明要查找的服務(wù)的名稱或類型等信息,進(jìn)行服務(wù)查找。服務(wù)調(diào)用方協(xié)議棧根據(jù)給定的信息在已經(jīng)注冊(cè)的服務(wù)中查找,如果找到相應(yīng)的服務(wù),則將被找到服務(wù)的服務(wù)句柄發(fā)送給服務(wù)調(diào)用方,服務(wù)調(diào)用方只要在服務(wù)調(diào)用中指明被調(diào)用服務(wù)的服務(wù)句柄,具體消息的發(fā)送過程由協(xié)議棧來完成。
3)從安全傳輸?shù)慕嵌葋砜?,每個(gè)服務(wù)具有各自的安全屬性,根據(jù)安全屬性可將服務(wù)分為開放服務(wù)和私有服務(wù)。其中,開放服務(wù)是指任何人都可以調(diào)用的服務(wù),而私有服務(wù)是指必須經(jīng)過服務(wù)所有者授權(quán)才能調(diào)用的服務(wù)。
4)為了保證所調(diào)用服務(wù)的質(zhì)量,就要對(duì)同一項(xiàng)服務(wù)的同時(shí)被調(diào)用數(shù)量加以控制,因此在家庭網(wǎng)絡(luò)中存在并發(fā)控制,即控制同一項(xiàng)服務(wù)同時(shí)被調(diào)用的次數(shù),此控制操作由服務(wù)租用來完成。所以,服務(wù)調(diào)用方在進(jìn)行服務(wù)調(diào)用之前還要進(jìn)行服務(wù)租用,只有在服務(wù)租用成功后才可進(jìn)行服務(wù)調(diào)用。具體過程是服務(wù)調(diào)用方發(fā)送服務(wù)租用請(qǐng)求給被調(diào)用服務(wù);被調(diào)用服務(wù)在收到該請(qǐng)求后,根據(jù)自身的最大并發(fā)支持?jǐn)?shù)及該服務(wù)的當(dāng)前使用情況來決定是否出租服務(wù);如果當(dāng)前使用數(shù)已達(dá)到最大并發(fā)支持?jǐn)?shù),則拒絕出租服務(wù),否則允許出租服務(wù),以此保證家庭網(wǎng)絡(luò)中并發(fā)控制的實(shí)現(xiàn)。
基于上面所述的各種條件,服務(wù)調(diào)用具體的實(shí)現(xiàn)過程圖4所示,包括以下的步驟步驟401當(dāng)要調(diào)用某個(gè)服務(wù)時(shí),服務(wù)調(diào)用方首先查找被調(diào)用服務(wù)對(duì)應(yīng)的服務(wù)句柄,找到服務(wù)句柄后,服務(wù)調(diào)用方向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求。
在發(fā)送服務(wù)調(diào)用請(qǐng)求的同時(shí),服務(wù)調(diào)用方還要將包含具體調(diào)用信息的緩沖區(qū)地址及數(shù)據(jù)長度傳遞給本方協(xié)議棧;服務(wù)調(diào)用方協(xié)議棧根據(jù)被調(diào)用方的服務(wù)句柄,將調(diào)用信息傳遞給被調(diào)用方的協(xié)議棧。
由于每種服務(wù)在所屬設(shè)備接入家庭網(wǎng)絡(luò)時(shí),都會(huì)在所屬設(shè)備和家庭網(wǎng)絡(luò)的資源管理設(shè)備上進(jìn)行服務(wù)注冊(cè),注冊(cè)成功后每個(gè)服務(wù)就會(huì)有自己的服務(wù)句柄,如圖3所示,服務(wù)注冊(cè)響應(yīng)中就含有當(dāng)前注冊(cè)服務(wù)的服務(wù)句柄。因此,在服務(wù)調(diào)用過程中應(yīng)指明調(diào)用方的服務(wù)句柄和被調(diào)用方的服務(wù)句柄,使用服務(wù)句柄完成消息交互。
舉個(gè)例子來說,調(diào)用服務(wù)和被調(diào)用服務(wù)的服務(wù)句柄是這樣查找的A服務(wù)要調(diào)用B服務(wù),A服務(wù)屬于服務(wù)調(diào)用方,B服務(wù)屬于被調(diào)用方。由于A服務(wù)事先并不知道B服務(wù)的存在,它只知道自己要查找的服務(wù)的特征,所以,服務(wù)調(diào)用方通過對(duì)服務(wù)特征的描述在服務(wù)調(diào)用方協(xié)議棧中查找是否存在B服務(wù),如果存在,則返回B服務(wù)的服務(wù)句柄,之后即可用A服務(wù)句柄和B服務(wù)句柄繼續(xù)通信,否則,通過對(duì)服務(wù)特征的描述在其它家庭網(wǎng)絡(luò)設(shè)備中查找是否存在B服務(wù),如果存在,則返回B服務(wù)的服務(wù)句柄,并將B服務(wù)所屬方定為被調(diào)用方,如果在家庭網(wǎng)絡(luò)的所有設(shè)備中都不存在B服務(wù),則結(jié)束本查找流程。
步驟402~404被調(diào)用方協(xié)議棧在收到服務(wù)調(diào)用請(qǐng)求后,根據(jù)服務(wù)調(diào)用請(qǐng)求中的被調(diào)用服務(wù)句柄,在已注冊(cè)的服務(wù)中查找是否存在相應(yīng)的服務(wù),如果沒有,則向服務(wù)調(diào)用方返回服務(wù)不存在的錯(cuò)誤指示碼B_E_SERVICE_NOT_EXIST,服務(wù)調(diào)用方收到該錯(cuò)誤指示碼后結(jié)束本調(diào)用流程;否則,進(jìn)入步驟405。
步驟405~406被調(diào)用方協(xié)議棧判斷當(dāng)前被調(diào)用服務(wù)是否已與服務(wù)調(diào)用方建立了租用關(guān)系,如果沒有,則被調(diào)用方向服務(wù)調(diào)用方返回服務(wù)租用錯(cuò)的錯(cuò)誤指示碼B_E_SERVICE_RENT_DENIED,服務(wù)調(diào)用方收到該錯(cuò)誤指示碼后結(jié)束本調(diào)用流程;否則,進(jìn)入步驟407。
步驟407被調(diào)用方將服務(wù)調(diào)用結(jié)果以服務(wù)調(diào)用響應(yīng)的形式發(fā)送給服務(wù)調(diào)用方,即返回允許服務(wù)調(diào)用方調(diào)用該服務(wù)的指示;被調(diào)用方協(xié)議棧在獲得服務(wù)調(diào)用響應(yīng)后,將其返回給服務(wù)調(diào)用方協(xié)議棧。
步驟408~412服務(wù)調(diào)用方協(xié)議棧在收到服務(wù)調(diào)用響應(yīng)后,也要根據(jù)服務(wù)句柄進(jìn)行服務(wù)查找和租用關(guān)系的檢查,二者中任何一步出錯(cuò),即在未找到當(dāng)前調(diào)用服務(wù)或未建立被調(diào)用方與調(diào)用服務(wù)間租用關(guān)系的情況下,都將導(dǎo)致此響應(yīng)消息被丟棄,不作任何處理;否則,進(jìn)入步驟413。
步驟413如果服務(wù)調(diào)用方的服務(wù)查找及租用關(guān)系檢查也都通過,那么,服務(wù)調(diào)用方和被調(diào)用方即啟動(dòng)真正的服務(wù)調(diào)用流程。在后續(xù)的服務(wù)調(diào)用流程中,服務(wù)調(diào)用方的協(xié)議棧和被調(diào)用方的協(xié)議棧將分別通過自身所提供的服務(wù)調(diào)用回調(diào)函數(shù)來處理調(diào)用請(qǐng)求和響應(yīng)信息。該服務(wù)調(diào)用回調(diào)函數(shù)包括服務(wù)調(diào)用請(qǐng)求回調(diào)函數(shù)和服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù),該服務(wù)調(diào)用回調(diào)函數(shù)是在服務(wù)注冊(cè)時(shí),由所注冊(cè)服務(wù)對(duì)應(yīng)的應(yīng)用程序傳遞給各方協(xié)議棧的。
服務(wù)調(diào)用方和被調(diào)用方之間進(jìn)行至少一次基本服務(wù)調(diào)用過程的交互,直至一次完成的服務(wù)調(diào)用結(jié)束。
在上述步驟中,當(dāng)服務(wù)調(diào)用方或被調(diào)用方已確認(rèn)服務(wù)調(diào)用方與被調(diào)用服務(wù)間建立租用關(guān)系之后,該方法還可以包括進(jìn)行并發(fā)控制的步驟,即判斷該被調(diào)用服務(wù)的當(dāng)前調(diào)用數(shù)量是否超過該被調(diào)用服務(wù)的并發(fā)控制閾值,如果是,則被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為拒絕調(diào)用;否則,被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為允許調(diào)用。
從對(duì)基本服務(wù)調(diào)用過程的描述中可以看出,由于服務(wù)調(diào)用過程中要對(duì)租用關(guān)系進(jìn)行檢查,可以避免未授權(quán)用戶對(duì)服務(wù)的使用,從而保證了服務(wù)調(diào)用的安全性。
在上述步驟中,服務(wù)調(diào)用請(qǐng)求及服務(wù)調(diào)用響應(yīng)的消息格式分別如表1和表2所示。其中,表1為服務(wù)調(diào)用請(qǐng)求消息的具體格式描述,包括字段名、字段內(nèi)容、字段類型以及該字段的取值范圍;表2為服務(wù)調(diào)用響應(yīng)消息的具體格式描述,也包括字段名、字段內(nèi)容、字段類型以及該字段的取值范圍。
表1
表2從表1、表2中可以看出,每個(gè)消息的前六個(gè)字段是一樣的,即第一個(gè)字段為消息類型;第二個(gè)字段為消息序列號(hào),該序列號(hào)用于消息的重傳及響應(yīng)消息與請(qǐng)求消息的對(duì)應(yīng);第三到第六四個(gè)字段用來指明服務(wù)的調(diào)用方和服務(wù)的被調(diào)用方。
在實(shí)際應(yīng)用中,服務(wù)調(diào)用請(qǐng)求消息和服務(wù)調(diào)用響應(yīng)消息可以采用XML語言實(shí)現(xiàn)。本發(fā)明對(duì)于應(yīng)用程序發(fā)出的實(shí)際調(diào)用數(shù)據(jù),比如對(duì)所要調(diào)用服務(wù)的內(nèi)容或功能的描述等,用超文本傳輸協(xié)議(HTTP,Hypertext transferProtocol)加簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP,simple object access protocol)的方式來傳輸。對(duì)于簡(jiǎn)單格式的數(shù)據(jù),即調(diào)用任何服務(wù)都需要填寫的通用數(shù)據(jù),比如被調(diào)用服務(wù)的基本信息,可以通過指明被調(diào)用的動(dòng)作名稱、動(dòng)作對(duì)應(yīng)的參數(shù)名稱及參數(shù)值的方式來傳遞調(diào)用信息。對(duì)于其它格式的數(shù)據(jù)則作為一般的二進(jìn)制數(shù)據(jù)來傳輸,數(shù)據(jù)的具體含義由服務(wù)調(diào)用方與被調(diào)用方進(jìn)行解析,協(xié)議棧僅負(fù)責(zé)進(jìn)行傳輸。
總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種在家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法,其特征在于該方法包括以下步驟a.服務(wù)調(diào)用方通過服務(wù)的特征信息獲取被調(diào)用服務(wù)的服務(wù)句柄,并用獲取的服務(wù)句柄向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求消息;b.被調(diào)用方協(xié)議棧在收到請(qǐng)求消息后,根據(jù)請(qǐng)求消息中的被調(diào)用服務(wù)句柄判斷該被調(diào)用服務(wù)是否存在,以及該被調(diào)用服務(wù)是否已與服務(wù)調(diào)用方建立租用關(guān)系,如果是,則被調(diào)用方向服務(wù)調(diào)用方返回含有服務(wù)調(diào)用結(jié)果的服務(wù)調(diào)用響應(yīng)消息,進(jìn)入步驟c,否則結(jié)束本流程;c.服務(wù)調(diào)用方協(xié)議棧在收到服務(wù)調(diào)用響應(yīng)消息后,根據(jù)響應(yīng)消息中的調(diào)用服務(wù)句柄判斷本方是否存在該服務(wù),且該調(diào)用服務(wù)是否已與被調(diào)用方建立租用關(guān)系,如果是,則服務(wù)調(diào)用方與被調(diào)用方開始實(shí)際的服務(wù)調(diào)用交互過程;否則結(jié)束本流程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于該方法進(jìn)一步包括每項(xiàng)服務(wù)在服務(wù)注冊(cè)成功后,將獲取唯一標(biāo)識(shí)該服務(wù)的服務(wù)句柄。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟a中所屬服務(wù)句柄的獲取進(jìn)一步包括a1.服務(wù)調(diào)用方先通過對(duì)被調(diào)用服務(wù)的特征描述在本地協(xié)議棧中查找是否存在該被調(diào)用服務(wù),如果存在,則返回該被調(diào)用服務(wù)的服務(wù)句柄,結(jié)束查找流程,如果不存在,則執(zhí)行步驟a2;a2.服務(wù)調(diào)用方通過對(duì)被調(diào)用服務(wù)的特征描述在其它家庭網(wǎng)絡(luò)設(shè)備中查找是否存在該被調(diào)用服務(wù),如果存在,則返回該被調(diào)用服務(wù)的服務(wù)句柄,并將該被調(diào)用服務(wù)所屬方設(shè)定為被調(diào)用方,否則結(jié)束查找流程。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟c中所述實(shí)際的服務(wù)調(diào)用交互過程包括至少一個(gè)基本服務(wù)調(diào)用過程,每個(gè)基本服務(wù)調(diào)用過程包括以下步驟c1.服務(wù)調(diào)用方經(jīng)過服務(wù)調(diào)用方協(xié)議棧和被調(diào)用方協(xié)議棧向被調(diào)用方發(fā)送服務(wù)調(diào)用請(qǐng)求消息;c2.被調(diào)用方收到該請(qǐng)求后,再經(jīng)過被調(diào)用方協(xié)議棧和調(diào)用方協(xié)議棧返回服務(wù)調(diào)用響應(yīng)消息,該響應(yīng)消息中含有調(diào)用方所需的信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于服務(wù)調(diào)用方協(xié)議棧和被調(diào)用方協(xié)議棧分別通過自身所提供的服務(wù)調(diào)用請(qǐng)求回調(diào)函數(shù)和服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù)處理服務(wù)調(diào)用請(qǐng)求和服務(wù)調(diào)用響應(yīng)信息。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于該方法進(jìn)一步包括在服務(wù)注冊(cè)時(shí),由當(dāng)前注冊(cè)服務(wù)所對(duì)應(yīng)的應(yīng)用程序?qū)⒎?wù)調(diào)用請(qǐng)求回調(diào)函數(shù)和服務(wù)調(diào)用響應(yīng)回調(diào)函數(shù)傳遞給本方協(xié)議棧。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于在服務(wù)調(diào)用方或被調(diào)用方確認(rèn)服務(wù)調(diào)用方已與被調(diào)用服務(wù)之間建立租用關(guān)系后,該方法還包括判斷該被調(diào)用服務(wù)的當(dāng)前調(diào)用數(shù)量是否超過該被調(diào)用服務(wù)的并發(fā)控制閾值,如果是,則被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為拒絕調(diào)用;否則,被調(diào)用方將服務(wù)調(diào)用結(jié)果設(shè)置為允許調(diào)用。
全文摘要
本發(fā)明公開了一種在家庭網(wǎng)絡(luò)中設(shè)備間進(jìn)行服務(wù)調(diào)用的方法,包括服務(wù)調(diào)用方通過服務(wù)特征信息獲取調(diào)用服務(wù)和被調(diào)用服務(wù)的句柄,并用獲取的服務(wù)句柄向被調(diào)用方發(fā)服務(wù)調(diào)用請(qǐng)求;被調(diào)用方協(xié)議棧收到請(qǐng)求后,根據(jù)請(qǐng)求中的被調(diào)用服務(wù)句柄判斷該服務(wù)是否存在且該服務(wù)是否已與服務(wù)調(diào)用方建立租用關(guān)系,如果不是則結(jié)束,否則被調(diào)用方向服務(wù)調(diào)用方返回含有服務(wù)調(diào)用結(jié)果的服務(wù)調(diào)用響應(yīng);服務(wù)調(diào)用方協(xié)議棧收到響應(yīng)后,根據(jù)響應(yīng)中的調(diào)用服務(wù)句柄判斷該服務(wù)是否存在且該調(diào)用服務(wù)是否已與被調(diào)用方建立租用關(guān)系,如果是,則服務(wù)調(diào)用方與被調(diào)用方開始實(shí)際的服務(wù)調(diào)用交互過程;否則結(jié)束。該方法可使家庭網(wǎng)絡(luò)中的各個(gè)設(shè)備之間實(shí)現(xiàn)資源共享,且保證服務(wù)調(diào)用的可靠性。
文檔編號(hào)H04L12/66GK1482772SQ0215801
公開日2004年3月17日 申請(qǐng)日期2002年12月20日 優(yōu)先權(quán)日2002年12月20日
發(fā)明者劉向東, 羅予晉, 張淵毅, 黃景楠, 莊渭峰, 張德魁, 任艷頻, 李明, 孟闖, 姜珊 申請(qǐng)人:聯(lián)想(北京)有限公司