首页> 中国专利> 一种分布式存储的缓存更新方法及分布式存储系统

一种分布式存储的缓存更新方法及分布式存储系统

摘要

本发明公开了一种分布式存储的缓存更新方法及分布式存储系统,该方法包括:客户端通过缓存提供的元数据的目标位置提取数据时,若数据发生了迁移,元数据节点返回元数据重定向信息;客户端在接收到返回元数据重定向信息后,发送元数据更新请求到元数据节点;元数据节点接收元数据更新请求后,向缓存返回新的元数据目标位置,同时,向其他所有注册该元数据的缓存发送更新信息;客户端通过缓存更新后的元数据的目标位置提取数据。本发明与现有的缓存更新方法相比,本发明在Data发送迁移后,通过首次访问该数据的缓存的更新来触发所有对Data进行缓存的所有缓存的更新。可有效提升缓存的更新效率,从而提升整个分布式存储的数据读取效率。

著录项

  • 公开/公告号CN104683374A

    专利类型发明专利

  • 公开/公告日2015-06-03

    原文格式PDF

  • 申请/专利权人 北京华云网际科技有限公司;

    申请/专利号CN201310613014.6

  • 发明设计人 游峰;王劲凯;

    申请日2013-11-28

  • 分类号

  • 代理机构

  • 代理人

  • 地址 100080 北京市海淀区彩和坊路8号2层216室

  • 入库时间 2023-12-18 09:04:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-18

    专利权的保全 IPC(主分类):H04L29/08 专利号:ZL2013106130146 申请日:20131128 授权公告日:20190308 登记生效日:20220823 解除日:

    专利权的保全及其解除

  • 2019-09-17

    专利权的保全 IPC(主分类):H04L29/08 授权公告日:20190308 登记生效日:20190823 申请日:20131128

    专利权的保全及其解除

  • 2019-03-08

    授权

    授权

  • 2016-07-27

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131128

    实质审查的生效

  • 2015-06-03

    公开

    公开

说明书

技术领域

本发明涉及分布式存储技术领域,特别涉及一种分布式存储的缓存更新方法及分布式存储系统。

背景技术

分布式存储,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷。它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

分布式存储在存储数据时,将数据存储到各存储服务器的数据节点(DataNode)中,将数据在数据节点中的位置信息(元数据)存储到元数据节点(Metadata)中。在读取数据时,先到元数据节点中找到数据的元数据信息,在根据元数据到对应的数据节点中请求Data。由于元数据节点中存储的是整个分布存储系统的所有元数据,每次读取数据都到Metadata中读取元数据的效率很低。因此,在每个存储节点上都配置缓存(Metadata Cache)。将已读取过的元数据信息缓存到Metadata Cache中,从而提升系统的读取效率。

如上所述,分布式存储由于存储服务器的加入和退出都会导致数据迁移,在Metadata中元数据更新后,如何与各存储节点上的Metadata Cache中的数据进行同步(缓存更新),将对系统性能带来较大影响。现有的缓存更新方法:缓存更新方法一、缓存更新方法二都有明细的缺陷。

缓存方法一包括:A、Client向Metadata Cache请求Data的元数据信息;B、如果被请求的信息本地有缓存,则直接返回。C、如果没有则从Metadata进行请求,并在本地缓存然后返回给客户端(Client)。同时在Metadata对该请求进行注册登记。D、Client根据请求到的Data元数据信息到目标节点请求Data。E、当Data在Data Node中发送迁移时,Metadata更加注册名单,对所有注册过该元数据的所有Metadata Cache启动缓存更新。

如传统缓存更新方法一流程所述,一个分布式存储系统内有大量的数据迁移以及大量的Metadata Cache存在,每次数据迁移都会导致大量的缓存更新,会降低系统运行效率。

缓存方法二包括:A、Client向Metadata Cache请求Data的元数据信息;B、如果被请求的信息本地有缓存,则直接返回。如果没有则从Metadata进行请求,并在本地缓存然后返回给Client。C、Client根据请求到的Data元数据信息到目标节点请求Data。D、当Data在Data Node中发送迁移时,Data Node拒绝并返回重定向信息。E、Client向Metadata Cache申请元数据更新,MetadataCache再向Metadata申请元数据更新。F、Client根据更新后的元数据到新的Data Node请求Data。

如传统缓存更新方法二流程所述,当Data发送迁移后,所有缓存过该Data元数据的Metadata Cache再次访问该数据时都会走一遍重定位、再申请更新的流程,系统效率同样不高。

综上所述,为提升分布式存储的数据读取性能,需要提出一种更高效率的缓存更新机制。

针对相关技术中的问题,目前尚未提出有效的解决方案。

发明内容

针对相关技术中的问题,本发明提出一种分布式存储的缓存更新方法及分布式存储系统,能够提升分布式存储的数据读取性能。

本发明的技术方案是这样实现的:

本发明提供了一种分布式存储的缓存更新方法,该方法包括以下步骤:

客户端通过缓存提供的元数据的目标位置提取数据时,若数据发生了迁移,元数据节点返回元数据重定向信息;

客户端在接收到返回元数据重定向信息后,发送元数据更新请求到元数据节点;

元数据节点接收元数据更新请求后,向缓存返回新的元数据目标位置,同时,向其他所有注册该元数据的缓存发送更新信息;

客户端通过缓存更新后的元数据的目标位置提取数据。

优选的,客户端通过缓存提供的元数据的目标位置提取数据具体包括:客户端向缓存申请数据的元数据信息;缓存收到申请后,判断是否存储该元数据信息的目标位置,若没有存储,则缓存向元数据节点发送申请该数据的元数据信息,元数据节点在收到发送的所述申请信息后返回该元数据信息目标位置给缓存。

优选的,该方法还包括,在缓存首次向元数据节点申请元数据时,元数据节点对该缓存进行注册。

优选的,所述客户端在接收到返回元数据重定向信息后,发送元数据更新请求到元数据节点具体为:

客户端收到重定向信息时,向缓存申请元数据更新,缓存再向元数据节点申请元数据更新。

本发明还提供了一种分布式存储系统,该系统包括多台存储服务器,各存储服务器通过内部选举产生主服务器,存储服务器可动态加入和退出,在主服务器退出服务时,剩余的存储服务器再次通过内部选举产生主服务器,其中,每个存储服务器包括:用于存储数据的数据节点;用于存储数据的位置心急的元数据节点,用于缓存客户端申请过的元数据信息的缓存。

优选的,在有存储服务器加入或者退出时,所述分布式存储系统对存储的数据动态平衡,使数据在数据节点中迁移,同时改变元数据节点中的元数据信息。

本发明与现有的缓存更新方法相比,本发明在Data发送迁移后,通过首次访问该数据的缓存的更新来触发所有对Data进行缓存的所有缓存的更新。可有效提升缓存的更新效率,从而提升整个分布式存储的数据读取效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的分布式存储的缓存更新方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的实施例,提供了一种分布式存储的缓存更新方法。

如图1所示,根据本发明实施例的分布式存储的缓存更新方法,包括以下步骤:

客户端通过缓存提供的元数据的目标位置提取数据时,若数据发生了迁移,元数据节点返回元数据重定向信息;

客户端在接收到返回元数据重定向信息后,发送元数据更新请求到元数据节点;

元数据节点接收元数据更新请求后,向缓存返回新的元数据目标位置,同时,向其他所有注册该元数据的缓存发送更新信息;

客户端通过缓存更新后的元数据的目标位置提取数据。

下面结合附图1对本方法进行详细说明,该方法在执行时,具体包括:

步骤S101,当有数据查询请求时,客户端向缓存申请数据(Data)的元数据信息。

步骤S102,缓存先判断是否已缓存了该Data的元数据?如已缓存则转到步骤S105。如未缓存,则到步骤S103,缓存向元数据节点申请该Data的元数据。

步骤S104,元数据节点向缓存返回申请的元数据,同时对该缓存进行注册。

步骤S105,缓存向客户端返回申请的元数据信息,客户端向目标地址请求Data。

步骤S106,如果目标地址成功返回Data,则该查询结束。如果目标地址的Data发送了数据迁移,则元数据节点返回重定向信息。

步骤S107,元数据节点返回重定向信息,客户端向缓存申请元数据更新,缓存向元数据节点申请元数据更新。

步骤S108,元数据节点向缓存返回更新后的元数据。同时启动对该元数据注册过的所有其他缓存的缓存更新。

步骤S109,缓存向客户端返回更新的元数据信息,客户端向目标地址请求Data。目标地址返回Data后,查询结束。

通过本发明的上述方案,可以看出,本发明实施例提供的数据更新方法与现有的缓存更新方法相比,本发明在Data发送迁移后,通过首次访问该数据的缓存的更新来触发所有对Data进行缓存的所有缓存的更新。可有效提升缓存的更新效率,从而提升整个分布式存储的数据读取效率。

本发明实施例还提供了一种分布式存储系统,该系统包括:多台存储服务器,各存储服务器通过内部选举产生主服务器,存储服务器可动态加入和退出,在主服务器退出服务时,剩余的存储服务器再次通过内部选举产生主服务器,其中,每个存储服务器包括:用于存储数据的数据节点;用于存储数据的位置心急的元数据节点,用于缓存客户端申请过的元数据信息的缓存。

优选的,在有存储服务器加入或者退出时,所述分布式存储系统对存储的数据动态平衡,使数据在数据节点中迁移,同时改变元数据节点中的元数据信息。

通过上述分布式存储系统可以看出,该存储系统与分布式存储的缓存更新方法相对应的硬件设备,在存储服务器发生改变时,改变元数据节点中的元数据信息。并在接收到客户端发送的元数据申请时,通过元数据节点将更该后的元数据返送给客户,并将该元数据同时在其他所有缓存进行更新,可有效提升缓存的更新效率,从而提升整个分布式存储的数据读取效率。

综上所述,借助于本发明的上述技术方案,通过首次访问该数据的缓存的更新来触发所有对Data进行缓存的所有缓存的更新。可有效提升缓存的更新效率,从而提升整个分布式存储的数据读取效率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号