一种获取文件数据的方法、系统和应用服务器的制造方法

文档序号:9870308阅读:467来源:国知局
一种获取文件数据的方法、系统和应用服务器的制造方法
【技术领域】
[0001]本发明属于云存储和分布式技术领域,具体涉及一种获取文件数据的方法、系统和应用服务器。
【背景技术】
[0002]云存储中保存的文件数是海量的,对于海量文件的快速查询和获取,是云存储系统应用中面临的一项重大挑战。
[0003]为了实现数据的快速查询和获取,通常的云存储系统会使用缓存技术来加速文件的访问和定位。
[0004]任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等等。在集群文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在集群中的位置。用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。
[0005]因此,应用侧进行文件的查询,先要到云存储所在的元数据服务器查询文件所在的位置信息,也就是文件的元数据,由于在云存储中文件是按照对象进行存储的,所以一个文件可能会返回一个或者多个的对象元数据信息;在得到对象的元数据信息后,应用侧的客户端会向对象所在的对象服务器发起读取请求,并得到对象数据。
[0006]这种方式下,对于频繁进行查询的系统来讲,尤其是大数据量的数据访问,由于应用侧需要对云存储所在的元数据服务器和对象服务器的缓存进行频繁的远程调用和数据传输,会对元数据服务器和对象服务器产生压力,影响应用侧数据的访问。
[0007]在云存储系统中,如何进一步优化文件元数据和文件数据的访问和使用,提升云存储对外服务的性能,是目前云存储系统应用中迫切需要解决的问题。

【发明内容】

[0008]本发明要解决的技术问题是对云存储系统的频繁读取操作,增加了对云存储系统中各个服务器的压力。
[0009]根据本发明一方面,提出一种获取文件数据的应用服务器,包括:
[0010]云存储客户端,用于接收应用程序获取文件数据的请求,并将所述请求转发给本地缓存接口,以及从缓存存取模块获取文件数据,并返回给所述应用程序;
[0011]本地缓存接口,用于接收所述云存储客户端发送的所述获取文件数据的请求,并转发给缓存控制模块;
[0012]缓存控制模块,用于接收所述本地缓存接口发送的所述获取文件数据的请求,并查找是否本地已缓存所述文件数据,如果已缓存,则通知缓存存取模块读取所述文件数据;
[0013]缓存存取模块,用于根据所述缓存控制模块的通知,读取所述文件数据,并返回给所述云存储客户端。
[0014]进一步,所述缓存控制模块用于在本地未缓存所述文件数据时,根据从管理平台获取的列表,查找是否在列表中的其他应用服务器中缓存所述文件数据,如果其他应用服务器已缓存,则向其发送所述获取文件数据的请求;
[0015]所述缓存存取模块用于接收其他应用服务器返回的所述文件数据,并返回给所述云存储客户端。
[0016]进一步,所述本地缓存接口用于接收其他服务器的本地缓存接口发送的获取文件数据的请求,并转发给所述缓存控制模块;
[0017]所述缓存控制模块用于接收所述本地缓存接口发送的获取文件数据的请求,并通知缓存存取模块读取该文件数据;
[0018]所述缓存存取模块用于根据所述缓存控制模块的通知,读取该文件数据,并返回给请求获取该文件数据的其他服务器的缓存存取模块;
[0019]其中,该其他应用服务器在本地未缓存该文件数据,并根据从管理平台获取的列表,查找到缓存该文件数据的应用服务器,则向所述本地缓存接口发送获取文件数据的请求。
[0020]进一步,所述缓存控制模块用于在所有应用服务器都未缓存所述文件数据时,向所述云存储客户端返回未找到的通知;
[0021]所述云存储客户端向云存储系统发送所述获取文件数据的请求,并将获取的所述文件数据返回给所述应用程序。
[0022]根据本发明一方面,提出一种获取文件数据的系统,包括至少一个上述任一所述应用服务器。
[0023]进一步,还包括:
[0024]管理平台,用于从多个所述应用服务器获取其缓存的文件数据以及文件元数据,形成所述应用服务器缓存文件数据的信息列表。
[0025]根据本发明一方面,提出一种获取文件数据的方法,包括:
[0026]应用服务器根据获取文件数据的请求,查找是否本地已缓存所述文件数据;
[0027]如果已缓存,则读取所述文件数据。
[0028]进一步,所述应用服务器经查找,在本地未缓存所述文件数据,根据从管理平台获取的列表,查找是否在列表中的其他应用服务器中缓存所述文件数据;
[0029]如果其他应用服务器已缓存所述文件数据,则向其发送所述获取文件数据的请求,并接收其返回的所述文件数据。
[0030]进一步,所述应用服务器接收其他服务器发送的获取文件数据的请求,读取该文件数据,并返回给请求获取该文件数据的其他服务器;
[0031]其中,该其他应用服务器在本地未缓存该文件数据,并根据从管理平台获取的列表,查找到缓存该文件数据的应用服务器,则向其发送获取文件数据的请求。
[0032]进一步,所述应用服务器在所有应用服务器都未缓存所述文件数据时,向云存储系统发送所述获取文件数据的请求,并获取其返回的所述文件数据。
[0033]本发明中,由于本地已缓存所述文件数据,则无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0034]如果该应用服务器本地未缓存所述文件数据,则查找是否在其他应用服务器中缓存了所述文件数据,并且,经查找列表,在其他应用服务器中找到该文件数据。从而,无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0035]如果该应用服务器中缓存了其他应用服务器要获取的文件数据,并将该文件数据返回给请求获取文件数据的其他应用服务器。从而,无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0036]如果所有应用服务器都未缓存该文件数据,则可以向云存储系统请求获取该文件数据。因此,也可以实现获取该文件数据的目的。
[0037]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【附图说明】
[0038]构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0039]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0040]图1为一种获取文件数据的应用服务器的结构示意图。
[0041]图2为一种获取文件数据的系统的结构示意图。
[0042]图3为一种获取文件数据的方法的流程示意图。
[0043]图4为一种获取文件数据的方法实施例的流程示意图。
【具体实施方式】
[0044]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0045]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0046]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0047]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0048]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0049]应注意到:
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1