CN109901786B - 数据迁移方法、系统、装置及计算机可读存储介质 - Google Patents
数据迁移方法、系统、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109901786B CN109901786B CN201711297501.0A CN201711297501A CN109901786B CN 109901786 B CN109901786 B CN 109901786B CN 201711297501 A CN201711297501 A CN 201711297501A CN 109901786 B CN109901786 B CN 109901786B
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- migrated
- module
- task
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据迁移方法、系统、装置及计算机可读存储介质,涉及数据存储技术领域。其中的数据迁移方法包括:接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块,指示计算模块根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则,指示数据迁移模块根据迁移规则,迁移待迁移数据。上述数据迁移方法、系统、装置及计算机可读存储介质可减低用户操作繁琐度,提高数据迁移效率。
Description
技术领域
本发明属于数据存储技术领域,尤其涉及一种数据迁移方法、系统、装置及计算机可读存储介质。
背景技术
在现有的各类存储系统中,性能和空间是两个相关性很强的指标,一般性能越高就需要更多的使用空间增加成本,降低成本、降低空间浪费则存储性能也会跟着下降,在存储系统中,往往需要提供不同性能和成本级别的存储,提供给用户多样化可选择的方案。用户的数据是随着时间、空间、社会环境、人文环境等各种外部条件发生着访问热度的变化的,热度越高的数据,访问频率越高,要求性能越高,带来需要的成本越高,热度越低的数据则相反,访问频率低,性能要求低,成本低。用户更希望热度高的数据性能好,热度低的数据成本低。
现有技术中,对海量规模下的分布式存储集群,当用户使用了多种不同成本、性能的存储之后,对于存储上的数据缺少详细的分析,并且都需要用户自己对多种存储上的数据进行迁移,并且都需要用户自己对多种存储上的数据进行迁移,用户需要关注更多的如何降低成本的方面,增加了用户操作的繁琐度。
发明内容
本发明实施例提供一种数据迁移方法、系统、装置及计算机可读存储介质,可以解决在数据迁移时用户操作繁琐的问题。
本发明实施例第一方面提供了一种数据迁移方法,包括:
接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
指示数据迁移模块根据所述迁移规则,迁移所述待迁移数据。
本发明实施例第二方面提供了一种数据迁移系统,包括:
任务管理模块、任务执行模块、计算模块和数据迁移模块;
所述任务管理模块,用于接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述任务执行模块,用于通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述任务管理模块,还用于指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述计算模块,用于根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述任务管理模块,还用于指示数据迁移模块根据所述迁移规则,迁移所述待迁移数据;
所述数据迁移模块,用于根据所述迁移规则,迁移所述待迁移数据。
本发明实施例第三方面提供了一种数据迁移装置,包括:
接收单元,用于接收数据迁移调度任务;
指示单元,用于指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述指示单元,还用于指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述指示单元,还用于指示数据迁移模块根据所述迁移规则,迁移所述待迁移数据。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述本发明实施例第一方面提供的数据迁移方法。
从上述本发明实施例可知,本发明提供的数据迁移方法、系统、装置或计算机可读存储介质,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据迁移方法、系统及装置的应用环境图;
图2为本发明实施例中数据迁移系统的硬件结构图;
图3为本发明第一实施例提供的数据迁移方法的流程示意图;
图4为本发明实施例中创建数据迁移调度任务的系统结构示意图;
图5为本发明第二实施例提供的数据迁移方法的流程示意图;
图6为本发明实施例中创建及执行解析导入任务的系统结构示意图;
图7为本发明实施例中创建及执行数据迁移任务的系统结构示意图;
图8为本发明实施例中整理存储节点中存储空间的系统结构示意图;
图9为本发明第三实施例提供的数据迁移系统的结构示意图;
图10为本发明第四实施例提供的数据迁移系统的结构示意图;
图11为本发明第五实施例提供的数据迁移装置的结构示意图;
图12示出了一种服务器的硬件结构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1为本发明实施例提供的数据迁移方法、系统及装置的应用环境图。如图1所示,以下各本发明实施例的典型应用场景是利用数据迁移系统130在第一分布式存储平台110和第二分布式存储平台120之间完成数据高速迁移。
第一分布式存储平台110为多副本的分布式存储系统,包括多台存储服务器。第二分布式存储平台120为分布式存储系统,成本及性能相较于第一分布式存储平台110要小,也包括多台存储服务器。多台存储服务器用于存储如即时通信客户端用户共享的或收藏图片、视频、音频以及应用程序等文件数据。
第一分布式存储平台110上保有的存量数据通常有2份或2份以上的备份,随着时间和访问粒度的推移,访问热度会逐渐由热变冷,当数据访问热度变冷时,继续提供2份或2份以上的备份读写能力就成为一种资源浪费。而且各种数据都存在访问热度逐渐变冷的现象,并且每天都在发生着,因此需要利用数据迁移系统130,将第一分布式存储平台110中存储的访问热度变冷的数据,迁移到备份数量较少的第二分布式存储平台120。
另一方面,第二分布式存储平台120保有的存量数据通常只有1份备份,随着时间和访问力度的推移,第二分布式存储平台120上保有的存量数据也存在访问热度由冷变热的可能,此时需要利用数据迁移系统130,将第二分布式存储平台120上访问热度变热的数据,迁移到存储性能较好地第一分布式存储平台110中。
通过在迁移过程中利用数据迁移系统130将数据按照其冷热程度,自动调度到适合的存储系统中,可以尽量避免让用户理解数据访问热度的冷热,以及冷热数据存储器的物理信息,由于对发生访问热度的冷热转换的数据进行直接性的迁移腾挪,因此可节省用户的成本。
具体的数据迁移系统130的硬件结构如图2所示,包括:数据操作平台10、任务管理模块20、任务执行模块30、计算模块40。
在图2中,用户通过数据操作平台10的页面创建数据迁移调度任务,数据操作平台10验证该数据迁移调度任务指向的迁移后的存储器是否有效,若有效,则创建数据迁移调度任务,该数据迁移调度任务可包括:解析导入任务、计算任务和迁移任务,将数据迁移调度任务存储在数据操作平台10的数据库中,并将数据迁移调度任务发送给任务管理模块20。
任务管理模块20根据数据迁移调度任务创建解析导入任务,将解析导入任务存储在数据操作平台10的数据库中,并将解析导入任务发送给任务执行模块30,任务执行模块30解析存储文件中的存储数据的存储信息,确定该存储数据中的待迁移数据,并将该待迁移数据的描述信息,例如该待迁移数据所占空间的大小,导入到计算模块40。
在任务执行模块30执行完解析导入任务后,任务管理模块20创建计算任务,将计算任务存储在数据操作平台10的数据库中,并将计算任务发送给计算模块40,计算模块40根据该待迁移数据的描述信息,计算得到待迁移数据的迁移规则。其中,迁移规则例如:用于承载待迁移数据的存储空间的总容量是多大,是否需要将待迁移数据分散迁移至多个存储空间存储,如果需要,每个存储空间的位置及容量是多少等等。
在计算模块40完成计算任务后,任务管理模块20创建迁移任务,将迁移任务存储在数据操作平台10的数据库中,并执行迁移任务,以迁移待迁移数据。
进一步地,任务管理模块20通过数据迁移模块50执行迁移任务。具体的,任务管理模块20将迁移任务发送给数据迁移模块50,数据迁移模块50根据迁移规则,迁移待迁移数据,即,将待迁移数据从第一存储器60中迁移到第二存储器70中,或者将待迁移数据从第二存储器70中迁移到第一存储器60中。第一存储器60和第二存储器70可以由多个存储节点构成,一个存储节点可以是一个存储服务器或多个存储服务器构成的服务器集群。第一存储器60可以为用于存储热数据的热仓库,第二存储器70可以为用于存储冷数据的冷仓库,反之亦可。
进一步地,迁移任务执行完毕,任务管理模块20创建校验任务,将校验任务存储在数据操作平台10的数据库中,并发送校验任务给校验模块80,校验模块80校验待迁移数据是否迁移完毕。
进一步的,数据迁移模块50根据迁移规则,迁移待迁移数据的具体形式为:一方面将待迁移数据从源存储器复制到新的存储器,另一方面,在待迁移数据的源数据库中,为复制到新的存储器的待迁移数据添加删除标记。当获取到校验模块80返回的校验通过的信息后,数据操作平台10创建回收空间任务,并将回收空间任务发送给回收空间任务管理模块90,回收空间任务管理模块90将回收空间任务转发给一个或多个回收空间模块100。回收空间模块100执行回收空间任务,将待迁移数据从源数据库中彻底删除,以释放被待迁移数据占用的存储空间。
进一步的,在彻底删除待迁移数据的同时,将删除的数据后面的数据挪至被释放出的存储空间,以保证磁盘中存储的数据的连续性。可以理解的,先将本地磁盘的的数据往前挪,待本地磁盘全部完成挪移后,如果还有需要,则将远程存储节点中的数据挪至本地磁盘。
需要说明的是,上述各任务均可以是多个任务并发执行,将多个任务对应发送给多个任务执行模块30、计算模块40、数据迁移模块50,任务的数量和模块的数量可以是一一对应的,也可以是多对一且顺序执行的,其中,任务管理模块20轮询任务执行模块30、计算模块40、数据迁移模块50的任务执行情况,如果出现任务超过并发度或其他执行失败的情况,则发送新的任务给对应的上述3个模块,如果任务全部执行完毕,则将任务执行结果更新在数据操作平台10的数据库中,具体地,该数据库中有任务列表,执行结果更新在该任务列表中。
通过上述数据迁移系统执行的数据迁移方法,具体技术方案的描述参见下述各实施例。
请参见图3,图3为本发明第一实施例提供的数据迁移方法的流程示意图,该方法包括:
S101、接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块;
该数据操作平台具体可以为操作系统服务(OSS,Operating System Service)平台。OSS平台接收用户创建数据迁移调度任务的指令,用户在发出指令时,输入了待迁移数据的判断标准,即符合怎样条件的数据需要迁移。OSS平台在系统中创建数据迁移调度任务,发送给任务管理模块,同时在数据库中创建了任务列表,该任务列表中记录有任务以及任务执行结果等项目。任务管理模块查询数据迁移调度任务的完成情况,并将任务执行情况反馈给OSS平台。创建数据迁移调度任务的系统架构如图4所示。
任务管理模块接收数据操作平台发送的数据迁移调度任务,根据该数据迁移调度任务创建解析导入任务,将解析导入任务发送给任务执行模块,任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据。任务执行模块将待迁移数据的描述信息发送给计算模块,该描述信息是描述待迁移数据存储特性的信息。
该存储数据为存储器中的存储文件的数据。
S102、指示计算模块根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则;
任务管理模块根据该数据迁移调度任务,创建计算任务并发送给计算模块,指示计算模块根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则。
迁移规则包括:待迁移数据迁移的目标存储器,以及在各目标存储器中的存储位置、存储占用空间。
S103、指示数据迁移模块根据迁移规则,迁移待迁移数据。
任务管理模块创建迁移任务并发送给数据迁移模块,指示该数据迁移模块根据迁移规则,迁移待迁移数据。
其中,待迁移数据可以是生命周期短和/或访问热度低的数据,即冷数据,也可以是生命周期长和/或访问热度高的数据,即热数据。存储系统中设置有两类存储器:第一存储器中存储热数据,第二存储器中存储冷数据。
当待迁移数据是冷数据时,数据迁移模块根据迁移规则,从存储热数据的第一存储器中读取冷数据,写入存储冷数据的第二存储器中;当待迁移数据是热数据时,数据迁移模块根据迁移规则,从存储冷数据的第二存储器中读取该热数据,写入存储热数据的第二存储器中。
本发明实施例中,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
请参见图5,图5为本发明第二实施例提供的数据迁移方法,该方法包括:
S201、数据操作平台获取在页面上创建数据迁移调度任务的指令;
该页面指该数据操作平台的页面。该数据操作平台具体可以是OSS平台。
OSS平台接收用户创建数据迁移调度任务的指令,用户在发出指令时,输入了待迁移数据的判断标准。OSS平台在系统中创建数据迁移调度任务,发送给任务管理模块,同时在数据库中创建了任务列表,该任务列表中记录有各任务以及任务执行结果等项目。
S202、数据操作平台验证该数据迁移调度任务指向的数据迁移前和迁移后的存储器是否均有效;
数据迁移调度任务中指出数据迁移前的存储器,以及数据迁移后的存储器,存储器即指存储数据的服务器或服务器集群。数据迁移前的存储器是指待迁移数据迁移前所在的源存储器,数据迁移后的存储器是指待迁移数据迁移后所在的目的存储器。
OSS平台验证数据迁移前的存储器和数据迁移后的存储器是否均有效,即是否可以正常读取和保存数据。
若均有效,则执行步骤S203。
S203、创建数据迁移调度任务,并将该数据迁移调度任务发送给任务管理模块,触发执行该数据迁移调度任务;
S204、接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定该存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块;
具体地,创建及执行解析导入任务的系统架构如图6所示。任务管理模块20根据该数据迁移调度任务创建多个解析导入任务,同时发送多个解析导入任务给多个任务执行模块30,多个任务执行模块按照各自接收的解析导入任务,从用户文件的存储中心中读取解析导入任务对应的存储的数据,解析存储数据的生命周期信息、访问热度信息以及存储位置信息,将生命周期小于预置时长和/或访问热度小于预置访问频率的存储数据,确定为待迁移数据,此类数据为冷数据。即存储数据的生命周期小于预置时长,或,访问热度小于预置访问频率,或,生命周期小于预置时长且访问热度小于预置访问频率时,为待迁移的冷数据。
进一步地,将待迁移数据的描述信息发送给计算模块,具体地,该描述信息可以为待迁移数据占用的空间信息,如待迁移数据占用的空间大小。
S205、指示计算模块根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则;
创建多个计算任务,该计算模块具体可以是分布式计算集群中的计算服务器,分布式计算集群例如Hadoop集群、Spark集群,同时将多个计算任务发送给多个计算服务器。需要说明的是,在OSS平台创建数据迁移调度任务时,将数据迁移后的存储器的信息保存在了OSS平台的数据库里,任务管理模块在创建计算任务时,可将数据迁移后的存储器的信息一并发送给计算服务器。
每个计算服务器根据待迁移数据占用的空间信息,计算得到待迁移数据迁移后的存储器以及在各迁移后的存储器上占用的存储空间,具体地,计算服务器查询待迁移数据迁移后的存储器的存储情况,如剩余存储空间、存储数据的生命周期和访问热度,进一步根据解析模块导入的待迁移数据占用的空间大小,计算待迁移数据的划分信息,划分后每一部分待迁移数据存储的具体存储器、存储位置以及存储占用的存储空间。其中,待迁移数据的划分信息即待迁移数据划分的份数以及每份数据的大小。
S206、指示数据迁移模块根据该迁移规则,迁移该待迁移数据。
创建及执行迁移任务的系统架构参见图7,任务管理模块20从计算模块40上拉取迁移迁移规则,并根据迁移规则创建多个迁移任务,将多个迁移任务发送给多个数据迁移模块50。
多个数据迁移模块50按照各自接收的迁移任务,访问待迁移数据所在的存储器,并下载待迁移数据,以及,上传待迁移数据到迁移后的存储器。具体地,如图7所示,若待迁移数据为冷数据,数据迁移模块50从第一存储器60中读取该冷数据,写入第二存储器70;若待迁移数据为热数据,数据迁移模块50从第二存储器70中读取该热数据,写入入第一存储器60。
进一步地,任务管理模块轮询迁移任务的执行情况。首先获取并行的多个迁移任务的执行状态,若多个迁移任务中存在执行失败的迁移任务,则创建新的迁移任务并发送给该执行失败的迁移任务对应的数据迁移模块,若多个迁移任务均执行完毕,则创建并发送校验任务给校验模块,指示该校验模块校验待迁移数据是否迁移完毕,具体方式可以是该校验模块对比迁移前的各存储器的存储信息与迁移后的各存储器的存储信息是否对应,如待迁移的冷数据是否完全从第一存储器中复制到第二存储器中。
进一步地,回收空间任务管理模块指示回收空间模块回收存储空间,OSS平台指示回收空间任务管理模块创建回收空间任务,回收空间任务管理模块创建回收空间任务,并发送回收空间任务给回收空间模块。
需要说明的是,待迁移数据可以保存在多个源数据库中,其中包括备份待迁移数据的源数据库,源数据库由多个存储节点构成,存储节点为网络中的存储位置,存储节点可以是一个存储服务器,也可以是多个存储服务器组成的服务器集群。回收空间模块在多个保存有待迁移数据的源数据库中,确定执行的回收空间任务所指向的目标源数据库,该目标源数据优先选择该回收空间模块本地的源数据库,若本地没有,则选择远程的源数据库作为目标源数据库。
进一步地,数据迁移模块50在待迁移数据的源数据库中为迁移的待迁移数据添加删除标记。当获取到校验模块返回的校验通过的信息后,回收空间任务管理模块指示回收空间模块从该目标源数据库中删除带有删除标记的数据,回收存储空间。
进一步地,回收存储空间的具体执行架构如图8所示,具体可以是,空间任务管理模块90指示回收空间模块100将目标源数据库中的各存储节点200的数据进行整理,回收空间模块100并行执行整理任务,优先将同一个存储节点的数据集中整理,为当前的存储节点整理出更多的空白存储空间,整理完毕后将存储在不同存储节点的数据合并整理,可腾挪出更多的空白存储节点。可提高存储大数据的效率。
本发明实施例中,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
请参见图9,图9为本发明第三实施例提供的数据迁移系统,为了便于说明,仅示出了与本发明实施例相关的部分。该系统主要包括:
任务管理模块301、任务执行模块302、计算模块303和数据迁移模块304。
其中,任务管理模块301,用于接收数据迁移调度任务,指示任务执行模块302通过解析存储数据的存储信息,确定存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块303;
任务执行模块302,用于通过解析存储数据的存储信息,确定存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块303;
任务管理模块301,还用于指示计算模块303根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则;
计算模块303,用于根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则;
任务管理模块301,还用于指示数据迁移模块304根据迁移规则,迁移待迁移数据;
数据迁移模块304,用于根据迁移规则,迁移待迁移数据。
本发明实施例中的系统用于执行前述图3和图4所述实施例的方法,未描述的技术细节与前述图3和图4所示实施例相同,此处不再赘述。
本发明实施例中,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
请参见图10,图10为本发明第四实施例提供的数据迁移系统,为了便于说明,仅示出了与本发明实施例相关的部分。该系统与图9所示实施例中的系统不同之处在于:
进一步地,该系统还包括:数据操作平台401;
数据操作平台401,用于获取在页面上创建数据迁移调度任务的指令,页面为数据操作平台401的页面;
数据操作平台401,还用于验证数据迁移调度任务指向的数据迁移前的存储器,以及数据迁移后的存储器是否均有效,若均有效,则创建数据迁移调度任务,并触发执行数据迁移调度任务。
进一步地,任务管理模块301,还用于根据数据迁移调度任务创建多个解析导入任务;同时发送多个解析导入任务给多个任务执行模块302;
任务执行模块302,还用于按照各自接收的解析导入任务,解析存储数据的生命周期信息、访问热度信息以及存储位置信息,并将生命周期小于预置时长和/或访问热度小于预置访问频率的存储数据,确定为待迁移数据;
任务管理模块301,还用于创建多个计算任务,并同时将多个计算任务发送给多个计算模块303;
计算模块303,还用于根据待迁移数据占用的空间信息,计算得到待迁移数据的划分信息、划分后每部分待迁移数据对应迁移的存储器以及在各迁移后的存储器上占用的存储空间;
任务执行模块302,还用于根据迁移规则创建多个迁移任务,并将多个迁移任务发送给多个数据迁移模块304;
数据迁移模块304,还用于按照各自接收的迁移任务,访问待迁移数据所在的存储器,并下载待迁移数据,上传待迁移数据到迁移后的存储器以及在源数据库中为所述待迁移数据添加删除标记。
进一步地,系统还包括:校验模块402和回收空间任务管理模块403;
任务执行模块302,还用于获取并行的多个迁移任务的执行状态;
任务执行模块302,还用于若多个迁移任务中存在执行失败的迁移任务,则创建新的迁移任务并发送给执行失败的迁移任务对应的数据迁移模块304;
任务执行模块302,还用于若多个迁移任务均执行完毕,则创建并发送校验任务给校验模块402,指示校验模块402校验待迁移数据是否迁移完毕;
校验模块402,用于校验待迁移数据是否迁移完毕,若迁移完毕,则返回校验通过信息给回收空间任务管理模块403。
进一步地,该系统还包括回收空间模块404;
回收空间任务管理模块403,用于当获取到校验模块402返回的校验通过的信息后,指示回收空间模块404在多个保存有待迁移数据的源数据库中,确定目标源数据库;
回收空间任务管理模块403,还用于指示回收空间模块404从目标源数据库中删除带有删除标记的数据;
回收空间任务管理模块403,还用于指示回收空间模块404整理各存储节点;
回收空间模块404,用于优先合并整理同一个存储节点的数据,所有的存储节点各自整理完毕后,将第一存储节点的数据,合并到第二存储节点的数据。
本发明实施例中的系统用于执行前述图3至图5所述实施例的方法,未描述的技术细节与前述图3至图5所示实施例相同,此处不再赘述。
本发明实施例中,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
请参见图11,图11为本发明第五实施例提供的数据迁移装置,为了便于说明,仅示出了与本发明实施例相关的部分。该装置可以为前述各实施例中的任务管理模块,该装置包括:
接收单元501和指示单元502;
接收单元501,用于接收数据迁移调度任务;
指示单元502,用于指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,并将待迁移数据的描述信息发送给计算模块;
指示单元502,还用于指示计算模块根据待迁移数据的描述信息,计算得到待迁移数据的迁移规则;
指示单元502,还用于指示数据迁移模块根据迁移规则,迁移待迁移数据。
本发明实施例中的未描述的技术细节,参见前述图2~图10所示各实施例相同,此处不再赘述。
本发明实施例中,通过任务管理模块根据数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定存储数据中的待迁移数据,指示任务执行模块将该待迁移数据的描述信息发送给计算模块,并指示计算模块计算得到待迁移数据的迁移规则,进一步指示数据迁移模块根据迁移规则迁移待迁移数据,由数据迁移系统完成数据的解析、计算和迁移,因此迁移过程对用户透明,用户无需参与上述迁移过程,降低了用户操作的复杂度,减少用户成本负担,提升数据迁移的便捷性。
请参阅图12,图12示出了一种服务器的硬件结构图。
本实施例中所描述的服务器,包括:
存储器601、处理器602及存储在存储器601上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,实现前述图3至图5所示实施例中描述的数据迁移方法。
进一步地,该服务器还包括:
至少一个输入设备603;至少一个输出设备604。
上述存储器601、处理器602输入设备603和输出设备604通过总线605连接。
其中,输入设备603具体可为触控面板、物理按键或者鼠标等等。输出设备604具体可为显示屏。
存储器601可以是随机存取存储器(RAM,Random Access Memory)存储器,也可为非易失性存储器(NVM,Non-Volatile Memory),例如磁盘存储器。存储器601用于存储一组可执行程序代码,处理器602与存储器601耦合。
进一步地,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的服务器中,该计算机可读存储介质可以是前述图12所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图3至图5所示实施例中描述的数据迁移方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的多个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,装置或模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的数据迁移方法、数据迁移系统及数据迁移装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种数据迁移方法,其特征在于,包括:
接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
根据所述迁移规则创建多个迁移任务,将多个所述迁移任务发送给多个数据迁移模块;
指示多个所述数据迁移模块按照各自接收的所述迁移任务,根据所述迁移规则迁移所述待迁移数据;
获取并行的多个所述迁移任务的执行状态;
若多个所述迁移任务中存在执行失败的迁移任务,则创建新的迁移任务并发送给所述执行失败的迁移任务对应的数据迁移模块;
若多个所述迁移任务均执行完毕,则创建并发送校验任务给校验模块,指示所述校验模块校验所述待迁移数据是否迁移完毕。
2.根据权利要求1所述的方法,其特征在于,所述接收数据迁移调度任务之前包括:
数据操作平台获取在页面上创建所述数据迁移调度任务的指令,所述页面为所述数据操作平台的页面;
验证所述数据迁移调度任务指向的数据迁移前的存储器,以及数据迁移后的存储器是否均有效;
若均有效,则创建所述数据迁移调度任务,并触发执行所述数据迁移调度任务。
3.根据权利要求2所述的方法,其特征在于,所述指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据包括:
根据所述数据迁移调度任务创建多个解析导入任务;
同时发送多个所述解析导入任务给多个所述任务执行模块;
多个所述任务执行模块按照各自接收的所述解析导入任务,解析存储数据的生命周期信息、访问热度信息以及存储位置信息,并将生命周期小于预置时长和/或访问热度小于预置访问频率的存储数据,确定为所述待迁移数据。
4.根据权利要求1所述的方法,其特征在于,所述待迁移数据的描述信息包括所述待迁移数据占用的空间信息,则所述指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则,包括:
创建多个计算任务,并同时将多个所述计算任务发送给多个所述计算模块;
所述计算模块根据所述待迁移数据占用的空间信息,计算得到所述待迁移数据的划分信息、划分后每部分待迁移数据对应迁移的存储器以及在各所述迁移后的存储器上占用的存储空间。
5.根据权利要求2所述的方法,其特征在于,所述多个所述数据迁移模块按照各自接收的所述迁移任务,迁移所述待迁移数据,包括:
所述多个所述数据迁移模块按照各自接收的所述迁移任务,访问所述待迁移数据所在的存储器,并下载所述待迁移数据,以及,上传所述待迁移数据到所述迁移后的存储器,并在源数据库中为所述待迁移数据添加删除标记。
6.根据权利要求1所述的方法,其特征在于,所述若多个所述迁移任务均执行完毕,则创建并发送校验任务给校验模块,指示所述校验模块校验所述待迁移数据是否迁移完毕之后包括:
当获取到所述校验模块返回的校验通过的信息后,回收空间任务管理模块指示回收空间模块在多个保存有所述待迁移数据的源数据库中,确定目标源数据库;
所述回收空间任务管理模块指示所述回收空间模块从所述目标源数据库中删除带有所述删除标记的数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
回收空间任务管理模块指示回收空间模块整理各存储节点;
所述回收空间模块优先合并整理同一个存储节点的数据,所有的存储节点各自整理完毕后,将第一存储节点的数据,合并到第二存储节点的数据。
8.一种数据迁移系统,其特征在于,包括:
任务管理模块、任务执行模块、计算模块和数据迁移模块;
所述任务管理模块,用于接收数据迁移调度任务,指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述任务执行模块,用于通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述任务管理模块,还用于指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述计算模块,用于根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述任务执行模块,还用于根据所述迁移规则创建多个迁移任务,并将多个所述迁移任务发送给多个数据迁移模块;
所述任务管理模块,还用于指示多个所述数据迁移模块按照各自接收的所述迁移任务,根据所述迁移规则迁移所述待迁移数据;
所述数据迁移模块,用于按照各自接收的所述迁移任务,根据所述迁移规则迁移所述待迁移数据;
所述任务执行模块,还用于获取并行的多个所述迁移任务的执行状态;
所述任务执行模块,还用于若多个所述迁移任务中存在执行失败的迁移任务,则创建新的迁移任务并发送给所述执行失败的迁移任务对应的数据迁移模块;
所述任务执行模块,还用于若多个所述迁移任务均执行完毕,则创建并发送校验任务给校验模块,指示所述校验模块校验所述待迁移数据是否迁移完毕。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:数据操作平台;
所述数据操作平台,用于获取在页面上创建所述数据迁移调度任务的指令,所述页面为所述数据操作平台的页面;
所述数据操作平台,还用于验证所述数据迁移调度任务指向的数据迁移前的存储器,以及数据迁移后的存储器是否均有效,若均有效,则创建所述数据迁移调度任务,并触发执行所述数据迁移调度任务。
10.根据权利要求8所述的系统,其特征在于,
所述任务管理模块,还用于根据所述数据迁移调度任务创建多个解析导入任务;
同时发送多个所述解析导入任务给多个所述任务执行模块;
所述任务执行模块,还用于按照各自接收的所述解析导入任务,解析存储数据的生命周期信息、访问热度信息以及存储位置信息,并将生命周期小于预置时长和/或访问热度小于预置访问频率的存储数据,确定为所述待迁移数据;
所述任务管理模块,还用于创建多个计算任务,并同时将多个所述计算任务发送给多个所述计算模块;
所述计算模块,还用于根据所述待迁移数据占用的空间信息,计算得到所述待迁移数据的划分信息、划分后每部分待迁移数据对应迁移的存储器以及在各所述迁移后的存储器上占用的存储空间;
所述数据迁移模块,还用于按照各自接收的所述迁移任务,访问所述待迁移数据所在的存储器,并下载所述待迁移数据,上传所述待迁移数据到所述迁移后的存储器,以及在源数据库中为所述待迁移数据添加删除标记。
11.根据权利要求10所述的系统,其特征在于,所述系统还包括校验模块和回收空间任务管理模块;
所述校验模块,用于校验所述待迁移数据是否迁移完毕,若迁移完毕,则返回校验通过信息给所述回收空间任务管理模块。
12.根据权利要求11所述的系统,其特征在于,所述系统还包括回收空间模块;
所述回收空间任务管理模块,用于当获取到所述校验模块返回的校验通过的信息后,指示所述回收空间模块在多个保存有所述待迁移数据的源数据库中,确定目标源数据库;
所述回收空间任务管理模块,还用于指示所述回收空间模块从所述目标源数据库中删除带有所述删除标记的数据;
所述回收空间任务管理模块,还用于指示回收空间模块整理各存储节点;
所述回收空间模块,用于优先合并整理同一个存储节点的数据,所有的存储节点各自整理完毕后,将第一存储节点的数据,合并到第二存储节点的数据。
13.一种数据迁移装置,其特征在于,包括:
接收单元,用于接收数据迁移调度任务;
指示单元,用于指示任务执行模块通过解析存储数据的存储信息,确定所述存储数据中的待迁移数据,并将所述待迁移数据的描述信息发送给计算模块;
所述指示单元,还用于指示所述计算模块根据所述待迁移数据的描述信息,计算得到所述待迁移数据的迁移规则;
所述指示单元,还用于指示多个数据迁移模块按照各自接收的所述迁移任务,根据所述迁移规则迁移所述待迁移数据;所述迁移任务根据所述迁移规则创建,并被发送至多个所述数据迁移模块;
控制单元,用于获取并行的多个所述迁移任务的执行状态;若多个所述迁移任务中存在执行失败的迁移任务,则创建新的迁移任务并发送给所述执行失败的迁移任务对应的数据迁移模块;若多个所述迁移任务均执行完毕,则创建并发送校验任务给校验模块,指示所述校验模块校验所述待迁移数据是否迁移完毕。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7中的任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711297501.0A CN109901786B (zh) | 2017-12-08 | 2017-12-08 | 数据迁移方法、系统、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711297501.0A CN109901786B (zh) | 2017-12-08 | 2017-12-08 | 数据迁移方法、系统、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109901786A CN109901786A (zh) | 2019-06-18 |
CN109901786B true CN109901786B (zh) | 2021-07-16 |
Family
ID=66940642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711297501.0A Active CN109901786B (zh) | 2017-12-08 | 2017-12-08 | 数据迁移方法、系统、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109901786B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609827A (zh) * | 2019-09-25 | 2019-12-24 | 上海交通大学 | 面向分布式图数据库的数据动态迁移方法及系统 |
CN111258954B (zh) * | 2020-01-10 | 2023-12-05 | 北京百度网讯科技有限公司 | 数据迁移方法、装置、设备及存储介质 |
CN111324592B (zh) * | 2020-01-21 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 应用数据迁移方法、装置 |
CN111459415B (zh) * | 2020-04-15 | 2023-05-23 | 腾讯云计算(长沙)有限责任公司 | 跨云数据迁移方法、装置、设备及存储介质 |
CN113849476A (zh) * | 2020-06-28 | 2021-12-28 | 中兴通讯股份有限公司 | 数据迁移方法、装置、网络设备和存储介质 |
CN112000292A (zh) * | 2020-08-21 | 2020-11-27 | 北京金山云网络技术有限公司 | 数据迁移的方法、装置、电子设备和计算机存储介质 |
CN112115115B (zh) * | 2020-09-28 | 2024-03-26 | 企查查科技股份有限公司 | 基于数据仓库的文件移动方法、设备和存储介质 |
CN112558881A (zh) * | 2020-12-18 | 2021-03-26 | 上海七牛信息技术有限公司 | 一种迁移存储系统的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101084481A (zh) * | 2004-12-20 | 2007-12-05 | 伊姆西公司 | 在群集存储环境中执行并行数据迁移的方法 |
CN103902593A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团河南有限公司 | 一种数据迁移的方法和装置 |
CN105488139A (zh) * | 2015-11-25 | 2016-04-13 | 国电南瑞科技股份有限公司 | 基于用电信息采集系统的跨平台存储数据迁移的方法 |
CN105700823A (zh) * | 2015-12-23 | 2016-06-22 | 华为技术有限公司 | 一种ip硬盘之间传输数据的方法和装置 |
CN106953893A (zh) * | 2017-02-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 云存储系统间的数据迁移 |
-
2017
- 2017-12-08 CN CN201711297501.0A patent/CN109901786B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101084481A (zh) * | 2004-12-20 | 2007-12-05 | 伊姆西公司 | 在群集存储环境中执行并行数据迁移的方法 |
CN103902593A (zh) * | 2012-12-27 | 2014-07-02 | 中国移动通信集团河南有限公司 | 一种数据迁移的方法和装置 |
CN105488139A (zh) * | 2015-11-25 | 2016-04-13 | 国电南瑞科技股份有限公司 | 基于用电信息采集系统的跨平台存储数据迁移的方法 |
CN105700823A (zh) * | 2015-12-23 | 2016-06-22 | 华为技术有限公司 | 一种ip硬盘之间传输数据的方法和装置 |
CN106953893A (zh) * | 2017-02-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 云存储系统间的数据迁移 |
Also Published As
Publication number | Publication date |
---|---|
CN109901786A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901786B (zh) | 数据迁移方法、系统、装置及计算机可读存储介质 | |
JP6778795B2 (ja) | データを記憶するための方法、装置及びシステム | |
CN104205095B (zh) | 用于连续图更新和计算的平台 | |
CN102110121B (zh) | 一种数据处理方法及其系统 | |
US10795872B2 (en) | Incremental bloom filter rebuild for B+ trees under multi-version concurrency control | |
US10133770B2 (en) | Copying garbage collector for B+ trees under multi-version concurrency control | |
US10402316B2 (en) | Tracing garbage collector for search trees under multi-version concurrency control | |
Liroz-Gistau et al. | FP-Hadoop: Efficient processing of skewed MapReduce jobs | |
CN103246549B (zh) | 一种数据转存的方法及系统 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
KR102141083B1 (ko) | 데이터베이스 시스템의 최적화 방법, 시스템, 전자장치 및 저장매체 | |
CN104834599A (zh) | Web安全检测方法和装置 | |
CN111917834A (zh) | 一种数据同步方法、装置、存储介质及计算机设备 | |
CN111966677A (zh) | 数据报表的处理方法、装置、电子设备及存储介质 | |
CN112148693A (zh) | 一种数据处理方法、装置及存储介质 | |
WO2021027331A1 (zh) | 基于图数据的全量关系计算方法、装置、设备及存储介质 | |
CN103699534A (zh) | 系统目录中数据对象的显示方法及装置 | |
CN108334514A (zh) | 数据的索引方法以及装置 | |
CN102929958A (zh) | 元数据的处理方法,代理、转发设备,服务器及计算系统 | |
CN103984507A (zh) | 一种生物信息学高性能计算平台的存储配置以及优化策略 | |
CN104915376B (zh) | 一种云存储中文件的归档压缩方法 | |
JP6878369B2 (ja) | ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム | |
CN114490865A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |