文件数据访问方法、装置以及系统转让专利

申请号 : CN200910130505.9

文献号 : CN101510219B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄志昊马金亮云岭

申请人 : 成都市华为赛门铁克科技有限公司

摘要 :

本发明提供一种文件数据访问方法、装置以及系统,所述方法包括:向元数据服务器发送文件的元数据请求消息;接收元数据服务器返回的文件的元数据;根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取文件的所有数据。本发明实现了对热点小文件进行多级缓存,使得针对热点小文件,可以从本地缓存获取所述文件的所有数据,或从数据服务器的高速缓存中获取所述文件的所有数据,从而提高了网络存储中热点小文件读取效率,进而达到了提高热点小文件访问速度,减少网络流量。

权利要求 :

1.一种文件数据访问方法,其特征在于,所述方法包括:

向元数据服务器发送文件的元数据请求消息;

接收所述元数据服务器返回的所述文件的元数据;

根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据;元数据服务器根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。

2.如权利要求1所述方法,其特征在于,所述文件的元数据包括:文件大小属性值、所述文件的单客户端访问频率、多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息,所述根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据包括:如果所述文件大小属性值小于大小预定值,且请求所述文件的客户端的单客户端访问频率大于预定热点频率,则从所述客户端本地缓存获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据;

如果所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则从所述数据服务器的高速存储器中获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据。

3.一种文件的元数据发送方法,其特征在于,所述方法包括:

接收客户端发送的文件的元数据请求消息;

根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;

向所述客户端返回所述请求的文件的元数据;数据服务器根据元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中;客户端接收所述文件的元数据,根据所述文件的元数据与文件的大小预定值以及预定热点频率的比较结果,对应的从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据。

4.如权利要求3所述元数据发送方法,其特征在于,所述文件的元数据包括所述文件的大小属性值和所述文件的单客户端访问频率、多客户端访问频率,所述根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送第一消息或者第二消息包括:如果所述文件大小属性值小于大小预定值,且所述文件的当前请求客户端的单客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息;

如果所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。

5.如权利要求4所述元数据发送方法,其特征在于,在所述的接收客户端发送的文件的元数据请求消息之前,所述方法还包括:根据接收的客户端发送的文件的元数据请求消息的次数统计各个客户端针对不同文件的单客户端访问频率,和多个客户端针对同一文件的多客户端访问频率。

6.如权利要求3所述元数据发送方法,其特征在于,所述的向所述客户端返回的所述请求的文件的元数据包括所述文件的大小属性值、所述文件的单客户端访问频率、多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息。

7.一种客户端,其特征在于,所述客户端包括:

元数据请求单元,用于向元数据服务器发送文件的元数据请求消息,并接收所述元数据服务器返回的所述文件的元数据;

数据获取单元,用于根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据;元数据服务器根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。

8.如权利要求7所述客户端,其特征在于,所述接收的文件的元数据包括所述文件的大小属性值、所述文件的单客户端访问频率、多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息,所述数据获取单元包括:比较单元,用于比较所述文件的大小属性值与所述文件的大小预定值,以及比较请求所述文件的客户端的单客户端访问频率或所述文件的多客户端访问频率与预定热点频率;

第一数据获取单元,用于如果所述比较单元确定所述文件大小属性值小于大小预定值,且请求所述文件的客户端的单客户端访问频率大于预定热点频率,则从所述客户端本地缓存获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据;

第二数据获取单元,用于如果所述比较单元确定所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则从所述数据服务器的高速存储器中获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据。

9.一种元数据服务器,其特征在于,所述元数据服务器包括:

元数据请求响应单元,用于接收客户端发送的文件的元数据请求消息,并用于向所述客户端返回所述请求的文件的元数据;

数据缓存确定单元,用于根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器根据元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中;客户端接收所述文件的元数据,根据所述文件的元数据与文件的大小预定值以及预定热点频率的比较结果,对应的从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据。

10.如权利要求9所述元数据服务器,其特征在于,所述文件的元数据包括所述文件的大小属性值、所述文件的单客户端访问频率、多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息,所述数据缓存确定单元包括:第一数据缓存确定单元,用于如果所述文件的大小属性值小于大小预定值,且所述文件的当前请求客户端的单客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息;

和,第二数据缓存确定单元,用于如果所述文件的大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。

11.如权利要求10所述元数据服务器,其特征在于,所述元数据服务器还包括访问频率统计单元,用于根据接收的客户端发送的文件的元数据请求消息的次数统计各个客户端针对不同文件的单客户端访问频率,和多个客户端针对同一文件的多客户端访问频率。

12.如权利要求9所述元数据服务器,其特征在于,所述元数据服务器还包括元数据存储单元,用于存储文件的元数据,所述文件的元数据包括所述文件的大小属性值、所述文件的单客户端访问频率、多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息。

13.一种文件数据传输系统,其特征在于,所述系统包括:

客户端,用于根据从元数据服务器请求得到的文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据;

元数据服务器,用于根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;

数据服务器,用于根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。

说明书 :

文件数据访问方法、装置以及系统

技术领域

[0001] 本发明涉及网络存储技术,尤其涉及一种文件数据访问方法、文件的元数据发送方法、装置以及系统。

背景技术

[0002] 随着计算机网络和信息技术的飞速发展,全球信息存储容量急剧增长,同时网络存储技术不断发展,分布式存储运用广泛,网络规模不断扩大,访问节点越来越多。在很多的应用中,例如WEB 2.0,数据量十分巨大,但是通常只有少部分内容访问频繁,大量客户端访问一个存储节点,文件读取效率很低,造成网络负载不均,访问时延增大等问题。
[0003] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:存储系统中被频繁访问的文件,现有系统中通过存放多份在不同的存储节点中,采用并发的方式减少某些存储节点的负荷。客户端读取文件,无论是什么文件,第一次都不会将整个文件全部读到内存中,需要向普通存储设备下发多次I/O请求次数;并且读出之后缓存在当前线程的内存之中,无法与其它线程共享。同一客户端不同的线程还可能重新发起I/O请求来读取相同文件,导致增加了网络交互和磁盘读取,且造成了文件访问速度慢,尤其热点小文件的读取效率低。

发明内容

[0004] 本发明实施例提供一种文件数据访问方法、文件的元数据发送方法、装置以及系统,以提高网络存储中热点小文件读取效率。
[0005] 一方面,本发明实施例提供了一种文件数据访问方法,向元数据服务器发送文件的元数据请求消息;接收元数据服务器返回的文件的元数据;根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取文件的所有数据;元数据服务器根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。
[0006] 另一方面,本发明实施例提供了一种文件的元数据发送方法,所述方法包括:接收客户端发送的文件的元数据请求消息;根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将文件的所有数据发送给客户端进行缓存的第一消息或者用于将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备的第二消息;向客户端返回请求的文件的元数据;数据服务器根据元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中;客户端接收所述文件的元数据,根据所述文件的元数据与文件的大小预定值以及预定热点频率的比较结果,对应的从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据。
[0007] 又一方面,本发明实施例提供了一种客户端,所述客户端包括:元数据请求单元,用于向元数据服务器发送文件的元数据请求消息,并接收元数据服务器返回的文件的元数据;数据获取单元,用于根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取文件的所有数据;元数据服务器根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。
[0008] 又一方面,本发明实施例提供了一种元数据服务器,所述元数据服务器包括:元数据请求响应单元,用于接收客户端发送的文件的元数据请求消息,并用于向客户端返回请求的文件的元数据;数据缓存确定单元,用于根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将文件的所有数据发送给客户端进行缓存的第一消息或者用于将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备的第二消息;数据服务器根据元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中;客户端接收所述文件的元数据,根据所述文件的元数据与文件的大小预定值以及预定热点频率的比较结果,对应的从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据。
[0009] 再一方面,本发明实施例提供了一种文件数据传输系统,所述系统包括:客户端,用于根据从元数据服务器请求得到的文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据;元数据服务器,用于根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;数据服务器,用于根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。
[0010] 上述技术方案具有如下有益效果:由于采用根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送将文件的所有数据发送给客户端进行缓存的第一消息或者将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备的第二消息,实现了对热点小文件进行多级缓存,使得针对热点小文件,客户端可以根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,对应的从本地缓存获取所述文件的所有数据,或从数据服务器的高速缓存中获取所述文件的所有数据,从而提高了网络存储中热点小文件读取效率,进而达到了提高热点小文件访问速度,减少网络流量。

附图说明

[0011] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0012] 图1是本发明实施例一种文件数据访问方法流程图;
[0013] 图2是本发明实施例一种文件的元数据发送方法流程图;
[0014] 图3是本发明实施例一种文件数据访问方法流程图;
[0015] 图4是本发明实施例一种客户端结构示意图;
[0016] 图5是本发明实施例一种元数据服务器结构示意图;
[0017] 图6是本发明实施例另一种元数据服务器结构示意图;
[0018] 图7是本发明实施例一种数据服务器结构示意图;
[0019] 图8是本发明实施例另一种数据服务器结构示意图;
[0020] 图9是本发明实施例一种文件数据传输系统结构示意图;
[0021] 图10是本发明实施例另一种文件数据传输系统结构示意图。

