CN108763247A - 在数据迁移过程中处理用户请求的方法及装置 - Google Patents

在数据迁移过程中处理用户请求的方法及装置 Download PDF

Info

Publication number
CN108763247A
CN108763247A CN201810273218.2A CN201810273218A CN108763247A CN 108763247 A CN108763247 A CN 108763247A CN 201810273218 A CN201810273218 A CN 201810273218A CN 108763247 A CN108763247 A CN 108763247A
Authority
CN
China
Prior art keywords
data
user
interval range
request
migration
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.)
Granted
Application number
CN201810273218.2A
Other languages
English (en)
Other versions
CN108763247B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810273218.2A priority Critical patent/CN108763247B/zh
Publication of CN108763247A publication Critical patent/CN108763247A/zh
Application granted granted Critical
Publication of CN108763247B publication Critical patent/CN108763247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种在数据迁移过程中处理用户请求的方法。该方法包括:首先,接收用户请求,所述用户请求用于请求第一数据;接着,获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序,以及获取预先设定的与数据迁移时间或顺序相关的区间范围;然后,当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态,再向用户返回所述原有状态下的第一数据。

Description

在数据迁移过程中处理用户请求的方法及装置
技术领域
本说明书实施例涉及互联网技术领域,具体地,涉及在数据迁移过程中处理用户请求的方法及装置。
背景技术
在日常的软件开发中,当对系统进行架构升级时或者存储系统切换时,通常需要将原有系统中已有的数据搬运到新系统,即,进行数据迁移,数据量越多,数据迁移的持续时间越长。对于一些大型的在线系统,为了保证用户体验以及减少服务方的损失,服务方需要在其系统进行数据迁移的过程中持续为用户提供服务。
目前,因迁移过程中的操作错误、或新系统中逻辑修改等原因,可能造成迁移至新系统中的数据与原数据不一致,或者不可用等问题,这些有问题的数据很可能在服务方向用户提供服务时被使用。因此,需要提供一种方案,在数据迁移的过程中精准、高效地完成对用户请求的处理,同时减少数据迁移的资源消耗。
发明内容
本说明书描述了一种在数据迁移过程中处理用户请求的方法及装置,通过设置与数据迁移时间或顺序相关的区间范围,并判断新系统中与用户请求所对应数据的数据标识是否落在该区间范围内,从而确定向用户返回的是当前新系统中的数据还是数据迁移之前老系统中的数据。
根据第一方面,提供了一种在数据迁移过程中处理用户请求的方法,包括:接收用户请求,所述用户请求用于请求第一数据;获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;获取预先设定的与数据迁移时间或顺序相关的区间范围;当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;向用户返回所述原有状态下的第一数据。
根据一个实施例,所述用户请求还涉及与第一数据相关的第一逻辑;所述将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态,还包括:将所述第一逻辑回滚至所述数据迁移之前的原有逻辑;所述向用户返回所述原有状态下的第一数据,包括:向用户返回在所述原有状态下的、基于所述原有逻辑的第一数据。
根据一个实施例,所述方法还包括:当所述数据标识不在所述区间范围内时,向用户返回所述数据迁移之后的第一数据。
进一步地,所述用户请求还涉及与第一数据相关的第一逻辑;所述向用户返回所述数据迁移之后的第一数据,包括:向用户返回在所述数据迁移之后的、基于所述第一逻辑的第一数据。
根据一个实施例,所述数据标识为时间戳,所述区间范围为时间区间。
进一步地,与所述第一数据对应的时间戳为所述第一数据的创建时间戳或修改时间戳。
根据一个实施例,所述数据标识为主键值,所述区间范围为主键值区间。
根据一个实施例,所述获取预先设定的与数据迁移时间或顺序相关的区间范围,包括:从数据库中获取所述区间范围;或,从缓存中获取所述区间范围;或,通过分布式资源管理DRM推送系统获取所述区间范围。
根据第二方面,提供在数据迁移过程中处理用户请求的装置,包括:接收单元,用于接收用户请求,所述用户请求用于请求第一数据;第一获取单元,用于获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;第二获取单元,用于获取预先设定的与数据迁移时间或顺序相关的区间范围;处理单元,用于当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;发送单元,用于向用户返回所述原有状态下的第一数据。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的在数据迁移过程中处理用户请求的方法及装置,首先,在接收到用户用于请求第一数据的用户请求后,获取用户标识第一数据的数据迁移时间或顺序的数据标识,以及获取预先设定的与数据迁移时间或顺序相关的区间范围。然后,一方面,当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据可能存在问题时,将第一数据的数据状态回滚至所述数据迁移之前的原有状态,从而实现了对区间范围内可能存在问题的数据的动态回滚,同时通过向用户返回原有状态下的第一数据,实现了对用户请求精准、高效地处理。另一方面,当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据存在问题的可能性低或不存在问题时,向用户返回数据迁移后的第一数据,从而实现利用区间范围以外的数据对用户请求进行精准、高效地处理,同时实现了对迁移完成并已通过验证的数据不造成任何影响。
如上,通过利用可调整的区间范围控制数据的有效性,可以快速响应问题,当发现数据有问题时马上设置区间范围,并停止使用可能存在问题的数据处理用户请求等事务,而对于其他没有问题的数据可以照常使用,只需要针对问题进行修改后,重新迁移所述区间范围内对应的数据,并在对这部分数据进行验证以确定没有问题后,再通过将区间范围删除,从而使上层业务能够重新使用这部分数据。
附图说明
为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的在数据迁移过程中处理用户请求的方法流程图;
图3示出根据一个实施例的在数据迁移过程中处理用户请求的装置示意性框图。
具体实施方式
下面结合附图,对本说明书披露的多个实施例进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图所示,图中源系统中的数据可以被迁移至目标系统,图中分别以一个服务器示出了数据迁移所对应的目标系统和源系统,但二者均可以包括多个服务器,且二者之间的数据传输的状态可以包括多种状态,如正在迁移状态、暂停迁移状态或回滚状态。
可以理解,处于数据迁移中的源系统和目标系统,均可以被用于对用户请求的处理。在一种实施方式中,对于已从源系统迁移至目标系统中的数据,或者在目标系统中发生修改或新产生的数据,对应的用户请求可以由目标系统接收并处理;而对于源系统中的数据,包括尚未从源系统迁移至目标系统中的数据等,对应的用户请求将由源系统接收并处理。
图1中所示出的是在数据迁移过程中,目标系统接收用户(如,个人用户、企业用户、商户等)发送的用户请求并向用户返回对应数据的场景,在这种场景下,可以采用本说明书实施例的方法对用户请求进行处理。所述方法主要是基于这样的观察和统计:在日常的软件(如,支付宝客户端)开发中,当应用系统(如,支付宝系统)发生架构升级或者存储系统切换时,经常需要搬运存量的数据,这些数据通常都很巨大,这个过程需要持续很长一段时间。当数据被迁移到新系统(也就是目标系统)中被消费的过程中,又会产生新的数据,并且伴随着整个系统日常的开发,相关的逻辑又面临被二次修改的可能。那么新系统中的迁移数据有可能在持续很长一段时间是有潜在问题的,因此需要对这些脏数据进行清理。但是因为数据迁移是一个持续性的过程,如果把所有的数据全部清空回滚的话,那么就会造成大量的资源浪费,因为有可能只有部分数据,如10%或者20%的数据,是不可用的,那么其实只要订正这部分数据就可以了。但是如果利用现有的运维手段来清理脏数据,会面临数据量过大没有可操作性,或者因为数据量太大造成人为的误操作,导致删除了合法的数据。
为了减少数据迁移过程中,因清理脏数据所消耗的资源,在本说明书实施例中提供了通过处理用户请求动态回滚部分数据的方法,该方法操作简单,只需要在使用数据的业务层对数据的可用性进行判断,就可以实现在新系统中即使已经存在相关数据的情况下,也能回滚到原有的逻辑。所述方法的核心思想就是设置可以动态调整的区间范围,当需要使用某数据时,根据该数据的数据标识,也就是用于标识数据迁移时间或顺序的标识,例如,时间戳或者数据的主键值,进行判断,如果数据标识在该区间范围内,那么就不消费(也就是使用)这个数据,而是回滚到迁移之前的老数据,和老数据所涉及的老逻辑,以消费老数据,或者通过老逻辑消费老数据。如此,在整个大批量数据迁移过程中,根据确定出的一些问题发生的时间节点,可以保证只回滚某一时间区间内迁移的数据,而对已经迁移完成并完成验证的数据完全无影响,并且完成了数据的修复后,只要再次调整时间区间,就可以完成数据的恢复。此外,本说明书实施例提供的方法解决了对大量迁移数据进行订正的困难,同时对代码的入侵较小,当所有数据都完成迁移成以后即可以去除相关代码。下面描述上述方法的具体执行过程。
图2示出根据一个实施例的在数据迁移过程中处理用户请求的方法流程图。所述方法的执行主体可以为图1中的目标系统。如图2所示,该方法包括:步骤S21,接收用户请求,所述用户请求用于请求第一数据;步骤S22,获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;步骤S23,获取预先设定的与数据迁移时间或顺序相关的区间范围;步骤S24,判断所述数据标识是否在所述区间范围内;一方面,当所述数据标识在所述区间范围内时,执行步骤S25和步骤S26,步骤S25,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;步骤S26,向用户返回所述原有状态下的第一数据,另一方面,当所述数据标识不在所述区间范围内时,执行步骤S27,向用户返回所述数据迁移之后的第一数据。下面描述以上各个步骤的具体执行方式。
首先在步骤S21,接收用户请求,所述用户请求用于请求第一数据。
在一个实施例中,发起所述用户请求的用户可以为个人用户,也可以为企业用户。
在一个具体实施例中,用户请求与系统所提供的服务相对应,因系统提供的服务通常种类繁多,因而相应的用户请求也可以具有不同类别,例如,用户请求可以为注册类请求、查询类请求和支付类请求等。
在一个例子中,支付宝的新系统接收用户发送的查询余额宝账户的请求,此请求对应的第一数据包括余额宝账户中的资金数额。
在另一个例子中,支付宝的新系统接收某基金公司服务器发送的修改用户基金账户中资金数额的请求,此请求对应的第一数据包括用户基金账户中的资金数据。
接着,在步骤S22,获取与所述第一数据对应的数据标识,以及在步骤S23,获取预先设定的与数据迁移时间或顺序相关的区间范围。
具体地,所述数据标识用于标识所述第一数据的数据迁移时间或顺序,且预先设定的与数据迁移时间或顺序相关的区间范围与所述数据标识具有对应关系。
在一个实施例中,数据标识用于标识所述第一数据的数据迁移时间,与该数据标识相应的区间范围可以为时间区间。在一个例子中,数据标识可以为第一数据的时间戳,此时间戳为基于对第一数据进行的最新操作而产生的时间戳。例如,对第一数据进行的最新操作可以为创建操作或修改操作,相应产生的时间戳为创建时间戳或修改时间戳。其中创建时间戳可以标识第一数据在目标系统中的创建时间,比如被迁移至目标系统中的时间,如创建时间戳标识的时间可以为2018-3-18,10:20;而修改时间戳可以标识第一数据在目标系统中被修改的时间,比如被迁移至目标系统以后,最近一次被修改的时间,例如,修改时间戳标识的时间可以为2018-3-19,13:10。
在另一个实施例中,数据标识用于标识所述第一数据的数据迁移顺序,与该数据标识相应的区间范围可以为顺序区间范围。在一个例子中,目标系统可以为数据记录设置自增主键,相应地,数据标识可以为第一数据的主键值。可以理解,数据记录以表的形式存储在目标系统中,每一行可以表示一条数据记录,而主键指的是表中一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。通过在目标系统中设置有自增主键,使得每增加一条数据记录,与其对应的主键值自动增加固定值(如,自动加1),如此,自增主键的主键值可以用于标识数据的迁移顺序,且第一数据的主键值作为数据标识,可以标识第一数据的数据迁移顺序。
另一方面,在步骤S23,获取预先设定的与数据迁移时间或顺序相关的区间范围。
需要说明的是,该步骤中获取的区间范围可以是由管理人员或工作人员人为地预先设定的,设定的依据可以包括用户反馈信息和系统日志数据。在一个实施例中,工作人员根据用户的反馈信息,例如,某一时间段多个用户反映其中客户端中数据(如,支付宝中总资产的数额)显示有误,和/或根据系统中存在错误的日志数据,查找到系统中出现错误的相应时间节点或相应主键值。或者,工作人员在发现脏数据之后,分析并确定导致该脏数据的事件,例如某一次对业务代码的修改,并基于该事件发生的时间,确定系统中出现错误的时间节点或相应主键值。例如,工作人员根据错误日志确定出一部分脏数据,进而确定这部分脏数据的产生是因为某一次对业务逻辑代码的修改,该修改发生的时间为3月19日10:00,此时记录数据的主键值为200。那么就可以根据此时间节点10:00或主键值200设置所述区间范围。
对此区间范围的设置可以比较灵活,但是要求该范围能够覆盖出现错误的时间节点。在一个例子中,上述区间范围为时间范围。例如,在所述时间节点对应于当前正在迁移的这批数据的情况下,可以将时间区间设置为所述时间节点至当前时间,或所述时间节点至未来某个时间。又例如,在所述时间节点对应于已迁移并完成验证的某批数据的情况下,可以将时间区间设置为所述时间节点至该批数据完成验证的时间。在另一个例子中,上述区间范围可以为主键值范围。例如,在该主键值对应于当前正在迁移的这批数据的情况下,可以将主键值区间设置为该主键值至当前最新的主键值。又例如,在所述主键值对应于已迁移并完成验证的某批数据的情况下,可以将主键值区间设置为该主键值至该批数据中最后迁移的一条数据记录所对应的主键值。
此外,所述区间范围可以为一个或多个,具体可以根据实际情况进行增加、删除或修改。在一个实施例中,对于某个区间范围,当完成对此区间范围内迁移数据的修复以及验证后,可以将此区间范围进行删除。在另一个实施例中,当在已有区间范围之外的时间发生系统错误时,可以增设与该系统错误对应的区间范围。本说明书实施例和具体例子中主要以一个区间范围进行示例性描述,但对区间范围的个数无限定作用。
以上由系统的管理人员或工作人员动态设定的区间范围可以存储在数据库中或存储在缓存中。相应地,在一个实施例中,步骤S23可以包括:从数据库中获取所述区间范围。在一个例子中,所述数据库可以位于目标系统中。在另一个实施例中,此步骤S23可以包括:从缓存中获取所述区间范围。在一个例子中,所述缓存可以为目标系统中某个服务器的缓存。根据另一种实施方式,上述数据库或缓存还可以设置在目标系统之外,目标系统可以通过各种通信方式访问上述数据库或缓存,从而从中获得在其中存储的预定区间范围。
在又一个实施例中,通过分布式资源管理(Distr ibuted Resource Management,DRM)推送系统获取所述区间范围。具体地,DRM推送系统包括推送控制台,推送控制台用于根据管理员的指令向多个设备推送数据;与DRM推送控制台对应地,接受推送的各个应用设备中包含有DRM推送交互模块,从而实现设备注册、数据接收等功能。如此,对于分布式系统,可以通过DRM推送控制台将各种数据同步地推送到应用系统集群中的每一台设备中。典型地,DRM推送系统可以用于将配置文件推送给集群中各个设备,以此保证各个设备的配置环境同步更新,保持一致。在本说明书的一个实施例中,管理人员在DRM推送控制台设置上述区间范围,通过DRM推送系统将所述区间范围同步地推送到目标系统中的每一台服务器中,目标系统的服务器中可以包括DRM推送交互模块,从而实现从DRM推送控制台接收管理人员设置的区间范围。
需要说明的是,尽管图2中示出先执行步骤S22再执行步骤S23,但是这仅仅是一种示例。在其他实施例中,步骤S22和S23可以并行执行,或者先执行步骤S23后执行步骤S22。
以上获取与第一数据对应的数据标识,以及获取预先设定的区间范围后,接着,在步骤S24,判断所述数据标识是否在所述区间范围内。
在一个实施例中,所述数据标识可以为第一数据的时间戳,所述区间范围为可以为时间区间。相应地,判断所述数据标识是否在所述区间范围内,可以包括:判断所述时间戳是否在所述时间区间内。在一个例子中,假定获取的第一数据的时间戳为2018-3-19,13:10,以及假定获取的时间区间为2018-3-19,12:00至2018-3-19,18:00,则据此可以判断出该时间戳在预设的时间区间内。
在另一个实施例中,所述数据标识可以为第一数据的主键值,所述区间范围为可以为主键值区间。相应地,判断所述数据标识是否在所述区间范围内,可以包括:判断所述主键值是否在所述主键值区间内。在一个例子中,假定获取的第一数据的主键值为88,以及假定获取的主键值区间为[100,200],则据此可以判断出该主键值(88<100)不在预设的主键值区间内。
可以理解,所述区间范围是根据系统中的错误信息所设定的,在此区间范围内对应的迁移数据或修改数据等,可能存在问题。进一步地,当第一数据的数据标识落在此区间范围内时,表明第一数据可能存在问题,为了避免使用可能存在问题的第一数据对用户请求进行处理,需要对第一数据进行回滚处理;当第一数据的数据标识没有落在此区间范围内时,说明第一数据存在问题的可能性较低或不存在问题,因此可以直接根据第一数据处理用户请求。
根据以上判断出的所述数据标识是否在所述区间范围内的结果来执行后续流程。一方面,当判断出所述数据标识在所述区间范围内时,执行步骤S25和步骤S26:
步骤S25,将第一数据的数据状态回滚至数据迁移之前的原有状态,以及在步骤S26中,向用户返回所述原有状态下的第一数据。
需要说明的是,因在所述区间范围内,存在系统错误,所以对于数据标识在区间范围内的第一数据,可能存在第一数据的数据状态和数据迁移之前的原有状态不一致的情况,因此需要将第一数据的数据状态回滚至数据迁移之前的原有状态。
在一个实施例中,将第一数据的数据状态回滚至数据迁移之前的原有状态,可以包括:向所述数据迁移对应的源系统发送请求消息,此请求消息用于请求原有状态下的第一数据,并从源系统接收原有状态下的第一数据。
在一个例子中,用户请求对应的第一数据为余额宝账户中的资金数额,在判断出余额宝资金数额的数据标识在区间范围内后,可以向源系统发送请求消息,以请求原有状态下的余额宝资金数额,并从源系统接收原有状态下的余额宝资金数额,如此,则实现了将余额宝资金数额的数据状态(如,800元)回滚至数据迁移之前的原有状态(如,1000元)。
在另一个实施例中,将第一数据的数据状态回滚至数据迁移之前的原有状态,可以包括:根据迁移之后的第一数据的数据状态和第一数据在数据迁移之前的原有状态之间的映射关系,将第一数据的数据状态回滚至数据迁移之前的原有状态。其中映射关系是在数据迁移过程中所使用到的映射关系。
如上,在将第一数据的数据状态回滚至数据迁移之前的原有状态之后,可以向用户返回所述原有状态下的第一数据。在一个例子中,可以向用户返回原有状态下的余额宝资金数额1000元。
另一方面,当判断出数据标识不在区间范围内时,执行步骤S27,向用户返回所述数据迁移之后的第一数据。
以上,则完成了对用户请求的处理。
需要说明的是,在步骤S21中所接收的用户请求,还可以涉及与第一数据相关的第一逻辑。也就是说,第一数据可能需要基于与其相关的业务逻辑来确定。在一个例子中,用户所请求的第一数据是用户在支付宝中的总资产A,对应的第一逻辑可以包括,总资产A与各个分账户资产的计算逻辑。
相应地,当判断出数据标识在区间范围内时,在步骤S25中,将第一逻辑回滚至数据迁移之前的原有逻辑。在一个例子中,用户请求支付宝总资产A。在源系统中关于该数据的原有逻辑为:总资产(A)为余额账户(A1)、余额宝账户(A2)、定期账户(A3)、基金账户(A4)和黄金账户(A5)中资产的总和,即A=A1+A2+A3+A4+A5。迁移之后,在目标系统,与该数据对应的业务逻辑被修改为,例如,总资产(A)为余额账户(A1)和余额宝账户(A2)中资产的总和,即A=A1+A2。如果判断出所请求数据(A)的数据标识在区间范围内时,在步骤S25中,将业务逻辑回滚至所述数据迁移之前的原有逻辑(如,A=A1+A2+A3+A4+A5)。此外,可以看到,原有逻辑中还涉及其他相关数据,例如A1、A2、A3、A4和A5。在一个实施例中,同时将原有逻辑所涉及的相关数据均回滚至所述数据迁移之前的原有状态。然后,根据原有逻辑以及与原有逻辑相关的回滚后的数据,确定原有状态的第一数据。相应地在步骤S26中,可以包括:向用户返回在所述原有状态下的、基于所述原有逻辑的第一数据。
另一方面,当判断出数据标识不在区间范围内时,在步骤S27中可以包括:向用户返回在所述数据迁移之后的、基于所述第一逻辑的第一数据。
由上可知,在本说明书实施例提供的、应用于数据迁移过程中处理用户请求的方法中,首先,在接收到用户用于请求第一数据的用户请求后,获取用户标识第一数据的数据迁移时间或顺序的数据标识,以及获取预先设定的与数据迁移时间或顺序相关的区间范围。然后,一方面,当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据可能存在问题时,将第一数据的数据状态回滚至所述数据迁移之前的原有状态,从而实现了对区间范围内可能存在问题的数据的动态回滚,同时通过向用户返回原有状态下的第一数据,实现了对用户请求精准、高效地处理。另一方面,当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据存在问题的可能性低或不存在问题时,向用户返回数据迁移后的第一数据,从而实现利用区间范围以外的数据对用户请求进行精准、高效地处理,同时实现了对迁移完成并已通过验证的数据不造成任何影响。
如上,通过利用可调整的区间范围控制数据的有效性,可以快速响应问题,当发现数据有问题时马上设置区间范围,并停止使用可能存在问题的数据处理用户请求等事务,而对于其他没有问题的数据可以照常使用,只需要针对问题进行修改后,重新迁移所述区间范围内对应的数据,并在对这部分数据进行验证以确定没有问题后,再通过将区间范围删除,从而使上层业务能够重新使用这部分数据。
根据另一方面的实施例,还提供一种处理用户请求的装置。图3示出根据一个实施例的在数据迁移过程中处理用户请求的装置示意性框图。如图3所示,该装置300包括:
接收单元310,用于接收用户请求,所述用户请求用于请求第一数据;
第一获取单元320,用于获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;
第二获取单元330,用于获取预先设定的与数据迁移时间或顺序相关的区间范围;
处理单元340,用于当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;
发送单元350,用于向用户返回所述原有状态下的第一数据。
根据一个实施例,所述接收单元310接收的用户请求还涉及与第一数据相关的第一逻辑;所述处理单元340还用于:
将所述第一逻辑回滚至所述数据迁移之前的原有逻辑;
所述发送单元350具体用于:
向用户返回在所述原有状态下的、基于所述原有逻辑的第一数据。
根据一个实施例,所述发送单元350还用于:
当所述数据标识不在所述区间范围内时,向用户返回所述数据迁移之后的第一数据。
进一步地,根据一个例子,所述接收单元310接收的用户请求还涉及与第一数据相关的第一逻辑;所述发送单元350具体用于:
向用户返回在所述数据迁移之后的、基于所述第一逻辑的第一数据。
根据一个实施例,所述第一获取单元320获取的数据标识为时间戳,所述第二获取单元330获取的区间范围为时间区间。
进一步地,根据一个例子,所述第一获取单元320获取的时间戳为所述第一数据的创建时间戳或修改时间戳。
根据一个实施例,所述第一获取单元320获取的数据标识为主键值,所述第二获取单元330获取的区间范围为主键值区间。
根据一个实施例,所述第二获取单元330具体用于:
从数据库中获取所述区间范围;或,
从缓存中获取所述区间范围;或,
通过分布式资源管理DRM推送系统获取所述区间范围。
通过以上处理用户请求的装置300,首先,在接收单元310接收到用户用于请求第一数据的用户请求后,第一获取单元320获取用户标识第一数据的数据迁移时间或顺序的数据标识,以及第二获取单元330获取预先设定的与数据迁移时间或顺序相关的区间范围。然后,一方面,处理单元340当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据可能存在问题时,将第一数据的数据状态回滚至所述数据迁移之前的原有状态,从而实现了对区间范围内可能存在问题的数据的动态回滚,同时通过发送单元350向用户返回原有状态下的第一数据,实现了对用户请求精准、高效地处理。另一方面,当判断出所述数据标识在所述区间范围内时,也就是判断出第一数据存在问题的可能性低或不存在问题时,发送单元350向用户返回数据迁移后的第一数据,从而实现利用区间范围以外的数据对用户请求进行精准、高效地处理,同时实现了对迁移完成并已通过验证的数据不造成任何影响。
如上,通过利用可调整的区间范围控制数据的有效性,可以快速响应问题,当发现数据有问题时马上设置区间范围,并停止使用可能存在问题的数据处理用户请求等事务,而对于其他没有问题的数据可以照常使用,只需要针对问题进行修改后,重新迁移所述区间范围内对应的数据,并在对这部分数据进行验证以确定没有问题后,再通过将区间范围删除,从而使上层业务能够重新使用这部分数据。
根据再一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。

