CN112099960A - 一种基于路径推进的分布式死锁检测方法 - Google Patents

一种基于路径推进的分布式死锁检测方法 Download PDF

Info

Publication number
CN112099960A
CN112099960A CN202010993466.1A CN202010993466A CN112099960A CN 112099960 A CN112099960 A CN 112099960A CN 202010993466 A CN202010993466 A CN 202010993466A CN 112099960 A CN112099960 A CN 112099960A
Authority
CN
China
Prior art keywords
node
request
deadlock detection
information
deadlock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010993466.1A
Other languages
English (en)
Inventor
刘碧楠
周勇亮
吴嵩
蒋旭
于凯
马岳
李彬
陈振巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIANJIN SHENZHOU GENERAL DATA TECHNOLOGY CO LTD
Original Assignee
TIANJIN SHENZHOU GENERAL DATA TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TIANJIN SHENZHOU GENERAL DATA TECHNOLOGY CO LTD filed Critical TIANJIN SHENZHOU GENERAL DATA TECHNOLOGY CO LTD
Priority to CN202010993466.1A priority Critical patent/CN112099960A/zh
Publication of CN112099960A publication Critical patent/CN112099960A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Abstract

本发明涉及一种基于路径推进的分布式死锁检测方法,包括步骤1、各个节点启动时,创建死锁检测线程和死锁检测队列;步骤2、锁模块发起远程锁请求,将请求信息加入死锁检测队列;步骤3、死锁检测线程定时遍历死锁检测队列,发起死锁检测请求;步骤4、死锁检测进程将死锁检测请求发送到目标节点;步骤5、目标节点接收到死锁检测请求后,进行死锁检测请求处理;步骤6、发起检测请求的死锁检测线程接收目标节点返回信息并处理;步骤7、检测到死锁,唤醒请求信息所属的线程,解开等待链,继续执行步骤3。本发明每个节点都可以执行死锁检测任务,能够快速检测出系统中发生的死锁,同时避免死锁检测单点故障,保证了数据库系统的正常运行。

Description

