一種swift報(bào)文處理方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種SWIFT報(bào)文處理方法及裝置,可利用MQ實(shí)現(xiàn)SWIFT報(bào)文的處理,同時(shí)提高開(kāi)發(fā)效率和代碼易讀性。本發(fā)明實(shí)施例方法包括:與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),本地隊(duì)列管理器的接收隊(duì)列與目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);銀行清算系統(tǒng)與本地MQ建立通信連接;銀行清算系統(tǒng)通過(guò)通信連接獲取MQ配置信息;銀行清算系統(tǒng)根據(jù)MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
【專(zhuān)利說(shuō)明】—種SWIFT報(bào)文處理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種SWIFT報(bào)文處理方法及裝置。
【背景技術(shù)】
[0002]SWIFT Alliance服務(wù)器為 SWIFT (Society for Worldwide Interbank FinancialTelecommunicat1ns,環(huán)球同業(yè)銀行金融電訊協(xié)會(huì))組織提供的報(bào)文收發(fā)系統(tǒng),其標(biāo)準(zhǔn)化、規(guī)范化的報(bào)文成為銀行間支付清算的最主要手段。
[0003]目前,銀行清算系統(tǒng)的通信模塊一般基于C語(yǔ)言實(shí)現(xiàn),通過(guò)調(diào)用CASmf的接口與SWIFT Alliance服務(wù)器通信并收發(fā)SWIFT報(bào)文,然而,隨著SWIFT Alliance服務(wù)器的升級(jí),SWIFT Alliance服務(wù)器不再支持CASmf,而且,C語(yǔ)言實(shí)現(xiàn)的程序可讀性較差,故利用CASmf收發(fā)SWIFT報(bào)文已不適應(yīng)當(dāng)前業(yè)務(wù)發(fā)展的需求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種SWIFT報(bào)文處理方法及裝置,可利用MQ實(shí)現(xiàn)SWIFT報(bào)文的處理,同時(shí)提高開(kāi)發(fā)效率和代碼易讀性。
[0005]本發(fā)明實(shí)施例的第一方面提供一種SWIFT報(bào)文處理方法,包括與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);
[0006]所述銀行清算系統(tǒng)與所述本地MQ建立通信連接;
[0007]所述銀行清算系統(tǒng)通過(guò)所述通信連接獲取MQ配置信息;
[0008]所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
[0009]可選地,所述方法還包括:
[0010]所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0011]可選地,所述銀行清算系統(tǒng)與所述本地MQ建立通信連接包括:
[0012]所述銀行清算系統(tǒng)使用工廠模式獲取隊(duì)列管理器實(shí)例;
[0013]所述銀行清算系統(tǒng)基于所述隊(duì)列管理器實(shí)例與所述本地MQ建立通信連接。
[0014]可選地,所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列包括:
[0015]所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
[0016]可選地,所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文包括:
[0017]所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0018]本發(fā)明實(shí)施例第二方面提供了一種SWIFT報(bào)文處理裝置,包括銀行清算系統(tǒng)以及與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFTAlliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);所述銀行清算系統(tǒng)包括:
[0019]連接單元,用于與所述本地MQ建立通信連接;
[0020]獲取單元,用于通過(guò)所述通信連接獲取MQ配置信息;
[0021]第一執(zhí)行單元,用于根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
[0022]所述銀行清算系統(tǒng)還包括:
[0023]第二執(zhí)行單元,用于根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0024]可選地,所述連接單元包括:
[0025]獲取模塊,用于使用工廠模式獲取隊(duì)列管理器實(shí)例;
[0026]連接模塊,用于基于所述隊(duì)列管理器實(shí)例與所述本地MQ建立通信連接。
[0027]可選地,所述第一執(zhí)行單元,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
[0028]可選地,所述第二執(zhí)行單元,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0029]本發(fā)明實(shí)施例提供的技術(shù)方案中,銀行清算系統(tǒng)和SWIFT Alliance服務(wù)器均安裝有各自對(duì)應(yīng)的消息隊(duì)列MQ,銀行清算系統(tǒng)基于本地MQ建立的本地隊(duì)列管理器與SWIFTAlliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且本地隊(duì)列管理器的每一個(gè)遠(yuǎn)程隊(duì)列都對(duì)應(yīng)一個(gè)目標(biāo)隊(duì)列管理器的接收隊(duì)列,每一個(gè)目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列都對(duì)應(yīng)本地隊(duì)列管理器的一個(gè)接收隊(duì)列,銀行清算系統(tǒng)與本地MQ建立通信連接,并通過(guò)該通信連接獲取MQ配置信息,在利用該MQ配置信息確定指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列后,將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得待發(fā)送的SffIFT報(bào)文被發(fā)送至與該指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。因此相對(duì)于現(xiàn)有技術(shù),本發(fā)明實(shí)施例可利用MQ實(shí)現(xiàn)SWIFT報(bào)文的處理,同時(shí)提高開(kāi)發(fā)效率和代碼易讀性。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0030]圖1為本發(fā)明實(shí)施例中SWIFT報(bào)文處理方法一個(gè)實(shí)施例示意圖;
[0031]圖2為本發(fā)明實(shí)施例中SWIFT報(bào)文處理裝置一個(gè)實(shí)施例示意圖。
【具體實(shí)施方式】
[0032]本發(fā)明實(shí)施例提供了一種SWIFT報(bào)文處理方法及裝置,可利用MQ實(shí)現(xiàn)SWIFT報(bào)文的處理,同時(shí)提高開(kāi)發(fā)效率和代碼易讀性,以下分別進(jìn)行詳細(xì)說(shuō)明。
[0033]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”、“第三…第四”等(如果存在)是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0035]請(qǐng)參閱圖1,本發(fā)明實(shí)施例中SWIFT報(bào)文處理方法一個(gè)實(shí)施例包括:
[0036]在本實(shí)施例中,銀行清算系統(tǒng)作為客戶(hù)端,在銀行的專(zhuān)線骨干網(wǎng)內(nèi)通過(guò)TCP/IP協(xié)議連接安裝在前置機(jī)上的MQ,以訪問(wèn)作為服務(wù)端的SWIFT Alliance服務(wù)器。其中,SWIFTAlliance服務(wù)器也安裝有MQ,SWIFT Alliance通過(guò)MQ與銀行清算系統(tǒng)建立通信連接。MQ為IBM提供的用于傳輸數(shù)據(jù)的商業(yè)中間件,具有消息隊(duì)列管理功能,適用于分布式計(jì)算環(huán)境或異構(gòu)系統(tǒng)之中,在本實(shí)施例中,MQ應(yīng)用均部署于安裝了 Linux的小型前置機(jī)上,。
[0037]在本實(shí)施例中,銀行清算系統(tǒng)基于本地MQ建立本地隊(duì)列管理器,該本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,需要說(shuō)明的是,在發(fā)明的技術(shù)方案中,本地隊(duì)列管理器的每一個(gè)遠(yuǎn)程隊(duì)列都對(duì)應(yīng)一個(gè)目標(biāo)隊(duì)列管理器的接收隊(duì)列,每一個(gè)目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列都對(duì)應(yīng)本地隊(duì)列管理器的一個(gè)接收隊(duì)列。
[0038]101、銀行清算系統(tǒng)與本地MQ建立通信連接;
[0039]當(dāng)需要處理SWIFT報(bào)文時(shí),銀行清算系統(tǒng)需要先與本地MQ建立通信連接,在本實(shí)施例中,銀行清算系統(tǒng)使用工廠模式獲取隊(duì)列管理器實(shí)例,以建立銀行清算系統(tǒng)與本地MQ之間的通信連接。
[0040]102、銀行清算系統(tǒng)通過(guò)通信連接獲取MQ配置信息;
[0041]在建立銀行清算系統(tǒng)與本地MQ之間的通信連接之后,銀行清算系統(tǒng)通過(guò)該通信連接獲取MQ配置信息,其中,該MQ配置信息用于指定接收待發(fā)送的SWIFT報(bào)文的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列以及指定獲取待接收的SWIFT報(bào)文的本地隊(duì)列管理器的接收隊(duì)列。在本實(shí)施例中,可以通過(guò)構(gòu)造封裝類(lèi)實(shí)現(xiàn)對(duì)MQ配置信息的讀取,具體此處對(duì)MQ配置信息的獲取方式不作限定。
[0042]103、銀行清算系統(tǒng)根據(jù)MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列;
[0043]在獲取MQ配置信息后,在發(fā)送SWIFT報(bào)文時(shí),銀行清算系統(tǒng)根據(jù)該MQ配置信息的指示,將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得該待發(fā)送的SffIFT報(bào)文被發(fā)送至與該指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。在本實(shí)施例中,銀行清算系統(tǒng)可以通過(guò)本地MQ發(fā)送SWIFT報(bào)文至與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的接收隊(duì)列,在實(shí)際應(yīng)用過(guò)程中,在SWIFT Alliance服務(wù)器接收到SffIFT報(bào)文時(shí),SWIFT Al I iance服務(wù)器向本地MQ返回第一響應(yīng)消息,由此,本地隊(duì)列管理器需要?jiǎng)?chuàng)建本地回條隊(duì)列,以接收SWIFT Alliance服務(wù)器返回的第一響應(yīng)消息,其中,該第一響應(yīng)消息是從業(yè)務(wù)層面上說(shuō)的,包括SWIFT Alliance服務(wù)器對(duì)接收到的SWIFT報(bào)文進(jìn)行規(guī)則校驗(yàn)后返回ACK或者NAK??蛇x地,在本實(shí)施例中,在SWIFT AlIiance服務(wù)器接收到SWIFT報(bào)文時(shí),如果銀行清算系統(tǒng)要求SWIFT Alliance服務(wù)器向本地MQ反饋通訊層面的report,則本地隊(duì)列管理器需要針對(duì)report創(chuàng)建單獨(dú)的report接收隊(duì)列,用于接收report。
[0044]104、銀行清算系統(tǒng)根據(jù)MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文;
[0045]在獲取MQ配置信息后,在接收SWIFT報(bào)文時(shí),銀行清算系統(tǒng)根據(jù)該MQ配置信息的指示,從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。在本實(shí)施例中,SWIFT Alliance服務(wù)器可以通過(guò)目標(biāo)MQ發(fā)送SWIFT報(bào)文至與銀行清算系統(tǒng)對(duì)應(yīng)的本地MQ的接收隊(duì)列,在銀行清算系統(tǒng)接收到SWIFT報(bào)文時(shí),銀行清算系統(tǒng)向目標(biāo)MQ返回第二響應(yīng)消息。
[0046]在本實(shí)施例中,將MQ API所提供的連接隊(duì)列、關(guān)閉連接、提交事務(wù)、回滾事務(wù)以及接收/發(fā)送消息等方法封裝在一個(gè)公用類(lèi)中,銀行清算系統(tǒng)MQ API的公用類(lèi)提供的公共方法便完成銀行清算系統(tǒng)與所述本地MQ之間的數(shù)據(jù)交互,以實(shí)現(xiàn)將通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列以及通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。在本實(shí)施例中,通過(guò)使用IBM提供的產(chǎn)品MQ可以實(shí)現(xiàn)穩(wěn)定、完全和高效的數(shù)據(jù)報(bào)文的存儲(chǔ)和轉(zhuǎn)發(fā),并且MQ提供特有的異步傳輸機(jī)制,能夠基于消息傳輸和異步事務(wù)處理實(shí)現(xiàn)應(yīng)用整合與數(shù)據(jù)交換,只需要簡(jiǎn)單調(diào)用MQ API即可使用通道在不同的隊(duì)列管理器之間傳遞消息,不必考慮底層系統(tǒng)和網(wǎng)絡(luò)的復(fù)雜性,其穩(wěn)定安全的消息傳輸機(jī)制有效提高了報(bào)文的處理效率,減少報(bào)文在傳輸過(guò)程中可能產(chǎn)生的錯(cuò)誤,消除數(shù)據(jù)泄漏等不安全因素。
[0047]本發(fā)明實(shí)施例提供的技術(shù)方案中,銀行清算系統(tǒng)和SWIFT Alliance服務(wù)器均安裝有各自對(duì)應(yīng)的消息隊(duì)列MQ,銀行清算系統(tǒng)基于本地MQ建立的本地隊(duì)列管理器與SWIFTAlliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且本地隊(duì)列管理器的每一個(gè)遠(yuǎn)程隊(duì)列都對(duì)應(yīng)一個(gè)目標(biāo)隊(duì)列管理器的接收隊(duì)列,每一個(gè)目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列都對(duì)應(yīng)本地隊(duì)列管理器的一個(gè)接收隊(duì)列,銀行清算系統(tǒng)與本地MQ建立通信連接,并通過(guò)該通信連接獲取MQ配置信息,在利用該MQ配置信息確定指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列后,將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得待發(fā)送的SffIFT報(bào)文被發(fā)送至與該指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。因此相對(duì)于現(xiàn)有技術(shù),本發(fā)明實(shí)施例可利用MQ實(shí)現(xiàn)SWIFT報(bào)文的處理,同時(shí)提高開(kāi)發(fā)效率和代碼易讀性。
[0048]上面對(duì)本發(fā)明實(shí)施例中的SWIFT報(bào)文處理方法進(jìn)行了描述,下面對(duì)本發(fā)明實(shí)施例中的SWIFT報(bào)文處理裝置進(jìn)行描述,請(qǐng)參閱圖2,本發(fā)明實(shí)施例中SWIFT報(bào)文處理裝置一個(gè)實(shí)施例包括:與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);所述銀行清算系統(tǒng)包括:
[0049]連接單元201,用于與所述本地MQ建立通信連接;
[0050]獲取單元202,用于通過(guò)所述通信連接獲取MQ配置信息;
[0051]第一執(zhí)行單元203,用于根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
[0052]為便于理解,下面以一具體應(yīng)用場(chǎng)景為例,對(duì)本實(shí)施例中SWIFT報(bào)文處理裝置內(nèi)部運(yùn)作流程進(jìn)行描述:
[0053]SWIFT報(bào)文處理裝置包括銀行清算系統(tǒng)以及與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);所述銀行清算系統(tǒng)中的連接單元201與所述本地MQ建立通信連接;獲取單元202通過(guò)所述通信連接獲取MQ配置信息;第一執(zhí)行單元203根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
[0054]在本實(shí)施例中,所述銀行清算系統(tǒng)還包括:
[0055]第二執(zhí)行單元204,用于根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0056]可選地,所述連接單元201包括:
[0057]獲取模塊2011,用于使用工廠模式獲取隊(duì)列管理器實(shí)例;
[0058]連接模塊2012,用于基于所述隊(duì)列管理器實(shí)例與所述本地MQ建立通信連接。
[0059]可選地,所述第一執(zhí)行單元203,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
[0060]可選地,所述第二執(zhí)行單元204,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
[0061]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0062]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0063]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0064]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0065]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0066]以上所述,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種SWIFT報(bào)文處理方法,其特征在于,包括與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng); 所述銀行清算系統(tǒng)與所述本地MQ建立通信連接; 所述銀行清算系統(tǒng)通過(guò)所述通信連接獲取MQ配置信息; 所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
2.如權(quán)利要求1所述的SWIFT報(bào)文處理方法,其特征在于,所述方法還包括: 所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
3.如權(quán)利要求2所述的SWIFT報(bào)文處理方法,其特征在于,所述銀行清算系統(tǒng)與所述本地MQ建立通信連接包括: 所述銀行清算系統(tǒng)使用工廠模式獲取隊(duì)列管理器實(shí)例; 所述銀行清算系統(tǒng)基于所述隊(duì)列管理器實(shí)例與所述本地MQ建立通信連接。
4.如權(quán)利要求3所述的SWIFT報(bào)文處理方法,其特征在于,所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列包括: 所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
5.如權(quán)利要求3所述的SWIFT報(bào)文處理方法,其特征在于,所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文包括: 所述銀行清算系統(tǒng)根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
6.一種SWIFT報(bào)文處理裝置,其特征在于,包括銀行清算系統(tǒng)以及與銀行清算系統(tǒng)對(duì)應(yīng)的本地消息隊(duì)列MQ,所述本地MQ中的本地隊(duì)列管理器與SWIFT Alliance服務(wù)器對(duì)應(yīng)的目標(biāo)MQ的目標(biāo)隊(duì)列管理器之間建立有通信連接,且所述本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列與所述目標(biāo)隊(duì)列管理器的接收隊(duì)列對(duì)應(yīng),所述本地隊(duì)列管理器的接收隊(duì)列與所述目標(biāo)隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng);所述銀行清算系統(tǒng)包括: 連接單元,用于與所述本地MQ建立通信連接; 獲取單元,用于通過(guò)所述通信連接獲取MQ配置信息; 第一執(zhí)行單元,用于根據(jù)所述MQ配置信息將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列,使得所述待發(fā)送的SWIFT報(bào)文被發(fā)送至與所述指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列對(duì)應(yīng)的目標(biāo)隊(duì)列管理器的接收隊(duì)列。
7.如權(quán)利要求6所述的SWIFT報(bào)文處理裝置,其特征在于,所述銀行清算系統(tǒng)還包括: 第二執(zhí)行單元,用于根據(jù)所述MQ配置信息從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
8.如權(quán)利要求6或7所述的SWIFT報(bào)文處理裝置,其特征在于,所述連接單元包括: 獲取模塊,用于使用工廠模式獲取隊(duì)列管理器實(shí)例; 連接模塊,用于基于所述隊(duì)列管理器實(shí)例與所述本地MQ建立通信連接。
9.如權(quán)利要求8所述的SWIFT報(bào)文處理裝置,其特征在于, 所述第一執(zhí)行單元,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法將待發(fā)送的SWIFT報(bào)文放入指定的本地隊(duì)列管理器的遠(yuǎn)程隊(duì)列。
10.如權(quán)利要求8所述的SWIFT報(bào)文處理裝置,其特征在于, 所述第二執(zhí)行單元,具體用于根據(jù)所述MQ配置信息,通過(guò)調(diào)用MQ API的公用類(lèi)提供的公共方法從指定的本地隊(duì)列管理器的接收隊(duì)列中獲取待接收的SWIFT報(bào)文。
【文檔編號(hào)】H04L12/863GK104333515SQ201410647348
【公開(kāi)日】2015年2月4日 申請(qǐng)日期:2014年11月14日 優(yōu)先權(quán)日:2014年11月14日
【發(fā)明者】曾毅鋒, 胡平, 曹穎, 張利珍, 林壽宏, 劉姝, 謝沙, 蔡躍進(jìn), 何嘉杰, 戴大虎 申請(qǐng)人:中國(guó)建設(shè)銀行股份有限公司