CN107506258B - 用于数据备份的方法和设备 - Google Patents

用于数据备份的方法和设备 Download PDF

Info

Publication number
CN107506258B
CN107506258B CN201610421617.XA CN201610421617A CN107506258B CN 107506258 B CN107506258 B CN 107506258B CN 201610421617 A CN201610421617 A CN 201610421617A CN 107506258 B CN107506258 B CN 107506258B
Authority
CN
China
Prior art keywords
application
configuration information
backup
backup service
data
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
CN201610421617.XA
Other languages
English (en)
Other versions
CN107506258A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201610421617.XA priority Critical patent/CN107506258B/zh
Priority to US15/622,387 priority patent/US11243845B2/en
Publication of CN107506258A publication Critical patent/CN107506258A/zh
Application granted granted Critical
Publication of CN107506258B publication Critical patent/CN107506258B/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/1448Management of the data involved in backup or backup restore
    • 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/1464Management of the backup or restore process for networked environments
    • 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/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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

Abstract

本公开的实施例涉及一种用于数据备份的方法和装置。该方法包括从服务存储库选择用于应用的备份服务。该方法还包括针对应用,设置与选择的备份服务相关联的配置信息。此外,该方法还包括响应于备份服务被启用,根据配置信息将与备份服务相对应的备份服务代理部署到与应用相关联的源节点,以使得应用的数据经由备份服务代理从源节点被备份到目标节点中。

Description

