【技术实现步骤摘要】
数据存储方法及装置
本专利技术涉及数据处理
,更具体的说,涉及数据存储方法及装置。
技术介绍
数字化社会产生了持续增长的数据存储需求,这对传统的数据存储方式提出了巨大挑战。现有的数据存储方案主要有:方案一、先确定几个磁盘数据块,并连接至这几个磁盘数据块对应的磁盘;然后将目标数据存储到第一个磁盘数据块,等待第一个磁盘数据块存储返回结果后,再将目标数据继续存储至第二个磁盘数据块,等待第二给磁盘数据块返回结果,……,以此类推,直到目标数据存储完毕;方案二、先确定几个磁盘数据块,并连接至这几个磁盘数据块对应的磁盘;然后将目标数据存储到第一个磁盘数据块,其中,将第一个磁盘数据块作为文件数据块的主块,当主块存储数据成功后,通过文件系统在后台读取主块数据,将主块数据在其他磁盘中创建副本。但是,大文件数据的存储,通常需要将数据存储至多个磁盘数据块中,而方案一中的数据存储方案,提供的是一个串行存储的过程,当需要存储到的磁盘数据块较多时,便会大幅增加用户存储文件数据的等待时间,严重影响存储效率;方案二虽然从一定程度上能够提高数据存储效率,但是,在数据存储完成后,恰好对应磁盘或对应的磁盘数据块坏掉了,那么磁盘数据块存储的该部分数据就会永久丢失,其数据存储的安全性与可靠性难以得到保障。因此,目前迫切需要一种切实有效的数据存储方案,同时提高数据存储效率以及数据存储的安全性与可靠性。
技术实现思路
有鉴于此,本专利技术提供了一种数据存储方法及装置,以解决目前的数据存储方案的数据存储效率以及安全性
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n接收需要存储的原始数据;/n在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块;M>1;/n当所述M个第一内存数据块已写满数据时,在所述内存中分配N个第二内存数据块,并对所述M个第一内存数据块中的数据进行编码,再将编码后的数据写入至所述N个第二内存数据块;N>0;/n向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块;其中,K=M+N,所述K个磁盘数据块与所述K个内存数据块一一对应,所述K个内存数据块包括所述M个第一内存数据块与所述N个第二内存数据块,所述K个磁盘数据块包括M个第一磁盘数据块与N个第二磁盘数据块;/n获取所述条带中数据存储成功的磁盘数据块的数目;/n当所述数据存储成功的磁盘数据块的数目大于或等于预设数目时,确定所述条带存储数据成功。/n
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
接收需要存储的原始数据;
在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块;M>1;
当所述M个第一内存数据块已写满数据时,在所述内存中分配N个第二内存数据块,并对所述M个第一内存数据块中的数据进行编码,再将编码后的数据写入至所述N个第二内存数据块;N>0;
向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块;其中,K=M+N,所述K个磁盘数据块与所述K个内存数据块一一对应,所述K个内存数据块包括所述M个第一内存数据块与所述N个第二内存数据块,所述K个磁盘数据块包括M个第一磁盘数据块与N个第二磁盘数据块;
获取所述条带中数据存储成功的磁盘数据块的数目;
当所述数据存储成功的磁盘数据块的数目大于或等于预设数目时,确定所述条带存储数据成功。
2.如权利要求1所述的方法,其特征在于,所述将所述原始数据写入至所述M个第一内存数据块包括:
获取所述M个第一内存数据块的剩余空间容量,与,所述原始数据的数据量;
当所述原始数据的数据量大于所述剩余空间容量时,将所述原始数据中的部分原始数据写入至所述M个第一内存数据块;其中,所述部分原始数据的数据量等于所述剩余空间容量;
相应的,在所述确定所述条带存储数据成功之后,将所述原始数据中的剩余原始数据,作为所述需要存储的原始数据,再次执行所述在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块的步骤。
3.如权利要求1所述的方法,其特征在于,所述向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块包括:
向信息管理模块申请包括K个磁盘数据块的条带;
获取所述K个磁盘数据块的逻辑块编号,以及所述K个磁盘数据块对应的磁盘的连接地址;
根据所述逻辑块编号与所述连接地址,连接所述K个磁盘数据块,并建立所述K个内存数据块与所述K个磁盘数据块的一一对应关系;
依据所述一一对应关系,将所述K个内存数据块的数据,并行传输至所述K个磁盘数据块。
4.如权利要求1所述的方法,其特征在于,在所述向信息管理模块申请包括K个磁盘数据块的条带之后,所述方法还包括:
生成与所述K个磁盘数据块一一对应的K个状态标记;
相应的,所述获取所述条带中数据存储成功的磁盘数据块的数目包括:
获取所述K个磁盘数据块的数据存储结果;
当目标磁盘数据块的数据存储结果表征所述目标磁盘数据块存储数据成功时,将所述目标磁盘数据块对应的状态标记设定为成功状态;其中,所述目标磁盘数据块为,所述K个磁盘数据块中的任一磁盘数据块;
统计所述K个状态标记中成功状态的数目;
将所述成功状态的数目确定为所述条带中数据存储成功的磁盘数据块的数目。
5.如权利要求1所述的方法,其特征在于,在所述确...
【专利技术属性】
技术研发人员:徐佳宏,李银,
申请(专利权)人:深圳市茁壮网络股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。