專利名稱:處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)以及發(fā)送、接收方法
技術(shù)領(lǐng)域:
本發(fā)明涉及消息分發(fā)技術(shù),尤其涉及一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)以及發(fā)送、接收方法。
背景技術(shù):
隨著社會(huì)信息化進(jìn)程的不斷推進(jìn),電信業(yè)務(wù)的發(fā)展進(jìn)入了新階段,在用戶對(duì)傳統(tǒng)語(yǔ)音業(yè)務(wù)的需求得到基本滿足之后,提供基于寬帶網(wǎng)絡(luò)的數(shù)據(jù)增值業(yè)務(wù)、已經(jīng)成為新階段運(yùn)營(yíng)商發(fā)展的新方向,由此,運(yùn)營(yíng)商基于多種承載網(wǎng)絡(luò),包括互聯(lián)網(wǎng)絡(luò)、固定電話網(wǎng)絡(luò)、移動(dòng)網(wǎng)絡(luò),為用戶提供了越來(lái)越多的數(shù)據(jù)增值業(yè)務(wù)。因?yàn)檫\(yùn)營(yíng)商在上述各自獨(dú)立的多種承載網(wǎng)絡(luò)中,分別提供業(yè)務(wù),所以當(dāng)提供多種業(yè)務(wù)給用戶時(shí),需要構(gòu)建多種接入網(wǎng)絡(luò)。接入網(wǎng)絡(luò)之間不能相互融合,不僅增加了運(yùn)營(yíng)商相應(yīng)的網(wǎng)絡(luò)建設(shè)成本,而且難以為用戶提供更好的業(yè)務(wù)。
針對(duì)上述接入網(wǎng)絡(luò)之間不能相互融合的問(wèn)題,現(xiàn)有技術(shù)采用的方法為采用parlay x技術(shù)實(shí)現(xiàn)一網(wǎng)接入多種業(yè)務(wù)。也就是說(shuō),通過(guò)parlay x技術(shù)把多種網(wǎng)絡(luò)協(xié)議封裝在一個(gè)協(xié)議網(wǎng)關(guān)層,使得接入網(wǎng)絡(luò)之間相互融合,并為運(yùn)營(yíng)商提供接入網(wǎng)絡(luò)承載能力,獲得網(wǎng)絡(luò)承載能力,就可以在此基礎(chǔ)上靈活的部署新的增值業(yè)務(wù)和為用戶提供多種業(yè)務(wù)。這里,所述parlay x技術(shù)是parlay組織在parlay規(guī)范基礎(chǔ)上提出的、新的開放業(yè)務(wù)架構(gòu)規(guī)范,它既繼承了parlay規(guī)范開放網(wǎng)絡(luò)業(yè)務(wù)能力的特性,又對(duì)parlay規(guī)范進(jìn)行了抽象和簡(jiǎn)化。
關(guān)于網(wǎng)絡(luò)承載能力,是指接入的不同網(wǎng)絡(luò)融合后,在融合的網(wǎng)絡(luò)中,當(dāng)提供多種業(yè)務(wù)時(shí),網(wǎng)絡(luò)能承載業(yè)務(wù)運(yùn)行的能力。舉個(gè)例子來(lái)說(shuō),發(fā)起呼叫轉(zhuǎn)接業(yè)務(wù)時(shí),根據(jù)被叫用戶的手機(jī)號(hào)碼,調(diào)用相應(yīng)的網(wǎng)絡(luò)承載能力,所用到的網(wǎng)絡(luò)承載能力是話音能力;發(fā)起短信查收郵件業(yè)務(wù)時(shí),根據(jù)用戶發(fā)送的手機(jī)號(hào)碼,調(diào)用相應(yīng)的網(wǎng)絡(luò)承載能力,查詢數(shù)據(jù)庫(kù)中手機(jī)號(hào)碼綁定的郵箱,將其未讀郵件信息返回到用戶終端,所用到的網(wǎng)絡(luò)承載能力是短消息、郵件能力。
現(xiàn)有技術(shù)采用的方法具體應(yīng)用在兩層結(jié)構(gòu)的系統(tǒng)上,如圖1所示,現(xiàn)有技術(shù)兩層結(jié)構(gòu)組成的系統(tǒng),包括相連的業(yè)務(wù)應(yīng)用層11和協(xié)議網(wǎng)關(guān)層12,其中,業(yè)務(wù)應(yīng)用層11內(nèi)包括一個(gè)或一個(gè)以上業(yè)務(wù)實(shí)例模塊,業(yè)務(wù)應(yīng)用層11具體通過(guò)業(yè)務(wù)實(shí)例模塊與協(xié)議網(wǎng)關(guān)層12相連。每個(gè)業(yè)務(wù)實(shí)例模塊是針對(duì)如呼叫轉(zhuǎn)接業(yè)務(wù)、第三方呼叫業(yè)務(wù)、短信定位業(yè)務(wù)、短信接收郵件業(yè)務(wù)等具體業(yè)務(wù)請(qǐng)求,生成的與該請(qǐng)求具體業(yè)務(wù)應(yīng)用相應(yīng)的實(shí)例,每個(gè)業(yè)務(wù)實(shí)例模塊均用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11與協(xié)議網(wǎng)關(guān)層12之間的雙向通信,以及實(shí)現(xiàn)多業(yè)務(wù)的交互操作,具體在圖1的業(yè)務(wù)應(yīng)用層11內(nèi)包含兩個(gè)業(yè)務(wù)實(shí)例模塊131和132。
現(xiàn)有技術(shù)采用的方法及系統(tǒng)的基本思想是在業(yè)務(wù)應(yīng)用層11與協(xié)議網(wǎng)關(guān)層12之間,每個(gè)業(yè)務(wù)實(shí)例模塊通過(guò)接入網(wǎng)絡(luò)服務(wù)的調(diào)用接口(Web Service)進(jìn)行業(yè)務(wù)應(yīng)用層11與協(xié)議網(wǎng)關(guān)層12之間的雙向通信,在業(yè)務(wù)應(yīng)用層11觸發(fā)請(qǐng)求時(shí),使運(yùn)營(yíng)商獲得其需要部署業(yè)務(wù)調(diào)用的網(wǎng)絡(luò)承載能力,且在協(xié)議網(wǎng)關(guān)層12觸發(fā)請(qǐng)求時(shí),使用戶獲得多個(gè)業(yè)務(wù)。
由于parlayx技術(shù)是根據(jù)網(wǎng)絡(luò)承載能力,來(lái)定義協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層間的接口,也就是說(shuō),網(wǎng)絡(luò)承載能力不同,定義的該接口也就不同。由于協(xié)議網(wǎng)關(guān)層在上報(bào)業(yè)務(wù)請(qǐng)求時(shí),與請(qǐng)求對(duì)應(yīng)的不同業(yè)務(wù),其所使用的網(wǎng)絡(luò)承載能力不同,所調(diào)用的接口也不同,因此針對(duì)協(xié)議網(wǎng)關(guān)上報(bào)的業(yè)務(wù)請(qǐng)求,與請(qǐng)求對(duì)應(yīng)的不同業(yè)務(wù),需要根據(jù)不同的網(wǎng)絡(luò)承載能力修改接口,不同業(yè)務(wù)對(duì)應(yīng)不同的接口。例如一個(gè)既用到呼叫,又用到短信的業(yè)務(wù)就需要通過(guò)呼叫接口發(fā)送接收呼叫請(qǐng)求,同時(shí)還必須通過(guò)短信接口處理短信請(qǐng)求。另外,同一個(gè)業(yè)務(wù)運(yùn)行時(shí),可能會(huì)需要將運(yùn)行在不同網(wǎng)絡(luò)承載能力上的同一個(gè)業(yè)務(wù)請(qǐng)求,上報(bào)給同一個(gè)業(yè)務(wù)實(shí)例模塊來(lái)處理,這樣同一個(gè)業(yè)務(wù)請(qǐng)求就需要根據(jù)調(diào)用的網(wǎng)絡(luò)承載能力,注冊(cè)多個(gè)業(yè)務(wù)上報(bào)地址;相應(yīng)的,對(duì)于多個(gè)業(yè)務(wù)來(lái)說(shuō),運(yùn)行在同一個(gè)網(wǎng)絡(luò)承載能力上的不同業(yè)務(wù)請(qǐng)求,也需要注冊(cè)多個(gè)業(yè)務(wù)上報(bào)地址。因此,基于這種結(jié)構(gòu),如果有n個(gè)業(yè)務(wù)運(yùn)行,協(xié)議網(wǎng)關(guān)層將會(huì)出現(xiàn)至少n個(gè)業(yè)務(wù)上報(bào)接口,如果一個(gè)業(yè)務(wù)用到了m種網(wǎng)絡(luò)承載能力,就必須實(shí)現(xiàn)m種接口,這使現(xiàn)有技術(shù)采用的兩層結(jié)構(gòu)系統(tǒng)很難對(duì)其進(jìn)行支持和管理,也不利于新的業(yè)務(wù)接入系統(tǒng)。
綜上所述,現(xiàn)有技術(shù)存在的問(wèn)題是針對(duì)不同業(yè)務(wù)以及業(yè)務(wù)運(yùn)行在不同網(wǎng)絡(luò)上,由于網(wǎng)絡(luò)承載能力的不同,協(xié)議網(wǎng)關(guān)層調(diào)用的接口不統(tǒng)一、業(yè)務(wù)應(yīng)用層返回的調(diào)用地址不統(tǒng)一,導(dǎo)致現(xiàn)有技術(shù)采用的方法效率低,不能很好地提供多業(yè)務(wù)以及對(duì)多種網(wǎng)絡(luò)承載能力的支持。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),能統(tǒng)一接口格式、統(tǒng)一返回的調(diào)用地址,提高效率,更好的提供對(duì)多業(yè)務(wù)以及多種網(wǎng)絡(luò)承載能力的支持。
本發(fā)明的另一目的在于提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息發(fā)送方法,能統(tǒng)一接口格式以及返回的調(diào)用地址,從而能很好的支持運(yùn)營(yíng)商對(duì)網(wǎng)絡(luò)承載能力的調(diào)用,并基于該網(wǎng)絡(luò)承載能力部署業(yè)務(wù)。
本發(fā)明的再一目的在于提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息接收方法,能統(tǒng)一接口格式、返回的調(diào)用地址,從而很好的支持用戶獲得多個(gè)業(yè)務(wù)。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),包括協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層,關(guān)鍵在于,該系統(tǒng)還包括消息分發(fā)層,用于實(shí)現(xiàn)所述協(xié)議網(wǎng)關(guān)層與所述業(yè)務(wù)應(yīng)用層之間進(jìn)行消息交互時(shí)消息的處理及轉(zhuǎn)發(fā);所述消息分發(fā)層進(jìn)一步包括用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口、以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊,所述消息分發(fā)層通過(guò)所述接口模塊與所述協(xié)議網(wǎng)關(guān)層、所述業(yè)務(wù)應(yīng)用層相連。
其中,所述接口模塊包括與所述協(xié)議網(wǎng)關(guān)層相連的協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,用于實(shí)現(xiàn)由該協(xié)議網(wǎng)關(guān)層發(fā)起的、到所述消息分發(fā)層請(qǐng)求的網(wǎng)絡(luò)服務(wù)調(diào)用接口Web Service;與所述業(yè)務(wù)應(yīng)用層相連的業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,用于實(shí)現(xiàn)由該業(yè)務(wù)應(yīng)用層發(fā)起的、到所述消息分發(fā)層請(qǐng)求的Web Service。
其中,該系統(tǒng)還包括與所述消息分發(fā)層相連的互聯(lián)網(wǎng)客戶端,用于實(shí)現(xiàn)經(jīng)由所述消息分發(fā)層、在該互聯(lián)網(wǎng)客戶端與所述業(yè)務(wù)應(yīng)用層之間進(jìn)行的消息交互;所述接口模塊還包括與所述互聯(lián)網(wǎng)客戶端相連的互聯(lián)網(wǎng)客戶端提交消息的接口模塊,用于實(shí)現(xiàn)由該互聯(lián)網(wǎng)客戶端發(fā)起的、到消息分發(fā)層請(qǐng)求的WebService。
其中,所述消息分發(fā)層包括消息發(fā)送模塊、業(yè)務(wù)管理模塊、業(yè)務(wù)實(shí)例管理模塊、消息接收模塊;所述消息發(fā)送模塊,經(jīng)由所述業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊與所述業(yè)務(wù)應(yīng)用層相連;用于通過(guò)接收所述業(yè)務(wù)應(yīng)用層中業(yè)務(wù)實(shí)例模塊的請(qǐng)求消息以及調(diào)用業(yè)務(wù)實(shí)例管理模塊,轉(zhuǎn)發(fā)所述業(yè)務(wù)應(yīng)用層發(fā)起的所述請(qǐng)求消息;所述消息接收模塊,經(jīng)由所述協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊與所述協(xié)議網(wǎng)關(guān)層相連或經(jīng)由所述互聯(lián)網(wǎng)客戶端提交消息的接口模塊與所述互聯(lián)網(wǎng)客戶端相連;用于轉(zhuǎn)發(fā)所述協(xié)議網(wǎng)關(guān)層或所述互聯(lián)網(wǎng)客戶端的業(yè)務(wù)請(qǐng)求消息,并將其轉(zhuǎn)發(fā)給所述業(yè)務(wù)應(yīng)用層中與其對(duì)應(yīng)的、處理該業(yè)務(wù)請(qǐng)求消息的業(yè)務(wù)實(shí)例模塊;所述業(yè)務(wù)管理模塊,用于對(duì)所述協(xié)議網(wǎng)關(guān)層或所述互聯(lián)網(wǎng)客戶端上報(bào)的消息,找到處理相應(yīng)與該消息的業(yè)務(wù)實(shí)例模塊;所述業(yè)務(wù)實(shí)例管理模塊,用于創(chuàng)建、保存、查找、刪除業(yè)務(wù)實(shí)例模塊,并在業(yè)務(wù)實(shí)例管理模塊中,相應(yīng)保存業(yè)務(wù)運(yùn)行的信息。
本發(fā)明還提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息發(fā)送方法,關(guān)鍵在于,該方法包括以下步驟步驟A、業(yè)務(wù)應(yīng)用層向消息分發(fā)層發(fā)送封裝有業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求消息,所述消息分發(fā)層將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層;步驟B、根據(jù)獲取的業(yè)務(wù)類型標(biāo)識(shí),所述協(xié)議網(wǎng)關(guān)層通過(guò)消息分發(fā)層將協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力返回給所述業(yè)務(wù)應(yīng)用層,并通過(guò)消息分發(fā)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層;所述業(yè)務(wù)應(yīng)用層根據(jù)所述網(wǎng)絡(luò)承載能力部署業(yè)務(wù),并根據(jù)所述業(yè)務(wù)標(biāo)識(shí)處理具體業(yè)務(wù)。
其中,步驟A具體為步驟A1、所述業(yè)務(wù)應(yīng)用層通過(guò)業(yè)務(wù)實(shí)例模塊,經(jīng)由業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,向消息發(fā)送模塊發(fā)送所述業(yè)務(wù)請(qǐng)求消息;步驟A2、該消息發(fā)送模塊將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層;相應(yīng)的,步驟B中所述協(xié)議網(wǎng)關(guān)層通過(guò)消息分發(fā)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層具體為步驟B1、所述協(xié)議網(wǎng)關(guān)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息轉(zhuǎn)發(fā)給所述消息發(fā)送模塊;所述消息發(fā)送模塊將所述狀態(tài)消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊,根據(jù)所述業(yè)務(wù)標(biāo)識(shí)修改用于處理所述具體業(yè)務(wù)的業(yè)務(wù)實(shí)例的狀態(tài),并在該業(yè)務(wù)實(shí)例管理模塊中保存所述業(yè)務(wù)標(biāo)識(shí)以及與其對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí);步驟B2、所述消息發(fā)送模塊將封裝所述業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層。
其中,步驟A2中還包括鑒權(quán)操作,該鑒權(quán)操作具體包括以下步驟步驟A21、所述消息發(fā)送模塊轉(zhuǎn)發(fā)封裝所述業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求消息給業(yè)務(wù)管理模塊,向該業(yè)務(wù)管理模塊發(fā)起鑒權(quán)請(qǐng)求;步驟A22、所述業(yè)務(wù)管理模塊根據(jù)所述業(yè)務(wù)類型標(biāo)識(shí),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與請(qǐng)求調(diào)用的所述協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配;步驟A23在判定網(wǎng)絡(luò)承載能力匹配鑒權(quán)成功后,所述業(yè)務(wù)管理模塊將所述鑒權(quán)成功的消息返回給所述消息發(fā)送模塊。
本發(fā)明還提供一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息接收方法,關(guān)鍵在于,該方法包括以下步驟步驟a、協(xié)議網(wǎng)關(guān)層向消息分發(fā)層發(fā)送業(yè)務(wù)請(qǐng)求消息,該業(yè)務(wù)請(qǐng)求消息中封裝有業(yè)務(wù)標(biāo)識(shí)以及業(yè)務(wù)信息;步驟b、消息分發(fā)層根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息處理業(yè)務(wù)請(qǐng)求,將所述業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層;業(yè)務(wù)應(yīng)用層根據(jù)所述業(yè)務(wù)請(qǐng)求,返回處理結(jié)果消息,協(xié)議網(wǎng)關(guān)層獲得請(qǐng)求的業(yè)務(wù)。
其中,步驟a具體為所述協(xié)議網(wǎng)關(guān)層經(jīng)由協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,向消息接收模塊發(fā)送所述業(yè)務(wù)請(qǐng)求消息;相應(yīng)的,步驟b具體為步驟b1、業(yè)務(wù)實(shí)例管理模塊獲得所述消息接收模塊轉(zhuǎn)發(fā)的所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息,查找與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí),判斷是否存在與該業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例;如果不存在,則執(zhí)行步驟b2,如果存在,則執(zhí)行步驟b3;步驟b2、所述業(yè)務(wù)實(shí)例管理模塊向所述消息接收模塊返回結(jié)果為空的消息;并根據(jù)所述業(yè)務(wù)信息,在該業(yè)務(wù)實(shí)例管理模塊中,創(chuàng)建新的業(yè)務(wù)實(shí)例;步驟b3、所述消息接收模塊將所述協(xié)議網(wǎng)關(guān)層的業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給所述業(yè)務(wù)應(yīng)用層的業(yè)務(wù)實(shí)例模塊處理,該業(yè)務(wù)實(shí)例模塊將處理結(jié)果消息返回給該協(xié)議網(wǎng)關(guān)層。
其中,步驟b2中所述創(chuàng)建新業(yè)務(wù)實(shí)例的操作流程包括以下步驟步驟b21、業(yè)務(wù)管理模塊處理所述業(yè)務(wù)信息后生成業(yè)務(wù)類型標(biāo)識(shí)、以及用于綁定所述業(yè)務(wù)實(shí)例標(biāo)識(shí)與所述業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并實(shí)現(xiàn)業(yè)務(wù)實(shí)例管理模塊與所述業(yè)務(wù)實(shí)例模塊之間進(jìn)行接口調(diào)用的參數(shù)JNDI;業(yè)務(wù)管理模塊將所述業(yè)務(wù)類型標(biāo)識(shí)和JNDI返回給消息接收模塊;步驟b22、消息接收模塊將封裝該業(yè)務(wù)類型標(biāo)識(shí)和JNDI的請(qǐng)求處理消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊,在業(yè)務(wù)實(shí)例管理模塊中,創(chuàng)建該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例,并生成該業(yè)務(wù)實(shí)例的業(yè)務(wù)實(shí)例標(biāo)識(shí);將該業(yè)務(wù)實(shí)例上傳給業(yè)務(wù)應(yīng)用層,修改所述業(yè)務(wù)實(shí)例模塊;通過(guò)JNDI,建立業(yè)務(wù)實(shí)例管理模塊與所述該業(yè)務(wù)實(shí)例模塊之間的調(diào)用接口,并實(shí)現(xiàn)綁定該業(yè)務(wù)實(shí)例標(biāo)識(shí)與該業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并在該業(yè)務(wù)實(shí)例模塊中,把該對(duì)應(yīng)關(guān)系設(shè)置成一個(gè)業(yè)務(wù)實(shí)例引用;步驟b23、該業(yè)務(wù)實(shí)例模塊將該業(yè)務(wù)實(shí)例引用返回給業(yè)務(wù)實(shí)例管理模塊,并在業(yè)務(wù)實(shí)例管理模塊保存該次業(yè)務(wù)運(yùn)行相關(guān)的信息,包括所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及業(yè)務(wù)實(shí)例標(biāo)識(shí)和業(yè)務(wù)實(shí)例引用的對(duì)應(yīng)關(guān)系;步驟b24、業(yè)務(wù)實(shí)例管理模塊將封裝該業(yè)務(wù)實(shí)例引用的處理消息返回給消息接收模塊;消息接收模塊將從協(xié)議網(wǎng)關(guān)層接收到的業(yè)務(wù)請(qǐng)求消息,封裝成該業(yè)務(wù)實(shí)例模塊所需要的內(nèi)部消息,并通過(guò)所述業(yè)務(wù)實(shí)例的引用,調(diào)用該業(yè)務(wù)實(shí)例模塊處理消息的接口,上報(bào)該業(yè)務(wù)請(qǐng)求消息給該業(yè)務(wù)實(shí)例模塊進(jìn)行處理;步驟b25、該業(yè)務(wù)實(shí)例模塊對(duì)該業(yè)務(wù)請(qǐng)求消息處理后,將封裝處理結(jié)果的消息返回給消息接收模塊,并在該消息中給出了執(zhí)行下一步業(yè)務(wù)操作的信息;在當(dāng)前處理結(jié)束后,保存該業(yè)務(wù)實(shí)例模塊所跳轉(zhuǎn)到的狀態(tài);步驟b26、消息接收模塊對(duì)該業(yè)務(wù)實(shí)例模塊返回的處理結(jié)果的消息,進(jìn)行解析,并將該處理結(jié)果封裝成協(xié)議網(wǎng)關(guān)層調(diào)用所需要的返回值類型,把該返回值返回給所述協(xié)議網(wǎng)關(guān)層。
其中,步驟b22中還包括鑒權(quán)操作,所述鑒權(quán)操作具體包括以下步驟步驟b221、消息接收模塊將封裝所述業(yè)務(wù)類型標(biāo)識(shí)的鑒權(quán)請(qǐng)求發(fā)送給業(yè)務(wù)管理模塊;步驟b222、業(yè)務(wù)管理模塊根據(jù)所述業(yè)務(wù)類型標(biāo)識(shí),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配;步驟b223、在判定網(wǎng)絡(luò)承載能力匹配鑒權(quán)成功后,業(yè)務(wù)管理模塊將鑒權(quán)成功的消息返回給消息接收模塊。
其中,互聯(lián)網(wǎng)客戶端經(jīng)由互聯(lián)網(wǎng)客戶端提交消息的接口模塊向所述消息分發(fā)層發(fā)起業(yè)務(wù)請(qǐng)求。
綜上所述,通過(guò)在現(xiàn)有兩層結(jié)構(gòu)系統(tǒng)中設(shè)置與協(xié)議網(wǎng)關(guān)層、業(yè)務(wù)應(yīng)用層相連的消息分發(fā)層,形成本發(fā)明的三層結(jié)構(gòu)系統(tǒng),處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)。消息分發(fā)層中包括用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊,消息分發(fā)層通過(guò)所述接口模塊與所述協(xié)議網(wǎng)關(guān)層、所述業(yè)務(wù)應(yīng)用層相連。該消息分發(fā)層與設(shè)置在該消息分發(fā)層中的接口模塊相匹配,實(shí)現(xiàn)統(tǒng)一接口以及調(diào)用的返回地址,更好的提供對(duì)多業(yè)務(wù)以及多種網(wǎng)絡(luò)承載能力的支持。并且在此基礎(chǔ)上,接入互聯(lián)網(wǎng)客戶端到消息分發(fā)層,實(shí)現(xiàn)在傳統(tǒng)電信業(yè)務(wù)中加入互聯(lián)網(wǎng)業(yè)務(wù),進(jìn)一步對(duì)網(wǎng)絡(luò)融合進(jìn)行了優(yōu)化。
同時(shí),本發(fā)明的消息發(fā)送以及消息接收算法用于該處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),能對(duì)協(xié)議網(wǎng)關(guān)層或互聯(lián)網(wǎng)客戶端經(jīng)由消息分發(fā)層與業(yè)務(wù)應(yīng)用層之間的消息交互,統(tǒng)一進(jìn)行消息地分析、處理、轉(zhuǎn)發(fā)。
圖1為現(xiàn)有技術(shù)兩層系統(tǒng)的組成結(jié)構(gòu)圖;圖2為本發(fā)明系統(tǒng)的三層組成結(jié)構(gòu)圖;圖3為本發(fā)明系統(tǒng)的一個(gè)實(shí)施例的組成結(jié)構(gòu)示意圖;圖4為本發(fā)明發(fā)送方法原理的實(shí)現(xiàn)流程圖;圖5為本發(fā)明發(fā)送方法的實(shí)現(xiàn)流程圖;圖6為本發(fā)明發(fā)送方法中的鑒權(quán)操作實(shí)現(xiàn)流程圖;圖7為本發(fā)明發(fā)送方法一個(gè)實(shí)施例的實(shí)現(xiàn)流程示意圖;圖8為本發(fā)明接收方法原理的實(shí)現(xiàn)流程圖;圖9為本發(fā)明接收方法中的消息分發(fā)層處理業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層,協(xié)議網(wǎng)關(guān)層獲得業(yè)務(wù)的實(shí)現(xiàn)流程圖;圖10為本發(fā)明接收方法中的創(chuàng)建新的業(yè)務(wù)實(shí)例的實(shí)現(xiàn)流程圖;圖11為本發(fā)明接收方法中的鑒權(quán)操作的實(shí)現(xiàn)流程圖;圖12為本發(fā)明接收方法一個(gè)實(shí)施例的實(shí)現(xiàn)流程示意圖。
具體實(shí)施例方式
本發(fā)明的核心思想是通過(guò)在現(xiàn)有兩層結(jié)構(gòu)系統(tǒng)中設(shè)置一個(gè)與協(xié)議網(wǎng)關(guān)層、業(yè)務(wù)應(yīng)用層相連的消息分發(fā)層,形成本發(fā)明的三層結(jié)構(gòu)系統(tǒng),處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)。消息分發(fā)層用于實(shí)現(xiàn)分別對(duì)業(yè)務(wù)應(yīng)用層、協(xié)議網(wǎng)關(guān)層發(fā)起請(qǐng)求的處理和轉(zhuǎn)發(fā),消息分發(fā)層中設(shè)置有用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊,該消息分發(fā)層具體通過(guò)該接口模塊與協(xié)議網(wǎng)關(guān)層、業(yè)務(wù)應(yīng)用層相連,實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層與協(xié)議網(wǎng)關(guān)層之間請(qǐng)求消息的雙向交互操作,更好的提供對(duì)多業(yè)務(wù)以及多種網(wǎng)絡(luò)承載能力的支持。
也就是說(shuō),消息分發(fā)層用于接收業(yè)務(wù)應(yīng)用層發(fā)送的請(qǐng)求消息,將所收到的請(qǐng)求消息封裝成符合協(xié)議網(wǎng)關(guān)通信格式的消息,通過(guò)所述接口模塊,轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層,從而調(diào)用協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力;消息分發(fā)層用于接收協(xié)議網(wǎng)關(guān)層上報(bào)的請(qǐng)求消息,通過(guò)所述接口模塊,將收到的請(qǐng)求消息準(zhǔn)確地轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層,由業(yè)務(wù)應(yīng)用層的業(yè)務(wù)實(shí)例模塊對(duì)該消息進(jìn)行具體業(yè)務(wù)的處理。同時(shí),本發(fā)明的消息發(fā)送以及消息接收算法用于該處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),能對(duì)協(xié)議網(wǎng)關(guān)層經(jīng)由消息分發(fā)層與業(yè)務(wù)應(yīng)用層之間進(jìn)行的消息交互,統(tǒng)一進(jìn)行消息地分析、處理、轉(zhuǎn)發(fā)。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
圖2為本發(fā)明系統(tǒng)的三層組成結(jié)構(gòu)圖,如圖2所示,本發(fā)明系統(tǒng)通過(guò)在業(yè)務(wù)應(yīng)用層11、協(xié)議網(wǎng)關(guān)層12之間設(shè)置消息分發(fā)層14,形成面向網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)。其中,業(yè)務(wù)應(yīng)用層11中包括一個(gè)或一個(gè)以上業(yè)務(wù)實(shí)例模塊。為了對(duì)上述核心思想進(jìn)行簡(jiǎn)化描述,如圖2所示,業(yè)務(wù)應(yīng)用層11包括兩個(gè)業(yè)務(wù)實(shí)例模塊131、132。業(yè)務(wù)實(shí)例模塊用于針對(duì)不同的業(yè)務(wù)請(qǐng)求,分別執(zhí)行不同的具體業(yè)務(wù),每個(gè)業(yè)務(wù)實(shí)例模塊對(duì)應(yīng)于一個(gè)業(yè)務(wù)請(qǐng)求的具體業(yè)務(wù)處理過(guò)程,即兩個(gè)業(yè)務(wù)實(shí)例模塊131、132分別針對(duì)不同的業(yè)務(wù)請(qǐng)求進(jìn)行處理,消息分發(fā)層14用于實(shí)現(xiàn)分別對(duì)業(yè)務(wù)應(yīng)用層11、協(xié)議網(wǎng)關(guān)層12發(fā)起請(qǐng)求的處理和轉(zhuǎn)發(fā)。
消息分發(fā)層14中設(shè)置有用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊(圖中未顯示),消息分發(fā)層14通過(guò)該接口模塊與業(yè)務(wù)應(yīng)用層11、協(xié)議網(wǎng)關(guān)層12相連,實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11與協(xié)議網(wǎng)關(guān)層12之間請(qǐng)求消息的雙向交互操作。也就是說(shuō),當(dāng)業(yè)務(wù)應(yīng)用層11主動(dòng)發(fā)起調(diào)用網(wǎng)絡(luò)承載能力的請(qǐng)求時(shí),消息分發(fā)層14接收業(yè)務(wù)應(yīng)用層11發(fā)送的請(qǐng)求消息,將所收到的請(qǐng)求消息封裝成符合協(xié)議網(wǎng)關(guān)通信格式的消息,通過(guò)所述接口模塊,轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層12,并在該接口模塊中為業(yè)務(wù)應(yīng)用層11提供調(diào)用的統(tǒng)一返回地址來(lái)調(diào)用協(xié)議網(wǎng)關(guān)層12的網(wǎng)絡(luò)承載能力;當(dāng)協(xié)議網(wǎng)關(guān)層12主動(dòng)發(fā)起請(qǐng)求時(shí),消息分發(fā)層14接收協(xié)議網(wǎng)關(guān)層12上報(bào)的請(qǐng)求消息,通過(guò)所述接口模塊,為協(xié)議網(wǎng)關(guān)層12提供統(tǒng)一的請(qǐng)求消息上報(bào)接口,并將收到的請(qǐng)求消息準(zhǔn)確地轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層11,由業(yè)務(wù)應(yīng)用層11的兩個(gè)業(yè)務(wù)實(shí)例模塊131或132分別針對(duì)收到的不同業(yè)務(wù)請(qǐng)求消息,對(duì)該消息進(jìn)行具體業(yè)務(wù)的處理。運(yùn)行在消息分發(fā)層14上的業(yè)務(wù)采用統(tǒng)一的運(yùn)行方式為通過(guò)消息分發(fā)層14中的所述接口模塊提供協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址,并在其中傳遞統(tǒng)一的入口消息、出口消息,可以支持多個(gè)業(yè)務(wù)并發(fā)運(yùn)行以及一個(gè)業(yè)務(wù)的多個(gè)業(yè)務(wù)實(shí)例模塊并發(fā)執(zhí)行,在消息分發(fā)層14中需要對(duì)每個(gè)運(yùn)行的業(yè)務(wù)實(shí)例模塊進(jìn)行管理。通過(guò)消息分發(fā)層14與所述接口模塊的配合實(shí)現(xiàn)對(duì)多業(yè)務(wù)以及多種網(wǎng)絡(luò)承載能力的支持,完成業(yè)務(wù)應(yīng)用層11與協(xié)議網(wǎng)關(guān)層12之間請(qǐng)求消息的雙向交互操作。
如圖2所示,由于業(yè)務(wù)應(yīng)用層11、協(xié)議網(wǎng)關(guān)層12分別與消息分發(fā)層14進(jìn)行交互的接口實(shí)現(xiàn)方法不同,從而導(dǎo)致接口模塊的不同,因此為了達(dá)到統(tǒng)一管理并簡(jiǎn)化接口的目的,在消息分發(fā)層14中設(shè)置的所述接口模塊具體包括協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊和業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊。協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊用于實(shí)現(xiàn)由協(xié)議網(wǎng)關(guān)層12發(fā)起的、到消息分發(fā)層14的Web Service接口,業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊用于實(shí)現(xiàn)由業(yè)務(wù)應(yīng)用層11發(fā)起的、到消息分發(fā)層14的Web Service接口。
基于上述核心思想以及參照?qǐng)D2描述的實(shí)現(xiàn)原理,根據(jù)實(shí)際應(yīng)用中的具體情況,本發(fā)明的系統(tǒng)可以有多個(gè)具體實(shí)施例。
系統(tǒng)實(shí)施例一本實(shí)施例中,消息分發(fā)層1 4中設(shè)置的所述接口模塊具體為兩種接口模塊協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊,以及業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊的情況下。所述協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊又進(jìn)一步包括以下相關(guān)接口用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層12上報(bào)呼叫事件給業(yè)務(wù)應(yīng)用層11的接口(handleCallEvent);
用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層12上報(bào)放音結(jié)束或收集用戶信息事件給業(yè)務(wù)應(yīng)用層11的接口(handleUIEvent);用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層12將發(fā)送到特定地址的短消息告知業(yè)務(wù)應(yīng)用層11的接口(notifySmsReception);用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層12將短消息遞交狀態(tài)報(bào)告給業(yè)務(wù)應(yīng)用層11的接口(notifySmsDeliveryStatus);用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層12上報(bào)觸發(fā)式定位報(bào)告給業(yè)務(wù)應(yīng)用層11的接口(notifyTriggerLocation)。
所述業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊中具體包括以下相關(guān)接口用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)起呼叫的接口(makeACall);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11調(diào)用該接口來(lái)獲得一個(gè)呼叫的信息的接口(getCallInformation);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11結(jié)束指定的呼叫的接口(endCall);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11取消一個(gè)呼叫建立的請(qǐng)求的接口(cancelCallRequest);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)起放音請(qǐng)求的接口(sendInfo);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11給用戶放提示音并收集用戶的輸入的接口(sendInfoAndCollect);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)送短消息的接口(sendSms);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)送短消息Logo的接口(sendSmsLogo);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)送短消息ring-tone的接口(sendSmsRingtone);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)送一條E-mail消息給用戶的接口(sendEmail);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11查詢新接收到的E-mail消息的接口(getReceivedEmails);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11請(qǐng)求一條指定的E-mail消息的接口(getEmailURIs);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11請(qǐng)求一條指定的E-mail消息的接口(getEmail);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11發(fā)送多媒體消息給用戶的接口(sendMulMail);
用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11請(qǐng)求用戶位置信息的接口(getLocation);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11查詢用戶位置的地理信息的接口(mapping);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11查詢用戶位置的目錄信息的接口(Directory);用于實(shí)現(xiàn)業(yè)務(wù)應(yīng)用層11查詢路由信息的接口(route)。
采用所述兩種接口模塊所述協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊、以及業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊,并且采用相應(yīng)于兩種接口模塊的消息,在所述協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊中,對(duì)通過(guò)與其相應(yīng)的所述相關(guān)接口所傳遞的消息用類的形式進(jìn)行抽象描述和封裝,獲得協(xié)議網(wǎng)關(guān)層上報(bào)類消息;在所述業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊中,對(duì)通過(guò)與其相應(yīng)的所述相關(guān)接口所傳遞的消息用類的形式進(jìn)行抽象描述和封裝,獲得業(yè)務(wù)應(yīng)用層請(qǐng)求類消息,由于采用這種統(tǒng)一的接口模塊與傳遞的消息相匹配的處理方式,因此消息分發(fā)層14便于分析、處理協(xié)議網(wǎng)關(guān)層12或業(yè)務(wù)應(yīng)用層11所傳遞的消息,也便于加入新的業(yè)務(wù)。
其中,協(xié)議網(wǎng)關(guān)層上報(bào)類消息是消息分發(fā)層14與協(xié)議網(wǎng)關(guān)層12之間交互時(shí),通過(guò)parlay x技術(shù)結(jié)合Web Service接口,接入的各種網(wǎng)絡(luò)承載能力,協(xié)議網(wǎng)關(guān)層12會(huì)根據(jù)網(wǎng)絡(luò)承載能力,調(diào)用不同的Web Service接口,上報(bào)不同的消息。業(yè)務(wù)應(yīng)用層請(qǐng)求類消息是消息分發(fā)層14與業(yè)務(wù)應(yīng)用層11之間交互時(shí),通過(guò)parlay x技術(shù)結(jié)合Web Service接口,根據(jù)不同業(yè)務(wù)請(qǐng)求調(diào)用不同的Web Service接口,請(qǐng)求不同的業(yè)務(wù)。消息分發(fā)層14除了要分析處理協(xié)議網(wǎng)關(guān)層12向業(yè)務(wù)應(yīng)用層11發(fā)送的協(xié)議網(wǎng)關(guān)層上報(bào)類消息外,還需要分析處理業(yè)務(wù)應(yīng)用層11向協(xié)議網(wǎng)關(guān)層12發(fā)送的業(yè)務(wù)應(yīng)用層請(qǐng)求類消息。
從協(xié)議網(wǎng)關(guān)層12上報(bào)的所述協(xié)議網(wǎng)關(guān)層上報(bào)類消息具體分為三類呼叫事件類消息、短信類消息、定位類消息。
其中,呼叫事件類消息指協(xié)議網(wǎng)關(guān)層12的呼叫在建立或釋放等過(guò)程中,會(huì)發(fā)生一些業(yè)務(wù)應(yīng)用層11關(guān)心的呼叫事件,協(xié)議網(wǎng)關(guān)層12會(huì)調(diào)用Web Service接口將消息發(fā)送到消息分發(fā)層14,通知業(yè)務(wù)應(yīng)用層11進(jìn)行處理。在呼叫建立之前,還包括一個(gè)預(yù)設(shè)置操作,即由業(yè)務(wù)應(yīng)用層11預(yù)先通過(guò)協(xié)議網(wǎng)關(guān)層12設(shè)置是否觸發(fā)自身關(guān)心的呼叫事件。
短信類消息是指協(xié)議網(wǎng)關(guān)層12在發(fā)送或接收短信時(shí),可能會(huì)觸發(fā)一些業(yè)務(wù)應(yīng)用層11關(guān)心的短消息類的事件,協(xié)議網(wǎng)關(guān)層12會(huì)調(diào)用Web Service接口將消息發(fā)送到消息分發(fā)層14,通知業(yè)務(wù)應(yīng)用層11進(jìn)行處理。在發(fā)送或接收短信之前,還包括一個(gè)預(yù)設(shè)置操作,即由業(yè)務(wù)應(yīng)用層11預(yù)先通過(guò)協(xié)議網(wǎng)關(guān)層12設(shè)置是否觸發(fā)自身關(guān)心的短消息事件。
定位類消息是指業(yè)務(wù)應(yīng)用層11事先在觸發(fā)位置請(qǐng)求中設(shè)置定位條件,條件一旦滿足,協(xié)議網(wǎng)關(guān)層12將對(duì)終端進(jìn)行定位并調(diào)用Web Service接口將消息發(fā)送到消息分發(fā)層14,通知業(yè)務(wù)應(yīng)用層11進(jìn)行處理。
相應(yīng)的,根據(jù)發(fā)送消息類型的不同,在本系統(tǒng)實(shí)施例中設(shè)計(jì)并實(shí)現(xiàn)了下面幾個(gè)處理發(fā)送消息的類處理發(fā)送呼叫消息的類(CallSender),處理發(fā)送短信息的類(SmsSender),處理發(fā)送彩信信息的類(MmsSender),處理發(fā)送位置信息的類(LbsSender),處理發(fā)送郵件的類(EmailSender)。各個(gè)發(fā)送消息的類獨(dú)立地完成發(fā)送各種不同的消息功能,它們之間沒(méi)有交互。
系統(tǒng)實(shí)施例二由于現(xiàn)在的電信業(yè)務(wù)越來(lái)越多的與互聯(lián)網(wǎng)業(yè)務(wù)融合,單純的parlay x技術(shù)不能提供對(duì)互聯(lián)網(wǎng)資源的訪問(wèn)能力,也不能提供從互聯(lián)網(wǎng)觸發(fā)業(yè)務(wù)的能力,不能融合電信業(yè)務(wù)與互聯(lián)網(wǎng)業(yè)務(wù),因此為了提供互聯(lián)網(wǎng)與業(yè)務(wù)應(yīng)用層11的交互,本系統(tǒng)實(shí)施例將互聯(lián)網(wǎng)客戶端15接入到消息分發(fā)層14,用于實(shí)現(xiàn)在常規(guī)的電信業(yè)務(wù)中增加互聯(lián)網(wǎng)業(yè)務(wù)。
如圖3所示,基于參照?qǐng)D2對(duì)消息分發(fā)層14中接口模塊的描述以及系統(tǒng)實(shí)施例一中的技術(shù)方案,除了在消息分發(fā)層14中設(shè)置協(xié)議網(wǎng)關(guān)層12上報(bào)請(qǐng)求消息的接口模塊、以及業(yè)務(wù)應(yīng)用層11發(fā)送請(qǐng)求消息的接口模塊以外,在本系統(tǒng)實(shí)施例中所述接口模塊還包括互聯(lián)網(wǎng)客戶端15提交消息的接口模塊,用于實(shí)現(xiàn)由互聯(lián)網(wǎng)客戶端15發(fā)起的、到消息分發(fā)層14的Web Service接口,該接口模塊中包括用于互聯(lián)網(wǎng)客戶端15向業(yè)務(wù)應(yīng)用層11提交信息的接口(procWebMsg),相應(yīng)的,在該接口中所傳遞的消息為互聯(lián)網(wǎng)客戶端類信息,該信息是用類的形式進(jìn)行抽象描述和封裝的,也就是,對(duì)在互聯(lián)網(wǎng)客戶端15提交消息的接口模塊中通過(guò)與其相應(yīng)的所述接口procWedMsg所傳遞的消息進(jìn)行封裝,獲得互聯(lián)網(wǎng)客戶端類信息;消息分發(fā)層14除了需要給互聯(lián)網(wǎng)客戶端15,提供對(duì)業(yè)務(wù)應(yīng)用層11的訪問(wèn)能力的支持,還需要給業(yè)務(wù)應(yīng)用層11提供對(duì)互聯(lián)網(wǎng)客戶端15的訪問(wèn)能力支持,同協(xié)議網(wǎng)關(guān)層12與業(yè)務(wù)應(yīng)用層11之間進(jìn)行消息傳遞一樣,互聯(lián)網(wǎng)客戶端1 5與業(yè)務(wù)應(yīng)用層11之間也是個(gè)雙向交互過(guò)程。
系統(tǒng)實(shí)施例三如圖3所示,消息分發(fā)層14進(jìn)一步包括以下模塊消息發(fā)送模塊141、業(yè)務(wù)管理模塊142、業(yè)務(wù)實(shí)例管理模塊143以及消息接收模塊144。其中,消息發(fā)送模塊141經(jīng)由所述業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊與業(yè)務(wù)應(yīng)用層11相連,消息接收模塊144經(jīng)由所述協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊與協(xié)議網(wǎng)關(guān)層12相連或經(jīng)由所述互聯(lián)網(wǎng)客戶端提交消息的接口模塊與互聯(lián)網(wǎng)客戶端15相連。
消息發(fā)送模塊141用于在業(yè)務(wù)應(yīng)用層11調(diào)用協(xié)議網(wǎng)關(guān)層12的網(wǎng)絡(luò)承載能力時(shí),在業(yè)務(wù)應(yīng)用層11中的業(yè)務(wù)實(shí)例模塊131或132,需要通過(guò)消息發(fā)送模塊141來(lái)發(fā)送請(qǐng)求消息。消息發(fā)送模塊141在接收到業(yè)務(wù)實(shí)例模塊131或132發(fā)送的請(qǐng)求消息,并對(duì)業(yè)務(wù)實(shí)例模塊131或132所屬的業(yè)務(wù)鑒權(quán)成功后,除了向協(xié)議網(wǎng)關(guān)層12轉(zhuǎn)發(fā)請(qǐng)求消息外,還需要調(diào)用業(yè)務(wù)實(shí)例管理模塊143保存一些與業(yè)務(wù)運(yùn)行相關(guān)的信息,包括業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以供后面的消息處理使用。
其中,消息發(fā)送模塊141接收到業(yè)務(wù)實(shí)例模塊131或132發(fā)送的請(qǐng)求消息包括兩類其中一類消息是無(wú)狀態(tài)的消息,不影響后續(xù)上報(bào)的消息處理;另一類消息是有狀態(tài)的消息,即對(duì)請(qǐng)求消息對(duì)應(yīng)的業(yè)務(wù)執(zhí)行結(jié)束后,有返回結(jié)果的消息,會(huì)影響到后續(xù)上報(bào)的消息的處理。
為了更好的描述兩類請(qǐng)求消息,舉例如下例如發(fā)送彩信、發(fā)送Email等消息發(fā)送完畢后,協(xié)議網(wǎng)關(guān)層12不會(huì)上報(bào)與此次操作有關(guān)聯(lián)的消息,所以這類消息與后續(xù)上報(bào)的消息無(wú)關(guān),是無(wú)狀態(tài)類的消息。對(duì)這類消息的處理,消息發(fā)送模塊141只需要進(jìn)行業(yè)務(wù)相關(guān)的鑒權(quán)等操作即可。
例如第三方發(fā)起的呼叫、發(fā)送短消息等消息發(fā)送成功后,協(xié)議網(wǎng)關(guān)層12會(huì)針對(duì)發(fā)起呼叫業(yè)務(wù)的相關(guān)事件如被叫忙事件,以及發(fā)送短消息業(yè)務(wù)的請(qǐng)求,上報(bào)所述業(yè)務(wù)的狀態(tài)報(bào)告,所以這類消息和后續(xù)上報(bào)的消息有關(guān),是有狀態(tài)的消息。對(duì)這類消息的處理,消息發(fā)送模塊141除了需要進(jìn)行業(yè)務(wù)相關(guān)的鑒權(quán)操作外,還需要在業(yè)務(wù)實(shí)例管理模塊143中,保存業(yè)務(wù)運(yùn)行有關(guān)的信息,如這次發(fā)起呼叫的業(yè)務(wù)標(biāo)識(shí)(CallID)與發(fā)送該呼叫請(qǐng)求的業(yè)務(wù)實(shí)例標(biāo)識(shí)(InstanceId)的對(duì)應(yīng)關(guān)系、這次發(fā)送短消息的業(yè)務(wù)標(biāo)識(shí)(RequestIdentifier)與發(fā)送該短信息請(qǐng)求的業(yè)務(wù)實(shí)例標(biāo)識(shí)(InstanceId)的對(duì)應(yīng)關(guān)系。
業(yè)務(wù)管理模塊142用于完成業(yè)務(wù)相關(guān)信息的管理,主要用于對(duì)協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端15上報(bào)的消息,從業(yè)務(wù)配置表以及與業(yè)務(wù)運(yùn)行相關(guān)的表格中找到處理該消息的業(yè)務(wù)實(shí)例模塊。具體功能包括業(yè)務(wù)查詢、業(yè)務(wù)配置信息查詢、業(yè)務(wù)能力鑒權(quán)、業(yè)務(wù)有效性驗(yàn)證、心跳檢測(cè)、處理業(yè)務(wù)信息改變的通知。
業(yè)務(wù)實(shí)例管理模塊143是消息分發(fā)層14的核心模塊,用于完成創(chuàng)建、保存、查找、刪除業(yè)務(wù)實(shí)例模塊的功能,并在業(yè)務(wù)實(shí)例管理模塊143中保存業(yè)務(wù)運(yùn)行相關(guān)的信息,包括業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以供后面的消息處理使用。在協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端15上報(bào)請(qǐng)求消息后,根據(jù)消息類型、參數(shù),以及業(yè)務(wù)實(shí)例管理模塊143內(nèi)部保存的與業(yè)務(wù)運(yùn)行相關(guān)的信息,根據(jù)業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,找到或要求新建一個(gè)處理該消息的業(yè)務(wù)實(shí)例模塊。具體為當(dāng)協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端15發(fā)起第一次業(yè)務(wù)請(qǐng)求時(shí),需要?jiǎng)?chuàng)建該業(yè)務(wù)對(duì)應(yīng)的業(yè)務(wù)實(shí)例模塊,以及業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,否則,直接找到已存放在業(yè)務(wù)實(shí)例管理模塊143中的業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí),找到相應(yīng)的業(yè)務(wù)實(shí)例模塊,業(yè)務(wù)結(jié)束后,刪除業(yè)務(wù)對(duì)應(yīng)的業(yè)務(wù)實(shí)例模塊。
消息接收模塊144用于完成接收協(xié)議網(wǎng)關(guān)層12和互聯(lián)網(wǎng)客戶端15的業(yè)務(wù)請(qǐng)求消息,并將它轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層11中與其對(duì)應(yīng)的業(yè)務(wù)實(shí)例模塊,并由該業(yè)務(wù)實(shí)例模塊處理該業(yè)務(wù)請(qǐng)求的功能。根據(jù)業(yè)務(wù)請(qǐng)求消息的不同,需要新創(chuàng)建業(yè)務(wù)實(shí)例模塊或使用原來(lái)已經(jīng)創(chuàng)建好的業(yè)務(wù)實(shí)例模塊。消息接收模塊144還用于對(duì)協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端15發(fā)送來(lái)的消息進(jìn)行封裝;同時(shí)需要對(duì)業(yè)務(wù)應(yīng)用層11給協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端1 5的返回值進(jìn)行封裝。
為了更好地對(duì)本系統(tǒng)實(shí)施例加以描述,現(xiàn)做一對(duì)比描述,同樣是用于處理消息分發(fā),消息發(fā)送模塊141與消息接收模塊144在功能上存在區(qū)別消息發(fā)送模塊141主要作用只要找到對(duì)應(yīng)的協(xié)議網(wǎng)關(guān)層12所在的服務(wù)器的地址,通過(guò)Web Service方式的調(diào)用,將業(yè)務(wù)應(yīng)用層11中的業(yè)務(wù)實(shí)例模塊發(fā)送來(lái)的消息,轉(zhuǎn)發(fā)到對(duì)應(yīng)的協(xié)議網(wǎng)關(guān)層12即可,它只起轉(zhuǎn)發(fā)作用。
消息接收模塊144與消息發(fā)送模塊141不同的是必須先存在某一具體的業(yè)務(wù)實(shí)例模塊,才能由該業(yè)務(wù)實(shí)例模塊向消息接收模塊144發(fā)送消息。而消息接收模塊144在接收到協(xié)議網(wǎng)關(guān)層12或互聯(lián)網(wǎng)客戶端15的消息時(shí),不一定已經(jīng)存在對(duì)應(yīng)的業(yè)務(wù)實(shí)例模塊來(lái)處理該消息,這就需要消息接收模塊144與業(yè)務(wù)實(shí)例管理模塊143交互,獲取處理該消息的業(yè)務(wù)實(shí)例模塊,才能將接收到的消息轉(zhuǎn)發(fā)給業(yè)務(wù)實(shí)例模塊。
基于本發(fā)明的核心思想,本發(fā)明還提供了一種消息發(fā)送方法,用于處理協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層的消息交互,如圖2、圖4所示,該方法包括以下步驟步驟101業(yè)務(wù)應(yīng)用層11向消息分發(fā)層14發(fā)送業(yè)務(wù)請(qǐng)求消息,該業(yè)務(wù)請(qǐng)求消息中封裝業(yè)務(wù)類型標(biāo)識(shí),消息分發(fā)層14將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層12。
其中,針對(duì)不同的業(yè)務(wù)請(qǐng)求,根據(jù)請(qǐng)求的不同業(yè)務(wù)類型,分別對(duì)應(yīng)不同業(yè)務(wù)類型標(biāo)識(shí),比如業(yè)務(wù)請(qǐng)求為呼叫業(yè)務(wù),則對(duì)應(yīng)呼叫類型標(biāo)識(shí),業(yè)務(wù)請(qǐng)求為短信業(yè)務(wù),則對(duì)應(yīng)短信類型標(biāo)識(shí)。
步驟102協(xié)議網(wǎng)關(guān)層12獲取所述業(yè)務(wù)類型標(biāo)識(shí),根據(jù)該業(yè)務(wù)類型標(biāo)識(shí),協(xié)議網(wǎng)關(guān)層12通過(guò)消息分發(fā)層14將協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力返回給所述業(yè)務(wù)應(yīng)用層11,并通過(guò)消息分發(fā)層14將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給業(yè)務(wù)應(yīng)用層11,相應(yīng)于所述業(yè)務(wù)類型標(biāo)識(shí)的所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)具體業(yè)務(wù);業(yè)務(wù)應(yīng)用層11根據(jù)所述網(wǎng)絡(luò)承載能力部署業(yè)務(wù),業(yè)務(wù)應(yīng)用層11根據(jù)業(yè)務(wù)標(biāo)識(shí)處理具體業(yè)務(wù),并結(jié)束整個(gè)流程。
其中,所述業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)業(yè)務(wù),業(yè)務(wù)可以為呼叫業(yè)務(wù)、短信業(yè)務(wù);相應(yīng)于該業(yè)務(wù),所述網(wǎng)絡(luò)承載能力即網(wǎng)絡(luò)能承載該業(yè)務(wù)運(yùn)行的能力在對(duì)應(yīng)于呼叫業(yè)務(wù)時(shí)為話音能力、在對(duì)應(yīng)于短信業(yè)務(wù)時(shí)為短消息能力。相應(yīng)于所述業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)具體業(yè)務(wù),當(dāng)一個(gè)呼叫業(yè)務(wù)對(duì)應(yīng)一個(gè)針對(duì)被叫號(hào)碼138xxxxxxxx的具體業(yè)務(wù)時(shí),該呼叫業(yè)務(wù)的業(yè)務(wù)類型標(biāo)識(shí)即呼叫類型標(biāo)識(shí),相應(yīng)于該呼叫類型標(biāo)識(shí)的所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)該被叫號(hào)碼138xxxxxxxx的具體業(yè)務(wù)。
基于步驟101、步驟102描述的消息發(fā)送方法的基本原理,如圖3、圖5所示,所述步驟101具體為步驟1011業(yè)務(wù)應(yīng)用層11通過(guò)業(yè)務(wù)實(shí)例模塊131,經(jīng)由業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,向消息發(fā)送模塊141發(fā)送所述業(yè)務(wù)請(qǐng)求消息,其中,相應(yīng)與所述業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,在該接口模塊中傳遞的消息為業(yè)務(wù)應(yīng)用層請(qǐng)求類消息。
步驟1012消息發(fā)送模塊141將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層12。
相應(yīng)的,所述步驟102中協(xié)議網(wǎng)關(guān)層12通過(guò)消息分發(fā)層14將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給業(yè)務(wù)應(yīng)用層11的操作具體為步驟1021協(xié)議網(wǎng)關(guān)層12將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息轉(zhuǎn)發(fā)給消息發(fā)送模塊141;消息發(fā)送模塊141將所述狀態(tài)消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊143,根據(jù)所述業(yè)務(wù)標(biāo)識(shí)修改用于處理所述具體業(yè)務(wù)的業(yè)務(wù)實(shí)例的狀態(tài),其中,業(yè)務(wù)實(shí)例與業(yè)務(wù)實(shí)例模塊131對(duì)應(yīng),業(yè)務(wù)實(shí)例與業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng),并在業(yè)務(wù)實(shí)例管理模塊143中保存所述具體業(yè)務(wù)運(yùn)行的相關(guān)信息,該信息包括所述業(yè)務(wù)標(biāo)識(shí)以及與其對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí)。
步驟1022消息發(fā)送模塊141將封裝所述業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給業(yè)務(wù)應(yīng)用層11。
基于上述消息發(fā)送方法的基本原理,結(jié)合步驟1011和步驟1012,如圖3、圖6所示,所述步驟1012還包括鑒權(quán)操作,該鑒權(quán)操作具體包括以下步驟步驟1012a消息發(fā)送模塊141轉(zhuǎn)發(fā)封裝所述業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求消息給業(yè)務(wù)管理模塊142,向該業(yè)務(wù)管理模塊142發(fā)起鑒權(quán)請(qǐng)求;步驟1012b業(yè)務(wù)管理模塊142根據(jù)所述業(yè)務(wù)類型標(biāo)識(shí)進(jìn)行鑒權(quán),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與請(qǐng)求調(diào)用的協(xié)議網(wǎng)關(guān)層12的網(wǎng)絡(luò)承載能力匹配;步驟1012c在判定網(wǎng)絡(luò)承載能力匹配即鑒權(quán)成功時(shí),業(yè)務(wù)管理模塊142將所述鑒權(quán)成功的消息返回給消息發(fā)送模塊141。
下面用一個(gè)具體實(shí)施例來(lái)對(duì)整個(gè)發(fā)送方法,以及在其中進(jìn)一步包括鑒權(quán)操作的整個(gè)操作流程進(jìn)行描述。
發(fā)送方法實(shí)施例一基于所述核心思想以及參照?qǐng)D4、圖5、圖6描述的方法的實(shí)現(xiàn)原理,本實(shí)施例中,觸發(fā)的業(yè)務(wù)是第三方發(fā)起的呼叫業(yè)務(wù),即該業(yè)務(wù)是由業(yè)務(wù)應(yīng)用層發(fā)起的兩方語(yǔ)音呼叫,如圖7所示,本方法實(shí)施例對(duì)第三方發(fā)起的呼叫業(yè)務(wù)請(qǐng)求的消息發(fā)送方法包括以下步驟步驟200業(yè)務(wù)應(yīng)用層11通過(guò)業(yè)務(wù)實(shí)例模塊131,經(jīng)由業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,向消息發(fā)送模塊141發(fā)送由第三方發(fā)起的呼叫業(yè)務(wù)請(qǐng)求,在該業(yè)務(wù)請(qǐng)求的消息中封裝了業(yè)務(wù)類型標(biāo)識(shí)即呼叫類型標(biāo)識(shí),如針對(duì)被叫號(hào)碼的標(biāo)識(shí);步驟201消息發(fā)送模塊141轉(zhuǎn)發(fā)該封裝了呼叫類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求,向業(yè)務(wù)管理模塊142發(fā)起鑒權(quán)請(qǐng)求;步驟202業(yè)務(wù)管理模塊142根據(jù)呼叫類型標(biāo)識(shí),對(duì)該呼叫類型標(biāo)識(shí)對(duì)應(yīng)的呼叫業(yè)務(wù)進(jìn)行鑒權(quán),鑒權(quán)用于檢查業(yè)務(wù)的合法性,即判斷該呼叫業(yè)務(wù)是否與請(qǐng)求調(diào)用的協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配,能否使用該協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力以及該呼叫業(yè)務(wù)是否處于激活狀態(tài);步驟203在判定網(wǎng)絡(luò)承載能力匹配即鑒權(quán)成功時(shí),業(yè)務(wù)管理模塊142將鑒權(quán)成功的消息返回給消息發(fā)送模塊141;步驟204消息發(fā)送模塊141調(diào)用協(xié)議網(wǎng)關(guān)層的接口,將封裝了呼叫類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層12;步驟205協(xié)議網(wǎng)關(guān)層12處理該請(qǐng)求即協(xié)議網(wǎng)關(guān)層12獲取所述呼叫類型標(biāo)識(shí),根據(jù)該呼叫類型標(biāo)識(shí)將協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力發(fā)送給消息發(fā)送模塊141;并將封裝該呼叫的業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息發(fā)送給消息發(fā)送模塊141,其中,呼叫類型標(biāo)識(shí)與該呼叫的業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng);步驟206消息發(fā)送模塊141將封裝該呼叫的業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息發(fā)送給業(yè)務(wù)實(shí)例模塊131,根據(jù)呼叫的業(yè)務(wù)標(biāo)識(shí)修改用于處理所述具體業(yè)務(wù)的業(yè)務(wù)實(shí)例的狀態(tài),其中,所述具體業(yè)務(wù)即針對(duì)所述被叫號(hào)碼的呼叫業(yè)務(wù),業(yè)務(wù)實(shí)例與業(yè)務(wù)實(shí)例模塊131對(duì)應(yīng),業(yè)務(wù)實(shí)例與業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng);步驟207在業(yè)務(wù)實(shí)例管理模塊143中保存該呼叫業(yè)務(wù)運(yùn)行的相關(guān)信息,包括本次呼叫的業(yè)務(wù)標(biāo)識(shí),以及與該業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的處理該呼叫的業(yè)務(wù)實(shí)例標(biāo)識(shí);步驟208消息發(fā)送模塊141將所述協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力以及封裝該呼叫的業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給業(yè)務(wù)應(yīng)用層11,業(yè)務(wù)應(yīng)用層11根據(jù)所述協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力部署業(yè)務(wù),業(yè)務(wù)應(yīng)用層11根據(jù)該呼叫的業(yè)務(wù)標(biāo)識(shí)處理所述具體業(yè)務(wù),并結(jié)束整個(gè)流程。
基于方法實(shí)施例一的原理,當(dāng)觸發(fā)的業(yè)務(wù)是發(fā)送短信業(yè)務(wù)或者定位業(yè)務(wù)也可以采用上述流程,區(qū)別僅在于業(yè)務(wù)應(yīng)用層發(fā)起的業(yè)務(wù)請(qǐng)求消息、協(xié)議網(wǎng)關(guān)層返回的狀態(tài)消息的具體內(nèi)容不同,以及相應(yīng)的業(yè)務(wù)實(shí)例管理模塊中保存的與業(yè)務(wù)運(yùn)行有關(guān)的信息不同。
基于本發(fā)明的核心思想,本發(fā)明還提供了一種消息接收方法,用于所述處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),如圖2、圖8所示,該方法包括以下步驟步驟301協(xié)議網(wǎng)關(guān)層12向消息分發(fā)層14發(fā)送業(yè)務(wù)請(qǐng)求消息,該業(yè)務(wù)請(qǐng)求消息中封裝了業(yè)務(wù)標(biāo)識(shí)以及業(yè)務(wù)信息,其中業(yè)務(wù)信息指針對(duì)具體業(yè)務(wù)的請(qǐng)求信息,比如呼叫業(yè)務(wù)中的具體業(yè)務(wù)請(qǐng)求信息為被叫號(hào)碼;步驟302消息分發(fā)層14根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息處理業(yè)務(wù)請(qǐng)求,將所述業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層11;業(yè)務(wù)應(yīng)用層11根據(jù)所述業(yè)務(wù)請(qǐng)求,返回處理結(jié)果消息,協(xié)議網(wǎng)關(guān)層12獲得請(qǐng)求的業(yè)務(wù),并結(jié)束操作流程。
基于步驟301和步驟302描述的消息接收方法的基本原理,如圖3、圖9所示,所述步驟301具體為協(xié)議網(wǎng)關(guān)層12經(jīng)由協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,向消息接收模塊144發(fā)送封裝了業(yè)務(wù)標(biāo)識(shí)以及業(yè)務(wù)信息的所述業(yè)務(wù)請(qǐng)求消息,其中,相應(yīng)與所述協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,在該接口模塊中傳遞的消息為協(xié)議網(wǎng)關(guān)層上報(bào)類消息,協(xié)議網(wǎng)關(guān)層上報(bào)類消息進(jìn)一步包括呼叫事件類消息、短信類消息、定位類消息。
相應(yīng)的,所述步驟302具體為步驟3021業(yè)務(wù)實(shí)例管理模塊143獲得所述消息接收模塊144轉(zhuǎn)發(fā)的所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息,在業(yè)務(wù)實(shí)例管理模塊143中,查找與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí);步驟3022判斷是否存在與該業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例即通過(guò)查找與該業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例,判斷是否存在該業(yè)務(wù)實(shí)例;如果不存在,則執(zhí)行步驟3023,如果存在,則執(zhí)行步驟3024;步驟3023業(yè)務(wù)實(shí)例管理模塊143向消息接收模塊144返回結(jié)果為空的信息;并根據(jù)所述業(yè)務(wù)信息,在業(yè)務(wù)實(shí)例管理模塊143中,創(chuàng)建新的業(yè)務(wù)實(shí)例;步驟3024消息接收模塊144將協(xié)議網(wǎng)關(guān)層12的業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層11的業(yè)務(wù)實(shí)例模塊處理,業(yè)務(wù)實(shí)例模塊將處理結(jié)果消息返回給協(xié)議網(wǎng)關(guān)層12,結(jié)束操作流程。
基于上述消息接收方法的基本原理,參照?qǐng)D9所示的實(shí)現(xiàn)原理,如圖3、圖10所示,在步驟3023中,創(chuàng)建新業(yè)務(wù)實(shí)例的操作流程包括以下步驟步驟30231在消息接收模塊144將所述業(yè)務(wù)請(qǐng)求消息中的所述業(yè)務(wù)信息,轉(zhuǎn)發(fā)給業(yè)務(wù)管理模塊142后,業(yè)務(wù)管理模塊142處理所述業(yè)務(wù)信息后生成業(yè)務(wù)類型標(biāo)識(shí),以及用于綁定所述業(yè)務(wù)實(shí)例標(biāo)識(shí)與所述業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并實(shí)現(xiàn)業(yè)務(wù)實(shí)例管理模塊143與業(yè)務(wù)應(yīng)用層的業(yè)務(wù)實(shí)例模塊之間進(jìn)行接口調(diào)用的參數(shù)(JNDI);業(yè)務(wù)管理模塊142將所述業(yè)務(wù)類型標(biāo)識(shí)和JNDI返回給消息接收模塊144,其中所述業(yè)務(wù)實(shí)例對(duì)應(yīng)于所述業(yè)務(wù)實(shí)例模塊;步驟30232消息接收模塊144將封裝該業(yè)務(wù)類型標(biāo)識(shí)和JNDI的請(qǐng)求處理消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊143,在業(yè)務(wù)實(shí)例管理模塊143中,創(chuàng)建該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例,并生成該業(yè)務(wù)實(shí)例的業(yè)務(wù)實(shí)例標(biāo)識(shí);將該業(yè)務(wù)實(shí)例上傳給業(yè)務(wù)應(yīng)用層11,修改所述業(yè)務(wù)實(shí)例模塊;
通過(guò)JNDI,建立業(yè)務(wù)實(shí)例管理模塊143與運(yùn)行在業(yè)務(wù)應(yīng)用層的該業(yè)務(wù)實(shí)例模塊131之間的調(diào)用接口,并實(shí)現(xiàn)綁定該業(yè)務(wù)實(shí)例標(biāo)識(shí)與該業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并在該業(yè)務(wù)實(shí)例模塊131中,把該對(duì)應(yīng)關(guān)系設(shè)置成一個(gè)業(yè)務(wù)實(shí)例引用;步驟30233該業(yè)務(wù)實(shí)例模塊131將該業(yè)務(wù)實(shí)例引用返回給業(yè)務(wù)實(shí)例管理模塊143,并在業(yè)務(wù)實(shí)例管理模塊143保存該次業(yè)務(wù)運(yùn)行相關(guān)的信息,包括所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及業(yè)務(wù)實(shí)例標(biāo)識(shí)和業(yè)務(wù)實(shí)例引用的對(duì)應(yīng)關(guān)系;步驟30234業(yè)務(wù)實(shí)例管理模塊143將封裝該業(yè)務(wù)實(shí)例引用的處理消息返回給消息接收模塊144;消息接收模塊144將從協(xié)議網(wǎng)關(guān)層12接收到的業(yè)務(wù)請(qǐng)求消息,封裝成業(yè)務(wù)實(shí)例模塊131所需要的內(nèi)部消息,并通過(guò)所述業(yè)務(wù)實(shí)例的引用,調(diào)用業(yè)務(wù)實(shí)例模塊131處理消息的接口,上報(bào)該業(yè)務(wù)請(qǐng)求消息給該業(yè)務(wù)實(shí)例模塊131進(jìn)行處理;步驟30235業(yè)務(wù)實(shí)例模塊131對(duì)該業(yè)務(wù)請(qǐng)求消息處理后,將封裝了處理結(jié)果的消息返回給消息接收模塊144,并在該消息中給出了執(zhí)行下一步業(yè)務(wù)操作的信息;在當(dāng)前處理結(jié)束后,保存業(yè)務(wù)實(shí)例模塊131所跳轉(zhuǎn)到的狀態(tài),以確保后續(xù)再收到上報(bào)的業(yè)務(wù)請(qǐng)求時(shí),能從正確的狀態(tài)開始處理;步驟30236消息接收模塊144對(duì)業(yè)務(wù)實(shí)例模塊13 1返回的處理結(jié)果的消息,進(jìn)行解析,并將該處理結(jié)果封裝成協(xié)議網(wǎng)關(guān)層12調(diào)用所需要的返回值類型,把該返回值返回給協(xié)議網(wǎng)關(guān)層12。
基于所述消息接收方法的基本原理,參照?qǐng)D9、圖10所示的實(shí)現(xiàn)原理,在步驟30232中消息接收模塊將封裝了業(yè)務(wù)類型標(biāo)識(shí)和JNDI的請(qǐng)求處理消息,發(fā)送給業(yè)務(wù)實(shí)例管理模塊的操作中還包括鑒權(quán)操作,如圖3、圖11所示,該鑒權(quán)操作具體包括以下步驟步驟30232a消息接收模塊144將封裝了所述業(yè)務(wù)類型標(biāo)識(shí)的鑒權(quán)請(qǐng)求發(fā)送給業(yè)務(wù)管理模塊142;步驟30232b業(yè)務(wù)管理模塊142對(duì)與該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)進(jìn)行鑒權(quán),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配;
步驟30232c在判定網(wǎng)絡(luò)承載能力匹配即鑒權(quán)成功時(shí),業(yè)務(wù)管理模塊142將鑒權(quán)成功的消息返回給消息接收模塊144。
當(dāng)互聯(lián)網(wǎng)客戶端15上報(bào)業(yè)務(wù)請(qǐng)求消息給業(yè)務(wù)應(yīng)用層11時(shí),也可以基于上述消息接收方法的基本原理,參照?qǐng)D9、圖10、圖11中描述的實(shí)現(xiàn)原理,實(shí)現(xiàn)對(duì)互聯(lián)網(wǎng)客戶端15上報(bào)的請(qǐng)求消息進(jìn)行轉(zhuǎn)發(fā)、分析、以及處理,其中,互聯(lián)網(wǎng)客戶端15經(jīng)由互聯(lián)網(wǎng)客戶端提交消息的接口模塊,向所述消息分發(fā)層發(fā)起業(yè)務(wù)請(qǐng)求;相應(yīng)于所述互聯(lián)網(wǎng)客戶端提交消息的接口模塊,在該接口模塊中傳遞的消息包括互聯(lián)網(wǎng)客戶端類信息。
以800免費(fèi)電話業(yè)務(wù)為例,在部署800免費(fèi)電話業(yè)務(wù)時(shí),首先調(diào)用協(xié)議網(wǎng)關(guān)層提供的創(chuàng)建觸發(fā)點(diǎn)的接口,在底層網(wǎng)絡(luò)側(cè)設(shè)置撥打800電話的觸發(fā)點(diǎn),當(dāng)有用戶撥打800免費(fèi)電話時(shí),協(xié)議網(wǎng)關(guān)層就會(huì)調(diào)用上報(bào)呼叫事件的(觸發(fā)點(diǎn))接口把呼叫事件上報(bào)給業(yè)務(wù)應(yīng)用層,業(yè)務(wù)應(yīng)用層返回操作指示繼續(xù)(放忙音)、停止呼叫或者呼叫轉(zhuǎn)移。消息分發(fā)層將收到的呼叫事件消息分為兩類一類是會(huì)觸發(fā)應(yīng)用的呼叫消息,即在消息分發(fā)子系統(tǒng)在接收到這次呼叫消息之前,并沒(méi)有創(chuàng)建業(yè)務(wù)實(shí)例處理這個(gè)呼叫相關(guān)的消息,這個(gè)呼叫消息是第一條上報(bào)到某一業(yè)務(wù)的呼叫事件消息,消息分發(fā)層需要找到對(duì)應(yīng)的業(yè)務(wù),并創(chuàng)建/分配一個(gè)業(yè)務(wù)實(shí)例模塊來(lái)處理該呼叫消息,把這個(gè)呼叫的業(yè)務(wù)標(biāo)識(shí)和處理這個(gè)呼叫的業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)起來(lái),以便下次在呼叫同樣業(yè)務(wù)時(shí),直接調(diào)用。
另一類是非觸發(fā)應(yīng)用的呼叫消息,也就是說(shuō)在上報(bào)這次呼叫消息之前,已經(jīng)有業(yè)務(wù)實(shí)例模塊處理過(guò)與這個(gè)呼叫相關(guān)的消息,該消息不是第一條上報(bào)到某一應(yīng)用的消息,消息分發(fā)層只要找到和這個(gè)呼叫的業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí),再根據(jù)這個(gè)業(yè)務(wù)實(shí)例標(biāo)識(shí)找到對(duì)應(yīng)的業(yè)務(wù)實(shí)例模塊即可,下面對(duì)用于該消息分發(fā)層的消息接收處理方法進(jìn)行具體描述。
接收方法實(shí)施例一基于所述核心思想以及參照?qǐng)D8、9、10、圖11中描述的實(shí)現(xiàn)原理,如圖11所示,當(dāng)觸發(fā)的業(yè)務(wù)是一個(gè)呼叫業(yè)務(wù)時(shí),并且不存在業(yè)務(wù)實(shí)例模塊,需要新創(chuàng)建業(yè)務(wù)實(shí)例模塊,本發(fā)明接收方法的實(shí)施例一為一個(gè)對(duì)上報(bào)撥打到800號(hào)碼的呼叫消息的消息接收方法包括以下步驟步驟400協(xié)議網(wǎng)關(guān)層12向消息接收模塊144發(fā)送撥打到800免費(fèi)號(hào)碼的呼叫業(yè)務(wù)請(qǐng)求,在該業(yè)務(wù)請(qǐng)求的消息中封裝了呼叫業(yè)務(wù)的業(yè)務(wù)標(biāo)識(shí),以及業(yè)務(wù)信息即被叫號(hào)碼;步驟401消息接收模塊144將該業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)實(shí)例管理模塊143,根據(jù)保存在業(yè)務(wù)實(shí)例管理模塊143中的所述業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,獲取處理該業(yè)務(wù)請(qǐng)求的所述業(yè)務(wù)實(shí)例標(biāo)識(shí),從而獲取該業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例;由于該呼叫業(yè)務(wù)請(qǐng)求是上報(bào)呼叫的第一條請(qǐng)求,因此之前沒(méi)有業(yè)務(wù)實(shí)例處理過(guò)該業(yè)務(wù)請(qǐng)求,業(yè)務(wù)實(shí)例管理模塊143找不到處理該業(yè)務(wù)請(qǐng)求的業(yè)務(wù)實(shí)例,業(yè)務(wù)實(shí)例管理模塊143向消息接收模塊144返回結(jié)果為空的信息;步驟402消息接收模塊144將業(yè)務(wù)請(qǐng)求消息中的被叫號(hào)碼轉(zhuǎn)發(fā)給業(yè)務(wù)管理模塊142,業(yè)務(wù)管理模塊142處理被叫號(hào)碼后生成業(yè)務(wù)類型標(biāo)識(shí)即被叫號(hào)碼的標(biāo)識(shí),以及用于綁定業(yè)務(wù)實(shí)例標(biāo)識(shí)與業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并實(shí)現(xiàn)業(yè)務(wù)實(shí)例管理模塊143與業(yè)務(wù)實(shí)例模塊131之間進(jìn)行接口調(diào)用的參數(shù)(JNDI);業(yè)務(wù)管理模塊142將該被叫號(hào)碼的標(biāo)識(shí)和JNDI返回給消息接收模塊144;步驟403消息接收模塊144將封裝了該被叫號(hào)碼的標(biāo)識(shí)的鑒權(quán)請(qǐng)求發(fā)送給業(yè)務(wù)管理模塊142,業(yè)務(wù)管理模塊14針對(duì)與該被叫號(hào)碼的標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)進(jìn)行鑒權(quán),包括該業(yè)務(wù)是否能使用協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力、該業(yè)務(wù)是否處于激活狀態(tài);步驟404業(yè)務(wù)管理模塊142將鑒權(quán)成功的消息返回給消息接收模塊144后,消息接收模塊144將封裝了被叫號(hào)碼的標(biāo)識(shí)和JNDI的請(qǐng)求處理消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊143,在業(yè)務(wù)實(shí)例管理模塊143中,創(chuàng)建被叫號(hào)碼的標(biāo)識(shí)對(duì)應(yīng)的一個(gè)業(yè)務(wù)實(shí)例,并生成該業(yè)務(wù)實(shí)例的業(yè)務(wù)實(shí)例標(biāo)識(shí);將業(yè)務(wù)實(shí)例上傳給業(yè)務(wù)應(yīng)用層11,修改業(yè)務(wù)實(shí)例模塊131;通過(guò)JNDI,建立業(yè)務(wù)實(shí)例管理模塊143與運(yùn)行在業(yè)務(wù)應(yīng)用層11的業(yè)務(wù)實(shí)例模塊131之間的調(diào)用接口,并實(shí)現(xiàn)綁定業(yè)務(wù)實(shí)例標(biāo)識(shí)與業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并在業(yè)務(wù)實(shí)例模塊131中,把該對(duì)應(yīng)關(guān)系設(shè)置成一個(gè)業(yè)務(wù)實(shí)例引用;
步驟405業(yè)務(wù)實(shí)例模塊131將該業(yè)務(wù)實(shí)例引用返回給業(yè)務(wù)實(shí)例管理模塊143,并在業(yè)務(wù)實(shí)例管理模塊143保存該次業(yè)務(wù)運(yùn)行相關(guān)的信息,包括所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及業(yè)務(wù)實(shí)例標(biāo)識(shí)和業(yè)務(wù)實(shí)例引用的對(duì)應(yīng)關(guān)系;步驟406業(yè)務(wù)實(shí)例管理模塊143將封裝該業(yè)務(wù)實(shí)例引用的處理消息返回給消息接收模塊144;消息接收模塊144將從協(xié)議網(wǎng)關(guān)層12接收到的業(yè)務(wù)請(qǐng)求消息,封裝成業(yè)務(wù)實(shí)例模塊131所需要的內(nèi)部消息,并通過(guò)業(yè)務(wù)實(shí)例的引用,調(diào)用業(yè)務(wù)實(shí)例模塊131處理消息的接口,將已經(jīng)封裝好的該業(yè)務(wù)請(qǐng)求消息上報(bào)給業(yè)務(wù)實(shí)例模塊131進(jìn)行處理;步驟407業(yè)務(wù)實(shí)例模塊131對(duì)該業(yè)務(wù)請(qǐng)求消息處理后,將封裝了處理結(jié)果的消息返回給消息接收模塊144,并在該消息中給出了執(zhí)行下一步操作的信息,指示協(xié)議網(wǎng)關(guān)層12將所述業(yè)務(wù)請(qǐng)求即呼叫請(qǐng)求,路由到給定的號(hào)碼;將當(dāng)前處理結(jié)束后,保存當(dāng)前業(yè)務(wù)實(shí)例模塊131所跳轉(zhuǎn)到的狀態(tài),以確保后續(xù)再收到上報(bào)的呼叫請(qǐng)求時(shí),能從正確的狀態(tài)開始處理;步驟408消息接收模塊144對(duì)業(yè)務(wù)實(shí)例模塊131返回的處理結(jié)果的消息,進(jìn)行解析,并將該處理結(jié)果封裝成協(xié)議網(wǎng)關(guān)層12調(diào)用所需要的返回值類型,把該返回值返回給協(xié)議網(wǎng)關(guān)層12。
當(dāng)把呼叫路由到應(yīng)用指定的號(hào)碼后,后續(xù)的呼叫事件,如被叫應(yīng)答或者被叫忙,同樣通過(guò)協(xié)議網(wǎng)關(guān)層上報(bào)到業(yè)務(wù)應(yīng)用層,業(yè)務(wù)應(yīng)用層應(yīng)用根據(jù)當(dāng)前運(yùn)行到的狀態(tài),并根據(jù)上報(bào)的呼叫事件對(duì)協(xié)議網(wǎng)關(guān)層做出下一步操作的指示繼續(xù)(放忙音)、停止呼叫或者呼叫轉(zhuǎn)移。本發(fā)明的接收方法實(shí)施二為一個(gè)對(duì)上報(bào)被叫忙消息的消息接收方法的操作流程,并且在該流程中已存在業(yè)務(wù)實(shí)例模塊。
接收方法實(shí)施例二基于如圖11所示接收方法實(shí)施一的實(shí)現(xiàn)原理,本接收方法實(shí)施中的處理步驟與接收方法實(shí)施一的區(qū)別在于由于在業(yè)務(wù)實(shí)例管理模塊143中已經(jīng)創(chuàng)建過(guò)了業(yè)務(wù)實(shí)例,并在其中保存了該呼叫業(yè)務(wù)請(qǐng)求的業(yè)務(wù)標(biāo)識(shí)與業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,該業(yè)務(wù)實(shí)例標(biāo)識(shí)與業(yè)務(wù)實(shí)例的對(duì)應(yīng)關(guān)系。而且設(shè)置了用來(lái)實(shí)現(xiàn)綁定業(yè)務(wù)實(shí)例標(biāo)識(shí)與業(yè)務(wù)實(shí)例之間對(duì)應(yīng)關(guān)系的業(yè)務(wù)實(shí)例引用,建立了業(yè)務(wù)實(shí)例管理模塊143與運(yùn)行在業(yè)務(wù)應(yīng)用層11的該業(yè)務(wù)實(shí)例模塊131之間的調(diào)用接口,因此,當(dāng)消息接收模塊144轉(zhuǎn)發(fā)協(xié)議網(wǎng)關(guān)層12的呼叫業(yè)務(wù)請(qǐng)求給運(yùn)行在業(yè)務(wù)應(yīng)用層11的業(yè)務(wù)實(shí)例模塊131時(shí),直接通過(guò)業(yè)務(wù)實(shí)例標(biāo)識(shí)找到相應(yīng)的業(yè)務(wù)實(shí)例,并通過(guò)該業(yè)務(wù)實(shí)例模塊131對(duì)協(xié)議網(wǎng)關(guān)層12上報(bào)的業(yè)務(wù)請(qǐng)求進(jìn)行處理。
基于如圖11所示接收方法實(shí)施一的實(shí)現(xiàn)原理,當(dāng)觸發(fā)的業(yè)務(wù)是發(fā)送到特殊號(hào)碼的短消息業(yè)務(wù)、定位業(yè)務(wù)、以及互聯(lián)網(wǎng)客戶端提交的業(yè)務(wù)時(shí),也可以采用上述流程,區(qū)別僅在于協(xié)議網(wǎng)關(guān)層發(fā)起的業(yè)務(wù)請(qǐng)求消息、業(yè)務(wù)應(yīng)用層返回的狀態(tài)消息的具體內(nèi)容不同,以及業(yè)務(wù)實(shí)例管理模塊中保存的與業(yè)務(wù)運(yùn)行有關(guān)的信息不同。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng),包括協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層,其特征在于,該系統(tǒng)還包括消息分發(fā)層,用于實(shí)現(xiàn)所述協(xié)議網(wǎng)關(guān)層與所述業(yè)務(wù)應(yīng)用層之間進(jìn)行消息交互時(shí)消息的處理及轉(zhuǎn)發(fā);所述消息分發(fā)層進(jìn)一步包括用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口、以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊,所述消息分發(fā)層通過(guò)所述接口模塊與所述協(xié)議網(wǎng)關(guān)層、所述業(yè)務(wù)應(yīng)用層相連。
2.根據(jù)權(quán)利要求1所述的消息交互系統(tǒng),其特征在于,所述接口模塊包括與所述協(xié)議網(wǎng)關(guān)層相連的協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,用于實(shí)現(xiàn)由該協(xié)議網(wǎng)關(guān)層發(fā)起的、到所述消息分發(fā)層請(qǐng)求的網(wǎng)絡(luò)服務(wù)調(diào)用接口WebService;與所述業(yè)務(wù)應(yīng)用層相連的業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,用于實(shí)現(xiàn)由該業(yè)務(wù)應(yīng)用層發(fā)起的、到所述消息分發(fā)層請(qǐng)求的Web Service。
3.根據(jù)權(quán)利要求2所述的消息交互系統(tǒng),其特征在于,該系統(tǒng)還包括與所述消息分發(fā)層相連的互聯(lián)網(wǎng)客戶端,用于實(shí)現(xiàn)經(jīng)由所述消息分發(fā)層、在該互聯(lián)網(wǎng)客戶端與所述業(yè)務(wù)應(yīng)用層之間進(jìn)行的消息交互;所述接口模塊還包括與所述互聯(lián)網(wǎng)客戶端相連的互聯(lián)網(wǎng)客戶端提交消息的接口模塊,用于實(shí)現(xiàn)由該互聯(lián)網(wǎng)客戶端發(fā)起的、到消息分發(fā)層請(qǐng)求的WebService。
4.根據(jù)權(quán)利要求3所述的消息交互系統(tǒng),其特征在于,所述消息分發(fā)層包括消息發(fā)送模塊、業(yè)務(wù)管理模塊、業(yè)務(wù)實(shí)例管理模塊、消息接收模塊;其中,所述消息發(fā)送模塊,經(jīng)由所述業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊與所述業(yè)務(wù)應(yīng)用層相連;用于通過(guò)接收所述業(yè)務(wù)應(yīng)用層中業(yè)務(wù)實(shí)例模塊的請(qǐng)求消息以及調(diào)用業(yè)務(wù)實(shí)例管理模塊,轉(zhuǎn)發(fā)所述業(yè)務(wù)應(yīng)用層發(fā)起的所述請(qǐng)求消息;所述消息接收模塊,經(jīng)由所述協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊與所述協(xié)議網(wǎng)關(guān)層相連或經(jīng)由所述互聯(lián)網(wǎng)客戶端提交消息的接口模塊與所述互聯(lián)網(wǎng)客戶端相連;用于轉(zhuǎn)發(fā)所述協(xié)議網(wǎng)關(guān)層或所述互聯(lián)網(wǎng)客戶端的業(yè)務(wù)請(qǐng)求消息,并將其轉(zhuǎn)發(fā)給所述業(yè)務(wù)應(yīng)用層中與其對(duì)應(yīng)的、處理該業(yè)務(wù)請(qǐng)求消息的業(yè)務(wù)實(shí)例模塊;所述業(yè)務(wù)管理模塊,用于對(duì)所述協(xié)議網(wǎng)關(guān)層或所述互聯(lián)網(wǎng)客戶端上報(bào)的消息,找到處理相應(yīng)與該消息的業(yè)務(wù)實(shí)例模塊;所述業(yè)務(wù)實(shí)例管理模塊,用于創(chuàng)建、保存、查找、刪除業(yè)務(wù)實(shí)例模塊,并在業(yè)務(wù)實(shí)例管理模塊中,相應(yīng)保存業(yè)務(wù)運(yùn)行的信息。
5.一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息發(fā)送方法,其特征在于,包括以下步驟步驟A、業(yè)務(wù)應(yīng)用層向消息分發(fā)層發(fā)送封裝有業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求消息,所述消息分發(fā)層將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層;步驟B、根據(jù)獲取的業(yè)務(wù)類型標(biāo)識(shí),所述協(xié)議網(wǎng)關(guān)層通過(guò)消息分發(fā)層將協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力返回給所述業(yè)務(wù)應(yīng)用層,并通過(guò)消息分發(fā)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層;所述業(yè)務(wù)應(yīng)用層根據(jù)所述網(wǎng)絡(luò)承載能力部署業(yè)務(wù),并根據(jù)所述業(yè)務(wù)標(biāo)識(shí)處理具體業(yè)務(wù)。
6.根據(jù)權(quán)利要求5所述的消息發(fā)送方法,其特征在于,步驟A具體為步驟A1、所述業(yè)務(wù)應(yīng)用層通過(guò)業(yè)務(wù)實(shí)例模塊,經(jīng)由業(yè)務(wù)應(yīng)用層的發(fā)送請(qǐng)求消息的接口模塊,向消息發(fā)送模塊發(fā)送所述業(yè)務(wù)請(qǐng)求消息;步驟A2、該消息發(fā)送模塊將所述業(yè)務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給協(xié)議網(wǎng)關(guān)層;相應(yīng)的,步驟B中所述協(xié)議網(wǎng)關(guān)層通過(guò)消息分發(fā)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層具體為步驟B1、所述協(xié)議網(wǎng)關(guān)層將封裝業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息轉(zhuǎn)發(fā)給所述消息發(fā)送模塊;所述消息發(fā)送模塊將所述狀態(tài)消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊,根據(jù)所述業(yè)務(wù)標(biāo)識(shí)修改用于處理所述具體業(yè)務(wù)的業(yè)務(wù)實(shí)例的狀態(tài),并在該業(yè)務(wù)實(shí)例管理模塊中保存所述業(yè)務(wù)標(biāo)識(shí)以及與其對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí);步驟B2、所述消息發(fā)送模塊將封裝所述業(yè)務(wù)標(biāo)識(shí)的狀態(tài)消息返回給所述業(yè)務(wù)應(yīng)用層。
7.根據(jù)權(quán)利要求6所述的消息發(fā)送方法,其特征在于,步驟A2中還包括鑒權(quán)操作,該鑒權(quán)操作具體包括以下步驟步驟A21、所述消息發(fā)送模塊轉(zhuǎn)發(fā)封裝所述業(yè)務(wù)類型標(biāo)識(shí)的業(yè)務(wù)請(qǐng)求消息給業(yè)務(wù)管理模塊,向該業(yè)務(wù)管理模塊發(fā)起鑒權(quán)請(qǐng)求;步驟A22、所述業(yè)務(wù)管理模塊根據(jù)所述業(yè)務(wù)類型標(biāo)識(shí),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與請(qǐng)求調(diào)用的所述協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配;步驟A23在判定網(wǎng)絡(luò)承載能力匹配鑒權(quán)成功后,所述業(yè)務(wù)管理模塊將所述鑒權(quán)成功的消息返回給所述消息發(fā)送模塊。
8.一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息接收方法,其特征在于,包括以下步驟步驟a、協(xié)議網(wǎng)關(guān)層向消息分發(fā)層發(fā)送業(yè)務(wù)請(qǐng)求消息,該業(yè)務(wù)請(qǐng)求消息中封裝有業(yè)務(wù)標(biāo)識(shí)以及業(yè)務(wù)信息;步驟b、消息分發(fā)層根據(jù)所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息處理業(yè)務(wù)請(qǐng)求,將所述業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用層;業(yè)務(wù)應(yīng)用層根據(jù)所述業(yè)務(wù)請(qǐng)求,返回處理結(jié)果消息,協(xié)議網(wǎng)關(guān)層獲得請(qǐng)求的業(yè)務(wù)。
9.根據(jù)權(quán)利要求8所述的消息接收方法,其特征在于,步驟a具體為所述協(xié)議網(wǎng)關(guān)層經(jīng)由協(xié)議網(wǎng)關(guān)層的上報(bào)請(qǐng)求消息的接口模塊,向消息接收模塊發(fā)送所述業(yè)務(wù)請(qǐng)求消息;相應(yīng)的,步驟b具體為步驟b1、業(yè)務(wù)實(shí)例管理模塊獲得所述消息接收模塊轉(zhuǎn)發(fā)的所述業(yè)務(wù)標(biāo)識(shí)以及所述業(yè)務(wù)信息,查找與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例標(biāo)識(shí),判斷是否存在與該業(yè)務(wù)實(shí)例標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例;如果不存在,則執(zhí)行步驟b2,如果存在,則執(zhí)行步驟b3;步驟b2、所述業(yè)務(wù)實(shí)例管理模塊向所述消息接收模塊返回結(jié)果為空的消息;并根據(jù)所述業(yè)務(wù)信息,在該業(yè)務(wù)實(shí)例管理模塊中,創(chuàng)建新的業(yè)務(wù)實(shí)例;步驟b3、所述消息接收模塊將所述協(xié)議網(wǎng)關(guān)層的業(yè)務(wù)請(qǐng)求轉(zhuǎn)發(fā)給所述業(yè)務(wù)應(yīng)用層的業(yè)務(wù)實(shí)例模塊處理,該業(yè)務(wù)實(shí)例模塊將處理結(jié)果消息返回給該協(xié)議網(wǎng)關(guān)層。
10.根據(jù)權(quán)利要求9所述的消息接收方法,其特征在于,步驟b2中所述創(chuàng)建新業(yè)務(wù)實(shí)例的操作流程包括以下步驟步驟b21、業(yè)務(wù)管理模塊處理所述業(yè)務(wù)信息后生成業(yè)務(wù)類型標(biāo)識(shí)、以及用于綁定所述業(yè)務(wù)實(shí)例標(biāo)識(shí)與所述業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并實(shí)現(xiàn)業(yè)務(wù)實(shí)例管理模塊與所述業(yè)務(wù)實(shí)例模塊之間進(jìn)行接口調(diào)用的參數(shù)JNDI;業(yè)務(wù)管理模塊將所述業(yè)務(wù)類型標(biāo)識(shí)和JNDI返回給消息接收模塊;步驟b22、消息接收模塊將封裝該業(yè)務(wù)類型標(biāo)識(shí)和JNDI的請(qǐng)求處理消息發(fā)送給業(yè)務(wù)實(shí)例管理模塊,在業(yè)務(wù)實(shí)例管理模塊中,創(chuàng)建該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)實(shí)例,并生成該業(yè)務(wù)實(shí)例的業(yè)務(wù)實(shí)例標(biāo)識(shí);將該業(yè)務(wù)實(shí)例上傳給業(yè)務(wù)應(yīng)用層,修改所述業(yè)務(wù)實(shí)例模塊;通過(guò)JNDI,建立業(yè)務(wù)實(shí)例管理模塊與所述該業(yè)務(wù)實(shí)例模塊之間的調(diào)用接口,并實(shí)現(xiàn)綁定該業(yè)務(wù)實(shí)例標(biāo)識(shí)與該業(yè)務(wù)實(shí)例之間的對(duì)應(yīng)關(guān)系,并在該業(yè)務(wù)實(shí)例模塊中,把該對(duì)應(yīng)關(guān)系設(shè)置成一個(gè)業(yè)務(wù)實(shí)例引用;步驟b23、該業(yè)務(wù)實(shí)例模塊將該業(yè)務(wù)實(shí)例引用返回給業(yè)務(wù)實(shí)例管理模塊,并在業(yè)務(wù)實(shí)例管理模塊保存該次業(yè)務(wù)運(yùn)行相關(guān)的信息,包括所述業(yè)務(wù)標(biāo)識(shí)和所述業(yè)務(wù)實(shí)例標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,以及業(yè)務(wù)實(shí)例標(biāo)識(shí)和業(yè)務(wù)實(shí)例引用的對(duì)應(yīng)關(guān)系;步驟b24、業(yè)務(wù)實(shí)例管理模塊將封裝該業(yè)務(wù)實(shí)例引用的處理消息返回給消息接收模塊;消息接收模塊將從協(xié)議網(wǎng)關(guān)層接收到的業(yè)務(wù)請(qǐng)求消息,封裝成該業(yè)務(wù)實(shí)例模塊所需要的內(nèi)部消息,并通過(guò)所述業(yè)務(wù)實(shí)例的引用,調(diào)用該業(yè)務(wù)實(shí)例模塊處理消息的接口,上報(bào)該業(yè)務(wù)請(qǐng)求消息給該業(yè)務(wù)實(shí)例模塊進(jìn)行處理;步驟b25、該業(yè)務(wù)實(shí)例模塊對(duì)該業(yè)務(wù)請(qǐng)求消息處理后,將封裝處理結(jié)果的消息返回給消息接收模塊,并在該消息中給出了執(zhí)行下一步業(yè)務(wù)操作的信息;在當(dāng)前處理結(jié)束后,保存該業(yè)務(wù)實(shí)例模塊所跳轉(zhuǎn)到的狀態(tài);步驟b26、消息接收模塊對(duì)該業(yè)務(wù)實(shí)例模塊返回的處理結(jié)果的消息,進(jìn)行解析,并將該處理結(jié)果封裝成協(xié)議網(wǎng)關(guān)層調(diào)用所需要的返回值類型,把該返回值返回給所述協(xié)議網(wǎng)關(guān)層。
11.根據(jù)權(quán)利要求10所述的消息接收方法,其特征在于,步驟b22中還包括鑒權(quán)操作,所述鑒權(quán)操作具體包括以下步驟步驟b221、消息接收模塊將封裝所述業(yè)務(wù)類型標(biāo)識(shí)的鑒權(quán)請(qǐng)求發(fā)送給業(yè)務(wù)管理模塊;步驟b222、業(yè)務(wù)管理模塊根據(jù)所述業(yè)務(wù)類型標(biāo)識(shí),判斷該業(yè)務(wù)類型標(biāo)識(shí)對(duì)應(yīng)的業(yè)務(wù)是否與協(xié)議網(wǎng)關(guān)層的網(wǎng)絡(luò)承載能力匹配;步驟b223、在判定網(wǎng)絡(luò)承載能力匹配鑒權(quán)成功后,業(yè)務(wù)管理模塊將鑒權(quán)成功的消息返回給消息接收模塊。
12.根據(jù)權(quán)利要求8所述的消息接收方法,其特征在于,互聯(lián)網(wǎng)客戶端經(jīng)由互聯(lián)網(wǎng)客戶端提交消息的接口模塊向所述消息分發(fā)層發(fā)起業(yè)務(wù)請(qǐng)求。
全文摘要
本發(fā)明公開了一種處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)以及發(fā)送、接收方法,所述系統(tǒng)包括協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層,其中該系統(tǒng)還包括消息分發(fā)層,用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層與業(yè)務(wù)應(yīng)用層之間進(jìn)行消息交互時(shí)消息的處理及轉(zhuǎn)發(fā);消息分發(fā)層中進(jìn)一步包括用于實(shí)現(xiàn)協(xié)議網(wǎng)關(guān)層上報(bào)的統(tǒng)一接口、以及業(yè)務(wù)應(yīng)用層調(diào)用的統(tǒng)一返回地址的接口模塊,所述消息分發(fā)層通過(guò)所述接口模塊與所述協(xié)議網(wǎng)關(guān)層、所述業(yè)務(wù)應(yīng)用層相連。采用本發(fā)明處理網(wǎng)關(guān)層與業(yè)務(wù)層的消息交互系統(tǒng)以及發(fā)送、接收方法,能通過(guò)設(shè)置消息分發(fā)層,并與設(shè)置在該消息分發(fā)層中的接口模塊相匹配,實(shí)現(xiàn)統(tǒng)一接口以及調(diào)用的返回地址,更好的提供對(duì)多業(yè)務(wù)以及網(wǎng)絡(luò)承載能力的支持。
文檔編號(hào)H04L12/66GK101068243SQ20071006535
公開日2007年11月7日 申請(qǐng)日期2007年4月12日 優(yōu)先權(quán)日2007年4月12日
發(fā)明者孟祥武, 彭泳, 宮云戰(zhàn), 陳俊亮 申請(qǐng)人:北京郵電大學(xué)