用于数据备份的方法和设备
技术领域
本公开的实施例总体涉及数据存储领域,具体涉及一种用于数据备份的方法和设备。
背景技术
数据备份是指为了防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。为了满足较好的恢复时间目标(RTO)和/或恢复点目标(RPO)并且实现诸如去重、压缩或加密等丰富的数据特征,传统数据备份系统通常被实现为具有紧耦合软件的、基于某种目的而构建的硬件。例如,传统数据备份系统通常服务于位于固定物理节点的应用,并且利用专用硬件或控制器将数据从该应用所在的节点复制到专门优化的目标节点中。
然而,随着云计算的广泛采用,上述传统数据备份系统正面临巨大挑战。在现代云计算环境中,所有资源是动态配置的并且应用通常能够被动态地部署、调度和扩展。这要求数据备份系统能够快速配置,能够与应用的实例动态映射而无论应用的实例增加、减少或者跨节点移动,能够容易地被扩展以支持大量的应用实例等。此外,在这样的大规模且动态改变的环境中,数据备份系统的管理应当尽可能简单和透明,从而避免额外的管理开销。同时,数据备份系统还应当尽可能兼顾传统的性能和功能要求,诸如备份窗口要求(例如,RTO/RPO)和媒体控制操作要求(例如,支持去重、压缩或加密等功能),并且尽可能兼容遗留的静态部署的应用等。
发明内容
本公开的实施例提供了一种用于数据备份的方法和设备。
根据本公开的第一方面,提供了一种用于数据备份的方法。该方法包括从服务存储库选择用于应用的备份服务。该方法还包括针对应用,设置与选择的备份服务相关联的配置信息。此外,该方法还包括响应于备份服务被启用,根据配置信息将与备份服务相对应的备份服务代理部署到与应用相关联的源节点,以使得应用的数据经由备份服务代理从源节点被备份到目标节点中。
根据本公开的第二方面,提供了一种用于数据备份的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时,使得设备:从服务存储库选择用于应用的备份服务;针对应用,设置与选择的备份服务相关联的配置信息;以及响应于备份服务被启用,根据配置信息将与备份服务相对应的备份服务代理部署到与应用相关联的源节点,以使得应用的数据经由备份服务代理从源节点被备份到目标节点中。
根据本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的用于数据备份的架构100的框图;
图2示出了根据本公开的实施例的用于数据备份的方法200的流程图;
图3A-3C示出了根据本公开的实施例的应用与备份服务代理之间的各种数据传输模式的示意图;以及
图4A-4B示出了根据本公开的实施例的备份服务代理的各种部署类型的示意图;
图5示出了根据本公开的实施例的用于数据备份的装置500的框图;以及
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如以上所描述的,由于传统数据备份系统通常被实现为具有紧耦合软件的、基于某种目的而构建的硬件。因此,传统数据备份系统不能够很好地满足现代云计算环境对于数据备份系统的种种要求。例如,传统数据备份系统难以实现快速配置、难以与应用的实例进行动态映射、不容易被扩展以支持大量的应用实例等等。
为了解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于数据备份的方案。该方案将数据备份注册为服务,并且经由向与应用相关联的源节点部署的、被封装为可执行容器的备份服务代理来实现应用的数据从源节点到目标节点的备份。
图1示出了根据本公开的实施例的用于数据备份的架构100的框图。应当理解,仅出于示例性的目的描述架构100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。
如图1所示,架构100可以包括数据备份系统110,它可以向应用120提供数据备份服务。应用120可以是例如数据库应用或者其他任何类型的应用。应用120可以仅包含一个实例并且可以被部署在单个节点上。如在本文中所使用的,“节点”指的是任何计算机、物理主机、虚拟机或者其他设备。例如,如图1所示,应用120被部署在节点121上。备选地,应用120也可以包含多个实例并且可以被部署在多个节点上(未在图1中示出)。数据备份系统110可以包括服务存储库111和管理模块112。
服务存储库111可以是高可用性集群,其用于保存备份服务以及针对应用的其他服务。例如,备份服务的开发者可以向服务存储库111注册备份服务。服务存储库111可以向管理模块112和/或应用120提供服务列表,以使得管理模块112和/或应用120能够发现被存储在服务存储库111上的服务。备选地或者附加地,应用120也可以向服务存储库111注册其自身的服务,以使得应用120的运行状态(例如,应用120的实例被启动、被关闭、被跨节点移动、运行失败等事件)能够被跟踪和保存。
管理模块112可以是数据中心级的控制管理平台,其提供资源供应、配置信息设置等功能以及相应的控制面板。例如,应用120的管理员可以利用管理模块112从服务存储库111选择用于应用120的备份服务。此外,管理模块112还可以提供设置接口,以用于设置与用于应用120的备份服务相关联的配置信息。管理模块112可以与服务存储库111通信地耦合。当用于应用120的备份服务被启用时,管理模块112可以使得服务存储库111将与用于应用120的备份服务相对应的备份服务代理1211部署到与应用120相关联的节点,例如图1所示的节点121。管理模块112可以提供诸如按钮的机制,以便用户交互地启用用于应用120的备份服务。备选地或附加地,也可以通过管理模块112设置当应用120被启动时自动地启用用于应用120的备份服务。
备份服务代理1211可以被封装为轻量级的可执行容器,例如Docker容器。在此使用的术语“容器”指代一种虚拟化技术,其封装了应用程序以及应用程序所依赖的运行环境。Docker容器通常从Docker镜像(image)被创建。Docker容器能够被运行、停止运行、删除或者移动,并且便于被部署到不同的平台上。备份服务代理1211作为备份服务的客户端来连接应用120和应用120的备份目标。应用120的备份目标可以是可靠的数据存储库,其通常位于单独的区域或者位于包括用于灾难恢复的单独的云的远程站点。
应用120的备份目标可以包括多个节点以及大量的物理磁盘和/或逻辑磁盘。仅出于示例性的目的,在图1中将应用120的备份目标示出为目标节点130。当备份服务代理1211被部署在与应用120相关联的节点121时,应用120的数据可以经由备份服务代理1211从节点121被备份至目标节点130。附加地,备份服务代理1211还可以与目标节点130配合以实现某些预处理逻辑,例如数据去重、压缩和加密等。备份服务代理1211能够被快速调度,其实现了应用120和目标节点130之间的松耦合,使得应用120无须关心具体的备份逻辑及相关联的配置信息。
以下将参考图2至6来进一步详细描述本公开的实施例。图2示出了根据本公开的实施例的用于数据备份的方法200的流程图。例如,方法200可以由如图1所示的数据备份系统110来执行。应当理解的是,方法200还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
方法200开始于步骤210。在步骤210中,通过管理模块112从服务存储库111选择用于应用120的备份服务。在一些实施例中,例如,备份服务的开发者可以向服务存储库111注册备份服务,并且服务存储库111可以向管理模块112和/或应用120提供备份服务列表。因此,通过管理模块112可以从服务存储库111获取备份服务列表,并且从该备份服务列表中选择用于应用120的备份服务。本公开的实施例通过将数据备份注册为服务,满足了云计算环境中对于数据备份的快速部署和灵活扩展的要求。
接下来,方法200进行到步骤220。在步骤220中,通过管理模块112针对应用120设置与选择的备份服务相关联的配置信息。在一些实施例中,该配置信息可以包括涉及候选源节点的第一配置信息。如在本文中所使用的,“源节点”指的是要进行备份的应用数据所在的初始节点,也即要部署备份服务代理的节点。根据应用120的类型、调度策略和偏好,源节点例如可以从如下节点中选择:由包括应用120在内的多个应用所共享的节点或者应用120的至少一个实例所在的节点。通过设置第一配置信息,备份服务的模式可以被确定。例如,当源节点被选择为由包括应用120在内的多个应用所共享的节点时,其指示备份服务的模式为共享模式(即,多个应用共享相同的备份服务)。当源节点被选择为应用120的至少一个实例所在的节点时,其指示备份服务的模式为专用模式(即,该备份服务仅针对应用120)。
此外,如上文所述,应用120可以包含多个实例并且可以被部署在多个节点上。在某些实施例中,这些节点是并列的,并且可以对这些节点上的数据进行读写操作。也就是说,这些节点没有主从之分,而是实现基本上同样的功能/操作。在此情况下,可以设置第一配置信息以将源节点选择为这些节点中的每个节点。也即,要对每个可读写的节点上的应用数据进行备份。在某些实施例中,这些节点不是并列的。例如,这些节点可以包括“主节点”和“副本(Replica)节点”,其中能够对主节点上的数据进行读写操作而仅能够对副本节点上的数据进行读操作。在此情况下,可以设置第一配置信息以将源节点选择为副本节点,从而节省主节点上的计算资源。
备选地或附加地,在一些实施例中,该配置信息还可以包括涉及目标节点的第二配置信息。如在本文中所使用的,“目标节点”指的是应用数据将要备份到的目的节点。在一些实施例中,第二配置信息可以包括用于目标节点(例如,图1所示的目标节点130)的账户信息,例如授权和认证信息等等。在一些实施例中,第二配置信息还可以包括目标节点要执行(例如,目标节点130与备份服务代理1211配合执行)的媒体控制操作,诸如数据去重、压缩、加密、验证等。因此,本公开的实施例能够兼顾传统数据备份系统对于功能的要求。
备选地或附加地,在一些实施例中,该配置信息还可以包括涉及备份服务代理的第三配置信息。例如,第三配置信息可以指示应用120的数据在备份服务代理1211中是否要被缓存。如果备份服务代理1211被设置为缓存模式,应用120的数据将在备份服务代理1211中被缓存。直到所缓存的数据的数量达到预定阈值时,备份服务代理1211才向目标节点130转发这些数据如果当备份服务代理1211被设置为非缓存模式,应用120的数据将由备份服务代理1211直接转发至目标节点130。
备选地或附加地,在一些实施例中,该配置信息还可以包括涉及应用120与备份服务代理1211之间的数据传输模式的第四配置信息。例如,数据传输模式可以包括推送模式、拉取模式、共享存储模式,等等。例如,图3A-3C示出了根据本公开的实施例的应用与备份服务代理之间的各种数据传输模式的示意图。仅仅出于示例性的目的,当在图3A-3C中图示各种数据传输模式时,将应用311、321和331中的每个应用示出为仅包括一个实例,并且相应的备份服务代理(例如,备份服务代理312、322和332)被部署在该实例所在的节点(例如,节点313、323和333)中。应当理解,如图3A-3C所示的各种数据传输模式也可以被应用到其他的部署类型中,并且本公开的范围在此方面不受限制。
图3A中所示的数据传输模式为推送模式。在此模式中,如果应用311的数据发生改变,应用311将会主动向备份服务代理312推送要备份的数据。图3B中所示的数据传输模式为拉取模式,在此模式中,备份服务代理322主动从应用321拉取发生改变的数据。例如,备份服务代理322可以运行守护进程(daemon)来拉取发生改变的数据。图3C中所示的数据传输模式为共享存储模式,在此模式中,应用331和备份服务代理332通过共享存储334(例如,共享文件系统、存储卷或者存储块)来交换数据。
在一些实施例中,该配置信息还可以包括数据的备份调度的第五配置信息。例如,第五配置信息可以指示数据备份的执行频率,以及数据备份的执行时间等等。因此,本公开的实施例能够兼顾传统数据备份系统对于性能的要求(诸如,RTO/RPO等)。
备选地或附加地,在一些实施例中,该配置信息还可以包括涉及与应用相关的事件的处理策略的第六配置信息。例如,与应用120相关的事件可以包括应用120的第一实例被启动。在此情况下,第六配置信息可以被设置为指示要针对第一实例应用现有配置信息或者设置新的配置信息。现有配置信息例如是指已设置的用于应用120的其他实例的配置信息。与应用120相关的事件还可以包括应用120的第二实例被关闭。应用120的第二实例被关闭的原因可以是工作负载减小或者成本考虑。在此情况下,第六配置信息可以被设置为指示将关闭与第二实例相关联的备份服务。
此外,第六配置信息还可以被设置为指示要执行诸如调整现有备份资源设置的其他动作,例如调整所使用的中央处理器(CPU)和/或存储器资源等。与应用120相关的事件还可以包括应用120的第三实例被跨节点移动。例如,应用120的第三实例从第一节点被移动至第二节点。在此情况下,第六配置信息可以被设置为指示针对第三实例保持现有配置信息或者设置新的配置信息。例如,第六配置信息可以指示与部署在第一节点上的、用于第三实例的备份服务代理是否要被移动至第二节点,或者针对被移动至第二节点的第三实例将使用与其他应用共享的备份服务代理等等。
另外,与应用120相关的事件还可以包括应用120的第四实例运行失败。在此情况下,第六配置信息可以指示将用于第四实例的备份服务代理设置为保持重试,或者针对该备份服务代理设置超时时间并且在超时后使得该备份服务代理关闭。
应当理解,上文描述的仅仅是在步骤220设置的配置信息的若干示例。描述上述示例仅仅是为了使本领域技术人员理解本公开的思想和工作原理,无意以任何方式限制本公开的范围。基于在此给出的教导,可以配置包含任何备选或者附加内容的配置信息。本公开的实施例通过提供针对备份服务的灵活配置,实现备份服务代理与应用实例的动态映射,从而使得备份服务能够适应于应用的各种动态变化(例如,应用的实例增加、减少或者跨节点移动等)并且能够容易地被扩展以支持大量的应用实例。
继续参考图2,在步骤230中,响应于备份服务被启用,通过数据备份系统110根据配置信息将与备份服务相对应的备份服务代理1211部署到与应用120相关联的源节点,例如图1所示的节点121)。在某些实施例中,该部署动作可由数据备份系统110中的服务存储库111完成。以此方式,应用120的数据经由备份服务代理1211从源节点121被备份到目标节点130中。
如上文所述,备份服务代理与备份服务一一对应,并且可以被封装为轻量级的可执行容器,例如Docker容器。经封装的备份服务代理可以包括可执行的镜像以及关于该镜像的描述文件。可执行的Docker镜像例如可以通过“docker run(运行)”命令来运行。描述文件的格式例如可以是基于JavaScript语言的轻量级的数据交换格式(JSON)或者yml格式(利用另一种标记语言(YAML)编写的文件格式)。该描述文件可以提供以下信息:服务名称、能力描述(诸如数据去重、压缩、是否导出共享存储、是否能够缓存等)、运行模式(诸如推送模式、拉取模式、共享存储模式以及有关的端口等)、资源需求(诸如所期望的CPU、存储器、网络、磁盘IO等)、健康状态检查方法(诸如用于外部调度逻辑检查该备份服务代理是否正常运行的端口等)。当向服务存储库111注册备份服务时,与该备份服务对应的经封装的备份服务代理例如可以被存储在服务存储库111中,或者经封装的备份服务代理也可以被存储在其他位置,并且向服务存储库111提供有关该位置的信息。
管理模块112可以启用用于应用120的备份服务。作为响应,服务存储库111可以根据配置信息将备份服务代理1211部署到与应用120相关联的源节点。如上文所述,配置信息可以包括涉及候选源节点的第一配置信息。因此,服务存储库111可以根据所述第一配置信息从候选源节点中确定备份服务代理1211要被部署的源节点,并且将备份服务代理1211部署到确定的该源节点。在一些实施例中,备份服务代理1211可以被部署到由包括应用120在内的多个应用所共享的节点中。在另一些实施例中,备份服务代理1211可以被部署到应用120的至少一个实例所在的节点中。
例如,图4A-4B示出了根据本公开的实施例的备份服务代理的各种部署类型的示意图。图4A中所示的部署类型为共享类型。在此实施例中,备份服务代理413被部署到多个应用(例如,图4所示的应用4111、4112……411n)所共享的节点412n+1中。该共享节点412n+1可以是与多个应用所在的节点(例如,图4所示的节点4121、4122……412n)物理上分离的节点。例如,被部署在该共享节点412n+1上的备份服务代理413可以通过传输控制协议/互联网协议(TCP/IP)或者共享存储的方式与多个应用4111、4112……412n通信。
图4B中所示的部署类型为专用类型。在此实施例中,备份服务代理423被部署到应用421的至少一个实例所在的节点中。例如,如图4B所示,应用421具有两个实例4211和4212,实例4211被部署在节点4221上,并且实例4212被部署在节点4222上。特别地,在此示例中,节点4221为主节点(即,可读写的节点)并且节点4222为副本节点(即,只读节点),其中备份服务代理423被部署到应用421的副本节点4222中。
应当理解,图4A和图4B中所示的部署类型仅仅是出于说明和示例之目的,而不是暗示对于本公开的范围的任何限制。例如,在某些实施例中,应用的多个实例也可以分别被部署在并列的多个可读写节点上,并且用于该应用的备份服务代理可以被部署到该多个可读写节点中的每个节点上。仅仅出于简化描述的目的,这样的部署类型未在图4A和图4B中示出。
图5示出了根据本公开的实施例的用于数据备份的装置500的框图。例如,数据备份系统110可以由装置500实现。如图5所示,装置500可以包括服务选择模块510,被配置为从服务存储库选择用于应用的备份服务。装置500还可以包括配置信息设置模块520,被配置为针对应用,设置与选择的备份服务相关联的配置信息。此外,装置500还可以包括代理部署模块530,被配置为响应于备份服务被启用,根据配置信息将与备份服务相对应的备份服务代理部署到与应用相关联的源节点,以使得应用的数据经由备份服务代理从源节点被备份到目标节点中。
出于清楚的目的,在图5中没有示出装置500的某些可选模块。然而,应当理解,上文参考图1-4所描述的各个特征同样适用于装置500。而且,装置500的各个模块可以是硬件模块,也可以是软件模块。例如,在某些实施例中,装置500可以部分或者全部利用软件和/或固件来实现,例如被实现为包含在计算机可读介质上的计算机程序产品。备选地或附加地,装置500可以部分或者全部基于硬件来实现,例如被实现为集成电路(IC)、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA)等。本公开的范围在此方面不受限制。
图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200,可由处理单元601执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法200的一个或多个步骤。
通过以上描述可以看出,本公开的实施例通过将数据备份注册为服务,满足了云计算环境中对于数据备份的快速部署和灵活扩展的要求。本公开的实施例通过经由被封装为可执行容器的备份服务代理来将应用的数据从源节点备份到目标节点,实现了应用和目标节点之间的松耦合。本公开的实施例通过提供针对备份服务的灵活配置,实现备份服务代理与应用实例的动态映射,从而使得备份服务能够适应于应用的各种动态变化(例如,应用的实例增加、减少或者跨节点移动等)并且能够容易地被扩展以支持大量的应用实例。此外,根据本公开的实施例的数据备份方案还能够兼顾传统的性能和功能要求,诸如备份窗口要求(例如,RTO/RPO)和媒体控制操作要求(例如,支持去重、压缩或加密等功能)等。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (16)

1.一种用于数据备份的方法,包括:
从服务存储库选择用于应用的备份服务,其中所述选择包括:
从所述服务存储库获取备份服务列表,所述备份服务列表包括向所述服务存储库注册的至少一个备份服务;以及
从所述备份服务列表中选择用于所述应用的所述备份服务;
针对所述应用,设置与选择的所述备份服务相关联的配置信息,其中设置与选择的所述备份服务相关联的配置信息包括:设置关于所述应用与备份服务代理之间的数据传输模式的配置信息,所述数据传输模式包括以下至少一种:
所述应用向所述备份服务代理推送数据的推送模式,
所述备份服务代理从所述应用拉取所述数据的拉取模式,以及
所述应用和所述备份服务代理通过共享存储来交换所述数据的共享存储模式;以及
响应于所述备份服务被启用,根据所述配置信息将与所述备份服务相对应的备份服务代理部署到与所述应用相关联的源节点,以使得所述应用的数据经由所述备份服务代理从所述源节点被备份到目标节点中。
2.根据权利要求1所述的方法,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及候选源节点的附加配置信息,所述候选源节点选自:由包括所述应用在内的多个应用所共享的节点,或者所述应用的至少一个实例所在的节点。
3.根据权利要求2所述的方法,其中根据所述配置信息将所述备份服务代理部署到所述源节点包括:
根据所述附加配置信息从所述候选源节点中确定所述源节点;以及
将所述备份服务代理部署到确定的所述源节点。
4.根据权利要求1所述的方法,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述目标节点的附加配置信息,所述附加配置信息包括以下至少一项:用于所述目标节点的账户信息,以及所述目标节点要执行的媒体控制操作。
5.根据权利要求1所述的方法,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述备份服务代理的附加配置信息,所述附加配置信息指示所述应用的所述数据在所述备份服务代理是否要被缓存。
6.根据权利要求1所述的方法,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述数据的备份调度的附加配置信息,所述附加配置信息指示以下至少一项:数据备份的执行频率,以及数据备份的执行时间。
7.根据权利要求1所述的方法,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及与所述应用相关的事件的处理策略的附加配置信息,所述事件包括以下至少一项:
所述应用的第一实例被启动;
所述应用的第二实例被关闭;
所述应用的第三实例被跨节点移动;以及
所述应用的第四实例运行失败。
8.根据权利要求1所述的方法,其中所述备份服务代理被封装为可执行的容器,并且所述容器包括Docker容器。
9.一种用于数据备份的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得装置:
从服务存储库选择用于应用的备份服务,其中所述选择包括:
从所述服务存储库获取备份服务列表,所述备份服务列表包括向所述服务存储库注册的至少一个备份服务;以及
从所述备份服务列表中选择用于所述应用的所述备份服务;
针对所述应用,设置与选择的所述备份服务相关联的配置信息,其中设置与选择的所述备份服务相关联的配置信息包括:设置关于所述应用与备份服务代理之间的数据传输模式的配置信息,所述数据传输模式包括以下至少一种:
所述应用向所述备份服务代理推送数据的推送模式,
所述备份服务代理从所述应用拉取所述数据的拉取模式,以及
所述应用和所述备份服务代理通过共享存储来交换所述数据的共享存储模式;以及
响应于所述备份服务被启用,根据所述配置信息将与所述备份服务相对应的备份服务代理部署到与所述应用相关联的源节点,以使得所述应用的数据经由所述备份服务代理从所述源节点被备份到目标节点中。
10.根据权利要求9所述的设备,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及候选源节点的附加配置信息,所述候选源节点选自:由包括所述应用在内的多个应用所共享的节点,或者所述应用的至少一个实例所在的节点。
11.根据权利要求10所述的设备,其中根据所述配置信息将所述备份服务代理部署到所述源节点包括:
根据所述附加配置信息从所述候选源节点中确定所述源节点;以及
将所述备份服务代理部署到确定的所述源节点。
12.根据权利要求9所述的设备,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述目标节点的附加配置信息,所述附加配置信息包括以下至少一项:用于所述目标节点的账户信息,以及所述目标节点要执行的媒体控制操作。
13.根据权利要求9所述的设备,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述备份服务代理的附加配置信息,所述附加配置信息指示所述应用的所述数据在所述备份服务代理是否要被缓存。
14.根据权利要求9所述的设备,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及所述数据的备份调度的第附加配置信息,所述附加配置信息指示以下至少一项:数据备份的执行频率,以及数据备份的执行时间。
15.根据权利要求9所述的设备,其中设置与选择的所述备份服务相关联的配置信息还包括:
设置涉及与所述应用相关的事件的处理策略的附加配置信息,所述事件包括以下至少一项:
所述应用的第一实例被启动;
所述应用的第二实例被关闭;
所述应用的第三实例被跨节点移动;以及
所述应用的第四实例运行失败。
16.根据权利要求9所述的设备,其中所述备份服务代理被封装为可执行的容器,并且所述容器包括Docker容器。
CN201610421617.XA 2016-06-14 2016-06-14 用于数据备份的方法和设备 Active CN107506258B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610421617.XA CN107506258B (zh) 2016-06-14 2016-06-14 用于数据备份的方法和设备
US15/622,387 US11243845B2 (en) 2016-06-14 2017-06-14 Method and device for data backup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610421617.XA CN107506258B (zh) 2016-06-14 2016-06-14 用于数据备份的方法和设备

