数据存储方法及装置制造方法及图纸

技术编号:24707087 阅读:19 留言:0更新日期:2020-06-30 23:50
本发明专利技术提供的数据存储方法及装置,在接收需要存储的原始数据后,在内存中分配M个第一内存数据块,并将原始数据写入至M个第一内存数据块;当M个第一内存数据块已写满数据时,在内存中分配N个第二内存数据块,并对M个第一内存数据块中的数据进行编码,再将编码后的数据写入至N个第二内存数据块;然后向信息管理模块申请包括K个磁盘数据块的条带,并将所有内存数据块中的数据并行传输至K个磁盘数据块;获取条带中数据存储成功的磁盘数据块的数目,当该数目大于或等于预设数目时,确定条带存储数据成功。本发明专利技术的数据存储方法及装置,提高了数据存储效率,缩短了数据存储等待时间,并保证了数据存储的安全性与可靠性。

【技术实现步骤摘要】
数据存储方法及装置
本专利技术涉及数据处理
,更具体的说,涉及数据存储方法及装置。
技术介绍
数字化社会产生了持续增长的数据存储需求,这对传统的数据存储方式提出了巨大挑战。现有的数据存储方案主要有:方案一、先确定几个磁盘数据块,并连接至这几个磁盘数据块对应的磁盘;然后将目标数据存储到第一个磁盘数据块,等待第一个磁盘数据块存储返回结果后,再将目标数据继续存储至第二个磁盘数据块,等待第二给磁盘数据块返回结果,……,以此类推,直到目标数据存储完毕;方案二、先确定几个磁盘数据块,并连接至这几个磁盘数据块对应的磁盘;然后将目标数据存储到第一个磁盘数据块,其中,将第一个磁盘数据块作为文件数据块的主块,当主块存储数据成功后,通过文件系统在后台读取主块数据,将主块数据在其他磁盘中创建副本。但是,大文件数据的存储,通常需要将数据存储至多个磁盘数据块中,而方案一中的数据存储方案,提供的是一个串行存储的过程,当需要存储到的磁盘数据块较多时,便会大幅增加用户存储文件数据的等待时间,严重影响存储效率;方案二虽然从一定程度上能够提高数据存储效率,但是,在数据存储完成后,恰好对应磁盘或对应的磁盘数据块坏掉了,那么磁盘数据块存储的该部分数据就会永久丢失,其数据存储的安全性与可靠性难以得到保障。因此,目前迫切需要一种切实有效的数据存储方案,同时提高数据存储效率以及数据存储的安全性与可靠性。
技术实现思路
有鉴于此,本专利技术提供了一种数据存储方法及装置,以解决目前的数据存储方案的数据存储效率以及安全性与可靠性均较差,且无法很好地兼顾数据存储的高效性以及安全性与可靠性的技术问题。为实现上述目的,本专利技术提供如下技术方案:一种数据存储方法,所述方法包括:接收需要存储的原始数据;在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块;M>1;当所述M个第一内存数据块已写满数据时,在所述内存中分配N个第二内存数据块,并对所述M个第一内存数据块中的数据进行编码,再将编码后的数据写入至所述N个第二内存数据块;N>0;向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块;其中,K=M+N,所述K个磁盘数据块与所述K个内存数据块一一对应,所述K个内存数据块包括所述M个第一内存数据块与所述N个第二内存数据块,所述K个磁盘数据块包括M个第一磁盘数据块与N个第二磁盘数据块;获取所述条带中数据存储成功的磁盘数据块的数目;当所述数据存储成功的磁盘数据块的数目大于或等于预设数目时,确定所述条带存储数据成功。优选的,所述将所述原始数据写入至所述M个第一内存数据块包括:获取所述M个第一内存数据块的剩余空间容量,与,所述原始数据的数据量;当所述原始数据的数据量大于所述剩余空间容量时,将所述原始数据中的部分原始数据写入至所述M个第一内存数据块;其中,所述部分原始数据的数据量等于所述剩余空间容量;相应的,在所述确定所述条带存储数据成功之后,将所述原始数据中的剩余原始数据,作为所述需要存储的原始数据,再次执行所述在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块的步骤。优选的,所述向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块包括:向信息管理模块申请包括K个磁盘数据块的条带;获取所述K个磁盘数据块的逻辑块编号,以及所述K个磁盘数据块对应的磁盘的连接地址;根据所述逻辑块编号与所述连接地址,连接所述K个磁盘数据块,并建立所述K个内存数据块与所述K个磁盘数据块的一一对应关系;依据所述一一对应关系,将所述K个内存数据块的数据,并行传输至所述K个磁盘数据块。优选的,在所述向信息管理模块申请包括K个磁盘数据块的条带之后,所述方法还包括:生成与所述K个磁盘数据块一一对应的K个状态标记;相应的,所述获取所述条带中数据存储成功的磁盘数据块的数目包括:获取所述K个磁盘数据块的数据存储结果;当目标磁盘数据块的数据存储结果表征所述目标磁盘数据块存储数据成功时,将所述目标磁盘数据块对应的状态标记设定为成功状态;其中,所述目标磁盘数据块为,所述K个磁盘数据块中的任一磁盘数据块;统计所述K个状态标记中成功状态的数目;将所述成功状态的数目确定为所述条带中数据存储成功的磁盘数据块的数目。优选的,在所述确定所述条带存储数据成功之后,所述方法还包括:清理所述M个第一内存数据块与所述N个第二内存数据块。优选的,所述方法还包括:当所述数据存储成功的磁盘数据块的数目小于预设数目时,确定所述条带存储数据失败;当所述条带存储数据失败时,再次执行所述向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块的步骤。优选的,所述方法还包括:接收用户发出的文件关闭请求;所述文件关闭请求,用于请求关闭用来写入所述原始数据的文件;响应于所述文件关闭请求,获取所述M个第一内存数据块中已写入数据的数据量;当所述已写入数据的数据量大于0时,利用数值0,将所述M个第一内存数据块的剩余空间补齐;在将所述M个第一内存数据块的剩余空间补齐后,执行所述当所述M个第一内存数据块已写满数据时,在所述内存中分配N个第二内存数据块,并对所述M个第一内存数据块中的数据进行编码,再将编码后的数据写入至所述N个第二内存数据块的步骤。优选的,在所述响应于所述文件关闭请求,获取所述M个第一内存数据块中已写入数据的数据量之后,所述方法还包括:当所述已写入数据的数据量等于0时,结束数据存储流程。一种数据存储装置,所述装置包括数据接入模块;所述数据接入模块包括:原始数据接收单元,用于接收需要存储的原始数据;原始数据写入单元,用于在内存中分配M个第一内存数据块,并将所述原始数据写入至所述M个第一内存数据块;M>1;编码数据写入单元,用于当所述M个第一内存数据块已写满数据时,在所述内存中分配N个第二内存数据块,并对所述M个第一内存数据块中的数据进行编码,再将编码后的数据写入至所述N个第二内存数据块;N>0;磁盘数据存储单元,用于向信息管理模块申请包括K个磁盘数据块的条带,并将K个内存数据块中的数据并行传输至所述K个磁盘数据块;其中,K=M+N,所述K个磁盘数据块与所述K个内存数据块一一对应,所述K个内存数据块包括所述M个第一内存数据块与所述N个第二内存数据块,所述K个磁盘数据块包括M个第一磁盘数据块与N个第二磁盘数据块;成功数目获取单元,用于获取所述条带中数据存储成功的磁盘数据块的数目;存储结果确定单元,用于当所述数据存储成功的磁盘数据块的数目大于或等于预设数目时,确定所述条带存储数据成功。优选的,所述装置还包括用户模块、磁盘模块与所述信息管理模块;...

【技术保护点】
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

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

1