CN112000292A - 数据迁移的方法、装置、电子设备和计算机存储介质 - Google Patents

数据迁移的方法、装置、电子设备和计算机存储介质 Download PDF

Info

Publication number
CN112000292A
CN112000292A CN202010850464.7A CN202010850464A CN112000292A CN 112000292 A CN112000292 A CN 112000292A CN 202010850464 A CN202010850464 A CN 202010850464A CN 112000292 A CN112000292 A CN 112000292A
Authority
CN
China
Prior art keywords
data migration
migration
thread
migrated
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010850464.7A
Other languages
English (en)
Inventor
刘彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010850464.7A priority Critical patent/CN112000292A/zh
Publication of CN112000292A publication Critical patent/CN112000292A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据迁移的方法、装置、电子设备和计算机存储介质,其方法包括获取待迁移文件的源存储位置;生成携带有源存储位置的迁移命令;利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个用于将源集群的待迁移文件迁移至预设的目标集群的目标存储位置的数据迁移线程;在数据迁移线程运行时,利用数据迁移工具按一定的扫描间隔扫描每一个数据迁移线程的进度信息,并基于进度信息在显示设备上实时显示对应的迁移进度。本方案通过实时扫描每一个数据迁移进程,实现在显示设备上实时的显示当前的迁移进度,从而有助于有关人员及时发现数据迁移过程中的问题,提高数据迁移的效率。

Description

数据迁移的方法、装置、电子设备和计算机存储介质
技术领域
本发明涉及网络技术领域,特别涉及一种数据迁移的方法、装置、电子设备和计算机存储介质。
背景技术
跨集群的数据迁移,是分布式系统中一种常见的操作,其目的在于将源集群(一个集群包括多个服务器)中指定的待迁移文件迁移到目标集群,从而实现待迁移文件的转移或备份。
现有的数据迁移方法中,目标集群的数据迁移工具被启动后,就会自动开始数据迁移,即从源集群向目标集群迁移指定的待迁移文件,而数据迁移过程中有关人员只能等待数据迁移工具退出,而无法了解实时的迁移进度,导致数据迁移过程中出现的问题(例如网络环境恶化导致传输速率过低)无法及时被发现和解决,使得数据迁移的效率较低。
发明内容
基于上述现有技术存在的问题,本申请提供一种数据迁移的方法、装置、电子设备和计算机存储介质,以提供一种可展示实时迁移进度的数据迁移方案。
本申请第一方面提供一种数据迁移的方法,应用于目标集群,所述方法包括:
获取待迁移文件的源存储位置;其中,所述源存储位置指代所述待迁移文件在源集群的存储位置;
生成携带有所述源存储位置的迁移命令;
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程;其中,所述数据迁移线程用于将所述待迁移文件迁移至所述目标集群的目标存储位置;
在所述数据迁移线程运行时,利用所述数据迁移工具按一定的扫描间隔扫描得到每一个所述数据迁移线程的进度信息,并基于所述进度信息实时在显示设备上显示对应的迁移进度。
可选的,所述生成携带有所述源存储位置的迁移命令,包括:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的任务并发数量N,得到所述迁移命令;
其中,所述利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程,包括:
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动N个数据迁移线程。
可选的,所述获取待迁移文件的源存储位置之前,还包括:
利用所述源集群的网络地址与所述源集群建立网络连接,并测试所述网络连接是否稳定;
若所述网络连接不稳定,则不执行所述获取待迁移文件的源存储位置;
若所述网络连接稳定,则执行所述获取待迁移文件的源存储位置。
可选的,所述利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程之后,还包括:
在所述数据迁移线程运行时,实时检测每一个数据迁移线程是否发生异常退出;
若检测到任意一个所述数据迁移线程发生异常退出,拉起发生异常退出的所述数据迁移线程。
可选的,所述生成携带有所述源存储位置的迁移命令,包括:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的重试次数,得到所述迁移命令;
其中,所述拉起发生异常退出的所述数据迁移线程之前,还包括:
判断发生异常退出的所述数据迁移线程,在本次数据迁移中累计发生异常退出的次数是否大于所述重试次数;
若发生异常退出的所述数据迁移线程,在本次数据迁移中累计发生异常退出的次数大于所述重试次数,则不执行所述拉起发生异常退出的所述数据迁移线程;
若发生异常退出的所述数据迁移线程在本次数据迁移中累计发生异常退出的次数小于或等于所述重试次数,则执行所述拉起发生异常退出的所述数据迁移线程。
本申请第二方面提供一种数据迁移的装置,应用于目标集群,包括:
获取单元,用于获取待迁移文件的源存储位置;其中,所述源存储位置指代所述待迁移文件在源集群的存储位置;
生成单元,用于生成携带有所述源存储位置的迁移命令;
调用单元,用于利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程;其中,所述数据迁移线程用于将所述待迁移文件迁移至所述目标集群的目标存储位置;
扫描单元,用于在所述数据迁移线程运行时,利用所述数据迁移工具按一定的扫描间隔扫描得到每一个所述数据迁移线程的进度信息,并基于所述进度信息实时在显示设备上显示对应的迁移进度。
可选的,所述生成单元生成携带有所述源存储位置的迁移命令时,具体用于:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的任务并发数量N,得到所述迁移命令;
其中,所述调用单元利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程时,具体用于:
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动N个数据迁移线程。
可选的,还包括:
测试单元,用于利用所述源集群的网络地址与所述源集群建立网络连接,并测试所述网络连接是否稳定;
其中,所述获取单元获取待迁移文件的源存储位置时,具体用于:
若所述网络连接不稳定,放弃本次数据迁移;
若所述网络连接稳定,则执行所述获取待迁移文件的源存储位置。
本申请第三方面提供一种电子设备,包括存储器和处理器;
其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,具体用于实现本申请第一方面任意一项所提供的数据迁移的方法。
本申请第四方面提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本申请第一方面任意一项所提供的数据迁移的方法。
本申请提供一种数据迁移的方法、装置、电子设备和计算机存储介质,其方法包括获取待迁移文件的源存储位置;生成携带有源存储位置的迁移命令;利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个用于将源集群的待迁移文件迁移至预设的目标集群的目标存储位置的数据迁移线程;在数据迁移线程运行时,利用数据迁移工具按一定的扫描间隔扫描每一个数据迁移线程的进度信息,并基于进度信息在显示设备上实时显示对应的迁移进度。本方案通过实时扫描每一个数据迁移进程,实现在显示设备上实时的显示当前的迁移进度,从而有助于有关人员及时发现数据迁移过程中的问题,提高数据迁移的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种跨集群的数据迁移的交互示意图;
图2为本申请实施例提供的一种数据迁移的方法的流程图;
图3为本申请实施例提供的另一种数据迁移的方法的流程图;
图4为本申请实施例提供的一种数据迁移的装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分布式系统是目前在互联网技术领域被广泛使用的一种系统架构。一个分布式系统可以包括多个集群,每一个集群包括通过网络连接的若干个数据节点(也可以称为DataNode),一个数据节点,可以是机房中的一台服务器,也可以是一台个人电脑,或者是其他可以联网并且可以执行计算机程序的电子设备,集群中的多个数据节点可以用于存储数据,也可以相互协作以完成相应的数据处理任务。
在分布式系统运行过程中,常常需要进行跨集群的数据迁移,例如,需要将源集群中的某些重要文件备份至目标集群时,或者,为了维护源集群的部分数据节点而需要将这些数据节点的文件暂时存储于目标集群时,就会涉及将源集群的待迁移文件存储至目标集群,这一过程就是跨集群的数据迁移。
其中,源集群指代执行数据迁移之前,原本存储待迁移文件的集群,目标集群可以理解为,执行数据迁移时要向其写入待迁移文件的那个集群。
例如,分布式系统中的集群A存储有一份文件X,为了避免文件X丢失,现在将文件X备份至集群B,也就是将文件X复制一份,然后将复制的那份文件X写入集群B(具体可以是写入集群B的部分数据节点),这样的过程就是一次跨集群(在集群A和集群B之间)的数据迁移,集群A就是源集群,集群B就是目标集群。
可以理解的,除了上述对待迁移文件的备份,将待迁移文件从源集群移动至目标集群的过程,结合上述例子,就是不进行复制,而直接取出集群A存储的一份文件X,并将这份文件X写入集群B,这样的过程也属于数据迁移。
在分布式系统中,一次数据迁移过程往往会涉及多份待迁移文件,每份待迁移文件的数据量也较大,因此一次数据迁移过程会持续较长的一段时间。而现有的跨集群的数据迁移技术,在执行数据迁移的这段时间内无法向技术人员实时展示迁移进度,导致技术人员难以及时发现并解决数据迁移过程中可能出现的问题,进而降低了数据迁移效率。
为了解决上述现有技术的问题,本申请提供一种数据迁移的方法,在数据迁移过程中实时地检测并显示当前的迁移进度,以便技术人员能够及时发现并解决数据迁移过程中出现的问题。
首先请参考图1,图1为基于本申请所提供的数据迁移方法进行跨集群的数据迁移时的数据交互示意图。
如图1所示,在一次数据迁移过程中,需要进行迁移的待迁移文件可以分别存储于源集群的至少一个数据节点中,在图1中依次用数据节点1至数据节点N表示。
本申请所提供的数据迁移方法由目标集群执行。具体的,目标集群的部分数据节点安装有数据迁移工具(distcp)以及对应的迁移插件(distcptool),技术人员输入源集群的网络地址,并输入待迁移文件的文件标识(具体的,可以是待迁移文件的文件名)后,迁移插件首先从源集群获取待迁移文件的源存储位置,然后利用源存储位置生成迁移命令,利用迁移命令调用数据迁移工具。
数据迁移工具被调用后,就基于迁移命令中的源存储位置,将源集群的待迁移文件迁移至目标集群中预先指定的目标存储位置,具体是迁移至目标集群中预先指定的多个用于存储迁移过来的待迁移文件的数据节点,在图1中用数据节点1至数据节点M表示,同时,在数据迁移过程中,数据迁移工具实时扫描用于执行上述将源集群的待迁移文件迁移至目标集群中预先指定的目标存储位置的数据迁移线程以获得数据迁移线程的进度信息,并基于进度信息在数据节点所连接的显示设备上显示当前的迁移进度。
需要说明的是,源集群的网络地址,具体可以包括源集群的每一个数据节点的网络地址(也可以称为IP地址),以及源集群的每一个数据节点的通信端口的端口号。
请参考图2,本申请实施例所提供的一种数据迁移方法可以包括如下步骤:
S201、获取待迁移文件的源存储位置。
其中,源存储位置指代待迁移文件在源集群的存储位置。
具体的,对于一份待迁移文件,其源存储位置第一方面可以包括,源集群中存储这份待迁移文件的数据节点的标识(具体可以是数据节点在源集群中的IP地址),第二方面可以包括这份待迁移文件在对应的数据节点中的目录,即待迁移文件在对应的数据节点中的存储位置。
由此可知,对于任意一份待迁移文件,获得这份待迁移文件的源存储位置后,就可以从源集群中查找出这份待迁移文件,并读取或复制这份待迁移文件。
可选的,为了避免数据迁移过程中源集群传输至目标集群的待迁移文件出错,需要确保数据迁移过程在源集群和目标集群之间的网络连接较为稳定的情况下进行,因此,在执行步骤S201之前,可以先利用源集群的网络地址和源集群建立网络连接,并测试目标集群和源集群之间的网络连接是否稳定。
一种可选的测试方法是,选取源集群的多个数据节点作为被测节点(例如,可以选取源集群中每一个存储待迁移文件的数据节点作为被测节点),然后以被测节点的网络地址作为输入参数,调用网络诊断工具PING(Packet Internet Groper),从而测试目标集群中安装上述数据迁移工具的数据节点和被测节点之间的数据传输速度(即两个数据节点之间的网速),若每一个被测节点和目标集群中安装上述数据迁移工具的数据节点之间的数据传输速度均大于预设的速度阈值,则确定源集群和目标集群之间的网络连接稳定,反之,若存在至少一个被测节点和目标集群中安装上述数据迁移工具的数据节点之间的数据传输速度小于或等于上述速度阈值,则确定源集群和目标集群之间的网络连接不稳定。
完成测试后,若源集群和目标集群之间的网络连接不稳定,则不执行步骤S201所述的获取待迁移文件的源存储位置,若网络连接稳定,则正常执行步骤S201所述的获取待迁移文件的源存储位置。
根据前文对源存储位置的说明可以理解,要执行数据迁移必须要获得待迁移文件的源存储位置,若为获得待迁移文件的源存储位置显然无法从源集群中读取或复制待迁移文件,因此,不执行步骤S201,就相当于暂时不执行本次数据迁移。
可选的,在测试出源集群和目标集群之间的网络连接不稳定之后,可以每经过一个预设的测试周期,就再次测试源集群和目标集群之间的网络连接(例如,可以每隔10秒测试一次),若任意一次测试后发现源集群和目标集群之间的网络连接稳定,则执行步骤S201,换言之,也就是开始执行本次数据迁移。
S202、生成携带有源存储位置的迁移命令。
步骤S202的具体执行过程可以是,按指定的迁移命令的格式,将步骤S201中获取的源存储位置,以及技术人员预先设定的待迁移文件的目标存储位置进行组合,得到迁移命令。
与源存储位置类似,待迁移文件的目标存储位置,可以包括,目标集群中指定的用于存储迁移过来的待迁移文件的数据节点的网络地址,以及待迁移文件在这些数据节点中的目录,以上信息均可以由技术人员设定。
可选的,上述目标存储位置也可以根据目标集群中各个数据节点当前的存储空间,以及待迁移文件的数据量自动设定。
例如,一方面可以将本次需要迁移的多份待迁移文件按数据量大小进行排序,另一方面将目标集群中各个数据节点按对应的可用存储空间的大小进行排序,最后,根据待迁移文件的数据量的大小和数据节点的可用存储空间的大小为待迁移文件匹配用于存储待迁移文件的数据节点,具体来说就是为数据量较大的待迁移文件指定可用存储空间较大的数据节点,为数据量较小的待迁移文件指定可用存储空间较小的数据节点。
可选的,为了提高数据迁移的速度,可以在生成迁移命令之前指定一个任务并发数量N,由此,在生成迁移命令时,就可以按指定的格式将源存储位置,目标存储位置和任务并发数量组合得到一个携带有任务并发数量的迁移命令。
若利用携带有任务并发数量的迁移命令调用数据迁移工具,数据迁移工具会对应的启动N个数据迁移线程,使得这N个数据迁移线程并行地执行本次数据迁移,从而提高数据迁移的速度。
其中,N个数据迁移线程并行地执行数据迁移,可以理解为,将需要迁移的多份待迁移文件划分为N个文件集合,每个文件集合包含一部分待迁移文件,然后每个数据迁移线程用于将自身对应的那个文件集合中的待迁移文件迁移至目标集群。
或者,也可以将每一份待迁移文件拆分为N个子文件,每一个数据迁移线程用于将自身对应的那个子文件迁移至目标集群,所有子文件均迁移至目标集群后,这些子文件再组合为原本的待迁移文件。
可选的,若迁移命令中未携带任务并发数量,数据迁移工具被调用后,也可以基于自身预设的默认并发数量,启动默认并发数量的数据迁移线程,使这些数据迁移线程并行地执行数据迁移。默认并发数量可以是大于或等于1的正整数。
可选的,技术人员还可以在生成迁移命令之前指定本次数据迁移需要进行数据量大小的校验,这一指令同样会添加在生成的迁移命令中,由此,可以触发数据迁移工具在本次数据迁移过程完成后,对检验迁移至目标集群的待迁移文件的数据量,是否等于从源集群获取得到的待迁移文件的总数据量,若两者不相等,则认为校验失败,对应的本次数据迁移过程失败,反之,若两者相等,则认为校验成功,本次数据迁移过程成功。
S203、利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动数据迁移线程。
数据迁移工具被调用后,就会启动若干个数据迁移线程,启动的数据迁移线程的数量可以等于前述步骤S202中的数据迁移命令所携带的任务并发数量,或者等于数据迁移工具自身的默认并发数量。
其中,数据迁移线程用于将待迁移文件迁移至目标集群的目标存储位置。
每一个数据迁移线程被启动后,就开始执行数据迁移,具体来说就是将对应的待迁移文件从源集群迁移至目标集群。
如前文所述,上述对文件的迁移,可以是,利用待迁移文件的源存储位置查找到源集群中的待迁移文件,然后可以对待迁移文件进行复制,并把复制的那份待迁移文件存储在目标集群的目标存储位置,相当于将源集群中的待迁移文件拷贝一份存储在目标集群中,这样的数据迁移过程完成后,目标集群和源集群分别存储有一份相同的待迁移文件。
可选的,对文件的迁移也可以是直接取出源集群所存储的那份待迁移文件,然后将这份待迁移文件转存至目标集群中,也就是将待迁移文件从源集群移动至目标集群,这样的数据迁移过程完成后,目标集群存储有被迁移过来的待迁移文件,而源集群未保存待迁移文件。
数据迁移工具启动数据迁移线程时,首先会生成对应的线程名和线程编号(或者说线程ID),然后将线程名和线程编号调度至目标集群的线程管理器yarn,随后线程管理器为该线程分配对应的处理器资源和内存资源,由此就启动了一个数据迁移线程。
S204、在数据迁移线程运行时,实时扫描每一个数据迁移进程的进度信息并实时显示对应的迁移进度。
步骤S204可以由前述数据迁移工具执行,或者说,可以利用前述数据迁移工具执行。
步骤S204所述的实时扫描,可以理解为,每经过一定的扫描间隔(例如0.5秒),就从每一个数据迁移线程获取该线程当前的进度信息。
其中,一个数据迁移线程的进度信息,可以包括,该线程需要迁移的待迁移文件的总数据量,以及该线程当前已经完成迁移的数据量。
例如,某次数据迁移过程中,一个数据迁移线程需要将源集群的一个总数据量为200KB的待迁移文件拷贝至目标集群,那么,在数据迁移过程中,某一时刻扫描该数据迁移线程得到的进度信息可以是:总数据量200KB,已迁移数据量80KB。该进度信息表示这个数据迁移线程已经将对应的待迁移文件中80KB的数据拷贝至目标集群。
获得数据迁移线程的进度信息之后,就可以基于进度信息显示对应的迁移进度。
可选的,迁移进度可以用当前已迁移的数据量占待迁移文件的总数据量的比例表示,例如,根据上述进度信息计算得到的迁移进度就是,80KB/200KB,即迁移进度为40%。
可选的,迁移进度还可以用实时的数据迁移速率表示。具体的,数据迁移过程开始后,从第二次获取数据迁移线程的进度信息开始,数据迁移工具每获取一次当前的进度信息,就用当前的进度信息中的已迁移数据量,减去前一次获取的进度信息中的已迁移数据量,得到刚过去的这个扫描间隔内数据迁移线程迁移的数据量,然后用这个扫描间隔内数据迁移线程迁移的数据量除以扫描间隔的时长,得到数据迁移线程当前的数据迁移速率。同时,数据迁移工具可以在显示设备上绘制一个以时间为横坐标,以数据迁移速率为纵坐标的坐标系,然后在其中以折线图的方式显示数据迁移过程开始后数据迁移线程的数据迁移速率随时间变化的曲线。
需要说明的是,不论是显示已迁移数据量占总数据量的比例,还是显示当前的数据迁移速率,均可以分别独立的显示每一个数据迁移线程的比例或数据迁移速率,也可以将正在运行的每一个数据迁移线程的比例或数据迁移速率合并,得到整体的比例或数据迁移速率。
例如,若需要显示整体的比例,可以将每一个数据迁移线程对应的待迁移文件的总数据量相加,并且将每一个数据迁移线程的已迁移数据量相加,然后用后者(已迁移数据量相加的结果)除以前者(总数据量相加的结果),得到整体的比例。
需要显示整体的数据迁移速率时,可以获取每个数据迁移线程在刚过去的这个扫描间隔内迁移的数据量,将这些数据量相加后用得到的和除以扫描间隔的时长,即可得到整体的数据迁移速率。
当然,也可以同时通过多种方式显示迁移进度,或者,也可以采用其他可以反映数据迁移过程当前的情况的方式显示迁移进度。
本申请提供一种数据迁移方法,其方法包括获取待迁移文件的源存储位置;生成携带有源存储位置的迁移命令;利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个用于将源集群的待迁移文件迁移至预设的目标集群的目标存储位置的数据迁移线程;在数据迁移线程运行时,利用数据迁移工具按一定的扫描间隔扫描每一个数据迁移线程的进度信息,并基于进度信息在显示设备上实时显示对应的迁移进度。本方案通过实时扫描每一个数据迁移进程,实现在显示设备上实时的显示当前的迁移进度,从而有助于有关人员及时发现数据迁移过程中的问题,提高数据迁移的效率。
请参考图3,本申请另一实施例还提供一种数据迁移方法,该方法可以包括以下步骤:
S301、获取待迁移文件的源存储位置。
S302、生成携带有源存储位置的迁移命令。
S303、利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动数据迁移线程。
S304、在数据迁移线程运行时,实时扫描每一个数据迁移进程的进度信息并实时显示对应的迁移进度。
S305、在数据迁移线程运行时,实时检测每一个数据迁移线程是否发生异常退出。
S306、基于预设的线程拉起策略拉起发生异常退出的数据迁移线程。
步骤S305和步骤S306也可以由数据迁移工具执行。
需要说明的是,步骤S304所述的扫描并显示迁移进度的过程,以及步骤S305和步骤S306所述的检测并拉起退出的数据迁移线程的过程,可以认为是由数据迁移工具在一次数据迁移过程中同时执行的两方面功能。
也就是说,在本实施例中,数据迁移工具在启动了多个数据迁移线程后,既实时的扫描进度信息并显示迁移进度,同时也实时检测是否有退出的数据迁移线程并基于线程拉起策略拉起退出的数据迁移线程。
数据迁移工具拉起一个异常退出的数据迁移线程,可以认为是,数据迁移工具重新启动这个数据迁移线程,使这个数据迁移线程继续执行数据迁移任务。
上述线程拉起策略可以是,一旦检测到任意一个数据迁移线程发生异常退出,就立即拉起该数据迁移线程,使得这个数据迁移线程能够继续执行数据迁移。
技术人员可以在生成迁移命令之前,设定一个重试次数M,使得后续生成迁移命令时,将源存储位置,目标存储位置和重试次数组合成迁移命令。
若迁移命令中携带了重试次数,则线程拉起策略也可以是:
若异常退出的数据迁移线程,在本次数据迁移过程中累计发生异常退出的次数大于重试次数,则不执行拉起该数据迁移线程的动作;
若异常退出的数据迁移线程,在本次数据迁移过程中累计发生异常退出的次数小于或等于重试次数,则不执行拉起该数据迁移线程的动作。
基于上述线程拉起策略,步骤S306的执行过程可以是,发现一个异常退出的数据迁移线程后,检测该数据迁移线程在本次数据迁移过程中累计发生异常退出的次数,然后将累计发生异常退出的次数和重试次数M比较,若前者(累计发生异常退出的次数)大于后者(重试次数M),则不再拉起这个退出的数据迁移线程,这个数据迁移线程不再执行数据迁移,若前者小于或等于后者,则拉起这个数据迁移线程,使这个数据迁移线程继续执行数据迁移。
其中,若基于上述线程拉起策略决定不再拉起一个发生异常退出的数据迁移线程,但是这个数据迁移线程还有对应的未完成迁移的待迁移文件,则将这些未迁移完成的待迁移文件调度至其他正在运行的数据迁移线程,使其他正在运行的数据迁移线程代替这个退出的数据迁移线程执行数据迁移。
可选的,若检测到一个数据迁移线程发生退出,且累计发生异常退出的次数大于重试次数,则可以输出异常提示信息,提示技术人员进行检查。
一方面,本实施例提供的数据迁移方法中,数据迁移工具可以实时监测每一个数据迁移线程的运行情况,并在数据迁移线程异常退出后拉起退出的数据迁移线程,使其继续执行数据迁移,由此,可以在一定程度上对数据迁移过程中的某些问题实现自动修复,从而提高数据迁移的效率。
另一方面,一次数据迁移过程中可能出现无法通过在线程退出后拉起该线程这种手段解决的问题,发生这种问题时对应的数据迁移线程就会频繁退出,也就是出现累计发生异常退出的次数大于重试次数的情况,本实施例提供的方法能够在发生这种问题时停止拉起退出的数据迁移线程,从而避免由数据迁移线程频繁的退出和被拉起引起的目标集群的资源消耗增大的问题。
结合本申请任一实施例提供的数据迁移方法,本申请实施例还提供一种数据迁移装置,请参考图4,该装置可以包括以下单元:
获取单元401,用于获取待迁移文件的源存储位置。
其中,源存储位置指代待迁移文件在源集群的存储位置。
生成单元402,用于生成携带有源存储位置的迁移命令。
调用单元403,用于利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个数据迁移线程。
其中,数据迁移线程用于将待迁移文件迁移至目标集群的目标存储位置。
扫描单元404,用于在数据迁移线程运行时,利用数据迁移工具按一定的扫描间隔扫描得到每一个数据迁移线程的进度信息,并基于进度信息实时在显示设备上显示对应的迁移进度。
生成单元402生成携带有源存储位置的迁移命令时,具体用于:
按预设的格式组合源存储位置,预设的目标存储位置和预设的任务并发数量N,得到迁移命令。
其中,调用单元403利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个数据迁移线程时,具体用于:
利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动N个数据迁移线程。
可选的,所述数据迁移装置还包括:
测试单元405,用于利用源集群的网络地址与源集群建立网络连接,并测试网络连接是否稳定。
其中,获取单元获取待迁移文件的源存储位置时,具体用于:
若网络连接不稳定,放弃本次数据迁移;
若网络连接稳定,则执行获取待迁移文件的源存储位置。
可选的,所述数据迁移装置还包括:
检测单元406,用于在数据迁移线程运行时,实时检测每一个数据迁移线程是否发生异常退出;
若检测到任意一个数据迁移线程发生异常退出,基于预设的线程拉起策略拉起发生异常退出的数据迁移线程。
可选的,生成单元402生成携带有源存储位置的迁移命令时,具体用于:
按预设的格式组合源存储位置,预设的目标存储位置和预设的重试次数,得到迁移命令。
检测单元406基于预设的线程拉起策略拉起发生异常退出的数据迁移线程时,具体用于:
判断发生异常退出的数据迁移线程,在本次数据迁移中累计发生异常退出的次数是否大于重试次数;
若发生异常退出的数据迁移线程,在本次数据迁移中累计发生异常退出的次数大于重试次数,则不执行拉起发生异常退出的数据迁移线程;
若发生异常退出的数据迁移线程在本次数据迁移中累计发生异常退出的次数小于或等于重试次数,则执行拉起发生异常退出的数据迁移线程。
本申请实施例所提供的数据迁移装置的具体工作原理可以参考本申请任一实施例所提供的数据迁移方法中的对应步骤,此处不再赘述。
本申请提供一种数据迁移装置,该装置中,获取单元401获取待迁移文件的源存储位置;生成单元402生成携带有源存储位置的迁移命令;调用单元403利用迁移命令调用目标集群的数据迁移工具,从而触发数据迁移工具启动至少一个用于将源集群的待迁移文件迁移至预设的目标集群的目标存储位置的数据迁移线程;扫描单元404在数据迁移线程运行时,利用数据迁移工具按一定的扫描间隔扫描每一个数据迁移线程的进度信息,并基于进度信息在显示设备上实时显示对应的迁移进度。本方案通过实时扫描每一个数据迁移进程,实现在显示设备上实时的显示当前的迁移进度,从而有助于有关人员及时发现数据迁移过程中的问题,提高数据迁移的效率。
本申请实施例还提供一种计算机存储介质,用于存储计算机程序,存储的计算机程序被执行时,具体用于实现本申请任一实施例所提供的数据迁移方法。
本申请实施例还提供一种电子设备,请参考图5,该电子设备包括存储器501和处理器502。
其中,存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,具体用于实现本申请任一实施例所提供的数据迁移方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据迁移的方法,其特征在于,应用于目标集群,所述方法包括:
获取待迁移文件的源存储位置;其中,所述源存储位置指代所述待迁移文件在源集群的存储位置;
生成携带有所述源存储位置的迁移命令;
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程;其中,所述数据迁移线程用于将所述待迁移文件迁移至所述目标集群的目标存储位置;
在所述数据迁移线程运行时,利用所述数据迁移工具按一定的扫描间隔扫描得到每一个所述数据迁移线程的进度信息,并基于所述进度信息实时在显示设备上显示对应的迁移进度。
2.根据权利要求1所述的方法,其特征在于,所述生成携带有所述源存储位置的迁移命令,包括:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的任务并发数量N,得到所述迁移命令;
其中,所述利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程,包括:
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动N个数据迁移线程。
3.根据权利要求1所述的方法,其特征在于,所述获取待迁移文件的源存储位置之前,还包括:
利用所述源集群的网络地址与所述源集群建立网络连接,并测试所述网络连接是否稳定;
若所述网络连接不稳定,则不执行所述获取待迁移文件的源存储位置;
若所述网络连接稳定,则执行所述获取待迁移文件的源存储位置。
4.根据权利要求1所述的方法,其特征在于,所述利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程之后,还包括:
在所述数据迁移线程运行时,实时检测每一个数据迁移线程是否发生异常退出;
若检测到任意一个所述数据迁移线程发生异常退出,拉起发生异常退出的所述数据迁移线程。
5.根据权利要求4所述的方法,其特征在于,所述生成携带有所述源存储位置的迁移命令,包括:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的重试次数,得到所述迁移命令;
其中,所述拉起发生异常退出的所述数据迁移线程之前,还包括:
判断发生异常退出的所述数据迁移线程,在本次数据迁移中累计发生异常退出的次数是否大于所述重试次数;
若发生异常退出的所述数据迁移线程,在本次数据迁移中累计发生异常退出的次数大于所述重试次数,则不执行所述拉起发生异常退出的所述数据迁移线程;
若发生异常退出的所述数据迁移线程在本次数据迁移中累计发生异常退出的次数小于或等于所述重试次数,则执行所述拉起发生异常退出的所述数据迁移线程。
6.一种数据迁移的装置,其特征在于,应用于目标集群,包括:
获取单元,用于获取待迁移文件的源存储位置;其中,所述源存储位置指代所述待迁移文件在源集群的存储位置;
生成单元,用于生成携带有所述源存储位置的迁移命令;
调用单元,用于利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程;其中,所述数据迁移线程用于将所述待迁移文件迁移至所述目标集群的目标存储位置;
扫描单元,用于在所述数据迁移线程运行时,利用所述数据迁移工具按一定的扫描间隔扫描得到每一个所述数据迁移线程的进度信息,并基于所述进度信息实时在显示设备上显示对应的迁移进度。
7.根据权利要求6所述的装置,其特征在于,所述生成单元生成携带有所述源存储位置的迁移命令时,具体用于:
按预设的格式组合所述源存储位置,预设的目标存储位置和预设的任务并发数量N,得到所述迁移命令;
其中,所述调用单元利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动至少一个数据迁移线程时,具体用于:
利用所述迁移命令调用所述目标集群的数据迁移工具,从而触发所述数据迁移工具启动N个数据迁移线程。
8.根据权利要求6所述的装置,其特征在于,还包括:
测试单元,用于利用所述源集群的网络地址与所述源集群建立网络连接,并测试所述网络连接是否稳定;
其中,所述获取单元获取待迁移文件的源存储位置时,具体用于:
若所述网络连接不稳定,放弃本次数据迁移;
若所述网络连接稳定,则执行所述获取待迁移文件的源存储位置。
9.一种电子设备,其特征在于,包括存储器和处理器;
其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,具体用于实现如权利要求1至5任意一项所述的数据迁移的方法。
10.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,用于实现如权利要求1至5任意一项所述的数据迁移的方法。
CN202010850464.7A 2020-08-21 2020-08-21 数据迁移的方法、装置、电子设备和计算机存储介质 Pending CN112000292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010850464.7A CN112000292A (zh) 2020-08-21 2020-08-21 数据迁移的方法、装置、电子设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010850464.7A CN112000292A (zh) 2020-08-21 2020-08-21 数据迁移的方法、装置、电子设备和计算机存储介质

Publications (1)

Publication Number Publication Date
CN112000292A true CN112000292A (zh) 2020-11-27

Family

ID=73473157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010850464.7A Pending CN112000292A (zh) 2020-08-21 2020-08-21 数据迁移的方法、装置、电子设备和计算机存储介质

Country Status (1)

Country Link
CN (1) CN112000292A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684982A (zh) * 2020-12-25 2021-04-20 北京浪潮数据技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN113157645A (zh) * 2021-04-21 2021-07-23 平安科技(深圳)有限公司 集群数据迁移方法、装置、设备及存储介质
CN113204521A (zh) * 2021-04-30 2021-08-03 平安科技(深圳)有限公司 数据迁移方法、装置、计算机设备及存储介质
CN113268466A (zh) * 2021-06-07 2021-08-17 上海数禾信息科技有限公司 消息集群平滑迁移的方法及系统
CN114896201A (zh) * 2022-07-13 2022-08-12 广东电网有限责任公司 一种数字电网财务数据迁移方法及系统
CN117370310A (zh) * 2023-10-19 2024-01-09 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法
CN117520432A (zh) * 2023-11-30 2024-02-06 广州方舟信息科技有限公司 基于模板的数据传输方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280148A (zh) * 2018-01-02 2018-07-13 中国民生银行股份有限公司 一种数据迁移方法和数据迁移服务器
CN109271098A (zh) * 2018-07-18 2019-01-25 成都华为技术有限公司 一种数据迁移方法及装置
CN109901786A (zh) * 2017-12-08 2019-06-18 腾讯科技(深圳)有限公司 数据迁移方法、系统、装置及计算机可读存储介质
CN110807013A (zh) * 2018-08-03 2020-02-18 阿里巴巴集团控股有限公司 用于分布式数据存储集群的数据迁移方法和装置
CN111064789A (zh) * 2019-12-18 2020-04-24 北京三快在线科技有限公司 数据迁移的方法和系统
CN111190551A (zh) * 2020-01-04 2020-05-22 深圳猛犸电动科技有限公司 一种redis数据的迁移系统、迁移方法、装置及终端
CN111367889A (zh) * 2020-03-09 2020-07-03 中国工商银行股份有限公司 基于网页界面的跨集群数据迁移方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901786A (zh) * 2017-12-08 2019-06-18 腾讯科技(深圳)有限公司 数据迁移方法、系统、装置及计算机可读存储介质
CN108280148A (zh) * 2018-01-02 2018-07-13 中国民生银行股份有限公司 一种数据迁移方法和数据迁移服务器
CN109271098A (zh) * 2018-07-18 2019-01-25 成都华为技术有限公司 一种数据迁移方法及装置
CN110807013A (zh) * 2018-08-03 2020-02-18 阿里巴巴集团控股有限公司 用于分布式数据存储集群的数据迁移方法和装置
CN111064789A (zh) * 2019-12-18 2020-04-24 北京三快在线科技有限公司 数据迁移的方法和系统
CN111190551A (zh) * 2020-01-04 2020-05-22 深圳猛犸电动科技有限公司 一种redis数据的迁移系统、迁移方法、装置及终端
CN111367889A (zh) * 2020-03-09 2020-07-03 中国工商银行股份有限公司 基于网页界面的跨集群数据迁移方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112684982A (zh) * 2020-12-25 2021-04-20 北京浪潮数据技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN112684982B (zh) * 2020-12-25 2023-12-22 北京浪潮数据技术有限公司 一种数据迁移方法、系统、设备及计算机可读存储介质
CN113157645A (zh) * 2021-04-21 2021-07-23 平安科技(深圳)有限公司 集群数据迁移方法、装置、设备及存储介质
CN113157645B (zh) * 2021-04-21 2023-12-19 平安科技(深圳)有限公司 集群数据迁移方法、装置、设备及存储介质
CN113204521A (zh) * 2021-04-30 2021-08-03 平安科技(深圳)有限公司 数据迁移方法、装置、计算机设备及存储介质
CN113204521B (zh) * 2021-04-30 2023-06-09 平安科技(深圳)有限公司 数据迁移方法、装置、计算机设备及存储介质
CN113268466A (zh) * 2021-06-07 2021-08-17 上海数禾信息科技有限公司 消息集群平滑迁移的方法及系统
CN114896201A (zh) * 2022-07-13 2022-08-12 广东电网有限责任公司 一种数字电网财务数据迁移方法及系统
CN117370310A (zh) * 2023-10-19 2024-01-09 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法
CN117370310B (zh) * 2023-10-19 2024-05-28 中电云计算技术有限公司 一种分布式文件系统跨集群数据增量迁移的方法
CN117520432A (zh) * 2023-11-30 2024-02-06 广州方舟信息科技有限公司 基于模板的数据传输方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN112000292A (zh) 数据迁移的方法、装置、电子设备和计算机存储介质
US10152382B2 (en) Method and system for monitoring virtual machine cluster
CN110516971B (zh) 异常检测的方法、装置、介质和计算设备
WO2019095580A1 (zh) 测试方法、装置、计算机设备及可读存储介质
CN108804215B (zh) 一种任务处理方法、装置以及电子设备
US8335942B2 (en) Hang recovery in software applications
US9124669B2 (en) Cooperative client and server logging
CN109558260B (zh) Kubernetes故障排除系统、方法、设备及介质
CN108763089B (zh) 一种测试方法、装置及系统
CN108170552B (zh) 一种抓取Dump文件的方法、装置和设备
CN113312153B (zh) 一种集群部署方法、装置、电子设备及存储介质
US20120102459A1 (en) Collaborative Software Debugging In A Distributed System With Stacked Event Group Management
US20110225463A1 (en) Detecting and recovering from process failures
US10191844B2 (en) Automatic garbage collection thrashing monitoring
CN109117277B (zh) 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端
CN112596750B (zh) 应用测试方法、装置、电子设备及计算机可读存储介质
KR101346835B1 (ko) 어플리케이션 오류 처리 방법 및 장치
CN110727945B (zh) 病毒扫描方法、设备以及计算机可读介质
CN113434384B (zh) 一种压力测试方法和装置
CN113849356A (zh) 一种设备测试方法、装置、电子设备和存储介质
CN112328423A (zh) 一种搜索服务漏洞的处理方法、装置和存储介质
CN110764882A (zh) 分布式管理方法、分布式管理系统及装置
CN112749042B (zh) 一种应用运行方法和装置
CN114281604B (zh) 数据恢复方法、装置、电子设备及存储介质
CN117376194B (zh) 网络检测方法、系统、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination