一种数据块保护方法及装置的制造方法_2

文档序号:9432207阅读:来源:国知局
校验码。具体如下:
[0052]当用户数据进入存储缓存之前,存储器NVRam根据存储系统指令,利用哈希算法对即将写入的数据块进行校验,并生成校验码,同时将校验码插入到数据块中,并遵循每512字节的数据插入8位字节校验码的规则。校验码插入完成后,数据写入缓存,待数据从缓存刷入磁盘时,存储系统会对数据进行校验码验证,以保证写入磁盘数据的完整性。当用户需要读取数据时,存储系统会在对数据进行校验码验证后将其从磁盘读入到缓存中。当数据从缓存被读出到服务器前,存储器NVram会对数据再次进行校验码验证,如果正确,同时会删除校验码将数据块送入到链路中,读取数据块。若不正确,即验证失败,表明数据块发生损坏,修改数据块,使修改后的数据块与写入时的数据块相同,保证读取与写入数据块的完整性及一致性。这样存储系统会对写入或即将读出的数据块的每一步都进性校验码的验证,从而对数据进行保护,以确保读出与写入的数据完全一致。这样能够对读/写操作的操作代码进行验证,能够保证数据在传输路径多个校验点处的完整性。
[0053]本发明所提供的一种数据块保护方法及装置,当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码;将校验码插入所述数据块中,将数据块写入缓存;当数据块从缓存移至磁盘时,对数据进行校验码验证,验证成功之后,将数据块写入硬盘;当需要读取数据块时,对数据块进行校验码验证,若验证成功,删除数据块中的校验码,读出删除校验码的数据块;若验证失败,修改数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。可见,该方法利用校验算法对数据块进行校验并生成校验码,同时将校验码插入到数据块中一同存储,当读取数据块时,再完成校验码成功校验后删除校验码,若验证失败,表明数据块发生损坏,修改数据块,使修改后的数据块与写入时的数据块相同,以保证读取与写入数据块的完整性及一致性,这样会对写入或即将读出的数据块的每一步都进性校验码的验证,以确保读出与写入的数据完全一致,进而对数据块进行保护。
[0054]请参考图2,图2为本发明所提供的一种数据块保护装置的结构示意图,该装置包括:
[0055]校验模块101,用于当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码;
[0056]插入模块102,用于将校验码插入所述数据块中,将数据块写入缓存;
[0057]第一验证模块103,用于当数据块从缓存移至磁盘时,对数据块进行校验码验证,验证成功之后,将数据块写入硬盘;
[0058]第二验证模块104,用于当需要读取数据块时,对数据块进行校验码验证,若验证成功,删除数据块中的校验码,读出删除校验码的数据块;若验证失败,修改所述数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。
[0059]其中,所述校验算法包括奇偶校验算法或者哈希算法。
[0060]可选的,插入模块包括:
[0061]添加单元,用于将8位字节的校验码添加到512字节的数据块中,插入过程结束后;
[0062]缓存写入单元,用于将数据块写入缓存。
[0063]可选的,第一验证模块包括:
[0064]第一验证单元,用于当数据块从缓存移至磁盘时,对数据块的校验码进行验证,验证数据块中是否含有校验码;
[0065]硬盘写入单元,用于若数据块中含有校验码,将数据块写入硬盘。
[0066]第二验证模块包括:
[0067]第二验证单元,用于当需要读取数据块时,对数据块的校验码进行验证,验证数据块中是否含有验证码;
[0068]删除单元,用于若数据块中含有验证码,删除数据块中的校验码;
[0069]修改单元,用于若数据块中不含有验证码,对数据块进行修改,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。
[0070]本发明所提供的一种数据块保护装置,当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码;将校验码插入数据块中,将数据块写入缓存;当数据块从缓存移至磁盘时,对数据进行校验码验证,验证成功之后,将数据块写入硬盘;当需要读取数据块时,对数据块进行校验码验证,若验证成功,删除数据块中的校验码,读出删除校验码的数据块;若验证失败,修改数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。可见,该装置利用校验算法对数据块进行校验并生成校验码,同时将校验码插入到数据块中一同存储,当读取数据块时,再完成校验码成功校验后删除校验码,若验证失败,表明数据块发生损坏,修改数据块,使修改后的数据块与写入时的数据块相同,以保证读取与写入数据块的完整性及一致性,这样会对写入或即将读出的数据块的每一步都进性校验码的验证,以确保读出与写入的数据完全一致,进而对数据块进行保护。
[0071]以上对本发明所提供的一种数据块保护方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
【主权项】
1.一种数据块保护方法,其特征在于,包括: 当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码; 将所述校验码插入所述数据块中,将所述数据块写入缓存; 当所述数据块从缓存移至磁盘时,对所述数据块进行校验码验证,验证成功之后,将所述数据块写入硬盘; 当需要读取所述数据块时,对所述数据块进行校验码验证,若验证成功,删除所述数据块中的校验码,读出删除校验码的数据块;若验证失败,修改所述数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。2.如权利要求1所述的方法,其特征在于,所述校验算法包括奇偶校验算法或者哈希算法。3.如权利要求1所述的方法,其特征在于,所述将所述校验码插入所述数据块中,包括: 将8位字节的校验码添加到512字节的数据块中。4.如权利要求1至3中任意一项所述的方法,其特征在于,所述当所述数据块从缓存移至磁盘时,对所述数据进行校验码验证,验证成功之后,将所述数据块写入硬盘,包括: 当所述数据块从缓存移至磁盘时,对所述数据块的校验码进行验证,验证所述数据块中是否含有校验码;若是,将所述数据块写入硬盘。5.如权利要求4所述的方法,其特征在于,当需要读取所述数据块时,对所述数据块进行校验码验证,若验证成功,删除所述数据块中的校验码,读出删除校验码的数据块;若验证失败,修改所述数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块,包括: 当需要读取所述数据块时,对所述数据块的校验码进行验证,验证所述数据块中是否含有验证码;若是,删除所述数据块中的校验码;若否,对所述数据块进行修改,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。6.一种数据块保护装置,其特征在于,包括: 校验模块,用于当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码; 插入模块,用于将所述校验码插入所述数据块中,将所述数据块写入缓存; 第一验证模块,用于当所述数据块从缓存移至磁盘时,对所述数据块进行校验码验证,验证成功之后,将所述数据块写入硬盘; 第二验证模块,用于当需要读取所述数据块时,对所述数据块进行校验码验证,若验证成功,删除所述数据块中的校验码,读出删除校验码的数据块;若验证失败,修改所述数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。7.如权利要求5所述的装置,其特征在于,所述校验算法包括奇偶校验算法或者哈希算法。8.如权利要求5所述的装置,其特征在于,所述插入模块包括: 添加单元,用于将8位字节的校验码添加到512字节的数据块中,插入过程结束后; 缓存写入单元,用于将所述数据块写入缓存。9.如权利要求5至8中任意一项所述的装置,其特征在于,所述第一验证模块包括: 第一验证单元,用于当所述数据块从缓存移至磁盘时,对所述数据块的校验码进行验证,验证所述数据块中是否含有校验码; 硬盘写入单元,用于若所述数据块中含有校验码,将所述数据块写入硬盘。10.如权利要求9所述的装置,其特征在于,第二验证模块包括: 第二验证单元,用于当需要读取所述数据块时,对所述数据块的校验码进行验证,验证所述数据块中是否含有验证码; 删除单元,用于若所述数据块中含有验证码,删除所述数据块中的校验码; 修改单元,用于若所述数据块中不含有验证码,对所述数据块进行修改,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。
【专利摘要】本发明公开了一种数据块保护方法及装置,该方法包括:当数据块写入缓存之前,利用校验算法对要写入的数据块进行校验,生成校验码;将所述校验码插入所述数据块中,将所述数据块写入缓存;当所述数据块从缓存移至磁盘时,对所述数据块进行校验码验证,验证成功之后,将所述数据块写入硬盘;当需要读取所述数据块时,对所述数据块进行校验码验证,若验证成功,删除所述数据块中的校验码,读出删除校验码的数据块;若验证失败,修改所述数据块,使修改后的数据块与写入时的数据块相同,读出修改后的数据块。该方法实现保证读出与写入的数据块的一致性。
【IPC分类】G06F3/06
【公开号】CN105183382
【申请号】CN201510568432
【发明人】冀国威
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2015年12月23日
【申请日】2015年9月9日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1