亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種報(bào)文傳輸方法及系統(tǒng)與流程

文檔序號(hào):11590482閱讀:487來(lái)源:國(guó)知局
一種報(bào)文傳輸方法及系統(tǒng)與流程

本申請(qǐng)涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種報(bào)文傳輸方法及系統(tǒng)。



背景技術(shù):

隨著通信技術(shù)的發(fā)展,交互通信不再局限于相同結(jié)構(gòu)的系統(tǒng)之間。異構(gòu)系統(tǒng)之間交互通信的應(yīng)用越來(lái)越廣泛,已被應(yīng)用于各個(gè)領(lǐng)域。

目前,異構(gòu)系統(tǒng)之間的交互通信的方法主要是采用統(tǒng)一的報(bào)文格式和通訊機(jī)制,即兩個(gè)異構(gòu)系統(tǒng)之間約定一種通信協(xié)議及與約定的通信協(xié)議相匹配的報(bào)文格式。在發(fā)送端設(shè)置報(bào)文轉(zhuǎn)換模塊,以將即將發(fā)送的報(bào)文轉(zhuǎn)換為約定的報(bào)文格式,同時(shí)在接收端也設(shè)置一個(gè)報(bào)文轉(zhuǎn)換模塊,以將接收到的約定的報(bào)文格式轉(zhuǎn)換為系統(tǒng)可識(shí)別的報(bào)文格式。

現(xiàn)有技術(shù)中異構(gòu)系統(tǒng)之間交互通信系統(tǒng)中,若一個(gè)系統(tǒng)做出改變,則相應(yīng)地,該系統(tǒng)中的報(bào)文轉(zhuǎn)換模塊也需要做出改變。相應(yīng)地,另一個(gè)系統(tǒng)的報(bào)文轉(zhuǎn)換模塊也需要做出相應(yīng)改變,這對(duì)于系統(tǒng)的改造和適配來(lái)說(shuō)存在比較大的工作量。

綜上所述,現(xiàn)有技術(shù)中缺少一種能靈活使用和適配改造過(guò)的異構(gòu)系統(tǒng)的通信方法及系統(tǒng),以完成異構(gòu)系統(tǒng)之間的通信。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)實(shí)施例提供一種報(bào)文傳輸方法及系統(tǒng),以解決現(xiàn)有技術(shù)中缺少一種能靈活使用和適配改造過(guò)的異構(gòu)系統(tǒng)的通信方法及系統(tǒng)的技術(shù)問(wèn)題。

根據(jù)本申請(qǐng)實(shí)施例提供的一種報(bào)文傳輸方法,包括:

獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù),及確定接收端的報(bào)文數(shù)據(jù)的格式信息;

根據(jù)所述接收端的報(bào)文的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù);

將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端;其中,所述發(fā)送端與所述接收端異構(gòu)。

在一個(gè)實(shí)施例中,所述確定接收端對(duì)應(yīng)的報(bào)文數(shù)據(jù)的格式信息,包括:

獲取所述發(fā)送端的報(bào)文實(shí)體數(shù)據(jù)對(duì)應(yīng)的交易碼和版本號(hào);

根據(jù)所述交易碼、版本號(hào)及所述發(fā)送端與接收端之間的通信協(xié)議,確定所述接收端的報(bào)文數(shù)據(jù)的格式信息;

所述根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù);包括:

通過(guò)構(gòu)造的報(bào)文解析引擎和報(bào)文域處理引擎,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)。

在一個(gè)實(shí)施例中,所述報(bào)文實(shí)體數(shù)據(jù)為定長(zhǎng)報(bào)文實(shí)體數(shù)據(jù)或xml報(bào)文實(shí)體數(shù)據(jù)。

在一個(gè)實(shí)施例中,所述方法還包括:

若獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù)出現(xiàn)故障或?qū)⑺鰣?bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則發(fā)送第一錯(cuò)誤信息;

若將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式對(duì)應(yīng)的報(bào)文數(shù)據(jù)時(shí)出現(xiàn)故障,則發(fā)送第二錯(cuò)誤信息。

在一個(gè)實(shí)施例中,所述方法還包括:

獲取接收端反饋的報(bào)文數(shù)據(jù),及接收端反饋的報(bào)文數(shù)據(jù)的格式信息;

根據(jù)所述接收端反饋的報(bào)文數(shù)據(jù)的格式信息,將所述接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)換為報(bào)文實(shí)體數(shù)據(jù);

將所述接收到反饋的報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)發(fā)送至發(fā)送端。

根據(jù)本申請(qǐng)實(shí)施例提供的一種報(bào)文傳輸系統(tǒng),包括發(fā)送端、服務(wù)集成框架和接收端,所述服務(wù)集成框架包括:

報(bào)文實(shí)體數(shù)據(jù)獲取模塊,用于獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù),及確定接收端的報(bào)文數(shù)據(jù)的格式信息;

報(bào)文實(shí)體數(shù)據(jù)處理模塊,用于根據(jù)所述接收端的報(bào)文的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù);

通信模塊,用于將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端。

在一個(gè)實(shí)施例中,所述報(bào)文實(shí)體數(shù)據(jù)處理模塊,包括:

信息獲取單元,用于獲取所述報(bào)文實(shí)體數(shù)據(jù)對(duì)應(yīng)的交易碼和版本;

轉(zhuǎn)換單元,用于根據(jù)所述交易碼、版本號(hào)及所述發(fā)送端與接收端之間的通信協(xié)議,確定所述接收端的報(bào)文的格式信息;

所述報(bào)文實(shí)體數(shù)據(jù)處理模塊,通過(guò)構(gòu)造的報(bào)文解析引擎和報(bào)文域處理引擎,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)。

在一個(gè)實(shí)施例中,所述報(bào)文實(shí)體數(shù)據(jù)為定長(zhǎng)報(bào)文實(shí)體數(shù)據(jù)或xml報(bào)文實(shí)體數(shù)據(jù)。

在一個(gè)實(shí)施例中,所述服務(wù)集成框架還包括錯(cuò)誤信息發(fā)送模塊,用于

若所述報(bào)文實(shí)體數(shù)據(jù)獲取模塊獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù)時(shí)出現(xiàn)故障或所述通信模塊將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則發(fā)送第一錯(cuò)誤信息;

若所述報(bào)文實(shí)體數(shù)據(jù)處理模塊將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)時(shí)出現(xiàn)故障,則發(fā)送第二錯(cuò)誤信息。

在一個(gè)實(shí)施例中,所述服務(wù)集成框架還包括:

報(bào)文數(shù)據(jù)獲取模塊,用于獲取接收端反饋的報(bào)文數(shù)據(jù),及接收端的報(bào)文數(shù)據(jù)的格式信息;

報(bào)文數(shù)據(jù)處理模塊,用于根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)換為報(bào)文實(shí)體數(shù)據(jù);

所述通信模塊,還用于將所述反饋的報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)發(fā)送至發(fā)送端。

本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:

本申請(qǐng)實(shí)施例提供的報(bào)文傳輸方法及系統(tǒng),首先確定接收端接收的報(bào)文數(shù)據(jù)的格式信息,然后根據(jù)確定的接收端接收的報(bào)文數(shù)據(jù)的格式信息封裝發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)成報(bào)文數(shù)據(jù),最后將封裝的報(bào)文數(shù)據(jù)發(fā)送至接收端。采用本技術(shù)方案,當(dāng)通信系統(tǒng)中的一端的系統(tǒng)發(fā)生改變時(shí),無(wú)需對(duì)通信系統(tǒng)的另一端做出改變,可僅通過(guò)改變服務(wù)集成框架來(lái)完成發(fā)送端與接收端的通信,有效提高了通信系統(tǒng)改變的靈活性,能靈活使用和適配異構(gòu)改造過(guò)的異構(gòu)系統(tǒng)之間的通信。

采用本申請(qǐng)實(shí)施例提供的報(bào)文傳輸方法及系統(tǒng),當(dāng)接收端接收到報(bào)文數(shù)據(jù)后對(duì)其進(jìn)行處理并反饋表征處理結(jié)果的報(bào)文數(shù)據(jù)至服務(wù)集成框架,服務(wù)集成框架將反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)并發(fā)送至發(fā)送端,有效實(shí)現(xiàn)了異構(gòu)的發(fā)送端和接收端之間的交互通信。

附圖說(shuō)明

此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:

圖1為本申請(qǐng)實(shí)施例中報(bào)文傳輸方法的流程圖;

圖2為本申請(qǐng)實(shí)施例中另外一種報(bào)文傳輸方法的流程圖;

圖3為本申請(qǐng)實(shí)施例中自發(fā)送端發(fā)送報(bào)文實(shí)體數(shù)據(jù)至發(fā)送端接收到接收端反饋的報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)的過(guò)程示意圖;

圖4為本申請(qǐng)實(shí)施例中報(bào)文傳輸系統(tǒng)的結(jié)構(gòu)框圖;

圖5為本申請(qǐng)實(shí)施例中另外一種報(bào)文傳輸系統(tǒng)的結(jié)構(gòu)框圖。

具體實(shí)施方式

為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。

以下結(jié)合附圖,詳細(xì)說(shuō)明本申請(qǐng)各實(shí)施例提供的技術(shù)方案。

實(shí)施例1

參見(jiàn)圖1所示,本申請(qǐng)實(shí)施例提供一種報(bào)文傳輸方法,應(yīng)用于異構(gòu)的發(fā)送端請(qǐng)求接收端的通信系統(tǒng)中,所述方法包括如下步驟:

步驟s101、獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù),及確定接收端的報(bào)文數(shù)據(jù)的格式信息;

發(fā)送端發(fā)送的是報(bào)文實(shí)體數(shù)據(jù),而接收端接收的是報(bào)文數(shù)據(jù),因此,在將發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)被接收端之前,需要將發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為接收端接收的報(bào)文數(shù)據(jù)。而在轉(zhuǎn)化為接收端的報(bào)文數(shù)據(jù)之前,需獲取接收端的報(bào)文的格式信息,然后根據(jù)接收端的報(bào)文的格式信息轉(zhuǎn)化發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)。

如在發(fā)送端為由java語(yǔ)言編寫的系統(tǒng)中,服務(wù)集成框架接收發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù),所述報(bào)文實(shí)體數(shù)據(jù)中可包含交易碼、請(qǐng)求javabean、報(bào)文發(fā)送方和報(bào)文接收方。

所述服務(wù)集成框架通過(guò)api(applicationprogramminginterface,應(yīng)用程序接口)接口接收所述報(bào)文實(shí)體數(shù)據(jù),所述報(bào)文實(shí)體數(shù)據(jù)的類型為javabean類型。

在所述交易碼中可具體包含發(fā)送端發(fā)送所述報(bào)文實(shí)體數(shù)據(jù)的的具體意圖,如是請(qǐng)求接收端的某個(gè)具體數(shù)據(jù)或者是請(qǐng)求接收端的某個(gè)應(yīng)用程序等。

在本申請(qǐng)實(shí)施例中,可以采用發(fā)送端的網(wǎng)絡(luò)地址來(lái)表示報(bào)文發(fā)送方,同時(shí),也可以以接收端的網(wǎng)絡(luò)地址來(lái)表示報(bào)文接收方。由于網(wǎng)絡(luò)地址的唯一性,采用網(wǎng)絡(luò)地址來(lái)表示報(bào)文發(fā)送方和接收方,能起到準(zhǔn)確表示的技術(shù)效果。

在本申請(qǐng)實(shí)施例中,可通過(guò)人為查看獲取接收端的系統(tǒng)類型,繼而根據(jù)接收端的系統(tǒng)類型及發(fā)送端與接收端之間的通信協(xié)議確定接收端的報(bào)文的格式信息。根據(jù)接收端的報(bào)文的格式信息在服務(wù)集成框架中設(shè)定發(fā)送給接收端的報(bào)文數(shù)據(jù)的格式信息,也就是將發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為的報(bào)文數(shù)據(jù)的具體格式。也可以通過(guò)服務(wù)集成框架向接收端發(fā)送系統(tǒng)請(qǐng)求信息,根據(jù)接收端反饋的信息的類型確定接收端的系統(tǒng)類型,進(jìn)而確定接收端接收的報(bào)文數(shù)據(jù)的格式信息。

