999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分布式信息系統(tǒng)中數(shù)據(jù)交換平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

2012-07-25 11:06:20李艷春焦文彬
關(guān)鍵詞:信息系統(tǒng)

李艷春,李 新,焦文彬

(中國(guó)科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京100190)

0 引 言

數(shù)據(jù)的交換、信息的共享是分布式信息系統(tǒng)[1]中必不可少的一部分。建立數(shù)據(jù)交換平臺(tái)加快信息系統(tǒng)之間的數(shù)據(jù)流通實(shí)現(xiàn)信息的共享和集成,有利于提高分布式信息系統(tǒng)的性能。交換的業(yè)務(wù)信息以及數(shù)據(jù)不能丟失,必須確保交換可靠性。很多分布式信息系統(tǒng)為每一業(yè)務(wù)系統(tǒng)分別開(kāi)發(fā)交換接口,或者在進(jìn)行數(shù)據(jù)交換時(shí)必須保證同時(shí)連接到源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù),這些方式影響到系統(tǒng)的可移植性與二次開(kāi)發(fā)能力,出現(xiàn)重復(fù)開(kāi)發(fā)造成浪費(fèi)降低了工作效率,需要為分布信息系統(tǒng)建立一個(gè)跨地域、跨組織、跨應(yīng)用的數(shù)據(jù)交換、數(shù)據(jù)共享、數(shù)據(jù)流轉(zhuǎn)的數(shù)據(jù)交換平臺(tái)。直接用廠商提供的交換工具不僅成本高而且較依賴于具體廠商提供的平臺(tái),不利于系統(tǒng)的改造和二次開(kāi)發(fā)。為了解決以上的問(wèn) 題,本 文 基 于 SOA[2](service-oriented architecture)平臺(tái),遵守JMS[3](Java message service)規(guī)范,采用開(kāi)源消息中間件[4-5],靈活、低成本的實(shí)現(xiàn)了松耦合[6]、穩(wěn)定的數(shù)據(jù)交換平臺(tái)。

1 JMS規(guī)范及ActiveMQ

JMS[7]是用于和面向消息的中間件相互通信的應(yīng)用程序接口。JMS支持兩種基本的消息傳遞機(jī)制。第一種機(jī)制是點(diǎn)到點(diǎn)的消息傳遞 PTP (point-to-point messaging),生產(chǎn)者的消息只能發(fā)送給一個(gè)消費(fèi)者,該消息模型與消息隊(duì)列有關(guān)。生產(chǎn)者將消息發(fā)送到消息隊(duì)列,消費(fèi)者從這個(gè)消息隊(duì)列中收到消息。在這個(gè)消息模型中,消息只有一個(gè)消費(fèi)者,如果一個(gè)消費(fèi)者接收了消息,其它的消費(fèi)者就不能得到這條消息。這種模型中的生產(chǎn)者數(shù)量沒(méi)有限制,消費(fèi)者也可以有多個(gè),但收到每條消息的消費(fèi)者只能有一個(gè)。生產(chǎn)者發(fā)送消息后,消費(fèi)者可以在任意的時(shí)刻接收。消費(fèi)者收到消息后進(jìn)行確認(rèn),如果沒(méi)有發(fā)出確認(rèn),那么這條消息可以被其它消費(fèi)者繼續(xù)接收。

另一種機(jī)制是發(fā)布-訂閱式的消息傳遞P/S(publishsubscribe messaging),生產(chǎn)者的消息可以發(fā)送給任意數(shù)量的消費(fèi)者。該消息模型與主題有關(guān)。生產(chǎn)者發(fā)布消息,消費(fèi)者訂閱相應(yīng)的消息,生產(chǎn)者將消息和主題目標(biāo)連在一起,該消息模型中,生產(chǎn)者和消費(fèi)者的數(shù)量都沒(méi)有限制,可以有多個(gè)消費(fèi)者收到同一條消息。消費(fèi)者對(duì)主題目標(biāo)的訂閱支持長(zhǎng)期訂閱和持久訂閱。長(zhǎng)期訂閱模式是消費(fèi)者在非活動(dòng)狀態(tài)時(shí)生產(chǎn)者發(fā)送了消息,當(dāng)消費(fèi)者恢復(fù)到活動(dòng)狀態(tài)時(shí),同樣會(huì)成功收到該消息。如果消費(fèi)者注冊(cè)了持久訂閱,主題目標(biāo)會(huì)一直保留生產(chǎn)者發(fā)送的消息為該消費(fèi)者接收。

