数据处理的方法和系统技术方案

技术编号:20044822 阅读:43 留言:0更新日期:2019-01-09 04:08
本发明专利技术提供一种数据处理的方法,应用该方法的存储系统包括主节点、备节点和存储池。该方法包括:该备节点接收该主节点拷贝的元数据。主节点发生故障后,该备节点接收数据恢复指令,确定该主节点中的元数据未全部被拷贝至该备节点。该备节点从该存储池中获取第一元数据的第一元数据日志,该第一元数据未从该主节点同步至该备节点,根据该第一元数据日志恢复该第一元数据,将该第一元数据存储至该存储池。主节点发生故障时,不需要从存储池中恢复所有未存储的元数据,缩短了元数据恢复的时间,使得业务切换至备节点的过程更加平滑,减少了数据切换对用户读写的影响。

【技术实现步骤摘要】
数据处理的方法和系统
本申请涉及存储
,特别涉及一种数据处理的方法和系统。
技术介绍
存储系统包括前端存储灾备组和后端的存储池。为了实现灾备,每个存储灾备组中,除了主节点,还包括为主节点提供可靠性保障的至少一个备节点。主节点和备节点一般部署在不同的计算设备,甚至不同的机房中,当主节点发生故障时,需要进行存储灾备组的切换,将业务切换至该备节点上,存储系统通过该备节点执行数据读写等数据相关的操作。将待写入数据写入存储系统时,待写入数据会首先被存储至主节点,再由主节点存储至存储池。同时,待写入数据的写入还需要在存储池中记录待写入数据的元数据和元数据日志。元数据为存储系统中存储的数据的索引信息,每条元数据的产生或变化由该条元数据对应的元数据日志记录,根据元数据日志可以恢复出对应的元数据。在待写入数据的写入过程中,该待写入数据的元数据和对应的元数据日志在主节点中生成后,同样需有由主节点存储至存储池。由于元数据的存储比较复杂,在一次待写入数据的写入过程中,即主节点,将待写入数据及待写入数据的元数据对应的元数据日志存储至存储池。元数据的存储是批量进行的,也就是说,若干待写入数据写入存储系统后之后,才会批量地将所述若干待写入数据的元数据存储至存储系统。这就导致,当主节点发生故障时,主节点中的元数据可能尚未被存储至存储池。因此,当主节点发生故障,将存储系统的业务切换至备节点时,需要在备节点中恢复主节点尚未存储至存储池的元数据,再将尚未存储至存储池的元数据由备节点存储至存储池。具体地,备节点从存储池中读取若干条元数据日志,并根据若干条元数据日志中的每一条元数据日志依次恢复出尚未存储至存储池的元数据。这导致备节点无法快速完成元数据的恢复,因此导致向备节点切换业务的过程不够平滑,存储系统在切换过程中的不可用时间较长,极大影响了用户体验。
技术实现思路
本申请提供了一种数据处理方法,利用该方法备节点能够快速恢复未存储至存储池中的元数据,提升存储系统故障后的切换速度。一方面,本专利技术提供一种数据处理的方法,应用该方法的存储系统包括主节点、备节点和存储池。该方法包括:该备节点接收该主节点拷贝的元数据。主节点发生故障后,该备节点接收数据恢复指令,确定该主节点中的元数据未被拷贝至该备节点。该备节点从该存储池中获取第一元数据的第一元数据日志,该第一元数据未从该主节点拷贝至该备节点,根据该第一元数据日志恢复该第一元数据,将该第一元数据存储至该存储池。由于备节点上已经存储有主节点拷贝的元数据,当主节点发生故障时,备节点恢复发生故障时尚未拷贝至备节点的元数据,即可将尚未存储至存储池的元数据由备节点存储至存储池,进而完成存储系统的业务由备节点向主节点的切换,不需要恢复所有未由主节点存储至存储池的元数据,缩短了元数据恢复的时间,使得业务切换至备节点的过程更加平滑,减少了数据切换对用户读写的影响。结合第一方面,在第一方面的第一种实施方式中,该存储池中还存储有元数据状态,该元数据状态记录了该第一元数据是否被拷贝到该备节点,该第一元数据为该主节点最新生成的元数据。该确定该主节点中的元数据未全部被拷贝至该备节点,包括:从该存储池中读取该元数据状态,根据该元数据状态确定该第一元数据未被拷贝至该备节点。通过存储池中存储元数据状态来确定备节点未接收该主节点拷贝的全部元数据,可以使得主节点发生故障时元数据状态不会丢失,同时主节点发生故障后,备节点读取元数据状态的速度较高。结合第一方面,在第一方面的第二种实施方式中,该第一元数据日志还包括状态字段,该状态字段用于指示该主节点是否拷贝该第一元数据至该备节点。该确定该主节点中的元数据未全部被拷贝至该备节点,包括:从该存储池中读取该第一元数据日志,根据该状态字段确定该第一元数据未被拷贝至该备节点。利用存储池中存储的元数据日志的状态字段来存储备节点未接收该主节点拷贝的全部元数据的状态,亦可使得主节点发生故障时元数据状态不会丢失,同时不占用额外的存储空间,节约存储池中的存储资源。结合第一方面,在第一方面的第三种实施方式中,该备节点中存储有第二元数据的个数,该第二元数据已由该主节点拷贝至该备节点,该存储池中存储有多个第二元数据日志,每个第二元数据日志对应该主节点生成的一个元数据。该确定该主节点中的元数据未全部被拷贝至该备节点,包括:从该存储池中获取该第二元数据日志的个数,从该备节点中读取该第二元数据的个数,确定该第二元数据的个数与该第二元数据日志的个数不同。利用备节点中的第二元数据的个数和存储池中第二元数据日志的个数来存储备节点未接收该主节点拷贝的全部元数据的状态,亦可使得主节点发生故障时元数据状态不会丢失,同时不占用额外的存储空间,节约存储池中的存储资源。第二方面,本专利技术提供一种存储系统,该存储系统包括主节点、备节点和存储池。该主节点用于,将生成的元数据拷贝至该备节点;将生成的全部元数据对应的元数据日志存储至该存储池。该备节点用于,接收该主节点拷贝的元数据;接收数据恢复指令,确定该主节点中的元数据未全部被拷贝至该备节点;从该存储池中获取第一元数据的第一元数据日志,该第一元数据未从该主节点拷贝至该备节点;根据该第一元数据日志恢复该第一元数据,将该第一元数据存储至该存储池。由于备节点上已经存储有主节点拷贝的元数据,当主节点发生故障时,备节点恢复发生故障时尚未拷贝至备节点的元数据,即可将尚未存储至存储池的元数据由备节点存储至存储池,进而完成存储系统的业务由备节点向主节点的切换,不需要恢复所有未由主节点存储至存储池的元数据,缩短了元数据恢复的时间,使得业务切换至备节点的过程更加平滑,减少了数据切换对用户读写的影响。结合第二方面,在第二方面的第一种实施方式中,该存储池中还存储有元数据状态。该主节点还用于:对该元数据状态进行操作,该元数据状态记录了该主节点生成的最新的元数据是否被拷贝到该备节点,该元数据状态记录了该第一元数据是否被拷贝到该备节点,该第一元数据为该主节点最新生成的元数据。该备节点还用于:从该存储池中读取该元数据状态,根据该元数据状态确定该第一元数据未被拷贝至该备节点。通过存储池中存储元数据状态来确定备节点未接收该主节点拷贝的全部元数据,可以使得主节点发生故障时元数据状态不会丢失,同时主节点发生故障后,备节点读取元数据状态的速度较高。结合第二方面,在第二方面的第二种实施方式中,该第一元数据日志还包括状态字段,该状态字段用于指示该主节点是否拷贝该第一元数据至该备节点。该备节点还用于:从该存储池中读取该第一元数据日志,根据该状态字段确定该第一元数据未被拷贝至该备节点。利用存储池中存储的元数据日志的状态字段来存储备节点未接收该主节点拷贝的全部元数据的状态,亦可使得主节点发生故障时元数据状态不会丢失,同时不占用额外的存储空间,节约存储池中的存储资源。结合第二方面,在第二方面的第三种实施方式中,该备节点中存储有第二元数据的个数,该第二元数据已由该主节点拷贝至该备节点,该存储池中存储有多个第二元数据日志,每个第二元数据日志对应该主节点生成的一个元数据。该备节点还用于:从该存储池中获取该第二元数据日志的个数,从该备节点中读取该第二元数据的个数,确定该第二元数据的个数与该第二元数据日志的个数不同。利用备节点中的第二元数据的个数本文档来自技高网
...

【技术保护点】
1.一种数据处理的方法,其特征在于,应用所述方法的存储系统包括主节点、备节点和存储池;所述方法包括:所述备节点接收所述主节点拷贝的元数据;所述备节点接收数据恢复指令,确定所述主节点中的元数据未全部被拷贝至所述备节点;所述备节点从所述存储池中获取第一元数据的第一元数据日志,所述第一元数据未从所述主节点拷贝至所述备节点;所述备节点根据所述第一元数据日志恢复所述第一元数据,将所述第一元数据存储至所述存储池。

【技术特征摘要】
1.一种数据处理的方法,其特征在于,应用所述方法的存储系统包括主节点、备节点和存储池;所述方法包括:所述备节点接收所述主节点拷贝的元数据;所述备节点接收数据恢复指令,确定所述主节点中的元数据未全部被拷贝至所述备节点;所述备节点从所述存储池中获取第一元数据的第一元数据日志,所述第一元数据未从所述主节点拷贝至所述备节点;所述备节点根据所述第一元数据日志恢复所述第一元数据,将所述第一元数据存储至所述存储池。2.根据权利要求1所述的方法,其特征在于,所述存储池中还存储有元数据状态,所述元数据状态记录了所述第一元数据是否被拷贝到所述备节点,所述第一元数据为所述主节点最新生成的元数据;所述确定所述主节点中的元数据未全部被拷贝至所述备节点,包括:从所述存储池中读取所述元数据状态,根据所述元数据状态确定所述第一元数据未被拷贝至所述备节点。3.根据权利要求1所述的方法,其特征在于,所述第一元数据日志还包括状态字段,所述状态字段用于指示所述主节点是否拷贝所述第一元数据至所述备节点;所述确定所述主节点中的元数据未全部被拷贝至所述备节点,包括:从所述存储池中读取所述第一元数据日志,根据所述状态字段确定所述第一元数据未被拷贝至所述备节点。4.根据权利要求1所述的方法,其特征在于,所述备节点中存储有第二元数据的个数,所述第二元数据已由所述主节点拷贝至所述备节点,所述存储池中存储有多个第二元数据日志,每个第二元数据日志对应所述主节点生成的一个元数据;所述确定所述主节点中的元数据未全部被拷贝至所述备节点,包括:从所述存储池中获取所述第二元数据日志的个数,从所述备节点中读取所述第二元数据的个数,确定所述第二元数据的个数与所述第二元数据日志的个数不同。5.一种存储系统,其特征在于,所述存储系统包括主节点、备节点和存储池;所述主节点用于,将生成的元数据拷贝至所述备节点;将生成的全部元数据对应的元数据日志存储至所述存储池;所述备节点用于,接收所述主节点拷贝的元数据;接收数据恢复指令,确定所述主节点中的元数据未全部被拷贝至所述备节点;从所述存储池中获取第一元数据的第一元数据日志,所述第一元数据未从所述主节点拷贝至所述备节点;根据所述第一元数据日志恢复所述第一元数据,将所述第一元数据存储至所述存储池。6.根据权利要求5所述的存储系统,其特征在于,所述存储池中还存储有元数据状态;所述主节点还用于:对所述元数据状态进行操作,所述元数据状态记录了所述主节点生成的最新的元数据是否被拷贝到所述备节点,所述元数据状态记录了所述第一元数据是否被拷贝到所述备节点,所述第一元数据为所述主节点最新生成的元数据;所述备节点还用于:从所述存储池中读取所述元数据状态,根据所述元数据状态确定所述第一元数据未被拷贝至...

【专利技术属性】
技术研发人员:任仁杨忠兵
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1