CN114416689A - 数据迁移方法、装置、计算机设备、存储介质 - Google Patents
数据迁移方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN114416689A CN114416689A CN202111488558.5A CN202111488558A CN114416689A CN 114416689 A CN114416689 A CN 114416689A CN 202111488558 A CN202111488558 A CN 202111488558A CN 114416689 A CN114416689 A CN 114416689A
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- migrated
- identifier
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据迁移方法、装置、计算机设备、存储介质。所述方法包括:确定数据分组维度,并确定数据分组维度下的数据标识;从待迁移系统的源数据中获取与数据标识对应的源数据;将数据标识对应的源数据从待迁移系统向目标系统迁移,并生成数据标识对应的迁移状态为迁移中;在数据标识对应的源数据迁移完成后,更新数据标识对应的迁移状态为非迁移中,迁移状态用于指示从待迁移系统和目标系统中确定用于处理数据处理请求的系统。采用本方法能够极大地降低了迁移过程对业务造成的影响,在保证服务连续性的前提下,实现数据一致性。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种数据迁移方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在企业业务系统的更新换代中,常常存在需要将旧系统的源数据库中的数据迁移至新系统的目标数据库的需求。
传统技术中,可以采用双写迁移方案进行数据迁移。双写迁移方案不需要停止系统运行,通过在数据迁移的过程中,将接收到的业务请求分别发送至旧系统和新系统,在修改旧系统中的数据的同时,同步或异步地修改新系统中的数据,并执行多次数据校验和增量迁移以保证新旧系统的数据一致性。在新系统稳定之后再将业务请求全部切换到新系统,并下线旧系统。但是,在双写迁移方案中,若新系统对数据迁移过程中的写入请求响应不及时,可能导致新旧系统数据不一致的情况发生。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在数据迁移时确保数据一致性的数据迁移方法、装置、计算机设备、计算机可读存储介质、计算机程序产品。
第一方面,本申请提供了一种数据迁移方法。所述方法包括:
确定数据分组维度,并确定所述数据分组维度下的数据标识;
从待迁移系统的源数据中获取与所述数据标识对应的源数据;
将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,并生成所述数据标识对应的迁移状态为迁移中;
在所述数据标识对应的源数据迁移完成后,更新所述数据标识对应的迁移状态为非迁移中,所述迁移状态用于指示从所述待迁移系统和所述目标系统中确定用于处理数据处理请求的系统。
在其中一个实施例中,所述方法还包括:
在数据迁移过程中,接收所述数据处理请求,所述数据处理请求携带目标数据标识;
当查询所述目标数据标识当前的迁移状态为迁移中时,根据所述数据处理请求的读写属性,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统;
当查询所述目标数据标识当前的迁移状态为非迁移中时,根据所述目标系统中已存在的数据标识,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统。
在其中一个实施例中,所述根据所述数据处理请求的读写属性,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统,包括:
当所述数据处理请求为写入请求时,暂停处理所述数据处理请求,直至所述目标数据标识的迁移状态变更为非迁移中;
当所述数据处理请求为读取请求时,通过所述待迁移系统处理所述数据处理请求。
在其中一个实施例中,所述根据所述目标系统中已存在的数据标识,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统,包括:
当查询所述目标数据标识已存在于所述目标系统中时,通过所述目标系统处理所述数据处理请求;
当查询所述目标数据标识还未存在于所述目标系统中时,通过所述待迁移系统处理所述数据处理请求。
在其中一个实施例中,所述将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,包括:
对所述数据标识进行分组,生成数据标识组;
以所述数据标识组为迁移批次,将所述数据标识组下数据标识对应的源数据从所述待迁移系统向所述目标系统迁移。
在其中一个实施例中,所述方法还包括:
在数据迁移过程中,当接收到数据迁移的暂停请求时,将当前迁移中的数据标识组下数据标识对应的源数据迁移完成后,再响应所述暂停请求暂停数据迁移。
在其中一个实施例中,所述方法还包括:
当检测到发生数据迁移错误的情况时,删除所述目标系统中的数据,以及删除所述数据标识的迁移状态,重新启动新的数据迁移过程。
第二方面,本申请还提供了一种数据迁移装置。所述装置包括:
标识确定模块,确定数据分组维度,并确定所述数据分组维度下的数据标识;
数据获取模块,从待迁移系统的源数据中获取与所述数据标识对应的源数据;
数据迁移模块,用于将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,并生成所述数据标识对应的迁移状态为迁移中;
状态变更模块,用于在所述数据标识对应的源数据迁移完成后,更新所述数据标识对应的迁移状态为非迁移中,所述迁移状态用于指示从所述待迁移系统和所述目标系统中确定用于处理数据处理请求的系统。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项实施例所述的数据迁移方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施例所述的数据迁移方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项实施例所述的数据迁移方法。
上述数据迁移方法、装置、计算机设备、存储介质和计算机程序产品,在系统切换的场景中,在无需系统停机的情况下,确定数据分组维度,并确定数据分组维度下的数据标识;从待迁移系统的源数据中获取与所述数据标识对应的源数据。按照数据标识对待迁移系统中的源数据进行分组,将待迁移系统中的源数据逐步迁移至目标系统,极大地降低了迁移过程对业务造成的影响。此外,通过记录数据标识对应的迁移状态,根据迁移状态确定用于处理数据迁移过程中接收的数据处理请求的系统,能够在保证服务连续性的前提下,实现数据一致性。
附图说明
图1为一个实施例中数据迁移方法的应用环境图;
图2为一个实施例中数据迁移方法的流程示意图;
图3为一个实施例中获取与数据标识对应的源数据的示意图;
图4为一个实施例中对数据处理请求进行处理的流程示意图;
图5为另一个实施例中数据迁移方法的流程示意图;
图6为一个实施例中数据迁移装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据迁移方法,可以应用于如图1所示的应用环境中。其中,数据迁移服务器110与第一服务器120、第二服务器130通过网络进行通信。第一服务器110中部署有待迁移系统,待迁移系统产生的源数据存储在待迁移数据存储系统中。待迁移数据存储系统可以集成在第一服务器120上,也可以放在云上或其他网络服务器上。第二服务器120中部署有目标系统。迁移至目标系统的源数据存储在目标数据存储系统中。目标数据存储系统可以集成在第二服务器120上,也可以放在云上或其他网络服务器上。在本申请的实施例中,数据迁移服务器110确定数据分组维度,并确定数据分组维度下的数据标识;从第一服务器120的待迁移系统的源数据中获取与数据标识对应的源数据。将数据标识对应的源数据从第一服务器120的待迁移系统向第二服务器130的目标系统迁移,并生成数据标识对应的迁移状态为迁移中。数据迁移服务器110在数据标识对应的源数据迁移完成后,更新数据标识对应的迁移状态为非迁移中,迁移状态用于指示从待迁移系统和目标系统中确定用于处理数据处理请求的系统。
其中,数据迁移服务器110、第一服务器120、第二服务器130分别可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据迁移方法,以该方法应用于图1中的数据迁移服务器为例进行说明,包括以下步骤:
步骤S210,确定数据分组维度,并确定数据分组维度下的数据标识。
其中,数据分组维度可以是对待迁移的源数据进行分组的分组标准,可以但不限于采用账户标识、账户属性(例如年龄、地区等)等作为数据分组维度。数据分组维度下包括多个维度值(即数据标识),例如,账户标识维度下包括若干个用户账户标识;年龄维度下包括多个年龄区间。
一个实施例中,数据分组维度可以是预先配置至数据迁移服务器中的。在需要进行数据迁移时,数据迁移服务器获取预先配置的该数据分组维度,并获取该数据分组维度下的多个数据标识。
另一个实施例中,数据迁移服务器中预先配置有数据分组维度的维度确定方式。当数据迁移服务器接收到数据迁移请求时,便可根据该维度确定方式确定数据分组维度。一个示例中,维度确定方式可以基于待迁移系统的业务场景确定。例如,A业务场景下的系统,采用账户标识作为数据分组维度;B业务场景下的系统,采用地区作为数据分组维度。
步骤S220,从待迁移系统的源数据中获取与数据标识对应的源数据。
其中,每个数据标识是能够唯一性地对一组数据进行封锁的封锁键,且不同的数据标识对应的源数据没有重合,多个数据标识对应的多组数据总和为需要从待迁移系统中迁移出的源数据。
具体地,图3示意性示出了一种获取与数据标识对应的源数据的示意图。参照图3,源数据可以包括多个待迁移的数据表。数据迁移服务器从每个数据表中查询与每个数据标识对应的数据,进而汇总从多个数据表中得到的与每个数据标识对应的数据,得到与数据标识对应的源数据。
一个实施例中,在确定数据分组维度下的多个数据标识后,数据迁移服务器可以创建与每个数据标识对应的迁移状态,并按照预设的数据结构锁定每个数据标识与迁移状态之间的映射关系。一个示例中,在获取与每个数据标识对应的源数据之后,数据迁移服务器可以将每个数据标识对应的迁移状态更新为非迁移中(例如迁移前)。
步骤S230,将数据标识对应的源数据从待迁移系统向目标系统迁移,并生成数据标识对应的迁移状态为迁移中。
具体地,数据迁移服务器可以以每个数据标识为迁移单位,逐步将每个数据标识对应的源数据从待迁移系统迁移至目标系统的指定文件夹中。在对每个数据标识对应的源数据的迁移过程中,将每个数据标识对应的迁移状态更新为迁移中。一个示例中,数据迁移服务器检测到某个数据标识对应的源数据开始迁移时,将该个数据标识对应的迁移状态从非迁移中更改为迁移中。
步骤S240,在数据标识对应的源数据迁移完成后,更新数据标识对应的迁移状态为非迁移中。
具体地,在数据迁移服务器检测到某个数据标识对应的源数据全部迁移至目标系统后,将该个数据标识对应的迁移状态更新为非迁移中(例如,迁移完成)。当确定所有数据标识对应的源数据迁移完成后,确定数据迁移完成。
一个实施例中,迁移状态用于指示从待迁移系统和目标系统中确定用于处理数据处理请求的系统。一个示例中,在数据迁移过程中接收到客户端的数据处理请求,数据处理请求中携带目标数据标识。若查询数据结构中该目标数据标识对应的迁移状态为迁移中,则可以暂停处理该数据处理请求,并向客户端返回错误提示。若查询数据结构中该目标数据标识对应的迁移状态为迁移完成,则可以通过目标系统处理该数据处理请求。
一个实施例中,在对某个数据标识对应的源数据迁移结束后,目标系统可以对源数据进行字段映射和拆表/合表解析,并将解析后的源数据存入数据库。
一个实施例中,当数据迁移服务器检测到某个数据标识对应的源数据迁移结束后,还可以删除数据结构中的该个数据标识以及与该个数据标识对应的迁移状态。在这种情况下,当数据迁移服务器查询数据结构中不存在该数据标识时,可以认为该数据标识对应的源数据已迁移完成。通过及时地删除已迁移完成的数据标识对应的迁移状态,可以减少数据结构中的数据量,提升数据查询性能和效率。
一个实施例中,可以并发地对多个数据标识对应的源数据进行数据迁移,从而可以提高数据迁移效率。
一个实施例中,在某个数据标识对应的源数据迁移结束后,可以对待迁移系统中该个数据标识对应的源数据进行不可见处理,停止使用待迁移系统中该个数据标识对应的源数据。其中,不可见处理可以采用删除、删除并移动至备份库、增加迁移标志字段,通过修改字段值来标识数据已经被迁移等方式中的任一种。
上述数据迁移方法中,在系统切换的场景中,在无需系统停机的情况下,确定数据分组维度,并确定数据分组维度下的数据标识;从待迁移系统的源数据中获取与所述数据标识对应的源数据。按照数据标识对待迁移系统中的源数据进行分组,将待迁移系统中的源数据逐步迁移至目标系统,极大地降低了迁移过程对业务造成的影响。此外,通过记录数据标识对应的迁移状态,根据迁移状态确定用于处理数据迁移过程中接收的数据处理请求的系统,能够在保证服务连续性的前提下,实现数据一致性。
在一个实施例中,如图4所示,所述方法还包括:
步骤S410,在数据迁移过程中,接收数据处理请求,数据处理请求携带目标数据标识。
步骤S420,查询目标数据标识当前的迁移状态。
其中,数据处理请求中携带目标数据标识,其可以为写入请求,例如,账户属性修改请求;也可以为读取请求,例如,查询请求。
具体地,在数据迁移过程中,若从客户端接收数据处理请求,则数据迁移服务器根据数据处理请求中携带的目标数据标识,从数据结构中查询该目标数据标识当前的迁移状态。当查询目标数据标识当前的迁移状态为迁移中时,执行步骤S430;当查询目标数据标识当前的迁移状态为非迁移中(例如,迁移前、迁移完成中的任一种)时,执行步骤S440。
步骤S430,根据数据处理请求的读写属性,从待迁移系统和目标系统中确定用于处理数据处理请求的系统。
具体地,在目标数据标识为迁移中的情况下,若数据迁移服务器确定数据处理请求为写入请求,则暂停处理该数据处理请求,并向客户端发送错误提示信息,以提示用户系统正在进行数据迁移,可以稍后重试。
一个实施例中,数据迁移服务器可以根据目标数据标识对应的数据量,预测得到目标数据标识对应的源数据所需的迁移时长。数据迁移服务器可以将该迁移时长携带在错误提示信息中,以提示用户在该迁移时长之后重新触发数据处理请求,一方面,可以减少用户触发的数据处理请求的数量,减轻数据迁移过程中的请求处理压力;另一方面,可以减少数据处理请求的处理失败次数,提升用户使用体验。
另一个实施例中,数据迁移服务器可以实时检测数据结构中目标数据标识的迁移状态,在迁移状态从迁移中变更为非迁移中时,便自行对数据处理请求进行处理,从而可以提升数据处理请求的处理效率。
在目标数据标识的迁移状态为迁移中的情况下,若数据迁移服务器确定数据处理请求为读取请求,则采用待迁移系统处理数据处理请求。
步骤S440,根据目标系统中已存在的数据标识,从待迁移系统和目标系统中确定用于处理数据处理请求的系统。
具体地,在目标数据标识的迁移状态为非迁移中的情况下,数据迁移服务器查询目标系统中是否已存在与目标数据标识对应的源数据,若存在,则通过目标系统处理该数据处理请求;若不存在,则通过待迁移系统处理该数据处理请求。
一个实施例中,在还未开始迁移某个数据标识对应的源数据时,可以将该个数据标识对应的迁移状态标记为迁移前;在对该个数据标识对应的源数据迁移完成后,将该个数据标识对应的迁移状态更新为迁移完成。在这种情况下,若目标数据标识的迁移状态为迁移前,则可以直接采用待迁移系统处理该数据处理请求;若目标数据标识的迁移状态为迁移完成,则可以直接采用目标系统处理该数据处理请求,从而无需确定目标数据标识是否已存在于目标系统中,便可实现准确地定位所需的系统。
本实施例中,通过实时记录数据标识对应的迁移状态,根据当前的迁移状态从待迁移系统和目标系统中确定出一个用于处理数据处理请求的系统,一方面,可以实现在不停机状态下实现用户的无感知数据迁移;另一方面,根据迁移状态确定能够适于执行写入请求的系统,可以确保数据一致性。
在一个实施例中,步骤S230,将数据标识对应的源数据从待迁移系统向目标系统迁移,包括:对数据标识进行分组,生成数据标识组;以数据标识组为迁移批次,将数据标识组下数据标识对应的源数据从待迁移系统向目标系统迁移。
具体地,数据迁移系统中预先配置有数据标识的分组方式。一个示例中,分组方式可以为将多个数据标识分成第一预设数量的分组,例如,将多个数据标识分成三组。另一个示例中,分组方式可以将第二预设数量个的数据标识划分成一组,得到多个数据标识组。例如,第二预设数量为M(M为正整数),存在N个数据标识(N为正整数),则对多个数据标识进行划分得到N/M个数据标识组。又一个示例中,可以根据当前数据迁移服务器的剩余资源对数据标识进行分组。例如,当前数据迁移服务器存在X个空余线程,那么可以将多个数据标识划分为X个数据标识组。又一个示例中,可以将具有相同属性特征的数据标识划分至同一个数据标识组。属性特征可以但不限于是业务特征、活跃度、所在位置信息、时间信息、调用频率等。
在得到多个数据标识组后,以每个数据标识组为迁移批次,迁移的启动请求是针对每个数据标识组触发的,将每个数据标识组下数据标识对应的源数据从待迁移系统向目标系统迁移,直至所有数据标识组迁移完成。
一个本实施例中,数据结构中可以存储有数据标识组、数据标识和迁移状态之间的映射关系。数据迁移服务器可以按照数据标识组的迁移状态批量化地更新数据标识组下数据标识的迁移状态。
一个实施例中,在迁移过程中,可以改变数据标识的分组方式,例如,数据迁移包括两个阶段。在第一阶段,按剩余资源分组迁移;在第二阶段,按照属性特征进行分组迁移。
本实施例中,通过对多个数据标识进行分组,得到多个数据标识组,以数据标识组为迁移批次触发数据迁移,可以对源数据进行合理的整合,减少数据迁移的触发次数,进而减少数据迁移系统的运行压力。
在一个实施例中,在以数据标识组为迁移批次的情况下,迁移的暂停请求也是针对每个数据标识组触发的。具体实现中,在数据迁移过程中,若接收到数据迁移的暂停请求,数据迁移服务器确定当前迁移中的数据标识组,在当前数据标识组下迁移中的数据标识对应的源数据全部迁移完成后,再响应暂停请求暂停数据迁移。采用这种方式,可以避免数据标识对应的源数据被重复迁移,从而能够确保数据的一致性。
在一个实施例中,当数据迁移服务器检测到迁移过程中的任意一步发生错误时,例如,待迁移系统或者目标系统发成故障,可以删除已迁移至目标系统中的数据,以及删除数据结构中数据标识的迁移状态。按照上述实施例所述的内容重新启动新的数据迁移过程。本实施例中,在数据迁移发生错误的情况时,触发数据回滚机制,能够最大化地确保数据迁移的准确性。
在一个实施例中,如图5所示,提供了一种数据迁移方法,包括以下步骤:
步骤S502,确定数据分组维度,并确定数据分组维度下的数据标识。
步骤S504,从待迁移系统的源数据中获取与数据标识对应的源数据,并创建与数据标识对应的迁移状态为迁移前,将数据标识以及迁移状态之间的映射关系存储至数据结构中。
步骤S506,对数据标识进行分组,生成数据标识组。
步骤S508,以数据标识组为迁移批次,将数据标识组下数据标识对应的源数据从待迁移系统向目标系统迁移,并将数据结构中数据标识组下数据标识的迁移状态更新为迁移中。
进一步地,在数据迁移过程中,当接收到数据迁移的暂停请求时,将当前迁移中的数据标识组下全部数据标识对应的源数据迁移完成后,再响应暂停请求暂停数据迁移。
步骤S510,在数据标识组下数据标识对应的源数据迁移完成后,更新数据标识对应的迁移状态为迁移完成。
步骤S512,在数据迁移过程中,接收数据处理请求,数据处理请求携带目标数据标识。
步骤S514,查询述目标数据标识当前的迁移状态。若当前的迁移状态为迁移中,则执行步骤S516;若当前的迁移状态为迁移前或者迁移完成,则执行步骤S518。
步骤S516,若数据处理请求为写入请求,则暂停处理数据处理请求。若数据处理请求为读取请求,则通过待迁移系统处理数据处理请求。
步骤S518,当查询目标数据标识已存在于目标系统中时,通过目标系统处理数据处理请求;否则,通过待迁移系统处理数据处理请求。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据迁移方法的数据迁移装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据迁移装置实施例中的具体限定可以参见上文中对于数据迁移方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种数据迁移装置600,包括:标识确定模块602、数据获取模块604、数据迁移模块606、状态变更模块608,其中:
标识确定模块602,确定数据分组维度,并确定数据分组维度下的数据标识;数据获取模块604,从待迁移系统的源数据中获取与数据标识对应的源数据;数据迁移模块606,用于将数据标识对应的源数据从待迁移系统向目标系统迁移,并生成数据标识对应的迁移状态为迁移中;状态变更模块608,用于在数据标识对应的源数据迁移完成后,更新数据标识对应的迁移状态为非迁移中,迁移状态用于指示从待迁移系统和目标系统中确定用于处理数据处理请求的系统。
在一个实施例中,装置600方法还包括:处理请求接收模块,用于在数据迁移过程中,接收数据处理请求,数据处理请求携带目标数据标识;第一请求处理模块,用于当查询目标数据标识当前的迁移状态为迁移中时,根据数据处理请求的读写属性,从待迁移系统和目标系统中确定用于处理数据处理请求的系统;第二请求处理模块,用于当查询目标数据标识当前的迁移状态为非迁移中时,根据目标系统中已存在的数据标识,从待迁移系统和目标系统中确定用于处理数据处理请求的系统。
在一个实施例中,第一请求处理模块,用于当数据处理请求为写入请求时,暂停处理数据处理请求,直至目标数据标识的迁移状态变更为非迁移中;当数据处理请求为读取请求时,通过待迁移系统处理数据处理请求。
在一个实施例中,第二请求处理模块,用于当查询目标数据标识已存在于目标系统中时,通过目标系统处理数据处理请求;当查询目标数据标识还未存在于目标系统中时,通过待迁移系统处理数据处理请求。
在一个实施例中,数据迁移模块606,包括:分组单元,用于对数据标识进行分组,生成数据标识组;任务调度单元,用于以数据标识组为迁移批次,将数据标识组下数据标识对应的源数据从待迁移系统向目标系统迁移。
在一个实施例中,装置600还包括:暂停模块,用于在数据迁移过程中,当接收到数据迁移的暂停请求时,将当前迁移中的数据标识组下数据标识对应的源数据迁移完成后,再响应暂停请求暂停数据迁移。
在一个实施例中,装置600还包括,迁移回滚模块,用于当检测到发生数据迁移错误的情况时,删除目标系统中的数据,以及删除数据标识的迁移状态,重新启动新的数据迁移过程。
上述数据迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待迁移的源数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据迁移方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一项实施例所述的数据迁移方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的数据迁移方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项实施例所述的数据迁移方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种数据迁移方法,其特征在于,所述方法包括:
确定数据分组维度,并确定所述数据分组维度下的数据标识;
从待迁移系统的源数据中获取与所述数据标识对应的源数据;
将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,并生成所述数据标识对应的迁移状态为迁移中;
在所述数据标识对应的源数据迁移完成后,更新所述数据标识对应的迁移状态为非迁移中,所述迁移状态用于指示从所述待迁移系统和所述目标系统中确定用于处理数据处理请求的系统。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述方法还包括:
在数据迁移过程中,接收所述数据处理请求,所述数据处理请求携带目标数据标识;
当查询所述目标数据标识当前的迁移状态为迁移中时,根据所述数据处理请求的读写属性,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统;
当查询所述目标数据标识当前的迁移状态为非迁移中时,根据所述目标系统中已存在的数据标识,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统。
3.根据权利要求2所述的数据迁移方法,其特征在于,所述根据所述数据处理请求的读写属性,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统,包括:
当所述数据处理请求为写入请求时,暂停处理所述数据处理请求,直至所述目标数据标识的迁移状态变更为非迁移中;
当所述数据处理请求为读取请求时,通过所述待迁移系统处理所述数据处理请求。
4.根据权利要求2所述的数据迁移方法,其特征在于,所述根据所述目标系统中已存在的数据标识,从所述待迁移系统和所述目标系统中确定用于处理所述数据处理请求的系统,包括:
当查询所述目标数据标识已存在于所述目标系统中时,通过所述目标系统处理所述数据处理请求;
当查询所述目标数据标识还未存在于所述目标系统中时,通过所述待迁移系统处理所述数据处理请求。
5.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,包括:
对所述数据标识进行分组,生成数据标识组;
以所述数据标识组为迁移批次,将所述数据标识组下数据标识对应的源数据从所述待迁移系统向所述目标系统迁移。
6.根据权利要求5所述的数据迁移方法,其特征在于,所述方法还包括:
在数据迁移过程中,当接收到数据迁移的暂停请求时,将当前迁移中的数据标识组下数据标识对应的源数据迁移完成后,再响应所述暂停请求暂停数据迁移。
7.根据权利要求1~6任一项所述的数据迁移方法,其特征在于,所述方法还包括:
当检测到发生数据迁移错误的情况时,删除所述目标系统中的数据,以及删除所述数据标识的迁移状态,重新启动新的数据迁移过程。
8.一种数据迁移装置,其特征在于,所述装置包括:
标识确定模块,确定数据分组维度,并确定所述数据分组维度下的数据标识;
数据获取模块,从待迁移系统的源数据中获取与所述数据标识对应的源数据;
数据迁移模块,用于将所述数据标识对应的源数据从所述待迁移系统向目标系统迁移,并生成所述数据标识对应的迁移状态为迁移中;
状态变更模块,用于在所述数据标识对应的源数据迁移完成后,更新所述数据标识对应的迁移状态为非迁移中,所述迁移状态用于指示从所述待迁移系统和所述目标系统中确定用于处理数据处理请求的系统。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488558.5A CN114416689A (zh) | 2021-12-07 | 2021-12-07 | 数据迁移方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111488558.5A CN114416689A (zh) | 2021-12-07 | 2021-12-07 | 数据迁移方法、装置、计算机设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416689A true CN114416689A (zh) | 2022-04-29 |
Family
ID=81266048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111488558.5A Pending CN114416689A (zh) | 2021-12-07 | 2021-12-07 | 数据迁移方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416689A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858489A (zh) * | 2022-11-23 | 2023-03-28 | 中电金信软件有限公司 | 基于数据迁移的交易处理方法、装置、计算机设备及介质 |
-
2021
- 2021-12-07 CN CN202111488558.5A patent/CN114416689A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858489A (zh) * | 2022-11-23 | 2023-03-28 | 中电金信软件有限公司 | 基于数据迁移的交易处理方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809726B2 (en) | Distributed storage method and device | |
US11327799B2 (en) | Dynamic allocation of worker nodes for distributed replication | |
US20200348852A1 (en) | Distributed object replication architecture | |
US10896102B2 (en) | Implementing secure communication in a distributed computing system | |
US20200159611A1 (en) | Tracking status and restarting distributed replication | |
US11349915B2 (en) | Distributed replication and deduplication of an object from a source site to a destination site | |
US10642694B2 (en) | Monitoring containers in a distributed computing system | |
US9367598B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
US20200301882A1 (en) | Determining differences between two versions of a file directory tree structure | |
CN110781214A (zh) | 数据库读写方法、装置、计算机设备和存储介质 | |
US11119685B2 (en) | System and method for accelerated data access | |
CN111708755A (zh) | 数据迁移方法、装置、系统、电子设备以及可读存储介质 | |
CN113760847A (zh) | 日志数据处理方法、装置、设备及存储介质 | |
CN114416689A (zh) | 数据迁移方法、装置、计算机设备、存储介质 | |
CN112579591B (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
WO2018077092A1 (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
CN114064674A (zh) | 数据同步方法、装置、计算机设备、存储介质和产品 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN113806309A (zh) | 基于分布式锁的元数据删除方法、系统、终端及存储介质 | |
CN113515518A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
US11675668B2 (en) | Leveraging a cloud-based object storage to efficiently manage data from a failed backup operation | |
CN114968560A (zh) | 数据备份方法、装置、计算机设备和存储介质 | |
CN117075951A (zh) | 程序维护方法、装置、计算机设备和存储介质 | |
CN116991817A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117056220A (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 |