掌桥专利:专业的专利平台
掌桥专利
首页

数据迁移方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 11:26:00


数据迁移方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种数据迁移方法、装置、计算机设备和存储介质。

背景技术

随着应用程序或APP或Web网页海外业务的稳步发展,为适应不同国家、地区的要求,同时为当地用户提供本地化且优质的服务,海外多站点应运而生。与此同时出现的问题是,用户具有流动性,存在跨国家、地区使用应用程序或APP或Web网页的需求。尽管用户在多站点间的账号全局唯一,且能够跨站点登录使用,但是出于地区限制,跨站点登录使用应用程序服务的用户产品体验会受到影响(如无法展示个人UGC信息,无法参与投票、评论等),且由于服务资源存在异地部署问题,大量跨地区的服务调用也会产生性能问题,影响用户的使用体验。

发明内容

为了解决上述跨站点登录应用程序的部分功能可能使用受限的技术问题,本申请实施例提供了一种数据迁移方法、装置、计算机设备和存储介质。

第一方面,本申请实施例提供了一种数据迁移方法,应用于本地服务端,该方法包括:

获取在本地服务端登录的目标账号的上一登录服务端;

若本地服务端与所述上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之前,该方法还包括:

获取目标账号在本地服务端登录的登录信息,

根据登录信息对目标账号的登录态进行合规验证;

若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端,包括:

若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之前,该方法还包括:

获取在本地服务端登录的目标账号的账号信息;

若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端,包括:

若本地服务端与上一登录服务端为不同服务端,则根据账号信息判断目标账号是否满足迁移条件,

若目标账号满足迁移条件,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之前,该方法还包括:

获取目标账号在本地服务端登录的登录信息,

根据登录信息对目标账号的登录态进行合规验证;

若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端,包括:

获取在本地服务端登录的目标账号的账号信息,

若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则根据账号信息判断目标账号是否满足迁移条件,

若目标账号满足迁移条件,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之前,方法还包括:

若本地服务端与上一登录服务端为不同服务端,则向终端设备发送迁移授权请求,

接收迁移授权结果;

若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端,包括:

若本地服务端与上一登录服务端为不同服务端,且,迁移授权结果为同意迁移,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之前,该方法还包括:

若目标账号满足迁移条件,则向终端设备发送迁移授权请求,接收迁移授权结果;

若目标账号满足迁移条件,则将上一登录服务端的目标数据迁移至本地服务端,包括:

若目标账号满足迁移条件,且,迁移授权结果为同意迁移,则将上一登录服务端的目标数据迁移至本地服务端。

可选地,迁移授权请求携带目标账号对应的迁移请求令牌,迁移授权结果携带待校验迁移请求令牌;

将上一登录服务端的目标数据迁移至本地服务端,包括:

根据目标账号对应的迁移请求令牌对待校验迁移请求令牌进行校验,

若校验成功,则获取并存储上一登录服务端存储的目标数据。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之后,方法还包括:

向上一登录服务端发送注销指令,使上一登录服务端注销目标数据。

可选地,在将上一登录服务端的目标数据迁移至本地服务端之后,方法还包括:

向上一登录服务端发送备份注销指令,使上一登录服务端备份并注销目标数据。

可选地,该方法还包括:

若迁移失败,则重新执行获取并存储上一登录服务端存储的目标数据的步骤。

可选地,该方法还包括:

对目标数据中不符合本地服务端的管理规则的数据进行屏蔽处理。

可选地,该方法还包括:

接收用户的迁移异议请求;

根据迁移异议请求,注销目标数据,或,备份且注销目标数据;

向上一登录服务端发送回滚指令,使上一登录服务端执行回滚操作,以使上一登录服务端恢复目标数据。

可选地,获取并存储上一登录服务端存储的目标数据,包括:

从上一登录服务端同步拉取并存储上一登录服务端存储和更新的目标数据。

第二方面,本申请实施例提供了一种数据迁移装置,应用于本地服务端,该装置包括:

