[发明专利]一种数据存储方法、装置及设备有效
申请号: | 202010428683.6 | 申请日: | 2020-05-20 |
公开(公告)号: | CN111666046B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 赵靖荣 | 申请(专利权)人: | 西安奥卡云数据科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F21/64 |
代理公司: | 西安维赛恩专利代理事务所(普通合伙) 61257 | 代理人: | 李明全 |
地址: | 710000 陕西省西安市西咸*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 设备 | ||
本发明公开了一种数据存储方法、装置及设备,将待存储数据信息打包生成数据包,并存储至NVDIMM上的第一存储区;将第一存储区中存储的数据包写入至后端磁盘;在存储系统重启后,提取数据包中的待存储数据信息及其在后端磁盘中的存储地址;根据待存储信息及其在后端磁盘中的存储地址生成第二校验码;当第二校验码与该数据包中的第一校验码相同时,再次将数据包写入至后端磁盘;通过将待存储数据信息存储至NVDIMM上的第一存储区,可以防止数据在写入过程中丢失,在断电后通过将第二校验码与第一校验码进行比较,来判断在存储系统掉电时,数据包信息是否丢失,若丢失时,可以通过在第一存储区存储的数据包进行数据恢复。
技术领域
本发明属于数据存储技术领域,尤其涉及一种数据存储方法、装置及设备。
背景技术
随着大数据时代的来临,各行业产生的数据以爆炸性的方式增长,对存储系统的需求也越来越广泛。在一些关键领域,比如银行,通信行业中,对数据的安全性、完整性要求极高,任何形式的丢失数据都是不可接受的。存储系统需要保证数据在任何时刻都是安全完整的。由于RAM的存在,当发生某些不可控制的错误(比如系统掉电)时,RAM中的数据来不及写入后端磁盘,会导致系统数据的丢失。为此,设计出了日志系统和非易失性双列直插式内存模块(NVDIMM)配合使用来解决问题。
虽然NVDIMM可以保证内存数据的完整性,但是,如果系统掉电发生在从NVDIMM向后端磁盘写入数据的过程中,由于IO系统限制写入对齐、输入输出效率、变化的数据松散分布等因素,丢失的数据不仅局限于发生变化的数据,还会包含写入数据前已经存在于磁盘上的数据,这类丢失的数据,难以通过日志文件完全恢复。
目前,为防止系统掉电造成的数据丢失,常见的做法是给存储系统加装一个不间断电源系统(UPS),当发生断电的时候,由这个备用电源提供电力。但是它的缺点是显而易见的,UPS花费高,增加了存储系统额外的费用,且该方案不通用,而且,在存储服务器的机房一般空间小,难以提供额外的物理空间来放置UPS设备。
发明内容
本发明的目的是提供一种数据存储方法、装置及设备,以解决存储系统掉电发生在从NVDIMM向后端磁盘写入数据的过程中导致数据丢失的问题。
本发明采用以下技术方案:一种数据存储方法,包括以下步骤:
将待存储数据信息打包生成数据包,并存储至NVDIMM上的第一存储区;
将第一存储区中存储的数据包写入至后端磁盘;
在存储系统重启后,提取数据包中的待存储数据信息及其在后端磁盘中的存储地址;
根据待存储信息及其在后端磁盘中的存储地址生成第二校验码;
当第二校验码与该数据包中的第一校验码相同时,再次将数据包写入至后端磁盘;其中,第一校验码和第二校验码的生成方法相同。
进一步地,将待存储数据信息打包生成数据包包括:
获取待存储数据信息及其在后端磁盘上的存储地址;
根据待存储数据信息及其在后端磁盘上的存储地址生成第一校验码;
根据待存储数据信息及其在后端磁盘上的存储地址、和第一校验码生成数据包。
进一步地,当第二校验码与该数据包中的第一校验码不同时,清除数据包对应的存储块中的数据。
进一步地,将待存储数据信息打包生成数据包之前还包括:
将NVDIMM分割为第一存储区和第二存储区;其中,第一存储区由至少一个存储块构成,每个存储块的空间大小均与数据包的空间大小相等,且有a=m*b,a为第一存储区的空间大小,m为正整数,b为存储块的空间大小。
进一步地,并存储至NVDIMM上的第一存储区包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安奥卡云数据科技有限公司,未经西安奥卡云数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010428683.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置