CN113222751B - 一种数据迁移方法和装置 - Google Patents

一种数据迁移方法和装置 Download PDF

Info

Publication number
CN113222751B
CN113222751B CN202110187781.XA CN202110187781A CN113222751B CN 113222751 B CN113222751 B CN 113222751B CN 202110187781 A CN202110187781 A CN 202110187781A CN 113222751 B CN113222751 B CN 113222751B
Authority
CN
China
Prior art keywords
account
migration
state
transaction
data
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
Application number
CN202110187781.XA
Other languages
English (en)
Other versions
CN113222751A (zh
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.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte Ltd
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 Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202110187781.XA priority Critical patent/CN113222751B/zh
Publication of CN113222751A publication Critical patent/CN113222751A/zh
Application granted granted Critical
Publication of CN113222751B publication Critical patent/CN113222751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据迁移方法和装置,所述方法包括:迁移系统从第一账户系统的第一数据库获取第一账户的账户数据,迁移至第二账户系统的第二数据库,第一账户为被配置为不与交易请求相关的账户,在第一账户的账户数据迁移完成后,迁移系统在状态缓存系统配置针对第二账户的迁移状态;交易系统在接收到与第二账户相关的交易请求时,根据第二账户的迁移状态调用第一账户系统或第二账户系统进行交易处理,第二账户为被配置为与交易请求相关的账户,最后在针对第二账户的交易处理完成后,迁移系统从第一数据库获取第二账户的账户数据,迁移至第二数据库。本发明实施例实现了既不影响线上交易,又保证第一账户系统和第二账户系统之间的数据一致性。

Description

一种数据迁移方法和装置
技术领域
本发明涉及互联网技术领域,特别是涉及一种数据迁移方法和装置。
背景技术
随着科技的发展,交易方式逐渐从线下交易发展为线上交易,线上交易具有方便快捷的优点,因此,线上交易成为人们必不可少的交易方式。
线上交易通过账户系统进行交易,而账户系统需要不断升级才能满足人们日渐增长的交易需求,每次升级需要进行数据的迁移,也就是将旧账户系统的数据迁移至新账户系统。为了保证新账户系统和旧账户系统之间的数据一致性,传统的做法是整体或分批停止服务以进行数据迁移。在数据迁移期间,交易接入层即使接收到交易请求,也会对交易请求进行拦截,向用户返回“系统正在维护”的信息,等到数据迁移完成后,再恢复对交易请求的处理。然而数据的迁移过程往往需要较长的时间,这会极大降低用户的线上交易体验。因此,亟需一种数据迁移方法,既不影响线上交易体验,又能保证新账户系统和旧账户系统之间的数据一致性。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的数据迁移方法。
本发明实施例还提供了一种数据迁移装置,以保证上述方法的实施。
为了解决上述问题,本发明实施例公开了一种数据迁移方法,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述方法包括:
所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户;
在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户为被配置为与交易请求相关的账户;
在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库。
本发明实施例还提供了另一种数据迁移方法,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述方法包括:
所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置。
本发明实施例还提供了一种数据迁移装置,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
第一迁移模块,用于所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户;
迁移状态配置模块,用于在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户为被配置为与交易请求相关的账户;
第二迁移模块,用于在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库。
本发明实施例还提供了另一种数据迁移装置,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
交易请求接收模块,用于所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
调用模块,用于若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置。
本发明实施例还提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如本发明实施例任一所述的数据迁移方法。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例任一所述的数据迁移方法。
与现有技术相比,本发明实施例包括以下优点:
本发明的实施例中,迁移系统从第一账户系统的第一数据库获取第一账户的账户数据,迁移至第二账户系统的第二数据库,第一账户为被配置为不与交易请求相关的账户,在第一账户的账户数据迁移完成后,迁移系统在状态缓存系统配置针对第二账户的迁移状态,交易系统在接收到与第二账户相关的交易请求时,根据第二账户的迁移状态调用第一账户系统或第二账户系统进行交易处理,第二账户为被配置为与交易请求相关的账户,最后在针对第二账户的交易处理完成后,迁移系统从第一数据库获取第二账户的账户数据,迁移至第二数据库。本发明实施例先迁移数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,再迁移数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据,而且通过迁移系统配置第二账户的迁移状态,使得交易系统可以根据迁移状态调用第一账户系统或第二账户系统进行交易处理,实现了既不影响线上交易,又保证第一账户系统和第二账户系统之间的数据一致性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据迁移方法的步骤流程图;
图2是本发明实施例涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统的交互示意图;
图3是本发明实施例提供的另一种数据迁移方法的步骤流程图;
图4是本发明实施例中涉及迁移系统、第一数据库、第二数据库以及状态缓存系统的交互示意图;
图5是本发明实施例中涉及交易系统、第一账户系统、第一数据库、第二账户系统、第二数据库以及状态缓存系统的交互示意图;
图6是本发明实施例提供的一种数据迁移装置的的结构框图;
图7是本发明实施例提供的另一种数据迁移装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,线上交易成为人们必不可少的交易方式。随着社会的高速发展,账户系统需要不断地升级才能满足人们日渐增长的交易需要。通常,旧账户系统具有多个账户,在旧账户系统没升级期间,交易接入层如果接收到客户端发送的交易请求,交易接入层就会将交易请求发送到旧账户系统,由对应账户的旧账户系统对交易请求进行处理。旧账户系统升级为新账户系统,需要将旧账户系统的所有数据迁移到新账户系统。
在现有技术中,对旧账户系统的多个账户整体停止服务,或,对旧账户系统的多个账户分批停止服务,这样可以保证新账户系统与旧账户系统之间的数据一致性,然而在数据迁移期间,交易接入层即使接收到交易请求,也会对交易请求进行拦截,即交易接入层不会将交易请求发送到旧账户系统,也不会将交易请求发送到新账户系统,而是向客户端发送“系统正在维护”的信息。等到数据迁移完成后,交易接入层如果接受到交易请求,才会将交易请求发送到对应账户的新账户系统。然而数据的迁移往往需要较长的时间,这会极大降低用户的线上交易体验。因此,亟需一种数据迁移方法,既不影响线上交易体验,又能保证新账户系统和旧账户系统之间的数据一致性。
以下首先从迁移系统的角度,对数据迁移方式进行说明。
参照图1,示出了本发明实施例提供的一种数据迁移方法的步骤流程图,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,该方法具体可以包括如下步骤:
步骤101,所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户。
在本发明实施例中,第一账户系统可以是旧账户系统,第二账户系统可以是新账户系统,第一账户系统的数据库可以是第一数据库,第二账户系统的数据库可以是第二数据库。第一数据库存储有多个账户的账户数据,本发明实施例分别将多个账户的账户数据分成两部分,即每个账户的账户数据都由两部分组成,一部分是数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,例如基本信息、历史订单、余额流水等等;另一部分是数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据,例如账户余额、未处理订单等等。先迁移数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,再迁移数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据。
在本发明一种实际应用中,假设第一账户系统具有多个账户,分别是账户A、账户B、账户C,第一账户系统的第一数据库存储有账户A、账户B、账户C对应的账户数据,例如账户A对应的账户数据为a1~a100,账户B对应的账户数据为b1~b150,账户C对应的账户数据为c1~c200。如果交易不需要使用到的账户数据,将该账户数据配置为第一账户的账户数据;如果交易需要使用到的账户数据,将该账户数据配置为第二账户的账户数据。按照这个配置规则,分别将a1~a100、b1~b150、c1~c200分成第一账户的账户数据和第二账户的账户数据,例如a1~a100分成第一账户的账户数据a1~a79和第二账户的账户数据a80~a100;b1~b150分成第一账户的账户数据b1~b139和第二账户的账户数据b140~b150;c1~c200分成第一账户的账户数据c1~c194和第二账户的账户数据c195~c200。然后先迁移第一账户的账户数据a1~a79、b1~b139、c1~c194,再迁移第二账户的账户数据a80~a100、b140~b150、c195~c200。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
本发明实施例之所以先迁移第一账户的账户数据,再迁移第二账户的账户数据,是因为交易不需要使用到第一账户的账户数据,第一账户的账户数据的迁移不影响线上交易,且第一账户的账户数据具有数量级大、迁移时间长的特点,而交易需要使用到第二账户的账户数据,第二账户的账户数据的迁移影响线上交易,且第二账户的账户数据具有数量级小、迁移时间短的特点,所以先迁移第一账户的账户数据,再迁移第二账户的账户数据,这样可以减少迁移过程对线上交易的影响时间。
具体地,对第一账户的账户数据的迁移过程:迁移系统向第一账户系统发起多个账户的迁移任务,迁移系统分别从多个账户对应的第一账户系统的第一数据库获取第一账户的账户数据,然后将第一账户的账户数据迁移到第二账户系统的第二数据库。由于交易不需要使用到第一账户的账户数据,第一账户的账户数据的迁移不影响线上交易,在迁移系统对第一账户的账户数据的迁移过程中,交易系统如果接收到客户端发送的交易请求,交易系统可以直接将交易请求发送到第一账户系统,第一账户系统采用第一数据库存储的第二账户的账户数据,对交易请求进行处理。
继续以上述的一种实际应用为例说明,对第一账户的账户数据的迁移过程:迁移系统向第一账户系统具有的账户A、账户B、账户C发起迁移任务,迁移系统分别从账户A、账户B、账户C对应的第一账户系统的第一数据库获取第一账户的账户数据a1~a79、b1~b139、c1~c194,然后分别将第一账户的账户数据a1~a79、b1~b139、c1~c194迁移到第二账户系统的第二数据库。在迁移系统对第一账户的账户数据a1~a79、b1~b139、c1~c194的迁移过程中,交易系统如果接收到账户A的交易请求,交易系统可以直接将账户A的交易请求发送到账户A的第一账户系统,第一账户系统采用第一数据库存储的第二账户的账户数据a80~a100,对交易请求进行处理。
参照图2,示出了本发明实施例涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统的交互示意图,状态缓存系统可以存储迁移状态、订单状态、标识状态;其中,迁移状态由迁移系统配置,订单状态由交易系统配置,标识状态由迁移系统和交易系统分别配置;交易系统在接收到与第二账户相关的交易请求时,通过查询状态缓存系统存储的迁移状态,判断该交易请求是发送到第一账户系统还是第二账户系统;迁移系统先迁移第一数据库中的第一账户的账户数据到第二数据库,第一账户的账户数据迁移完成后,在状态缓存系统配置迁移状态,然后根据状态缓存系统存储的订单状态,再迁移第一数据库中的第二账户的账户数据到第二数据库。
需要说明的是,本发明实施例可以将迁移系统、交易系统和状态缓存系统部署于同一个服务器上,也可以将迁移系统与状态缓存系统部署于同一个服务器,交易系统部署于另一个服务器上,或者,交易系统与状态缓存系统部署于同一个服务器,迁移系统部署于另一个服务器上,还可以将迁移系统、交易系统和状态缓存系统分别部署于不同的服务器上,本发明对此不作出限制。
步骤102,在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户为被配置为与交易请求相关的账户。
本发明实施例将第一账户的账户数据迁移完成后,可以对第二账户的账户数据进行迁移,第二账户可以被配置为与交易请求相关的账户,即交易会使用到第二账户的账户数据,第二账户的账户数据会因交易发生变化,例如账户余额、未处理订单等等,本发明对此不作出限制。
在本发明一种实际应用中,用户A向用户B转账,用户A的账户余额会减少,用户B的账户余额会增多,那么用户A的账户余额和用户B的账户余额就是第二账户的账户数据。在本发明另一种实际应用中,用户A网上购物,用户A在3天后才签收快递,订单在这3天内是处于未处理状态,当订单从未处理状态变成已处理状态时,第一账户系统的第一数据库会新增该订单的数据,那么新增的数据就是第二账户的账户数据。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
在本发明实施例中,由于交易需要使用到第二账户的账户数据,第二账户的账户数据的迁移与交易请求的处理不能同时进行,即:当迁移系统迁移第二账户的账户数据时,交易系统如果接收到交易请求,则可以等待迁移系统对第二账户的账户数据完成迁移,或者,当交易系统接收到交易请求并调用第一账户系统进行交易处理时,迁移系统可以等待第一账户系统完成对交易请求的处理。
本发明实施例通过迁移系统在状态缓存系统配置针对第二账户的迁移状态,迁移状态可以包括准备迁移状态、正在迁移状态、迁移完成状态,交易系统在接收到与第二账户相关的交易请求时,可以根据第二账户的迁移状态来调用第一账户系统或第二账户系统进行交易处理。
需要说明的是,由于第二账户的账户数据具有数量级小、迁移时间短的特点,所以交易系统等待迁移系统完成对第二账户的账户数据的迁移,只需等待很短的时间,一般可以小于100ms。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
本发明的一个可选实施例中,步骤102可以包括以下子步骤:
在将所述第一账户的账户数据迁移完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
在本发明实施例中,迁移系统将第一账户的账户数据迁移完成后,迁移系统就可以向状态缓存系统发送针对第二账户的第一准备迁移信息。状态缓存系统接收到第一准备迁移信息时,可以根据第一准备迁移信息将第二账户的迁移状态设置为准备迁移状态。
此外,在准备迁移状态下,交易系统如果接收到客户端发送的交易请求,交易系统可以将交易请求发送到第一账户系统,第一账户系统采用第一数据库的第二账户的账户数据,对交易请求进行交易处理。
需要说明的是,交易系统之所以在准备迁移状态下将交易请求发送给第一账户系统,是因为此时迁移系统还没开始从第一账户系统的第一数据库获取第二账户的账户数据,并将第二账户的账户数据迁移到第二账户系统的第二数据库。因此,在准备迁移状态下,第二账户系统的第二数据库只具有第一账户的账户数据,并不具有第二账户的账户数据,然而交易请求是需要使用到第二账户的账户数据,所以交易系统在准备迁移状态下将交易请求发送给第一账户系统,由第一账户系统采用第一数据库的第二账户的账户数据,处理该交易请求。
本发明的一个可选实施例中,所述方法还可以包括:
在接收到所述状态缓存系统发送的第一响应信息后,所述迁移系统等待第一预设时间;所述第一响应信息表示所述第二账户的迁移状态已被设置为所述准备迁移状态;在等待所述第一预设时间后,所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态;所述订单状态用于表征所述第二账户是否有未处理订单;所述订单状态由所述交易系统配置;若所述第二账户没有未处理订单,则所述迁移系统确定所述第一账户系统完成针对所述第二账户的交易处理。
在本发明实施例中,迁移系统在接收到状态缓存系统发送的第一响应信息后,迁移系统可以获知第二账户的迁移状态已被状态缓存系统设置为准备迁移状态,然后迁移系统可以等待第一预设时间,设置第一预设时间的目的是给第一账户系统预留交易处理的时间,即第一预设时间可以是第一账户系统完成一次账户查询或余额增扣操作所需的时间,按照实际情况设定,一般可以小于500ms,本发明对此不作出限制。
在本发明实施例中,迁移系统等待第一预设时间后,就可以从状态缓存系统查询第二账户的订单状态。订单状态是由交易系统配置的,具体地,在准备迁移状态下,交易系统如果接收到交易请求,交易系统可以让迁移系统知道当前有交易请求需要处理,所以交易系统可以配置针对第二账户的订单状态,这样迁移系统可以根据订单状态确定第二账户是否有未处理订单。
具体地,如果第二账户没有未处理订单,则迁移系统确定第一账户系统完成针对第二账户的交易处理,迁移系统可以对第二账户的账户数据进行迁移;如果第二账户有未处理订单,则迁移系统确定第一账户系统没有完成针对第二账户的交易处理,迁移系统可以再次等待第一预设时间,然后可以再次从状态缓存系统查询第二账户的订单状态,直至第二账户没有未处理订单。
步骤103,在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库。
在本发明实施例中,迁移系统确定第一账户系统完成针对第二账户的交易处理,那么迁移系统就可以对第二账户的账户数据进行迁移。具体地,对第二账户的账户数据的迁移过程:迁移系统分别从多个账户对应的第一账户系统的第一数据库获取第二账户的账户数据,然后将第二账户的账户数据迁移至第二账户系统的数据库的第二数据库。
继续以上述的一种实际应用为例说明,假设第一账户系统具有多个账户,分别是账户A、账户B、账户C。其中,账户A的第二账户的账户数据为a80~a100,账户B的第二账户的账户数据为b140~b150,账户C的第二账户的账户数据为c195~c200。迁移系统确定第一账户系统完成针对第二账户的交易处理后,迁移系统分别从账户A、账户B、账户C对应的第一账户系统的第一数据库获取a80~a100、b140~b150、c195~c200,然后分别将a80~a100、b140~b150、c195~c200迁移到账户A、账户B、账户C对应的第二账户系统的第二数据库。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
本发明的一个可选实施例中,步骤103可以包括以下子步骤:
在针对所述第二账户的交易处理完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的正在迁移信息和第一数据信息;所述正在迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为正在迁移状态,所述第一数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第一数据状态;所述正在迁移状态用于指示所述交易系统从所述状态缓存系统查询所述第二账户的迁移状态并等待第二预设时间后,再次查询所述第二账户的迁移状态,所述第一数据状态表示所述第二账户的账户数据迁移完成后,所述第二数据库与所述第一数据库具有相同的所述第二账户的账户数据;在接收到所述状态缓存系统发送的第二响应信息后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库;所述第二响应信息表示所述第二账户的迁移状态已被设置为所述正在迁移状态,以及所述第二账户的标识状态已被设置为所述第一数据状态。
在本发明实施例中,迁移系统确定第一账户系统完成针对第二账户的交易处理后,迁移系统可以让交易系统知道当前对第二账户的账户数据进行迁移,迁移系统可以向状态缓存系统发送针对第二账户的正在迁移信息和第一数据信息。状态缓存系统接收到正在迁移信息和第一数据信息时,可以根据正在迁移信息将第二账户的迁移状态设置为正在迁移状态,以及,可以根据第一数据信息将第二账户的标识状态设置为第一数据状态。
此外,在正在迁移状态下,交易系统如果接收到交易请求,交易系统可以等待第二预设时间后再次查询第二账户的迁移状态,即在正在迁移状态下,交易系统不可以将交易请求发送给第一账户系统进行交易处理,交易系统可以等待迁移系统完成对第二账户的账户数据的迁移。第二预设时间可以是迁移第二账户的账户数据所需最大时间,按实际情况设定,一般可以小于100ms,本发明对此不作出限制。
本发明实施例设置标识状态的目的是为了在第二账户的账户数据迁移完成后,让迁移系统确定是否有遗漏的第二账户的账户数据没有迁移到,遗漏的原因可以是由于网络不稳定,迁移系统遗漏至少一个第二账户的账户数据没有迁移;也可以是迁移系统查询到订单状态为不对应有未处理订单之后,第二账户的迁移状态更新为正在迁移状态之前,如果交易系统接收到交易请求,由于这个时间段迁移状态是处于准备迁移状态的,所以交易系统将交易请求发送给第一账户系统,然后第一账户系统完成了交易的处理,此时第一数据库是有新增的第二账户的账户数据,而迁移系统遗漏新增的第二账户的账户数据没有迁移到,等等。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
需要说明的是,迁移系统和交易系统都可以对标识状态进行配置,标识状态具有两种状态,一种可以是由迁移系统配置的第一数据状态,第一数据状态可以表示第二账户的账户数据迁移完成后,第二数据库与第一数据库具有相同的第二账户的账户数据;另一种可以是由交易系统配置的第二数据状态,第二数据状态可以表示第一数据库相比于第二数据库,具有新增的第二账户的账户数据。第一数据状态和第二数据状态将会在后续提及到,在此不作出详细解释。
迁移系统接收到状态缓存系统发送的第二响应信息后,迁移系统可以获知第二账户的迁移状态已被状态缓存系统设置为正在迁移状态,以及,第二账户的标识状态已被状态缓存系统设置为第一数据状态,那么迁移系统就可以对第二账户的账户系统进行迁移。
本发明的一个可选实施例中,所述方法还可以包括:
在将所述第二账户的账户数据迁移完成后,所述迁移系统再次从所述状态缓存系统查询所述第二账户的订单状态;若所述第二账户的订单状态为没有未处理订单,则所述迁移系统从所述状态缓存系统查询所述第二账户的标识状态;若所述标识状态为第一数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的迁移完成信息;所述迁移完成信息用于指示所述状态缓存系统将第二账户的迁移状态设置为迁移完成状态;所述迁移完成状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第二账户系统,以使所述第二账户系统根据所述交易请求进行交易处理。
在本发明实施例中,迁移系统将第二账户的账户数据迁移完成后,迁移系统需要确认是否有遗漏的第二账户的账户数据没有迁移到,迁移系统可以再次从状态缓存系统查询第二账户的订单状态。如果第二账户的订单状态为没有未处理订单,那么可以说明第一账户系统完成针对第二账户的交易处理。然后迁移系统需要确认第一数据库相比于第二数据库,是否具有新增的第二账户的账户数据,具体地,迁移系统可以从状态缓存系统查询第二账户的标识状态,如果标识状态是第一数据状态,那么可以说明第一账户系统的第一数据库相比于第二账户系统的第二数据库,不具有新增的第二账户的账户数据,即第二账户系统的第二数据库与第一账户系统的第一数据库具有相同的第二账户的账户数据,迁移系统可以确定对第二账户的账户数据已经迁移完毕。
迁移系统可以让交易系统知道已经完成对第二账户的账户数据的迁移,迁移系统可以向状态缓存系统发送针对第二账户的迁移完成信息。状态缓存系统接收到迁移完成信息时,可以根据迁移完成信息将第二账户的迁移状态设置为迁移完成状态。
此外,在迁移完成状态下,交易系统如果接收到客户端发送的交易请求,交易系统可以将交易请求发送到第二账户系统,由第二账户系统采用第二数据库的第二账户的账户数据,对交易请求进行交易处理。
需要说明的是,交易系统之所以在迁移完成状态下将交易请求发送给第二账户系统,是因为此时迁移系统已经从第一账户系统的第一数据库中获取第二账户的账户数据,并将第二账户的账户数据迁移到第二账户系统的第二数据库。因此,在迁移完成状态下,第二账户系统的第二数据库具有与第一账户系统的第一数据库相同的第二账户的账户数据,即第二账户系统的第二数据库已经具备了处理交易的数据,所以交易系统在迁移完成状态下将交易请求发送给第二账户系统,由第二账户系统采用第二数据库的第二账户的账户数据,处理该交易请求,此时,可以不再使用第一账户系统。
本发明的一个可选实施例中,所述方法还可以包括:
若所述第二账户的订单状态为有未处理订单,则所述迁移系统向所述状态缓存系统发送针对第二账户的第二准备迁移信息;所述第二准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态。
在本发明实施例中,迁移系统将第二账户的账户数据迁移完成后,迁移系统可以再次从状态缓存系统查询第二账户的订单状态,如果第二账户的订单状态为有未处理订单,则可以说明当前第一账户系统没有完成针对第二账户的交易处理。由于第一账户系统完成针对第二账户的交易处理时,第一账户系统的第一数据库会新增第二账户的账户数据,这会导致第二账户系统的第二数据库不具有与第一账户系统的第一数据库相同的第二账户的账户数据,所以迁移系统可以对新增的第二账户的账户数据进行迁移。
迁移系统可以向状态缓存系统发送针对第二账户的第二准备迁移信息,状态缓存系统接收到第二准备迁移信息时,可以根据第二准备迁移信息将第二账户的迁移状态设置为准备迁移状态,然后重复步骤102的过程,直至第二数据库具有与第一数据库相同的第二账户的账户数据。
本发明的一个可选实施例中,所述方法还可以包括:
若所述标识状态为第二数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的第三准备迁移信息;所述第三准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态;所述第二数据状态表示所述第一数据库相比于所述第二数据库,具有新增的所述第二账户的账户数据;所述第二数据状态由所述交易系统配置。
在本发明实施例中,迁移系统将第二账户的账户数据迁移完成后,迁移系统再次从状态缓存系统查询第二账户的订单状态,如果第二账户的订单状态为没有未处理订单,则可以说明当前第一账户系统完成针对第二账户的交易处理。然后迁移系统可以从状态缓存系统查询第二账户的标识状态,如果标识状态是第二数据状态,那么可以说明第一账户系统的第一数据库相比于第二账户系统的第二数据库,具有新增的第二账户的账户数据,这会导致第二账户系统的第二数据库不具有与第一账户系统的第一数据库相同的第二账户的账户数据,所以迁移系统可以再次对新增的第二账户的账户数据进行迁移。
迁移系统可以向状态缓存系统发送针对第二账户的第三准备迁移信息,状态缓存系统接收到第三准备迁移信息时,可以根据第三准备迁移信息将第二账户的迁移状态设置为准备迁移状态,然后重复步骤102的过程,直至第二数据库具有与第一数据库相同的第二账户的账户数据。
需要说明的是,迁移系统在对第二账户的账户数据迁移之前,迁移系统在状态缓存系统已经配置了第一数据状态的标识状态,然而迁移系统在对第二账户的账户数据迁移之后,迁移系统之所以从状态缓存系统查询到第二数据状态的标识状态,而不是第一数据状态的标识状态,是因为在迁移系统查询到订单状态为没有未处理订单之后,第二账户的迁移状态更新为正在迁移状态之前,如果交易系统接收到交易请求,由于这个时间段迁移状态是处于准备迁移状态的,所以交易系统将交易请求发送给第一账户系统。然后第一账户系统完成了交易的处理,此时第一账户系统的第一数据库是具有新增的第二账户的账户数据。然后交易系统可以让迁移系统知道第一账户系统的第一数据库相比于第二账户系统的第二数据库,具有新增的第二账户的账户数据,具体地,交易系统可以在状态缓存系统配置了第二数据状态的标识状态,所以标识状态由第一数据状态变成第二数据状态。
本发明的实施例中,迁移系统从第一账户系统的第一数据库获取第一账户的账户数据,迁移至第二账户系统的第二数据库,第一账户为被配置为不与交易请求相关的账户,在第一账户的账户数据迁移完成后,迁移系统在状态缓存系统配置针对第二账户的迁移状态,交易系统在接收到与第二账户相关的交易请求时,根据第二账户的迁移状态调用第一账户系统或第二账户系统进行交易处理,第二账户为被配置为与交易请求相关的账户,最后在针对第二账户的交易处理完成后,迁移系统从第一数据库获取第二账户的账户数据,迁移至第二数据库。本发明实施例先迁移数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,再迁移数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据,而且通过迁移系统配置第二账户的迁移状态,使得交易系统根据迁移状态调用第一账户系统或第二账户系统进行交易处理,实现了既不影响线上交易,又保证第一账户系统和第二账户系统之间的数据一致性。
以下从交易系统的角度,在数据迁移过程中,如何处理交易请求进行说明。
参照图3,示出了本发明实施例提供的另一种数据迁移方法的步骤流程图,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,该方法具体可以包括如下步骤:
步骤301,所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
在本发明实施例中,第一账户系统可以是旧账户系统,第二账户系统可以是新账户系统,第一账户系统的数据库可以是第一数据库,第二账户系统的数据库可以是第二数据库。第一数据库存储有多个账户的账户数据,分别将多个账户的账户数据分成两部分,一部分是数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,例如基本信息、历史订单、余额流水等等;另一部分是数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据,例如账户余额、未处理订单等等,本发明对此不作出限制。
在本发明一种实施例中,第一账户系统具有多个账号,分别是账户A、账户B、账户C,其中,第一账户系统的第一数据库存储有账户A、账户B、账户C对应的第一账户的账户数据以及对应的第二账户的账户数据,如果用户A向用户B转账,那么交易系统分别接收到账户A和账户B的交易请求,交易系统需要确定交易请求相关的账户,即确定账户A和账户B的第二账户。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
步骤302,若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置。
在本发明实施例中,由于交易需要使用到交易请求相关的账户的数据,即交易需要使用到第二账户的账户数据,而第二账户的账户数据的迁移与交易请求的处理不能同时进行,即:当迁移系统迁移第二账户的账户数据时,交易系统如果接收到交易请求,则可以等待迁移系统对第二账户的账户数据完成迁移,或者,当交易系统接收到交易请求并调用第一账户系统进行交易处理时,迁移系统可以等待第一账户系统完成对交易请求的处理。所以交易系统需要确定迁移系统当前的迁移情况。
本发明实施例通过迁移系统在状态缓存系统配置针对第二账户的迁移状态,交易系统在状态缓存系统配置针对第二账户的订单状态,迁移系统和交易系统分别在状态缓存系统配置针对第二账户的标识状态。交易系统可以从状态缓存系统查询第二账户的迁移状态,如果查询到第二账户的迁移状态,则交易系统可以根据第二账户的迁移状态的迁移状态,调用第一账户系统或第二账户系统进行交易处理。
本发明的一个可选实施例中,步骤302可以包括以下子步骤:
所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;若所述第二账户的迁移状态为准备迁移状态,则所述交易系统向所述状态缓存系统发送针对所述第二账户的未处理订单配置信息;所述未处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为对应有未处理订单;所述对应有未处理订单用于指示所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态并等待第一预设时间后,再次查询所述第二账户系统的订单状态;在接收到所述状态缓存系统发送的第三响应信息后,所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第三响应信息表示所述第二账户的订单状态已被设置为所述对应有未处理订单;所述第一数据库为所述第一账户系统的数据库。
在本发明实施例中,交易系统如果从状态缓存系统中查询到交易请求相关的账户的迁移状态,即交易系统如果从状态缓存系统中查询到第二账户的迁移状态,则可以确定迁移系统在状态缓存系统配置的针对第二账户的迁移状态。如果查询到的迁移状态是处于准备迁移状态,那么交易系统可以向状态缓存系统发送针对第二账户的未处理订单配置信息。状态缓存系统接收到未处理订单配置信息时,可以根据未处理订单配置信息将第二账户的订单状态设置为对应有未处理订单。
此外,在对应有未处理订单的状态下,迁移系统可以等待第一预设时间后再次查询第二账户系统的订单状态,即让迁移系统等待第一账户系统完成针对第二账户的交易处理,第一预设时间可以是完成一次账户查询或余额增扣操作所需的时间,按实际情况设定,一般可以小于500ms,本发明对此不作出限制。
在本发明实施例中,交易系统接收到状态缓存系统发送的第三响应信息后,交易系统可以获知第二账户的订单状态已被状态缓存系统设置为对应有未处理订单,那么交易系统可以将交易请求发送至第一账户系统,由第一账户系统采用第一数据库的第二账户的账户数据,对交易请求进行交易处理。
需要说明的是,交易系统之所以在准备迁移状态下将交易请求发送给第一账户系统,是因为此时迁移系统还没开始从第一账户系统的第一数据库中获取第二账户的账户数据,并将第二账户的账户数据迁移到第二账户系统的第二数据库。因此,在准备迁移状态下,第二账户系统的第二数据库只具有第一账户的账户数据,并不具有第二账户的账户数据的,然而交易请求是需要使用到第二账户的账户数据,所以交易系统在准备迁移状态下将交易请求发送给第一账户系统,第一账户系统接收到交易请求后,采用第一数据库的第二账户的账户数据,处理该交易请求。
本发明的一个可选实施例中,步骤302可以包括以下子步骤:
所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;若所述第二账户的迁移状态为迁移完成状态,则所述交易系统将所述交易请求发送至所述第二账户系统,以使所述第二账户系统采用第二数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第二数据库为所述第二账户系统的数据库。
在本发明实施例中,交易系统如果从状态缓存系统中查询到交易请求相关的账户的迁移状态,即交易系统如果从状态缓存系统中查询到第二账户的迁移状态,则可以确定迁移系统在状态缓存系统配置的针对第二账户的迁移状态。如果查询到的迁移状态是处于迁移完成状态,那么交易系统可以将交易请求发送至第二账户系统,第二账户系统接收到交易请求后,采用第二数据库的第二账户的账户数据,对交易请求进行交易处理。
需要说明的是,交易系统之所以在迁移完成状态下将交易请求发送给第二账户系统,是因为此时迁移系统已经从第一账户系统的第一数据库中获取第二账户的账户数据,并将第二账户的账户数据迁移到第二账户系统的第二数据库。因此,在迁移完成状态下,第二账户系统的第二数据库具有与第一账户系统的第一数据库相同的第二账户的账户数据,即第二账户系统的第二数据库已经具备了处理交易的数据,所以交易系统在迁移完成状态下将交易请求发送给第二账户系统,第二账户系统接收到交易请求后,采用第二数据库的第二账户的账户数据,处理该交易请求。此时,可以不再使用第一账户系统。
本发明的一个可选实施例中,所述方法还包括:
若接收到所述第一账户系统发送的交易处理完成信息,则所述交易系统向所述状态缓存系统发送针对所述第二账户的已处理订单配置信息和第二数据信息;所述已处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为不对应有未处理订单,所述第二数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第二数据状态;所述第二数据状态表示所述第一数据库相比于所述第二数据库,具有新增的所述第二账户的账户数据。
在本发明实施例中,交易系统如果接收到第一账户系统发送的交易处理完成信息,则说明第一账户系统完成针对第二账户的交易处理。由于在这之前,交易系统在状态缓存系统配置了针对第二账户的对应有未处理的订单状态,所以交易系统接收到交易处理完成信息后,交易系统可以向迁移系统知道第一账户系统已完成针对第二账户的交易处理,具体地,交易系统可以向状态缓存系统发送针对第二账户的已处理订单配置信息和第二数据信息。状态缓存系统接收到已处理订单配置信息和第二数据信息时,可以根据已处理订单配置信息将第二账户的订单状态设置为不对应有未处理订单,以及,可以根据第二数据信息将第二账户的标识状态设置为第二数据状态。
此外,迁移系统可以通过不对应有未处理订单的订单状态知道第一账户系统已完成针对第二账户的交易处理,以及,迁移系统可以通过第二数据状态的标识状态知道第一数据库相比于第二数据库,具有新增的第二账户的账户数据,这样迁移系统可以对新增的第二账户的账户数据进行迁移。
本发明的一个可选实施例中,所述方法还可以包括:
若从所述状态缓存系统中查询不到所述交易请求相关的账户的迁移状态,则所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库的第二账户的账户数据,对所述交易请求进行交易处理。
在本发明实施例中,交易系统如果从状态缓存系统中查询不到交易请求相关的账户的迁移状态,即交易系统如果从状态缓存系统中查询不到第二账户的迁移状态,则交易系统可以确定迁移系统没有在状态缓存系统配置的针对第二账户的迁移状态。
需要说明的是,有两种情况会出现查询不到第二账户的迁移状态,一种情况是迁移系统没有对多个账户的账户数据发起迁移任务,多个账户的账户数据都可以包括第一账户的账户数据和第二账户的账户数据,即迁移系统没有开始对第一账户的账户数据进行迁移,也没开始对第二账户的账户数据进行迁移;另一种情况是迁移系统正在迁移第一账户的账户数据。在上述任意一种情况下,第二账户系统的第二数据库不具有第二账户的账户数据,所以交易系统从状态缓存系统中查询不到第二账户的迁移状态,那么交易系统可以直接将交易请求发送至第一账户系统,第一账户系统接收到交易请求后,采用第一数据库的第二账户的账户数据,对交易请求进行处理。
需要说明的是,交易不需要使用到第一账户的账户数据,即第一账户的账户数据不因交易发生变化,第一账户的账户数据的迁移与交易请求的处理可以同时进行,所以本发明实施例没有针对第一账户配置迁移状态。而交易需要使用到第二账户的账户数据,即第二账户的账户数据会因交易发生变化,第二账户的账户数据的迁移与交易请求的处理不可以同时进行,所以本发明实施例针对第二账户配置迁移状态。迁移状态可以保证迁移系统对第二账户的账户数据进行迁移时,第一账户系统与第二账户系统之间具有数据一致性。
本发明的实施例中,迁移系统从第一账户系统的第一数据库获取第一账户的账户数据,迁移至第二账户系统的第二数据库,第一账户为被配置为不与交易请求相关的账户,在第一账户的账户数据迁移完成后,迁移系统在状态缓存系统配置针对第二账户的迁移状态,交易系统在接收到与第二账户相关的交易请求时,根据第二账户的迁移状态调用第一账户系统或第二账户系统进行交易处理,第二账户为被配置为与交易请求相关的账户,最后在针对第二账户的交易处理完成后,迁移系统从第一数据库获取第二账户的账户数据,迁移至第二数据库。本发明实施例先迁移数量级大、迁移时间长、被配置为不与交易请求相关的第一账户的账户数据,再迁移数量级小、迁移时间短、被配置为与交易请求相关的第二账户的账户数据,而且通过迁移系统配置第二账户的迁移状态,使得交易系统根据迁移状态调用第一账户系统或第二账户系统进行交易处理,实现了既不影响线上交易,又保证第一账户系统和第二账户系统之间的数据一致性。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过两个示例对本发明实施例加以说明:
示例一:涉及迁移系统、第一数据库、第二数据库以及状态缓存系统。
参考图4,示出了本发明实施例中涉及迁移系统、第一数据库、第二数据库以及状态缓存系统的交互示意图。
第一数据库可以是第一账户系统的数据库,第二数据库可以是第二账户系统的数据库,第一账户系统可以具有多个账户,第一数据库可以存储有多个账户的账户数据,分别将多个账户的账户数据分成第一账户的账户数据和第二账户的账户数据,迁移系统可以同时对多个账户发起迁移任务。
迁移系统先迁移第一账户的账户数据,再迁移第二账户的账户数据,具体过程如下:
对第一账户的账户数据的迁移过程,在此过程中,交易系统如果接收到与第二账户相关的交易请求,则将交易请求发送到第一账户系统进行交易处理:
1.迁移系统从第一数据库获取第一账户的账户数据;
2.迁移系统向第二数据库发送第一账户的账户数据;
第一账户的账户数据迁移完成后,对第二账户的账户数据的迁移过程:
3.迁移系统在状态缓存系统中配置第二账户的迁移状态为准备迁移状态;在准备迁移状态下,交易系统如果接收到与第二账户相关的交易请求,则将交易请求发送到第一账户系统进行交易处理;
4.迁移系统等待第一预设时间,设置第一预设时间的目的:让迁移系统等待第一账户系统完成针对第二账户的交易处理;
5.迁移系统从状态缓存系统中查询第二账户的订单状态;订单状态由交易系统配置;
6.如果第二账户的订单状态为对应有未处理订单的状态,则迁移系统循环等待第一预设时间;
7.如果第二账户的订单状态为不对应有未处理订单的状态,则迁移系统在状态缓存系统中配置第二账户的迁移状态为正在迁移状态,以及,配置第二账户的标识状态为第一数据标识;在正在迁移状态下,交易系统如果接收到与第二账户相关的交易请求,则等待第二预设时间;其中,设置第二预设时间的目的:让交易系统等待迁移系统完成对第二账户的账户数据的迁移;
8.迁移系统从第一数据库获取第二账户的账户数据;
9.迁移系统向第二数据库发送第二账户的账户数据;
第二账户的账户数据迁移完成后,确认第二数据库与第一数据库是否具有相同的第二账户的账户数据:
10.迁移系统再次从状态缓存系统中查询第二账户的订单状态;
步骤11有两个分叉步骤,分别为步骤11(A)和步骤11(B):
11(A).如果第二账户的订单状态为对应有未处理订单的状态,则迁移系统在状态缓存系统中配置第二账户的迁移状态为准备迁移状态,返回步骤4。
11(B).如果第二账户的订单状态为不对应有未处理订单的状态,则迁移系统从状态缓存系统中查询第二账户的标识状态;
步骤12有两个分叉步骤,分别为步骤12(B1)和步骤12(B2):
12(B1).如果第二账户的标识状态为第二数据状态,则迁移系统在状态缓存系统中配置第二账户的迁移状态为准备迁移状态,返回步骤4;第二数据状态由交易系统配置。
12(B2).如果第二账户的标识状态为第一数据状态,则迁移系统在状态缓存系统中配置第二账户的迁移状态为迁移完成状态;在迁移完成状态下,交易系统如果接收到与第二账户相关的交易请求,则将交易请求发送到第二账户系统进行交易处理;其中,第二数据库具有与第一数据库相同的第二账户的账户数据,第一账户系统和第一数据库可以不再使用。
示例二:涉及交易系统、第一账户系统、第一数据库、第二账户系统、第二数据库以及状态缓存系统。
参考图5,示出了本发明实施例中涉及交易系统、第一账户系统、第一数据库、第二账户系统、第二数据库以及状态缓存系统的交互示意图。
第一数据库可以是第一账户系统的数据库,第二数据库可以是第二账户系统的数据库。
1.交易系统接收与第二账户相关的交易请求;
2.交易系统从状态缓存系统中查询第二账户的迁移状态;
第二账户的迁移状态包括无记录(即查询不到迁移状态)、准备迁移状态、正在迁移状态、迁移完成状态,使得步骤3有四个分叉步骤,分别对应步骤3(A)、步骤3(B)、3(C)、步骤3(D);迁移状态由迁移系统配置。
A.迁移状为无记录(即查询不到迁移状态):
3(A).交易系统向第一账户系统发送交易请求;
4(A).第一账户系统读取第一数据库的第二账户的账户数据,对交易请求进行交易处理,将处理后新增的第二账户的账户数据写入第一数据库中。
在步骤3(A)~4(A)中,迁移系统对第一账户的账户数据进行迁移。
B.迁移状态为准备迁移状态:
3(B).交易系统在状态缓存系统中配置第二账户的订单状态为对应有未处理的订单;
4(B).交易系统向第一账户系统发送交易请求;
5(B).第一账户系统读取第一数据库的第二账户的账户数据,对交易请求进行交易处理,将处理后新增的第二账户的账户数据写入第一数据库中;
6(B).第一账户系统向交易系统发送交易处理完成信息;
7(B).交易系统在状态缓存系统中配置第二账户的订单状态为不对应有未处理的订单,以及,配置第二账户的标识状态为第二数据标识。
在步骤3(B)~7(B)中,迁移系统等待第一预设时间,其中,设置第一预设时间的目的:让迁移系统等待第一账户系统完成针对第二账户的交易处理。
C.迁移状态为正在迁移状态:
3(C).交易系统等待第二预设时间(设置第二预设时间的目的:让交易系统等待迁移系统完成对第二账户的账户数据的迁移);
在步骤3(C)中,迁移系统对第二账户的账户数据进行迁移。
D.迁移状态为迁移完成状态:
3(D).交易系统向第二账户系统发送交易请求;
4(D).第二账户系统读取第二数据库的第二账户的账户数据,对交易请求进行交易处理,将处理后新增的第二账户的账户数据写入第二数据库中。
在步骤3(D)~4(D)中,迁移系统对第二账户的账户数据迁移完成,第二数据库具有与第一数据库相同的第二账户的账户数据,第一账户系统和第一数据库可以不再使用。
本发明实施例还提供了一种数据迁移装置,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
参考图6,示出了本发明实施例提供的一种数据迁移装置的结构框图,具体可以包括如下模块:
第一迁移模块601,用于所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户;
迁移状态配置模块602,用于在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户数据为被配置为与交易请求相关的账户;
第二迁移模块303,用于在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库。
本发明的一个可选实施例中,所述迁移状态配置模块302包括:
准备迁移状态配置子模块,用于在将所述第一账户的账户数据迁移完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
本发明的一个可选实施例中,所述装置还可以包括:
第一等待模块,用于在接收到所述状态缓存系统发送的第一响应信息后,所述迁移系统等待第一预设时间;所述第一响应信息表示所述第二账户的迁移状态已被设置为所述准备迁移状态;
第一查询模块,用于在等待所述第一预设时间后,所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态;所述订单状态用于表征所述第二账户是否有未处理订单;所述订单状态由所述交易系统配置;
第一确定模块,用于若所述第二账户没有未处理订单,则所述迁移系统确定所述第一账户系统完成针对所述第二账户的交易处理。
本发明的一个可选实施例中,所述第二迁移模块303包括:
正在迁移状态配置子模块,用于在针对所述第二账户的交易处理完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的正在迁移信息和第一数据信息;所述正在迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为正在迁移状态,所述第一数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第一数据状态;所述正在迁移状态用于指示所述交易系统从所述状态缓存系统查询所述第二账户的迁移状态并等待第二预设时间后,再次查询所述第二账户的迁移状态,所述第一数据状态表示所述第二账户的账户数据迁移完成后,所述第二数据库与所述第一数据库具有相同的所述第二账户的账户数据;
第二迁移子模块,用于在接收到所述状态缓存系统发送的第二响应信息后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库;所述第二响应信息表示所述第二账户的迁移状态已被设置为所述正在迁移状态,以及所述第二账户的标识状态已被设置为所述第一数据状态。
本发明的一个可选实施例中,所述装置还可以包括:
第二查询模块,用于在将所述第二账户的账户数据迁移完成后,所述迁移系统再次从所述状态缓存系统查询所述第二账户的订单状态;
第三查询模块,用于若所述第二账户的订单状态为没有未处理订单,则所述迁移系统从所述状态缓存系统查询所述第二账户的标识状态;
迁移完成状态配置模块,用于若所述标识状态为第一数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的迁移完成信息;所述迁移完成信息用于指示所述状态缓存系统将第二账户的迁移状态设置为迁移完成状态;所述迁移完成状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第二账户系统,以使所述第二账户系统根据所述交易请求进行交易处理。
本发明的一个可选实施例中,所述装置还可以包括:
第一准备迁移状态配置模块,用于若所述第二账户的订单状态为有未处理订单,则所述迁移系统向所述状态缓存系统发送针对第二账户的第二准备迁移信息;所述第二准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态。
本发明的一个可选实施例中,所述装置还可以包括:
第二准备迁移状态配置模块,用于若所述标识状态为第二数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的第三准备迁移信息;所述第三准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态;所述第二数据状态表示所述第一数据库相比于所述第二数据库,具有新增的所述第二账户的账户数据;所述第二数据状态由所述交易系统配置。
本发明实施例还提供了一种数据迁移装置,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
参考图7,示出了本发明实施例提供的一种数据迁移装置的结构框图,具体可以包括如下模块:
交易请求接收模块701,用于所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
调用模块702,用于若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置。
本发明的一个可选实施例中,所述调用模块702包括:
第一迁移状态确定子模块,用于所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;
对应有未处理订单配置子模块,用于若所述第二账户的迁移状态为准备迁移状态,则所述交易系统向所述状态缓存系统发送针对所述第二账户的未处理订单配置信息;所述未处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为对应有未处理订单;所述对应有未处理订单用于指示所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态并等待第一预设时间后,再次查询所述第二账户系统的订单状态;
第一发送子模块,用于在接收到所述状态缓存系统发送的第三响应信息后,所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第三响应信息表示所述第二账户的订单状态已被设置为所述对应有未处理订单;所述第一数据库为所述第一账户系统的数据库。
本发明的一个可选实施例中,所述调用模块702包括:
第二迁移状态确定子模块,用于所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;
第二发送子模块,用于若所述第二账户的迁移状态为迁移完成状态,则所述交易系统将所述交易请求发送至所述第二账户系统,以使所述第二账户系统采用第二数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第二数据库为所述第二账户系统的数据库。
本发明的一个可选实施例中,所述装置还可以包括:
不对应有未处理订单配置模块,用于若接收到所述第一账户系统发送的交易处理完成信息,则所述交易系统向所述状态缓存系统发送针对所述第二账户的已处理订单配置信息和第二数据信息;所述已处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为不对应有未处理订单,所述第二数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第二数据状态;所述第二数据状态表示所述第一数据库相比于所述第二数据库,具有新增的所述第二账户的账户数据。
本发明的一个可选实施例中,所述装置还可以包括:
发送模块,用于若从所述状态缓存系统中查询不到所述交易请求相关的账户的迁移状态,则所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库中的第二账户的账户数据,对所述交易请求进行交易处理。
本发明实施例提供的数据迁移装置具备执行数据迁移方法相应的功能模块,可执行本发明实施例所提供的数据迁移方法,且能达到相同的有益效果。
本发明实施例还提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如本发明实施例任一所述的数据迁移方法。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例任一所述的数据迁移方法。
以上对本发明所提供的一种数据迁移方法、装置、电子设备和可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种数据迁移方法,其特征在于,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述方法包括:
所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户;
在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户为被配置为与交易请求相关的账户;
在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库;
所述在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态,包括:
在将所述第一账户的账户数据迁移完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述状态缓存系统发送的第一响应信息后,所述迁移系统等待第一预设时间;所述第一响应信息表示所述第二账户的迁移状态已被设置为所述准备迁移状态;
在等待所述第一预设时间后,所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态;所述订单状态用于表征所述第二账户是否有未处理订单;所述订单状态由所述交易系统配置;
若所述第二账户没有未处理订单,则所述迁移系统确定所述第一账户系统完成针对所述第二账户的交易处理。
3.根据权利要求1所述的方法,其特征在于,所述在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库,包括:
在针对所述第二账户的交易处理完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的正在迁移信息和第一数据信息;所述正在迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为正在迁移状态,所述第一数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第一数据状态;所述正在迁移状态用于指示所述交易系统从所述状态缓存系统查询所述第二账户的迁移状态并等待第二预设时间后,再次查询所述第二账户的迁移状态,所述第一数据状态表示所述第二账户的账户数据迁移完成后,所述第二数据库与所述第一数据库具有相同的所述第二账户的账户数据;
在接收到所述状态缓存系统发送的第二响应信息后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库;所述第二响应信息表示所述第二账户的迁移状态已被设置为所述正在迁移状态,以及所述第二账户的标识状态已被设置为所述第一数据状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述第二账户的账户数据迁移完成后,所述迁移系统再次从所述状态缓存系统查询所述第二账户的订单状态;
若所述第二账户的订单状态为没有未处理订单,则所述迁移系统从所述状态缓存系统查询所述第二账户的标识状态;
若所述标识状态为第一数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的迁移完成信息;所述迁移完成信息用于指示所述状态缓存系统将第二账户的迁移状态设置为迁移完成状态;所述迁移完成状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第二账户系统,以使所述第二账户系统根据所述交易请求进行交易处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第二账户的订单状态为有未处理订单,则所述迁移系统向所述状态缓存系统发送针对第二账户的第二准备迁移信息;所述第二准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述标识状态为第二数据状态,则所述迁移系统向所述状态缓存系统发送针对第二账户的第三准备迁移信息;所述第三准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为所述准备迁移状态;所述第二数据状态表示所述第一数据库相比于所述第二数据库,具有新增的所述第二账户的账户数据;所述第二数据状态由所述交易系统配置。
7.一种数据迁移方法,其特征在于,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述方法包括:
所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置;其中,所述迁移系统用于在将第一账户的账户数据迁移完成后,向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
8.根据权利要求7所述的方法,其特征在于,所述若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理,包括:
所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;
若所述第二账户的迁移状态为准备迁移状态,则所述交易系统向所述状态缓存系统发送针对所述第二账户的未处理订单配置信息;所述未处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为对应有未处理订单;所述对应有未处理订单用于指示所述迁移系统从所述状态缓存系统查询所述第二账户的订单状态并等待第一预设时间后,再次查询所述第二账户系统的订单状态;
在接收到所述状态缓存系统发送的第三响应信息后,所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第三响应信息表示所述第二账户的订单状态已被设置为所述对应有未处理订单;所述第一数据库为所述第一账户系统的数据库。
9.根据权利要求7所述的方法,其特征在于,所述若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理,包括:
所述交易系统若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则确定所述迁移系统在所述状态缓存系统配置的针对第二账户的迁移状态;所述第二账户为所述交易请求相关的账户;
若所述第二账户的迁移状态为迁移完成状态,则所述交易系统将所述交易请求发送至所述第二账户系统,以使所述第二账户系统采用第二数据库中的第二账户的账户数据,对所述交易请求进行交易处理;所述第二数据库为所述第二账户系统的数据库。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若接收到所述第一账户系统发送的交易处理完成信息,则所述交易系统向所述状态缓存系统发送针对所述第二账户的已处理订单配置信息和第二数据信息;所述已处理订单配置信息用于指示所述状态缓存系统将第二账户的订单状态设置为不对应有未处理订单,所述第二数据信息用于指示所述状态缓存系统将第二账户的标识状态设置为第二数据状态;所述第二数据状态表示第一数据库相比于第二数据库,具有新增的所述第二账户的账户数据。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若从所述状态缓存系统中查询不到所述交易请求相关的账户的迁移状态,则所述交易系统将所述交易请求发送至所述第一账户系统,以使所述第一账户系统采用第一数据库中的第二账户的账户数据,对所述交易请求进行交易处理。
12.一种数据迁移装置,其特征在于,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
第一迁移模块,用于所述迁移系统从所述第一账户系统的第一数据库获取第一账户的账户数据,并将所述第一账户的账户数据迁移至所述第二账户系统的第二数据库;所述第一账户为被配置为不与交易请求相关的账户;
迁移状态配置模块,用于在将所述第一账户的账户数据迁移完成后,所述迁移系统在所述状态缓存系统配置针对第二账户的迁移状态;所述迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,根据所述第二账户的迁移状态调用所述第一账户系统或所述第二账户系统进行交易处理;所述第二账户数据为被配置为与交易请求相关的账户;
第二迁移模块,用于在针对所述第二账户的交易处理完成后,所述迁移系统从所述第一账户系统的第一数据库获取所述第二账户的账户数据,并将所述第二账户的账户数据迁移至所述第二账户系统的第二数据库;
所述迁移状态配置模块包括:
准备迁移状态配置子模块,用于在将所述第一账户的账户数据迁移完成后,所述迁移系统向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
13.一种数据迁移装置,其特征在于,涉及第一账户系统、第二账户系统、迁移系统、交易系统以及状态缓存系统,所述装置包括:
交易请求接收模块,用于所述交易系统在接收到交易请求时,确定所述交易请求相关的账户;
调用模块,用于若从所述状态缓存系统中查询到所述交易请求相关的账户的迁移状态,则所述交易系统根据所述交易请求相关的账户的迁移状态,调用所述第一账户系统或所述第二账户系统进行交易处理;所述状态缓存系统中存储的迁移状态由所述迁移系统配置;其中,所述迁移系统用于在将第一账户的账户数据迁移完成后,向所述状态缓存系统发送针对第二账户的第一准备迁移信息;所述第一准备迁移信息用于指示所述状态缓存系统将第二账户的迁移状态设置为准备迁移状态;所述准备迁移状态用于指示所述交易系统在接收到与所述第二账户相关的交易请求时,则将所述交易请求发送至所述第一账户系统,以使所述第一账户系统根据所述交易请求进行交易处理。
14.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如方法权利要求1-6或方法权利要求7-11任一所述的数据迁移方法。
15.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-6或方法权利要求7-11任一所述的数据迁移方法。
CN202110187781.XA 2021-02-18 2021-02-18 一种数据迁移方法和装置 Active CN113222751B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110187781.XA CN113222751B (zh) 2021-02-18 2021-02-18 一种数据迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110187781.XA CN113222751B (zh) 2021-02-18 2021-02-18 一种数据迁移方法和装置

Publications (2)

Publication Number Publication Date
CN113222751A CN113222751A (zh) 2021-08-06
CN113222751B true CN113222751B (zh) 2024-05-17

Family

ID=77084680

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110187781.XA Active CN113222751B (zh) 2021-02-18 2021-02-18 一种数据迁移方法和装置

Country Status (1)

Country Link
CN (1) CN113222751B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858489A (zh) * 2022-11-23 2023-03-28 中电金信软件有限公司 基于数据迁移的交易处理方法、装置、计算机设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899728A (zh) * 2014-09-23 2015-09-09 腾讯科技(深圳)有限公司 一种账号数据转移方法及相关设备、系统
CN106294387A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 数据迁移方法和装置
CN108536822A (zh) * 2018-04-09 2018-09-14 平安普惠企业管理有限公司 数据迁移方法、装置、系统及存储介质
CN110321339A (zh) * 2019-07-04 2019-10-11 深圳乐信软件技术有限公司 一种数据迁移方法、装置、设备和存储介质
CN110874800A (zh) * 2019-11-08 2020-03-10 腾讯科技(深圳)有限公司 数据转移方法、装置、电子设备及计算机可读存储介质
CN112190951A (zh) * 2020-10-28 2021-01-08 网易(杭州)网络有限公司 运营数据迁移方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210232B2 (en) * 2014-10-01 2019-02-19 SkyKick, Inc. Automated staged data migration
JP6620238B2 (ja) * 2016-06-06 2019-12-11 株式会社日立システムズ データ移行システム、データ移行方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899728A (zh) * 2014-09-23 2015-09-09 腾讯科技(深圳)有限公司 一种账号数据转移方法及相关设备、系统
CN106294387A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 数据迁移方法和装置
CN108536822A (zh) * 2018-04-09 2018-09-14 平安普惠企业管理有限公司 数据迁移方法、装置、系统及存储介质
CN110321339A (zh) * 2019-07-04 2019-10-11 深圳乐信软件技术有限公司 一种数据迁移方法、装置、设备和存储介质
CN110874800A (zh) * 2019-11-08 2020-03-10 腾讯科技(深圳)有限公司 数据转移方法、装置、电子设备及计算机可读存储介质
CN112190951A (zh) * 2020-10-28 2021-01-08 网易(杭州)网络有限公司 运营数据迁移方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
不完全停机下的系统数据迁移方案与实现;冯海燕;赖志存;吴佩珊;;广东科技(第18期);第83-84页 *

Also Published As

Publication number Publication date
CN113222751A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN108595207B (zh) 一种灰度发布方法、规则引擎、系统、终端和存储介质
KR100343823B1 (ko) 클라이언트와 적응형 동기화 및 변환 서버를 위한 방법, 장치 및 프로그램 저장 장치
US6470342B1 (en) Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
US6249836B1 (en) Method and apparatus for providing remote processing of a task over a network
US7779416B2 (en) Load balance control method and load balance control apparatus in data-processing system
CN108681777B (zh) 一种基于分布式系统的机器学习程序运行的方法和装置
US8606833B2 (en) Method and system of committing operations of a synchronized transaction
US7610388B2 (en) System, method and program for coordinating timeouts for distributed servers
CN109936605B (zh) 一种加载接口数据的方法和装置
CN113222751B (zh) 一种数据迁移方法和装置
CN111126948A (zh) 用于审批流程的处理方法和装置
CN108958933B (zh) 任务执行器的配置参数更新方法、装置及设备
JP2002510084A (ja) クライアント/サーバ・コンピューティング・システム
JPH11272630A (ja) サ―バ処理装置、サ―バ処理方法、コンピュ―タ・プログラム製品及びサ―バ
CN113778581A (zh) 页面加载方法、电子设备和存储介质
US20160094665A1 (en) Session Handling in a Stateless Communication Environment
KR20010024837A (ko) 트랜잭션을 수행하는 클라이언트/서버 컴퓨팅시스템에서의 사용을 위한 클라이언트 처리 장치, 서버처리 장치, 클라이언트 처리 방법, 서버 처리 방법 및컴퓨터 프로그램 제품
US10999362B1 (en) Seamless switching of terminal servers in remote-access computing environments
US20200210165A1 (en) Method and system for downloading information
CN110413421A (zh) 业务数据处理方法和装置、交易数据处理方法和装置
CN110347659A (zh) 数据处理方法和装置、交易数据处理方法和装置
US20230093004A1 (en) System and method for asynchronous backend processing of expensive command line interface commands
CN114090146A (zh) 一种数据加载完成确定方法、装置及设备
CN114327908B (zh) 多云管理平台的管理方法
US20100042679A1 (en) Method and interprocess communication driver for managing requests of a database client to a database server

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