System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式存储系统,特别涉及一种数据写入方法、装置、通信设备及存储介质。
技术介绍
1、在当前的信息时代,数据量正以前所未有的速度膨胀,这不仅体现在个人用户层面,更显著地反映在企业及互联网服务提供商的数据管理上。分布式存储系统,作为应对海量数据存储与高效访问需求的关键技术,其重要性日益凸显。然而,随着分布式存储系统规模的扩大,如何优化数据访问效率,尤其是处理多份重复数据的问题,成为了提升分布式存储系统性能的瓶颈之一。
2、现有的数据写入方法往往未能充分考虑数据的管理,导致在访问数据时未能实现资源的最优利用。例如,当用户请求访问某一数据时,分布式存储系统通过跨节点访问其他节点上的物理数据块去获取数据,而非优先从本地节点或邻近节点中的物理数据块去获取数据。由于跨节点的数据传输不仅增加了数据传输的延迟,而且还会增加网络带宽资源的消耗。因此,现有的数据写入方法存在时延较大,网络带宽资源消耗较大的问题。
技术实现思路
1、有鉴于此,本专利技术旨在提出一种数据写入方法、装置、设备及存储介质,解决因跨节点的数据传输所导致的时延较大,网络带宽资源消耗较大的问题。
2、依据本专利技术的第一方面,提供了一种数据写入方法,应用于分布式存储系统,其中,所述分布式存储系统设置有若干节点,所述节点上设置有物理数据块,所述方法包括:
3、预先设置指纹表,其中,所述指纹表包括所述分布式存储系统中数据对应的指纹值;
4、根据待写入数据的逻辑块地址对所述待写入
5、将所述若干逻辑数据块分配至所述分布式存储系统中的不同节点;
6、将任一所述逻辑数据块作为第一逻辑数据块,确定所述第一逻辑数据块中待写入数据的指纹值;
7、根据所述指纹表和所述第一逻辑数据块中待写入数据的指纹值,判断所述第一逻辑数据块中的待写入数据是否为重复数据;
8、若所述第一逻辑数据块中的待写入数据不是重复数据且所述第一逻辑数据块所属的节点上未分配所述物理数据块,则在所述第一逻辑数据块所属的节点上设置第一物理数据块,并将所述第一逻辑数据块中的待写入数据写入至所述第一物理数据块;
9、建立所述第一逻辑数据块与所述第一物理数据块之间的引用关系;
10、将所述第一逻辑数据块中待写入数据的指纹值以及所述第一逻辑数据块与所述第一物理数据块之间的引用关系存储至所述指纹表。
11、可选地,所述方法还包括:
12、将任一所述逻辑数据块作为第二逻辑数据块,确定所述第二逻辑数据块中待写入数据的指纹值,其中,所述第二逻辑数据块和所述第一逻辑数据块所属的节点不相同;
13、根据所述指纹表和所述第二逻辑数据块中待写入数据的指纹值,判断所述第二逻辑数据块中的待写入数据是否为重复数据;
14、若所述第二逻辑数据块中的待写入数据是重复数据,则确定存储所述第二逻辑数据块中的待写入数据的物理数据块;
15、若存储所述第二逻辑数据块中的待写入数据的物理数据块为所述第一物理数据块,则获取所述第一物理数据块的引用次数;
16、若所述第一物理数据块的引用次数未超过预设阈值,则将所述指纹表中所述第一逻辑数据块与所述第一物理数据块之间的引用关系更新为所述第一逻辑数据块、所述第二逻辑数据块与所述第一物理数据块之间的引用关系。
17、可选地,在所述确定所述第二逻辑数据块中的待写入数据存储的物理数据块的步骤之后,所述方法还包括:
18、若存储所述第二逻辑数据块中的待写入数据的物理数据块为所述第一物理数据块且所述第一物理数据块的数量为多个,则获取多个所述第一物理数据块的引用次数;
19、若多个所述第一物理数据块的引用次数未超过所述预设阈值,则从多个所述第一物理数据块的引用次数中确定最少引用次数;
20、将所述最少引用次数对应的第一物理数据块作为第一目标物理数据块;
21、建立所述第二逻辑数据块与所述第一目标物理数据块之间的引用关系;
22、将所述第二逻辑数据块与所述第一目标物理数据块之间的引用关系存储至所述指纹表。
23、可选地,所述方法包括:
24、将任一所述逻辑数据块作为第三逻辑数据块,确定所述第三逻辑数据块中待写入数据的指纹值,其中,所述第三逻辑数据块和所述第一逻辑数据块所属的节点不相同;
25、根据所述指纹表和所述第三逻辑数据块中待写入数据的指纹值,判断所述第三逻辑数据块中的待写入数据是否为重复数据;
26、若所述第三逻辑数据块中的待写入数据是重复数据,则确定存储所述第三逻辑数据块中的待写入数据的物理数据块;
27、若存储所述第三逻辑数据块中的待写入数据的物理数据块为所述第一物理数据块,则获取所述第一物理数据块的引用次数;
28、若所述第一物理数据块的引用次数超过预设阈值,则在所述第三逻辑数据块所属的节点上设置第二物理数据块;
29、建立所述第三逻辑数据块与所述第二物理数据块之间的引用关系;
30、将所述第三逻辑数据块与所述第二物理数据块之间的引用关系存储至所述指纹表。
31、可选地,在将所述第三逻辑数据块与所述第二物理数据块之间的引用关系存储至所述指纹表的步骤之后,所述方法包括:
32、在所述第三逻辑数据块与第二逻辑数据块所属的节点相同的情况下,将所述指纹表中所述第三逻辑数据块与所述第二物理数据块之间的引用关系更新为所述第二逻辑数据块、所述第三逻辑数据块与所述第二物理数据块之间的引用关系;
33、将所述第一逻辑数据块、所述第二逻辑数据块与所述第一物理数据块之间的引用关系更新为所述第一逻辑数据块与所述第一物理数据块之间的引用关系。
34、可选地,所述方法还包括:
35、将任一所述逻辑数据块作为第四逻辑数据块,确定所述第四逻辑数据块中待写入数据的指纹值,其中,所述第四逻辑数据块所属的节点上设置有第三物理数据块;
36、根据所述指纹表和所述第四逻辑数据块中待写入数据的指纹值,判断所述第四逻辑数据块中的待写入数据是否为重复数据;
37、若所述第四逻辑数据块中的待写入数据是重复数据,则确定存储所述第四逻辑数据块中的待写入数据的物理数据块;
38、若存储所述第四逻辑数据块中的待写入数据的物理数据块为所述第三物理数据块,则获取所述第三物理数据块的引用次数;
39、若所述第三物理数据块的引用次数未超过预设阈值,则建立所述第四逻辑数据块与所述第三物理数据块之间的引用关系;
40、将所述第四逻辑数据块与所述第三物理数据块之间的引用关系存储至所述指纹表;
41、若存储所述第四逻辑数据块中的待写入数据的物理数据块为所述第三物理数据块且所述第三物理数据块的数量为多个,则获取多个所述第三物理数据块的引用次数;
42、若多个所本文档来自技高网...
【技术保护点】
1.一种数据写入方法,其特征在于,应用于分布式存储系统,其中,所述分布式存储系统设置有若干节点,所述节点上设置有物理数据块,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在所述确定所述第二逻辑数据块中的待写入数据存储的物理数据块的步骤之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,在将所述第三逻辑数据块与所述第二物理数据块之间的引用关系存储至所述指纹表的步骤之后,所述方法包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,在所述获取多个所述第三物理数据块的引用次数的步骤之后,所述方法包括:
8.一种数据写入装置,其特征在于,应用于分布式存储系统,其中,所述分布式存储系统设置有若干节点,所述节点上设置有物理数据块,所述数据写入装置包括:
9.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.一种数据写入方法,其特征在于,应用于分布式存储系统,其中,所述分布式存储系统设置有若干节点,所述节点上设置有物理数据块,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在所述确定所述第二逻辑数据块中的待写入数据存储的物理数据块的步骤之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,在将所述第三逻辑数据块与所述第二物理数据块之间的引用关系存储至所述指纹表的步骤之后,所述方法包...
【专利技术属性】
技术研发人员:胡毅,张海军,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。