一种网络平台中应用更新的数据在线迁移方法和装置制造方法

文档序号:6489888阅读:191来源:国知局
一种网络平台中应用更新的数据在线迁移方法和装置制造方法
【专利摘要】本申请提供了一种网络平台中应用更新的数据在线迁移方法和系统,以解决现有技术中业务执行失败的问题。所述的方法包括:更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问;结束更新的第一阶段,将旧数据库中的数据全量同步到新数据库中,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问;结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问;更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
【专利说明】一种网络平台中应用更新的数据在线迁移方法和装置
【技术领域】
[0001]本申请涉及数据处理技术,特别是涉及一种网络平台中应用更新的数据在线迁移方法装置。
【背景技术】
[0002]用户使用计算机时,软件常常会进行更新,采用新版本替代旧版本。网络中的应用平台也是如此,为了给用户提供更好的服务,平台中的应用往往会增加新功能、改善旧功能等,此时就会产生新版本应用。新版本应用需要调试到没有错误后,才能正式上线运行,而新版本应用需要在网络平台中试运行,才能发现错误、修改错误,最终完成调试。为了不影响平台中业务的执行,可以同时运行新版本应用和旧版本应用,即一个业务即会在新版本应用中执行,也会在丨H版本应用中执行。
[0003]平台中应用更新时往往数据库也需要修改,即新版本应用往往会搭载新数据库,因此网络平台中新、旧版本应用共同运行时,就会出现新、旧数据库共存的情况,因此就会出现数据在线迁移的问题。此时若直接采用新版本应用访问新数据库,旧版本应用访问旧数据库,由于新、旧版本应用的业务执行是有差别的,因此对数据的操作也是存在差异的,例如,新版本应用中业务已经执行完毕了,而旧版本中业务还在进行,那么此时就可能出现数据不一致的问题。若用户查询此时业务的状态,新、旧版本应用就会返回不同的数据,造成用户的困扰。
[0004]为了解决上述问题,采用的方法是预先将旧数据库中的数据迁移到新数据库中,然后在新、旧版本应用共同运行时,新版本应用仍然正常访问新数据库,但是,旧版本应用访问旧数据库时,会进行锁表操作,即禁止对旧数据库的写操作,那么此时旧版本应用仅能读数据,不能写数据,然后再开启新数据库到旧数据库的增量同步。这样,在业务执行中数据的变更就只会发生在新数据库中,而通过增量同步可以保证新、旧数据库中的数据一致。
[0005]但是,这种方法存在的问题是,由于禁止了旧版本应用对旧数据库的写操作,就会导致在旧版本应用中的业务执行失败。

【发明内容】

[0006]本申请提供一种网络平台中应用更新的数据在线迁移方法和系统,以解决现有技术中,由于禁止了旧版本应用对旧数据库的写操作,就会导致在旧版本应用中的业务执行失败的问题。
[0007]为了解决上述问题,本申请实施例中公开了一种网络平台中应用更新的数据在线迁移方法,包括:
[0008]更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问,所述旧数据库是网络平台中旧版本应用的数据库;
[0009]结束更新的第一阶段,将旧数据库中的数据全量同步到新数据库中,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问,其中,所述新数据库是网络平台中新版本应用的数据库;
[0010]结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和丨H版本应用对新数据库进行访问;
[0011]更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
[0012]本申请实施例中,所述访问包括读操作和写操作。
[0013]本申请实施例中,更新的第一阶段还包括:新版本应用对旧数据库的读操作失败时,对新数据库进行读操作。
[0014]本申请实施例中,结束更新的第一阶段之后,进入更新的第二阶段之前,还包括:开启旧数据库到新数据库的增量同步。
[0015]本申请实施例中,更新的第二阶段还包括:旧版本应用对旧数据库的读操作失败时,对新数据库进行读操作;新版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0016]本申请实施例中,更新的第三阶段还包括:旧版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0017]本申请实施例中,确认新版本应用和新数据库连接正常,且新数据库中无数据写入后,结束更新的第一阶段。
[0018]本申请实施例中,进入更新的第二阶段之前,还包括:将新版本应用访问的数据库修改为新数据库。
[0019]本申请实施例中,确认新版本应用对新数据库的访问正常,且新版本应用对旧数据库无写操作后,结束更新的第二阶段。
[0020]本申请实施例中,进入更新的第三阶段之前,还包括:将旧版本应用访问的数据库修改为新数据库。
[0021]本申请实施例中,确认新应用对旧数据库无读操作和写操作,且新版本应用和旧数据库无链接后,结束更新的第三阶段。
[0022]本申请实施例中,在结束更新的第一阶段到进入更新的第二阶段的时间段内,以及在结束更新的第二阶段到进入更新的第三阶段试运行的时间段内,停止运行新版本应用。
[0023]相应的,本申请实施例中还公开了一种网络平台中应用更新的数据在线迁移装置,包括:
[0024]第一运行模块,用于更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问,所述旧数据库是网络平台中旧版本应用的数据库;
[0025]第二运行模块,用于结束更新的第一阶段,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问,其中,所述新数据库是网络平台中新版本应用的数据库;
[0026]第三运行模块,用于结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问;[0027]新版本运行模块,用于更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
[0028]与现有技术相比,本申请实施例包括以下优点:
[0029]首先,本申请实施例在网络平台中应用进行更新时,分三个阶段进行应用的更新,每一阶段中均同时运行新版本应用和旧版本应用,但是不同阶段新、旧版本应用访问的数据库不同,可以是访问旧数据库或新数据库,也可以是访问旧数据库和新数据库。在新、旧版本应用访问数据库时不会进行限制,即不会进行锁表操作,因此不会出现应用访问数据库的失败问题,可以确保业务的正常执行。
[0030]其次,现有技术中由于旧数据库不进行写操作,就需要从新数据库到旧数据库进行增量同步时,数据迁移的时间比较长,也就会导致从旧数据库中读数据时,需要比较长的时间才能获取到结果,比较浪费时间。而本申请实施例中,在更新的第一阶段新版本应用对新、旧数据库都可以进行读操作;在更新的第二阶段,新、旧版本应用对新、旧数据库都可以进行读操作;在更新的第三阶段旧版本应用对新、旧数据库都可以进行读操作。通过上述方法,使得即使数据迁移时间比较长,当应用从一个数据库中读数据失败时,也可以从另一个数据库中读取,从而可以快速的读取到数据,不会影响业务的执行。
【专利附图】