第一获取模块,用于获取在本地服务端登录的目标账号的上一登录服务端;

迁移模块,用于若本地服务端与所述上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的方法的步骤。

上述数据迁移方法、装置、计算机设备和存储介质,该方法包括:获取在本地服务端登录的目标账号的上一登录服务端;若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。本申请能够根据实际情况,将目标数据(例如用户数据)从一个站点迁移至另外一个站点,使在新的站点,用户可以获取更多的用户使用权限,用户体验不会受影响。

在用户授权的基础上,能够解决多站点间异构存储用户数据的迁移。用户授权后,迁移流程对用户无感,且支持回滚,能够提升用户使用体验,降低客诉风险;迁移流程使用令牌串联,具备安全性;迁移流程支持失败重试,具备可靠性。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例中数据迁移方法的应用环境图;

图2为本申请一实施例中数据迁移方法的流程示意图;

图3为本申请一实施例中数据迁移装置的结构框图;

图4为本申请一实施例中数据迁移流程时序图;

图5为本申请一实施例中计算机设备的内部结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请一实施例中数据迁移方法的应用环境图。参照图1,该数据迁移方法应用于数据迁移系统。该数据迁移系统包括终端110、第一服务器120和第二服务器130。终端110、第一服务器120和第二服务器130通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。第一服务器120和第二服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

第一服务器120和第二服务器130为同一个应用程序或APP或Web网页相同站点或不同登录站点对应的服务端。该应用程序或APP或Web网页的不同站点(例如国内站点、国际站点中的欧洲站点、美国站点等)可以共用同一个账号登录。即,第一服务器120对应的本地站点和第二服务器130对应的上一源站点可以共用同一个登录账号和登录密码登录。

第一服务器120是目标账号当前登录的本地站点对应的服务端,第二服务器130为该应用程序或APP或Web网页的其他某个登录站点对应的服务端。第二服务器130对应的站点(上一源站点)为目标账号的历史常驻站点或注册站点。第二服务器130存储有该目标账号对应的目标数据,目标数据具体包括用户数据,但不局限于此。

终端(终端设备)110上安装有该应用程序或APP或Web网页。用户通过终端110可以使用相同登录账号和密码登录到该应用程序或APP或Web网页的不同站点。或从一个站点切换到另外一个站点实现站点间的切换。

第一服务器120获取在第一服务器120登录的目标账号的上一登录服务端,该上一登录服务端为第二服务器130;若第一服务器120与第二服务器130为相同服务端,即第一服务器120对应的本地站点和第二服务器130对应的上一源站点为相同站点,则第一服务器120和第二服务器130为相同服务器,因此,不需要执行数据迁移。若第一服务器120和第二服务器130为不同服务端,即第一服务器120对应的本地站点和第二服务器130对应的上一源站点为不同站点,则第一服务器120会将上一源站点对应的第二服务器130的目标数据迁移至本地站点的第一服务器120中存储。

应用程序或web端平台或APP中的多个站点可以按照地域或国家或语种划分。每个站点由于对应的地域不同,因此对于包括用户管理规则在内的管理规则不完全相同。通常新用户会在一个站点进行账号注册,并填写用户数据。成功注册后,相同应用程序或web端平台或APP的不同站点可以共用一个账号和密码登录。由于用户数据是在最初注册的站点填写的,在跨站点登录的时候,其他站点是不共享用户数据的,因此需要采用数据迁移方法将用户数据从一个站点迁移至另外一个站点,即将用户数据从一个站点对应的服务端迁移至另外一个站点对应的服务端。

在一个实施例中,图2为本申请一实施例中数据迁移方法的流程示意图;参照图2,提供了一种数据迁移方法。本实施例主要以该方法应用于上述图1中的第一服务器120来举例说明,第一服务器120为本地服务端。该数据迁移方法具体包括如下步骤:

S100:获取在本地服务端登录的目标账号的上一登录服务端。

具体地,本地服务端为目标账号当前登录的服务端,也是目标账号当前所登录的本地站点所对应的服务端。上一登录服务端为目标账号上一次登录的服务端,也是目标账号上一次登录的上一源站点所对应的服务端。上一登录服务端为存储有目标账号对应的目标数据的服务端。上一源站点对应的上一登录服务端可能为该目标账号的注册服务端,也可能为上一历史常驻服务端。

S300:若本地服务端与所述上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

具体地,判断本地服务端与上一登录服务端是否为相同服务端,更具体地,可以根据服务端对应的IP地址或服务端标识来判断是否为相同服务端。如果本地服务端与上一登录服务端为不同服务端,则本本地服务端会将目标数据从上一登录服务端迁移至本地服务端,并进行存储。如果本地服务端与上一登录服务端为相同服务端,则不执行目标数据迁移操作。

在一个实施例中,在步骤S300之前,该方法还包括以下步骤:

S200:若本地服务端与上一登录服务端为不同服务端,则获取在本地服务端登录的目标账号的账号信息。

具体地,账号信息包括一些用户维度信息,例如用户国籍、用户手机号及归属地、目标账号注册地、登录方式(移动端登录或web端网页登录)、登录设备信息、登录IP地址等其中的一个或多个,但不局限于此。

在本实施例中,步骤S300具体包括以下步骤:

S310:若本地服务端与上一登录服务端为不同服务端,则根据账号信息判断目标账号是否满足迁移条件。

具体地,如果本地服务端与上一登录服务端为相同服务端,则不需要执行数据迁移,如果本地服务端与上一登录服务端为不同服务端,才可能执行数据迁移。数据迁移指将目标数据从一个站点迁移至另外一个站点;具体地,将目标数据从一个站点的服务端迁移至另外一个站点的服务端进行存储。数据迁移的目的是使目标账号在另外一个站点对应的服务端登录后,能够获得另外一个站点的多种使用权限。

本实施例中,执行数据迁移前需要判断该目标账号是否满足迁移条件,因为,并不是仅仅满足跨站点登录或站点切换就必须执行数据迁移。用户跨站点登录是一个APP或应用程序常态支持的行为,如果只要用户跨站点登录了就迁移数据,可能会过度打扰用户,降低用户使用体验。因此,需要满足一些条件才去会执行数据迁移,具体地是否进行数据迁移需要从多维度考虑,例如,既要遵循用户意愿,也要尽量减少频繁进行数据迁移给用户带来的不便。

迁移条件可以通过用户手机号特征、目标账号的注册地或注册站点以及注册站点的类型、注册IP地址、用户的国籍、用户的常驻地域(账号经常登录的地区)、特有的网络访问方式等一种或多种维度来判断。

是否满足迁移条件具体可以根据如下判断:

例如:根据本地服务端的手机号规则,判断用户手机号特征是否符合本地服务端的手机号规则。例如,判断用户手机号中的区号是否为本地区号,以及判定手机号是否符合本地的手机号格式。若用户手机号的区号为本地区号,且,手机号符合本地的手机号格式,则判定目标账号满足迁移条件。

例如:判断目标账号的注册地是否与本地服务端所在的区域一致,若注册地与本地服务端所在的区域一致,则判定目标账号满足迁移条件。

例如:判断目标账号的注册站点对应的服务端是否为本地服务端,若注册站点对应的服务端为本地服务端,则判定目标账号满足迁移条件。

例如:若本地服务端所对应的站点与目标账号的注册站点的类型相同,则判定目标账号满足迁移条件。

例如:若目标账号的注册IP地址与本地服务端的IP地址相同,则判定目标账号满足迁移条件。

例如:若用户的国籍与本地服务端所对应的国家一致,则判定目标账号满足迁移条件。

例如:若用户的常驻区域与本地服务端所对应的区域一致,则判定目标账号满足迁移条件。

例如:若用户访问本地服务端的网络访问方式为特有的网络访问方式,则判定目标账号满足迁移条件。特有的网络访问方式例如,为了保证信息安全,在一个国家访问另外一个国家的网页内容不能直接访问,而需要借助网络工具。

本申请还可以通过上述一种或多种举例的结合来作为迁移条件,只有同时满足一种或多种条件才能判定为满足迁移条件。当然,本申请的迁移条件仅仅是举例,不限于此。

S320:若目标账号满足迁移条件,则将上一登录服务端的目标数据迁移至本地服务端。

具体地,在本地服务端与上一登录服务端为不同服务端,且,同时目标账号满足迁移条件时,则本地服务端会将上一登录服务端的目标数据迁移至本地服务端。如果本地服务端与上一登录服务端为相同服务端,或,目标账号不满足迁移条件,则不执行目标数据迁移的操作。

本实施例增加了迁移条件来确定是否迁移目标数据,可以有效地在合适的时候迁移数据,同时防止频繁打扰用户,提高用户产品体验。

在一个实施例中,在步骤S300之前,该数据迁移方法还包括以下步骤:

S010:获取目标账号在本地服务端登录的登录信息。

具体地,不管目标账号在哪个站点对应的服务端登录,都会生成有对应的登录信息。登录信息包括登录账号、登录IP地址、登录地区、登录所使用的设备信息(终端设备信息)、登录的端信息(例如是通过web网页登录还是通过APP登录)、登录时间等等不局限于此。

S020:根据登录信息对目标账号的登录态进行合规验证。

具体地,本地服务端预存有登录态合规验证的验证规则,基于验证规则和当前的登录信息实现对目标账号的登录态的合规验证。

合规验证的目的是判断当前目标账号在本地服务端登录是否有效且合法,排除账号非法登录或被盗用的风险。

在本实施例中,步骤S300具体包括:若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则将上一登录服务端的目标数据迁移至本地服务端。

在一个具体实施例中,该方法还包括:若目标账号的登录不合规,则通过登录该目标账号所使用的终端设备向用户发送登录异常提醒,以提醒用户。

在一个实施例中,步骤S310具体包括:若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则根据账号信息判断目标账号是否满足迁移条件。

在一个实施例中,步骤S200具体包括:若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则获取在本地服务端登录的目标账号的账号信息。

具体地,判断本地服务端与上一登录服务端是否为不同服务端,和,判断目标账号的登录态是否合规可以同步进行,也可以没有先后顺序地各自独立执行,还可以设置有先后顺序,在先执行的步骤不通过的时候不再执行后续步骤,从而加快执行速度,快速得到迁移结果。减少了计算量。

先判断本地服务端与上一登录服务端为不同服务端,以及,判断目标账号的登录态合规后,才会判断目标账号是否满足迁移条件,也可以加快执行速度,快速得到迁移结果。减少不必要的计算量。

在一个实施例中,在步骤S300中将上一登录服务端的目标数据迁移至本地服务端之前,该数据迁移方法还包括以下步骤:

S030:若本地服务端与上一登录服务端为不同服务端,则向终端设备发送迁移授权请求,

S040:接收迁移授权结果。

具体地,在确定目标账号满足迁移条件,执行数据迁移前,有必要询问用户是否同意数据迁移,用户有知情权和决定权。用户通过终端设备在本地站点对应的本地服务端登录目标账号,因此,本地服务端会向终端设备发送迁移授权请求,以便用户通过终端设备获取到迁移授权请求。用户通过终端设备向本地服务端发送迁移授权结果。本地服务端接收终端设备发送的用户提供的迁移授权结果。

在一个具体实施例中,迁移授权请求携带所述目标账号对应的迁移请求令牌。迁移请求令牌是本地服务端生成的一串字符串,以作为终端设备向本地服务端进行请求的一个令牌,迁移请求令牌可以为Token。当第一次登录后,本地服务端生成一个Token,并将此Token返回给终端设备,终端设备会识别该Token,成功识别后,以后终端设备只需携带上这个Token向本地服务端请求数据即可,无需再次带上用户名和密码。

使用基于Token的身份验证方法,在服务端不需要存储用户的登录记录。具体流程如下:

终端设备使用目标账号的用户名和密码请求登录本地站点;

本地服务端接收到登录请求后,验证用户名与密码;

验证成功后,本地服务端会签发或生成一个Token,再将这个Token发送给终端设备;

终端设备接收到Token后可以把它存储起来,比如放在Cookie里或者LocalStorage里;

终端设备每次向本地服务端请求数据资源的时候需要带着服务端签发的Token;

本地服务端接收到终端设备的数据请求时,会去验证终端设备请求里面携带的Token,如果验证成功,就向客户端返回请求的数据。

例如,APP登录的时候发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果成功,以某种方式比如随机生成32位的字符串作为Token,存储到服务器中,并返回Token到APP,以后APP请求时,凡是需要验证的地方都要带上该Token,然后服务端验证Token,成功返回所需要的结果,失败返回错误信息,让他重新登录。其中,服务器上Token设置有有效期,每次APP请求的时候都验证Token和有效期。

终端设备接收到迁移授权请求,且,成功识别迁移请求令牌后,触发并显示迁移确认信息以供用户确认是否授权,终端设备通过人机交互获取用户基于迁移确认信息提供的迁移授权结果,并将迁移授权结果发送至本地服务端。

具体地,终端设备通过迁移确认弹窗显示迁移确认信息以供用户确认是否授权。迁移确认弹窗上还可以包括同意操控件或拒绝按钮操控件,供用户选择,以接收用户的迁移授权结果。迁移确认弹窗上还可以显示迁移提示和相关协议,以向用户预告迁移的相关事项。

在一个实施例中,步骤S300具体包括:若本地服务端与上一登录服务端为不同服务端,且,迁移授权结果为同意迁移,则将上一登录服务端的目标数据迁移至本地服务端。

具体地,先判断本地服务端与上一登录服务端是否为不同服务端,若为不同服务端,则继续判断用户是否同意迁移,若同意迁移,则本地服务端将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,步骤S320具体包括:若目标账号满足迁移条件,且,迁移授权结果为同意迁移,则将上一源站点的目标数据迁移至本地站点。

具体地,先判断目标账号是否满足迁移条件,在满足迁移条件后判断用户是否同意迁移,在同时满足目标账号满足迁移条件,且,用户同意迁移后,本地服务端才会执行数据迁移动作。

在一个实施例中,迁移授权请求携带目标账号对应的迁移请求令牌,迁移授权结果携带待校验迁移请求令牌。

步骤将上一登录服务端的目标数据迁移至本地服务端,具体包括以下步骤:

S350:根据目标账号对应的迁移请求令牌对待校验迁移请求令牌进行校验,

S360:若校验成功,则获取并存储上一登录服务端存储的目标数据。

具体地,虽然目标账号对应的迁移请求令牌是本地服务端下发的,但是在终端设备再次向本地服务端请求数据时,本地服务端还是会对终端设备发送的迁移授权结果中携带的待校验迁移请求令牌进行再次身份校验。这样才能够确定终端设备发送的迁移授权结果是否为目标账号对应的迁移授权结果,保证了交互数据的正确性。

如果迁移授权结果携带的待校验迁移请求令牌是该目标账号对应的迁移请求令牌,则校验成功,本地服务端会根据迁移授权结果来执行数据迁移动作。如果迁移授权结果携带的待校验迁移请求令牌不是该目标账号对应的迁移请求令牌,则校验失败,本地服务端不会根据迁移授权结果来执行数据迁移动作。

执行数据迁移具体过程为:本地服务端调用上一登录服务端的第一服务对应的第一接口(例如,http接口),以从上一登录服务端获取并存储目标数据。目标数据包括该目标账号的用户数据。用户数据包括用户的账号昵称、用户头像、个人简介等信息。

在一个具体实施例中,步骤S360具体包括:若校验成功,本地服务端的消息生产者生产出迁移消息并加入消息队列,本地服务端的消息消费者监听到该迁移消息后,异步消费该迁移消息,以调用上一登录服务端的第一服务,以实时从上一登录服务端获取目标数据,并保存。

通过本申请实现了数据迁移与账号登录的异步解耦。

在一个具体实施例中,步骤S360具体包括:若校验成功,从上一登录服务端同步拉取并存储上一登录服务端存储和更新的目标数据。

具体地,若目标账号在本地服务端登录的同时,在上一登录服务端也同时登录了,那么就有可能出现用户在上一登录服务端修改目标数据的情况。为了保证本地服务端从上一登录服务端获得的目标数据是最新的数据,本实施例的本地服务端会同步拉取上一登录服务端存储的目标数据和更新的目标数据,保证了本地服务端获取到的目标数据是上一登录服务端中最新的完整目标数据,防止在上一登录服务端目标数据发生变更的时候,本地服务端拉取的目标数据不完整或遗漏。

在一个实施例中,在步骤将上一登录服务端的目标数据迁移至本地服务端之后之后,该数据迁移方法还包括以下步骤:

S400:向上一登录服务端发送注销指令,使上一登录服务端注销目标数据。

或,S400:向上一登录服务端发送备份注销指令,使上一登录服务端备份并注销目标数据。

具体地,本地服务端迁移目标数据后,本地服务端向上一登录服务端发送注销指令或备份注销指令,以调用上一登录服务端的第二服务对应的第二接口,使上一登录服务端注销目标数据或备份并注销目标数据。备份目标数据是为了支持后续目标数据的回滚操作。备份的具体操作为将目标数据的相关信息存储于数据备份表中。

注销的目的是防止用户在不同站点更改目标数据(例如,用户数据)后,导致各个站点的相同数据对应不同值,导致用户数据紊乱。注销可以保证用户数据只存在于一个站点中,保证了用户数据的唯一性。

在一个实施例中,该数据迁移方法还包括以下步骤:

S500:若迁移失败,则重新执行步骤S360。

具体地,如果目标数据迁移失败,则本地服务端会自动重试执行步骤S360,以重新执行获取并存储上一登录服务端存储的目标数据的步骤,以调用上一登录服务端的第一服务,以获取并存储上一登录服务端存储的目标数据,直到成功将目标数据从上一登录服务端迁移至本地服务端。

具体地,本地服务端的消息消费者会重新消费迁移消息,以实现从上一源站点对应的服务端获取目标数据。

当然,为了避免本地服务端在重试过程中陷入死循环,本申请还可以设置重试的次数阈值,当重试的次数达到次数阈值时,则不再重试。优选地,可以将重试失败的结果通过终端设备提供给用户。

本申请的重试操作支持幂等,从而可以保证迁移流程的可靠性。

在一个实施例中,该数据迁移方法还包括以下步骤:

S600:对目标数据中不符合本地服务端的管理规则的数据进行屏蔽处理。

具体地,不同的站点对应不同的地域或国家,由于地域或国家对于网络信息的规则或要求不同,因此,相同的信息可能在有的站点合法,在有的站点不合法。因此,在跨站点进行目标数据迁移的时候,还需要基于目标站点即本地站点的管理规则,对迁移过来的目标数据中的各个子数据进行审核,以确定目标数据中的各个子数据是否在本地站点合法。其中,管理规则存储于本地站点对应的本地服务端中。

如果目标数据中存在不符合管理规则的违规数据,则本地服务端会将该违规数据进行屏蔽处理。屏蔽处理具体为不让违规数据显示或展现在该本地站点,或,使用默认的合规数据替换违规数据。默认的合规数据可以由用户根据实际情况更改。例如,用户数据中的用户头像违规,则使用默认头像替换违规头像。默认头像是合规的头像。用户在发现头像为默认头像后,可以自行将默认头像更改为合规的其他头像。再例如,用户数据中的用户昵称不合规,则使用默认昵称替换违规昵称。

在一个实施例中,该数据迁移方法还包括以下步骤:

S700:接收用户的迁移异议请求;

S800:根据迁移异议请求,注销目标数据,或,备份且注销目标数据;

S900:向上一登录服务端发送回滚指令,使上一登录服务端执行回滚操作,以使上一登录服务端恢复目标数据。

具体地,虽然本地服务端将目标数据从上一登录服务端迁移过来了,并且也控制上一登录服务端备份并注销了目标数据。但是在有的情况下,用户可能会反悔数据迁移,或,由于用户误操作想撤销数据迁移。为了便于将本地服务端和上一登录服务端恢复至迁移前的状态,本实施例支持回滚操作。

更具体地,本地服务端接收用户通过终端设备发送的迁移异议请求,并根据迁移异议请求注销迁移过来的目标数据或备份且注销目标数据。同时,为了让上一登录服务端恢复到数据迁移前的状态,本地服务端还需要向上一登录服务端发送回滚指令,使上一登录服务端根据该回滚指令执行回滚操作。回滚操作具体为调用备份的目标数据,使上一登录服务端恢复目标数据,进而使上一登录服务端能够正常使用目标数据,和/或,在上一登录服务端对应的上一源站点能够正常显示目标数据,使用户在上一源站点能够正常使用各种站点权限。

通过本实施例可以非常方便的解决数据的回滚问题,提高了撤销速度,提高了用户使用体验。

本申请为了解决用户跨站点登录场景下,用户产品体验和使用体验下降的问题,设计并实现了数据迁移方案,实现了多站点用户信息迁移。本方案在用户授权的基础上,能够解决多站点间异构存储的用户信息的迁移。用户授权后,迁移流程对用户无感,且支持回滚,能够提升用户使用体验,降低客诉风险;迁移流程使用令牌串联,具备安全性;迁移流程支持失败重试,具备可靠性。

本申请的用户信息的跨站点迁移可采用两种形式触发,第一种是用户主动选择触发,第二种是通过推送机制触发,两种形式都需要基于用户授权,保护用户知情权,降低后续客诉风险,用户授权后方可对用户信息进行迁移。因此一次用户信息迁移流程会被划分为多步操作,本方案采用令牌串联流程,防止黑产恶意侵入、篡改流程,保证流程安全性。为提升用户使用体验,授权后整个用户信息迁移流程应做到对用户无感,不应阻断用户使用,因此本方案基于消息队列实现了一种异步化迁移方式。为避免遗漏迁移过程中发生的用户信息变更,本方案在迁移时同步拉取用户信息,从而保证用户数据的实时性和完整性。

图2为本申请一实施例中数据迁移方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图3为本申请一实施例中数据迁移装置的结构框图;参考图3,该数据迁移装置包括:

第一获取模块100,用于获取在本地服务端登录的目标账号的上一登录服务端;

迁移模块300,用于若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,该装置还包括:

第二获取模块200,用于获取在本地服务端登录的目标账号的账号信息。

在本实施例中,迁移模块300,具体包括:

判断模块310,用于若本地服务端与上一登录服务端为不同服务端,则根据账号信息判断目标账号是否满足迁移条件,

子迁移模块320,用于若目标账号满足迁移条件,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,该装置还包括:

登录信息获取模块010,用于获取目标账号在本地服务端登录的登录信息,

登录验证模块020,用于根据登录信息对目标账号的登录态进行合规验证。

在一个实施例中,判断模块310,具体用于若本地服务端与上一登录服务端为不同服务端,且,目标账号的登录态合规,则根据账号信息判断目标账号是否满足迁移条件。

在一个实施例中,该装置还包括:

请求模块030,用于若目标账号满足迁移条件,则向终端设备发送迁移授权请求,

第一接收模块040,用于接收迁移授权结果;

