一種服務(wù)調(diào)用方法和設(shè)備及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種服務(wù)調(diào)用方法和設(shè)備,應(yīng)用于包含有服務(wù)模塊的能力開放系統(tǒng),其特征在于,所述能力開放系統(tǒng)中還設(shè)置有控制裝置,所述方法包括:控制裝置接收服務(wù)模塊發(fā)送的調(diào)用其它服務(wù)模塊的請求消息,請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型;控制裝置根據(jù)被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊;控制裝置將請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。通過采用本發(fā)明,使各服務(wù)模塊不需要直接與其他服務(wù)模塊通信,也不需要獲知其他模塊的地址,降低了模塊設(shè)計的復(fù)雜度,在加入新的模塊時,只需對控制裝置進(jìn)行修改,對于已有模塊只需要進(jìn)行簡單的更新,從而提高了能力開放系統(tǒng)的兼容性和可擴(kuò)展性。
【專利說明】一種服務(wù)調(diào)用方法和設(shè)備及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種服務(wù)調(diào)用方法和設(shè)備及系統(tǒng)。
【背景技術(shù)】
[0002]能力開放系統(tǒng)是指在整合和利用現(xiàn)有電信資源的基礎(chǔ)上,采用統(tǒng)一的多層級的開放接口來開放電信能力,聚集在互聯(lián)網(wǎng)上的開發(fā)者利用這些能力不斷創(chuàng)造出更好的商業(yè)應(yīng)用和服務(wù)。
[0003]如圖1所示,為現(xiàn)有技術(shù)中能力開放系統(tǒng)的系統(tǒng)架構(gòu)示意圖,其中,接入模塊、鑒權(quán)模塊、管理模塊等服務(wù)模塊用于執(zhí)行特定的業(yè)務(wù)邏輯,如特定Web服務(wù)?;趥鹘y(tǒng)Web服務(wù)方式來實(shí)現(xiàn)的能力開放系統(tǒng)中的各服務(wù)模塊以一種緊耦合的方式彼此兩兩間通信,形成網(wǎng)狀通信模式。這種方式顯著的特點(diǎn)就是將路由等與業(yè)務(wù)邏輯無關(guān)的部分與業(yè)務(wù)邏輯交融
在一起。
[0004]現(xiàn)有技術(shù)中任意兩個服務(wù)模塊之間的交互過程為:
(1)調(diào)用模塊發(fā)送SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議)請求;
(2)被調(diào)用模塊收到請求之后,通過內(nèi)部處理邏輯處理該請求,并將處理結(jié)果以SOAP形式返回給調(diào)用模塊。
[0005]對于同步Web Service (網(wǎng)絡(luò)服務(wù))調(diào)用方式,調(diào)用模塊發(fā)送請求之后,在被調(diào)用模塊處理請求的時間內(nèi),由于調(diào)用模塊發(fā)送SOAP請求和接收SOAP響應(yīng)是在同一個線程執(zhí)行的,因此調(diào)用模塊會一直等待被調(diào)用模塊的響應(yīng)。對于異步Web Service調(diào)用方式,調(diào)用模塊的主線程可以及時返回,繼續(xù)響應(yīng)其他事務(wù)。之后待被調(diào)用模塊處理完請求之后,將處理結(jié)果通知給調(diào)用模塊。
[0006]基于傳統(tǒng)Web服務(wù)方式來實(shí)現(xiàn)的能力開放系統(tǒng),通常采用同步調(diào)用方式,該同步調(diào)用方式存在以下缺點(diǎn):
(I)調(diào)用模塊需要知道被調(diào)用模塊的URI (Uniform Resource Location,統(tǒng)一資源定位符),以便基于服務(wù)模塊的URI進(jìn)行調(diào)用。如果將Web服務(wù)部署到新的位置(如更新服務(wù)模塊的URI ),則必須讓其他服務(wù)模塊獲知的新URI。
[0007](2)在服務(wù)運(yùn)行期間,調(diào)用模塊的線程必須阻塞。如果被調(diào)用模塊的響應(yīng)時間過長,則調(diào)用模塊會在接收到被調(diào)用模塊的響應(yīng)之前放棄所調(diào)用的請求。
[0008]現(xiàn)有技術(shù)中,為了解決上述問題,可采用異步方式實(shí)現(xiàn)服務(wù)模塊間的調(diào)用。異步方式雖然可以解決上述缺陷(2),但是,仍然需要各服務(wù)模塊預(yù)先獲知其他服務(wù)模塊的地址。另外,由于各服務(wù)模塊的接口可能不同,要求每個服務(wù)模塊能夠處理各種不同類型的消息,導(dǎo)致了模塊的設(shè)計十分復(fù)雜,且每當(dāng)加入新的服務(wù)模塊時,為了處理新加入的服務(wù)模塊發(fā)送的消息,需要進(jìn)行復(fù)雜繁瑣的操作以更新其他服務(wù)模塊,導(dǎo)致了能力開放系統(tǒng)的兼容性和擴(kuò)展性差。
【發(fā)明內(nèi)容】
[0009]本發(fā)明實(shí)施例提供一種服務(wù)調(diào)用方法和設(shè)備及系統(tǒng),以降低模塊設(shè)計的復(fù)雜度,并提高能力開放系統(tǒng)的兼容性和可擴(kuò)展性。
[0010]為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種服務(wù)調(diào)用方法,應(yīng)用于包含有服務(wù)模塊的能力開放系統(tǒng),所述能力開放系統(tǒng)中還設(shè)置有控制裝置,所述方法包括:
控制裝置接收服務(wù)模塊發(fā)送的調(diào)用其它服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型;
所述控制裝置根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊;
所述控制裝置將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
[0011]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列;
所述控制裝置接收到服務(wù)模塊發(fā)送的請求消息之后,還包括:將接收到的請求消息放入發(fā)送該請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列;
所述控制裝置將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊,具體包括:所述控制裝置從發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列中取出所述請求消息,將取出的請求消息放入確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述請求消息,將復(fù)制得到的請求消息發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊。
[0012]優(yōu)選的,所述控制裝置將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,還包括:
若所述控制裝置確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊未接收到所述請求消息,則再次復(fù)制所述請求消息并發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊;
若所述控制裝置確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊接收到所述請求消息,則從所述接收隊(duì)列中刪除所述請求消息。
[0013]優(yōu)選的,所述將請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,還包括:
所述控制裝置接收所述確定出的被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消
息,所述應(yīng)答消息中攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識;
所述控制裝置根據(jù)發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊;
所述控制裝置將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0014]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列;
所述控制裝置接收到所述確定出的被調(diào)用的服務(wù)模塊返回的應(yīng)答消息之后,還包括:將接收到的應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列;
所述控制裝置將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊,具體包括:所述控制裝置從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,將取出的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0015]優(yōu)選的,所述控制裝置將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊之后,還包括:
若所述控制裝置確認(rèn)發(fā)送所述請求消息的服務(wù)模塊未接收到所述應(yīng)答消息,則再次復(fù)制所述應(yīng)答消息并發(fā)送給發(fā)送所述請求消息的服務(wù)模塊; 若所述控制裝置確認(rèn)發(fā)送所述請求消息的服務(wù)模塊接收到所述應(yīng)答消息,則從所述接收隊(duì)列中刪除所述應(yīng)答消息。
[0016]優(yōu)選的,所述接收隊(duì)列和所述發(fā)送隊(duì)列為先進(jìn)先出隊(duì)列,所述控制裝置從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,具體包括:
所述控制裝置根據(jù)發(fā)送隊(duì)列中各應(yīng)答消息的時間先后順序從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出應(yīng)答消息;
所述控制裝置從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,具體包括:
所述控制裝置根據(jù)接收隊(duì)列中各應(yīng)答消息的時間先后順序復(fù)制應(yīng)答消息。
[0017]優(yōu)選的,所述控制裝置根據(jù)所請求的業(yè)務(wù)類型,將所述請求消息發(fā)送給所述被調(diào)用的服務(wù)模塊,具體包括:
若所請求的業(yè)務(wù)類型對應(yīng)至少兩個服務(wù)模塊,則所述控制裝置根據(jù)所述至少兩個服務(wù)模塊的負(fù)載或/和處理延遲從中選擇一個服務(wù)模塊,并將所述請求消息發(fā)送給選擇出的服務(wù)模塊。
[0018]本發(fā)明實(shí)施例還提供了一種控制裝置,應(yīng)用于包含有服務(wù)模塊的能力開放系統(tǒng),所述控制裝置包括:
接收單元,用于接收服務(wù)模塊發(fā)送的調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型;
控制單元,用于根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊;
發(fā)送單元,用于根據(jù)所述控制單元確定出的被調(diào)用的服務(wù)模塊,將所述接收單元接收到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
[0019]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元包括第一存儲子單元、第一復(fù)制子單元,
所述第一存儲子單元,用于在所述接收單元接收到所述請求消息后,將接收到的所述請求消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的請求消息取出,并將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列;
所述第一復(fù)制子單元,用于在所述第一存儲子單元將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述請求消息;
所述發(fā)送單元,具體用于將所述第一復(fù)制子單元復(fù)制得到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
[0020]優(yōu)選的,所述控制單元還包括第一確認(rèn)子單元、第一刪除子單元,
所述第一確認(rèn)子單元,用于在所述發(fā)送單元將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,并在確認(rèn)為是時,指示所述第一刪除子單元刪除請求消息,在確認(rèn)為否時,指示所述第一復(fù)制子單元復(fù)制所述請求消息;
所述第一復(fù)制子單元,還用于根據(jù)所述第一確認(rèn)子單元的指示,復(fù)制所述請求消息;所述第一刪除子單元,用于根據(jù)所述第一確認(rèn)子單元的指示,從所述接收隊(duì)列中刪除所述請求消息。[0021]優(yōu)選的,所述接收單元,還用于接收所述確定出的被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息,所述應(yīng)答消息中攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識;
所述控制單元,還用于根據(jù)所述發(fā)送請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊;
所述發(fā)送單元,還用于根據(jù)所述控制單元確定出的發(fā)送所述請求消息的服務(wù)模塊,將所述接收單元接收到的所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0022]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元包括第二存儲子單元、第二復(fù)制子單元,
所述第二存儲子單元,用于在所述接收單元接收到所述應(yīng)答消息之后,將接收到的所述應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的應(yīng)答消息取出,并將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列;
所述第二復(fù)制子單元,用于在所述第二存儲子單元將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息;
所述發(fā)送單元,具體用于將所述第二復(fù)制子單元復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0023]優(yōu)選的,所述控制單元還包括第二確認(rèn)子單元、第二刪除子單元,
所述第二確認(rèn)子單元,用于在所述發(fā)送單元將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,并在確認(rèn)為是時,指示所述第二刪除子單元刪除請求消息,在確認(rèn)為否時,指示所述第二復(fù)制子單元復(fù)制所述請求消息;
所述第二復(fù)制子單元,還用于根據(jù)所述第二確認(rèn)子單元的指示,復(fù)制所述應(yīng)答消息;所述第二刪除子單元,用于根據(jù)所述第二確認(rèn)子單元的指示,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
[0024]本發(fā)明實(shí)施例還提供了一種能力開放服務(wù)器,包含控制裝置和至少2個服務(wù)模塊;
所述服務(wù)模塊,用于向所述控制裝置發(fā)送調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型,以及用于接收所述控制裝置發(fā)送的所述被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息;
所述控制裝置,用于接收所述服務(wù)模塊發(fā)送的請求消息,并根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊,并將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊,以及用于接收所述被調(diào)用的服務(wù)模塊發(fā)送的攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識的所述應(yīng)答消息,并根據(jù)發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊,并將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0025]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,
所述控制裝置,還用于在接收到服務(wù)模塊發(fā)送的請求消息之后,將接收到的請求消息放入發(fā)送該請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及還用于從發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列中取出所述請求消息,并將取出的請求消息放入確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述請求消息,將復(fù)制得到的請求消息發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊。
[0026]優(yōu)選的,所述控制裝置,還用于在將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,以及還用于在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊未接收到所述請求消息后,再次復(fù)制所述請求消息并發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊,在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊接收到所述請求消息后,從所述接收隊(duì)列中刪除所述請求消息。
[0027]優(yōu)選的,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,
所述控制裝置,還用于在接收到所述確定出的被調(diào)用的服務(wù)模塊返回的應(yīng)答消息之后,將接收到的應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及還用于從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,將取出的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0028]優(yōu)選的,所述控制裝置,還用于在將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊之后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,以及還用于在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊未接收到所述應(yīng)答消息后,再次復(fù)制所述應(yīng)答消息并發(fā)送給發(fā)送所述請求消息的服務(wù)模塊,在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊接收到所述應(yīng)答消息后,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
[0029]優(yōu)選的,還包含適配模塊;
所述適配模塊,用于接收控制裝置發(fā)送的消息,將所述控制裝置發(fā)送的消息轉(zhuǎn)換為能力提供系統(tǒng)能夠解析的消息,并發(fā)送給所述能力提供系統(tǒng),以及用于接收能力提供系統(tǒng)發(fā)送的消息,并將所述能力提供系統(tǒng)發(fā)送的消息轉(zhuǎn)換為所述控制裝置能夠解析的消息,并發(fā)送給所述控制裝置。
[0030]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例至少具有以下優(yōu)點(diǎn):
通過在能力開發(fā)系統(tǒng)中設(shè)置控制裝置,由控制裝置根據(jù)服務(wù)模塊發(fā)送的請求消息中攜帶的被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型,將請求消息發(fā)送給被調(diào)用的服務(wù)模塊,使各服務(wù)模塊之間以松耦合的方式通過控制裝置進(jìn)行通信,從而使服務(wù)模塊不需要直接與其他服務(wù)模塊通信,也不需要獲知其他服務(wù)模塊的地址,降低了模塊設(shè)計的復(fù)雜度,在加入新的服務(wù)模塊時,只需要對控制裝置進(jìn)行修改,對于已有服務(wù)模塊只需要進(jìn)行簡單的更新,從而提高了能力開放系統(tǒng)的兼容性和可擴(kuò)展性。
【專利附圖】
【附圖說明】
[0031]圖1是現(xiàn)有技術(shù)中能力開放系統(tǒng)的系統(tǒng)架構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例提供的能力開放系統(tǒng)的系統(tǒng)架構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的服務(wù)模塊之間的調(diào)用流程示意圖;
圖4是本發(fā)明實(shí)施例提供的服務(wù)模塊之間的調(diào)用流程示意圖;
圖5是本發(fā)明實(shí)施例提供的服務(wù)模塊之間的調(diào)用流程示意圖;
圖6是本發(fā)明實(shí)施例提供的在能力開放系統(tǒng)下接入適配模塊以及能力提供系統(tǒng)后的系統(tǒng)架構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的控制裝置的結(jié)構(gòu)示意圖; 圖8是本發(fā)明實(shí)施例提供的在能力開放服務(wù)器下接入適配模塊以及能力提供系統(tǒng)后的系統(tǒng)架構(gòu)不意圖;
圖9是本發(fā)明實(shí)施例提供的能力開放服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032]下面將結(jié)合本發(fā)明中的附圖,對本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]如圖2所示,為本發(fā)明實(shí)施例提供的能力開放系統(tǒng)的系統(tǒng)架構(gòu)示意圖。該能力開放系統(tǒng)中設(shè)置有控制裝置,各服務(wù)模塊均與控制裝置具有通信連接,并通過控制裝置與其他服務(wù)模塊通信。
[0034]能力開放系統(tǒng)主要用于對用戶(即能力使用者)發(fā)送的能力調(diào)用請求進(jìn)行接入控制。能力開放系統(tǒng)中的服務(wù)模塊通常包括接入模塊、鑒權(quán)模塊,還可進(jìn)一步包括管理模塊,以及一些輔助功能模塊,比如業(yè)務(wù)統(tǒng)計模塊和告警模塊,當(dāng)然能力開放系統(tǒng)中的服務(wù)模塊并不限于上述幾種,根據(jù)需要可在此基礎(chǔ)上進(jìn)行增減。其中,接入模塊和鑒權(quán)模塊可相互配合以實(shí)現(xiàn)對該能力開放系統(tǒng)接收到的能力調(diào)用請求進(jìn)行接入控制,在對能力調(diào)用請求進(jìn)行接入控制過程中,接入模塊或/和鑒權(quán)模塊還可調(diào)用業(yè)務(wù)統(tǒng)計模塊進(jìn)行業(yè)務(wù)統(tǒng)計,調(diào)用告警模塊進(jìn)行業(yè)務(wù)告警等。
[0035]該能力開放系統(tǒng)可以是集中式系統(tǒng),即控制裝置和所有服務(wù)模塊均集中設(shè)置在一個網(wǎng)絡(luò)設(shè)備上,也可以是分布式系統(tǒng),即控制裝置和服務(wù)模塊至少由兩個獨(dú)立的網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn),各網(wǎng)絡(luò)設(shè)備間通過網(wǎng)絡(luò)進(jìn)行通信。
[0036]在各服務(wù)模塊中,配置有其他各模塊的標(biāo)識與相應(yīng)模塊的業(yè)務(wù)類型(即相應(yīng)模塊所執(zhí)行的業(yè)務(wù)邏輯的業(yè)務(wù)類型)的對應(yīng)關(guān)系,其中服務(wù)模塊的標(biāo)識用于在該能力開放系統(tǒng)中唯一標(biāo)識服務(wù)模塊,服務(wù)模塊的標(biāo)識可以是能夠唯一標(biāo)識服務(wù)模塊的任何信息。在控制裝置中預(yù)先配置有各服務(wù)模塊的標(biāo)識和地址的對應(yīng)關(guān)系,用于在控制裝置接收到服務(wù)模塊發(fā)送的攜帶有被調(diào)用服務(wù)模塊的標(biāo)識的請求消息后,根據(jù)請求消息中的被調(diào)用服務(wù)模塊的標(biāo)識查找該被調(diào)用服務(wù)模塊的地址,并根據(jù)查找到的地址,將該調(diào)用請求消息發(fā)送給相應(yīng)的被調(diào)用服務(wù)模塊。
[0037]需要說明的是,在本發(fā)明實(shí)施例中,能力開放系統(tǒng)中的服務(wù)模塊作為調(diào)用模塊還是被調(diào)用模塊,是由該服務(wù)模塊作為業(yè)務(wù)的調(diào)用者還是被調(diào)用者所決定的,即同一個服務(wù)模塊,在其調(diào)用其他服務(wù)模塊的業(yè)務(wù)時,該服務(wù)模塊為調(diào)用模塊,在其業(yè)務(wù)被其他服務(wù)模塊調(diào)用時,該服務(wù)模塊為被調(diào)用模塊。
[0038]基于上述能力開放系統(tǒng),服務(wù)模塊之間的調(diào)用流程可如圖3所示,包括以下步驟: 步驟301,控制裝置接收調(diào)用模塊發(fā)送的攜帶被調(diào)用模塊的標(biāo)識的請求消息,用于請求
調(diào)用被調(diào)用模塊。
[0039]其中,該請求消息中還可以攜帶調(diào)用模塊的標(biāo)識。具體的,在本發(fā)明實(shí)施例中,以調(diào)用模塊為接入模塊,被調(diào)用模塊為告警模塊為例進(jìn)行說明,其中,接入模塊的ID為001,告警模塊的ID為002,當(dāng)接入模塊接收到能力使用者發(fā)送的能力調(diào)用請求,需要調(diào)用告警業(yè)務(wù)時,接入模塊查找自身配置的各模塊的標(biāo)識與業(yè)務(wù)類型的對應(yīng)關(guān)系,獲知ID為002的模塊可以提供相應(yīng)服務(wù),并將被調(diào)用模塊ID (002)以及自身ID (001)攜帶在請求消息中發(fā)送給控制裝置。
[0040]步驟302,控制裝置將請求消息發(fā)送給與被調(diào)用模塊的標(biāo)識對應(yīng)的被調(diào)用模塊。
[0041]具體的,控制裝置在接收到請求消息后,解析出請求消息中攜帶的被調(diào)用模塊的ID為002,控制裝置查詢自身配置的各服務(wù)模塊的標(biāo)識和地址的對應(yīng)關(guān)系,獲知ID為002的服務(wù)模塊的地址為1.1.1.1,控制裝置將請求消息發(fā)送到目的地址為1.1.1.1的服務(wù)模塊。
[0042]步驟303,控制裝置接收被調(diào)用模塊根據(jù)請求消息返回的攜帶調(diào)用模塊標(biāo)識的應(yīng)答消息。
[0043]具體的,告警模塊接收到請求消息后,由請求消息中攜帶的調(diào)用模塊ID獲知發(fā)起調(diào)用請求的服務(wù)模塊的ID為001,告警模塊根據(jù)該請求消息進(jìn)行相應(yīng)告警判決,例如若用戶已使用的流量超過套餐限定流量,則告警模塊判定需要發(fā)出告警,此種情況下,告警模塊將相應(yīng)的告警信息攜帶在應(yīng)答消息中,并將接入模塊ID作為目的服務(wù)模塊的標(biāo)識攜帶在應(yīng)答消息中,并將應(yīng)答消息發(fā)送給控制裝置。
[0044]步驟304,控制裝置將應(yīng)答消息返回給發(fā)起該請求的服務(wù)模塊。
[0045]具體的,控制裝置接收到告警模塊發(fā)送的應(yīng)答消息后,解析出應(yīng)答消息中攜帶的作為接收方的服務(wù)模塊的ID為001,控制裝置查詢自身配置的各服務(wù)模塊的標(biāo)識和地址的對應(yīng)關(guān)系,獲知ID為001的服務(wù)模塊的地址為1.1.1.2,控制裝置將應(yīng)答消息發(fā)送到目的地址為1.1.1.2的服務(wù)模塊。
[0046]通過采用本發(fā)明實(shí)施例提供的方案,使各服務(wù)模塊不需要直接與其他服務(wù)模塊通信,也不需要獲知其他模塊的地址,降低了模塊設(shè)計的復(fù)雜度,在加入新的模塊時,只需要對控制裝置進(jìn)行修改,對于已有服務(wù)模塊只需要進(jìn)行簡單的更新,從而提高了能力開放系統(tǒng)的兼容性和可擴(kuò)展性。
[0047]本發(fā)明實(shí)施例還提供了一種能力開放系統(tǒng),其結(jié)構(gòu)與圖2所示的系統(tǒng)結(jié)構(gòu)相同,不同之處在于:各服務(wù)模塊中可以不用預(yù)先配置業(yè)務(wù)類型與其他各服務(wù)模塊的標(biāo)識的對應(yīng)關(guān)系;控制裝置中也可以不用預(yù)先配置模塊標(biāo)識和模塊地址的對應(yīng)關(guān)系,而是配置業(yè)務(wù)類型與模塊地址的對應(yīng)關(guān)系。
[0048]該系統(tǒng)中,提供相同業(yè)務(wù)的服務(wù)模塊可以有多個,即一種業(yè)務(wù)類型可以對應(yīng)多個服務(wù)模塊的地址,以實(shí)現(xiàn)服務(wù)模塊的負(fù)載均衡。
[0049]基于該能力開放系統(tǒng),服務(wù)模塊之間的調(diào)用流程可如圖4所示,包括以下步驟: 步驟401,控制裝置接收調(diào)用模塊發(fā)送的攜帶業(yè)務(wù)類型的請求消息,該業(yè)務(wù)類型表示該
調(diào)用模塊所請求的業(yè)務(wù)的類型。
[0050]步驟402,控制裝置根據(jù)該請求消息中攜帶的業(yè)務(wù)類型,將該請求消息發(fā)送給能夠提供相應(yīng)類型業(yè)務(wù)的被調(diào)用模塊。
[0051]具體的,控制裝置根據(jù)該業(yè)務(wù)類型查詢業(yè)務(wù)類型與服務(wù)模塊地址的對應(yīng)關(guān)系,若查詢到一個服務(wù)模塊的地址,則根據(jù)查詢到的地址將該請求消息發(fā)送給相應(yīng)服務(wù)模塊;若查詢到多個服務(wù)模塊的地址,則從這些服務(wù)模塊中選擇出一個,并根據(jù)選擇出的服務(wù)模塊的地址,將該請求消息發(fā)送給相應(yīng)服務(wù)模塊。[0052]控制裝置在選擇服務(wù)模塊時,可根據(jù)服務(wù)模塊的負(fù)載或處理延遲進(jìn)行選擇??刂蒲b置可以主動獲取能力開放系統(tǒng)中各服務(wù)模塊的負(fù)載信息,也可以由各服務(wù)模塊周期上報自身的負(fù)載信息,控制裝置可以從所請求的業(yè)務(wù)類型對應(yīng)的多個服務(wù)模塊中,選擇負(fù)載最低的服務(wù)模塊。控制裝置可以在與各服務(wù)模塊通信時,根據(jù)服務(wù)模塊的響應(yīng)時間,獲知各服務(wù)模塊的處理延遲信息,控制裝置可以從所請求的業(yè)務(wù)類型對應(yīng)的多個服務(wù)模塊中,選擇處理延遲最小的模塊。其中,對于集中式能力開放系統(tǒng),服務(wù)模塊的處理延遲主要是指服務(wù)模塊進(jìn)行業(yè)務(wù)處理的響應(yīng)時間;對于分布式能力開放系統(tǒng),服務(wù)模塊的處理延遲主要是指網(wǎng)絡(luò)通信延遲。
[0053]步驟403,控制裝置接收被調(diào)用模塊根據(jù)請求消息返回的攜帶調(diào)用模塊標(biāo)識的應(yīng)答消息。
[0054]步驟404,控制裝置將應(yīng)答消息返回給發(fā)起該請求的服務(wù)模塊。
[0055]通過采用本發(fā)明實(shí)施例提供的方案,使控制裝置可以根據(jù)各服務(wù)模塊的負(fù)載和處理延遲優(yōu)化請求消息的發(fā)送策略,從而在提高能力開放系統(tǒng)的兼容性和可擴(kuò)展性的基礎(chǔ)上,進(jìn)一步實(shí)現(xiàn)能力開放系統(tǒng)的負(fù)載分擔(dān)。
[0056]考慮到控制裝置的線程數(shù)量有限,當(dāng)控制裝置接收到大量請求消息或/和應(yīng)答消息時,有限的線程不足以同時處理所有消息,此時需要暫時緩存不能及時處理的消息,同時,通過緩存消息,還可以避免當(dāng)調(diào)用模塊或被調(diào)用模塊故障時,請求消息或應(yīng)答消息丟失,因此,在本發(fā)明的另一實(shí)施例中,在以上各能力開放系統(tǒng)的基礎(chǔ)上,為其中的每個服務(wù)模塊設(shè)置了發(fā)送隊(duì)列和接收隊(duì)列,發(fā)送隊(duì)列用于緩存調(diào)用模塊向控制裝置發(fā)送的請求消息和被調(diào)用模塊想控制裝置發(fā)送的應(yīng)答消息,接收隊(duì)列用于緩存控制裝置發(fā)送的請求消息和應(yīng)答消息。
[0057]基于設(shè)置了接收隊(duì)列和發(fā)送隊(duì)列的能力開放系統(tǒng),服務(wù)模塊之間的調(diào)用流程可如圖5所示,包括以下步驟:
步驟501,控制裝置接收調(diào)用模塊發(fā)送的攜帶被調(diào)用模塊的標(biāo)識的請求消息。
[0058]步驟502,控制裝置將該請求消息放入該調(diào)用模塊對應(yīng)的發(fā)送隊(duì)列。
[0059]步驟503,控制裝置根據(jù)該發(fā)送隊(duì)列的隊(duì)列機(jī)制(如先進(jìn)先出)從調(diào)用模塊對應(yīng)的發(fā)送隊(duì)列中取出請求消息,并將取出的請求消息發(fā)送給被調(diào)用模塊對應(yīng)的接收隊(duì)列。
[0060]步驟504,控制裝置根據(jù)該接收隊(duì)列的隊(duì)列機(jī)制(如先進(jìn)先出)復(fù)制該接收隊(duì)列中的一個或多個請求消息,將復(fù)制的請求消息發(fā)送給被調(diào)用模塊。此處,可根據(jù)被調(diào)用模塊的標(biāo)識或所請求的業(yè)務(wù)的類型,將該請求消息發(fā)送給被調(diào)用模塊,其具體實(shí)現(xiàn)同前所述,在此不再贅述。
[0061]該步驟中,為了避免請求消息被重復(fù)取出,控制裝置在從接收隊(duì)列中取請求消息時,取沒有被標(biāo)記的請求消息,在取得請求消息后,可對取到的請求消息進(jìn)行標(biāo)記,以指示相應(yīng)請求消息已經(jīng)被發(fā)送給被調(diào)用模塊。
[0062]進(jìn)一步的,若有多個服務(wù)模塊對應(yīng)的接收隊(duì)列中均有請求消息,則控制裝置可采用輪詢機(jī)制或其它方式,依次從這些接收隊(duì)列中取得請求消息。
[0063]步驟505,控制裝置根據(jù)是否成功將該請求消息成功發(fā)送給被調(diào)用模塊,進(jìn)行后續(xù)相應(yīng)處理。若將該請求消息成功發(fā)送給被調(diào)用模塊,則執(zhí)行步驟506,否則執(zhí)行步驟507。
[0064]控制裝置可根據(jù)被調(diào)用模塊的反饋,判斷是否成功將請求消息發(fā)送給被調(diào)用模塊。本發(fā)明實(shí)施例要求服務(wù)模塊在收到請求消息后,向控制裝置反饋響應(yīng)消息,以將自己已接收到請求消息的情況通知給控制裝置。若控制裝置在發(fā)送出去請求消息后,在設(shè)定長時間內(nèi)接收到被調(diào)用模塊返回的用于通知已接收到請求消息的響應(yīng)消息,則判定已成功將請求消息發(fā)送給被調(diào)用模塊;若控制裝置在發(fā)送出去請求消息后,在設(shè)定長時間內(nèi)未接收到被調(diào)用模塊返回的用于通知已接收到請求消息的響應(yīng)消息,則判定未成功將請求消息發(fā)送給被調(diào)用模塊。
[0065]步驟506,控制裝置刪除該被調(diào)用模塊對應(yīng)的接收隊(duì)列中已經(jīng)成功被該被調(diào)用模塊接收的請求消息。
[0066]步驟507,對于調(diào)用模塊發(fā)出的未能被被調(diào)用模塊成功接收的請求消息,控制裝置從該被調(diào)用模塊對應(yīng)的接收隊(duì)列中復(fù)制該請求消息,并將其發(fā)送給被調(diào)用模塊,然后轉(zhuǎn)入步驟505。
[0067]步驟508,控制裝置接收被調(diào)用模塊根據(jù)請求消息返回的應(yīng)答消息。
[0068]步驟509,控制裝置將該應(yīng)答消息放入該被調(diào)用模塊對應(yīng)的發(fā)送隊(duì)列。
[0069]步驟510,控制裝置根據(jù)該發(fā)送隊(duì)列的隊(duì)列機(jī)制(如先進(jìn)先出)從被調(diào)用模塊對應(yīng)的發(fā)送隊(duì)列中取出應(yīng)答消息,并將取出的應(yīng)答消息發(fā)送給調(diào)用模塊對應(yīng)的接收隊(duì)列。
[0070]步驟511,控制裝置根據(jù)該接收隊(duì)列的隊(duì)列機(jī)制(如先進(jìn)先出)復(fù)制該接收隊(duì)列中的一個或多個應(yīng)答消息,根據(jù)發(fā)起相應(yīng)請求消息的調(diào)用模塊的標(biāo)識,將復(fù)制的應(yīng)答消息發(fā)送給該調(diào)用模塊。
[0071]該步驟中,為了避免應(yīng)答消息被重復(fù)取出,控制裝置在從接收隊(duì)列中取應(yīng)答消息時,取沒有被標(biāo)記的應(yīng)答消息,在取得應(yīng)答消息后,可對取到的應(yīng)答息進(jìn)行標(biāo)記,以指示相應(yīng)應(yīng)答消息已經(jīng)被發(fā)送給調(diào)用模塊。
[0072]進(jìn)一步的,若有多個服務(wù)模塊對應(yīng)的接收隊(duì)列中均有應(yīng)答消息,則控制裝置可采用輪詢機(jī)制或其它方式,依次從這些接收隊(duì)列中取得應(yīng)答消息。
[0073]步驟512,控制裝置根據(jù)是否成功將該應(yīng)答消息發(fā)送給調(diào)用模塊,進(jìn)行后續(xù)相應(yīng)處理。若控制裝置判斷已成功將該應(yīng)答消息發(fā)送給調(diào)用模塊,則執(zhí)行步驟513,否則執(zhí)行步驟514。
[0074]同前所述,控制裝置可根據(jù)調(diào)用模塊的反饋,判斷是否成功將應(yīng)答消息發(fā)送給調(diào)用模塊。
[0075]步驟513,控制裝置刪除該被調(diào)用模塊對應(yīng)的接收隊(duì)列中已經(jīng)成功被調(diào)用模塊接收的應(yīng)答消息。
[0076]步驟514,對于被調(diào)用模塊發(fā)出的未能被調(diào)用模塊成功接收的應(yīng)答消息,控制裝置從該調(diào)用模塊對應(yīng)的接收隊(duì)列中復(fù)制該應(yīng)答消息,并將其發(fā)送給調(diào)用模塊,然后轉(zhuǎn)入步驟512。
[0077]考慮到一些服務(wù)模塊需要按照請求消息的發(fā)送時間順序,接收并處理相應(yīng)的響應(yīng)消息,因此優(yōu)選的,各服務(wù)模塊所對應(yīng)的接收隊(duì)列和發(fā)送隊(duì)列均采用先進(jìn)先出的隊(duì)列機(jī)制。
[0078]通過采用本發(fā)明實(shí)施例提供的方案,使控制裝置可以通過接收隊(duì)列和發(fā)送隊(duì)列緩存請求消息和應(yīng)答消息,從而在服務(wù)模塊發(fā)生故障未能成功接收請求消息或應(yīng)答消息時,避免因請求消息或應(yīng)答消息丟失導(dǎo)致的調(diào)用失敗,以在提高能力開放系統(tǒng)的兼容性和可擴(kuò)展性的基礎(chǔ)上,進(jìn)一步提高能力開放系統(tǒng)的穩(wěn)定性。[0079]考慮到能力開放系統(tǒng)通常連接有能力提供系統(tǒng),用以向業(yè)務(wù)開發(fā)者和業(yè)務(wù)使用者提供接入能力開放系統(tǒng)的接口,為了使能力開放系統(tǒng)與能力提供系統(tǒng)更好的進(jìn)行通信,在本發(fā)明實(shí)施例中優(yōu)選的,如圖6所示,可以在能力開放系統(tǒng)中增加適配模塊,該適配模塊連接在控制裝置和能力提供系統(tǒng)之間,通過適配模塊,可以實(shí)現(xiàn)能力提供系統(tǒng)的接口和能力開放系統(tǒng)的接口之間的協(xié)議適配,即,將能力提供系統(tǒng)和能力開放系統(tǒng)向?qū)Ψ桨l(fā)送的消息轉(zhuǎn)換為對方可以解析的消息。
[0080]對于本發(fā)明提出的如圖6所示的系統(tǒng)架構(gòu)圖,當(dāng)需要增加新的能力提供系統(tǒng)時,僅需要針對新接入的能力提供系統(tǒng)的接口上配置的協(xié)議,開發(fā)相應(yīng)的適配模塊,再在能力開放系統(tǒng)中增加該能力提供系統(tǒng)的配置信息即可。
[0081]通過采用本發(fā)明實(shí)施例提供的方案,使用適配模塊實(shí)現(xiàn)能力提供系統(tǒng)的接口和能力開放系統(tǒng)的接口之間的協(xié)議適配,從而避免因能力提供系統(tǒng)和能力開放系統(tǒng)的協(xié)議不同,對能力開放系統(tǒng)的接口進(jìn)行改進(jìn),進(jìn)而實(shí)現(xiàn)在提高能力開放系統(tǒng)的兼容性和可擴(kuò)展性的基礎(chǔ)上,降低能力開放系統(tǒng)的開發(fā)和維護(hù)成本。
[0082]如前所述,本發(fā)明實(shí)施例提供的能力開放系統(tǒng)可以是分布式系統(tǒng),也可以是集中式系統(tǒng),相應(yīng)的,本發(fā)明實(shí)施例還提供了一種可用于上述分布式系統(tǒng)的控制裝置,以及一種可實(shí)現(xiàn)上述集中式系統(tǒng)的能力開放服務(wù)器。
[0083]如圖7所示,本發(fā)明實(shí)施例提供的控制裝置可由網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn),優(yōu)選的,可由獨(dú)立的服務(wù)器實(shí)現(xiàn),該控制裝置包括:
接收單元710,用于接收服務(wù)模塊發(fā)送的調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型;
控制單元720,用于根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊;
發(fā)送單元730,用于根據(jù)所述控制單元720確定出的被調(diào)用的服務(wù)模塊,將所述接收單元710接收到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
[0084]各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元720包括第一存儲子單元721、第一復(fù)制子單元722,
所述第一存儲子單元721,用于在所述接收單元710接收到所述請求消息后,將接收到的所述請求消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的請求消息取出,并將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列;
所述第一復(fù)制子單元722,用于在所述第一存儲子單元721將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述請求消息;
所述發(fā)送單元730,具體用于將所述第一復(fù)制子單元722復(fù)制得到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
[0085]所述控制單元720還包括第一確認(rèn)子單元723、第一刪除子單元724,
所述第一確認(rèn)子單元723,用于在所述發(fā)送單元730將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,并在確認(rèn)為是時,指示所述第一刪除子單元724刪除請求消息,在確認(rèn)為否時,指示所述第一復(fù)制子單元722復(fù)制所述請求消息;
所述第一復(fù)制子單元722,還用于根據(jù)所述第一確認(rèn)子單元723的指示,復(fù)制所述請求消息;
所述第一刪除子單元724,用于根據(jù)所述第一確認(rèn)子單元723的指示,從所述接收隊(duì)列中刪除所述請求消息。
[0086]所述接收單元710,還用于接收所述確定出的被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息,所述應(yīng)答消息中攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識;
所述控制單元720,還用于根據(jù)所述發(fā)送請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊;
所述發(fā)送單元730,還用于根據(jù)所述控制單元720確定出的發(fā)送所述請求消息的服務(wù)模塊,將所述接收單元710接收到的所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0087]各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元720包括第二存儲子單元725、第二復(fù)制子單元726,
所述第二存儲子單元725,用于在所述接收單元710接收到所述應(yīng)答消息之后,將接收到的所述應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的應(yīng)答消息取出,并將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列;
所述第二復(fù)制子單元726,用于在所述第二存儲子單元725將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息;所述發(fā)送單元730,具體用于將所述第二復(fù)制子單元726復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0088]所述控制單元720還包括第二確認(rèn)子單元727、第二刪除子單元728,
所述第二確認(rèn)子單元727,用于在所述發(fā)送單元730將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,并在確認(rèn)為是時,指示所述第二刪除子單元728刪除請求消息,在確認(rèn)為否時,指示所述第二復(fù)制子單元726復(fù)制所述請求消息;
所述第二復(fù)制子單元726,還用于根據(jù)所述第二確認(rèn)子單元727的指示,復(fù)制所述應(yīng)答消息;
所述第二刪除子單元728,用于根據(jù)所述第二確認(rèn)子單元727的指示,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
[0089]可實(shí)現(xiàn)上述集中式系統(tǒng)的能力開放服務(wù)器,其架構(gòu)可如圖8所示,該架構(gòu)與前述的能力開放系統(tǒng)結(jié)構(gòu)類似,包括控制裝置和至少一個服務(wù)模塊??刂蒲b置和服務(wù)模塊的功能與分布式系統(tǒng)相同,在此不再贅述;與分布式系統(tǒng)不同的是,控制裝置和服務(wù)模塊之間的通信機(jī)制為服務(wù)器內(nèi)部通信機(jī)制。
[0090]如圖9所示,本發(fā)明實(shí)施例提供的控制裝置可由網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn),優(yōu)選的,可由集中式的服務(wù)器實(shí)現(xiàn),該服務(wù)器包括:
所述服務(wù)模塊910,用于向所述控制裝置發(fā)送調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型,以及用于接收所述控制裝置發(fā)送的所述被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息; 所述控制裝置920,用于接收所述服務(wù)模塊發(fā)送的請求消息,并根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊,并將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊,以及用于接收所述被調(diào)用的服務(wù)模塊發(fā)送的攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識的所述應(yīng)答消息,并根據(jù)發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊,并將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0091]各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,
所述控制裝置920,還用于在接收到服務(wù)模塊發(fā)送的請求消息之后,將接收到的請求消息放入發(fā)送該請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及還用于從發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列中取出所述請求消息,并將取出的請求消息放入確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述請求消息,將復(fù)制得到的請求消息發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊。
[0092]所述控制裝置920,還用于在將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,以及還用于在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊未接收到所述請求消息后,再次復(fù)制所述請求消息并發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊,在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊接收到所述請求消息后,從所述接收隊(duì)列中刪除所述請求消息。
[0093]各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,
所述控制裝置920,還用于在接收到所述確定出的被調(diào)用的服務(wù)模塊返回的應(yīng)答消息之后,將接收到的應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及還用于從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,將取出的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
[0094]所述控制裝置920,還用于在將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊之后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,以及還用于在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊未接收到所述應(yīng)答消息后,再次復(fù)制所述應(yīng)答消息并發(fā)送給發(fā)送所述請求消息的服務(wù)模塊,在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊接收到所述應(yīng)答消息后,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
[0095]還包含適配模塊930 ;
所述適配模塊930,用于接收控制裝置920發(fā)送的消息,將所述控制裝置920發(fā)送的消息轉(zhuǎn)換為能力提供系統(tǒng)能夠解析的消息,并發(fā)送給所述能力提供系統(tǒng),以及用于接收能力提供系統(tǒng)發(fā)送的消息,并將所述能力提供系統(tǒng)發(fā)送的消息轉(zhuǎn)換為所述控制裝置920能夠解析的消息,并發(fā)送給所述控制裝置920。
[0096]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述的方法。
[0097]本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
[0098]本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個或多個裝置中。上述實(shí)施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。
[0099]上述本發(fā)明實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0100]以上公開的僅為本發(fā)明的幾個具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種服務(wù)調(diào)用方法,應(yīng)用于包含有服務(wù)模塊的能力開放系統(tǒng),其特征在于,所述能力開放系統(tǒng)中還設(shè)置有控制裝置,所述方法包括: 控制裝置接收服務(wù)模塊發(fā)送的調(diào)用其它服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型; 所述控制裝置根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊; 所述控制裝置將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
2.如權(quán)利要求1所述的方法,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列; 所述控制裝置接收到服務(wù)模塊發(fā)送的請求消息之后,還包括:將接收到的請求消息放入發(fā)送該請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列; 所述控制裝置將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊,具體包括:所述控制裝置從發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列中取出所述請求消息,將取出的請求消息放入確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述請求消息,將復(fù)制得到的請求消息發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊。
3.如權(quán)利要求2所述的方法,其特征在于,所述控制裝置將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,還包括: 若所述控制裝置確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊未接收到所述請求消息,則再次復(fù)制所述請求消息并發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊; 若所述控制裝置確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊接收到所述請求消息,則從所述接收隊(duì)列中刪除所述請求消息。
4.如權(quán)利要求1所述的方法,其特征在于,所述將請求消息發(fā)送給確定出的被調(diào)用的服務(wù)1吳塊之后,還包括: 所述控制裝置接收所述確定出的被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息,所述應(yīng)答消息中攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識; 所述控制裝置根據(jù)發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊; 所述控制裝置將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
5.如權(quán)利要求4所述的方法,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列; 所述控制裝置接收到所述確定出的被調(diào)用的服務(wù)模塊返回的應(yīng)答消息之后,還包括:將接收到的應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列; 所述控制裝置將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊,具體包括:所述控制裝置從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,將取出的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
6.如權(quán)利要求5所述的方法,其特征在于,所述控制裝置將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊之后,還包括: 若所述控制裝置確認(rèn)發(fā)送所述請求消息的服務(wù)模塊未接收到所述應(yīng)答消息,則再次復(fù)制所述應(yīng)答消息并發(fā)送給發(fā)送所述請求消息的服務(wù)模塊; 若所述控制裝置確認(rèn)發(fā)送所述請求消息的服務(wù)模塊接收到所述應(yīng)答消息,則從所述接收隊(duì)列中刪除所述應(yīng)答消息。
7.如權(quán)利要求5所述的方法,其特征在于,所述接收隊(duì)列和所述發(fā)送隊(duì)列為先進(jìn)先出隊(duì)列,所述控制裝置從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,具體包括: 所述控制裝置根據(jù)發(fā)送隊(duì)列中各應(yīng)答消息的時間先后順序從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出應(yīng)答消息; 所述控制裝置從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,具體包括: 所述控制裝置根據(jù)接收隊(duì)列中各應(yīng)答消息的時間先后順序復(fù)制應(yīng)答消息。
8.如權(quán)利要求1所述的方法,其特征在于,所述控制裝置根據(jù)所請求的業(yè)務(wù)類型,將所述請求消息發(fā)送給所述被調(diào)用的服務(wù)模塊,具體包括: 若所請求的業(yè)務(wù)類型對應(yīng)至少兩個服務(wù)模塊,則所述控制裝置根據(jù)所述至少兩個服務(wù)模塊的負(fù)載或/和處理延遲從中選擇一個服務(wù)模塊,并將所述請求消息發(fā)送給選擇出的服務(wù)模塊。
9.一種控制裝置,應(yīng)用于包含有服務(wù)模塊的能力開放系統(tǒng),其特征在于,所述控制裝置包括: 接收單元,用于接收服務(wù)模塊發(fā)送的調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型; 控制單元,用于根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊; 發(fā)送單元,用于根據(jù)所述控制單元確定出的被調(diào)用的服務(wù)模塊,將所述接收單元接收到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
10.如權(quán)利要求9所述的控制裝置,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元包括第一存儲子單元、第一復(fù)制子單元, 所述第一存儲子單元,用于在所述接收單元接收到所述請求消息后,將接收到的所述請求消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的請求消息取出,并將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列; 所述第一復(fù)制子單元,用于在所述第一存儲子單元將取出的請求消息放入所述確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述請求消息; 所述發(fā)送單元,具體用于將所述第一復(fù)制子單元復(fù)制得到的所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊。
11.如權(quán)利要求10所述的控制裝置,其特征在于,所述控制單元還包括第一確認(rèn)子單元、第一刪除子單元, 所述第一確認(rèn)子單元,用于在所述發(fā)送單元將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,并在確認(rèn)為是時,指示所述第一刪除子單元刪除請求消息,在確認(rèn)為否時,指示所述第一復(fù)制子單元復(fù)制所述請求消息;所述第一復(fù)制子單元,還用于根據(jù)所述第一確認(rèn)子單元的指示,復(fù)制所述請求消息; 所述第一刪除子單元,用于根據(jù)所述第一確認(rèn)子單元的指示,從所述接收隊(duì)列中刪除所述請求消息。
12.如權(quán)利要求9所述的控制裝置,其特征在于,所述接收單元,還用于接收所述確定出的被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息,所述應(yīng)答消息中攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識; 所述控制單元,還用于根據(jù)所述發(fā)送請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊; 所述發(fā)送單元,還用于根據(jù)所述控制單元確定出的發(fā)送所述請求消息的服務(wù)模塊,將所述接收單元接收到的所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
13.如權(quán)利要求12所述的控制裝置,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列,所述控制單元包括第二存儲子單元、第二復(fù)制子單元, 所述第二存儲子單元,用于在所述接收單元接收到所述應(yīng)答消息之后,將接收到的所述應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及用于將所述發(fā)送隊(duì)列中的應(yīng)答消息取出,并將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列; 所述第二復(fù)制子單元,用于在所述第二存儲子單元將取出的應(yīng)答消息放入發(fā)送所述請求消息的服務(wù)模塊對應(yīng)的接收隊(duì)列后,從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息; 所述發(fā)送單元,具體用于將所述第二復(fù)制子單元復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
14.如權(quán)利要求13所 述的控制裝置,其特征在于,所述控制單元還包括第二確認(rèn)子單元、第二刪除子單元, 所述第二確認(rèn)子單元,用于在所述發(fā)送單元將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,并在確認(rèn)為是時,指示所述第二刪除子單元刪除請求消息,在確認(rèn)為否時,指示所述第二復(fù)制子單元復(fù)制所述請求消息; 所述第二復(fù)制子單元,還用于根據(jù)所述第二確認(rèn)子單元的指示,復(fù)制所述應(yīng)答消息; 所述第二刪除子單元,用于根據(jù)所述第二確認(rèn)子單元的指示,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
15.一種能力開放服務(wù)器,其特征在于,包含控制裝置和至少2個服務(wù)模塊; 所述服務(wù)模塊,用于向所述控制裝置發(fā)送調(diào)用其他服務(wù)模塊的請求消息,所述請求消息中攜帶了被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型,以及用于接收所述控制裝置發(fā)送的所述被調(diào)用的服務(wù)模塊根據(jù)所述請求消息返回的應(yīng)答消息; 所述控制裝置,用于接收所述服務(wù)模塊發(fā)送的請求消息,并根據(jù)所述被調(diào)用的服務(wù)模塊的標(biāo)識或所請求的業(yè)務(wù)類型確定被調(diào)用的服務(wù)模塊,并將所述請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊,以及用于接收所述被調(diào)用的服務(wù)模塊發(fā)送的攜帶了發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識的所述應(yīng)答消息,并根據(jù)發(fā)送所述請求消息的服務(wù)模塊的標(biāo)識確定發(fā)送所述請求消息的服務(wù)模塊,并將所述應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
16.如權(quán)利要求15所述的能力開放服務(wù)器,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列, 所述控制裝置,還用于在接收到服務(wù)模塊發(fā)送的請求消息之后,將接收到的請求消息放入發(fā)送該請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列,以及還用于從發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的發(fā)送隊(duì)列中取出所述請求消息,并將取出的請求消息放入確定出的被調(diào)用的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述請求消息,將復(fù)制得到的請求消息發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊。
17.如權(quán)利要求16所述的能力開放服務(wù)器,其特征在于,所述控制裝置,還用于在將復(fù)制得到的請求消息發(fā)送給確定出的被調(diào)用的服務(wù)模塊之后,確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊是否接收到所述請求消息,以及還用于在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊未接收到所述請求消息后,再次復(fù)制所述請求消息并發(fā)送給所述確定出的被調(diào)用的服務(wù)模塊,在確認(rèn)所述確定出的被調(diào)用的服務(wù)模塊接收到所述請求消息后,從所述接收隊(duì)列中刪除所述請求消息。
18.如權(quán)利要求15所述的能力開放服務(wù)器,其特征在于,各服務(wù)模塊對應(yīng)設(shè)置有接收隊(duì)列和發(fā)送隊(duì)列, 所述控制裝置,還用于在接收到所述確定出的被調(diào)用的服務(wù)模塊返回的應(yīng)答消息之后,將接收到的應(yīng)答消息放入所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列,以及還用于從所述確定出的被調(diào)用的服務(wù)模塊對應(yīng)的發(fā)送隊(duì)列中取出所述應(yīng)答消息,將取出的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊所對應(yīng)的接收隊(duì)列,并從所述接收隊(duì)列中復(fù)制所述應(yīng)答消息,將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊。
19.如權(quán)利要求18所述的能力開放服務(wù)器,其特征在于, 所述控制裝置,還用于在將復(fù)制得到的應(yīng)答消息發(fā)送給發(fā)送所述請求消息的服務(wù)模塊之后,確認(rèn)發(fā)送所述請求消息的服務(wù)模塊是否接收到所述應(yīng)答消息,以及還用于在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊未接收到所述應(yīng)答消息后,再次復(fù)制所述應(yīng)答消息并發(fā)送給發(fā)送所述請求消息的服務(wù)模塊,在確認(rèn)發(fā)送所述請求消息的服務(wù)模塊接收到所述應(yīng)答消息后,從所述接收隊(duì)列中刪除所述應(yīng)答消息。
20.如權(quán)利要求15所述的能力開放服務(wù)器,其特征在于,還包含適配模塊; 所述適配模塊,用于接收控制裝置發(fā)送的消息,將所述控制裝置發(fā)送的消息轉(zhuǎn)換為能力提供系統(tǒng)能夠解析的消息,并發(fā)送給所述能力提供系統(tǒng),以及用于接收能力提供系統(tǒng)發(fā)送的消息,并將所述能力提供系統(tǒng)發(fā)送的消息轉(zhuǎn)換為所述控制裝置能夠解析的消息,并發(fā)送給所述控制裝置。
【文檔編號】H04L29/06GK103812838SQ201210453028
【公開日】2014年5月21日 申請日期:2012年11月13日 優(yōu)先權(quán)日:2012年11月13日
【發(fā)明者】李錦枝 申請人:中國移動通信集團(tuán)公司