用于促进对分布式存储系统中的数据的访问的装置和方法_2

文档序号:8433909阅读:来源:国知局
置。
[0027]如图1所示,装置100包括收集单元101、元数据获取单元102、接口单元103以及访问扩展单元104。
[0028]收集单元101被配置为从分布式存储系统收集分布式存储系统的运行状态相关信息。所述分布式存储系统的运行状态相关信息可包括分布式存储系统在某个时间点的状态信息和分布式存储系统在给定时间段内的状态统计信息。分布式存储系统在某个时间点的状态信息包括但不限于:在某个时间点的存储节点负荷(例如CPU使用率、存储器使用率、网络速度、响应时间)、存储节点性能、节点健康状态等。分布式存储系统在给定时间段内的状态统计信息例如包括在过去的几分钟内存储节点的平均响应时间等。以收集分布式存储系统在某个时间点的状态信息为例,收集分布式存储系统在某个时间点的状态信息可以包括从分布式存储系统收集实时矩阵,并基于所述实时矩阵来生成在某个时间点、整个分布式存储系统的状态概览和每个存储节点的具体状态。此外,基于所收集的实时矩阵,还可以生成分布式存储系统在给定时间段内的状态统计信息。可以理解,所述实时矩阵用来表示分布式存储系统中每个节点从不同维度考量的一系列值,基于所述实时矩阵来生成在某个时间点、整个分布式存储系统的状态概览和每个存储节点的具体状态可以按照本领域技术人员已知的方式进行,因而不再赘述。同样,基于所述实时矩阵来生成分布式存储系统在给定时间段内的状态统计信息也可以按照本领域技术人员已知的方式进行,故不再赘述。
[0029]元数据获取单元102被配置为获取与分布式存储系统中所存储的数据有关的元数据。在此使用的术语“元数据”是指用于描述所存储的数据的信息的数据。作为示例,元数据可以包括但不限于:所存储的数据的存储位置信息、所存储的数据的复制策略、所存储的数据的分片规则等。更具体地,所存储的数据的存储位置信息例如可以指示数据的分片及其备份分别存储于哪个存储节点上。
[0030]可以理解,元数据获取单元102具体从何处获取与分布式存储系统中所存储的数据有关的元数据取决于分布式存储系统具体架构。例如,在具有主节点(master node)的分布式存储系统的情况下,由于主节点维护与所有被存储的数据有关的元数据,因此,元数据获取单元102可以从主节点获取所述元数据。
[0031]在一个实施方式中,元数据获取单元102被配置为周期性地从分布式存储系统获取所述元数据。例如,元数据获取单元102可以按照预定的时间间隔(例如每5秒)从分布式存储系统获取所述元数据。在另一个实施方式中,元数据获取单元102被配置为接收数据的存储状态发生改变的通知,并响应于该通知而从分布式存储系统获取元数据。因而,响应于通知而从分布式存储系统获取元数据更能确保装置100中的元数据与分布式存储系统中的元数据保持同步和一致。
[0032]接口单元103被配置为响应于来自客户端的请求,向客户端提供分布式存储系统的运行状态相关信息和与客户端待访问的数据有关的元数据。
[0033]在一个实施方式中,接口单元103被进一步配置为响应于来自客户端的请求,向收集单元101发送第一查询请求以获取分布式存储系统的运行状态相关信息以及向元数据获取单元102发送第二查询请求以获取与客户端待访问的数据有关的元数据。收集单元101响应于该第一查询请求,从分布式存储系统收集所述运行状态相关信息,并且元数据获取单元102响应于该第二查询请求,从分布式存储系统获取所述元数据。在该实施方式中,由于接口单元103响应于来自客户端的请求分别向收集单元101和元数据获取单元102发送查询请求,收集单元101和元数据获取单元102分别响应于查询请求而获取运行状态相关信息和元数据,因而更能够确保获取运行状态相关信息和元数据的实时性以及一致性。
[0034]访问扩展单元104被配置为对分布式存储系统中的存储节点进行扩展,以使得客户端能够利用分布式存储系统的运行状态相关信息和与待访问的数据有关的元数据直接访问存储节点。现有的存储接口通常只能够接受来自分布式存储系统内部的访问,因此必须需要访问扩展单元104完成数据访问中转,令存储系统外部的客户端能够经由该访问扩展单元104直接访问存储节点。访问扩展单元104甚至可以安装在每个存储节点上。访问扩展单元104可以利用存储节点的现有功能或者被实施为存储节点中的新功能。
[0035]根据本发明的某些实施方式,装置100进一步包括信息存储库(未示出),该信息存储库被配置为存储收集单元101所收集的运行状态相关信息、以及元数据获取单元102所获取的元数据。接口单元103被进一步配置为响应于来自客户端的请求,查询该信息存储库以获取所述运行状态相关信息和与待访问的数据有关的元数据。所述信息存储库可以利用任何目前已知或将来开发的适当技术来实现。例如,所述信息存储库可以实现为数据库,例如关系数据库或者其他类型的数据库。备选地,所述信息存储库的其他实施方式也是可行的。本发明的范围在此方面不受限制。
[0036]应当理解,上文参考图1描述的装置100可以利用各种方式实现。例如,在某些实施方式中,装置100可以利用软件和/或固件来实现。备选地或附加地,装置100可以部分地或者完全地基于硬件来实现。例如,装置100可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。装置100也可以实现为片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制
[0037]接下来参照图2,其示出了根据本发明一个实施方式的用于访问分布式存储系统中的数据的装置200的框图。根据某些实施方式,装置200例如可以与上文参照图1所描述的装置100结合使用。
[0038]如图2所示,装置200包括发送单元201、接收单元202和访问单元203。
[0039]发送单元201被配置为发送用于获取分布式存储系统的运行状态相关信息和与待访问的数据有关的元数据的请求。在装置200与图1所示的装置100结合使用的情况下,发送单元201例如可以向装置100的接口单元103发送用于获取所述运行状态相关信息和所述元数据的所述请求。根据一个实施方式,所述请求中可以包括待访问的数据的标识,例如待访问的文件的文件名或其他标识符。
[0040]接收单元202被配置为接收对所述请求的响应,响应中包含所述运行状态相关信息和所述元数据。在装置200与图1所示的装置100结合使用的情况下,接收单元202例如可以从装置100的接口单元103接收所述响应。
[0041]访问单元203被配置为利用所述运行状态相关信息和所述元数据直接访问分布式存储系统中的存储节点,以便访问存储节点上所存储的数据。
[0042]利用所获取的分布式存储系统的运行状态相关信息和与待访问的数据有关的元数据,访问单元203能够自行决定访问数据的适当方式,以或实现最佳的应用目的。
[0043]具体而言,如上所述,与待访问的数据有关的元数据例如包括待访问的数据的存储位置信息、所存储的数据的复制策略、所存储的数据的分片规则等。基于与待访问的数据有关的元数据,可以获知待访问的数据被分为多少个分片、每个分片具有多少个副本、以及各个分片及其副本分别存储于哪个存储节点上。仍然如上所述,分布式存储系统的运行状态相关信息例如包括在某个时间点或给定时间段内,存储节点负荷(例如CPU使用率、存储器使用率、网络速度、响应时间)、存储节点性能、节点健康状态等。基于分布式存储系统的运行状态相关信息,可以获知存储有待访问的数据的分片及其副本的存储节点的负荷状况。因而,访问单元203能够基于存储系统的运行状态相关信息和与待访问数据有关的元数据,自行决定并行访问不同存储节点上所存储的数据分片或分片的副本,还是从能够获得最佳输入输出(10)性能的存储节点智能地访问数据。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1