本公开涉及信息,具体涉及与数据处理、数据库管理和系统集成相关,尤其涉及数据同步方法、装置、电子设备及存储介质。
背景技术:
1、随着智能平台的快速升级,业务迭代版本的速度不断加快,需要采用新数据库替代线上老系统数据库,此时需要将老系统数据库的数据迁移到新数据库中,并且需要在数据迁移过程中对线上业务无损。然而现有的数据迁移方法成本比较大,不够灵活,且使用范围非常少。
技术实现思路
1、本公开提供了一种数据同步方法、装置、电子设备及存储介质。
2、根据本公开的一方面,提供了一种数据同步方法,包括:
3、将不同类型的事件主题注册至基于事件消息的中间件,所述事件主题用于描述对一类消息的具体操作;
4、若所述中间件接收到来自原始数据库客户端发布的消息事件,则将所述消息事件传递至目标数据库客户端,所述消息事件中包含待双写的业务数据以及指定的事件主题;
5、触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步。
6、根据本公开的另一方面,提供了数据同步装置,包括:
7、注册模块,用于将不同类型的事件主题注册至基于事件消息的中间件,所述事件主题用于描述对一类消息的具体操作;
8、传递模块,用于若所述中间件接收到来自原始数据库客户端发布的消息事件,则将所述消息事件传递至目标数据库客户端,所述消息事件中包含待双写的业务数据以及指定的事件主题;
9、触发模块,用于触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步。
10、根据本公开的第三方面,提供了一种电子设备,包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述技术方案中任一项所述的方法。
14、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述技术方案中任一项所述的方法。
15、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述技术方案中任一项所述的方法。
16、本公开提供了数据同步方法、装置、设备以及存储介质,本公开通过采用基于事件消息的中间件实现数据同步,由于原始数据库客户端与目标数据客户端之间通过事件主题进行通信,无需直接相互引用,从而增强了系统的解耦合性。其次,通过触发与事件主题对应的回调函数,可以确保数据在原始数据库客户端与目标数据客户端之间按照预定义的规则进行同步,从而保障了数据的一致性。最后,由于消息事件可以通过中间件立即从原始数据库传递到目标数据库,确保数据的即时同步,从而可以提升实时性。该数据迁移方法比较灵活,使用范围广。
17、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种数据同步方法,包括:
2.根据权利要求1所述的方法,其中,所述将不同类型的事件主题注册至基于事件消息的中间件,包括:
3.根据权利要求1所述的方法,其中,所述触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步,包括:
4.根据权利要求3所述的方法,其中,所述根据所述消息事件触发与所述事件主题对应的回调函数进行回调操作,以进行数据同步,包括:
5.根据权利要求1至4任意一项所述的方法,其中,在触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步之后,所述方法包括:
6.根据权利要求1至4任意一项所述的方法,其中,在将不同类型的事件主题注册至基于事件消息的中间件之前,所述方法还包括:
7.一种数据同步装置,包括:
8.根据权利要求7所述的装置,其中,所述注册模块将不同类型的事件主题注册至基于事件消息的中间件,包括:
9.根据权利要求7所述的装置,其中,所述触发模块触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步,包括:
10.根据权利要求9所述的装置,其中,所述触发模块根据所述消息事件触发与所述事件主题对应的回调函数进行回调操作,以进行数据同步,包括:
11.根据权利要求7至10任意一项所述的装置,其中,所述触发模块在触发与所述指定的事件主题对应的回调函数进行回调操作,以进行数据同步之后,还用于:
12.根据权利要求7至10任意一项所述的装置,其中,所述注册模块在将不同类型的事件主题注册至基于事件消息的中间件之前,还用于:
13.一种电子设备,包括:
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
