System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及数据库,尤其涉及一种事务处理方法及装置、电子设备及存储介质。
技术介绍
1、近年来,数据库技术得到了较为快速的发展,其种类越来越多,诞生了分布式数据库等类型。分布式数据库是一种将数据存储在多个地理位置不同的计算机上的数据库系统。这些计算机通过网络连接在一起,共同构成了一个逻辑上的单一数据库系统。分布式数据库的设计目的是为了提高系统的可扩展性、可用性和性能,同时降低单点故障的风险。
2、在相关技术中,分布式数据库在执行跨分区的事务时,由于涉及到分区之间的交互、以及各分区共识协议组内的共识操作,导致效率较低。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种事务处理方法及装置、电子设备及存储介质。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的控制节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
4、接收客户端发送的事务处理请求,并将所述事务处理请求在所述共识协议组内进行共识处理;
5、若所述事务处理请求在所述共识协议组内完成共识,则将所述事务处理请求发送至对应的分区节点进行执行。
6、在本说明书一个或多个实施例中,在所述将所述事务处理请求在所述共识协议组内进行共识处理之前,所述方
7、将所述事务处理请求发送至对应的分区节点进行验证;
8、所述将所述事务处理请求在所述共识协议组内进行共识处理,包括:
9、在所述事务处理请求通过验证的情况下,将所述事务处理请求在所述共识协议组内进行共识处理。
10、在本说明书一个或多个实施例中,所述将所述事务处理请求发送至对应的分区节点进行验证,包括:
11、若所述事务处理请求针对一个分区节点,则将所述事务处理请求发送至所述事务处理请求所针对的分区节点;
12、若所述事务处理请求针对多个分区节点,则将所述事务处理请求发送至所述事务处理请求所针对的事务源节点。
13、在本说明书一个或多个实施例中,所述分区节点用于将接收到的事务处理请求添加至未验证事务队列中,并对所述未验证事务队列内的事务处理请求依次进行验证,以及将通过验证的事务处理请求的验证通过消息上报至控制节点。
14、在本说明书一个或多个实施例中,所述分区节点用于将通过验证的事务处理请求添加至已验证事务队列中,并将所述已验证事务队列内的事务处理请求的验证通过消息批量上报至控制节点。
15、在本说明书一个或多个实施例中,所述分区节点用于将通过验证的事务处理请求的哈希值作为验证通过消息上报至控制节点。
16、在本说明书一个或多个实施例中,所述数据库系统内多个可用区中的控制节点之间形成paxos协议组或者pbft协议组。
17、在本说明书一个或多个实施例中,所述将所述事务处理请求发送至对应的分区节点进行执行,包括:
18、若所述事务处理请求针对一个分区节点,则将所述事务处理请求发送至所述事务处理请求所针对的分区节点,以使接收所述事务处理请求的分区节点在所述分区节点内执行所述事务处理请求;
19、若所述事务处理请求针对多个分区节点,则将所述事务处理请求发送至所述事务处理请求所针对的事务源节点,以使所述事务源节点在所述事务源节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容。
20、根据本说明书一个或多个实施例的第二方面,提出了一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的任一分区节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
21、接收控制节点发送的已在所述共识协议组内达成共识的事务处理请求,并执行所述事务处理请求,其中,所述事务处理请求由客户端发送至控制节点,并由所述控制节点在所述共识协议组进行共识处理。
22、在本说明书一个或多个实施例中,所述执行所述事务处理请求,包括:
23、若所述事务处理请求针对一个分区节点,则在执行所述方法的分区节点内执行所述事务处理请求;
24、若所述事务处理请求针对多个分区节点,则在执行所述方法的分区节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容。
25、在本说明书一个或多个实施例中,所述在执行所述方法的分区节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容,包括:
26、在执行所述方法的分区节点内执行所述事务处理请求内的相关内容;
27、向所述事务处理请求所针对的其他分区节点发送调用事务消息,以使接收到所述调用事务消息的分区节点执行所述调用事务消息内携带的事务内容;
28、接收所述事务处理请求所针对的其他分区节点返回的回复事务消息,并在所述回复事务消息表征事务内容执行成功的情况下向所述事务处理请求所针对的其他分区节点发送事务提交消息。
29、在本说明书一个或多个实施例中,所述方法还包括:
30、接收控制节点发送的未在所述共识协议组内进行共识处理的事务处理请求,并对所述事务处理请求依次进行验证,以及在所述事务处理请求成功通过验证的情况下向所述控制节点上报所述事务处理请求的验证成功消息。
31、在本说明书一个或多个实施例中,所述对所述事务处理请求依次进行验证,包括:
32、将所述事务处理请求添加至未验证事务队列中,并对所述未验证事务队列内的事务处理请求依次进行验证,以及将通过验证的事务处理请求的验证成功消息上报至控制节点。
33、在本说明书一个或多个实施例中,所述将通过验证的事务处理请求的验证成功消息上报至控制节点,包括:
34、将通过验证的事务处理请求添加至已验证事务队列中,并将所述已验证事务队列内的事务处理请求的验证成功消息批量上报至控制节点。
35、根据本说明书一个或多个实施例的第三方面,提出了一种事务处理装置,应用于数据库系统内多个可用区中任一可用区的控制节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述装置包括:
36、共识模块,用于接收客户端发送的事务处理请求,并将所述事务处理请求在所述共识协议组内进行共识处理;
37、执行模块,用于若所述事务处理请求在所述共识协议组内完成共识,则将所述事务处理请求发送至对应的分区节点进行执行。
38、在本说明书一个或多个实施例中,所述装置还包括验证本文档来自技高网...
【技术保护点】
1.一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的控制节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
2.根据权利要求1所述的事务处理方法,在所述将所述事务处理请求在所述共识协议组内进行共识处理之前,所述方法还包括:
3.根据权利要求2所述的事务处理方法,所述将所述事务处理请求发送至对应的分区节点进行验证,包括:
4.根据权利要求2所述的事务处理方法,所述分区节点用于将接收到的事务处理请求添加至未验证事务队列中,并对所述未验证事务队列内的事务处理请求依次进行验证,以及将通过验证的事务处理请求的验证通过消息上报至控制节点。
5.根据权利要求4所述的事务处理方法,所述分区节点用于将通过验证的事务处理请求添加至已验证事务队列中,并将所述已验证事务队列内的事务处理请求的验证通过消息批量上报至控制节点。
6.根据权利要求4所述的事务处理方法,所述分区节点用于将通过验证的事务处理请求的哈希值作为验证通过消息上报至控制节点。
7.根据权利
8.根据权利要求1所述的事务处理方法,所述将所述事务处理请求发送至对应的分区节点进行执行,包括:
9.一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的任一分区节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
10.根据权利要求9所述的事务处理方法,所述执行所述事务处理请求,包括:
11.根据权利要求10所述的事务处理方法,所述在执行所述方法的分区节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容,包括:
12.根据权利要求9所述的事务处理方法,所述方法还包括:
13.根据权利要求12所述的事务处理方法,所述对所述事务处理请求依次进行验证,包括:
14.根据权利要求13所述的事务处理方法,所述将通过验证的事务处理请求的验证成功消息上报至控制节点,包括:
15.一种事务处理装置,应用于数据库系统内多个可用区中任一可用区的控制节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述装置包括:
16.根据权利要求15所述的事务处理装置,所述装置还包括验证模块,用于:
17.根据权利要求16所述的事务处理装置,所述验证模块用于:
18.根据权利要求15所述的事务处理装置,所述数据库系统内多个可用区中的控制节点之间形成Paxos协议组或者PBFT协议组。
19.一种事务处理装置,应用于数据库系统内多个可用区中任一可用区的任一分区节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述装置包括接收模块,用于:
20.根据权利要求19所述的事务处理装置,所述接收模块用于执行所述事务处理请求时,用于:
21.根据权利要求20所述的事务处理装置,所述接收模块用于在运行所述事务处理装置的分区节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容时,用于:
22.根据权利要求19所述的事务处理装置,所述装置还包括验证模块,用于:
23.根据权利要求22所述的事务处理装置,所述验证模块用于:
24.根据权利要求23所述的事务处理装置,所述验证模块用于将通过验证的事务处理请求的验证成功消息上报至控制节点时,用于:
25.一种计算机程序产品,包括计算机程序/指令,该计算程序/指令被处理器执行时实现权利要求1至14中任一项所述方法的步骤。
26.一种电子设备,包括:
27.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至14中任一项所述方法的步骤。
...【技术特征摘要】
1.一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的控制节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
2.根据权利要求1所述的事务处理方法,在所述将所述事务处理请求在所述共识协议组内进行共识处理之前,所述方法还包括:
3.根据权利要求2所述的事务处理方法,所述将所述事务处理请求发送至对应的分区节点进行验证,包括:
4.根据权利要求2所述的事务处理方法,所述分区节点用于将接收到的事务处理请求添加至未验证事务队列中,并对所述未验证事务队列内的事务处理请求依次进行验证,以及将通过验证的事务处理请求的验证通过消息上报至控制节点。
5.根据权利要求4所述的事务处理方法,所述分区节点用于将通过验证的事务处理请求添加至已验证事务队列中,并将所述已验证事务队列内的事务处理请求的验证通过消息批量上报至控制节点。
6.根据权利要求4所述的事务处理方法,所述分区节点用于将通过验证的事务处理请求的哈希值作为验证通过消息上报至控制节点。
7.根据权利要求1所述的事务处理方法,所述数据库系统内多个可用区中的控制节点之间形成paxos协议组或者pbft协议组。
8.根据权利要求1所述的事务处理方法,所述将所述事务处理请求发送至对应的分区节点进行执行,包括:
9.一种事务处理方法,应用于数据库系统内多个可用区中任一可用区的任一分区节点,每个可用区均具有控制节点和多个分区节点,所述数据库系统内多个可用区中的控制节点之间形成共识协议组;所述方法包括:
10.根据权利要求9所述的事务处理方法,所述执行所述事务处理请求,包括:
11.根据权利要求10所述的事务处理方法,所述在执行所述方法的分区节点内执行所述事务处理请求的部分内容,并通过调动所述事务处理请求所针对的其他分区执行所述事务处理请求的剩余内容,包括:
12.根据权利要求9所述的事务处理方法,所述方法还包括:
13.根据权利要求12所述的事务...
【专利技术属性】
技术研发人员:徐泉清,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。