新消息丨基于JXTA平台的P2P网络传输方案

铁路公安机关的JXTA-P2P信息传输系统由四个子系统组成,即时通讯系统、文件加密传输系统、文件共享系统和协同工作系统(见图4)。


(资料图片仅供参考)

  

  图4信息传输系统界面

  4.1 通讯系统实现

  通讯功能是对在P2P网络中不同的办公点进行信息的及时通信,这里有两个部分:分为发送(sender)和接收(receiver)。本系统采用两种即时通信方式:一种是组内群发,一种是两个用户之间的单独通信。两种即时通信分别通过GroupConnectionHandler类和PeerConnectionHandler类实现。在JXTAP2P平台中,两个对等体之间是通过管道互相通信的。本系统使用单播安全型管道实现用户间的安全通信,并在建立管道时采取多次握手方式。通过CertUti,lChatProeess,Requestor三个类来实现用户的即时通信。用户双方确认对方的证书后,管道才能成功建立。CertUtil负责请求、验证证书。

  ChatProcess处理整个通信连接、通信的全过程。

  Requestor负责发送请求。发送方和接收方按照图5的方式进行。首先通过网络广告的形式来提供达到双方的服务确定,并形成P2P服务通道,在这个通道上使用socket进行传输,传递的信息是用xml形式封装的字节数组,数据被保存在xml文件中。

  sender对数据进行加密并发送,receiver接收数据,并将数据解密还原。

  

  图5JXTA-P2P即时通信实现流程

  4.2 文件传输功能实现

  文件传输功能与共享功能不同,文件发送者只希望把文件发给特定的Peer,而不希望其他Peer得到或窃取这个文件。首先进行文件传输属性的确认,然后在接收文件后进行加密文件的传输,接收端在收到文件后则需要进行解密,文件收发采用AES方法加解密。

  4.3 文件共享功能实现

  文件共享功能把两个Peer分别看作服务端和客户端,服务端在启动时,将共享目录下所有文件的文件名、MD5和文件保存位置输入管道,以广告形式发布到JXTA网络中,同时以线程的形式启动服务端,监听客户端的请求。当客户端进行共享功能请求的时候则JXTA进行下载传输。

  本系统采用CMS作为文件共享系统的平台,通过CMS中提供的API实现文件共享的功能。共享文件查找的具体过程如下:

  (1)派生ListContentRequest类,传入查询条件。

  (2)调用activateRequest方法启动查找方法。

  (3)调用notifyMoreResults事件处理查找到文件,通过ListContentRequest获取通告,包括用户共享资源信息和用户管道等信息。

  JXTA的CMS文件共享平台,是以管道协议传输的,获取资源通告,就为文件的上传和下载提供了基本条件。查到共享资源后,调用notifyMoreResults事件处理方法,自动将查找到的资源通告缓存在本地,供用户使用。

  4.4 协同工作系统

  协同工作是通过P2P网络中的组播功能进行实现,它对处于同一组播组的计算机进行服务,这样就解决了传统办公的点与点之间效率低的问题。

  5 结语

  本文所设计的针对铁路公安网的基于JXTA的P2P网络信息传输系统,实现了即时通信系统、文件传输、文件共享等功能。这些功能是分布式办公系统中最重要的功能。

推荐DIY文章
热点评!三星Note9智能扫描怎么用?三星Galaxy Note9智能扫描使用教程
全球资讯:下载小说到手机里操作教程
全球热讯:一加手机如何省电?一加手机耗电过快解决方法介绍
当前要闻:iphone4s闹钟在哪里以及怎么设置闹钟
当前关注:华硕飞马手机详细评测 智能桌面系统/300万像素拍照
世界短讯!iphone描述文件无法删除怎么解决?
精彩新闻

超前放送