虚拟镜像网络服务器的设计与实现
2015年7月09日 17:30 作者:高 博 中海油研究总院 中国北京 100高 博 中海油研究总院 中国北京 100000
【文章摘要】
虚拟光盘镜像服务器是专门为光盘资源网络共享服务而设计开发的, 它对光盘数据资源的共享具有重要意义。本文设计开发了一种专用的高性能虚拟光盘镜像服务器,它不仅支持远程共享,还极大地提高了光盘资源的传输效率,实验结果也表明了本文设计系统的有效性。
【关键词】
虚拟光盘镜像;网络服务器;设计
0 引言
数据光盘因为其存储方便、使用简便等诸多优点,已经成为了一种重要的数据载体,尤其对一些动辄就好几GB 的大型工程应用软件,将其制作成光盘镜像后, 无论传播还是安装都会变地非常方便。但随着数据光盘使用范围的不断变广,使其在文件管理、数据维护以及资源共享方面给广大用户带来了诸多不便,因此虚拟光盘镜技术被进行了相关研究并取得了一定的成果,这在一定程度上克服了上述问题。虚拟光盘镜像网络服务器是一种光盘资源在网络上的重要共享设备,因为它本身没有普通服务器那样复杂的操作系统和硬件连接,只需要完成光盘数据在服务器与客户端间的传输,使用户能够像访问本地光驱一样来访问网络光盘资源,消除了光盘资源共享的瓶颈,这使光盘上数据的共享性能得到了极大地改善。
当前硬盘价格逐渐下降,而其容量却不断增长,这促使了虚拟光盘镜像服务器的出现并推动了其进一步发展。世界上第一个硬盘是由IBM 制造的,当时这个硬盘只有5MB 大小的容量,而现在PC 的硬盘容量已经进入了TB 的时代,作为新一代移动存储介质的移动硬盘,其容量也动辄在1TB 以上。假设一张 CD-ROM 可以存储 650MB 大小的数据,那么一块1TB 的硬盘即可镜像 1613 张光盘。
1 现有虚拟光盘镜像服务器资源共享协议的分析
就目前来说,虚拟光盘镜像服务器在实现光盘数据传输时大多使用SMB/CIFS 协议,该协议具有丰富的功能,但同时也具有明显的缺点,例如其工作效率较低, 尤其是用户刚刚连接服务器时,其响应时间尤其漫长,甚至达到几十秒,这显然超出了绝大多数用户的接受范围。又例如SMB/CIFS 协议不支持互联网访问,这使得该协议仅能在局域网范围内实现数据传输,从而限制了光盘资源在更大范围的共享,而在互联网飞速发展的今天,广大用户都通过Internet 进行数据资源的交流与共享,不支持Internet 的SMB/CIFS 协议必然会被淘汰。
另外,一些采用SMB/CIFS 协议共享的数据只能在本地的物理光驱上使用,而无法通过服务器共享的形式进行使用,这是因为该协议会造成一些重要的光盘物理源数据丢失,如一些特殊的单机版光盘。
2 一种高性能虚拟光盘镜像服务器的总体设计
针对当前光盘资源共享协议的缺陷以及光盘共享服务的特点,本文设计了一种高性能虚拟光盘镜像服务器。在本文设计开发的服务器中,虚拟光驱技术得到了充分使用,实现了光盘的数据块级共享,这确保了光盘的物理源数据不会丢失,从而使一些原先只能通过物理光驱使用的光盘资源可以实现网络共享。同时,在成熟的iSCSI 协议的基础上,通过大量的精简和优化操作,使得用户访问服务器的效率得到了很大程度的提升,彻底改善了SMB/CIFS 协议响应时间过长的缺陷。因为 iSCSI 协议在IP 协议的基础上发展而来的,可以支持互联网,这给用户通过Internet 实现光盘资源的共享打下了基础。为了给用户提供更佳的光盘资源共享服务,针对光盘资源传输的特点,还设计了一种能够同时在客户端和服务器上使用的两级Cache 技术,从而使服务器的共享性能得到了大幅度的提高。最后,为了提高服务器的管理水平和运行效益,本文还实现了针对光盘共享的灵活计费和用户权限管理,这贴合了系统的实际运行需求。
2.1 高性能光盘服务器的结构设计
按照光盘共享服务器的功能划分,可以将其划分为6 个模块( 如图1 所示),它们分别是从属于客户端的光盘流客户端模块和管理客户端模块,从属于服务器的光盘流服务器模块、管理服务器模块、光盘镜像模块以及磁盘管理模块。
光盘流客户端模块可以根据用户的需求,在用户侧创建数量不等的虚拟光152
网络通信
Network Communication
电子制作
驱,当虚拟光驱中的光盘资源被访问时, 应用程序会调用光盘流客户端内置的资源请求服务,资源请求服务在接到应用程序发出的请求后就将该请求转发给服务器端的光盘流模块,并同步接受服务器返回的光盘数据以最终提供给用户,从而完成虚拟光驱的工作。光盘流服务器模块的主要功能是处理来自光盘里客户端的请求,它支持多线程处理,能够同时对多用户的请求进行处理,并分别进行响应。同时,它还可以根据系统的计费设定对用户的访问时间进行记录,对用户的通信数据流量进行限制,对于一些违规用户,还可以屏蔽其IP 地址,从而达到禁止其获得资源分享的目的。在这个模块中,因为采用了Cache 技术,所以光盘分享的整体性能都得到了显著改善。管理客户端模块的主要功能是接收来自管理员的命令,并通过数据网络通信将命令转发给管理服务器,同时还要对来自管理服务器的处理结果反馈进行显示。管理服务器模块的功能是对来自管理客户端的命令进行处理和反馈,因为命令的种类存在多种,而针对不同命令有不同的处理程序,所以该模块需要对命令类型进行判定,并依据判定结果调用相应的程序加以处理,最后将处理结果进行反馈。光盘镜像模块的功能是对光盘驱动器进行管理和监测,一旦发现有新光盘出现,就按照预置的处理策略对新光盘进行镜像处理。磁盘管理模块的主要功能是检测磁盘信息,一旦发现有新的磁盘出现,就按照预先定义的配置策略对磁盘进行操作,如格式化磁盘或对磁盘分区进行添加、删除和合并等。
2.2 光盘流服务器的实现原理
针对光盘资源共享服务这一特定应用,在iSCSI 协议的基础上开发了一个新的光盘数据传输及共享模式。具体实现思路是在客户端虚拟SCSI 光盘驱动器,并将来自客户端的处理命令进行分类,能在客户端处理的就尽量在客户端处理,对于不能在客户端处理的少数几个命令( 如读光盘命令) 则传输到服务器进行处理,以提高网络传输效率。光盘流服务器采用虚拟光驱技术,用户通过虚拟光驱访问服务器上的光盘数据与访问本地物理光驱中的光盘在操作上没有区别,其访问原理如图2 所示。由图可知,客户端用户的请求通过应用程序发给虚拟光驱,而虚拟光驱则利用网络通信协议将请求转发给服务器上的光盘流服务器,光盘流服务器读取被请求光盘的ID 信息,并在存储于磁盘上的虚拟光盘镜像库中进行查找,将找到的光盘数据通过数据通信网络传输到用户的虚拟光驱上,以便用户使用。这个过程对操作系统和用户是完全透明的,用户访问服务器上的光盘与访问本地光盘在形式上是一致的,这极大地方便了用户使用。
图2 虚拟光盘镜像服务器的访问原理
4 实验与结果分析
实验条件:服务器和客户端都使用个人台式PC 搭建,其具体配置为Intel Core 2 Q8400 2.66GHz,4G RAM,硬盘为500GB。整个实验在100Mbps 的以太网上进行,客户端与服务器则通过IP 交换机进行连接。
图3、图4 分别为光盘流服务器和SAMBA 服务器的吞吐率曲线和平均响应时间曲线。
由图3 和图4 可知,随着I/O 请求数据块的增大,虽然本文设计开发的服务器与SAMBA 的数据传输率都会相应升高, 但总体上来说,本文所设计开发的虚拟光盘镜像服务器性能更优,具体表现为数据传输率更高,平均响应时间则较低。本文所设计开发的虚拟光盘镜像服务器能够取得较佳性能的主要原因在于,数据连接一旦建立就只传输光盘数据,这期间不传输控制命令,而且数据是以网络上尽可能大的数据包来传输的,这充分利用了网络的物理带宽。与之相对的是,SAMBA 服务器在进行数据传输时会同步传输大量数据包较小的控制命令,而这在本文所设计的虚拟光盘镜像服务器中是不存在的。因此,可以得出结论,本文所设计开发的虚拟光盘镜像服务器具有较优的性能。
5 结束语
虚拟光盘镜像服务器是专门为光盘资源网络共享服务而设计开发的,它对光盘数据资源的共享具有重要意义。本文设计开发了一种专用的高性能虚拟光盘镜像服务器,它不仅支持远程共享,还极大地提高了光盘资源的传输效率,实验结果也表明了本文设计系统的有效性。
【参考文献】
[1] 陶建平. 大型机房虚拟光盘镜像服务系统的研究与实现[J]. 实验室研究与探索,2011,30(12):60-62
[2] 李国屏. 共享式高校图书馆随书光盘数字资源库的设计与实现[J]. 萍乡高等专科学校学报,2013,30(3):75-78
[3] 张志武, 阚德涛, 王晓冬. 光盘数据库资源网络共享新方案[J]. 科技情报开发与经济,2008,18(20):34-36
[4] 史艳莉, 郑萍. 光盘网络镜像服务资源共享管理系统在电子阅览室中的应用[J]. 中国医疗设备,2007,22(12):29-30
[5] 张志彬. 高校数字图书馆光盘资源管理系统的设计与实现[J]. 图书馆论坛, 2006,26(3):110-112
图1 光盘服务器的模块划分
图 4 平均响应时间曲线
图 3 数据传输率曲线153
科普教育
Scientific Instructive
154
电子制作