子迁移模块320,具体用于:

若目标账号满足迁移条件,且,迁移授权结果为同意迁移,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,迁移授权请求携带目标账号对应的迁移请求令牌,迁移授权结果携带待校验迁移请求令牌。

迁移模块300,具体包括:

身份校验模块350,用于根据目标账号对应的迁移请求令牌对待校验迁移请求令牌进行校验,

存储模块360,用于若校验成功,则获取并存储上一登录服务端存储的目标数据。

在一个实施例中,该装置还包括:

第一控制模块410,用于向所述上一登录服务端发送注销指令,使上一登录服务端注销目标数据。

在一个实施例中,该装置还包括:

第二控制模块420,用于向上一登录服务端发送注备份注销指令,使上一登录服务端备份并注销目标数据。

在一个实施例中,该装置还包括:

重试模块500,用于若迁移失败,则重新执行获取并存储上一登录服务端存储的目标数据的步骤。

在一个实施例中,该装置还包括:

屏蔽模块600,用于对目标数据中不符合本地服务端的管理规则的数据进行屏蔽处理。

在一个实施例中,该装置还包括:

第二接收模块700,用于接收用户的迁移异议请求;

注销模块800,用于根据迁移异议请求,注销目标数据,或,备份且注销目标数据;

第三控制模块900,用于向上一登录服务端发送回滚指令,使上一登录服务端执行回滚操作,以使上一登录服务端恢复目标数据。

在一个实施例中,存储模块360具体用于:

从上一登录服务端同步拉取并存储上一登录服务端存储和更新的目标数据。

图4为本申请一实施例中数据迁移流程时序图;参考图4,站点B用户通过终端设备跨站点登录到站点A。站点A的服务端获取站点B用户对应账号的登录信息,根据登录信息对目标账号的登录态进行合规验证,以实现登录态鉴权。登录态鉴权合规,站点A的服务端获站点B用户对应账号的账号信息,并根据账号信息对站点B用户对应账号进行迁移条件研判,以判断是否满足迁移条件。若满足迁移条件,则站点A的服务端向终端设备下发迁移请求令牌(例如:Token)。终端设备接收到迁移请求令牌后触发并显示迁移确认弹窗,以供用户查看并决定是否授权数据迁移。用户基于迁移确认弹窗上的信息授权用户信息迁移,终端设备通过迁移确认弹窗得到迁移授权结果,并将迁移授权结果上传至站点A的服务端。站点A的服务端接收到迁移授权结果后,对其中携带的迁移请求令牌进行云端校验。校验成功后,站点A的服务端调用站点B的服务端的第一服务接口,以从站点B的服务端获取用户信息。站点A的服务端还会对获取的用户信息进行本地校验(例如:判断是否有违规信息)和迁移。站点A的服务端还会调用站点B的服务端的第二服务接口,使站点B的服务端对用户信息进行备份和注销。进而完成整个用户信息迁移的流程。

图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一服务器120。如图5所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据迁移方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据迁移方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的数据迁移装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据迁移装置的各个程序模块,比如,图3所示的第一获取模块100和迁移模块300。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据迁移方法中的步骤。

图5所示的计算机设备可以通过如图3所示的数据迁移装置中的第一获取模块100模块执行获取在本地服务端登录的目标账号的上一登录服务端。计算机设备可通过迁移模块300执行若若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取在本地服务端登录的目标账号的上一登录服务端;若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,处理器执行计算机程序时还实现上述任一项的数据迁移方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取在本地服务端登录的目标账号的上一登录服务端;若本地服务端与上一登录服务端为不同服务端,则将上一登录服务端的目标数据迁移至本地服务端。

在一个实施例中,计算机程序被处理器执行时还实现上述任一项的数据迁移方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

相关技术
  • 数据迁移方法、装置、计算机可读存储介质和计算机设备
  • 一种数据迁移的方法及装置、计算机设备和存储介质
技术分类

06120112923285