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

文档序号:9870308阅读:来源:国知局
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0050]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0051]本发明通过多层的分布式缓存,在应用侧增加了文件元数据和文件数据的缓存层,将频繁对于云存储系统进行访问的数据缓存到多层,实现了应用侧和云存储缓存数据的一致性共享,有效的提升了云存储使用的性能,并且,也解决了在高负载访问情况下,云存储系统资源利用率高、性能下降的问题。
[0052]图1为一种获取文件数据的应用服务器的结构示意图。该系统包括:云存储客户端110、本地缓存接口 120、缓存控制模块130、以及缓存存取模块140。其中:
[0053]云存储客户端110,用于接收应用程序获取文件数据的请求,并将所述请求转发给本地缓存接口,以及从缓存存取模块获取文件数据,并返回给所述应用程序。
[0054]本地缓存接口 120,负责代理侧服务的适配,与客户端程序进行通信,并且完成客户端程序的数据的请求和接收的处理。用于接收所述云存储客户端发送的所述获取文件数据的请求,并转发给缓存控制模块。
[0055]缓存控制模块130,实现访问控制、链路管理、路由管理和数据操作。用于接收所述本地缓存接口发送的所述获取文件数据的请求,并查找是否本地已缓存所述文件数据,如果已缓存,则通知缓存存取模块读取所述文件数据。
[0056]缓存存取模块140,用于根据所述缓存控制模块的通知,读取所述文件数据,并返回给所述云存储客户端。
[0057]缓存存取模块140提供内存/SSD/硬盘介质的三级存储管理和访问,具体可以根据应用的要求进行不同的缓存数据的存取和保留策略,可根据数据访问频度进行最近最少使用算法(LRU)控制。缓存的存储模式在保证访问性能的同时提供数据的持久化存储,数据不会随着服务节点重新启动而丢失。数据存储层提供数据生存期管理机制,能够自动清理过期数据。
[0058]其中,缓存存取模块140缓存文件元数据和文件数据,据此读取所述文件数据的操作与云存储系统侧相同。在此不再详细说明。
[0059]在该实施例中,由于本地已缓存所述文件数据,则无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0060]在本发明的实施例中,所述缓存控制模块用于在本地未缓存所述文件数据时,根据从管理平台获取的列表,查找是否在列表中的其他应用服务器中缓存所述文件数据,如果其他应用服务器已缓存,则向其发送所述获取文件数据的请求。
[0061]所述缓存存取模块用于接收其他应用服务器返回的所述文件数据,并返回给所述云存储客户端。
[0062]在该实施例中,如果该应用服务器本地未缓存所述文件数据,则查找是否在其他应用服务器中缓存了所述文件数据,并且,经查找列表,在其他应用服务器中找到该文件数据。从而,无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0063]在本发明的实施例中,所述本地缓存接口用于接收其他服务器的本地缓存接口发送的获取文件数据的请求,并转发给所述缓存控制模块。
[0064]所述缓存控制模块用于接收所述本地缓存接口发送的获取文件数据的请求,并通知缓存存取模块读取该文件数据。
[0065]所述缓存存取模块用于根据所述缓存控制模块的通知,读取该文件数据,并返回给请求获取该文件数据的其他服务器的缓存存取模块。
[0066]其中,该其他应用服务器在本地未缓存该文件数据,并根据从管理平台获取的列表,查找到缓存该文件数据的应用服务器,则向所述本地缓存接口发送获取文件数据的请求。
[0067]在该实施例中,该应用服务器中缓存了其他应用服务器要获取的文件数据,并将该文件数据返回给请求获取文件数据的其他应用服务器。从而,无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0068]在本发明的实施例中,所述缓存控制模块用于在所有应用服务器都未缓存所述文件数据时,向所述云存储客户端返回未找到的通知。
[0069]所述云存储客户端向云存储系统发送所述获取文件数据的请求,并将获取的所述文件数据返回给所述应用程序。其中,云存储系统包括元数据服务器和对象服务器,在云存储系统中,为了提供访问的性能,在元数据和数据节点上也会提供相应的缓存机制,这是云存储本身的机制,本发明上述各个实施例的缓存就是在这个基础上,又实现了应用侧的一个缓存层。
[0070]在该实施例中,所有应用服务器都未缓存该文件数据,则可以向云存储系统请求获取该文件数据。因此,也可以实现获取该文件数据的目的。
[0071]图2为一种获取文件数据的系统的结构示意图。该系统包括多个应用服务器210。其中,每个应用服务器如上述各个实施例所述。
[0072]如果应用服务器本地缓存文件数据,则可以从本地直接获取文件数据;如果本地未缓存,还可以从其他缓存该文件数据的应用服务器获取该文件数据,无需频繁访问云存储系统。如果所有应用服务器都未缓存该文件数据,还可以从云存储系统获取。因此,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。并且,还可以实现获取文件数据的目的。
[0073]还如图2所示,该系统还包括:管理平台220,用于从多个所述应用服务器获取其缓存的文件数据以及文件元数据,形成所述应用服务器缓存文件数据的信息列表。即,管理平台缓存服务器列表和缓存数据信息,能够根据本地和集群缓存的数据协调进行本地或者全局的数据访问。
[0074]由于管理平台形成了文件数据的信息列表,则应用服务器在本地未缓存该文件数据时,可以根据该列表查找在哪个应用服务器缓存了该文件数据,并从该应用服务器获取该文件数据。因此,无需频繁访问云存储系统,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0075]管理平台形成的文件数据的信息列表有更新时,将更新后的信息列表下发给各个应用服务器。以便各个应用服务器及时获取该列表信息,并快速的查找、获取到该文件数据。
[0076]本发明在不改变现有云存储平台整体技术框架的前提下,在应用侧增加了具有分布式缓存的应用服务器和分布式缓存管理平台,与云存储分布式缓存协同,实现了多层的分布式缓存层,将频繁对于云存储系统进行访问的数据缓存到应用侧和云存储。
[0077]分布式缓存为应用程序提供了本地程序库和本地缓存数据组成的若干应用侧节点的服务集群。通过新增的分布式缓存管理平台,实现了应用侧缓存数据的一致性访问和共享。应用服务器通过本地的程序库与管理平台进行交互,获取可用的应用侧缓存服务器列表和缓存数据信息,并根据本地和集群缓存的数据进行本地或者全局的数据访问。改进了应用侧对云存储数据访问的流程,从而有效的提升了云存储使用的性能,也解决了在高负载访问情况下,云存储系统资源利用率高,性能下降的问题。
[0078]本发明在应用侧增加访问云存储系统的文件元数据和文件数据的缓存;结合本地数据的缓存,改进了数据访问的流程;通过缓存管理平台,协调应用侧数据的访问,实现了缓存数据的一致性访问和共享。
[0079]下面将结合附图和各个实施例,进行详细说明。
[0080]图3为一种获取文件数据的方法的流程示意图。该方法包括以下步骤:
[0081]在步骤310,应用服务器根据获取文件数据的请求,查找是否本地已缓存所述文件数据。
[0082]在步骤320,如果已缓存,则读取所述文件数据。
[0083]在该实施例中,由于本地已缓存所述文件数据,则无需向云存储系统请求获取所述文件数据。从而,减少了对云存储系统的频繁读取操作,减轻了对云存储系统中各个服务器的压力。
[0084]在本发明的实施例中,在步骤320中还包
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1