一种数据备份方法及装置制造方法及图纸

技术编号:20362813 阅读:20 留言:0更新日期:2019-02-16 16:30
本申请实施例公开了一种数据备份方法及装置,应用于集群管理控制器,集群管理控制器为控制器集群中任意一台未发生故障的控制器,控制器集群包括至少三台控制器;该方法包括:当控制器集群中的第一控制器发生故障时,遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签;在遍历到状态标记为第一标签的第一目标数据后,将第一目标数据镜像至第三控制器的缓存区域,并将目标区域中第一目标数据的状态标记删除或者修改为第二标签,可以在保证数据可靠性的基础上,使得控制器集群中正常工作的服务器仍然可以在缓存接收到的数据后及时应答请求,保证了系统的处理性能。

【技术实现步骤摘要】
一种数据备份方法及装置
本申请涉及数据处理
,尤其涉及一种数据备份方法及装置。
技术介绍
在具有多台控制器的集群中,每台控制器均可支持数据缓存功能。集群中的控制器将接收到的数据缓存到内存后即可应答请求,提高重复或顺序读写性能,提高系统性能。为了提高数据的可靠性,集群中控制器接收到的数据及相关元数据,在集群的至少2台控制器上缓存有副本。集群中存储有相同的数据副本的至少两台控制器可称为镜像对。现有技术中,当镜像对中的一台控制器故障时,镜像对中的另一台控制器不再重新将数据副本备份到集群中的其他控制器上。因此,为了保证数据安全,常规做法是控制器的缓存模式由写回方式改为写透方式,即控制器将接收到的数据写入到后端磁盘介质上再应答请求,会导致数据处理的性能下降严重。
技术实现思路
有鉴于此,本申请实施例提供了一种数据备份方法及装置,能够在保证数据可靠性的基础上,解决现有技术中集群中控制器故障会导致其数据处理能力严重下降的问题。本申请实施例提供的一种数据备份方法,应用于集群管理控制器,所述集群管理控制器为控制器集群中任意一台未发生故障的控制器,所述控制器集群包括至少三台控制器;所述方法包括:当所述控制器集群中的第一控制器发生故障时,遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签;所述目标区域包括第二控制器中任意一个或多个缓存区域,所述第一控制器和所述第二控制器为镜像对,所述第一标签用于标记所述目标区域内未写入第三控制器的数据,所述第三控制器为所述控制器集群中正常工作的控制器,且所述第三控制器和所述第一控制器不属于同一镜像对;在遍历到状态标记为第一标签的第一目标数据后,将所述第一目标数据镜像至第三控制器的缓存区域,并将所述目标区域中第一目标数据的状态标记删除或者修改为第二标签;所述第二标签用于标记所述目标区域内已写入所述第三控制器的数据。可选的,所述遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签,之前还包括:遍历所述目标区域中存储的数据,判断数据的状态标记是否为第三标签;所述第三标签用于标记缓存区域中未写入存储介质的数据;在遍历到状态标记为第三标签的第二目标数据后,将所述第二目标数据的数据标签修改为所述第一标签;所述将所述第一目标数据镜像至第三控制器的缓存区域,之后还包括:将所述第三控制器中所述第一目标数据的状态标记修改为所述第三标签。可选的,所述方法还包括:接收数据写入命令;所述数据写入命令携带有待写入数据;判断所述目标区域内是否存在与所述待写入数据对应的第一目标数据;若是,则将所述待写入数据和与其对应的第一目标数据合并后,更新与所述待写入数据对应的第一目标数据,以便将更新后的第一目标数据镜像至所述第三控制器的缓存区域。可选的,所述第三控制器通过以下步骤确定:查找与所述第二控制器对应的配置列表,将所述配置列表中任意一个正常工作的控制器确定为所述第三控制器;或者,查找与所述第二控制器对应的配置列表,将所述配置列表中正常工作且负载最小的控制器确定为所述第三控制器;或者,将所述控制器集群中负载最小且正常工作的控制器确定为所述第三控制器。可选的,所述方法还包括:当所述第一控制器发生故障时,在所述控制器集群中广播数据迁移信息;所述数据迁移信息包括所述第一控制器、所述目标区域和所述第三控制器的标识;当所述目标区域内的第一目标数据均已镜像至所述第三控制器时,在所述控制器集群中广播迁移完成通知。本申请实施例提供的一种数据备份装置,应用于集群管理控制器,所述集群管理控制器为控制器集群中任意一台未发生故障的控制器,所述控制器集群包括至少三台控制器;所述装置包括:第一判断模块、数据镜像模块和状态修改模块;所述第一判断模块,用于当所述控制器集群中的第一控制器发生故障时,遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签;所述目标区域包括第二控制器中任意一个或多个缓存区域,所述第一控制器和所述第二控制器为镜像对,所述第一标签用于标记所述目标区域内未写入第三控制器的数据,所述第三控制器为所述控制器集群中正常工作的控制器,且所述第三控制器和所述第一控制器不属于同一镜像对;所述数据镜像模块,用于在所述第一判断模块遍历到状态标记为第一标签的第一目标数据后,将所述第一目标数据镜像至所述第三控制器的缓存区域;所述状态修改模块,用于在所述数据镜像模块将所述第一目标数据镜像至第三控制器的缓存区域后,将所述目标区域中第一目标数据的状态标记删除或者修改为第二标签;所述第二标签用于标记所述目标区域内已写入所述第三控制器的数据。可选的,所述装置还包括:第二判断模块;所述第二判断模块,用于遍历所述目标区域中存储的数据,判断数据的状态标记是否为第三标签;所述状态修改模块,还用于在所述第二判断模块遍历到状态标记为第三标签的第二目标数据后,将所述第二目标数据的数据标签修改为所述第一标签;所述第三标签用于标记缓存区域中未写入存储介质的数据;还用于将所述第三控制器中的所述第一目标数据的状态标记修改为所述第三标签。可选的,所述装置还包括:命令接收模块、第三判断模块和数据合并模块;所述命令接收模块,用于接收数据写入命令;所述数据写入命令携带有待写入数据;所述第三判断模块,用于判断所述目标区域内是否存在与所述待写入数据对应的第一目标数据;所述数据合并模块,用于在所述第三判断模块的判断结果为是时,将所述待写入数据和与其对应的第一目标数据合并后,更新与所述待写入数据对应的第一目标数据,以便将更新后的第一目标数据镜像至第三控制器的缓存区域。可选的,所述装置还包括:第一确定模块、第二确定模块和第三确定模块中的任意一个;所述第一确定模块,用于查找与所述第二控制器对应的配置列表,将所述配置列表中任意一个正常工作的控制器确定为所述第三控制器;所述第二确定模块,用于查找与所述第二控制器对应的配置列表,将所述配置列表中正常工作且负载最小的控制器确定为所述第三控制器;所述第三确定模块,用于将所述控制器集群中负载最小且正常工作的控制器确定为所述第三控制器。可选的,所述装置还包括:消息广播模块;所述消息广播模块,用于当所述第一控制器发生故障时,在所述控制器集群中广播数据迁移信息;还用于当所述目标区域内的第一目标数据均已镜像至所述第三控制器时,在所述控制器集群中广播迁移完成通知;所述数据迁移信息包括所述第一控制器、所述目标区域和所述第三控制器的标识。与现有技术相比,本申请至少具有以下优点:在本申请实施例中,在控制器集群中的第一控制器发生故障时,集群管理控制器遍历与第一控制器为镜像对的第二控制器中目标区域内存储的数据,判断其中存储数据的状态标记是否为第一标签。在遍历到状态标记为第一标签的第一目标数据后,集群管理控制器将第一目标数据镜像至控制器集群中正常工作的第三控制器的缓存区域中,并将目标区域中的第一目标数据的状态标记删除或修改为第二标签,以表示该第一目标数据已完成迁移,在保证数据可靠性的基础上,使得控制器集群中正常工作的服务器仍然可以在缓存接收到的数据后及时应答请求,保证了系统的处理性能。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施本文档来自技高网...

