資源描述:
《基于smq消息中間件的軍事數(shù)據(jù)交換設(shè)計與實現(xiàn)(1)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、從本學(xué)科出發(fā),應(yīng)著重選對國民經(jīng)濟具有一定實用價值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果基于SMQ消息中間件的軍事數(shù)據(jù)交換設(shè)計與實現(xiàn)(1)摘要本文重點介紹了基于消息中間件的一般特性,我們自行開發(fā)的SMQ消息中間件在分布式異構(gòu)數(shù)據(jù)交換中的應(yīng)用,以及在開發(fā)過程中,系統(tǒng)設(shè)計的關(guān)鍵技術(shù)實現(xiàn)。為今后軍事數(shù)據(jù)的網(wǎng)絡(luò)共享實現(xiàn),提供了相關(guān)的技術(shù)支持。關(guān)鍵字SMQ;消息中間件;數(shù)據(jù)交換1問題的引入SMQ消息中間件服務(wù)是數(shù)據(jù)庫之間實現(xiàn)數(shù)據(jù)交換的核心部分,它主要通過接口與應(yīng)用程序連接,
2、它負(fù)責(zé)監(jiān)聽?wèi)?yīng)用系統(tǒng)發(fā)出的對目的數(shù)據(jù)庫管理的連接請求,分析應(yīng)用系統(tǒng)的需求,根據(jù)應(yīng)用系統(tǒng)對接口的調(diào)用訪問目的數(shù)據(jù)庫系統(tǒng),并負(fù)責(zé)發(fā)送,和緩存文件消息,SMQ采用的是異步通信傳輸,支持多種接口調(diào)用。本文提到的SMQ消息中間件是在普通消息中間件基礎(chǔ)上我們自行開發(fā)的中間件,本文主要結(jié)合項目,討論了如何在軍事數(shù)據(jù)交換中使用到的SMQ的關(guān)鍵技術(shù)實現(xiàn)。SMQ在整個系統(tǒng)中的結(jié)構(gòu)如圖:圖1SMQ消息中間件在系統(tǒng)中的應(yīng)用2系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù)采用異步傳輸機制課題份量和難易程度要恰當(dāng),博士生能在二年內(nèi)作出結(jié)果,碩士生能在一年內(nèi)作出結(jié)果,
3、特別是對實驗條件等要有恰當(dāng)?shù)墓烙?。從本學(xué)科出發(fā),應(yīng)著重選對國民經(jīng)濟具有一定實用價值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果我們自己開發(fā)的SMQ消息中間件,主要是通過Tcp/ip協(xié)議實現(xiàn)數(shù)據(jù)傳輸,通過ip地址尋找目的服務(wù)器地址,只要有足夠的時間使Tcp/ip保持聯(lián)通狀態(tài),所傳輸?shù)腦ML文件就發(fā)送給消息隊列管理服務(wù)器,消息隊列服務(wù)器將文件消息存放在若干隊列中,在合適的時候再將消息轉(zhuǎn)發(fā)給接收者。這種模式下,發(fā)送和接收是異步的,發(fā)送者無需等待;二者的生命周期未必相同:發(fā)送
4、消息的時候接收者不一定運行,接收消息的時候發(fā)送者也不一定運行;一對多通信:對于一個消息可以有多個接收者。這兩個應(yīng)用可以在同一臺機器上,也可以在由局域網(wǎng)或廣域網(wǎng)所連接的不同機器上。如下圖,是本文作者舉的一個關(guān)于在項目開發(fā)中用到的P-T-P圖例:圖2SMQ消息中間件的P-T-P實現(xiàn)框架2.SMQ采用多線程方式線程是操作系統(tǒng)分配處理器時間的基本單元,線程都維護(hù)異常處理程序、調(diào)度優(yōu)先級和一組系統(tǒng)用于在調(diào)度該線程前保存線程上下文的結(jié)構(gòu)。應(yīng)用系統(tǒng)與消息隊列管理服務(wù)器,消息隊列管理服務(wù)器與接收應(yīng)用系統(tǒng)之間進(jìn)行通信,必須盡可
5、能快地對應(yīng)用系統(tǒng)的需求作出反應(yīng),完成相關(guān)請求,并將請求快速返回,多線程是一種最為強大的技術(shù)。實際上,真正需要傳輸?shù)臄?shù)據(jù)大都屬于多節(jié)點上的分布式異構(gòu)數(shù)據(jù)。因此在SMQ上采用多個線程處理機制,其中每個線程對應(yīng)處理一個用戶的請求,其中重要包括以下:1)服務(wù)器同時監(jiān)聽多個客戶端對目的服務(wù)器的數(shù)據(jù)通信請求;2)服務(wù)器與客戶端的網(wǎng)絡(luò)通信;3)服務(wù)器對消息隊列的管理。這些線程的啟動和停止,SMQ通過smq_文件進(jìn)行配置:#課題份量和難易程度要恰當(dāng),博士生能在二年內(nèi)作出結(jié)果,碩士生能在一年內(nèi)作出結(jié)果,特別是對實驗條件等要有恰
6、當(dāng)?shù)墓烙?。從本學(xué)科出發(fā),應(yīng)著重選對國民經(jīng)濟具有一定實用價值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果“#”為注釋行。其中udp-detector是網(wǎng)絡(luò)通斷線程信息,tcp-listener是TCP消息接收和發(fā)送線程信息,smq-user是用戶調(diào)用接口線程。一般如果接收端口沒有沖突的情況下,不用修改smq_中的任何內(nèi)容則可??焖俚能浖_發(fā)模式SMQ以DLL的方式向用戶提供多個調(diào)用API接口函數(shù)和兩個結(jié)構(gòu)類型,用戶可以調(diào)用這些接口和結(jié)構(gòu)實現(xiàn)SMQ提供的創(chuàng)建和刪除消息接收
7、隊列、發(fā)送消息、接收消息等功能,同時SMQ也支持通過java接口方式進(jìn)行調(diào)用,為此,SMQ主要提供以下文件:smq_,smq_和smq_user_,smq_,實現(xiàn)SMQ的接口函數(shù)管理:表1課題份量和難易程度要恰當(dāng),博士生能在二年內(nèi)作出結(jié)果,碩士生能在一年內(nèi)作出結(jié)果,特別是對實驗條件等要有恰當(dāng)?shù)墓烙?。從本學(xué)科出發(fā),應(yīng)著重選對國民經(jīng)濟具有一定實用價值和理論意義的課題。課題具有先進(jìn)性,便于研究生提出新見解,特別是博士生必須有創(chuàng)新性的成果部分功能接口表動態(tài)連接庫接口名稱功能格式使用接收隊列創(chuàng)建創(chuàng)建消息接收隊列SMQ_
8、CreatQueue在本地建立消息接收隊列接收隊列刪除刪除消息接收隊列SMQ_DeleteQueue刪除指定名稱的接收隊列和其中的所有消息消息發(fā)送處理來自用戶進(jìn)程的調(diào)用,將消息發(fā)送到指定隊列SMQ_SendMessage將消息發(fā)送到指定隊列消息接收從相應(yīng)的接收隊列中接受消息并將該消息從接收隊列中刪除SMQ_RecvMessage根據(jù)消息的實際大小,可以判斷消息的存放位置:1)文件形式;2)緩沖區(qū)接收