【技术实现步骤摘要】
存储方法和分布式存储系统
本专利技术涉及数据存储
,具体涉及一种存储方法和分布式存储系统。
技术介绍
随着计算机应用规模越来越大,对存储空间的需求也与日俱增。对应的,将复数设备的存储资源(比如,诸如磁盘组的存储介质)统合为一体作为一个存储池来提供存储服务成为了现在的主流。然而,在一个包含多个存储控制节点的分布式存储系统中,虽然多个存储控制节点同时对存储池中的同一个存储单元执行读取操作不会互相冲突,但当多个存储控制节点同时对同一个存储单元执行写入操作时会产生冲突,或当两个存储控制节点同时对存储池中的同一个存储单元分别执行读取操作和写入操作时也会产生冲突。由此可见,急需一种可避免上述提到的冲突的存储方式,以保证存储过程的效率和质量。
技术实现思路
有鉴于此,本专利技术实施例提供了一种存储方法、存储装置和分布式存储系统,解决了现有存储方式导致的读操作和写操作之间冲突,以及写操作和写操作之间冲突的问题。本专利技术一实施例提供的一种存储方法应用于一种分布式存储系统,所述分布式存储系统包括:至少两个存储控制节点和一个由所述至少两个存储控制节点共享的存储池,存储池包括至少两个存储单元,当任一所述存储控制节点要对所述存储池写入数据时,所述方法包括:判断存储池中是否存在数据内容与当前写入数据相同的重复存储单元;以及若判断结果为否,从所述存储池中分配一个空闲存储单元,将当前写入数据写入所述空闲存储单元。本专利技术一实施例提供的一种分布式存储系统包括:至少两个存储控制节点和一个由所述至少两个存储控制节点共享的存储池,所述存储控制节点包括:去重判断模块,配置为判断存储池中是否存 ...
【技术保护点】
一种存储方法,其特征在于,应用于一种分布式存储系统,所述分布式存储系统包括:至少两个存储控制节点和一个由所述至少两个存储控制节点共享的存储池,存储池包括至少两个存储单元,当任一所述存储控制节点要对所述存储池写入数据时,所述方法包括:判断存储池中是否存在数据内容与当前写入数据相同的重复存储单元;以及若判断结果为否,从所述存储池中分配一个空闲存储单元,将当前写入数据写入所述空闲存储单元。
【技术特征摘要】
1.一种存储方法,其特征在于,应用于一种分布式存储系统,所述分布式存储系统包括:至少两个存储控制节点和一个由所述至少两个存储控制节点共享的存储池,存储池包括至少两个存储单元,当任一所述存储控制节点要对所述存储池写入数据时,所述方法包括:判断存储池中是否存在数据内容与当前写入数据相同的重复存储单元;以及若判断结果为否,从所述存储池中分配一个空闲存储单元,将当前写入数据写入所述空闲存储单元。2.根据权利要求1所述的方法,其特征在于,当所述存储控制节点的写入数据操作被调用时,进一步包括:若判断结果为否,返回已写入所述当前写入数据的所述空闲存储单元的存储地址;以及若判断结果为是,返回所述重复存储单元的存储地址。3.根据权利要求1所述的方法,其特征在于,所述判断存储池中是否存在数据内容与当前写入数据相同的重复存储单元包括:计算所述当前写入数据的数字摘要;判断所述存储池中是否存在数字摘要与所述当前写入数据的数字摘要相同的存储单元;以及将所述存储池中数字摘要与所述当前写入数据的数字摘要不相同的存储单元确定为不重复存储单元。4.根据权利要求1所述的方法,其特征在于,所述存储池中建立有文件系统,每个所述存储单元为所述文件系统中的一个文件,所述文件的文件名为所述存储单元的数字摘要;则,所述判断存储池中是否存在数据内容与当前写入数据相同的重复存储单元包括:判断所述文件系统中是否存在文件名与所述当前写入数据的数字摘要相同的文件。5.根据权利要求3或4所述的方法,其特征在于,所述数字摘要为字符串形式,所述数字摘要获取方法包括:选取一个N个字符构成的字符集;计算出二进制形式的数字摘要;将所述二进制形式的数字摘要转换成N进制;以及将所述N进制形式的数字摘要转换为字符串,转换方法为将N进制形式的数字摘要的每一位转换成所述字符集中对应的一个字符。6.根据权利要求1所述的方法,其特征在于,进一步包括:记录所述存储池中每个存储单元的引用计数;其中每当所述判断结果为是时,增加所述重复存储单元的引用计数;每当一个存储单元被释放时,减少该存储单元的引用计数。7.根据权利要求6所述的方法,其特征在于,进一步包括:当一个存储单元的引用计数减为零时,将该存储单元记录为空闲存储单元。8.根据权利要求1所述的方法,其特征在于,所述存储池包括至少两个预留空闲存储空间,其中每个所述预留空闲存储空间对应一个所述存储控制节点;其中所述从所述存储池中分配一个空闲存储单元,包括:从所述存储控制节点所对应的预留空闲存储空间中分配一个空闲存储单元。9.根据权利要求8所述的方法,其特征在于,进一步包括:当一个存储控制节点所对应的预留空闲存储空间的大小低于第一阈值时,从所述存储池未分配的空闲存储空间中分配一部分给所述一个存储控制节点所对应的预留空闲存储空间。10.根据权利要求1所述的方法,其特征在于,所述存储池预先划分为多个存储单元,其中每个存储单元所占据的存储空间相同。11.根据权利要求1所述的方法,其特征在于,一个或多个所述存储单元构成一个存储对象,所述存储对象包括以下几项中的一项:块设备,...
【专利技术属性】
技术研发人员:王东临,齐宇,
申请(专利权)人:天津书生云科技有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。