一种数据复制方法、装置、设备及计算机可读存储介质与流程

    专利查询2025-12-16  13


    本发明涉及数据处理,特别是涉及一种数据复制方法、装置、设备及计算机可读存储介质。


    背景技术:

    1、采用集群的主要目的是提高系统的稳定性、可用性和网络中心的数据处理能力及服务能力。此时就要求服务器集群内的程序数据是完全一致的,将文件数据复制给各个节点时,通常的做法是获取集群节点列表,一个接一个的为每个节点上传文件,这种一个节点上传完再上传另一个节点的方式缺点也很明显,就是随着集群规模的扩大,传送时间也会随之线性增大,使得复制的效率较慢。

    2、可见,如何提高在集群中将文件复制至各个节点的复制效率,是本领域技术人员需要解决的问题。


    技术实现思路

    1、有鉴于此,本发明实施例的目的是提供一种数据复制方法、装置、设备及计算机可读存储介质,可以解决集群中节点复制目标数据效率低的技术问题。

    2、为解决上述技术问题,本发明提供了一种数据复制方法,包括:

    3、确定初始已复制目标数据节点;其中,所述初始已复制目标数据节点为已有目标数据的节点,所述目标数据为每个节点需要复制的数据;

    4、利用所述初始已复制目标数据节点将所述目标数据复制至预设数量个第一批无目标数据节点,得到预设数量个第一批已复制目标数据节点;其中,所述预设数量为根据节点性能确定的数量;

    5、利用所述初始已复制目标数据节点和所述第一批已复制目标数据节点将所述目标数据分别复制至对应的第二批无目标数据节点,得到第二批已复制目标数据节点;其中,每个节点能够将所述目标数据复制至所述预设数量个无目标数据节点;

    6、重复执行利用已复制目标数据节点将所述目标数据复制至无目标数据节点的过程,直至所有节点都已复制所述目标数据;其中,所述已复制目标数据节点为当前集群中已经复制所述目标数据的节点。

    7、在一些实施例中,利用所述初始已复制目标数据节点将所述目标数据复制至预设数量个第一批无目标数据节点,得到预设数量个第一批已复制目标数据节点,包括:

    8、根据节点地址或节点主机名对节点进行编号,得到每个节点对应的序号;

    9、根据每个节点对应的所述序号利用所述初始已复制目标数据节点将所述目标数据复制至预设数量个所述第一批无目标数据节点,得到预设数量个所述第一批已复制目标数据节点。

    10、在一些实施例中,所述预设数量为x,复制的轮数为n,底数x=x+1,已复制目标数据节点的序号为m;

    11、当第n轮复制时,已复制目标数据节点的节点数为,当前在对所述目标数据进行复制时,确定复制映射关系为,序号为m的已复制目标数据节点对应的无目标数据节点的序号为,y为1至x的整数;

    12、利用所述复制映射关系将每个已复制目标数据节点上的所述目标数据复制至对应的无目标数据节点。

    13、在一些实施例中,所述利用所述初始已复制目标数据节点和所述第一批已复制目标数据节点将所述目标数据分别复制至对应的第二批无目标数据节点,得到第二批已复制目标数据节点,包括:

    14、利用相邻复制方法根据所述初始已复制目标数据节点和所述第一批已复制目标数据节点将所述目标数据分别复制至所述第二批无目标数据节点,得到所述第二批已复制目标数据节点;其中,所述相邻复制方法为每个已复制目标数据节点对应的无目标数据节点为预设数量个相邻的节点。

    15、在一些实施例中,所述根据节点地址或节点主机名对节点进行编号,得到每个节点对应的序号,包括:

    16、利用序号处理命令通过管道符号对节点进行编号,得到每个节点对应的所述序号。

    17、在一些实施例中,在复制过程中,还包括:

    18、利用线程列表存储所有的复制线程;其中,所述线程列表包括已复制目标数据节点、无目标数据节点和复制结果;所述复制结果为目标数据是否复制结束的结果;所述复制线程为已复制目标数据节点将所述目标数据复制至无目标数据节点的过程;

    19、将所述线程列表中节点对应的复制结果记录到结果字典中;其中,所述结果字典以节点名称作为键,以复制结果作为值;

    20、遍历所述结果字典,根据所述结果字典确定每个复制线程对应的复制状态;其中,所述复制状态包括复制成功、复制正在进行和复制错误;

    21、其中,根据所述结果字典确定复制状态,包括:

    22、判断所述结果字典中复制成功的数量是否等于当前复制线程的数量;

    23、当所述结果字典中复制成功的数量等于当前复制线程的数量时,确定复制完毕,执行下一轮复制;

    24、当所述结果字典中复制成功的数量不等于当前复制线程的数量时,判断剩余线程对应的复制状态是否为复制错误;

    25、当剩余线程对应的复制状态为复制错误时,确定所述复制错误对应的无目标数据节点;

    26、当剩余线程对应的复制状态不为复制错误时,确定等待复制结束。

    27、在一些实施例中,在复制过程中,还包括:

    28、利用所述初始已复制目标数据节点存储完成复制节点的信息,得到复制进程信息;

    29、根据所述复制进程信息确定是否执行下一轮复制;其中,所述复制进程信息为复制过程是否完毕的信息。

    30、本发明还提供了一种数据复制装置,包括:

    31、节点确定模块,用于确定初始已复制目标数据节点;其中,所述初始已复制目标数据节点为已有目标数据的节点,所述目标数据为每个节点需要复制的数据;

    32、第一复制模块,用于利用所述初始已复制目标数据节点将所述目标数据复制至预设数量个第一批无目标数据节点,得到预设数量个第一批已复制目标数据节点;其中,所述预设数量为根据节点性能确定的数量;

    33、第二复制模块,用于利用所述初始已复制目标数据节点和所述第一批已复制目标数据节点将所述目标数据分别复制至对应的第二批无目标数据节点,得到第二批已复制目标数据节点;其中,每个节点能够将所述目标数据复制至所述预设数量个无目标数据节点;

    34、第三复制模块,用于重复执行利用已复制目标数据节点将所述目标数据复制至无目标数据节点的过程,直至所有节点都已复制所述目标数据;其中,所述已复制目标数据节点为当前集群中已经复制所述目标数据的节点。

    35、本发明还提供了一种数据复制设备,包括:

    36、存储器,用于存储计算机程序;

    37、处理器,用于执行所述计算机程序以实现如上述数据复制方法的步骤。

    38、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据复制方法的步骤。

    39、本发明还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现数据复制方法的步骤。

    40、为解决上述技术问题,本发明实施例提供一种数据复制方法,可以包括:确定初始已复制目标数据节点;其中,初始已复制目标数据节点为已有目标数据的节点,目标数据为每个节点需要复制的数据;利用初始已复制目标数据节点将目标数据复制至预设数量个第一批无目标数据节点,得到预设数量个第一批已复制目标数据节点;其中,预设数量为根据节点性能确定的数量;利用初始已复制目标数据节点和第一批已复制目标数据节点将目标数据分别复制至对应的第二批无目标数据节点,得到第二批已复制目标数据节点;其中,每个节点能够将目标数据复制至所述预设数量个无目标数据节点;重复执行利用已复制目标数据节点将目标数据复制至无目标数据节点的过程,直至所有节点都已复制目标数据;其中,已复制目标数据节点为当前集群中已经复制目标数据的节点。

    41、由上述技术方案可以看出,和当前获取集群节点列表,一个接一个的为每节点上传目标数据,本发明的有益效果在于:充分利用每轮已经复制目标数据的节点,让其作为复制源为其他没有目标数据的节点传送文件,由于已复制目标数据节点的数量在不断增加,从而实现指数级增长的复制,缩短了复制时间,提高了文件复制的效率。


    技术特征:

    1.一种数据复制方法,其特征在于,包括:

    2.根据权利要求1所述的数据复制方法,其特征在于,利用所述初始已复制目标数据节点将所述目标数据复制至预设数量个第一批无目标数据节点,得到预设数量个第一批已复制目标数据节点,包括:

    3.根据权利要求2所述的数据复制方法,其特征在于,所述预设数量为x,复制的轮数为n,底数x=x+1,已复制目标数据节点的序号为m;

    4.根据权利要求2所述的数据复制方法,其特征在于,所述利用所述初始已复制目标数据节点和所述第一批已复制目标数据节点将所述目标数据分别复制至对应的第二批无目标数据节点,得到第二批已复制目标数据节点,包括:

    5.根据权利要求2所述的数据复制方法,其特征在于,所述根据节点地址或节点主机名对节点进行编号,得到每个节点对应的序号,包括:

    6.根据权利要求1至5任一项所述的数据复制方法,其特征在于,在复制过程中,还包括:

    7.根据权利要求1至5任一项所述的数据复制方法,其特征在于,在复制过程中,还包括:

    8.一种数据复制装置,其特征在于,包括:

    9.一种数据复制设备,其特征在于,包括:

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述数据复制度方法的步骤。


    技术总结
    本发明公开了一种数据复制方法、装置、设备及计算机可读存储介质,应用于数据处理技术领域,包括:确定初始已复制目标数据节点;初始已复制目标数据节点为已有目标数据的节点,目标数据为每个节点需要复制的数据;利用初始已复制目标数据节点将目标数据复制至预设数量个无目标数据节点,重复执行利用已复制目标数据节点将目标数据复制至无目标数据节点的过程,直至所有节点都已复制目标数据;已复制目标数据节点为当前集群中已经复制目标数据的节点。本发明将每次得到的已复制目标数据节点作为复制源,为其他没有目标数据的节点传送文件,随着已复制目标数据节点的不断增加,从而实现指数级增长的复制,缩短了复制时间,提高了文件复制的效率。

    技术研发人员:王海瑞
    受保护的技术使用者:济南浪潮数据技术有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-32792.html

    最新回复(0)