数据读写方法、分布式存储系统、装置、设备和存储介质制造方法及图纸

技术编号:35181968 阅读:15 留言:0更新日期:2022-10-12 17:51
本公开提供了一种数据读写方法、分布式存储系统、装置、设备和存储介质,涉及人工智能领域,具体涉及云计算、云存储和内容分发技术,可应用在智能云场景下。数据读写方法包括:响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询所述多个存储节点,以获取所述目标存储节点的标识信息;基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。本公开可以提高读写操作的可用性。本公开可以提高读写操作的可用性。本公开可以提高读写操作的可用性。

【技术实现步骤摘要】
数据读写方法、分布式存储系统、装置、设备和存储介质


[0001]本公开涉及人工智能领域,具体涉及云计算、云存储和内容分发技术,可应用在智能云场景下,尤其涉及一种数据读写方法、分布式存储系统、装置、设备和存储介质。

技术介绍

[0002]分布式存储技术是指将数据分散存储在多台机器上。典型的分布式存储系统包括:客户端、元数据服务器和数据存储服务器。数据存储服务器用于存储用户数据;元数据服务器用于存储用户数据的元数据,元数据例如为用户数据的存储位置信息;客户端是用户使用分布式存储系统的入口,基于用户的读写请求消息对目标数据进行读写操作。
[0003]相关技术中,客户端可以从元数据服务器获取目标数据的存储位置信息,基于存储位置信息对目标数据进行读写操作。

技术实现思路

