一种在线数据迁移过程中的业务处理方法及装置与流程

文档序号:14911218发布日期:2018-07-10 23:28阅读:117来源:国知局
本申请涉及互联网
技术领域
,尤其涉及一种在线数据迁移过程中的业务处理方法及装置。
背景技术
:随着互联网技术的快速发展,出现了各种各样的业务系统,为了满足不断变化的用户需求,业务系统大多需要不断升级,而在升级过程中通常需要进行数据迁移。现有技术中,在进行数据迁移时,需要暂停业务服务,在数据迁移完成后再重新开放业务服务,虽然在迁移过程中可以采用一些手段来缩短业务的暂停时间,但不能从根本上避免业务发生中断的情况。可见,现有技术中在进行数据迁移时存在着业务发生中断的问题。技术实现要素:本申请实施例提供一种在线数据迁移过程中的业务处理方法及装置,用以解决现有技术中在进行数据迁移时存在着业务发生中断的问题。本申请实施例提供的一种在线数据迁移过程中的业务处理方法,包括:针对用户发起的业务流程,生成数据处理请求;其中,该数据处理请求为读请求或写请求;确定业务流程对应的业务数据状态;若业务数据状态为迁移状态,数据处理请求为读请求,则从第一业务数据表中读取该读请求对应的数据;其中,第一业务数据表中存储有进行业务数据迁移前的数据;若业务数据状态为迁移状态,数据处理请求为写请求,则将该写请求对应的数据写入数据缓存装置中,以便在将第一业务数据表中的数据全部写入第二业务数据表之后,将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中。可选地,所述方法还包括:若业务数据迁移状态为追写状态,数据处理请求为读请求,追写状态是指处于将数据缓存装置中的数据写入目标业务数据表中的状态,该目标业务数据表包含第一业务数据表和第二业务数据表;则判断正在向目标业务数据表中写入的数据是否为与该读请求存在冲突的数据,若是,则在将数据缓存装置中与读请求存在冲突的数据全部写入目标业务数据表以后,从目标业务数据表中读取与该读请求对应的数据;若业务数据迁移状态为追写状态,数据处理请求为写请求,则判断正在向目标业务数据表中写入的数据是否为与该写请求存在冲突的数据,若是,则在将数据缓存装置中与写请求存在冲突的数据全部写入目标业务数据表以后,向目标业务数据表中写入与该写请求对应的数据。可选地,所述方法还包括:在业务数据状态进入迁移状态,且用户发起业务流程之后,将第一业务数据表设置为不可更新状态,以防止向第一业务数据表中写入数据;当业务数据迁移状态由迁移状态进入追写状态后,将第一业务数据表由不可更新状态变更为可更新状态,以便将数据缓存装置中的数据写入第一业务数据表中。可选地,数据处理请求为读请求,所述方法还包括:从数据缓存装置中读取读请求对应的数据,将从数据缓存装置中读取的数据与从第一业务数据表中读取的数据进行合并;将合并后的数据作为读取的完整数据返回,以便根据该合并后的数据执行后续数据写入流程。可选地,所述方法还包括:若业务数据状态为非迁移状态,数据处理请求为读请求,则从第一业务数据表中读取与该读请求对应的数据;若业务数据状态为非迁移状态,数据处理请求为写请求,则将该写请求对应的数据写入第一业务数据表中。本申请实施例提供的一种在线数据迁移过程中的业务处理装置,包括:生成模块,用于针对用户发起的业务流程,生成数据处理请求;数据处理请求为读请求或写请求;确定模块,用于确定业务流程对应的业务数据状态;读请求处理模块,用于在确定模块确定业务数据状态为迁移状态后,若数据处理请求为读请求,则从第一业务数据表中读取该读请求对应的数据;其中,第一业务数据表中存储有进行业务数据迁移前的数据;写请求处理模块,用于在确定模块确定业务数据状态为迁移状态后,若数据处理请求为写请求,则将该写请求对应的数据写入数据缓存装置中,以便在将第一业务数据表中的数据全部写入第二业务数据表之后,将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中。可选地,读请求处理模块还用于:在确定模块确定业务数据迁移状态为追写状态后,若数据处理请求为读请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该读请求存在冲突的数据,若是,则在将数据缓存装置中与读请求存在冲突的数据全部写入目标业务数据表以后,从目标业务数据表中读取与该读请求对应的数据;追写状态是指处于将数据缓存装置中的数据写入目标业务数据表中的状态,该目标业务数据表包含第一业务数据表和第二业务数据表;写请求处理模块还用于:在确定模块确定业务数据迁移状态为追写状态后,若数据处理请求为写请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该写请求存在冲突的数据,若是,则在将数据缓存装置中与写请求存在冲突的数据全部写入目标业务数据表以后,向目标业务数据表中写入与该写请求对应的数据。可选地,确定模块还用于:在业务数据状态进入迁移状态,且用户发起业务流程之后,将第一业务数据表设置为不可更新状态,以防止向第一业务数据表中写入数据;当业务数据迁移状态由迁移状态进入追写状态后,将第一业务数据表由不可更新状态变更为可更新状态,以便将数据缓存装置中的数据写入第一业务数据表中。可选地,读请求处理模块还用于:从数据缓存装置中读取读请求对应的数据,将从数据缓存装置中读取的数据与从第一业务数据表中读取的数据进行合并;将合并后的数据作为读取的完整数据返回,以便根据该合并后的数据执行后续数据写入流程。可选地,读请求处理模块还用于:在确定模块确定业务数据状态为非迁移状态后,若数据处理请求为读请求,则从第一业务数据表中读取与该读请求对应的数据;写请求处理模块还用于:在确定模块确定业务数据状态为非迁移状态,若数据处理请求为写请求,则将该写请求对应的数据写入第一业务数据表中。本申请实施例中,针对用户发起的业务流程,生成读请求或写请求,然后,确定业务流程对应的业务数据状态;当业务数据状态为迁移状态时,对于读请求,从第一业务数据表中读取该读请求对应的数据,该第一业务数据表中存储有进行业务数据迁移前的数据;对于写请求,将该写请求对应的数据写入数据缓存装置中。这样,在业务数据进行迁移的过程中,可以正常处理业务流程过程中生成的读请求和写请求,保证业务流程正常进行、不发生中断,并且,在将第一业务数据表中的数据全部写入第二业务数据表之后,还可将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,从而保证数据迁移的完整性。附图说明图1为本申请实施例提供的业务数据处于迁移状态时的业务处理方法流程图;图2为本申请实施例提供的业务数据处于追写状态时的业务处理方法流程图;图3为本申请实施例提供的业务数据处于非迁移状态时的业务处理方法流程图;图4为本申请实施例提供的在线数据迁移装置示意图;图5为本申请实施例提供的业务数据处于迁移状态时的业务处理流程图;图6为本申请实施例提供的业务数据处于追写状态时的业务处理流程图;图7为本申请实施例提供的业务数据处于非迁移状态时的业务处理流程图;图8为本申请实施例提供的在线数据迁移过程中的业务处理装置结构图。具体实施方式本申请实施例中,针对用户发起的业务流程,生成读请求或写请求,然后,确定业务流程对应的业务数据状态;当业务数据状态为迁移状态时,对于读请求,从第一业务数据表中读取该读请求对应的数据,该第一业务数据表中存储有进行业务数据迁移前的数据;对于写请求,将该写请求对应的数据写入数据缓存装置中。这样,在业务数据进行迁移的过程中,可以正常处理业务流程过程中生成的读请求和写请求,保证业务流程正常进行、不发生中断,并且,在将第一业务数据表中的数据全部写入第二业务数据表之后,还可将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,从而保证数据迁移的完整性。实施例一本申请实施例的一个应用场景为在对业务进行升级时,对业务数据进行迁移,其中,数据迁移可以为同构数据迁移,也可以为异构数据迁移;同构数据是指存放在同一数据管理系统,且数据结构相同的数据;异构数据是指存放在不同数据库管理系统中的数据,或存放在同一数据库管理系统中但数据结构不同的数据。在对业务数据进行迁移之前,可以将新、旧业务逻辑开发并上线,同时在业务逻辑中预埋开关,实现在新业务逻辑、旧业务逻辑和新旧业务逻辑之间自由切换。在具体实施过程中,执行业务流程的过程中会生成读请求或写请求,对该请求或写请求可以确定业务流程对应的业务数据状态,其中,业务数据状态包括迁移状态、追写状态和非迁移状态,对每一种业务数据状态,对读请求和写请求相关的业务处理方法会有所不同,下面结合说明书附图对本申请实施例作进一步详细描述。如图1所示,为本申请实施例提供的业务数据处于迁移状态时的业务处理方法流程图,包括以下步骤:S101:针对用户发起的业务流程,生成数据处理请求;该数据处理请求为读请求或写请求。这里,接收到用户办理业务的请求以后,即可以发起相应的业务流程。在执行业务流程的过程中生成读请求或写请求。S102:确定业务流程对应的业务数据状态。可选地,一个业务流程可以对应一个状态位,该状态位用于标识该业务的业务数据状态。比如,状态位为0时,表示业务数据状态为迁移状态,识位为1时,表示业务数据状态为追写状态,状态位为2时,表示业务数据状态为非迁移状态。在具体实施过程中,业务数据进入迁移状态后,状态位为0;在业务数据处于迁移状态的过程中,若用户发起业务流程,则业务数据的迁移状态结束后进入追写状态,此时,状态位为1;在业务数据处于迁移状态的过程中,若用户未发起业务流程,则业务数据的迁移状态结束后进入非迁移状态,此时,状态位为2。S103:若业务数据状态为迁移状态,数据处理请求为读请求,则从第一业务数据表中读取与该读请求对应的数据;其中,第一业务数据表中存储有进行业务数据迁移前的数据。可选地,当确定业务数据状态进入迁移状态,并且用户发起业务流程之后,可以将第一业务数据表设置为不可更新状态,以防止向第一业务数据表中写入数据。在具体实施过程中,对于一些读请求,从数据缓存装置中读取与读请求对应的数据后,还可以将从数据缓存装置中读取的数据与从第一业务数据表中读取的数据进行合并,进而将合并后的数据作为读取的完整数据返回,以便后续根据合并后的数据执行后续数据写入流程。比如,某业务场景中对同一个用户可以参加活动的次数有限制,假设为2次。在对业务数据进行迁移之前的业务数据表中已经有一条关于用户A参加了1次活动的记录,在对该业务数据进行迁移的过程中,假设用户A再次发起参加活动的业务流程,则该业务流程会生成数据读请求,从迁移前的业务数据表中读取关于用户A参加活动的次数1,在确定该用户仍然可以参加活动以后,生成写请求,将与用户A参加一次活动的记录相关的数据写入数据缓存装置中。那么,当用户A后续再发起参加活动的业务流程时,除了从迁移前的业务数据表中读取关于用户A参加活动的次数1,还可以从数据缓存装置中读取另一条关于用户A参加活动的次数1,这样,可以保证用户A参加活动的次数满足业务需求,从而避免业务出错。S104:若业务数据状态为迁移状态,数据处理请求为写请求,则将该写请求对应的数据写入数据缓存装置中,以便在将第一业务数据表中的数据全部写入第二业务数据表之后,将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中。可选地,数据缓存装置可以为本申请实施例执行主体(如提供业务服务的设备)中的一个数据缓存装置,也可以为独立于执行主体之外独立的数据缓存装置,在此不做限定。在具体实施过程中,可以预置用来对不同业务数据表变更情况进行记录的数据表,该数据表中可以包括业务数据表的表名/业务数据的文件名,对表或文件的操作方法,如增、删、改、查,字段:值,时间戳等信息。当有写请求时,将与写请求对应的数据按照这些信息对应存储,以便后续进行追写。如图2所示,为本申请实施例提供的业务数据处于追写状态时的业务处理方法流程图,包括以下步骤:S201:针对用户发起的业务流程,生成数据处理请求;该数据处理请求为读请求或写请求。S202:确定业务流程对应的业务数据状态。S203:若业务数据迁移状态为追写状态,数据处理请求为读请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该读请求存在冲突的数据,若是,则在将数据缓存装置中与读请求存在冲突的数据全部写入目标业务数据表以后,从目标业务数据表中读取与该读请求对应的数据。在具体实施过程中,为了使新、旧业务逻辑可以并行,可以将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,追写状态就是指处于将数据缓存装置中的数据写入第一业务数据表和第二业务数据中的状态,为便于描述,可以将第一业务数据表和第二业务数据表合称为目标业务数据表。S204:若业务数据迁移状态为追写状态,数据处理请求为写请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该写请求存在冲突的数据,若是,则在将数据缓存装置中与写请求存在冲突的数据全部写入目标业务数据表以后,向目标业务数据表中写入与该写请求对应的数据。这里,当确定业务数据迁移状态由迁移状态进入追写状态以后,可以将第一业务数据表由不可更新状态变更为可更新状态,以便将数据缓存装置中的数据写入第一业务数据表中。如图3所示,为本申请实施例提供的业务数据处于非迁移状态时的业务处理方法流程图,包括以下步骤:S301:针对用户发起的业务流程,生成数据处理请求;该数据处理请求为读请求或写请求。S302:确定业务流程对应的业务数据状态。S303:若业务数据状态为非迁移状态,数据处理请求为读请求,则从第一业务数据表中读取与该读请求对应的数据。S304:若业务数据状态为非迁移状态,数据处理请求为写请求,则将该写请求对应的数据写入第一业务数据表中。在具体实施过程中,如果用户在业务数据处于迁移状态时发起业务请求,可以按旧逻辑进行处理;如果用户在业务数据处于追写状态时发起业务请求,可以按旧逻辑进行处理;如果用户在业务数据刚进入非迁移状态时发起业务请求,可以按新、旧逻辑同时进行处理,这样,在用户发起业务流程至流程结束之前,无论业务数据状态是由非迁移状态进入迁移状态,还是由迁移状态进入追写状态,用户当前的业务请求都不会中断,从而达到在业务数据进行迁移的过程中,用户使用业务不中断、用户对业务切换无感知的目的。本申请实施例中,针对用户发起的业务流程,生成读请求或写请求,然后,确定业务流程对应的业务数据状态;当业务数据状态为迁移状态时,对于读请求,从第一业务数据表中读取该读请求对应的数据,该第一业务数据表中存储有进行业务数据迁移前的数据;对于写请求,将该写请求对应的数据写入数据缓存装置中。这样,在业务数据进行迁移的过程中,可以正常处理业务流程过程中生成的读请求和写请求,保证业务流程正常进行、不发生中断,并且,在将第一业务数据表中的数据全部写入第二业务数据表之后,还可将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,从而保证数据迁移的完整性。实施例二下面结合具体的业务场景对本发明实施例进行详细的说明。假设某通信运营商举行赠送流量活动,若用户提交的问题答案正确,则可获赠1G流量,并且一个用户可以参加1次活动。其中,业务数据的表结构设计如表A所示。表A:手机号码活动名称问题答案(文本型)139XXXX1111送1G流量A139XXXX2222送1G流量B当活动进行了一段时间后,需要将回答问题的方式修改为用户使用推荐码参加活动,则根据业务需求将业务数据的表结构更为如下表A`所示。表A`:手机号码活动名称推荐码(数字型)这里,由于业务升级,需要将表A中的问题答案变更为推荐码,字段的含义和数据类型均发生了变化,属于异构数据迁移。下面以此场景为例说明业务数据迁移过程中对业务流程的处理方法。首先将包含新、旧业务逻辑的进程部署在业务系统上,假设此时业务版本状态标识为V0。并且,在数据缓读写装置中预置用来对不同业务数据表变更情况进行记录的数据表,其数据结构可以如下表C所示。表C:操作表名/文件名操作方法字段:值时间戳其中,操作表名/文件名为读请求或写请求对应的业务数据表名/业务数据文件名;操作方法包括插入、删除、更新;字段:值,为业务数据表中的字段名称+字段值集合;时间戳为执行此次操作的时间。在具体实施过程中,在业务数据处于迁移状态的过程中,假设用户139XXXX3333发起参加活动的业务流程,生成读请求查询表A,确定该手机号参加活动的次数为0,同时读请求查询表C,确定该手机号参加活动的次数为0,将查询的两个次数相加后的结果0反馈给业务逻辑,在确定该用户可以参加活动后,生成写请求,将写请求对应的数据写入表C,则表C的内容如下:表C此外,当业务数据进入迁移状态后,将表A中的数据迁移复制至表A`,则表A`数据内容如下:表A`:手机号码活动名称推荐码(数字型)139XXXX1111送1G流量NULL139XXXX2222送1G流量NULL可选地,当业务数据进入迁移状态后,可以在第一次接收到业务流程发起的读请求或者写请求后,将表A设置为不可更新状态,以防止向表A中写入数据。当表A中的数据全部复制至表A`后,业务数据状态由迁移状态进入追写状态,将表C中缓存的数据分别追加到表A和表A`中,则表A和表A`中的数据分别如下:表A:手机号码活动名称问题答案(文本型)139XXXX1111送1G流量A139XXXX2222送1G流量B139XXXX3333送1G流量A表A`:手机号码活动名称推荐码(数字型)139XXXX1111送1G流量NULL139XXXX2222送1G流量NULL139XXXX3333送1G流量NULL当将表C中的数据追写完以后,业务数据由追写状态进入非迁移状态,此时业务版本状态标识为V1,代表新版业务逻辑。假设此时用户139XXXX4444发起参加活动的业务流程,可以将该用户的业务数据可以写入表A`,则表A`的内容如下:表A`:手机号码活动名称推荐码(数字型)139XXXX1111送1G流量NULL139XXXX2222送1G流量NULL139XXXX3333送1G流量NULL139XXXX4444送1G流量123456至此在数据进行迁移的过程中,不用中断业务就可以完成新旧业务逻辑的切换。本申请实施例中,针对用户发起的业务流程,生成读请求或写请求,然后,确定业务流程对应的业务数据状态;当业务数据状态为迁移状态时,对于读请求,从第一业务数据表中读取该读请求对应的数据,该第一业务数据表中存储有进行业务数据迁移前的数据;对于写请求,将该写请求对应的数据写入数据缓存装置中。这样,在业务数据进行迁移的过程中,可以正常处理业务流程过程中生成的读请求和写请求,保证业务流程正常进行、不发生中断,并且,在将第一业务数据表中的数据全部写入第二业务数据表之后,还可将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,从而保证数据迁移的完整性。实施例三如图4所示,为本申请实施例的在线数据迁移装置40示意图,其中,包括多个业务逻辑控制装置,1个迁移状态控制装置、1个缓存装置,以及多个读装置和写装置。其中,读装置和写装置相互分离。在具体实施过程中,不同的业务数据状态对应不同的业务处理流程,下面结合图4所示的装置对方法部分的三个业务流程简要进行介绍。如图5所示,为本申请实施例提供的业务数据处于迁移状态时的业务处理流程图。5.1:开始对业务数据进行迁移后,迁移状态控制装置将状态位置为迁移。5.2:迁移状态控制装置通知读装置对相关业务数据进行复制。5.3:在对业务数据进行复制的过程中,用户通过业务逻辑控制装置发起业务流程。5.4:业务逻辑控制装置向迁移状态控制装置发送判断当前业务数据状态的请求。5.5:迁移状态控制装置向业务逻辑控制装置返回迁移状态判断结果。5.6:业务逻辑控制装置将执行业务流程中生成的读请求发送给缓存装置。5.7:缓存装置从读装置的第一业务数据表中读取与读请求对应的数据。这里,第一业务数据表中存储有进行业务数据迁移前的数据。5.8:读装置向缓存装置返回与读请求对应的数据。5.9:缓存装置将读装置返回的数据和自身缓存的数据进行合并。可选地,本步骤并不是对每一次读请求都需要执行。5.10:缓存装置向业务逻辑控制装置返回合并后的完整数据。5.11:业务逻辑控制装置将执行业务流程中生成的写请求发送给缓存装置。5.12:缓存装置将与写请求对应的数据进行缓存。5.13:读装置将业务数据复制完成以后,通知迁移状态控制装置。需要说明的是,在上述过程中,步骤5.6~5.10和步骤5.11~5.12之间并没有先后顺序关系。可选地,迁移状态控制装置在确定业务数据复制无误后,将状态位置为追写状态。如图6所示,为本申请实施例提供的业务数据处于追写状态时的业务处理流程图。6.1:迁移状态控制装置将状态位置为追写。6.2:在将状态位置为追写后,迁移状态控制装置向缓存装置发送数据写入指示。这里,为了保证新旧业务逻辑可以并行,写入指示可以指示缓存装置将缓存的数据同时写入第一数据表和第二数据表中,该第二数据表为第一数据表数据迁移后的数据表。6.3:缓存装置将缓存的数据写入写装置。6.4:写装置与读装置同步缓存数据,读装置将缓存数据同时写入第一数据表和第二数据表中。6.5:在业务数据进行追写的过程中,用户通过业务逻辑控制装置发起业务流程。6.6:业务逻辑控制装置向迁移状态控制装置发送判断当前业务数据状态的请求。6.7:迁移状态控制装置向业务逻辑控制装置返回追写状态判断结果。6.8:业务逻辑控制装置将执行业务流程中生成的写请求发送给缓存装置。6.9:缓存装置判断正在写入的数据与写请求对应的数据是否存在冲突。这里,若正在写入的数据与写请求对应的数据存在冲突,可以等待缓存装置将存在冲突的数据全部写入以后,再写入请求对应的数据。6.10:缓存装置在确定正在写入的数据与写请求对应的数据不冲突后,将数据写入写装置。6.11:写装置与读装置同步写入的数据。6.12:业务逻辑控制装置将执行业务流程中生成的读请求发送给缓存装置。6.13:缓存装置判断正在写入的数据与读请求对应的数据是否存在冲突。这里,若正在写入的数据与读请求对应的数据存在冲突,可以等待缓存装置将存在冲突的数据全部写入以后,再读取与读请求对应的数据。6.14:缓存装置在确定正在写入的数据与读请求对应的数据不冲突后,从读装置中读取数据。6.15:缓存装置将从读装置中读取的数据返回给业务逻辑控制装置。6.17:追写完成以后,缓存装置通知迁移状态控制装置。需要说明的是,在上述过程中,步骤6.8~6.11和步骤6.12~6.16之间并没有先后顺序关系。可选地,迁移状态控制装置在确定追写完成后,将状态位置为非迁移状态。如图7所示,为本申请实施例提供的业务数据处于非迁移状态时的业务处理流程图。7.1:迁移状态控制装置将状态位置为非迁移。7.2:在业务数据没有进行迁移时,用户通过业务逻辑控制装置发起业务流程。7.3:业务逻辑控制装置向迁移状态控制装置发送判断当前业务数据状态的请求。7.4:迁移状态控制装置向业务逻辑控制装置返回非迁移状态判断结果。7.5:业务逻辑控制装置将执行业务流程中生成的写请求发送给写装置。7.6:写装置将写请求对应的数据同步给读装置。7.7:业务逻辑控制装置将执行业务流程中生成的读请求发送给写装置。7.8:写装置将数据返回给业务逻辑控制装置。本申请实施例中,针对用户发起的业务流程,生成读请求或写请求,然后,确定业务流程对应的业务数据状态;当业务数据状态为迁移状态时,对于读请求,从第一业务数据表中读取该读请求对应的数据,该第一业务数据表中存储有进行业务数据迁移前的数据;对于写请求,将该写请求对应的数据写入数据缓存装置中。这样,在业务数据进行迁移的过程中,可以正常处理业务流程过程中生成的读请求和写请求,保证业务流程正常进行、不发生中断,并且,在将第一业务数据表中的数据全部写入第二业务数据表之后,还可将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中,从而保证数据迁移的完整性。基于同一发明构思,本申请实施例中还提供了一种与在线数据迁移过程中的业务处理方法对应的在线数据迁移过程中的业务处理装置,由于该装置解决问题的原理与本申请实施例在线数据迁移过程中的业务处理方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。如图8所示,为本申请实施例提供的在线数据迁移过程中的业务处理装置80结构图,包括:生成模块81,用于针对用户发起的业务流程,生成数据处理请求;数据处理请求为读请求或写请求;确定模块82,用于确定业务流程对应的业务数据状态;读请求处理模块83,用于在确定模块确定业务数据状态为迁移状态后,若数据处理请求为读请求,则从第一业务数据表中读取该读请求对应的数据;其中,第一业务数据表中存储有进行业务数据迁移前的数据;写请求处理模块84,用于在确定模块确定业务数据状态为迁移状态后,若数据处理请求为写请求,则将该写请求对应的数据写入数据缓存装置中,以便在将第一业务数据表中的数据全部写入第二业务数据表之后,将数据缓存装置中的数据写入第一业务数据表和第二业务数据表中。可选地,读请求处理模块83还用于:在确定模块确定业务数据迁移状态为追写状态后,若数据处理请求为读请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该读请求存在冲突的数据,若是,则在将数据缓存装置中与读请求存在冲突的数据全部写入目标业务数据表以后,从目标业务数据表中读取与该读请求对应的数据;追写状态是指处于将数据缓存装置中的数据写入目标业务数据表中的状态,该目标业务数据表包含第一业务数据表和第二业务数据表;写请求处理模块84还用于:在确定模块确定业务数据迁移状态为追写状态后,若数据处理请求为写请求,则判断数据缓存装置正在向目标业务数据表中写入的数据是否为与该写请求存在冲突的数据,若是,则在将数据缓存装置中与写请求存在冲突的数据全部写入目标业务数据表以后,向目标业务数据表中写入与该写请求对应的数据。可选地,确定模块82还用于:在业务数据状态进入迁移状态,且用户发起业务流程之后,将第一业务数据表设置为不可更新状态,以防止向第一业务数据表中写入数据;当业务数据迁移状态由迁移状态进入追写状态后,将第一业务数据表由不可更新状态变更为可更新状态,以便将数据缓存装置中的数据写入第一业务数据表中。可选地,读请求处理模块83还用于:从数据缓存装置中读取读请求对应的数据,将从数据缓存装置中读取的数据与从第一业务数据表中读取的数据进行合并;将合并后的数据作为读取的完整数据返回,以便根据该合并后的数据执行后续数据写入流程。可选地,读请求处理模块83还用于:在确定模块确定业务数据状态为非迁移状态后,若数据处理请求为读请求,则从第一业务数据表中读取与该读请求对应的数据;写请求处理模块82还用于:在确定模块确定业务数据状态为非迁移状态,若数据处理请求为写请求,则将该写请求对应的数据写入第一业务数据表中。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1