Claims (18)

1.一种在数据迁移过程中处理用户请求的方法,其特征在于,包括:
接收用户请求,所述用户请求用于请求第一数据;
获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;
获取预先设定的与数据迁移时间或顺序相关的区间范围;
当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;
向用户返回所述原有状态下的第一数据。
2.根据权利要求1所述的方法,其特征在于,所述用户请求还涉及与第一数据相关的第一逻辑;所述将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态,还包括:
将所述第一逻辑回滚至所述数据迁移之前的原有逻辑;
所述向用户返回所述原有状态下的第一数据,包括:
向用户返回在所述原有状态下的、基于所述原有逻辑的第一数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述数据标识不在所述区间范围内时,向用户返回所述数据迁移之后的第一数据。
4.根据权利要求3所述的方法,其特征在于,所述用户请求还涉及与第一数据相关的第一逻辑;所述向用户返回所述数据迁移之后的第一数据,包括:
向用户返回在所述数据迁移之后的、基于所述第一逻辑的第一数据。
5.根据权利要求1所述的方法,其特征在于,所述数据标识为时间戳,所述区间范围为时间区间。
6.根据权利要求5所述的方法,其特征在于,与所述第一数据对应的时间戳为所述第一数据的创建时间戳或修改时间戳。
7.根据权利要求1所述的方法,其特征在于,所述数据标识为主键值,所述区间范围为主键值区间。
8.根据权利要求1所述的方法,其特征在于,所述获取预先设定的与数据迁移时间或顺序相关的区间范围,包括:
从数据库中获取所述区间范围;或,
从缓存中获取所述区间范围;或,
通过分布式资源管理DRM推送系统获取所述区间范围。
9.一种在数据迁移过程中处理用户请求的装置,其特征在于,包括:
接收单元,用于接收用户请求,所述用户请求用于请求第一数据;
第一获取单元,用于获取与所述第一数据对应的数据标识,所述数据标识用于标识所述第一数据的数据迁移时间或顺序;
第二获取单元,用于获取预先设定的与数据迁移时间或顺序相关的区间范围;
处理单元,用于当所述数据标识落入所述区间范围内时,将所述第一数据的数据状态回滚至所述数据迁移之前的原有状态;
发送单元,用于向用户返回所述原有状态下的第一数据。
10.根据权利要求9所述的装置,其特征在于,所述接收单元接收的用户请求还涉及与第一数据相关的第一逻辑;所述处理单元还用于:
将所述第一逻辑回滚至所述数据迁移之前的原有逻辑;
所述发送单元具体用于:
向用户返回在所述原有状态下的、基于所述原有逻辑的第一数据。
11.根据权利要求9所述的装置,其特征在于,所述发送单元还用于:
当所述数据标识不在所述区间范围内时,向用户返回所述数据迁移之后的第一数据。
12.根据权利要求11所述的装置,其特征在于,所述接收单元接收的用户请求还涉及与第一数据相关的第一逻辑;所述发送单元具体用于:
向用户返回在所述数据迁移之后的、基于所述第一逻辑的第一数据。
13.根据权利要求9所述的装置,其特征在于,所述第一获取单元获取的数据标识为时间戳,所述第二获取单元获取的区间范围为时间区间。
14.根据权利要求13所述的装置,其特征在于,所述第一获取单元获取的时间戳为所述第一数据的创建时间戳或修改时间戳。
15.根据权利要求9所述的装置,其特征在于,所述第一获取单元获取的数据标识为主键值,所述第二获取单元获取的区间范围为主键值区间。
16.根据权利要求9所述的装置,其特征在于,所述第二获取单元具体用于:
从数据库中获取所述区间范围;或,
从缓存中获取所述区间范围;或,
通过分布式资源管理DRM推送系统获取所述区间范围。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
CN201810273218.2A 2018-03-29 2018-03-29 在数据迁移过程中处理用户请求的方法及装置 Active CN108763247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810273218.2A CN108763247B (zh) 2018-03-29 2018-03-29 在数据迁移过程中处理用户请求的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810273218.2A CN108763247B (zh) 2018-03-29 2018-03-29 在数据迁移过程中处理用户请求的方法及装置

Publications (2)

Publication Number Publication Date
CN108763247A true CN108763247A (zh) 2018-11-06
CN108763247B CN108763247B (zh) 2021-12-07

Family

ID=63980810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810273218.2A Active CN108763247B (zh) 2018-03-29 2018-03-29 在数据迁移过程中处理用户请求的方法及装置

Country Status (1)

Country Link
CN (1) CN108763247B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN104598540A (zh) * 2014-12-31 2015-05-06 国家电网公司 定时数据迁移装置及其使用方法
CN104657396A (zh) * 2013-11-25 2015-05-27 腾讯科技(深圳)有限公司 数据迁移方法及装置
CN105808633A (zh) * 2016-01-08 2016-07-27 平安科技(深圳)有限公司 数据归档方法和系统
CN106294471A (zh) * 2015-06-03 2017-01-04 中兴通讯股份有限公司 数据迁移处理方法及装置
CN106874070A (zh) * 2017-02-24 2017-06-20 郑州云海信息技术有限公司 一种虚拟机的迁移方法及装置
CN107643880A (zh) * 2017-09-27 2018-01-30 郑州云海信息技术有限公司 基于分布式文件系统的文件数据迁移的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577249A (zh) * 2013-11-13 2014-02-12 中国科学院计算技术研究所 虚拟机在线迁移方法与系统
CN104657396A (zh) * 2013-11-25 2015-05-27 腾讯科技(深圳)有限公司 数据迁移方法及装置
CN104598540A (zh) * 2014-12-31 2015-05-06 国家电网公司 定时数据迁移装置及其使用方法
CN106294471A (zh) * 2015-06-03 2017-01-04 中兴通讯股份有限公司 数据迁移处理方法及装置
CN105808633A (zh) * 2016-01-08 2016-07-27 平安科技(深圳)有限公司 数据归档方法和系统
CN106874070A (zh) * 2017-02-24 2017-06-20 郑州云海信息技术有限公司 一种虚拟机的迁移方法及装置
CN107643880A (zh) * 2017-09-27 2018-01-30 郑州云海信息技术有限公司 基于分布式文件系统的文件数据迁移的方法及装置

Also Published As

Publication number Publication date
CN108763247B (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
US7783763B2 (en) Managing stateful data in a partitioned application server environment
JP5841177B2 (ja) マルチサーバ予約システムにおける同期化メカニズムのための方法及びシステム
US20160212206A1 (en) Deterministic database system and data transferring method thereof
CN108494703A (zh) 一种访问频率控制方法、装置及存储介质
CN104601680B (zh) 一种资源管理方法及装置
CN104683161B (zh) 基于SaaS的网络管理方法及装置
CN109547512A (zh) 一种基于NoSQL的分布式Session管理的方法及装置
CN103559319B (zh) 分布式集群文件系统的缓存同步方法和设备
CN111274252A (zh) 一种区块链的数据上链方法、装置、存储介质和服务器
CN108647357A (zh) 数据查询的方法及装置
CN109981493A (zh) 一种用于配置虚拟机网络的方法和装置
CN109684273A (zh) 一种快照管理方法、装置、设备及可读存储介质
CN109213604A (zh) 一种数据源的管理方法和装置
JPH1078943A (ja) 分散コンピュータ環境におけるグループ・イベント管理方法及び装置
CN105893607A (zh) 页面数据管理方法、装置及数据服务器
CN104182283B (zh) 一种任务同步方法
CN109739684A (zh) 基于向量时钟的分布式键值数据库的副本修复方法与装置
CN110324406A (zh) 一种获取业务数据的方法和云服务系统
CN109462507A (zh) 配置更新方法、装置、系统及电子设备
CN109271367A (zh) 分布式文件系统多节点快照回滚方法及系统
JP6191695B2 (ja) 仮想リソース制御システムおよび仮想リソース制御方法
CN107566270A (zh) 一种资源访问的处理方法及装置
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
CN109656877A (zh) 一种用户文件配额的方法、装置及分布式文件系统
CN108540583A (zh) 一种cdn系统中的域名下发方法及装置,电子设备

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240208

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: United Kingdom