APP下载

一种基于硬盘保护卡的网络差异拷贝方法*

2010-08-11丰洪才向云柱

舰船电子工程 2010年2期
关键词:拷贝接收端磁盘

丰洪才 向云柱

(武汉工业学院计算机与信息工程系 武汉 430023)

1 引言

计算机机房是学校计算机教学和实验的场所,它承担着为学生上机与实验、机房开放、各种计算机培训和科研实验等任务。然而计算机机房的维护任务是一件非常烦琐的事情,因为人员流动大,教学任务类型多,对计算机中的软件的要求不断变化,机房管理人员经常要重新安装系统、查杀病毒等,维护时不得不花费大量时间和精力[1]。虽然计算机硬盘保护卡已在教育行业计算机机房、网吧等大型计算机机房得到了广泛应用,但随着计算机的普及程度越来越高,对机房的维护要求也越来越高。特别是网络拷贝,传统的方法是进行完全的磁盘拷贝,这种方案存在的问题是拷贝的数据量大、网络的负载大、拷贝的速度低,需要花大量的时间完成一次拷贝,而且一旦中途出现问题,必须全部重新进行,不够灵活。

针对传统网络拷贝方案存在的问题,笔者与武汉噢易科技有限公司联合开发并完成了噢易Free卡电脑教室自主维护系统,突破了传统的网络拷贝与增量拷贝的种种限制,提出并实现了一种网络差异拷贝的方法,有效降低了网络的负载,不论各接收端有无操作系统、数据是否一致,差异拷贝均可智能将接收端与发射端数据实现完美统一,支持大小硬盘互传,提供全盘、单个操作系统、单个分区或自定义分区组合等多种拷贝模式,并仅仅拷贝各接收端与发射端有差异的数据,拷贝速度高于每分钟400M,最高能够支持512台电脑同时进行差异拷贝,实现了断点续传。该系统已于2008年10月通过湖北省软件测评中心的软件测试,并获得了2008年度湖北省优秀软件产品证书,2009年5月通过湖北省科技厅组织的鉴定。

2 网络拷贝方法

在保护卡进行网络拷贝中,机房的计算机可以分为接收端计算机和发送端计算机两个部分。在大规模计算机房的维护中,传统的基于硬盘保护卡的网络拷贝的方法是使用一台发送端计算机向机房内其他接收端计算机全盘的数据拷贝,通过网络中一台计算机来安装或更新整个网络中计算机的操作系统和应用软件。图1给出了网络拷贝的示意图。根据图中的网络拷贝,可以分为如下两个步骤进行[2],第一步根据机房的实际使用需要安装好“样机”的各种操作系统和应用软件,为网络拷贝做好准备;第二步让保护卡接管计算机并将发送端计算机调整为处于发送状态,接收端计算机调整为接收状态,在发送端收集完接收端计算机的信息或者接收端登录到发送端之后,就可以按照保护卡的操作要求开始网络拷贝,直到所有的接收端计算机完成数据的接收为止,这样就通过“样机”来更新接收端计算机,使得接收端计算机的数据保持到最新状态。这种方法显然能方便机房的维护,但不够灵活,往往需要大量的时间将发送端的全盘数据复制到接收端去,这就要求所有计算机的硬盘大小、品牌等规格必须完全相同,实际中有一定的局限性。

图1 网络拷贝示意图

3 数据传输协议

3.1 IPX协议的结构

IPX数据包由包头和数据两部分组成[3],包头包括控制、目的地址和源地址三个域,每个包长=包头长度+数据长度,故最小包长为30字节。如表1,包头为30字节,数据长度为0~546字节(没有数据的分组主要用于应答)。

表1 IPX数据包结构

IPX数据包各部分意义如下:

1)控制部分

检验和(2bytes):始终为0FFFFH;

包长度(2bytes):由系统自动设置;

传输控制(1byte):当数据传过一个网时,就加一,到16时废弃该包,防止数据在网间无休止地传输;

分组类型(1byte):对于IPX包,始终设为4。

市政府于2010年年底出台《关于加快推进郊区集约化供水的实施意见》,将郊区集约化供水列入市政府实事项目和重大工程重点推进。截至2013年11月底,上海市陆域部分的集约化供水工作已完成,共关闭郊区中小型水厂150座,取消内河取水口94个,注销深井取水许可证161个,达到了集中保护水源、优化水厂布局、压缩地下水开采量、提高供水水质和管理服务水平、改善郊区发展环境等预期效应,受到广大郊区市民的欢迎。

2)目的网络地址:地址是网络层地址,包括网络地址、节点地址和套接口号。

目的网络号(Dest_Network_Number,4bytes):将要接收本IPX数据包的节点所在网络的地址。如果目的网络地址的数值为0,则认为目的网络与源网络是同一个网络。

目的节点地址(Dest_Network_Node,6bytes):通常节点地址由节点工作站上的网络设备分配,从网卡中读出。由于网络的拓扑结构和网络设备互联的协议不同,节点地址的长度也可能不同,应该注意的是,节点地址从最低有效位开始存放,高位不足六个字节的部分填0。如果欲发送的数据包是采用广播发送方式发往目的网络上所有工作站,则目的地址填 0XFFFFFFFFFFFF(六个字节全为FFH)。

