一种数据备份装置、存储方法及还原方法制造方法及图纸

技术编号:27195456 阅读:32 留言:0更新日期:2021-01-31 11:49
本发明专利技术公开了一种数据备份装置、存储方法及还原方法,其中该装置包括:客户端、数据接入模块、数据备份模块、存储单元、主业务服务器;数据接入模块,用于接收客户端的元数据、将元数据发送给主业务服务器、将元数据传输给数据备份模块;数据备份模块,用于接收数据接入模块传输的元数据、采用多线程的方式将元数据按批次写入到存储单元、还原指定时间范围内的元数据;通过以数据批次的格式存储在文件中,并且批次中的数据都是压缩和加密过的,不仅提高了存储效率,也保证了数据的安全性。也保证了数据的安全性。也保证了数据的安全性。

【技术实现步骤摘要】
一种数据备份装置、存储方法及还原方法


[0001]本专利技术涉及数据存储技术和数据处理技术研究领域,具体涉及一种数据备份装置、存储方法及还原方法。

技术介绍

[0002]随着信息时代的来临,数据安全越来越受到人们的重视,其中,及时的数据备份是保证数据安全的一种有效手段。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:通常采用定时备份,每天对前一天的数据进行一次备份,采用顺序存储的方式备份各个文件,需要读取前一个文件的数据并完成前一个文件数据的备份后再对下一个文件进行备份;现有的备份方法只能备份前一天的数据,并且顺序存储的备份方式效率低下而且空间占用也比较高。

技术实现思路

[0003]为了克服现有技术的不足,本公开实施例提供了一种数据备份装置、存储方法及还原方法,可以提高数据备份的效率。技术方案如下:
[0004]第一方面:本公开实施例提供了一种数据备份装置,该装置包括:客户端、数据接入模块、数据备份模块、存储单元、主业务服务器。
[0005]所述数据接入模块,用于接收客户端的元数据、将元数据发送给主业务服务器、将元数据传输给数据备份模块。
[0006]所述数据备份模块,用于接收数据接入模块传输的元数据、采用多线程的方式将元数据按批次写入到存储单元、还原指定时间范围内的元数据。所述还原指定时间范围内的元数据,具体为:采用多线程的方式从存储单元中读取需要还原的时间段的数据,将数据进行解密和解压缩后得到元数据,然后将元数据传输给数据接入模块。
[0007]数据以数据批次的格式存储在文件中,提高了存储效率,并且批次中的数据都是压缩和加密过的,提高了备份的效率的同时也保证了数据的安全性,极大的减小了空间开销,降低了磁盘空间占用。
[0008]优选的,所述数据接入模块,在接收客户端的元数据的同时,将元数据发送给主业务服务器、传输给数据备份模块;所述数据备份模块,在接收数据接入模块传输的元数据的同时,实时将元数据按批次写入到存储单元,达到实时备份的效果。
[0009]优选的,数据备份模块的数据备份方法具体为:数据备份模块创建accept线程和多个write线程,accept线程负责接收数据接入模块发送的元数据,accept线程将元数据分配给多个write线程,write线程将元数据写入到对应的缓冲区,若缓冲区数据的大小超过阈值,write线程将当前缓冲区的元数据以数据批次的存储格式存储到存储单元中;接收数据的accept线程和写文件的write线程独立开来,不会造成accept线程阻塞,提高了接收数据的IO性能;采用多个write线程将数据写入到文件中,提高了备份的效率。
[0010]优选的,数据批次的存储格式具体包括:
[0011]batch length:第1-4字节,存储数据批次的总长度。
[0012]CRC32:第5-8字节,存储整个数据批次字节的CRC32值。
[0013]attributes:第9字节,第1-3位存储压缩类型,第4-6位存储加密算法类型,第7-8位为预留。
[0014]min timestamp:第10-17字节,存储当前批次的元数据中的最小时间戳。
[0015]max timestamp:第18-25字节,存储当前批次的元数据中的最大时间戳。
[0016]batch-storedata:可变长度,存储当前批次的所有数据压缩和加密后的字节。
[0017]进一步的,数据批次中每条数据的存储格式,具体包括:
[0018]timestamp:第1-8字节,存储元数据对应的时间戳。
[0019]data length:第9-12字节,存储元数据字节的长度。
[0020]data:可变长度,起始地址为第13字节,长度为data length,存储元数据的字节。
[0021]第二方面,本公开实施例提供了一种数据存储方法,该方法包括
[0022]根据所有可能的实现方式中任一项所述的一种数据备份装置,对于每个批次的元数据,将批次中元数据的最小时间戳min timestamp存放在数据批次的10-17字节,最大时间戳max timestamp存放在18-25字节。
[0023]依次对数据批次中的每条元数据进行处理,将元数据的时间戳存放在数据的1-8字节,将元数据的长度存放在数据的9-12字节,将元数据的字节追加到上一条元数据的末尾;得到原始数据字节。
[0024]对原始数据字节进行压缩,并将attributes的1-3位设置为对应的压缩类型,然后对压缩后的字节进行加密,将attributes的4-6位设置为加密算法类型。
[0025]将压缩加密后的数据字节填充到数据批次的batch-storedata,计算数据批次总长度batch length,batch length=25+压缩加密后的数据字节长度,并将数据批次的1-4字节置设置为batch length。
[0026]计算整个数据批次字节的CRC32值,并将CRC32值存放在数据批次的5-8字节。
[0027]生成数据批次的字节。
[0028]优选的,将数据批次的字节通过顺序IO的方式写入到存储单元中相应备份文件的末尾;采用操作系统中的顺序IO的方式进行存储和读取数据,极大得提高了IO性能。
[0029]第三方面,本公开实施例提供了一种数据还原方法,该方法包括:
[0030]设置需要还原的数据时间范围t
1-t2。
[0031]数据备份模块创建多个read线程,每个read线程负责从存储单元中读取一个备份文件。
[0032]read线程采用顺序读取方式从备份文件读取数据。
[0033]读取备份文件中一个数据批次的数据:读取第1-4字节得到当前批次的总长度batch length。
[0034]读取第10-17字节得到当前批次的min timestamp,读取18-25字节得到max timestamp,根据min timestamp和max timestamp判断当前批次是否包含t
1-t2时间段内的数据,若否,跳过当前批次的batch length长度的字节,读取下一个数据批次的数据,若是,进入下一步。
[0035]读取第5-8字节得到当前批次的CRC32值为C1,然后计算当前批次的字节的CRC32
为C2,比较C1是否等于C2,若否,跳过当前批次的batch length长度的字节,读取下一个数据批次的数据,若是,进入下一步。
[0036]读取第26至batch length字节得到批次中的batch-storedata。
[0037]读取数据批次中的第9字节得到attributes,attributes中的第1-3位即位压缩类型,第4-6位为加密算法类型,根据压缩类型和加密算法类型对batch-storedata字节进行解密和解压缩得到原始数据字节batch-origindat本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据备份装置,其特征在于,该装置包括:客户端、数据接入模块、数据备份模块、存储单元、主业务服务器;所述数据接入模块,用于接收客户端的元数据、将元数据发送给主业务服务器、将元数据传输给数据备份模块;所述数据备份模块,用于接收数据接入模块传输的元数据、采用多线程的方式将元数据按批次写入到存储单元、还原指定时间范围内的元数据;所述还原指定时间范围内的元数据,具体为:采用多线程的方式从存储单元中读取需要还原的时间段的数据,将数据进行解密和解压缩后得到元数据,然后将元数据传输给数据接入模块。2.根据权利要求1所述的一种数据备份装置,其特征在于,所述数据接入模块,在接收客户端的元数据的同时,将元数据发送给主业务服务器、传输给数据备份模块;所述数据备份模块,在接收数据接入模块传输的元数据的同时,实时将元数据按批次写入到存储单元。3.根据权利要求1或2任一项所述的一种数据备份装置,其特征在于,数据备份模块的数据备份方法具体为:数据备份模块创建accept线程和多个write线程,accept线程负责接收数据接入模块发送的元数据,accept线程将元数据分配给多个write线程,write线程将元数据写入到对应的缓冲区,若缓冲区数据的大小超过阈值,write线程将当前缓冲区的元数据以数据批次的存储格式存储到存储单元中。4.根据权利要求3所述的一种数据备份装置,其特征在于,数据批次的存储格式具体包括:batch length:第1-4字节,存储数据批次的总长度CRC32:第5-8字节,存储整个数据批次字节的CRC32值attributes:第9字节,第1-3位存储压缩类型,第4-6位存储加密算法类型,第7-8位为预留;min timestamp:第10-17字节,存储当前批次的元数据中的最小时间戳max timestamp:第18-25字节,存储当前批次的元数据中的最大时间戳batch-storedata:可变长度,存储当前批次的所有数据压缩和加密后的字节。5.根据权利要求4所述的一种数据备份装置,其特征在于,数据批次中每条数据的存储格式,具体包括:timestamp:第1-8字节,存储元数据对应的时间戳data length:第9-12字节,存储元数据字节的长度data:可变长度,起始地址为第13字节,长度为data length,存储元数据的字节。6.一种数据存储方法,其特征在于,该方法包括如下步骤:根据权利要求1-5任一项所述的一种数据备份装置,对于每个批次的元数据,将批次中元数据的最小时间戳min timestamp存放在数据批次的10-17字节,最大时间戳max timestamp存放在18-25字节;依次对数据批次中的每条元数据进行处理,将元数据的时间戳存放在数据的1-8字节,将元数据的长度存放在数据的9-12字节,将元数据的字节追加到上一条元数据的末尾;得到原始数据字节;对原始数据字节进行压缩,并将attributes的1-3位设置为对应的压缩类型,然后对压缩后的字节进行加密,...

【专利技术属性】
技术研发人员:胡龙周金明
申请(专利权)人:南京行者易智能交通科技有限公司
类型:发明
国别省市:

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

1