网络文件的共享方法和系统

阅读: 评论:0

著录项
  • CN02806662.6
  • 20020318
  • CN1498375A
  • 20040519
  • OTG软件公司
  • R·德佩尔特奥
  • G06F15/16
  • G06F15/16 G06F17/30

  • 美国马利兰州
  • 美国(US)
  • 20010316 US60276829
  • 中国专利代理(香港)有限公司
  • 程天正;张志醒
  • 20020318 PCT/US2002/008159
  • 20020926 WO/2002/075571
  • 20030915
摘要
一种把文件数据从客户端(400)写入服务器(401)中的方法,该方法包括把文件数据从客户端(400)写入服务器(401),其中客户端(400)向服务器(401)发出一个包含了多个待传输文件的名称和所述多个文件中的每一个的属性的文件传输申请(402)。服务器(401)确定数据传输的大小和最优顺序和所述多个文件的最优存储位置,并且向客户端(400)发出一个请求,按照针对数据传输的最小数目和存储位置而被优化的顺序来传输所述多个文件,由此使从客户端(400)向服务器(401)的数据传输率最大化。
权利要求

1.一种把文件数据从第一计算机写入第二计算机的方法,该方法包括:

由第一计算机向第二计算机发出一个文件传输申请,该申请包括与待传输 文件相关联的至少一个属性;

在第二计算机上确定用于待传输文件的至少一个最优存储位置和一最佳数 据传输率;以及

由第二计算机向第一计算机发出一个清求,以便使用所述最佳数据传输率 传输待传输的文件。

2.如权利要求1所述的方法,其特征在于所述的至少一个属性包括文件 长度。

3.如权利要求1所述的方法,其特征在于第一计算机为客户端计算机并 且第二计算机为服务器计算机。

4.如权利要求1所述的方法,其特征在于第二计算机根据文件传输申请确 定数据的大小并且计算最大传输大小,并且由第二计算机向第一计算机发出的 请求包括该最大传输大小,由此将数据传输的数目最小化而不耗尽服务器资 源。

5.如权利要求1所述的方法,其特征在于第二计算机包括用于存储待传 输文件的可拆卸介质部件,并且所述文件传输申请包括多个待传输文件,并且 第二计算机确定存取该介质部件的最优顺序并且传输所述文件的请求包括所述 优化顺序。

6.一种把文件数据从位于第一计算机上的源文件写入位于第二计算机上 的目标文件的方法,其中第一计算机上的文件数据物理地位于存储区域网络上 的第一存储装置上,以及第二计算机上的目标文件物理地位于该存储区域网络 上的第二存储装置上,所述方法包括:

由第一计算机向第二二计算机发出一个文件传输申请,该申请包括与源文件 相关联的每一个数据扇区的在存储区域网络设备上的位置;

由第二计算机向该存储区域网络上的路由器系统发出一个请求,以在第二 存储设备上创建源文件;以及

由第二计算机向该存储区域网络上的路由器系统发出一个请求,以把源文 件传输到目标文件。

7.如权利要求6所述的方法,其特征在于该文件传输申请进一步包括与 源文件相关联的多个属性。

8.如权利要求7所述的方法,其特征在于所述的多个属性包括文件名。

9.如权利要求6所述的方法,进一步包括:在源文件已被传输到目标文 件后从路由器向服务器发送一条完成消息。

10.一种包括操作系统的文件服务器计算机,该文件服务器计算机被配置 为从客户端计算机接收文件传输申请,其中所述申请包括与多个文件相关联的 多个名称和多个属性,并且该文件服务器计算机被配置成用来确定用于数据传 输操作的最优大小、最优顺序和所述多个文件的最优存储位置,以及向所述客 户端发出一个请求,以便按照如下顺序传输所述多个文件,该顺序遵循用于数 据传输操作的所述最优大小、最优顺序和最优存储位置。

11.一种包括操作系统的客户端计算机,该客户端计算机被配置成向服务 器计算机发出一个文件传输申请,其中所述申请包括与多个文件相关联的多个 名称和多个属性,并且该客户端计算机被配置成从所述服务器计算机接收按照 由该服务器确定的顺序传输所述多个文件的请求。

