專利名稱:數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其是涉及一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法和系統(tǒng)。
背景技術(shù):
在大型的數(shù)據(jù)業(yè)務(wù)平臺(tái)的整體實(shí)現(xiàn)過(guò)程中,會(huì)有許多具有某種特定功能的應(yīng)用服務(wù)模塊之間需要進(jìn)行實(shí)時(shí)的消息交互,現(xiàn)有的方案通常采用如下兩種方式來(lái)實(shí)現(xiàn)不同應(yīng)用服務(wù)模塊之間的消息交互:第一種方式為點(diǎn)對(duì)點(diǎn)消息交互方式。在這種方式下,每個(gè)應(yīng)用服務(wù)模塊都需要跟自己有關(guān)聯(lián)的其他服務(wù)模塊建立并維護(hù)點(diǎn)對(duì)點(diǎn)的消息通道,從而能夠跟這些應(yīng)用服務(wù)模塊進(jìn)行消息交互。第二種方式為廣播式消息交互方式。在這種方式下,每個(gè)應(yīng)用服務(wù)模塊都以廣播的方式向其他應(yīng)用服務(wù)模塊發(fā)布消息,相應(yīng)的,每個(gè)應(yīng)用服務(wù)模塊也需要接收其他應(yīng)用服務(wù)模塊廣播的消息,不同的應(yīng)用服務(wù)模塊利用廣播的消息實(shí)現(xiàn)彼此之間的消息交互?,F(xiàn)有的上述處理方式存在諸多不足之處,例如:對(duì)于上述第一種方式,每當(dāng)有新的應(yīng)用服務(wù)模塊加入,已有的某應(yīng)用服務(wù)模塊需要和這個(gè)新的應(yīng)用服務(wù)模塊進(jìn)行通信時(shí),需要對(duì)該已有的應(yīng)用服務(wù)模塊和平臺(tái)上其他已有的應(yīng)用服務(wù)模塊都進(jìn)行修改,造成平臺(tái)的擴(kuò)展性差;并且,當(dāng)應(yīng)用服務(wù)模塊的數(shù)量達(dá)到一定規(guī)模,模塊之間消息信道的維護(hù)工作將是一件非常復(fù)雜且容易出錯(cuò)的任務(wù),導(dǎo)致平臺(tái)的實(shí)現(xiàn)過(guò)于復(fù)雜;最后,隨著應(yīng)用服務(wù)模塊的復(fù)雜度增加,消息交互的頻率也隨之增大,消息密集度過(guò)大,會(huì)導(dǎo)致消息傳遞的延誤或者不能正確傳遞消息。對(duì)于上述第二種方式,每個(gè)應(yīng)用服務(wù)模塊都會(huì)收到很多不必要的消息,且都要對(duì)這些消息進(jìn)行一一識(shí)別,從而降低了消息處理效率;并且,平臺(tái)網(wǎng)絡(luò)中傳遞的消息數(shù)量會(huì)非常大,增加了平臺(tái)的負(fù)擔(dān),從而降低消息傳遞的準(zhǔn)確性和及時(shí)性。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法和系統(tǒng),能夠提高平臺(tái)的擴(kuò)展性,降低平臺(tái)實(shí)現(xiàn)的復(fù)雜度,提高數(shù)據(jù)處理的效率,保證數(shù)據(jù)業(yè)務(wù)平臺(tái)中數(shù)據(jù)傳遞的準(zhǔn)確性和及時(shí)性。為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:本發(fā)明實(shí)施例提供了一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法,該方法包括:當(dāng)?shù)谝粦?yīng)用服務(wù)模塊確定需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互時(shí),消息總線接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;
消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊,通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互系統(tǒng),該系統(tǒng)包括至少一個(gè)消息總線,所述消息總線,當(dāng)?shù)谝粦?yīng)用服務(wù)模塊確定需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互時(shí),接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;以及,通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。由上述可見(jiàn),本發(fā)明實(shí)施例的技術(shù)方案在數(shù)據(jù)業(yè)務(wù)平臺(tái)上提供了一種基于消息總線的分布式數(shù)據(jù)交互架構(gòu),將消息總線作為數(shù)據(jù)交互的中樞,各個(gè)不同的應(yīng)用服務(wù)模塊都連接在消息總線上分別與消息總線進(jìn)行數(shù)據(jù)交互,并由消息總線實(shí)現(xiàn)數(shù)據(jù)的傳遞。本方案提供的新型的數(shù)據(jù)交互架構(gòu),無(wú)需維護(hù)應(yīng)用服務(wù)模塊之間的消息信道,并且,在有新的應(yīng)用服務(wù)模塊加入時(shí),只需將該新的應(yīng)用服務(wù)模塊連接至消息總線即可,無(wú)需對(duì)已有的應(yīng)用服務(wù)模塊進(jìn)行修改,大大提高了平臺(tái)的擴(kuò)展性,降低了平臺(tái)實(shí)現(xiàn)的復(fù)雜度。進(jìn)一步的,本方案保證了數(shù)據(jù)業(yè)務(wù)平臺(tái)中的應(yīng)用服務(wù)模塊只需處理與自身需求相關(guān)的消息,避免了應(yīng)用服務(wù)模塊接收到大量不必要的消息,顯著提高了數(shù)據(jù)處理的效率,降低了平臺(tái)的負(fù)擔(dān)。本方案能夠有效實(shí)現(xiàn)不同應(yīng)用服務(wù)模塊之間錯(cuò)綜復(fù)雜的實(shí)時(shí)數(shù)據(jù)交互,保證數(shù)據(jù)業(yè)務(wù)平臺(tái)中數(shù)據(jù)傳遞的準(zhǔn)確性和及時(shí)性。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法流程示意圖;圖2為本發(fā)明實(shí)施例二提供的基于消息總線的分布式數(shù)據(jù)業(yè)務(wù)平臺(tái)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例二提供的數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法流程示意圖;圖4為本發(fā)明實(shí)施例二提供的總線之總線部署模式結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例二提供的總線之總線部署模式下數(shù)據(jù)交互方法流程示意圖;圖6為本發(fā)明實(shí)施例二提供的線性串行部署模式結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例二提供的線性串行部署模式下數(shù)據(jù)交互方法流程示意圖;圖8為本發(fā)明實(shí)施例三提供的一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明的附圖,對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。隨著數(shù)據(jù)業(yè)務(wù)平臺(tái)應(yīng)用系統(tǒng)越來(lái)越龐大,系統(tǒng)之間的整合也越來(lái)越多,而不同的異構(gòu)服務(wù)模塊進(jìn)程之間的信息交互是一個(gè)必須要解決的問(wèn)題。本發(fā)明方案所提供的基于消息總線的分布式數(shù)據(jù)業(yè)務(wù)平臺(tái)設(shè)計(jì)框架,這種框架相對(duì)簡(jiǎn)單、高效而且也易于實(shí)施,能夠有效解決大型數(shù)據(jù)業(yè)務(wù)平臺(tái)在構(gòu)建過(guò)程中所開(kāi)發(fā)的不同功能應(yīng)用服務(wù)模塊之間錯(cuò)綜復(fù)雜的實(shí)時(shí)消息交互問(wèn)題。本發(fā)明的技術(shù)構(gòu)思主要在于設(shè)計(jì)一套連接在不同功能服務(wù)模塊之間的消息總線(或消息總線系統(tǒng)),各個(gè)不同服務(wù)功能模塊都連接(或掛接)到該消息總線(或消息總線系統(tǒng))上,且與該消息總線(或消息總線系統(tǒng))進(jìn)行數(shù)據(jù)交互,由該消息總線(或消息總線系統(tǒng))完成數(shù)據(jù)的傳遞,從而可有效解決不同應(yīng)用服務(wù)模塊之間錯(cuò)綜復(fù)雜的消息交互方式。 本發(fā)明實(shí)施例一提供了 一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法,參見(jiàn)圖1,所述方法包括:11:第一應(yīng)用服務(wù)模塊確定需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互;12:消息總線接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;13:消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,即判斷獲知需要將第一協(xié)議數(shù)據(jù)包發(fā)送至第二應(yīng)用服務(wù)模塊,則將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,14:第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理,根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;15:消息總線通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊發(fā)送的第二協(xié)議數(shù)據(jù)包;16:消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊,即判斷獲知需要將第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊,則通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。上述消息總線與多個(gè)不同的應(yīng)用服務(wù)模塊建立連接,通過(guò)消息總線實(shí)現(xiàn)不同的應(yīng)用服務(wù)模塊之間連接,消息總線作為一個(gè)數(shù)據(jù)交互的中樞,可以視為一種虛擬的消息總線。上述第一應(yīng)用服務(wù)模塊通過(guò)第一接口與消息總線相連接,上述第二應(yīng)用服務(wù)模塊通過(guò)第二接口與消息總線相連接,根據(jù)第一應(yīng)用服務(wù)模塊和第二應(yīng)用服務(wù)模塊的具體結(jié)構(gòu),上述第一接口和第二接口可以相同,也可以不同。在相同消息總線中傳遞的數(shù)據(jù)包符合相同的通信協(xié)議,例如,上述第一協(xié)議數(shù)據(jù)包和第二協(xié)議數(shù)據(jù)包都是按照相同的通信協(xié)議封裝生成的。為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能和作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。下面對(duì)本發(fā)明實(shí)施例二提供的一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法進(jìn)行說(shuō)明。為了清楚說(shuō)明本方案,參見(jiàn)圖2,顯示了一個(gè)簡(jiǎn)單的基于消息總線的分布式數(shù)據(jù)業(yè)務(wù)平臺(tái)的結(jié)構(gòu)示意圖。同一消息總線(Message-BUS,M-BUS)上連接有應(yīng)用服務(wù)模塊A、應(yīng)用服務(wù)模塊B、應(yīng)用服務(wù)模塊C和應(yīng)用服務(wù)模塊D,這些模塊通過(guò)M-BUS進(jìn)行協(xié)議數(shù)據(jù)包交互,M-BUS上可以支持一個(gè)通用的、與具體業(yè)務(wù)操作無(wú)關(guān)的協(xié)議規(guī)則,在M-BUS上傳遞的協(xié)議數(shù)據(jù)包都符合該協(xié)議規(guī)則。例如,該協(xié)議規(guī)則可以為即時(shí)通信協(xié)議規(guī)則。本方案中的應(yīng)用服務(wù)模塊和M-BUS均互為客戶/服務(wù)器(Client/Server,C/S)模式,即應(yīng)用服務(wù)模塊可以為C/S模式下的客戶端,M-BUS可以為C/S模式下的服務(wù)器端,同時(shí),應(yīng)用服務(wù)模塊也可以為C/S模式下的服務(wù)器端,M-BUS也可以為C/S模式下的客戶端。各應(yīng)用服務(wù)模塊通過(guò)與M-BUS進(jìn)行交互,完成各自本身所具備的功能邏輯。下面以應(yīng)用服務(wù)模塊A需要與應(yīng)用服務(wù)模塊B進(jìn)行數(shù)據(jù)交互(或消息交互)的場(chǎng)景為例進(jìn)行說(shuō)明,參見(jiàn)圖3,具體包括如下步驟:步驟1:應(yīng)用服務(wù)模塊A根據(jù)業(yè)務(wù)邏輯處理需求,判斷是否要與應(yīng)用服務(wù)模塊B進(jìn)行數(shù)據(jù)交互(或消息交互),當(dāng)需要時(shí),執(zhí)行步驟2,否則,結(jié)束流程。在此,僅對(duì)與本方案有關(guān)聯(lián)的需要進(jìn)行數(shù)據(jù)交互的場(chǎng)景進(jìn)行說(shuō)明。步驟2:應(yīng)用服務(wù)模塊A按照預(yù)定的協(xié)議規(guī)則,將需要交互的數(shù)據(jù)打包生成第一協(xié)議數(shù)據(jù)包,并傳遞給M-BUS ;步驟3 =M-BUS收到應(yīng)用服務(wù)模塊A傳遞過(guò)來(lái)的第一協(xié)議數(shù)據(jù)包,分析包頭,判斷該第一協(xié)議數(shù)據(jù)包是要投遞給掛接到消息總線上的哪個(gè)功能服務(wù)模塊;即該第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,消息總線通過(guò)解析第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第二應(yīng)用服務(wù)模塊。步驟4 =M-BUS根據(jù)判斷結(jié)果獲知該第一協(xié)議數(shù)據(jù)包是要傳遞給應(yīng)用服務(wù)模塊B,則直接轉(zhuǎn)發(fā)給應(yīng)用服務(wù)模塊B ;步驟5:應(yīng)用服務(wù)模塊B接收到消息總線傳遞過(guò)來(lái)的消息,進(jìn)行處理,并將處理結(jié)果按照預(yù)定的協(xié)議規(guī)則打包生成第二協(xié)議數(shù)據(jù)包;步驟6:應(yīng)用服務(wù)模塊B將第二協(xié)議數(shù)據(jù)包傳遞給M-BUS ;步驟7:消息總線M-BUS收到應(yīng)用服務(wù)模塊B傳遞過(guò)來(lái)的第二協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息是要投遞給掛接到消息總線上的哪個(gè)功能服務(wù)模塊,在此,判斷獲知是應(yīng)用服務(wù)模塊A。即第二協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,消息總線通過(guò)解析第二協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第一應(yīng)用服務(wù)模塊。步驟8:如果判斷結(jié)果是應(yīng)用服務(wù)模塊A,則直接轉(zhuǎn)發(fā)給應(yīng)用服務(wù)模塊A ;步驟9:應(yīng)用服務(wù)模塊A根據(jù)收到的第二協(xié)議數(shù)據(jù)包,進(jìn)行后續(xù)的邏輯處理。上述以各應(yīng)用服務(wù)模塊都連接在同一消息總線上的場(chǎng)景進(jìn)行了說(shuō)明。在不同的應(yīng)用服務(wù)模塊(如應(yīng)用服務(wù)模塊A與B、應(yīng)用服務(wù)模塊B與C或者應(yīng)用服務(wù)模塊A與C等等)經(jīng)過(guò)M-BUS進(jìn)行消息實(shí)時(shí)交互的過(guò)程中,M-BUS可視為一個(gè)消息交換的中樞。在實(shí)際的應(yīng)用過(guò)程中,如果只部署一套M-BUS,隨著應(yīng)用服務(wù)模塊的增加,在M-BUS上傳遞的消息也會(huì)增加,這樣會(huì)影響消息總線的性能。為解決這個(gè)問(wèn)題,采用部署多個(gè)消息總線來(lái)實(shí)現(xiàn)本方案。本方案優(yōu)選采用如下兩種部署模式:總線之總線的部署模式這種模式下,參見(jiàn)圖4,在每個(gè)消息總線,如M-BUS(1)、M-BUS(2)、M_BUS(3)至M-BUS(n),上連接有若干應(yīng)用服務(wù)模塊,各消息總線通過(guò)總線接口都連接至一個(gè)共同的消息總線M-BUS上。
例如,第一應(yīng)用服務(wù)模塊(如Al)連接在第一消息總線M-BUS(I)上,第二應(yīng)用服務(wù)模塊(如B2)連接在第二消息總線M-BUS (2)上,所述第一消息總線和第二消息總線分別通過(guò)總線接口連接在第三消息總線上,該第三消息總線對(duì)應(yīng)于共同的消息總線M-BUS。當(dāng)?shù)谝粦?yīng)用服務(wù)模塊需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互時(shí),參見(jiàn)圖5,具體流程如下:其中,第一應(yīng)用服務(wù)模塊與M-BUS(I)之間、第二應(yīng)用服務(wù)模塊與M_BUS(2)之間、以及M-BUS (I)、M-BUS (2)和共同的M-BUS之間互為客戶端/服務(wù)器C/S模式下的對(duì)應(yīng)兩端。步驟1:第一應(yīng)用服務(wù)模塊根據(jù)業(yè)務(wù)邏輯處理需求,判斷是否要與第二應(yīng)用服務(wù)模塊進(jìn)行消息交互。步驟2:如果需要,則第一應(yīng)用服務(wù)模塊按照預(yù)定的協(xié)議規(guī)則,打包生成第一協(xié)議數(shù)據(jù)包,并傳遞給M-BUS (I);步驟3 =M-BUS(I)收到第一應(yīng)用服務(wù)模塊傳遞過(guò)來(lái)的第一協(xié)議數(shù)據(jù)包,分析包頭,判斷該數(shù)據(jù)要投遞的第二應(yīng)用服務(wù)模塊掛接在M-BUS (2)上,則轉(zhuǎn)發(fā)該數(shù)據(jù)包給共同的M-BUS(第三消息總線);即第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,第一消息總線通過(guò)解析所述第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在第二消息總線上的第二應(yīng)用服務(wù)?!缞A,以及,第一消息總線和第二消息總線都與第三消息總線相連接(即部署模式)。步驟4:共同的M-BUS收到數(shù)據(jù)包后,分析該數(shù)據(jù)包是要轉(zhuǎn)發(fā)給消息總線M-BUS (2),則直接轉(zhuǎn)發(fā)給消息總線M-BUS (2);步驟5:消息總線M-BUS (2)收到消息總線M-BUS傳遞過(guò)來(lái)的協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息是要投遞給掛接到自身的B功能服務(wù)模塊;在此,不對(duì)在交互過(guò)程中如何判斷獲知目的應(yīng)用服務(wù)模塊及其所連接的消息總線的具體方式進(jìn)行限定,例如,在上述步驟3已經(jīng)通過(guò)解析包頭獲知了第二應(yīng)用服務(wù)模塊,該第二應(yīng)用服務(wù)模塊連接在M-BUS (2)上,以及部署的模式為總線之總線的部署模式,則在步驟5中也可以不再進(jìn)行包頭的解析,直接將已獲知的信息通知M-BUS⑵即可。步驟6 =M-BUS (2)直接轉(zhuǎn)發(fā)第一協(xié)議數(shù)據(jù)包給第二應(yīng)用服務(wù)模塊;步驟7:第二應(yīng)用服務(wù)模塊接收到消息總線M_BUS(2)傳遞過(guò)來(lái)的消息,進(jìn)行處理。并將處理結(jié)果按照預(yù)定的協(xié)議規(guī)則打包生成第二協(xié)議數(shù)據(jù)包,然后傳遞給消息總線M-BUS (2);步驟8:消息總線M-BUS(2)收到第二應(yīng)用服務(wù)模塊傳遞過(guò)來(lái)的第二協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息要投遞的服務(wù)模塊A掛接在消息總線M-BUS (I)上,則轉(zhuǎn)發(fā)該消息包給共同的M-BUS ;步驟9:消息總線M-BUS收到消息包后,分析該消息是要轉(zhuǎn)發(fā)給消息總線M-BUS (I),則直接轉(zhuǎn)發(fā);步驟10:消息總線M-BUS(I)收到消息總線M-BUS傳遞過(guò)來(lái)的協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息是要投遞給掛接到自身的第一應(yīng)用服務(wù)模塊;步驟11:則直接轉(zhuǎn)發(fā)消息包給第一應(yīng)用服務(wù)模塊;步驟12:第一應(yīng)用服務(wù)模塊根據(jù)收到的協(xié)議數(shù)據(jù)包,進(jìn)行后續(xù)的邏輯處理。由上所述可知,在進(jìn)行數(shù)據(jù)交互時(shí),在數(shù)據(jù)向目的端發(fā)送的過(guò)程中,第一消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線;第三消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第二消息總線;第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。在數(shù)據(jù)從目的端返回的過(guò)程中,第二消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線;第三消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。線性串行的部署模式這種模式下,參見(jiàn)圖6,在每個(gè)消息總線,如M-BUS(1)、M-BUS(2)、M_BUS(3)至M-BUS(n),上連接有若干應(yīng)用服務(wù)模塊,各消息總線之間通過(guò)總線接口以串行模式連接。通過(guò)部署多個(gè)消息總線,形成一個(gè)彼此串聯(lián)起來(lái)的更大的虛擬消息總線(VirtualMessage-BUS, VM-BUS)。例如,第一應(yīng)用服務(wù)模塊連接在第一消息總線M-BUS(I)上,所述第二應(yīng)用服務(wù)模塊連接在第二消息總線M-BUS(2)上,所述第一消息總線和第二消息總線通過(guò)總線接口以串行模式相連接,或者,所述第一消息總線和第二消息總線之間通過(guò)總線接口以串行模式連接有多個(gè)其他的消息總線。下面以應(yīng)用服務(wù)模塊A和應(yīng)用服務(wù)模塊B之間進(jìn)行數(shù)據(jù)交互的場(chǎng)景為例進(jìn)行說(shuō)明,其中,應(yīng)用服務(wù)模塊A連接在M-BUS(M)上,應(yīng)用服務(wù)模塊B連接在M-BUS⑴上,M-BUS (M)和M-BUS⑴連接有多個(gè)消息總線,統(tǒng)一表示為M-BUS (M土 I)。應(yīng)用服務(wù)模塊A與M-BUS (M)之間、應(yīng)用服務(wù)模塊B與M-BUS⑴之間,M-BUS (M)、M-BUS(X)和M-BUS(Mil)之間消息總線M-BUS⑴互為C/S模式下的對(duì)應(yīng)兩端。參見(jiàn)圖7,具體交互過(guò)程說(shuō)明如下:步驟1:應(yīng)用服務(wù)模塊A根據(jù)業(yè)務(wù)邏輯處理需求,判斷是否要與應(yīng)用服務(wù)模塊B進(jìn)行消息交互。步驟2:如果需要,則按照預(yù)定的協(xié)議規(guī)則,打包生成第一協(xié)議數(shù)據(jù)包,并傳遞給與之相連接的消息總線M-BUS(M);步驟3:消息總線M-BUS (M)收到應(yīng)用服務(wù)模塊A傳遞過(guò)來(lái)的第一協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息要投遞的服務(wù)模塊B掛接在消息總線M-BUS⑴上。即第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,M-BUS(M)通過(guò)解析所述第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在第二消息總線上的第二應(yīng)用服務(wù)模塊,以及,第一消息總線和第二消息總線以串行的模式相連接。當(dāng)M-BUS (M)和M-BUS (X)直接通過(guò)總線接口串連時(shí),M-BUS (M)將所述第一協(xié)議數(shù)據(jù)包通過(guò)總線接口直接發(fā)送至M-BUS(X) ;M-BUS(X)將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至應(yīng)用服務(wù)模塊B,并通過(guò)第二接口接收應(yīng)用服務(wù)模塊B根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;在本場(chǎng)景中,M-BUS (M)和M-BUS⑴之間還具有多個(gè)其他的消息總線,則包括如下處理:M-BUS (M)需要確定數(shù)據(jù)發(fā)送路徑;M_BUS (M)根據(jù)所述數(shù)據(jù)發(fā)送路徑,通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第一協(xié)議數(shù)據(jù)包,直至發(fā)送至M-BUS (X) ;M-BUS(X)將所述第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至應(yīng)用服務(wù)模塊B,并通過(guò)第二接口接收應(yīng)用服務(wù)模塊B根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。步驟4 =M-BUS (M)直接轉(zhuǎn)發(fā)數(shù)據(jù)包給消息總線M-BUS (M)的下一級(jí)消息總線上,該下一級(jí)消息總線的標(biāo)號(hào)可以是M-BUS (M+1),也可以是M-BUS (M-1),具體需要根據(jù)M-BUS (M)和M-BUS (X)的連接位置確定,在此將下一級(jí)消息總線統(tǒng)一表示成M-BUS (M土 I)。步驟5:消息總線M-BUS(Mil)接收到上級(jí)消息總線M-BUS(M)傳遞過(guò)來(lái)的數(shù)據(jù)包,分析包頭,判斷是否到達(dá)目標(biāo)消息總線M-BUS(X);如果沒(méi)有達(dá)到,則繼續(xù)在數(shù)據(jù)發(fā)送路徑上傳遞該消息包給下一級(jí)的消息總線M-BUS (M±2),重復(fù)該操作,轉(zhuǎn)發(fā)消息包給下一級(jí)消息總線 M-BUS (M±N)。步驟6:當(dāng)M±N = X時(shí),到達(dá)目的消息總線M-BUS(X),將第一協(xié)議數(shù)據(jù)包發(fā)送至M-BUS(X);步驟7:當(dāng)消息總線M-BUS⑴接收到上級(jí)消息總線M-BUS (M+N-1或者M(jìn)-N+1)傳遞過(guò)來(lái)的協(xié)議數(shù)據(jù)包,分析包頭,發(fā)現(xiàn)該消息包是要傳遞給掛接在自己上面的應(yīng)用服務(wù)模塊B,則直接轉(zhuǎn)發(fā)給應(yīng)用服務(wù)模塊B ;步驟8:應(yīng)用服務(wù)模塊B接收到消息總線M-BUS⑴傳遞過(guò)來(lái)的消息,進(jìn)行處理,并將處理結(jié)果按照預(yù)定的協(xié)議規(guī)則打包生成第二協(xié)議數(shù)據(jù)包,然后傳遞給消息總線M-BUS(X);步驟9:消息總線M-BUS(X)收到應(yīng)用服務(wù)模塊B傳遞過(guò)來(lái)的第二協(xié)議數(shù)據(jù)包,分析包頭,判斷該消息是要投遞給掛接到消息總線M-BUS (M)上的應(yīng)用服務(wù)模塊A,則按照原數(shù)據(jù)發(fā)送路徑返回傳遞第二協(xié)議數(shù)據(jù)包到消息總線M-BUS (M)上;在此,不對(duì)在交互過(guò)程中如何判斷獲知所確定的數(shù)據(jù)發(fā)送路徑的具體方式進(jìn)行限定。步驟10:當(dāng)消息總線M-BUS (M)收到應(yīng)用服務(wù)模塊B經(jīng)過(guò)消息總線M-BUS⑴,...,消息總線M-BUS(Mil)傳遞過(guò)來(lái)的第二協(xié)議數(shù)據(jù)包,分析包頭,判斷該數(shù)據(jù)是要投遞給掛接到自己本身的應(yīng)用服務(wù)模塊A ;可以理解,若M-BUS (M)獲知第二協(xié)議數(shù)據(jù)包相應(yīng)于第一協(xié)議數(shù)據(jù)包時(shí),可以無(wú)需分析第二協(xié)議數(shù)據(jù)包的包頭,根據(jù)所保存的第一協(xié)議數(shù)據(jù)包的相關(guān)信息獲知該數(shù)據(jù)是要投遞給掛接到自己本身的應(yīng)用服務(wù)模塊A。步驟11:如果判斷結(jié)果是應(yīng)用服務(wù)模塊A,則直接轉(zhuǎn)發(fā)給應(yīng)用服務(wù)模塊A ;步驟12:應(yīng)用服務(wù)模塊A根據(jù)收到的第二協(xié)議數(shù)據(jù)包,進(jìn)行后續(xù)的邏輯處理。由上所述可知,在進(jìn)行數(shù)據(jù)交互時(shí),在數(shù)據(jù)向目的端發(fā)送的過(guò)程中,第一消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)總線接口發(fā)送至第二消息總線;第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;或者,第一消息總線確定數(shù)據(jù)發(fā)送路徑;第一消息總線根據(jù)所述數(shù)據(jù)發(fā)送路徑,通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第一協(xié)議數(shù)據(jù)包,直至發(fā)送至第二消息總線;第二消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。在數(shù)據(jù)從目的端返回的過(guò)程中,第二消息總線將所述第二協(xié)議數(shù)據(jù)包通過(guò)總線接口發(fā)送至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊;或者,第二消息總線按照所判斷獲知的數(shù)據(jù)發(fā)送路徑,將第二協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第二協(xié)議數(shù)據(jù)包,直至發(fā)送至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。進(jìn)一步的,也可以同時(shí)采用上述的兩種模式部署多個(gè)消息總線,形成一種混合的部署模式。例如,在采用串行部署模式時(shí),串行連接上的每一個(gè)獨(dú)立的連接點(diǎn)可以由采用總線之總線模式配置的多個(gè)消息總線構(gòu)成;或者,在采用總線之總線部署模式時(shí),連接至共同的總線上的每一連接點(diǎn)可以由采用串行模式配置的多個(gè)消息總線構(gòu)成。本發(fā)明實(shí)施例三還提供了一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互系統(tǒng),參見(jiàn)圖8,所述系統(tǒng)包括至少一個(gè)消息總線80,所述消息總線80,當(dāng)?shù)谝粦?yīng)用服務(wù)模塊81確定需要與第二應(yīng)用服務(wù)模塊82進(jìn)行數(shù)據(jù)交互時(shí),接收第一應(yīng)用服務(wù)模塊81通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊82,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊82,由第二應(yīng)用服務(wù)模塊82對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;以及,通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊81。當(dāng)系統(tǒng)中包括多個(gè)消息總線時(shí),可以采用總線之總線的部署模式或者線性串行模式部署這些消息總線。本實(shí)施例中消息總線的具體工作方式可以參見(jiàn)本發(fā)明實(shí)施例一和
--O
例如,若上述第一應(yīng)用服務(wù)模塊和第二應(yīng)用服務(wù)模塊可以連接在同一消息總線上,消息總線通過(guò)解析第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第二應(yīng)用服務(wù)模塊;以及,消息總線通過(guò)解析所述第二協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第一應(yīng)用服務(wù)模塊。若第一應(yīng)用服務(wù)模塊連接在第一消息總線上,所述第二應(yīng)用服務(wù)模塊連接在第二消息總線上,第一消息總線和第二消息總線通過(guò)總線接口以串行模式相連接,或者,第一消息總線和第二消息總線之間通過(guò)總線接口以串行模式連接有至少一個(gè)消息總線,這時(shí),第一消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)總線接口發(fā)送至第二消息總線;第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;或者,第一消息總線確定數(shù)據(jù)發(fā)送路徑;第一消息總線根據(jù)所述數(shù)據(jù)發(fā)送路徑,通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第一協(xié)議數(shù)據(jù)包,直至發(fā)送至第二消息總線;第二消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。若第一應(yīng)用服務(wù)模塊連接在第一消息總線上,所述第二應(yīng)用服務(wù)模塊連接在第二消息總線上,所述第一消息總線和第二消息總線分別通過(guò)總線接口連接在第三消息總線上,這時(shí),第一消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線;第三消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第二消息總線;第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。以及,第二消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線;第三消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。上述第一應(yīng)用服務(wù)模塊、第二應(yīng)用服務(wù)模塊與相應(yīng)的消息總線之間,以及各消息總線之間互為C/S模式下的對(duì)應(yīng)兩端。由上述可見(jiàn),本發(fā)明實(shí)施例的技術(shù)方案在數(shù)據(jù)業(yè)務(wù)平臺(tái)上提供了一種基于消息總線的分布式數(shù)據(jù)交互架構(gòu),將消息總線作為數(shù)據(jù)交互的中樞,各個(gè)不同的應(yīng)用服務(wù)模塊都連接在消息總線上分別與消息總線進(jìn)行數(shù)據(jù)交互,并由消息總線實(shí)現(xiàn)數(shù)據(jù)的傳遞。本方案提供的新型的數(shù)據(jù)交互架構(gòu),無(wú)需維護(hù)應(yīng)用服務(wù)模塊之間的消息信道,并且,在有新的應(yīng)用服務(wù)模塊加入時(shí),只需將該新的應(yīng)用服務(wù)模塊連接至消息總線即可,無(wú)需對(duì)已有的應(yīng)用服務(wù)模塊進(jìn)行修改,大大提高了平臺(tái)的擴(kuò)展性,降低了平臺(tái)實(shí)現(xiàn)的復(fù)雜度。進(jìn)一步的,本方案保證了數(shù)據(jù)業(yè)務(wù)平臺(tái)中的應(yīng)用服務(wù)模塊只需處理與自身需求相關(guān)的消息,避免了應(yīng)用服務(wù)模塊接收到大量不必要的消息,顯著提高了數(shù)據(jù)處理的效率,降低了平臺(tái)的負(fù)擔(dān)。本方案能夠有效實(shí)現(xiàn)不同應(yīng)用服務(wù)模塊之間錯(cuò)綜復(fù)雜的實(shí)時(shí)數(shù)據(jù)交互,保證數(shù)據(jù)業(yè)務(wù)平臺(tái)中數(shù)據(jù)傳遞的準(zhǔn)確性和及時(shí)性。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法,其特征在于,所述方法包括: 當(dāng)?shù)谝粦?yīng)用服務(wù)模塊確定需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互時(shí),消息總線接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包; 消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理;并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包; 消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊,并通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一應(yīng)用服務(wù)模塊和第二應(yīng)用服務(wù)模塊連接在同一消息總線上; 所述消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊具體包括: 所述第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,消息總線通過(guò)解析所述第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第二應(yīng)用服務(wù)模塊; 所述消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊具體包括: 所述第二協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,消息總線通過(guò)解析所述第二協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在本消息總線上的第一應(yīng)用服務(wù)模塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述第一應(yīng)用服務(wù)模塊連接在第一消息總線上,所述第二應(yīng)用服務(wù)模塊連接在第二消息總線上,所述第一消息總線和第二消息總線通過(guò)總線接口以串行模式相連接,或者,所述第一消息總線和第二消息總線之間通過(guò)總線接口以串行模式連接有至少一個(gè)消息總線,所述消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊具體包括: 所述第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,第一消息總線通過(guò)解析所述第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在第二消息總線上的第二應(yīng)用服務(wù)模塊,以及,第一消息總線和第二消息總線以串行的模式相連接; 所述消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊具體包括: 所述第二協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,第二消息總線通過(guò)解析所述第二協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在第一消息總線上的第一應(yīng)用服務(wù)模塊,以及,第一消息總線和第二消息總線以串行的模式相連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理;并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包具體包括: 第一消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)總線接口發(fā)送至第二消息總線;第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包; 或者, 第一消息總線確定數(shù)據(jù)發(fā)送路徑;第一消息總線根據(jù)所述數(shù)據(jù)發(fā)送路徑,通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第一協(xié)議數(shù)據(jù)包,直至發(fā)送至第二消息總線;第二消息總線將所述第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊具體包括: 第二消息總線將所述第二協(xié)議數(shù)據(jù)包通過(guò)總線接口發(fā)送至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊;或者, 第二消息總線按照所判斷獲知的數(shù)據(jù)發(fā)送路徑,將第二協(xié)議數(shù)據(jù)包發(fā)送至下一消息總線,以在位于所述數(shù)據(jù)發(fā)送路徑中的消息總線上逐次轉(zhuǎn)發(fā)所述第二協(xié)議數(shù)據(jù)包,直至發(fā)送至第一消息總線;第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述第一應(yīng)用服務(wù)模塊連接在第一消息總線上,所述第二應(yīng)用服務(wù)模塊連接在第二消息總線上,所述第一消息總線和第二消息總線分別通過(guò)總線接口連接在第三消息總線上,所述消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊具體包括: 所述第一協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,第一消息總線通過(guò)解析所述第一協(xié)議數(shù)據(jù)包的包頭部分,判斷獲知連接在第二消息總線上的第二應(yīng)用服務(wù)模塊,以及,第一消息總線和第二消息總線都與第三消息總線相連接; 所述消息總線根據(jù)所述第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊具體包括: 所述第二協(xié)議數(shù)據(jù)包包括包頭部分和數(shù)據(jù)部分,第二消息總線通過(guò)解析所述第二協(xié)議數(shù)據(jù)包的包頭部分,判斷 獲知連接在第一消息總線上的第一應(yīng)用服務(wù)模塊,以及,第一消息總線和第二消息總線都與第三消息總線相連接。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理;并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包具體包括: 第一消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線; 第三消息總線通過(guò)總線接口將第一協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第二消息總線; 第二消息總線將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊具體包括: 第二消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包發(fā)送至第三消息總線; 第三消息總線通過(guò)總線接口將第二協(xié)議數(shù)據(jù)包轉(zhuǎn)發(fā)至第一消息總線; 第一消息總線通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。
9.根據(jù)權(quán)利要求1至8任一項(xiàng)所述的方法,其特征在于,所述第一應(yīng)用服務(wù)模塊、第二應(yīng)用服務(wù)模塊與相應(yīng)的消息總線之間,以及各消息總線之間互為客戶/服務(wù)器模式C/S模式下的對(duì)應(yīng)兩端。
10.一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互系統(tǒng),其特征在于,所述系統(tǒng)包括至少一個(gè)消息總線, 所述消息總線,當(dāng)?shù)谝粦?yīng)用服務(wù)模塊確定需要與第二應(yīng)用服務(wù)模塊進(jìn)行數(shù)據(jù)交互時(shí),接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)所述第一協(xié)議數(shù)據(jù)包進(jìn)行處理,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;以及,通過(guò)第一接口將所述第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng) 用服務(wù)模塊。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法和系統(tǒng),能夠提高平臺(tái)的擴(kuò)展性,降低平臺(tái)實(shí)現(xiàn)的復(fù)雜度,提高數(shù)據(jù)處理的效率,保證數(shù)據(jù)業(yè)務(wù)平臺(tái)中數(shù)據(jù)傳遞的準(zhǔn)確性和及時(shí)性。本發(fā)明實(shí)施例提供的數(shù)據(jù)業(yè)務(wù)平臺(tái)上數(shù)據(jù)交互方法包括消息總線接收第一應(yīng)用服務(wù)模塊通過(guò)第一接口發(fā)送的第一協(xié)議數(shù)據(jù)包;消息總線根據(jù)所述第一協(xié)議數(shù)據(jù)包判斷獲知第二應(yīng)用服務(wù)模塊,將第一協(xié)議數(shù)據(jù)包通過(guò)第二接口發(fā)送至第二應(yīng)用服務(wù)模塊,由第二應(yīng)用服務(wù)模塊對(duì)第一協(xié)議數(shù)據(jù)包進(jìn)行處理,并通過(guò)第二接口接收第二應(yīng)用服務(wù)模塊根據(jù)處理結(jié)果生成的第二協(xié)議數(shù)據(jù)包;消息總線根據(jù)第二協(xié)議數(shù)據(jù)包判斷獲知第一應(yīng)用服務(wù)模塊,通過(guò)第一接口將第二協(xié)議數(shù)據(jù)包發(fā)送至第一應(yīng)用服務(wù)模塊。
文檔編號(hào)H04L29/06GK103095564SQ20111034055
公開(kāi)日2013年5月8日 申請(qǐng)日期2011年11月1日 優(yōu)先權(quán)日2011年11月1日
發(fā)明者孟艷青 申請(qǐng)人:北京新媒傳信科技有限公司