基于对等网络的医学影像服务系统通讯平台设计与应用
扫描二维码
随时随地手机看文章
摘要:通过建立医学影像时等网络通讯平台,以便于研究对等网络在各医学影像服务中的应用,描述了其组织结构设计与节点管理,阐述了对等节点间在不同区域建立通讯连接的方法,通过远程在线会诊为实例,把医学影像对等网络通讯平台的使用方法进行了详细的介绍。
关键词:医学影像;对等网络;通讯平台;设计;传输;计算
医学影像服务系统拥有很强的可扩展性,并能满足社会对医学影像应用的不同需求,由于医学影像的数据量大,计算量也很大,因此医学影像要建立高性能服务系统的关键是提高医学影像的计算速度与传输速度。但是投资高性能的计算机设备与网络设备,不但要投入大量的资金,同时也会引起资源浪费。然而对等两络的建立,不但能把网络中闲置的资源进行有效的利用和组织,还能很好的应用共享计算,搜索引擎,分布式存储等。因此文中为了便于研究对等网络在各种医学影像服务中的应用,特建立了一个医学影像对等网络通讯平台。以便运用对等网络技术,解决在医学影像服务系统建设中所遇到的各种问题。
1 对等网络的组织结构设计
医学影像网络建设首先要考虑其安全性、可靠性和稳定性。由于它是一种特殊的网络。它连接着各个医院的影像系统,各医院内部有很多独立的子网络构成,它在网络上的运用都与医学相关。按照网络组织结构的特点和分类可以看出:纯分散式的网络结构虽然能满足安全性和稳定性的要求,但是不能满足其可靠性的要求。因其在节点的发现与管理方面还有很大的难度,集中目录式的网络结构随着使用范围的不同其在稳定性、可靠性和安全性方面也不一样。当把医学影像服务系统的应用范围缩小到一个医院时,随着节点规模的缩小,不但容易发现和管理节点,同时还能满足安全性、可靠性与稳定性的需要,当把应用范围扩大到多个医院时,集中目录式的网络结构会因其节点规模的迅速扩大,中心服务器的负担增加而受到严重的影响。文中通过对网络组织结构的特点和分类的分折引入了超级节点,提出了混合式的网络结构,如图1所示,以便减轻中心服务器负担,从而大大提高网络稳定性。
图1是对医学影像对等网络组织结构的描述,由图可知,对节点的管理除了中心服务器以外,各医院内部也有一个超级节点负责对节点的管理。也可由超级节点组织产生集中目录式的对等网络,而不需要外部中心服务器的参与。因此,除了在医院间建立对等通讯,需要中心服务器的参与外;若只是组建院内的对等通讯时,可直接由超级节点建立连接即可,而不需要中心服务器的参与。由此可知,医学影像对等网络组织结构不但提高了网络的稳定性,通过超级节点的建立既能有效降低服务器的负担,还保持了容易管理和发现节点的优势,满足了医学影像对等网络的需求。
2 网络节点的管理
对等网络节点管理是建设医学影像对等网络通讯平台的一项重要内容。它的好坏将会影响对等网络的可靠性,它包括节点的加入处理、退出处理与相互发现处理。
2.1 节点的加入
节点加入是在网络中某个节点连接到网络的过程,主要包括节点的索引列表更新、接入请求和新节点的加入通知3个方面。
1)节点的接入请求方面,新的节点应和哪一个超级节点相连是首先要确定的,本文采用的做法是:
①节点首次连接上网络的情况下,中心服务器首先连接上节点,且节点通过中心服务器的选择作用而转接到最理想的超级节点上(大多是在相同的医院内),节点成功连接上超级节点以后,节点就可以把超级节点上的网络信息记录下来。
②再次当节点接入网络时,中心服务器将不再参与,而是直接连到最近一次连接的超级节点。
③采用人为的方法以保证其有效性和稳定性,既保证该节点在线,同时还有不变的IP地址,通讯端口等网络信息。
2)节点在索引列表更新和新节点的加入通知方面主要的处理内容有:
①若对等通讯只在院内使用时,只要把超级节点上的节点索引列表进行更新即可,若收到新节点的连接请求时,把新节点的网络信息加入到节点的索引列表中,并把新节点的加入通知发送给网络中的其他节点。
②若医院之间发生对等通讯时,不仅要更新本院的超级节点的节点列表,还要把节点的加入通知发送到中心服务器,并由它发送给参与对等通讯的其他各个医院的超级节点,节点的加入任务由各个超级节点分别进行处理。
2. 2 点退出
节点的退出包含两个方面:即正常退出与异常退出。在节点正常退出时,它是由节点自身送退出通知到超级节点,并由超级节点实施节点退出任务;若异常退出时,在节点还未发出退出通知时就已经失效了,这时各个节点的状态由超级节点负责进行检测。
不管节点是异常退出还是正常退出,节点的退出处理都是由超级节点来执行的,主要有:
1)若只是在院内进行对等通讯的话,仅仅将超级节点里的索引列表做更新就可以了,在检测到有节点退出的情况下,只需要移除节点索引列表中的该节点的网络信息,并把节点的退出通知发送给网络中的其他节点。
2)若医院间发生对等通讯的话,不但需要对本院的超级节点的节点连接做出更新,与此同时还需要保证中心服务器能够接收到节点的退出通知,并由它发送给参与对等通讯的其他各个医院的超级节点,节点的退出任务由各个超级节点分别进行处理。
2.3 节点发现
当节点执行对等传输任务或者执行计算任务的情况下节点对整个网络里另外的可以使用的对等节点做的搜索过程称为节点发现。
因为运用混合式网络结构,网络节点状态的管理与维护是由超级节点与中心服务器来执行的,所以节点的发现就比较容易,它有只执行医院内和只执行医院间对等任务两种情况。
3 网络节点的直接通讯方法
因IPv4地址的空间有限,为解决这一问题,网络中采用了NAT的设备,它是通过共享少数的公网IP地址把私网IP地址的主机连接到公共网络,但这也大大增加了对等网络通讯的难度,容易引起处在不同区域的主机不能直接通讯。实际上目前大多数的NAT设备不但兼容了隔离与保护的防火墙的作用,还有地址转换的作用。
3.1 常见的网络节点之间的区域关系
网络里两个节点相对于NAI设备的通讯关系就是网络节点间的区域关系,一般有下面5种情况:
1)两个节点都有公网的IP地址:它们可通过各自的端口和公网IP直接进行相互访问,两节点之间没有任何NAT设备。
2)两个节点中一个有公网的IP地址,另一个在NAT后面,peer1节点有公网的端口与IP,Peer2节点拥有私网的端口和IP,它在NAT之后,若Peer2访同公网时,则由NAT转换成公网的端口与IP。因为NAT拥有保护隔离的作用,因此peer2可直接访问Peer1,但是Peer1不能直接访问Peer2。
3)两节点在不同NAT的后面,其中NATI在Peer1的前面,Peer2在NAT2的后面,在访问公网时,它们都是经过NAT来转换端口和IP地址的,并受NAT的保护与隔离,所以两者之间不能直接相互访问。
4)两节点在相同的NAT的后面。IP地址与端口则由同一个NAT进行转换,转换后虽然它们的端口不一样,但是它们拥有相同的公网IP。NAT如果支持回环映射的话,那么通过NAT转换后的公网端口与IP两节点可互相访问。实际上,由于两节点处在相同的内网,它们不需要NAT的参与,通过各自的私网端口与IP可直接进行访问。
5)两节点在多级NAT的后面时,服务器只了解与之最近NAT的网络信息,依据其最外层NAT是否一样,可分如图2所列的两种情况。
图2(a)显示了最外层NAT处在不同节点的网络关系,因它类似于上面的第3种情况,因此它们不能进行直接访问。图2(b)显示了最外层NAT处于相同节点上的网络关系,因它类似于上面的第4种情况,所以通过各自的私网端口和IP两节点不能相互访问。
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 应用构架
医学影像服务系统应用架构。
由图3医学影像服务系统应用架构可知,对等网络通讯平台是集图像检索服务、DICOM传输服务与影像会诊服务等医学影像服务为基础的平台,它是以应用程序接口的方式为其他影像服务程序提供通讯管理与节点管理的功能,并负责连接管理网络与物理网络中的节点计算机,以便实现其他医学影像对等网络的应用。
4. 2 应用实例
笔者以医学影像对等网络通讯平台为基础,建立了医学影像远程会诊系统(简称会诊系统)。在医学影像远程会诊系统中,当会诊的用户连接到网络时,中心服务器将自动下载在线用户列表,使得用户可以清晰的看到在线用户的状态,若需要在线会诊时,依据点对点通讯连接的建立方式,有其中的一个会诊用户发出请求,经由服务器辅助建立起两个节点间的直接会诊通讯。
在会诊系统中通过医学影像对等网络通讯平台,实现了视频对话、双向语音、电子教鞭、DICOM影像同步显示与操作等会诊功能,从而使得会诊参与的双方虽然处在不同的位置也能感受到现场影像讨论的效果。
5 结束语
文中通过建立医学影像对等网络通讯平台,针对点对点直接通讯与节点管理两个方面提出了具体的解决方案,通过会诊系统的成功使用可知,在实现其他对等任务方面医学影像对等网络通讯平台提供了很大的方便,它也可当作其他对等应用的基础平台。