一種鐵路公安信息傳輸系統方案
4.1 通訊系統實(shí)現
通訊功能是對在P2P網(wǎng)絡(luò )中不同的辦公點(diǎn)進(jìn)行信息的及時(shí)通信,這里有兩個(gè)部分:分為發(fā)送(sender)和接收(receiver)。本系統采用兩種即時(shí)通信方式:一種是組內群發(fā),一種是兩個(gè)用戶(hù)之間的單獨通信。兩種即時(shí)通信分別通過(guò)GroupConnectionHandler類(lèi)和PeerConnectionHandler類(lèi)實(shí)現。在JXTAP2P平臺中,兩個(gè)對等體之間是通過(guò)管道互相通信的。本系統使用單播安全型管道實(shí)現用戶(hù)間的安全通信,并在建立管道時(shí)采取多次握手方式。通過(guò)CertUti,lChatProeess,Requestor三個(gè)類(lèi)來(lái)實(shí)現用戶(hù)的即時(shí)通信。用戶(hù)雙方確認對方的證書(shū)后,管道才能成功建立。CertUtil負責請求、驗證證書(shū)。
ChatProcess處理整個(gè)通信連接、通信的全過(guò)程。
Requestor負責發(fā)送請求。發(fā)送方和接收方按照圖5的方式進(jìn)行。首先通過(guò)網(wǎng)絡(luò )廣告的形式來(lái)提供達到雙方的服務(wù)確定,并形成P2P服務(wù)通道,在這個(gè)通道上使用socket進(jìn)行傳輸,傳遞的信息是用xml形式封裝的字節數組,數據被保存在xml文件中。
sender對數據進(jìn)行加密并發(fā)送,receiver接收數據,并將數據解密還原。
圖5JXTA-P2P即時(shí)通信實(shí)現流程
4.2 文件傳輸功能實(shí)現
文件傳輸功能與共享功能不同,文件發(fā)送者只希望把文件發(fā)給特定的Peer,而不希望其他Peer得到或竊取這個(gè)文件。首先進(jìn)行文件傳輸屬性的確認,然后在接收文件后進(jìn)行加密文件的傳輸,接收端在收到文件后則需要進(jìn)行解密,文件收發(fā)采用AES方法加解密。
4.3 文件共享功能實(shí)現
文件共享功能把兩個(gè)Peer分別看作服務(wù)端和客戶(hù)端,服務(wù)端在啟動(dòng)時(shí),將共享目錄下所有文件的文件名、MD5和文件保存位置輸入管道,以廣告形式發(fā)布到JXTA網(wǎng)絡(luò )中,同時(shí)以線(xiàn)程的形式啟動(dòng)服務(wù)端,監聽(tīng)客戶(hù)端的請求。當客戶(hù)端進(jìn)行共享功能請求的時(shí)候則JXTA進(jìn)行下載傳輸。
本系統采用CMS作為文件共享系統的平臺,通過(guò)CMS中提供的API實(shí)現文件共享的功能。共享文件查找的具體過(guò)程如下:
?。?)派生ListContentRequest類(lèi),傳入查詢(xún)條件。
?。?)調用activateRequest方法啟動(dòng)查找方法。
?。?)調用notifyMoreResults事件處理查找到文件,通過(guò)ListContentRequest獲取通告,包括用戶(hù)共享資源信息和用戶(hù)管道等信息。
JXTA的CMS文件共享平臺,是以管道協(xié)議傳輸的,獲取資源通告,就為文件的上傳和下載提供了基本條件。查到共享資源后,調用notifyMoreResults事件處理方法,自動(dòng)將查找到的資源通告緩存在本地,供用戶(hù)使用。
4.4 協(xié)同工作系統
協(xié)同工作是通過(guò)P2P網(wǎng)絡(luò )中的組播功能進(jìn)行實(shí)現,它對處于同一組播組的計算機進(jìn)行服務(wù),這樣就解決了傳統辦公的點(diǎn)與點(diǎn)之間效率低的問(wèn)題。
5 結語(yǔ)
本文所設計的針對鐵路公安網(wǎng)的基于JXTA的P2P網(wǎng)絡(luò )信息傳輸系統,實(shí)現了即時(shí)通信系統、文件傳輸、文件共享等功能。這些功能是分布式辦公系統中最重要的功能。本文的設計方法對專(zhuān)網(wǎng)系統的P2P應用開(kāi)發(fā)具有重要的參考意義。
p2p機相關(guān)文章:p2p原理
評論