JMS只是定義了信息傳遞的規(guī)范和接口,但JMS不能實(shí)現(xiàn)消息的傳送功能。實(shí)現(xiàn)JMS接口的消息中間件稱為JMS Provider,現(xiàn)在很多著名公司都提供了JMS中間件產(chǎn)品,如 Apache公司的 Active MQ[8],IBM 公司的 Web-Sphere MQ[9],SUN公司的Java Sun MQ,等。不同公司的產(chǎn)品由于開(kāi)發(fā)的語(yǔ)言、連接數(shù)據(jù)庫(kù)的能力、能否構(gòu)成服務(wù)器簇以及實(shí)現(xiàn)高可用性等附加功能的不同,需要根據(jù)系統(tǒng)的不同應(yīng)用場(chǎng)合、系統(tǒng)的安全性和性能指標(biāo)的要求,適當(dāng)選擇不同的產(chǎn)品,使所開(kāi)發(fā)的系統(tǒng)達(dá)到最佳的性能價(jià)格比。如IBM公司的WebSphere MQ性能穩(wěn)定,但該產(chǎn)品價(jià)格昂貴,在我國(guó)的一般公司、企事業(yè)等單位的使用就受到一定的限制。

本文采用基于JMS Provider的開(kāi)源ActiveMQ消息中間件實(shí)現(xiàn)數(shù)據(jù)交換平臺(tái)。ActiveMQ是Apache支持的頂級(jí)開(kāi)源消息中間件。ActiveMQ能夠保證交換信息的高度安全、可靠,支持消息重發(fā)和記錄日志,減少編寫應(yīng)用的復(fù)雜度。它的主要特性:

(1)ActiveMQ提供了諸如Java,C,C++,C#,Python,PHP等多種語(yǔ)言的程序接口,同時(shí)支持多種應(yīng)用協(xié)議編寫客戶端,如OpenWire,Stomp REST,WSNotification,XMPP,AMQP。

(2)支持具有持久化,XA消息,事務(wù)等屬性的JMS1.1和J2EE 1.4規(guī)范。可以自動(dòng)的部署到符合J2EE 1.4規(guī)范的服務(wù)器上。

(3)ActiveMQ支持Spring最新版本的相關(guān)特性,同時(shí)可以與使用Spring開(kāi)發(fā)的系統(tǒng)進(jìn)行集成。

(5) 支 持 諸 如 in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA等多種網(wǎng)絡(luò)傳送協(xié)議。

(6)從設(shè)計(jì)上支持消息持久化。

(7)ActiveMQ能夠保證集群的高性能特性。

(8)支持其它應(yīng)用程序調(diào)用自身內(nèi)嵌的JMS provider。

(9)可以運(yùn)行在各種操作系統(tǒng)上,如:Linux,Unix,Windows。

2 數(shù)據(jù)交換平臺(tái)設(shè)計(jì)

JMS提供的消息傳遞機(jī)制中在PTP模式下,如果兩兩節(jié)點(diǎn)之間連接需要配置隊(duì)列數(shù)量為:n* (n-1),本文實(shí)現(xiàn)的交換平臺(tái)需要在130個(gè)節(jié)點(diǎn)上應(yīng)用,采用該模式需要配置的隊(duì)列總量為:n* (n-1)=130* (130-1)=16670個(gè),PTP模式下的配置工作量太大。所以本文設(shè)計(jì)的數(shù)據(jù)交換平臺(tái)使用持久化的P/S模式,該平臺(tái)能夠可靠的交換數(shù)據(jù),各節(jié)點(diǎn)易于部署維護(hù)。數(shù)據(jù)交換平臺(tái)為用戶提供了詳細(xì)的數(shù)據(jù)流轉(zhuǎn)時(shí)間及交換日志信息。

2.1 交換平臺(tái)總體結(jié)構(gòu)

