数据迁移方法、数据迁移装置和可读存储介质制造方法及图纸

技术编号:26065464 阅读:17 留言:0更新日期:2020-10-28 16:38
本发明专利技术公开了一种数据迁移方法,该方法包括:读取第一数据库中的数据片段,将读取到的数据片段写入数据文件;获取所述数据片段在所述第一数据库中对应的索引信息,并将所述索引信息写入索引文件;执行数据写入操作将所述数据文件中的数据写入目标数据库;当数据写入操作中断后再次启动时,根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库。本发明专利技术还公开了一种数据迁移装置和可读存储介质。本发明专利技术旨在实现大量数据迁移过程中出现中断后,可基于中断前的数据传输进度继续进行数据传输,减少数据迁移时间,提高发生中断的数据迁移过程的整体传输效率。

【技术实现步骤摘要】
数据迁移方法、数据迁移装置和可读存储介质
本专利技术涉及数据处理
,尤其涉及数据迁移方法、数据迁移装置和可读存储介质。
技术介绍
随着大数据、人工智能的不断发展,数据变得尤为重要,而数据应用大多需要进行数据迁移。例如,在人脸大数据系统中,数据是以PB为数量级单位保存在分布式存储系统(如Hbase),并同步数据到搜索服务器(如Elasticsearch)中,以便于后期的查询、搜索等操作。其中,由于系统升级等原因,分布式存储系统中的数据需要迁移到搜索服务器中,然而数据如此庞大,在迁移过程中若程序中断的话,难以定位出未迁移的数据,则需从头开始重新迁移,严重浪费时间。
技术实现思路
本专利技术的主要目的在于提供一种数据迁移方法,旨在实现大量数据迁移过程中出现中断后,可基于中断前的数据传输进度继续进行数据传输,减少数据迁移时间,提高发生中断的数据迁移过程的整体传输效率。为实现上述目的,本专利技术提供一种数据迁移方法,所述数据迁移方法包括以下步骤:读取第一数据库中的数据片段,将读取到的数据片段写入数据文件;获取所述数据片段在所述第一数据库中对应的索引信息,并将所述索引信息写入索引文件;执行数据写入操作将所述数据文件中的数据写入目标数据库;当数据写入操作中断后再次启动时,根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库。可选地,所述读取第一数据库中的数据片段,将读取到的数据片段写入数据文件的步骤包括:读取所述第一数据库中的数据;以设定数据量对读取到的数据进行分片,得到多于一个数据片段;将每个数据片段分别写入对应的数据文件;其中,不同的数据片段对应不同的数据文件。可选地,所述读取第一数据库中的数据片段,将读取到的数据片段写入数据文件的步骤包括:通过单线程读取第一数据库中的数据片段,将读取到的数据片段以多线程的方式写入数据文件;所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤包括:通过多于一个线程并行执行所述数据写入操作,将多于一个所述数据文件的数据写入所述目标数据库;其中,每个所述线程执行一个所述数据文件的数据写入操作。可选地,所述获取所述数据片段在所述第一数据库中对应的索引信息的步骤包括:获取每个所述数据片段中最后读取的一条数据在所述第一数据库中的数据索引,作为每个数据片段对应的索引信息;且/或,所述根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库的步骤包括:在所述索引文件中,将在数据写入操作中断之前最后写入的数据片段的索引信息作为目标索引;以所述目标索引读取所述第一数据库中未迁移的数据并写入所述目标数据库。可选地,所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤之后,还包括:当数据写入操作中断后再次启动时,获取未完成数据写入操作的数据文件作为目标数据文件;执行数据写入操作将所述目标数据文件中的数据写入所述目标数据库;当所述目标数据文件中的所有数据均写入所述目标数据库时,执行所述根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库的步骤。可选地,每个所述数据文件包括多于一条数据,所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤包括:将所述数据文件中每条数据依次作为第一目标数据;获取所述数据文件的第一文件标识信息、以及所述第一目标数据的第一数据标识信息;根据所述第一文件标识信息和所述第一数据标识信息,生成所述第一目标数据对应的第一标识字段;将携带有第一标识字段的第一目标数据写入所述目标数据库。可选地,所述目标数据文件包括多于一条数据,所述执行数据写入操作将所述目标数据文件中的数据写入所述目标数据库的步骤包括:将所述目标数据文件中每条数据依次作为第二目标数据;获取所述目标数据文件的第二文件标识信息、以及所述第二目标数据的第二数据标识信息;根据所述第二文件标识信息和所述第二数据标识信息,生成所述第二目标数据对应的第二标识字段;当所述目标数据库中存在与所述第二标识字段一致的标识字段时,将所述第二目标数据覆盖所述第二标识字段在所述目标数据库中对应的数据;当所述目标数据库中不存在与所述第二标识字段一致的标识字段时,将所述第二目标数据以添加的方式写入所述目标数据库。可选地,所述数据文件中的数据包括图片数据,所述目标数据库为分布式搜索服务器,所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤包括:将所述图片数据发送至分布式文件系统服务器;接收所述分布式文件系统服务器基于所述图片数据返回的地址信息;将所述数据文件中的图片数据替换为对应的地址信息;将替换后的数据写入所述分布式搜索服务器;且/或,所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤之后,还包括:当所述数据文件中的数据已全部写入所述目标数据库时,删除所述数据文件。此外,为了实现上述目的,本申请还提出一种数据迁移装置,所述数据迁移装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据迁移程序,所述数据迁移程序被所述处理器执行时实现如上任一项所述的数据迁移方法的步骤。此外,为了实现上述目的,本申请还提出一种可读存储介质,所述可读存储介质上存储有数据迁移程序,所述数据迁移程序被处理器执行时实现如上任一项所述的数据迁移方法的步骤。本专利技术提出的一种数据迁移方法,该方法从第一数据库中读取数据片段并写入数据文件,并在将数据文件的数据写入目标数据库前,获取数据片段在第一数据库中的索引信息写入索引文件,当数据写入过程发生中断后再次启动写入操作时,索引文件中的索引信息可表征中断前的数据迁移进度,因此基于索引文件中的索引信息可识别出第一数据库中未经迁移的数据,通过读取第一数据库中未迁移的数据写入目标数据库,从而实现大量数据迁移过程中出现中断后,无需从头开始迁移数据,而是可以基于中断前的数据传输进度继续进行数据传输,减少数据迁移时间,提高发生中断的数据迁移过程的整体传输效率。附图说明图1为本专利技术数据迁移装置一实施例运行涉及的硬件结构示意图;图2为本专利技术数据迁移方法一实施例的流程示意图;图3为图2中步骤S30的细化流程示意图;图4为本专利技术数据迁移方法另一实施例的流程示意图;图5为本专利技术数据迁移方法又一实施例的流程示意图;图6为本专利技术数据迁移方法再一实施例的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例的主要解决方案是:读取第一数据库中的数据片段,将读取到的数据片段写入数据文件;获取所述数本文档来自技高网...

【技术保护点】
1.一种数据迁移方法,其特征在于,所述数据迁移方法包括以下步骤:/n读取第一数据库中的数据片段,将读取到的数据片段写入数据文件;/n获取所述数据片段在所述第一数据库中对应的索引信息,并将所述索引信息写入索引文件;/n执行数据写入操作将所述数据文件中的数据写入目标数据库;/n当数据写入操作中断后再次启动时,根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库。/n

【技术特征摘要】
1.一种数据迁移方法,其特征在于,所述数据迁移方法包括以下步骤:
读取第一数据库中的数据片段,将读取到的数据片段写入数据文件;
获取所述数据片段在所述第一数据库中对应的索引信息,并将所述索引信息写入索引文件;
执行数据写入操作将所述数据文件中的数据写入目标数据库;
当数据写入操作中断后再次启动时,根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库。


2.如权利要求1所述的数据迁移方法,其特征在于,所述读取第一数据库中的数据片段,将读取到的数据片段写入数据文件的步骤包括:
读取所述第一数据库中的数据;
以设定数据量对读取到的数据进行分片,得到多于一个数据片段;
将每个数据片段分别写入对应的数据文件;其中,不同的数据片段对应不同的数据文件。


3.如权利要求2所述的数据迁移方法,其特征在于,所述读取第一数据库中的数据片段,将读取到的数据片段写入数据文件的步骤包括:
通过单线程读取第一数据库中的数据片段,将读取到的数据片段以多线程的方式写入数据文件;
所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤包括:
通过多于一个线程并行执行所述数据写入操作,将多于一个所述数据文件的数据写入所述目标数据库;其中,每个所述线程执行一个所述数据文件的数据写入操作。


4.如权利要求2所述的数据迁移方法,其特征在于,所述获取所述数据片段在所述第一数据库中对应的索引信息的步骤包括:
获取每个所述数据片段中最后读取的一条数据在所述第一数据库中的数据索引,作为每个数据片段对应的索引信息;且/或,
所述根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述目标数据库的步骤包括:
在所述索引文件中,将在数据写入操作中断之前最后写入的数据片段的索引信息作为目标索引;
以所述目标索引读取所述第一数据库中未迁移的数据并写入所述目标数据库。


5.如权利要求2至4中任一项所述的数据迁移方法,其特征在于,所述执行数据写入操作将所述数据文件中的数据写入目标数据库的步骤之后,还包括:
当数据写入操作中断后再次启动时,获取未完成数据写入操作的数据文件作为目标数据文件;
执行数据写入操作将所述目标数据文件中的数据写入所述目标数据库;
当所述目标数据文件中的所有数据均写入所述目标数据库时,执行所述根据所述索引文件中的索引信息,读取所述第一数据库中未迁移的数据并写入所述...

【专利技术属性】
技术研发人员:孔海飞陈晓东章云
申请(专利权)人:深圳力维智联技术有限公司南京中兴力维软件有限公司
类型:发明
国别省市:广东;44

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

1