本发明涉及计算机领域,特别涉及一种双向数据的同步方法、计算机程序产品、设备及存储介质。
背景技术:
1、数据摆渡在当下是一个比较实用的技术,可以将数据在内外网之间进行安全传输。其中一种场景需要将内外网产生的变更数据同步到对侧,对于从对侧同步过来而导致的变更数据,需要进行防回传控制。
2、针对数据库数据的同步,目前主要依赖物化视图(oracle的一种特殊试图)、触发器(一种存储过程更加通用)来完成数据的变更捕获。触发器可以在表数据在执行新增、修改、删除等操作时进行通知,但如果源库和目的库都存在同步触发动作,则会导致被同步的数据再次同步至源库,数据发生回传过程,浪费系统资源。
技术实现思路
1、有鉴于此,本发明实施例提出了一种双向数据的同步方法、计算机程序产品、设备及存储介质,用以解决现有技术的如下问题:双向数据同步过程中,如果源库和目的库都存在同步触发动作,则会导致被同步的数据再次同步至源库,数据发生回传过程,浪费系统资源。
2、一方面,本发明实施例提出了一种双向数据的同步方法,包括:第一服务器检测在第一数据库表中写入数据的用户是否为预定专属用户;在所述写入数据的用户不是所述预定专属用户的情况下,第一服务器将写入至所述第一数据库表的数据备份至临时表中,并保存写入至所述第一数据库表的数据;第一客户端检测所述临时表中是否存在数据,其中,所述第一客户端为所述第一服务器对应的客户端;在所述临时表中存在数据的情况下,所述第一客户端向第二客户端发送数据同步请求,以在第二客户端上使用所述预定专属用户同步所述第一数据库表中的数据。
3、在一些实施例中,在所述第一客户端向第二客户端发送数据同步请求之后,还包括:所述第二客户端通过所述预定专属用户将所述临时表中的数据写入至第二服务器的第二数据库表中。
4、在一些实施例中,所述第二客户端通过所述预定专属用户将所述临时表中的数据写入至第二服务器的第二数据库表中,包括:所述第二客户端接收所述预定专属用户的账号登录请求,以通过所述预定专属用户获取所述临时表中的数据;所述第二客户端使用所述预定专属用户向所述第二服务器发起数据写入请求,以将所述临时表中的数据写入至所述第二数据库表。
5、在一些实施例中,所述第一服务器将写入至所述第一数据库表的数据备份至临时表中,包括:获取写入至所述第一数据库表的数据的元信息;将所述元信息存储至所述临时表中,以通过所述元信息获取所述第一数据库表中的数据。
6、在一些实施例中,在所述第一服务器检测在第一数据库表中写入数据的用户是否为预定专属用户之前,还包括:所述第一客户端接收所述预定专属用户的账号登录请求;所述第一客户端使用所述预定专属用户向所述第一服务器发起数据写入请求;响应于所述数据写入请求,在所述第一服务器的所述第一数据库表中写入数据。
7、在一些实施例中,所述预定专属用户包括:具有专属标签的多个账号。
8、在一些实施例中,所述第一客户端检测所述临时表中是否存在数据,包括:所述第一客户端按照预定周期检测所述临时表中是否存在数据。
9、在一些实施例中,在所述第一服务器检测在第一数据库表中写入数据的用户是否为预定专属用户之后,还包括:在所述写入数据的用户是所述预定专属用户的情况下,保存写入至所述第一数据库表的数据。
10、另一方面,本发明实施例提出了一种计算机程序产品,存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
11、另一方面,本发明实施例提出了一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述方法的步骤。
12、另一方面,本发明实施例提出了一种存储介质,所述存储介质承载有一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现上述方法的步骤。
13、本发明实施例设置了用于数据同步的预定专属用户,当通过该预定专属用户将数据写入至数据库表中时,则说明数据是外部传输过来需要同步的数据,通过辨别数据的写入用户是否为预定专属用户来防止同步的数据发生回传,整个过程只需要增加简单逻辑,操作简单,保证了系统资源的有效利用。
1.一种双向数据的同步方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,在所述第一客户端向第二客户端发送数据同步请求之后,还包括:
3.如权利要求2所述的方法,其特征在于,所述第二客户端通过所述预定专属用户将所述临时表中的数据写入至第二服务器的第二数据库表中,包括:
4.如权利要求1所述的方法,其特征在于,所述第一服务器将写入至所述第一数据库表的数据备份至临时表中,包括:
5.如权利要求1至4中任一项所述的方法,其特征在于,在所述第一服务器检测在第一数据库表中写入数据的用户是否为预定专属用户之前,还包括:
6.如权利要求1至4中任一项所述的方法,其特征在于,所述预定专属用户包括:具有专属标签的多个账号。
7.如权利要求1至4中任一项所述的方法,其特征在于,所述第一客户端检测所述临时表中是否存在数据,包括:
8.如权利要求1至4中任一项所述的方法,其特征在于,在所述第一服务器检测在第一数据库表中写入数据的用户是否为预定专属用户之后,还包括:
9.一种计算机程序产品,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
10.一种计算机设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种存储介质,其特征在于,所述存储介质承载有一个或多个计算机程序,所述一个或多个计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
