System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及计算机,尤其涉及一种分布式数据库死锁处理方法、装置、设备及存储介质。
技术介绍
1、一般而言,在数据库中,死锁指的是事务间因互相持有了对方需要的锁而导致事务无法继续进行下去的现象。对于分布式数据库,死锁包括:单机死锁(即单机数据库上的死锁),分布式死锁(多个单机数据库构成的死锁)。
2、对于单机死锁,单机数据库已经提供了单机死锁检测的能力。
3、对于分布式死锁,单机数据库无法检测出分布式死锁。例如:分布式死锁为:分布式事务a的单机事务a1(在单机数据库1上)正在等待分布式事务b的单机事务b1所持有的锁;而分布式事务b的单机事务b2(在单机数据库2上)正在等待分布式事务a的单机事务a2所持有的锁。这是一个典型的分布式死锁场景,分布式事务a和分布式事务b在互相等待对方持有的锁,但是单机数据库无法检测出这种死锁。
技术实现思路
1、本专利技术实施例提供一种分布式数据库死锁处理方法、装置、设备及存储介质,能够检测出分布式死锁,并对分布式死锁进行处理。
2、根据本专利技术的一方面,提供了一种分布式数据库死锁处理方法,包括:
3、接收各单机数据库发送的单机事务的稀疏等待关系集合,其中,所述单机事务的稀疏等待关系集合包括:等待事务所属分布式事务标识、等待事务对应的一个被等待事务所属分布式事务标识以及等待事务对应的单机数据库地址;
4、合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合;
5、根据所述分布式事务的稀疏等待关系集合进行环路检测,得到环路集合;
6、获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,并根据各环路中的目标等待事务对应的目标单机数据库地址向目标单机数据库发送分布式死锁处理命令,以使目标单机数据库执行所述分布式死锁处理命令。
7、根据本专利技术的另一方面,提供了一种分布式数据库死锁处理方法,该分布式数据库死锁处理方法包括:
8、向主gate发送单机事务的稀疏等待关系集合,以使主gate合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合,根据所述分布式事务的稀疏等待关系集合进行环路检测,得到环路集合,获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,并根据各环路中的目标等待事务对应的目标单机数据库地址向目标单机数据库发送分布式死锁处理命令;
9、接收主gate发送的分布式死锁处理命令,并执行所述分布式死锁处理命令。
10、根据本专利技术的另一方面,提供了一种分布式数据库死锁处理装置,该分布式数据库死锁处理装置包括:
11、单机事务的稀疏等待关系集合接收模块,用于接收各单机数据库发送的单机事务的稀疏等待关系集合,其中,所述单机事务的稀疏等待关系集合包括:等待事务所属分布式事务标识、等待事务对应的一个被等待事务所属分布式事务标识以及等待事务对应的单机数据库地址;
12、分布式事务的稀疏等待关系集合确定模块,用于合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合;
13、环路检测模块,用于根据所述分布式事务的稀疏等待关系集合进行环路检测,得到环路集合;
14、分布式死锁处理模块,用于获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,并根据各环路中的目标等待事务对应的目标单机数据库地址向目标单机数据库发送分布式死锁处理命令,以使目标单机数据库执行所述分布式死锁处理命令。
15、根据本专利技术的另一方面,提供了一种分布式数据库死锁处理装置,该分布式数据库死锁处理装置包括:
16、单机事务的稀疏等待关系集合发送模块,用于向主gate发送单机事务的稀疏等待关系集合,以使主gate合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合,根据所述分布式事务的稀疏等待关系集合进行环路检测,得到环路集合,获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,并根据各环路中的目标等待事务对应的目标单机数据库地址向目标单机数据库发送分布式死锁处理命令;
17、分布式死锁处理命令接收模块,用于接收主gate发送的分布式死锁处理命令,并执行所述分布式死锁处理命令。
18、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
19、至少一个处理器;以及
20、与所述至少一个处理器通信连接的存储器;其中,
21、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的分布式数据库死锁处理方法。
22、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的分布式数据库死锁处理方法。
23、本专利技术实施例通过接收各单机数据库发送的单机事务的稀疏等待关系集合,其中,所述单机事务的稀疏等待关系集合包括:等待事务所属分布式事务标识、等待事务对应的一个被等待事务所属分布式事务标识以及等待事务对应的单机数据库地址;合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合;根据所述分布式事务的稀疏等待关系集合进行环路检测,得到环路集合;获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,并根据各环路中的目标等待事务对应的目标单机数据库地址向目标单机数据库发送分布式死锁处理命令,以使目标单机数据库执行所述分布式死锁处理命令。能够检测出分布式死锁,并对分布式死锁进行处理。
24、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种分布式数据库死锁处理方法,其特征在于,应用于分布式数据库,所述分布式数据库包括:主Gate、至少一个副Gate以及至少两个单机数据库,所述分布式数据库死锁检测方法由主Gate执行,所述分布式数据库死锁检测方法包括:
2.根据权利要求1所述的方法,其特征在于,合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合,包括:
3.根据权利要求1所述的方法,其特征在于,获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,包括:
4.根据权利要求1所述的方法,其特征在于,所述单机事务的稀疏等待关系集合还包括:等待事务对应的连接标识。
5.一种分布式数据库死锁处理方法,其特征在于,应用于分布式数据库,所述分布式数据库包括:主Gate、至少一个副Gate以及至少两个单机数据库,所述分布式数据库死锁检测方法由单机数据库执行,所述分布式数据库死锁检测方法包括:
6.根据权利要求5所述的方法,其特征在于,接收主Gate发送的分布式死锁处理命令,并执行所述分布式死锁处理命令,包括:
7
8.一种分布式数据库死锁处理装置,其特征在于,应用于分布式数据库,所述分布式数据库包括:主Gate、至少一个副Gate以及至少两个单机数据库,所述分布式数据库死锁检测装置配置在主Gate中,所述分布式数据库死锁检测装置包括:
9.一种分布式数据库死锁处理装置,其特征在于,应用于分布式数据库,所述分布式数据库包括:主Gate、至少一个副Gate以及至少两个单机数据库,所述分布式数据库死锁检测装置配置在单机数据库中,所述分布式数据库死锁检测装置包括:
10.一种电子设备,其特征在于,所述电子设备包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的分布式数据库死锁处理方法。
...【技术特征摘要】
1.一种分布式数据库死锁处理方法,其特征在于,应用于分布式数据库,所述分布式数据库包括:主gate、至少一个副gate以及至少两个单机数据库,所述分布式数据库死锁检测方法由主gate执行,所述分布式数据库死锁检测方法包括:
2.根据权利要求1所述的方法,其特征在于,合并各单机数据库发送的单机事务的稀疏等待关系集合,得到分布式事务的稀疏等待关系集合,包括:
3.根据权利要求1所述的方法,其特征在于,获取环路集合中各环路中的目标等待事务对应的目标单机数据库地址,包括:
4.根据权利要求1所述的方法,其特征在于,所述单机事务的稀疏等待关系集合还包括:等待事务对应的连接标识。
5.一种分布式数据库死锁处理方法,其特征在于,应用于分布式数据库,所述分布式数据库包括:主gate、至少一个副gate以及至少两个单机数据库,所述分布式数据库死锁检测方法由单机数据库执行,所述分布式数据库死锁检测方法包括:
6.根据权利要求5所述的方法,其特征在于,接收主g...
【专利技术属性】
技术研发人员:丛阳,
申请(专利权)人:星环信息科技上海股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。