CN115687515A - 一种数据同步方法、系统、存储介质及电子设备 - Google Patents
一种数据同步方法、系统、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115687515A CN115687515A CN202211096077.4A CN202211096077A CN115687515A CN 115687515 A CN115687515 A CN 115687515A CN 202211096077 A CN202211096077 A CN 202211096077A CN 115687515 A CN115687515 A CN 115687515A
- Authority
- CN
- China
- Prior art keywords
- storage node
- data
- user
- area
- synchronized
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据同步方法、系统、存储介质及电子设备。其中,该方法包括:在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;确定在变化前的区域内用户数据的存储节点,得到第二存储节点;若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户的用户数据,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点。本发明可以避免用户跨区域移动导致用户所在区域对应的存储节点发生改变后,用户无法使用原存储节点中的数据的问题,通过数据同步实现用户数据的正常使用。
Description
技术领域
本发明涉及数据同步技术领域,特别是涉及一种数据同步方法、系统、存储介质及电子设备。
背景技术
在用户注册的时候,通常会给用户的ID(IDentity,身份标识)分配一个存储节点,来存储该用户的数据。不同存储节点存储部分地区的用户数据,当用户跨区域移动导致用户所在区域对应的存储节点发生改变后,用户无法使用原存储节点中的数据,因此,如何进行数据同步以实现用户数据的正常使用,是十分必要的。
发明内容
本发明实施例的目的在于提供一种数据同步方法、系统、存储介质及电子设备。具体技术方案如下:
本发明提供了一种数据同步方法,包括:
在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;
确定在变化前的区域内用户数据的存储节点,得到第二存储节点;所述第二存储节点与所述第一存储节点存储不同的数据;
若所述第二存储节点与所述第一存储节点不同,则在所述第二存储节点中删除所述用户的用户数据,从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述第三存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
可选的,所述确定在变化后的区域内用户数据的存储节点,得到第一存储节点,包括:
基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,所述第一存储节点存储有变化后的区域内的用户数据;
所述确定在变化前的区域内用户数据的存储节点,得到第二存储节点,包括:
基于所述预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,所述第二存储节点存储有变化前的区域内的用户数据。
可选的,所述从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点,包括:
基于所述用户的用户数据的数据类型,从所述第三存储节点中获得所述数据类型的所述待同步数据,将所述待同步数据同步至所述第一存储节点,以使所述第一存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
可选的,所述从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点,包括:
向所述第三存储节点发送所述数据库同步请求;其中,所述数据库同步请求中携带有所述第三存储节点的数据库标识和所述待同步数据所在的数据表的标识;
获得所述第三存储节点发送的所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述待同步数据是所述第三存储节点基于所述第三存储节点的数据库标识定位获得目标数据库,并从所述目标数据库中基于所述数据表的标识查找到的数据。
可选的,位于所述变化后的区域内的所述用户的变更数据存储在所述第三存储节点,所述方法,还包括:
对所述第三存储节点发送的所述用户的用户数据变更消息进行解析,获得所述用户的变化数据,按所述变化数据的数据类型进行分组,确定每一组变化数据对应的数据库,所述用户数据的各组变化数据对应的所述数据库均位于所述第一存储节点中;
将各组所述变化数据存储在对应的数据库中。
可选的,还包括:
若所述第二存储节点与所述第一存储节点相同,则基于所述变化后的区域更改用户所在区域与用户标识的对应关系,并在所述第三存储节点中存储的所述用户的用户数据发生变化的情况下,将变化后的用户数据存储在所述第一存储节点中。
本发明还提供一种数据同步系统,包括:
第一存储节点确定模块,被配置为在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;
第二存储节点确定模块,被配置为确定在变化前的区域内所述用户数据的存储节点,得到第二存储节点;所述第二存储节点与所述第一存储节点存储不同的数据;
数据同步模块,被配置为若所述第二存储节点与所述第一存储节点不同,则在所述第二存储节点中删除所述用户的用户数据,从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述第三存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
可选的,所述第一存储节点确定模块,包括:
第一存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,所述第一存储节点存储有变化后的区域内的用户数据;
所述第二存储节点确定模块,包括:
第二存储节点确定单元,被配置为基于所述预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,所述第二存储节点存储有变化前的区域内的用户数据。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现上述的数据同步方法。
本发明还提供一种电子设备,包括:
至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的数据同步方法。
本发明实施例提供的一种数据同步方法、系统、存储介质及电子设备,在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;确定在变化前的区域内用户数据的存储节点,得到第二存储节点;若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户数据,将存储在第三存储节点中用户的待同步数据同步至第一存储节点。本发明可以避免用户跨区域移动导致用户所在区域对应的存储节点发生改变后,用户无法使用原存储节点中的数据的问题,通过数据同步实现用户数据的正常使用。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据同步方法流程图;
图2为本发明实施例提供的另一种数据同步方法流程图;
图3为本发明实施例提供的一种数据同步系统结构图;
图4为本发明实施例提供的另一种数据同步系统结构图;
图5为本发明实施例提供的数据同步系统框架图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种数据同步方法,如图1所示,该方法包括:
步骤101:在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点。
在接收到用户区域变更消息时,可以确定用户所在区域发生变化。该用户区域变更消息可以包括用户标识和区域标识。两个区域的区域标识不同,用户标识与区域标识有预设的对应关系,用户由一个区域移动到另一个区域,用户标识与区域标识的对应关系也发生变化,可以通过用户标识与区域标识对应关系的变化确定用户所在区域发生变化。
作为一可选的实施方式,确定在变化后的区域内用户数据的存储节点,得到第一存储节点,包括:基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,第一存储节点存储有变化后的区域内的用户数据。
每个区域对应一个存储节点,位于该区域用户的用户数据存储在与该区域对应的存储节点中。区域不同存储节点可以相同,一个存储节点可以存储多个区域内用户的用户数据,存储节点与区域有对应关系,该对应关系可以预先存储。若用户所在区域发生变化,变化后的区域会对应一个存储节点,通过预先存储的区域和存储节点的对应关系,可以确定变化后的区域对应的存储节点为第一存储节点,在该第一存储节点中存储有变化后的区域内的用户数据。
步骤102:确定在变化前的区域内用户数据的存储节点,得到第二存储节点。其中,第二存储节点与第一存储节点存储不同的数据。
在进行数据同步时,如果用户发生区域改变后存储节点未发生变化,则移动前后该用户的用户数据均存储在同一存储节点中,此时可以不进行数据同步处理;如果用户发生区域改变后存储节点发生变化,则移动前后该用户的用户数据存储在不同存储节点中,此时需要进行数据同步处理。为了判断是否需要进行用户数据同步处理,在确定在变化后的区域内用户数据的存储节点后,还需要确定变化前的用户数据的存储节点。
作为一可选的实施方式,确定在变化前的区域内用户数据的存储节点,得到第二存储节点,包括:基于预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,第二存储节点存储有变化前的区域内的用户数据。
每个区域对应一个存储节点,变化前的区域也会对应一个存储节点,通过预先存储的区域和存储节点的对应关系,可以确定变化前的区域对应的存储节点为第二存储节点,在该第二存储节点中存储有变化前的区域内的用户数据。
一个存储节点与多个区域对应,用户所在区域发生变化,存储节点不一定发生变化。当变化后的区域与变化前的区域对应的存储节点相同,即第一存储节点和第二存储节点相同时,存储节点不发生改变;当变化后的区域与变化前的区域对应的存储节点不同,即第一存储节点和第二存储节点不同时,存储节点发生改变。
例如,与A区域对应的存储节点为存储节点1,与B区域对应的存储节点为存储节点2,与C区域对应的存储节点为存储节点2。若变化前的区域为A区域,变化后的区域为B区域,则与A区域对应的存储节点1为第一存储节点,与B区域对应的存储节点2为第二存储节点,存储节点1与存储节点2不同,第一存储节点与第二存储节点不同,也就是用户所在区域发生变化,存储节点也发生变化。若变化前的区域为B区域,变化后的区域为C区域,则与B区域对应的存储节点2为第一存储节点,与C区域对应的存储节点2为第二存储节点,第一存储节点与第二存储节点相同,也就是用户所在区域发生变化,存储节点未发生变化。
步骤103:若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户的用户数据,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,第三存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
在第一存储节点与第二存储节点不同时,需要进行数据同步。用户在变化前的区域对应的存储节点为第二存储节点,而用户变化后的区域对应的存储节点为第一存储节点,由于第一存储节点和第二存储节点存储不同的数据,因此可以将第二存储节点中该用户的用户数据删除,从第三存储节点中获得用户的待同步数据,然后将该待同步数据同步至第一存储节点中。由于第三存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据,当然第三存储节点中还可以存储有第二存储节点中的全部数据,因此,在删除第二存储节点中该用户的用户数据后,可以从第三存储节点中将该用户的待同步数据存储在第一存储节点中。
当然,如果可以直接将第二存储节点的数据直接发送至第一存储节点进行存储,则可以在第二存储节点删除该用户的用户数据之前,将第二存储节点的该用户的用户数据直接发送至第一存储节点进行存储,而非通过第三存储节点将该用户的用户数据存储在第一存储节点。
作为一可选的实施方式,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点,包括:基于用户的用户数据的数据类型,从第三存储节点中获得该数据类型的待同步数据,将待同步数据同步至第一存储节点,以使第一存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
在该实施方式下,可以将部分或全部用户数据存储至第一存储节点,具体可以基于数据类型,将该数据类型下的待同步数据从第三存储节点同步至第一存储节点中。可选的,该数据类型可以为用户实际信息、应用软件鉴权信息、第三方鉴权信息和用户虚拟信息中的一种或多种。其中,该用户实际信息可以包括但不限于用户的姓名、年龄、性别;应用软件鉴权信息可以包括但不限于在该应用软件中注册的用户手机号、邮箱以及用户登录密码;第三方鉴权信息可以包括但不限于用户在第三方平台注册的手机号、邮箱即用户登录密码;该用户虚拟信息可以包括但不限于用户的昵称、头像。
作为另一可选的实施方式,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点,包括:向第三存储节点发送数据库同步请求;其中,数据库同步请求中携带有第三存储节点的数据库标识和待同步数据所在的数据表的标识;获得第三存储节点发送的用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,待同步数据是第三存储节点基于第三存储节点的数据库标识定位获得目标数据库,并从目标数据库中基于数据表的标识查找到的数据。
在该实施方式下,可以将部分或全部用户数据存储至第一存储节点,具体可以确定待同步数据所在数据表以及该数据表的标识,并且确定该数据表对应在第三存储节点的数据库标识以及该数据表对应在第一存储节点的数据库标识,可以在数据库同步请求中携带上述标识,在第三存储节点接收到该数据库同步请求后,可以基于数据库标识和数据表标识查找该用户的待同步数据,并将待同步数据发送至第一存储节点进行存储。
在一些区域对应的存储节点为第一存储节点,另一些区域对应的存储节点为第二存储节点时,第三存储节点既可以存储第二存储节点中的全部数据,也可存储第一存储节点中的全部数据,若与变化后的区域对应的存储节点为第二存储节点,与变化前的区域对应的存储节点为第一存储节点,在第一存储节点与第二存储节点不同时,可以在第一存储节点中删除用户数据,由于第三存储节点存储有第一存储节点中的全部数据,因此可以将存储在第三存储节点中至少部分用户数据存储至第二存储节点。
作为一可选的实施方式,本发明提供的数据同步方法,还包括:
若第二存储节点与第一存储节点相同,则基于变化后的区域更改用户所在区域与用户标识的对应关系,并在第三存储节点中存储的用户的用户数据发生变化的情况下,将变化后的用户数据存储在第一存储节点中。
变化前的区域与变化后的区域对应的存储节点相同,此时可以更改用户所在区域与用户标识的对应关系,当用户标识下的用户数据发生变化后,通过用户所在区域和用户标识的对应关系可以确定变化后的用户数据存储的存储节点。由于用户的用户数据变化内容存储在第三存储节点,在确定了用户所在区域对应的存储节点后,可以将第三存储节点中存储的该用户的变化后的用户数据发送至第一存储节点中进行存储。
可选的,在将变化后的用户数据存储在第三存储节点前,可以获得位于变化后的区域内该用户的数据修改请求,解析该数据修改请求获得该用户的用户标识,确定该用户标识下的用户数据中是否存储有用户的修改授权凭证,若存储有该修改授权凭证,则可以基于数据修改请求对用户数据进行修改,并将变化后的用户数据发送至第三存储节点。若没有存储该修改授权凭证,则发送授权认证请求,在基于该授权认证请求生成确认授权指令的情况下,生成该修改授权凭证,并基于数据修改请求对用户数据进行修改,并将变化后的用户数据发送至第三存储节点。将变化后的用户数据发送至第三存储节点之后,可以基于该修改授权凭证在第三存储节点查询该用户的变化后的用户数据。其中,上述的数据修改请求可以为数据新增请求、数据变更请求和数据删除请求中的一种或多种。
本发明还提供一种数据同步方法,如图2所示,该方法包括:
步骤201:在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点。
该步骤201与步骤101类似,在此不再赘述。
步骤202:确定在变化前的区域内用户数据的存储节点,得到第二存储节点。其中,第二存储节点与第一存储节点存储不同的数据。
该步骤202与步骤102类似,在此不再赘述。
步骤203:若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户的用户数据,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,第三存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
该步骤203与步骤103类似,在此不再赘述。
步骤204:对第三存储节点发送的用户的用户数据变更消息进行解析,获得用户的变化数据,按变化数据的数据类型进行分组,确定每一组变化数据对应的数据库,用户数据的各组变化数据对应的数据库均位于第一存储节点中;将各组变化数据存储在对应的数据库中。其中,位于变化后的区域内的用户的变更数据存储在第三存储节点。
在用户数据发生变化的情况下,可以确定用户的变化数据的数据类型,不同数据类型的变化数据可以分为不同的组,确定每一组变化数据对应的数据库,并将各组变化数据存储在对应的数据库中。其中,不同组的变化数据存放在不同消息队列中,每一组变化数据均可通过变化数据中的用户标识查找到该用户所在区域,并确定与该用户所在区域对应的存储节点为第一存储节点,确定与变化后的用户数据的数据类型对应的数据库,并确定该数据库位于该用户所在区域对应第一存储节点中的位置,将变化后的用户数据存储在第一存储节点中对应的数据库中。例如,在用户数据发生变化的情况下,确定变化后的用户数据的类型为用户实际信息,则在用户实际信息类型所属的消息队列中进行用户所在区域对应存储节点的判断,得到该变化后的用户数据需存储在第一存储节点,生成与用户实际信息有关的数据表,确定该用户实际信息类型对应的数据库,将变化后的用户实际信息类型的数据存储以数据表的形式存储在第一存储节点的相应数据库中。本发明通过消息队列可以提高数据同步的吞吐量,并且可以通过增加消息队列的方式扩展用户数据类型,提高了数据同步的灵活性。
在一可选的实施例中,本发明提供的数据同步方法,可应用于不同地点的机房对用户数据进行同步。该实施例中,第一存储节点为A机房,第二存储节点为B机房,第三存储节点为C机房。其中,A机房存储区域1和区域2的用户数据,B机房存储区域3和区域4的用户数据,C机房存储区域1至区域4的用户数据。
用户在区域3内,该用户的用户数据存储在B机房,当用户所在区域发生变化,如用户变化后的区域为区域1,而区域1对应的A机房中并没有该用户的用户数据,此时需要对该用户的用户数据进行数据同步处理,即将该用户的用户数据存储在A机房,并且由于用户已不在区域3中,该用户的用户数据不应继续存储在B机房,因此需要将B机房内该用户的用户数据删除。在对用户的用户数据进行同步时,由于C机房存储区域3内用户数据,因此即使删除B机房内该用户的用户数据,也可以通过C机房获得该用户的待同步数据,并将该用户的待同步数据同步至A机房内。
在通过C机房同步数据时,可以基于该用户的用户数据的数据类型,若数据类型为用户实际信息(如用户姓名、手机号),则从C机房中获得该用户的用户实际信息,将该用户的用户实际信息作为待同步数据同步至A机房。
当然,在通过C机房同步数据时,还可以向C机房发送携带有C机房内数据库标识和用户数据所在数据表的标识,C机房基于该数据库标识定位获得目标数据库,从目标数据库中利用该数据表的标识查找待同步数据,并将查找到的待同步数据同步至A机房。
若用户位于区域1时,该用户的用户数据发生变化,该用户的变更数据会存储在C机房,若将变更数据存储在A机房,C机房可以发送用户数据变更消息,解析该消息后获得用户的变化数据,若该变化数据的数据类型为用户实际信息,则确定该用户实际信息对应的A机房的数据库1,并将该用户实际信息类型的变化数据存储在A机房的数据库1中。若该变化的数据类型除用户实际信息外还包括用户虚拟信息这一类型,则确定用户虚拟信息对应的A机房的数据库2,并将该用户虚拟信息类型的变化数据存储在A机房的数据库2中。
若变化前的区域为区域3,区域3对应的用户数据存储在B机房,当用户所在区域发生变化,如用户变化后的区域为区域4,区域4对应的用户数据同样存储在B机房,此时更改区域与用户标识的对应关系,假设用户标识为uid,则将对应关系变更为uid-mode4,其中,mode4表示区域4。若该用户的用户数据发生变化,该用户的变更数据会存储在C机房,并通过C机房将该用户的变更数据发送至B机房进行存储。
本发明还提供一种数据同步系统,如图3所示,该系统包括:
第一存储节点确定模块301,被配置为在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点。
可选的,第一存储节点确定模块,包括:
第一存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,第一存储节点存储有变化后的区域内的用户数据。
可选的,第二存储节点确定模块,包括:
第二存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,第二存储节点存储有变化前的区域内的用户数据。
第二存储节点确定模块302,被配置为确定在变化前的区域内用户数据的存储节点,得到第二存储节点。第二存储节点与第一存储节点存储不同的数据。
数据同步模块303,被配置为若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户的用户数据,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,第三存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
可选的,数据同步模块303,包括:
第一数据同步单元,被配置为基于用户的用户数据的数据类型,从第三存储节点中获得数据类型的待同步数据,将待同步数据同步至第一存储节点,以使第一存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
可选的,数据同步模块303,包括:
第二数据同步单元,被配置为向第三存储节点发送数据库同步请求;其中,数据库同步请求中携带有第三存储节点的数据库标识和待同步数据所在的数据表的标识;获得第三存储节点发送的用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,待同步数据是第三存储节点基于第三存储节点的数据库标识定位获得目标数据库,并从目标数据库中基于数据表的标识查找到的数据。
作为一可选的实施方式,该系统还包括:
对应关系变化模块,被配置为若第二存储节点与第一存储节点相同,则基于变化后的区域更改用户所在区域与用户标识的对应关系,并在第三存储节点中存储的用户的用户数据发生变化的情况下,将变化后的用户数据存储在第一存储节点中。
本发明还提供一种数据同步系统,如图4所示,该系统包括:
第一存储节点确定模块401,被配置为在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点。
可选的,第一存储节点确定模块,包括:
第一存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,第一存储节点存储有变化后的区域内的用户数据。
可选的,第二存储节点确定模块,包括:
第二存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,第二存储节点存储有变化前的区域内的用户数据。
第二存储节点确定模块402,被配置为确定在变化前的区域内用户数据的存储节点,得到第二存储节点。第二存储节点与第一存储节点存储不同的数据。
数据同步模块403,被配置为若第二存储节点与第一存储节点不同,则在第二存储节点中删除用户的用户数据,从第三存储节点中获得用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,第三存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
可选的,数据同步模块403,包括:
第一数据同步单元,被配置为基于用户的用户数据的数据类型,从第三存储节点中获得数据类型的待同步数据,将待同步数据同步至第一存储节点,以使第一存储节点中存储有用户在变化前的区域内存储在第二存储节点中的数据。
可选的,数据同步模块403,包括:
第二数据同步单元,被配置为向第三存储节点发送数据库同步请求;其中,数据库同步请求中携带有第三存储节点的数据库标识和待同步数据所在的数据表的标识;获得第三存储节点发送的用户的待同步数据,然后将待同步数据同步至第一存储节点;其中,待同步数据是第三存储节点基于第三存储节点的数据库标识定位获得目标数据库,并从目标数据库中基于数据表的标识查找到的数据。
数据分组模块404,对第三存储节点发送的用户的用户数据变更消息进行解析,获得用户的变化数据,按变化数据的数据类型进行分组,确定每一组变化数据对应的数据库,用户数据的各组变化数据对应的数据库均位于第一存储节点中;将各组变化数据存储在对应的数据库中。
作为一可选的实施方式,该系统还包括:
对应关系变化模块,被配置为若第二存储节点与第一存储节点相同,则基于变化后的区域更改用户所在区域与用户标识的对应关系,并在第三存储节点中存储的用户的用户数据发生变化的情况下,将变化后的用户数据存储在第一存储节点中。
如图5所示,为数据同步系统框图,图5中,用户数据从第三存储节点经数据同步系统51到达第一存储节点进行存储。第一存储节点和第三存储节点中均包括多个数据库,用户数据存储在数据库中。数据同步系统51中的uid-mode52即用户模式,其存储用户标识uid与用户所在区域mode的对应关系,云端配置53中存储区域和存储节点的对应关系。数据同步系统51中的消费层可以监听第三存储节点数据变更消息,处理层可以确定用户数据所需存储的存储节点,数据层可以生成与用户数据有关的数据表以便存储在数据库中。
图5中的实线箭头表示用户所在区域发生变化后数据同步系统51的处理流程,虚线箭头表示用户数据发生变更后数据同步系统51的处理流程。如实线箭头所示,在接收到uid-mode消息后,说明用户所在区域发生变化,利用云端配置可以获得与用户当前所在区域对应的存储节点,若存储节点为第一存储节点,而在uid-mode52中存储的用户变化前区域为第二存储节点,第一存储节点与第二存储节点不同,则需要通过第三存储节点,将第三存储节点中用户数据同步至第一存储节点中,此时消费层向第三存储节点发送查询用户信息请求,以便将第三存储节点中用户数据存储至第一存储节点中,并删除第二存储节点中用户数据,然后修改uid-mode52中用户标识与用户所在区域的对应关系。作为另一可选的实施方式,如虚线箭头所示,当第三存储节点中存储的用户的用户数据发生变化,用户数据发生变化可以为数据增加、删除、修改中的一种或多种,则在消费层确定用户数据的数据类型,为用户实际信息、应用软件鉴权信息、第三方鉴权信息和用户虚拟信息中的哪一种,然后利用uid-mode52获得与用户标识对应的存储节点为第一存储节点,通过数据层将变化的用户数据生成数据表后存储在第一存储节点的对应数据库中。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述数据同步方法。
本发明实施例提供了一种电子设备,如图6所示,电子设备60包括至少一个处理器601、以及与处理器601连接的至少一个存储器602、总线603;其中,处理器601、存储器602通过总线603完成相互间的通信;处理器601用于调用存储器602中的程序指令,以执行上述的数据同步方法。本文中的电子设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述的数据同步方法包括的步骤的程序。
本申请是参照根据本申请实施例的方法、系统和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;
确定在变化前的区域内用户数据的存储节点,得到第二存储节点;所述第二存储节点与所述第一存储节点存储不同的数据;
若所述第二存储节点与所述第一存储节点不同,则在所述第二存储节点中删除所述用户的用户数据,从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述第三存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
2.根据权利要求1所述的数据同步方法,其特征在于,所述确定在变化后的区域内用户数据的存储节点,得到第一存储节点,包括:
基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,所述第一存储节点存储有变化后的区域内的用户数据;
所述确定在变化前的区域内用户数据的存储节点,得到第二存储节点,包括:
基于所述预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,所述第二存储节点存储有变化前的区域内的用户数据。
3.根据权利要求1所述的数据同步方法,其特征在于,所述从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点,包括:
基于所述用户的用户数据的数据类型,从所述第三存储节点中获得所述数据类型的所述待同步数据,将所述待同步数据同步至所述第一存储节点,以使所述第一存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
4.根据权利要求1所述的数据同步方法,其特征在于,所述从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点,包括:
向所述第三存储节点发送所述数据库同步请求;其中,所述数据库同步请求中携带有所述第三存储节点的数据库标识和所述待同步数据所在的数据表的标识;
获得所述第三存储节点发送的所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述待同步数据是所述第三存储节点基于所述第三存储节点的数据库标识定位获得目标数据库,并从所述目标数据库中基于所述数据表的标识查找到的数据。
5.根据权利要求1所述的数据同步方法,其特征在于,位于所述变化后的区域内的所述用户的变更数据存储在所述第三存储节点,所述方法,还包括:
对所述第三存储节点发送的所述用户的用户数据变更消息进行解析,获得所述用户的变化数据,按所述变化数据的数据类型进行分组,确定每一组变化数据对应的数据库,所述用户数据的各组变化数据对应的所述数据库均位于所述第一存储节点中;
将各组所述变化数据存储在对应的数据库中。
6.根据权利要求1所述的数据同步方法,其特征在于,还包括:
若所述第二存储节点与所述第一存储节点相同,则基于所述变化后的区域更改用户所在区域与用户标识的对应关系,并在所述第三存储节点中存储的所述用户的用户数据发生变化的情况下,将变化后的用户数据存储在所述第一存储节点中。
7.一种数据同步系统,其特征在于,包括:
第一存储节点确定模块,被配置为在用户所在区域发生变化的情况下,确定在变化后的区域内用户数据的存储节点,得到第一存储节点;
第二存储节点确定模块,被配置为确定在变化前的区域内所述用户数据的存储节点,得到第二存储节点;所述第二存储节点与所述第一存储节点存储不同的数据;
数据同步模块,被配置为若所述第二存储节点与所述第一存储节点不同,则在所述第二存储节点中删除所述用户的用户数据,从第三存储节点中获得所述用户的待同步数据,然后将所述待同步数据同步至所述第一存储节点;其中,所述第三存储节点中存储有所述用户在所述变化前的区域内存储在所述第二存储节点中的数据。
8.根据权利要求7所述的数据同步系统,其特征在于,所述第一存储节点确定模块,包括:
第一存储节点确定单元,被配置为基于预先存储的区域和存储节点的对应关系,确定变化后的区域对应的第一存储节点,所述第一存储节点存储有变化后的区域内的用户数据;
所述第二存储节点确定模块,包括:
第二存储节点确定单元,被配置为基于所述预先存储的区域和存储节点的对应关系,确定变化前的区域对应的第二存储节点,所述第二存储节点存储有变化前的区域内的用户数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现权利要求1-6任一项所述的数据同步方法。
10.一种电子设备,其特征在于,包括:
至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行权利要求1-6任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211096077.4A CN115687515A (zh) | 2022-09-08 | 2022-09-08 | 一种数据同步方法、系统、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211096077.4A CN115687515A (zh) | 2022-09-08 | 2022-09-08 | 一种数据同步方法、系统、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115687515A true CN115687515A (zh) | 2023-02-03 |
Family
ID=85062134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211096077.4A Pending CN115687515A (zh) | 2022-09-08 | 2022-09-08 | 一种数据同步方法、系统、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687515A (zh) |
-
2022
- 2022-09-08 CN CN202211096077.4A patent/CN115687515A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
US11178134B2 (en) | Method and apparatus for allocating device identifiers | |
TWI745473B (zh) | 網路驗證方法及裝置 | |
CN110413595B (zh) | 一种应用于分布式数据库的数据迁移方法和相关装置 | |
CN106878367B (zh) | 服务接口异步调用的实现方法和装置 | |
CN110266763B (zh) | 跨网段互连的区块链网络实现方法、系统及存储介质 | |
CN113157648A (zh) | 基于区块链的分布式数据存储方法、装置、节点及系统 | |
CN110633309A (zh) | 一种区块链交易处理方法及装置 | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN111698675B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN113094334B (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
CN104618388B (zh) | 快速注册登录方法及对应的重置服务器、信息服务器 | |
CN110597877A (zh) | 一种区块链交易处理方法及装置 | |
CN109040300A (zh) | 推送消息的方法、装置和存储介质 | |
CN112468409A (zh) | 访问控制方法、装置、计算机设备及存储介质 | |
CN111431818B (zh) | 跨域请求的流量分配方法、装置、存储介质及计算机设备 | |
CN109726545B (zh) | 一种信息显示方法、设备、计算机可读存储介质和装置 | |
CN114598749A (zh) | 一种服务访问方法及装置 | |
CN114116637A (zh) | 一种数据共享方法、装置、设备及存储介质 | |
CN110740418A (zh) | 用于生成用户到访信息的方法和装置 | |
CN110807203B (zh) | 数据处理方法、业务运营中心平台、系统以及存储介质 | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN115687515A (zh) | 一种数据同步方法、系统、存储介质及电子设备 | |
CN110245192A (zh) | 身份信息查询方法和系统 | |
CN103067365A (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 |