CN117009147A - 一种云平台虚拟机的数据备份方法、装置和电子设备 - Google Patents
一种云平台虚拟机的数据备份方法、装置和电子设备 Download PDFInfo
- Publication number
- CN117009147A CN117009147A CN202311288417.8A CN202311288417A CN117009147A CN 117009147 A CN117009147 A CN 117009147A CN 202311288417 A CN202311288417 A CN 202311288417A CN 117009147 A CN117009147 A CN 117009147A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- data blocks
- data block
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000005012 migration Effects 0.000 claims description 54
- 238000013508 migration Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 38
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 13
- 238000007906 compression Methods 0.000 claims description 13
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 35
- 238000007726 management method Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 238000013461 design Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种云平台虚拟机的数据备份方法、装置和电子设备,该方法包括:从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,将待备份数据切分成N个数据块,每个数据块中包括数据块头和数据块体,数据块头中包括至少一个字段,用于记录当前数据块的顺序标志位和数据区域对应ID;将N个数据块迁移至备份服务器,以使备份服务器将N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中。本方法根据数据块头中的顺序标志位字段实现数据块断点续传功能,另外目标格式数据备份后支持还原至不同云平台,使得备份平台的使用更加可靠、提高了不同架构平台的兼容性。并且备份资源池中负载均衡器还提供备份服务器的横向扩展功能。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种云平台虚拟机的数据备份方法、装置和电子设备。
背景技术
随着现代信息技术的蓬勃发展以及大数据时代的到来,现代信息社会数据量的增长越来越迅猛,人们对虚拟机数据存储和管理的需求已经发展到PB(Peta Byte,皮字节)级甚至EB(Exa Byte,艾字节)级。随着各种应用的普及,许多用户又比较缺乏数据可靠性意识,许多不确定因素往往威胁着虚拟机数据的安全,如天灾、系统故障、人为操作失误、病毒和黑客攻击等。这些因素可能导致云平台虚拟机数据的缺损和丢失,将严重影响信息系统的正常运行,还可能带给系统用户重大的经济损失,甚至会导致无法挽回的后果。因此,需要一套虚拟机数据保护系统,能够对虚拟机数据进行备份,并在必要时,可以还原至任意所需时刻的虚拟机状态。
与此同时,随着IT国产化迫切性持续提升,相关政策支持力度不断加强,国产化替代需求不断增强。当前国内信创转型进程不断加快,各IT层级的产品替代也在加速中,“VMware替代”正是其中之一。市场上也已经出现了诸多VMware替代方案,但大多基于现有成熟业务安全可靠性考虑,集中在仅替换部分难以支撑用户生产业务VMware平台,很多用户在替代VMware的同时,也存在着搭建新云平台架构云化转型的需求,以及进一步实现架构信创转型的需要。
基于此,往往企业出于数据安全以及稳定性考虑,会同时存在两种架构的云平台环境,一种是之前VMware平台,以及新一代的国产化云平台(如KVM架构)。对于两个平台虚拟机同时运行,也需要设计一种能够同时兼容解决不同跨平台虚拟机备份还原方案,提升安全性同时,也能保证易用性。
目前,基于云平台的数据备份过程中无法进行中断传输,当数据量较大,备份耗时较长情况下,如果因为网络或人为造成中断后,就需要重新从头开始备份,导致耗时较长,易用性较差。
发明内容
有鉴于此,本发明提供了一种云平台虚拟机的数据备份方法、装置和电子设备,以解决备份过程中断点后,需要重新从头备份导致耗时较长、易用性较差的问题。
第一方面,本发明提供了一种云平台虚拟机的数据备份方法,方法包括:
从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,发生变更的数据区域中存储有变更的数据;
从发生变更的数据区域中确定待备份数据;
将待备份数据切分成N个数据块,每个数据块中包括数据块头和数据块体,数据块头中包括至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
将N个数据块迁移至备份服务器,以使备份服务器将N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中;目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量。
此外,所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。例如当数据块迁移过程中发生中断时,根据当前已发送的数据块的顺序标志位确定下一个要发送的数据块,并标记为目标数据块;当数据块迁移恢复时,按照每个数据块的顺序标志位从所述目标数据块开始,将所述目标数据块和剩余未迁移的数据块发送至所述备份服务器。
结合第一方面,在一种可能的实施方式中,从发生变更的数据区域中确定待备份数据,包括:根据记录中的地址信息,在数据区域中确定待备份数据。
可选的,所述数据块头中的至少一个字段包括:
用于识别格式的字段;用于记录数据块大小的字段;用于标识版本号的字段;用于记录虚拟机信息的字段;用于标识设备ID的字段;用于记录迁移的时间的字段;用于标识目标路径的字段;用于记录虚拟化环境技术的跟踪者ID的字段;用于标识目标格式字段。
结合第一方面,在又一种可能的实施方式中,在将N个数据块迁移至备份服务器之前,还包括:利用加密算法对N个数据块中的每个数据块进行加密;
将N个数据块迁移至备份服务器,包括:将加密后的N个数据块逐一地或者并发迁移至备份服务器。
结合第一方面,在又一种可能的实施方式中,利用加密算法对N个数据块中的每个数据块进行加密,包括:利用循环冗余校验码CRC对N个数据块进行校验;校验合格后采用迭代分组密码算法对N个数据块进行加密处理,生成N个加密数据块。
第二方面,本发明还提供一种云平台虚拟机的数据备份方法,该方法包括:接收来自备份管理平台发送的N个数据块,N为正整数,且N≥1,每个数据块中包括数据块头和数据块体;解析数据块头得到至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;根据顺序标志位确定当前接收的数据块顺序,以及根据数据区域对应的ID确定数据块来自的数据区域;将N个数据块按照顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中。
其中,目标格式数据备份后支持还原至不同云平台,备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量;所述顺序标志位用于在N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块,直到N个数据块全部迁移完成为止。
结合第二方面,在一种可能的实施方式中,将所述N个数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,包括:根据每个数据块的数据块头中至少一个字段判断数据区域中的数据块是否全部迁移完成;如果是,则对N个数据块进行整合和格式压缩处理,生成目标格式数据。
其中,所述目标格式数据包括以下字段:用于识别文件格式的字段;用于标识版本号的字段;用于标识数据源格式的字段。
结合第二方面,在又一种可能的实施方式中,对所述N个数据块进行整合和格式压缩处理,包括:对所有数据块进行合并,并将合并后的数据通过数压缩算法进行压缩处理。
结合第二方面,在又一种可能的实施方式中,对所有数据块进行整合和格式压缩处理,生成目标格式数据之前,还包括:若接收的数据块为加密数据块,则对加密数据块进行解密和完整性校验处理,得到解密后的数据块;
上述对所有数据块进行整合和格式压缩处理,包括:对所有解密后的数据块进行整合和格式压缩处理。
第三方面,本发明提供了一种云平台虚拟机的数据备份装置,该装置包括:
获取模块,用于从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,发生变更的数据区域中存储有变更的数据;
确定模块,用于从发生变更的数据区域中确定待备份数据;
处理模块,用于将待备份数据切分成N个数据块,每个数据块中包括数据块头和数据块体,数据块头中包括至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
迁移模块,用于将N个数据块迁移至备份服务器,以使备份服务器将N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中,所述目标格式数据备份后支持还原至不同云平台,备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量。
其中,所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
第四方面,本发明还提供另一种云平台虚拟机的数据备份装置,该装置包括:
接收模块,用于接收来自备份管理平台发送的N个数据块,每个数据块中包括数据块头和数据块体;
解析模块,用于解析每个数据块头得到至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
确定模块,用于根据顺序标志位确定当前接收的数据块顺序,以及根据数据区域对应的ID确定数据块来自的数据区域;
存储模块,用于将N个数据块按照顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中。
其中,所述目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量;所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
第五方面,本发明提供了一种电子设备,包括:存储器和处理器,存储器和处理器之间互相通信连接。
其中,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或第二方面任一实施方式所述的云平台虚拟机的数据备份方法。
另外,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或第二方面任一实施方式所述的云平台虚拟机的数据备份方法。
本发明提供的云平台虚拟机的数据备份方法、装置和设备,先将发生变更的数据区域中存储的数据,即待备份数据进行数据块切分,并设计每个数据块中包括数据块头和数据块体,以及在数据块头中设置用于记录当前数据块的顺序标志位和数据区域对应ID的至少一个字段,从而使得数据块在做数据迁移过程中,接收端备份服务器可根据数据块头的至少一个字段确定当前数据块的顺序、数据块大小和来自数据的区域位置,进而在发生数据块传输中断或终止时,可从数据块头中读取已经迁移的数据块和当前终止的记录块,从而对断点数据块进行重新备份传输,避免从备份任务的起始数据开始传输备份,本方法实现断点续传功能、提高数据备份传输效率、节约断点续传耗时。
另外,在备份服务器存储备份数据时,先将要存储的数据块合并和压缩至目标格式数据,该目标格式支持备份后还原至任意平台,如Kvm和VMware虚拟化平台,使得备份平台的使用更加可靠、提高了不同架构平台的兼容性。并且,存储目标格式数据相比于格式压缩前,占用的存储资源小。
并且,通过在备份资源池中设置负载均衡器,通过增加或减少备份服务器的数量来扩展或缩小备份系统的规模和能力,提供备份服务器的横向扩展功能,动态调节备份存储容量,增加系统的处理能力和存储容量,提高了系统的可扩展性和弹性,有效利用了硬件资源,可根据用户备份的速度和周期需求,对备份服务器数量进行选择,从而提高了备份效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种云备份平台的系统架构图;
图2是本发明实施例提供的一种云平台虚拟机的数据备份方法的流程图;
图3是本发明实施例提供的另一种云平台虚拟机的数据备份方法的流程图;
图4是本发明实施例提供的一种数据块加密过程的流程图;
图5是本发明实施例提供的一种数据块解密过程的流程图;
图6是本发明实施例提供的又一种云平台虚拟机的数据备份方法的流程图;
图7是本发明实施例提供的一种数据备份装置的结构框图;
图8是本发明实施例提供的另一种数据备份装置的结构框图;
图9是本发明实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,结合数据备份方法的执行所依赖的应用场景,在此对应用场景进行描述。
参见图1,为本发明实施例提供的一种云备份平台的系统架构图。该系统架构图中包括:备份管理平台、一个或多个备份服务器、一个或多个宿主机、虚拟机VM。此外,在备份服务器一侧还包括备份资源池,用于目标格式数据/文件的存储。
在至少一个宿主机/虚拟机VM中还包括生产资源池,用于存储不同平台文件格式,比如qcow/vmdk格式文件等。
其中,在备份管理平台中包括备份中心,用于对数据进行完整性校验。在备份服务器一侧,每个备份服务器中包括备份backup SDK(Software Development Kit,软件开发工具包)用于做数据备份,连接备份资源池。
本方案主要设计了一种备份系统,系统创新设计包括:①备份数据的传输、②数据校验以及加密、③数据存储三大部分。
另外,在平台上还包括不同格式的文件/数据,比如图1中示出两种虚拟化平台,一种是基于内核的虚拟机(Kernel-based Virtual Machine,KVM),另一种是裸金属架构的虚拟化技术(VMware vSphere,vmware)虚拟化内核。其中,vmware虚拟机直接运行在系统硬件上,创建硬件全仿真实例,所以又被称为“裸机”,适用于多台机器的虚拟化解决方案,而且可以图形化操作。
每个虚拟化平台中都可以备份数据并读取数据,并将有更新的数据存储在生产资源池中。
本发明为了解决云平台数据备份因为网络或人为造成中断后,由于无断点续传功能,因此需要重新从头备份,且一旦数据量较大,备份耗时较长、易用性较差的问题,提出了一种云平台虚拟机的数据备份方法。下面对本实施例提供的数据备份方法进行详细说明。
根据本发明实施例,提供了一种云平台虚拟机的数据备份方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据备份方法,该方法可用于上述的备份管理平台,比如备份管理平台中的一个服务器或控制器。如图2所示,该流程包括:
步骤S101:从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,所述发生变更的数据区域中存储有变更的数据。
其中,所述云平台包括Kvm虚拟机平台和VMware虚拟机平台,在Kvm虚拟机平台和Kvm虚拟化内核,以及VMware虚拟机平台的VMware虚拟化内核中记录有发生变更的数据,并将这些数据存储在生产资源池中,所述生产资源池为虚拟化平台的存储资源。
步骤S102:从所述发生变更的数据区域中确定待备份数据。
具体地,一种实施方式是,先根据虚拟机的记录获取地址信息,该地址信息为发生改变的数据地址,根据该记录中的地址信息,在发生变更的数据区域(Changed area)中确定待备份数据。
步骤S103:将所述待备份数据切分成N个数据块(chunk),每个所述数据块中包括数据块头(head)和数据块体(body)。
其中,数据块头用于承载指示信息,数据块体用于承载具体的数据/文件(data)。所述数据块头中包括至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位(OrderedFlag)和数据区域对应ID(Change ID)。
可选的,所述数据块大小(ChunkSize)为256KB。
此外,可选的,该数据块头中的至少一个字段还可以包括以下一种或多种:用于识别格式的字段(MagicCode);用于记录数据块大小的字段(ChunkSize);用于标识版本号的字段(version);用于记录虚拟机信息的字段(VM reference);用于标识设备ID的字段(Device ID);用于记录迁移的时间的字段(MigrateTime);用于标识目标路径的字段(TargetPath);用于记录虚拟化环境技术的跟踪者ID的字段(CBT Tracker ID);用于标识目标格式字段(Target Format)。
上述各个字段定义以及字段中携带的内容可根据用户需要自行设置,本实施例对此不作限制。参见表1为一种数据块结构的示例。
表1、数据块chunk格式
上表1为本实施例设计的一种数据块chunk的结构展示示例,其中,每个数据块的开始(Start)部分和长度(Length)组成数据块体(body),此外在数据块体中还可以预留其他字段空间,用于存储其他更多或更少信息,本实施例对此不予限制。另外,在步骤S103中,本实施例对数据块拆分方法也不作限制。
步骤S104:将所述N个数据块迁移至备份服务器,以使所述备份服务器将所述N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中。
具体地,数据管理平台可以在数据切块的过程中实时地传输数据,比如每拆分一个数据块,就将该数据块迁移至备份服务器。或者还可以等待数据全部被切块后,再并行传输至一个或多个备份服务器。
其中,目标格式数据可以是预定义格式数据,比如jenga格式数据。该目标格式数据备份后支持还原至不同云平台。此外,在备份资源池中还包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量来扩展或缩小备份系统的规模和能力,提供备份服务器的横向扩展功能,增加系统的处理能力和存储容量,提高了系统的可扩展性和弹性,以满足不断增长的备份需求。
本实施例提供的方法,在数据备份过程中,将备份数据切分成数据块Chunk粒度,并传输至少一个数据块,默认每个数据块的大小为256KB,数据粒度相比于快照更细,且不存在虚拟机快照备份数据存在的安全隐患和性能影响。同时每个数据块Chunk记录了数据传输的顺序性(OrderedFlag字段),每个Chunk数据块记录在目的Disk写入成功之后更新,进而在发生数据块传输中断或终止时,可从数据块头中读取已经迁移的数据块和当前终止的记录块,从而对断点数据块进行重新备份传输,避免从备份任务的起始数据开始传输备份,本方法实现了数据备份粒度更细,以及断点续传功能。
此外,本方案无需依赖源虚拟机,不会影响虚拟机的运行状态,从而保证用户业务不受影响,并提高数据传输的安全性,保证了数据在经过网络,即使是经过公网也不会影响迁移数据的安全性。
在一些实施例中,数据传输设计的传输格式备份数据粒度为chunk(数据块),chunk在数据格式传输的工作流程如图3所示,备份磁盘数据的流程,具体包括:
启动备份磁盘数据,备份管理平台在虚拟化平台的生产存储池中读取chunk迁移记录,该迁移记录中是所有数据块的整体记录,其中包含地址信息。备份管理平台根据该chunk迁移记录中的地址信息获取已经发生变更数据区域(Changed Area),该ChangedArea中存储要备份的数据,这些数据的格式是qcow2或vmdk格式。
其中,Changed area在备份中表示备份过程中已更改的数据区域。通常,在备份过程开始时,备份软件会计算哪些数据需要进行备份,然后对这些数据进行备份。当备份过程中数据发生更改时,备份软件会将该更改标记为 "Changed area",以确保在备份数据时包含这些更改的数据区域。
然后将该ChangedArea数据切分成N个数据块chunk。一种实施方法是,采用CBT(Changed Block Tracking,数据块修改跟踪技术)获得ChangedArea数据。其中,CBT是一种用于虚拟化环境中的技术,用于跟踪虚拟机磁盘上发生变化的块。它可以帮助在虚拟机磁盘备份过程中,只备份发生变化的块,从而提高备份速度和效率。
CBT工作原理是在虚拟机的存储层面上,跟踪虚拟机磁盘上的块是否发生变化。每当虚拟机上的块发生变化时,CBT会记录有关这些变化的信息,以便备份软件在下次备份时只备份这些有变化的块。这种增量备份的方式可以大大减少备份时间和备份数据的大小。
备份管理平台执行将N个数据块迁移至备份服务器,具体地,以迁移N个数据块中的第一数据块(chunk 1)为例,首先判断第一数据块(chunk 1)是否已经完成迁移。如果是,即完成迁移,则跳过该步骤,然后判断下一个数据块chunk2是否完成迁移。
如果否,即未迁移,则将第一数据块进行chunk数据迁移;并判断该chunk1迁移是否成功。如果迁移成功,则更新chunk迁移记录,比如生成第一迁移记录,第一迁移记录中包括该第一数据块chunk1成功迁移的相关信息。
同理地,迁移其他数据块直至N个数据块都被迁移至备份服务器上,此时,备份服务器判断Changed area中的全部被切块的数据是否都已经传输完毕;备份管理平台根据读取的需要迁移的chunk数据,实时比对已经迁移的历史记录数据,确定是否全部完成迁移。
如果是,则将接收到的全部数据块进行合并,生成前述数据分割前Changed area中的完整数据,并生成合并chunk记录;备份服务器将所述完整数据(即合并chunk记录)进行压缩,生成目标格式数据。如果否,则继续迁移chunk数据块。
可选的,所述目标格式数据为jenga数据。
最后将所述jenga数据存储在备份服务器的备份资源池中。
本实施例中,采用CBT方案获得ChangedArea数据,然后将数据切分为单个Chunk数据块进行传输,且每个chunk数据块默认设置大小为256KB,Chunk格式中设计记录了历史迁移的Chunk记录的顺序性,即OrderedFlag字段,从而可以实现断点了断点续传功能。
一旦传输终止,chunk数据会持续固化该记录,一旦下次启动备份任务,程序会从chunk格式中读取已经迁移的数据块和当前终止的记录块,从而中止数据点进行重新备份传输,避免从备份任务的起始数据传输。
举例说明,比如将ChangedArea数据拆分成chunk 1~chunk 10共数据块,即N=10;当前传输记录中已经备份了chunk1~chunk 3,当备份发生中断时,如果需要再备份,则根据当前传输记录中chunk3的OrderedFlag字段,可以确定数据块1~数据块3已经完成迁移,所以只需要从chunk4开始传输和备份即可,无需从chunk1重新开始备份。
另外,在数据备份传输过程中,N个数据块还支持并发读取传输,数据格式中的OrderedFlag字段可实现每次数据切分的顺序,并发读取数据时,通过该顺序标志位(OrderedFlag字段),使得接收端备份服务器,在接收到chunk数据以后,可以有序组合,确保数据的正确有效。
进一步地,在上述chunk数据迁移传输过程中,为了提高数据迁移的安全性,本实施例还对chunk数据进行加密处理,即还包括:数据校验及加密流程。
具体地,如图4所示,在数据块加密过程中,包括如下方法步骤:
步骤S102:读取Changed Area数据。
步骤S103:将该Changed Area数据切分,得到N个数据块chunk。
具体过程参见上述实施例的方法描述,此处不再赘述。
然后,利用加密算法对N个数据块中的每个数据块进行加密,具体地,一种实施方式是:
步骤S103-1:利用循环冗余校验码CRC对所述N个数据块进行校验;
步骤S103-2:校验合格后采用SM4算法对所述N个数据块进行加密处理,生成N个加密数据块。
步骤S104’:将加密后的N个数据块迁移至所述备份服务器。进一步地,迁移数据块可以是逐一地迁移,或者并发迁移数据块,本实施例对此不予限制。
其中,数据校验以及加密设计采用使用SM4算法对经过网络传输前的数据进行加密处理,SM4加密算法是一种迭代分组密码算法,由加解密算法和密钥扩展算法组成。其分组长度和密钥长度均为128比特,加密算法和密钥扩展算法迭代轮数均为32轮。SM4算法具有安全高效的功能特点,在设计和实现方面具有一定的优势。
CRC(Cyclic Redundancy Check,循环冗余校验码)是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。相应加密和CRC计算,都可以由虚机平台的CVD(Cloud Virtual Disk,云虚拟磁盘)服务完成。
与前述数据块加密过程相对应,本实施例在接收端,比如备份服务器一侧,还提供数据块解密过程,具体地,附图5所示,方法包括:
步骤S201-1:备份服务器在前述步骤S104’中接收来自备份管理平台发送的至少一个加密的数据块chunk后,利用SM4算法解密该加密的数据块chunk。
其中,SM4解密过程的算法与加密算法相同,但是轮密钥的使用顺序相反。
步骤S201-2:对解密的数据块做CRC完整性校验。
如果CRC校验合格,则执行步骤S202。
步骤S202:CRC完整性校验合格后得到N个数据块。
比如解密前接收的数据块是chunk 1’~chunk 10’,经过SM4算法解密和CRC校验后,得到数据块chunk 1~chunk 10。
步骤S203:整合并压缩数据块chunk 1~chunk 10至目标格式,并将该目标格式数据存储到备份资源池。
本实施例中,在数据块迁移备份之前,对数据块做校验及加密处理,部分设计的数据校验以及加密,从而提高数据迁移的安全性,并采用CRC算法确保数据完整性校验。
下面介绍备份服务器一侧的方法实施例,在备份服务器侧主要执行数据存储流程,具体地,如图6所示,数据备份和存储方法包括:
步骤S301:接收来自备份管理平台发送的N个数据块,N个数据块中的每个数据块包括数据块头和数据块体。其中,数据块(chunk)中数据块头和数据块体的结构可参见前述实施例的表1所示。
步骤S302:解析每个所述数据块头得到至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID。
其中,数据块的顺序标志位OrderedFlag字段用于指示当前数据块chunk的位置次序,比如记录chunk1,表示在N个数据块chunk中排序是第一个。
可选的,上述数据块头中还可以包括如表1所示的其他字段。
步骤S303:根据所述顺序标志位确定当前接收的数据块顺序,以及根据所述数据区域对应的ID确定所述数据块来自的数据区域。
所述数据区域对应的ID,即ChangedArea对应ID用于指示当前数据块是从云平台的哪个数据区域中迁移的,比如ChangedArea ID 1指示当前迁移的数据是来自ChangedArea 1中的数据。
同理地,备份服务器还可以从数据块头的其他字节中获取当前传输数据块chunk的相关信息,比如数据块大小,数据格式MagicCode、虚拟机信息VM reference、迁移时间MigrateTime、目标路径TargetPath和目标格式Target Format等等。
步骤S304:将所述数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中。
备份服务器接收当前数据块后,更新chunk记录,并按照OrderedFlag字段指示的次序对数据块排序和存储。所述顺序标志位(OrderedFlag字段)用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
其中,所述目标格式数据备份后支持还原至不同云平台。
进一步地,与前述方法步骤S301至步骤S304相同,还包括:备份服务器继续接收来自所述备份管理平台发送的一个或多个数据块;根据每个所述数据块的数据块头中至少一个字段判断所述数据区域中的数据块是否全部迁移完成;如果是,则对所有所述数据块进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池。
一种对所有所述数据块进行整合和格式压缩处理的具体包括:对所有所述数据块进行合并,并将合并后的数据通过Varint数压缩算法进行压缩处理。
其中,Varint数压缩算法是一种基于变长编码的整数压缩算法。它的主要目的是在减少整数占用空间的同时,保持数据的有序性。Varint数压缩算法使用不定长度字节序列来表示整数。每个字节的最高位用于标识是否为最后一个字节,余下的7个位用于存储整数的字节数据。当最高位为0时,表示当前字节为最后一个字节;当最高位为1时,表示后续还有字节。具体的编码规则如下:
1. 对于小于128的整数,直接用1个字节表示。
2. 对于大于等于128的整数,将它们的二进制表示按照7位一组,从低位到高位的顺序,按顺序存储在不定长度的字节序列中。每个字节的最高位标识是否是最后一个字节。最后一个字节的最高位为0,表示结束。
通过这种编码方式,Varint数压缩算法可以极大地减少整数占用的空间。对于小数值,只需要1个字节就可以表示,而对于大数值,需要多个字节来表示。并且,由于整数的字节按照顺序存储,所以可以保持整数的有序性。
此外,上述目标格式数据包括以下字段:用于识别文件格式的字段(Magic Code);用于标识版本号的字段(version);用于标识数据源格式的字段(Data Format)等。参见表2,为一种目标格式数据的数据结构。
表2、目标格式数据的数据结构
本实施例中,上述目标格式为jenga格式,目标格式数据为jenga数据。
在进行存储备份时,设计了一种jenga格式,该数据格式具有占存储空间小、存储数据容量大,且记录数据不用区分vmware虚拟化平台或者kvm虚拟化平台的有益效果。
在备份服务器侧,数据存储设计存储格式文件Jenga,解决不同平台备份数据不同的问题,无需进行格式转换,统一备份为jenga格式数据。在备份数据还原时,用户可自行选择还原虚拟机类型,由于备份数据存储文件相同,用户可以将源虚拟机备份数据还原为另一平台或原平台虚拟机。
此外,本实施例提供的方法还提供备份服务器的横向扩展功能,具体地,在备份资源池中,每个备份服务器是备份存储池的基本的单元组成单元。备份服务器的横向扩展是指通过增加或减少备份服务器的数量来扩展或缩小备份系统的规模和能力。
其中,横向扩展可以通过添加新的备份服务器节点来增加系统的处理能力和存储容量,以满足不断增长的备份需求。相反,如果备份需求减少或者需要降低系统规模,可以通过减少备份服务器节点的数量来实现。
进一步地,一种实施方式是,使用负载均衡技术,通过在备份资源池中设计添加一个负载均衡器,比如HAProxy,用将备份的流量均匀分发到多个备份服务器上,以实现横向扩展。当备份存储池备份压力较大时,通过添加新的备份服务器节点,系统可以更好地应对备份负载的增加,提供更高的并发处理能力和存储容量。
其中,HAProxy是一款高性能、开源的负载均衡器和代理服务器软件。它可以将网络负载分配到多个服务器上,以提高系统的可靠性、性能和可扩展性。HAProxy常用于处理高流量的网络应用,特别是Web应用。它支持TCP和HTTP协议,并提供了丰富的功能和配置选项,可以进行负载均衡、请求转发、健康检查、会话持久性、SSL终结等操作。
进一步地,HAProxy还支持多种负载均衡策略,包括轮询、加权轮询、最少连接数、IP哈希等。它通过对后端服务器进行健康检查,可以动态地调整负载均衡策略,确保只将流量分发到正常可用的服务器上。本实施例中利用HAProxy实现对备份资源池的至少一个备份服务器做负载均衡和横向扩展功能。
此外,横向扩展功能不但可以提高系统的可扩展性和弹性,而且还可以提高系统的可用性和容错能力,因为备份服务器之间的负载可以被平衡,即当一个服务器故障时,其他服务器可以接管其工作,确保备份过程的连续性和可靠性。
在上述实施例设计的数据块chunk结构中,利用目标传输路径TargetPath字段,对应的备份虚拟机信息VM reference字段和Device ID,即每个数据块chunk都有准确的源和目的路径,因此在并行传输时,互相不影响各自数据传输。备份服务器的横向拓展功能有效地利用了硬件资源,可根据用户备份的速度和周期需求,对备份服务器数量进行选择,从而提高了备份效率。
此外,在备份服务器对所有所述数据块进行整合和格式压缩处理,生成目标格式数据之前,还包括:若接收的数据块为加密数据块,则对所述加密数据块进行解密和CRC完整性校验处理,得到解密后的数据块;然后再对所有解密后的数据块进行整合和格式压缩处理,具体的解密数据块过程参见前述实施例描述。
在本发明实施例中还提供了一种数据备份装置,用于实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图7所示,本实施例提供一种云平台虚拟机的数据备份装置,该装置包括:获取模块701、确定模块702、处理模块703和迁移模块704,此外,该装置中还可以包括其他更多或更少模块,本实施例对此不做限制。
其中,获取模块701,用于从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,所述发生变更的数据区域中存储有变更的数据。
确定模块702,用于从所述发生变更的数据区域中确定待备份数据。
处理模块703,用于将所述待备份数据切分成N个数据块,每个数据块中包括:数据块头和数据块体,所述数据块头中包括至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID。
迁移模块704,用于将所述N个数据块迁移至备份服务器,以使所述备份服务器将所述N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中。
其中,目标格式数据备份后支持还原至不同云平台。
另外,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量来扩展或缩小备份系统的规模和能力,提供备份服务器的横向扩展功能,提高了系统的可扩展性和弹性。
可选的,在一具体的实施方式中,确定模块702,具体用于根据所述记录中的地址信息,在所述数据区域中确定所述待备份数据。
可选的,在另一具体的实施方式中,该装置还包括加密模块,所述加密模块在图7中未示出,该加密模块用于在将N个数据块迁移至备份服务器之前,利用加密算法对所述N个数据块中的每个数据块进行加密。
迁移模块704,还用于将所述加密模块加密后的N个数据块逐一地或者并发迁移至所述备份服务器。
可选的,在又一具体的实施方式中,所述加密模块具体用于利用循环冗余校验码CRC对所述N个数据块进行校验;当校验合格后采用迭代分组密码算法对所述N个数据块进行加密处理,生成N个加密数据块。
在另一实施例中,本实施例还提供了另一种云平台虚拟机的数据备份装置,该装置用于实现前述备份服务器的功能,具体地,如图8所示,该数据备份装置包括:接收模块801、解析模块802、确定模块803和存储模块804。
其中,接收模块801,用于接收来自备份管理平台发送的N个数据块,每个所述数据块中包括数据块头和数据块体。
解析模块802,用于解析每个所述数据块头得到至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位、块大小和数据区域对应ID。
确定模块803,用于根据所述顺序标志位确定当前接收的数据块顺序,以及根据所述数据区域对应的ID确定所述数据块来自的数据区域。
存储模块804,用于将所述N个数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中。
其中,顺序标志位用于在N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块,直到N个数据块全部迁移至备份资源池中。
可选的,在一具体的实施方式中,确定模块803,还用于根据每个所述数据块的数据块头中至少一个字段判断所述数据区域中的数据块是否全部迁移完成;如果是,则对所有所述数据块进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据通过存储模块804存储至备份资源池。
可选的,在另一具体的实施方式中,确定模块803,具体还用于对所有所述数据块进行合并,并将所述合并后的数据通过数压缩算法(比如Varint算法)进行压缩处理。
其中,所述目标格式数据包括以下字段:用于识别文件格式的字段;用于标识版本号的字段;用于标识数据源格式的字段等。
可选的,在又一具体的实施方式中,上述装置中还包括解密模块,该解密模块在图8中未示出,所述解密模块,用于在对所有所述数据块进行整合和格式压缩处理,对接收的加密数据块进行解密和完整性校验处理,得到解密后的数据块。
确定模块803,还用于对所有解密后的数据块进行整合和格式压缩处理。
本实施例中的数据备份装置是以功能模块的形式来呈现,这里的模块可以是ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例提供一种数据备份装置,提升了生产环境的备份性能。针对备份数据过程中,支持断点续传,解决传输中断导致耗时长数据量大的问题,并设计了任务多并发以及存储服务器的横向扩展功能,增加备份系统的处理能力和存储容量,提高了系统的可扩展性和弹性。
同时,还设计的数据校验以及加密功能,提升了备份数据的安全可靠性。数据存储格式的通用性,使得备份平台的使用,更加可靠,解决了不同架构平台的兼容性问题。
本发明实施例还提供一种电子设备,该电子设备具有上述图7或图8所示的数据备份装置。
请参阅图9,是本发明实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其他方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。
在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
处理器10可以是中央处理器CPU,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的电子设备的使用所创建的数据等。
此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
可选的,该电子设备还包括输入装置和输出装置(图9中未示出)。其中,输入装置可接收输入的数字或字符信息,以及产生与该电子设备的用户设置以及功能控制有关的键信号输入。输出装置可以包括显示设备。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
此外,该电子设备还包括通信接口30,用于该电子设备与其他服务器或通信网络通信。
另外,该电子设备可以是前述实施例的备份管理平台,或者是一种备份服务器,或者还可以是一种包含虚拟机的宿主机,用于实现前述一种云平台虚拟机的数据备份方法。
此外,本实施例还提供了一种云平台虚拟机的数据备份系统,包括至少一个备份服务器、备份管理平台和至少一个云平台。
其中,备份管理平台,用于从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,从发生变更的数据区域中确定待备份数据;将待备份数据切分成N个数据块,以及将N个数据块迁移至备份服务器。其中每个数据块中包括数据块头和数据块体,数据块头中包括至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
备份服务器,用于接收来自备份管理平台发送的数据块,数据块中包括数据块头和数据块体;解析数据块头得到至少一个字段,至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;根据顺序标志位确定当前接收的数据块顺序,以及根据数据区域对应的ID确定数据块来自的数据区域;将所述数据块按照所述顺序标志位的次序存储至备份资源池中。
此外,备份管理平台和至少一个备份服务器还用于实现前述数据备份方法实施例的其他方法步骤,本实施例不一一赘述。
本实施例提供的数据备份系统,通过设计每个数据块中包括数据块头和数据块体,以及在数据块头中设置用于记录当前数据块的顺序标志位和数据区域对应ID的至少一个字段,从而使得数据块在做数据迁移过程中,接收端备份服务器可从数据块头中读取已经迁移的数据块和当前终止的记录块,从而对断点数据块进行重新备份传输,避免从备份任务的起始数据开始传输备份,提高数据备份传输效率、节约断点续传耗时。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的随机值生成方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。
其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的数据备份方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (12)
1.一种云平台虚拟机的数据备份方法,其特征在于,所述方法包括:
从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,所述发生变更的数据区域中存储有变更的数据;
从所述发生变更的数据区域中确定待备份数据;
将所述待备份数据切分成N个数据块,每个所述数据块中包括数据块头和数据块体,所述数据块头中包括至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
将所述N个数据块迁移至备份服务器,以使所述备份服务器将所述N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中,所述目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量;
其中,所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
2.根据权利要求1所述的方法,其特征在于,所述从所述发生变更的数据区域中确定待备份数据,包括:
根据所述记录中的地址信息,在所述数据区域中确定所述待备份数据。
3.根据权利要求1所述的方法,其特征在于,所述数据块头中的至少一个字段包括:
用于识别格式的字段;
用于记录数据块大小的字段;
用于标识版本号的字段;
用于记录虚拟机信息的字段;
用于标识设备ID的字段;
用于记录迁移的时间的字段;
用于标识目标路径的字段;
用于标识通过数据块修改跟踪技术跟踪的发生变更数据的字段;
用于标识目标格式的字段。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述N个数据块迁移至备份服务器之前,还包括:
利用加密算法对所述N个数据块中的每个数据块进行加密;
所述将所述N个数据块迁移至备份服务器,包括:
将加密后的N个数据块逐一地或者并发迁移至所述备份服务器。
5.根据权利要求4所述的方法,其特征在于,所述利用加密算法对所述N个数据块中的每个数据块进行加密,包括:
利用循环冗余校验码CRC对所述N个数据块进行校验;
校验合格后采用迭代分组密码算法对所述N个数据块进行加密处理,生成N个加密数据块。
6.一种云平台虚拟机的数据备份方法,其特征在于,所述方法包括:
接收来自备份管理平台发送的N个数据块,每个所述数据块中包括数据块头和数据块体;
解析每个所述数据块头得到至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
根据所述顺序标志位确定当前接收的数据块顺序,以及根据所述数据区域对应的ID确定所述数据块来自的数据区域;
将所述N个数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中,其中,所述目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量;所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
7.根据权利要求6所述的方法,其特征在于,所述将所述N个数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,包括:
根据每个所述数据块的数据块头中至少一个字段判断所述数据区域中的数据块是否全部迁移完成;
如果是,则对所述N个数据块进行整合和格式压缩处理,生成目标格式数据;所述目标格式数据包括以下字段:
用于识别文件格式的字段;
用于标识版本号的字段;
用于标识数据源格式的字段。
8.根据权利要求7所述的方法,其特征在于,所述对所述N个数据块进行整合和格式压缩处理,包括:
对所述N个数据块进行合并,并将所述合并后的数据通过数压缩算法进行压缩处理。
9.根据权利要求7所述的方法,其特征在于,所述对所述N个数据块进行整合和格式压缩处理,生成目标格式数据之前,还包括:
若所述接收的数据块为加密数据块,则对所述加密数据块进行解密和完整性校验处理,得到解密后的数据块;
对所述N个数据块进行整合和格式压缩处理,包括:对所有解密后的数据块进行整合和格式压缩处理。
10.一种云平台虚拟机的数据备份装置,其特征在于,所述装置包括:
获取模块,用于从云平台不同虚拟机跟踪的记录中获取发生变更的数据区域,所述发生变更的数据区域中存储有变更的数据;
确定模块,用于从所述发生变更的数据区域中确定待备份数据;
处理模块,用于将所述待备份数据切分成N个数据块,每个所述数据块中包括数据块头和数据块体,所述数据块头中包括至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID;
迁移模块,用于将所述N个数据块迁移至备份服务器,以使所述备份服务器将所述N个数据块进行整合并压缩成目标格式数据,并存储在备份资源池中,所述目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量;
其中,所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块。
11.一种云平台虚拟机的数据备份装置,其特征在于,所述装置包括:
接收模块,用于接收来自备份管理平台发送的N个数据块,所述数据块中包括数据块头和数据块体;
解析模块,用于解析每个所述数据块头得到至少一个字段,所述至少一个字段用于记录当前数据块的顺序标志位和数据区域对应ID,所述顺序标志位用于在所述N个数据块迁移过程中发生断点时,续接发生断点的前一数据块并按照标志位顺序继续传输剩余数据块;
确定模块,用于根据所述顺序标志位确定当前接收的数据块顺序,以及根据所述数据区域对应的ID确定所述数据块来自的数据区域;
存储模块,用于将所述N个数据块按照所述顺序标志位的次序进行整合和格式压缩处理,生成目标格式数据,并将所述目标格式数据存储至备份资源池中;其中,所述目标格式数据备份后支持还原至不同云平台,所述备份资源池中包括负载均衡器,用于根据数据块迁移的大小,增加或减少备份服务器的数量。
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器连接,
所述存储器中存储有计算机指令;
所述处理器通过执行所述计算机指令,从而执行权利要求1至5,或权利要求6至9中任一项所述的云平台虚拟机的数据备份方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311288417.8A CN117009147A (zh) | 2023-09-28 | 2023-09-28 | 一种云平台虚拟机的数据备份方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311288417.8A CN117009147A (zh) | 2023-09-28 | 2023-09-28 | 一种云平台虚拟机的数据备份方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009147A true CN117009147A (zh) | 2023-11-07 |
Family
ID=88573089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311288417.8A Pending CN117009147A (zh) | 2023-09-28 | 2023-09-28 | 一种云平台虚拟机的数据备份方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009147A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271428A1 (en) * | 2006-05-19 | 2007-11-22 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US20140236892A1 (en) * | 2013-02-21 | 2014-08-21 | Barracuda Networks, Inc. | Systems and methods for virtual machine backup process by examining file system journal records |
CN110515770A (zh) * | 2019-08-16 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种数据的云备份方法、装置、设备及存储介质 |
CN110633168A (zh) * | 2018-06-22 | 2019-12-31 | 北京东土科技股份有限公司 | 一种分布式存储系统的数据备份方法和系统 |
CN110674108A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 数据处理方法及装置 |
CN114328026A (zh) * | 2021-12-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种虚拟磁盘备份方法、装置、设备及介质 |
CN116233111A (zh) * | 2022-12-27 | 2023-06-06 | 浪潮云信息技术股份公司 | 一种基于Minio的大文件上传方法 |
-
2023
- 2023-09-28 CN CN202311288417.8A patent/CN117009147A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271428A1 (en) * | 2006-05-19 | 2007-11-22 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
CN102073462A (zh) * | 2010-11-29 | 2011-05-25 | 华为技术有限公司 | 虚拟存储迁移方法、系统和虚拟机监控器 |
US20140236892A1 (en) * | 2013-02-21 | 2014-08-21 | Barracuda Networks, Inc. | Systems and methods for virtual machine backup process by examining file system journal records |
CN110633168A (zh) * | 2018-06-22 | 2019-12-31 | 北京东土科技股份有限公司 | 一种分布式存储系统的数据备份方法和系统 |
CN110515770A (zh) * | 2019-08-16 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种数据的云备份方法、装置、设备及存储介质 |
CN110674108A (zh) * | 2019-08-30 | 2020-01-10 | 中国人民财产保险股份有限公司 | 数据处理方法及装置 |
CN114328026A (zh) * | 2021-12-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种虚拟磁盘备份方法、装置、设备及介质 |
CN116233111A (zh) * | 2022-12-27 | 2023-06-06 | 浪潮云信息技术股份公司 | 一种基于Minio的大文件上传方法 |
Non-Patent Citations (3)
Title |
---|
李天俐;: "财务系统的设计与实现:云计算", 赤峰学院学报(自然科学版), no. 03 * |
杨皓森;胡晓勤;黄传波;: "面向OpenStack/Ceph的虚拟机备份系统研究", 计算机系统应用, no. 11 * |
袁林,尹皓,陈宁: "React+Node.js开发实战 从入门到项目上线", 机械工业出版社, pages: 329 - 331 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073747B2 (en) | Reducing recovery time in disaster recovery/replication setup with multitier backend storage | |
US10372357B2 (en) | Securely recovering stored data in a dispersed storage network | |
US9354991B2 (en) | Locally generated simple erasure codes | |
US8839031B2 (en) | Data consistency between virtual machines | |
KR20130087552A (ko) | 비동기 가상 기계 복제 | |
US8930751B2 (en) | Initializing replication in a virtual machine | |
US20170090793A1 (en) | Devices and methods for a data storage device | |
KR101983208B1 (ko) | 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템 | |
CN104750428A (zh) | 块储存存取和网关模块、储存系统和方法与内容递送装置 | |
CN111880967A (zh) | 云场景下的文件备份方法、装置、介质和电子设备 | |
WO2020222049A1 (en) | Secure data storage based on obfuscation by distribution | |
US20160085588A1 (en) | Distributed storage data repair air via partial data rebuild within an execution path | |
US20190311139A1 (en) | Securely storing data in an elastically scalable dispersed storage network | |
CN110419029B (zh) | 在分布式存储网络中部分更新数据内容的方法 | |
US11947425B2 (en) | Storage volume snapshot object management | |
CN115016979A (zh) | 纠删码数据处理方法、装置及系统、存储介质、处理器 | |
US10320929B1 (en) | Offload pipeline for data mirroring or data striping for a server | |
EP3827575A1 (en) | Elastic cloud storage on multiple locations | |
US9256503B2 (en) | Data verification | |
CN117009147A (zh) | 一种云平台虚拟机的数据备份方法、装置和电子设备 | |
US10506045B2 (en) | Memory access using deterministic function and secure seed | |
US10838814B2 (en) | Allocating rebuilding queue entries in a dispersed storage network | |
US10642687B2 (en) | Pessimistic reads and other smart-read enhancements with synchronized vaults | |
US10956292B1 (en) | Utilizing integrity information for data retrieval in a vast storage system | |
US11755413B2 (en) | Utilizing integrity information to determine corruption in a vast storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |