一种数据存储和读取方法、系统、装置、设备及介质制造方法及图纸

技术编号:31623627 阅读:11 留言:0更新日期:2021-12-29 18:59
本公开涉及一种数据存储和读取方法、系统、装置、设备及介质。由于在确定用于存储目标数据的目标存储节点时,不仅考虑到了每个副本存储节点分别对应的预先配置的第一坐标,对每个副本存储节点分别与客户端节点之间的距离的影响,还考虑到了每个副本存储节点分别所在的机架,对每个副本存储节点分别与客户端节点之间的距离的影响,从而有利于更准确地确定每个副本存储节点分别与客户端节点之间的距离,也方便准确地确定用于存储目标数据的目标存储节点,也有利于在采用将距离客户端节点最近的副本存储节点确定为目标存储节点时,实现有效缩短数据存储和读写的耗时,提高存储节点间交互的效率。交互的效率。交互的效率。

【技术实现步骤摘要】
一种数据存储和读取方法、系统、装置、设备及介质


[0001]本公开涉及数据处理
,尤其涉及一种数据存储和读取方法、系统、装置、设备及介质。

技术介绍

[0002]在当前的分布式存储系统所包含的一个或多个集群中,通常一个集群有数百甚至数千台存储节点协同工作。比如,分布式文件存储系统(Hadoop Distributed File System,HDFS)中可以有多个集群,任一集群可以包含有数百,甚至数千台用于存储数据的存储节点,使得在确定用于存储某一数据的存储节点时,可供选择的存储节点有很多。如何准确地确定用于存储目标数据的存储节点是近几年来人们比较关注的问题。

技术实现思路

