System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据同步,特别涉及一种数据备份系统、方法、装置、设备、存储介质及程序产品。
技术介绍
1、对于许多组织和企业来说,系统的连续性是至关重要的。系统的高可用性可以确保系统在故障发生时能够快速恢复并保持业务的连续性。为了满足系统的高可用性,通常需要配置多个副本,副本之间需要即时同步复制以备主数据库故障时即时切换从数据库为系统提供业务数据。
2、相关技术中,由于例如结构化查询语言(my structured query language,mysql)等数据库语言自身支持的异步复制(asynchronous replication,async replication)存在数据一致性问题,通常采用半同步复制(semi-synchronous replication,semi-syncreplication),当主数据库接收到写操作并将其写入到本地日志之后,主数据库会等待至少一个从数据库确认已经接收到并写入相同的数据变更操作,然后才会向应用程序返回写操作的完成状态。
3、然而,上述方法在主数据库由于网络延迟或从数据库故障等原因等不到从数据库应答时会蜕化为异步复制的形式,仍然存在数据一致性问题,且从数据库资源消耗较大,数据同步效率较低。
技术实现思路
1、本申请实施例提供了一种数据备份系统、方法、装置、设备、存储介质及程序产品,能够提高数据同步效率。所述技术方案如下。
2、一方面,提供了一种数据备份系统,所述系统包括第一数据服务器、第二数据服务器和日志
3、所述第一数据服务器,用于获取至少一个操作日志,所述操作日志用于记录对第一数据的操作行为;在基于所述至少一个操作日志更新所述第一数据的过程中,向所述第二数据服务器和所述日志服务器发送所述至少一个操作日志;
4、所述日志服务器,用于接收所述第一数据服务器发送的所述至少一个操作日志进行备份存储;在对所述至少一个操作日志进行备份存储成功后,向所述第一数据服务器反馈所述至少一个操作日志对应的日志备份结果;
5、所述第一数据服务器,还用于接收所述日志备份结果。
6、另一方面,提供了一种数据备份方法,所述方法由数据备份系统中的第一数据服务器执行,所述方法包括:
7、获取至少一个操作日志,所述操作日志用于记录对第一数据的操作行为;
8、在基于所述至少一个操作日志更新所述第一数据的过程中,向至少一个第二数据服务器和日志服务器发送所述至少一个操作日志,所述第二数据服务器用于备份所述第一数据服务器中存储的所述操作日志和所述第一数据,所述日志服务器用于备份所述第一数据服务器中存储的所述操作日志;
9、接收所述日志服务器在对所述至少一个操作日志存储成功后发送的第一日志备份结果。
10、在一些实施例中,所述在基于所述至少一个操作日志更新所述第一数据的过程中,向至少一个第二数据服务器和日志服务器发送所述至少一个操作日志,包括:
11、运行日志转储线程,所述日志转储线程用于将所述第一数据服务器中存储的所述操作日志备份到所述日志服务器和所述至少一个第二数据服务器中;
12、通过所述日志转储线程从复制缓冲区中读取所述至少一个操作日志,所述复制缓冲区是用于存储待备份至所述日志服务器和所述至少一个第二数据服务器中的操作日志的缓冲区;
13、通过所述日志转储线程向所述第二数据服务器和所述日志服务器发送所述至少一个操作日志。
14、在一些实施例中,所述通过所述日志转储线程从复制缓冲区中读取所述至少一个操作日志,包括:
15、通过所述日志转储线程根据发送队列中存储的日志序列号从所述复制缓冲区中读取所述至少一个操作日志,所述发送队列用于存储待发送的操作日志对应的日志序列号,所述日志序列号是在获取所述至少一个操作日志时关联生成的序列号,所述日志序列号用于标识所述至少一个操作日志;
16、当所述复制缓冲区中不包括所述日志序列号对应的所述至少一个操作日志时,根据所述日志序列号从全量日志文件中读取所述日志序列号对应的所述至少一个操作日志,所述全量日志文件中包括所述第一数据服务器在历史时间段内存储的全量操作日志。
17、在一些实施例中,所述通过所述日志转储线程向所述第二数据服务器和所述日志服务器发送所述至少一个操作日志,包括:
18、对所述至少一个操作日志进行压缩编码,得到日志编码序列,所述日志编码序列中包括所述操作日志对应的所述日志序列号;
19、通过所述日志转储线程向所述第二数据服务器和所述日志服务器发送所述至少一个操作日志对应的日志编码序列。
20、在一些实施例中,所述方法还包括:
21、运行第一写入线程;
22、通过所述第一写入线程将所述至少一个操作日志拷贝到日志缓冲区中;
23、基于所述日志缓冲区中的所述至少一个操作日志对所述第一数据服务器中存储的所述第一数据进行更新,得到存储有所述操作日志和更新后的所述第一数据的全量日志文件;
24、通过所述第一写入线程将所述至少一个操作日志拷贝到复制缓冲区,所述复制缓冲区用于存储待备份至所述日志服务器和所述至少一个第二数据服务器中的操作日志。
25、在一些实施例中,所述方法还包括:
26、运行日志刷新线程,通过所述日志刷新线程将所述复制缓冲区中的操作日志刷新到所述第一数据服务器的本地磁盘上。
27、在一些实施例中,所述获取至少一个操作日志,包括:
28、运行用户线程;
29、通过所述用户线程接收用户终端发起的用户请求,基于所述用户请求生成所述至少一个操作日志。
30、在一些实施例中,所述运行用户线程之后,还包括:
31、通过所述用户线程将所述至少一个操作日志对应的日志序列号存储在等待队列中;
32、所述接收所述日志服务器在对所述至少一个操作日志存储成功后发送的第一日志备份结果,包括:
33、运行结果检测线程,所述结果检测线程用于接收所述第二数据服务器或所述日志服务器基于所述至少一个操作日志返回的备份结果;
34、通过所述结果检测线程解析所述备份结果对应的操作日志的日志序列号;
35、当所述等待队列中包括基于第一备份结果解析得到的第一日志序列号时,确定第一操作日志的处理结果,所述第一日志序列号用于标识所述第一操作日志;
36、从所述等待队列中删除所述第一日志序列号。
37、在一些实施例中,所述方法还包括:
38、运行应答等待线程,所述应答等待线程与所述用户终端发起的用户请求存在对应关系;
39、通过所述应答等待线程等待所述结果检测线程确定所述用户请求对应的操作日志的处理结果;
40、在确定所述用户请求对应的处理结果后,向所述用户终端反馈所述用户请求对应的处理结果;
41、本文档来自技高网...
【技术保护点】
1.一种数据备份系统,其特征在于,所述系统包括第一数据服务器、至少一个第二数据服务器和日志服务器;
2.根据权利要求1所述的系统,其特征在于,
3.根据权利要求2所述的系统,其特征在于,
4.根据权利要求3所述的系统,其特征在于,
5.根据权利要求1至4任一所述的系统,其特征在于,
6.根据权利要求5所述的系统,其特征在于,
7.根据权利要求1至4任一所述的系统,其特征在于,
8.根据权利要求7所述的系统,其特征在于,
9.根据权利要求8所述的系统,其特征在于,
10.根据权利要求9所述的系统,其特征在于,
11.根据权利要求1至4任一所述的系统,其特征在于,
12.根据权利要求11所述的系统,其特征在于,所述至少一个操作日志中包括第一操作日志;
13.根据权利要求1至4任一所述的系统,其特征在于,所述至少一个操作日志中包括第一操作日志;
14.一种数据备份方法,其特征在于,所述方法由数据备份系统中的第一数据服务器执行,所述方
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
17.一种数据备份装置,其特征在于,所述装置包括:
18.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现如权利要求14至16任一所述的数据备份方法。
19.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如权利要求14至16任一所述的数据备份方法。
20.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求14至16任一所述的数据备份方法。
...【技术特征摘要】
1.一种数据备份系统,其特征在于,所述系统包括第一数据服务器、至少一个第二数据服务器和日志服务器;
2.根据权利要求1所述的系统,其特征在于,
3.根据权利要求2所述的系统,其特征在于,
4.根据权利要求3所述的系统,其特征在于,
5.根据权利要求1至4任一所述的系统,其特征在于,
6.根据权利要求5所述的系统,其特征在于,
7.根据权利要求1至4任一所述的系统,其特征在于,
8.根据权利要求7所述的系统,其特征在于,
9.根据权利要求8所述的系统,其特征在于,
10.根据权利要求9所述的系统,其特征在于,
11.根据权利要求1至4任一所述的系统,其特征在于,
12.根据权利要求11所述的系统,其特征在于,所述至少一个操作日志中包括第一操作日志;
13.根据权利要求1至4任一所述的系统,其特征在于,所述至少一个操作日志中包括第一...
【专利技术属性】
技术研发人员:潘安群,雷海林,叶安达,陈育兴,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。