數(shù)據(jù)交換平臺(tái)采用星型結(jié)構(gòu),發(fā)送節(jié)點(diǎn)的業(yè)務(wù)系統(tǒng)通過(guò)數(shù)據(jù)交換接口委托交換中心客戶端程序 (MQ Client)將數(shù)據(jù)交換至交換中心,交換中心將數(shù)據(jù)傳輸?shù)侥繕?biāo)節(jié)點(diǎn)的客戶端,目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)交換接口將客戶端接收到的數(shù)據(jù)存入該節(jié)點(diǎn)的業(yè)務(wù)系統(tǒng)中。采用星型拓?fù)浣Y(jié)構(gòu),各節(jié)點(diǎn)只需和中心交換服務(wù)器互通即可,作為用戶的節(jié)點(diǎn)工作站,并不知道中心服務(wù)器的存在,感覺(jué)和兩兩直接連接一樣。如果采用網(wǎng)狀拓?fù)浣Y(jié)構(gòu),每個(gè)節(jié)點(diǎn)之間都要互通才能夠交換,不易于維護(hù)。交換平臺(tái)結(jié)構(gòu)如圖1所示。

圖1 交換平臺(tái)結(jié)構(gòu)

在星型結(jié)構(gòu)中處于中心位置的是交換中心,交換中心是單例JMS Provider,完成各節(jié)點(diǎn)數(shù)據(jù)的分發(fā)處理,實(shí)現(xiàn)各節(jié)點(diǎn)間的數(shù)據(jù)交換,對(duì)各應(yīng)用節(jié)點(diǎn)是透明的。交換中心的整體行為就像一個(gè)虛擬的中心數(shù)據(jù)庫(kù),同時(shí)又像一個(gè)交換機(jī),負(fù)責(zé)交換數(shù)據(jù)同時(shí)記錄每次交換信息。該結(jié)構(gòu)屬于松耦合如同星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)一樣,容易進(jìn)行層次的結(jié)構(gòu)擴(kuò)展,構(gòu)件出多級(jí)數(shù)據(jù)交換中結(jié)構(gòu),為以后建立地區(qū)分中心奠定基礎(chǔ)。

2.2 數(shù)據(jù)交換過(guò)程設(shè)計(jì)

各個(gè)交換節(jié)點(diǎn)工作站交換接口中有3個(gè)存儲(chǔ)介質(zhì):Outbox、Inbox、Log。Outbox用于存儲(chǔ)發(fā)送出去的數(shù)據(jù),Inbox用于存儲(chǔ)接收到的數(shù)據(jù),Log作為一個(gè)控制器,主要用于記錄每次操作的日志。3個(gè)存儲(chǔ)介質(zhì)采用了消息隊(duì)列的方式存儲(chǔ)數(shù)據(jù),將消息以可靠的方式存儲(chǔ),即使服務(wù)器發(fā)生故障重新啟動(dòng)后,消息仍然能到達(dá)目的服務(wù)器也不會(huì)丟失。

交換平臺(tái)交換如圖2所示。

圖2 交換平臺(tái)交換

(1)節(jié)點(diǎn)1作為發(fā)送方,發(fā)送接口將業(yè)務(wù)數(shù)據(jù)推送到發(fā)件庫(kù) (OutBox)中。

(2)發(fā)送方填寫一條待發(fā)送日志信息到日志表 (Log)中,其中,最重要的信息是收件地址信息。

(3)發(fā)送輪循器掃描日志表里待發(fā)送記錄,將業(yè)務(wù)數(shù)據(jù)和日志信息包裝后發(fā)送至交換中心,系統(tǒng)記錄信息上傳時(shí)間。

(4)交換中心將消息交付給接收方 (節(jié)點(diǎn)2)。為避免接收節(jié)點(diǎn)偶爾會(huì)出現(xiàn)系統(tǒng)故障無(wú)法接收信息,系統(tǒng)設(shè)計(jì)時(shí),保證只有消息正確發(fā)送后,才刪除消息緩沖列表中的消息,從而杜絕消息的丟失。

(5)接收方將業(yè)務(wù)數(shù)據(jù)存儲(chǔ)到中間數(shù)據(jù)庫(kù)收件庫(kù) (InBox)中同時(shí)存儲(chǔ)收件日志到日志表中,系統(tǒng)記錄信息到達(dá)時(shí)間。

(6)接收方收件輪循器掃描收件日志。

(7)輪循器根據(jù)日志信息從收件庫(kù)中下載業(yè)務(wù)數(shù)據(jù)到相應(yīng)的業(yè)務(wù)系統(tǒng)中,系統(tǒng)記錄信息下載時(shí)間。

2.3 交換平臺(tái)數(shù)據(jù)表設(shè)計(jì)

