专利名称:虚拟环境下的数据处理方法、系统以及系统的部署方法
技术领域:
本发明涉及虚拟机环境下的数据处理技术,尤其涉及在虚拟机环境下对虚拟机进 行数据备份和数据恢复的技术。
背景技术:
“虚拟化”是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上 运行,是一个为了简化管理,优化资源的解决方案。虚拟化技术可以扩大硬件的容量,简化 软件的重新配置过程,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互 独立的空间内运行而互不影响,从而显著提高计算机的工作效率。而且,虚拟化技术是“云 计算(Cloud Computing)”技术中的一项重要且基础的技术。在世界范围内,越来越多的 个人和组织都在利用虚拟化解决方案来提供“云环境”服务,以获得提升计算机硬件使用效 率、灵活性并降低硬件成本的好处。然而,由于虚拟化工作单元是由构建于物理硬件(Hardware)之上的虚拟化平台 管理器(hypervisor)来进行管理的,因此虚拟化环境中的数据备份和恢复等数据处理操 作不可避免地会存在诸多问题,例如第一,每个虚拟化工作单元在备份或者恢复数据的时 候,都需要通过构建于虚拟化平台管理器(hypervisor)上的虚拟网络读取共享存储器中 的待备份数据,然后将读取到的待备份或待恢复数据再通过虚拟化网络传送至虚拟化平台 管理器(hypervisor),最终通过物理网络写入远程备份存储池中,这就会大量消耗宝贵的 虚拟网络(包括虚拟交换设备、虚拟网卡、虚拟路由等)传输资源,从而导致虚拟化环境的 不稳定。第二,由于多个虚拟化工作单元要备份或者恢复的数据可能存在大量重复,因此会 带来大量的冗余数据备份或冗余数据恢复,造成传输资源、存储资源以及虚拟环境运算处 理资源的极大浪费。
发明内容
考虑到上述存在的问题,本发明的一个目的在于提供一种能够有效避免虚拟网络 资源的大量消耗的虚拟化环境下的数据处理方法。本发明的另一个目的在于提供一种避免 多个虚拟化工作单元的冗余数据备份或者冗余数据恢复的虚拟化环境下的数据处理方法。根据本发明的一个方面,提供了一种虚拟环境下的数据处理方法,包括读取由虚 拟工作单元本地调用的数据处理指令;对所读取到的数据处理指令进行优化;以及利用优 化后的数据处理指令为虚拟工作单元进行数据处理。根据本发明的一个实施方式,其中数据处理是数据备份处理,并且数据处理指令 是数据备份指令。并且其中利用优化后的数据处理指令为虚拟工作单元进行数据处理包 括从虚拟工作单元的共享存储中读取要备份的数据;以及将所读取的要备份的数据写入 备份存储中。根据本发明的另一实施方式,其中数据处理是数据恢复处理,并且数据处理指令 是数据恢复指令。并且其中利用优化后的数据处理指令为虚拟工作单元进行数据处理包括从备份存储中读取要恢复的数据;以及将所读取的要恢复的数据写入虚拟工作单元的 共享存储中。根据本发明的另一方面,提供了一种虚拟环境下的数据处理系统,包括读取由虚 拟工作单元本地调用的数据处理指令的装置;对所读取到的数据处理指令进行优化的装 置;以及利用优化后的数据处理指令为虚拟工作单元进行数据处理的装置。根据本发明的一个实施方式,其中数据处理是数据备份处理,并且数据处理指令 是数据备份指令。并且其中利用优化后的数据处理指令为虚拟工作单元进行数据处理的装 置被配置为从虚拟工作单元的共享存储中读取要备份的数据;以及将所读取的要备份的 数据写入备份存储中。根据本发明的另一实施方式,其中数据处理是数据恢复处理,并且数据处理指令 是数据恢复指令。并且其中利用优化后的数据处理指令为虚拟工作单元进行数据处理的装 置被配置为从备份存储中读取要恢复的数据;以及将所读取的要恢复的数据写入虚拟工 作单元的共享存储中。根据本发明的又一方面,提供了一种部署虚拟化环境下数据处理系统的方法,包 括在虚拟化环境下的虚拟机中部署数据处理系统调用接口,所述系统调用接口用于触发 本地调用的数据处理指令;在虚拟化环境下的虚拟机管理平台中部署数据处理驱动器,所 述数据处理驱动器用于读取由所述系统调用接口触发的数据处理指令;以及在虚拟化环境 中部署数据处理指令优化器,所述优化器用于优化由所部署的数据处理驱动器读取的数据 处理指令。根据本发明的一个实施方式,其中数据处理系统调用接口是数据备份系统调用接 口、数据处理指令是数据备份指令、数据处理驱动器是数据备份驱动器并且数据处理指令 优化器是数据备份指令优化器。根据本发明的另一个实施方式,其中数据处理系统调用接口是数据恢复系统调用 接口、数据处理指令是数据恢复指令、数据处理驱动器是数据恢复驱动器并且数据处理指 令优化器是数据恢复指令优化器。通过本发明的方法和系统,在虚拟工作单元(虚拟机)进行数据处理操作时,不需 要每个虚拟工作单元通过虚拟网络分别进行数据处理操作,从而避免了虚拟工作单元对虚 拟网络资源的竞争和过度消耗。同时,可以根据需要选择合适的优化策略对读取到的数据 处理指令进行优化,从而还可以获得避免冗余的数据处理以及避免对虚拟环境或虚拟系统 运算资源的过度竞争导致的系统性能下降的技术效果。
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将 更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,图1示出了传统的虚拟环境下进行数据备份或数据恢复操作的系统结构图;图2示出了根据本发明一实施方式的虚拟环境下数据处理方法的流程图;图3示出了根据本发明另一实施方式的虚拟环境下数据备份方法的流程图;图4示出了根据本发明又一实施方式的虚拟环境下数据恢复方法的流程图;图5示出了根据本发明一实施方式的虚拟环境下数据处理系统的结构图6示出了根据本发明一实施方式的虚拟环境下进行数据备份或数据恢复操作 的系统结构图;图7示出了根据本发明的一个实施方式的虚拟环境下数据处理系统的具体架构 图。
具体实施例方式在下文中,将参考附图通过实施方式对本发明提供的用于确定要被物化的节点的 方法和系统进行详细地描述。图1示出了传统的虚拟环境下进行数据备份或数据恢复操作的系统结构图。图1 所示的系统在总体上由系统100表示。系统100包括虚拟机101-1至101-3、虚拟机共享存 储102、虚拟网络103、虚拟机监控器(Hypervisor) 104、存储池105以及物理硬件106。图1 中以数据备份操作为例示出了具体的数据流向,也就是虚拟机101-1至101-3要将共享存 储102中的数据备份到存储池105中。存储池105可以是通过以太网等网络与虚拟机101-1 至101-3所处的物理硬件106相连接的远程存储设备。具体地,虚拟机101-1至101-3中 的每个虚拟机通过构建于虚拟机监控器104上的虚拟网络103从共享存储102中读取其需 要备份的数据,然后将该需要备份的数据同样通过虚拟网络103和物理以太网将数据备份 在存储池105中。也就是说,虚拟机读取待备份数据和备份待备份数据的时候均需要利用 虚拟网络103,这样就会占用大量的虚拟网络资源(如虚拟网卡、虚拟路由器等),多个虚拟 机会竞争宝贵的虚拟网络资源从而导致系统性能下降。而且每个虚拟机在备份数据的时候 并不知道其它虚拟机是否也备份了相同的数据,没有一个机制对每个虚拟机的待备份数据 进行分析从而避免对数据的重复备份,数据的重复备份可能导致存储池105中存储空间的 浪费以及不必要地占用网络传输资源(包括虚拟网络资源和物理网络资源)以传输重复的 数据。需要指出的是,图1所示的系统100中的数据流向是基于数据备份操作的。在虚拟 机进行数据恢复操作时,系统可以具有类似的结构,只是数据流向相反。图2示出了根据本发明一实施方式的虚拟环境下数据处理方法的流程图。“数据 处理”一词在本发明中可以包括数据备份和数据恢复操作,本领域技术人员可以理解,数据 备份是指虚拟机将共享存储(共享存储的含义是多个虚拟机共享的硬件存储设备)中的数 据内容备份到其它存储装置中,如与虚拟机所处的物理机通过以太网连接的远程存储池。 相反地,数据恢复则是指虚拟机将存储在用于备份的存储装置中的数据内容恢复到虚拟机 的共享存储中。在步骤201中,读取由虚拟工作单元(类似于图1中所示的虚拟机)本地 调用的数据处理指令。所读取到的本地调用的数据处理指令是由虚拟工作单元(在本发明 中,“虚拟工作单元”可以理解为与“虚拟机”或“虚拟工作站”等技术术语具有相同或类似的 含义)中的备份客户端通过在虚拟机中添加API接口来增加虚拟机超级调用(Hypercall) 而产生的数据处理指令。Hypercall是虚拟机系统和虚拟环境的基本的实现系统调用的机 制,为了根据数据处理的类型而增加相应的虚拟机超级调用hypercall,只需要遵循增加 新的虚拟机系统调用的三个步骤即可注册新的系统调用号;更新系统调用表以及添加新 函数。本领域技术人员应当了解,可以采用多种方式在虚拟机中增加新的系统调用,而不 限于上述三个步骤。在虚拟环境下增加新的系统调用的方式可能依赖于具体的虚拟环境 的实现方式,也可能依赖于虚拟机用户的需求等因素。无论采用何种方式增加新的系统调用(即虚拟机超级调用Hypercall),均落入本发明的保护范围。之所以增加新的系统调用 (虚拟机超级调用)是因为由虚拟机超级调用而产生的数据处理指令是通过虚拟机监控 器(Hypervisor)传输的本地调用指令,而不需要通过虚拟网络向共享存储发出数据处理 请求并且经由虚拟网络来传输待处理的数据,从而可以节约宝贵的虚拟网络资源。在本发 明的一个实施方式中,每个虚拟机中都被添加了虚拟机超级调用的API接口,从而使得每 个虚拟机都通过本地调用的方式发出数据处理指令。本领域技术人员应当了解,依据具体 的虚拟环境的不同,可以采用不同的方式在虚拟机中定义虚拟机超级调用(Hypercall)的 API接口,其实质在于通过虚拟机超级调用接口而能够触发本地调用的数据处理指令(包 含数据备份和数据恢复)。本地调用的数据处理指令经由虚拟机监控器Hypervisor传输, 然后在步骤201中被读取。还需要指出的是,可以通过多种方式对数据处理指令进行读 取。根据本发明的一个实施方式,可以按照预定的时间间隔对数据处理指令进行读取,例 如每隔15秒读取一次数据处理指令。根据本发明的另一个实施方式,可以按照预定的指 令数对数据处理指令进行读取,例如每累计10条数据处理指令就进行读取。无论本领域 技术人员采用何种方式对本地调用的数据处理指令进行读取,均落入本发明的保护范围。 数据备份指令至少需要包含三个信息待备份数据信息,备份存储目的地信息,以及备份策 略信息。例如根据本发明一个实施方式的数据处理指令的示例可以是backUp(" /usr/ lib/*",“ 9. 186. 63. 121 /archive",“ full")。其中"backup,,指明该数据处理指 令要执行数据备份操作,“9. 186. 63. 121 /archive”指明了备份存储目的地,“full”则指 明了备份策略是“完全备份”(可能的备份策略还包括差分备份、增量备份等)。需要指出 的是,数据处理指令或者虚拟机超级调用Hypercall的具体形式与具体的虚拟环境的实现 方式相关,无论采用什么形式、格式来表达数据处理指令或者虚拟机超级调用Hypercall, 均落入本发明的保护范围。 接下来进行至步骤202。在步骤202中,对所读取到的数据处理指令进行优化。需 要指出的是,由于在虚拟环境下通常有多个虚拟机,因此在步骤201中读取到的数据处理 指令也可能是来自多个虚拟机的多个数据处理指令,在步骤202中也可以是对读取到的来 自多个虚拟机的多个数据处理指令进行优化。当然,本领域技术人员应当理解,在只有一个 虚拟机或者只有一个虚拟机发出了数据处理指令的情况下,依然可以在步骤201中读取数 据处理指令,并且在步骤202中对读取到的数据处理指令进行优化。在步骤202中的“优 化”可以依据多种优化策略进行。根据本发明的一个实施方式的优化策略,优化是指对来自 不同的虚拟工作单元对相同数据的数据处理指令进行合并,也就是说如果通过分析识别出 不同的虚拟工作单元所发出的多个数据处理指令中有对相同的数据内容进行数据处理的 情况(例如多个虚拟工作单元要备份的数据内容中有相同的部分),那么就对这些数据处 理指令中涉及相同数据内容的部分进行合并,从而避免对相同的数据内容进行重复的数据 处理操作。根据本发明的另一实施方式的优化策略,优化是指对来自不同的虚拟工作单元 的数据处理指令进行分析以选择合适的数据处理时机,也就是说如果虚拟工作单元通过虚 拟机超级调用Hypercall发出数据处理指令时正值虚拟环境或虚拟系统处理其它运算占 用大量系统资源的时期,那么就暂缓为虚拟工作单元进行数据处理操作,而是选择合适的 时机再进行数据处理操作从而避免对虚拟环境下运算资源的过度竞争。根据本发明的又一 实施方式的优化策略,优化是指不对读取到的数据处理指令进行任何处理,而直接将读取到的数据处理指令作为优化后的数据处理指令为虚拟工作单元进行数据处理操作。也就是 说,不对读取到的数据处理指令进行处理而直接利用读取到的数据处理指令为虚拟工作单 元进行数据处理操作也是本发明的优化策略之一。上文中列举的若干种可能的优化策略只 是为了更加清晰地描述本发明的技术方案,并非意味着对优化或者优化策略进行任何的限 制,无论采用何种优化策略均落入本发明的保护范围。在步骤203中,利用优化后的数据处理指令为虚拟工作单元进行数据处理。根据 本发明的一个实施方式,数据处理是指数据备份。根据本发明的另一个实施方式,数据处理 是指数据恢复。在图3和图4以及对应的文字描述中将详细描述这两种实施方式。通过图2所示的方法,在虚拟工作单元(虚拟机)进行数据处理操作时,可以通过 读取由虚拟工作单元本地调用的数据处理指令(不经由虚拟网络)而统一地为虚拟工作单 元执行数据处理操作,而不需要每个虚拟工作单元通过虚拟网络分别进行数据处理操作, 从而避免了虚拟工作单元对虚拟网络资源的竞争和过度消耗。同时,可以根据需要选择合 适的优化策略对读取到的数据处理指令进行优化,从而还可以获得避免冗余的数据处理以 及避免对虚拟环境或虚拟系统运算资源的过度竞争导致的系统性能下降的技术效果。图3示出了根据本发明一实施方式的虚拟环境下数据处理方法的流程图。具体而 言,图3示出了在数据处理为数据备份操作情况下的数据处理方法的流程图。步骤301对 应于图2中的步骤201,在步骤301中读取本地调用的数据备份指令。步骤302和步骤303 对应于图2中的步骤202。在步骤302中,向优化器发送所读取的数据备份指令。需要指出 的是,具体的优化可以由单独的优化器完成,也可以由读取本地调用的数据处理指令的主 体完成。步骤302和步骤303描述了 “优化器”,只是为了更加清晰地描述本发明的实施方 式,并不意味着优化器与在步骤301中读取本地调用的数据备份指令的主体、在步骤201中 读取本地调用的数据处理指令的主体或者在图4的步骤401中读取本地调用的数据恢复指 令的主体为不同的主体。也就是说,步骤302和303并非本发明必须的步骤,如果读取由虚 拟工作单元本地调用的数据处理指令的主体与执行优化的主体是相同主体的话,则不需要 步骤302和303。接下来步骤304和步骤305对应于图2中的步骤203。在步骤304中,根据优化后 的数据备份指令读取待备份数据。根据本发明的一个实施方式,虚拟工作单元的待备份数 据是指虚拟机的共享存储中的数据。在步骤305中,将读取到的待备份数据写入备份存储 中。根据本发明的一个实施方式,备份存储是通过以太网等网络与虚拟工作单元所位于的 物理机(物理硬件)相通信的远程存储设备。根据本发明的另一个实施方式,备份存储是 可插拔的通过USB接口、1394接口、光驱等通信接口与虚拟工作单元所位于的物理机(物理 硬件)相通信的便携式存储设备。本领域技术人员应当了解,备份存储只是代表要备份数 据的目的地,任何形式的存储装置、设备、容器只要成为了要备份数据的目的地,均构成本 发明实施方式中的备份存储。通过图3所示的方法,在虚拟工作单元(虚拟机)进行数据备份操作时,可以通过 读取由虚拟工作单元本地调用的数据备份指令(不经由虚拟网络)而统一地为虚拟工作单 元执行数据备份操作,而不需要每个虚拟工作单元通过虚拟网络分别进行数据备份操作, 从而避免了虚拟工作单元对虚拟网络资源的竞争和过度消耗。同时,可以根据需要选择合 适的优化策略对读取到的数据备份指令进行优化,从而还可以获得避免冗余的数据备份以及避免对虚拟环境或虚拟系统运算资源的过度竞争导致的系统性能下降的技术效果。图4示出了根据本发明另一实施方式的虚拟环境下数据处理方法的流程图。具体 而言,图4示出了在数据处理为数据恢复操作情况下的数据处理方法的流程图。步骤401 对应于图2中的步骤201和图3中的步骤301,在步骤401中读取由虚拟工作单元本地调用 的数据恢复指令。步骤402和步骤403对应于图2中的步骤202。在步骤402中,向优化器 发送所读取的数据恢复指令。同样地,具体的优化可以由单独的优化器完成,也可以由读取 本地调用的数据处理指令的主体完成。步骤402和步骤403描述了 “优化器”,只是为了更 加清晰地描述本发明的实施方式。因此,与上文中对图3的描述类似,步骤402和步骤403 在数据处理为数据恢复的情况下也不是必需的步骤。接下来步骤404和步骤405对应于图2中的步骤203。在步骤404中,根据优化 后的数据恢复指令读取待恢复数据。根据本发明的一个实施方式,虚拟工作单元的待恢复 数据是指在备份存储中储存的数据。在步骤405中,将读取到的待恢复数据写入虚拟工作 单元的共享存储中。由此可见,与图3相比,图4中的各个步骤的区别主要在于数据流向的 不同。图3所示的数据备份方法中的数据流向为从虚拟工作单元的共享存储到备份存储。 而图4所示的数据恢复方法中的数据流向为从备份存储到虚拟工作单元的共享存储。通过图4所示的方法,在虚拟工作单元(虚拟机)进行数据恢复操作时,可以通过 读取由虚拟工作单元本地调用的数据恢复指令(不经由虚拟网络)而统一地为虚拟工作单 元执行数据恢复操作,而不需要每个虚拟工作单元通过虚拟网络分别进行数据恢复操作, 从而避免了虚拟工作单元对虚拟网络资源的竞争和过度消耗。同时,可以根据需要选择合 适的优化策略对读取到的数据恢复指令进行优化,从而还可以获得避免冗余的数据恢复以 及避免对虚拟环境或虚拟系统运算资源的过度竞争导致的系统性能下降的技术效果。图5示出了根据本发明一实施方式的虚拟环境下数据处理系统的结构图。图5所 示的系统在整体上由系统500表示。系统500包括指令读取装置501、指令优化装置502和 数据处理装置503。其中,指令读取装置501读取由虚拟工作单元本地调用的数据处理指 令。指令优化装置502对所读取到的数据处理指令进行优化。数据处理装置503利用优化 后的数据处理指令为虚拟工作单元进行相应的数据处理操作。本领域技术人员可以理解, 系统500在整体上对应于图1所示的方法。具体地,指令读取装置501、指令优化装置502 和数据处理装置503可以理解为分别对应于图1中的步骤101、102和103。图6示出了根据本发明一实施方式的虚拟环境下进行数据备份或数据恢复操作 的系统结构图。图6所述的系统在整体上由系统600表示。系统600包括指令读取装置 601、指令发送装置602、优化指令接收装置603、待处理数据读取装置604和数据处理装置 605。指令读取装置601可以理解为对应于图3中的步骤301或图4中的步骤401,读取由 虚拟工作单元本地调用的数据处理指令。指令发送装置602可理解为对应于图3中的步骤 302或图4中的步骤402,向优化器发送所读取的数据处理指令。优化指令接收装置603可 理解为对应于图3中的步骤303或图4中的步骤403,接收来自优化器的经优化后的数据 处理指令。需要指出的是,根据上文中对图3和图4的文字描述可以看出,指令发送装置 602和优化指令接收装置603不是必需的装置。待处理数据读取装置604可以理解为对应 于图3中的步骤304或者图4中的步骤404,根据优化后的数据处理指令读取待处理数据。 根据本发明的一个实施方式,数据处理指令为数据备份指令,因此待处理数据读取装置604从虚拟工作单元的共享存储中读取虚拟工作单元的待备份数据。相应地,数据处理装置605 将待备份数据写入备份存储中。根据本发明的另一个实施方式,数据处理指令为数据恢复 指令,因此待处理数据读取装置604读取虚拟工作单元的待恢复数据。相应地,数据处理装 置605将待恢复数据写入虚拟工作单元的共享存储中。图7示出了以Xen为例,根据本发明的一个实施方式的虚拟环境下数据备份系统 的具体架构图。图7所示的系统包括701-A至701-C所示的虚拟机A、虚拟机B和虚拟机 C,这相当于虚拟工作单元。每个虚拟工作单元中包含备份客户端和备份Hycall。其中备份 Hycall就是上文中所述的虚拟机超级调用Hypercall。客户操作系统和其上运行的应用程 序被称为域(Domain),其中特权域DomO负责管理其它的虚拟机,例如创建、销毁、暂停、恢 复等。其它非特权虚拟域被称为DomU,图7中的701-A至701-C就可以被视为三个DomU。而 图7中示出的702是特权域DomO。所有流向或者流出虚拟机的数据都要通过特权域DomO, 特权域DomO是虚拟机访问真实硬件的代理。图7中示出的703共享存储就是各个虚拟机 701-A至701-C共享的存储空间。而704备份存储是虚拟机701-A至701-C要将位于共享 存储中的数据备份所至的备份目的地,如上文所述,备份存储既可以是通过以太网与虚拟 机所处的物理硬件708通信的远程存储设备,也可以是便携式存储设备等。图7所示的系 统还包括位于702特权域DomO中的备份优化器705、虚拟机监控器(Hypervisor) 707、位于 虚拟机监控器707中的备份驱动器706以及虚拟机所处的真实物理硬件708。需要指出的 是,虚拟机监控器707实质上是虚拟机管理平台,在某些虚拟环境下也可被称作虚拟机管 理器VMM或者虚拟机管理平台。也就是说,必须在真是硬件平台之上架设一层虚拟机管理 器或者虚拟机监控器,然后才能由虚拟机管理器或者虚拟机监控器启动虚拟机的客户操作 系统。如图7所示的系统实现虚拟机数据备份操作的流程如下所述。首先,虚拟机701-A至701-C的用户决定对三个虚拟机的数据进行备份操作,于是 通过三个虚拟机中的备份客户端从共享存储703中分别读取这三个虚拟机的备份元数据。 “备份元数据”是用于描述需要备份的数据的数据。例如,备份元数据可以包括下列信息备 份目的地、备份类型(完全备份、差分备份或增量备份)等。备份元数据可以由每个虚拟机 的用户事先定义好并进行存储,既可以存储在共享存储703中,也可以存储在其它任何可 以访问到的地方。备份元数据也可以不用事先定义好,而是在用户确定需要备份时直接作 为参数传给虚拟机超级调用Hypercall (也就是图7中每个虚拟机的备份Hycall),只要虚 拟机中的备份客户端能访问或者能知道即可。是否事先定义备份元数据以及将备份元数据 存储在哪里均取决于具体的实现,而不构成对本发明保护范围的限制。图7中只是以备份 元数据信息被存储在共享存储703中为例来描述技术方案。图7中的虚拟机的备份客户端 在读取到备份元数据后即通过虚拟机中的备份Hycall向虚拟机监控器707发出本地调用 的数据备份指令。关于在每个虚拟机中添加备份Hycall并且进行本地虚拟机超级调用的 方法在上文对图2和图3的文字描述中已经进行详细介绍,在此不再赘述。图7中所示的 本地调用指令是虚拟机系统调用的形式传递的,而不是通过虚拟网络Vnet的方式传送的, 这样的本地系统调用相对于通过虚拟网络传送备份数据而言仅占用极少的系统资源。接下 来,备份驱动器706按照预定的规则读取到这三个虚拟机通过本地调用的数据备份指令, 预定的规则可以是定时读取,可以是定指令数读取,也可以是其它任何预定的方式。然后, 备份驱动器706将读取到的数据备份指令发送至位于特权域702中的备份优化器705,备份优化器705对数据备份指令进行优化处理。需要指出的是,备份优化器705位于特权域 702中仅仅是一种实施方式,是为了便于提供一个更好的交互接口,用户可以容易插入自己 喜欢的优化备份策略和算法。事实上,备份驱动器706和备份优化器705也可以同处于一 个特定的虚拟机(DomU)中发挥作用。而且备份驱动器706和备份优化器705也可以合二 为一,即备份驱动器706本身就具有对读取到的数据备份指令进行优化的功能。还需要指 出的是,如上文对图2和图3的文字描述中指出的,“优化”的策略可以是多种多样的,包括 合并冗余备份数据、选择合适的备份时间等,除此之外,备份驱动器706对读取到的数据备 份指令不做任何处理就利用该数据备份指令为虚拟机进行数据备份操作也是一种特殊的 优化策略。继续以图7所示的系统架构为例,备份优化器705对数据备份指令优化完毕后,将 优化后的数据备份指令发送至备份驱动器706。备份驱动器706利用优化后的数据备份指 令从共享存储703中读取要备份的数据,然后将读取到的要备份的数据写入备份存储704 中,从而完成了虚拟机701-A至701-C的数据备份操作。图7中所示的备份存储704只有 一个,这只是为了图示的简洁。实际上,每个虚拟机可能设定自己不同的存储目的地,也就 是说可能存在多个不同的备份存储704。备份驱动器706从共享存储703中读取要备份的 数据是通过虚拟网络Vnet进行的,而备份驱动器706向备份存储704写入要备份的数据是 通过虚拟网络Vnet和真实物理网络进行的(如果备份存储704是远程存储的话)。关于虚 拟网络Vnet和真实物理网络的关系可以这样理解虚拟机通过Vnet与真实物理网络进行 互联互通。从图7所示的系统以及上述文字描述可以看出,区别于图1所示的传统的数据备 份系统,虚拟机701-A至701-C不再需要通过虚拟网络和物理网络读取大量的待备份数据, 再将待备份数据通过虚拟网络和物理网络写入备份存储器中。利用图7所示的系统,由于 虚拟机的数据备份请求直接通过本地调用的方式发出数据备份指令,因此经由网络传输至 每个虚拟机的数据仅限于很少量的数据备份元数据信息。后面的待备份数据直接被备份驱 动器706截取并由备份驱动器706直接向备份存储704写入,而不会通过虚拟网络进入每 个虚拟机中再由每个虚拟机向备份存储704写入,这样就节省了大量的虚拟网络资源,避 免了数据备份操作时可能产生的网络拥塞现象,提高了系统的性能和运行效率。同时,由于 备份驱动器706可以读取到各个虚拟机的数据备份指令,于是可以综合地根据优化策略对 这些指令进行优化,从而避免可能的冗余数据备份、选择合适的备份时机等多种可提高系 统运行效率、节约系统存储资源的技术效果。还需要指出的是,图7中以数据备份操作为例示出了数据的流向并在上文进行了 文字描述。本领域技术人员应当了解,同样系统架构可以用于数据恢复操作,只是数据流向 相反(从备份存储704到共享存储70 ,也可以获得上述类似的技术效果。虽然图7中的系统示出了虚拟化环境下数据备份操作系统的一个实施方式,但是 本领域技术人员可以在传统的虚拟化环境中部署类似于图7中示出的系统。部署的步骤可 以包括在传统的虚拟化环境中的虚拟机中部署数据处理系统调用接口,所述系统调用接 口用于触发本地调用的数据处理指令。在虚拟化环境下的虚拟机管理平台中部署数据处理 驱动器,所述数据处理驱动器用于读取由所述系统调用接口触发的数据处理指令。在虚拟 化环境中部署数据处理指令优化器,所述优化器用于优化由所部署的数据处理驱动器读取的数据处理指令。上述部署步骤没有先后顺序之分。通过上述的部署步骤,可以在传统的 虚拟化环境的基础上提供具有上文所述的节省网络资源和存储资源以及提升系统性能等 效果的数据处理服务。根据本发明的一个实施方式,数据处理是指数据备份。根据本发明 的另一个实施方式,数据处理是指数据恢复。通过以上对具体实施例的描述,本领域技术人员可以理解,上述的系统、装置和方 法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、 CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电 子信号载体的数据载体上提供了这样的代码。本实施例的装置、服务器及其单元可以由诸 如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门 阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理 器执行的软件实现,也可以由上述硬件电路和软件的结合实现。虽然以上结合具体实施例,对本发明的利用远程应用处理本地文件的系统及方法 进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本 发明进行多种变换、替换和修改而不偏离本发明的精神和范围。应该理解,所有这样的变 化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。
权利要求
1.一种虚拟环境下的数据处理方法,包括读取由虚拟工作单元本地调用的数据处理指令;对所读取到的数据处理指令进行优化;以及利用优化后的数据处理指令为虚拟工作单元进行数据处理。
2.如权利要求1所述的方法,其中数据处理是数据备份处理,并且数据处理指令是数 据备份指令。
3.如权利要求1所述的方法,其中数据处理是数据恢复处理,并且数据处理指令是数 据恢复指令。
4.如权利要求1-3任一所述的方法,其中所述由虚拟工作单元本地调用的数据处理指 令是由虚拟工作单元中添加的系统调用接口调用的。
5.如权利要求1-3任一所述的方法,其中数据处理指令是依据由虚拟工作单元定义的 数据处理元数据而调用的。
6.如权利要求1或2所述的方法,其中利用优化后的数据处理指令为虚拟工作单元进 行数据处理包括从虚拟工作单元的共享存储中读取要备份的数据;将所读取的要备份的数据写入备份存储中。
7.如权利要求1或3所述的方法,其中利用优化后的数据处理指令为虚拟工作单元进 行数据处理包括从备份存储中读取要恢复的数据;将所读取的要恢复的数据写入虚拟工作单元的共享存储中。
8.如权利要求1-7任一所述的方法,其中读取由虚拟工作单元调用的数据处理指令包 括根据预定的时间进行读取。
9.如权利要求1-7任一所述的方法,其中读取由虚拟工作单元调用的数据处理指令包 括根据预定的指令数进行读取。
10.如权利要求1所述的方法,其中对所读取到的数据处理指令进行优化包括对来自 不同的虚拟工作单元对相同数据的数据处理指令进行合并。
11.如权利要求1所述的方法,其中对所读取到的数据处理指令进行优化包括对来自 不同的虚拟工作单元的数据处理指令进行分析以选择合适的数据处理时机。
12.—种虚拟环境下的数据处理系统,包括读取由虚拟工作单元本地调用的数据处理指令的装置;对所读取到的数据处理指令进行优化的装置;以及利用优化后的数据处理指令为虚拟工作单元进行数据处理的装置。
13.如权利要求12所述的系统,其中数据处理是数据备份处理,并且数据处理指令是 数据备份指令。
14.如权利要求12所述的系统,其中数据处理是数据恢复处理,并且数据处理指令是 数据恢复指令。
15.如权利要求12-14任一所述的系统,其中所述由虚拟工作单元本地调用的数据处 理指令是由虚拟工作单元中添加的系统调用接口调用的。
16.如权利要求12-14任一所述的系统,其中数据处理指令是依据由虚拟工作单元定义的数据处理元数据而调用的。
17.如权利要求12或13所述的系统,其中利用优化后的数据处理指令为虚拟工作单元 进行数据处理的装置进一步被配置为从虚拟工作单元的共享存储中读取要备份的数据;将所读取的要备份的数据写入备份存储中。
18.如权利要求12或14所述的系统,其中利用优化后的数据处理指令为虚拟工作单元 进行数据处理的装置进一步被配置为从备份存储中读取要恢复的数据;将所读取的要恢复的数据写入虚拟工作单元的共享存储中。
19.如权利要求12-18任一所述的系统,其中读取由虚拟工作单元调用的数据处理指 令的装置被配置为根据预定的时间进行读取。
20.如权利要求12-18任一所述的系统,其中读取由虚拟工作单元调用的数据处理指 令的装置被配置为根据预定的指令数进行读取。
21.如权利要求12所述的系统,其中对所读取到的数据处理指令进行优化的装置被配 置为对来自不同的虚拟工作单元对相同数据的数据处理指令进行合并。
22.如权利要求12所述的系统,其中对所读取到的数据处理指令进行优化的装置被配 置为对来自不同的虚拟工作单元的数据处理指令进行分析以选择合适的数据处理时机。
23.一种部署虚拟化环境下数据处理系统的方法,包括在虚拟化环境下的虚拟机中部署数据处理系统调用接口,所述系统调用接口用于触发 本地调用的数据处理指令;在虚拟化环境下的虚拟机管理平台中部署数据处理驱动器,所述数据处理驱动器用于 读取由所述系统调用接口触发的数据处理指令;在虚拟化环境中部署数据处理指令优化器,所述优化器用于优化由所部署的数据处理 驱动器读取的数据处理指令。
24.如权利要求23的方法,其中在虚拟化环境下的虚拟机中部署数据处理系统调用接 口的步骤包括注册新的系统调用号;更新系统调用表;以及添加新函数。
25.如权利要求23或M的方法,其中数据处理系统调用接口是数据备份系统调用接 口,数据处理指令是数据备份指令,数据处理驱动器是数据备份驱动器并且数据处理指令 优化器是数据备份指令优化器。
26.如权利要求23或M的方法,其中数据处理系统调用接口是数据恢复系统调用接 口,数据处理指令是数据恢复指令,数据处理驱动器是数据恢复驱动器并且数据处理指令 优化器是数据恢复指令优化器。
全文摘要
本发明涉及虚拟环境下的数据处理技术,尤其涉及在虚拟机环境下对虚拟机进行数据备份和数据恢复的技术。本发明提供了一种虚拟环境下的数据处理方法,包括读取由虚拟工作单元本地调用的数据处理指令;对所读取到的数据处理指令进行优化;以及利用优化后的数据处理指令为虚拟工作单元进行数据处理。
文档编号G06F9/455GK102141928SQ20101010497
公开日2011年8月3日 申请日期2010年1月29日 优先权日2010年1月29日
发明者刘亮, 李立, 王庆波, 王浩, 田瑞雄 申请人:国际商业机器公司