数据存储方法、分布式存储系统及存储介质技术方案

技术编号:34164753 阅读:8 留言:0更新日期:2022-07-17 09:17
本发明专利技术提供了一种数据存储方法、分布式存储系统及存储介质,本发明专利技术通过接收待存储数据;根据接收待存储数据的存储节点标识,确定用于存储待存储数据的目标存储组,目标存储组关联的主存储控制应用部署于存储节点标识所对应的存储节点中;将待存储数据的存储请求发送至目标存储组中的主存储控制应用;本申请通过将随机选择存储组的技术手段进行修正,避免了接收待存储数据的存储节点,与所选择的存储组中的主存储控制应用所在存储节点不一致的情况,从而免去了将待存储数据的存储请求转发给主存储控制应用的过程,节约了网络流量,提高了整体存储速率,并减少了访问延迟。并减少了访问延迟。并减少了访问延迟。

Data storage method, distributed storage system and storage medium

【技术实现步骤摘要】
数据存储方法、分布式存储系统及存储介质


[0001]本专利技术实施例涉及数据存储与检索
,尤其涉及一种数据存储方法、分布式存储系统及存储介质。

技术介绍

[0002]分布式存储应用场景中用户通常通过存储节点上的协议网关来接入到分布式存储系统,用户发送的待存储数据先发送到协议网关,再通过协议网关向分布式存储系统请求存储数据。目前的分布式存储系统中包括多个存储组,每个存储组会关联多个存储控制应用(比如,分布式存储系统包括多个归置组(placement group,PG),其中每个PG关联有多个对象存储设备(Object Storage Driver,OSD))其中,对于每个存储组来说,其中一个为主存储控制应用,其余为副存储控制应用。
[0003]在分布式存储系统中待存储数据会被随机分配至一个存储组,然后将待存储数据先发送至该存储组的主存储控制应用,然后主存储控制应用执行存储操作,并将该待存储数据发送至其余的副存储控制应用,使得副存储控制应用执行副本的存储操作。
[0004]所以,由于存储组是随机选择的,当分布式存储系统中某个存储节点上的协议网关接收待存储数据时,可能会将待存储数据的发送至其余的存储节点(该存储节点中部署有主存储控制应用),由此引入额外的网络流量,限制整体存储速率,也增加了访问延迟。

技术实现思路

[0005]本专利技术提供一种数据存储方法、分布式存储系统及存储介质,能够节约数据存储时的网络流量,提高存储速率并减少了访问延迟。
[0006]本专利技术的技术方案是这样实现的:
[0007]本专利技术实施例提供了一种数据存储方法,应用于分布式存储系统,所述分布式存储系统包括多个存储节点,所述方法包括:
[0008]接收待存储数据,并将所述待存储数据划分为多个数据对象;
[0009]根据接收所述待存储数据的存储节点标识,确定用于存储所述待存储数据中各个数据对象的目标存储组,所述目标存储组关联的主存储控制应用部署于所述存储节点标识所对应的存储节点中;其中,所述分布式存储系统中包括多个存储组,每个存储组关联多个存储控制应用;
[0010]将存储所述数据对象的存储请求发送至所述目标存储组中的主存储控制应用。
[0011]上述方案中,所述分布式存储系统包括多个数据存储池,每个数据存储池与每个存储节点一一对应,每个数据存储池包括多个存储组,每个存储组关联的主存储控制应用部署于该存储组所属的数据存储池所对应的存储节点上;对于每个数据存储池,所述分布式存储系统中的各个存储控制应用在该数据存储池的存储组中均匀分布;
[0012]相应地,所述根据接收所述待存储数据的存储节点标识,确定用于存储所述待存储数据的目标存储组,包括:
[0013]根据接收待存储数据的存储节点标识,确定与该存储节点标识对应的数据存储池标识;
[0014]在所述数据存储池标识对应的各个存储组中随机确定所述待存储数据所存储的目标存储组;
[0015]上述方案中,在所述根据接收待存储数据的存储节点标识,确定与该存储节点标识对应的数据存储池标识之前,所述方法还包括:
[0016]构建多个数据存储池,其中,每个数据存储池与每个存储节点一一对应;
[0017]对于每个数据存储池,将所述分布式存储系统中的各个存储控制应用在该数据存储池的存储组中均匀分布,得到该数据存储池中每个存储组所关联的各个可用存储控制应用;
[0018]对于每个存储组,基于该存储组关联的各个可用存储控制应用,确定该存储组关联的主存储控制应用,以使得该主存储控制应用部署于该存储组所属的数据存储池所对应的存储节点上。
[0019]上述方案中,所述对于每个存储组,基于该存储组关联的各个可用存储控制应用,确定该存储组关联的主存储控制应用,包括:
[0020]若所述每个存储组所属的数据存储池所对应的存储节点具有可用存储控制应用,则将该可用存储控制应用确定为该存储组的主存储控制应用;
[0021]若所述每个存储组所属的数据存储池所对应的存储节点上,没有可用存储控制应用时,则在得到的该存储组所包括的各个可用存储控制应用中确定其中一个作为主存储控制应用。
[0022]上述方案中,在所述将存储所述待存储数据的存储请求发送至所述目标存储组中的主存储控制应用之后,所述方法还包括:
[0023]所述主存储控制应用将所述待存储数据存储至该主存储控制应用对应的存储单元;
[0024]所述主存储控制应用将所述待存储数据发送至所述目标存储组中的其余各存储控制应用,以指示其余各存储控制应用执行存储副本操作。
[0025]上述方案中,在所述接收待存储数据之后,所述方法还包括:
[0026]将所述待存储数据划分为多个数据大小一致的待存储的数据对象;
[0027]相应地,所述在所述数据存储池标识对应的各个存储组中随机确定所述待存储数据所存储的目标存储组,包括:
[0028]对于每个待存储的数据对象,基于该数据对象标识,在所述数据存储池标识对应的各个存储组中随机确定存储该数据对象的目标存储组;
[0029]相应地,所述将存储所述待存储数据的存储请求发送至所述目标存储组中的主存储控制应用,包括:
[0030]对于每个数据对象,将存储该数据对象的存储请求发送至该数据对象相应的目标存储组所关联的主存储控制应用。
[0031]上述方案中,所述对于每个待存储的数据对象,基于该数据对象标识,在所述数据存储池标识对应的各个存储组中随机确定该数据对象所存储的目标存储组,包括:
[0032]对于每个待存储的数据对象,获取该数据对象的对象标识;
[0033]基于预设随机算法,对该数据对象的对象标识进行运算,得到该数据对象所对应的随机值;
[0034]基于随机值确定该随机值所属的随机组;
[0035]基于其所属的随机组,在所述数据存储池标识对应的各个存储组中,选取与该随机组对应的存储组作为所述目标存储组。
[0036]上述方案中,在所述根据接收待存储数据的存储节点标识,确定与该存储节点标识对应的数据存储池标识的步骤之后,所述方案还包括:
[0037]获取所述待存储数据的数据标识信息;
[0038]存储所述数据标识信息与确定所述数据存储池标识的第一映射关系系;
[0039]数据存储方法还包括:
[0040]存储所述数据标识信息与每个数据对象的标识的第二映射关系。
[0041]上述方案中,所述方法还包括:
[0042]接收检索请求,所述检索请求携带了待检索数据的数据标识信息;
[0043]基于所述待检索数据的数据标识信息,在所述第一映射关系中,确定所述待检索数据所对应的数据存储池;
[0044]基于所述待检索数据的数据标识信息,在所述第二映射关系中,确定该待检索数据所对应的各个数据对象的标识;
[0045]对于所述待检索数据分别对应的数据对象的标识,基于预设随机算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,应用于分布式存储系统,其特征在于,所述分布式存储系统包括多个存储节点,所述方法包括:接收待存储数据;根据接收所述待存储数据的存储节点标识,确定用于存储所述待存储数据的目标存储组,所述目标存储组关联的主存储控制应用部署于所述存储节点标识所对应的存储节点中;其中,所述分布式存储系统中包括多个存储组,每个存储组关联多个存储控制应用;将存储所述待存储数据的存储请求发送至所述目标存储组中的主存储控制应用。2.根据权利要求1所述的数据存储方法,其特征在于,所述分布式存储系统包括多个数据存储池,每个数据存储池与每个存储节点一一对应,每个数据存储池包括多个存储组,每个存储组关联的主存储控制应用部署于该存储组所属的数据存储池所对应的存储节点上;对于每个数据存储池,所述分布式存储系统中的各个存储控制应用在该数据存储池的存储组中均匀分布;相应地,所述根据接收所述待存储数据的存储节点标识,确定用于存储所述待存储数据的目标存储组,包括:根据接收待存储数据的存储节点标识,确定与该存储节点标识对应的数据存储池标识;在所述数据存储池标识对应的各个存储组中随机确定所述待存储数据所存储的目标存储组。3.根据权利要求2所述的数据存储方法,其特征在于,在所述根据接收待存储数据的存储节点标识,确定与该存储节点标识对应的数据存储池标识之前,所述方法还包括:构建多个数据存储池,其中,每个数据存储池与每个存储节点一一对应;对于每个数据存储池,将所述分布式存储系统中的各个存储控制应用在该数据存储池的存储组中均匀分布,得到该数据存储池中每个存储组所关联的各个可用存储控制应用;对于每个存储组,基于该存储组关联的各个可用存储控制应用,确定该存储组关联的主存储控制应用,以使得该主存储控制应用部署于该存储组所属的数据存储池所对应的存储节点上。4.根据权利要求3所述的数据存储方法,其特征在于,所述对于每个存储组,基于该存储组关联的各个可用存储控制应用,确定该存储组关联的主存储控制应用,包括:若所述每个存储组所属的数据存储池所对应的存储节点具有可用存储控制应用,则将该可用存储控制应用确定为该存储组的主存储控制应用;若所述每个存储组所属的数据存储池所对应的存储节点上,没有可用存储控制应用时,则在得到的该存储组所包括的各个可用存储控制应用中确定其中一个作为主存储控制应用。5.根据权利要求1至4中任一项所述的数据存储方法,其特征在于,在所述将存储所述待存储数据的存储请求发送至所述目标存储组中的主存储控制应用之后,所述方法还包括:所述主存储控制应用将所述待存储数据存储至该主存储控制应用对应的存储单元;所述主存储控制应用将所述待存储数据发送至所述目标存储组中的其余各存储控制应用,以指示其余各存储控制应用执行...

【专利技术属性】
技术研发人员:周炜霍道安雍帅
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1