The invention discloses a method and a system for correcting random write delete code based on the first generation of random write files and only labeled random write files, file data security level settings random write files; random input write data random write files, according to the erasure code and file data security level data striping input the random write, write data, calculation of random size random write offset; get the random write across the strip list; computing needs of each band data storage unit updates the scope, update the data storage unit within the scope of the re calculated and written; asynchronous random write file update all strip check data. The beneficial effect: to write data in the data storage unit on the strip, only need to update the data storage unit, does not require the band data read out for updates, reduces the computational burden; through asynchronous re calculation of calibration data to solve the problem on random write.
【技术实现步骤摘要】
一种基于纠删码的随机写方法及系统
本专利技术涉及数据存储
,尤其是涉及一种基于纠删码的随机写方法及系统。
技术介绍
在常规的云存储项目中,用户数据往往只保存一个副本,若发生机器故障,很容易造成用户数据的丢失,而目前网络raid可以做到在节约用户成本的基础上,对用户的数据进行跨节点保护,目前常见的网络raid的实现方式主要是基于纠删码技术(erasurecode技术,简称EC)。而EC技术主要是将用户的数据进行条带化,之后为该条带计算相应的校验数据,若此时需要更新已经写入的条带数据时,需要将整个条带的数据读取出来,在重新计算校验数据,这对后端存储的网络压力会造成巨大影响。如用户数据对应的安全级别为4+2,若用户需要更新条带中的一个字节的数据,后端存储需要读取6MB的数据,然后找出本次需要更新数据的位置,并进行更新,之后重新计算条带的校验数据,并将这6MB的数据写入存储设备中,此过程将用户的写数据放大了6291456倍。正是由于该原因,很多厂家提供出去的网络raid接口根本不支持随机写,那么基于EC,如何实现随机写,成为了一个难题。
技术实现思路
本专利技术的目的在于克服上述技术不足,提出一种基于纠删码的随机写方法及系统,解决现有技术中的上述技术问题。为达到上述技术目的,本专利技术的技术方案提供一种基于纠删码的随机写方法,包括:S1、生成随机写文件并唯一标示随机写文件,设置随机写文件的文件数据安全级别;S2、输入随机写文件中的部分随机写数据,根据纠删码和文件数据安全级别将输入的随机写数据条带化,条带由数据存储单元组成,计算随机写数据大小、随机写偏移;S3、根 ...
【技术保护点】
一种基于纠删码的随机写方法,其特征在于,包括:S1、生成随机写文件并唯一标示所述随机写文件,设置所述随机写文件的文件数据安全级别;S2、输入所述随机写文件中的部分随机写数据,根据纠删码和所述文件数据安全级别将输入的随机写数据条带化,条带由数据存储单元组成,计算随机写数据大小、随机写偏移;S3、根据所述随机写数据大小、所述随机写偏移获取本次随机写所跨越的条带列表;S4、计算本次随机写所跨越的所述条带列表中各条带的需要更新的数据存储单元的范围,用S2中输入的随机写数据更新范围内的各数据存储单元,将更新的数据存储单元的数据进行分布式云存储并将存储的位置更新到数据库;S5、用户再次输入所述随机写文件中的部分随机写数据,则重复执行步骤S2‑S4,直到所述随机写文件的所有随机写数据输入完毕;S6、所述随机写文件的所有随机写数据输入完毕后,异步重新计算并写入随机写文件更新的所有条带的校验数据。
【技术特征摘要】
1.一种基于纠删码的随机写方法,其特征在于,包括:S1、生成随机写文件并唯一标示所述随机写文件,设置所述随机写文件的文件数据安全级别;S2、输入所述随机写文件中的部分随机写数据,根据纠删码和所述文件数据安全级别将输入的随机写数据条带化,条带由数据存储单元组成,计算随机写数据大小、随机写偏移;S3、根据所述随机写数据大小、所述随机写偏移获取本次随机写所跨越的条带列表;S4、计算本次随机写所跨越的所述条带列表中各条带的需要更新的数据存储单元的范围,用S2中输入的随机写数据更新范围内的各数据存储单元,将更新的数据存储单元的数据进行分布式云存储并将存储的位置更新到数据库;S5、用户再次输入所述随机写文件中的部分随机写数据,则重复执行步骤S2-S4,直到所述随机写文件的所有随机写数据输入完毕;S6、所述随机写文件的所有随机写数据输入完毕后,异步重新计算并写入随机写文件更新的所有条带的校验数据。2.如权利要求1所述的基于纠删码的随机写方法,其特征在于,步骤S1中:唯一标示所述随机写文件后,生成所述随机写文件的唯一标示信息,将所述随机写文件的所述唯一标示信息、所述文件数据安全级别存储入数据库。3.如权利要求1所述的基于纠删码的随机写方法,其特征在于,步骤S1中:所述文件数据安全级别设置为N+M级别,N表示组成一个条带的数据存储单元个数,M表示不发生数据丢失的前提下一个条带允许同时发生故障的数据存储单元个数。4.如权利要求1所述的基于纠删码的随机写方法,其特征在于,步骤S3中:获取本次随机写所跨越的所述条带列表后,判断获取的所述条带列表是否完整,如果不完整则将所述条带列表补充完整。5.如权利要求1所述的基于纠删码的随机写方法,其特征在于,步骤S6中异步重新计算并写入随机写文件更新的所有条带的校验数据的步骤为:将重新计算并写入随机写文件更新的所有条带的校验数据的任务均匀分发给不同编码器,所述编码器接受任务后获取条带数据并根据获取的条带数据重新计算条带的校验数据,重新计算条带的校验数据完成后,写入重新计算出的条带的校验数据。6.一种基于纠删码的随机写系统,其特征在于,包括:随机写文件设置模块:生成...
【专利技术属性】
技术研发人员:胡中波,苏清华,缪永飞,万继方,
申请(专利权)人:长江大学,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。