本技术涉及数据库,尤其涉及一种数据备份方法及装置。
背景技术:
1、在各个领域中,业务系统的可靠性一直是业界广泛关注的话题。业务系统包括业务应用系统和业务数据库。业务应用系统产生业务数据,并将业务数据发送至业务数据库进行存储。当业务数据库出现故障时,将会造成业务数据丢失,直接影响业务系统对外提供的业务服务,造成巨大的损失。
2、为了应对业务系统中业务数据库的故障问题,常常对业务数据库中的业务数据进行备份。目前,当生产站点的业务应用系统产生业务数据并存储在生产站点的业务数据库后,生产站点将该业务数据传输至容灾站点的业务数据库进行数据备份。当生产站点的业务数据库发生故障时,可以由容灾站点采用备份的业务数据对外提供业务服务。
3、目前,当生产站点将业务数据发送至容灾站点进行数据备份时,由于网络性能或其他异常等原因,导致生产站点的业务数据库中的业务数据和容灾站点的业务数据库中的业务数据可能不一致,因此保证生产站点的业务数据库中的业务数据与容灾站点的业务数据库中的业务数据的一致性,是目前需要解决的问题。
技术实现思路
1、本技术实施例提供一种数据备份方法及装置,用以保证生产站点和容灾站点中所存储的业务数据的一致性。
2、一方面,提供了一种数据备份方法,应用于业务处理系统中的第一站点,所述业务处理系统包括所述第一站点和第二站点,所述第二站点用于生成业务数据并通过数据库异步复制将生成的业务数据同步到所述第一站点的业务数据库,所述第一站点用于对所述第二站点生成的业务数据进行容灾备份,所述方法包括:
3、接收所述第二站点发送的第一消息,所述第一消息中包括所述第二站点生成的第一业务数据;
4、缓存所述第一业务数据,并向所述第二站点发送第一响应,所述第一响应用于触发所述第二站点将生成的业务数据存储到所述第二站点的业务数据库;
5、接收所述第二站点发送的第二消息,若所述第二消息指示所述第二站点已将第二业务数据存储到所述第二站点的业务数据库,则根据所述第二业务数据对所述第一站点的业务数据库进行核查,得到核查结果;其中,所述第二业务数据为所述第一业务数据的部分或全部;
6、若所述核查结果表明所述第一站点的业务数据库中不存在第三业务数据,则将所述第三业务数据存储到所述第一站点的业务数据库中;其中,所述第三业务数据为所述第二业务数据的部分或全部。
7、上述实现方式中,第一站点接收第二站点发送的第一消息,其中,第一消息中包括第二站点生成的第一业务数据。第一站点缓存第一业务数据,并向第二站点发送第一响应,其中,第一响应用于触发第二站点将第一业务数据存储到第二站点的业务数据库。第一站点接收第二站点发送的第二消息,若第二消息指示第二站点已将第二业务数据存储到第二站点的业务数据库,则根据第二业务数据对第一站点的业务数据库进行核查,得到核查结果;其中,第二业务数据为第一业务数据的部分或全部。若核查结果表明第一站点的业务数据库中不存在第三业务数据,则将第三业务数据存储到第一站点的业务数据库中;其中,第三业务数据为第二业务数据的部分或全部,以上过程保证了第一站点的业务数据库所存储的业务数据,与第二站点的业务数据库所存储的业务数据相一致。
8、当第二站点发生故障时,可以直接切换至第一站点提供服务,因此,本技术中的恢复时间目标(recovery time objective,rto)接近0。由于第一站点缓存了第一业务数据,因此,当第二站点发生故障,采用第一站点的业务数据库中的业务数据对第二站点的业务数据库进行数据恢复时,可恢复的数据的时间点接近0,因此,恢复点目标(recovery pointobjective,rpo)接近0。
9、可选地,所述第二消息中包括n个交易标识,所述n个交易标识对应的交易记录已存储到所述第二站点的业务数据库;其中,n为大于或等于1的整数;所述根据所述第二业务数据对所述第一站点的业务数据库进行核查,包括:获取所述n个交易标识对应的交易记录;分别确定所述n个交易标识中每个交易标识对应的交易记录是否存在于所述第一站点的业务数据库中。
10、可选地,所述第一业务数据包括m个交易记录,每个交易记录包括交易账号信息;其中,m>=n;所述接收所述第二站点发送的第二消息之后,还包括:根据所述第二消息中包括的所述n个交易标识,获取所述m个交易记录中与所述n个交易标识对应的n个交易记录;将所述n个交易记录包括的交易账号信息添加至第一列表。
11、可选地,还包括:若第一交易标识对应的交易记录存在于所述第一站点的业务数据库中,则将所述第一交易标识对应的交易账号信息从所述第一列表中删除;其中,所述第一交易标识为所述n个交易标识中的任意一个;或者,若所述第一交易标识对应的交易记录不存在于所述第一业务节点的业务数据中,则将所述n个交易记录中所述第一交易标识对应的交易记录存储至所述第一站点的业务数据库中,并将所述第一交易标识对应的交易账号信息从所述第一列表中删除;其中,所述第一交易标识为所述n个交易标识中的任意一个。
12、可选地,还包括:当所述第二站点切换为生产站点后,根据所述第一列表,禁止所述第一列表中存储的交易账号进行交易。
13、上述实现方式中,第一列表中的交易账号禁止交易,避免出现第一站点和第二站点中交易记录不一致的问题。
14、可选地,所述第一业务数据包括m个交易记录;所述缓存所述第一业务数据,包括:将所述m个交易记录存储至所述第一站点的消息队列中;所述接收所述第二站点发送的所述第二消息之后,还包括:根据所述第二消息中包括的所述n个交易标识,将所述消息队列中所述m个交易记录中与所述n个交易标识对应的交易记录迁移到所述第一站点的应用层同步数据库。
15、可选地,所述获取所述n个交易标识对应的交易记录,包括:
16、从所述第二业务数据中获取第一交易标识对应的交易记录,所述第一交易标识为所述n个交易标识中的任意一个;所述分别确定所述n个交易标识中每个交易标识对应的交易记录是否存在于所述第一站点的业务数据库中,包括:
17、确定所述第一交易标识对应的交易记录是否存在于所述应用层同步数据库中;若所述第一交易标识对应的交易记录存在于所述第一站点的业务数据中,则将所述第一交易标识对应的交易记录从所述应用层同步数据库中删除;或者若所述第一交易标识对应的交易记录不存在于所述第一业务节点的业务数据中,则将所述第一交易标识对应的交易记录存储至所述第一站点的业务数据库中,并将所述第一交易标识对应的交易记录从所述应用层同步数据库中删除。
18、可选地,所述业务数据包括金融业务的交易数据,或者物流业务的物流数据。
19、一方面,提供了一种数据备份方法,应用于业务处理系统中的第一站点和第二站点,所述业务处理系统包括所述第一站点和第二站点,所述第二站点用于生成业务数据并通过数据库异步复制将生成的业务数据同步到所述第一站点的业务数据库,所述第一站点用于对所述第二站点生成的业务数据进行容灾备份,所述方法包括:
20、所述第二站点向所述第一站点发送第一消息,所述第一消息中包括所述第二站点生成的第一业务数据;
21、所述第一站点接收所述第二站点发送的第一消息后,缓存所述第一业务数据,并向所述第二站点发送第一响应;
22、所述第二站点根据所述第一响应,将生成的业务数据存储到所述第二站点的业务数据库,并向所述第一站点发送第二消息,所述第二消息指示所述第二站点已将第二业务数据存储到所述第二站点的业务数据库,所述第二业务数据为所述第一业务数据的部分或全部;
23、所述第一站点接收所述第二消息后,根据所述第二业务数据对所述第一站点的业务数据库进行核查,得到核查结果;若所述核查结果表明所述第一站点的业务数据库中不存在第三业务数据,则将所述第三业务数据存储到所述第一站点的业务数据库中;其中,所述第三业务数据为所述第二业务数据的部分或全部。
24、一方面,提供了一种数据备份装置,所述数据备份装置包括:
25、接收模块,用于接收所述第二站点发送的第一消息,所述第一消息中包括所述第二站点生成的第一业务数据;还用于接收所述第二站点发送的第二消息;
26、处理模块,用于缓存所述第一业务数据;若所述第二消息指示所述第二站点已将第二业务数据存储到所述第二站点的业务数据库,还用于则根据所述第二业务数据对所述第一站点的业务数据库进行核查,得到核查结果;其中,所述第二业务数据为所述第一业务数据的部分或全部;若所述核查结果表明所述第一站点的业务数据库中不存在第三业务数据,还用于则将所述第三业务数据存储到所述第一站点的业务数据库中;其中,所述第三业务数据为所述第二业务数据的部分或全部;
27、发送模块,用于向所述第二站点发送第一响应,所述第一响应用于触发所述第二站点将生成的业务数据存储到所述第二站点的业务数据库。
28、可选地,所述第二消息中包括n个交易标识,所述n个交易标识对应的交易记录已存储到所述第二站点的业务数据库;其中,n为大于或等于1的整数;
29、所述处理模块,具体用于:
30、获取所述n个交易标识对应的交易记录;分别确定所述n个交易标识中每个交易标识对应的交易记录是否存在于所述第一站点的业务数据库中。
31、可选地,所述第一业务数据包括m个交易记录,每个交易记录包括交易账号信息;其中,m>=n;
32、所述接收模块还用于所述接收所述第二站点发送的第二消息之后,根据所述第二消息中包括的所述n个交易标识,获取所述m个交易记录中与所述n个交易标识对应的n个交易记录;将所述n个交易记录包括的交易账号信息添加至第一列表。
33、可选地,所述处理模块,还用于:
34、若第一交易标识对应的交易记录存在于所述第一站点的业务数据库中,则将所述第一交易标识对应的交易账号信息从所述第一列表中删除;其中,所述第一交易标识为所述n个交易标识中的任意一个;或者若所述第一交易标识对应的交易记录不存在于所述第一业务节点的业务数据中,则将所述n个交易记录中所述第一交易标识对应的交易记录存储至所述第一站点的业务数据库中,并将所述第一交易标识对应的交易账号信息从所述第一列表中删除;其中,所述第一交易标识为所述n个交易标识中的任意一个。
35、可选地,所述处理模块,还用于:
36、当所述第二站点切换为生产站点后,根据所述第一列表,禁止所述第一列表中存储的交易账号进行交易。
37、可选地,所述第一业务数据包括m个交易记录;
38、所述处理模块,具体用于:
39、将所述m个交易记录存储至所述第一站点的消息队列中;
40、所述处理模块还用于:
41、所述接收所述第二站点发送的所述第二消息之后,根据所述第二消息中包括的所述n个交易标识,将所述消息队列中所述m个交易记录中与所述n个交易标识对应的交易记录迁移到所述第一站点的应用层同步数据库。
42、可选地,所述处理模块,具体用于:
43、从所述第二业务数据中获取第一交易标识对应的交易记录,所述第一交易标识为所述n个交易标识中的任意一个;
44、所述处理模块,具体用于:
45、确定所述第一交易标识对应的交易记录是否存在于所述应用层同步数据库中;若所述第一交易标识对应的交易记录存在于所述第一站点的业务数据中,则将所述第一交易标识对应的交易记录从所述应用层同步数据库中删除;或者若所述第一交易标识对应的交易记录不存在于所述第一业务节点的业务数据中,则将所述第一交易标识对应的交易记录存储至所述第一站点的业务数据库中,并将所述第一交易标识对应的交易记录从所述应用层同步数据库中删除。
46、可选地,所述业务数据包括金融业务的交易数据,或者物流业务的物流数据。
47、一方面,提供一种电子设备,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机指令,当所述一个或多个计算机指令被所述一个或多个处理器执行时,使得所述电子设备执行如上述数据备份方法。
48、一方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当计算机指令在计算机上运行时,使得所述计算机执行如上述数据备份方法。
49、一方面,提供一种芯片,所述芯片包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机指令,当所述一个或多个计算机指令被所述一个或多个处理器执行时,使得所述芯片执行如上述数据备份方法。
50、一方面,提供一种计算机程序产品,所述计算机程序产品包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如上述数据备份方法。
1.一种数据备份方法,其特征在于,应用于业务处理系统中的第一站点,所述业务处理系统包括所述第一站点和第二站点,所述第二站点用于生成业务数据并通过数据库异步复制将生成的业务数据同步到所述第一站点的业务数据库,所述第一站点用于对所述第二站点生成的业务数据进行容灾备份,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述第二消息中包括n个交易标识,所述n个交易标识对应的交易记录已存储到所述第二站点的业务数据库;其中,n为大于或等于1的整数;
3.如权利要求2所述的方法,其特征在于,所述第一业务数据包括m个交易记录,每个交易记录包括交易账号信息;其中,m>=n;
4.如权利要求3所述的方法,其特征在于,还包括:
5.如权利要求3或4所述的方法,其特征在于,还包括:
6.如权利要求2-5任一项所述的方法,其特征在于,所述第一业务数据包括m个交易记录;
7.如权利要求6所述的方法,其特征在于,所述获取所述n个交易标识对应的交易记录,包括:
8.如权利要求1-7任一所述的方法,其特征在于,所述业务数据包括金融业务的交易数据,或者物流业务的物流数据。
9.一种数据备份方法,其特征在于,应用于业务处理系统中的第一站点和第二站点,所述业务处理系统包括所述第一站点和第二站点,所述第二站点用于生成业务数据并通过数据库异步复制将生成的业务数据同步到所述第一站点的业务数据库,所述第一站点用于对所述第二站点生成的业务数据进行容灾备份,其特征在于,所述方法包括:
10.一种数据备份装置,其特征在于,所述数据备份装置包括:接收模块、处理模块和发送模块;
11.如权利要求10所述的数据备份装置,其特征在于,所述第二消息中包括n个交易标识,所述n个交易标识对应的交易记录已存储到所述第二站点的业务数据库;其中,n为大于或等于1的整数;
12.一种数据备份系统,其特征在于,所述数据备份系统包括第一站点和第二站点:
13.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机指令,当所述一个或多个计算机指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至8中任一项所述的方法或权利要求9所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
15.一种芯片,其特征在于,所述芯片包括:一个或多个处理器;一个或多个存储器;其中,所述一个或多个存储器存储有一个或多个计算机指令,当所述一个或多个计算机指令被所述一个或多个处理器执行时,使得所述芯片执行如权利要求1至8中任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。