基于对等网络的医学影像服务系统通讯平台设计与应用
图2(a)显示了最外层NAT处在不同节点的网络关系,因它类似于上面的第3种情况,因此它们不能进行直接访问。图2(b)显示了最外层NAT处于相同节点上的网络关系,因它类似于上面的第4种情况,所以通过各自的私网端口和IP两节点不能相互访问。 由图3医学影像服务系统应用架构可知,对等网络通讯平台是集图像检索服务、DICOM传输服务与影像会诊服务等医学影像服务为基础的平台,它是以应用程序接口的方式为其他影像服务程序提供通讯管理与节点管理的功能,并负责连接管理网络与物理网络中的节点计算机,以便实现其他医学影像对等网络的应用。
3.2 建立点对点通讯的连接
通过分析网络节点的区域关系可知,当两节点都在同一个NAT的后面或都拥有公网IP时,它们之间才能进行直接的对等通讯,否则两节点就不能进行直接的对等通讯。
因目前大部分的NAT设备支持UDP穿洞技术,在建立两节点的直接通讯时,让连接的双方都从内部发出请求,并通过一个拥有公网IP地址的服务器来连接介绍,以便避开NAT的隔离保护。所以把UDP作为其基本的通讯协议,在建立节点索引列表时要求中心服务器或超级节点,按照UDP穿洞技术的要求,不但要记录公网的端口和IP地址,还要记录节点的私网端口和IP地址。
假如分别用变量Peer1与Peer2来表示节点的网络信息,用结构体来定义节点的网络信息,就可使用用下面C++伪代码来实现点对点的直接通讯。
以下两种情况是在两节点的私网IP与端口尝试进行时适用的:
1)若节点在本机和服务器上的端口与IP地址相同,说明其采用的是公网的地址空间。两节点如果都采用公网的地址空间那么这两个节点就可通过私网或公网的端口和IP地址进行直接通讯。
2)若两节点的外部IP是相同的,则表明两节点最外层的NAT是相同的。若两节点在不是多级NAT而是处在同一个局域网内的情况下,就可通过节点的私网端口和IP地址直接进行通讯。
由此可见,这两种情况都可通过统一使用本地的通讯函数尝试直接建立连接,至少可通过各自的私网端口和IP地址进行通讯,并用C++伪代码来实现。
在实现点对点通讯的过程中,若尝试采用两节点的私网端口与IP连接通讯的方式失败时,则要尝试运用UDP穿透技术。由于NAT具有保护与隔离的作用,所以在一般情况下只有内部主机才能访问外部主机,而外部主机则只能沿着内部主机发起的连接线路来访问发起连接的主机,即通过逆向连接的方式来访问内部特定的节点,因此需要两节点一起从内部发起连接,并通过服务器进行中介,才能实现直接通讯。
若以上两种情况皆不成功的话,那么就可以判断出两个节点之间存在不具有UDP穿透技术的NAT和设备以及别的因素,造成两节点之间不能直接通讯。本文作者使用服务器数据转发的方法,来保证对等任务的成功运行。在运用混合式对等网络结构的情况下,只需对等网络能够被节点顺利连接就说明节点和服务器之间的通讯是正常的。
如果两节点之间想建立通讯时,例如Peer1想联系Peer2时,Peer1只需要把数据发送给中心服务器,然后由中心服务器转发给Peer2就可以了,然而在通讯过程中服务器都需要参与,会进一步加大服务器的负担,所以应尽量减少使用。其实这种服务器数据转发的方式在现实生活中已很少采用,因目前UDP穿透技术很多的NAT设备都支持。
4 对等网络平台应用
4.1 应用构架
医学影像服务系统应用架构。
4. 2 应用实例
笔者以医学影像对等网络通讯平台为基础,建立了医学影像远程会诊系统(简称会诊系统)。在医学影像远程会诊系统中,当会诊的用户连接到网络时,中心服务器将自动下载在线用户列表,使得用户可以清晰的看到在线用户的状态,若需要在线会诊时,依据点对点通讯连接的建立方式,有其中的一个会诊用户发出请求,经由服务器辅助建立起两个节点间的直接会诊通讯。
在会诊系统中通过医学影像对等网络通讯平台,实现了视频对话、双向语音、电子教鞭、DICOM影像同步显示与操作等会诊功能,从而使得会诊参与的双方虽然处在不同的位置也能感受到现场影像讨论的效果。
5 结束语
文中通过建立医学影像对等网络通讯平台,针对点对点直接通讯与节点管理两个方面提出了具体的解决方案,通过会诊系统的成功使用可知,在实现其他对等任务方面医学影像对等网络通讯平台提供了很大的方便,它也可当作其他对等应用的基础平台。
平台 设计 应用 通讯 服务系统 对等 网络 医学影像 基于 相关文章:
- 智能手机差异化从主平台到外围(05-10)
- Telefonica新智能测试平台整合M2M通信测量(02-21)
- 以软件为核心的无线测试平台的设计(03-18)
- 支持终端一致性测试的TD-SCDMA协议测试平台(03-28)
- 基于ARM平台的RFID中间件系统设计(05-16)
- 物联网跨平台设计如何做?十大策略来帮你!(02-03)