Publications (2)

Publication Number Publication Date
CN107506258A CN107506258A (zh) 2017-12-22
CN107506258B true CN107506258B (zh) 2021-11-12

Family

ID=60572627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610421617.XA Active CN107506258B (zh) 2016-06-14 2016-06-14 用于数据备份的方法和设备

Country Status (2)

Country Link
US (1) US11243845B2 (zh)
CN (1) CN107506258B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343356B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for storage modeling and costing
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US10379988B2 (en) * 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US10956299B2 (en) 2015-02-27 2021-03-23 Commvault Systems, Inc. Diagnosing errors in data storage and archiving in a cloud or networking environment
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US11032350B2 (en) 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
CN108446187B (zh) * 2018-03-07 2021-02-09 上海达梦数据库有限公司 数据备份方法及数据还原方法
CN108959046B (zh) * 2018-06-08 2020-10-30 联想(北京)有限公司 一种信息处理方法、设备及装置
CN110858123B (zh) * 2018-08-23 2021-06-01 华为技术有限公司 一种计算备份文件大小的方法及装置
CN111045854B (zh) * 2018-10-12 2023-09-01 伊姆西Ip控股有限责任公司 用于管理服务容器的方法、设备和计算机可读介质
US10936451B2 (en) * 2018-10-24 2021-03-02 EMC IP Holding Company LLC Concurrent remote IO processing for synchronous replication
CN109542690A (zh) * 2018-11-30 2019-03-29 安徽继远软件有限公司 一种备份数据库数据的方法和装置
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US10831399B2 (en) * 2019-01-28 2020-11-10 EMC IP Holding Company LLC Method and system for enabling agentless backup and restore operations on a container orchestration platform
CN112307114A (zh) * 2019-07-31 2021-02-02 北京中关村科金技术有限公司 一种数据交换方法、装置以及存储介质
CN110727547A (zh) * 2019-09-11 2020-01-24 上海爱数信息技术股份有限公司 一种保护Docker应用容器的系统及方法
CN112688974A (zh) * 2019-10-17 2021-04-20 伊姆西Ip控股有限责任公司 用于管理备份系统的方法、装置和计算机程序产品
CN112685225A (zh) * 2019-10-18 2021-04-20 伊姆西Ip控股有限责任公司 用于传输数据的方法、设备和计算机程序产品
CN112988882B (zh) * 2019-12-12 2024-01-23 阿里巴巴集团控股有限公司 数据的异地灾备系统、方法及装置、计算设备
CN113709197B (zh) * 2020-05-21 2024-02-23 顺丰科技有限公司 联盟区块链组织系统、区块链系统
US11256574B1 (en) * 2020-09-18 2022-02-22 EMC IP Holding Company LLC Method and system for backing up cloud native and non-cloud native applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090330A (zh) * 2006-06-13 2007-12-19 上海威腾信息科技有限公司 一种网络数据备份管理装置及其相关处理方法
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN104765651A (zh) * 2014-01-06 2015-07-08 中国移动通信集团福建有限公司 一种数据处理方法和装置
US9275060B1 (en) * 2012-01-27 2016-03-01 Symantec Corporation Method and system for using high availability attributes to define data protection plans

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234469B2 (en) * 2009-07-09 2012-07-31 Microsoft Corporation Backup of virtual machines using cloned virtual machines
CN101996108B (zh) * 2009-08-18 2013-05-08 中兴通讯股份有限公司 一种分布式环境的备份和恢复方法及其系统
CN102158540A (zh) * 2011-02-18 2011-08-17 广州从兴电子开发有限公司 分布式数据库实现系统及方法
US10379988B2 (en) * 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9703584B2 (en) * 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US9128627B1 (en) * 2013-05-03 2015-09-08 Emc Corporation Method and system for virtual machine backup
US9760681B2 (en) * 2014-11-24 2017-09-12 Practice Fusion, Inc. Offline electronic health record management
US10445186B1 (en) * 2015-06-30 2019-10-15 EMC IP Holding Company LLC Associating a guest application within a virtual machine to create dependencies in backup/restore policy
US10430293B1 (en) * 2015-12-30 2019-10-01 EMC IP Holding Company LLC Backup client agent
US10152246B1 (en) * 2016-03-28 2018-12-11 EMC IP Holding Company LLC Application aware AMQP durable messages backup and restore

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101090330A (zh) * 2006-06-13 2007-12-19 上海威腾信息科技有限公司 一种网络数据备份管理装置及其相关处理方法
US9275060B1 (en) * 2012-01-27 2016-03-01 Symantec Corporation Method and system for using high availability attributes to define data protection plans
CN104216793A (zh) * 2013-05-31 2014-12-17 国际商业机器公司 应用程序备份、恢复的方法及设备
CN104765651A (zh) * 2014-01-06 2015-07-08 中国移动通信集团福建有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
CN107506258A (zh) 2017-12-22
US11243845B2 (en) 2022-02-08
US20170357553A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
CN107506258B (zh) 用于数据备份的方法和设备
US10700979B2 (en) Load balancing for a virtual networking system
US10831574B2 (en) Remote procedure call method for network device and network device
CN109791471B (zh) 虚拟化外围装置处的非易失性存储装置
US11055082B2 (en) Unified update tool for multi-protocol network adapter
US9628290B2 (en) Traffic migration acceleration for overlay virtual environments
US8615588B2 (en) Accelerate copying of virtual machine images
CN110058959B (zh) 数据备份方法、设备和计算机程序产品
US20190251053A1 (en) Selectable peripheral logic in programmable apparatus
WO2017183565A1 (ja) ネットワークシステム、パッチファイル適用方法、及び記録媒体
CN111201521B (zh) 具有应用控制的早期写确认支持的存储器访问代理系统
US11909845B2 (en) Methods and systems for managing applications of a multi-access edge computing environment
CN110609656B (zh) 存储管理方法、电子设备和计算机程序产品
US20170257263A1 (en) Method and appartus to allow dynamic changes of a replica network configuration in distrubted systems
US20190129743A1 (en) Method and apparatus for managing virtual machine
US11334446B2 (en) Backup system for an overlay network
US9442746B2 (en) Common system services for managing configuration and other runtime settings of applications
CN113377487A (zh) 管理虚拟机升级的方法、设备和计算机程序产品
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
US10909044B2 (en) Access control device, access control method, and recording medium containing access control program
CN115220640A (zh) 用于处理数据的方法、电子设备和计算机程序产品
US20180150336A1 (en) Management system and control method
TWI813284B (zh) 用於使用緩衝概要群組之向量處理之電腦程式產品、電腦系統及電腦實施方法
TWI813283B (zh) 用於使用緩衝概要群組之系統間處理之電腦程式產品、電腦系統及電腦實施方法
US11029850B2 (en) System of controlling data rebalance and its method

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
TA01 Transfer of patent application right

Effective date of registration: 20200413

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant