技术特征:
1.一种数据读写方法,包括:响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询所述多个存储节点,以获取所述目标存储节点的标识信息;基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。2.根据权利要求1所述的方法,其中,所述方法应用于分布式存储系统的客户端;所述分布式存储系统还包括:元数据服务器,所述元数据服务器内记录存储池与存储池内的多个存储节点之间的映射关系;所述方法还包括:基于预设周期,从所述元数据服务器获取所述映射关系;所述确定所述目标数据所属的存储池内的多个存储节点,包括:若所述客户端本地未缓存所述目标存储节点的标识信息,且,从所述元数据服务器未获取所述目标存储节点的标识信息,基于所述映射关系,确定所述目标数据所属的存储池内的多个存储节点。3.根据权利要求1或2所述的方法,其中,所述查询所述多个存储节点,以获取所述目标存储节点的标识信息,包括:依次向所述多个存储节点中的单个存储节点发送第一查询请求消息,所述第一查询请求消息用于查询所述单个存储节点内是否存储所述目标数据,直至接收到第一查询响应消息,所述第一查询响应消息用于表明存储所述目标数据;基于所述第一查询响应消息,获取所述目标存储节点的标识信息。4.根据权利要求3所述的方法,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述基于所述第一查询响应消息,获取所述目标存储节点的标识信息,包括:针对产生所述第一查询响应消息的存储节点是所述主副本所在的存储节点,所述第一查询响应消息中包含所述目标存储节点的标识信息,执行:从所述第一查询响应消息中获取所述目标存储节点的标识信息。5.根据权利要求3所述的方法,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述基于所述第一查询响应消息,获取所述目标存储节点的标识信息,包括:针对产生所述第一查询响应消息的存储节点是所述从副本所在的存储节点,所述第一查询响应消息中获取所述主副本所在的存储节点的标识信息,执行:基于所述主副本所在的存储节点的标识信息,向所述主副本所在的存储节点发送第二
查询请求消息,所述第二查询请求消息用于查询所述主副本所在的存储节点内存储的目标存储节点的标识信息;接收所述主副本所在的存储节点发送的第二查询响应消息,所述第二查询响应消息中包含所述目标存储节点的标识信息;从所述第二查询响应消息中,获取所述目标存储节点的标识信息。6.一种分布式存储系统,包括:客户端和多个存储节点;所述多个存储节点包括目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;所述客户端,用于响应于针对所述目标数据的读写请求消息,确定所述目标数据所属的存储池内的所述多个存储节点;查询所述多个存储节点,以获取所述目标存储节点的标识信息;以及,基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。7.根据权利要求6所述的系统,还包括:元数据服务器,用于记录存储池与存储池内的多个存储节点之间的映射关系;所述客户端进一步用于:基于预设周期,从所述元数据服务器获取所述映射关系;以及,若所述客户端本地未缓存所述目标存储节点的标识信息,且,从所述元数据服务器未获取所述目标存储节点的标识信息,基于所述映射关系,确定所述多个存储节点。8.根据权利要求6或7所述的系统,其中,所述客户端进一步用于:依次向所述多个存储节点中的单个存储节点发送第一查询请求消息,所述第一查询请求消息用于查询所述单个存储节点内是否存储所述目标数据,直至接收到第一查询响应消息,所述第一查询响应消息用于表明存储所述目标数据;基于所述第一查询响应消息,获取所述目标存储节点的标识信息。9.根据权利要求8所述的系统,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述多个存储节点包括:存储所述目标数据的存储节点;所述存储所述目标数据的存储节点用于:若所述存储所述目标数据的存储节点是所述主副本所在的存储节点,将所述目标数据对应的所有副本所在的存储节点的标识信息携带在所述第一查询响应消息中;所述客户端进一步用于:从所述第一查询响应消息中,获取所述所有副本所在的存储节点的标识信息,作为所述目标存储节点的标识信息。10.根据权利要求8所述的系统,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述多个存储节点包括:存储所述目标数据的存储节点;所述存储所述目标数据的存储节点用于:
若所述存储所述目标数据的存储节点是所述从副本所在的存储节点,将所述目标数据对应的主副本所在的存储节点的标识信息携带在所述第一查询响应消息中;所述客户端进一步用于:从所述第一查询响应消息中,获取所述主副本所在的存储节点的标识信息,基于所述主副本所在的存储节点的标识信息,向所述主副本所在的存储节点发送第二查询请求消息,所述第二查询请求消息用于触发所述主副本所在的存储节点产生第二查询响应消息,所述第二查询响应消息中包含所述目标数据对应的所有副本所在的存储节点的标识信息;从所述主副本所在的存储节点发送的所述第二查询响应消息中,获取所述所有副本所在的存储节点的标识信息,作为所述目标存储节点的标识信息。11.一种数据读写装置,包括:确定模块,用于响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询模块,用于查询所述多个存储节点,以获取所述目标存储节点的标识信息;读写模块,用于基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。12.根据权利要求11所述的装置,其中,所述方法应用于分布式存储系统的客户端;所述分布式存储系统还包括:元数据服务器,所述元数据服务器内记录存储池与存储池内的多个存储节点之间的映射关系;所述装置还包括:获取模块,用于基于预设周期,从所述元数据服务器获取所述映射关系;所述确定模块进一步用于:若所述客户端本地未缓存所述目标存储节点的标识信息,且,从所述元数据服务器未获取所述目标存储节点的标识信息,基于所述映射关系,确定所述目标数据所属的存储池内的多个存储节点。13.根据权利要求11或12所述的装置,其中,所述查询模块进一步用于:依次向所述多个存储节点中的单个存储节点发送第一查询请求消息,所述第一查询请求消息用于查询所述单个存储节点内是否存储所述目标数据,直至接收到第一查询响应消息,所述第一查询响应消息用于表明存储所述目标数据;基于所述第一查询响应消息,获取所述目标存储节点的标识信息。14.根据权利要求13所述的装置,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述查询模块进一步用于:针对产生所述第一查询响应消息的存储节点是所述主副本所在的存储节点,所述第一查询响应消息中包含所述目标存储节点的标识信息,执行:从所述第一查询响应消息中获取所述目标存储节点的标识信息。
15.根据权利要求13所述的装置,其中,所述目标数据存在多个副本,所述多个副本包括:主副本和从副本;所述目标存储节点包括:所述主副本所在的存储节点,以及,所述从副本所在的存储节点;所述查询模块进一步用于:针对产生所述第一查询响应消息的存储节点是所述从副本所在的存储节点,所述第一查询响应消息中获取所述主副本所在的存储节点的标识信息,执行:基于所述主副本所在的存储节点的标识信息,向所述主副本所在的存储节点发送第二查询请求消息,所述第二查询请求消息用于查询所述主副本所在的存储节点内存储的目标存储节点的标识信息;接收所述主副本所在的存储节点发送的第二查询响应消息,所述第二查询响应消息中包含所述目标存储节点的标识信息;从所述第二查询响应消息中,获取所述目标存储节点的标识信息。16.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。18.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
技术总结
本公开提供了一种数据读写方法、分布式存储系统、装置、设备和存储介质,涉及人工智能领域,具体涉及云计算、云存储和内容分发技术,可应用在智能云场景下。数据读写方法包括:响应于针对目标数据的读写请求消息,确定所述目标数据所属的存储池内的多个存储节点,所述多个存储节点包括所述目标数据所在的目标存储节点,且,所述多个存储节点中的至少一个存储节点内存储所述目标存储节点的标识信息;查询所述多个存储节点,以获取所述目标存储节点的标识信息;基于所述目标存储节点的标识信息,将所述读写请求消息发送至所述目标存储节点,以对所述目标存储节点内的所述目标数据进行读写操作。本公开可以提高读写操作的可用性。本公开可以提高读写操作的可用性。本公开可以提高读写操作的可用性。
技术研发人员:易正利
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2022.06.09
技术公布日:2022/10/11