卸载数据传输方法、装置和客户端的制作方法

文档序号:7776681阅读:220来源:国知局
卸载数据传输方法、装置和客户端的制作方法
【专利摘要】本发明公开了一种卸载数据传输方法、装置和客户端。其中,该卸载数据传输方法包括:第一设备根据从客户端接收到的文件访问命令分配第一令牌;第一设备通过客户端向第二设备发送第一令牌;第一设备接收第二设备根据IP地址发送的文件访问请求;在通过第一令牌对第二令牌认证通过的情况下,第一设备向第二设备发送源文件标识对应的源文件。本发明实施例的卸载数据传输方法,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
【专利说明】卸载数据传输方法、装置和客户端
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种卸载数据传输方法、装置和客户端。【背景技术】
[0002]卸载数据传输(英文:0ffloaded Data Transfer,缩写:0DX)是一种加速文件拷贝和移动操作的服务器操作系统的新特性。ODX通过将传输文件的操作卸载给底层存储阵列,拷贝的数据流不再经过主机,可以降低文件传输的延迟,充分发挥底层存储阵列的高吞吐率优势,降低主机资源的使用量例如中央处理器(英文:Central Processing Unit,缩写:CPU)与网络资源的使用量,加快数据库或视频文件等大文件和虚拟机在主机之间的拷贝和移动。
[0003]通常的ODX多应用于文件系统和块存储中。在协议层还未实现0DX。

【发明内容】

[0004]抟术问是页
[0005]有鉴于此,本发明要解决的技术问题是,如何在协议层实现0DX。
[0006]解决方案
[0007]为了解决上述技术问题,在第一方面,本发明提供了一种卸载数据传输方法,包括:
[0008]第一设备根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述第一设备的IP地址和所述源文件标识;
[0009]所述第一设备通过所述客户端向所述第二设备发送所述第一令牌;
[0010]所述第一设备接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌;
[0011]在通过所述第一令牌对所述第二令牌认证通过的情况下,所述第一设备向所述第二设备发送所述源文件标识对应的源文件;
[0012]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0013]结合第一方面,在第一种可能的实现方式中,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0014]在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0015]结合第一方面,在第二种可能的实现方式中,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括:
[0016]若所述源文件是热点文件,所述第一设备将所述源文件保存在缓存中;
[0017]所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0018]所述第一设备从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
[0019]结合第一方面,在第三种可能的实现方式中,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0020]所述第一设备判断自身的文件系统和所述第二设备的文件系统是否相同;
[0021]若所述第一设备的文件系统和所述第二设备的文件系统相同,所述第一设备向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本;
[0022]若所述第一设备的文件系统和所述第二设备的文件系统不同,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,若存在,则所述第一设备向所述第二设备发送所述源文件的文件快照;若不存在,则在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0023]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,包括:
[0024]所述第一设备从所述第二令牌中获取文件特征码;
[0025]所述第一设备判断自身的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述第一设备的文件系统存在与所述第二令牌匹配的文件。
[0026]结合第一方面,在第五种可能的实现方式中,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括:
[0027]若所述源文件是频繁访问的文件,所述第一设备将所述源文件保存在缓存设备中;
[0028]所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0029]所述第一设备从所述缓存设备中读取所述源文件并将所述源文件发送给所述第
二设备。
[0030]在第二方面,本发明提供了一种卸载数据传输方法,包括:
[0031]客户端向第一设备发送文件访问命令,所述文件访问命令包括第二设备需要访问的源文件标识;
[0032]所述客户端接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识;
[0033]所述客户端向所述第二设备发送所述第一令牌;
[0034]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0035]在第三方面,本发明提供了一种卸载数据传输方法,包括:
[0036]第二设备接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述第二设备需要访问的源文件标识;
[0037]所述第二设备根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌;
[0038]所述第二设备接收所述第一设备发送的所述源文件标识对应的源文件;
[0039]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0040]在第四方面,本发明提供了一种卸载数据传输装置,包括:
[0041 ] 分配模块,用于根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述卸载数据传输装置的IP地址和所述源文件标识;
[0042]发送模块,用于通过所述客户端向所述第二设备发送所述第一令牌;
[0043]接收模块,用于接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌;
[0044]处理模块,用于在通过所述第一令牌对所述第二令牌认证通过的情况下,向所述第二设备发送所述源文件标识对应的源文件;
[0045]其中,所述卸载数据传输装置和所述第二设备是支持SMB协议的协议层设备。
[0046]结合第四方面,在第一种可能的实现方式中,所述处理模块具体用于,在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0047]结合第四方面,在第二种可能的实现方式中,所述卸载数据传输装置还包括:
[0048]第一存储模块,用于若所述源文件是热点文件,将所述源文件保存在缓存中;
[0049]所述处理模块具体用于,从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
[0050]结合第四方面,在第三种可能的实现方式中,所述处理模块具体用于,
[0051]判断所述卸载数据传输装置的文件系统和所述第二设备的文件系统是否相同;
[0052]若所述卸载数据传输装置的文件系统和所述第二设备的文件系统相同,向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本;
[0053]若所述卸载数据传输装置的文件系统和所述第二设备的文件系统不同,判断所述卸载数据传输装置的文件系统是否存在与所述第二令牌匹配的文件,若存在,则向所述第二设备发送所述源文件的文件快照;若不存在,则在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0054]结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理模块还用于,
[0055]从所述第二令牌中获取文件特征码;
[0056]判断所述卸载数据传输装置的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述卸载数据传输装置的文件系统存在与所述第二令牌匹配的文件。
[0057]结合第四方面,在第五种可能的实现方式中,还包括:
[0058]第二存储模块,用于若所述源文件是频繁访问的文件,将所述源文件保存在缓存设备中;
[0059]所述处理模块具体用于,从所述缓存设备中读取所述源文件并将所述源文件发送给所述第二设备。
[0060]在第五方面,本发明提供了一种客户端,包括:
[0061]命令发送模块,用于向第一设备发送文件访问命令,所述文件访问命令包括源文件标识;
[0062]接收模块,用于接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识;[0063]令牌发送模块,用于向所述第二设备发送所述第一令牌;
[0064]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0065]在第六方面,本发明提供了一种卸载数据传输装置,包括:
[0066]令牌接收模块,用于接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述卸载数据传输装置需要访问的源文件标识;
[0067]发送模块,用于根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌;
[0068]文件接收模块,用于接收所述第一设备发送的所述源文件标识对应的源文件;
[0069]其中,所述第一设备和所述卸载数据传输装置是支持SMB协议的协议层设备。
[0070]有益.效果
[0071]本发明实施例的卸载数据传输方法,第一设备根据从客户端接收到的文件访问命令分配第一令牌,通过客户端向第二设备发送第一令牌,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0072]根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
【专利附图】

【附图说明】
[0073]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0074]图1a为根据本发明实施例一的卸载数据传输方法的流程图;
[0075]图1b为令牌的规则示意图;
[0076]图2a为根据本发明实施例二的一种卸载数据传输方法的流程图;
[0077]图2b为根据本发明实施例二的另一种卸载数据传输方法的流程图;
[0078]图3为根据本发明实施例三的卸载数据传输方法的流程图;
[0079]图4为根据本发明实施例四的卸载数据传输方法的流程图;
[0080]图5为根据本发明实施例五的卸载数据传输方法的流程图;
[0081]图6为根据本发明实施例六的卸载数据传输装置的结构框图;
[0082]图7为根据本发明实施例七的卸载数据传输装置的结构框图;
[0083]图8为根据本发明实施例八的客户端的结构框图;
[0084]图9为根据本发明实施例九的卸载数据传输装置的结构框图;以及
[0085]图10为根据本发明实施例十的卸载数据传输装置的结构框图。
【具体实施方式】
[0086]以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0087]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0088]另外,为了更好的说明本发明,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0089]实施 例1
[0090]图1a为根据本发明实施例一的卸载数据传输方法的流程图。如图1a所示,该卸载数据传输方法可以包括:
[0091]步骤S110、第一设备根据从客户端接收到的文件访问命令分配第一令牌(英文:token),所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述第一设备的IP地址和所述源文件标识。其中,所述第一设备和所述第二设备是支持SMB(英文:Server Message Block,缩写:服务器管理块)协议的协议层设备。
[0092]具体地,第一设备和第二设备可以为网络附加存储(英文:Network AttachmentStorage,缩写:NAS)节点,例如存储设备,且第一设备和第二设备还支持SMB协议,为协议层设备。第一设备可以接收客户端发送的文件访问命令,第一设备根据该文件访问命令中的源文件标识,判断自身是否存在源文件标识对应的源文件,若自身存在源文件,则分配第一令牌。图1b为令牌的规则示意图,参见图lb,令牌例如第一令牌可以包括八个字段,分别为:令牌标识(T0KEN_ID)、文件特征码(FILE_C0DE)、源节点的IP地址(N0DE_IP)、源文件标识(英文identification,缩写:ID) (FID)、文件偏移(OFFSET)、文件长度(LEN)、创建时间(--ΜΕ)、到期时间(EXPIRES)。其中,令牌标识是根据一定规则生成,具有随机性,可以用于唯一标识令牌,例如:tokenl ;NAS节点可以为第一设备,第二设备可以根据第一设备的IP地址访问第一设备,例如:\\129.0.1.1:源文件标识可以用于唯一标识源文件,例如:FidA ;文件偏移可以用于表示源文件的存储地址,例如:0xFFFFFFFF ;文件长度可以用于表示源文件的大小,例如:4千字节(英文:Kilobyte,缩写:KB);创建时间可以用于表示源文件创建的时间,例如:2013年10月10日13时39分;到期时间可以用于表示源文件可用的时间,例如:2013年10月08日14时50分,超过2013年10月08日14时50分,第一设备可以自动删除源文件,源文件不可用。因此,只有令牌标识具有随机性,其余七个字段都具有具体含义而非随机生成。
[0093]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。第一设备可以接收客户端发送的文件访问命令例如fsctl命令。例如:fsctl (a.vhd,fsctl_offload_read),其中,a.vhd为文件A对应到第一设备中的文件标识即FidA,fsctl_offload_read为卸载数据传输(ODX)的命令字,代表ODX模式读文件。即:fsctl (a.vhd, fsctl_offload_read)代表ODX模式下,根据源文件标识,读取源文件标识对应的第一设备文件标识FidA对应的源文件A。第一设备可以根据fsctl (a.vhd, fsctl_offload_read)分配第一令牌,例如 tokenl。
[0094]步骤S130、所述第一设备通过所述客户端向第二设备发送所述第一令牌。
[0095]具体地,第一设备根据从客户端接收到的文件访问命令分配第一令牌之后,可以先将该第一令牌发送给客户端,再由客户端将该第一令牌转发给第二设备。其中,客户端将该第一令牌转发给第二设备可以通过某命令例如fsctl命令,将该第一令牌发送给第二设 备。
[0096]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。第一设备可以根据从客户端接收到的fsctl命令例如:fsctl(a.vhd, fsctl_offload_read),分配第一令牌例如tokenl并将tokenl发送给客户端。客户端可以向第二设备发送 fsctl 命令,例如:fsctl (a.vhd, fsctl_offload_write, tokenl ),其中,a.vhd 为文件A对应到第二设备中的文件标识即FidE, fsctl_offload_write为ODX的命令字,代表ODX 模式写文件。即:fsctl (a.vhd, fsctl_offload_write, tokenl)代表 ODX 模式下,根据tokenl,向第二设备的文件标识FidE对应的目标文件E中写入第一设备的tokenl中的源文件标识对应的源文件A。
[0097]步骤S150、所述第一设备接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌。
[0098]步骤S170、在通过所述第一令牌对所述第二令牌认证通过的情况下,所述第一设备向所述第二设备发送所述源文件标识对应的源文件。
[0099]具体地,第一设备可以接收第二设备发送的第二令牌,可以根据第一令牌认证第二令牌。例如可以比较第一令牌的令牌标识和第二令牌的令牌标识,若第一令牌的令牌标识和第二令牌的令牌标识相同,则第二令牌认证通过。第一设备可以通过某些方法向第二设备发送源文件标识对应的源文件,例如在第一设备向第二设备发送源文件的过程中,对该源文件的部分数据进行数据预取处理。反之,若第一令牌的令牌标识和第二令牌的令牌标识不同,则第二令牌认证不通过,第一设备不向第二设备发送源文件标识对应的源文件。
[0100]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。第一设备分配的第一令牌为tokenl,tokenl中的令牌标识为1,第二设备向第一设备发送的第二令牌为token2。若token2中的令牌标识也为1,则第一设备可以认证token2通过;若token2中的令牌标识不为I例如2,则第一设备可以认证token2不通过。[0101 ] 本发明实施例的卸载数据传输方法,第一设备根据从客户端接收到的文件访问命令分配第一令牌,通过客户端向第二设备发送第一令牌,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0102]实施例2
[0103]图2a为根据本发明实施例二的一种卸载数据传输方法的流程图,图2b为根据本发明实施例二的另一种卸载数据传输方法的流程图。图2a和图2b中标号与图1a相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
[0104]如图2a所示,图2a所示的卸载数据传输方法与图1a所示的卸载数据传输方法的主要区别在于,除了包括实施例一中的步骤S110、步骤S130和步骤S150之外,步骤S170具体可以包括:
[0105]步骤S210、在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。[0106]具体地,在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以向第二设备发送源文件。并且,第一设备在向第二设备发送源文件的过程中,可以利用读数据和写数据速度不匹配的原理。在读数据和写数据的同时,根据某些预取策略,例如:固定长度预取、智能预取(根据实际情况智能分配预取长度)等,预先判断出需要读写的数据的位置,并将此数据预先读取到自身的缓存中。在第一设备完成当前数据的发送之后,第一设备可以直接从该缓存中读取保存的数据。其中,该缓存为较小的临时文件交换区且该缓存长度小于源文件长度,例如源文件长度为2兆字节(英文=Megabyte,缩写:MB),该缓存长度可以为2KB、4KB、8KB等。
[0107]举例而言,假设第一设备中存储了文件A,文件A为源文件,第一设备分配的第一令牌为tokenl,第二设备向第一设备发送的第二令牌为token2, tokenl和token2的令牌标识都为1,第一设备认证token2通过。假设在第一设备向第二设备发送文件A的过程中,第一设备将文件A的数据划分为3个部分数据,分别为第一部分数据、第二部分数据和第三部分数据。第一设备可以在第一时刻向第二设备发送第一部分数据,并判断第二时刻需要向第二设备发送的源文件的部分数据的位置,例如判断出第二时刻需要发送的部分数据的位置对应着第二部分数据的位置。则第一设备可以将第二部分数据保存在自身的缓存中。在第二时刻,第一设备可以读取该缓存中保存的第二部分数据并将第二部分数据发送给第二设备,同时,判断第三时刻需要向第二设备发送的源文件的部分数据的位置,例如判断出第三时刻需要发送的部分数据的位置对应着第三部分数据的位置,则第一设备可以将第三部分数据保存在自身的缓存中。在第三时刻,第一设备可以读取该缓存中保存的第三部分数据并将第三部分数据发送给第二设备。
[0108]在一种可能的实现方式中,在步骤S170之前可以包括:
[0109]步骤S220、若所述源文件是热点文件,所述第一设备将所述源文件保存在缓存中。
[0110]具体地,在第一设备向第二设备发送源文件之前,第一设备可以根据某些条件例如访问热度,判断源文件是否是热点文件,若确定源文件是热点文件,则可以将源文件保存在自身的缓存中。其中,热点文件为第一设备运行数据传输时的热点数据,该缓存为较大的临时文件交换区且该缓存长度大于或等于源文件长度,例如源文件长度为2MB,该缓存长度可以为2MB、4MB、8MB等。
[0111]步骤S170具体可以包括:
[0112]步骤S230、所述第一设备从所述缓存中读取所述源文件并将所述源文件发送给所
述第二设备。
[0113]具体地,在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以读取上述缓存中保存的源文件并向第二设备发送源文件。
[0114]需要注意的是,尽管本实施例描述的是步骤S220在步骤S170之前执行,但是本领域技术人员可以理解,步骤S220也可以在步骤SI 10、步骤S130和步骤S150中的任意一个步骤之前执行,例如:步骤S220可以在步骤SllO之前执行。
[0115]在一种可能的实现方式中,在步骤S170之前可以包括:
[0116]步骤S240、若所述源文件是频繁访问的文件,所述第一设备将所述源文件保存在缓存设备中。
[0117]具体地,在第一设备向第二设备发送源文件之前,第一设备可以根据某些条件例如文件的访问次数,判断源文件是否是频繁访问的文件,若确定源文件是频繁访问的文件,则可以将源文件保存在缓存设备中。其中,频繁访问的文件为第一设备运行数据传输之前的频繁访问的部分数据或全量数据,该缓存设备为第一设备之外的独立的存储设备,且该缓存设备的存储容量较大,例如10GB。
[0118]步骤S170具体可以包括:
[0119]步骤S250、所述第一设备从所述缓存设备中读取所述源文件并将所述源文件发送给所述第二设备。
[0120]具体地,在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以读取上述缓存设备中保存的源文件并向第二设备发送源文件。
[0121 ] 需要注意的是,尽管本实施例描述的是步骤S240在步骤S170之前执行,但是本领域技术人员可以理解,步骤S240也可以在步骤SI 10、步骤S130和步骤S150中的任意一个步骤之前执行,例如:步骤S240可以在步骤S130之前执行。
[0122]参见图2b,在一种可能的实现方式中,步骤S170具体可以包括:
[0123]步骤S260、所述第一设备判断自身的文件系统和所述第二设备的文件系统是否相同。若所述第一设备的文件系统和所述第二设备的文件系统相同,则执行步骤S270 ;若所述第一设备的文件系统和所述第二设备的文件系统不同,则执行步骤S280。
[0124]举例而言,第一设备和第二设备分别具有自身的文件系统,例如=Isilon集群存储系列产品如Isilon S200、Isilon X200。假设第一设备的文件系统为Isilon S200,若第二设备的文件系统为Isilon S200,则第一设备可以判定自身的文件系统和第二设备的文件系统相同,可以执行下述步骤S270。相应地,若第二设备的文件系统为Isilon X200,则第一设备可以判定自身的文件系统和第二设备的文件系统不同,可以执行下述步骤S280。
[0125]步骤S270、所述第一设备向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本。
[0126]具体地,在第一设备向第二设备发送源文件时,若第一设备判定自身的文件系统和第二设备的文件系统相同,则第一设备的文件系统和第二设备的文件系统实际处于同一个文件系统管理的范围内。第一设备可以预先对源文件进行文件快照操作,预先将源文件的副本保存在自身的缓存中。在第一设备对第二设备认证通过的情况下,第一设备可以读取该缓存中保存的源文件的文件快照并向第二设备发送源文件。其中,该缓存为较大的临时文件交换区且该缓存长度大于或等于源文件长度,例如源文件长度为2MB,该缓存长度可以为 2MB、4MB、8MB 等。
[0127]步骤S280、所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件。若第一设备的文件系统存在与第二令牌匹配的文件,则执行步骤S281 ;若第一设备的文件系统不存在与第二令牌匹配的文件,则执行步骤S283。
[0128]在一种可能的实现方式中,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,包括:
[0129]所述第一设备从所述第二令牌中获取文件特征码;
[0130]所述第一设备判断自身的文件特征索引中是否与所述文件特征码匹配的特征,如果是,则确定所述第一设备的文件系统存在与所述第二令牌匹配的文件。
[0131]具体地,在第一设备向第二设备发送源文件时,若第一设备判定自身的文件系统和第二设备的文件系统不同,则第一设备需要继续判断自身的文件系统是否存在与第二令牌匹配的文件。在第一设备中写入文件时,第一设备可以以文件特征码建立索引,并保存在数据库中,即:第一设备可以建立文件特征码索引,并将该文件特征码索引保存在数据库。其中,文件特征码索引描述了某文件实际位于某一个文件系统的某一个位置,便于后续读数据和写数据查询。第一设备可以先从第二令牌中获取文件特征码,再查询数据库中保存的文件特征码索引中是否存在与第二令牌中的文件特征码相匹配的特征。若第一设备判定文件特征码索引中存在与第二令牌中的文件特征码相匹配的特征,且第一设备的文件系统具有文件快照的功能,则执行步骤S281。相应地,若第一设备判定文件特征码索引中不存在与第二令牌中的文件特征码相匹配的特征,则执行步骤S283。
[0132]步骤S281、所述第一设备向所述第二设备发送所述源文件的文件快照。
[0133]具体地,在第一设备对第二设备认证通过的情况下,第一设备可以读取缓存中保存的源文件的文件快照并向第二设备发送源文件。
[0134]步骤S283、在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。具体示例可以参见上述步骤S210的相关描述。
[0135]需要说明的是,尽管本实施例只描述了文件快照、数据预取、热点缓存、分支缓存这四种传输加速方法,但是,本领域的技术人员能够理解,也可以使用其它任意可在协议层使用的传输加速方法来提高协议层的传输效率。
[0136]本发明实施例的卸载数据传输方法,第一设备根据从客户端接收到的文件访问命令分配第一令牌,通过客户端向第二设备发送第一令牌,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0137]实施例3
[0138]图3为根据本发明实施例三的卸载数据传输方法的流程图。如图3所示,该卸载数据传输方法可以包括:
[0139]步骤S310、客户端向第一设备发送文件访问命令,所述文件访问命令包括第二设备需要访问的源文件标识。
[0140]具体地,第一设备和第二令牌可以为网络附加存储(NAS)节点,例如存储设备,且第一设备和第二令牌还支持SMB协议,为协议层设备。客户端可以向第一设备发送文件访问命令,第一设备可以根据文件访问命令中的源文件标识分配令牌。
[0141]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。客户端可以向第一设备发送文件访问命令例如fsctl命令。例如:fsctl(a.vhd,fsctl_offload_read),其中,a.vhd为文件A对应到第一设备中的文件标识即FidA, fsctl_offload_read为卸载数据传输(ODX)的命令字,代表ODX模式读文件。即:fsctl (a.vhd,fsctl_offload_read)代表ODX模式下,根据源文件标识,读取源文件标识对应的第一设备文件标识FidA对应的源文件A。第一设备可以根据fsctl (a.vhd, fsctl_offload_read)分配第一令牌,例如tokenl。
[0142]步骤S330、所述客户端接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识。
[0143]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。客户端可以向第一设备发送文件访问命令例如fsctl命令。在第一设备根据从客户端接收到的fsctl命令例如:fsctl(a.vhd, fsctl_offload_read),分配第一令牌例如tokenl之后,客户端可以接收第一设备发送的tokenl。
[0144]步骤S350、所述客户端向所述第二设备发送所述第一令牌。其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0145]举例而言,客户端接收到tokenl之后,可以向第二设备发送fsctl命令,例如:fsctl (a.vhd, fsctl_offload_write, tokenl),其中,a.vhd 为文件 A 对应到第二设备中的文件标识即FidE, fsctl_off load_write为ODX的命令字,代表ODX模式写文件。即:fsctl(a.vhd, fsctl_offload_write, tokenl)代表 ODX 模式下,根据 tokenl,向第二设备的文件标识FidE对应的目标文件E中写入第一设备的tokenl中的源文件标识对应的源文件A。
[0146]本发明实施例的卸载数据传输方法,客户端向第一设备发送文件访问命令,接收第一设备发送的根据文件访问命令分配的第一令牌,并将第一令牌发送给第二设备,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0147]实施例4
[0148]图4为根据本发明实施例四的卸载数据传输方法的流程图。如图4所示,该卸载数据传输方法可以包括:
[0149]步骤S410、第二设备接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述第二设备需要访问的源文件标识。其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0150]举例而言,第二设备可以接收客户端发送的fsctl命令,例如:fsctl (a.vhd,fsctl_offload_write, tokenl),其中,a.vhd为文件A对应到第二设备中的文件标识即FidE, fsctl_offload_write 为 ODX 的命令字,代表 ODX 模式写文件。即:fsctl (a.vhd,fsctl_offload_write, tokenl)代表ODX模式下,根据tokenl,向第二设备的文件标识FidE对应的目标文件E中写入第一设备的tokenl中的源文件标识对应的源文件A。
[0151]步骤S430、所述第二设备根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌。
[0152]具体地,第二设备根据第一令牌中的IP地址向第一设备发送文件访问请求,文件访问请求中包括第二令牌。第一设备接收到第二设备发送的第二令牌,可以根据第一令牌认证第二令牌。例如可以比较第一令牌的令牌标识和第二令牌的令牌标识,若第一令牌的令牌标识和第二令牌的令牌标识相同,则第二令牌认证通过;反之,若第一令牌的令牌标识和第二令牌的令牌标识不同,则第二令牌认证不通过。
[0153]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识,第一设备分配的第一令牌为tokenl,tokenl中的令牌标识为I,第二设备向第一设备发送的第二令牌为token2。若token2中的令牌标识也为1,则第一设备可以认证token2通过;若token2中的令牌标识不为I例如2,则第一设备可以认证token2不通过。
[0154]步骤S450、所述第二设备接收所述第一设备发送的所述源文件标识对应的源文件。
[0155]具体地,若第一设备根据第一令牌认证第二令牌通过,则第二设备可以接收到第一设备发送的与源文件标识对应的源文件,其中,第一设备可以通过上述实施例1和实施例2中描述的方法向第二设备发送源文件,例如在第一设备向第二设备发送源文件的过程中,对该源文件的部分数据进行数据预取处理。
[0156]本发明实施例的卸载数据传输方法,第二设备接收到第一设备通过客户端发送的第一令牌,根据第一令牌中的IP地址向第一设备发送文件访问请求,若第一设备通过第一令牌认证第二令牌通过,第二设备接收第一设备发送的文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0157]实施例5
[0158]图5为根据本发明实施例五的卸载数据传输方法的流程图。如图5所示,该卸载数据传输方法可以包括:
[0159]步骤1、客户端向第一设备发送文件访问命令。其中,文件访问命令包括第二设备需要访问的源文件标识。
[0160]具体地,第一设备和第二令牌可以为网络附加存储(NAS)节点,例如存储设备,且第一设备和第二令牌还支持SMB协议,为协议层设备。客户端可以向第一设备发送文件访问命令,第一设备可以根据文件访问命令中的源文件标识分配令牌。具体示例可以参见上述实施例一至实施例四中的相关描述。
[0161]步骤2、第一设备根据从客户端接收到的文件访问命令分配第一令牌。其中,第一令牌包括所述第一设备的IP地址和所述源文件标识。
[0162]具体地,第一设备可以接收客户端发送的文件访问命令,第一设备根据该文件访问命令中的源文件标识,判断自身是否存在源文件标识对应的源文件,若自身存在源文件,则分配第一令牌。具体示例可以参见上述实施例一中步骤SllO的相关描述。
[0163]步骤3、第一设备向客户端发送第一令牌。
[0164]步骤4、客户端向第二设备发送第一令牌。
[0165]具体地,第一设备根据从客户端接收到的文件访问命令分配第一令牌之后,可以先将该第一令牌发送给客户端,再由客户端将该第一令牌转发给第二设备。其中,客户端将该第一令牌转发给第二设备可以通过某命令例如fsctl命令,将该第一令牌发送给第二设备。具体示例可以参见上述实施例一中步骤S130的相关描述。
[0166]步骤5、第二设备向第一设备发送文件访问请求,其中,文件访问请求中包括第二令牌。
[0167]步骤6、第一设备通过第一令牌认证第二令牌。
[0168]具体地,第二设备根据第一令牌中的IP地址向第一设备发送文件访问请求,文件访问请求中包括第二令牌。第一设备接收到第二设备发送的第二令牌,可以根据第一令牌认证第二令牌。例如,可以比较第一令牌的令牌标识和第二令牌的令牌标识,若第一令牌的令牌标识和第二令牌的令牌标识相同,则第二令牌认证通过;反之,若第一令牌的令牌标识和第二令牌的令牌标识不同,则第二令牌认证不通过。具体示例可以参见上述实施例一和实施例四中的相关描述。
[0169]步骤7、第一设备向第二设备发送源文件标识对应的源文件。
[0170]具体地,在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以向第二设备发送源文件。并且,第一设备在向第二设备发送源文件的过程中,可以利用读数据和写数据速度不匹配的原理,在读数据和写数据的同时,根据某些预取策略,例如:固定长度预取、智能预取(根据实际情况智能分配预取长度)等,预先判断出需要读写的数据的位置,并将此数据预先读取到自身的缓存中,在第一设备完成当前数据的发送之后,第一设备可以直接从该缓存中读取保存的数据。其中,该缓存为较小的临时文件交换区且该缓存长度小于源文件长度,例如源文件长度为2MB,该缓存长度可以为2KB、4KB、8KB等。具体示例可以参见上述实施例二中步骤S210的相关描述。
[0171]具体地,在第一设备向第二设备发送源文件之前,第一设备可以根据某些条件例如访问热度,判断源文件是否是热点文件,若确定源文件是热点文件,则可以将源文件保存在自身的缓存中。在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以读取上述缓存中保存的源文件并向第二设备发送源文件。具体示例可以参见上述实施例二中步骤S220和步骤S230的相关描述。
[0172]具体地,在第一设备向第二设备发送源文件之前,第一设备可以根据某些条件例如文件的访问次数,判断源文件是否是频繁访问的文件,若确定源文件是频繁访问的文件,则可以将源文件保存在缓存设备中。在第一设备通过第一令牌对第二令牌认证通过的情况下,第一设备可以读取上述缓存设备中保存的源文件并向第二设备发送源文件。具体示例可以参见上述实施例二中步骤S240和步骤S250的相关描述。
[0173]具体地,在第一设备向第二设备发送源文件时,若第一设备判定自身的文件系统和第二设备的文件系统相同,则第一设备的文件系统和第二设备的文件系统实际处于同一个文件系统管理的范围内。第一设备可以预先对源文件进行文件快照操作,预先将源文件的副本保存在自身的缓存中。在第一设备对第二设备认证通过的情况下,第一设备可以读取该缓存中保存的源文件的文件快照并向第二设备发送源文件。若第一设备判定自身的文件系统和第二设备的文件系统不同,则第一设备需要继续判断自身的文件系统是否存在与第二令牌匹配的文件。在第一设备中写入文件时,第一设备可以以文件特征码建立索引,并保存在数据库中。第一设备可以先从第二令牌中获取文件特征码,再查询数据库中保存的文件特征码索引中是否存在与第二令牌中的文件特征码相匹配的特征。若第一设备判定文件特征码索引中存在与第二令牌中的文件特征码相匹配的特征,且第一设备的文件系统具有文件快照的功能,则第一设备向所述第二设备发送所述源文件的文件快照;相应地,若第一设备判定文件特征码索引中不存在与第二令牌中的文件特征码相匹配的特征,则在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。具体示例可以参见上述实施例二中步骤S260、步骤S270、步骤S280、步骤S281和步骤S282的相关描述。[0174]本发明实施例的卸载数据传输方法,第一设备根据从客户端接收到的文件访问命令分配第一令牌,通过客户端向第二设备发送第一令牌,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0175]实施例6
[0176]图6为根据本发明实施例六的卸载数据传输装置的结构框图。本实施例提供的卸载数据传输装置600用于实现图1a所示的实施例一提供的卸载数据传输方法。如图6所示,该卸载数据传输装置500可以包括:
[0177]分配模块520,用于根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述卸载数据传输装置的IP地址和所述源文件标识。其中,所述卸载数据传输装置500和所述第二设备是支持SMB协议的协议层设备。
[0178]具体地,卸载数据传输装置500和第二设备可以为网络附加存储(NAS)节点,例如存储设备,且卸载数据传输装置500和第二设备还支持SMB协议,为协议层设备。卸载数据传输装置500可以接收客户端发送的文件访问命令,分配模块520可以根据该文件访问命令中的源文件标识,判断自身是否存在源文件标识对应的源文件,若自身存在源文件,则分配第一令牌。参见图lb,令牌例如第一令牌可以包括八个字段,分别为:令牌标识(Τ0ΚΕΝ_ID)、文件特征码(FILE_C0DE)、源节点的IP地址(N0DE_IP)、源文件标识(FID)、文件偏移(OFFSET)、文件长度(LEN)、创建时间(--ΜΕ)、到期时间(EXPIRES)。其中,令牌标识是根据一定规则生成,具有随机性,可以用于唯一标识令牌,例如:tokenl ;NAS节点可以为卸载数据传输装置500,第二设备可以根据卸载数据传输装置500的IP地址访问卸载数据传输装置500,例如:\\129.0.1.1· ;源文件标识可以用于唯一标识源文件,例如:FidA ;文件偏移可以用于表示源文件的存储地址,例如:0xFFFFFFFF ;文件长度可以用于表示源文件的大小,例如:4千字节(英文Kilobyte,缩写:KB);创建时间可以用于表示源文件创建的时间,例如:2013年10月10日13时39分;到期时间可以用于表示源文件可用的时间,例如:2013年10月08日14时50分,超过2013年10月08日14时50分,卸载数据传输装置500可以自动删除源文件,源文件不可用。因此,只有令牌标识具有随机性,其余七个字段都具有具体含义而非随机生成。
[0179]举例而言,假设卸载数据传输装置500中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。卸载数据传输装置500可以接收客户端发送的文件访问命令例如 fsctl 命令。例如:fsctl (a.vhd, fsctl_offload_read),其中,a.vhd 为文件 A 对应到卸载数据传输装置500中的文件标识即FidA, fsctl_offload_read为卸载数据传输(ODX)的命令字,代表ODX模式读文件。即:fsctl (&111(148(^1_(^行0&(1_^&(1)代表00父模式下,根据源文件标识,读取源文件标识对应的卸载数据传输装置500文件标识FidA对应的源文件A。分配模块520可以根据fsctl (a.vhd, fsctl_offload_read)分配第一令牌,例如tokenl。
[0180]发送模块540,用于通过所述客户端向所述第二设备发送所述第一令牌。[0181]具体地,分配模块520根据从客户端接收到的文件访问命令分配第一令牌之后,发送模块540可以先将该第一令牌发送给客户端,再由客户端将该第一令牌转发给第二设备。其中,客户端将该第一令牌转发给第二设备可以通过某命令例如fsctl命令,将该第一令牌发送给第二设备。
[0182]举例而言,假设卸载数据传输装置500中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。分配模块520可以根据从客户端接收到的fsctl命令例如:fsctl (a.vhd, fsctl_offload_read),分配第一令牌例如 tokenl,发送模块 540 将tokenl发送给客户端。客户端可以向第二设备发送fsctl命令,例如:fsctl(a.vhd, fsctl_offload_write, tokenl),其中,a.vhd为文件A对应到第二设备中的文件标识即FidE,fsctl_offload_write 为 ODX 的命令字,代表 ODX 模式写文件。即:fsctl (a.vhd, fsctl_offload_write, tokenl)代表ODX模式下,根据tokenl,向第二设备的文件标识FidE对应的目标文件E中写入卸载数据传输装置500的tokenl中的源文件标识对应的源文件A。
[0183]接收模块560,用于接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌。
[0184]处理模块580,用于在通过所述第一令牌对所述第二令牌认证通过的情况下,向所述第二设备发送所述源文件标识对应的源文件。
[0185]具体地,接收模块560可以接收第二设备发送的第二令牌,处理模块580可以根据第一令牌认证第二令牌。例如,处理模块580可以比较第一令牌的令牌标识和第二令牌的令牌标识,若第一令牌的令牌标识和第二令牌的令牌标识相同,则处理模块580可以认证第二令牌通过,处理模块580可以通过某些方法向第二设备发送源文件标识对应的源文件,例如在处理模块580向第二设备发送源文件的过程中,对该源文件的部分数据进行数据预取处理。反之,若第一令牌的令牌标识和第二令牌的令牌标识不同,则处理模块580可以认证第二令牌不通过,处理模块580可以不向第二设备发送源文件标识对应的源文件。
[0186]举例而言,假设卸载数据传输装置500中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识,分配模块520分配的第一令牌为tokenl,tokenl中的令牌标识为I,接收模块560接收的第二设备发送的第二令牌为token2。若token2中的令牌标识也为1,则处理模块580可以认证token2通过;若token2中的令牌标识不为I例如2,则处理模块580可以认证token2不通过。
[0187]本发明实施例的卸载数据传输装置,分配模块根据从客户端接收到的文件访问命令分配第一令牌,发送模块通过客户端向第二设备发送第一令牌,若处理模块认证接收模块从第二设备接收的第二令牌通过,处理模块向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(卸载数据传输装置和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0188]实施例7
[0189]图7为根据本发明实施例七的卸载数据传输装置的结构框图,本实施例提供的卸载数据传输装置600用于实现图2a和图2b所示的实施例二提供的卸载数据传输方法。图7中标号与图6相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
[0190]如图7所示,图7所示的卸载数据传输装置600与图6所示卸载数据传输装置500的主要区别在于,除了包括实施例五中的分配模块520、发送模块540、接收模块560和处理模块580之外,所述处理模块580具体用于:
[0191]在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0192]具体地,在处理模块580通过第一令牌认证第二令牌通过的情况下,处理模块580可以向第二设备发送源文件。并且,在处理模块580向第二设备发送源文件的过程中,处理模块580可以利用读数据和写数据速度不匹配的原理,在读数据和写数据的同时,根据某些预取策略,例如:固定长度预取、智能预取(根据实际情况智能分配预取长度)等,预先判断出需要读写的数据的位置,并将此数据预先读取到卸载数据传输装置600的缓存中,在处理模块580完成当前数据的发送之后,处理模块580可以直接从该缓存中读取保存的数据。其中,该缓存为较小的临时文件交换区且该缓存长度小于源文件长度,例如源文件长度为2MB,该缓存长度可以为2KB、4KB、8KB等。
[0193]举例而言,假设卸载数据传输装置600中存储了文件A,文件A为源文件,分配模块520分配的第一令牌为tokenl,接收模块560接收的第二设备发送的第二令牌为token2,tokenl和token2的令牌标识都为I,处理模块580认证token2通过。假设在处理模块580向第二设备发送文件A的过程中,处理模块580将文件A的数据划分为3个部分数据,分别为第一部分数据、第二部分数据和第三部分数据。处理模块580可以在第一时刻向第二设备发送第一部分数据,并判断第二时刻需要向第二设备发送的源文件的部分数据的位置,例如判断出第二时刻需要发送的部分数据的位置对应着第二部分数据的位置,则处理模块580可以将第二部分数据保存在卸载数据传输装置600的缓存中。在第二时刻,处理模块580可以读取该缓存中保存的第二部分数据并将第二部分数据发送给第二设备,同时,判断第三时刻需要向第二设备发送的源文件的部分数据的位置,例如判断出第三时刻需要发送的部分数据的位置对应着第三部分数据的位置,则处理模块580可以将第三部分数据保存在卸载数据传输装置600的缓存中。在第三时刻,处理模块580可以读取该缓存中保存的第三部分数据并将第三部分数据发送给第二设备。
[0194]在一种可能的实现方式中,卸载数据传输装置600还可以包括:
[0195]第一存储模块620,用于若所述源文件是热点文件,将所述源文件保存在缓存中。
[0196]具体地,在处理模块580向第二设备发送源文件之前,卸载数据传输装置600可以根据某些条件例如访问热度,判断源文件是否是热点文件,若确定源文件是热点文件,则第一存储模块620可以将源文件保存在卸载数据传输装置600的缓存中。其中,热点文件为卸载数据传输装置600运行数据传输时的热点数据,该缓存为较大的临时文件交换区且该缓存长度大于或等于源文件长度,例如源文件长度为2MB,该缓存长度可以为2MB、4MB、8MB
坐寸ο
[0197]所述处理模块580具体用于,从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
[0198]具体地,在处理模块580通过第一令牌认证第二令牌通过的情况下,处理模块580可以读取上述缓存中保存的源文件并向第二设备发送源文件。具体示例可以参见上述实施例二中步骤S220和步骤S230的相关描述。
[0199]在一种可能的实现方式中,卸载数据传输装置600还可以包括:
[0200]第二存储模块640,用于若所述源文件是频繁访问的文件,将所述源文件保存在缓存设备中。
[0201 ] 具体地,在处理模块580向第二设备发送源文件之前,卸载数据传输装置600可以根据某些条件例如文件的访问次数,判断源文件是否是频繁访问的文件,若确定源文件是频繁访问的文件,则第二存储模块640可以将源文件保存在缓存设备中。其中,频繁访问的文件为卸载数据传输装置600运行数据传输之前的频繁访问的部分数据或全量数据,该缓存设备为卸载数据传输装置600之外的独立的存储设备,且该缓存设备的存储容量较大,例如IOGB0
[0202]所述处理模块580具体用于,从所述缓存设备中读取所述源文件并将所述源文件发送给所述第二设备。
[0203]具体地,在处理模块580通过第一令牌认证第二令牌通过的情况下,处理模块580可以读取上述缓存设备中保存的源文件并向第二设备发送源文件。具体示例可以参见上述实施例二中步骤S240和步骤S250的相关描述。
[0204]在一种可能的实现方式中,所述处理模块580具体用于,
[0205]判断所述卸载数据传输装置的文件系统和所述第二设备的文件系统是否相同;
[0206]若所述卸载数据传输装置的文件系统和所述第二设备的文件系统相同,向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本;
[0207]若所述卸载数据传输装置的文件系统和所述第二设备的文件系统不同,判断所述卸载数据传输装置的文件系统是否存在与所述第二令牌匹配的文件,若存在,则向所述第二设备发送所述源文件的文件快照;若不存在,则在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0208]举例而言,卸载数据传输装置600和第二设备分别具有自身的文件系统,例如:Isilon集群存储系列产品如Isilon S200、Isilon X200。假设卸载数据传输装置600的文件系统为Isilon S200,若第二设备的文件系统为Isilon S200,则处理模块580可以判定卸载数据传输装置600的文件系统和第二设备的文件系统相同。相应地,若第二设备的文件系统为Isilon X200,则处理模块580可以判定卸载数据传输装置600的文件系统和第二设备的文件系统不同。
[0209]具体地,在处理模块580向第二设备发送源文件时,处理模块580判定卸载数据传输装置600的文件系统和第二设备的文件系统相同,则卸载数据传输装置600的文件系统和第二设备的文件系统实际处于同一个文件系统管理的范围内。处理模块580可以预先对源文件进行文件快照操作,预先将源文件的副本保存在卸载数据传输装置600的缓存中。在处理模块580对第二设备认证通过的情况下,处理模块580可以读取该缓存中保存的源文件的文件快照并向第二设备发送源文件。其中,该缓存为较大的临时文件交换区且该缓存长度大于或等于源文件长度,例如源文件长度为2MB,该缓存长度可以为2MB、4MB、8MB
坐寸ο
[0210]在一种可能的实现方式中,所述处理模块580还用于,[0211]从所述第二令牌中获取文件特征码;
[0212]判断所述卸载数据传输装置的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述卸载数据传输装置的文件系统存在与所述第二令牌匹配的文件。
[0213]具体地,在处理模块580向第二设备发送源文件时,若处理模块580判定卸载数据传输装置600的文件系统和第二设备的文件系统不同,则处理模块580需要继续判断卸载数据传输装置600的文件系统是否存在与第二令牌匹配的文件。在卸载数据传输装置600中写入文件时,卸载数据传输装置600可以以文件特征码建立索引,并保存在数据库中,即:卸载数据传输装置600可以建立文件特征码索引,并将该文件特征码索引保存在数据库。其中,文件特征码索引描述了某文件实际位于某一个文件系统的某一个位置,便于后续读数据和写数据查询。处理模块580可以先从第二令牌中获取文件特征码,再查询数据库中保存的文件特征码索引中是否存在与第二令牌中的文件特征码相匹配的特征。若处理模块580判定文件特征码索引中存在与第二令牌中的文件特征码相匹配的特征,且卸载数据传输装置600的文件系统具有文件快照的功能,则处理模块580可以向第二设备发送源文件的文件快照。相应地,若处理模块580判定文件特征码索引中不存在与第二令牌中的文件特征码相匹配的特征,则处理模块580可以在向第二设备发送源文件的过程中,对源文件的部分数据进行数据预取处理。具体示例可以参见上述实施例二中步骤S210的相关描述。
[0214]本发明实施例的卸载数据传输装置,分配模块根据从客户端接收到的文件访问命令分配第一令牌,发送模块通过客户端向第二设备发送第一令牌,若处理模块认证接收模块从第二设备接收的第二令牌通过,向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(卸载数据传输装置和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0215]实施例8
[0216]图8为根据本发明实施例八的客户端的结构框图。本实施例提供的客户端700用于实现图3所示的实施例三提供的卸载数据传输方法。如图8所示,该客户端700可以包括:
[0217]命令发送模块720,用于向第一设备发送文件访问命令,所述文件访问命令包括源文件标识。
[0218]具体地,第一设备和第二令牌可以为网络附加存储(NAS)节点,例如存储设备,且第一设备和第二令牌还支持SMB协议,为协议层设备。命令发送模块720可以向第一设备发送文件访问命令,第一设备可以根据文件访问命令中的源文件标识分配令牌。
[0219]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端700需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。命令发送模块720可以向第一设备发送文件访问命令例如fsctl命令。例如:fsctl (a.vhd, fsctl_offload_read),其中,a.vhd为文件A对应到第一设备中的文件标识即FidA,fsctl_offload_read为卸载数据传输(ODX)的命令字,代表ODX模式读文件。即:fsctl (a.vhd, fsctl_offload_read)代表ODX模式下,根据源文件标识,读取源文件标识对应的第一设备文件标识FidA对应的源文件A。第一设备可以根据fsctl (a.vhd,fsctl_offload_read)分配第一令牌,例如 tokenl。
[0220]接收模块740,用于接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识。
[0221]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端700需要将文件A拷贝到第二设备中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识。命令发送模块720可以向第一设备发送文件访问命令例如fsctl命令。在第一设备根据从客户端接收到的fsctl命令例如:fsctl(a.vhd, fsctl_offload_read),分配第一令牌例如tokenl之后,接收模块740可以接收第一设备发送的tokenl。
[0222]令牌发送模块760,用于向第二设备发送所述第一令牌。其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0223]举例而言,接收模块740接收到tokenl之后,令牌发送模块760可以向第二设备发送 fsctl 命令,例如:fsctl (a.vhd, fsctl_offload_write, tokenl),其中,a.vhd 为文件A对应到第二设备中的文件标识即FidE, fsctl_offload_write为ODX的命令字,代表ODX 模式写文件。即:fsctl (a.vhd, fsctl_offload_write, tokenl)代表 ODX 模式下,根据tokenl,向第二设备的文件标识FidE对应的目标文件E中写入第一设备的tokenl中的源文件标识对应的源文件A。
[0224]本发明实施例的客户端,命令发送模块向第一设备发送文件访问命令,接收模块接收第一设备发送的根据文件访问命令分配的第一令牌,令牌发送模块将第一令牌发送给第二设备,若第一设备通过第一令牌认证第二令牌通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0225]实施例9
[0226]图9为根据本发明实施例九的卸载数据传输装置的结构框图。本实施例提供的卸载数据传输装置800用于实现图4所示的实施例四提供的卸载数据传输方法。如图9所示,该卸载数据传输装置800可以包括:
[0227]令牌接收模块820,用于接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述卸载数据传输装置需要访问的源文件标识。其中,所述第一设备和所述卸载数据传输装置是支持SMB协议的协议层设备。
[0228]举例而言,令牌接收模块820可以接收客户端发送的fsctl命令,例如:fsctl(a.vhd, fsctl_offload_write, tokenl),其中,a.vhd为文件A对应到卸载数据传输装置800中的文件标识即FidE,fsctl_offload_write为ODX的命令字,代表ODX模式写文件。即:fsctl (a.vhd, fsctl_offload_write, tokenl)代表 ODX 模式下,根据 tokenl,向卸载数据传输装置800的文件标识FidE对应的目标文件E中写入第一设备的tokenl中的源文件标识对应的源文件A。
[0229]发送模块840,用于根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌。
[0230]具体地,发送模块840根据第一令牌中的IP地址向第一设备发送文件访问请求,文件访问请求中包括第二令牌。第一设备接收到发送模块840发送的第二令牌,可以根据第一令牌认证第二令牌。例如可以比较第一令牌的令牌标识和第二令牌的令牌标识,若第一令牌的令牌标识和第二令牌的令牌标识相同,则第二令牌认证通过;反之,若第一令牌的令牌标识和第二令牌的令牌标识不同,则第二令牌认证不通过。
[0231]举例而言,假设第一设备中存储了文件A,文件A的文件标识为FidA,客户端需要将文件A拷贝到卸载数据传输装置800中的文件E,文件E的文件标识为FidE,文件A为源文件,FidA为源文件标识,第一设备分配的第一令牌为tokenl,tokenl中的令牌标识为1,发送模块840向第一设备发送的第二令牌为token2。若token2中的令牌标识也为1,则第一设备可以认证token2通过;若token2中的令牌标识不为I例如2,则第一设备可以认证token2不通过。
[0232]文件接收模块860,用于接收所述第一设备发送的所述源文件标识对应的源文件。
[0233]具体地,若第一设备根据第一令牌认证第二令牌通过,则文件接收模块860可以接收到第一设备发送的与源文件标识对应的源文件,其中,第一设备可以通过上述实施例1和实施例2中描述的方法向卸载数据传输装置800发送源文件,例如在第一设备向卸载数据传输装置800发送源文件的过程中,对该源文件的部分数据进行数据预取处理。
[0234]本发明实施例的卸载数据传输装置,令牌接收模块接收到第一设备通过客户端发送的第一令牌,发送模块根据第一令牌中的IP地址向第一设备发送文件访问请求,若第一设备通过第一令牌认证第二令牌通过,文件接收模块接收第一设备发送的文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和卸载数据传输装置)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,减少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0235]实施例10
[0236]图10为根据本发明实施例十的卸载数据传输装置的结构框图。所述卸载数据传输装置900可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
[0237]所述卸载数据传输装置900包括处理器(processor) 910、通信接口(Communications Interface)920、存储器(memory array)930 和总线 940。其中,处理器910、通信接口 920、以及存储器930通过总线940完成相互间的通信。
[0238]通信接口 920用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
[0239]处理器910用于执行程序。处理器910可能是一个中央处理器CPU,或者是专用集成电路(Application Specific Integrated Circuit, ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0240]存储器930用于存放文件。存储器930可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器930也可以是存储器阵列。存储器930还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
[0241]在一种可能的实现方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:
[0242]第一设备根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述第一设备的IP地址和所述源文件标识;
[0243]所述第一设备通过所述客户端向所述第二设备发送所述第一令牌;
[0244]所述第一设备接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌;
[0245]在通过所述第一令牌对所述第二令牌认证通过的情况下,所述第一设备向所述第ニ设备发送所述源文件标识对应的源文件;
[0246]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0247]在ー种可能的实现方式中,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0248]在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0249]在ー种可能的实现方式中,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括:
[0250]若所述源文件是热点文件,所述第一设备将所述源文件保存在缓存中;
[0251]所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0252]所述第一设备从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
[0253]在ー种可能的实现方式中,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0254]所述第一设备判断自身的文件系统和所述第二设备的文件系统是否相同;
[0255]若所述第一设备的文件系统和所述第二设备的文件系统相同,所述第一设备向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本;
[0256]若所述第一设备的文件系统和所述第二设备的文件系统不同,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,若存在,则所述第一设备向所述第ニ设备发送所述源文件的文件快照;若不存在,则所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
[0257]在ー种可能的实现方式中,所述第一设备判断自身的文件系统是否存在与所述第ニ令牌匹配的文件,包括:
[0258]所述第一设备从所述第二令牌中获取文件特征码;
[0259]所述第一设备判断自身的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述第一设备的文件系统存在与所述第二令牌匹配的文件。
[0260]在ー种可能的实现方式中,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括:
[0261]若所述源文件是频繁访问的文件,所述第一设备将所述源文件保存在缓存设备中;
[0262]所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括:
[0263]所述第一设备从所述缓存设备中读取所述源文件并将所述源文件发送给所述第
ニ设备。[0264]该程序具体还可用干:客户端向第一设备发送文件访问命令,所述文件访问命令包括源文件标识;
[0265]所述客户端接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识;
[0266]所述客户端向所述第二设备发送所述第一令牌;
[0267]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0268]该程序具体还可用干:第二设备接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述第二设备需要访问的源文件标识;
[0269]所述第二设备根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌;
[0270]所述第二设备接收所述第一设备发送的所述源文件标识对应的源文件;
[0271]其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
[0272]本发明实施例的卸载数据传输装置,第一设备根据从客户端接收到的文件访问命令分配第一令牌,通过客户端向第二设备发送第一令牌,若第一令牌对第二令牌认证通过,第一设备向第二设备发送文件访问命令中的源文件标识对应的源文件,数据直接在协议层设备(第一设备和第二设备)之间传输,没有经过上层应用主机和上层交换机,可以降低网络开销,減少客户端和上层应用主机之间的交互,兼容性好,性能高。
[0273]本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性単元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特点应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0274]如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用吋,则在一定程度上可以认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0275]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替代,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种卸载数据传输方法,其特征在于,包括: 第一设备根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述第一设备的IP地址和所述源文件标识; 所述第一设备通过所述客户端向所述第二设备发送所述第一令牌; 所述第一设备接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌; 在通过所述第一令牌对所述第二令牌认证通过的情况下,所述第一设备向所述第二设备发送所述源文件标识对应的源文件; 其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
2.根据权利要求1所述的卸载数据传输方法,其特征在于,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括: 在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
3.根据权利要求1所述的卸载数据传输方法,其特征在于,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括: 若所述源文件是热点文件 ,所述第一设备将所述源文件保存在缓存中; 所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括: 所述第一设备从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
4.根据权利要求1所述的卸载数据传输方法,其特征在于,所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括: 所述第一设备判断自身的文件系统和所述第二设备的文件系统是否相同; 若所述第一设备的文件系统和所述第二设备的文件系统相同,所述第一设备向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本; 若所述第一设备的文件系统和所述第二设备的文件系统不同,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,若存在,则所述第一设备向所述第二设备发送所述源文件的文件快照;若不存在,则在所述第一设备向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
5.根据权利要求4所述的卸载数据传输方法,其特征在于,所述第一设备判断自身的文件系统是否存在与所述第二令牌匹配的文件,包括: 所述第一设备从所述第二令牌中获取文件特征码; 所述第一设备判断自身的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述第一设备的文件系统存在与所述第二令牌匹配的文件。
6.根据权利要求1所述的卸载数据传输方法,其特征在于,在所述第一设备向所述第二设备发送所述源文件标识对应的源文件之前,包括: 若所述源文件是频繁访问的文件,所述第一设备将所述源文件保存在缓存设备中; 所述第一设备向所述第二设备发送所述源文件标识对应的源文件,包括: 所述第一设备从所述缓存设备中读取所述源文件并将所述源文件发送给所述第二设备。
7.—种卸载数据传输方法,其特征在于,包括: 客户端向第一设备发送文件访问命令,所述文件访问命令包括第二设备需要访问的源文件标识; 所述客户端接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识; 所述客户端向所述第二设备发送所述第一令牌; 其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
8.—种卸载数据传输方法,其特征在于,包括: 第二设备接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述第二设备需要访问的源文件标识; 所述第二设备根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌; 所述第二设备接收所述第一设备发送的所述源文件标识对应的源文件; 其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
9.一 种卸载数据传输装置,其特征在于,包括: 分配模块,用于根据从客户端接收到的文件访问命令分配第一令牌,所述文件访问命令包括第二设备需要访问的源文件标识,所述第一令牌包括所述卸载数据传输装置的IP地址和所述源文件标识; 发送模块,用于通过所述客户端向所述第二设备发送所述第一令牌; 接收模块,用于接收所述第二设备根据所述IP地址发送的文件访问请求,所述文件访问请求中包括第二令牌; 处理模块,用于在通过所述第一令牌对所述第二令牌认证通过的情况下,向所述第二设备发送所述源文件标识对应的源文件; 其中,所述卸载数据传输装置和所述第二设备是支持SMB协议的协议层设备。
10.根据权利要求9所述的卸载数据传输装置,其特征在于,所述处理模块具体用于,在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
11.根据权利要求9所述的卸载数据传输装置,其特征在于,还包括: 第一存储模块,用于若所述源文件是热点文件,将所述源文件保存在缓存中; 所述处理模块具体用于,从所述缓存中读取所述源文件并将所述源文件发送给所述第二设备。
12.根据权利要求9所述的卸载数据传输装置,其特征在于,所述处理模块具体用于, 判断所述卸载数据传输装置的文件系统和所述第二设备的文件系统是否相同; 若所述卸载数据传输装置的文件系统和所述第二设备的文件系统相同,向所述第二设备发送所述源文件的文件快照,所述文件快照为预先保存在缓存中的所述源文件的副本;若所述卸载数据传输装置的文件系统和所述第二设备的文件系统不同,判断所述卸载数据传输装置的文件系统是否存在与所述第二令牌匹配的文件,若存在,则向所述第二设备发送所述源文件的文件快照;若不存在,则在向所述第二设备发送所述源文件的过程中,对所述源文件的部分数据进行数据预取处理。
13.根据权利要求12所述的卸载数据传输装置,其特征在于,所述处理模块还用于, 从所述第二令牌中获取文件特征码; 判断所述卸载数据传输装置的文件特征索引中是否存在与所述文件特征码匹配的特征,如果存在,则确定所述卸载数据传输装置的文件系统存在与所述第二令牌匹配的文件。
14.根据权利要求9所述的卸载数据传输装置,其特征在于,还包括: 第二存储模块,用于若所述源文件是频繁访问的文件,将所述源文件保存在缓存设备中; 所述处理模块具体用于,从所述缓存设备中读取所述源文件并将所述源文件发送给所述第二设备。
15.—种客户端,其特征在于,包括: 命令发送模块,用于向第一设备发送文件访问命令,所述文件访问命令包括源文件标识; 接收模块,用于接收所述第一设备发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述源文件标识; 令牌发送模块,用于向所述第二设备发送所述第一令牌; 其中,所述第一设备和所述第二设备是支持SMB协议的协议层设备。
16.一种卸载数据传输装置,其特征在于,包括: 令牌接收模块,用于接收第一设备通过客户端发送的第一令牌,所述第一令牌包括所述第一设备的IP地址和所述卸载数据传输装置需要访问的源文件标识; 发送模块,用于根据所述IP地址向所述第一设备发送文件访问请求,所述文件访问请求中包括第二令牌; 文件接收模块,用于接收所述第一设备发送的所述源文件标识对应的源文件; 其中,所述第一设备和所述卸载数据传输装置是支持SMB协议的协议层设备。
【文档编号】H04L29/06GK103595720SQ201310574739
【公开日】2014年2月19日 申请日期:2013年11月15日 优先权日:2013年11月15日
【发明者】廖昌阊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1