[0004]本公开提供了一种数据读写方法、分布式存储系统、装置、设备和存储介质。
[0005]根据本公开的一方面,提供了一种数据读写方法,包括:响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询所述多个存储节点,以获取所述目标存储节点的标识信息;基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。
[0006]根据本公开的另一方面,提供了一种分布式存储系统,包括:客户端和多个存储节点;所述多个存储节点包括目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;所述客户端,用于响应于针对所述目标数据的读写请求消息,确定所述目标数据所属的存储池内的所述多个存储节点;查询所述多个存储节点,以获取所述目标存储节点的标识信息;以及,基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。
[0007]根据本公开的另一方面,提供了一种数据读写装置,包括:确定模块,用于响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询模块,用于查询所述多个存储节点,以获取所述目标存储节点的标识信息;读写模块,用于基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。
[0008]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器
执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
[0009]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
[0010]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
[0011]根据本公开的技术方案,可以提高读写操作的可用性。
[0012]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0013]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0014]图1是根据本公开第一实施例的示意图;
[0015]图2是本公开实施例对应的应用场景的示意图;
[0016]图3是本公开实施例中存储节点所存储的副本信息的示意图;
[0017]图4是根据本公开第二实施例的示意图;
[0018]图5是本公开实施例中获取目标存储节点的标识信息的示意图;
[0019]图6是根据本公开第三实施例的示意图;
[0020]图7是根据本公开第四实施例的示意图;
[0021]图8是用来实现本公开实施例的数据读写方法的电子设备的示意图。
具体实施方式
[0022]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0023]相关技术中,客户端可以从元数据服务器获取目标数据的存储位置信息,基于存储位置信息对目标数据进行读写操作。目标数据的存储位置信息具体为目标数据所在的目标存储节点的标识信息。
[0024]但是,若元数据服务器发生故障,客户端无法获取目标数据的存储位置信息,进而无法对目标数据进行读写操作,因此,客户端从元数据服务器获取目标数据的存储位置信息的方式,可用性较差。
[0025]为了提高读写操作的可用性,本公开提供如下实施例。
[0026]图1是根据本公开第一实施例的示意图,本实施例提供一种数据读写方法,该方法包括:
[0027]101、响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息。
[0028]102、查询所述多个存储节点,以获取所述目标存储节点的标识信息。
[0029]103、基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。
[0030]本实施例的数据读写方法可以由分布式存储系统中的客户端执行。
[0031]读写请求消息可以来自于用户终端,即,用户需要对目标数据进行读写操作时,可以通过用户终端向分布式存储系统的客户端发送读写请求消息。用户终端可以包括:个人电脑(Personal Computer、PC)、移动设备、智能家居设备、智能家居设备、可穿戴式设备等,移动设备例如包括手机、便携式电脑、平板电脑等,智能家居设备例如包括智能音箱、智能电视等,可穿戴式设备例如包括智能手表、智能眼镜等。
[0032]目标数据,是指用户待读写操作的数据,例如,网页数据、游戏数据、音视频数据等。
[0033]读写请求消息中可以包含目标数据的标识信息,以表明是针对目标数据的读写请求消息。
[0034]目标数据的标识信息,例如为统一资源定位器(Uniform Resource Locator,URL)地址,或者,也可以为目标数据所在的应用(Applicati本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据读写方法,包括:响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询所述多个存储节点,以获取所述目标存储节点的标识信息;基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。2.根据权利要求1所述的方法,其中,所述方法应用于分布式存储系统的客户端;所述分布式存储系统还包括:元数据服务器,所述元数据服务器内记录存储池与存储池内的多个存储节点之间的映射关系;所述方法还包括:基于预设周期,从所述元数据服务器获取所述映射关系;所述确定所述目标数据所属的存储池内的多个存储节点,包括:若所述客户端本地未缓存所述目标存储节点的标识信息,且,从所述元数据服务器未获取所述目标存储节点的标识信息,基于所述映射关系,确定所述目标数据所属的存储池内的多个存储节点。3.根据权利要求1或2所述的方法,其中,所述查询所述多个存储节点,以获取所述目标存储节点的标识信息,包括:依次向所述多个存储节点中的单个存储节点发送第一查询请求消息,所述第一查询请求消息用于查询所述单个存储节点内是否存储所述目标数据,直至接收到第一查询响应消息,所述第一查询响应消息用于表明存储所述目标数据;基于所述第一查询响应消息,获取所述目标存储节点的标识信息。4.根据权利要求3所述的方法,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述基于所述第一查询响应消息,获取所述目标存储节点的标识信息,包括:针对产生所述第一查询响应消息的存储节点是所述主副本所在的存储节点,所述第一查询响应消息中包含所述目标存储节点的标识信息,执行:从所述第一查询响应消息中获取所述目标存储节点的标识信息。5.根据权利要求3所述的方法,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述基于所述第一查询响应消息,获取所述目标存储节点的标识信息,包括:针对产生所述第一查询响应消息的存储节点是所述从副本所在的存储节点,所述第一查询响应消息中获取所述主副本所在的存储节点的标识信息,执行:基于所述主副本所在的存储节点的标识信息,向所述主副本所在的存储节点发送第二
查询请求消息,所述第二查询请求消息用于查询所述主副本所在的存储节点内存储的目标存储节点的标识信息;接收所述主副本所在的存储节点发送的第二查询响应消息,所述第二查询响应消息中包含所述目标存储节点的标识信息;从所述第二查询响应消息中,获取所述目标存储节点的标识信息。6.一种分布式存储系统,包括:客户端和多个存储节点;所述多个存储节点包括目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;所述客户端,用于响应于针对所述目标数据的读写请求消息,确定所述目标数据所属的存储池内的所述多个存储节点;查询所述多个存储节点,以获取所述目标存储节点的标识信息;以及,基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。7.根据权利要求6所述的系统,还包括:元数据服务器,用于记录存储池与存储池内的多个存储节点之间的映射关系;所述客户端进一步用于:基于预设周期,从所述元数据服务器获取所述映射关系;以及,若所述客户端本地未缓存所述目标存储节点的标识信息,且,从所述元数据服务器未获取所述目标存储节点的标识信息,基于所述映射关系,确定所述多个存储节点。8.根据权利要求6或7所述的系统,其中,所述客户端进一步用于:依次向所述多个存储节点中的单个存储节点发送第一查询请求消息,所述第一查询请求消息用于查询所述单个存储节点内是否存储所述目标数据,直至接收到第一查询响应消息,所述第一查询响应消息用于表明存储所述目标数据;基于所述第一查询响应消息,获取所述目标存储节点的标识信息。9.根据权利要求8所述的系统,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述多个存储节点包括:存储所述目标数据的存储节点;所述存储所述目标数据的存储节点用于:若所述存储所述目标数据的存储节点是所述主副本所在的存储节点,将所述目标数据对应的所有副本所在的存储节点的标识信息携带在所述第一查...

【专利技术属性】
技术研发人员:易正利
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1