CN104239493A - 跨集群数据迁移方法和*** - Google Patents

跨集群数据迁移方法和*** Download PDF

Info

Publication number
CN104239493A
CN104239493A CN201410455695.2A CN201410455695A CN104239493A CN 104239493 A CN104239493 A CN 104239493A CN 201410455695 A CN201410455695 A CN 201410455695A CN 104239493 A CN104239493 A CN 104239493A
Authority
CN
China
Prior art keywords
cluster
data
tables
data base
target cluster
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.)
Granted
Application number
CN201410455695.2A
Other languages
English (en)
Other versions
CN104239493B (zh
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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201410455695.2A priority Critical patent/CN104239493B/zh
Publication of CN104239493A publication Critical patent/CN104239493A/zh
Application granted granted Critical
Publication of CN104239493B publication Critical patent/CN104239493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种跨集群数据迁移方法和***。通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。

Description

跨集群数据迁移方法和***
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种跨集群数据迁移方法和***。
背景技术
随着互联网应用的发展,用户量的激增,数据存储数量呈指数递增,传统的单库存储技术无法满足海量数据的存取需求,HDFS(Hadoop Distributed FileSystem,分布式文件***)和分布式数据库应用而生。
HBase(Hadoop Database,分布式数据库)是一种可扩展的、面向列存储的分布式数据库,利用HDFS作为文件存储***,以数据表的形式存储数据,能在普通硬件环境基础上支撑十亿量级行、百万量级列的大型数据表,并支持对这种规模的数据进行随机存储和读取操作。由于具有高可靠性、高可扩展性、支持随机存取以及支持MapReduce(映射化简)并行计算,因此得到了广泛应用。其中,Hadoop是一个由“Apache”基金会开发的分布式***基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力实现高速运算和海量数据的存取。
实际应用过程中,不可避免地涉及数据迁移,尤其是当线上某个HBase集群需要下线,或者机房维护搬迁的时候,都会面临海量数据迁移的紧迫任务,即把老集群的数据表迁移到新集群中继续为接入业务方提供海量数据存取服务。
现有的数据迁移技术,通常采用Hadoop的数据拷贝组件进行分布式拷贝,从而达到将一个集群中的数据表迁移到新集群的目的。当数据拷贝完成后,启动新集群相关服务进程。
上述数据迁移技术存在的缺陷在于:无法保证迁移后数据的完整性;迁移耗时严格依赖于迁移数据的规模,导致迁移所用时间很难控制,如果集群间网络带宽有限,同时迁移数据又多,很难保证在短暂的迁移窗口完成迁移工作,也即迁移效率低。
发明内容
本发明实施例提供一种跨集群数据迁移方法和***,以确保跨集群数据迁移的完整性和高效性。
第一方面,本发明实施例提供了一种跨集群数据迁移方法,包括:
源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;
源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件***HDFS中;
源集群的主控节点控制对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;
源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;
源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;
如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;
目标集群的主控节点基于启动策略,启动所述目标集群。
第二方面,本发明实施例还提供了一种跨集群数据迁移***,包括源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点;
所述源集群的主控节点包括:
停止模块,用于调用停止命令控制源集群的各子节点停止数据操作;
持久化模块,用于利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件***HDFS中;
压缩模块,用于对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;
统计模块,用于统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;
迁移模块,用于基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
所述目标集群的主控节点包括:
统计模块,用于如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;
解压模块,用于如果匹配成功,则采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;
启动模块,用于基于启动策略,启动所述目标集群。
本发明实施例提供的跨集群数据迁移方法和***,通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。
附图说明
为了更清楚地说明本发明,下面将对本发明中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种跨集群数据迁移方法的流程图;
图2为本发明实施例三提供的一种跨集群数据迁移方法的流程图;
图3a为本发明实施例四提供的一种跨集群数据迁移***中源集群的主控节点的结构示意图;
图3b为本发明实施例四提供的一种跨集群数据迁移***中目标集群的主控节点的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
请参阅图1,为本发明实施例一提供的一种跨集群数据迁移方法的流程图。本发明实施例的方法适用于跨集群数据迁移***,该***包括源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点。其中,源集群的主控节点和至少一个子节点形成HDFS,源集群中存储有待迁移的数据表;目标集群的主控节点和至少一个子节点也可形成HDFS,用于迁移存储源集群中的数据表。
该方法包括:
步骤110、源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;
本步骤具体是通过将源集群的各子节点停止数据操作,使得迁移前各节点中的数据持久化。具体地,可以通知各子节点对应的业务方停止数据写入或者读取操作,然后调用停止命令使源集群的各子节点停止数据操作。当然,也可以直接调用停止命令使源集群的各子节点停止数据操作。
步骤120、源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到HDFS中;
本步骤具体是将源集群的分布式数据库中的数据持久化。
其中所述清空缓冲区组件用于将暂存在所述分布式数据库的内存中的数据持久化到HDFS的磁盘中。
步骤130、源集群的主控节点控制对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;
本步骤具体是对源集群中的待迁移的数据表进行压缩。具体地,可以通过查看各数据表的压缩状态,对未进行压缩的数据表进行压缩,具体可以采用LZO(Lempel-Ziv-Oberhumer)压缩算法、SNAPPY压缩算法或其他压缩算法。
其中,LZO压缩算法是一种高压缩比和解压速度极快的压缩算法,为无损压缩,也即压缩后的数据能准确还原。SNAPPY压缩算法是一个用于压缩和解压缩的开发包,旨在提供高速压缩速度和合理的压缩率。
分布式数据库利用HDFS作为文件存储***,以数据表的形式存储数据,能在普通硬件环境基础上支撑十亿量级行、百万量级列的大型数据表,因此通过对待迁移的数据表进行压缩,能够有效减少数据传输率,有利于提高数据迁移效率。
步骤140、源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;
本步骤中,源集群的分布式数据库所包含的数据表作为待迁移的数据表,可以存储在该分布式数据库的根目录中,由于源集群的分布式数据库利用HDFS作为文件存储***,因此基于HDFS形成了磁盘存储空间,该磁盘存储空间是源集群的各子节点的磁盘存储空间的总和,所述数据表在所述HDFS的磁盘存储空间中所占用的存储空间即为所述第一存储空间。
由于待迁移的数据表存储的数据量非常大,实际存储过程中,对所述待迁移的数据表采用的是分布式存储,也即将所述待迁移的数据表进行分块,形成多个文件块,将不同的文件块存储在源集群的不同子节点的磁盘中。所述第一总文件块数是指待迁移的数据表对应的文件块的块数的总和。
步骤150、源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
本步骤具体是将源集群中分布式数据库中的数据表迁移至目标集群的分布式数据库中。
需要说明的是,步骤110中只是停止源集群的分布式数据库提供的数据存取服务,而源集群的HDFS的服务仍正常运行。
还需要说明的是,根据目标集群所包含的节点的IP地址和主机名的映射关系,源集群的主控节点能够找到目标集群的HDFS,从而基于所述映射关系,能够实现源集群中分布式数据库中的数据表迁移至目标集群的HDFS中,由于目标集群的分布式数据库利用HDFS作为文件存储***,从而能够实现源集群中分布式数据库中的数据表迁移至目标集群的分布式数据库中。
步骤160、如果获取到源集群的MapReduce(映射化简)进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;
本步骤具体是在监测到所述数据表迁移完成之后,首先统计目标集群的分布式数据库的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,然后将所述第二存储空间大小与所述第一存储空间大小进行比对,并将第二总文件块数与所述第一总文件块数进行比对。
本步骤中所述第二存储空间大小和所述第二总文件块数与所述第一存储空间大小和所述第一总文件块数类似,此处不再赘述。
其中,MapReduce是一种实现分布式并行计算任务的通用编程模型,用于处理大规模数据的并行运算。通过MapReduce进程的网页管理界面可以监测具体的迁移情况,例如,实时迁移速度、迁移百分比、估计剩余时间和已迁移数据的描述信息等。
步骤170、如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;
本步骤中匹配成功是指迁移前的源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小与迁移后所占用的目标集群的HDFS的第二存储空间大小一致,以及迁移前的总文件块数与迁移后的总文件块数一致,也即所述匹配成功即为源集群的分布式数据库中的数据表被完整地迁移到了目标集群的分布式数据库中。
本步骤具体是在数据表完整迁移之后,解压迁移至目标集群中数据表。
步骤180、目标集群的主控节点基于启动策略,启动所述目标集群。
本步骤具体是启动所述目标集群,以使所述目标集群的各节点正常工作。
本实施例的技术方案,通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。
实施例二
本实施例在上述实施例的基础上,在源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,还包括:
源集群的主控节点利用源集群的分布式数据库的完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。
本步骤具体是在对待迁移的数据表进行压缩之后,清除所述源集群的分布式数据库的磁盘存储空间中的失效的数据表,以进一步减少迁移的数据量,提高迁移效率。
其中,所述预设清除策略可以有多种实现方式,例如包括下述至少一种:
将所述源集群的分布式数据库的磁盘存储空间中的带有删除标识的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的达到生存时间的数据表作为待清除的数据表;
需要说明的是,可以根据需要预先设置数据表的生存时间,根据数据表的生存时间淘汰过期的数据表。以电子商务平台为例,通常,会根据促销活动的持续时间设置对应的数据表的生存时间,例如30天、7天、或特定的某一天中的某个时段,如店庆这一天从早上10点到晚上10点,在店庆结束时,生存时间针对此次店庆的数据表即为过期的数据表,通过清除过期的数据表,有利于节省存储空间和提高迁移效率。
将所述源集群的分布式数据库的磁盘存储空间中的最大版本数大于门限值的数据表作为待清除的数据表。
需要说明的是,可以根据需要预先设置数据表的最大版本数,通常设置为3。对于更新比较频繁的数据表可以设置为1,从而能够快速地淘汰失效的数据表,有利于节省存储空间和提高迁移效率。
本实施例的技术方案,在对迁移前源集群的分布式数据库中的数据进行持久化之后,对待迁移的数据表进行压缩,能够减小传输的数据量,并且通过清除所述源集群的分布式数据库的磁盘存储空间中的失效的数据表,能够进一步减少迁移的数据量,将源集群的分布式数据库中的经过压缩和清除操作的数据表迁移至目标集群中,提高了迁移效率;通过将迁移前的源集群的分布式数据库的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。
在上述方案中,可以通过调用源集群的分布式数据库命令行接口触发清空缓冲区组件和完整文件合并组件。
其中,命令行接口是操作***与用户的交互界面。在Linux操作***中,称命令行接口为shell,其作用主要是为用户提供服务,如接收来自键盘的输入数据,或在屏幕上显示执行结果等。
在上述方案中,在目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压之前,还优选包括:
目标集群的主控节点调用目标集群中的一致性检测组件,检测目标集群的分布式数据库所包含的数据表的一致性;
如果一致,则触发目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压。
需要说明的是,检测数据表的一致性是指检测数据表的描述信息与目标集群的HDFS中真实存在的数据表的属性信息是否一致。如果一致,则触发目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;如果不一致,则利用所述一致性检测组件进行修复。本步骤是在进行数据表迁移完整性验证之后的补充验证,可以提高迁移至目标集群中的数据表的一致性。
实施例三
请参阅图2,为本发明实施例三提供的一种跨集群数据迁移方法的流程图。本实施例在上述各实施例的基础上,提供了目标集群的主控节点基于启动策略,启动所述目标集群的优选方案。该优选方法包括:
步骤210、目标集群的主控节点调用启动命令启动目标集群;
步骤220、如果目标集群的分布式数据库关联的日志文件中不存在错误日志信息或警告日志信息,则目标集群的主控节点调用目标集群的分布式数据库中的整体健康度检查组件,查看目标集群的整体健康度;
本步骤具体是查看目标集群所包含的节点中的与分布式数据库关联的日志文件,如果存在错误日志信息或警告日志信息,则根据提示调用目标集群的分布式数据库的相关组件解决问题;如果不存在错误日志信息或警告日志信息,则利用目标集群的分布式数据库的健康度检查组件,查看目标集群的整体健康度。
其中,查看目标集群的整体健康度包括查看目标集群的数据表是否处于正常状态。
步骤230、目标集群的主控节点调用分布式数据库的命令行接口将所述数据表的状态置为使能状态。
本步骤具体是根据步骤220中的目标集群的整体健康度的检测结果,使目标集群中的数据表的状态维持在“使能”的正常状态。
本实施例的技术方案,通过在启动目标集群之后,查看目标集群所包含的节点中的与分布式数据库关联的日志文件,如果存在错误日志信息或警告日志信息,则根据提示调用目标集群的分布式数据库的相关组件解决问题;如果不存在错误日志信息或警告日志信息,则利用目标集群的分布式数据库的健康度检查组件,查看目标集群的整体健康度;并基于目标集群的整体健康度的检测结果,使目标集群中的数据表的状态维持在“使能”的正常状态,从而使目标集群中的数据表能够提供正常的存取服务。
在上述方案中,在通过目标集群的分布式数据库管理页面,如果目标集群的分布式数据库所包含的数据表没有处于使能状态,则目标集群的主控节点调用分布式数据库的命令行接口将所述数据表的状态置为使能状态之后,还优选包括:
将目标集群所包含的节点的IP地址与主机名称的映射关系,以及目标集群的分布式数据库中的连接信息发送至业务方,并通知所述业务方对目标集群的数据服务进行验证。
实施例四
请参阅图3a和图3b。本发明实施例四提供一种跨集群数据迁移***,该***包括:源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点。
所述源集群的主控节点包括:停止模块310、持久化模块320、压缩模块330、统计模块340和迁移模块350。
所述目标集群的主控节点包括:统计模块360、解压模块370和启动模块380。
其中,停止模块310用于调用停止命令控制源集群的各子节点停止数据操作;持久化模块320用于利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到HDFS中;压缩模块330用于对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;统计模块340用于统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;迁移模块350用于基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
其中,统计模块360用于如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;解压模块370用于如果匹配成功,则采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;启动模块380用于基于启动策略,启动所述目标集群。
本实施例的技术方案,通过使源集群的各子节点停止数据操作,以及将源集群的分布式数据库的内存中的数据持久化,能够实现迁移前源集群的分布式数据库中的数据持久化;通过对源集群的分布式数据库中的数据表进行压缩,能够减小数据传送量,将源集群的分布式数据库中的压缩后的数据表迁移至目标集群中,提高了迁移效率;然后通过将迁移前的源集群的分布式数据库中的数据表所占用的存储空间大小及总文件块数,与迁移后的目标集群的数据表占有的存储空间大小和总文件块数进行匹配,能够根据匹配结果验证迁移的完整性。
在上述方案中,所述源集群的主控节点还优选包括:清除模块,用于在统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,利用源集群的分布式数据库的完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。
在上述方案中,所述预设清除策略包括下述至少一项:
将所述源集群的分布式数据库的磁盘存储空间中的带有删除标识的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的达到生存时间的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的最大版本数大于门限值的数据表作为待清除的数据表。
在上述方案中,所述持久化模块310具体用于通过调用源集群的分布式数据库命令行接口触发清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件***HDFS中;所述清除模块,具体用于在统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,通过调用源集群的分布式数据库命令行接口触发完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。
在上述方案中,所述目标集群的主控节点还优选包括:一致性检测模块,用于在采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压之前,调用目标集群中的一致性检测组件,检测目标集群的分布式数据库所包含的数据表的一致性;如果一致,则触发目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压。
在上述方案中,所述启动模块390优选包括:启动单元、整体健康度检测单元和数据表状态设置单元。
其中,启动单元用于调用启动命令启动目标集群;整体健康度检测单元用于如果目标集群的分布式数据库关联的日志文件中不存在错误日志信息或警告日志信息,则调用目标集群的分布式数据库中的整体健康度检查组件,查看目标集群的整体健康度;数据表状态设置单元用于调用分布式数据库的命令行接口将所述数据表的状态置为使能状态。
在上述方案中,所述启动模块390还可以包括:数据服务验证单元,用于在通过目标集群的分布式数据库管理页面,如果目标集群的分布式数据库所包含的数据表没有处于使能状态,则调用分布式数据库的命令行接口将所述数据表的状态置为使能状态之后,将目标集群所包含的节点的IP地址与主机名称的映射关系,以及目标集群的分布式数据库中的连接信息发送至业务方,并通知所述业务方对目标集群的数据服务进行验证。
本发明实施例提供的跨集群数据迁移***中源集群的主控节点和目标集群的主控节点可执行本发明任意实施例所提供的跨集群数据迁移方法,具备执行方法相应的功能模块和有益效果。
最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其进行限制;实施例中优选的实施方式,并非对其进行限制,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种跨集群数据迁移方法,其特征在于,包括:
源集群的主控节点调用停止命令控制源集群的各子节点停止数据操作;
源集群的主控节点利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件***HDFS中;
源集群的主控节点控制对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;
源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;
源集群的主控节点基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则目标集群的主控节点统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;
如果匹配成功,则目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;
目标集群的主控节点基于启动策略,启动所述目标集群。
2.根据权利要求1所述的方法,其特征在于,在源集群的主控节点统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,还包括:
源集群的主控节点利用源集群的分布式数据库的完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。
3.根据权利要求2所述的方法,其特征在于,所述预设清除策略包括下述至少一项:
将所述源集群的分布式数据库的磁盘存储空间中的带有删除标识的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的达到生存时间的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的最大版本数大于门限值的数据表作为待清除的数据表。
4.根据权利要求2所述的方法,其特征在于,通过调用源集群的分布式数据库命令行接口触发清空缓冲区组件和完整文件合并组件。
5.根据权利要求1所述的方法,其特征在于,在目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压之前,还包括:
目标集群的主控节点调用目标集群中的一致性检测组件,检测目标集群的分布式数据库所包含的数据表的一致性;
如果一致,则触发目标集群的主控节点采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压。
6.根据权利要求1-5任一所述的方法,其特征在于,目标集群的主控节点基于启动策略,启动所述目标集群,包括:
目标集群的主控节点调用启动命令启动目标集群;
如果目标集群的分布式数据库关联的日志文件中不存在错误日志信息或警告日志信息,则目标集群的主控节点调用目标集群的分布式数据库中的整体健康度检查组件,查看目标集群的整体健康度;
目标集群的主控节点调用分布式数据库的命令行接口将所述数据表的状态置为使能状态。
7.根据权利要求6所述的方法,其特征在于,在通过目标集群的分布式数据库管理页面,如果目标集群的分布式数据库所包含的数据表没有处于使能状态,则目标集群的主控节点调用分布式数据库的命令行接口将所述数据表的状态置为使能状态之后,还包括:
将目标集群所包含的节点的IP地址与主机名称的映射关系,以及目标集群的分布式数据库中的连接信息发送至业务方,并通知所述业务方对目标集群的数据服务进行验证。
8.一种跨集群数据迁移***,包括源集群和目标集群,所述源集群包括主控节点和至少一个子节点,所述目标集群包括主控节点和至少一个子节点,其特征在于:
所述源集群的主控节点包括:
停止模块,用于调用停止命令控制源集群的各子节点停止数据操作;
持久化模块,用于利用源集群的分布式数据库的清空缓冲区组件,将所述分布式数据库内存中的数据持久化到分布式文件***HDFS中;
压缩模块,用于对源集群的分布式数据库所包含的数据表,采用设定的压缩算法进行压缩;
统计模块,用于统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数;
迁移模块,用于基于预先获取的目标集群所包含的节点的IP地址与主机名称的映射关系,将源集群中分布式数据库中的数据表迁移至所述目标集群的分布式数据库中;
所述目标集群的主控节点包括:
统计模块,用于如果获取到源集群的映射化简进程的网页管理界面返回的数据迁移完成消息,则统计目标集群的分布式数据库中的数据表占有的对应的HDFS的第二存储空间大小和第二总文件块数,并将所述第二存储空间大小和第二总文件块数与所述第一存储空间大小和所述第一总文件块数匹配;
解压模块,用于如果匹配成功,则采用与所述设定的压缩算法对应的解压算法对迁移至目标集群中的数据表进行解压;
启动模块,用于基于启动策略,启动所述目标集群。
9.根据权利要求8所述的***,其特征在于,所述源集群的主控节点还包括:
清除模块,用于在统计源集群的分布式数据库中的数据表所占用的HDFS的第一存储空间大小及第一总文件块数之前,利用源集群的分布式数据库的完整文件合并组件,清除所述源集群的分布式数据库的磁盘存储空间中符合预设清除策略的数据表。
10.根据权利要求9所述的***,其特征在于,所述预设清除策略包括下述至少一项:
将所述源集群的分布式数据库的磁盘存储空间中的带有删除标识的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的达到生存时间的数据表作为待清除的数据表;
将所述源集群的分布式数据库的磁盘存储空间中的最大版本数大于门限值的数据表作为待清除的数据表。
CN201410455695.2A 2014-09-09 2014-09-09 跨集群数据迁移方法和*** Active CN104239493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410455695.2A CN104239493B (zh) 2014-09-09 2014-09-09 跨集群数据迁移方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410455695.2A CN104239493B (zh) 2014-09-09 2014-09-09 跨集群数据迁移方法和***

Publications (2)

Publication Number Publication Date
CN104239493A true CN104239493A (zh) 2014-12-24
CN104239493B CN104239493B (zh) 2017-05-10

Family

ID=52227552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410455695.2A Active CN104239493B (zh) 2014-09-09 2014-09-09 跨集群数据迁移方法和***

Country Status (1)

Country Link
CN (1) CN104239493B (zh)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069128A (zh) * 2015-08-14 2015-11-18 北京京东尚科信息技术有限公司 数据同步方法和装置
CN105159970A (zh) * 2015-08-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种数据库数据迁移***及方法
CN105808612A (zh) * 2014-12-31 2016-07-27 北京嘀嘀无限科技发展有限公司 用于迁移数据库的数据的方法及设备
CN106484379A (zh) * 2015-08-28 2017-03-08 华为技术有限公司 一种应用的处理方法及装置
CN106777164A (zh) * 2016-12-20 2017-05-31 东软集团股份有限公司 一种数据迁移集群及数据迁移方法
CN106933859A (zh) * 2015-12-30 2017-07-07 ***通信集团公司 一种医疗数据的迁移方法和装置
CN107016075A (zh) * 2017-03-27 2017-08-04 聚好看科技股份有限公司 集群数据同步方法及装置
CN107515782A (zh) * 2017-07-26 2017-12-26 北京天云融创软件技术有限公司 一种Docker环境下容器跨主机迁移的实现方法
CN107704633A (zh) * 2017-11-01 2018-02-16 郑州云海信息技术有限公司 一种文件迁移的方法和***
CN108021585A (zh) * 2016-10-28 2018-05-11 腾讯科技(深圳)有限公司 分布式数据存储方法和装置
CN108234566A (zh) * 2016-12-21 2018-06-29 阿里巴巴集团控股有限公司 一种集群的数据处理方法及装置
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN109544072A (zh) * 2018-11-21 2019-03-29 北京京东尚科信息技术有限公司 热点库存本地化扣减方法、***、设备以及介质
CN109542882A (zh) * 2018-12-05 2019-03-29 南京中孚信息技术有限公司 一种数据库迁移方法及装置
CN109818794A (zh) * 2019-01-31 2019-05-28 北京搜狐互联网信息服务有限公司 集群迁移方法及工具
CN110209731A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据同步方法、装置、及存储介质、电子装置
CN110263044A (zh) * 2019-06-21 2019-09-20 深圳前海微众银行股份有限公司 数据存储方法、装置、设备及计算机可读存储介质
CN110704540A (zh) * 2019-10-10 2020-01-17 云南中烟工业有限责任公司 一种采集数据过程中评估源端及目标端数据质量的方法
CN110955720A (zh) * 2018-09-27 2020-04-03 阿里巴巴集团控股有限公司 一种数据加载方法、装置及***
CN111064789A (zh) * 2019-12-18 2020-04-24 北京三快在线科技有限公司 数据迁移的方法和***
CN111274213A (zh) * 2020-02-13 2020-06-12 苏州浪潮智能科技有限公司 一种分布式文件***HDFS跨Insight集群实时数据传输方法与***
CN111367889A (zh) * 2020-03-09 2020-07-03 中国工商银行股份有限公司 基于网页界面的跨集群数据迁移方法和装置
CN111756562A (zh) * 2019-03-29 2020-10-09 深信服科技股份有限公司 一种集群接管方法、***及相关组件
CN112799912A (zh) * 2021-01-27 2021-05-14 苏州浪潮智能科技有限公司 一种ams***的数据监控方法、装置及***
CN113297166A (zh) * 2020-07-27 2021-08-24 阿里巴巴集团控股有限公司 数据处理***、方法以及装置
CN110209653B (zh) * 2019-06-04 2021-11-23 中国农业银行股份有限公司 HBase数据迁移方法及迁移装置
CN113760856A (zh) * 2020-06-05 2021-12-07 京东数字科技控股有限公司 数据库管理方法及装置、计算机可读存储介质、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958808A (zh) * 2010-10-18 2011-01-26 华东交通大学 一种服务于多网格接入的集群任务调度管理器
US20120198269A1 (en) * 2011-01-27 2012-08-02 International Business Machines Corporation Method and apparatus for application recovery in a file system
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度***与调度方法
US20140040575A1 (en) * 2012-08-01 2014-02-06 Netapp, Inc. Mobile hadoop clusters

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958808A (zh) * 2010-10-18 2011-01-26 华东交通大学 一种服务于多网格接入的集群任务调度管理器
US20120198269A1 (en) * 2011-01-27 2012-08-02 International Business Machines Corporation Method and apparatus for application recovery in a file system
US20120284558A1 (en) * 2011-01-27 2012-11-08 International Business Machines Corporation Application recovery in a file system
CN103329105A (zh) * 2011-01-27 2013-09-25 国际商业机器公司 文件***中的应用恢复
US20140040575A1 (en) * 2012-08-01 2014-02-06 Netapp, Inc. Mobile hadoop clusters
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度***与调度方法

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808612A (zh) * 2014-12-31 2016-07-27 北京嘀嘀无限科技发展有限公司 用于迁移数据库的数据的方法及设备
CN105808612B (zh) * 2014-12-31 2019-08-27 北京嘀嘀无限科技发展有限公司 用于迁移数据库的数据的方法及设备
CN105069128B (zh) * 2015-08-14 2018-11-09 北京京东尚科信息技术有限公司 数据同步方法和装置
CN105069128A (zh) * 2015-08-14 2015-11-18 北京京东尚科信息技术有限公司 数据同步方法和装置
CN105159970A (zh) * 2015-08-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种数据库数据迁移***及方法
CN105159970B (zh) * 2015-08-25 2019-03-15 浪潮(北京)电子信息产业有限公司 一种数据库数据迁移***及方法
CN106484379B (zh) * 2015-08-28 2019-11-29 华为技术有限公司 一种应用的处理方法及装置
CN106484379A (zh) * 2015-08-28 2017-03-08 华为技术有限公司 一种应用的处理方法及装置
CN106933859B (zh) * 2015-12-30 2020-10-20 ***通信集团公司 一种医疗数据的迁移方法和装置
CN106933859A (zh) * 2015-12-30 2017-07-07 ***通信集团公司 一种医疗数据的迁移方法和装置
CN108021585A (zh) * 2016-10-28 2018-05-11 腾讯科技(深圳)有限公司 分布式数据存储方法和装置
CN106777164B (zh) * 2016-12-20 2020-07-10 东软集团股份有限公司 一种数据迁移集群及数据迁移方法
CN106777164A (zh) * 2016-12-20 2017-05-31 东软集团股份有限公司 一种数据迁移集群及数据迁移方法
CN108234566A (zh) * 2016-12-21 2018-06-29 阿里巴巴集团控股有限公司 一种集群的数据处理方法及装置
CN107016075A (zh) * 2017-03-27 2017-08-04 聚好看科技股份有限公司 集群数据同步方法及装置
CN107515782A (zh) * 2017-07-26 2017-12-26 北京天云融创软件技术有限公司 一种Docker环境下容器跨主机迁移的实现方法
CN107704633A (zh) * 2017-11-01 2018-02-16 郑州云海信息技术有限公司 一种文件迁移的方法和***
CN110955720A (zh) * 2018-09-27 2020-04-03 阿里巴巴集团控股有限公司 一种数据加载方法、装置及***
CN110955720B (zh) * 2018-09-27 2023-04-07 阿里巴巴集团控股有限公司 一种数据加载方法、装置及***
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN109544072A (zh) * 2018-11-21 2019-03-29 北京京东尚科信息技术有限公司 热点库存本地化扣减方法、***、设备以及介质
CN109542882B (zh) * 2018-12-05 2020-11-06 南京中孚信息技术有限公司 一种数据库迁移方法及装置
CN109542882A (zh) * 2018-12-05 2019-03-29 南京中孚信息技术有限公司 一种数据库迁移方法及装置
CN109818794A (zh) * 2019-01-31 2019-05-28 北京搜狐互联网信息服务有限公司 集群迁移方法及工具
CN111756562B (zh) * 2019-03-29 2023-07-14 深信服科技股份有限公司 一种集群接管方法、***及相关组件
CN111756562A (zh) * 2019-03-29 2020-10-09 深信服科技股份有限公司 一种集群接管方法、***及相关组件
CN110209731A (zh) * 2019-04-25 2019-09-06 深圳壹账通智能科技有限公司 数据同步方法、装置、及存储介质、电子装置
CN110209653B (zh) * 2019-06-04 2021-11-23 中国农业银行股份有限公司 HBase数据迁移方法及迁移装置
CN110263044B (zh) * 2019-06-21 2023-03-31 深圳前海微众银行股份有限公司 数据存储方法、装置、设备及计算机可读存储介质
CN110263044A (zh) * 2019-06-21 2019-09-20 深圳前海微众银行股份有限公司 数据存储方法、装置、设备及计算机可读存储介质
CN110704540B (zh) * 2019-10-10 2023-05-02 云南中烟工业有限责任公司 一种采集数据过程中评估源端及目标端数据质量的方法
CN110704540A (zh) * 2019-10-10 2020-01-17 云南中烟工业有限责任公司 一种采集数据过程中评估源端及目标端数据质量的方法
CN111064789A (zh) * 2019-12-18 2020-04-24 北京三快在线科技有限公司 数据迁移的方法和***
CN111274213B (zh) * 2020-02-13 2022-07-15 苏州浪潮智能科技有限公司 一种分布式文件***HDFS跨Insight集群实时数据传输方法与***
CN111274213A (zh) * 2020-02-13 2020-06-12 苏州浪潮智能科技有限公司 一种分布式文件***HDFS跨Insight集群实时数据传输方法与***
CN111367889B (zh) * 2020-03-09 2023-08-04 中国工商银行股份有限公司 基于网页界面的跨集群数据迁移方法和装置
CN111367889A (zh) * 2020-03-09 2020-07-03 中国工商银行股份有限公司 基于网页界面的跨集群数据迁移方法和装置
CN113760856A (zh) * 2020-06-05 2021-12-07 京东数字科技控股有限公司 数据库管理方法及装置、计算机可读存储介质、电子设备
CN113297166A (zh) * 2020-07-27 2021-08-24 阿里巴巴集团控股有限公司 数据处理***、方法以及装置
CN112799912A (zh) * 2021-01-27 2021-05-14 苏州浪潮智能科技有限公司 一种ams***的数据监控方法、装置及***

Also Published As

Publication number Publication date
CN104239493B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN104239493A (zh) 跨集群数据迁移方法和***
US10514971B2 (en) Dispersed b-tree directory trees
US10656866B2 (en) Unidirectional vault synchronization to support tiering
US10229002B2 (en) Process to migrate named objects to a dispersed or distributed storage network (DSN)
US20170286224A1 (en) Optimal slice encoding strategies within a dispersed storage unit
US11449280B1 (en) Dynamic provisioning and activation of storage pools
US20200341670A1 (en) Method, device, and computer readable medium for data deduplication
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及***
US10969962B2 (en) Compacting data in a dispersed storage network
US10558592B2 (en) Priority level adaptation in a dispersed storage network
US11455100B2 (en) Handling data slice revisions in a dispersed storage network
US10552341B2 (en) Zone storage—quickly returning to a state of consistency following an unexpected event
US20190171525A1 (en) Method for partial updating data content in a distributed storage network
US20230004505A1 (en) Generating Messages with Priorities in a Storage Network
US10282135B2 (en) Strong consistency write threshold
CN104965835A (zh) 一种分布式文件***的文件读写方法及装置
US10366062B1 (en) Cycled clustering for redundancy coded data storage systems
US10318445B2 (en) Priority level adaptation in a dispersed storage network
US10678664B1 (en) Hybridized storage operation for redundancy coded data storage systems
US10031805B2 (en) Assigning slices to storage locations based on a predicted lifespan
CN116760661A (zh) 数据存储方法、装置、计算机设备、存储介质和程序产品
CN115981559A (zh) 分布式数据存储方法、装置、电子设备和可读介质
US11620080B2 (en) Data storage method, device and computer program product
CN104850548A (zh) 一种实现大数据平台输入/输出处理的方法及***
US10838660B2 (en) Identifying and processing predefined dispersed storage network workflows

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant