基于动态缓冲的虚拟机磁盘复制过程读取方法及装置制造方法及图纸

技术编号:19778249 阅读:20 留言:0更新日期:2018-12-15 11:17
本公开公开了基于动态缓冲的虚拟机磁盘复制过程读取方法及装置,对一个在运行中时刻有可能被读取的磁盘进行复制时,引入一个动态缓冲区索引目录对一个或多个读写缓冲区进行管理,收到读操作指令会根据要读取的内容是否在处于被修改过的读写缓冲区,根据被修改的标记按照动态缓冲区索引目录读取相应的读写缓冲区的数据与虚拟机磁盘的未被修改数据合并后返回,如果不是则直接虚拟机磁盘的内容返回。本发明专利技术在使用的磁盘进行复制时可以对磁盘进行读取,能够实现数据备份或其它的虚拟机磁盘复制过程中的读取操作能够很好地保持数据一致性,而且频繁的读取操作不会影响虚拟机的服务质量。

【技术实现步骤摘要】
基于动态缓冲的虚拟机磁盘复制过程读取方法及装置
本公开涉及虚拟机磁盘操作领域,具体涉及基于动态缓冲的虚拟机磁盘复制过程读取方法及装置。
技术介绍
虚拟机建立在虚拟化的平台之上,其中包括磁盘部分,在日常使用或者运维中,需要对一台正在运行的虚拟机磁盘进行数据备份,因为虚拟机正在运行无时无刻都有可能对磁盘进行数据读取,如果要对磁盘进行复制数据备份,那将会面临磁盘数据在复制过程中避免被写导致数据的读取不一致性的问题。目前如果要对一个正在运行的虚拟机磁盘做复制,要不就把虚拟机关机进行复制,之后再开机进行读取;要不就是暂停虚拟机对磁盘的所有读取操作,等复制完成后再允许读取。目前两种办法在不同程度上都会影响虚拟机的服务质量,因为都要避免在复制期间有读取的操作,导致读取的数据不一致性。
技术实现思路
本公开的目的是针对现有技术的不足,对一个在运行中时刻有可能被读取的磁盘进行复制时,引入一个动态缓冲区索引目录对一个或多个读写缓冲区进行管理,根据被修改的标记按照动态缓冲区索引目录读取相应的读写缓冲区的数据与虚拟机磁盘的未被修改数据合并后返回,如果不是则直接虚拟机磁盘的内容返回。为了实现上述目的,本公开提供基于动态缓冲的虚拟机磁盘复制过程读取方法及装置,其中,所述方法包括以下步骤:步骤1,在虚拟机磁盘复制操作开始时在物理机中建立动态缓冲区索引目录;步骤2,接收到读操作请求时判断虚拟机磁盘被读取区域内有无修改标记;步骤3,如果被读取区域没有修改标记则直接读取虚拟机磁盘被读取区域内容返回;步骤4,如果被读取区域有修改标记则读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回;步骤5,在虚拟机磁盘复制操作结束时恢复正常虚拟机磁盘读取;步骤6,注销写缓冲区并释放写缓冲区占用的物理机资源。进一步地,在步骤1中,所述动态缓冲区索引目录包括写缓冲区的数量和各缓冲区的可用空闲存储空间大小,所述虚拟机建立在物理机的虚拟化的平台中,虚拟机至少包括一个虚拟机磁盘。进一步地,在步骤1中,所述读写缓冲区用于在虚拟机磁盘复制过程中接收到写操作请求时,虚拟机磁盘复制过程中接收到写操作请求时,查询动态缓冲区索引目录是否有可用空闲存储空间的写缓冲区;动态缓冲区索引目录如果没有写缓冲区或者所有的写缓冲区的存储空间都已经写满,则创建一个新的写缓冲区并更新动态缓冲区索引目录;把对虚拟机磁盘的写入数据存入写缓冲区,并对虚拟机磁盘中被写区域做修改标记而不写入修改内容;写入数据到写缓冲区时如果写缓冲区的空间被写满,则创建一个新的写缓冲区并更新动态缓冲区索引目录,所述写操作请求来自于业务逻辑层,所述标记虚拟机磁盘中做修改标记的方法为根据存入写缓冲区后写入数据的实际缓冲区空间占用大小标记虚拟机磁盘中相应大小的待写入修改内容的区域,所述修改内容为准备修改虚拟机磁盘数据或者新增数据,来自于业务逻辑层。进一步地,在步骤2中,所述读操作请求来自于业务逻辑层。进一步地,在步骤4中,所述读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回方法的子步骤为:步骤4.1,读取磁盘被读取区域中无修改标记的磁盘块内容;步骤4.2,根据动态缓冲区索引目录定位被读取的修改内容所处的读写缓冲区,读取动态缓冲区索引目录定位到的读写缓冲区的修改内容;步骤4.3,将动态缓冲区索引目录定位到的读写缓冲区的修改内容与磁盘被读取区域中无修改标记的磁盘块内容合成;步骤4.4,返回合成数据。本专利技术还提供了基于动态缓冲的虚拟机磁盘复制过程读取装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:缓冲建立单元,用于在虚拟机磁盘复制操作开始时在物理机中建立动态缓冲区索引目录;标记判断单元,用于在接收到读操作请求时判断虚拟机磁盘被读取区域内有无修改标记;直接返回单元,用于判断在如果被读取区域没有修改标记则直接读取虚拟机磁盘被读取区域内容返回;合并返回单元,用于判断在如果被读取区域有修改标记则读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回;读取恢复单元,用于在虚拟机磁盘复制操作结束时将写缓冲区的内容根据标记更新到虚拟机磁盘的映射区域;缓冲释放单元,用于注销写缓冲区并释放写缓冲区占用的物理机资源。本公开的有益效果为:本专利技术在使用的磁盘进行复制时可以对磁盘进行读取,通过加入动态缓冲区索引目录,引入一个动态缓冲区索引目录对一个或多个读写缓冲区进行管理,且能够实现数据备份或其它的虚拟机磁盘复制过程中的读取操作能够很好地保持数据一致性,而且频繁的读取操作不会影响虚拟机的服务质量。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为本公开的基于动态缓冲的虚拟机磁盘复制过程逻辑图;图2所示为本公开的基于动态缓冲的虚拟机磁盘复制过程读取方法的流程图;图3所示为本公开的基于动态缓冲的虚拟机磁盘复制过程读取装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。如图1所示为本公开的基于动态缓冲的虚拟机磁盘复制过程逻辑图,图2所示为根据本公开的基于动态缓冲的虚拟机磁盘复制过程读取方法的流程图,下面结合图1、图2来阐述根据本公开的实施方式的基于动态缓冲的虚拟机磁盘复制过程读取方法。本公开提出基于动态缓冲的虚拟机磁盘复制过程读取方法,具体包括以下步骤:步骤1,在虚拟机磁盘复制操作开始时在物理机中建立动态缓冲区索引目录;步骤2,接收到读操作请求时判断虚拟机磁盘被读取区域内有无修改标记;步骤3,如果被读取区域没有修改标记则直接读取虚拟机磁盘被读取区域内容返回;步骤4,如果被读取区域有修改标记则读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回;步骤5,在虚拟机磁盘复制操作结束时恢复正常虚拟机磁盘读取;步骤6,注销写缓冲区并释放写缓冲区占用的物理机资源。进一步地,在步骤1中,所述动态缓冲区索引目录包括写缓冲区的数量和各读写缓冲区的可用空闲存储空间大小,动态缓冲区索引目录包括一个或多个读写缓冲区,收到读操作指令时会根据要读取的内容查找动态缓冲区索引目录依次寻找各个读写缓冲区寻找对应的修改内容,所述虚拟机建立在物理机的虚拟化的平台中,虚拟机至少包括一个虚拟机磁盘。进一步地,在步骤1中,所述读写缓冲区用于在虚拟机磁盘复制过程中接收到写操作请求时,虚拟机磁盘复制过程中接收到写操作请求时,查询动态缓冲区索引目录是否有可用空闲存储空间的写缓冲区;动态缓冲区索引目录如果没有写缓冲区或者所有的写缓冲区的存储空间都已经写满,则创建一个新的写缓冲区并更新动态本文档来自技高网...

【技术保护点】
1.基于动态缓冲的虚拟机磁盘复制过程读取方法,其特征在于,所述虚拟机复制磁盘时的读取方法包括以下步骤:步骤1,在虚拟机磁盘复制操作开始时在物理机中建立动态缓冲区索引目录;步骤2,接收到读操作请求时判断虚拟机磁盘被读取区域内有无修改标记;步骤3,如果被读取区域没有修改标记则直接读取虚拟机磁盘被读取区域内容返回;步骤4,如果被读取区域有修改标记则读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回;步骤5,在虚拟机磁盘复制操作结束时恢复正常虚拟机磁盘读取;步骤6,注销写缓冲区并释放写缓冲区占用的物理机资源。

【技术特征摘要】
1.基于动态缓冲的虚拟机磁盘复制过程读取方法,其特征在于,所述虚拟机复制磁盘时的读取方法包括以下步骤:步骤1,在虚拟机磁盘复制操作开始时在物理机中建立动态缓冲区索引目录;步骤2,接收到读操作请求时判断虚拟机磁盘被读取区域内有无修改标记;步骤3,如果被读取区域没有修改标记则直接读取虚拟机磁盘被读取区域内容返回;步骤4,如果被读取区域有修改标记则读取无修改标记的虚拟机磁盘区域内容并根据动态缓冲区索引目录查找读写缓冲区的修改内容合并后返回;步骤5,在虚拟机磁盘复制操作结束时恢复正常虚拟机磁盘读取;步骤6,注销写缓冲区并释放写缓冲区占用的物理机资源。2.根据权利要求1所述的基于动态缓冲的虚拟机磁盘复制过程读取方法,其特征在于,在步骤1中,所述动态缓冲区索引目录包括写缓冲区的数量和各缓冲区的可用空闲存储空间大小,所述虚拟机建立在物理机的虚拟化的平台中,虚拟机至少包括一个虚拟机磁盘。3.根据权利要求1所述的基于固定缓冲的虚拟机磁盘复制过程读取方法,其特征在于,在步骤1中,所述读写缓冲区用于在虚拟机磁盘复制过程中接收到写操作请求时,虚拟机磁盘复制过程中接收到写操作请求时,查询动态缓冲区索引目录是否有可用空闲存储空间的写缓冲区;动态缓冲区索引目录如果没有写缓冲区或者所有的写缓冲区的存储空间都已经写满,则创建一个新的写缓冲区并更新动态缓冲区索引目录;把对虚拟机磁盘的写入数据存入写缓冲区,并对虚拟机磁盘中被写区域做修改标记而不写入修改内容;写入数据到写缓冲区时如果写缓冲区的空间被写满,则创建一个新的写缓冲区并更新动态缓冲区索引目录;所述读写缓冲区位于物理机中的内存或者磁盘,读写缓冲区的容量大小为N*M,其中N为可更改设置的正整数,M为虚拟机磁盘...

【专利技术属性】
技术研发人员:麦剑霍键聪史伟叶梅霞
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东,44

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

1