一种数据备份方法及装置与流程

文档序号:12123413阅读:340来源:国知局
一种数据备份方法及装置与流程

本申请涉及通讯技术领域,尤其涉及一种数据备份方法及装置。



背景技术:

在一对多备份场景下,备份组中的设备相互备份需要备份的数据。每当备份组中任一节点设备生成需要备份的数据时,分别向备份组中其他所有节点设备都发送一份需要备份的数据。

然而,生成需要备份的数据的节点设备(即备份源)需要生成多份该数据,以使得备份组中除自身之外的所有节点设备都能接收到该数据。当备份组中节点设备的数量较大时,备份源需要生成大量需要备份的数据,导致占用了备份源大量的处理资源,进而降低了备份源的设备性能。



技术实现要素:

有鉴于此,本申请提供一种数据备份方法及装置,可以解决备份组中相互备份需要备份的数据时,由于备份源复制大量该数据导致占用该备份源大量处理资源的问题,从而提升备份源的设备性能。

为实现上述目的,本申请提供技术方案如下:

根据本申请的第一方面,提出了一种数据备份方法,应用于节点设备,所述节点设备属于预设组播组,所述组播组包含若干互为备份设备的节点设备;所述方法包括:

当生成待备份数据时,确定所述组播组中是否存在处于上线状态的其他节点设备;

若所述组播组中存在所述其他节点设备,则通过所述组播组的预配置组播地址,将所述待备份数据发送至所述其他节点设备,以使得所述其他节点设备同步所述待备份数据;否则,省略对所述待备份数据的发送操作。

根据本申请的第二方面,提出了一种数据备份装置,应用于节点设备,所述节点设备属于预设组播组,所述组播组包含若干互为备份设备的节点设备;所述装置包括:

确定单元,当生成待备份数据时,确定所述组播组中是否存在处于上线状态的其他节点设备;

第一发送单元,若所述组播组中存在所述其他节点设备,则通过所述组播组的预配置组播地址,将所述待备份数据发送至所述其他节点设备,以使得所述其他节点设备同步所述待备份数据;否则,省略对所述待备份数据的发送操作。

由以上技术方案可见,在本申请的技术方案中,当组播组中的节点设备生成待备份数据时,该节点设备只需向组播组的预配置组播地址发送一份待备份数据,而无需生成多份待备份数据,从而减少了对该节点设备处理资源的占用;同时,当组播组中不存在处于上线状态的其他节点设备时,该节点设备无需发送待备份数据,从而减少了对该节点设备处理资源一些不必要的开销。

附图说明

图1是本申请一示例性实施例提供的一种数据备份方法的流程图。

图2是本申请一示例性实施例提供的组播组内各个节点设备之间协商状态的过程的流程图。

图3是本申请一示例性实施例提供的组播组内各个节点设备之间相互备份数据的示意图。

图4是本申请一示例性实施例提供的一种电子设备的结构示意图。

图5是本申请一示例性实施例提供的一种数据备份装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在相关技术中,在一对多备份场景下,备份组中的设备相互备份需要备份的数据。每当备份组中任一节点设备生成需要备份的数据时,分别向备份组中其他所有节点设备都发送一份需要备份的数据。

举例而言,假定备份组中包含节点设备a、节点设备b、节点设备c、节点设备d,4台节点设备相互备份各自生成的待备份数据。例如,当节点设备a生成待备份数据时(即节点设备a此时作为备份源),需要生成3份相同的待备份数据,分别向节点设备b、节点设备c、节点设备d发送该待备份数据,以使得节点设备b、节点设备c、节点设备d同步该待备份数据。

可见,在相关技术中,备份源需要生成多份待备份数据,以使得备份组中除自身之外的所有节点设备都能接收到待备份数据。当备份组中节点设备的数量较大时,备份源需要生成大量待备份数据,导致占用了备份源大量的处理资源,进而降低了备份源的设备性能。

图1是本申请一示例性实施例示出的一种数据备份方法的流程图,如图1所示,该方法应用于节点设备,所述节点设备属于预设组播组,所述组播组包含若干互为备份设备的节点设备;所述方法可以包括以下步骤:

步骤101,当生成待备份数据时,确定所述组播组中是否存在处于上线状态的其他节点设备。

在本实施例中,通过以下方式确定所述组播组中是否存在处于在线状态的其他节点设备:读取自身维护的在线设备列表,所述在线设备列表用于记录所述组播组中处于上线状态的节点设备的标识;当所述在线设备列表中存在所述其他节点设备的标识时,确定所述组播组中存在所述其他节点设备。

步骤102,若所述组播组中存在所述其他节点设备,则通过所述组播组的预配置组播地址,将所述待备份数据发送至所述其他节点设备,以使得所述其他节点设备同步所述待备份数据;否则,省略对所述待备份数据的发送操作。

在本实施例中,当备份功能开启时,向所述预配置组播地址发送上线报文;其中,所述上线报文指示接收方节点设备将发送方节点设备的标识记录到自身维护的在线设备列表中。

当备份功能关闭时,向所述预配置组播地址发送下线报文;其中,所述下线报文指示接收方节点设备将发送方节点设备的标识从自身维护的在线设备列表中删除。

在本实施例中,当所述节点设备处于上线状态时,按照预设周期向所述预配置组播地址发送保活报文;其中,所述保活报文用于向接收方节点设备表明:所述保活报文的发送方节点设备处于上线状态。

由以上技术方案可见,在本申请的技术方案中,当组播组中的节点设备生成待备份数据时,该节点设备只需向组播组的预配置组播地址发送一份待备份数据,而无需生成多份待备份数据,从而减少了对该节点设备处理资源的占用;同时,当组播组中不存在处于上线状态的其他节点设备时,该节点设备无需发送待备份数据,从而减少了对该节点设备处理资源一些不必要的开销。

为了便于理解,下面针对本申请技术方案的整个备份过程,对各个过程进行详细描述:

1、选择组播地址

在本实施例中,各个节点设备可以采用任意组播组地址。举例而言,由于多种知名协议都使用组播地址,所以本申请可以选择预留组播地址,例如,可以是224.0.0.199。

2、组播组内各个节点设备之间协商状态

下面结合图2对各个节点设备之间协商状态的过程进行详细说明。请参见图2,协商过程可以包括以下步骤:

步骤201,节点设备接收状态报文。

步骤202A,节点设备将发送方节点设备的标识记录到自身维护的在线设备列表中。

步骤202B,节点设备将发送方节点设备的标识从自身维护的在线设备列表中删除。

在本实施例中,组播组内各个节点设备分别通过向组播组的预配置组播地址发送状态报文(包括上线报文和下线报文),向组播组内除自身以外的其他节点设备通告本设备的状态(包括上线状态和下线状态)。其中,组播组内各个节点设备都维护了自身的在线设备列表,该在线设备列表用于记录组播组中处于上线状态的节点设备的标识(若本地设备处于上线状态,该本地设备的在线设备列表中也会包含自身的标识)。

状态报文中包含发送该状态报文的节点设备的标识、组播组的标识、报文类型(上线报文或下线报文)等信息。当组播组内某一节点设备开启备份功能时,向预配置组播地址发送上线报文(组播组内除发送方节点设备外,其他所有节点设备都能接收到该上线报文),该上线报文指示接收方节点设备将发送方节点设备的标识记录到自身维护的在线设备列表中。举例而言,假定组播组内包含节点设备a、节点设备b、节点设备c、节点设备d。其中,节点设备a未开启备份功能,节点设备b、节点设备c、节点设备d处于上线状态,则节点设备b、节点设备c、节点设备d三者自身维护的在线设备列表中都包含节点设备b、节点设备c、节点设备d的标识。当节点设备a开启备份功能时,向预配置组播地址发送上线报文(包含节点设备a的标识),那么,当节点设备b、节点设备c、节点设备d接收到该上线报文时,提取该上线报文中包含的节点设备a的标识,并将节点设备a的标识记录到各自维护的在线设备列表中。至此,节点设备b、节点设备c、节点设备d三者维护的在线设备列表中,都包含节点设备a、节点设备b、节点设备c、节点设备d的标识。

