一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于磁盘CBT的BMR备份系统及方法与流程

2022-07-23 10:41:01 来源:中国专利 TAG:
基于磁盘cbt的bmr备份系统及方法
技术领域
:1.本发明涉及数据备份
技术领域
:,具体而言,涉及一种基于磁盘cbt的bmr备份系统及方法。
背景技术
::2.裸机恢复(bmr,baremetalrecovery)是一种专门针对计算机操作系统的数据保护技术,该技术通过对目标计算机操作系统的关键数据(包括引导程序、分区表信息以及系统文件等)进行备份并在目标计算机发生故障时在其他机器上恢复备份的操作系统关键数据,实现目标计算机操作系统环境快速重建。3.变化块追踪(cbt,changeblocktracing)是一种位于磁盘过滤驱动层或底层存储层的磁盘变化数据追踪技术,该技术广泛应用于备份领域,结合写时拷贝(cow,copyonwrite)技术可以实现磁盘块设备快照和获取两次快照间的增量数据。4.windows操作系统自身提供备份和还原功能,可以定期为系统创建还原点,当系统出现软件故障时,可以将系统恢复到指定时刻的还原点。windows备份还原功能的缺点是还原点数据保存在目标计算机本地,如果目标计算机出现硬件故障或物理损坏,还原点数据无法恢复。5.linux操作系统下可以通过tar命令打包操作系统重要数据或通过dd命令克隆整个磁盘或分区数据,然而以上两个命令都备份的是操作系统的活动数据,无法保证备份数据的一致性。6.一些第三方备份软件利用windows提供的卷影拷贝服务(vss,volumeshadowscopyservice)为重要系统卷创建一致性快照,结合备份软件提供的数据传输和备份数据管理能力可以实现操作系统裸机恢复。由于vss不提供cbt能力,每次通过vss创建的快照都是目标备份卷的完整数据副本,因此利用vss技术无法获取自上次备份以来的增量数据。7.linux的各种发行版本仅支持基于逻辑卷的块设备快照以及zfs、btrfs等文件系统快照,对于其他标准分区或建立在标准分区上的ext系列文件系统和xfs等主流文件系统并未提供有效的快照方案。8.上述现有技术中均存在着不足,针对现有技术方案的不足,本发明提出一种基于磁盘cbt的bmr备份系统及方法。技术实现要素:9.为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于磁盘cbt的bmr备份系统及方法,采用统一的机制和处理流程对windows和linux下的磁盘块设备创建一致性快照;提供持续的磁盘变化块追踪,有效支持获取两次快照中间产生的增量数据,支持对操作系统进行增量备份。10.本发明的实施例是这样实现的:第一方面,本发明实施例提供一种基于磁盘cbt的bmr备份系统,包括用户层控制组件、内核层组件和备份服务器,其中:用户层控制组件,用于扫描目标监控磁盘结构,提取目标监控磁盘有效数据区域,下发创建快照和启动同步的控制命令给内核层组件;内核层组件,用于为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步的方式复制到位于备份服务器上的快照副本;备份服务器,用于接收并处理内核层组件传输的数据,并进行数据存储备份。11.为了解决现有技术中的问题,本系统通过用户层控制组件、内核层组件和备份服务器等三大板块相互配合,采用统一的机制和处理流程对windows和linux下的磁盘块设备创建一致性快照;提供持续的磁盘变化块追踪,有效支持获取两次快照中间产生的增量数据,支持对操作系统进行增量备份。通过用户层控制组件进行扫描磁盘结构,提取磁盘有效数据区域,下发创建快照、启动同步等控制命令等工作;然后通过内核层组件实现为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本,进而通过备份服务器进行数据包的解析和存储备份。12.基于第一方面,在本发明的一些实施例中,上述内核层组件包括io监控组件、cow组件、同步组件和传输组件,其中:io监控组件,用于实时截获io写请求,并根据io写请求生成cbt记录并存储到增量cbt表,并将cbt记录提交给cow组件;cow组件,用于基于io监控组件生成的cbt记录结合cow-bitmap执行写时拷贝动作,将cbt记录对应的目标监控磁盘的磁盘区域的旧数据被动同步到备份服务器上的快照副本;同步组件,用于主动将目标监控磁盘上自创建快照以来未被写入的磁盘区域同步到备份服务器上的快照副本;传输组件,用于实时将cow组件和同步组件的数据记录传输到备份服务器。13.第二方面,本发明实施例提供一种基于磁盘cbt的bmr备份方法,包括以下步骤:通过用户层控制组件扫描目标监控磁盘结构,提取目标监控磁盘有效数据区域,下发创建快照和启动同步的控制命令给内核层组件;通过内核层组件为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步的方式复制到位于备份服务器上的快照副本;基于备份服务器接收并处理内核层组件传输的数据,并进行数据存储备份。14.本方法基于上述系统实现,基于用户层控制组件、内核层组件和备份服务器等三大板块相互配合,采用统一的机制和处理流程对windows和linux下的磁盘块设备创建一致性快照;提供持续的磁盘变化块追踪,有效支持获取两次快照中间产生的增量数据,支持对操作系统进行增量备份。通过用户层控制组件进行扫描磁盘结构,提取磁盘有效数据区域,下发创建快照、启动同步等控制命令等工作;然后通过内核层组件实现为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本,进而通过备份服务器进行数据包的解析和存储备份。15.基于第二方面,在本发明的一些实施例中,上述通过内核层组件为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步的方式复制到位于备份服务器上的快照副本的方法包括以下步骤:通过内核层组件中的io监控组件实时截获io写请求,并根据io写请求生成cbt记录并存储到增量cbt表,并将cbt记录提交给cow组件;通过内核层组件中的cow组件基于io监控组件生成的cbt记录结合cow-bitmap执行写时拷贝动作,将cbt记录对应的目标监控磁盘的磁盘区域的旧数据被动同步到备份服务器上的快照副本;通过内核层组件中的同步组件主动将目标监控磁盘上自创建快照以来未被写入的磁盘区域同步到备份服务器上的快照副本;通过内核层组件中的传输组件实时将cow组件和同步组件的数据记录传输到备份服务器。16.基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:通过同步组件从用户层控制组件获取完整cbt记录并生成同步cbt表。17.基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:通过io监控组件将增量cbt表转换为同步cbt表并提交给同步组件;同步组件根据同步cbt表结合cow-bitmap执行同步操作,将创建快照以来目标监控磁盘上未被写入的磁盘块同步到备份服务上的快照副本。18.基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:根据预置的数据发送长度通过传输组件将cow组件和同步组件的数据记录进行合并后传输至备份服务器。19.第三方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第二方面中任一项的方法。20.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第二方面中任一项的方法。21.本发明实施例至少具有如下优点或有益效果:本发明实施例提供一种基于磁盘cbt的bmr备份系统及方法,本发明通过用户层控制组件、内核层组件和备份服务器等三大板块相互配合,采用统一的机制和处理流程对windows和linux下的磁盘块设备创建一致性快照;提供持续的磁盘变化块追踪,有效支持获取两次快照中间产生的增量数据,支持对操作系统进行增量备份。通过用户层控制组件进行扫描磁盘结构,提取磁盘有效数据区域,下发创建快照、启动同步等控制命令等工作;然后通过内核层组件实现为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本,进而通过备份服务器进行数据包的解析和存储备份。附图说明22.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。23.图1为本发明实施例一种基于磁盘cbt的bmr备份系统的结构框图;图2为本发明实施例一种基于磁盘cbt的bmr备份方法的流程图;图3为本发明实施例中的变化数据块追踪和写时拷贝示意图;图4为本发明实施例中的基于cbt的增量备份示意图;图5为本发明实施例提供的一种电子设备的结构框图。24.附图标记说明:101、存储器;102、处理器;103、通信接口。具体实施方式25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。26.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。28.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。29.实施例:如图1所示,第一方面,本发明实施例提供一种基于磁盘cbt的bmr备份系统,包括用户层控制组件、内核层组件和备份服务器,其中:用户层控制组件,用于扫描目标监控磁盘结构,提取目标监控磁盘有效数据区域,下发创建快照和启动同步的控制命令给内核层组件;内核层组件,用于为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步的方式复制到位于备份服务器上的快照副本;进一步地,上述内核层组件包括io监控组件、cow组件、同步组件和传输组件,其中:io监控组件,用于实时截获io写请求,并根据io写请求生成cbt记录并存储到增量cbt表,并将cbt记录提交给cow组件;cow组件,用于基于io监控组件生成的cbt记录结合cow-bitmap执行写时拷贝动作,将cbt记录对应的目标监控磁盘的磁盘区域的旧数据被动同步到备份服务器上的快照副本;同步组件,用于主动将目标监控磁盘上自创建快照以来未被写入的磁盘区域同步到备份服务器上的快照副本;传输组件,用于实时将cow组件和同步组件的数据记录传输到备份服务器。30.在本发明的一些实施例中,内核层组件主要包括io监控组件、cow组件、同步组件和传输组件,这四大组件相互协作实现为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本。31.在磁盘过滤驱动层插入io监控组件持续追踪目标监控磁盘的变化数据块,将其构造为cbt记录存储在inc-cbttable,将inc-cbttable作为两次快照间的增量数据集。在io监控组件基础上增加内核cow组件,cow组件基于io监控组件生成的cbt记录结合cow-bitmap执行写时拷贝动作,将cbt对应磁盘区域的旧数据被动同步到备份服务器上快照副本。在cow组件被动同步基础上增加内核同步组件,首次全量备份情况下,内核同步组件从用户层控制组件获取完整cbt记录生成sync-cbttable;增量备份情况下,io监控组件将inc-cbttable转换为sync-cbttable提交给内核同步组件。内核同步组件根据sync-cbttable结合cow-bitmap执行同步操作,将创建快照以来目标监控磁盘上未被写入的磁盘块同步到备份服务上的快照副本。32.cow组件维护一个写时拷贝位图(cow-bitmap),该位图在逻辑上将目标监控磁盘划分为固定大小的磁盘块,然后通过一个bit位标记一个磁盘块。对于每一个增量cbt,cow组件将其转换为cow-bitmap的一个或多个bit位,然后检查并设置相应bit位。如果相应bit位之前未设置,表示该bit位对应的磁盘块自创建快照以来为首次写入,cow组件从目标监控磁盘拷贝旧数据构造数据记录并提交给传输组件。cow组件处理完成后,通知io监控组件将cbt对应的io请求提交给下层驱动处理。33.同步组件负责主动将目标监控磁盘上自创建快照以来未被写入的磁盘区域同步到备份服务器上的快照副本。该组件基于一个同步cbt表(sync-cbttable)执行同步操作,sync-cbttable的每一条记录代表目标监控磁盘上的一个有效数据区域或待同步区域。首次全量备份情况下,内核同步组件从用户层控制组件获取完整cbt记录生成sync-cbttable;增量备份情况下,io监控组件将inc-cbttable转换为sync-cbttable提交给内核同步组件。内核同步组件根据sync-cbttable结合cow-bitmap执行同步操作,将创建快照以来目标监控磁盘上未被写入的磁盘块同步到备份服务上的快照副本。34.传输组件负责为cow组件和同步组件提供数据传输服务,该组件维护一个缓存队列(cache)。待cow组件或同步组件将数据记录提交到cache后,传输组件实时将数据记录通过tcp/ip网络传输到备份服务器。35.备份服务器,用于接收并处理内核层组件传输的数据,并进行数据存储备份。36.为了解决现有技术中的问题,本系统通过用户层控制组件、内核层组件和备份服务器等三大板块相互配合,采用统一的机制和处理流程对windows和linux下的磁盘块设备创建一致性快照;提供持续的磁盘变化块追踪,有效支持获取两次快照中间产生的增量数据,支持对操作系统进行增量备份。通过用户层控制组件进行扫描磁盘结构,提取磁盘有效数据区域,下发创建快照、启动同步等控制命令等工作;然后通过内核层组件实现为目标监控磁盘创建快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本,进而通过备份服务器进行数据包的解析和存储备份。37.如图2所示,第二方面,本发明实施例提供一种基于磁盘cbt的bmr备份方法,包括table结合cow-bitmap执行同步操作,将创建快照以来目标监控磁盘上未被写入的磁盘块同步到备份服务上的快照副本。43.基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:通过同步组件从用户层控制组件获取完整cbt记录并生成同步cbt表。44.同步组件负责主动将目标监控磁盘上自创建快照以来未被写入的磁盘区域同步到备份服务器上的快照副本。该组件基于一个同步cbt表(sync-cbttable)执行同步操作,sync-cbttable的每一条记录代表目标监控磁盘上的一个有效数据区域或待同步区域。首次全量备份情况下,sync-cbttable由用户层控制组件获取并通过用户态-内核态交互接口传给同步组件。45.如图4所示,基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:通过io监控组件将增量cbt表转换为同步cbt表并提交给同步组件;同步组件根据同步cbt表结合cow-bitmap执行同步操作,将创建快照以来目标监控磁盘上未被写入的磁盘块同步到备份服务上的快照副本。46.增量备份情况下,io监控组件将inc-cbttable转换为sync-cbttable,如图4所示。同步组件根据cbt从目标监控磁盘上读取一块连续数据,如果cbt超过同步组件的单次最大读取长度,同步组件将cbt拆分为多个更小的cbt记录进行数据读取。读取数据完成后,同步组件向cow组件查询cbt对应的磁盘区域自创建快照以来是否已被写入新数据。基于cow组件的返回结果,同步组件将未写入区域的数据构造成数据记录提交给传输组件。47.基于第二方面,在本发明的一些实施例中,该基于磁盘cbt的bmr备份方法还包括以下步骤:根据预置的数据发送长度通过传输组件将cow组件和同步组件的数据记录进行合并后传输至备份服务器。48.传输组件负责为cow组件和同步组件提供数据传输服务,该组件维护一个缓存队列(cache)。待cow组件或同步组件将数据记录提交到cache后,传输组件实时将数据记录通过tcp/ip网络传输到备份服务器。由于cow组件产生的数据记录通常较小,如果传输组件以数据记录为单位进行数据传输会导致传输带宽利用率低,产生传输瓶颈。为解决小数据记录引起的传输带宽利用率问题,传输组件引入数据记录合并技术。传输合并技术总体思路是传输组件设置一个单次最大发送长度msl,当cache缓存了足够的数据记录,传输组件将多个数据记录进行合并使数据包总体数据长度最大限度接近且不超过msl。除数据记录合并技术外,传输组件还引入异步确认机制进一步提高传输效率。异步确认机制的总体思路是传输组件将数据包发送到备份服务器后,并不需要等待备份服务器确认是否已成功解析数据包和重放数据记录。如果备份服务器成功处理数据包,无需给传输组件确认处理结果,如果备份服务器处理数据包失败,在后续传输确认包中附带处理异常结果。49.如图5所示,第三方面,本技术实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第二方面中任一项的方法。50.还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。51.其中,存储器101可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。52.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。53.在本技术所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。54.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。55.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第二方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。56.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。57.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献