步驟s103、根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù);

服務(wù)集成框架在獲取到接收端的報(bào)文數(shù)據(jù)的格式信息后,根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息將所述報(bào)文實(shí)體數(shù)據(jù)中的部分至少一個(gè)數(shù)據(jù)信息轉(zhuǎn)換為報(bào)文數(shù)據(jù)。在一個(gè)實(shí)施例中,發(fā)送端由java語(yǔ)言編寫,所述請(qǐng)求信息中包含請(qǐng)求javabean、交易碼、發(fā)送方和接收方。

在本申請(qǐng)實(shí)施例中,服務(wù)集成框架在獲取到所述報(bào)文實(shí)體數(shù)據(jù)后,還包括獲取所述發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)的版本號(hào)。所述服務(wù)集成框架獲取所述通信軟件的版本號(hào)的方法為:

方法一、發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)中包括所述版本號(hào),則服務(wù)集成框架只需從接收到的報(bào)文實(shí)體數(shù)據(jù)中獲取所述版本號(hào)即可;

方法二、發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)中不包括所述版本號(hào),則服務(wù)集成框架在接收到所述報(bào)文實(shí)體數(shù)據(jù)后,向發(fā)送端請(qǐng)求所述報(bào)文實(shí)體數(shù)據(jù)的版本號(hào)。

在申請(qǐng)實(shí)施例中,服務(wù)集成框架調(diào)用javabean將上述報(bào)文實(shí)體數(shù)據(jù)中的請(qǐng)求javabean、交易碼以及服務(wù)集成框架獲取的版本號(hào)封裝成與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)。

在轉(zhuǎn)化為與接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)的過(guò)程中,服務(wù)集成框架識(shí)別接收所述報(bào)文實(shí)體數(shù)據(jù)使用的通信協(xié)議,在轉(zhuǎn)化為與接收端的報(bào)文的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)的過(guò)程中,可參考通信協(xié)議的不同而做出不同的轉(zhuǎn)化。如在socket通信中,對(duì)接收到的交易碼的轉(zhuǎn)化需要參考tcp/ip協(xié)議傳輸?shù)膱?bào)文的格式,而在http通信中,對(duì)接收到的交易碼的轉(zhuǎn)化需要參考超文本協(xié)議傳輸?shù)膱?bào)文的格式。

如下,列舉兩個(gè)具體實(shí)施例,以闡述將報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為報(bào)文數(shù)據(jù)的具體過(guò)程:

對(duì)于定長(zhǎng)報(bào)文實(shí)體數(shù)據(jù),服務(wù)集成框架將報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為報(bào)文數(shù)據(jù)的具體過(guò)程為:

首先,構(gòu)造報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為報(bào)文數(shù)據(jù)的類-報(bào)文解析引擎(如obj2message)和報(bào)文解析域處理引擎(如fixformatdatahander);

其次,通過(guò)發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)中包含的交易碼和服務(wù)集成框架獲取的版本號(hào)及發(fā)送端與接收端之間的通信協(xié)議確定接收端的報(bào)文數(shù)據(jù)的格式信息;

最后,通過(guò)反射機(jī)制,根據(jù)確定的報(bào)文的格式信息將發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為報(bào)文數(shù)據(jù)。

對(duì)于xml報(bào)文實(shí)體數(shù)據(jù),服務(wù)集成框架將發(fā)送端的報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)化為接收端的報(bào)文數(shù)據(jù)的具體過(guò)程為:

首先,在spring容器中對(duì)發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)的交易碼對(duì)應(yīng)的xmlcontext進(jìn)行初始化,將初始化的xmlcontext注入到報(bào)文解析引擎的requestxmlcontexts中,以響應(yīng)所述報(bào)文解析引擎的requestxmlcontexts所請(qǐng)求的xmlcontext;

其次,在調(diào)用xmlmessageengine(報(bào)文解析引擎)的轉(zhuǎn)化為報(bào)文數(shù)據(jù)的方法的同時(shí),通過(guò)發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)中的交易碼獲取其對(duì)應(yīng)的xmlcontext;

最后,通過(guò)上述確定的xmlcontext構(gòu)建marshler,通過(guò)將報(bào)文實(shí)體數(shù)據(jù)作為入?yún)?,得到發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)對(duì)應(yīng)的報(bào)文數(shù)據(jù)。

步驟s105、將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端。

在完成上述對(duì)報(bào)文實(shí)體數(shù)據(jù)中的至少一個(gè)數(shù)據(jù)信息的封裝之后,根據(jù)上述識(shí)別的通信協(xié)議將所述封裝的報(bào)文發(fā)送至接收端。如在socket通信中,采用socket的socketmessagesender實(shí)現(xiàn)報(bào)文數(shù)據(jù)的發(fā)送;在http通信中,采用http的httpmessagesender實(shí)現(xiàn)報(bào)文數(shù)據(jù)的發(fā)送;而在https通信中,采用https的httpsmessagesender實(shí)現(xiàn)報(bào)文數(shù)據(jù)的發(fā)送。

參見(jiàn)圖2所示,在本申請(qǐng)實(shí)施例中,所述方法還包括:

步驟s102、獲取接收端反饋的報(bào)文數(shù)據(jù),及接收端的報(bào)文數(shù)據(jù)的格式信息;

服務(wù)集成框架接收所述接收端反饋的報(bào)文數(shù)據(jù),該報(bào)文數(shù)據(jù)中可包括交易碼、請(qǐng)求javabean和版本號(hào),在接收到的接收端反饋的報(bào)文數(shù)據(jù)中還可包含所述接收端的報(bào)文數(shù)據(jù)的格式信息。

步驟s104、根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)換為報(bào)文實(shí)體數(shù)據(jù);

在接收端發(fā)送的交易碼中包含所述反饋的報(bào)文數(shù)據(jù)的具體意圖,如是響應(yīng)了發(fā)送端請(qǐng)求的數(shù)據(jù)還是網(wǎng)頁(yè)等。

服務(wù)集成框架根據(jù)所述版本號(hào)識(shí)別所述反饋的報(bào)文數(shù)據(jù)是針對(duì)哪一個(gè)報(bào)文實(shí)體數(shù)據(jù)的。在本申請(qǐng)實(shí)施例中,發(fā)送端每次發(fā)送的報(bào)文實(shí)體數(shù)據(jù)的版本號(hào)均不同,因此服務(wù)集成框架可根據(jù)所述版本號(hào)識(shí)別所述反饋信息為哪一個(gè)報(bào)文實(shí)體數(shù)據(jù)的反饋信息。

服務(wù)集成框架在接收到所述反饋信息并識(shí)別出反饋信息對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)后,執(zhí)行將所述報(bào)文信息轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)的操作。

步驟s106、將所述反饋的報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)發(fā)送至發(fā)送端。

如下,列舉兩種具體格式的報(bào)文數(shù)據(jù)進(jìn)行闡述:

對(duì)于定長(zhǎng)報(bào)文數(shù)據(jù),服務(wù)集成框架將接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)的過(guò)程為:

首先,服務(wù)集成框架在接收到所述接收端的反饋的報(bào)文數(shù)據(jù)后,構(gòu)造報(bào)文解析引擎(如message2obj類)和報(bào)文解析域處理引擎(如fixformatdatahandler)。

其次,在接收到所述接收端反饋的報(bào)文數(shù)據(jù)后,獲取所述反饋信息中的交易碼和版本號(hào),反饋的報(bào)文數(shù)據(jù)中的交易碼用于說(shuō)明反饋的報(bào)文的具體意圖,如是反饋了發(fā)送端請(qǐng)求的某個(gè)數(shù)據(jù)或者是某個(gè)應(yīng)用程序等。所述版本號(hào)用于說(shuō)明反饋報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù),以避免出現(xiàn)“答非所問(wèn)”的現(xiàn)象。

最后,根據(jù)所述交易碼和版本號(hào)構(gòu)成的反饋的報(bào)文的格式信息將報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù),并傳輸至發(fā)送端。

對(duì)于xml報(bào)文數(shù)據(jù),服務(wù)集成框架將接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)的過(guò)程為:

首先,在spring容器中對(duì)與反饋的報(bào)文數(shù)據(jù)中的交易碼對(duì)應(yīng)的xmlcontext進(jìn)行初始化,再將初始化的xmlcontext注入到報(bào)文解析引擎(xmlmessageengine)的成員變量responsexmlcontext中。

然后,在調(diào)用xmlmessageengine的轉(zhuǎn)化為實(shí)體的方法的同時(shí),通過(guò)反饋的報(bào)文數(shù)據(jù)中的交易碼獲取其對(duì)應(yīng)的xmlcontext。

最后,通過(guò)xmlcontext構(gòu)建一個(gè)unmarshaller,通過(guò)將消息作為入?yún)ⅲ玫椒答伒膱?bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)(javabean),返回實(shí)體對(duì)象,完成報(bào)文數(shù)據(jù)到報(bào)文實(shí)體數(shù)據(jù)的轉(zhuǎn)化。

在本申請(qǐng)實(shí)施例中,所述方法還包括:

當(dāng)所述發(fā)送端發(fā)送報(bào)文實(shí)體數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí),服務(wù)集成框架發(fā)出錯(cuò)誤信息,以告知發(fā)送端和/或接收端報(bào)文實(shí)體數(shù)據(jù)或報(bào)文在傳輸?shù)倪^(guò)程中發(fā)生了故障,在本申請(qǐng)實(shí)施例中,針對(duì)不同的故障,服務(wù)集成框架發(fā)出不同類型的錯(cuò)誤信息,以告知發(fā)送端和/或接收端具體的錯(cuò)誤類型,具體可為:

若服務(wù)集成框架在獲取發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)時(shí)出現(xiàn)故障或?qū)⑺鰣?bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則發(fā)送第一錯(cuò)誤信息;所述第一錯(cuò)誤信息可發(fā)送至發(fā)送端和/或接收端,也可以當(dāng)獲取發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)出現(xiàn)故障時(shí),將所述第一錯(cuò)誤信息發(fā)送至發(fā)送端;而當(dāng)將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則將所述第一錯(cuò)誤信息發(fā)送至所述接收端;若將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的格式對(duì)應(yīng)的報(bào)文數(shù)據(jù)時(shí)出現(xiàn)故障,則發(fā)送第二錯(cuò)誤信息,所述第二錯(cuò)誤信息可發(fā)送至所述發(fā)送端和/或所述接收端。

如下,列舉一個(gè)具體實(shí)施例,表征從發(fā)送端發(fā)送報(bào)文實(shí)體數(shù)據(jù)到發(fā)送端接收到接收端反饋的報(bào)文數(shù)據(jù)對(duì)應(yīng)的報(bào)文實(shí)體數(shù)據(jù)的完整流程:

參見(jiàn)圖3所示,在服務(wù)集成框架接收到發(fā)送端發(fā)送的實(shí)體報(bào)文數(shù)據(jù)后,啟動(dòng)報(bào)文解析引擎(messageengine)對(duì)報(bào)文實(shí)體數(shù)據(jù)進(jìn)行封裝,封裝后,將封裝的報(bào)文數(shù)據(jù)反饋至messagedataconnector;messagedataconnector在接收到messageengine反饋的報(bào)文數(shù)據(jù)后將所述報(bào)文數(shù)據(jù)發(fā)送至接收端。在接收端接收到所述報(bào)文數(shù)據(jù)后,對(duì)所述報(bào)文數(shù)據(jù)進(jìn)行處理并反饋處理結(jié)果至messgedataconnector;messagedataconnector在接收到反饋的報(bào)文數(shù)據(jù)后,調(diào)用報(bào)文解析引擎(messageengine)解析所述反饋的報(bào)文數(shù)據(jù)成報(bào)文實(shí)體數(shù)據(jù)并將解析后的報(bào)文實(shí)體數(shù)據(jù)反饋至messagedataconnector;messagedataconnector在接收到所述解析的報(bào)文實(shí)體數(shù)據(jù)后,將其發(fā)送至發(fā)送端,即完成一個(gè)從發(fā)送端發(fā)送報(bào)文實(shí)體數(shù)據(jù)到發(fā)送端接收到接收端反饋的報(bào)文轉(zhuǎn)換為的報(bào)文實(shí)體數(shù)據(jù)的完整的過(guò)程。

本申請(qǐng)實(shí)施例提供的報(bào)文傳輸方法,首先確定接收端接收的報(bào)文數(shù)據(jù)的格式信息,然后根據(jù)確定的接收端接收的報(bào)文數(shù)據(jù)的格式信息封裝發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)成所述接收端接收的報(bào)文數(shù)據(jù)的格式,采用本技術(shù)方案,當(dāng)通信系統(tǒng)中的一端(接收端或者發(fā)送端)的系統(tǒng)發(fā)生改變時(shí),無(wú)需改變通信系統(tǒng)中的另一端,可僅通過(guò)改變服務(wù)集成框架來(lái)完成發(fā)送端與接收端的通信,有效提高了通信系統(tǒng)改變的靈活性,能靈活使用和適配異構(gòu)改造過(guò)的異構(gòu)系統(tǒng)之間的通信。

采用本申請(qǐng)實(shí)施例提供的報(bào)文傳輸方法,當(dāng)接收端接收并處理接收到的報(bào)文數(shù)據(jù)后反饋表征處理結(jié)果的報(bào)文數(shù)據(jù)至服務(wù)集成框架,服務(wù)集成框架將反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)并發(fā)送至發(fā)送端,有效實(shí)現(xiàn)了異構(gòu)的發(fā)送端和接收端之間的交互通信。

實(shí)施例2

參見(jiàn)圖4所示,本申請(qǐng)實(shí)施例提供一種報(bào)文傳輸系統(tǒng),包括發(fā)送端31、服務(wù)集成框架33和接收端35,其中,所述服務(wù)器集成框架33包括報(bào)文實(shí)體數(shù)據(jù)獲取模塊331、報(bào)文實(shí)體數(shù)據(jù)處理模塊333和通信模塊335,其中:

報(bào)文實(shí)體數(shù)據(jù)獲取模塊331,用于獲取發(fā)送端的報(bào)文實(shí)體數(shù)據(jù),及確定接收端的報(bào)文數(shù)據(jù)的格式信息;

報(bào)文實(shí)體數(shù)據(jù)處理模塊333,用于根據(jù)所述接收端的報(bào)文的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù);

通信模塊335,用于將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端。

在本申請(qǐng)實(shí)施例中,所述報(bào)文實(shí)體數(shù)據(jù)處理模塊333包括信息獲取單元和轉(zhuǎn)換單元,其中,所述信息獲取單元用于獲取所述報(bào)文實(shí)體數(shù)據(jù)對(duì)應(yīng)的交易碼和版本;所述轉(zhuǎn)換單元,用于根據(jù)所述交易碼、版本號(hào)及所述發(fā)送端與接收端之間的通信協(xié)議,確定所述接收端的報(bào)文數(shù)據(jù)的格式信息。

在本申請(qǐng)實(shí)施例中,所述報(bào)文實(shí)體處理模塊333,根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)的具體方法為:通過(guò)構(gòu)造的報(bào)文解析引擎和報(bào)文域處理引擎,將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式對(duì)應(yīng)的報(bào)文數(shù)據(jù)。

在本申請(qǐng)實(shí)施例中,所述報(bào)文實(shí)體數(shù)據(jù)為定長(zhǎng)報(bào)文數(shù)據(jù)或xml報(bào)文實(shí)體數(shù)據(jù)。

在本申請(qǐng)實(shí)施例中,所述服務(wù)集成框架33還包括錯(cuò)誤信息發(fā)送模塊,若服務(wù)集成框架33的所述報(bào)文實(shí)體數(shù)據(jù)獲取模塊331獲取發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)出現(xiàn)故障或所述通信模塊335將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則發(fā)送第一錯(cuò)誤信息;所述第一錯(cuò)誤信息可發(fā)送至發(fā)送端和/或接收端,也可以當(dāng)所述報(bào)文實(shí)體數(shù)據(jù)獲取模塊331獲取發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)出現(xiàn)故障時(shí),將所述第一錯(cuò)誤信息發(fā)送至發(fā)送端31;而當(dāng)所述通信模塊335將所述報(bào)文數(shù)據(jù)發(fā)送至所述接收端時(shí)出現(xiàn)故障,則將所述第一錯(cuò)誤信息發(fā)送至所述接收端33。

錯(cuò)誤信息發(fā)送模塊還用于,若所述報(bào)文實(shí)體數(shù)據(jù)處理模塊333將所述報(bào)文實(shí)體數(shù)據(jù)轉(zhuǎn)換為與所述接收端的報(bào)文數(shù)據(jù)的格式信息對(duì)應(yīng)的報(bào)文數(shù)據(jù)時(shí)出現(xiàn)故障,則發(fā)送第二錯(cuò)誤信息,所述第二錯(cuò)誤信息可發(fā)送至所述發(fā)送端31和/或所述接收端33。

參見(jiàn)圖5所示,在本申請(qǐng)實(shí)施例中,所述服務(wù)集成框架33還可以包括報(bào)文數(shù)據(jù)獲取模塊332、報(bào)文數(shù)據(jù)處理模塊334,所述報(bào)文數(shù)據(jù)獲取模塊332用于獲取接收端反饋的報(bào)文數(shù)據(jù),同時(shí)獲取接收端對(duì)應(yīng)的報(bào)文數(shù)據(jù)的格式信息。所述報(bào)文數(shù)據(jù)處理模塊334用于根據(jù)所述接收端的報(bào)文數(shù)據(jù)的格式信息,將所述接收端反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)換為報(bào)文實(shí)體數(shù)據(jù)。所述通信模塊335,還用于將所述報(bào)文數(shù)據(jù)處理模塊334處理得到的報(bào)文實(shí)體數(shù)據(jù)發(fā)送至所述發(fā)送端31。

本申請(qǐng)實(shí)施例公開(kāi)的報(bào)文傳輸系統(tǒng),包括發(fā)送端31、服務(wù)集成框架33和接收端35。在服務(wù)集成框架33中集成有報(bào)文實(shí)體數(shù)據(jù)獲取模塊331、報(bào)文實(shí)體數(shù)據(jù)處理模塊333和通信模塊335,報(bào)文實(shí)體數(shù)據(jù)獲取模塊331獲取發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù),并確定接收端接收的報(bào)文數(shù)據(jù)的格式信息;然后報(bào)文實(shí)體數(shù)據(jù)處理模塊333根據(jù)確定的接收端接收的報(bào)文數(shù)據(jù)的格式信息封裝發(fā)送端發(fā)送的報(bào)文實(shí)體數(shù)據(jù)成所述接收端接收的報(bào)文數(shù)據(jù)的格式,采用本技術(shù)方案,當(dāng)通信系統(tǒng)中的一端(接收端33或發(fā)送端31)的系統(tǒng)發(fā)生改變時(shí),無(wú)需對(duì)該通信系統(tǒng)中的另外一端做出改變,僅通過(guò)改變服務(wù)集成框架來(lái)完成發(fā)送端與接收端的通信,有效提高了通信系統(tǒng)改變的靈活性,能靈活使用和適配異構(gòu)改造過(guò)的異構(gòu)系統(tǒng)之間的通信。

可以看出,在圖5中繪制有兩個(gè)通信模塊335,此處只為使框圖清晰,并非限制二者為兩個(gè)獨(dú)立的通信模塊。

采用本申請(qǐng)實(shí)施例提供的報(bào)文傳輸系統(tǒng),當(dāng)接收端33處理接收到的報(bào)文數(shù)據(jù)后反饋表征處理結(jié)果的報(bào)文數(shù)據(jù),服務(wù)集成框架33將反饋的報(bào)文數(shù)據(jù)轉(zhuǎn)化為報(bào)文實(shí)體數(shù)據(jù)并發(fā)送至發(fā)送端31,有效實(shí)現(xiàn)了異構(gòu)的發(fā)送端和接收端之間的交互通信。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。

計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。

還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。

本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1