CN114764403A - 一种数据迁移方法、装置、设备及存储介质 - Google Patents
一种数据迁移方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114764403A CN114764403A CN202110049765.4A CN202110049765A CN114764403A CN 114764403 A CN114764403 A CN 114764403A CN 202110049765 A CN202110049765 A CN 202110049765A CN 114764403 A CN114764403 A CN 114764403A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- database
- target data
- storage position
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据迁移方法、装置、设备及存储介质,其中该方法包括:确定与数据迁移操作相关的目标用户,目标用户在源数据库中存储的目标数据需要通过该数据迁移操作迁移至目标数据库;执行数据迁移操作时,将目标数据存储至目标数据库,并且保留源数据库中存储的所述目标数据;在存储位置记录表中,记录目标数据在源数据库中的存储位置、以及目标数据在目标数据库中的存储位置;当接收到针对目标数据的访问请求时,在存储位置记录表中查询所述目标数据的存储位置,基于该存储位置访问目标数据。该方法能够在不中断业务的情况下完成数据迁移,保证用户获得较好的使用体验。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据迁移方法、装置、设备及存储介质。
背景技术
在数据量急剧膨胀、且数据安全问题被越来越重视的今天,数据迁移已成为很多应用场景中都可能面对的情况。换言之,为了满足相关的数据存储要求,在很多应用场景中,都存在将某些数据从一个数据库迁移至另一个数据库中存储的需求。
在一种示例性的应用场景中,在扩展国际化业务的过程中,为了满足相关地域的数据保护法令,如用于保护欧盟公民数据安全性的通用数据保护条例(General DataProtection Regulation,GDPR),需要将欧盟公民的相关数据从部署于国内的数据库迁移至部署于海外的数据库中存储。
相关技术中,通常只能在中断业务的情况下进行数据迁移,待完成数据迁移后,再恢复所中断的业务。在业务中断的过程中,相关用户无法对数据库中存储的数据进行任何处理,这在很大程度上降低了用户的使用体验。
发明内容
本申请实施例提供了一种数据迁移方法、装置、设备及存储介质,能够在不中断业务的情况下完成数据迁移,保证用户获得较好的使用体验。
有鉴于此,本申请第一方面提供了一种数据迁移方法,所述方法包括:
确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
本申请第二方面提供了一种数据迁移装置,所述装置包括:
目标用户确定模块,用于确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
数据迁移模块,用于执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
存储位置记录模块,用于在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
数据访问模块,用于当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的数据迁移方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的数据迁移方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的数据迁移方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
在本申请实施例提供的数据迁移方法中,先确定与数据迁移操作相关的目标用户,目标用户在源数据库中存储的目标数据需要通过数据迁移操作迁移至目标数据库;执行数据迁移操作时,将目标数据存储至目标数据库,并且保留源数据库中存储的目标数据;同时,在存储位置记录表中相应地记录目标数据在源数据库中的存储位置、以及目标数据在目标数据库中的存储位置;当接收到针对目标数据的访问请求时,可以在存储位置记录表中查找该目标数据的存储位置,进而基于该存储位置访问目标数据。上述数据迁移方法在执行数据迁移操作的过程中,在将目标数据存储至目标数据库的同时,仍保留存储在源数据库中的目标数据,并且在存储位置记录表中相应地记录目标数据在源数据库和目标数据库中的存储位置,若在数据迁移的过程中接收到针对目标数据的访问请求,可以基于存储位置记录表中记录的目标数据的存储位置,相应地访问该目标数据;如此,实现了在不中断业务的情况下进行数据迁移,保证用户可以正常访问数据库中的数据,从而保证了用户的使用体验。
附图说明
图1为本申请实施例提供的数据迁移方法的应用场景示意图;
图2为本申请实施例提供的数据迁移方法的流程示意图;
图3为本申请实施例提供的GDPR业务的实现拓扑图;
图4为本申请实施例提供的GDPR用户首次登录目标网络平台或者在目标网络平台上注册新账号时的实现流程示意图;
图5为本申请实施例提供的GDPR用户二次登录目标网络平台的实现流程示意图;
图6为本申请实施例提供的第一种数据迁移装置的结构示意图;
图7为本申请实施例提供的第二种数据迁移装置的结构示意图;
图8为本申请实施例提供的第三种数据迁移装置的结构示意图;
图9为本申请实施例提供的第四种数据迁移装置的结构示意图;
图10为本申请实施例提供的第五种数据迁移装置的结构示意图;
图11为本申请实施例提供的第六种数据迁移装置的结构示意图;
图12为本申请实施例提供的第七种数据迁移装置的结构示意图;
图13为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,在将数据从源数据库向目标数据库迁移的过程中,通常需要中断与所迁移的数据相关的业务,此时,用户无法对所迁移的数据进行任何处理;在一些情况下,甚至需要中断与数据库相关的业务,导致用户无法对数据库中的数据进行任何处理。这在很大程度上降低了用户的使用体验。
针对上述相关技术存在的问题,本申请实施例提供了一种数据迁移方法,该方法能够在不影响业务的情况下进行数据迁移,保障用户的使用体验。
具体的,在本申请实施例提供的数据迁移方法中,先确定与数据迁移操作相关的目标用户,目标用户在源数据库中存储的目标数据需要通过数据迁移操作迁移至目标数据库;执行数据迁移操作时,将目标数据存储至目标数据库,并且保留源数据库中存储的目标数据;同时,在存储位置记录表中相应地记录目标数据在源数据库中的存储位置、以及目标数据在目标数据库中的存储位置;当接收到针对目标数据的访问请求时,可以在存储位置记录表中查找该目标数据的存储位置,进而基于该存储位置访问目标数据。
上述数据迁移方法在执行数据迁移操作的过程中,在将目标数据存储至目标数据库的同时,仍保留存储在源数据库中的目标数据,并且在存储位置记录表中相应地记录目标数据在源数据库和目标数据库中的存储位置;若在数据迁移的过程中接收到针对目标数据的访问请求,可以基于存储位置记录表中记录的目标数据的存储位置,相应地访问该目标数据;如此,实现了在不中断业务的情况下进行数据迁移,保证用户可以正常访问数据库中的数据,从而保证了用户的使用体验。
应理解,本申请实施例提供的数据迁移方法可以由服务器执行,该服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。当上述服务器为由多个物理服务器构成的服务器集群或者分布式系统时,多个物理服务器可以组成为一区块链,每个物理服务器为该区块链上的节点。
为了便于理解本申请实施例提供的数据迁移方法,下面对本申请实施例提供的数据迁移方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的数据迁移方法的应用场景示意图。如图1所示,该应用场景中包括服务器110、源数据库120、目标数据库130和终端设备140,服务器110可以通过网络访问源数据库120和标数据库130,服务器110与终端设备140之间可以通过网络进行信息交互。其中,服务器110用于执行本申请实施例提供的数据迁移方法,将源数据库120中存储的目标用户的目标数据迁移至目标数据库130中;终端设备140面向目标用户,其可以向服务器110发送针对目标数据的访问请求。
在实际应用中,服务器110可以先确定与数据迁移操作相关的目标用户,目标用户在源数据库120中存储的目标数据即为需要通过数据迁移操作迁移至目标数据库130中的数据。示例性的,在基于特定目标(如提高数据存储安全性、提高数据访问便捷性、相关特定的数据存储要求等)进行数据迁移的场景中,服务器110可以将目标网络平台上与该特定目标相关的用户视为目标用户,例如,可以将目标网络平台上的VIP用户、存储有高重要级别的数据的用户、所属于特定地域的用户等视为目标用户;目标用户的目标数据可以是目标用户在目标网络平台上存储的所有数据,也可以是目标用户在目标网络平台上存储的部分特定的数据,如个人信息、具有高重要级别的数据等;目标数据库相比源数据库更满足上述特定目标,例如,目标数据库可以是相比源数据库具有更高安全性的数据库,或者目标数据库也可以是相比源数据支持更快访问数据的数据库,或者目标数据库还可以是能够满足特定的数据存储要求的数据库,等等。在此不对本申请实施例中的数据迁移操作所基于的特定目标做任何限定,也不对目标用户、目标用户的数据、源数据库以及目标数据库做任何限定。在本公开中以GDPR作为例子的各个实施例的技术方案也可以适用于其他需要数据迁移的场景。
服务器110确定出与数据迁移操作相关的目标用户后,在源数据库120中查找该目标用户的目标数据,并且复制该目标用户的目标数据,将所复制的目标数据存储至目标数据库130中;在此过程中,源数据库120中存储的目标数据不发生变动,即仍保留源数据库120中存储的目标数据。与此同时,服务器110可以在存储位置记录表中记录目标数据在源数据库120中的存储位置、以及目标数据在目标数据库130中的存储位置;该存储位置记录表专用于记录所需迁移的目标数据的存储位置,其中记录的存储位置可以跟随目标数据的存储位置的改变而相应地改变;该存储位置记录表可以存储在源数据库120中,也可以存储在服务器110中。
当服务器110接收到终端设备140发来的针对目标数据的访问请求时,服务器110可以在存储位置记录表中查找该目标数据的存储位置,进而,基于该存储位置访问该目标数据。具体的,在存储位置记录表中记录有目标数据在目标数据库130中的存储位置的情况下,服务器110可以直接基于目标数据在目标数据库130中的存储位置,访问存储在目标数据库130中的目标数据;在存储位置记录表中没有记录目标数据在目标数据库130中的存储位置的情况下,服务器110可以基于目标数据在源数据库120中的存储位置,访问存储在源数据库120中的目标数据。
应理解,图1所示的应用场景仅为示例,在实际应用中,用于将目标数据从源数据库120迁移至目标数据库130中的服务器与用于响应针对目标数据的访问请求访问目标数据的服务器可以为同一服务器,也可以为不同的服务器。在此不对本申请实施例提供的数据迁移方法的应用场景做任何限定。
下面通过方法实施例对本申请提供的数据迁移方法进行详细介绍。
参见图2,图2为本申请实施例提供的数据迁移方法的流程示意图。为了便于描述,下述实施例以该数据迁移方法的执行主体为服务器为例进行介绍。如图2所示,该数据迁移方法包括以下步骤:
步骤201:确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库。
在实际应用中,服务器在执行数据迁移操作之前,需要先确定与数据迁移操作相关的目标用户,即确定需要针对哪些用户所存储的目标数据进行数据迁移操作。换言之,目标用户在源数据库中存储的目标数据需要通过本次数据迁移操作被迁移至目标数据库。
需要说明的是,在不同的应用场景中,目标用户可以为不同的用户,即可以根据实际场景需求确定哪些用户属于目标用户。示例性的,在基于特定的数据存储要求的数据迁移场景中,目标用户可以为与该数据存储要求相关的用户,例如,在基于GDPR进行数据迁移的场景中,目标用户可以为GDPR用户即欧盟用户;在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,目标用户可以为目标网络平台上的VIP用户,也可以为在目标网络平台上存储有高重要级别的数据的用户;在此不对本申请实施例提供的数据迁移方法适用的应用场景做任何限定,也不对与数据迁移操作相关的目标用户做任何限定。
示例性的,在本申请实施例提供的方法基于特定的数据存储要求GDPR进行数据迁移的情况下,可以通过以下方式确定目标用户:针对目标网络平台上的每个用户,根据该用户的个人基本信息确定该用户的所属地域,此处的个人基本信息可以包括以下至少一种:个人联系方式、个人居住地址;进而,将所属地域处于预设地域范围内的用户,确定为目标用户。
具体的,通常情况下,支持国际化业务的目标网络平台会要求用户在注册账号时提供能够表征其所属地域的个人基本信息,如个人联系方式(其中包括有能够表征用户所属地域的区号)、个人居住地址等;若针对目标网络平台上的某个用户未检测到其个人基本信息,服务器会进一步为用户提供相关的个人基本信息填写入口,以支持用户通过该入口填写其个人基本信息。
进而,服务器可以根据目标用户平台上每个用户的个人基本信息,相应地确定每个用户的所属地域;对于所属地域处于预设地域范围的用户,服务器可以将其作为目标用户;应理解,上述预设地域范围应当是根据GDPR确定的地域范围。
应理解,在实际应用中,对于其它的数据迁移场景,服务器也可以采用相应的方式确定目标网络平台上的目标用户;例如,在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,服务器可以根据目标网络平台上各个用户各自关联的身份标识,从中识别出VIP用户作为目标用户,或者服务器可以确定目标网络平台上存储有高重要级别的数据的用户作为目标用户。本申请在此不对确定目标用户的方式做任何限定。
需要说明的是,目标用户的目标数据可以根据实际场景需求进行设定。例如,在基于特定的数据存储要求(如GDPR等)进行数据迁移的应用场景中,可以将与该数据存储要求相关的用户(如GDPR用户)的所有数据(包括但不限于个人信息、个人在目标网络平台上存储的数据等)均作为目标数据;又例如,在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,可以将目标网络平台上VIP用户的所有数据(包括但不限于个人信息、个人在目标网络平台上存储的数据等)均作为目标数据,也可以将目标网络平台上各个用户存储的高重要级别的数据作为目标数据,还可以将目标网络平台上各个用户存储的敏感数据(如个人私密数据)作为目标数据。本申请在此不对目标数据做任何限定。
需要说明的是,在不同的应用场景中,源数据库和目标数据库可以为不同类型的数据库。示例性的,在基于特定的数据存储要求进行数据迁移的应用场景中,源数据库和目标数据库可以为部署在不同地域的数据库,例如,在基于GDPR进行数据迁移的应用场景中,源数据库可以为部署在国内的数据库,目标数据库可以为部署在海外的数据库。示例性的,在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,目标数据库可以为性能优于源数据库的数据库,如读写速度较快、存储空间较大、安全性较好的数据库。本申请在此不对上述源数据库和目标数据库做任何限定。
应理解,在实际应用中,源数据库和目标数据库可以均为数据存储集群,即源数据库中包括多个源子数据库,目标数据库中包括多个目标子数据库;或者,源数据库和目标数据库也可以均为独立的数据库;或者,源数据库和目标数据库中可以有一个数据库为数据存储集群,另一个为独立的数据库;本申请在此不对源数据库和目标数据库的形式做任何限定。
可选的,考虑到通常情况下服务器未获得目标用户的授权时,不具有将目标用户的目标数据从一个数据库迁移至另一个数据库的权限,因此,服务器在进行数据迁移操作之前,还需要与目标用户进行信息交互,以得到目标用户的授权。
即,服务器可以向目标用户发送权限设置提示信息,该权限设置提示信息用于提示目标用户是否允许将目标数据迁移至目标数据库;然后,接收目标用户针对该权限提示信息反馈的响应信息;若该响应信息表征目标用户允许将目标数据迁移至目标数据库,则针对该目标数据执行数据迁移操作;若该响应信息表征目标用户不允许将目标数据迁移至目标数据库,则向目标用户发送拒绝服务提示信息,该拒绝服务提示信息用于提示目标用户在不迁移目标数据的情况下无法提供目标服务。
以本申请实施例提供的方法应用于基于GDPR进行数据迁移的应用场景为例,服务器可以在检测到GDPR用户登录目标网络平台时,向GDPR用户发送权限设置提示信息,以通过该权限设置提示信息提示GDPR用户授权允许服务器将其存储的目标数据从源数据库迁移至目标数据库。GDPR用户接收到该权限设置提示信息后,可以相应地选择是否授权允许服务器对其存储的目标数据进行数据迁移操作,并根据选择结果向服务器反馈响应信息。若该响应信息表明GDPR用户授权允许服务器将其存储的目标数据从源数据库迁移至目标数据库,则服务器可以进一步针对该GDPR用户在源数据库中存储的目标数据进行数据迁移操作;反之,若该响应信息表明GDPR用户没有授权允许服务器将其存储的目标数据从源数据库迁移至目标数据库,则服务器可以向GDPR用户反馈拒绝服务提示信息,以提示GDPR用户在其不授权允许服务器迁移目标数据的情况下,无法为其提供相关的目标服务。
应理解,当本申请实施例提供的方法应用于其它应用场景中时,如以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,服务器可以与目标网络平台上的VIP用户或者存储有高重要级别的数据的用户进行信息交互,以得到目标用户授予的数据迁移权限。
步骤202:执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据。
服务器确定出与数据迁移操作相关的目标用户后,进一步针对目标用户的目标数据执行数据迁移操作;具体实现时,服务器可以将目标用户的目标数据存储至目标数据库,同时保留源数据库中存储的目标数据;即,服务器可以复制源数据库中存储的目标数据,并将所复制的目标数据存储至目标数据库;在此过程中,源数据库中存储的目标数据保持不变。
需要说明的是,数据迁移操作通常涉及多个目标用户的目标数据,在实际应用中,通常将所有目标用户的目标数据均迁移至目标数据库后,才可视为完成数据迁移操作。例如,在基于特定的数据存储要求(如GDPR)进行数据迁移的应用场景中,将目标网络平台上所有与该数据存储要求相关的用户(如所有GDPR用户)的目标数据均迁移至目标数据库,才可认为完成对于GDPR用户的数据迁移操作;又例如,在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,将目标网络平台上所有VIP用户的目标数据均迁移至目标数据库,才可认为完成对于VIP用户的数据迁移操作,或者将目标网络平台上所有用户存储的高重要级别的数据均迁移至目标数据库,才可认为完成对于VIP用户的数据迁移操作。
步骤203:在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置。
将目标数据存储至目标数据库中后,服务器可以相应地在存储位置记录表中记录该目标数据在源数据库中的存储位置、以及该目标数据在目标数据库中的存储位置。
需要说明的是,上述存储位置记录表专用于记录所需迁移的目标数据的存储位置,在将目标数据存储至目标数据库中前,该存储位置记录表中只记录有目标数据在源数据库中的存储位置,在将目标数据存储至目标数据库中后,该存储位置记录表中同时记录有该目标数据在目标数据库和在源数据库中的存储位置。该存储位置记录表作为目标用户可查询的全量存储位置信息记录表,可以为目标用户提供目标数据的存储位置信息。
此外,上述存储位置记录表的存储位置可以根据实际应用需求进行设定,例如,可以将该存储位置记录表存储于源数据库、目标数据库和服务器中的任意一者或多者上,在此不对本申请实施例提供的存储位置记录表的存储位置做任何限定。在基于特定的数据存储要求(如GDPR)进行数据迁移的应用场景中,为了确保存储位置记录表的存储安全性,上述存储位置记录表通常被存储在源数据库中。
在实际应用中,为了能够存储更多的数据,方便用户更快地访问其所需的数据,通常以数据存储集群的形式部署数据库。即上述源数据库实际上可以为源数据存储集群,其中包括多个源子数据库,上述目标数据库实际上可以为目标数据存储集群,其中包括多个目标子数据库。在该种情况下,为了便于在存储位置记录表中快速地查找目标数据的存储位置,通常可以采用以下方式记录目标数据的存储位置:在存储位置记录表中,记录目标用户的标识、用于存储目标数据的源子数据库的标识、以及目标数据在源子数据库中的存储位置这三者之间的对应关系,并且记录目标用户的标识、用于存储目标数据的目标子数据库的标识、以及目标数据在目标子数据库中的存储位置这三者之间的对应关系。
具体的,在将目标数据迁移至目标数据库中前,服务器可以在存储位置记录表中,记录目标用户的标识、用于存储该目标用户的目标数据的源子数据库的标识、以及该目标数据在源子数据库中的存储位置这三者之间的对应关系;在将目标数据迁移至目标数据库中后,服务器可以进一步在存储位置记录表中,记录目标用户的标识、用于存储该目标用户的目标数据的目标子数据库的标识、以及该目标数据在目标子数据库中的存储位置这三者之间的对应关系。相应地,基于该存储位置记录表查找目标数据的存储位置时,服务器可以根据访问目标数据的目标用户的标识,在存储位置记录表中找到该目标用户的目标数据所存储的子数据库(源子数据库和/或目标子数据库),进而,找到该目标数据在该子数据库中的存储位置。
步骤204:当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
如若服务器在进行数据迁移操作的过程中接收到目标用户针对目标数据的访问请求,则服务器可以在存储位置记录表中查找该目标数据的存储位置,进而,基于该存储位置访问该目标数据,并将该目标数据反馈给目标用户。
具体的,在未完成数据迁移操作时,服务器可以先判断存储位置记录表中是否包括目标数据在目标数据库中的存储位置;若存储位置记录表中包括该目标数据在目标数据库中的存储位置,则服务器可以基于该目标数据在目标数据库中的存储位置,在目标数据库中访问该目标数据;反之,若存储位置记录表中不包括该目标数据在目标数据库中的存储位置,则服务器可以基于该目标数据在源数据库中的存储位置,在源数据库中访问该目标数据。
下面以本申请实施例提供的方法用于基于GDPR进行数据迁移,且存储位置记录表中记录有GDPR用户的标识、用于存储目标数据的子数据库(源子数据库和/或目标子数据库)的标识、目标数据在子数据库中的存储位置这三者之间的对应关系为例,对上述目标数据的访问过程进行示例性介绍。
服务器接收到GDPR用户针对目标数据的访问请求后,可以先判断存储位置记录表中是否包括该目标数据在目标数据存储集群中的存储位置;若包括,则基于该GDPR用户的标识,在存储位置记录表中查找用于存储该GDPR用户的目标数据的目标子数据库,进而,基于存储位置记录表中记录的目标数据在目标子数据库中的存储位置,访问存储在该目标子数据库中的目标数据;若不包括,则基于该GDPR用户的标识,在存储位置记录表中查找用于存储该GDPR用户的目标数据的源子数据库,进而,基于存储位置记录表中记录的该目标数据在源子数据库中的存储位置,访问存储在该源子数据库中的目标数据。
可选的,在实际应用中,目标数据库可以包括第一缓存区和第一持久化存储区,第一缓存区的读取速度大于第一持久化存储区的读取速度,但是第一缓存区的存储容量小于第一持久化存储区的存储容量。服务器进行数据迁移操作时,通常将目标数据存储至目标数据库的第一持久化存储区中。
为了便于在目标用户二次访问目标数据时,服务器可以更快地确定目标数据的存储位置,服务器可以在目标用户首次访问目标数据时,在存储位置记录表中查找到目标数据的存储位置后,在目标数据库的第一缓存区中存储该目标数据的存储位置;若在第一预设时间段内服务器再次接收到目标用户针对目标数据的访问请求,服务器可以直接在目标数据库的第一缓存区中查找目标数据的存储位置,进而基于该存储位置访问目标数据。
以本申请实施例提供的方法用于基于GDPR进行数据迁移,且存储位置记录表存储在部署于国内的源数据库中为例,服务器响应于GDPR用户针对目标数据的访问请求,在源数据库中存储的存储位置记录表中查找到目标数据的存储位置后,相应地在部署于海外的目标数据库的第一缓存区中存储该目标数据的存储位置;若服务器在第一预设时间段内再次接收到该GDPR用户针对该目标数据的访问请求,服务器可以直接在目标数据库的第一缓存区中查找该目标数据的访问位置,进而基于该访问位置再次访问目标数据。
应理解,若GDPR用户的目标数据已被迁移至部署于海外的目标数据库,通过上述操作,GDPR用户频繁访问目标数据时,可以直接在目标数据库中查找到目标数据在目标数据库中的存储位置,并基于该存储位置在目标数据库中访问目标数据,无需跨区域查找目标数据的存储位置,可以大大减少GDPR用户在相关业务服务中的延时,即有效地减少数据访问超时的情况发生,提升了用户的使用体验。
此外,在实际应用中,源数据库与目标数据库相类似,其中可以包括第二缓存区和第二持久化存储区,为了确保存储位置记录表的存储安全性,通常将存储位置记录表存储在该第二持久化存储区中。第二缓存区的读取速度大于第二持久化存储区的读取速度,但是第二缓存区的存储容量小于第二持久化存储区的存储容量。
为了便于目标用户二次访问目标数据时,服务器可以较快地确定目标数据的存储位置,服务器可以在目标用户首次访问目标数据时,在存储位置记录表中查找到目标数据的存储位置后,在源数据库的第二缓存区中存储该目标数据的存储位置;若在第二预设时间段内再次接收到目标用户针对目标数据的访问请求,且服务器未在目标数据库的第一缓存区中查找到目标数据的存储位置,则服务器可以在源数据库的第二缓存区中查找该目标数据的存储位置;若服务器在源数据库的第二缓存区中查找到目标数据的存储位置,则可以基于该存储位置访问目标数据;若服务器未在源数据库的第二缓存区中查找到目标数据的存储位置,则可以在源数据库的第二持久化存储区中存储的存储位置记录表中重新查找该目标数据的存储位置,并基于该存储位置访问目标数据。
为了便于理解上述实现方式,下面以本申请实施例提供的方法用于基于GDPR进行数据迁移为例,结合图3所示的GDPR业务的实现拓扑图,对上述实现方式进行示例性介绍。
如图3所示,为了满足GDPR要求,通常需要部署GDPR服务集群和国内服务集群,GDPR服务集群用于响应GDPR用户的相关请求提供相应的业务,国内服务集群用于响应非GDPR用户的相关请求提供相应的业务。GDPR服务集群与目标数据存储集群(即GDPR存储集群)相对应,正常情况下,GDPR服务集群应当基于GDPR存储集群中存储的数据提供相关服务;GDPR存储集群包括GDPR持久化存储集群(对应于目标数据库中的第一持久化存储区)和GDPR缓存存储集群(对应于目标数据库中的第一缓存区),进行数据迁移操作时,需要将GDPR用户的目标数据相应地迁移至GDPR持久化存储集群中。国内服务集群与源数据存储集群(即国内存储集群)相对应,正常情况下,国内服务集群应当基于国内存储集群中存储的数据提供相关服务;国内存储集群包括国内持久化存储集群(对应于源数据库中的第二持久化存储区)和国内缓存存储集群(对应于源数据库中的第二缓存区)。在本申请实施例提供的方法中,GDPR服务集群可以访问国内存储集群。
在实际应用中,GDPR服务集群接收到GDPR用户发起的针对目标数据的访问请求后,GDPR服务集群可以访问存储于国内持久化存储集群中的存储位置记录表,在该存储位置记录表中查找该目标数据的存储位置;应理解,若目标数据已被迁移至GDPR持久化存储集群,则GDPR服务集群可以查找该目标数据在GDPR持久化存储集群中的存储位置,基于该存储位置访问目标数据,若目标数据未被迁移至GDPR持久化存储集群,则GDPR服务集群可以查找该目标数据在国内持久化存储集群中的存储位置。
GDPR服务集群在存储位置记录表中查找到目标数据的存储位置后,将其存储至GDPR缓存存储集群和国内缓存存储集群。若GDPR服务集群在第一预设时间段内再次接收到GDPR用户针对该目标数据的访问请求,则GDPR服务集群可以直接在GDPR缓存存储集群中查找该目标数据的存储位置,基于该存储位置访问目标数据。若GDPR服务集群在第二预设时间段内再次接收到GDPR用户针对该目标数据的访问请求,且没有在GDPR缓存存储集群中查找到该目标数据的存储位置,则GDPR服务集群可以在国内缓存存储集群中查找该目标数据的存储位置,基于该存储位置访问目标数据。若GDPR服务集群在在国内缓存存储集群中也没有查找该目标数据的存储位置,则GDPR服务集群需要重新在存储于国内持久化存储集群中的存储位置记录表中查找该目标数据的存储位置,进而基于该存储位置访问目标数据。
应理解,上述第一预设时间段和第二预设时间可以根据实际需求设定,通常情况下,第一预设时间段的时长小于第二预设时间段的时长,本申请在此不对该第一预设时间段和第二预设时间段做具体限定。
需要说明的是,在未完成数据迁移操作时,服务器如若接收到目标用户写入的目标写入数据,则服务器可以将该目标写入数据异步存储至源数据库和目标数据库;进而,在存储位置记录表中,记录该目标写入数据在源数据库中的存储位置、以及该目标写入数据在目标数据库中的存储位置。
仍以本申请实施例提供的方法用于基于GDPR进行数据迁移为例,服务器可以在进行数据迁移操作的过程中,针对GDPR用户可以增设双写开关,从而保证部署于国内的源数据库和部署于海外的目标数据库中的数据同步。具体的,若服务器在未完成数据迁移操作时接收到GDPR用户写入的目标写入数据,其可以将该目标写入数据异步写入部署于国内的源数据库和部署于海外的目标数据库,如此保证源数据库和目标数据库中存储的数据一致。
应理解,当本申请实施例提供的方法应用于以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中时,服务器在未完成数据迁移操作时,若接收到目标网络平台上的VIP用户写入的目标写入数据,其可以将该目标写入数据异步写入源数据库和目标数据库;或者,若接收到目标网络平台上的用户写入的高重要级别的目标写入数据,其可以将该目标写入数据异步写入源数据库和目标数据库。
在确认完成数据迁移操作后,服务器可以删除源数据库中的目标数据,并且相应地删除存储位置记录表中目标数据在源数据库中的存储位置。仍以本申请实施例提供的方法应用于基于GDPR进行数据迁移的应用场景为例,服务器确认已将所有GDPR用户的目标数据均存储至目标数据库中后,可以认为当前已完成数据迁移操作,进而,服务器可以将源数据库中存储的各GDPR用户的目标数据删除,使得GDPR用户的目标数据仅存储在海外的目标数据库中;GDPR用户访问目标数据时,仅需到国内的源数据库中查询一次目标数据的存储位置,其它与目标数据相关的操作均不会出现跨区域的现象。与此同时,服务器可以将存储位置记录表中所记录的目标数据在源数据库中的存储位置删除。
相应地,在完成数据迁移操作后,服务器如若接收到目标用户写入的目标写入数据,则将该目标写入数据存储至目标数据库;并且在存储位置记录表中,记录目标写入数据在目标数据库中的存储位置。仍以本申请实施例提供的方法应用于基于GDPR进行数据迁移的应用场景为例,服务器确认完成针对目标网络平台上所有GDPR用户的数据迁移操作后,可以关闭针对GDPR用户的双写开关,相应地,服务器接收到GDPR用户写入的目标写入数据后,可以仅将该目标写入数据写入部署于海外的目标数据库,并且在存储位置记录表中仅记录该目标写入数据在目标数据库中的存储位置。
应理解,当本申请实施例提供的方法应用于以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中时,服务器在确认完成数据迁移操作后,服务器可以删除源数据库中存储的VIP用户的数据,或者删除源数据库中存储的高重要级别的数据。并且,完成数据迁移操作后,服务器若接收到VIP用户写入的目标写入数据,可以直接将该目标写入数据写入目标数据库,或者,服务器若接收到用户写入的高重要级别的目标写入数据,可以直接将该目标写入数据写入目标数据库。
上述数据迁移方法在执行数据迁移操作的过程中,在将目标数据存储至目标数据库的同时,仍保留存储在源数据库中的目标数据,并且在存储位置记录表中相应地记录目标数据在源数据库和目标数据库中的存储位置;若在数据迁移的过程中接收到针对目标数据的访问请求,可以基于存储位置记录表中记录的目标数据的存储位置,相应地访问该目标数据;如此,实现了在不中断业务的情况下进行数据迁移,保证用户可以正常访问数据库中的数据,从而保证了用户的使用体验。
为了便于进一步理解本申请实施例提供的数据迁移方法,下面以本申请实施例提供的方法应用于基于GDPR进行数据迁移的应用场景为例,结合图4和图5所示的流程示意图,对本申请实施例提供的数据迁移方法进行整体示例性介绍。图4对应于GDPR用户在进行数据迁移的过程中首次登录目标网络平台或者在目标网络平台上注册新账号的实现流程;图5对应于GDPR用户在一段时间内二次登录目标网络平台的实现流程。
如图4所示,在基于GDPR进行数据迁移的应用场景中,需要相应地在海外部署GDPR服务集群和GDPR存储集群,GDPR服务集群中包括多台GDPR服务器,GDPR存储集群包括GDPR持久化存储集群和GDPR缓存存储集群。
并且,创建专用于记录GDPR用户的目标数据的存储位置的存储位置记录表,在将目标数据存储至GDPR存储集群中前,该存储位置记录表中只记录有该目标数据在国内存储集群中的存储位置,在将目标数据存储至GDPR存储集群中后,该存储位置记录表中既记录有该目标数据在国内存储集群中的存储位置,又记录有该目标数据在GDPR存储集群中的存储位置。在该存储位置记录表中记录有GDPR用户的标识、用于存储目标数据的子数据库(GDPR存储集群中的子数据库和/或国内存储集群中的子数据库)的标识、以及目标数据在该子数据库中的存储位置这三者之间的对应关系。该存储位置记录表中记录有全量的目标数据的存储位置,其通常被存储于国内存储集群。
检测到GDPR用户在进行数据迁移的过程中首次登录目标网络平台,或者检测到GDPR用户在目标网络平台上注册新账号时,可以向该GDPR用户发送用于提示其授予数据迁移权限的提示信息,若接收到用于表征GDPR用户授予数据迁移权限的响应信息,则可以将该GDPR用户在国内存储集群中存储的目标数据存储至GDPR存储集群中,同时保留该GDPR用户在国内存储集群中的目标数据,并且相应地在存储位置记录表中记录该GDPR用户的目标数据在GDPR存储集群和在国内存储集群中的存储位置。若接收到用于表征GDPR用户不授予数据迁移权限的响应信息,则需要向该GDPR用户发送拒绝服务提示信息,以提示该GDPR用户后续可能无法为其提供相关的目标服务。
GDPR服务器接收到GDPR用户针对目标数据的访问请求时,可以在国内存储集群存储的存储位置记录表中查找该目标数据的存储位置;应理解,在存储位置记录表中包括目标数据在GDPR存储集群中的存储位置的情况下,GDPR服务器仅需查找该目标数据在GDPR存储集群中的存储位置,在存储位置记录表中不包括目标数据在GDPR存储集群中的存储位置的情况下,GDPR服务器需要查找目标数据在国内存储集群中的存储位置;进而,GDPR服务器基于其查找到的目标数据的存储位置,相应地访问该目标数据,并向GDPR用户反馈该目标数据。
此外,GDPR服务器在存储位置记录表中查找到目标数据的存储位置后,可以将该目标数据的存储位置存储至GDPR存储集群中的GDPR缓存存储集群、以及国内存储集群中的国内缓存存储集群,以便目标用户在短时间内再次访问该目标数据时,可以直接从GDPR缓存存储集群或者国内缓存存储集群获取该目标数据的存储位置,以减少数据访问时延。
如若GDPR服务器接收到GDPR用户写入的目标写入数据,其需要相应地判断当前是否已完成针对GDPR用户的数据迁移操作;若未完成,则GDPR服务器需要将该目标写入数据异步写入GDPR存储集群和国内存储集群,并且在存储位置记录表中记录该目标写入数据在GDPR存储集群和在国内存储集群中的存储位置;若已完成,则GDPR服务器仅需将目标写入数据写入GDPR存储集群,并在存储位置记录表中记录该目标写入数据在GDPR存储集群中的存储位置。
应理解,GDPR服务器在将目标写入数据的存储位置写入GDPR存储集群和/或国内存储集群时,还可以将目标写入数据的存储位置写入GDPR缓存存储集群和国内缓存存储集群,以便目标用户在短时间内需要访问该目标写入数据时,可以直接从GDPR缓存存储集群或者国内缓存存储集群获取该目标写入数据的存储位置。
应理解,在实际应用中,在确定完成针对GDPR用户的数据迁移操作后,可以将国内存储集群中存储的GDPR用户的目标数据删除,同时删除存储位置记录表中记录的目标数据在国内存储集群中的存储位置。
如图5所示,在GDPR用户在预设时间段内二次登录目标网络平台的情况下,如若GDPR服务器接收到该GDPR用户针对目标数据的访问请求,其可以先在GDPR缓存存储集群中查找该目标数据的存储位置,若能够在该GDPR缓存存储集群中查找到该目标数据的存储位置,则GDPR服务器可以直接基于所查找到的目标数据的存储位置,访问该目标数据。如此,GDPR服务器在GDPR用户二次访问目标数据时,无需跨区域访问国内存储集群,有效地降低了数据访问时延,提高了用户的使用体验。
若在GDPR缓存存储集群中不能查找到该目标数据的存储位置,则GDPR服务器可以进一步在国内缓存存储集群中查找该目标数据的存储位置,若能够在国内缓存集群中查找到该目标数据的存储位置,则GDPR服务器可以基于所查找到的目标数据的存储位置,访问该目标数据。相比国内存储集群中的国内持久化存储集群,国内缓存存储集群具有更快的读取速度,从该国内缓存存储集群中获取目标数据的存储位置,也能够在一定程度上降低数据访问时延。
若在国内缓存存储集群中也无法查找到目标数据的存储位置,则GDPR服务器需要重新在国内持久化存储集群存储的存储位置记录表中查找该目标数据的存储位置,进而基于所查找到的目标数据的存储位置访问该目标数据。
应理解,当本申请实施例应用于其它数据迁移场景中时,如应用于以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中时,将目标用户的目标数据从源数据库迁移至目标数据库的实现流程,与上述将GDPR用户的目标数据从源数据库迁移至目标数据库的实现流程相类似。区别仅在于,在以提高数据存储安全性、和/或提高数据访问便捷性为目标的数据迁移场景中,目标用户通常为目标网络平台上的VIP用户、或者存储有高重要级别的数据的用户,目标数据通常为VIP用户在目标网络平台上存储的所有数据、或者所有用户在目标网络平台上存储的高重要级别的数据,目标数据库是比源数据库具有更优性能的数据库;此处不再对本申请实施例提供的数据迁移方法在其它应用场景中的具体实现方式进行赘述。
针对上文描述的数据迁移方法,本申请还提供了对应的数据迁移装置,以使上述数据迁移方法在实际中得以应用和实现。
参见图6,图6是与上文图2所示的数据迁移方法对应的一种数据迁移装置600的结构示意图。如图6所示,该数据迁移装置600包括:
目标用户确定模块601,用于确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
数据迁移模块602,用于执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
存储位置记录模块603,用于在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
数据访问模块604,用于当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
可选的,在图6所示的数据迁移装置的基础上,所述数据访问模块604具体用于:
在未完成所述数据迁移操作时,判断所述存储位置记录表中是否包括所述目标数据在所述目标数据库中的存储位置;若是,则基于所述目标数据在所述目标数据库中的存储位置访问所述目标数据;若否,则基于所述目标数据在所述源数据库中的存储位置访问所述目标数据。
可选的,在图6所示的数据迁移装置的基础上,所述目标数据库包括第一缓存区。参见图7,图7为本申请实施例提供的另一种数据迁移装置700的结构示意图。如图7所示,该数据迁移装置还包括:
第一存储位置缓存模块701,用于在所述存储位置记录表中查找到所述目标数据的存储位置后,在所述第一缓存区中存储所述目标数据的存储位置;
所述数据访问模块604,还用于若在第一预设时间段内再次接收到针对所述目标数据的访问请求,在所述第一缓存区中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
可选的,在图7所示的数据迁移装置的基础上,所述源数据库包括第二缓存区和持久化存储区,所述存储位置记录表存储在所述持久化存储区中。参见图8,图8为本申请实施例提供的另一种数据迁移装置800的结构示意图。如图8所示,该数据迁移装置还包括:
第二存储位置缓存模块801,用于在所述存储位置记录表中查找到所述目标数据的存储位置后,在所述第二缓存区中存储所述目标数据的存储位置;
所述数据访问模块604,还用于若在第二预设时间段内再次接收到针对所述目标数据的访问请求,且未在所述第一缓存区中查找到所述目标数据的存储位置,则在所述第二缓存区中查找所述目标数据的存储位置;若在所述第二缓存区中查找到所述目标数据的存储位置,则基于所述存储位置访问所述目标数据;若未在所述第二缓存区中查找到所述目标数据的存储位置,则在所述持久化存储区存储的所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
可选的,在图6至图8所示的数据存储装置的基础上,所述源数据库为源数据存储集群,所述源数据存储集群中包括多个源子数据库;所述目标数据库为目标数据存储集群,所述目标数据存储集群包括多个目标子数据库;则所述存储位置记录模块603具体用于:
在所述存储位置记录表中,记录所述目标用户的标识、用于存储所述目标数据的源子数据库的标识、以及所述目标数据在源子数据库中的存储位置之间的对应关系,记录所述目标用户的标识、用于存储所述目标数据的目标子数据库的标识、以及所述目标数据在目标子数据库中的存储位置之间的对应关系。
可选的,在图6所示的数据迁移装置的基础上,参见图9,图9为本申请实施例提供的另一种数据迁移装置900的结构示意图。如图9所示,该数据迁移装置还包括:
第一数据写入模块901,用于在未完成所述数据迁移操作时,若接收到所述目标用户写入的目标写入数据,则将所述目标写入数据存储至所述源数据库和所述目标数据库;
则所述存储位置记录模块603,还用于在所述存储位置记录表中,记录所述目标写入数据在所述源数据库中的存储位置、以及所述目标写入数据在所述目标数据库中的存储位置。
可选的,在图6所示的数据迁移装置的基础上,参见图10,图10为本申请实施例提供的另一种数据迁移装置1000的结构示意图。如图10所示,该数据迁移装置还包括:
信息删除模块1001,用于在完成所述数据迁移操作后,删除所述源数据库中的所述目标数据,并且删除所述存储位置记录表中所述目标数据在所述源数据库中的存储位置。
可选的,在图6所示的数据迁移装置的基础上,参见图11,图11为本申请实施例提供的另一种数据迁移装置1100的结构示意图。如图11所示,该数据迁移装置还包括:
第二数据写入模块1101,用于在完成所述数据迁移操作后,若接收到所述目标用户写入的目标写入数据,则将所述目标写入数据存储至所述目标数据库;
则所述存储位置记录模块603,还用于在所述存储位置记录表中,记录所述目标写入数据在所述目标数据库中的存储位置。
可选的,在图6所示的数据迁移装置的基础上,当基于GDPR进行所述数据迁移操作时,所述目标用户确定模块601具体用于:
针对目标网络平台上的每个用户,根据所述用户的个人基本信息确定所述用户的所属地域;所述个人基本信息包括以下至少一种:个人联系方式、个人居住地址;
将所属地域位于预设地域范围内的所述用户,确定为所述目标用户。
可选的,在图6所示的数据迁移装置的基础上,参见图12,图12为本申请实施例提供的另一种数据迁移装置1200的结构示意图。如图12所示,该数据迁移装置还包括:
权限设置信息发送模块1201,用于向所述目标用户发送权限设置提示信息;所述权限设置提示信息用于提示所述目标用户是否允许将所述目标数据迁移至所述目标数据库;
响应信息接收模块1202,用于接收所述目标用户针对所述权限设置提示信息反馈的响应信息;
响应信息处理模块1203,用于若所述响应信息表征所述目标用户允许将所述目标数据迁移至所述目标数据库,则针对所述目标数据执行所述数据迁移操作;若所述响应信息表征所述目标用户不允许将所述目标数据迁移至所述目标数据库,则向所述目标用户发送拒绝服务提示信息,所述拒绝服务提示信息用于提示所述目标用户在不迁移所述目标数据的情况下无法提供目标服务。
上述数据迁移装置在执行数据迁移操作的过程中,在将目标数据存储至目标数据库的同时,仍保留存储在源数据库中的目标数据,并且在存储位置记录表中相应地记录目标数据在源数据库和目标数据库中的存储位置;若在数据迁移的过程中接收到针对目标数据的访问请求,可以基于存储位置记录表中记录的目标数据的存储位置,相应地访问该目标数据;如此,实现了在不中断业务的情况下进行数据迁移,保证用户可以正常访问数据库中的数据,从而保证了用户的使用体验。
本申请实施例还提供了一种用于数据迁移的设备,该设备具体可以是服务器,下面将从硬件实体化的角度对本申请实施例提供的服务器进行介绍。
参见图13,图13为本申请实施例提供的一种服务器1300的结构示意图。该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。
服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。
其中,CPU 1322用于执行如下步骤:
确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
可选的,CPU 1322还可以用于执行本申请实施例提供的数据迁移方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种数据迁移方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种数据迁移方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种数据迁移方法,其特征在于,所述方法包括:
确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据,包括:
在未完成所述数据迁移操作时,判断所述存储位置记录表中是否包括所述目标数据在所述目标数据库中的存储位置;若是,则基于所述目标数据在所述目标数据库中的存储位置访问所述目标数据;若否,则基于所述目标数据在所述源数据库中的存储位置访问所述目标数据。
3.根据权利要求1所述的方法,其特征在于,所述目标数据库包括第一缓存区;所述方法还包括:
在所述存储位置记录表中查找到所述目标数据的存储位置后,在所述第一缓存区中存储所述目标数据的存储位置;
若在第一预设时间段内再次接收到针对所述目标数据的访问请求,在所述第一缓存区中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
4.根据权利要求3所述的方法,其特征在于,所述源数据库包括第二缓存区和持久化存储区,所述存储位置记录表存储在所述持久化存储区中;所述方法还包括:
在所述存储位置记录表中查找到所述目标数据的存储位置后,在所述第二缓存区中存储所述目标数据的存储位置;
若在第二预设时间段内再次接收到针对所述目标数据的访问请求,且未在所述第一缓存区中查找到所述目标数据的存储位置,则在所述第二缓存区中查找所述目标数据的存储位置;
若在所述第二缓存区中查找到所述目标数据的存储位置,则基于所述存储位置访问所述目标数据;
若未在所述第二缓存区中查找到所述目标数据的存储位置,则在所述持久化存储区存储的所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述源数据库为源数据存储集群,所述源数据存储集群中包括多个源子数据库;所述目标数据库为目标数据存储集群,所述目标数据存储集群包括多个目标子数据库;
所述在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置,包括:
在所述存储位置记录表中,记录所述目标用户的标识、用于存储所述目标数据的源子数据库的标识、以及所述目标数据在源子数据库中的存储位置之间的对应关系,记录所述目标用户的标识、用于存储所述目标数据的目标子数据库的标识、以及所述目标数据在目标子数据库中的存储位置之间的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在未完成所述数据迁移操作时,若接收到所述目标用户写入的目标写入数据,则将所述目标写入数据存储至所述源数据库和所述目标数据库;
在所述存储位置记录表中,记录所述目标写入数据在所述源数据库中的存储位置、以及所述目标写入数据在所述目标数据库中的存储位置。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在完成所述数据迁移操作后,删除所述源数据库中的所述目标数据,并且删除所述存储位置记录表中所述目标数据在所述源数据库中的存储位置。
8.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:
在完成所述数据迁移操作后,若接收到所述目标用户写入的目标写入数据,则将所述目标写入数据存储至所述目标数据库;
在所述存储位置记录表中,记录所述目标写入数据在所述目标数据库中的存储位置。
9.根据权利要求1所述的方法,其特征在于,当基于通用数据保护条例GDPR进行所述数据迁移操作时,所述确定与数据迁移操作相关的目标用户,包括:
针对目标网络平台上的每个用户,根据所述用户的个人基本信息确定所述用户的所属地域;所述个人基本信息包括以下至少一种:个人联系方式、个人居住地址;
将所属地域位于预设地域范围内的所述用户,确定为所述目标用户。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述目标用户发送权限设置提示信息;所述权限设置提示信息用于提示所述目标用户是否允许将所述目标数据迁移至所述目标数据库;
接收所述目标用户针对所述权限设置提示信息反馈的响应信息;
若所述响应信息表征所述目标用户允许将所述目标数据迁移至所述目标数据库,则针对所述目标数据执行所述数据迁移操作;
若所述响应信息表征所述目标用户不允许将所述目标数据迁移至所述目标数据库,则向所述目标用户发送拒绝服务提示信息,所述拒绝服务提示信息用于提示所述目标用户在不迁移所述目标数据的情况下无法提供目标服务。
11.一种数据迁移装置,其特征在于,所述装置包括:
目标用户确定模块,用于确定与数据迁移操作相关的目标用户;所述目标用户在源数据库中存储的目标数据需要通过所述数据迁移操作迁移至目标数据库;
数据迁移模块,用于执行所述数据迁移操作时,将所述目标数据存储至所述目标数据库,并且保留所述源数据库中存储的所述目标数据;
存储位置记录模块,用于在存储位置记录表中,记录所述目标数据在所述源数据库中的存储位置、以及所述目标数据在所述目标数据库中的存储位置;
数据访问模块,用于当接收到针对所述目标数据的访问请求时,在所述存储位置记录表中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
12.根据权利要求11所述的装置,其特征在于,所述数据访问模块具体用于:
在未完成所述数据迁移操作时,判断所述存储位置记录表中是否包括所述目标数据在所述目标数据库中的存储位置;若是,则基于所述目标数据在所述目标数据库中的存储位置访问所述目标数据;若否,则基于所述目标数据在所述源数据库中的存储位置访问所述目标数据。
13.根据权利要求11所述的装置,其特征在于,所述目标数据库包括第一缓存区;所述装置还包括:
第一存储位置缓存模块,用于在所述存储位置记录表中查找到所述目标数据的存储位置后,在所述第一缓存区中存储所述目标数据的存储位置;
所述数据访问模块,还用于若在第一预设时间段内再次接收到针对所述目标数据的访问请求,在所述第一缓存区中查找所述目标数据的存储位置,基于所述存储位置访问所述目标数据。
14.一种设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至10中任一项所述的数据迁移方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至10中任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110049765.4A CN114764403A (zh) | 2021-01-14 | 2021-01-14 | 一种数据迁移方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110049765.4A CN114764403A (zh) | 2021-01-14 | 2021-01-14 | 一种数据迁移方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764403A true CN114764403A (zh) | 2022-07-19 |
Family
ID=82364103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110049765.4A Pending CN114764403A (zh) | 2021-01-14 | 2021-01-14 | 一种数据迁移方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764403A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116567001A (zh) * | 2023-05-16 | 2023-08-08 | 上海凯翔信息科技有限公司 | 一种基于云端nas的数据迁移系统 |
-
2021
- 2021-01-14 CN CN202110049765.4A patent/CN114764403A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116567001A (zh) * | 2023-05-16 | 2023-08-08 | 上海凯翔信息科技有限公司 | 一种基于云端nas的数据迁移系统 |
CN116567001B (zh) * | 2023-05-16 | 2023-12-29 | 上海凯翔信息科技有限公司 | 一种基于云端nas的数据迁移系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885758B (zh) | 一种虚拟节点的数据迁移方法和虚拟节点 | |
EP2830284B1 (en) | Caching method for distributed storage system, node and computer readable medium | |
CN104598459B (zh) | 数据库处理、数据访问方法及系统 | |
EP2863310B1 (en) | Data processing method and apparatus, and shared storage device | |
CN108363641B (zh) | 一种主备机数据传递方法、控制节点以及数据库系统 | |
EP3786802B1 (en) | Method and device for failover in hbase system | |
CN107918527B (zh) | 存储空间分配方法及装置以及文件存储方法及装置 | |
CN107015876B (zh) | 一种业务请求处理方法及装置 | |
CN103179053A (zh) | 用于提供数据管理服务的系统和方法 | |
CN111198845B (zh) | 一种数据迁移方法、可读存储介质及计算设备 | |
CN104750757B (zh) | 一种基于HBase的数据存储方法和设备 | |
CN109981569B (zh) | 网络系统访问方法、装置、计算机设备及可读存储介质 | |
CN106294387B (zh) | 数据迁移方法和装置 | |
CN110716924B (zh) | 删除过期数据的方法和装置 | |
US11934656B2 (en) | Garbage collection and bin synchronization for distributed storage architecture | |
EP3822763B1 (en) | Data reading method, device, system, and distributed system | |
CN107493309B (zh) | 一种分布式系统中的文件写入方法及装置 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN114764403A (zh) | 一种数据迁移方法、装置、设备及存储介质 | |
US11010410B1 (en) | Processing data groupings belonging to data grouping containers | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
CN106339279B (zh) | 一种业务恢复方法及装置 | |
CN113905252B (zh) | 直播间的数据存储方法、装置、电子设备及存储介质 | |
CN110275863B (zh) | 文件移动方法、装置及存储介质 |
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 |