CN110336883B - 镜像数据传输方法、装置、设备及计算机可读存储介质 - Google Patents

镜像数据传输方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110336883B
CN110336883B CN201910618881.6A CN201910618881A CN110336883B CN 110336883 B CN110336883 B CN 110336883B CN 201910618881 A CN201910618881 A CN 201910618881A CN 110336883 B CN110336883 B CN 110336883B
Authority
CN
China
Prior art keywords
mirror image
image data
bitmap
merged
data transmission
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.)
Active
Application number
CN201910618881.6A
Other languages
English (en)
Other versions
CN110336883A (zh
Inventor
谢鸿钊
张友加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910618881.6A priority Critical patent/CN110336883B/zh
Publication of CN110336883A publication Critical patent/CN110336883A/zh
Application granted granted Critical
Publication of CN110336883B publication Critical patent/CN110336883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种镜像数据传输方法,包括以下步骤:获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;根据各份镜像文件对应的所述位图,生成对应的合并位图;根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。本发明实施例还公开了一种镜像数据传输装置、镜像数据传输设备及计算机可读存储介质。本发明实施例提高了虚拟机的备份效率。

Description

镜像数据传输方法、装置、设备及计算机可读存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种镜像数据传输方法、装置、设备及计算机可读存储介质。
背景技术
虚拟机的备份,一般是首次全量备份,接着不断的增量备份,全量备份和增量备份都是独立的一个个镜像文件,在(云)归档、(云)灾备等场景,需要将镜像文件通过网络单独一个一个传输到异地,耗时长,而且,由于不同镜像文件中存在相同的镜像数据,这些相同的镜像数据就存在重复传输的问题,综上所述,虚拟机的备份效率较低。
发明内容
本发明实施例的主要目的在于提供一种镜像数据传输方法、装置、设备及计算机可读存储介质,旨在解决现有技术中虚拟机的备份效率低的技术问题。
为实现上述目的,本发明实施例提供一种镜像数据传输方法,所述镜像数据传输方法包括以下步骤:
获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
根据各份镜像文件对应的所述位图,生成对应的合并位图;
根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。
可选地,所述根据各份镜像文件对应的所述位图,生成对应的合并位图的步骤包括:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
可选地,所述根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据的步骤包括:
遍历所述合并位图中每个位置对应的标识值,并基于所述标识值从所述多份镜像文件的对应位置读取镜像数据。
可选地,所述传输读取的所述镜像数据的步骤之后,还包括:
对传输完成的镜像数据对应所述合并位图中的位置进行标记。
可选地,所述镜像数据传输方法还包括:
在网络异常时,中断传输所述镜像数据;
在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据。
可选地,所述获取多份镜像文件对应的位图的步骤包括:
对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。
可选地,所述根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据的步骤之后,还包括:
当读取的所述镜像数据全部传输完成时,删除所述合并位图。
进一步地,为实现上述目的,本发明实施例还提供一种镜像数据传输装置,所述镜像数据传输装置包括:
获取模块,用于获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
位图处理模块,用于根据各份镜像文件对应的所述位图,生成对应的合并位图;
数据处理模块,用于根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。
可选地,所述位图处理模块具体用于:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
可选地,所述镜像数据传输装置还包括:
标记模块,用于对传输完成的镜像数据对应所述合并位图中的位置进行标记。
可选地,所述数据处理模块还用于:
在网络异常时,中断传输所述镜像数据;在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据。
进一步地,为实现上述目的,本发明实施例还提供一种镜像数据传输设备,所述镜像数据传输设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的镜像数据传输程序,所述镜像数据传输程序被所述处理器执行时实现如上述任一项所述的镜像数据传输方法的步骤。
进一步地,为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有镜像数据传输程序,所述镜像数据传输程序被处理器执行时实现如上述任一项所述的镜像数据传输方法的步骤。
本发明实施例针对现有渗透测试方案的不足,提出在进行虚拟机的备份时,通过分别获取多份镜像文件对应的位图,位图标识镜像文件的对应位置是否写入镜像数据,根据各份镜像文件对应的位图生成合并位图,之后根据该合并位图,从多份镜像文件的对应位置读取镜像数据,并传输读取的镜像数据,而不是一个一个镜像文件分别传输,不仅降低了传输时长,而且也避免了相同的镜像数据重复传输的问题,因此,提高了虚拟机的备份效率。
附图说明
图1为本发明镜像数据传输设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明实施例镜像数据传输方法的流程示意图;
图3为本发明实施例镜像数据传输方法的流程示意图;
图4为本发明实施例涉及的一个可选的镜像数据传输的流程示意图;
图5为本发明实施例涉及的一个可选的镜像数据续传的流程示意图;
图6为本发明实施例镜像数据传输装置的功能模块示意图;
图7为本发明实施例镜像数据传输装置的功能模块示意图。
本发明实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明实施例,并不用于限定本发明实施例。
本发明实施例提供一种镜像数据传输设备。
参照图1,图1为本发明实施例镜像数据传输设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该镜像数据传输设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的镜像数据传输设备的硬件结构并不构成对镜像数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及镜像数据传输程序。其中,操作系统是管理和控制镜像数据传输设备与软件资源的程序,支持网络通信模块、用户接口模块、镜像数据传输程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的镜像数据传输设备硬件结构中,网络接口1004主要用于连接系统后台,与系统后台进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序,并执行以下操作:
获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
根据各份镜像文件对应的所述位图,生成对应的合并位图;
根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
遍历所述合并位图中每个位置对应的标识值,并基于所述标识值从所述多份镜像文件的对应位置读取镜像数据。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
对传输完成的镜像数据对应所述合并位图中的位置进行标记。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
在网络异常时,中断传输所述镜像数据;
在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。
进一步地,镜像数据传输设备通过处理器1001调用存储器1005中存储的镜像数据传输程序还执行以下操作:
当读取的所述镜像数据全部传输完成时,删除所述合并位图。
本发明实施例针对现有渗透测试方案的不足,提出在进行虚拟机的备份时,通过分别获取多份镜像文件对应的位图,位图标识镜像文件的对应位置是否写入镜像数据,根据各份镜像文件对应的位图生成合并位图,之后根据该合并位图,从多份镜像文件的对应位置读取镜像数据,并传输读取的镜像数据,而不是一个一个镜像文件分别传输,不仅降低了传输时长,而且也避免了相同的镜像数据重复传输的问题,因此,提高了虚拟机的备份效率。
本发明实施例还提供一种镜像数据传输方法。
参照图2,图2为本发明实施例镜像数据传输方法第一实施例的流程示意图。
在第一实施例中,所述镜像数据传输方法包括以下步骤:
步骤S10,获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
本实施例中,在(云)归档、(云)灾备等场景下,要进行虚拟机的备份时,也即要通过网络传输镜像文件的镜像数据到异地端时,若镜像文件只有一份,则按照现有传输方式,直接将该单独一份镜像文件传输到异地端。本实施例中,重点对多份镜像文件的镜像数据传输进行介绍。
对于要传输镜像数据的多份镜像文件,本实施例中,首先分别获取该多份镜像文件中每一份镜像文件对应的位图。其中,位图用于标识镜像文件的对应位置是否写入镜像数据。例如,某一份镜像文件对应的位图如表1所示:
表1
1 0 1 0
0 1 0 1
0 0 0 0
其中,标识值0代表镜像文件的对应位置未写入镜像数据,标识值1代表镜像文件的对应位置写入镜像数据。
可选地,所述步骤S10包括:
对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。
镜像文件本身是一个以相应格式存放镜像数据的大文件,镜像文件中包含有一个索引记录,索引记录指示镜像文件的哪些位置写有镜像数据。基于镜像文件的该特性,分别对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。例如,通过遍历某一镜像文件的索引记录,若确定该镜像文件的当位置写入镜像数据,则将位图中对应位置赋值标识值1;若确定该镜像文件的当位置未写入镜像数据,则将位图中对应位置赋值标识值0。
步骤S20,根据各份镜像文件对应的所述位图,生成对应的合并位图;
在获得每份镜像文件对应的位图之后,根据各份镜像文件对应的位图,将各份镜像文件对应的位图进行合并处理,生成相应的合并位图。
可选地,所述步骤S20包括:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
可选地,对于各份镜像文件而言,各份镜像文件的同一位置可能有的写入镜像数据,有的未写入镜像数据,因此,各个镜像文件对应的位图,其同一位置对应的标识值可能相同,也可能不同。在一实施方式中,在获得每份镜像文件对应的位图之后,依次将各个位图的同一位置对应的标识值进行或运算,并将每个同一位置对应的运算结果作为合并位图中同一位置对应的标识值,生成合并位图。
例如,假设镜像文件包括三份,三份镜像文件对应的位图分别如表1、表2和表3所示:
表2
1 0 0 0
0 1 0 1
1 0 0 0
表3
0 0 0 0
0 1 0 1
1 0 1 0
将三份镜像文件对应的位图各个位置对应的标识值进行或运算,得到合并位图如表4所示:
表4
1 0 1 0
0 1 0 1
1 0 1 0
其中,标识值0代表镜像文件的对应位置未写入镜像数据,不用进行读取该位置的镜像数据操作,标识值1代表镜像文件的对应位置写入镜像数据,需要进行读取该位置的镜像数据操作。
步骤S30,根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。
在生成合并位图后,根据该合并位图,从多份多份镜像文件的对应位置读取镜像数据。可选地,所述步骤S30包括:
遍历所述合并位图中每个位置对应的标识值,并基于所述标识值从所述多份镜像文件的对应位置读取镜像数据。
可选地,在生成合并位图后,遍历该合并位图中每个位置对应的标识值,并基于标识值从多份镜像文件的对应位置读取镜像数。以合并位图中某一位置对应的标识值为例,若合并位图中某一位置对应的标识值为第一数值,如标识值0,表示多份镜像文件的对应位置均未写入镜像数据,不需执行该位置的镜像数据读取操作;若合并位图中某一位置对应的标识值为第二数值,如标识值1,表示多份镜像文件中至少一个镜像文件的对应位置写入镜像数据,假若是一个镜像文件的对应位置写入镜像数据,则从该镜像文件的对应位置读取镜像数据,假若是多个镜像文件的对应位置写入镜像数据,则按照镜像文件生成的时间先后顺序,从该多个镜像文件中最新生成的镜像文件的对应位置读取镜像数据。
之后,通过网络将读取的镜像数据传输至异地端。可选地,将镜像数据以镜像文件的相应格式打包传输至异地端。从上述举例的各位图对应的表可以看到,通过将多个位图合并生成合并位图,基于合并位图传输镜像数据,所传输的数据总量,比按照单个镜像文件一个一个进行传输所累加的数据总量有所减少。同时,通过合并位图传输镜像数据,还达到了镜像数据去重的效果。
本实施例中,在进行虚拟机的备份时,通过分别获取多份镜像文件对应的位图,位图标识镜像文件的对应位置是否写入镜像数据,根据各份镜像文件对应的位图生成合并位图,之后根据该合并位图,从多份镜像文件的对应位置读取镜像数据,并传输读取的镜像数据,而不是一个一个镜像文件分别传输,不仅降低了传输时长,而且也避免了相同的镜像数据重复传输的问题,因此,提高了虚拟机的备份效率。
参照图3,图3为本发明实施例镜像数据传输方法第二实施例的流程示意图。基于上述第一实施例,本实施例中,在上述步骤S30之后还包括:
步骤S40,对传输完成的镜像数据对应所述合并位图中的位置进行标记。
本实施例中,由于镜像数据是基于合并位图进行传输的,所有传输的镜像数据均对应合并位图中的相应位置,每当某镜像数传输完成时,对传输完成的该镜像数据对应合并位图中的位置进行标记,以指示基于此位置对应读取的镜像数据已传输至异地端。例如,以合并位图如表4所示为例,当基于表4中第1行第1列的标志值1,读取镜像文件的对应位置的镜像数据,并将读取的镜像数据传输至异地端后,对表4中第1行第1列的位置进行标记。
镜像数据传输过程如图4所示,当要开始进行镜像数据传输时,根据各个镜像文件,加载生成对应的合并位图,并遍历合并位图,从各个镜像文件中读取对应的镜像数据,并传输读取的镜像数据,每当镜像数据传输成功后,对该镜像数据对应合并位图中的位置进行标记,即对合并位图中标记的位置进行更新。然后返回继续基于合并位图,读取镜像数据的操作,直至基于合并位图所有读取的镜像数据传输完成。
可选地,在实际应用场景中,所述镜像数据传输方法还包括:
在网络异常时,中断传输所述镜像数据;
在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据。
可选地,在实际应用当中,网络不可避免会出现异常问题,假若在传输镜像数据的过程当中,网络出现异常,此时,中断镜像数据的传输。之后,在网络恢复正常时,加载合并位图,根据合并位图中标记的位置,获晓网络异常时的断点处,从断点处继续读取镜像数据,并续传镜像数据。相比于现有技术当中在网络恢复正常后,重新开始传输镜像数据的方式,断点续传大大缩减了镜像数据传输的时间。
网络恢复正常后,镜像数据重新传输过程如图5所示,当要开始进行镜像数据重新传输时,加载合并位图,获取合并位图中标记的位置,并遍历合并位图,根据合并位图中标记的位置,读取镜像文件的对应位置的镜像数据,并传输读取的镜像数据,当镜像数据传输成功后,对该镜像数据对应合并位图中的位置进行标记,即对合并位图中标记的位置进行更新。然后返回继续基于合并位图,读取镜像数据的操作,直至基于合并位图所有读取的镜像数据传输完成。
进一步地,所述步骤S30之后,还包括:
当读取的所述镜像数据全部传输完成时,删除所述合并位图。
进一步地,在本次进行镜像数据传输的操作中,当基于合并位图,读取完镜像数据,并将读取的镜像数据全部传输完成时,删除合并位图,从而节省存储空间,便于下一次在对其他镜像文件进行镜像数据传输时,生成其他镜像文件对应的合并位图。
本实施例中,通过对传输完成的镜像数据对应合并位图中的位置进行标记,如若发生由于网络异常而中断镜像数据传输的情况,当网络恢复正常时,根据合并位图中标记的位置,续传镜像数据,相比于现有需重新开始传输镜像数据的方式,断点续传大大缩减了镜像数据传输的时间,因此,进一步提高了虚拟机的备份效率。
本发明实施例还提供一种镜像数据传输装置。
参照图6,图6为本发明实施例镜像数据传输装置第一实施例的功能模块示意图。本实施例中,所述镜像数据传输装置包括:
获取模块10,用于获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
本实施例中,在(云)归档、(云)灾备等场景下,要进行虚拟机的备份时,也即要通过网络传输镜像文件的镜像数据到异地端时,若镜像文件只有一份,则按照现有传输方式,直接将该单独一份镜像文件传输到异地端。本实施例中,重点对通过镜像数据传输装置对多份镜像文件的镜像数据传输进行介绍。
对于要传输镜像数据的多份镜像文件,本实施例中,首先通过获取模块10分别获取该多份镜像文件中每一份镜像文件对应的位图。其中,位图用于标识镜像文件的对应位置是否写入镜像数据。例如,某一份镜像文件对应的位图如表1所示,其中,标识值0代表镜像文件的对应位置未写入镜像数据,标识值1代表镜像文件的对应位置写入镜像数据。
可选地,所述获取模块10具体用于:
对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。
镜像文件本身是一个以相应格式存放镜像数据的大文件,镜像文件中包含有一个索引记录,索引记录指示镜像文件的哪些位置写有镜像数据。基于镜像文件的该特性,获取模块10分别对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。例如,通过遍历某一镜像文件的索引记录,若确定该镜像文件的当位置写入镜像数据,则将位图中对应位置赋值标识值1;若确定该镜像文件的当位置未写入镜像数据,则将位图中对应位置赋值标识值0。
位图处理模块20,用于根据各份镜像文件对应的所述位图,生成对应的合并位图;
在获得每份镜像文件对应的位图之后,位图处理模块20根据各份镜像文件对应的位图,将各份镜像文件对应的位图进行合并处理,生成相应的合并位图。
可选地,所述位图处理模块20具体用于:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
可选地,对于各份镜像文件而言,各份镜像文件的同一位置可能有的写入镜像数据,有的未写入镜像数据,因此,各个镜像文件对应的位图,其同一位置对应的标识值可能相同,也可能不同。在一实施方式中,在获得每份镜像文件对应的位图之后,位图处理模块20依次将各个位图的同一位置对应的标识值进行或运算,并将每个同一位置对应的运算结果作为合并位图中同一位置对应的标识值,生成合并位图。
例如,假设镜像文件包括三份,三份镜像文件对应的位图分别如表1、表2和表3所示,将三份镜像文件对应的位图各个位置对应的标识值进行或运算,得到合并位图如表4所示,表4中,标识值0代表镜像文件的对应位置未写入镜像数据,不用进行读取该位置的镜像数据操作,标识值1代表镜像文件的对应位置写入镜像数据,需要进行读取该位置的镜像数据操作。
数据处理模块30,用于根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据。
在生成合并位图后,数据处理模块30根据该合并位图,从多份多份镜像文件的对应位置读取镜像数据。可选地,所述数据处理模块30具体用于:
遍历所述合并位图中每个位置对应的标识值,并基于所述标识值从所述多份镜像文件的对应位置读取镜像数据。
可选地,在生成合并位图后,数据处理模块30遍历该合并位图中每个位置对应的标识值,并基于标识值从多份镜像文件的对应位置读取镜像数。以合并位图中某一位置对应的标识值为例,若合并位图中某一位置对应的标识值为第一数值,如标识值0,表示多份镜像文件的对应位置均未写入镜像数据,不需执行该位置的镜像数据读取操作;若合并位图中某一位置对应的标识值为第二数值,如标识值1,表示多份镜像文件中至少一个镜像文件的对应位置写入镜像数据,假若是一个镜像文件的对应位置写入镜像数据,则从该镜像文件的对应位置读取镜像数据,假若是多个镜像文件的对应位置写入镜像数据,则按照镜像文件生成的时间先后顺序,从该多个镜像文件中最新生成的镜像文件的对应位置读取镜像数据。
之后,通过网络将读取的镜像数据传输至异地端。可选地,将镜像数据以镜像文件的相应格式打包传输至异地端。从上述举例的各位图对应的表可以看到,通过将多个位图合并生成合并位图,基于合并位图传输镜像数据,所传输的数据总量,比按照单个镜像文件一个一个进行传输所累加的数据总量有所减少。同时,通过合并位图传输镜像数据,还达到了镜像数据去重的效果。
本实施例中,在进行虚拟机的备份时,通过分别获取多份镜像文件对应的位图,位图标识镜像文件的对应位置是否写入镜像数据,根据各份镜像文件对应的位图生成合并位图,之后根据该合并位图,从多份镜像文件的对应位置读取镜像数据,并传输读取的镜像数据,而不是一个一个镜像文件分别传输,不仅降低了传输时长,而且也避免了相同的镜像数据重复传输的问题,因此,提高了虚拟机的备份效率。
参照图7,图7为本发明实施例镜像数据传输装置第二实施例的功能模块示意图。基于上述装置第一实施例,本实施例中,所述镜像数据传输装置还包括:
标记模块40,用于对传输完成的镜像数据对应所述合并位图中的位置进行标记。
本实施例中,由于镜像数据是基于合并位图进行传输的,所有传输的镜像数据均对应合并位图中的相应位置,每当某镜像数传输完成时,标记模块40对传输完成的该镜像数据对应合并位图中的位置进行标记,以指示基于此位置对应读取的镜像数据已传输至异地端。例如,以合并位图如表4所示为例,当基于表4中第1行第1列的标志值1,读取镜像文件的对应位置的镜像数据,并将读取的镜像数据传输至异地端后,对表4中第1行第1列的位置进行标记。
可选地,在实际应用场景中,所述数据处理模块30还用于:
在网络异常时,中断传输所述镜像数据;在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据。
可选地,在实际应用当中,网络不可避免会出现异常问题,假若在传输镜像数据的过程当中,网络出现异常,此时,数据处理模块30中断镜像数据的传输。之后,在网络恢复正常时,数据处理模块30加载合并位图,根据合并位图中标记的位置,获晓网络异常时的断点处,从断点处继续读取镜像数据,并续传镜像数据。相比于现有技术当中在网络恢复正常后,重新开始传输镜像数据的方式,断点续传大大缩减了镜像数据传输的时间。
进一步地,所述镜像数据传输装置还包括:
删除模块,用于当读取的所述镜像数据全部传输完成时,删除所述合并位图。
进一步地,在本次进行镜像数据传输的操作中,当基于合并位图,读取完镜像数据,并将读取的镜像数据全部传输完成时,删除模块删除合并位图,从而节省存储空间,便于下一次在对其他镜像文件进行镜像数据传输时,生成其他镜像文件对应的合并位图。
本实施例中,通过对传输完成的镜像数据对应合并位图中的位置进行标记,如若发生由于网络异常而中断镜像数据传输的情况,当网络恢复正常时,根据合并位图中标记的位置,续传镜像数据,相比于现有需重新开始传输镜像数据的方式,断点续传大大缩减了镜像数据传输的时间,因此,进一步提高了虚拟机的备份效率。
本发明实施例还提供一种计算机可读存储介质。
本发明实施例计算机可读存储介质上存储有镜像数据传输程序,所述镜像数据传输程序被处理器执行时实现如上述任一项实施例中所述的镜像数据传输方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明实施例各个实施例所述的方法。
上面结合附图对本发明实施例的实施例进行了描述,但是本发明实施例并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明实施例的启示下,在不脱离本发明实施例宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明实施例的保护之内。

Claims (9)

1.一种镜像数据传输方法,其特征在于,所述镜像数据传输方法包括以下步骤:
获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
根据各份镜像文件对应的所述位图,生成对应的合并位图;
根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据;
其中,所述传输读取的所述镜像数据的步骤之后,还包括:
对传输完成的镜像数据对应所述合并位图中的位置进行标记;
其中,述镜像数据传输方法还包括:
在网络异常时,中断传输所述镜像数据;
在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据,其中,所述镜像数据以镜像文件的相应格式打包传输至异地端。
2.如权利要求1所述的镜像数据传输方法,其特征在于,所述根据各份镜像文件对应的所述位图,生成对应的合并位图的步骤包括:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
3.如权利要求2所述的镜像数据传输方法,其特征在于,所述根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据的步骤包括:
遍历所述合并位图中每个位置对应的标识值,并基于所述标识值从所述多份镜像文件的对应位置读取镜像数据。
4.如权利要求1所述的镜像数据传输方法,其特征在于,所述获取多份镜像文件对应的位图的步骤包括:
对每份镜像文件的索引记录进行遍历,获得每份镜像文件对应的位图。
5.如权利要求1-4任一项所述的镜像数据传输方法,其特征在于,所述根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据的步骤之后,还包括:
当读取的所述镜像数据全部传输完成时,删除所述合并位图。
6.一种镜像数据传输装置,其特征在于,所述镜像数据传输装置包括:
获取模块,用于获取多份镜像文件对应的位图,其中,所述位图用于标识镜像文件的对应位置是否写入镜像数据;
位图处理模块,用于根据各份镜像文件对应的所述位图,生成对应的合并位图;
数据处理模块,用于根据所述合并位图,从所述多份镜像文件的对应位置读取镜像数据,并传输读取的所述镜像数据;
其中,所述镜像数据传输装置还包括:
标记模块,用于对传输完成的镜像数据对应所述合并位图中的位置进行标;
其中,所述数据处理模块还用于:
在网络异常时,中断传输所述镜像数据;在网络恢复正常时,根据所述合并位图中标记的位置,续传所述镜像数据,其中,所述镜像数据以镜像文件的相应格式打包传输至异地端。
7.如权利要求6所述的镜像数据传输装置,其特征在于,所述位图处理模块具体用于:
依次将各个所述位图的同一位置对应的标识值进行或运算,并根据每个同一位置对应的运算结果生成所述合并位图,其中,每个同一位置对应的运算结果作为所述合并位图中同一位置对应的标识值。
8.一种镜像数据传输设备,其特征在于,所述镜像数据传输设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的镜像数据传输程序,所述镜像数据传输程序被所述处理器执行时实现如权利要求1-5中任一项所述的镜像数据传输方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有镜像数据传输程序,所述镜像数据传输程序被处理器执行时实现如权利要求1-5中任一项所述的镜像数据传输方法的步骤。
CN201910618881.6A 2019-07-09 2019-07-09 镜像数据传输方法、装置、设备及计算机可读存储介质 Active CN110336883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910618881.6A CN110336883B (zh) 2019-07-09 2019-07-09 镜像数据传输方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910618881.6A CN110336883B (zh) 2019-07-09 2019-07-09 镜像数据传输方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110336883A CN110336883A (zh) 2019-10-15
CN110336883B true CN110336883B (zh) 2022-01-18

Family

ID=68145168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910618881.6A Active CN110336883B (zh) 2019-07-09 2019-07-09 镜像数据传输方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110336883B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491953B (zh) * 2020-10-21 2022-06-14 苏州浪潮智能科技有限公司 支持云平台镜像数据续传的实现方法、系统、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166606A (zh) * 2014-08-29 2014-11-26 华为技术有限公司 文件备份方法和主存储设备
CN104239575A (zh) * 2014-10-08 2014-12-24 清华大学 一种虚拟机镜像文件存储、分发方法及装置
CN107544864A (zh) * 2016-06-24 2018-01-05 深圳市深信服电子科技有限公司 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260229A (zh) * 2015-10-28 2016-01-20 北京百度网讯科技有限公司 拉取虚拟机镜像文件的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166606A (zh) * 2014-08-29 2014-11-26 华为技术有限公司 文件备份方法和主存储设备
CN104239575A (zh) * 2014-10-08 2014-12-24 清华大学 一种虚拟机镜像文件存储、分发方法及装置
CN107544864A (zh) * 2016-06-24 2018-01-05 深圳市深信服电子科技有限公司 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Also Published As

Publication number Publication date
CN110336883A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
CN108959059B (zh) 一种测试方法以及测试平台
CN111414389B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110413282B (zh) 一种冗余资源处理方法、装置、设备及存储介质
CN112423135B (zh) 视频回放的信息处理方法、装置、计算机设备和存储介质
CN110109628B (zh) 分布式存储系统的数据重建方法、装置、设备及存储介质
CN111680008A (zh) 日志处理方法、系统、可读存储介质及智能设备
CN112860953A (zh) 图数据库的数据导入方法、装置、设备及存储介质
CN110336883B (zh) 镜像数据传输方法、装置、设备及计算机可读存储介质
CN114020522A (zh) 数据备份方法、装置、电子设备及系统
CN108241543B (zh) 业务操作断点执行的方法、业务服务器及系统
CN108228611B (zh) 单据信息抄写方法和装置
CN111400248B (zh) 写数据、恢复数据的方法及文件系统
CN111367869A (zh) 镜像文件处理方法、装置、存储介质及电子设备
CN111367500A (zh) 数据的处理方法和装置
CN110795389B (zh) 基于存储快照的拷贝方法、用户设备、存储介质及装置
CN113704114A (zh) 功能接口的自动化测试方法、装置、设备及介质
CN112465612A (zh) 单据信息处理方法、装置、计算机设备和存储介质
CN113656626A (zh) 一种图像数据保存方法、装置、计算机设备和存储介质
CN109522014B (zh) 基于新产品开发的算法处理方法、电子装置及可读存储介质
JP7102783B2 (ja) システム管理装置、システム管理方法、およびプログラム
CN112527276A (zh) 一种可视化编程工具中的数据更新方法、装置及终端设备
CN108958983B (zh) 基于数据差异的还原方法、装置、存储介质及用户设备
CN111209187B (zh) 业务请求处理方法、装置、计算机设备和存储介质
CN110807301B (zh) 一种文档编辑的方法、装置、计算机存储介质及终端
CN114153794A (zh) 多文件上传方法以及相关设备

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Mirror data transmission method, device, device, and computer-readable storage medium

Effective date of registration: 20231212

Granted publication date: 20220118

Pledgee: Shenzhen Branch of China Merchants Bank Co.,Ltd.

Pledgor: SANGFOR TECHNOLOGIES Inc.

Registration number: Y2023980070863

PE01 Entry into force of the registration of the contract for pledge of patent right