当组播组内某一节点设备关闭备份功能时,向预配置组播地址发送下线报文(组播组内除发送方节点设备外,其他所有节点设备都能接收到该下线报文),该下线报文指示接收方节点设备将发送方节点设备的标识从自身维护的在线设备列表中删除。举例而言,假定组播组内包含节点设备a、节点设备b、节点设备c、节点设备d。其中,节点设备a、节点设备b、节点设备c、节点设备d都处于上线状态,则节点设备a、节点设备b、节点设备c、节点设备d中,各自维护的在线设备列表中都包含节点设备a、节点设备b、节点设备c、节点设备d的标识。当节点设备a关闭备份功能时,向预配置组播地址发送下线报文(包含节点设备a的标识),那么,当节点设备b、节点设备c、节点设备d接收到该下线报文时,提取该下线报文中包含的节点设备a的标识,并将节点设备a的标识从各自维护的在线设备列表中删除。至此,节点设备b、节点设备c、节点设备d三者各自维护的在线设备列表中,包含节点设备b、节点设备c、节点设备d的标识。

步骤203,节点设备自身维护的在线设备列表中包含的标识数量是否大于1,若大于1,则转入步骤204A,否则,转入步骤204B。

步骤204A,确定组播组为活跃状态。

步骤204B,确定组播组为不活跃状态。

在本实施中,若节点设备自身维护的在线设备列表中包含的标识数量大于1,则说明除自身外,组播组内还存在其他节点设备处于上线状态,即确定组播组为活跃状态,当该节点设备生成待备份数据时,由于组播组为活跃状态,所以需要向组播组内其他处于上线状态的节点设备同步该待备份数据。若节点设备自身维护的在线设备列表中包含的标识数量不大于1,则说明除自身外,组播组内不存在其他节点设备处于上线状态,即确定组播组为不活跃状态,即使当该节点设备生成待备份数据时,也无需对该待备份数据进行备份,从而减少了对该节点设备处理资源一些不必要的开销。

在本实施例中,在组播组内各个节点设备之间协商状态完成后,各个处于上线状态的节点设备按照预设周期,向预配置组播地址发送保活报文;其中,保活报文指示接收方节点设备,发送方节点设备处于上线状态。组播组内各个处于上线状态的节点设备也定期检测是否接收到除自身以外的其他节点设备(即在自身维护的在线设备列表中,记录的除自身以外的节点设备)发送的保活报文,当检测到未在预设时间段内接收到某一节点设备发送的保活报文时(可能由于该某一节点设备的端口发生故障,或该某一节点设备宕机),将该某一节点设备的标识从自身维护的在线设备列表中删除。而当组播组内处于上线状态的节点设备接收到来自某一节点设备的保活报文时,若该处于上线状态的节点设备维护的在线设备列表中,没有记录该某一节点设备的标识,则将该某一节点设备的标识记录到自身维护的在线设备列表中。

举例而言,一种情况下,假定组播组内包含节点设备a、节点设备b、节点设备c。其中,节点设备a、节点设备b、节点设备c都处于上线状态,则待上述节点设备之间协商状态完成后,节点设备a、节点设备b、节点设备c维护的在线设备列表中,包含节点设备a、节点设备b、节点设备c的标识。然后,节点设备a、节点设备b、节点设备c按照预设周期(例如可以是1秒),向预配置组播地址发送保活报文。同时,节点设备a、节点设备b、节点设备c各自定期(例如可以是5秒)检测是否接收到除自身以外的其他节点设备发送的保活报文。例如,当节点设备a的端口发生故障时,无法发送保活报文,而节点设备b和节点设备c正常发送保活报文,则节点设备b和节点设备c检测到未在5秒内接收到节点设备a发送的保活报文,从而将节点设备a的标识从自身维护的在线设备列表中删除,即节点设备b和节点设备c维护的在线设备列表中仅包含节点设备b和节点设备c的标识。若后续节点设备a的端口恢复正常,则继续向预配置组播地址发送保活报文。当节点设备b和节点设备c接收到节点设备a发送的保活报文时,由于此时节点设备b和节点设备c维护的在线设备列表中都不包含节点设备a的标识,所以,将节点设备a的标识记录到各自维护的在线设备列表中。至此。节点设备b、节点设备c维护的在线设备列表中,都包含节点设备a、节点设备b、节点设备c的标识。

另一种情况下,假定组播组内包含节点设备a、节点设备b、节点设备c。其中,节点设备b和节点设备c开启备份功能,都处于上线状态,而节点设备a未开启备份功能,处于下线状态。当组播组内各个节点设备之间协商状态完成后,节点设备b、节点设备c各自维护的在线设备列表中,都包含节点设备b、节点设备c的标识。例如此时节点设备a开启备份功能,即处于上线状态,则向预配置组播地址发送上线报文,节点设备b和节点设备c接收到该上线报文后,将节点设备a的标识记录到自身维护的在线设备列表中。而节点设备a此时维护的在线设备列表中,仅仅包含自身的标识,当后续接收到节点设备b和节点设备c的保活报文时,将节点设备b和节点设备c的标识记录到自身维护的在线设备列表中,至此,节点设备a维护的在线设备列表中,包含节点设备a、节点设备b、节点设备c的标识。

3、备份数据

当确定组播组为活跃状态时,若组播组内某一处于上线状态的节点设备生成了待备份数据,则向预配置组播地址发送数据备份报文,该数据备份报文中包含发送该数据备份报文的节点设备的标识,备份组标识,以及待备份数据。而当确定组播组为不活跃状态时,即使当某一节点设备生成待备份数据时,也无需对该待备份数据进行备份,从而减少了对该节点设备处理资源一些不必要的开销。

举例而言,如图3所示,假定组播组内存在节点设备a、节点设备b、节点设备c、节点设备d处于上线状态。例如,当节点设备a生成待备份数据时,通过组播组的预配置组播地址,将该待备份数据发送至其他节点设备(节点设备b、节点设备c、节点设备d),以使得其他节点设备同步该待备份数据。同理,当节点设备b、节点设备c、节点设备d三者中任一节点设备生成待备份数据时,也采用上述方式使得除自身以外的其他节点设备同步待备份数据,本申请对此不再赘述。

由以上技术方案可见,在本申请的技术方案中,当组播组中的节点设备生成待备份数据时,该节点设备只需向组播组的预配置组播地址发送一份待备份数据,而无需生成多份待备份数据,从而减少了对该节点设备处理资源的占用,进一步提升了该节点设备的性能。

图4示出了根据本申请的一示例性实施例的电子设备的示意结构图。请参考图4,在硬件层面,该电子设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存402中然后运行,在逻辑层面上形成数据备份装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图5,在软件实施方式中,该数据备份装置可以包括确定单元501和第一发送单元502。其中:

确定单元501,当生成待备份数据时,确定所述组播组中是否存在处于上线状态的其他节点设备;

第一发送单元502,若所述组播组中存在所述其他节点设备,则通过所述组播组的预配置组播地址,将所述待备份数据发送至所述其他节点设备,以使得所述其他节点设备同步所述待备份数据;否则,省略对所述待备份数据的发送操作。

可选的,所述确定单元501具体用于:

读取自身维护的在线设备列表,所述在线设备列表用于记录所述组播组中处于上线状态的节点设备的标识;

当所述在线设备列表中存在所述其他节点设备的标识时,确定所述组播组中存在所述其他节点设备。

可选的,还包括:

第二发送单元503,当备份功能开启时,向所述预配置组播地址发送上线报文;其中,所述上线报文指示接收方节点设备将发送方节点设备的标识记录到自身维护的在线设备列表中。

可选的,还包括:

第三发送单元504,当备份功能关闭时,向所述预配置组播地址发送下线报文;其中,所述下线报文指示接收方节点设备将发送方节点设备的标识从自身维护的在线设备列表中删除。

可选的,还包括:

第四发送单元505,当处于上线状态时,按照预设周期向所述预配置组播地址发送保活报文;其中,所述保活报文用于向接收方节点设备表明:所述保活报文的发送方节点设备处于上线状态。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1