一种自适应数据同步方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:26923927 阅读:54 留言:0更新日期:2021-01-01 22:48
本发明专利技术公开了一种自适应数据同步方法、装置、计算机设备及存储介质,包括:获取待同步数据的源存储目录,生成对应的待同步目录列表;获取待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,通过各同步线程执行将各待同步目录中的数据同步至目标目录中的操作;根据当前负载参数确定满足批量同步条件时,再次执行获取待同步目录列表中剩余的待同步目录作为新的同步处理批次,将新的同步处理批次中的各待同步目录分配给对应的同步线程的操作。本发明专利技术实施例的技术方案可以实现多个数据同步任务批量并行处理,提高数据同步的效率,保证系统的安全性能。

【技术实现步骤摘要】
一种自适应数据同步方法、装置、计算机设备及存储介质
本专利技术实施例涉及运维
,尤其涉及一种自适应数据同步方法、装置、计算机设备及存储介质。
技术介绍
超算平台在各行各业中已经得到广泛应用。超算平台的用户有时会向运维人员提出迁移服务器的需求,为了响应该需求,运维人员需要将数据从源服务器同步至目标服务器。现有数据的同步操作是通过远程同步工具(Remotesync,Rsync)中的执行指令“rsync-a源服务器目录目标服务器目录”实现的。这种同步方式是对源服务器中的文件进行逐个同步,即在上一个文件同步完成后,才启动下一个文件的同步操作。但是,现有数据同步方法的执行效率较低,在待同步文件数量很大的情况下,现有同步方法的执行时间较久,容易造成较高的时间成本。
技术实现思路
本专利技术实施例提供一种自适应数据同步方法、装置、计算机设备及存储介质,可以实现多个数据同步任务批量并行处理,提高数据同步的效率,保证系统的安全性能。第一方面,本专利技术实施例提供了一种自适应数据同步方法,所述方法包括:获取待同步数据的源存储目录,并遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表;依次获取所述待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各所述同步线程,执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作;获取当前负载参数,当根据所述当前负载参数确定满足批量同步条件时,再次执行获取所述待同步目录列表中剩余的至少两个待同步目录作为新的同步处理批次,将所述新的同步处理批次中的各待同步目录分配给对应的同步线程的操作,以对各同步处理批次中的各所述待同步目录中的数据进行批量同步处理;其中,所述当前负载参数包括当前运行的同步线程个数,以及中央处理器CPU的全部核数。第二方面,本专利技术实施例还提供了一种自适应数据同步装置,该装置包括:获取模块,用于获取待同步数据的源存储目录,并遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表;同步模块,用于依次获取所述待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各所述同步线程,执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作;批量同步模块,用于获取当前负载参数,当根据所述当前负载参数确定满足批量同步条件时,再次执行获取所述待同步目录列表中剩余的至少两个待同步目录作为新的同步处理批次,将所述新的同步处理批次中的各待同步目录分配给对应的同步线程的操作,以对各同步处理批次中的各所述待同步目录中的数据进行批量同步处理;其中,所述当前负载参数包括当前运行的同步线程个数,以及中央处理器CPU的全部核数。第三方面,本专利技术实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例提供的一种自适应数据同步方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本专利技术任意实施例提供的一种自适应数据同步方法。本专利技术实施例的技术方案通过获取待同步数据的源存储目录,并遍历源存储目录中包括的各层级的目录,生成与各目录对应的待同步目录列表;依次获取待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各同步线程,执行将各待同步目录中的当前层级数据同步至与各待同步目录匹配的目标目录中的操作;获取当前负载参数,当根据当前负载参数确定满足批量同步条件时,再次执行获取待同步目录列表中剩余的至少两个待同步目录作为新的同步处理批次,将新的同步处理批次中的各待同步目录分配给对应的同步线程的操作。本专利技术实施例的技术方案可以实现多个数据同步任务批量并行处理,可以提高数据同步的效率,保证系统的安全性能。附图说明图1是本专利技术实施例一中的一种自适应数据同步方法的流程图;图2是本专利技术实施例二中的一种自适应数据同步方法的流程图;图3是本专利技术实施例三中的一种自适应数据同步装置的结构图;图4是本专利技术实施例四中的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种自适应数据同步方法的流程图,本实施例可适用于将数据从源服务器同步至目标服务器的情况,该方法可以由自适应数据同步装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在计算机设备中,具体包括如下步骤:步骤110、获取待同步数据的源存储目录,并遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表。在此步骤中,待同步数据为需要从源服务器同步至目标服务器的数据,源存储目录为源服务器上待同步数据对应的根目录。在本专利技术实施例的一个实施方式中,可选的,遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表,包括:以所述源存储目录作为遍历起点,逐层遍历所述源存储目录中包括的各层级的目录,并针对每个目录,生成一个待同步目录;将生成的各所述待同步目录进行组合,得到所述待同步目录列表。其中,以源存储目录作为遍历起点,逐层遍历源存储目录以及源存储目录中包括的各层级的子目录,源存储目录与各层级的子目录均为待同步目录,各待同步目录一起组合得到待同步目录列表。例如,假设源存储目录为src,根据源存储目录生成了三个待同步目录,分别为src、src1和src2,其中:src=/mnt/lustre/asrdata/home/xch27/,src1=/mnt/lustre/asrdata/home/xch27/carno2_wav,src2=/mnt/lustre/asrdata/home/xch27/Videos,则src、src1和src2一起组合得到待同步目录列表。步骤120、依次获取待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各同步线程,执行将各待同步目录中的当前层级数据同步至与各待同步目录匹配的目标目录中的操作。在本实施例中,预先建立了用于配置多线程的线程池,所述线程池中预先配置了多个同步线程。同步线程是指在一个程序中能够独立运行数据同步操作的程序片段,目标目录是指目标服务器上用于存放待同步目录中的当前本文档来自技高网...

【技术保护点】
1.一种自适应数据同步方法,其特征在于,包括:/n获取待同步数据的源存储目录,并遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表;/n依次获取所述待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各所述同步线程,执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作;/n获取当前负载参数,当根据所述当前负载参数确定满足批量同步条件时,再次执行获取所述待同步目录列表中剩余的至少两个待同步目录作为新的同步处理批次,将所述新的同步处理批次中的各待同步目录分配给对应的同步线程的操作,以对各同步处理批次中的各所述待同步目录中的数据进行批量同步处理;/n其中,所述当前负载参数包括当前运行的同步线程个数,以及中央处理器CPU的全部核数。/n

【技术特征摘要】
1.一种自适应数据同步方法,其特征在于,包括:
获取待同步数据的源存储目录,并遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表;
依次获取所述待同步目录列表中的至少两个待同步目录作为当前的同步处理批次,将当前的同步处理批次中的各待同步目录分配给对应的同步线程,并通过各所述同步线程,执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作;
获取当前负载参数,当根据所述当前负载参数确定满足批量同步条件时,再次执行获取所述待同步目录列表中剩余的至少两个待同步目录作为新的同步处理批次,将所述新的同步处理批次中的各待同步目录分配给对应的同步线程的操作,以对各同步处理批次中的各所述待同步目录中的数据进行批量同步处理;
其中,所述当前负载参数包括当前运行的同步线程个数,以及中央处理器CPU的全部核数。


2.根据权利要求1所述的方法,其特征在于,遍历所述源存储目录中包括的各层级的目录,生成与各所述目录对应的待同步目录列表,包括:
以所述源存储目录作为遍历起点,逐层遍历所述源存储目录中包括的各层级的目录,并针对每个目录,生成一个待同步目录;
将生成的各所述待同步目录进行组合,得到所述待同步目录列表。


3.根据权利要求1所述的方法,其特征在于,通过所述同步线程,执行将所述待同步目录中的当前层级数据同步至与所述待同步目录匹配的目标目录中的操作,包括:
通过所述同步线程,构建与所述待同步目录匹配的目标目录;
通过所述同步线程,执行将所述待同步目录中的当前层级数据同步至所述目标目录中的操作。


4.根据权利要求3所述的方法,其特征在于,通过所述同步线程,构建与所述待同步目录匹配的目标目录,包括:
在源存储目录中提取最后一级目录名,以及位于所述最后一级目录名之前的目录路径;
在所述待同步目录中识别所述目录路径,并将所述待同步目录中的所述目录路径替换为预先设置的目标存储目录,以得到所述目标目录。


5.根据权利要求1所述的方法,其特征在于,在通过各所述同步线程,执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作之后,还包括:
获取当前运行的同步线程个数,以及CPU的全部核数;根据所述当前运行的同步线程个数,以及CPU的全部核数,确定CPU目标核数;其中,所述CPU目标核数为用于执行数据同步任务的CPU核数总量;
判断当前运行的所述同步线程个数是否大于所述CPU目标核数,若是,则确定第一线程休眠时间,并控制当前运行的所述同步线程在所述第一线程休眠时间内处于休眠状态;
在等待第一线程休眠时间后,当前运行的所述同步线程再次执行将各所述待同步目录中的当前层级数据同步至与各所述待同步目录匹配的目标目录中的操作。


6.根据权利要求1所述的方法,其特征在于,所述将当前的同步处理批次中的各待同步目录分配给对应的同步线程,包括:
将所述当前的同步处理批次中的一个待同步目录分配给一个同步线程,并更新与所述当前的同步处理批次匹配的同步任务...

【专利技术属性】
技术研发人员:周佳佳
申请(专利权)人:苏州交驰人工智能研究院有限公司
类型:发明
国别省市:江苏;32

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

1