织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>杂项技术>PC常识>

两种实现PACS系统群集服务的方案

罗索客 发布于 2006-06-11 11:22 点击:次 
本文介绍了两种方案来实现基于J2EE平台的医学影像存档与通讯系统(PACS)的群集服务。前一种方案是使用第三方软件Dataware,后一种方案是采用在Windows 2000 Advanced Server操作系统上自带的群集组件。
TAG:

下载地址:http://www.rosoo.net/Down/UnSorted/2009-7/28/RS_2006_06_11_16.asp


两种实现PACS系统群集服务的方案

陈飞 喻学锋

(武汉大学物理科学与技术学院,武汉 430072)

[作者简介]

[摘要] 本文介绍了两种方案来实现基于J2EE平台的医学影像存档与通讯系统(PACS)的群集服务。前一种方案是使用第三方软件Dataware,后一种方案是采用在Windows 2000 Advanced Server操作系统上自带的群集组件。

[关键词] 群集;PACSDatawareAdvanced Server

Two Schemes to Realize Cluster of Picture Archiving and Communication System (PACS)

Chen Fei Yu Xue-feng

(Department of Physics, Wuhan University, Wuhan, 430072)

Abstract: In this paper, two schemes to realize cluster of picture archiving and communication System(PACS) that based on J2EE are introduced. The first scheme adopted a third-party software--Dataware, while the second adopted the cluster component in Windows 2000 Advanced Server.

Key words:Cluster; PACS; Dataware; Advanced Server

随着大型网站的迅速发展和电子商务、电子政务的不断普及,人们对网络服务器的高可用性和可伸缩的要求越来越迫切。群集技术的出现则很好地解决了这一问题。群集是由一组独立的计算机组成,这些计算机一起工作来运行一组共同的应用程序,这些相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。群集内的计算机在物理上通过电缆连接,程序上则通过群集软件连接。这些连接允许计算机使用故障恢复和负载均衡功能,而这些功能在单机上是不可能实现的[1]。正是由于群集技术的出现,大型网站的服务器才可能承受巨大的访问量,电子商务网站才可能提供每周七天每天24小时的可靠服务。

本文所需提供群集服务的应用系统是用于医学网络的医学影像存档与通讯系统(PACS,Picture Achieving & Communication System)。它采用JAVA作为编程语言、以J2EE(Java 2 Enterprise Edition)为开发平台,包括Jboss和Dicom两个应用程序服务器,以B/S方式访问,数据库则采用SQL Server 2000

由于医院每天要产生和交换大量的医学影像,而且医学影像是具有高分辨率的大数据量文件,这些特点对网络服务器的存储量、存储速度和高可用性提出了要求,所以应用群集技术显得十分必要。实现群集的目标就是实现两个应用程序服务器以及PACS数据库的群集,当主服务器出现故障时,热备份服务器接管并启动整套服务。而当主服务器故障排除以后,热备份服务器重新交出管理权限,主服务器重新开始管理。群集服务器的硬件连接示意图如图所示:

我们采用了两种方案来实现PACS系统的群集服务:第一是采用第三方软件。这里我们采用的是豪威公司的Dataware;第二种方案是在Windows 2000 Advanced Server操作系统上使用其自带的群集组件。具体如下:

一 第三方软件Dateware的群集解决方案

设备:

1. 磁盘阵列一台,型号:POWER 5960(可接两台服务器、8个SCSI硬盘)

2. SCSI硬盘3块(阵列专用接口、9G)

3. SCSI卡两块,型号:Apatec2940U2W

4. TP-LINK网卡两块

5. 联想开天4600微型计算机两台(用作服务器)

5.SCSI低密接口线两根(68针)

6.交叉网线一根(作心跳线用于群集内部网络通信)

软件:

1. Dataware双机容错软件

2. Windows 2000 Professional操作系统

这里每台服务器上安装了两块网卡,一块用于内部网络通信和心跳侦测,另外一块用于外部网络通信,且插槽的位置要一致。注意内部网络的网线是采用的交叉接法,和普通网线的接法有所不同。

软件方面,我们把数据库、PACS系统均安装在磁盘阵列上,这样即使一台服务器损坏,数据仍然不会受到影响,另外一台服务器可以接管过应用服务。

首先连接好硬件,安装Dataware。然后设置好两台机器的IP地址。这里公共网络选择的IP地址是192.168.0.5192.168.0.6,子网掩码均为255.255.255.0;内部网络的IP地址选择的是10.0.0.110.0.0.2,子网掩码均为255.0.0.0。对于内部网络,协议只选用TCP/IP,其他协议都勾销掉。

接下来是设置Dataware,由于我们的PACS是基于J2EE平台的应用服务,其中包含JbossDicom两个应用程序服务,所以我们的群集要以服务(Service)的形式添加。首先,在Tools-Lisence工具栏中输入群集中另外一台服务器的名称,建立起群集连接。然后在Private net-TCP/IP Socket中设置通信协议。然后把Resource-Create-Volume/IP Adress/Computer Alias Name/NT Service各项设置好,其中我们把虚拟IP地址设置为192.168.0.11,这样我们在群集外部可以通过这个虚拟的IP来访问服务器群集,就像访问一台服务器一样。在NT Service中把数据库,Jboss服务和Dicom服务按次序添加上去。他们之间是存在依存关系的,后者要前者启动才能工作。

至此,我们已经完成了软件和硬件的配置。接着在Dataware上启动群集服务,这个过程需要40s左右,启动以后系统运行正常。这时群集是以双机热备份的方式运行的,即A机器作为主服务器,相应外部请求提供服务,B机器通过心跳线侦测A机,一旦A机器发生运行故障,则B机器接管过服务。

然后我们测试群集的可用性,首先让A机器发生故障,这里我们采用关机。约60s以后,B机器通过心跳线检测到A机器出现了故障,然后自动启动了各项服务。这个过程叫做故障转移(takeover)。接着我们再使A机器开机,然后B机器侦测到A机器正常运行以后停止服务,A机器自动接管并启动服务。这个过程叫故障恢复(failover)。

整个过程中,我们均可以在外部网络通过192.168.0.11来访问PACS的服务。至此我们已经运用Dataware实现了PACS的群集。

二 Windows 2000 Advanced Server的群集服务解决方案

Windows的注册表机制使其对于独立软件商提供的产品缺乏足够的支持。另外,尽管J2EE号称是开放体系且与平台无关,但在实际使用时,也还是有这样那样的兼容性问题,所以基于J2EE的PACS在Windows中的配置一直是个问题。在Win2000操作系统高级服务器版本中, 微软引进了两种既能独立使用又能联合使用的群集技术,为用户提供了一套能够应指定应用程序或服务需要而进行选用的群集解决方案。Windows群集技术包括群集服务(CLUSTER)和网络负载平衡(NLB):前者是针对数据库、消息系统和文件/打印服务等应用程序支持双节点故障应急支持而开发的;后者可支持多达32个节点,增强了服务器的可伸缩性,但是目前动态负载均衡还不支持数据库[1]。所以我们还是采用群集服务。

设备与方案一相同,软件则采用Windows 2000 Advanced ServerIP地址的设置也和方案一一样。

群集的软件设置步骤如下:

1. 首先我们在A机器上创建一个域(domain),取名为pacs.com,然后在B机器上加入这个域。

2. 两台机器加入域以后,我们在“管理工具”-“活动目录服务”中添加一个专门用于群集管理的帐户,名称为ClusterAdmin,并把它加入到名为域管理员(Domain Admins)的组中。

3. 先在A机器上安装群集服务组件,这个群集取名为PACSCLUSTER,使A作为其第一个节点。我们为群集设置的IP地址为192.168.0.11。这里要求共享介质的磁盘为NTFS格式,即磁盘阵列的硬盘应为NTFS格式的。然后在B机器上安装群集服务,加入已经存在的这个群集,使其成为第二个节点。这样我们就可以在“控制面板-管理工具-群集管理器”中看到两个节点(NodesAB并对群集进行管理了,我们可以看到在Cluster资源组中,有IP地址、群集名称、共享磁盘三项资源。这些资源的所有者都是A机器,因为A机器是主服务器,目前管理着网络,而B机器是作为备用服务器的角色。等到A机器出现故障,发生故障转移的时候,群集管理器中将显示资源的所有者是B机器。

4 安装数据库SQL Server 2000。其中在选择安装位置的时候应选择“Virtual Server”,并分配给虚拟的服务器一个单独的IP地址192.168.0.12。安装完以后,可以在“群集管理器”的群集资源组中看到SQL的相关资源[2]。

5. 接着我们把PACS中的JbossDicom两个服务(均有可执行文件,并作为命令行方式运行)作为通用应用程序添加到CLUSTER资源组中去。这样我们就可以运行起JbossDicom两个服务,并且是作为命令行方式运行的。

试着切换服务,我们可以看到服务在AB两机之间切换(故障转移和故障恢复)十分迅速和稳定。这样,我们在Windows 2000 Advanced Server中实现了PACS的群集。

三 结论

比较两种群集解决方案,我们认为: 第三方软件Dataware群集解决方案的安装和配置都十分简单方便,对硬件和软件的要求不高,而且软件本身价格相对较低,但是切换速度慢,软、硬件兼容性不强,适用于用户不多,负载不重的小型应用系统的群集。Windows 2000 Advanced Server群集解决方案软件价格较高,配置较为繁琐。但是功能强大,可高度配置,切换速度快,效率高,系统可靠性强。所以对于PACS这样的大型网络更加适用。

参考文献:

[1] 浪潮集团. WIN2K 集群服务解决方案[Z].

http://www.langchao.com.cn/foreground/solution/solution_method/solution_method_platform/01.html

[2]微软公司. MCSE致胜宝典-Windows 2000 Advanced Server群集服务[M].北京: 清华大学出版社,2002.196-211

(陈飞 喻学锋)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/200606/6080.html]
本文出处:武汉大学 作者:陈飞 喻学锋
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关文章
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容