【技术保护点】
1.一种数据备份方法,其特征在于,应用于集群管理控制器,所述集群管理控制器为控制器集群中任意一台未发生故障的控制器,所述控制器集群包括至少三台控制器;所述方法包括:当所述控制器集群中的第一控制器发生故障时,遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签;所述目标区域包括第二控制器中任意一个或多个缓存区域,所述第一控制器和所述第二控制器为镜像对,所述第一标签用于标记所述目标区域内未写入第三控制器的数据,所述第三控制器为所述控制器集群中正常工作的控制器,且所述第三控制器和所述第一控制器不属于同一镜像对;在遍历到状态标记为第一标签的第一目标数据后,将所述第一目标数据镜像至第三控制器的缓存区域,并将所述目标区域中第一目标数据的状态标记删除或者修改为第二标签;所述第二标签用于标记所述目标区域内已写入所述第三控制器的数据。

【技术特征摘要】
1.一种数据备份方法,其特征在于,应用于集群管理控制器,所述集群管理控制器为控制器集群中任意一台未发生故障的控制器,所述控制器集群包括至少三台控制器;所述方法包括:当所述控制器集群中的第一控制器发生故障时,遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签;所述目标区域包括第二控制器中任意一个或多个缓存区域,所述第一控制器和所述第二控制器为镜像对,所述第一标签用于标记所述目标区域内未写入第三控制器的数据,所述第三控制器为所述控制器集群中正常工作的控制器,且所述第三控制器和所述第一控制器不属于同一镜像对;在遍历到状态标记为第一标签的第一目标数据后,将所述第一目标数据镜像至第三控制器的缓存区域,并将所述目标区域中第一目标数据的状态标记删除或者修改为第二标签;所述第二标签用于标记所述目标区域内已写入所述第三控制器的数据。2.根据权利要求1所述的方法,其特征在于,所述遍历目标区域中存储的数据,判断数据的状态标记是否为第一标签,之前还包括:遍历所述目标区域中存储的数据,判断数据的状态标记是否为第三标签;所述第三标签用于标记缓存区域中未写入存储介质的数据;在遍历到状态标记为第三标签的第二目标数据后,将所述第二目标数据的数据标签修改为所述第一标签;所述将所述第一目标数据镜像至第三控制器的缓存区域,之后还包括:将所述第三控制器中所述第一目标数据的状态标记修改为所述第三标签。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收数据写入命令;所述数据写入命令携带有待写入数据;判断所述目标区域内是否存在与所述待写入数据对应的第一目标数据;若是,则将所述待写入数据和与其对应的第一目标数据合并后,更新与所述待写入数据对应的第一目标数据,以便将更新后的第一目标数据镜像至所述第三控制器的缓存区域。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述第三控制器通过以下步骤确定:查找与所述第二控制器对应的配置列表,将所述配置列表中任意一个正常工作的控制器确定为所述第三控制器;或者,查找与所述第二控制器对应的配置列表,将所述配置列表中正常工作且负载最小的控制器确定为所述第三控制器;或者,将所述控制器集群中负载最小且正常工作的控制器确定为所述第三控制器。5.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:当所述第一控制器发生故障时,在所述控制器集群中广播数据迁移信息;所述数据迁移信息包括所述第一控制器、所述目标区域和所述第三控制器的标识;当所述目标区域内的第一目标数据均已镜像至所述第三控制器时,在所述控制器集群中广播迁移完成通知。6.一种数据备份装置,其特征在于,应用于集群管理控制器,所述集群管理控制器为控制器集群中任意一台未发生故障的控制器,所述控制器集群包括至少三台控制器;所述装置包括:第一判断模块、数据镜像模块和状态修改模块;所述...

【专利技术属性】
技术研发人员:施培任杨善松李美欣
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1