一种基于路径推进的分布式死锁检测方法
技术领域
本发明属于数据库技术领域,涉及分布式死锁检测,尤其是一种基于路径推进的分布式死锁检测方法。
背景技术
在数据库系统中,事务是并发执行的。为了满足数据一致性的要求,数据库需要保证同一时刻,数据库系统的某项资源只能分配给一个或一些事务使用。实现上述功能的有效方式就是加锁。
加锁的基本思想就是一个事务需要使用数据库的某项资源,必须获取该资源唯一的锁。使用完毕后放锁。当锁已经被其他事务持有,并且是不兼容的锁请求时,请求加锁的事务需要等待。数据库在为各个事务分配资源时,有一定的几率导致两个或者多个事务之间因为相互等待出现事务停滞不前的现象,此时就发生了死锁。
为了满足高效数据处理和高可用的数据库服务需求,神通数据库提供了基于共享存储的数据库集群系统。在该数据库集群系统中,资源被各个节点上不同事务所持有,某个节点的事务在执行过程中可能需要等待其他节点事务释放持有的锁。这就可能导致分布式系统中产生多个节点循环等待的状态,也就是分布式死锁。
发生死锁会导致系统运行效率低下,甚至出现故障。为了解决可能出现的死锁现象,分布式系统需要采取必要的死锁检测和处理方法。
分布式数据库系统中死锁检测方法按照计算结构可以分类为:集中式死锁检测和层次式死锁检测。集中式死锁检测通常指定系统中的某个站点作为中央站点,当系统怀疑发生死锁时,由该站点收集系统中所有站点的WFG(注:Wait-For Graph作为表达事务间等待关系的数学模型),并根据这些图构造全局WFG,在全局WFG中查找环。层次式死锁检测通常根据应用和数据的分布情况,将系统中的所有站点组织为一个层次式结构。在该层次结构中,叶节点代表实际的物理站点;分支节点称为局部检测站点,由其下级的某个站点担任;根节点称为全局检测站点。当系统怀疑发生死锁时,叶节点将自身WFG发送到其层次结构中的上级节点,由上级节点将其所有下级节点的WFG组合为局部WFG,并进行局部的死锁检测和解决,稍后,再将不包含局部死锁的局部WFG传递到上级节点,上级节点继续进行死锁检测,直到根节点得到全局WFG,并得出相应检测结果。
集中式死锁检测存在单点问题:当中央站点发生故障时,系统将无法继续正常工作。层次式死锁检测将死锁检测任务分布在多个站点上执行,提高了系统效率,但是,其同集中式死锁检测算法一样,当全局死锁检测站点发生故障时,系统将无法正常工作。因此,迫切需要提供一种分布式死锁检测方法,避免上述集中式算法和层次式算法存在的限制,以便在数据库集群中进行高效的死锁检测和处理。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理且能够进行高效死锁检测和处理的基于路径推进的分布式死锁检测方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于路径推进的分布式死锁检测方法,包括以下步骤:
步骤1、数据库集群的各个节点启动时,创建死锁检测线程和死锁检测队列;
步骤2、锁模块发起远程锁请求,将请求信息加入死锁检测队列;
步骤3、死锁检测线程定时遍历死锁检测队列,发起死锁检测请求;
步骤4、死锁检测进程将死锁检测请求发送到目标节点;
步骤5、目标节点接收到死锁检测请求后,进行死锁检测请求处理;
步骤6、发起检测请求的死锁检测线程接收目标节点返回信息并处理;
步骤7、检测到死锁,唤醒请求信息所属的线程,解开等待链,继续执行步骤3。
进一步,所述请求信息包括目标节点信息、等待加锁信息和检测超时时间信息。
进一步,所述步骤3的具体实现方法包括以下步骤:
⑴从死锁检测队列按顺序取出一请求信息;
⑵查看取出的请求信息是否已经到达死锁检测超时时间,如果还未到达,重新执行步骤3;
⑶如果已经到达死锁检测超时时间,封装死锁检测请求。
所述死锁检测请求包括如下信息:本节点信息、请求的锁信息和目标节点信息。
进一步,所述步骤5的具体实现方法包括以下步骤:
⑴根据死锁检测请求中的本节点信息和请求的锁信息,获取当前持有锁的节点信息;
⑵如果找不到持有锁的节点,认为当前没有发生死锁,响应请求节点;
⑶如果持有锁的是另外一个目标节点,则追踪此目标节点,将该追踪的目标节点信息和加锁信息返回给请求节点;
⑷如果是本节点持有锁,找到持有锁的线程,遍历线程等待链表,找到等待链表末尾的线程。
进一步,所述步骤⑷的具体实现方法为:
①如果此线程没有等待目标节点,认为当前没有发生死锁,响应请求节点;
②如果此线程等待目标节点,则追踪此目标节点,将该追踪的目标节点信息和等待加锁信息返回给请求节点。
进一步,所述步骤6的具体实现方法包括以下步骤:
⑴如果返回的信息判断没有发生死锁请求,则更新请求信息中的死锁检测超时时间,继续执行步骤3;
⑵如果请求信息所属的线程已经解除远程等待操作,则继续执行步骤;
⑶如果返回的信息包含需要追踪的目标节点信息和等待加锁信息,则处理该远程追踪节点。
进一步,所述步骤⑶的具体实现方法为:
①如果目标节点是本节点,则按下述方式处理:
A)获取持有目标节点等待锁的节点信息,如果找不到持锁的节点,则认为没有发生死锁,继续执行步骤3;
B)如果持有锁的是另外一个目标节点,则追踪此目标节点,封装死锁检测请求,转到步骤4;
C)本节点持有锁,找到持有锁的线程,遍历线程等待链表,其方法方法为:
a)如果等待链表中包含请求信息所属的线程,则检测到死锁,转到步骤7;
b)找到等待链表末尾的线程,如果此线程没有等待目标节点,则当前没有发生死锁,继续执行步骤3;
c)如果此线程等待目标节点,则追踪此目标节点,封装死锁检测请求,转到步骤4;
②目标节点不是本节点,则追踪另一目标节点,封装死锁检测请求,转到步骤4。
本发明的优点和积极效果是:
本发明在数据库集群的每个节点启动一个死锁检测线程,当某节点在向远程节点发送锁请求的时候,将请求信息放入死锁检测队列中并在请求返回后,从死锁检测队列移除。通过死锁检测线程定时遍历死锁检测队列,对于检测队列中的每一个请求,进行一次死锁检测;本发明采用分布式死锁检测方式,与集中式和层次式死锁检测相比,每个节点都可以执行死锁检测任务,能够快速检测出系统中发生的死锁,同时避免死锁检测单点故障,保证了数据库系统的正常运行。
附图说明
图1为本发明的设计原理图;
图2为本发明的整体处理流程图;
图3为本发明的死锁检测线程发送死锁检测请求的流程图;
图4为本发明的死锁检测处理的流程图;
图5为本发明的死锁检测线程收到远程节点返回信息的流程图。
具体实施方式
以下结合附图对本发明做进一步详述。
本发明的设计思想是:利用各个节点线程之间等待关系的传递性,将多个节点间线程的等待关系,转换为两个节点线程间的等待关系。随着等待路径的推进,若最终找到两个节点具有相互等待的关系,则检测到死锁,否则,没有发生死锁。
根据请求中记录的远程节点和锁信息,向远程节点发送死锁检测请求获取远程节点的等待信息,比如节点N1等待节点N2,节点N2等待节点N3,通过向节点N2发送死锁检测请求,可以获取到节点N2等待的节点N3,也就是获取到了节点N1间接等待的节点,在获取到间接等待信息后,向节点N3发送死锁检测请求获取节点N3的等待信息,如此循环往复追踪等待链,直到等待链的末端没有任何等待信息(没有死锁),或者回到了等待链的起始位置(发现死锁)。
如图1所示,节点N1等待N2,N2等待N3,N3等待N1,形成等待链。通过推进等待关系,最终检测到N1和N3之间具有相互等待关系,发现死锁。
如图2所示,本发明包括安装在每个节点中的锁模块、死锁检测队列和死锁检测模块。其中,锁模块发起远程锁请求,将请求信息放入死锁检测队列;请求返回后,将请求信息从死锁检测队列移除。死锁检测模块包含死锁检测线程,负责发起死锁检测请求;同时负责处理死锁检测请求,处理请求返回结果。下面对死锁检测队列、死锁检测线程、发起死锁检测请求、处理死锁检测请求、处理请求返回结果分别进行说明:
(1)死锁检测队列:某节点在向远程节点发送锁请求的时候,会将请求信息放入死锁检测队列中。加锁请求返回后,该请求信息从死锁检测队列移除。
(2)死锁检测线程:分布式数据库系统的每个节点会启动一个死锁检测线程,该线程定期遍历死锁检测队列,处理队列中的每一个远程请求信息,检测其是否已经发生死锁。
(3)发起死锁检测请求:死锁检测线程对于死锁检测队列中的每一个远程请求信息,会根据请求信息中记录的远程节点和加锁信息,向远程节点发送死锁检测请求,获取远程节点的等待状态。
(4)处理死锁检测请求:被等待节点会收到请求节点死锁检测线程发出的死锁检测请求。被等待节点需要处理死锁检测请求,判断是否已经发生死锁,返回等待信息。
(5)处理请求返回结果:死锁检测线程发起死锁检测请求后,进入同步等待状态。请求从远程节点返回后,死锁检测线程需要根据返回信息进一步处理。
基于上述设计思想,本发明提出一种基于路径推进的分布式死锁检测方法,包括以下步骤:
步骤1:节点启动时,创建死锁检测线程和死锁检测队列。
步骤2:锁模块发起远程锁请求,将请求信息加入死锁检测队列。请求信息包含等待的远程节点信息、等待加锁信息和检测超时时间。
步骤3:死锁检测线程定时遍历死锁检测队列,发起死锁检测请求。
如图3所示,本步骤的具体实现方法包括以下过程:
⑴从死锁检测队列按顺序取出一请求信息
⑵查看取出的请求信息是否已经到达死锁检测超时时间,如果还未到达,重新执行步骤3。
⑶已经到达死锁检测超时时间,封装死锁检测请求,死锁检测请求信息包括:等待节点信息(本节点)、请求的锁信息和目标节点(被等待的远程节点)。
步骤4:将死锁检测请求发送到目标节点。
步骤5:远程节点(目标节点)接收到死锁检测请求,并进行死锁检测请求处理。
如图4所示,本步骤的具体实现方法包括以下过程:
⑴根据死锁检测请求中的等待节点信息和请求的锁信息,获取当前持有锁的节点信息。
⑵如果找不到持有锁的节点,认为当前没有发生死锁,响应请求节点。
⑶如果持有锁的是另外一个远程节点,需要追踪此远程节点,将需要追踪的远程节点信息和加锁信息返回给请求节点。
⑷如果是本节点持有锁,找到持有锁的线程,遍历线程等待链表,找到等待链表末尾的线程:本步骤的具体实现方法为:
①如果此线程没有等待远程节点,认为当前没有发生死锁,响应请求节点。
②如果此线程等待远程节点,需要追踪此远程节点,将需要追踪的远程节点信息和等待加锁信息返回给请求节点。
步骤6:步骤3中发起检测请求的死锁检测线程,收到远程节点返回信息并处理。
如图5所示,本步骤的具体实现方法为:
⑴如果返回的信息判断没有发生死锁请求,更新请求信息中的死锁检测超时时间,继续执行步骤3。
⑵如果请求信息所属的线程已经解除远程等待操作,继续执行步骤3。
⑶如果返回的信息包含需要追踪的远程节点信息和等待加锁信息,处理该远程追踪节点:本步骤的具体实现方法为:
①如果远程节点是本节点:
A)获取持有远程节点等待锁的节点信息。如果找不到持锁的节点,认为没有发生死锁,继续执行步骤3。
B)如果持有锁的是另外一个远程节点,需要追踪此远程节点。封装死锁检测请求,请求信息中包含等待节点信息(本节点)、请求加锁信息和目标节点(持有锁的远程节点)。转到步骤4。
C)本节点持有锁,找到持有锁的线程,遍历线程等待链表:具体方法为:
a)如果等待链表中包含请求信息所属的线程,此时已经形成等待闭环,检测到死锁。转到步骤7。
b)找到等待链表末尾的线程。如果此线程没有等待远程节点,认为当前没有发生死锁,继续执行步骤3。
c)如果此线程等待远程节点,需要追踪此远程节点。封装死锁检测请求,请求信息中包含等待节点信息(本节点)、请求加锁信息和目标节点(持有锁的远程节点)。转到步骤4
②否则,需要追踪另一远程节点。封装死锁检测请求,请求信息中包含等待节点信息(远程节点)、请求加锁信息和目标节点(远程节点返回的节点信息)。转到步骤4。
步骤7:检测到死锁,唤醒请求信息所属的线程,解开等待链。继续执行步骤3。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (8)

1.一种基于路径推进的分布式死锁检测方法,其特征在于:包括以下步骤:
步骤1、数据库集群的各个节点启动时,创建死锁检测线程和死锁检测队列;
步骤2、锁模块发起远程锁请求,将请求信息加入死锁检测队列;
步骤3、死锁检测线程定时遍历死锁检测队列,发起死锁检测请求;
步骤4、死锁检测进程将死锁检测请求发送到目标节点;
步骤5、目标节点接收到死锁检测请求后,进行死锁检测请求处理;
步骤6、发起检测请求的死锁检测线程接收目标节点返回信息并处理;
步骤7、检测到死锁,唤醒请求信息所属的线程,解开等待链,继续执行步骤3。
2.根据权利要求1所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述请求信息包括目标节点信息、等待加锁信息和检测超时时间信息。
3.根据权利要求1所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述步骤3的具体实现方法包括以下步骤:
⑴从死锁检测队列按顺序取出一请求信息;
⑵查看取出的请求信息是否已经到达死锁检测超时时间,如果还未到达,重新执行步骤3;
⑶如果已经到达死锁检测超时时间,封装死锁检测请求。
4.根据权利要求3所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述死锁检测请求包括如下信息:本节点信息、请求的锁信息和目标节点信息。
5.根据权利要求1所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述步骤5的具体实现方法包括以下步骤:
⑴根据死锁检测请求中的本节点信息和请求的锁信息,获取当前持有锁的节点信息;
⑵如果找不到持有锁的节点,认为当前没有发生死锁,响应请求节点;
⑶如果持有锁的是另外一个目标节点,则追踪此目标节点,将该追踪的目标节点信息和加锁信息返回给请求节点;
⑷如果是本节点持有锁,找到持有锁的线程,遍历线程等待链表,找到等待链表末尾的线程。
6.根据权利要求5所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述步骤⑷的具体实现方法为:
①如果此线程没有等待目标节点,认为当前没有发生死锁,响应请求节点;
②如果此线程等待目标节点,则追踪此目标节点,将该追踪的目标节点信息和等待加锁信息返回给请求节点。
7.根据权利要求1所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述步骤6的具体实现方法包括以下步骤:
⑴如果返回的信息判断没有发生死锁请求,则更新请求信息中的死锁检测超时时间,继续执行步骤3;
⑵如果请求信息所属的线程已经解除远程等待操作,则继续执行步骤;
⑶如果返回的信息包含需要追踪的目标节点信息和等待加锁信息,则处理该远程追踪节点。
8.根据权利要求7所述的一种基于路径推进的分布式死锁检测方法,其特征在于:所述步骤⑶的具体实现方法为:
①如果目标节点是本节点,则按下述方式处理:
A)获取持有目标节点等待锁的节点信息,如果找不到持锁的节点,则认为没有发生死锁,继续执行步骤3;
B)如果持有锁的是另外一个目标节点,则追踪此目标节点,封装死锁检测请求,转到步骤4;
C)本节点持有锁,找到持有锁的线程,遍历线程等待链表,其方法方法为:
a)如果等待链表中包含请求信息所属的线程,则检测到死锁,转到步骤7;
b)找到等待链表末尾的线程,如果此线程没有等待目标节点,则当前没有发生死锁,继续执行步骤3;
c)如果此线程等待目标节点,则追踪此目标节点,封装死锁检测请求,转到步骤4;
②目标节点不是本节点,则追踪另一目标节点,封装死锁检测请求,转到步骤4。
CN202010993466.1A 2020-09-21 2020-09-21 一种基于路径推进的分布式死锁检测方法 Pending CN112099960A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010993466.1A CN112099960A (zh) 2020-09-21 2020-09-21 一种基于路径推进的分布式死锁检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010993466.1A CN112099960A (zh) 2020-09-21 2020-09-21 一种基于路径推进的分布式死锁检测方法

Publications (1)

Publication Number Publication Date
CN112099960A true CN112099960A (zh) 2020-12-18

Family

ID=73759540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010993466.1A Pending CN112099960A (zh) 2020-09-21 2020-09-21 一种基于路径推进的分布式死锁检测方法

Country Status (1)

Country Link
CN (1) CN112099960A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631790A (zh) * 2021-01-05 2021-04-09 北京字节跳动网络技术有限公司 程序死锁的检测方法及装置、计算机设备及存储介质
CN117076147A (zh) * 2023-10-13 2023-11-17 支付宝(杭州)信息技术有限公司 死锁检测方法、装置、设备和存储介质
WO2024046089A1 (zh) * 2022-08-31 2024-03-07 华为技术有限公司 持锁进程检测方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010139260A1 (zh) * 2009-06-04 2010-12-09 中兴通讯股份有限公司 数据库事务锁机制的死锁检测方法及装置
CN103399818A (zh) * 2013-08-13 2013-11-20 中国科学技术大学苏州研究院 操作系统中的死锁检测方法
CN103678122A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 一种死锁检测方法、设备及系统
CN103942113A (zh) * 2013-11-21 2014-07-23 小米科技有限责任公司 系统重启原因的检测方法、装置及终端设备
CN106557371A (zh) * 2016-10-26 2017-04-05 北京交通大学 一种基于边追踪的分布式系统死锁检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010139260A1 (zh) * 2009-06-04 2010-12-09 中兴通讯股份有限公司 数据库事务锁机制的死锁检测方法及装置
CN103399818A (zh) * 2013-08-13 2013-11-20 中国科学技术大学苏州研究院 操作系统中的死锁检测方法
CN103942113A (zh) * 2013-11-21 2014-07-23 小米科技有限责任公司 系统重启原因的检测方法、装置及终端设备
CN103678122A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 一种死锁检测方法、设备及系统
CN106557371A (zh) * 2016-10-26 2017-04-05 北京交通大学 一种基于边追踪的分布式系统死锁检测方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631790A (zh) * 2021-01-05 2021-04-09 北京字节跳动网络技术有限公司 程序死锁的检测方法及装置、计算机设备及存储介质
WO2024046089A1 (zh) * 2022-08-31 2024-03-07 华为技术有限公司 持锁进程检测方法及相关设备
CN117076147A (zh) * 2023-10-13 2023-11-17 支付宝(杭州)信息技术有限公司 死锁检测方法、装置、设备和存储介质
CN117076147B (zh) * 2023-10-13 2024-04-16 支付宝(杭州)信息技术有限公司 死锁检测方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN112099960A (zh) 一种基于路径推进的分布式死锁检测方法
EP3278239B1 (en) Processing database transactions in a distributed computing system
EP2932370B1 (en) System and method for performing a transaction in a massively parallel processing database
JP5580831B2 (ja) 分散ストレージシステムにおける定数ベースのトランザクショナルに一貫性のあるメンバシップ管理
US20110078516A1 (en) Method and a system for performing a two-phase commit protocol
US9417906B2 (en) Transaction participant registration with caveats
US9027030B2 (en) Commit-one-phase distributed transactions with multiple starting participants
US9055065B2 (en) Managing participant order in distributed transactions
US11341158B2 (en) Cluster-based business process management through eager displacement and on-demand recovery
US9201919B2 (en) Bandwidth optimized two-phase commit protocol for distributed transactions
US20090300074A1 (en) Batch recovery of distributed transactions
CN101262498A (zh) 一种分布式调用消息的方法和装置
CN103440296A (zh) 数据查询方法和装置
WO2016058264A1 (zh) 一种适用于广义模型的死锁检测方法
CN112182082B (zh) 一种实现跨不同数据库引擎事务强一致性的系统及方法
Alom et al. Deadlock detection views of distributed database
Alom et al. Optimization of detected deadlock views of distributed database
CN112764912A (zh) 一种用于数据集成的轻量级分布式调度方法及系统
Suliyanti et al. Evaluation of an Actor Model-based Consensus Algorithm on Neo Blockchain
Vidyasankar Consistency of continuous queries in fog computing
Manikandan et al. An efficient non blocking two phase commit protocol for distributed transactions
CN111124697B (zh) 面向分布式平台的任务同步和执行方法
Kasbekar et al. Selective checkpointing and rollbacks in multithreaded distributed systems
Lu et al. A leader election based deadlock detection algorithm in distributed systems
Armendáriz et al. A lock based algorithm for concurrency control and recovery in a middleware replication software architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination