CN103544057B - 数据业务系统的切换方法和切换系统 - Google Patents
数据业务系统的切换方法和切换系统 Download PDFInfo
- Publication number
- CN103544057B CN103544057B CN201210235156.9A CN201210235156A CN103544057B CN 103544057 B CN103544057 B CN 103544057B CN 201210235156 A CN201210235156 A CN 201210235156A CN 103544057 B CN103544057 B CN 103544057B
- Authority
- CN
- China
- Prior art keywords
- data
- new system
- new
- request
- write
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据业务系统的切换方法和系统,包括:先将老系统中的目标数据加载到新系统中,在指定时间后再将该目标数据的主写点切换到新系统中;若在切换期间收到用户的写请求,根据所述写请求的目标数据在新老系统中的状态决定将该写请求交给老系统处理还是交给新系统处理,并在交给老系统处理时将数据更新同步给新系统;若在切换期间收到用户的读请求,根据所述读请求的目标数据在新老系统中的状态决定将该读请求交给老系统处理还是交给新系统处理。利用本发明,可以提高系统切换时的业务服务可用性。
Description
技术领域
本申请本发明涉及计算机数据处理技术,尤其涉及一种数据业务系统的切换方法和切换系统。
背景技术
数据业务系统是为用户提供各种数据业务服务的计算机数据处理系统。在数据业务系统的质量指标中,系统服务的可用性是一项关键指标。但是,由于业务需求的不断变化和更新,在现有数据业务系统无法支撑新业务需求时,必须要对原有的数据业务系统进行改造升级,这已经成为不可避免的问题。尤其是在基于互联网业务的数据业务系统,由于业务需求的变更速度更快,导致互联网数据业务系统的生命周期比其它行业的数据业务系统要短,因此升级改造的频率更高。
但是,如何保证系统服务平稳地从老数据业务系统切换到新数据业务系统,是系统改造升级时需要考虑的核心问题。特别是对于后台数据存储类服务的数据业务系统(本文简称为系统),在对其进行改造升级时,还面临数据从老数据业务系统(本文中简称为老系统)向新数据业务系统(本文中简称为新系统)挪腾的问题,同时必须保证对外服务的24小时可用性。
在数据业务系统切换过程,新系统虽然搭建完成,但由于未经使用考验,存在潜在缺陷的风险较大。对数据存储类服务,如果新系统处理用户数据更新操作存在问题,那可能导致用户数据损坏,造成严重事故。如何保证系统的平稳切换,特别是数据的安全性,是衡量系统改造升级是否成功的关键指标。
目前实现从老系统切换到新系统的切换方法主要包括以下两种。
现有技术一:
设置系统的切换层,在新老系统切换的过程,新老系统各自维护自身的路由配置信息,用户请求发往系统的切换层。所述切换过程包括数据的切换和数据主写点的切换。所述数据切换就是要将老系统中的数据加载到新系统中,所述数据主写点的切换就是指能对某种业务数据发生写操作的业务逻辑模块的切换。通常,针对某种业务数据,完成该数据的切换后再进行该数据的主写点切换。
在切换过程中,数据的读写点必须在一起:当业务数据主写点在老系统中(此时请求数据未完成切换)时,对该业务数据的读请求,也需要由老系统处理;而当业务数据主写点切换到新系统后(此时请求数据已完成切换),则该业务数据的读请求也需要切换到新系统处理。当系统的所有数据主写点都切换到新系统后,用户读写请求可以透过切换层,直接发往新系统的接口机。这时,老系统和切换层不再对外提供服务,业务的所有读写服务都交由新系统负责,整个系统切换流程完成。
现有技术一的缺陷之一是:业务数据主写点切换到新系统后,对应的业务数据读取操作,也需要紧跟着切到新系统,留给新系统进行正确性验证的时间太短。如果发现新系统存在严重缺陷,已切换的业务数据,很难切换回老系统,存在数据安全隐患,在对新系统的缺陷进行修复时无法对外提供相应的业务服务,造成业务服务断档,业务服务可用性差。
现有技术二:
现有技术二在所述现有技术一的基础上做了改进,即:为了缓解所述对新系统进行正确性验证时间太短的问题,采用新老系统双写的方式,在双写期间,无论业务数据主写点在新系统或老系统,都在主写点数据更新完成后,同时更新另一个系统的数据。双写过程可以持续一段时间,以给测试人员充足的时间去验证新老系统间数据的一致性,以及验证新系统对业务处理的正确性。
但是上述现有技术一和二还有一个共同的缺陷,即:新系统在数据加载时(即数据切换时),需要先将老系统的数据停写,获取老系统的数据切片,然后导入到新系统中去,并验证新老系统数据的一致性。在这个过程,这部分数据不可写,造成业务服务断档,业务服务的可用性差。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据业务系统的切换方法和切换系统,以提高系统切换时的业务服务可用性和安全性。
本发明的技术方案是这样实现的:
一种数据业务系统的切换方法,包括:
先将老系统中的目标数据加载到新系统中,在指定时间后再将该目标数据的主写点切换到新系统中;
如果在切换期间收到用户的请求,则根据请求的类型分别做如下处理,其中:
针对写请求,如果该写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理,并将数据更新同步给新系统,在对应的目标数据在新系统中加载完毕后,在新系统中执行所述同步的数据更新;如果该写请求的目标数据的主写点已经切换到新系统,则将该写请求发送给新系统处理;
针对读请求,如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据,则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
一种数据业务系统的切换系统,包括:
数据加载模块,用于将老系统中的目标数据加载到新系统中;
主写点切换模块,用于将老系统中的目标数据的主写点切换到新系统中;
请求分流模块,用于获取系统在切换期间收到的用户请求,判断请求的类型,如果是写请求,则发送给写请求模块处理,如果是读请求则发送给读请求模块处理;
写请求模块,用于根据所述写请求的目标数据在新老系统中的状态做出处理:如果所述写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理;如果所述主写点已经切换到新系统,则将该写请求发送给新系统处理;
同步模块,用于在切换过程中,将老系统处理写请求所导致的数据更新同步给新系统,在新系统加载完毕目标数据后执行所同步的数据更新;
读请求模块,用于根据所述读请求的目标数据在新老系统中的状态做出处理:如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据,则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
与现有技术相比,由于本发明在切换过程中,新系统在数据加载后不需要从老系统复制最新的数据切片,而是将写请求导致的数据更新同步给新系统,使得新系统能够异步获取到最新的数据更新,因此本发明不需要在切换期间停止写请求;同时,由于没有停止写请求且新老系统可以实现数据同步,因此本发明在切换期间,可以由老系统(目标数据未加载到新系统中时或虽加载到新系统但不是最新数据)提供读请求服务,也可以由新或老系统(目标数据已经加载到新系统中且为最新数据、但主写点未切换时)提供读请求服务,因此本发明也不需要在切换期间停止读请求。所以本发明在切换期间可以继续提供正常的数据读写服务,不会造成业务服务断档,提高了业务服务的可用性。同时由于在切换期间可以继续提供正常的数据读写服务,因此可以给测试人员充足的时间去验证新老系统间数据的一致性,以及验证新系统对业务处理的正确性,提高了系统的安全性。
附图说明
图1为本发明所述切换方法在切换期间对用户请求的处理过程图;
图2为本发明所述切换系统的一种组成示意图;
图3为本发明在切换期间对用户写请求的处理示意图;
图4为本发明在切换期间对用户读请求的处理示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的核心技术方案包括:
一种数据业务系统的切换方法,其中包括对数据的切换过程,以及在切换期间对用户请求的处理过程。
其中所述数据的切换过程包括:先将老数据业务系统(本文中简称为老系统)中的目标数据加载到新数据业务系统(本文中简称新系统)中;在指定时间后再将该目标数据的主写点切换到新系统中。
所述将目标数据加载到新系统就是指将老系统中的目标数据拷贝到新系统中去,所述数据主写点的切换就是指能对某种业务数据发生写操作的业务逻辑模块的切换。
如果在切换期间收到用户的请求,则根据请求的类型分别进行处理。图1为本发明所述切换方法在切换期间对用户请求的处理过程图,具体过程包括:
101、在切换期间收到用户请求;
102、判断用户请求的类型,如果是写请求则执行步骤103,如果是读请求则执行步骤104;
103、针对写请求,如果该写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理,并将数据更新同步给新系统,在对应的目标数据在新系统中加载完毕后,在新系统中执行所述同步的数据更新;如果该写请求的目标数据的主写点已经切换到新系统,则将该写请求发送给新系统处理;
104、针对读请求,如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据,则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
与所述方法对应,本发明还公开了一种数据业务系统的切换系统,如图2为本发明所述切换系统的一种组成示意图,该切换系统200包括:
数据加载模块201,用于将老系统中的目标数据加载到新系统中;具体根据操作人员的加载指令进行加载。
主写点切换模块202,用于将老系统中的目标数据的主写点切换到新系统中,具体根据操作人员的切换指令进行切换。
请求分流模块203,用于获取系统在切换期间收到的用户请求,判断请求的类型,如果是写请求,则发送给写请求模块204处理,如果是读请求则发送给读请求模块206处理;
写请求模块204,用于根据所述写请求的目标数据在新老系统中的状态做出处理,所述目标数据在新老系统中的状态就是指该目标数据是否已经加载到新系统中,是否已经同步了数据更新,以及该目标数据的主写点是否切换到新系统中。此处写请求模块204具体用于:如果所述写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理;如果所述主写点已经切换到新系统,则将该写请求发送给新系统处理;
同步模块205,用于在切换过程中,将老系统处理写请求所导致的数据更新同步给新系统,在新系统加载完毕目标数据后执行所同步的数据更新;
读请求模块206,用于根据所述读请求的目标数据在新老系统中的状态做出处理:如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据(即对加载到新系统的所述目标数据没有执行数据更新同步),则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
如上所述,本发明不需要在切换期间停止写请求;同时,由于没有停止写请求且新老系统可以实现数据同步,因此本发明在切换期间,可以由老系统(目标数据未加载到新系统中时或虽已经加载但是不是最新数据)提供读请求服务,也可以由新或老系统(目标数据已经加载到新系统中且为最新数据、但主写点未切换时)任一方提供读请求服务,因此本发明也不需要在切换期间停止读请求。所以本发明在切换期间可以继续提供正常的数据读写服务,不会造成业务服务断档,提高了业务服务的可用性。而且,由于在新系统可以提供读请求服务的同时,老系统也可以提供读请求服务,一旦新系统出现问题则可以及时由老系统提供读请求服务,提高系统切换时的可恢复性。
另外,由于本发明在系统切换期间不会造成业务服务断档,因此在目标数据的主写点切换到新系统前,可以给新系统预留足够长的时间,接受运营环境上用户各种请求的验证,不但提高了系统的安全性,并且相对于现有技术新老系统双写的方式,本发明的实现难度较低。
本发明可以适用于数据业务系统的新老系统的升级切换。尤其适用于针对海量数据服务和网络通信服务的互联网数据业务系统。
对于数据量较为巨大的数据业务系统,本发明还可以进一步将目标数据进行分段。例如对于互联网微博系统中,需要切换的数据包括用户数据,将所述用户数据作为目标数据,对所有的用户数据进行分段。假设有100万个用户,分为10段,每一段有10万个用户。在切换时,分别针对每一段的分段目标数据(例如针对每一段的10万个用户的数据),先将老系统中的该分段目标数据加载到新系统中,在指定时间后再将该分段目标数据的主写点切换到新系统中。从而以相对少量的目标数据对新系统进行检验和试错,如果新系统出错,会将错误的影响控制在相对小的范围内,从而实现系统的灰度切换,即试错性切换。
在各分段目标数据的主写点切换到新系统之前,在将老系统中该分段目标数据加载到新系统中且在新系统执行了针对该分段目标数据的数据更新后,可以对新老系统中该分段目标数据的一致性进行验证,验证通过后再将该段目标数据的主写点切换到新系统中,验证不通过则重新将老系统中该分段目标数据加载到新系统中且在新系统中执行针对该分段目标数据的数据更新,从而保证数据的准确性。
由于某类目标数据(如用户数据)的业务处理逻辑具有一致性,因此在一种优选方案中,可以不必对每一段的目标数据都进行所述一致性验证,而只是针对第一分段目标数据进行验证,只要验证通过,则说明新系统对这类目标数据(如用户数据)的业务处理逻辑正常,后续各段的目标数据则不再需要验证。
由于通常数据一致性问题的原因与数据多少没有直接关系,因此通过这种分段处理,可以用较少量的数据进行一致性验证,验证通过后,后续分段的目标数据则不必再进行一致性验证,可以大大地减轻验证工作量。这个优点对于海量数据服务和网络通信领域的数据业务系统尤其适用。
下面分别介绍切换期间对用户写请求和读请求的处理。
图3为本发明在切换期间对用户写请求的处理示意图。参见图3,包括:
用户在终端发起了写请求后,由所述请求分流模块将所述写请求发送给写请求模块。所述写请求模块设置在一个切换层中,所述切换层是指在系统改造切换过程中,为保证业务平稳地从老系统过渡到新系统,所启动的一个进程,该进程在系统切换完成后可撤掉。
之后写请求模块判断所述写请求的目标数据的主写点是否切换到新系统,如果未切换到新系统则将所述写请求发送给老系统接口机,由老系统进行处理,如果所述目标数据的主写点已经切换到新系统,则将所述写请求发送给新系统接口机,由新系统进行处理。假设此时该写请求是对某个用户(假设用户编号为ID10)的用户数据的修改请求,则该写请求对应的目标数据就是该用户的用户数据。
如果所述写请求发送给老系统处理,则老系统的读写进程根据所述写请求进行写操作(如对ID10的用户进行数据修改),写操作成功后则对应的目标数据会有更新,因此还需要同步模块将数据更新同步给新系统,对应的目标数据(ID10的用户数据)在新系统中加载完毕后,在新系统中执行所述同步的数据更新。从而保证新老系统间数据的严格一致性。
所述数据更新的同步过程具体可以包括:记录所述写请求对老系统的数据更新的流水日志,并将流水日志同步给新系统;对应的目标数据在新系统中加载完毕后,在新系统中按照所述流水日志更新数据。
其中,所述记录所述写请求对老系统的数据更新的流水日志,具体包括:在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到所述流水日志中。所述在新系统中按照所述流水日志更新数据具体包括:依次读取所述流水日志中的写请求,并触发新系统的读写进程依次执行所读取的写请求。
如果所述用户发起的写请求发送给新系统处理,直接由新系统读写进程进行写操作,不再通过同步的方式更新,而老系统的数据不再会有更新。
在本发明所述方法的另一种具体实施例中,所述在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到所述流水日志中之后,进一步包括:将本次数据更新的序列号记录到所述流水日志中,并与所述写请求对应。所述触发新系统执行所读取的写请求之后,进一步包括:将该写请求对应的序列号反馈给老系统;在后续的将老系统的流水日志同步给新系统的过程中,具体包括:将流水日志中序列号位于新系统反馈的最新序列号之后的写请求的内容同步给新系统。这样可以保证在同步过程中只同步最新的数据更新,使得同步过程更准确、更有效率。
所述新系统的读写进程或老系统的读写进程根据所述写请求对所述数据存储器进行写操作之后,还要将写操作的处理结果返回给用户终端。
与上述方法对应,在本发明所述切换系统的一种实施例中,所述同步模块具体包括:
记录子模块,用于记录所述写请求对老系统的数据更新的流水日志;
同步子模块,用于将流水日志同步给新系统,并在新系统加载完毕对应的目标数据后,按照所述流水日志更新数据。
更为具体的是:所述记录子模块具体用于:在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到所述流水日志中;所述同步子模块具体用于:将流水日志同步给新系统,在新系统加载完毕对应的目标数据后,依次读取所述流水日志中的写请求,并触发新系统依次执行所读取的写请求。
采用这种方式,对老系统的改造较少,只需要老系统记录数据更新的流水日志,不需要改变现有系统的业务处理逻辑,风险很小。而同步子模块可以做成通用模块,例如可以直接采用mysql数据库的主从同步实现模块,保证新老系统间数据的严格一致性,不需要各个系统独立开发所述同步子模块。
图4为本发明在切换期间对用户读请求的处理示意图。参见图4,该流程包括:
用户在终端发起了读请求后,由所述请求分流模块将所述读请求发送给读请求模块。所述读请求模块设置在新系统的接口机上,用户的所有读请求,都经由新系统接口机,按照读请求对应的目标数据在新老系统中的状态,决定交由老系统处理还是交给新系统处理。具体为:
判断所述读请求的目标数据的主写点是否已经切换到新系统,如果是则将所述读请求发送给新系统的读写进程进行处理,否则进一步判断所述目标数据是否已经加载到新系统中。
如果所述目标数据未加载到新系统中,则将所述读请求发送给老系统的读写进程进行处理,否则,进一步判断新系统中的所述目标数据是否为最新数据。
所述判断新系统中的所述目标数据是否为最新数据就是判断同步模块是否执行了所述流水日志中对该目标数据的所有的写请求,如果是则是最新数据,此时可以将所述读请求交给新系统处理,或者也可以将所述读请求交给老系统处理;
如果新系统中的所述目标数据不是最新数据,也就是说虽然流水日志中记录了针对所述目标数据的写请求(说明老系统已经进行了数据更新),但是新系统没有执行该写请求,则说明新系统中的该目标数据不是最新数据,此时将所述读请求交给老系统处理。
所述新系统的读写进程或老系统的读写进程根据所述读请求对所述数据存储器进行读操作,并将读操作的处理结果返回给用户终端。
至于为何要将所述读请求模块放置在新系统的接口机上,是由于一般来讲,用户的读请求的数量非常巨大,远远超出写请求的数据,而接口机属于通信层次中的底层,其处理效率高、速度快,发生问题不必重启相关的进程,可以完成对新老系统的并行读操作的选择。因此将所述读请求模块放置在新系统的接口机上可以提升对读请求的处理效率。
在现有技术二中,测试人员的验证很难覆盖各种异常现象,无法代替真实的运营环境的考验。同时,由于采用新老系统双写机制,也提高了系统切换层的实现难度。
然而在本发明中,如上所述的同步过程中,可以将写请求直接同步给新系统,新系统直接执行所同步的写请求,因此新系统从老系统接收数据更新同步的处理逻辑,和直接处理用户写请求的逻辑,可以做到基本一致。这使得在业务数据主写点切换前,数据更新的同步过程就相当于对新系统写处理逻辑的验证过程,而且由于所述写请求都是真实运行环境中的写请求而不是测试写请求,因此这种在同步方式可以使新系统经过真实运营环境的写处理的考验。而对于真实运行环境中的读请求,切换过程中同样也可以由新系统在数据加载完毕且更新完毕的情况下提供读处理,相当于对新系统的读处理逻辑进行了真实运行环境的考验。因此,本发明在切换过程中不但可以对外继续提供较稳定的读写服务,而且新系统接受了真实运行环境的读写考验,使得新系统的可靠性可以得到很大提高。
同时本发明在切换过程中,只要业务数据主写点未切换,那么新系统数据出现的任何问题,都可以重新从老系统获取数据切片来恢复,提高新系统故障的可恢复性,降低系统切换的风险。
另外,现有的系统切换方案,通常限制了数据读写点必须同在老系统或新系统。而在本发明方案,读请求可以在主写点切换前就交由新系统负责,使得新系统能够提前接受运营环境的考验,极大提高新系统潜在缺陷的发现率,并且提高了系统切换的灵活性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种数据业务系统的切换方法,其特征在于,包括:
先将老系统中的目标数据加载到新系统中,在指定时间后再将该目标数据的主写点切换到新系统中;
如果在切换期间收到用户的请求,则根据请求的类型分别做如下处理,其中:
针对写请求,如果该写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理,并将数据更新同步给新系统,在对应的目标数据在新系统中加载完毕后,在新系统中执行所述同步的数据更新;如果该写请求的目标数据的主写点已经切换到新系统,则将该写请求发送给新系统处理;
针对读请求,如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据,则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
2.根据权利要求1所述的方法,其特征在于,针对写请求时,所述将数据更新同步给新系统,在对应的目标数据在新系统中加载完毕后,在新系统中执行所述同步的数据更新,具体包括:
记录所述写请求对老系统的数据更新的流水日志,并将流水日志同步给新系统;在对应的目标数据在新系统中加载完毕后,在新系统中按照所述流水日志更新数据。
3.根据权利要求2所述的方法,其特征在于,
所述记录所述写请求对老系统的数据更新的流水日志,具体包括:在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到流水日志中;
所述在新系统中按照所述流水日志更新数据,具体包括:依次读取所述流水日志中的写请求,并触发新系统依次执行所读取的写请求。
4.根据权利要求3所述的方法,其特征在于,
所述在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到流水日志中之后,进一步包括:将本次数据更新的序列号记录到所述流水日志中,并与所述写请求对应;
所述触发新系统执行所读取的写请求之后,进一步包括:将该写请求对应的序列号反馈给老系统;
在后续的将老系统的流水日志同步给新系统的过程中,具体包括:将流水日志中序列号位于新系统反馈的最新序列号之后的写请求的内容同步给新系统。
5.根据权利要求1所述的方法,其特征在于,该方法进一步将目标数据进行分段,在切换时,分别针对每一段的分段目标数据,先将老系统中的该分段目标数据加载到新系统中,在指定时间后再将该分段目标数据的主写点切换到新系统中。
6.根据权利要求5所述的方法,其特征在于,该方法进一步包括:针对第一分段目标数据,在将老系统中该分段目标数据加载到新系统中且在新系统执行了针对该分段目标数据的数据更新后,对新老系统中该分段目标数据进行一致性验证,验证通过后再将该分段目标数据的主写点切换到新系统中,验证不通过则重新将老系统中该分段目标数据加载到新系统中且在新系统中执行针对该分段目标数据的数据更新。
7.一种数据业务系统的切换系统,其特征在于,包括:
数据加载模块,用于将老系统中的目标数据加载到新系统中;
主写点切换模块,用于将老系统中的目标数据的主写点切换到新系统中;
请求分流模块,用于获取系统在切换期间收到的用户请求,判断请求的类型,如果是写请求,则发送给写请求模块处理,如果是读请求则发送给读请求模块处理;
写请求模块,用于根据所述写请求的目标数据在新老系统中的状态做出处理:如果所述写请求的目标数据的主写点未切换到新系统,则将该写请求发送给老系统处理;如果所述主写点已经切换到新系统,则将该写请求发送给新系统处理;
同步模块,用于在切换过程中,将老系统处理写请求所导致的数据更新同步给新系统,在新系统加载完毕目标数据后执行所同步的数据更新;
读请求模块,用于根据所述读请求的目标数据在新老系统中的状态做出处理:如果该读请求的目标数据未加载到新系统中或者已加载到新系统但不是最新数据,则将该读请求发送给老系统处理;如果该读请求的目标数据已加载到新系统中且为最新数据,则将该读请求发送给老系统或新系统处理;如果该读请求的目标数据的主写点已经切换到新系统,则将该读请求发送给新系统处理。
8.根据权利要求7所述的切换系统,其特征在于,所述同步模块具体包括:
记录子模块,用于记录所述写请求对老系统的数据更新的流水日志;
同步子模块,用于将流水日志同步给新系统,并在新系统加载完毕对应的目标数据后,按照所述流水日志更新数据。
9.根据权利要求8所述的切换系统,其特征在于,
所述记录子模块具体用于:在老系统成功处理所述写请求导致数据更新后,将所述写请求的内容拷贝到流水日志中;
所述同步子模块具体用于:将流水日志同步给新系统,在新系统加载完毕对应的目标数据后,依次读取所述流水日志中的写请求,并触发新系统依次执行所读取的写请求。
10.根据权利要求7所述的切换系统,其特征在于,所述读请求模块设置在新系统的接口机中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210235156.9A CN103544057B (zh) | 2012-07-09 | 2012-07-09 | 数据业务系统的切换方法和切换系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210235156.9A CN103544057B (zh) | 2012-07-09 | 2012-07-09 | 数据业务系统的切换方法和切换系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544057A CN103544057A (zh) | 2014-01-29 |
CN103544057B true CN103544057B (zh) | 2017-08-18 |
Family
ID=49967532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210235156.9A Active CN103544057B (zh) | 2012-07-09 | 2012-07-09 | 数据业务系统的切换方法和切换系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544057B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630590B (zh) * | 2014-11-28 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种业务信息处理方法及装置 |
CN104539431B (zh) * | 2014-12-31 | 2018-08-17 | 上海格尔软件股份有限公司 | 一种在线用户系统切换用户平滑迁移的方法 |
CN104580734A (zh) * | 2015-01-20 | 2015-04-29 | 宇龙计算机通信科技(深圳)有限公司 | 多系统设备的数据同步方法、数据同步系统和终端 |
CN107016029B (zh) * | 2016-12-13 | 2020-11-06 | 创新先进技术有限公司 | 一种业务数据的处理方法、装置及系统 |
CN108628642B (zh) * | 2017-03-20 | 2021-07-30 | 北京京东尚科信息技术有限公司 | 切换系统的版本的方法和装置以及存储介质 |
CN107592343A (zh) * | 2017-08-25 | 2018-01-16 | 泰康保险集团股份有限公司 | 数据处理方法、装置、计算机可读存储介质及电子设备 |
CN109274809A (zh) * | 2018-12-11 | 2019-01-25 | 上海帜讯信息技术股份有限公司 | 通讯录创建方法、装置、终端及存储介质 |
CN110022351B (zh) * | 2019-02-20 | 2021-07-06 | 创新先进技术有限公司 | 一种业务请求的处理方法和装置 |
CN112650623B (zh) * | 2020-12-25 | 2023-11-03 | 中国工商银行股份有限公司 | 业务系统切换过程中的数据处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175240A (zh) * | 2007-11-26 | 2008-05-07 | 中国移动通信集团福建有限公司 | 共享内存无缝切换方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001256066A (ja) * | 2000-02-29 | 2001-09-21 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置 |
-
2012
- 2012-07-09 CN CN201210235156.9A patent/CN103544057B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175240A (zh) * | 2007-11-26 | 2008-05-07 | 中国移动通信集团福建有限公司 | 共享内存无缝切换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103544057A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544057B (zh) | 数据业务系统的切换方法和切换系统 | |
CN106685743B (zh) | 区块链集群处理系统和方法 | |
CN108268501A (zh) | 一种在线数据迁移过程中的业务处理方法及装置 | |
CN107533499A (zh) | 在故障转移到镜像第一存储系统的第二存储系统之后重新同步到第一存储系统 | |
WO2022063322A1 (en) | Hard drive migration method, distributed storage cluster system and storage medium | |
US5235687A (en) | Method for replacing memory modules in a data processing system, and data processing system for performing the method | |
CN105099786B (zh) | 一种网络割接中业务配置的方法和设备 | |
CN103634375A (zh) | 扩容集群节点的方法、装置及设备 | |
CN103761131B (zh) | 一种基于内存共享的多板卡部件自动更新方法及系统 | |
CN102279857B (zh) | 一种实现数据复制的方法及系统 | |
CN109408468A (zh) | 文件处理方法和装置、计算设备及存储介质 | |
CN109871369A (zh) | 数据库切换方法、系统、介质和装置 | |
CN107809326A (zh) | 数据一致性的处理方法、装置和设备 | |
CN113127023B (zh) | 业务升级的方法、装置和系统 | |
CN106502718B (zh) | 程序的升级方法和装置、控制器 | |
WO2023108904A1 (zh) | 基站产品的生产测试方法及装置 | |
CN110780904A (zh) | 一种应用更新方法及装置 | |
CN107729541A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN105892954A (zh) | 基于多副本的数据存储方法和装置 | |
US20120254138A1 (en) | Database management method | |
CN109728886A (zh) | 一种适于跨版本升级的数据同步方法、装置、设备及存储介质 | |
JPH07201132A (ja) | 二重化ディスク装置およびヘッド位置変更方法 | |
CN107203471A (zh) | 联调方法、服务平台及计算机存储介质 | |
CN112231395A (zh) | 一种交易数据同步方法、服务器 | |
CN102216906A (zh) | 镜像盘中的恢复控制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181205 Address after: 100090 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: Tencent cloud computing (Beijing) limited liability company Address before: 518044 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |