System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及数据库,尤其涉及一种基于快速同步机制的数据管理方法及装置。
技术介绍
1、在互联网和信息化高速发展的今天,数据的产生呈爆炸式增长,因此对数据库及其管理的要求越来越高。目前的分布式数据库往往通过设置主、备库的方式来面对临时故障,即主库故障时可以由备库切换为主库继续提供服务,从而避免了数据库故障时服务停止而影响服务质量、效率。
2、一般来说,分布式数据库的主库对外提供写入服务,备库用于备份数据。相关技术中,在包含主库、备库的分布式数据库中写入数据的效率较低,导致数据库的服务质量较差。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种基于快速同步机制的数据管理方法及装置。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种基于快速同步机制的数据管理方法,所述方法应用于数据系统中的主库,所述数据系统还包括备库,所述方法包括:
4、响应于接收到客户端发送的数据写入请求,在所述主库的leader副本中写入所述数据写入请求指示的目标数据,并生成数据写入日志;
5、将所述数据写入日志分别发送至所述主库的其他副本和所述备库,以使所述主库的其他副本和所述备库分别回放所述数据写入日志,以写入所述目标数据。
6、在本说明书的一个实施例中,所述将所述数据写入日志分别发送至所述主库的其他副本和所述备库,以使所述主库的其他副本和所述备
7、将所述数据写入日志分别发送至所述主库的其他副本和所述备库的多个副本,以使所述主库的其他副本和所述备库的多个副本分别回放所述数据写入日志,以写入所述目标数据。
8、在本说明书的一个实施例中,所述方法还包括:
9、响应于在预设时长内接收到所述主库的其他副本中第一预设数量的副本返回的写入确认消息,确定所述目标数据在所述主库内写入成功;
10、响应于在预设时长内接收到所述备库的多个副本中第二预设数量的副本返回的写入确认消息,确定所述目标数据在所述备库内写入成功;
11、响应于所述目标数据在所述主库内写入成功,且所述目标数据在所述备库内写入成功,向所述客户端返回写入成功消息。
12、在本说明书的一个实施例中,所述方法还包括:
13、根据调整指令对所述第一预设数量和/或所述第二预设数量进行调整。
14、在本说明书的一个实施例中,所述方法还包括:
15、所述主库的至少一个副本向其他副本发送leader选举请求;
16、所述主库的每个副本向接收到的至少一个leader选举请求所属的副本中编号最大的副本返回leader响应消息;
17、所述主库的任一副本接收到leader响应消息的数量满足leader选举条件的数量或比例,确定该副本为leader副本。
18、根据本说明书一个或多个实施例的第二方面,提出了一种基于快速同步机制的数据管理方法,应用于数据系统中备库,所述数据系统还包括主库,所述方法包括:
19、接收所述主库的leader发送的数据写入日志,并回放所述数据写入日志,以将所述数据写入日志所指示的目标数据写入所述备库;
20、其中,所述数据写入日志由所述主库在所述主库的leader副本中写入客户端发送的数据写入请求指示的目标数据后生成,并发送至所述主库的其他副本和所述备库。
21、在本说明书的一个实施例中,所述接收所述主库的leader发送的数据写入日志,并回放所述数据写入日志,以将所述数据写入日志所指示的目标数据写入所述备库,包括:
22、所述备库的每个副本接收所述主库的leader发送的数据写入日志,并回放所述数据写入日志,以将所述数据写入日志所指示的目标数据写入副本;
23、其中,所述数据写入日志由所述主库在所述主库的leader副本中写入客户端发送的数据写入请求指示的目标数据后生成,并发送至所述主库的其他副本和所述备库的每个副本。
24、在本说明书的一个实施例中,所述方法还包括:
25、所述备库的每个副本在成功写入目标数据时向所述主库的leader副本返回写入确认消息,以使所述主库的leader副本响应于在预设时长内接收到所述备库的多个副本中第二预设数量的副本返回的写入确认消息,确定所述目标数据在所述备库内写入成功。
26、在本说明书的一个实施例中,所述方法还包括:
27、所述备库的至少一个副本向其他副本发送leader选举请求;
28、所述备库的每个副本向接收到的至少一个leader选举请求所属的副本中编号最大的副本返回leader响应消息;
29、所述备库的任一副本接收到leader响应消息的数量满足leader选举条件的数量或比例,确定该副本为leader副本。
30、根据本说明书一个或多个实施例的第三方面,提出了一种基于快速同步机制的数据管理装置,应用于数据系统中的主库,所述数据系统还包括备库,所述装置包括:
31、写入模块,用于响应于接收到客户端发送的数据写入请求,在所述主库的leader副本中写入所述数据写入请求指示的目标数据,并生成数据写入日志;
32、同步模块,用于将所述数据写入日志分别发送至所述主库的其他副本和所述备库,以使所述主库的其他副本和所述备库分别回放所述数据写入日志,以写入所述目标数据。
33、在本说明书的一个实施例中,所述同步模块,用于:
34、将所述数据写入日志分别发送至所述主库的其他副本和所述备库的多个副本,以使所述主库的其他副本和所述备库的多个副本分别回放所述数据写入日志,以写入所述目标数据。
35、在本说明书的一个实施例中,所述装置还包括响应模块,用于:
36、响应于在预设时长内接收到所述主库的其他副本中第一预设数量的副本返回的写入确认消息,确定所述目标数据在所述主库内写入成功;
37、响应于在预设时长内接收到所述备库的多个副本中第二预设数量的副本返回的写入确认消息,确定所述目标数据在所述备库内写入成功;
38、响应于所述目标数据在所述主库内写入成功,且所述目标数据在所述备库内写入成功,向所述客户端返回写入成功消息。
39、在本说明书的一个实施例中,所述装置还包括调整模块,用于:
40、根据调整指令对所述第一预设数量和/或所述第二预设数量进行调整。
41、在本说明书的一个实施例中,所述装置还包括主库选举模块,用于:
42、所述主库的至少一个副本向其他副本发送leader选举请求;
43、所述主库的每个副本向接收到的至少一个leader选举请求所属的副本中编号最大的副本返回leader响应消息;
...
【技术保护点】
1.一种基于快速同步机制的数据管理方法,应用于数据系统中的主库,所述数据系统还包括备库,所述方法包括:
2.根据权利要求1所述的基于快速同步机制的数据管理方法,所述将所述数据写入日志分别发送至所述主库的其他副本和所述备库,以使所述主库的其他副本和所述备库分别回放所述数据写入日志,以写入所述目标数据,包括:
3.根据权利要求2所述的基于快速同步机制的数据管理方法,所述方法还包括:
4.根据权利要求3所述的基于快速同步机制的数据管理方法,所述方法还包括:
5.根据权利要求1所述的基于快速同步机制的数据管理方法,所述方法还包括:
6.一种基于快速同步机制的数据管理方法,应用于数据系统中备库,所述数据系统还包括主库,所述方法包括:
7.根据权利要求6所述的基于快速同步机制的数据管理方法,所述接收所述主库的leader发送的数据写入日志,并回放所述数据写入日志,以将所述数据写入日志所指示的目标数据写入所述备库,包括:
8.根据权利要求7所述的基于快速同步机制的数据管理方法,所述方法还包括:
9.
10.一种基于快速同步机制的数据管理装置,应用于数据系统中的主库,所述数据系统还包括备库,所述装置包括:
11.一种基于快速同步机制的数据管理装置,应用于数据系统中备库,所述数据系统还包括主库,所述装置包括:
12.一种计算机程序产品,包括计算机程序/指令,该计算程序/指令被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
13.一种电子设备,包括:
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至9中任一项所述方法的步骤。
...【技术特征摘要】
1.一种基于快速同步机制的数据管理方法,应用于数据系统中的主库,所述数据系统还包括备库,所述方法包括:
2.根据权利要求1所述的基于快速同步机制的数据管理方法,所述将所述数据写入日志分别发送至所述主库的其他副本和所述备库,以使所述主库的其他副本和所述备库分别回放所述数据写入日志,以写入所述目标数据,包括:
3.根据权利要求2所述的基于快速同步机制的数据管理方法,所述方法还包括:
4.根据权利要求3所述的基于快速同步机制的数据管理方法,所述方法还包括:
5.根据权利要求1所述的基于快速同步机制的数据管理方法,所述方法还包括:
6.一种基于快速同步机制的数据管理方法,应用于数据系统中备库,所述数据系统还包括主库,所述方法包括:
7.根据权利要求6所述的基于快速同步机制的数据管理方法,所述接收所述主库的leader发送的数据...
【专利技术属性】
技术研发人员:阳振坤,徐虎,韩富晟,刘浩,陈斌,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。