【附图说明】
[0031]图1是本申请实施例所述一种网络平台中应用更新的数据在线迁移方法流程图;
[0032]图2是本申请实施例所述三个阶段中应用对数据库访问的示意图;
[0033]图3是本申请优选实施例所述更新的第一阶段中应用对数据库访问的示意图;
[0034]图4是本申请优选实施例所述更新的第二阶段中应用对数据库访问的示意图;
[0035]图5是本申请优选实施例所述更新的第三阶段中应用对数据库访问的示意图;
[0036]图6是本申请实施例所述一种网络平台中应用更新的数据在线迁移装置结构图。
【具体实施方式】
[0037]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0038]用户使用计算机时,软件常常会进行更新,采用新版本替代旧版本。网络中的应用平台也是如此,为了给用户提供更好的服务,平台中的应用往往会增加新功能、改善旧功能等,此时就会产生新版本应用。新版本应用需要调试到没有错误后,才能正式上线运行,而新版本应用需要在网络平台中试运行,才能发现错误、修改错误,最终完成调试。为了不影响平台中业务的执行,可以同时运行新版本应用和旧版本应用,即一个业务即会在新版本应用中执行,也会在丨H版本应用中执行。
[0039]在网络平台中更新应用时,需要对数据进行在线迁移。若采用的方法是预先将旧数据库中的数据迁移到新数据库中,然后在新、旧版本应用共同运行时,新版本应用仍然访问新数据库,但是,旧版本应用访问旧数据库时,要禁止对旧数据库的写操作,即旧版本应用仅能读数据,不能写数据,然后再开启新数据库到旧数据库的增量同步。这样,在业务执行中数据的变更就只会发生在新数据库中,而通过增量同步可以保证新、旧数据库中的数据一致。[0040]但是,这种方法存在的问题是,由于禁止了旧版本应用对旧数据库的写操作,就会导致在旧版本应用中的业务执行失败。
[0041]因此,本申请提出一种网络平台中应用更新的数据在线迁移方法,分阶段进行应用的更新,新、旧版本应用都可以对数据库进行访问,不会出现业务失败的问题。
[0042]参照图1,给出了本申请实施例所述一种网络平台中应用更新的数据在线迁移方法流程图。
[0043]参照图2,给出了本申请实施例所述三个阶段中应用对数据库访问的示意图。
[0044]步骤101,更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问;
[0045]系统中应用进行更新时,同时存在新、旧版本应用和新、旧数据库,因此可以分三个阶段进行应用的更新。
[0046]更新的第一阶段如图2中a所示,在更新的第一阶段,系统中既运行新版本应用,又运行旧版本应用。运行中,旧版本应用访问旧数据库,新版本应用同样访问旧数据库,其中,所述旧数据库是网络平台中旧版本应用的数据库。
[0047]在上述运行过程中,可以检测新版本应用是否存在问题,若存在问题可以修改,再重新运行,直至结束更新的第一阶段。
[0048]步骤102,结束更新的第一阶段,将旧数据库中的数据全量同步到新数据库中,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问;
[0049]结束更新的第一阶段后,由于更新的第二阶段中新版本应用会访问新数据库,因此在进入更新的第二阶段之前,可以先将旧数据库中的数据全量同步到新数据库中,使得新数据库中保存有系统中的各类数据,防止新版本应用访问时可能出现失败的问题。
[0050]然后可以进入更新的第二阶段,如图2中b所示。此时系统同样是中既运行新版本应用,又运行旧版本应用,而在更新的第二阶段时,旧版本应用仍然对旧数据库进行访问,但此时与更新的第一阶段不同的是,新版本应用此时是对新数据库进行访问。其中,所述新数据库是网络平台中新版本应用的数据库。
[0051]更新的第二阶段中同样可以检测新版本应用是否存在问题,若存在问题可以修改,再重新运行,直至结束更新的第二阶段。
[0052]步骤103,结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问;
[0053]结束更新的第二阶段后,可以进入更新的第三阶段,如图2中c所示。系统中既运行新版本应用,又运行旧版本应用。在更新的第三阶段,新版本应用仍然对新数据库进行访问,但此时与更新的第二阶段不同的是,旧版本应用对新数据库进行访问。
[0054]更新的第三阶段中,确认新应用没有问题,完成调试后才可以结束更新的第三阶段。
[0055]步骤104,更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
[0056]更新的第三阶段结束后,完成应用的更新,新版本应用可以正式上线,即可以在系统中仅运行新版本应用,新版本应用对新数据进行访问。[0057]综上所述,本申请实施例在网络平台中应用进行更新时,分三个阶段进行应用的更新,每一阶段中均同时运行新版本应用和旧版本应用,但是不同阶段新、旧版本应用访问的数据库不同,可以是访问旧数据库或新数据库,也可以是访问旧数据库和新数据库。在新、旧版本应用访问数据库时不会进行限制,即不会进行锁表操作,因此不会出现应用访问数据库的失败问题,可以确保业务的正常执行。
[0058]本申请实施例中,所述访问可以包括读操作和写操作。即更新的第一阶段中,新版本应用和旧版本应用对旧数据库进行读操作和写操作;更新的第二阶段中,新版本应用对新数据库进行读操作和写操作,旧版本应用对旧数据库进行读操作和写操作;更新的第三阶段中,新版本应用和旧版本应用对新数据库进行读操作和写操作。更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行读操作和写操作。
[0059]所述读操作即应用从数据库中读数据,所述写操作为应用将数据写入数据库。
[0060]参照图3,给出了本申请优选实施例所述更新的第一阶段中应用对数据库访问的示意图。
[0061]应用发布是指新应用在系统中运行,因此更新的第一阶段在应用发布前,旧版本应用在系统中运行,旧版本应用是对旧数据库进行读操作和写操作。
[0062]应用发布前,系统中的数据源是旧数据库,而更新的第一阶段应用发布时需要新数据库,因此可以在系统中增加新数据库为数据源。
[0063]应用发布时,新版本应用和旧版本应用同时在系统中运行,此时,新版本应用和旧版本应用都对旧数据库进行读操作和写操作。当新版本应用对旧数据库的读操作失败时,对新数据库进行读操作。
[0064]应用发布后,新版本应用旧数据库进行读操作和写操作,当新版本应用对旧数据库的读操作失败时,对新数据库进行读操作,从而可以保证读取数据,不影响业务的正常执行。
[0065]更新的第一阶段中,发布后若检测到新版本应用存在问题,需要调试,可以在系统中执行回滚操作,即将系统回复到应用发布前的状态,由于应用发布前和发布中新、旧版本应用都对旧数据库进行读操作和写操作,即旧数据库中保存有发布期间新版本应用和旧版本应用执行的业务的数据,因此回滚操作中仅需要对应用进行回滚,不需要对数据库进行回滚。
[0066]更新的第一阶段中,不需要进行数据的迁移,在这个过程中可以检测新版本应用和新数据库的链接是否正常,并且检测新数据库中是否写入了数据然后,在确认新版本应用和新数据库连接正常,且新数据库中无数据写入后,可以结束更新的第一阶段。
[0067]参照图4,给出了本申请优选实施例所述更新的第二阶段中应用对数据库访问的示意图。
[0068]在结束更新的第一阶段之后,进入更新的第二阶段之前,可以将旧数据库中的数据全量同步到新数据库中,即将就数据库中的所有数据同步到新数据库中。并且,为了增加历史数据的命中率,确保数据不会出错,开启旧数据库到新数据库的增量同步,即业务执行中可以定时或实时的将就数据库中的数据同步到新数据库中。
[0069]在结束更新的第一阶段到进入更新的第二阶段的时间段内,停止运行新版本应用,系统中运行的是旧版本应用。[0070]进入更新的第二阶段之前,可以将新版本应用访问的数据库修改为新数据库。即新版本应用在更新的第二阶段对新数据库进行读操作和写操作。
[0071]更新的第二阶段中,应用发布前,系统中运行旧版本应用,此时旧版本应用对旧数据库进行读操作和写操作,若旧版本应用对旧数据库的读操作失败时,对新数据库进行读操作。
[0072]本申请实施例中,所述读操作失败可以理解为业务数据查询失败。如上文论述中,旧版本应用对旧数据库的读操作失败,即旧版本应用在旧数据库没有查询到数据,此时可以在新数据库进行再一次的读操作,即在新数据库中查询该数据,从而使得在新、旧数据库都可以读取到数据,确保业务的正常执行。
[0073]应用发布时,系统中同时运行旧版本应用和新版本应用,其中,旧版本应用对旧数据库进行读操作和写操作,新版本应用对新数据库进行读操作和写操作,但是,当旧版本应用对旧数据库的读操作失败时,对新数据库进行读操作;当新版本应用对新数据库的读操作失败时,对旧数据库进行读操作。从而通过该方法可以确保读操作的成功执行,不会对业务造成。
[0074]可以配置先进行读操作的数据库为默认数据库,后进行读操作的数据库为备用数据库,即更新的第二阶段中,对旧版本应用而言,旧数据库为默认数据库,新数据库为备用数据库;对新版本应用而言,新数据库为默认数据库,旧数据库为备用数据库。其中,若业务需要在3s内返回读取的数据,则可以配置为Is内未从默认数据库中读取到数据时,转为从备用数据库中读取数据。因此,本申请可以快速的读取数据,避免影响业务的执行。
[0075]现有技术中,由于旧数据库不进行写操作,就需要从新数据库到旧数据库进行增量同步时,数据迁移的时间比较长,也就会导致从旧数据库中读数据时,需要比较长的时间才能获取到结果,比较浪费时间。而本申请实施例通过上述的方法,可以很好地解决该问题,不会造成时间的浪费,并且保证业务的执行,满足业务的需求。
[0076]实际处理中,通过上述方法数据查询,即对新、旧数据库的读操作都可以在10毫秒内完成,处理速度非常快,可以支持业务的执行,例如,将本申请实施例所述的方法应用在电子商务的支付平台中,可以快速的查询用户的支付数据,减少错误查询的几率,满足业务对于快速、准确的获取数据的要求。
[0077]应用发布后,新版本应用对新数据库进行读操作和写操作,当新版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0078]更新的第二阶段中,发布后若检测到新版本应用存在问题,需要调试,可以在系统中执行回滚操作,即将系统回复到应用发布前的状态,由于应用发布前和发布中旧版本应用都对旧数据库进行读操作和写操作,即旧数据库中保存有发布期间旧版本应用执行的业务的数据,因此回滚操作中仅需要对应用进行回滚,不需要对数据库进行回滚。
[0079]在更新的第二阶段中,发布后可以检测新版本应用是否对旧数据库进行了写操作,并且检测新版本应用对新数据库的读操作和写操作是否正常。在确认新版本应用对新数据库的访问正常,即读操作和写操作正常,且新版本应用对旧数据库无写操作后,可以结束更新的第二阶段。
[0080]参照图5,给出了本申请优选实施例所述更新的第三阶段中应用对数据库访问的示意图。[0081]在结束更新的第二阶段到进入更新的第三阶段试运行的时间段内,停止运行新版本应用,系统中运行的是旧版本应用。
[0082]在进入更新的第三阶段之前,可以将旧版本应用访问的数据库修改为新数据库,即旧版本应用对新数据库进行读操作和写操作。
[0083]更新的第三阶段中,应用发布前,系统中运行旧版本应用,此时旧版本应用对新数据库进行读操作和写操作,当旧版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0084]应用发布中,旧版本应用和新版本应用都对新数据库进行读操作和写操作,当旧版本应用对新数据库的读操作失败时,对旧数据库进行读操作。同样,通过该方法可以快速的读取数据,保证业务的正常执行。
[0085]应用发布后,新版本应用都对新数据库进行读操作和写操作。
[0086]更新的第二阶段中,发布后若检测到新版本应用存在问题,需要调试,可以在系统中执行回滚操作,即将系统回复到应用发布前的状态,由于应用发布前和发布中旧版本应用都对新数据库进行读操作和写操作,即新数据库中保存有发布期间旧版本应用执行的业务的数据,因此回滚操作中仅需要对应用进行回滚,不需要对数据库进行回滚。
[0087]在更新的第二阶段中,发布后可以检测新版本应用是否对旧数据库没有读操作和写操作,并且检测新版本应用和旧数据库是否存在链接。在确认新应用对旧数据库没有读操作和写操作,且新版本应用和旧数据库无链接后,结束更新的第三阶段。
[0088]更新的第三阶段结束后,确认新版本应用没有问题后,可以进行旧数据库的下线处理,即将系统的数据源中删除旧数据库,期间,需要进行数据备份,旧数据库中的数据表重命名等操作,然后持续观察一段时间,确认新版本应用在系统中运行无问题后,可以正式运行新版本应用,结束旧版本应用在系统中的运行。
[0089]综上所述,现有技术中由于旧数据库不进行写操作,就需要从新数据库到旧数据库进行增量同步时,数据迁移的时间比较长,也就会导致从旧数据库中读数据时,需要比较长的时间才能获取到结果,比较浪费时间。而本申请实施例中,在更新的第一阶段新版本应用对新、旧数据库都可以进行读操作;在更新的第二阶段,新、旧版本应用对新、旧数据库都可以进行读操作;在更新的第三阶段旧版本应用对新、旧数据库都可以进行读操作。通过上述方法,使得即使数据迁移时间比较长,当应用从一个数据库中读数据失败时,也可以从另一个数据库中读取,从而可以快速的读取到数据,不会影响业务的执行。
[0090]参照图6、给出了本申请实施例所述一种网络平台中应用更新的数据在线迁移装置结构图。
[0091]相应的,本申请还提供了一种网络平台中应用更新的数据在线迁移装置,包括:第一运行模块11、第二运行模块12、第三运行模块13和新版本运行模块14,其中:
[0092]第一运行模块11,用于更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问,所述旧数据库是网络平台中旧版本应用的数据库;
[0093]第二运行模块12,用于结束更新的第一阶段,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问,其中,所述新数据库是网络平台中新版本应用的数据库;[0094]第三运行模块13,用于结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问;
[0095]新版本运行模块14,用于更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
[0096]优选的,所述访问包括读操作和写操作。
[0097]优选的,所述第一运行模块11,还用于新版本应用对旧数据库的读操作失败时,对新数据库进行读操作。
[0098]优选的,第二运行模块12,还用于结束更新的第一阶段之后,进入更新的第二阶段之前,将旧数据库中的数据全量同步到新数据库中,并开启旧数据库到新数据库的增量同
止/J/ O
[0099]优选的,所述第二运行模块12,还用于旧版本应用对旧数据库的读操作失败时,对新数据库进行读操作;新版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0100]优选的,所述第三运行模块13,还用于旧版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
[0101]优选的,确认新版本应用和新数据库连接正常,且新数据库中无数据写入后,结束更新的第一阶段。
[0102]优选的,所述第二运行模块12,还用于进入更新的第二阶段之前,将新版本应用访问的数据库修改为新数据库。
[0103]优选的,确认新版本应用对新数据库的访问正常,且新版本应用对旧数据库无写操作后,结束更新的第二阶段。
[0104]优选的,所述第三运行模块13,还用于进入更新的第三阶段之前,将旧版本应用访问的数据库修改为新数据库。
[0105]优选的,确认新应用对旧数据库无读操作和写操作,且新版本应用和旧数据库无链接后,结束更新的第三阶段。
[0106]优选的,在结束更新的第一阶段到进入更新的第二阶段的时间段内,以及在结束更新的第二阶段到进入更新的第三阶段试运行的时间段内,停止运行新版本应用。
[0107]对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0108]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0109]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0110]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0111]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0112]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,
并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0115]以上对本申请所提供的一种网络平台中应用更新的数据在线迁移方法装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种网络平台中应用更新的数据在线迁移方法,其特征在于,包括: 更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问,所述旧数据库是网络平台中旧版本应用的数据库; 结束更新的第一阶段,将旧数据库中的数据全量同步到新数据库中,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问,其中,所述新数据库是网络平台中新版本应用的数据库;结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问; 更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进行访问。
2.根据权利要求1所述的方法,其特征在于,所述访问包括读操作和写操作。
3.根据权利要求2所述的方法,其特征在于,更新的第一阶段还包括: 新版本应用对旧数据库的读操作失败时,对新数据库进行读操作。
4.根据权利要求1所述的方法,其特征在于,结束更新的第一阶段之后,进入更新的第二阶段之前,还包括: 开启旧数据库到新数据库的增量同步。
5.根据权利要求4所述的方法,其特征在于,更新的第二阶段还包括: 旧版本应用对旧数据库的读操作失败时,对新数据库进行读操作; 新版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
6.根据权利要求2所述的方`法,其特征在于,更新的第三阶段还包括: 旧版本应用对新数据库的读操作失败时,对旧数据库进行读操作。
7.根据权利要求1所述的方法,其特征在于,确认新版本应用和新数据库连接正常,且新数据库中无数据写入后,结束更新的第一阶段。
8.根据权利要求7所述的方法,其特征在于,进入更新的第二阶段之前,还包括:将新版本应用访问的数据库修改为新数据库。
9.根据权利要求1所述的方法,其特征在于,确认新版本应用对新数据库的访问正常,且新版本应用对旧数据库无写操作后,结束更新的第二阶段。
10.根据权利要求9所述的方法,其特征在于,进入更新的第三阶段之前,还包括:将旧版本应用访问的数据库修改为新数据库。
11.根据权利要求1所述的方法,其特征在于,确认新应用对旧数据库无读操作和写操作,且新版本应用和旧数据库无链接后,结束更新的第三阶段。
12.根据权利要求1所述的方法,其特征在于,还包括: 在结束更新的第一阶段到进入更新的第二阶段的时间段内,以及在结束更新的第二阶段到进入更新的第三阶段试运行的时间段内,停止运行新版本应用。
13.—种网络平台中应用更新的数据在线迁移装置,其特征在于,包括: 第一运行模块,用于更新的第一阶段同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对旧数据库进行访问,所述旧数据库是网络平台中旧版本应用的数据库; 第二运行模块,用于结束更新的第一阶段,并进入更新的第二阶段,同时运行新版本应用和旧版本应用,运行中新版本应用对新数据库进行访问,旧版本应用对旧数据库进行访问,其中,所述新数据库是网络平台中新版本应用的数据库; 第三运行模块,用于结束更新的第二阶段,并进入更新的第三阶段,同时运行新版本应用和旧版本应用,运行中新版本应用和旧版本应用对新数据库进行访问; 新版本运行模块,用于更新的第三阶段结束时,运行新版本应用,运行中新版本应用对新数据库进 行访问。
【文档编号】G06F9/445GK103729204SQ201210392891
【公开日】2014年4月16日 申请日期:2012年10月16日 优先权日:2012年10月16日
【发明者】张希魁, 宋金华, 吴盼盼 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1