一种数据迁移方法、装置、设备和存储介质与流程

文档序号:18869422发布日期:2019-10-14 19:10阅读:177来源:国知局
一种数据迁移方法、装置、设备和存储介质与流程

本发明实施例涉及互联网技术领域,尤其涉及一种数据迁移方法、装置、设备和存储介质。



背景技术:

随着电子商务进入发展高潮,数据量增加,存在旧的业务系统不能满足客户日益增长的业务需求,因此,人们会对旧业务系统进行系统升级,但随之而来的是如何将旧业务系统中大量的数据迁移到升级后的系统中。

现有技术中,常用的数据迁移方法是先迁移存量业务数据,完成后暂停线上业务,保证不再有新的业务数据进入旧系统,然后再迁移增量业务数据,再启用新系统。

基于上述的现有技术方案,在进行数据迁移的时候,为保证新旧系统数据的一致性,存在中断业务系统的情况,从而给用户的使用带来不便。尤其是在金融领域,解决业务系统不中断的问题显得尤为重要。



技术实现要素:

本发明实施例提供了一种数据迁移方法、装置、设备和存储介质,以实现在不中断旧业务系统的情况下,将旧业务系统中的全量业务数据迁移到新业务系统。

第一方面,本发明实施例提供了一种数据迁移方法,所述方法包括:

将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库;

如果在业务数据的迁移过程中接收到业务请求,则将所述业务请求分别发送给第一业务系统和第二业务系统;

将第一业务系统产生的与所述业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与所述业务请求对应的第二增量业务数据存储于第二数据库中。

第二方面,本发明实施例还提供了一种数据迁移装置,所述装置包括:

源存量业务数据迁移模块,用于将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库;

业务请求发送模块,用于如果在业务数据的迁移过程中接收到业务请求,则将所述业务请求分别发送给第一业务系统和第二业务系统;

增量业务数据存储模块,用于将第一业务系统产生的与所述业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与所述业务请求对应的第二增量业务数据存储于第二数据库中。

第三方面,本发明实施例还提供了一种设备,所述设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述所涉及的任一所述的数据迁移方法。

第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述所涉及的任一所述的数据迁移方法。

本发明实施例通过将在数据迁移过程中的业务请求,发送给第一业务系统和第二业务系统同时处理,解决了在数据迁移过程中,需要中断旧业务系统的问题,实现了对旧业务系统中全量业务数据的迁移。

附图说明

图1是本发明实施例一提供的一种数据迁移方法的流程示意图。

图2是本发明实施例二提供的一种数据迁移方法的流程示意图。

图3是本发明实施例三提供的一种数据迁移方法的优选实例的示意图。

图4是本发明实施例四提供的一种数据迁移装置的结构示意图。

图5是本发明实施例五提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种数据迁移方法的流程图,本实施例可适用于业务系统之间进行数据迁移的情况,该方法可以由数据迁移装置来执行,该装置可以由软件和/或硬件来实现。该方法具体包括如下步骤:

s110、将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库。

在本实施例中,业务系统包括对业务处理过程进行针对性支持的信息系统,其中,业务处理过程包括但不限于数据输入、业务处理、文件和数据库处理、文件和报表产生和查询处理过程等。

示例性的,第一业务系统可以是旧业务系统或待数据迁移的业务系统,第二业务系统可以是新业务系统或接收数据的业务系统。数据库是存储在一起的相关数据的集合,供用户迅速有效地进行数据处理,通常以某种相关性及顺序性存放在磁碟、光碟或磁带等储存媒介上。

示例性的,业务数据包括但不限于用户输入的数据和业务系统对上述数据进行相关业务处理后产生的数据。源存量业务数据包括在开始数据迁移之前的所有业务数据。

其中,数据迁移可以是将源存量业务数据按照旧业务系统的数据格式直接迁移到新业务系统中,也可以是对源存量业务数据按照新业务系统的数据格式进行数据加工后,将产生的符合新业务系统数据格式的业务数据迁移到新业务系统中。

s120、如果在业务数据的迁移过程中接收到业务请求,则将业务请求分别发送给第一业务系统和第二业务系统。

