CN112256675A - 数据迁移方法、装置、终端设备及存储介质 - Google Patents

数据迁移方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN112256675A
CN112256675A CN202011225715.9A CN202011225715A CN112256675A CN 112256675 A CN112256675 A CN 112256675A CN 202011225715 A CN202011225715 A CN 202011225715A CN 112256675 A CN112256675 A CN 112256675A
Authority
CN
China
Prior art keywords
data
database
migration
old
new database
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
CN202011225715.9A
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202011225715.9A priority Critical patent/CN112256675A/zh
Publication of CN112256675A publication Critical patent/CN112256675A/zh
Pending legal-status Critical Current

Links

Images

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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于大数据技术领域,提供了一种数据迁移方法、装置、终端设备及存储介质,其中,通过开启旧数据库和新数据库之间的双写入操作,当旧数据库写入数据写入事件时,将数据写入事件异步写入新数据库,使得旧数据库和新数据库针对相同数据写入事件均能进行实施,进而保障了数据迁移过程中用户对数据的写入操作,提高了旧数据库与新数据库之间数据迁移的准确性,通过开启旧数据库和新数据库之间的双写入操作和双读取操作进行数据的迁移,以达到采用不停机的方式进行旧数据库与新数据库之间的数据迁移,保障了数据迁移过程中用户对数据的访问,提高了用户的使用体验。

Description

数据迁移方法、装置、终端设备及存储介质
技术领域
本申请涉及大数据领域,尤其涉及一种数据迁移方法、装置、终端设备及存储介质。
背景技术
在信息化建设过程中,随着技术的发展,原有的信息***不断被功能更强大的新***所取代。在新旧***的切换过程中,如何将旧***中的数据库数据迁移至新***中的数据库是必然要面临的问题。
现有的数据迁移过程中,均是采用停机(关闭数据库)的方式进行数据的迁移,导致数据库在几个小时甚至几天都无法对外提供服务,使得用户在数据库关闭状态不能对数据进行访问,降低了用户的使用体验。
发明内容
有鉴于此,本申请实施例提供了一种数据迁移方法、装置、终端设备及存储介质,以解决现有技术的文章推荐过程中,由于采用关闭数据库的方式进行数据迁移,所导致的用户不能对数据进行访问的问题。
本申请实施例的第一方面提供了一种数据迁移方法,包括:
若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作,所述双写入操作用于检测到所述旧数据库写入任一数据写入事件,则将所述数据写入事件异步写入所述新数据库;
将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志;
根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验;
若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作,所述双读取操作用于将针对所述旧数据库的数据读取事件切换至数据迁移后的所述新数据库中;
若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
进一步地,所述开启旧数据库和新数据库之间的双写入操作,包括:
分别开启所述旧数据库和所述新数据库的数据写入功能;
若接收到任一所述数据写入事件,则将所述数据写入事件写入所述旧数据库,并采用消息队列的方式将所述数据写入事件异步***所述新数据库;
根据所述消息队列对所述新数据库执行所述数据写入事件。
进一步地,所述根据所述消息队列对所述新数据库执行所述数据写入事件,包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据更新事件,且在所述新数据库中未查询到所述数据更新事件对应的待更新数据,则在所述旧数据库中查询所述数据更新事件对应的数据;
根据所述数据更新事件对所述旧数据库中查询到的数据进行数据更新,并将数据更新后的所述旧数据库中查询到的数据写入所述新数据库。
进一步地,所述根据所述消息队列对所述新数据库执行所述数据写入事件,包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据新增事件或数据删除事件,则根据所述数据写入事件同步在所述旧数据库和所述新数据库中执行数据新增操作或数据删除操作。
进一步地,所述将所述旧数据库中的数据迁移至所述新数据库,包括:
获取预先设置的时间间隔和所述双写入操作的开启时间;
计算所述时间间隔与所述双写入操作的开启时间之间的时间和,得到数据迁移时间点,并根据所述数据迁移时间点将所述旧数据库中的数据迁移至所述新数据库。
进一步地,所述生成数据迁移日志,包括:
记录所述旧数据库中不同数据的数据标识、迁移时间和迁移数据量;
根据所述数据标识、所述迁移时间和所述迁移数据量生成所述数据迁移日志;
若所述旧数据库中的任一数据迁移错误,则根据所述旧数据库中迁移错误的数据在所述数据迁移日志中生成数据迁移错误信息。
进一步地,所述根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验,包括:
根据所述数据迁移错误信息提醒用户对所述旧数据库中迁移错误的数据进行手动迁移;
根据所述数据迁移日志中的所述数据标识、所述迁移时间和所述迁移数据量对手动迁移后的所述旧数据库和所述新数据库之间的数据进行数据比对,所述数据比对包括标识比对、时间比对和数据量比对;
若手动迁移后的所述旧数据库和所述新数据库之间的数据比对合格,则判定手动迁移后的所述旧数据库和所述新数据库之间的数据校验合格。
本申请实施例的第二方面提供了一种数据迁移装置,包括:
双写入开启单元,用于若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作,所述双写入操作用于检测到所述旧数据库写入任一数据写入事件,则将所述数据写入事件异步写入所述新数据库;
数据迁移单元,用于将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志;
数据校验单元,用于根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验;
双读取开启单元,用于若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作,所述双读取操作用于将针对所述旧数据库的数据读取事件切换至数据迁移后的所述新数据库中;
数据库关闭单元,用于若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在终端设备上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方案提供的数据迁移方法的各步骤。
本申请实施例的第四方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案提供的数据迁移方法的各步骤。
实施本申请实施例提供的一种数据迁移方法、装置、终端设备及存储介质具有以下有益效果:
本申请实施例提供的一种数据迁移方法,通过开启旧数据库和新数据库之间的双写入操作,当旧数据库写入数据写入事件时,将数据写入事件异步写入新数据库,使得旧数据库和新数据库针对相同数据写入事件均能进行实施,进而保障了数据迁移过程中用户对数据的写入操作,提高了旧数据库与新数据库之间数据迁移的准确性,通过开启旧数据库和新数据库之间的双读取操作,并关闭针对旧数据库的数据写入和数据读取,仅执行针对数据迁移后的新数据库的数据写入和数据读取,能有效的将针对旧数据库的数据读取事件切换至新数据库中,使得用户基于新数据库进行数据的写入和读取,进而保障了旧数据库与新数据库之间数据迁移后对用户数据写入或读取操作响应的准确性,且本申请实施例提供的一种数据迁移方法,通过开启旧数据库和新数据库之间的双写入操作和双读取操作进行数据的迁移,以达到采用不停机的方式进行旧数据库与新数据库之间的数据迁移,保障了数据迁移过程中用户对数据的访问,提高了用户的使用体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据迁移方法的实现流程图;
图2是本申请另一实施例提供的一种数据迁移方法的实现流程图;
图3是图2对应实施例提供的一种数据迁移方法的具体实施步骤流程图;
图4是本申请再一实施例提供的一种数据迁移方法的实现流程图;
图5是本申请实施例提供的一种数据迁移装置的结构框图;
图6是本申请实施例提供的一种终端设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例所涉及的数据迁移方法,可以由控制设备或终端(以下称“移动终端”)执行。
请参阅图1,图1示出了本申请实施例提供的一种数据迁移方法的实现流程图,包括:
步骤S10,若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作。
其中,该双写入操作用于检测到旧数据库写入任一数据写入事件,则将该数据写入事件异步写入新数据库,使得旧数据库和新数据库针对相同数据写入事件均能进行实施,进而保障了数据迁移过程中用户对数据的写入操作。
具体的,该数据迁移指令中存储有源库标识和目标库标识,该源库标识和目标库标识用于分别表征对应的旧数据库和新数据库,进而防止了数据库之间数据迁移的错误。
该步骤中,该数据写入事件的类型包括数据更新事件、数据新增事件或数据删除事件等,该数据更新事件用于对数据库中指定的数据进行更新,该数据新增事件用于对数据库进行数据的新增,该数据删除事件用于对数据库中指定的数据进行删除,可选的,针对旧数据库的数据写入事件采用实时处理的方式执行,针对新数据库的数据写入事件则是在开启旧数据库和新数据库之间数据迁移的步骤之后进行执行,以防止由于新数据库中未存储有数据所导致的数据更新事件执行的错误。
步骤S20,将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志。
其中,通过复制旧数据库中的数据,并将复制得到的数据移植到新数据库中,以达到旧数据库与新数据库之间数据迁移的效果,且该步骤中,基于旧数据库与新数据库之间数据迁移结果以对应生成数据迁移日志,基于该数据迁移日志有效的方便了后续旧数据库与新数据库之间数据的校验,该数据迁移日志中存储有旧数据库中数据的迁移信息,该迁移信息包括对应数据的数据标识、迁移时间和迁移数据量。
可选的,该步骤中,所述将所述旧数据库中的数据迁移至所述新数据库,包括:
获取预先设置的时间间隔和所述双写入操作的开启时间;
计算所述时间间隔与所述双写入操作的开启时间之间的时间和,得到数据迁移时间点,并根据所述数据迁移时间点将所述旧数据库中的数据迁移至所述新数据库;
其中,该预先设置的时间间隔可以根据需求进行设置,例如,该预先设置的时间间隔可以设置为1秒、5秒或10秒等,通过计算预先设置的时间间隔与双写入操作的开启时间之间的时间和得到数据迁移时间点,并根据数据迁移时间点进行旧数据库与新数据库之间的数据迁移,使得旧数据库与新数据库之间的数据迁移在双写入操作的开启时间之后,进而避免了旧数据库与新数据库之间中数据迁移的遗漏。
步骤S30,根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验。
其中,该数据校验用于检测旧数据库与数据迁移后的新数据库之间数据是否一致。
该步骤中,通过分别对旧数据库与数据迁移后的新数据库之间进行数据量的校验和数据内容的校验,以得到数据校验结果,该数据量的校验用于检测旧数据库与数据迁移后的新数据库之间数据量是否相同,该数据内容的校验用于检测旧数据库与数据迁移后的新数据库之间数据内容是否相同。
可选的,该步骤中,若旧数据库与数据迁移后的新数据库之间数据量的校验不合格时,则针对该数据迁移后的新数据库发送数据量迁移错误提示,该数据量迁移错误提示用于提示用户数据迁移后的新数据库中数据量存在错误,若旧数据库与数据迁移后的新数据库之间数据内容的校验不合格时,则针对该数据迁移后的新数据库发送内容迁移错误提示,该内容迁移错误提示用于提示用户数据迁移后的新数据库中数据内容存在错误。
步骤S40,若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作。
其中,该双读取操作用于将针对旧数据库的数据读取事件切换至数据迁移后的新数据库中。
具体的,该步骤中,通过分别开启旧数据库和数据迁移后的新数据库的数据读取功能,根据预设比例对旧数据库和数据迁移后的新数据库进行数据读取事件的分配,并根据预设切换量逐渐将针对旧数据库的数据读取事件切换至数据迁移后的新数据库中,其中,该预设比例用于将针对旧数据库的数据读取事件进行数量分配,该预设切换量用于控制旧数据库与数据迁移后的新数据库之间数据读取事件切换的速率,该预设比例和预设切换量均可以根据需求进行设置,例如,该预设比例可以设置为9比1或8比2等,该预设切换量可以设置为1个、2个或3个等。
例如,本实施例中,当该预设比例设置为9比1,且该预设切换量设置为1个时,若第一次接收到的数据读取事件的数量为10个时,则将9个数据读取事件分配至旧数据库,将1个数据读取事件分配至数据迁移后的新数据库;当第二次接收到的数据读取事件的数量为10个时,则将8个数据读取事件分配至旧数据库,将2个数据读取事件分配至数据迁移后的新数据库,直至第n次接收到数据读取事件,将所有的数据读取事件均分配至数据迁移后的新数据库,以达到旧数据库与数据迁移后的新数据库之间针对数据读取事件响应的切换。
可选的,该步骤中,由于旧数据库和新数据库之间的双写入操作开启的原因,使得数据迁移后的新数据库***的数据存在时间延迟问题,导致数据迁移后的新数据库与旧数据库之间的数据可能有些不一致,因此,该步骤中,当数据迁移后的新数据库读取不到数据读取事件对应的数据时,则根据该数据读取事件去旧数据库进行数据读取,以保障用户对数据读取的准确性。
步骤S50,若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
其中,若针对旧数据库的数据读取事件全部切换至数据迁移后的新数据库,则判定当前已完成旧数据库与数据迁移后的新数据库之间针对数据读取事件响应的切换,通过关闭针对旧数据库的数据写入和数据读取,仅执行针对数据迁移后的新数据库的数据写入和数据读取,保障了旧数据库与新数据库之间数据迁移后对用户数据写入或读取操作响应的准确性。
本实施例中,通过开启旧数据库和新数据库之间的双写入操作,当旧数据库写入数据写入事件时,将数据写入事件异步写入新数据库,使得旧数据库和新数据库针对相同数据写入事件均能进行实施,进而保障了数据迁移过程中用户对数据的写入操作,提高了旧数据库与新数据库之间数据迁移的准确性,通过开启旧数据库和新数据库之间的双读取操作,并关闭针对旧数据库的数据写入和数据读取,仅执行针对数据迁移后的新数据库的数据写入和数据读取,能有效的将针对旧数据库的数据读取事件切换至新数据库中,使得用户基于新数据库进行数据的写入和读取,进而保障了旧数据库与新数据库之间数据迁移后对用户数据写入或读取操作响应的准确性,且本申请实施例提供的一种数据迁移方法,通过开启旧数据库和新数据库之间的双写入操作和双读取操作进行数据的迁移,以达到采用不停机的方式进行旧数据库与新数据库之间的数据迁移,保障了数据迁移过程中用户对数据的访问,提高了用户的使用体验。
请参阅图2,图2是本申请另一实施例提供的一种数据迁移方法的实现流程图。相对于图1对应的实施例,本实施例提供的数据迁移方法是对图1对应的实施例中步骤S10的进一步细化,包括:
S11,分别开启所述旧数据库和所述新数据库的数据写入功能。
其中,分别开启旧数据库和新数据库的数据写入功能,以保障该旧数据库和新数据库内数据写入事件的***。
S12,若接收到任一所述数据写入事件,则将所述数据写入事件写入所述旧数据库,并采用消息队列的方式将所述数据写入事件异步***所述新数据库。
其中,该消息队列中存储有不同数据写入事件与对应执行顺序之间的对应关系和事件异步执行时间,该事件异步执行时间可以根据需求进行设置,该事件异步执行时间用于触发该异步***消息队列后新数据库中数据写入事件的执行。
S13,根据所述消息队列对所述新数据库执行所述数据写入事件。
例如,该消息队列包括数据写入事件A、数据写入事件B和数据写入事件C,该事件异步执行时间为10秒,则在该新数据库中的执行顺序为数据写入事件A-数据写入事件B-数据写入事件C,并当消息队列异步***新数据库10秒后,在新数据库中根据该消息队列依序执行该数据写入事件A、数据写入事件B和数据写入事件C。
具体的,该步骤中,所述根据所述消息队列对所述新数据库执行所述数据写入事件,包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据更新事件,且在所述新数据库中未查询到所述数据更新事件对应的待更新数据,则在所述旧数据库中查询所述数据更新事件对应的数据;
根据所述数据更新事件对所述旧数据库中查询到的数据进行数据更新,并将数据更新后的所述旧数据库中查询到的数据写入所述新数据库;
其中,通过获取该数据写入事件的类型,以判断该数据写入事件是否为数据写入事件,若该数据写入事件是数据写入事件时,则判定用户需要对新数据库中对应的待更新数据进行数据更新,该步骤中,若在新数据库中未查询到数据更新事件对应的待更新数据,通过根据数据更新事件对旧数据库中查询到的数据进行数据更新,有效的防止了当在新数据库中未查询到数据更新事件对应的待更新数据,所导致的数据更新事件执行的错误,且通过将数据更新后的旧数据库中查询到的数据写入新数据库,有效的提高了旧数据库和新数据库之间双写入操作开启状态下数据的一致性,进而提高了后续数据迁移的准确性。
可选的,所述根据所述消息队列对所述新数据库执行所述数据写入事件,还包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据新增事件或数据删除事件,则根据所述数据写入事件同步在所述旧数据库和所述新数据库中执行数据新增操作或数据删除操作,其中,通过根据数据写入事件同步在旧数据库和新数据库中执行数据新增操作或数据删除操作,进一步提高了旧数据库和新数据库之间双写入操作开启状态下数据的一致性。
具体的,请参阅图3,是图2对应实施例提供的一种数据迁移方法的具体实施步骤流程图,其中:
当接收到数据迁移指令,则开启老数据库(旧数据库)和新数据库之间的双写入操作,采用实时写入的方式将数据写入事件写入老数据库中,并采用异步写入的方式将针对老数据库的数据写入事件写入新数据库中;
采用不停机的方式开启老数据库与新数据库之间的数据移植(数据迁移),当完成老数据库与新数据库之间的数据移植后进行数据校验,以验证数据移植后的新数据库中的数据的完整性,并处理老数据库与新数据库之间数据移植产生的错误日志;
在完成数据移植后的新数据库的数据校验后,开启老数据库与数据移植后的新数据库之间的双写入操作,并逐步增加数据读取时间的流量至数据移植后的新数据库;
若针对旧数据库的数据读取事件全部切换至数据移植后的新数据库,则关闭老数据库的数据写入功能,并当检测到数据移植后的新数据库运行稳定后,关闭老数据库的数据读取功能,仅执行针对数据移植后的新数据库的数据写入和数据读取。
可选的,本实施例中,当关闭老数据库的数据写入功能后,检测到数据移植后的新数据库在时间阈值内未发生数据写入或数据读取的错误时,则判定数据移植后的新数据库运行稳定。
本实施例中,通过分别开启旧数据库和新数据库的数据写入功能,保障了旧数据库和新数据库内数据写入事件的***,保障了用户在数据迁移过程中对数据的写入操作,通过根据消息队列对新数据库执行数据写入事件,有效的提高了旧数据库和新数据库之间双写入操作开启状态下数据的一致性,进而提高了后续数据迁移的准确性。
请参阅图4,图4是本申请另一实施例提供的一种数据迁移方法的实现流程图。相对于图1对应的实施例,本实施例提供的数据迁移方法是对图1对应的实施例中步骤S20至步骤S30的进一步细化,包括:
步骤S31,记录所述旧数据库中不同数据的数据标识、迁移时间和迁移数据量。
步骤S32,根据所述数据标识、所述迁移时间和所述迁移数据量生成所述数据迁移日志。
其中,通过分别记录旧数据库中不同数据的数据标识、迁移时间和迁移数据量,以对应生成迁移信息,并将不同数据对应的迁移信息进行存储,得到该数据迁移日志。
步骤S33,若所述旧数据库中的任一数据迁移错误,则根据所述旧数据库中迁移错误的数据在所述数据迁移日志中生成数据迁移错误信息。
其中,若检测到旧数据库中的任一数据与迁移至新数据库中的数据之间数据标识、迁移时间或数据量不相同时,则判定该数据迁移错误,并记录该迁移错误的数据的数据标识,以生成该数据迁移错误信息。
步骤S34,根据所述数据迁移错误信息提醒用户对所述旧数据库中迁移错误的数据进行手动迁移。
其中,通过根据数据迁移错误信息提醒用户对旧数据库中迁移错误的数据进行手动迁移,有效的防止了旧数据库中迁移错误数据的漏迁,根据该数据迁移错误信息中存储的数据标识对旧数据库进行数据查询,得到待迁移数据,并采用手动迁移的方式将该待迁移数据迁移至数据迁移后的新数据库中。
可选的,该步骤中,所述采用手动迁移的方式将该待迁移数据迁移至新数据库中之前,还包括:
根据数据迁移错误信息中存储的数据标识对数据迁移后的新数据库进行数据查询,并将该数据迁移后的新数据库中查询到的数据进行删除;
其中,进而有效的防止了将待迁移数据手动迁移至数据迁移后的新数据库所导致的数据重复存储的现象,提高了旧数据库与新数据库之间数据迁移的准确性。
步骤S35,根据所述数据迁移日志中的所述数据标识、所述迁移时间和所述迁移数据量对手动迁移后的所述旧数据库和所述新数据库之间的数据进行数据比对。
其中,该数据比对包括标识比对、时间比对和数据量比对,具体的,该步骤中,通过根据旧数据库中数据的数据标识对数据迁移后的新数据库进行数据查询,得到标识比对结果,若根据旧数据库中数据的数据标识在数据迁移后的新数据库中均有查询到对应的数据时,则判定手动迁移后的旧数据库和新数据库之间的标识比对合格,若根据旧数据库中任一数据的数据标识在数据迁移后的新数据库中未查询到对应的数据时,则判定手动迁移后的旧数据库和新数据库之间的标识比对不合格。
该步骤中,将手动迁移后的新数据库中查询到的数据与旧数据库中该数据标识对应的数据,分别进行迁移时间和数据量的比对,时间比对结果和数据量比对结果,若手动迁移后的新数据库中查询到的任一数据与旧数据库中该数据标识对应的数据之间迁移时间不相同,则判定手动迁移后的旧数据库和新数据库之间的时间比对不合格,若手动迁移后的新数据库中查询到的任一数据与旧数据库中该数据标识对应的数据之间数据量不相同,则判定手动迁移后的旧数据库和新数据库之间的数据量比对不合格。
可选的,本实施例中,若步骤S33中的数据迁移日志中未生成有数据迁移错误信息,则直接执行步骤S35,即当旧数据库中的数据均未发生迁移错误,则无需进行数据的手动迁移,则直接根据数据迁移日志中的数据标识、迁移时间和迁移数据量对旧数据库和数据迁移后的新数据库之间的数据进行数据比对。
步骤S36,若手动迁移后的所述旧数据库和所述新数据库之间的数据比对合格,则判定手动迁移后的所述旧数据库和所述新数据库之间的数据校验合格。
其中,若手动迁移后的旧数据库和新数据库之间的标识比对、时间比对和数据量比对均合格,则判定手动迁移后的旧数据库和新数据库之间的数据校验合格。
可选的,该步骤中,若手动迁移后的旧数据库和新数据库之间的标识比对不合格,则针对手动迁移后的新数据库中标识比对不合格的数据发送标识错误提示,若手动迁移后的旧数据库和新数据库之间的时间比对不合格,则针对手动迁移后的新数据库中时间比对不合格的数据发送迁移时间错误提示,若手动迁移后的旧数据库和新数据库之间的数据量比对不合格,则针对手动迁移后的新数据库中数据量比对不合格的数据发送迁移数据量错误提示。
本实施例中,通过根据旧数据库中迁移错误的数据在数据迁移日志中生成数据迁移错误信息,并根据数据迁移错误信息对旧数据库中迁移错误的数据进行手动迁移,有效的提高了旧数据库与数据迁移后的新数据库之间数据的一致性,提高了数据迁移的准确性,通过根据数据迁移日志中的数据标识、迁移时间和迁移数据量对手动迁移后的旧数据库和新数据库之间的数据进行数据比对,以检测手动迁移后的旧数据库和新数据库之间的数据的数据标识、迁移时间和数据量是否一致,提高了数据迁移后对数据的校验效率。
在本申请的所有实施例中,基于对旧数据库进行数据迁移得到数据迁移后的新数据库,具体来说,数据迁移后的新数据库由旧数据库进行数据迁移得到。将数据迁移后的新数据库上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得到该数据迁移后的新数据库,以便查证数据迁移后的新数据库是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
请参阅图5,图5是本申请实施例提供的一种数据迁移装置100的结构框图。本实施例中该数据迁移装置100包括的各单元用于执行图1、图2、图4对应的实施例中的各步骤。具体请参阅图1、图2、图4以及图1、图2、图4所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图5,数据迁移装置100包括:双写入开启单元10、数据迁移单元11、数据校验单元12、双读取开启单元13和数据库关闭单元14,其中:
双写入开启单元10,用于若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作,所述双写入操作用于检测到所述旧数据库写入任一数据写入事件,则将所述数据写入事件异步写入所述新数据库。
其中,所述双写入开启单元10还用于:分别开启所述旧数据库和所述新数据库的数据写入功能;
若接收到任一所述数据写入事件,则将所述数据写入事件写入所述旧数据库,并采用消息队列的方式将所述数据写入事件异步***所述新数据库;
根据所述消息队列对所述新数据库执行所述数据写入事件。
可选的,所述双写入开启单元10还用于:若所述消息队列中处于执行状态下的所述数据写入事件是数据更新事件,且在所述新数据库中未查询到所述数据更新事件对应的待更新数据,则在所述旧数据库中查询所述数据更新事件对应的数据;
根据所述数据更新事件对所述旧数据库中查询到的数据进行数据更新,并将数据更新后的所述旧数据库中查询到的数据写入所述新数据库。
可选的,所述双写入开启单元10还用于:若所述消息队列中处于执行状态下的所述数据写入事件是数据新增事件或数据删除事件,则根据所述数据写入事件同步在所述旧数据库和所述新数据库中执行数据新增操作或数据删除操作。
数据迁移单元11,用于将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志。
其中,所述数据迁移单元11还用于:获取预先设置的时间间隔和所述双写入操作的开启时间;
计算所述时间间隔与所述双写入操作的开启时间之间的时间和,得到数据迁移时间点,并根据所述数据迁移时间点将所述旧数据库中的数据迁移至所述新数据库。
可选的,所述数据迁移单元11还用于:记录所述旧数据库中不同数据的数据标识、迁移时间和迁移数据量;
根据所述数据标识、所述迁移时间和所述迁移数据量生成所述数据迁移日志;
若所述旧数据库中的任一数据迁移错误,则根据所述旧数据库中迁移错误的数据在所述数据迁移日志中生成数据迁移错误信息。
数据校验单元12,用于根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验。
其中,所述数据校验单元12还用于:根据所述数据迁移错误信息提醒用户对所述旧数据库中迁移错误的数据进行手动迁移;
根据所述数据迁移日志中的所述数据标识、所述迁移时间和所述迁移数据量对手动迁移后的所述旧数据库和所述新数据库之间的数据进行数据比对,所述数据比对包括标识比对、时间比对和数据量比对;
若手动迁移后的所述旧数据库和所述新数据库之间的数据比对合格,则判定手动迁移后的所述旧数据库和所述新数据库之间的数据校验合格。
双读取开启单元13,用于若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作,所述双读取操作用于将针对所述旧数据库的数据读取事件切换至数据迁移后的所述新数据库中。
数据库关闭单元14,用于若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
以上可以看出,通过开启旧数据库和新数据库之间的双写入操作,当旧数据库写入数据写入事件时,将数据写入事件异步写入新数据库,使得旧数据库和新数据库针对相同数据写入事件均能进行实施,进而保障了数据迁移过程中用户对数据的写入操作,提高了旧数据库与新数据库之间数据迁移的准确性,通过开启旧数据库和新数据库之间的双读取操作,并关闭针对旧数据库的数据写入和数据读取,仅执行针对数据迁移后的新数据库的数据写入和数据读取,能有效的将针对旧数据库的数据读取事件切换至新数据库中,使得用户基于新数据库进行数据的写入和读取,进而保障了旧数据库与新数据库之间数据迁移后对用户数据写入或读取操作响应的准确性,且本申请实施例提供的一种数据迁移方法,通过开启旧数据库和新数据库之间的双写入操作和双读取操作进行数据的迁移,以达到采用不停机的方式进行旧数据库与新数据库之间的数据迁移,保障了数据迁移过程中用户对数据的访问,提高了用户的使用体验。
图6是本申请另一实施例提供的一种终端设备2的结构框图。如图6所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如数据迁移方法的程序。处理器20执行所述计算机程序23时实现上述各个数据迁移方法各实施例中的步骤,例如图1所示的S10至S50,或者图2所示的S11至S13,或者图4所示的S31至S36。或者,所述处理器20执行所述计算机程序22时实现上述图5对应的实施例中各单元的功能,例如,图5所示的单元10至14的功能,具体请参阅图6对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序22可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。例如,所述计算机程序22可以被分割成双写入开启单元10、数据迁移单元11、数据校验单元12、双读取开启单元13和数据库关闭单元14,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图6仅仅是终端设备2的示例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据迁移方法,其特征在于,包括:
若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作,所述双写入操作用于检测到所述旧数据库写入任一数据写入事件,则将所述数据写入事件异步写入所述新数据库;
将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志;
根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验;
若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作,所述双读取操作用于将针对所述旧数据库的数据读取事件切换至数据迁移后的所述新数据库中;
若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述开启旧数据库和新数据库之间的双写入操作,包括:
分别开启所述旧数据库和所述新数据库的数据写入功能;
若接收到任一所述数据写入事件,则将所述数据写入事件写入所述旧数据库,并采用消息队列的方式将所述数据写入事件异步***所述新数据库;
根据所述消息队列对所述新数据库执行所述数据写入事件。
3.根据权利要求2所述的数据迁移方法,其特征在于,所述根据所述消息队列对所述新数据库执行所述数据写入事件,包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据更新事件,且在所述新数据库中未查询到所述数据更新事件对应的待更新数据,则在所述旧数据库中查询所述数据更新事件对应的数据;
根据所述数据更新事件对所述旧数据库中查询到的数据进行数据更新,并将数据更新后的所述旧数据库中查询到的数据写入所述新数据库。
4.根据权利要求2所述的数据迁移方法,其特征在于,所述根据所述消息队列对所述新数据库执行所述数据写入事件,包括:
若所述消息队列中处于执行状态下的所述数据写入事件是数据新增事件或数据删除事件,则根据所述数据写入事件同步在所述旧数据库和所述新数据库中执行数据新增操作或数据删除操作。
5.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述旧数据库中的数据迁移至所述新数据库,包括:
获取预先设置的时间间隔和所述双写入操作的开启时间;
计算所述时间间隔与所述双写入操作的开启时间之间的时间和,得到数据迁移时间点,并根据所述数据迁移时间点将所述旧数据库中的数据迁移至所述新数据库。
6.根据权利要求5所述的数据迁移方法,其特征在于,所述生成数据迁移日志,包括:
记录所述旧数据库中不同数据的数据标识、迁移时间和迁移数据量;
根据所述数据标识、所述迁移时间和所述迁移数据量生成所述数据迁移日志;
若所述旧数据库中的任一数据迁移错误,则根据所述旧数据库中迁移错误的数据在所述数据迁移日志中生成数据迁移错误信息。
7.根据权利要求6所述的数据迁移方法,其特征在于,所述根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验,包括:
根据所述数据迁移错误信息提醒用户对所述旧数据库中迁移错误的数据进行手动迁移;
根据所述数据迁移日志中的所述数据标识、所述迁移时间和所述迁移数据量对手动迁移后的所述旧数据库和所述新数据库之间的数据进行数据比对,所述数据比对包括标识比对、时间比对和数据量比对;
若手动迁移后的所述旧数据库和所述新数据库之间的数据比对合格,则判定手动迁移后的所述旧数据库和所述新数据库之间的数据校验合格。
8.一种数据迁移装置,其特征在于,包括:
双写入开启单元,用于若接收到数据迁移指令,则开启旧数据库和新数据库之间的双写入操作,所述双写入操作用于检测到所述旧数据库写入任一数据写入事件,则将所述数据写入事件异步写入所述新数据库;
数据迁移单元,用于将所述旧数据库中的数据迁移至所述新数据库,并生成数据迁移日志;
数据校验单元,用于根据所述数据迁移日志对数据迁移后的所述新数据库进行数据校验;
双读取开启单元,用于若数据迁移后的所述新数据库的数据校验合格,则开启所述旧数据库和数据迁移后的所述新数据库之间的双读取操作,所述双读取操作用于将针对所述旧数据库的数据读取事件切换至数据迁移后的所述新数据库中;
数据库关闭单元,用于若针对所述旧数据库的数据读取事件全部切换至数据迁移后的所述新数据库,则关闭针对所述旧数据库的数据写入和数据读取,仅执行针对数据迁移后的所述新数据库的数据写入和数据读取。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN202011225715.9A 2020-11-05 2020-11-05 数据迁移方法、装置、终端设备及存储介质 Pending CN112256675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011225715.9A CN112256675A (zh) 2020-11-05 2020-11-05 数据迁移方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011225715.9A CN112256675A (zh) 2020-11-05 2020-11-05 数据迁移方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN112256675A true CN112256675A (zh) 2021-01-22

Family

ID=74267769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011225715.9A Pending CN112256675A (zh) 2020-11-05 2020-11-05 数据迁移方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN112256675A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685391A (zh) * 2021-03-22 2021-04-20 腾讯科技(深圳)有限公司 一种服务数据迁移方法、装置、计算机设备和存储介质
CN113254421A (zh) * 2021-05-31 2021-08-13 重庆富民银行股份有限公司 基于数据库双写的跨库账户迁移方法
CN113468150A (zh) * 2021-09-03 2021-10-01 四川新网银行股份有限公司 一种支付签约数据的水平切分扩容与迁移方法
CN114218191A (zh) * 2021-12-15 2022-03-22 中国平安人寿保险股份有限公司 ***功能迁移方法、装置、计算机设备及存储介质
CN115951846A (zh) * 2023-03-15 2023-04-11 苏州浪潮智能科技有限公司 数据写入方法、装置、设备及介质
CN116738026A (zh) * 2023-06-27 2023-09-12 广东省高速公路有限公司 一种基于信创环境的电子档案管理***及其方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138440A1 (en) * 2008-12-01 2010-06-03 Volker Driesen Extend Crud To Support Lifecyle Management And Business Continuity
CN109656908A (zh) * 2018-11-30 2019-04-19 广州品唯软件有限公司 一种数据库在线迁移方法、电子设备及存储介质
CN110019133A (zh) * 2017-12-21 2019-07-16 北京京东尚科信息技术有限公司 数据在线迁移方法和装置
CN111159296A (zh) * 2019-12-30 2020-05-15 深圳市网心科技有限公司 一种存储扩容方法、装置、设备及可读存储介质
CN111221800A (zh) * 2019-12-19 2020-06-02 中国平安人寿保险股份有限公司 数据库迁移方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138440A1 (en) * 2008-12-01 2010-06-03 Volker Driesen Extend Crud To Support Lifecyle Management And Business Continuity
CN110019133A (zh) * 2017-12-21 2019-07-16 北京京东尚科信息技术有限公司 数据在线迁移方法和装置
CN109656908A (zh) * 2018-11-30 2019-04-19 广州品唯软件有限公司 一种数据库在线迁移方法、电子设备及存储介质
CN111221800A (zh) * 2019-12-19 2020-06-02 中国平安人寿保险股份有限公司 数据库迁移方法、装置、电子设备及存储介质
CN111159296A (zh) * 2019-12-30 2020-05-15 深圳市网心科技有限公司 一种存储扩容方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯海燕;赖志存;吴佩珊;: "不完全停机下的***数据迁移方案与实现", 广东科技, no. 18, 30 September 2009 (2009-09-30) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685391A (zh) * 2021-03-22 2021-04-20 腾讯科技(深圳)有限公司 一种服务数据迁移方法、装置、计算机设备和存储介质
CN112685391B (zh) * 2021-03-22 2021-06-08 腾讯科技(深圳)有限公司 一种服务数据迁移方法、装置、计算机设备和存储介质
CN113254421A (zh) * 2021-05-31 2021-08-13 重庆富民银行股份有限公司 基于数据库双写的跨库账户迁移方法
CN113468150A (zh) * 2021-09-03 2021-10-01 四川新网银行股份有限公司 一种支付签约数据的水平切分扩容与迁移方法
CN114218191A (zh) * 2021-12-15 2022-03-22 中国平安人寿保险股份有限公司 ***功能迁移方法、装置、计算机设备及存储介质
CN115951846A (zh) * 2023-03-15 2023-04-11 苏州浪潮智能科技有限公司 数据写入方法、装置、设备及介质
CN116738026A (zh) * 2023-06-27 2023-09-12 广东省高速公路有限公司 一种基于信创环境的电子档案管理***及其方法

Similar Documents

Publication Publication Date Title
CN112256675A (zh) 数据迁移方法、装置、终端设备及存储介质
US11176090B2 (en) Verification of the integrity of data files stored in copy-on-write (CoW) based file system snapshots
US9417972B2 (en) Cascade ordering
US20180307705A1 (en) Clone file backup and restore
CN111680008B (zh) 日志处理方法、***、可读存储介质及智能设备
JPH05502747A (ja) 大容量データベースシステムにおける回復
US20120296878A1 (en) File set consistency verification system, file set consistency verification method, and file set consistency verification program
CN111291023A (zh) 一种数据迁移的方法、***、设备以及介质
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
CN115639971B (zh) 数据写入方法、装置、电子设备、存储介质及程序产品
US8595271B1 (en) Systems and methods for performing file system checks
CN111488483B (zh) 曲库更新方法、装置、终端和非临时性计算机可读存储介质
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
US9400894B1 (en) Management of log files subject to edit restrictions that can undergo modifications
US11803317B2 (en) Interrupted replicated write recognition
CN114896641A (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN115061726A (zh) 脚本文件批量处理方法、装置、设备、介质和程序产品
CN114792016A (zh) 一种处理方法及电子设备
CN113259410A (zh) 一种基于分布式存储的数据传输校验方法及***
CN114217741A (zh) 存储装置的存储方法及存储装置
CN112286448A (zh) 对象访问方法、装置、电子设备及机器可读存储介质
CN111694727A (zh) 一种网卡固件升降级测试方法、***、终端及存储介质
CN111460436A (zh) 一种基于区块链的非结构化数据操作方法和***
CN114880277B (zh) 块设备快照方法、***和存储介质
CN115878563B (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