12.一种包括联网的客户端计算机和联网的文件服务器的网络,其中所述 客户端被配置成发出一文件传输申请,其中所述申请包括与多个文件相关联的 多个名称和多个属性;并且其中所述服务器被配置成确定用于数据传输操作的 最优大小、最优顺序和所述多个文件的最优存储位置,并且向所述客户端发出 一个请求,以便按照如下顺序传输所述多个文件,该顺序遵循用于数据传输操 作的所述最优大小、最优顺序和最优存储位置,并且其中所述客户端被配置成 接收该请求并且按照所述最优顺序传输所述多个文件。

说明书
技术领域

发明领域

本发明涉及为计算机文件服务器系统和客户端计算机提供服务的存储区域 网络领域,更具体而言,涉及在客户端和服务器之间传输数据的方法。

发明背景

图1表示了一种典型的服务于客户端102和计算机文件服务器系统104的 存储区域网络100。客户端102和服务器104通过网络106进行通信。

客户端102能够包括一个处理器108,处理器108通过总线110和网络端 口112、光纤端口114及存储器116相耦合。处理器108可以是例如由位于 California的Santa Clara的英特尔公司制造的英特尔奔腾4处理器。作为另一个 实施例,处理器108可以是一专用集成集成电路(ASIC)。总线110的一个例 子是外围部件互连(PCD局部总线,该局部总线是一种高性能的总线,用于芯 片(例如,母板芯片、主板芯片、等等)、扩展板、处理器/存储器子系统等等 的相互连接。

网络端口112可以是以太网端口、串行端口、并行端口、通用串行总 线(“USB”)端口、电气和电子工程师学会公司(“IEEE”)1394端口、小型 计算机系统接口(“SCSI”)端口、个人计算机存储卡国际协会(“PCMCIA”) 端口,等等。客户端计算机102的存储器116可以存储多个被配置成为要由 处理器108执行的指令。存储器116可以是随机存取存储器(RAM)、动态RAM (DRAM)、静态RAM(SRAM)、易失性存储器、非易失性存储器、闪速RAM、 聚合物铁电RAM、统一双向开关半导体存储器、磁性RAM、高速缓冲存储器、 硬盘驱动器、磁存储器、光存储器、磁光存储器、或者它们的组合。

客户端计算机102可以通过网络106耦合于服务器104。服务器104可以 是例如来自California Palo Alto的Hewlett-Packard公司的Windows NT服务 器、来自California Palo Alto的Sun Microsystems公司的UNIX服务器,等等。 服务器104可以包括一个通过总线120耦合到网络端口122、光纤端口124和 存储器126的处理器118。网络端口122的例子包括广域网(WAN)、局域网 (LAN)、因特网、无线网络、有线网络、面向连接的网络、分组网、网际协议 (IP)网络、或者它们的组合。

作为用于描述本发明的实施例的术语“耦合的”或者“连接地”包含直 接连接、间接连接、或者它们的任意组合。同样地,两个被耦合的装置可以参 与直接通信、间接通信、或者它们的任意组合。此外,两个被耦合的装置不必 处于连续的通信中,而是可以典型地、周期性地、间歇地、偶发地、偶尔地、 等等地进行通信。此外,术语“通信”不局限于直接通信,而是还包括间接通 信。

本发明的实施例涉及通过一个或者多个网络进行的数据通信。数据通信可 以由所述一个或者多个网络中的一个或者多个通信信道来传送。一个网络可以 包含有线通信链路(例如,同轴电缆、铜缆、光纤、及它们的组合,等等)、 无线通信链路(例如,卫星通信链路、陆地无线通信链路、卫星—陆地通信链 路、及它们的组合,等等)、或者它们的组合。一条通信链路可以包含一个或 多个通信信道,其中通信信道传送信息。例如,一个通信链路可以包含多路复 用的通信信道,比如时分多路复用(“TDM”)信道、频分多路复用(“FDM”) 信道、码分多路复用(“CDM”)信道、波分多路复用(“WDM”)信道、它们 的组合,等等。

根据本发明的一个实施例,被配置成要由处理器执行以执行一方法的指 令,被存储在计算机可读介质上。计算机可读介质能够是一个存储数字信息的 设备。例如,一个计算机可读介质包括本领域内所公知的用于存储软件的只读 光盘存储器(CD-ROM)。由适合于执行那些被配置成要被执行的指令的处理 器访问该计算机可读介质。术语“被配置成要被执行的指令”和“要被执行的 指令”意指包含任何依其现有形式(例如,机器代码)准备由处理器执行的指 令,或是需要进一步的操纵(例如,编译、解密、或者配有存取代码,等等) 以备由处理器执行的指令。

存储区域网络100包括通过光纤路由器130可存取的多个联网的存储设 备128。联网的存储设备128可以包括例如一个或多个硬盘驱动器132、134、 和136、光存储设备138、可拆卸存储设备140、或其他此类存储设备。光纤路 由器130可以是例如Chaparal FVS113、Crossroads 4250、ATTO光纤桥接器 3200。存储在存储设备128上的信息可以被客户端计算机102和服务器计算机 104存取,就好像这些没备被直接地连接到这些计算机上一样。例如,磁盘132 上的存储区可以被“安装”在服务器104上,并且磁盘134上的存储区可以被 安装在客户端102上。从运行在那些计算机上的应用的观点来看,这些存储区 将显得它们就像是直接连接在相应的计算机系统上一样。

在典型的客户端-服务器环境下,客户端计算机可能需要读出存储在服务 器系统上的数据或是可能需要将数据写入服务器系统。用来完成这些任务的常 规的系统和方法尚未被优化成充分利用诸如图1中所示那样的存储区域网络。 例如,一种把数据从客户端写到服务器上的文件内的常规过程遵循如图2所示 那样的通信流程。在这个例子里,客户端102具有在磁盘132上存储的如下数 据,该数据需要被传送以便由服务器104存储。在图2中,实线所代表的事务 由在客户端和服务器计算机之间发送的消息或者数据组成。虚线表示在客户端 102和服务器104与通过路由器130加以存取的联网的存储设备128之间的实 际交互。

在步骤201中,客户端102通过通知服务器104该客户端具有要被写入一 个由服务器104所维护的文件内的数据来启动一个数据写入请求。步骤202中, 服务器104在联网的存储设备128之一诸如硬盘134上创建一个新的空文件。 在步骤203中,服务器104向客户端102发送一条消息,通知客户端102一个 文件已经被创建。在步骤204和205中,客户端102从硬盘132中检索数据。 在步骤206中,客户端104用指令把该数据发送到服务器104以把该数据写入 该新文件。在步骤207中,服务器104把数据写入硬盘134上的该新文件中去。 在步骤208-215中,客户端102检索数据并且服务器104写入所述数据,直 到所有这些数据已被从客户端102传送到服务器104为止。

这种常规的数据传输方法没有导致这两个系统之间的有效文件传输。特别 地,如图2中所示,通信流程没有被优化,因为仅仅需要在一个单独的存储区 域网络100内被从一个物理位置传输到另一个物理位置的数据被代之以传输到 该存储区域网络之外。具体而言,该数据通过路由器130从存储区域网络100 流向客户端102。客户端102随后通过网络106将该数据传输给服务器104。 最后服务器104通过路由器130将该数据送回存储区域网络100。

另一个和常规文件传输系统相关联的低效问题是,服务器不能优化其数据 的存储,因为,它没有足够的信息来管理数据传输操作。这适用于诸如附图1 中所示的那些存储区域网络,以及其中数据被存储在本地连接的存储设备中的 客户端-服务器系统。开始,客户端请求服务器创建一个新的空文件。服务器在 当它已经这样做时作出响应。从该点向前,客户端在写操作序列的每一个中写 该文件的全部数据的子集。服务器可能或可能不确认数据的接收,这取决于所 使用的协议的细节。同样地,当客户端已经将文件的全部数据写入服务器上的 文件后,它可以发出或是不发出一最终请求,取决于所使用的协议。

图3更加详细地说明了以上所述的低效问题。在步骤中,客户端300启 动了一个向服务器301传输数据的请求。在步骤303中,服务器301通过表明 一个新的空文件已经被创建来响应该请求。在步骤304-305中,客户端300 发送一个或者更多个数据包,直到整个文件都已被从客户端300传输到服务器 301为止。因为服务器301没有关于被传输数据的完全信息,所以,数据随后 被以不同大小的片写入到该新文件中。这可能会导致可用磁盘空间的低效利 用。如果要传输多个文件的话,则必须重复步骤302-306,如步骤307和308 中所示的。

所描述的常规方法被广泛的应用于填充文件数据空间,并且,在该数据的 数量和内容不能被预先得知的时候是有效的。然而,由于服务器在任何给定时 间上仅仅暴露给写数据操作的全部集合的一个子集,因此服务器的优化机会受 到限制。特别是,服务器不能确定存储介质内的哪个可用存储位置最适合于文 件存储,因为该文件的最终大小是未知的。此外,服务器不能指定客户端应该 发送数据的次序,或者,在客户端最终向服务器发送多于一个的文件的情形中, 这些文件的序列。这一不足在存储区域网络中表现得尤为明显,其中对于客户 端而言,典型的是要传输大量具有特定内容和大小的文件,该内容和大小仅仅 被该客户端所知。在这种环境下,文件内容的逐片基础的传输导致了减小的数 据传输率。

当这些文件要被从客户端上传输到位于服务器上的一个或者多个可拆卸存 储设备中时,如图2和3中所示的利用常规方法传输数据时会出现另一个严重 的缺陷。在这样的系统里,服务器可以管理一系列介质片,其中的每一片都具 有有限的容量。当数据被存放在这些介质上时,每一片可能有不同数量的剩余 空间。当采用这些方法,并且数据被以逐片方式写入时,服务器就可能将文件 数据存储在一个最终并不适合它的一片介质上。在这种情况下,有必要延迟将 部分已写入的文件移到新的位置,以便使进一步的写入操作可以发生。

因此,需要有一个系统和方法来提供改善的文件传输率和在数据存储介质 上高效率的数据放置。

如上所述的在客户端和服务器系统之间传输数据的一般过程,同样被应用 于公共网络文件共享协议中,例如网络文件系统(NFS)和公共国际互联网文 件系统(CIFS),其中,客户端计算机在服务器上创建一个空文件,然后通过服 务器逐片地将数据写入这个文件。

发明内容

本发明的目的在于改进计算机网络中客户端和服务器之间数据的传输率。

本发明的另一个目的在于改进存储网络中第三方拷贝特征的使用,其中客 户端和服务器交换关于一组待传输数据块的信息并把该传输委托给第三方,从 而改进数据传输率并缓解服务器和客户端的负载。

再一目的在于减少从客户端向服务器上的一个或者多个可拆卸介质装置移 动文件所需要的步骤数目。

另一目的是改进对可拆卸介质的利用。

这些目的以及将从下述公开内容中变得明显的其它目的由本发明来实现, 本发明在一方面包含了一种把文件数据从客户端写入服务器的方法和系统,该 方法和系统包括,由客户端向服务器发出包含多个文件的名称以及所述多个文 件中的每一个文件的属性的文件传输申请,由服务器确定用于数据传输的大小 和最优顺序和所述多个文件的最优存储位置,由服务器向客户端发出一个请 求,以便按照针对数据传输的最小数目和存储器位置而被优化的顺序来传输所 述多个文件,由此使从客户端向服务器的数据传输率最大化。

附图的简要说明

图1是一常规体系结构的示意图,其中本发明可以被实现以改进利用存储 区域网络设备来进行客户端和服务器系统之间的文件传输。

图2是说明根据常规方法的在客户端系统、服务器系统和存储区域网络之 间用于将数据写入一个文件的事务的时间线(timeline)。

图3是说明根据传统方法的在客户端系统和服务器系统之间用于将数据写 入多个文件的事务的时间线。

图4是说明根据本发明的一实施例的在客户端系统和服务器系统之间用于 将数据写入多个文件的事务的时间线。

图5是说明根据本发明的一实施例的在客户端系统、服务器系统和存储区 域网络之间用于将数据写入一个文件的事务的时间线。

图6是说明根据本发明的另一实施例的在客户端系统、服务器系统和存储 区域网络之间用于将数据写入一个文件的事务的时间线。

图7是一体系结构的示意图,其中本发明可以被实现以根据ISCSI体系结 构改进利用网络化的存储设备来进行客户端/服务器系统之间的文件传输。

发明的详细说明

如上所述,和常规的文件传输方法有关的问题源自于这种传输是从客户端 启动这一事实。因此,几乎没有信息可用来有效地把文件放置在由服务器系统 管理的存储介质内。使用传统文件传输方法的另一个问题是,几乎没有信息可 用来正确使用存储区域网络的所谓“第三方拷贝”特征。在第三方拷贝情况下, 客户端和服务器需要识别将要被从一个系统传输到另外一个系统的数据块。然 后这个信息必须被提供给第三方,它相应的存储区域网络发出实现数据移动的 I/O操作。为了把数据从客户端写入服务器中,开始第三方拷贝的那一方必须 知道数据在客户端和服务器上的位置(块地址)。当逐片执行由客户端启动的 写操作时,服务器尚未具有为预先的数据分配空间的机会。因此,第三方拷贝 特征就不能被使用。

根据本发明的第一实施例,披露了一种把数据从第一计算机写入第二计算 机的一个或者多个文件的新方法,由此在传输该数据之前首先把描述所述一个 或者多个文件的信息从第一计算机系统发送到第二计算机系统。基于这个信 息,第二计算机系统以根据第二计算机的需要而优化的方式向客户端请求文 件数据。也就是说,第二计算机可以规定用于完成数据传输的次序、时间、和 通信介质。因而,服务器就可以对数据放置和传输进行优化。

附图4举例说明一种根据本发明一实施例的从一个系统传输一个或者多个 文件到另一个系统的方法。在图4中,客户端400的一个用户想要向服务器401 传输三个文件,指定的文件1、文件2和文件3。传输所有三个文件的客户端 申请随同每个文件的所述属性一起被发送到服务器以便最有利该传输。这些属 性可以包括例如文件长度以及在组成文件的每个数据块在网络存储设备上的位 置。在该例子中,服务器401处理该请求以便传输这三个文件,并确定通过依 照文件2,后跟文件1和文件3的次序分别传输这些文件所能获得的最佳性能。 这个被确定的次序将通过减少磁盘磁头寻道而使数据传输最优化。因此,在步 骤403中,服务器401指示客户端400发送文件2的内容。在步骤404中,客 户端400发送所请求的内容。在步骤405和406中,文件1的数据被请求并被 发送,如附图4所示。同样地,在步骤407和408中,文件3的数据被请求并 传输。文件传输请求可以包括分配数据以进一步改进该文件传输过程。分配数 据可以由例如数据要以最大的传输率传输到的在存储区域网络设备上的地址组 成。当被分配到磁盘上时,分配数据也可以包括数据块的散聚表。

本发明产生的一个第一改进是第二台计算机在本例中是服务器401为其选 择的传输大小作准备的能力。使用常规的方法,第一台计算机,在本例中是客 户端400,必须假定另一台计算机能够接受特定大小的数据传输。进行这种假 定的需要典型地意指该发送系统必须做出一个保守的选择以便不会耗尽接收系 统的存储资源。相比之下,使用本发明的方法,接收系统预先收到将要传输的 数据的大小(因为由客户端400所发送的文件的属性),因此服务器401能够 准备尽可能大的传输并(通过分配数据)通知发送系统。照这样,就有可能以 最少的数据传输数来影响单个文件的传输,并且不会耗尽服务器的资源。这就 使从客户端到服务器的数据传输率在服务器的资源约束内最大化。

本发明实现了第二个改进,起因在于服务器控制了待传输文件的顺序。在 可拆卸介质系统例如那些包括存储库的系统中,通过在特定的介质片上放置特 定的文件来优化性能是很典型的。此外,常常出现这样的情况,在任何特定时 间,对一些介质片的存取速度远远快于其他。继续图4所示的例子,在要求传 输文件1、文件2、和文件3的时候,将要存放文件2的这片介质可能是被最 快存取的。在这种情况下,在任一其他文件之前传输文件2将是很有利的。本 发明所实施的这一方法通过同时向服务器提供所有选择并允许该服务器确定优 化性能的顺序而使之成为可能。

因为客户端和服务器可以交换为执行第三方拷贝操作所需要的信息,所以 产生了第三个改进。这些为了性能优化所做的操作得到了普遍的认可,因为数 据传输可以通过第三方代理而进行,而在数据传输中客户端或者服务器不会消 耗任何资源。附图5和6举例说明了本发明是怎样便于第三方拷贝操作的。如 附图5和6中所示,本发明在客户端、服务器、和存储区域网络之间提供了 一个明显地简化了的交互。按照本发明,数据不必被传输到存储区域网络100 外以完成文件传输。而是,路由器130被指示来执行在存储区域网络内的文件 传输操作。

附图5说明了为执行第三方拷贝操作,按照本发明的一实施例的在客户 端102,服务器104,和存储设备128之间的交互。在这个实施例里,系统之 间没有传递确认信息。在步骤501中,客户端102向服务器104发送一条消息 来启动文件传输。该初始消息包括待传输文件的属性,该文件在这里也被称为 “源文件”。如前面所述,属性可包括例如源文件的大小和位置的信息。在这 个实施例中,源文件的位置进一步包括表明组成该文件的数据的每个部分的在 存储介质上的实际数据扇区的标识。本领域中,该信息通常被称作为“分散- 聚集”数据,因为它标识数据被分散在该存储介质上的物理位置,并且需要该 信息来检索数据。在复制请求中该信息被发送到客户端上,并且被存入请求包 中。

在步骤502中,服务器104指示路由器130创建一个新的空白文件并执 行从源文件到这个新的空文件的数据传输,该新文件之后就成为目标文件。步 骤502中创建的消息中包括从客户端102接收的一个或多个文件属性。在步骤 503中,路由器130把数据从源位置传输到目标位置。也就是说,路由器130 从分散-聚集列表中所标识的扇区中检索数据,并且把它们放在目标存储介质 上的可用的扇区中。构成新文件的扇区被包含在目标文件的标题块中,以便将 来作为分散-聚集数据的参考。

图6表示另一个实现本发明来方便第三方数据传输的例子。这个例子除 包括附图5中所示的全部步骤外,还包括步骤601-603。在步骤601中,服务 器104向客户端102回送一条确认消息。该确认通知客户端102新文件已经被 创建。在步骤602中,该步骤在路由器130已完成数据传输之后执行,路由器130 向服务器104发送一条消息。消息602通知服务器104数据传输已经成功地 完成。在步骤603中,服务器104将这次数据传输的成功完成通知客户端102。

本发明优选实施例的上述公开内容是为了说明和描述的目的而给出的。其 并不打算穷举或者把本发明限制于所公开的精确形式。此处描述的实施例的许 多变化和修改对于本领域的普通技术人员来说根据上述公开内容将是显而易见 的。本发明的范围仅仅由附在后面的权利要求以及它们的等价内容来限定。

此外,在描述本发明的代表性实施例中,说明书可能已经把本发明的方法 和/或过程提供为特定的步骤序列。但是,就所述方法或过程不依赖于这里所陈 述的特定步骤顺序来说,所述方法或过程不应该被限制在所述步骤的特定顺 序。作为本领域普通技术人员应该懂得,其它的步骤顺序也是可能的。因此, 在该说明书中陈述步骤的特定次序不应被解释为对权利要求的限制。另外,针 对本发明方法和/或过程的权利要求不应被限制在所写次序的步骤性能,并且 本领域普通技术人员很容易理解,所述顺序可以被改变,但仍然在本发明的精 神和范围内。

本文发布于:2023-04-15 07:00:38,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87646.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图