CN103731502A - 一种服务器端文件的快速拷贝方法 - Google Patents
一种服务器端文件的快速拷贝方法 Download PDFInfo
- Publication number
- CN103731502A CN103731502A CN201410014558.5A CN201410014558A CN103731502A CN 103731502 A CN103731502 A CN 103731502A CN 201410014558 A CN201410014558 A CN 201410014558A CN 103731502 A CN103731502 A CN 103731502A
- Authority
- CN
- China
- Prior art keywords
- copy
- server
- file
- client
- destination server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种服务器端文件的拷贝方法,由目的服务器根据客户端发出的消息直接从源服务器读取文件完成拷贝,然后向客户端反馈拷贝结果。所述方法避免了到客户端的不必要的文件传输,有效利地用了服务器间的高速网络连接,提高了文件拷贝效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及服务器端文件的快速拷贝。
背景技术
在网络文件共享环境中,通常客户端需要将数据从文件服务器的一个共享目录拷贝至另一共享目录,或将数据从一个文件服务器拷贝至另一个文件服务器,两种情况下都需要客户端将数据从源文件目录读取到本地,再写回至目的文件目录,耗费了大量的网络传输带宽,且通常客户端的硬件配置低于文件服务器,在数据中转过程中,客户端本身也是瓶颈点。
附图1示出了现有技术中的一种服务器端文件的拷贝方法。假设文件共享源服务器和目的服务器是两台独立的服务器,且两台服务器之间通过高速的千兆/万兆交换机连接,当客户端需要从源服务器向目的服务器拷贝文件时,传统方式下客户端只能通过低速网络先将文件数据从源服务器读取到本地,再将数据从本地写入到目的服务器,服务器间的高速网络连接没有得到有效利用。
发明内容
为减少文件拷贝时到客户端的不必要的数据传输,本发明提出一种服务器端文件拷贝方法,所述方法包括:
S11:客户端向文件的目的服务器发送消息,通知所述目的服务器从所述
源服务器拷贝所述文件;
S12:在拷贝完成后,目的服务器向客户端发送消息,返回拷贝状态。
本发明的有益效果是目的服务器直接从源服务器读取文件完成拷贝,避免了到客户端的不必要的文件传输,有效利用地了服务器间的高速网络连接,提高了文件拷贝效率。
附图说明
图1:现有技术中的一种服务器端文件拷贝方法流程图。
图2:本发明提出的源服务器与目的服务器为同一服务器时的异步拷贝方法流程图。
图3:本发明提出的源服务器与目的服务器为两台独立服务器时的同步拷贝方法流程图。
图4:本发明提出的源服务器与目的服务器为两台独立服务器上的异步拷贝方法流程图。
具体实施方式
下面参照附图2至4详细描述本发明提出的服务器端文件拷贝方法。
为减少文件拷贝时到客户端的不必要的数据传输,本发明实现了一种服务端文件拷贝的方法,客户端只需要向文件源服务器发送拷贝通知,向文件目的服务器发送进行拷贝的命令,文件拷贝操作会在文件源服务器和文件目的服务器之间进行,拷贝结束时目的服务器会将拷贝结果返回给客户端。
本发明提出的方法流程中涉及如下消息,其功能定义如下:
1)copy_offload_notify
如果进行文件拷贝的源服务器和目的服务器并非同一台服务器,该消息用于向源服务器发送拷贝通知,该消息中包含文件目的服务器的地址描述信息和将要拷贝的文件描述信息,其中服务器位置描述信息用于在网络上唯一的定位一台服务器,文件描述信息用于在服务器上唯一的表示一个共享文件。在源服务器收到拷贝通知消息后,会对目的服务器的文件读取操作进行授权,并向客户端返回可以进行拷贝的有效时长,在授权的有效时长到期之前,客户端可以向文件源服务器发送消息取消对目的服务器的授权。
2)copy_offload_revoke
当文件源服务器和目的服务器并非同一台服务器时,该消息用于向源服务器发送取消读操作授权通知,该消息中包含目的服务器的位置描述信息,促使源服务器取消对目的服务器的读操作授权。在文件拷贝已经完成,但文件源服务器对目的服务器的读操作授权有效期限尚未结束时,客户端可以使用该消息通知文件源服务器取消对目的服务器的所述授权。
3)copy_offload
客户端向目的服务器端发送该消息,促使目的服务器从文件源服务器上读取文件数据,进行实际的服务器端的文件拷贝操作。该消息中包含文件源服务器位置描述信息、源文件标识符、源文件读位置偏移、目的服务器位置描述信息、目的文件标识符、目的文件写位置偏移、拷贝数据长度、特殊操作标志位等,其中特殊操作标志位用于指定当文件在目的服务器上存在时是否进行覆盖、是否同时拷贝源文件的元数据信息、进行同步拷贝或异步拷贝等。当文件拷贝的源服务器和目的服务器为同一台服务器时,服务器位置描述信息可以省略。
为简化服务端文件拷贝的流控设计,采用目的服务器主动从文件源服务器读取文件数据的方式,而非文件源服务器将数据向目的服务器进行推送的方式,其好处是目的服务器可以根据自身的工作负载情况和磁盘空闲空间及时调整每次读取的数据量,在负载较轻时可以进行大块的文件读写以取得更优的性能。
当消息中的操作标志位指定使用同步拷贝时,在拷贝完成后才向客户端返回拷贝的数据量,当使用异步拷贝时,调用成功后目的服务器向客户端返回拷贝任务标识,然后在源服务器和目的服务器之间进行拷贝操作,在此期间客户端可以通过任务标识查询拷贝的状态,在拷贝完成后目的服务器以回调的方式向客户端返回拷贝的数据量。
当客户端进行从源服务器到目的服务器的文件夹拷贝时,由于文件夹下包含众多文件和子文件夹,可以将文件夹拷贝操作拆分成多次调用copy_offload的单个文件拷贝。
4)copy_offload_status
该消息用于客户端向目的服务器发送获取异步拷贝的当前状态的通知,该消息中通过拷贝任务标识来指定查询的任务,此操作也可用于源服务器与目的服务器是同一服务器的情况。
5)copy_offload_abort
该消息用于客户端通知目的服务器终止异步拷贝操作,该消息通过拷贝任务标识来指定要终止的任务,此操作也可用于源服务器与目的服务器是同一服务器的情况。
6)copy_offload_callback
在异步拷贝完成时,该消息用于目的服务器向客户端通知拷贝的结果,如拷贝字节数、错误码等信息,消息中包含拷贝任务标识以对拷贝任务进行区分,此操作也可用于源服务器与目的服务器是同一服务器的情况。
第一实施例:
图2示出了本发明第一实施例的步骤流程图。本发明描述的第一实施例方法支持源服务器与目的服务器为同一服务器时的拷贝操作,即拷贝文件所在的源目录与目的目录位于同一共享服务器上,在此情况下不需要源服务器对目的服务器的读操作授权,即不需要调用上述的copy_offload_notify和copy_offload_revoke操作,文件拷贝完全在服务器内部进行,拷贝完成后向客户端返回拷贝结果。
如图2所示,该实施例包括如下步骤:
S1:客户端向文件服务器(源服务器与目的服务器为同一文件服务器)发送copy_offload消息,通知文件服务器进行异步拷贝。
S2:客户端向文件服务器发送copy_offload_status消息,轮询异步拷贝状态;
S3:在拷贝完成后,文件服务器向客户端发送copy_offload_callback消息,向客户端返回拷贝结果。
第二实施例:
图3和图4示出了本发明提出的第二实施例,其描述的方法同样支持文件的同步拷贝操作和异步拷贝操作,对于同步拷贝只有在拷贝操作完成后copy_offload调用才会返回,而异步拷贝在客户端发起copy_offload调用后会立即返回,最终的拷贝结果通过copy_offload_callback回调发送到客户端。对于异步拷贝需要实现上述的copy_offload_status、copy_offload_abort、copy_offload_callback操作。
图3示出了第二实施例中的同步拷贝步骤流程,包括:
S21:客户端向源服务器发送copy_offload_notify消息,通知源服务器对目的服务器的读文件操作授权;
S22:客户端向目的服务器发送copy_offload消息,通知目的服务器进行同步拷贝;
S23:目的服务器向源服务器发送读取文件请求(read request),并从源服务器读取需要拷贝的文件;
S24:目的服务器拷贝完所述文件后,向客户端发送copy_offload_callback消息,返回拷贝结果。
图4示出了第二实施例的异步拷贝步骤流程,包括:
S31:客户端向源服务器发送copy_offload_notify消息,通知源服务器对目的服务器的读文件操作授权;
S32:客户端向目的服务器发送copy_offload消息,通知目的服务器进行异步拷贝;
S33:目的服务器向源服务器发送读取文件请求(read request),并从源服务器读取需要拷贝的文件;
S34:客户端向目的服务器发送copy_offload_status消息,轮询异步拷贝状态;
S35:目的服务器拷贝完所述文件后,向客户端发送copy_offload_callback消息,返回拷贝结果。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (7)
1.一种服务器端文件的拷贝方法,其特征在于,包括如下步骤:
S11:客户端向文件的目的服务器发送消息,通知所述目的服务器从所述源服务器拷贝所述文件;
S12:在拷贝完成后,目的服务器向客户端发送消息,返回拷贝状态。
2.根据权利1所述的方法,其特征在于:用于数据拷贝的源服务器和目的服务器可以是同一台服务器,也可以是两台独立的服务器;当是两台独立的服务器时,采用目的服务器主动从源服务器读取文件的方式执行文件拷贝,而非采用源服务器向目的服务器推送所述文件的方式。
3.根据权利要求2所述的方法,其特征在于:当所述源服务器和目的服务器为两台独立的服务器时,在步骤S11之前还包括客户端向源服务器发送消息,通知源服务器为目的服务器分配读文件操作权限的步骤。
4.根据权利3所述的方法,其特征在于:客户端可以向源服务器发送指令,通知源服务器取消对目的服务器的读文件操作权限。
5.根据权利1所述的方法,其特征在于:所述目的服务器支持文件的同步拷贝和异步拷贝;当采用同步拷贝时,客户端在向目的服务器发送拷贝指令后,目的服务器在拷贝操作完成后才会向客户端返回指令的执行结果;当采用异步拷贝时,客户端向目的服务器发送拷贝指令后,执行结果立即返回。
6.根据权利要求1所述的方法,其特征在于:客户端可以采用轮询的方式查询拷贝的状态,拷贝完成后,目的服务器以回调的方式向客户端返回文件拷贝结果。
7.根据权利5所述的方法,其特征在于:采用异步拷贝方式时,客户端可以向目的服务器发送指令,取消尚未完成的拷贝操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014558.5A CN103731502A (zh) | 2014-01-13 | 2014-01-13 | 一种服务器端文件的快速拷贝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014558.5A CN103731502A (zh) | 2014-01-13 | 2014-01-13 | 一种服务器端文件的快速拷贝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103731502A true CN103731502A (zh) | 2014-04-16 |
Family
ID=50455424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410014558.5A Pending CN103731502A (zh) | 2014-01-13 | 2014-01-13 | 一种服务器端文件的快速拷贝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103731502A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878354A (zh) * | 2015-12-11 | 2017-06-20 | 中国电信股份有限公司 | 用于多云存储系统间文件互传的方法、装置和系统 |
CN107679142A (zh) * | 2017-09-25 | 2018-02-09 | 广东欧珀移动通信有限公司 | 一种文件拷贝方法、服务器、网络设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040251A (zh) * | 2004-10-01 | 2007-09-19 | Q逻辑公司 | 用于在存储区域网络中的存储器件间直接传输数据的方法和系统 |
CN101216834A (zh) * | 2007-12-29 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 一种文件下载方法、系统、装置与服务器 |
CN102611745A (zh) * | 2011-12-31 | 2012-07-25 | 成都市华为赛门铁克科技有限公司 | 文件在线迁移方法、装置和系统 |
CN103475682A (zh) * | 2012-06-07 | 2013-12-25 | 华为技术有限公司 | 文件迁移方法及设备 |
-
2014
- 2014-01-13 CN CN201410014558.5A patent/CN103731502A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040251A (zh) * | 2004-10-01 | 2007-09-19 | Q逻辑公司 | 用于在存储区域网络中的存储器件间直接传输数据的方法和系统 |
CN101216834A (zh) * | 2007-12-29 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 一种文件下载方法、系统、装置与服务器 |
CN102611745A (zh) * | 2011-12-31 | 2012-07-25 | 成都市华为赛门铁克科技有限公司 | 文件在线迁移方法、装置和系统 |
CN103475682A (zh) * | 2012-06-07 | 2013-12-25 | 华为技术有限公司 | 文件迁移方法及设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878354A (zh) * | 2015-12-11 | 2017-06-20 | 中国电信股份有限公司 | 用于多云存储系统间文件互传的方法、装置和系统 |
CN106878354B (zh) * | 2015-12-11 | 2020-05-08 | 中国电信股份有限公司 | 用于多云存储系统间文件互传的方法、装置和系统 |
CN107679142A (zh) * | 2017-09-25 | 2018-02-09 | 广东欧珀移动通信有限公司 | 一种文件拷贝方法、服务器、网络设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110392094B (zh) | 一种获取业务数据的方法及融合cdn系统 | |
KR20090084091A (ko) | 복수의 데이터 통신장치들 간의 데이터 동기 방법 | |
US20200380050A1 (en) | Method for acquiring service data and converged cdn system | |
US11076181B2 (en) | Systems and methods for resolving manifest file discontinuities | |
WO2015183527A1 (en) | Synchronization system for multiple client devices | |
JP2013512514A (ja) | キャッシュを利用した効率的なメディア配信のためのシステム及び方法 | |
CN106055698A (zh) | 数据迁移方法、代理节点及数据库实例 | |
CN103475682A (zh) | 文件迁移方法及设备 | |
CN105843966A (zh) | 数据处理系统以及方法 | |
KR20100067976A (ko) | 분산 저장된 컨텐츠 파일의 동기화 방법 | |
JP4288525B2 (ja) | ファイル共有システムおよびファイル共有方法 | |
CN110636063A (zh) | 设备的安全交互控制方法、装置、电子设备及存储介质 | |
WO2017128713A1 (zh) | 订阅消息的发布方法及装置 | |
CN103731502A (zh) | 一种服务器端文件的快速拷贝方法 | |
CN116940936A (zh) | 对跨数据存储区域的链接的父记录和子记录的异步复制 | |
CN111208974A (zh) | 组件管理方法和装置 | |
US20190223004A1 (en) | Implementation method, apparatus and system for remote access | |
JP7119324B2 (ja) | 情報処理装置及び情報処理プログラム | |
WO2016063461A1 (ja) | クラスタシステム、クラスタノード、クラスタ制御方法及びコンピュータ可読媒体 | |
CN108476163B (zh) | 在不进行消息复制的情况下将消息存档 | |
KR102148147B1 (ko) | 컨텐츠 전송 방법 및 이를 위한 장치 | |
CN117043760A (zh) | 针对边缘网络存储中的在线会议的媒体存储 | |
US9152645B2 (en) | Distributed object management system, distributed object management server, distributed object management method and computer program of the same | |
JP6583934B2 (ja) | メールサーバ装置、メール管理方法、及びメール管理プログラム | |
US9514089B1 (en) | Mobile device network data synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140416 |