目的套接口号(Dest_NETWORK_Socket,2bytes):指接收本IPX数据包所打开的端口。由于在NetWare中保留了一定的套接口值,因此对于用户的应用程序,建议打开的套节口号在0X4000~0XS000之间。

另一个值得注意的是:在NetWare中,数据是高位在前,低位在后的,这和Intel系列CPU存放数据的方式是相反的。

3)源网络地址:用于说明IPX数据包从何处发,与上目的地址类似。

源网络地址(Source_Network_Number,4bytes):用于存放发送IPX数据包的源节点工作站所在的网络号。为0时表示一个未知源网络。

源节点地址(Souse_Network_Node,6bytes):发送IPX数据包的工作站地址,其形成同目的节点地址。

源套接口号(Souse_Network_Socket,2bytes):指发送IPX数据包的进程地址。

3.2 IPX的功能调用及程序实现。

IPX功能调用是通过Netware Shell的特定的软件中断调用来实现。当网络中的计算机调用了IPX协议后,由IPX提供的软件中断即驻留于内存当中,其调用方式与DOS功能调用相类似,通过中断INT 7AH来实现。

在调用功能时,入口参数与返回参数的设置有以下规则:

入口参数:BX=功能号;

DX=欲操作的套接口号;

ES:SI=源数据单元指针;

ES:DI=目标数据单元指针。

返回参数:AL=返回码,为了防止在调用IPX功能前没有装载IPX协议。因此调用前必须检查INT 7AH是否指向NULL,这通常是通过调用OX2F多路中断来测试的。测试时,将0X7A00放人AX寄存器后调用INT 2FH,若IPX已安装,则在AL寄存器中返回0XFF。

4 差异拷贝算法

4.1 算法描述

差异拷贝算法的主要实现思想是先对两个分别处于发送端和接收端的磁盘块进行比较,比较后认为相同的磁盘块就不进行磁盘块数据的拷贝;比较后认为不同的磁盘块则进行数据的网络拷贝,即只传输两个磁盘不同的部分,这样可以在很大程度上减少恢复数据的时间和降低网络的负载[4]。如图2所示,磁盘a为接收端的磁盘,磁盘b为磁盘a在发送端相应的磁盘,在图中对磁盘a,b进行划分得到ei集和集,其中 ei和的大小相同且逻辑地址相同。

图2 镜像磁盘的划分

下面假设磁盘a的数据需要根据磁盘b的数据,通过差异拷贝算法对磁盘a的数据进行网络拷贝,步骤如下:

算法中,每个磁盘区域ei的大小是可变的,可根据计算机服务器和网络的速度适当调整这个值,可使算法达到最佳的效果。

4.2 算法分析

与完全数据拷贝的方法相比,在磁盘a和磁盘b有较多相似性的情况下,差异拷贝算法能大大降低网络负载并在很大程度上提高计算机数据拷贝的速度。采用差异拷贝算法后,网络负载是采用完全数据拷贝方法的(1+size(Q)/size(e)-η),其中,size(Q)是每个 e的摘要值的大小,一般为16Bytes,size(e)是磁盘区域的大小,这个值可以调动,一般取值在1~20MB之间,η是磁盘a与磁盘b的相似率。可以看出,size(Q)/size(e)的值很小,可以忽略不计,而η的值比较重要,当η比较大时,网络的负载有很大程度的降低。

4.3 数据传输和算法实现

在网络传输协议中,具有广播式发送的除了IPX外,还有NETBIOS协议[5]。相比较而言,IPX具有传输速度快、支持面广等优点,因此,本算法最终选择了IPX协议。采用Server/Client模型,即在发送端计算机运行Server程序,而接收端计算机运行Client程序,基本原理如图3、4所示。

5 结语

基于噢易Free卡的电脑教室自主维护系统已经广泛地应用于国内100余所高等学校和许多网吧等大型计算机场所。网络差异拷贝的方法,有效降低了网络的负载,不论各接收端有无操作系统、数据是否一致,差异拷贝均可将接收端与发射端数据实现完美统一。该系统在教育行业、培训机构中的应用必将减轻机房维护和管理人员的工作量,从而提高机房的维护效率。

[1]李全忠,张军本,等.硬盘保护卡设置信息的安全恢复[J].计算机工程,2008,34(6):281~283

[2]谢建全.一种对公用机房硬盘进行有效保护的实现机制[J].计算机工程,2003,29(5):177~179

[3]李娟,明德廷.基于IPX协议的数据传输程序的原理与实现[J].计算机与现代化,2003(6):30~32

[4]王志明,李涛,等.一种快速灾难恢复方法[J].计算机应用研究,2006(10):78~80

[5]兰高志.网卡中硬盘保护功能的增设[J].计算机工程,2004,30(6):133~134

猜你喜欢

拷贝接收端磁盘
叶腊石聚合成型及其旋转磁盘的制作方法
基于扰动观察法的光通信接收端优化策略
基于多接收线圈的无线电能传输系统优化研究
它的好 它的坏 详解动态磁盘
解决Windows磁盘签名冲突
手机无线充电收发设计
唐氏综合征是因为“拷贝”走样了
文化拷贝应该如何“拷”
文化拷贝应该如何“拷”
Windows系统下动态磁盘卷的分析与研究