一种数据处理方法和装置的制造方法

文档序号:9826133阅读:208来源:国知局
一种数据处理方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种数据处理方法和装置。
【背景技术】
[0002]QC0W2(QEMU Copy On Write,QEMU写时拷贝)格式的磁盘镜像文件是QEMU(即模拟处理器)支持的一种磁盘镜像文件。如图1所示,为QC0W2格式的磁盘镜像文件的结构示意图,QC0W2格式的磁盘镜像文件通常包括元数据部分和真实的数据部分,元数据部分包括真实的数据的存储位置信息等,这两部分均存储在一个文件中。
[0003]现有的KVM(Kernel_based Virtual Machine)虚拟机可以使用QC0W2格式的磁盘镜像文件存储数据,在需要对KVM虚拟机的QC0W2格式的磁盘镜像文件进行备份时,需要关闭KVM虚拟机,并拷贝整个QC0W2格式的磁盘镜像文件(包括元数据部分和真实的数据部分)到备份位置,并在拷贝完成后,打开KVM虚拟机。
[0004]前述这种QC0W2格式的磁盘镜像文件的备份方式,需要关闭KVM虚拟机才能进行,备份方式不够灵活。

【发明内容】

[0005]本发明提供一种数据处理方法,所述方法应用于KVM虚拟机上,所述KVM虚拟机使用QC0W2格式的磁盘镜像文件存储数据,所述磁盘镜像文件包括元数据信息文件和多个数据文件,所述元数据信息文件包括元数据和数据写入数量,所述元数据包括每个数据文件的位置信息,所述数据写入数量为大于I的正整数,所述元数据信息文件和每个数据文件均是独立文件,所述方法包括以下步骤:获取待写入的第一数据,并根据所述元数据信息文件中的元数据,确定所述数据写入数量个数据文件的位置信息;根据确定出的每个位置信息,将所述第一数据写入到对应的数据文件中的空闲数据块中。
[0006]本发明提供一种数据处理装置,所述数据处理装置应用于KVM虚拟机上,所述KVM虚拟机使用QC0W2格式的磁盘镜像文件存储数据,所述磁盘镜像文件包括元数据信息文件和多个数据文件,所述元数据信息文件包括元数据和数据写入数量,所述元数据包括每个数据文件的位置信息,所述数据写入数量为大于I的正整数,所述元数据信息文件和每个数据文件均是独立文件,所述数据处理装置具体包括:确定模块,用于获取待写入的第一数据,并根据所述元数据信息文件中的元数据,确定所述数据写入数量个数据文件的位置信息;写入模块,用于根据确定出的每个位置信息,将所述第一数据写入到对应的数据文件中的空闲数据块中。
[0007]基于上述技术方案,本发明实施例中,在数据写入过程中,可以直接将数据写入到元数据信息文件包括的数据写入数量个数据文件中,即在数据文件中写入数据的同时,实现了数据实时备份,可以在KVM虚拟机的运行过程中进行,不需要关闭KVM虚拟机,备份方式更加灵活可靠,支持数据的冗余备份,增加数据备份的安全性。而且,通过分离元数据信息文件以及多个数据文件,可以对数据文件中的内容单独进行备份。
【附图说明】
[0008]图1是包括元数据和真实数据的QC0W2格式的磁盘镜像文件的示意图;
[0009]图2是本发明一种实施方式中的包括元数据信息文件和多个数据文件的QC0W2格式的磁盘镜像文件的示意图;
[0010]图3是本发明一种实施方式中的数据处理方法的流程示意图;
[0011]图4是本发明一种实施方式中的KVM虚拟机的硬件结构图;
[0012]图5是本发明一种实施方式中的数据处理装置的结构意图。
【具体实施方式】
[0013]针对现有技术中存在的问题,本发明实施例中提出一种数据处理方法,该方法可以应用在物理服务器上模拟出的KVM虚拟机中。在KVM虚拟机的运行过程中,该方法用于对数据进行处理,该处理具体可以为写入处理或者读取处理。
[0014]本发明实施例中,KVM虚拟机使用QC0W2格式的磁盘镜像文件存储数据,该磁盘镜像文件包括元数据信息文件和多个数据文件,该元数据信息文件和每个数据文件均是独立文件,即分离元数据信息文件以及各个数据文件。如图2所示,为包括元数据信息文件和多个数据文件的磁盘镜像文件的结构示意图,图2中以4个数据文件为例,实际应用中数据文件的数量可以任意选择。
[0015]其中,元数据信息文件包括的内容具体可以包括但不限于:元数据和数据写入数量。该元数据包括每个数据文件的位置信息等,通过该数据文件的位置信息可以找到该数据文件。该数据写入数量为大于I的正整数,在实际应用中,可以直接使用数字来表示数据写入数量,如2、3等,也可以用RAID(Redundant Arrays of Independent Disks,独立冗余磁盘阵列)信息来表示数据写入数量,如使用RAIDl来表示2个数据写入数量。此外,元数据中还可以包含位置关系表,该位置关系表用于记录数据的标识、存储该数据的数据文件的位置信息、以及存储该数据的数据块在对应的数据文件中的存储位置信息之间的对应关系。基于该存储位置信息,可以从对应的数据文件中读取到该数据。
[0016]其中,数据文件包括的内容具体可以包括但不限于真实的数据。
[0017]其中,多个数据文件存储在KVM虚拟机所属的物理服务器上的同一个存储块设备中,或者多个数据文件分别存储在KVM虚拟机所属的物理服务器上的不同的存储块设备中,存储块设备可以为一块固定大小的块设备磁盘。例如,数据文件I存储在存储块设备I中、数据文件2存储在存储块设备2中、数据文件3存储在存储块设备3中、数据文件4存储在存储块设备4中。
[0018]其中,在数据文件中写入数据时,写入的数据是以数据块形式进行存储的,即数据文件的空间被划分为许多数据块,数据就存储在这些数据块中。
[0019]在上述应用场景下,如图3所示,该数据的处理方法可以由KVM虚拟上的QEMU执行,可以包括以下步骤:
[0020]步骤301,获取待写入的第一数据,并根据元数据信息文件中的元数据,确定数据写入数量个数据文件的位置信息。
[0021]步骤302,根据确定出的每个位置信息,将第一数据写入到对应的数据文件中的空闲数据块中。
[0022]本发明实施例中,在将第一数据写入到对应的数据文件中的空闲数据块中之后,告知KVM虚拟机的内部操作系统,并且将第一数据的标识、存储第一数据的数据文件的位置信息、以及存储第一数据的数据块在对应的数据文件中的存储位置信息之间的对应关系记录到元数据中,如将该对应关系记录到元数据的位置关系表中。
[0023]例如,当数据写入数量为2时,元数据信息文件中的元数据包括数据文件I的位置信息、数据文件2的位置信息、数据文件3的位置信息和数据文件4的位置信息时,则确定2个数据文件的位置信息,如确定数据文件I的位置信息和数据文件2的位置信息。进一步的,利用数据文件I的位置信息,从数据文件I中获得空闲数据块A,并将第一数据写入到数据文件I的空闲数据块A中;之后,在元数据的位置关系表中记录第一数据的标识、数据文件I的位置信息、空闲数据块A在数据文件I中的存储位置信息之间的对应关系。以及,利用数据文件2的位置信息,从数据文件2中获得空闲数据块B,并将第一数据写入到数据文件2的空闲数据块B中;之后,在元数据的位置关系表中记录第一数据的标识、数据文件2的位置信息、空闲数据块B在数据文件2中的存储位置信息之间的对应关系。
[0024]本发明实施例的上述过程为数据写入过程,此外还可以包括数据读取过程,在数据读取过程中,获取待读取的第二数据的标识;根据第二数据的标识查询元数据中记录的对应关系,得到存储第二数据的数据文件的位置信息;根据存储第二数据的数据文件的位置信息,从对应的数据文件中确定一个可使用的数据文件;根据确定出的数据文件的位置信息和第二数据的标识,查询元数据中记录的对应关系,得到存储第二数据的数据块在确定出的数据文件中的存储位置信息;根据得到的存储位置信息,从对应的数据块读取第二数据,并告知KVM虚拟机的内部操作系统。
[0025]例如,当元数据信息文件中的元数据包括数据文件I的位置信息、数据文件2的位置信息、数据文件3的位置信息和数据文件4的位置信息时,根据第二数据的标识查询元数据的位置关系表中记录的数据的标识、数据文件的位置信息、数据块在该数据文件中的存储位置信息之间的对应关系时,可以得到存储该第二数据的数据文件的位置信息,假设为数据文件I的位置信息、数据文件2的位置信息,根据数据文件I的位置信息、数据文件2的位置信息,从数据文件I和数据文件2中确定一个可使用的数据文件,如当数据文件I和数据文件2均未损坏时,则可以选择数据文件I或者数据文件2,当数据文件I发生损坏时,则只能选择数据文件2。进一步的,根据确定出的数据文件2的位置信息和第二数据的标识,查询元数据的位置关系表中记录的数据的标识、数据文件的位置信息、数据块在该数据文件中的存储位置信息之间的对应关系,得到存储该第二数据的数据块在数据文件2中的存储位置信息,之后,可以根据该存储位置信息从数据文件2的该数据块读取第二数据。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1