其中,业务数据迁移的过程可以是开始对源存量业务数据进行数据迁移,到源存量业务数据迁移完成为止的过程,当然,也可以是开始对源存量业务数据进行数据迁移,到关闭旧业务系统处理为止的过程。其中,关闭旧业务系统包括在源存量业务数据迁移完成之后,对新业务系统进行校验的过程。如果检验合格则关闭旧业务系统,如果校验不合格则继续进行数据迁移,不关闭旧业务系统。示例性的,业务请求包括但不限于输入信息、查询请求、业务办理请求、删除请求、修改请求和下载请求等。

可选的,在数据迁移完成之前,将第一业务系统对所述业务请求的响应结果推送给下游业务系统。其中,数据迁移完成之前可以是源存量业务数据迁移完成之前,当然,也可以是对新业务系统完成校验之前。下游业务系统包括第一业务系统服务的终端业务系统,第一业务系统将产生的响应结果根据下游业务系统的系统功能进行相关业务数据的推送。示例性的,下游业务系统为银行业务系统,第一业务系统则将产生的与财务相关的业务数据推送给银行业务系统。其中,下游业务系统可以是一个,也可以是多个。

s130、将第一业务系统产生的与业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与业务请求对应的第二增量业务数据存储于第二数据库中。

其中,增量业务数据包括在源存量业务数据迁移开始之后,业务系统产生的新的业务数据。

本实施例的技术方案,将业务请求分别发送给旧业务系统和新业务系统处理,解决了在进行增量业务数据迁移时,需要终端旧业务系统的问题,达到了对旧业务系统中全量业务数据迁移的效果。

在上述技术方案的基础上,可选的,所述将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库,包括:将第一业务系统对应的第一数据库中的第一全量业务数据同步到第三数据库中,其中,第一全量业务数据包括源存量业务数据和第一增量业务数据;从第三数据库中提取源存量业务数据,并对所述源存量业务数据进行处理,得到与所述第二业务系统对应的第二数据库所对应的目标存量业务数据;将所述目标存量业务数据写入第二数据库中。

在一个实施例中,示例性的,第一数据库和第二数据库可以是存储业务数据的高速低容量的存储媒介,第三数据库可以是辅助高容量存储媒介。这样设置的好处在于,提高对数据文件的访问速度,增加业务系统的存储空间。

在一个实施例中,从第三数据库中提取源存量业务数据可以避免对第一数据库的访问和资源占用,在不影响第一业务系统功能响应的同时,完成对业务数据的迁移。在一个实施例中,第一数据库的业务数据的格式与第二数据库不同。示例性的,对源存量业务数据进行处理可以是对源存量业务数据按照第二数据库的数据格式的要求进行格式转换,当然,也可以是将源存量业务数据格式转换为预设的中间格式,再由中间格式转换为第二数据库的所需的数据格式。这样设置的好处在于,在进行多个数据库之间的数据迁移时,不需要分别对每个数据库分别开发不同的转换方法,只需要对中间格式的数据采取不同的写入方式就可以完成数据的迁移。此处对第一业务系统的业务数据进行数据处理的方法不作限定。

在一个实施例中,通常将业务数据写入数据库常用的程序语言包括load语句和insert语句。其中,在进行大量数据写入是一般采用load语句。load语句是高速的从一个文本文件中读取行,并装入一个表中,通过导入文件的方式导入数据,缩短数据导入时间。此处对数据写入数据库的方式不作限定。

实施例二

图2是本发明实施例二提供的一种数据迁移方法的流程图,本实施例的技术方案是上述实施例的基础上的进一步细化。可选的,在上述实施例的基础上,还包括:根据下游业务系统的下游业务数据对所述第二增量业务数据进行校验。

如图2所示,本实施例的方法具体可包括如下步骤:

s210、将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库。

s220、根据下游业务系统的下游业务数据对第二增量业务数据进行校验。如果校验合格,则执行s221,如果校验不合格,则执行s222。

在一个实施例中,当下游业务系统为财务系统时,如银行业务系统,则可以根据下游业务系统的对账文件和第二增量业务数据进行校验。其中,对账文件包括但不限于用户名、借款金额、还款金额、借款时间、还款期限和每月还款金额等信息。当然,也可以是将第二增量业务数据与第一增量业务数据进行校验。在进行数据校验时,可以对第二增量业务数据逐一对应的进行校验,也可以是根据业务数据的处理结果进行对比校验。此处对业务数据校验的方式不作限定。

在一个实施例中,对第二增量业务数据进行校验可以是定期或不定期地对第二增量业务数据进行校验。具体地,对第二增量业务数据进行校验可包括根据预设间隔时间对第二增量业务数据进行校验、在有第二增量业务数据产生时进行实时校验和在特定的触发条件下进行校验中的一种或几种。其中,预设间隔时间可以根据业务系统的相关参数实时调整,如根据业务系统的吞吐量进行设置,也可以由用户设定固定的时间间隔。例如预设时间间隔可以是24小时,即可以在每天固定的时间点对第二增量业务数据进行校验。示例性的,特定的触发条件可以是源存量业务数据迁移完成等。此处对校验的时机和检验的频率不作限定。在一个实施例中,可选的,判断校验合格的预设条件可以是第二增量业务数据对比连续无差异的次数满足预设次数。示例性的,记录每次校验的结果,统计对比无差异的次数,如果连续无差异的次数满足预设次数,则认为校验合格。其中,预设次数可以根据校验的频率进行设置,示例性的,预设次数可以是5次。

举例而言,在完成源存量业务数据迁移之后,以一天为间隔时间进行校验。第一天进行校验时,第二增量业务数据包括开始对源存量业务数据进行迁移,到本次校验时间为止产生的业务数据。对应的,可以通过第二业务系统获取下游业务系统上述时间段内的对账文件,根据所述对账文件对上述时间段内的第二增量业务数据进行校验,如果校验不合格则执行后续步骤;第二天进行校验时,对第一天校验之后到本次校验时间为止的第二增量业务数据进行校验;第三天进行校验时,对第二天校验之后到本次校验时间为止的第二增量业务数据进行校验;以此类推,记录每次校验的结果。当校验连续无差异的次数满足预设次数时,执行后续步骤。

可选的,在上述实施例的基础上,还包括:对目标存量业务数据进行校验。其中,校验的方式与第二增量业务数据的校验方式相似,此处不再赘述。这样设置的好处在于,保证目标存量业务数据的准确性和完整性。

s221、暂停将所述业务请求发送给第一业务系统,并将第二业务系统对业务请求的响应结果推送给下游业务系统。

s222、对第二业务系统进行修复,并将第一业务系统所产生的第一增量业务数据迁移到第二数据库。

其中,当校验不合格时,分析产生差异的原因。示例性的,如果校验不合格是由第二业务系统的系统问题造成的,则对第二业务系统的系统进行修复,并将第一增量业务数据迁移到第二数据库。如果校验不合格是由第二增量业务数据造成的,如第二增量业务数据在存储过程中出现问题,则将第一增量业务数据迁移到第二数据库。其中,对第一增量业务数据进行迁移的方式可与对源存量业务数据进行迁移的方式相似,此处不再赘述。

本实施例的技术方案,在完成存量数据迁移之后,对新业务系统中的增量数据进行校验,在保证了增量数据的准确完整迁移的同时,也完成了对新业务系统的测试,节省了对新旧业务系统的业务切换的时间。

实施例三

图3是本发明实施例三提供的一种数据迁移方法的优选实例的示意图。如图3所示,本实施例的方法流程包括:

首先,将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库。其中,对源存量业务数据迁移的方式可以是将第一业务系统对应的第一数据库中的第一全量业务数据同步到第三数据库中,从所述第三数据库中提取源存量业务数据,并对源存量业务数据进行数据加工,得到与第二业务系统对应的第二数据库所对应的目标存量业务数据,使用load语句将目标存量业务数据写入到第二数据库中。

如果在业务数据迁移的过程中,业务前端接收到业务请求,则通过业务请求分发模块,将业务请求分别发送给第一业务系统和第二业务系统,将第一业务系统产生的与业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与业务请求对应的第二增量业务数据存储于第二数据库中。在数据迁移完成之前,将第一业务系统对业务请求的相应结果推送给下游业务系统,产生的业务数据同步到第三数据库中,并定期获取下游业务系统的对账文件对第一业务系统进行对账。