各節(jié)點(diǎn)在數(shù)據(jù)表[10]EX_Client_ID記錄著本節(jié)點(diǎn)的組織ID (ORG_ID),組織名稱 (ORG_NAME),該節(jié)點(diǎn)的交換平臺(tái)客戶端地址,交換時(shí)用組織ID作為交換的源、目標(biāo)地址。在各節(jié)點(diǎn)都有兩個(gè)記錄交換數(shù)據(jù)的日志信息表EX_Data_Detail和 EX _Data_Detail_Profile。EX _Data_Detail表記錄要交換的數(shù)據(jù)基本信息,見(jiàn)表1。

表1 EX_Data_Detail字段

EX_Data_Detail_Profile表記錄數(shù)據(jù)交換過(guò)程的詳細(xì)信息,見(jiàn)表2。其中信息上傳時(shí)間為業(yè)務(wù)信息到達(dá)交換中心的時(shí)間,信息發(fā)送時(shí)間為交換中心將數(shù)據(jù)進(jìn)行發(fā)送的時(shí)間,信息到達(dá)時(shí)間是信息到達(dá)目標(biāo)節(jié)點(diǎn)數(shù)據(jù)接口的時(shí)間,信息下載時(shí)間指信息通過(guò)輪循器到達(dá)業(yè)務(wù)系統(tǒng)的時(shí)間,信息閱讀時(shí)間指應(yīng)用用戶閱讀該交換信息的時(shí)間。追蹤Trace字段的追蹤需求1-6具體為:1上載、2發(fā)送、3下載、4閱讀、5回復(fù)、6結(jié)束。

表2 EX_Data_Detail_Profile字段

2.4 交換的數(shù)據(jù)包格式

數(shù)據(jù)交換平臺(tái)中傳輸?shù)臄?shù)據(jù)包括日志信息數(shù)據(jù)、交換的業(yè)務(wù)數(shù)據(jù)。日志描述交換的數(shù)據(jù)是收件記錄還是發(fā)件記錄,是待發(fā)送記錄還是已發(fā)送記錄,是待接收記錄還是已接收記錄,同時(shí)還包括數(shù)據(jù)的源或目標(biāo)地址等信息。這類數(shù)據(jù)用一個(gè)統(tǒng)一JAVABEAN來(lái)描述。實(shí)際流轉(zhuǎn)的業(yè)務(wù)數(shù)據(jù)是業(yè)務(wù)系統(tǒng)中的業(yè)務(wù)表記錄。基于業(yè)務(wù)關(guān)系表的記錄可以描述成行和列組成單元格的集合,也使用JAVABEAN來(lái)描述。數(shù)據(jù)交換平臺(tái)將這兩個(gè)JAVABEAN序列化,MQ Client將它們的組成發(fā)送到交換中心進(jìn)行交換。可序列化對(duì)象包裝的數(shù)據(jù)結(jié)構(gòu)如圖3所示。

圖3 可序列化對(duì)象包裝的數(shù)據(jù)結(jié)構(gòu)

3 數(shù)據(jù)交換平臺(tái)的主要技術(shù)

3.1 面向服務(wù)的架構(gòu)——SOA

該數(shù)據(jù)交換平臺(tái)在應(yīng)用ActiveMQ作為交換中心基礎(chǔ)上采用了SOA[11]開(kāi)發(fā)平臺(tái)進(jìn)行二次及接口開(kāi)發(fā),通過(guò)將系統(tǒng)的各組件單元進(jìn)行應(yīng)用組裝,并定義服務(wù)間的接口和契約構(gòu)建系統(tǒng)。通過(guò)應(yīng)用SOA架構(gòu),實(shí)現(xiàn)了平臺(tái)系統(tǒng)各組件間的松耦合,提高了系統(tǒng)的可復(fù)用性及可擴(kuò)展性。

3.2 分層結(jié)構(gòu)

在基于SOA架構(gòu)的前提下,該數(shù)據(jù)交換平臺(tái)的系統(tǒng)設(shè)計(jì)采用了如圖4所示的分層結(jié)構(gòu),整個(gè)系統(tǒng)的5個(gè)層次如下:頁(yè)面層、展現(xiàn)層、業(yè)務(wù)層、運(yùn)算層、數(shù)據(jù)層,在5個(gè)層次之間引入了 XML (extensible markup language)[12-13]數(shù)據(jù)總線技術(shù),XML具有很強(qiáng)的數(shù)據(jù)擴(kuò)展能力,在各個(gè)層次之間傳遞數(shù)據(jù),并擴(kuò)展各個(gè)層次的數(shù)據(jù)。

圖4 分層結(jié)構(gòu)

圖4 所顯示分層結(jié)構(gòu)與模型—視圖—控制MVC(model view control)[14]相互對(duì)應(yīng)。分層結(jié)構(gòu)中的頁(yè)面層和展現(xiàn)層兩個(gè)層次構(gòu)成了MVC中的視圖層,負(fù)責(zé)頁(yè)面顯示,展現(xiàn)層調(diào)用了業(yè)務(wù)層的數(shù)據(jù)來(lái)展示應(yīng)用功能;業(yè)務(wù)層和運(yùn)算層構(gòu)成了控制層,用于實(shí)現(xiàn)具體的業(yè)務(wù)邏輯;數(shù)據(jù)層是模型層,與應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)實(shí)體映射,達(dá)到數(shù)據(jù)持久管理的目的,降低應(yīng)用與數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)類型的耦合度,提高應(yīng)用系統(tǒng)的數(shù)據(jù)擴(kuò)展能力。各個(gè)層次的數(shù)據(jù)都用XML進(jìn)行傳輸,形成了XML數(shù)據(jù)總線。

4 數(shù)據(jù)交換平臺(tái)的實(shí)現(xiàn)

4.1 數(shù)據(jù)交換接口

數(shù)據(jù)交換接口是各個(gè)業(yè)務(wù)系統(tǒng)推送、接收數(shù)據(jù)的一個(gè)入口,各個(gè)業(yè)務(wù)系統(tǒng)交換數(shù)據(jù)都調(diào)用這個(gè)接口。發(fā)送接口是提供收件地址及業(yè)務(wù)數(shù)據(jù)位置后通過(guò)該接口將數(shù)據(jù)發(fā)送至交換平臺(tái)客戶端程序。發(fā)送接口保存等待發(fā)送的數(shù)據(jù)委托交換中心客戶端程序發(fā)送數(shù)據(jù)。發(fā)送接口的控制層如圖5所示。

圖5 交換接口邏輯層

輸入的參數(shù)包括:目的地址、業(yè)務(wù)類型、業(yè)務(wù)數(shù)據(jù)所在業(yè)務(wù)表名稱、主鍵名稱及主鍵值、操作類型。返回的結(jié)果:1/0。

4.2 輪循器

數(shù)據(jù)交換中心將數(shù)據(jù)交換到接收節(jié)點(diǎn)的中間庫(kù) (Log、Inbox)中,輪循器掃描中間日志表 (Log)中待接收的記錄,然后分析并保存業(yè)務(wù)數(shù)據(jù)到本節(jié)點(diǎn)相應(yīng)的業(yè)務(wù)數(shù)據(jù)庫(kù)中,同時(shí),輪循器提供收件類型接口以適配不同的收件處理邏輯分支,比如公文收件使用公文收件處理器,表同步使用同步表機(jī)構(gòu)處理器。輪循器功能在SOA開(kāi)發(fā)平臺(tái)的上完成,使用業(yè)務(wù)邏輯調(diào)用器捕獲各模塊下載業(yè)務(wù)邏輯的返回值和異常,并根據(jù)需要判斷是否反饋下載失敗信息。如果下載成功則設(shè)置狀態(tài)位及追蹤字段為3(下載),輪循器下次不再主動(dòng)掃描這個(gè)狀態(tài)的收件記錄。控制層主要部分如圖6所示。

圖6 輪循器邏輯層

4.3 發(fā)送和接收功能

4.3.1 配置文件

原ActiveMQ創(chuàng)建連接方式是發(fā)送文件 (Send)和接收文件 (Receivemq)中都寫入交換中心的IP地址及本節(jié)點(diǎn)的唯一標(biāo)識(shí),本文將連接進(jìn)行優(yōu)化,作了一個(gè)XML[15]配置文件,將公共信息在這個(gè)配置文件中單獨(dú)配置,然后由JMS方式調(diào)用為Send及Receivemq程序所用。該配置文件包含在部署包中,這樣新增一個(gè)節(jié)點(diǎn)也不需要再進(jìn)行修改程序文件和配置文件。

各節(jié)點(diǎn)需要在XML配置文件applicationContext中獲取該節(jié)點(diǎn)的ClientID和配置交換中心的IP。

獲取本節(jié)點(diǎn)的唯一標(biāo)識(shí)CLIENT_ID:<property name="queryPrpoertiesSql"> <value>SELECT ORGCODE AS CLIENT_ID FROM EX_Client_ID WHERE RECORDID= ‘1’</value></21》

配置交換中心的地址AMQ_SERVER_IP:

<prop key="AMQ_SERVER_IP">172.31.0.10</prop>

為JMS創(chuàng)建創(chuàng)建連接提供參數(shù),其中端口61616是ActiveMQ默認(rèn)的配置,默認(rèn)原值沒(méi)有修改:

property name="brokerURL">

<value>failover:(tcp://$ {AMQ_SERVER_IP }: 61616? wireFormat.maxInactivityDuration =300000&

wireFormat.maxInactivityDurationInitalDelay=60000)</value> </property>

……

<property name="clientID"value=" $ {CLIENT_ID}"/>

……

4.3.2 發(fā)送功能

發(fā)送功能主要連接數(shù)據(jù)交換中心服務(wù)器,并將數(shù)據(jù)交換到數(shù)據(jù)交換中心。ActiveMQ默認(rèn)的模式是非持久模式,本文實(shí)現(xiàn)的交換平臺(tái)增加了持久模式下的消息交換。下面是mq包中Send類中主要功能。

JMS客戶端到JMS Provider的連接:

Connection connection=connectionFactory.createConnection ();

connection.start();

建立一個(gè)發(fā)送或接收消息的線程:

ActiveMQSession session = connection.createSession(false,ActiveMQSession.AUTO_ACK);

獲取消息的目的地.

Destination destn = session.createQueue ("myqueue");

不持久化的主題模式下:

if(topic){dst=session.createTopic (subject);

MessageProducer:消息生產(chǎn)者:

MessageProducer producer = session.createProducer(destn);

持久訂閱模式下:

if(persistent){

producer.setDeliveryMode

(DeliveryMode.PERSISTENT);

……

4.3.3 接收功能

接收功能主要是連接交換中心然后將數(shù)據(jù)下在到接收節(jié)點(diǎn)。下面是mq包中Receivemq類中的數(shù)據(jù)下載到接收節(jié)點(diǎn)并取出消息的主要功能。

建立消息接收者M(jìn)essageConsumer:

MessageConsumer consumer=session.createConsumer(destn);

接收消息:

DBoracle db= new DBoracle ();

文本消息:

BlobMessage txtMsg= (BlobMessage)message;

大字段消息:

……

得到BLOB對(duì)象:

BLOBblob = ((OracleResultSet)rs) .getBLOB("file_blob");

建立輸出流:

OutputStream out=blob.getBinaryOutputStream ();

int size=blob.getBufferSize ();

建立緩沖區(qū)

byte []buffer=new byte [size];

int len;

取出消息:

while ((len=in.read (buffer))?。剑?)

out.write(buffer,0,len);

……

5 應(yīng)用情況

本文實(shí)現(xiàn)的交換平臺(tái)已經(jīng)在具有130個(gè)節(jié)點(diǎn)某個(gè)大型分布式信息系統(tǒng)正式應(yīng)用。每天都有公文、圖紙、報(bào)表、SQL語(yǔ)句等各種類型數(shù)據(jù)的交換,數(shù)據(jù)交換平臺(tái)能夠?yàn)閼?yīng)用系統(tǒng)實(shí)時(shí)交換各種信息,并提供了應(yīng)用系統(tǒng)的數(shù)據(jù)交換時(shí)間及交換出錯(cuò)后的錯(cuò)誤信息。通過(guò)應(yīng)用該數(shù)據(jù)交換平臺(tái)節(jié)省了發(fā)送紙制文件的辦公費(fèi)用,加快各節(jié)點(diǎn)之間交換信息的速度,提高了辦公效率。

該數(shù)據(jù)交換平臺(tái)實(shí)施過(guò)程簡(jiǎn)單,交換中心服務(wù)器在LINUX操作系統(tǒng)上安裝ActiveMQ應(yīng)用程序包,交換節(jié)點(diǎn)只需要部署ActiveMQ應(yīng)用包。使用了P/S模式,所有交換節(jié)點(diǎn)使用一個(gè)主題,配置的隊(duì)列量為零。通過(guò)應(yīng)用該平臺(tái)體現(xiàn)出了較好的穩(wěn)定性,主要體現(xiàn)在保證消息的收發(fā)不受計(jì)算機(jī)硬件故障和網(wǎng)絡(luò)故障的限制,因故障未發(fā)送的消息存放在交換平臺(tái),待故障解除后準(zhǔn)確地發(fā)送到接收端。

6 結(jié)束語(yǔ)

數(shù)據(jù)交換是影響分布式信息系統(tǒng)的性能主要因素之一。本文在介紹JMS、ActiveMQ、SOA相關(guān)技術(shù)基礎(chǔ)上,詳細(xì)說(shuō)明了數(shù)據(jù)交換平臺(tái)的結(jié)構(gòu)設(shè)計(jì)、交換過(guò)程以及交換的數(shù)據(jù)包格式,,描述了交換平臺(tái)中數(shù)據(jù)接口、輪循器以及發(fā)送接收等關(guān)鍵技術(shù)的實(shí)現(xiàn)過(guò)程。本文實(shí)現(xiàn)的數(shù)據(jù)交換平臺(tái)具有低成本、零配置、松耦合、高穩(wěn)定等特性,并在某個(gè)大型分布式信息系統(tǒng)中得到了很好的實(shí)際應(yīng)用。

[1]SUN Yongsong,YE Feiyue.Application of dynamic data replication in distributed information system [J]. Modern Computer,2008,25 (6):147-149 (in Chinese). [孫永松,葉飛躍.動(dòng)態(tài)數(shù)據(jù)復(fù)制在分布式信息系統(tǒng)中的應(yīng)用 [J].現(xiàn)代計(jì)算機(jī) (專業(yè)版),2008,25 (6):147-149.]

[2]Thomas ERL.Service-oriented architechture:concepts,technology,and design [M].China Machine Press,2007:55-60(in Chinese). [Thomas ERL.SOA概念/技術(shù)與設(shè)計(jì) [M].北京:機(jī)械工業(yè)出版社,2007:55-60.]

[3]JAVA website [EB/OL].http://www.oracle.com/technetwork/java/jms/index.html,2008.

[4]ZHU Fang’e,CAO Baoxiang.Research and application of message queue middleware based on JMS [J].Computer Technology and Development,2008,18 (5):172-175 (in Chinese).[朱方娥,曹寶香.基于JMS的消息隊(duì)列中間件的研究與實(shí)現(xiàn) [J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18 (5):172-175.]

[5]WU Xu.Research and development of information exchange platform based on MQ [D].Chengdu:Southwest Jiaotong Un1versity Master Degree Thesis,2006:10-16 (in Chinese).[吳旭.基于MQ的信息交換平臺(tái)開(kāi)發(fā)與研究 [D].成都:西南交通大學(xué),2006:10-16.]

[6]JIA Yi-wei,ZHOU Min.Information sharing platform in electronic government affairs [J].Computer & Digital Engineering,2009,37 (9):155-158 (in Chinese).[賈一葦,周民.實(shí)現(xiàn)松耦合電子政務(wù)信息共享平臺(tái)實(shí)例研究 [J].計(jì)算機(jī)與數(shù)字工程,2009,37 (9):155-158.]

[7]WU Jun-yong.Information sharing and data communication in electricity power market supporting system based on JMS [J].Computer Engineering and Applications,2007,43 (13):204-206 (in Chinese).[吳俊勇.基于JMS的電力市場(chǎng)支持系統(tǒng)數(shù)據(jù)通信的實(shí)現(xiàn) [J].計(jì)算機(jī)工程與應(yīng)用,2007,43 (13):204-206.]

[8]Apache軟件基金組織 ActiveMQ主頁(yè) [EB/OL].http://activemq.apache.org/,2008.

[9]IBM技 術(shù) 網(wǎng) 站 website [EB/OL].http://www-142.ibm.com/software/products/cn/zh/wmq,2008.

[10]Page,W.G.Oracel 8/8ideveloper’s handbook [M].WANG Lei,transl.Beijing:China Machine Press,2000:699-700(in Chinese).[Page,W.G.Oracel 8/8i開(kāi)發(fā)使用手冊(cè) [M].王磊,譯.北京:機(jī)械工業(yè)出版社,2000:699-700.]

[11]LIU Xian-mei,LIU Qian,XU Feng.Research of enterprise application integration model based on SOA [J].Computer Engineering and Design,2009,30 (16):3790-3793 (in Chinese).[劉賢梅,劉茜,徐鋒.基于SOA的企業(yè)應(yīng)用集成模型的 研 究 [J]. 計(jì) 算 機(jī) 工 程 與 設(shè) 計(jì),2009,30 (16):3790-3793.]

[12]XML論壇 website [EB/OL].http://www.xml.org.cn/index.html,2008.

[13]CHEN Lin,HUANG Ye.XML-message queue markup language[J].Computer Engineering,2007,33 (19):85-87(in Chinese).[陳林,黃曄.基于XML的消息隊(duì)列標(biāo)記語(yǔ)言[J].計(jì)算機(jī)工程,2007,33 (19):85-87.]

[14]LIU Chun-h(huán)ua,WANG Zhong-min.Design and implementation of remote evaluation system based on MVC design pattern[J].Computer Engineering and Design,2008,29 (13):3468-3470(in Chinese).[劉春花,王忠民.基于 MVC模式的遠(yuǎn)程評(píng)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29 (13):3468-3470.]

[15]CAI Wen-qing,LI Fan-chang.Design of data exchange model based on JMS and XML [J].Computer Engineering and Design,2007,28 (14):3529-2531 (in Chinese). [蔡文青,李凡長(zhǎng).基于JMS和XML的數(shù)據(jù)交換模型設(shè)計(jì) [J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28 (14):3529-2531.]

猜你喜歡
信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲无线一二三四区男男| 玖玖精品视频在线观看| 久久亚洲国产一区二区| 欧美爱爱网| 伊人91视频| 免费无遮挡AV| 99久久人妻精品免费二区| 久久中文无码精品| 久久国产精品无码hdav| 亚洲AⅤ波多系列中文字幕| 色欲色欲久久综合网| 国产精品综合久久久| 天堂va亚洲va欧美va国产| 欧美亚洲第一页| 色综合天天视频在线观看| 亚洲区第一页| h视频在线观看网站| 狠狠做深爱婷婷久久一区| 91热爆在线| 欧美精品一二三区| 日本高清免费一本在线观看| 国产丝袜第一页| 拍国产真实乱人偷精品| 久久久久无码国产精品不卡| 国产成人无码Av在线播放无广告| 91精品国产一区自在线拍| 狠狠亚洲五月天| 91区国产福利在线观看午夜| 9丨情侣偷在线精品国产| 国产美女精品一区二区| 5555国产在线观看| 91九色最新地址| 日本高清免费不卡视频| 亚洲色图欧美视频| 亚洲愉拍一区二区精品| 欧美激情伊人| 九九热精品免费视频| 亚洲美女AV免费一区| 久久婷婷六月| 国产香蕉一区二区在线网站| 色综合成人| 老色鬼欧美精品| 午夜少妇精品视频小电影| 全裸无码专区| 欧美有码在线观看| 久久动漫精品| 亚洲一级毛片在线观播放| 国产精品一区在线观看你懂的| 国产精品一区二区不卡的视频| 在线视频97| 五月婷婷欧美| 亚洲中久无码永久在线观看软件 | 国产在线精彩视频二区| 国产成人免费高清AⅤ| 国产丰满大乳无码免费播放 | 欧美日韩成人在线观看 | 国产成人综合久久精品尤物| 在线五月婷婷| 无码 在线 在线| 国精品91人妻无码一区二区三区| 亚洲国产欧洲精品路线久久| 国产精品网址在线观看你懂的| 国产情精品嫩草影院88av| 无码网站免费观看| 国产精品成人观看视频国产 | 久久久成年黄色视频| 欧美成人aⅴ| 国产成人免费| 国产精品白浆在线播放| 国产99欧美精品久久精品久久| 国产精品视频第一专区| 99re热精品视频国产免费| 国产精品成人第一区| 人妻免费无码不卡视频| 91免费国产高清观看| 亚洲精品成人7777在线观看| 亚洲欧美不卡视频| 国产69精品久久久久孕妇大杂乱| 国产在线观看一区精品| 亚洲天堂网在线观看视频| 日韩123欧美字幕| 老色鬼久久亚洲AV综合|