具体实施方式

[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023] 本发明实施例中,通过采用根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送将文件的所有数据发送给客户端进行缓存或者将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备中的消息,实现了对热点小文件进行多级缓存,使得针对热点小文件,客户端可以根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,对应的从本地缓存获取所述文件的所有数据,或从数据服务器的高速缓存中获取所述文件的所有数据。
[0024] 实施例一:
[0025] 如图1所示,是本发明实施例一种文件数据访问方法的流程示意图,所述方法包括:
[0026] 步骤101,向元数据服务器发送文件的元数据请求消息。
[0027] 步骤102,接收元数据服务器返回的文件的元数据。
[0028] 优选的,文件的元数据可以包括文件的大小属性值、文件的单客户端访问频率/多客户端访问频率、文件的文件名和文件的所有数据缓存地址信息中的一种或多种。
[0029] 步骤103,根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取文件的所有数据。
[0030] 优选的,如果所述文件大小属性值小于大小预定值,且请求所述文件的客户端的单客户端访问频率大于预定热点频率,则从所述客户端本地缓存获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据;在一种实现下,文件的大小预定值可以设置为2M;文件的预定热点频率可以设置为该文件单位时间内的客户端访问量占总文件客户端访问量的10%时的客户端访问频率。预定热点频率根据单位时间访问次数定义,具体阈值可以调节,并不一定是一个定值,前面所述的文件的大小预定值同理。
[0031] 如果所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则从所述数据服务器的高速存储器中获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据。这里的,数据服务器的高速存储器包括固态硬盘等等,高速存储器较普通存储器存储速度或I/O访问速度快。
[0032] 可见,本发明实施例中的文件数据访问方法通过根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,可以选择性的,从本地缓存获取所述文件的所有数据,或从数据服务器的高速缓存中获取所述文件的所有数据,从而提高了网络存储中热点小文件读取效率,进而达到了提高热点小文件访问速度,减少网络流量。
[0033] 如图2所示,是本发明实施例一种文件的元数据发送方法流程图,所述方法包括:
[0034] 步骤201,接收客户端发送的文件的元数据请求消息。
[0035] 优选的,所述方法还可以包括:根据接收的客户端发送的文件的元数据请求消息的次数统计所述文件的访问频率,所述访问频率包括单客户端访问频率和/或多客户端访问频率,即统计各个客户端针对不同文件的单客户端访问频率,和/或多个客户端针对同一文件的多客户端访问频率。
[0036] 步骤202,根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将文件的所有数据发送给客户端进行缓存的第一消息或者用于将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备的第二消息。
[0037] 优选的,如果所述文件大小属性值小于大小预定值,且所述文件的当前请求客户端的单客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息;这里的,文件的大小预定值可以设置为2M;文件的预定热点频率可以设置为该文件单位时间内的客户端访问量占总文件客户端访问量的10%时的客户端访问频率。预定热点频率根据单位时间访问次数定义,具体阈值可以调节,并不一定是一个定值,前面文件的大小预定值同理。
[0038] 如果所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。
[0039] 步骤203,向客户端返回请求的文件的元数据。
[0040] 优选的,向所述客户端返回的所述请求的文件的元数据可以包括所述文件的大小属性值、所述文件的单客户端访问频率/多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息中的一种或多种。
[0041] 可见,本发明实施例中的文件的元数据发送方法实现了对热点小文件进行多级缓存,从而提高了网络存储中小文件读取效率,进而达到了提高热点小文件访问速度,减少网络流量。
[0042] 如图3所示,是本发明实施例一种文件数据访问方法流程图,可以应用于数据服务器,所述方法包括:
[0043] 步骤301,接收客户端发送的文件读取请求。
[0044] 优选的,所述接收客户端发送的文件读取请求之前还包括:根据元数据服务器发送的用于将所述文件的所有数据进行缓存的第一或第二消息,将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。数据服务器的高速存储设备可以包括固态硬盘等,应当理解的是,本发明高速存储设备并不限于固态硬盘。
[0045] 步骤302,根据文件读取请求中的文件的所有数据缓存地址信息,向客户端返回数据服务器的高速存储设备中的所述文件的所有数据缓存地址信息对应的文件的所有数据。
[0046] 这里数据服务器的高速存储设备包括固态硬盘。
[0047] 可见,本发明方法实施例通过一次请求,将所有数据读入文件系统本地缓存,应用层无需申请固定内存来进行预存,可以直接读取缓存,包括多线程读取的情况,从而减少设备I/O请求次数,如果预定热点频率由单个客户端产生,将缓存维持在客户端,减少网络请求;如果预定热点频率由多个客户端产生,增加缓存,由普通存储设备拷贝一份到高速存储设备,减少设备I/O请求次数,提高读速度,减少网络流量的技术效果。
[0048] 实施例二:
[0049] 如图4所示,是本发明实施例一种客户端的结构示意图,客户端40包括:
[0050] 元数据请求单元401,用于向元数据服务器发送文件的元数据请求消息,并用于接收所述元数据服务器返回的所述文件的元数据;
[0051] 数据获取单元402,用于根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取所述文件的所有数据。
[0052] 优选的,所述接收的文件的元数据可以包括所述文件的大小属性值、所述文件的单客户端访问频率/多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息中的一种或多种,其中:
[0053] 所述数据获取单元402包括:
[0054] 比较单元4023,用于比较所述文件的大小属性值与所述文件的大小预定值,以及比较所述文件的所述客户端的单客户端访问频率或多客户端访问频率与预定热点频率;
[0055] 第一数据获取单元4021,用于如果所述比较单元确定所述文件大小属性值小于大小预定值,且请求所述文件的客户端的单客户端访问频率大于预定热点频率,则从所述客户端本地缓存获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据;
[0056] 和/或,第二数据获取单元4022,用于如果所述比较单元确定所述文件大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则从所述数据服务器的高速存储器中获取所述文件的所有数据缓存地址信息对应的所述文件的所有数据。
[0057] 这里的,文件的大小预定值可以设置为2M等;文件的预定热点频率可以设置为该文件单位时间内的客户端访问量占总文件客户端访问量的10%时的客户端访问频率。预定热点频率根据单位时间访问次数定义,具体阈值可以调节,并不一定是一个定值,前面文件的大小预定值同理。以及,数据服务器的高速存储器包括固态硬盘等。
[0058] 如图5所示,是本发明实施例一种元数据服务器的结构示意图,所述元数据服务器50包括:
[0059] 元数据请求响应单元501,用于接收客户端发送的文件的元数据请求消息,并用于向所述客户端返回所述请求的文件的元数据;
[0060] 数据缓存确定单元502,用于根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。
[0061] 优选的,所述文件的元数据可以包括所述文件的大小属性值、所述文件的单客户端访问频率/多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息中的一种或多种,其中:
[0062] 所述数据缓存确定单元502包括:
[0063] 第一数据缓存确定单元5021,用于如果所述文件的大小属性值小于大小预定值,且所述文件的当前请求客户端的单客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息;
[0064] 和/或,第二数据缓存确定单元5022,用于如果所述文件的大小属性值小于大小预定值,且所述文件的多客户端访问频率大于预定热点频率,则向数据服务器发送用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。这里的数据服务器的高速存储器包括固态硬盘等。
[0065] 另外,如图6所示,是本发明实施例另一种元数据服务器的结构示意图,该元数据服务器60在图5的基础上,还包括访问频率统计单元503,用于根据接收的客户端发送的文件的元数据请求消息的次数统计各个客户端针对不同文件的单客户端访问频率,和/或多个客户端针对同一文件的多客户端访问频率。
[0066] 本发明实施例中,所述元数据服务器60还包括元数据存储单元504,用于存储文件的元数据,所述文件的元数据包括所述文件的大小属性值、所述文件的单客户端访问频率/多客户端访问频率、所述文件的文件名和所述文件的所有数据缓存地址信息中的一种或多种。
[0067] 优选的,图5和图6中的文件的大小预定值可以设置为2M;文件的预定热点频率可以设置为该文件单位时间内的客户端访问量占总文件客户端访问量的10%时的客户端访问频率。预定热点频率根据单位时间访问次数定义,具体阈值可以调节,并不一定是一个定值,前面文件的大小预定值同理。文件的元数据可以包括文件的大小属性值、文件的单客户端访问频率/多客户端访问频率、文件的文件名和文件的所有数据缓存地址信息等属性信息。
[0068] 如图7所示,是本发明实施例一种数据服务器的结构示意图,所述数据服务器70包括:
[0069] 信息接收单元701,用于接收客户端发送的文件读取请求;
[0070] 数据发送单元702,用于根据所述文件读取请求中的所述文件的所有数据缓存地址信息,向所述客户端返回所述数据服务器的高速存储设备中所述文件的所有数据缓存地址信息对应的所述文件的所有数据。
[0071] 如图8所示,是本发明实施例另一种数据服务器结构示意图,在图7的基础上,数据服务器80还包括数据缓存单元803,用于根据接收的元数据服务器发送的用于将所述文件的所有数据进行缓存的消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。这里的元数据服务器发送的用于将所述文件的所有数据进行缓存的消息包括:元数据服务器向数据服务器发送的用于将所述文件的所有数据发送给所述客户端进行缓存的第一消息、元数据服务器向数据服务器发送的用于将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息。
[0072] 可选的,数据服务器80的高速存储设备包括固态硬盘等,本发明所述的高速存储设备并不以固态硬盘为限。
[0073] 如图9所示,是本发明实施例一种文件数据传输系统结构示意图,所述系统包括:
[0074] 客户端91,用于根据从元数据服务器请求得到的文件的元数据与文件的大小预定值以及预定热点频率的比较结果,从客户端本地缓存或者从数据服务器的高速存储器中获取文件的所有数据;
[0075] 元数据服务器92,用于根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送用于将文件的所有数据发送给客户端进行缓存的第一消息或者用于将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备的第二消息;
[0076] 数据服务器93,用于根据所述元数据服务器发送的第一消息或第二消息,对应的将所述文件的所有数据发送给所述客户端进行缓存或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备中。
[0077] 在一种实现下,元数据服务器92,具体用于接收客户端发送的文件的元数据请求消息,并向所述客户端返回所述请求的文件的元数据;还用于根据文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送将所述文件的所有数据发送给所述客户端进行缓存的第一消息或者将所述数据服务器的普通存储设备所存储的所述文件的所有数据缓存到所述数据服务器的高速存储设备的第二消息;这里的向所述客户端返回的文件的元数据可以包括文件的大小属性值、文件的单客户端访问频率/多客户端访问频率、文件的文件名和文件的所有数据缓存地址信息等属性信息中的一种或多种。文件的大小预定值可以设置为2M;文件的预定热点频率可以设置为该文件单位时间内的客户端访问量占总文件客户端访问量的10%时的客户端访问频率。预定热点频率根据单位时间访问次数定义,具体阈值可以调节,并不一定是一个定值,前面文件的大小预定值同理。文件的单客户端访问频率大于该文件的预定热点频率的数据可以称之为单一热点数据,文件的多客户端访问频率大于该文件的预定热点频率的数据可以称之为全局热点数据。
[0078] 需要说明的是,本发明实施例中的元数据服务器和数据服务器,可以部署于同一个物理实体上,也可以分布于不同的物理实体上,如图10所示,是本发明实施例另一种文件数据传输系统结构示意图,元数据服务器和数据服务器部署于同一个物理实体即存储节点上。单一热点数据缓存于客户端缓存100中,全局热点数据缓存于存储节点的高速存储设备200中。客户端的缓存可以减少同一客户端上相同的请求,在分布式系统中,客户端和存储节点间可能是城域网,网络的延迟很大,单一客户端请求频繁产生的热点文件,可以放在本客户端,减少网络交互的延迟;存储节点在普通存储设备的基础上可加高速存储设备,例如固态硬盘SSD(Solid State Disk),作为全局热点数据200的缓存,当访问的是由多个客户端产生的热点数据,就可以减少访问普通存储设备的延迟。
[0079] 本发明设备实施例所述方案针对小文件读取进行优化,采用根据文件的元数据与文件的大小预定值以及预定热点频率的比较结果,向数据服务器发送将文件的所有数据发送给客户端进行缓存的第一消息或者将数据服务器的普通存储设备所存储的文件的所有数据缓存到数据服务器的高速存储设备中的第二消息,实现了对热点小文件进行多级缓存,使得针对热点小文件,客户端可以根据所述文件的元数据与所述文件的大小预定值以及预定热点频率的比较结果,对应的从本地缓存获取所述文件的所有数据,或从数据服务器的高速缓存中获取所述文件的所有数据,从而提高了网络存储中小文件读取效率,减少普通存储设备的I/O请求次数,使用多级缓存方式加速热点文件访问速度,减少网络流量。
[0080] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述全部或部分步骤,所述的存储介质,如:ROM/RAM、磁盘、光盘等。
[0081] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。