一种实现对象存储系统的元数据备份方法、装置及设备与流程

    技术2025-02-09  58


    本发明涉及对象存储,具体的说是一种实现对象存储系统的元数据备份方法、装置及设备。


    背景技术:

    1、对象存储因其海量、安全、低成本、高可靠在云存储领域得到了广泛的应用。然而,随着数据量的急剧增长,在大数据场景下,如何快速、准确地备份存储在对象中的元数据成为了一个亟待解决的问题。传统的元数据备份方法往往存在效率低下、响应时间长的问题,无法满足现代应用对数据处理速度的高要求。


    技术实现思路

    1、本发明针对目前技术发展的需求和不足之处,提供一种实现对象存储系统的元数据备份方法、装置及设备,旨在提升对象存储系统中元数据的备份速度,降低备份时延,满足日益增长的数据处理需求。

    2、第一方面,本发明提供一种实现对象存储系统的元数据备份方法,解决上述技术问题采用的技术方案如下:

    3、一种实现对象存储系统的元数据备份方法,其包括如下步骤:

    4、s1、修改系统配置文件,系统配置文件的修改内容具体包括系统参数、任务执行参数及集群ip参数;

    5、s2、基于修改后的系统配置文件部署服务,包括一个master节点和至少一个worker节点,这些节点组成了一个集群,用于处理任务和提供服务;

    6、s3、基于任务执行参数,创建备份job,执行分解任务命令,执行过程中,通过递归调用对象存储的查询对象元数据列表api接口,基于prefix集合分解生成任务集合;

    7、s4、master节点基于任务集合中的任务数量和worker节点的数量,采用ssh网络通信将任务均衡的下发给worker节点,其中,每个任务对应于一个指定的对象前缀,允许进行并行处理;

    8、s5、worker节点执行元数据备份,在元数据备份阶段,采用多线程并发执行api接口加快备份速度,根据备份时间参数实现增量备份;

    9、s6、监控任务状态,聚合元数据;

    10、s7、基于任务状态,删除已完成备份任务的job;

    11、s8、响应删除job命令,根据提供的实例id删除相应的job;

    12、s9、响应用户停止服务命令,停止集群服务,具体为:用户通过控制台下发停止服务的命令,master节点收到命令后,删除所有活动的job,停止集群中所有运行的服务进程。

    13、可选的,执行步骤s1时,系统参数的修改内容包括工作目录、用户名和密码;

    14、任务执行参数的修改内容包括任务名称、备份时间间隔、备份大于某个时间的元数据、最大浏览深度maxscandept、并行线程数、对象存储accesskey、对象存储secretkey、对象存储endpoint、对象存储桶名;

    15、集群ip参数的修改内容涉及集群内设备的通信ip地址。

    16、进一步可选的,执行步骤s2,基于修改后的系统配置文件部署服务,具体操作如下:

    17、首先,读取系统配置文件中的集群ip参数,获取到所有worker节点的ip地址,根据ip地址的数量确定worker节点的具体数量和位置;

    18、然后,响应用户的部署命令,从系统配置文件中获取设备的ip地址、工作目录、用户名和密码信息,这些信息是进行ssh通信的必要参数,用于远程登录到设备上执行部署操作;

    19、再后,使用ssh通信协议,通过提供的用户名和密码登录到master节点和各个worker节点上,一旦成功登录到master节点和worker节点,即可开始部署服务;

    20、最后,通过打印输出或发送通知消息的方式将部署结果返回给控制台,以便用户了解部署是否成功以及可能出现的错误信息。

    21、进一步可选的,执行步骤s3,job创建成功后,执行分解任务命令,具体执行过程如下:

    22、比较当前浏览深度depth和最大浏览深度maxscandept;

    23、如果当前浏览深度depth小于最大浏览深度maxscandept,则调用对象存储的查询对象元数据列表的api接口,指定参数delimiter,其中,参数delimiter是对对象名称进行分组的一个字符,当前浏览深度depth是对象前缀的层级,根路径是第一层,每增加一个参数delimiter,当前浏览深度depth加1;

    24、api接口调用成功后,返回depth+1层级的prefix,其中,prefix表示对象名称的前缀,每个prefix代表至少一个实际的存储对象,这些存储对象具有共同的路径前缀;

    25、使用获取到的prefix,递归地调用之前的过程,直到当前浏览深度depth等于最大浏览深度maxscandepth或者返回的prefix为空,此时即表明达到了预设的遍历深度上限或已经没有更多子目录;

    26、递归调用完成后,根据获取到的所有prefix集合,创建并生成最终的任务集合返回给master节点,master节点将任务集合中的任务分配给相应的worker节点执行,其中,每个任务对应于一个指定的prefix,允许进行并行处理。

    27、优选的,执行分解任务命令的过程中,会涉及到对象元数据的查询,包括对象名称、存储类型、对象大小、对象修改时间和对象etag。

    28、进一步可选的,执行步骤s5,worker节点执行元数据备份,具体过程如下:

    29、获取任务集合,任务集合包含了需要处理的prefix;

    30、对于任务集合中的每一个任务,基于该任务的prefix,调用对象存储的查询对象元数据列表的api接口;

    31、在调用api接口时,仅指定prefix和marker,其中,prefix用于限定从对象存储中拉取哪些元数据,marker表示分页查询的起始点标记,用于分页查询,即当元数据数量超过设定阈值时,通过marker实现继续从上次查询的点开始拉取;

    32、根据配置的并行线程数参数,采用多线程方式并发执行上述api接口调用;

    33、根据配置的备份大于某个时间的元数据参数,对获取到的元数据进行筛选,只保留符合条件的元数据用于备份;

    34、元数据处理完毕后,将数据备份至预定的工作目录;

    35、在执行上述操作的过程中,在整个过程中,每个任务负责备份与它的prefix相关的多个元数据,同时确保同一个元数据不会被分解到多个任务中。

    36、进一步可选的,执行步骤s6,监控任务状态,聚合元数据,具体过程包括:

    37、在任务执行过程中,实时监控每一个worker节点上的任务状态,监控的任务状态包括监控任务是否完成,以及是否有任何错误或失败发生;

    38、worker节点上的任务执行完成时,更新其上的任务状态,所有任务执行完成后,启动聚合过程,这一过程涉及将各worker节点工作目录下的备份文件集中起来,统一存储到指定的工作目录下;

    39、worker节点上的任务执行失败时,该worker节点将其任务状态通过master节点发送至控制台,用户通过控制台看到任务失败的信息后,发送重试命令,master节点收到重试命令后触发相应的worker节点重新执行备份过程;重试成功后,之前执行失败的备份数据被聚合到同一工作目录下,与已执行完成的备份数据整合在一起,保证数据的一致性和完整性。

    40、第二方面,本发明提供一种实现对象存储系统的元数据备份装置,解决上述技术问题采用的技术方案如下:

    41、一种实现对象存储系统的元数据备份装置,其通过如下模块实现第一方面所述的元数据备份方法:

    42、控制台模块,用于接收用户的交互命令并将命令传递给master节点,所述交互命令包含部署服务命令、创建备份job命令、停止服务命令、重试命令和删除job命令;

    43、master模块,用于部署服务、创建备份job、基于任务状态删除已完成备份任务的job、停止服务、响应删除job命令以删除相应的job;

    44、job模块,用于响应分解任务命令,并根据备份job的要求执行分解任务命令,任务分解完成后,将任务集合数据返回给master模块;

    45、taskdistributor模块,用于接收master模块的委派请求,将任务集合均衡的下发给worker模块,用于监控worker模块上的任务执行状态,在所有任务执行完成后聚合元数据;

    46、至少一个worker模块,对应部署在不同的ip上,用于基于任务集合执行元数据备份,执行完成备份任务时,上报任务状态给taskdistributor模块,执行备份任务失败时,基于收到的重试命令重新执行备份任务;

    47、其中,基于控制台模块发送的部署命令请求,系统管理员在集群内部署一个master模块和至少一个worker模块,并启动服务;基于控制台模块发送的创建备份job命令,master模块创建job,并将该job发送到job模块继续处理;基于任务集合,master模块委派taskdistributor模块下发任务;master模块接收taskdistributor模块发送的任务状态,将已完成的job删除;基于控制台模块发送的停止服务命令,master模块接收请求,删除job,并转发给worker模块,停止所有服务;基于控制台模块发送的重试命令,master模块给备份任务执行失败的worker模块下发备份重新执行请求;基于控制台模块发送的删除job命令,master模块根据提供的实例id删除相应的job。

    48、优选的,所涉及job模块响应多个job时,同时执行多个分解任务命令。

    49、第三方面,本发明还提供一种计算机设备,其包括存储器和至少一个处理器,其中:

    50、所述存储器上存储有计算机程序;

    51、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如权利要求1至7中任一项所述的一种实现对象存储系统的元数据备份方法。

    52、本发明的一种实现对象存储系统的元数据备份方法、装置及设备,与现有技术相比具有的有益效果是:

    53、本发明利用分布式技术结合对象存储特性,实现对象存储系统元数据的快速备份,降低备份时延,满足日益增长的数据处理需求,解决现有技术中元数据备份效率低下、响应时间长的问题。


    技术特征:

    1.一种实现对象存储系统的元数据备份方法,其特征在于,包括如下步骤:

    2.根据权利要求1所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行步骤s1时,系统参数的修改内容包括工作目录、用户名和密码;

    3.根据权利要求2所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行步骤s2,基于修改后的系统配置文件部署服务,具体操作如下:

    4.根据权利要求3所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行步骤s3,job创建成功后,执行分解任务命令,具体执行过程如下:

    5.根据权利要求4所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行分解任务命令的过程中,会涉及到对象元数据的查询,包括对象名称、存储类型、对象大小、对象修改时间和对象etag。

    6.根据权利要求4所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行步骤s5,worker节点执行元数据备份,具体过程如下:

    7.根据权利要求6所述的一种实现对象存储系统的元数据备份方法,其特征在于,执行步骤s6,监控任务状态,聚合元数据,具体过程包括:

    8.一种实现对象存储系统的元数据备份装置,其特征在于,其通过如下模块实现权利要求1-7中任一项所述的方法:

    9.根据权利要求8所述的一种实现对象存储系统的元数据备份装置,其特征在于,所述job模块响应多个job时,同时执行多个分解任务命令。

    10.一种计算机设备,其特征在于,包括存储器和至少一个处理器,其中:


    技术总结
    本发明公开一种实现对象存储系统的元数据备份方法、装置及设备,涉及对象存储技术领域,方法包括:修改系统配置文件;基于修改后的系统配置文件部署服务;基于任务执行参数,创建备份Job,执行分解任务命令,生成任务集合;将任务集合下发给Worker节点;Worker节点执行元数据备份;监控任务状态,聚合元数据;基于任务状态,删除已完成备份任务的Job;响应删除Job命令,删除相应的Job;响应用户停止服务命令,停止集群服务。本发明利用分布式技术结合对象存储特性,实现对象存储系统元数据的快速备份,降低备份时延,满足日益增长的数据处理需求,解决现有技术中元数据备份效率低下、响应时间长的问题。

    技术研发人员:许友,王大帅,李超
    受保护的技术使用者:浪潮云信息技术股份公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-26209.html

    最新回复(0)