[0003]本公开提供了一种数据存储和读取方法、系统、装置、设备及介质,用以解决现有无法准确地确定目标存储节点来存储目标数据的问题。
[0004]本公开提供了一种数据存储方法,所述方法包括:
[0005]接收客户端节点发送的目标数据的数据存储请求;
[0006]基于至少两个副本存储节点分别所在的机架、以及所述至少两个副本存储节点分别对应的预先配置的第一坐标,从所述至少两个副本存储节点中,确定M个目标存储节点;其中,所述M为大于等于2的正整数,所述M个目标存储节点的剩余存储空间的大小满足所述目标数据所需的存储空间的大小;
[0007]将所述M个目标存储节点的信息发送至所述客户端节点,以使所述客户端节点将所述目标数据发送至所述M个目标存储节点进行存储。
[0008]本公开提供了一种数据读取方法,所述方法应用于客户端节点,所述方法包括:
[0009]发送目标数据的数据读取请求;
[0010]接收存储所述目标数据的M个目标存储节点的信息;其中,所述信息包括所述M个目标存储节点分别对应的第一坐标及所在的机架,所述M为大于等于2的正整数;
[0011]根据所述M个目标存储节点分别对应的第一坐标及所在的机架、所述客户端节点所在的机架、以及所述客户端节点对应的预先配置的第二坐标,确定所述M个目标存储节点分别与所述客户端节点之间的距离;
[0012]根据所述M个目标存储节点分别对应的距离,确定所述客户端节点所要访问的目标存储节点并访问相应的目标存储节点,以获取其所存储的所述目标数据。
[0013]本公开提供了一种数据读取方法,所述方法应用于数据管理节点,所述方法包括:
[0014]接收客户端节点发送的目标数据的数据读取请求;
[0015]确定存储所述目标数据的M个目标存储节点的信息并发送至所述客户端节点,以使所述客户端节点接收到所述M个目标存储节点的信息后,根据所述M个目标存储节点分别对应的第一坐标及所在的机架、所述客户端节点所在的机架、以及所述客户端节点分别对
应的预先配置的第二坐标,确定所述M个目标存储节点分别与所述客户端节点之间的距离,根据所述M个目标存储节点分别对应的距离,确定所述客户端节点所要访问的目标存储节点并访问相应的目标存储节点,以获取其所存储的所述目标数据;其中,所述信息包括所述M个目标存储节点分别对应的第一坐标,所述M为大于等于2的正整数。
[0016]本公开提供了一种数据存储系统,所述系统包括用于执行上述所述数据存储方法的数据管理节点、用于发送目标数据的数据存储请求的客户端节点以及用于存储数据的至少两个副本存储节点。
[0017]本公开提供了一种数据读取系统,所述系统包括用于执行上述所述数据读取方法的客户端节点、用于执行上述所述的数据读取方法的数据管理节点以及用于存储目标数据的至少两个目标存储节点。
[0018]本公开提供了一种数据存储装置,所述装置包括:
[0019]接收单元,用于接收客户端节点发送的目标数据的数据存储请求;
[0020]处理单元,用于基于至少两个副本存储节点分别所在的机架、以及所述至少两个副本存储节点分别对应的预先配置的第一坐标,从所述至少两个副本存储节点中,确定M个目标存储节点;其中,所述M为大于等于2的正整数,所述M个目标存储节点的剩余存储空间的大小满足所述目标数据所需的存储空间的大小;
[0021]发送单元,用于将所述M个目标存储节点的信息发送至所述客户端节点,以使所述客户端节点将所述目标数据发送至所述M个目标存储节点进行存储。
[0022]本公开提供了一种数据读取装置,所述装置应用于客户端节点,所述装置包括:
[0023]第一发送模块,用于发送读取目标数据的数据读取请求;
[0024]第一接收模块,用于接收存储所述目标数据的M个目标存储节点的信息;其中,所述信息包括所述M个目标存储节点分别对应的第一坐标及所在的机架,所述M为大于等于2的正整数;
[0025]第一处理模块,用于根据所述M个目标存储节点分别对应的第一坐标及所在的机架、以及所述客户端节点所在的机架、以及所述客户端节点对应的预先配置的第二坐标,确定所述M个目标存储节点分别与所述客户端节点之间的距离;根据所述M个目标存储节点分别对应的距离,确定所述客户端节点所要访问的目标存储节点并访问该相应的目标存储节点,以获取该目标存储节点其所存储的所述目标数据。
[0026]本公开提供了一种数据读取装置,所述装置应用于数据管理节点,所述装置包括:
[0027]第二接收模块,用于接收客户端节点发送的读取目标数据的数据读取请求;
[0028]第二处理模块,用于确定存储所述目标数据的M个目标存储节点的信息;
[0029]第二发送模块,用于将所述M个目标存储节点的信息发送至所述客户端节点,以使所述客户端节点接收到所述M个目标存储节点的信息后,根据所述M个目标存储节点分别对应的第一坐标及所在的机架、以及所述客户端节点所在的机架、以及所述客户端节点分别对应的预先配置的第二坐标,以及预先配置的第二坐标,确定所述M个目标存储节点分别与所述客户端节点之间的距离,根据所述M个目标存储节点分别对应的距离,确定所述客户端节点所要访问的目标存储节点并访问相应的目标存储节点,以获取其所存储的所述目标数据根据每个所述距离,确定所述客户端节点所要访问的目标存储节点并访问该目标存储节点,以获取该目标存储节点所存储的所述目标数据;其中,所述信息包括所述M个目标存储
节点分别对应的第一坐标,所述M为大于等于2的正整数。
[0030]本公开提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述所述数据存储方法的步骤,或,实现如上述所述数据读取方法的步骤,或,实现如上述所述数据读取方法的步骤。
[0031]本公开提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述数据存储方法的步骤,或,实现如上述所述数据读取方法的步骤,或,实现如上述所述数据读取方法的步骤。
[0032]由于在确定用于存储目标数据的目标存储节点时,不仅考虑到了每个副本存储节点分别对应的预先配置的第一坐标,对每个副本存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:接收客户端节点发送的目标数据的数据存储请求;基于至少两个副本存储节点分别所在的机架、以及所述至少两个副本存储节点分别对应的预先配置的第一坐标,从所述至少两个副本存储节点中,确定M个目标存储节点;其中,所述M为大于等于2的正整数,所述M个目标存储节点的剩余存储空间的大小满足所述目标数据所需的存储空间的大小;将所述M个目标存储节点的信息发送至所述客户端节点,以使所述客户端节点将所述目标数据发送至所述M个目标存储节点进行存储。2.根据权利要求1所述的方法,其特征在于,若所述客户端节点与所述至少两个副本存储节点位于同一数据中心,且所述至少两个副本存储节点被部署于至少两个机架上,所述基于至少两个副本存储节点分别所在的机架、以及所述至少两个副本存储节点分别对应的预先配置的第一坐标,从所述至少两个副本存储节点中,确定M个目标存储节点,包括:获取所述至少两个机架的顺序;按照所述至少两个机架的顺序,针对所述至少两个机架,确定已确定的目标存储节点的数量是否达到M个;若未达到,则根据该机架上的至少一个副本存储节点分别对应的第一坐标,确定目标存储节点;若达到,则停止继续确定目标存储节点。3.根据权利要求1所述的方法,其特征在于,若所述客户端节点与所述至少两个副本存储节点不位于同一数据中心,且所述至少两个副本存储节点被部署于至少两个机架上,所述基于至少两个副本存储节点分别所在的机架、以及所述至少两个副本存储节点分别对应的预先配置的第一坐标,从所述至少两个副本存储节点中,确定M个目标存储节点,包括:根据所述至少两个副本存储节点的剩余存储空间、以及所述目标数据所需的存储空间,确定至少两个候选存储节点;统计被部署于各机架上的候选存储节点的第二数量;根据多个所述第二数量以及预设的数量阈值Z,从所述至少两个候选存储节点中,确定归属于第一集合的目标存储节点;其中,所述Z为小于所述M,且大于等于1的正整数;根据任一已确定的目标存储节点对应的第一坐标、至少一个其它候选存储节点分别对应的第一坐标、及该目标存储节点分别与所述至少一个其它候选存储节点之间的访问路径,确定所述至少一个其它候选存储节点分别与该已确定的目标存储节点之间的第三距离;其中,所述其它候选存储节点为所述至少两个候选存储节点中,未被确定为所述目标存储节点的候选存储节点;基于所述至少一个其它存储节点分别对应的第三距离,从所述至少一个其它存储节点中,确定归属于第二集合的目标存储节点;其中,所述第一集合和所述第二集合中包含的目标存储节点的总数量为所述M。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述目标存储节点发送的通知信息;其中,所述通知消息为所述目标存储节点将所述目标数据存储完毕后发送的,所述通知信息携带有所述目标数据在所述目标存储节点中的存储路径;保存所述存储路径。5.根据权利要求1所述的方法,其特征在于,任一副本存储节点对应的第一坐标是根据
该副本存储节点所在的机架在数据中心中的第一机架序号、该副本存储节点所在的机架在预设坐标系中的第二机架序号、及该副本存储节点在其所在的机架上的位置所对应的机器序号确定的。6.一种数据读取方法,其特征在于,所述方法应用于客户端节点,所述方法包括:发送目标数据的数据读取请求;接收存储所述目标数据的M个目标存储节点的信息;其中,所述信息包括所述M个目标存储节点分别对应的第一坐标及所在的机架,所述M为大于等于2的正整数;根据所述M个目标存储节点分别对应的第一坐标及所在的机架、所述客户端节...

【专利技术属性】
技术研发人员:余利华蒋鸿翔范欣欣祝江华
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1