在源存量业务数据迁移完成之后,第二业务系统每天获取下游业务系统的对账文件,对本次对账前未被校验的第二增量业务数据进行校验,记录每次校验结果。如果校验不合格,且产生差异的原因是由于第二业务系统问题,则对第二业务系统进行修复,并将第一业务系统所产生的第一增量业务数据迁移同步到所述第二数据库。如果连续校验无差异的次数满足预设次数,如5次,则认为校验合格,暂停将业务请求发送给第一业务系统,并将第二业务系统对业务请求的响应结果推送给下游业务系统,第二业务系统对应的第二数据库中的第二全量业务数据同步到第三数据库中,并定期获取下游业务系统的对账文件对第二业务系统进行对账。

实施例四图4是本发明实施例四提供的一种数据迁移装置的示意图。本发明实施例所提供的数据迁移装置可执行本发明任意实施例所提供的数据迁移方法,本实施例可适用于业务系统之间进行数据迁移的情况。该数据迁移装置包括:源存量业务数据迁移模块310、业务请求发送模块320和增量业务数据存储模块330。

源存量业务数据迁移模块310,用于将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库;

业务请求发送模块320,用于如果在业务数据的迁移过程中接收到业务请求,则将所述业务请求分别发送给第一业务系统和第二业务系统;

增量业务数据存储模块330,用于将第一业务系统产生的与所述业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与所述业务请求对应的第二增量业务数据存储于第二数据库中。

本实施例的技术方案,将业务请求分别发送给旧业务系统和新业务系统处理,解决了在进行增量业务数据迁移时,需要终端旧业务系统的问题,达到了对旧业务系统中全量业务数据迁移的效果。

可选的,源存量业务数据迁移模块310包括:

第一全量业务数据同步单元,用于将第一业务系统对应的第一数据库中的第一全量业务数据同步到第三数据库中,其中,所述第一全量业务数据包括源存量业务数据和第一增量业务数据。

源存量业务数据处理单元,用于从所述第三数据库中提取所述的源存量业务数据,并对所述源存量业务数据进行处理,得到与所述第二业务系统对应的第二数据库所对应的目标存量业务数据。

目标存量业务数据写入单元,用于将所述目标存量业务数据写入第二数据库中。

可选的,所述装置还包括:

第二增量业务数据校验模块,用于根据下游业务系统的下游业务数据对所述第二增量业务数据进行校验。

可选的,所述装置还包括:

响应结果发送模块,用于在数据迁移完成之前,将所述第一业务系统对所述业务请求的响应结果推送给下游业务系统。

可选的,所述装置还包括:

检验合格模块,用于如果校验合格,则暂停将所述业务请求发送给第一业务系统,并将所述第二业务系统对所述业务请求的响应结果推送给下游业务系统。

可选的,所述装置还包括:

检验不合格模块,用于如果校验不合格,则对所述第二业务系统进行修复,并将所述第一业务系统所产生的第一增量业务数据迁移到所述第二数据库。

可选的,所述第二增量业务数据校验模块包括:

第二增量业务数据对账单元,用于根据下游业务系统的对账文件和所述第二增量业务数据进行对账。

本发明实施例所提供的数据迁移装置可以用于执行本发明实施例所提供的数据迁移方法,具备执行方法相应的功能和有益效果。

实施例五

图5是本发明实施例五提供的一种设备的结构示意图,本发明实施例为本发明上述实施例任一所述的数据迁移方法的实现提供服务,可配置本发明实施例三中所述的数据迁移装置。

该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的设备数据迁移方法对应的程序指令/模块(例如,源存量业务数据迁移模块310、业务请求发送模块320和增量业务数据存储模块330)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的设备控制方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。

通过上述设备,解决了在进行增量业务数据迁移时,需要终端旧业务系统的问题,达到了对旧业务系统中全量业务数据迁移的效果。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据迁移方法,该方法包括:

将第一业务系统对应的第一数据库中的源存量业务数据迁移到第二业务系统对应的第二数据库;

如果在业务数据的迁移过程中接收到业务请求,则将所述业务请求分别发送给第一业务系统和第二业务系统;

将第一业务系统产生的与所述业务请求对应的第一增量业务数据存储于第一数据库中,将第二业务系统产生的与所述业务请求对应的第二增量业务数据存储于第二数据库中。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据迁移方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述数据迁移装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1