侯剛
摘要:消息中間件利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。TongTech的TongLINK/Q是依據(jù)DTP模型,結(jié)合實(shí)際應(yīng)用系統(tǒng)的需求而設(shè)計(jì)開發(fā)的中間件產(chǎn)品,可以滿足端到端的通信服務(wù)和分布式應(yīng)用的管理需求,同時(shí)提供了節(jié)點(diǎn)、消息、隊(duì)列等各種對象。在金融機(jī)構(gòu)理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng)和跨境人民幣信息管理系統(tǒng)中,通過應(yīng)用TongLINK/Q構(gòu)建了兩級消息傳遞的架構(gòu),實(shí)現(xiàn)了金融機(jī)構(gòu)與人民銀行之間交易報(bào)文的雙向交互。
關(guān)鍵詞:消息中間件;TongLINK/Q;節(jié)點(diǎn);消息;隊(duì)列
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)14-3280-03
Abstract: Message Middleware transmits mechanism for irrelevant data exchange on the platform by making use of efficient and reliable information and make integration of distributed system on the basis of data communication. TongLINK/Q of TongTech, based on DTP model, is the middleware product designed and developed based on practical application system needs. It is able to satisfy end-to-end communication service and the requirement of distributed application management, and provide various subjects such as nodes, messages and queues. In financial institutions and capital trust data submission system and cross-border RMB information management system, two-way interaction between financial institutions and Peoples Bank of China can be realized through the application of TongLINK/Q to construct two-stage information transmission framework.
Key words: message middleware; TongLINK/Q; nodes; messages; queues
面向消息的中間件可在分布式環(huán)境下擴(kuò)展進(jìn)程間的通信,保證數(shù)據(jù)傳送的持久、快速和安全。它的應(yīng)用不僅滿足了跨平臺系統(tǒng)集成的需要,同時(shí)也減少了系統(tǒng)的開發(fā)周期,使得孤立信息應(yīng)用之間的交互成為可能。TongLINK/Q消息中間件作為眾多中間件中的一種,在近些年得到了廣泛應(yīng)用和認(rèn)可。
1 TongLINK/Q概述
TongLINK/Q 是面向分布式應(yīng)用的消息傳送中間件,它為網(wǎng)絡(luò)環(huán)境下各個(gè)節(jié)點(diǎn)之間構(gòu)建虛擬的端到端通道,并以節(jié)點(diǎn)為基本運(yùn)行單位實(shí)現(xiàn)數(shù)據(jù)的收發(fā)、端對端消息的傳輸控制以及網(wǎng)絡(luò)運(yùn)行狀況的監(jiān)控。
1.1 節(jié)點(diǎn)
節(jié)點(diǎn)是TongLINK/Q網(wǎng)絡(luò)結(jié)構(gòu)中的一個(gè)基本運(yùn)行單位,TongLINK/Q通過節(jié)點(diǎn)來唯一的區(qū)分網(wǎng)絡(luò)中的每個(gè)通信實(shí)體。每個(gè)節(jié)點(diǎn)只有一個(gè)IP地址和一個(gè)全局唯一的節(jié)點(diǎn)名,并具有自已專用運(yùn)行環(huán)境及配置。根據(jù)每個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中的相對位置,節(jié)點(diǎn)分為三種類型,即本地節(jié)點(diǎn)、上級節(jié)點(diǎn)和下級節(jié)點(diǎn)。TongLINK/Q網(wǎng)絡(luò)通訊平臺為處于這個(gè)平臺上的節(jié)點(diǎn)之間建立了一個(gè)虛擬的數(shù)據(jù)通道,稱之為TongLINK/Q節(jié)點(diǎn)之間的連接。連接的建立均由本地節(jié)點(diǎn)向上級節(jié)點(diǎn)發(fā)起。一個(gè)節(jié)點(diǎn)可以同時(shí)擁有多個(gè)上級節(jié)點(diǎn)和多個(gè)下級節(jié)點(diǎn),通過多上級節(jié)點(diǎn)和多下級節(jié)點(diǎn)混合使用,可以構(gòu)造靈活的網(wǎng)絡(luò)結(jié)構(gòu)。
1.2 消息
在分布式應(yīng)用中,不同的應(yīng)用進(jìn)程之間傳遞、交換的信息統(tǒng)稱為消息。TongLINK/Q系統(tǒng)提供數(shù)據(jù)報(bào)消息(BUF_MSG)、文件(FILE_MSG)消息、事件消息(EVENT_MSG)三種類型。消息的實(shí)時(shí)傳輸指消息必須在規(guī)定的時(shí)間內(nèi)必須傳遞到目標(biāo)節(jié)點(diǎn)。TongLINK/Q 在規(guī)定時(shí)間內(nèi)提供可靠的傳輸機(jī)制,保證消息傳遞的實(shí)時(shí)性和可靠性。消息可靠傳輸指消息的傳遞在時(shí)間上無特殊的要求,在網(wǎng)絡(luò)連通的情況下必須保證消息可靠的傳遞到目標(biāo)節(jié)點(diǎn)。TongLINK/Q 在消息提交后,在遇到可恢復(fù)的故障(包括機(jī)器故障或網(wǎng)絡(luò)故障)情況下能夠保證消息的可靠傳輸。傳遞的消息可以是數(shù)據(jù)包或文件。
1.3 隊(duì)列
隊(duì)列是存儲消息的數(shù)據(jù)結(jié)構(gòu),分為持久和非持久兩種,持久隊(duì)列在磁盤上有相應(yīng)的映像,持久隊(duì)列中存儲的消息都為持久消息;非持久隊(duì)列只存在于內(nèi)存中,非持久隊(duì)列中的消息都為非持久消息。每個(gè)隊(duì)列都屬于一個(gè)隊(duì)列控制單元(QCU),由QCU負(fù)責(zé)維護(hù)。
TongLINK/Q系統(tǒng)提供的隊(duì)列類型包括:發(fā)送隊(duì)列,接收隊(duì)列,事件隊(duì)列。發(fā)往目的地的消息要經(jīng)由發(fā)送隊(duì)列,由核心從發(fā)送隊(duì)列中取消息進(jìn)行發(fā)送;核心收到消息后,將根據(jù)發(fā)送方的設(shè)置放到相應(yīng)的接收隊(duì)列中;事件隊(duì)列屬于一個(gè)特殊的接收隊(duì)列,用于存放TongLINK/Q系統(tǒng)產(chǎn)生的事件。
1.4 隊(duì)列控制單元
隊(duì)列控制單元,簡稱QCU。它是一個(gè)節(jié)點(diǎn)內(nèi)相對獨(dú)立運(yùn)行單元,由數(shù)據(jù)緩沖區(qū)(發(fā)送/接收緩沖區(qū))、隊(duì)列組成,功能主要是對一組隊(duì)列以及隊(duì)列內(nèi)的消息進(jìn)行監(jiān)控和管理。 包括:隊(duì)列創(chuàng)建、恢復(fù)及消息在數(shù)據(jù)緩沖區(qū)和隊(duì)列之間的轉(zhuǎn)移等。一個(gè)節(jié)點(diǎn)可擁有多個(gè)QCU,每個(gè)QCU在運(yùn)行上相互獨(dú)立。一個(gè)QCU可對應(yīng)多個(gè)發(fā)送進(jìn)程和接收進(jìn)程。endprint
2 TongLINK/Q應(yīng)用案例
TongLINK/Q的傳輸模式包括路由轉(zhuǎn)發(fā)、點(diǎn)對點(diǎn)、和發(fā)布訂閱。相同的網(wǎng)絡(luò)結(jié)構(gòu),不同的應(yīng)用可以選擇不同的傳輸模式。
2.1 案例一
在全國推廣的金融機(jī)構(gòu)理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng)中,各地方性金融機(jī)構(gòu)一點(diǎn)接入人民銀行網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)報(bào)送的工作。數(shù)據(jù)采集與報(bào)送采用直連接口報(bào)送方式,統(tǒng)一通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,人民銀行省級分支行構(gòu)建的網(wǎng)間互聯(lián)平臺前置負(fù)責(zé)TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。下圖為地方性金融機(jī)構(gòu)、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
網(wǎng)間互聯(lián)平臺前置的TongLINK/Q配置中,其上級節(jié)點(diǎn)為人民銀行總行的理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng),節(jié)點(diǎn)名稱為:SERVER_NODE_LCBS,其中LCBS假定為總行節(jié)點(diǎn)代碼。每個(gè)下級節(jié)點(diǎn)對應(yīng)一個(gè)金融機(jī)構(gòu),節(jié)點(diǎn)名稱為:CLIENT_NODE_XXXX,其中XXXX為節(jié)點(diǎn)代碼,由人民銀行總行統(tǒng)一分配。省級分支行節(jié)點(diǎn)在這個(gè)互連結(jié)構(gòu)中作為路由(Router)節(jié)點(diǎn)在金融機(jī)構(gòu)與人民銀行總行之間建立通信通道,僅負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā),因此沒有建立相應(yīng)的隊(duì)列,技術(shù)實(shí)現(xiàn)比較簡單。
網(wǎng)絡(luò)結(jié)構(gòu)中的上下級關(guān)系只是節(jié)點(diǎn)之間的邏輯關(guān)系,下級節(jié)點(diǎn)和上級節(jié)點(diǎn)之間在建立連接時(shí),是由下級節(jié)點(diǎn)主動(dòng)向上級節(jié)點(diǎn)發(fā)出連接請求,上級節(jié)點(diǎn)決定是否接受此連接請求。省級分支行的節(jié)點(diǎn)信息通過TongUser文件進(jìn)行配置,簡單示例如下:
# 本地節(jié)點(diǎn)小節(jié)
LocalNodeName = ROUTER_XXXX # 本地節(jié)點(diǎn)名稱
LocalAliasName = # 本地節(jié)點(diǎn)別名
LocalPassword = NULL # 本地節(jié)點(diǎn)口令
# 上級節(jié)點(diǎn)小節(jié)
UpName = SERVER_NODE_LCBS # 上級節(jié)點(diǎn)名稱
NodeIP = 192.168.0.1 # 上級節(jié)點(diǎn)IP地址
ConnPort = 10000 # 上級節(jié)點(diǎn)連接端口號
LineType = LAN10M # 上級節(jié)點(diǎn)線路類型
# 下級節(jié)點(diǎn)001
DownName = CLIENT_NODE_0001 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
# 下級節(jié)點(diǎn)002
DownName = CLIENT_NODE_0002 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
2.1 案例二
全國推廣的跨境人民幣信息管理系統(tǒng)復(fù)用案例一中的網(wǎng)絡(luò)結(jié)構(gòu),地方性金融機(jī)構(gòu)同樣遵循一點(diǎn)接入的模式,通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,但省級分支行節(jié)點(diǎn)不僅僅作為路由節(jié)點(diǎn),而是需要建立點(diǎn)對點(diǎn)連接來完成TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。假定某地方性商業(yè)銀行的節(jié)點(diǎn)代碼為10001,該省級人民銀行網(wǎng)間互聯(lián)平臺標(biāo)識為1001,下圖為該地方性商業(yè)銀行、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置作為外聯(lián)機(jī)構(gòu)與總行跨境人民幣信息管理系統(tǒng)之間的通信樞紐,接收地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,或接收人民銀行總行的批量報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。按照命名規(guī)范,在人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置建立隊(duì)列控制單元TLQ_RCPMIS_1001_01,建立接收連接Conn100001.1001.B1、遠(yuǎn)程隊(duì)列PBC.EXT.BATCH.IN、發(fā)送隊(duì)列PBC.RCPMIS.BATCH.TRAN、發(fā)送連接Conn1001.RCPMIS.B1將接收自地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,建立接收連接ConnRCPMIS.1001.B1、遠(yuǎn)程隊(duì)列PBC.100001.BATCH.OUT、發(fā)送隊(duì)列PBC.100001.BATCH.TRAN、發(fā)送連接Conn1001.100001.B1將接收自人民銀行總行的批量交易報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置對應(yīng)總行一個(gè)上級節(jié)點(diǎn),下級節(jié)點(diǎn)則可能包含多個(gè)地方性商業(yè)銀行。同時(shí),地方性商業(yè)銀行的加入又是一個(gè)循序漸進(jìn)的過程,并不是一次性的工作。所以在TongLINK/Q前置平臺的配置中采用文件和腳本配置相結(jié)合的方式,在系統(tǒng)配置文件tlsys.conf中對系統(tǒng)參數(shù)進(jìn)行統(tǒng)一配置,在本例中對應(yīng)的隊(duì)列控制單元的配置文件tlqcu_TLQ_RCPMIS_0200_01.conf中對隊(duì)列、連接等對象進(jìn)行相應(yīng)的配置,同時(shí)通過以下腳本示例實(shí)現(xiàn)商業(yè)銀行節(jié)點(diǎn)的動(dòng)態(tài)增加。
#新增商業(yè)銀行節(jié)點(diǎn)腳本示例
#新增連接
Addchl -qcu TLQ_RCPMIS_1001_01 -cn Conn1001. "商業(yè)銀行節(jié)點(diǎn)代碼".B1 -sq PBC."商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -h "商業(yè)銀行前置平臺IP地址" -p "商業(yè)銀行前置平臺對外服務(wù)端口" -mn 20000 -maxms 4194304 -sp 100000
#新增遠(yuǎn)程隊(duì)列、發(fā)送隊(duì)列
Addrq -qcu TLQ_RCPMIS_1001_01 -rq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT -sq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -dq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT
3 結(jié)束語
TongLINK/Q作為能夠跨平臺運(yùn)行和交互的消息中間件,為業(yè)務(wù)應(yīng)用之間搭建了穩(wěn)定可靠的溝通橋梁。應(yīng)用系統(tǒng)可以借助它構(gòu)造靈活的網(wǎng)絡(luò)結(jié)構(gòu),輕松地交換和處理消息,而無需考慮消息傳遞的具體細(xì)節(jié),能夠大大降低開發(fā)難度,縮短開發(fā)周期,節(jié)約開發(fā)成本。TongLINK/Q的產(chǎn)品易用性和技術(shù)優(yōu)勢使其廣泛應(yīng)用于各大、中型企業(yè),并在實(shí)際使用中得到了充分的肯定。
參考文獻(xiàn):
[1] 張?jiān)朴?,張智江,劉錦德,劉韻潔.中間件技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[2] 于曦,李丹.面向消息的中間件概述[J].計(jì)算機(jī)工程與設(shè)計(jì),2002,21(4):34-36.
[3] 徐晶,許煒.消息中間件綜述[J].計(jì)算機(jī)工程,2005,31(16):73-76.
[4] 郭勝,許平,王穎,等.中間件技術(shù)的研究[J].計(jì)算機(jī)科學(xué),2004,31(2):155-159,180.
[5] 北京東方通科技公司.中國現(xiàn)代化支付系統(tǒng)的小額支付系統(tǒng)應(yīng)用案例[OL].http://www.tongtech.com/jjfalb/index_39_155.html.endprint
2 TongLINK/Q應(yīng)用案例
TongLINK/Q的傳輸模式包括路由轉(zhuǎn)發(fā)、點(diǎn)對點(diǎn)、和發(fā)布訂閱。相同的網(wǎng)絡(luò)結(jié)構(gòu),不同的應(yīng)用可以選擇不同的傳輸模式。
2.1 案例一
在全國推廣的金融機(jī)構(gòu)理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng)中,各地方性金融機(jī)構(gòu)一點(diǎn)接入人民銀行網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)報(bào)送的工作。數(shù)據(jù)采集與報(bào)送采用直連接口報(bào)送方式,統(tǒng)一通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,人民銀行省級分支行構(gòu)建的網(wǎng)間互聯(lián)平臺前置負(fù)責(zé)TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。下圖為地方性金融機(jī)構(gòu)、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
網(wǎng)間互聯(lián)平臺前置的TongLINK/Q配置中,其上級節(jié)點(diǎn)為人民銀行總行的理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng),節(jié)點(diǎn)名稱為:SERVER_NODE_LCBS,其中LCBS假定為總行節(jié)點(diǎn)代碼。每個(gè)下級節(jié)點(diǎn)對應(yīng)一個(gè)金融機(jī)構(gòu),節(jié)點(diǎn)名稱為:CLIENT_NODE_XXXX,其中XXXX為節(jié)點(diǎn)代碼,由人民銀行總行統(tǒng)一分配。省級分支行節(jié)點(diǎn)在這個(gè)互連結(jié)構(gòu)中作為路由(Router)節(jié)點(diǎn)在金融機(jī)構(gòu)與人民銀行總行之間建立通信通道,僅負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā),因此沒有建立相應(yīng)的隊(duì)列,技術(shù)實(shí)現(xiàn)比較簡單。
網(wǎng)絡(luò)結(jié)構(gòu)中的上下級關(guān)系只是節(jié)點(diǎn)之間的邏輯關(guān)系,下級節(jié)點(diǎn)和上級節(jié)點(diǎn)之間在建立連接時(shí),是由下級節(jié)點(diǎn)主動(dòng)向上級節(jié)點(diǎn)發(fā)出連接請求,上級節(jié)點(diǎn)決定是否接受此連接請求。省級分支行的節(jié)點(diǎn)信息通過TongUser文件進(jìn)行配置,簡單示例如下:
# 本地節(jié)點(diǎn)小節(jié)
LocalNodeName = ROUTER_XXXX # 本地節(jié)點(diǎn)名稱
LocalAliasName = # 本地節(jié)點(diǎn)別名
LocalPassword = NULL # 本地節(jié)點(diǎn)口令
# 上級節(jié)點(diǎn)小節(jié)
UpName = SERVER_NODE_LCBS # 上級節(jié)點(diǎn)名稱
NodeIP = 192.168.0.1 # 上級節(jié)點(diǎn)IP地址
ConnPort = 10000 # 上級節(jié)點(diǎn)連接端口號
LineType = LAN10M # 上級節(jié)點(diǎn)線路類型
# 下級節(jié)點(diǎn)001
DownName = CLIENT_NODE_0001 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
# 下級節(jié)點(diǎn)002
DownName = CLIENT_NODE_0002 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
2.1 案例二
全國推廣的跨境人民幣信息管理系統(tǒng)復(fù)用案例一中的網(wǎng)絡(luò)結(jié)構(gòu),地方性金融機(jī)構(gòu)同樣遵循一點(diǎn)接入的模式,通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,但省級分支行節(jié)點(diǎn)不僅僅作為路由節(jié)點(diǎn),而是需要建立點(diǎn)對點(diǎn)連接來完成TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。假定某地方性商業(yè)銀行的節(jié)點(diǎn)代碼為10001,該省級人民銀行網(wǎng)間互聯(lián)平臺標(biāo)識為1001,下圖為該地方性商業(yè)銀行、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置作為外聯(lián)機(jī)構(gòu)與總行跨境人民幣信息管理系統(tǒng)之間的通信樞紐,接收地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,或接收人民銀行總行的批量報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。按照命名規(guī)范,在人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置建立隊(duì)列控制單元TLQ_RCPMIS_1001_01,建立接收連接Conn100001.1001.B1、遠(yuǎn)程隊(duì)列PBC.EXT.BATCH.IN、發(fā)送隊(duì)列PBC.RCPMIS.BATCH.TRAN、發(fā)送連接Conn1001.RCPMIS.B1將接收自地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,建立接收連接ConnRCPMIS.1001.B1、遠(yuǎn)程隊(duì)列PBC.100001.BATCH.OUT、發(fā)送隊(duì)列PBC.100001.BATCH.TRAN、發(fā)送連接Conn1001.100001.B1將接收自人民銀行總行的批量交易報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置對應(yīng)總行一個(gè)上級節(jié)點(diǎn),下級節(jié)點(diǎn)則可能包含多個(gè)地方性商業(yè)銀行。同時(shí),地方性商業(yè)銀行的加入又是一個(gè)循序漸進(jìn)的過程,并不是一次性的工作。所以在TongLINK/Q前置平臺的配置中采用文件和腳本配置相結(jié)合的方式,在系統(tǒng)配置文件tlsys.conf中對系統(tǒng)參數(shù)進(jìn)行統(tǒng)一配置,在本例中對應(yīng)的隊(duì)列控制單元的配置文件tlqcu_TLQ_RCPMIS_0200_01.conf中對隊(duì)列、連接等對象進(jìn)行相應(yīng)的配置,同時(shí)通過以下腳本示例實(shí)現(xiàn)商業(yè)銀行節(jié)點(diǎn)的動(dòng)態(tài)增加。
#新增商業(yè)銀行節(jié)點(diǎn)腳本示例
#新增連接
Addchl -qcu TLQ_RCPMIS_1001_01 -cn Conn1001. "商業(yè)銀行節(jié)點(diǎn)代碼".B1 -sq PBC."商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -h "商業(yè)銀行前置平臺IP地址" -p "商業(yè)銀行前置平臺對外服務(wù)端口" -mn 20000 -maxms 4194304 -sp 100000
#新增遠(yuǎn)程隊(duì)列、發(fā)送隊(duì)列
Addrq -qcu TLQ_RCPMIS_1001_01 -rq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT -sq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -dq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT
3 結(jié)束語
TongLINK/Q作為能夠跨平臺運(yùn)行和交互的消息中間件,為業(yè)務(wù)應(yīng)用之間搭建了穩(wěn)定可靠的溝通橋梁。應(yīng)用系統(tǒng)可以借助它構(gòu)造靈活的網(wǎng)絡(luò)結(jié)構(gòu),輕松地交換和處理消息,而無需考慮消息傳遞的具體細(xì)節(jié),能夠大大降低開發(fā)難度,縮短開發(fā)周期,節(jié)約開發(fā)成本。TongLINK/Q的產(chǎn)品易用性和技術(shù)優(yōu)勢使其廣泛應(yīng)用于各大、中型企業(yè),并在實(shí)際使用中得到了充分的肯定。
參考文獻(xiàn):
[1] 張?jiān)朴拢瑥堉墙?,劉錦德,劉韻潔.中間件技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[2] 于曦,李丹.面向消息的中間件概述[J].計(jì)算機(jī)工程與設(shè)計(jì),2002,21(4):34-36.
[3] 徐晶,許煒.消息中間件綜述[J].計(jì)算機(jī)工程,2005,31(16):73-76.
[4] 郭勝,許平,王穎,等.中間件技術(shù)的研究[J].計(jì)算機(jī)科學(xué),2004,31(2):155-159,180.
[5] 北京東方通科技公司.中國現(xiàn)代化支付系統(tǒng)的小額支付系統(tǒng)應(yīng)用案例[OL].http://www.tongtech.com/jjfalb/index_39_155.html.endprint
2 TongLINK/Q應(yīng)用案例
TongLINK/Q的傳輸模式包括路由轉(zhuǎn)發(fā)、點(diǎn)對點(diǎn)、和發(fā)布訂閱。相同的網(wǎng)絡(luò)結(jié)構(gòu),不同的應(yīng)用可以選擇不同的傳輸模式。
2.1 案例一
在全國推廣的金融機(jī)構(gòu)理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng)中,各地方性金融機(jī)構(gòu)一點(diǎn)接入人民銀行網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)報(bào)送的工作。數(shù)據(jù)采集與報(bào)送采用直連接口報(bào)送方式,統(tǒng)一通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,人民銀行省級分支行構(gòu)建的網(wǎng)間互聯(lián)平臺前置負(fù)責(zé)TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。下圖為地方性金融機(jī)構(gòu)、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
網(wǎng)間互聯(lián)平臺前置的TongLINK/Q配置中,其上級節(jié)點(diǎn)為人民銀行總行的理財(cái)與資金信托數(shù)據(jù)報(bào)送系統(tǒng),節(jié)點(diǎn)名稱為:SERVER_NODE_LCBS,其中LCBS假定為總行節(jié)點(diǎn)代碼。每個(gè)下級節(jié)點(diǎn)對應(yīng)一個(gè)金融機(jī)構(gòu),節(jié)點(diǎn)名稱為:CLIENT_NODE_XXXX,其中XXXX為節(jié)點(diǎn)代碼,由人民銀行總行統(tǒng)一分配。省級分支行節(jié)點(diǎn)在這個(gè)互連結(jié)構(gòu)中作為路由(Router)節(jié)點(diǎn)在金融機(jī)構(gòu)與人民銀行總行之間建立通信通道,僅負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā),因此沒有建立相應(yīng)的隊(duì)列,技術(shù)實(shí)現(xiàn)比較簡單。
網(wǎng)絡(luò)結(jié)構(gòu)中的上下級關(guān)系只是節(jié)點(diǎn)之間的邏輯關(guān)系,下級節(jié)點(diǎn)和上級節(jié)點(diǎn)之間在建立連接時(shí),是由下級節(jié)點(diǎn)主動(dòng)向上級節(jié)點(diǎn)發(fā)出連接請求,上級節(jié)點(diǎn)決定是否接受此連接請求。省級分支行的節(jié)點(diǎn)信息通過TongUser文件進(jìn)行配置,簡單示例如下:
# 本地節(jié)點(diǎn)小節(jié)
LocalNodeName = ROUTER_XXXX # 本地節(jié)點(diǎn)名稱
LocalAliasName = # 本地節(jié)點(diǎn)別名
LocalPassword = NULL # 本地節(jié)點(diǎn)口令
# 上級節(jié)點(diǎn)小節(jié)
UpName = SERVER_NODE_LCBS # 上級節(jié)點(diǎn)名稱
NodeIP = 192.168.0.1 # 上級節(jié)點(diǎn)IP地址
ConnPort = 10000 # 上級節(jié)點(diǎn)連接端口號
LineType = LAN10M # 上級節(jié)點(diǎn)線路類型
# 下級節(jié)點(diǎn)001
DownName = CLIENT_NODE_0001 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
# 下級節(jié)點(diǎn)002
DownName = CLIENT_NODE_0002 # 下級節(jié)點(diǎn)名稱
DownNodeIP = # 下級節(jié)點(diǎn)IP地址
DownConnPort = 0 # 下級節(jié)點(diǎn)連接端口號
RegTime = 30 # 等待下級節(jié)點(diǎn)注冊時(shí)間
DownStatus = Active # 下級節(jié)點(diǎn)狀態(tài)
2.1 案例二
全國推廣的跨境人民幣信息管理系統(tǒng)復(fù)用案例一中的網(wǎng)絡(luò)結(jié)構(gòu),地方性金融機(jī)構(gòu)同樣遵循一點(diǎn)接入的模式,通過TongLINK/Q同人民銀行總行系統(tǒng)進(jìn)行報(bào)文交換,但省級分支行節(jié)點(diǎn)不僅僅作為路由節(jié)點(diǎn),而是需要建立點(diǎn)對點(diǎn)連接來完成TongLINK/Q報(bào)文的轉(zhuǎn)發(fā)。假定某地方性商業(yè)銀行的節(jié)點(diǎn)代碼為10001,該省級人民銀行網(wǎng)間互聯(lián)平臺標(biāo)識為1001,下圖為該地方性商業(yè)銀行、人民銀行省級分支行、人民銀行總行三者之間TongLINK/Q互連結(jié)構(gòu)圖。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置作為外聯(lián)機(jī)構(gòu)與總行跨境人民幣信息管理系統(tǒng)之間的通信樞紐,接收地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,或接收人民銀行總行的批量報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。按照命名規(guī)范,在人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置建立隊(duì)列控制單元TLQ_RCPMIS_1001_01,建立接收連接Conn100001.1001.B1、遠(yuǎn)程隊(duì)列PBC.EXT.BATCH.IN、發(fā)送隊(duì)列PBC.RCPMIS.BATCH.TRAN、發(fā)送連接Conn1001.RCPMIS.B1將接收自地方性商業(yè)銀行的批量報(bào)文轉(zhuǎn)發(fā)到人民銀行總行,建立接收連接ConnRCPMIS.1001.B1、遠(yuǎn)程隊(duì)列PBC.100001.BATCH.OUT、發(fā)送隊(duì)列PBC.100001.BATCH.TRAN、發(fā)送連接Conn1001.100001.B1將接收自人民銀行總行的批量交易報(bào)文轉(zhuǎn)發(fā)到地方性商業(yè)銀行。
人民銀行省級分支行網(wǎng)間互聯(lián)平臺前置對應(yīng)總行一個(gè)上級節(jié)點(diǎn),下級節(jié)點(diǎn)則可能包含多個(gè)地方性商業(yè)銀行。同時(shí),地方性商業(yè)銀行的加入又是一個(gè)循序漸進(jìn)的過程,并不是一次性的工作。所以在TongLINK/Q前置平臺的配置中采用文件和腳本配置相結(jié)合的方式,在系統(tǒng)配置文件tlsys.conf中對系統(tǒng)參數(shù)進(jìn)行統(tǒng)一配置,在本例中對應(yīng)的隊(duì)列控制單元的配置文件tlqcu_TLQ_RCPMIS_0200_01.conf中對隊(duì)列、連接等對象進(jìn)行相應(yīng)的配置,同時(shí)通過以下腳本示例實(shí)現(xiàn)商業(yè)銀行節(jié)點(diǎn)的動(dòng)態(tài)增加。
#新增商業(yè)銀行節(jié)點(diǎn)腳本示例
#新增連接
Addchl -qcu TLQ_RCPMIS_1001_01 -cn Conn1001. "商業(yè)銀行節(jié)點(diǎn)代碼".B1 -sq PBC."商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -h "商業(yè)銀行前置平臺IP地址" -p "商業(yè)銀行前置平臺對外服務(wù)端口" -mn 20000 -maxms 4194304 -sp 100000
#新增遠(yuǎn)程隊(duì)列、發(fā)送隊(duì)列
Addrq -qcu TLQ_RCPMIS_1001_01 -rq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT -sq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.TRAN -dq PBC. "商業(yè)銀行節(jié)點(diǎn)代碼".BATCH.OUT
3 結(jié)束語
TongLINK/Q作為能夠跨平臺運(yùn)行和交互的消息中間件,為業(yè)務(wù)應(yīng)用之間搭建了穩(wěn)定可靠的溝通橋梁。應(yīng)用系統(tǒng)可以借助它構(gòu)造靈活的網(wǎng)絡(luò)結(jié)構(gòu),輕松地交換和處理消息,而無需考慮消息傳遞的具體細(xì)節(jié),能夠大大降低開發(fā)難度,縮短開發(fā)周期,節(jié)約開發(fā)成本。TongLINK/Q的產(chǎn)品易用性和技術(shù)優(yōu)勢使其廣泛應(yīng)用于各大、中型企業(yè),并在實(shí)際使用中得到了充分的肯定。
參考文獻(xiàn):
[1] 張?jiān)朴?,張智江,劉錦德,劉韻潔.中間件技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[2] 于曦,李丹.面向消息的中間件概述[J].計(jì)算機(jī)工程與設(shè)計(jì),2002,21(4):34-36.
[3] 徐晶,許煒.消息中間件綜述[J].計(jì)算機(jī)工程,2005,31(16):73-76.
[4] 郭勝,許平,王穎,等.中間件技術(shù)的研究[J].計(jì)算機(jī)科學(xué),2004,31(2):155-159,180.
[5] 北京東方通科技公司.中國現(xiàn)代化支付系統(tǒng)的小額支付系統(tǒng)應(yīng)用案例[OL].http://www.tongtech.com/jjfalb/index_39_155.html.endprint