CN109495528A - 分布式锁所有权调度方法和装置 - Google Patents
分布式锁所有权调度方法和装置 Download PDFInfo
- Publication number
- CN109495528A CN109495528A CN201710818607.4A CN201710818607A CN109495528A CN 109495528 A CN109495528 A CN 109495528A CN 201710818607 A CN201710818607 A CN 201710818607A CN 109495528 A CN109495528 A CN 109495528A
- Authority
- CN
- China
- Prior art keywords
- distributed lock
- blacklist
- information
- ownership
- session information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种分布式锁所有权调度方法和装置。该方法包括:当主调度服务器检测到其与某个工作机心跳异常且该问题工作机占据分布式锁时,主调度服务器接收所述问题工作机占据的分布式锁的信息;根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;当一致性服务器收到来自工作机的心跳包时,获取该心跳包归属的会话信息;判断分布式锁黑名单中是否存在该心跳包的归属会话信息;当存在该会话信本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。
Description
技术领域
本申请涉及互联网信息领域,特别是涉及一种分布式锁所有权调度方法和装置。
背景技术
大规模云计算场景中,为了保障数据的分布式一致性,数量众多的计算节点往往依赖分布式锁服务来同步各自对某共享资源的访问,或者是协调各计算节点之间的行为动作。典型的分布式锁服务是基于分布式一致性系统提供的ephemeral文件操作接口实现的。具体来看,分布式锁的抢锁是基于创建ephemeral文件操作接口设计的,而分布式锁释放锁则是基于删除ephemeral文件操作接口实现的。目前业界知名的支持分布式锁服务的产品有Google的Chubby,Yahoo的Zookeeper,以及CoreOS的Etcd等等。
分布式一致性系统中的ephemeral文件有所有者(owner)概念,这确保了分布式锁的互斥性。一致性服务器(Quorum Server,即一致性服务组中的服务器)端会记录创建ephemeral文件的客户端(client)进程对应的会话(session)信息,其它客户端进程尝试创建已存在ephemeral文件,一致性服务器通过检查该ephemeral文件归属的会话与尝试创建的客户端进程对应的会话不匹配,则告知客户端创建文件失败,即争抢分布式锁失败。
分布式一致性系统中的ephemeral文件还有生命期概念,这确保了分布式锁的可用性。ephemeral文件生命期,即其归属会话的生命期,依赖客户端进程与一致性服务器定期心跳来更新:客户端进程在本端认定的会话超时时间内没有收到任何来自一致性服务器的心跳包回复,则判定会话超时,确认丢锁;一致性服务器在本端认定的会话超时时间内没有接收到任何来自客户端进程心跳包,则判定会话超时,主动删除锁文件,释放该分布式锁所有权。
在大规模云计算环境中,很多服务存在如下应用场景:一个主调度服务器(master)调度不同工作机(worker,也称工作服务机器)加载不同分区(Partition)以提供并发的数据访问,进而提升系统整体服务能力。为了避免一个分区被多个工作机同时加载从而导致数据被写坏,每个被调度的工作机需要争抢对应分区的分布式锁,在获取该分布锁所有权之后方可提供该分区数据的具体访问服务,然后通过定期心跳向主调度服务器汇报服务状态。
实际的分布式并发环境复杂难控。如果工作机机器的负载过高,可能会出现如下情形:工作机与一致性服务器之间心跳正常,即在会话超时前总可以收到心跳包回复,故其一直占据着分区对应的分布式锁。但是,该工作机的业务服务线程因为抢不到CPU资源而无法正常向主调度服务器汇报服务状态,其加载的分区s的访问服务也因此中断。因此,如何在确保分布式锁正确性的前提下,提供一种支持主调度服务器重新调度分布式锁所有权的灵活机制,对于提升云计算场景下典型分布式应用服务的高可用性是十分迫切的需求。
如图1所示,大规模云计算场景中很典型的一个分布式应用场景,一个主调度服务器调度多个工作机来加载不同分区协同提供并发数据访问服务。主调度服务器对接收到的业务访问请求,根据目标分区被调度到的工作机,回复业务客户端应该访问的具体工作机,从而将访问请求转移至具体工作机处理,进而提升整个系统服务能力。
为了确保工作机1异常退出,主调度服务器会继续调度其它工作机加载分区A,B以提供持续地访问服务,处于正常状态的工作机1一方面通过发送心跳给后端一致性服务器以及时更新会话有效期,亦即分布式锁占有权;另一方面向主调度服务器发送定期心跳,汇报当前服务状态。当工作机1进程异常退出,停止服务后,主调度服务器不会再收到来自工作机1后续心跳,此时,主调度服务器会主动将分区A,B调度至其它工作机,而其它工作机在抢锁成功后,加载分区提供访问服务,保持服务完整连续性。
如图2所示,现有解决方案中,分布锁所有权通过工作机互相争抢获得。如果占据着分布式锁的工作机与后端一致性服务器心跳保持正常,即在会话超时之前可以收到心跳包回复,那么该工作机会一直占有该分布式锁,其余工作机无法获得该分布式锁的所有权。
因此,如图2所展示的,存在如下部分分区无法对外提供服务的场景:占据着某分区对应分布式锁所有权的工作机与一致性服务器之间心跳正常,保持该分布式锁所有权,而业务线程因为机器负载过高而无法正常服务业务请求,即该工作机加载的分区无法对用户服务。在该情况下,即使主调度服务器通过与工作机之间心跳异常发现该工作机不能工作,亦无法动态调度其它工作机来服务该分区,原因在于其它工作机无法正常获得该分区对应分布式锁所有权。面对该场景,目前的解决方案是物理重启问题工作机机器,强行迫使其释放分布式锁所有权。这个方案的缺陷在于手动运维成本过高,并且导致不可服务时间比较长,影响分区服务连续性。
发明内容
鉴于上述问题,本发明一实施例提出一种分布式锁所有权调度方法和装置,以解决现有技术存在的问题。
为了解决上述问题,本申请一实施例公开一种分布式锁所有权调度方法,包括:当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
为了解决上述问题,本申请一实施例还公开一种电子装置,包括:
存储器,用于存储计算机可读程序;
处理器,当所述处理器读取所述存储器中的计算机可读程序时,所述电子装置执行如下操作:
当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
为了解决上述问题,本申请一实施例还公开一种分布式锁所有权调度装置,其包括:
分布式锁获取模块,用于当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
黑名单维护模块,用于根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
归属信息获取模块,用于当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断模块,用于判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
处理模块,用于当存在该心跳包的归属会话信息时,忽略该心跳包。
为解决上述问题,本发明实施例还提出一种数据处理方法,包括:
接收来自第一计算设备的心跳包;
获取该心跳包的归属会话信息;
确定所述会话信息属于预设名单中;
忽略该心跳包。
由上述可知,本申请实施例提出的分布式锁所有权调度方法和装置至少包括以下优点:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为典型的大规模云计算场景中很典型的一个分布式应用场景的示意图。
图2所示为其它工作机无法调度该分区的情景的示意图。
图3所示为通过引入分布式锁黑名单来实现的锁所有权重新调度的整体流程示意图;
图4所示为保留路径下的一个目录中的ephemeral文件的示意图;
图5所示为主调度服务器将分布式锁发送给后端一致性服务器并加入黑名单的示意图;
图6所示为本发明一实施例提出的分布式锁所有权调度方法的流程图;
图7所示为本发明第二实施例的分布式锁所有权调度方法的步骤流程图;
图8示意性地示出了用于执行根据本发明的方法的服务器的框图;以及
图9示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单元;
图10是本申请第五实施例的分布式锁所有权调度装置的方框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的核心思想之一在于,提出一种分布式锁所有权调度方法和装置,应用于一致性服务器(Quorum Server),为了确保工作机(worker)1异常退出,主调度服务器(master)会继续调度其它工作机加载分区(partition)A,B以提供持续地访问服务,处于正常状态的工作机1一方面通过发送心跳给后端一致性服务器以及时更新会话有效期,亦即分布式锁占有权;另一方面向主调度服务器发送定期心跳,汇报当前服务状态。当工作机1进程异常退出,停止服务后,主调度服务器不会再收到来自工作机1后续心跳,此时,主调度服务器会主动将分区A,B调度至其它工作机,而其它工作机在抢锁成功后,加载分区提供访问服务,保持服务完整连续性。
第一实施例
本发明第一实施例提出一种分布式锁所有权调度方法。图3中展示了本发明通过引入分布式锁黑名单来实现的锁所有权重新调度的整体流程,图6所示为本发明一实施例提出的分布式锁所有权调度方法,结合图3和图6所示,该方法的执行主体可以为一致性服务器,例如可以包括如下步骤S110至S105:
S101,当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
一般情况下,主调度服务器与工作机之间维护正常心跳,当主调度服务器与某工作机心跳异常时,意味着工作机出现问题,主调度服务器期望能够正确地、主动释放该问题工作机占据的分布式锁所有权,以能够重新调度其它正常工作机加载分区并继续提供服务。
在这一步骤中,当主调度服务器检测到其与其中一个工作机的心跳异常且该问题工作机占据分布式锁时,该主调度服务器获取该问题工作机占据的分布式锁,并发送给一致性服务器。
主调度服务器与工作机之间的心跳是否正常,例如可以通过主调度服务器维护的每个工作机的上次心跳时间表来判断,当主调度服务器接收到的某个工作机的上次心跳时间距离当前时间超过某个阈值时候,认为主调度服务器与该工作机之间心跳异常。
问题工作机是否占据分布式锁可以通过如下方式判断:分布式锁代表了某种资源的使用权,譬如存储系统中的不同分区,哪些工作机可以加载哪些分区,这些都是主调度服务器决定的。工作机在正式加载分区之前,需要成功抢占到该分区对应的分布式锁。分布式锁可以是后端的一个文件,这个文件的文件路径是业务自己定义的,譬如:
/sys/app/distributed_storage/partition1,
由于是主调度服务器调度工作机来加载分区,因此主调度服务器可以获知工作机到底占据了哪些分布式锁。主调度服务器同样维护了分区分布表,以及工作机占据分区双向映射表。在发现问题工作机之后,主调度服务器将该问题工作机占据的分布式锁的信息发送至一致性服务器,一致性服务器接收该问题工作机占据的分布式锁的信息。
S102,根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
在这一步骤中,一致性服务器可以根据分布式锁的路径查找该分布式锁的所有者(owner,此处即该问题工作机),根据该所有者获得对应的会话信息,将该会话信息加入分布式锁黑名单。
如图4所示,在可选实施例中,为了确保分布式锁黑名单不影响分布式系统正常服务,分布式锁黑名单被保存在保留路径下的一个目录下,该目录下的每一个孩子节点,即ephemeral文件,对应加入黑名单的一把分布式锁,更加明确地说,文件名本身就是分布式锁对应的会话信息。
当对应的会话不止为一个时,可以将多个会话集合成表单,发送至一致性服务器,由一致性服务器加入黑名单中。
S103,当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
在这一步骤中,由于多个工作机均可能发送心跳包至一致性服务器,当其中一个工作机发送心跳包至一致性服务器时,一致性服务器均会获取心跳包归属的会话信息。例如,心跳包中包含的某个字段是有关会话Id的,一致性服务器根据请求包里面解析出来的会话Id,就可以找到对应会话数据结构。
S104,判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
在这一步骤中,需要判断该会话是否在分布式锁黑名单中。如图4所示,在可选实施例中,分布式锁黑名单被保存在保留路径下的一个目录下,因此在步骤S104中,可以在该目录下直接利用该会话名查找,即可确实该会话是否在黑名单中。
S105,当存在该心跳包的归属会话信息时,忽略该心跳包。
在这一步骤中,如果节点存在,则该会话在分布式锁黑名单中,一致性服务器选择忽略该心跳包,即Server端本地不处理,亦不回复工作机心跳包,最终导致该会话在客户端/Server两端自然超时,最终释放分布式锁所有权;由于会话生命期以心跳包来延续,因此忽略心跳包可以导致会话过期。
可选地,如果节点不存在,则按照一致性服务器的原正常逻辑处理心跳包,更新Server端心跳包对应会话的生命期,并回复工作机,更新该工作机的该会话的生命期。
由上述可知,本发明第一实施例提出的分布式锁所有权调度方法至少具有如下技术效果:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
第二实施例
本发明第二实施例提出一种分布式锁所有权调度方法。图7所示为本发明第二实施例的分布式锁所有权调度方法的步骤流程图。如图7所示,本发明实施例的分布式锁所有权调度方法如下步骤S201至S205:
S201当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
S202,根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
S203,当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
S204,判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
S205,当存在该心跳包的归属会话信息时,忽略该心跳包。
上述步骤S201至步骤S205与上一实施例的步骤S101至步骤S105相同或相似,在此不再赘述。本实施例重点说明与上一实施例的不同之处。
可选地,在这一实施例中,上述步骤S202,即根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤具体可以包括如下子步骤S2021至S2023:
S2021,接收该分布式锁的信息,在所述分布式锁的信息中查找该分布式锁的所有者;
S2022,获得该所有者关联的会话信息;
S2023,将所述所有者关联的会话信息加入分布式锁黑名单。
在上述三个子步骤中,一致性服务器可以根据该分布式锁的信息,例如该分布式锁的路径,查找该分布式锁的所有者,再通过该所有者查找,获得该所有者的归属会话信息。
后端一致性服务器维护了一个数据结构,有关会话与ephemera文件的映射关系,所以来了一个锁信息,即ephemeral文件信息,就可以直接查询到对应的会话信息。所谓锁的所有者,就是会话。之后再将该会话信息写入分布式锁黑名单中。
可选地,在一实施例中,所述步骤S202,即根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤之后,所述方法还包括:
S202a,将所述分布式锁黑名单同步至多个一致性服务器。
在可选实施例中,这一步骤是基于“ephemeral文件+保留路径”的方式,实现了分布式锁黑名单机制。
如前述,分布式一致性系统中所有一致性服务器均可以服务客户端请求,所以无论主调度服务器连接的是哪个一致性服务器,更新后的分布锁黑名单需要同时被所有一致性服务器看到,并且信息保持分布式一致性。在本发明的可选实施例中,使用分布式系统中的既有的ephemeral文件来标识黑名单中分布式锁。这样实现的优势在于,一方面天然支持黑名单在一致性服务器之间同步更新;另一方面也支持主调度服务器与一致性服务器断连之后的分布式锁黑名单自动清理回收。
可选地,在一实施例中,所述步骤S202,即根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤可以包括:
S202a,利用黑名单接口,在一致性服务器的保留路径下的分布式锁黑名单目录中新建名为该会话的ephemeral节点。
在这一步骤中,结合图4所示,为了确保分布式锁黑名单不影响分布式系统正常服务,分布式锁黑名单被保存在保留路径下的一个目录下,该目录下的每一个孩子节点,即ephemeral文件,对应加入黑名单的一把分布式锁,文件名本身就是分布式锁对应的会话信息。
可选地,这一步骤可以通过向分布式锁黑名单中“添加”与“删除”分布式锁的开放接口来实现。正如前述,工作机的客户端进程可以创建和删除ephemeral接口,创建ephemeral接口可以认为是抢锁的操作,删除ephemeral接口可以认为是删除锁的操作。
在这一步骤中,主调度服务器会根据问题工作机目前占据的所有分布式锁,向后端一致性服务器的分布式锁黑名单中添加这些分布式锁。如图5所示,主调度服务器首先将这些分布式锁发送给后端一致性服务器,查询其归属会话信息,然后调用黑名单添加接口,将该会话添加至分布式锁黑名单。这里的添加,事实上就是在一致性服务器的保留路径下的分布式锁黑名单目录下新建一个名为该会话的ephemeral节点。
可选地,在一实施例中,在S205即当存在该心跳包的归属会话信息时,忽略该心跳包的步骤之后,所述方法还可以包括:
S206,在主调度服务器重新调度问题工作机以外的其他工作机之后,清理分布式锁黑名单中该会话信息;
在这一步骤中,主调度服务器在成功添加了分布式锁黑名单之后,调度其它工作机来加载问题分区s。因为原工作机对应会话已被添加至黑名单,其对应分布式锁所有权会很快释放,因此其它工作机可以争抢到分布式锁。
在上述步骤中,在重新调度其它工作机成功后,主调度服务器会根据保存的问题工作机的会话信息,调用分布式锁黑名单删除接口,清理黑名单中该会话信息。这里的删除,事实上就是在一致性服务器的保留路径下的分布式锁黑名单目录下删除名为该会话的ephemeral节点。即,所述步骤S206清理分布式锁黑名单中该会话信息的步骤可以包括:
利用黑名单删除接口,在一致性服务器的保留路径下的分布式锁黑名单目录中删除名为该会话的ephemeral节点。
清理会话信息的时机是加黑之后。确定问题工作机的会话过期了,即可开始清理,问题工作机的会话过期判断的方式是:重新调度的其他工作机抢锁成功了,即可说明之前的问题工作机的会话已经过期了,此时可以清理黑名单中的会话。
可选地,在一实施例中,步骤S202即根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单步骤之前,所述方法还包括:
在一致性服务器中建立分布式锁黑名单。
在这一实施例中,可以事先在一致性服务器的保留路径下建立分布式锁黑名单,当后续需要添加会话信息时,可以根据该路径直接向该路径添加会话信息。如前述,由于分布式一致性系统既有的数据同步通道,该黑名单可以同步至所有一致性服务器,确保每个一致性服务器均可拿到更新后的黑名单。
综上所述,本实施例提出的分布式锁所有权调度方法至少具有如下优点:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
除此之外,本实施例提出的分布式锁所有权调度方法至少还包括如下优点:
本发明首次在分布式一致性系统中引入黑名单概念来管理分布式锁,从而支持有针对性地主动释放某些分布式锁所有权;基于保留路径上ephemeral文件实现的分布式锁黑名单,从而支持分布式一致的、可回收的黑名单维护机制;通过接口形式向客户端提供在分布式锁黑名单中添加/移除,从而支持客户端强制地、正确地停止/恢复非工作机占据的分布式锁所有权。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图8示出了可以实现根据本发明的语音处理方法的服务器,例如应用服务器。该服务器传统上包括处理器810和以存储器820形式的计算机程序产品或者计算机可读介质。存储器820可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器820具有用于执行上述方法中的任何方法步骤的程序代码831的存储空间830。例如,用于程序代码的存储空间830可以包括分别用于实现上面的方法中的各种步骤的各个程序代码831。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图9所述的便携式或者固定存储单元。该存储单元可以具有与图8的服务器中的存储器820类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码831’,即可以由例如诸如810之类的处理器读取的代码,这些代码当由服务器运行时,导致该服务器执行上面所描述的方法中的各个步骤。
因此,本发明第三实施例提出一种电子装置,该电子装置包括:
存储器,用于存储计算机可读程序;
处理器,当所述处理器读取所述存储器中的计算机可读程序时,所述电子装置执行如下操作:
当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
在本发明电子装置的一实施例中,所述一致性服务器接收该分布式锁的信息,获取该分布式锁的所有者对应的会话信息并加入分布式锁黑名单的操作包括:
接收该分布式锁的信息,在所述分布式锁的信息中查找该分布式锁的所有者;
获得该所有者关联的会话信息;
将所述所有者关联的会话信息加入分布式锁黑名单。
综上所述,本实施例提出的电子装置至少具有如下优点:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
本发明第四实施例提出一种电子装置,该电子装置包括:
存储器,用于存储计算机可读程序;
处理器,当所述处理器读取所述存储器中的计算机可读程序时,所述电子装置执行如下操作:
当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
在本实施例电子装置的一可选实施方式中,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作包括:
接收该分布式锁的信息,在所述分布式锁的信息中查找该分布式锁的所有者;
获得该所有者关联的会话信息;
将所述所有者关联的会话信息加入分布式锁黑名单。
在本实施例电子装置的一可选实施方式中,所述一致性服务器接收该分布式锁的信息,获取该分布式锁的所有者对应的会话信息并加入分布式锁黑名单的操作之后,所述方法还包括:
将所述分布式锁黑名单同步至多个一致性服务器。
在本实施例电子装置的一可选实施方式中,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作包括:
利用黑名单接口,在一致性服务器的保留路径下的分布式锁黑名单目录中新建名为该会话的ephemeral节点。
在本实施例电子装置的一可选实施方式中,在当存在该心跳包的归属会话信息时,忽略该心跳包的操作之后,所述方法还包括:
在主调度服务器重新调度问题工作机以外的其他工作机之后,清理分布式锁黑名单中该会话信息。
在本实施例电子装置的一可选实施方式中,所述清理分布式锁黑名单中该会话信息的操作包括:
利用黑名单删除接口,在一致性服务器的保留路径下的分布式锁黑名单目录中删除名为该会话的ephemeral节点。
在本实施例电子装置的一可选实施方式中,所述分布式锁的信息为该分布式锁的路径。
在本实施例电子装置的一可选实施方式中,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作之前,所述方法还包括:
在一致性服务器中建立分布式锁黑名单。
本实施例提出的电子装置至少具有如下优点:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
除此之外,本实施例提出的电子装置至少还包括如下优点:
本发明首次在分布式一致性系统中引入黑名单概念来管理分布式锁,从而支持有针对性地主动释放某些分布式锁所有权;基于保留路径上ephemeral文件实现的分布式锁黑名单,从而支持分布式一致的、可回收的黑名单维护机制;通过接口形式向客户端提供在分布式锁黑名单中添加/移除,从而支持客户端强制地、正确地停止/恢复非工作机占据的分布式锁所有权。
本申请实施例还提出一种分布式锁所有权调度装置,如图10所示,该分布式锁所有权调度装置包括:
分布式锁获取模块1010,用于当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
黑名单维护模块1020,用于根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
归属信息获取模块1030,用于当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断模块1040,用于判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
处理模块1050,用于当存在该心跳包的归属会话信息时,忽略该心跳包。
综上所述,本实施例提出的分布式锁所有权调度装置至少具有如下优点:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提出一种数据处理方法,应用于第一计算设备(例如工作机)、第二计算设备(例如主调度服务器)和第三计算设备(例如一致性服务器)组成的系统中。该数据处理方法包括如下步骤:
S1101,接收来自第一计算设备的心跳包;
在这一步骤中,主调度服务器与工作机之间的维护正常的心跳,工作机周期性地向主调度服务器发送心跳包,主调度服务器周期性地接收工作机发送的心跳包。一致性服务器作为主调度服务器和工作机之间的通信媒介,当工作机向主调度服务器发送心跳包时,一致性服务器接收该心跳包,并转发至主调度服务器。
S1102,获取该心跳包的归属会话信息;
在这一步骤中,一致性服务器例如可以根据该心跳包获取该心跳包对应的工作机所占据的分布式锁,并且可以根据分布式锁的路径查找该分布式锁的所有者(即该工作机),根据该所有者获得对应的会话信息,即该心跳包的归属会话信息。
S1103,确定所述会话信息属于预设名单中;
在这一步骤中,一致性服务器从其存储的预设名单中查找是否存在上述的心跳包的归属会话信息,当判断出预设名单中存在该归属会话信息时,进入后续步骤。
S1104,忽略该心跳包。
在这一步骤,如果该归属会话信息出现在预设名单中,则一致性服务器选择忽略该心跳包,即服务端本地不处理,亦不回复工作机心跳包,最终导致该会话在客户端/服务端两端自然超时,由于会话生命期以心跳包来延续,因此忽略心跳包可以导致会话过期。
在本实施例的数据处理方法的一个实施方式中,所述预设名单的建立过程包括如下步骤S1100a至S1100d:
S1100a,确定第二计算设备与第一计算设备心跳异常,且该第一计算设备占据分布式锁;
在这一步骤中,第二计算设备例如是主调度服务器,由于通常来说主调度服务器和工作机之间维持正常的心跳。在这一步骤中,可以检测主调度服务器与某工作机之间是否心跳异常。主调度服务器与工作机之间的心跳是否正常,例如可以通过主调度服务器维护的每个工作机的上次心跳时间表来判断,当主调度服务器接收到的某个工作机的上次心跳时间距离当前时间超过某个阈值时候,认为主调度服务器与该工作机之间心跳异常。此外,在这一步骤中,同时检测该心跳异常的工作机是否占据分布式锁。由于是主调度服务器调度工作机来加载分区,因此主调度服务器可以获知工作机到底占据了哪些分布式锁。
可选地,在执行步骤S1100a之后,可以执行步骤S1100b:
S1100b,获取所述第一计算设备占据的分布式锁信息;
在这一步骤中,在确认第一计算设备占据分布式锁之后,由于主调度服务器同样维护了分区分布表,以及工作机占据分区双向映射表。在发现问题工作机之后,主调度服务器将该问题工作机占据的分布式锁的信息发送至一致性服务器,一致性服务器接收该问题工作机占据的分布式锁的信息。
可选地,在执行步骤S1100b之后,可以执行步骤S1100c:
S1100c,获取该分布式锁信息的归属会话信息;
在这一步骤中,,一致性服务器可以根据分布式锁的路径查找该分布式锁的所有者(owner,此处即该问题工作机),根据该所有者获得对应的会话信息。
可选地,在执行步骤S1100c之后,可以执行步骤S1100d:
S1100d,将该归属会话信息加入预设名单。
在可选实施例中,为了确保分布式锁黑名单不影响分布式系统正常服务,可以在一致性服务器的保留路径的一个目录下设置上述预设名单,该目录下的每一个孩子节点,即ephemeral文件,对应加入黑名单的一把分布式锁,更加明确地说,文件名本身就是分布式锁对应的会话信息。预设名单中的会话信息可以为占据分布式锁的问题工作机的会话信息。当对应的会话不止为一个时,可以将多个会话集合成表单,发送至一致性服务器,由一致性服务器加入上述预设名单中。
由上述可知,本发明实施例提出的数据处理方法至少具有如下技术效果:
本发明在一致性服务器端引入分布式锁黑名单,一致性服务器会主动忽略黑名单中所有分布式锁对应的会话心跳包,最终使得黑名单中的会话过期,进而导致问题工作机释放对应分布式锁所有权。在主调度服务器与工作机心跳异常情况下,主调度服务器主动向一致性服务器分布式锁黑名单中添加问题工作机占有的所有分布式锁,从而支持主调度服务器重新调度其它正常工作机来争抢分布锁所有权,并在抢锁成功后加载原分区s以提供数据访问服务,提高了分布式锁亦即应用服务的可用性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式锁所有权调度方法和装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种分布式锁所有权调度方法,应用于一致性服务器,其特征在于,所述方法包括:
当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
2.根据权利要求1所述的方法,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤包括:
接收该分布式锁的信息,在所述分布式锁的信息中查找该分布式锁的所有者;
获得该所有者关联的会话信息;
将所述所有者关联的会话信息加入分布式锁黑名单。
3.根据权利要求1所述的方法,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤之后,所述方法还包括:
将所述分布式锁黑名单同步至多个一致性服务器。
4.根据权利要求1所述的方法,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤包括:
利用黑名单接口,在一致性服务器的保留路径下的分布式锁黑名单目录中新建名为该会话的ephemeral节点。
5.根据权利要求1所述的方法,其特征在于,在忽略该心跳包的步骤之后,所述方法还包括:
在主调度服务器重新调度问题工作机以外的其他工作机之后,清理分布式锁黑名单中该会话信息。
6.根据权利要求5所述的方法,其特征在于,所述清理分布式锁黑名单中该会话信息的步骤包括:
利用黑名单删除接口,在一致性服务器的保留路径下的分布式锁黑名单目录中删除名为该会话的ephemeral节点。
7.根据权利要求1所述的方法,其特征在于,所述分布式锁的信息为该分布式锁的路径。
8.根据权利要求1所述的方法,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的步骤之前,所述方法还包括:
在一致性服务器中建立分布式锁黑名单。
9.一种电子装置,其特征在于,包括:
存储器,用于存储计算机可读程序;
处理器,当所述处理器读取所述存储器中的计算机可读程序时,所述电子装置执行如下操作:
当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
当存在该心跳包的归属会话信息时,忽略该心跳包。
10.根据权利要求9所述的电子装置,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作包括:
接收该分布式锁的信息,在所述分布式锁的信息中查找该分布式锁的所有者;
获得该所有者关联的会话信息;
将所述所有者关联的会话信息加入分布式锁黑名单。
11.根据权利要求9所述的电子装置,其特征在于,所述一致性服务器接收该分布式锁的信息,获取该分布式锁的所有者对应的会话信息并加入分布式锁黑名单的操作之后,所述方法还包括:
将所述分布式锁黑名单同步至多个一致性服务器。
12.根据权利要求9所述的电子装置,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作包括:
利用黑名单接口,在一致性服务器的保留路径下的分布式锁黑名单目录中新建名为该会话的ephemeral节点。
13.根据权利要求9所述的电子装置,其特征在于,在当存在该心跳包的归属会话信息时,忽略该心跳包的操作之后,所述方法还包括:
在主调度服务器重新调度问题工作机以外的其他工作机之后,清理分布式锁黑名单中该会话信息。
14.根据权利要求13所述的电子装置,其特征在于,所述清理分布式锁黑名单中该会话信息的操作包括:
利用黑名单删除接口,在一致性服务器的保留路径下的分布式锁黑名单目录中删除名为该会话的ephemeral节点。
15.根据权利要求9所述的电子装置,其特征在于,所述分布式锁的信息为该分布式锁的路径。
16.根据权利要求9所述的电子装置,其特征在于,所述根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单的操作之前,所述方法还包括:
在一致性服务器中建立分布式锁黑名单。
17.一种分布式锁所有权调度装置,其特征在于,包括:
分布式锁获取模块,用于当检测到主调度服务器与问题工作机心跳异常,且该问题工作机占据分布式锁时,接收所述问题工作机占据的分布式锁的信息;
黑名单维护模块,用于根据该分布式锁的信息获取该分布式锁的归属会话信息,将该归属会话信息加入分布式锁黑名单;
归属信息获取模块,用于当收到来自工作机的心跳包时,获取该心跳包的归属会话信息;
判断模块,用于判断分布式锁黑名单中是否存在该心跳包的归属会话信息;
处理模块,用于当存在该心跳包的归属会话信息时,忽略该心跳包。
18.一种数据处理方法,其特征在于,包括:
接收来自第一计算设备的心跳包;
获取该心跳包的归属会话信息;
确定所述会话信息属于预设名单中;
忽略该心跳包。
19.根据权利要求18所述的方法,其特征在于,预设名单的建立过程包括:
确定第二计算设备与第一计算设备心跳异常,且该第一计算设备占据分布式锁;
获取所述第一计算设备占据的分布式锁信息;
获取该分布式锁信息的归属会话信息;
将该归属会话信息加入预设名单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818607.4A CN109495528B (zh) | 2017-09-12 | 2017-09-12 | 分布式锁所有权调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710818607.4A CN109495528B (zh) | 2017-09-12 | 2017-09-12 | 分布式锁所有权调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495528A true CN109495528A (zh) | 2019-03-19 |
CN109495528B CN109495528B (zh) | 2022-04-26 |
Family
ID=65687829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710818607.4A Active CN109495528B (zh) | 2017-09-12 | 2017-09-12 | 分布式锁所有权调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495528B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941591A (zh) * | 2019-11-22 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种文件删除方法、装置、设备及可读存储介质 |
CN110971700A (zh) * | 2019-12-10 | 2020-04-07 | 腾讯云计算(北京)有限责任公司 | 分布式锁的实现方法及装置 |
CN111552474A (zh) * | 2020-03-26 | 2020-08-18 | 平安医疗健康管理股份有限公司 | 执行分布式锁操作的处理方法及装置 |
CN117608766A (zh) * | 2024-01-23 | 2024-02-27 | 杭州阿里云飞天信息技术有限公司 | 分布式锁处理方法、设备、存储介质和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184603A (zh) * | 2013-05-23 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 一种用户状态统计方法、装置及系统 |
US9507566B2 (en) * | 2014-04-01 | 2016-11-29 | Oracle International Corporation | Entropy generation for a distributed computing system |
CN106572130A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 用于实现分布式锁管理的方法和设备 |
CN106708608A (zh) * | 2015-11-16 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种分布式锁服务方法、获取方法及相应装置 |
CN107145396A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 分布式锁实现方法和设备 |
-
2017
- 2017-09-12 CN CN201710818607.4A patent/CN109495528B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104184603A (zh) * | 2013-05-23 | 2014-12-03 | 腾讯科技(深圳)有限公司 | 一种用户状态统计方法、装置及系统 |
US9507566B2 (en) * | 2014-04-01 | 2016-11-29 | Oracle International Corporation | Entropy generation for a distributed computing system |
CN106572130A (zh) * | 2015-10-09 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 用于实现分布式锁管理的方法和设备 |
CN106708608A (zh) * | 2015-11-16 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种分布式锁服务方法、获取方法及相应装置 |
CN107145396A (zh) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 分布式锁实现方法和设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941591A (zh) * | 2019-11-22 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种文件删除方法、装置、设备及可读存储介质 |
CN110971700A (zh) * | 2019-12-10 | 2020-04-07 | 腾讯云计算(北京)有限责任公司 | 分布式锁的实现方法及装置 |
CN110971700B (zh) * | 2019-12-10 | 2023-07-21 | 腾讯云计算(北京)有限责任公司 | 分布式锁的实现方法及装置 |
CN111552474A (zh) * | 2020-03-26 | 2020-08-18 | 平安医疗健康管理股份有限公司 | 执行分布式锁操作的处理方法及装置 |
CN111552474B (zh) * | 2020-03-26 | 2022-03-18 | 平安医疗健康管理股份有限公司 | 执行分布式锁操作的处理方法及装置 |
CN117608766A (zh) * | 2024-01-23 | 2024-02-27 | 杭州阿里云飞天信息技术有限公司 | 分布式锁处理方法、设备、存储介质和系统 |
CN117608766B (zh) * | 2024-01-23 | 2024-04-30 | 杭州阿里云飞天信息技术有限公司 | 分布式锁处理方法、设备、存储介质和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109495528B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790694B (zh) | 分布式系统及分布式系统中目标对象的调度方法 | |
CN109495528A (zh) | 分布式锁所有权调度方法和装置 | |
CN103581276B (zh) | 集群管理装置、系统、业务客户端及相应方法 | |
CN108563502B (zh) | 一种任务调度方法和装置 | |
CN104834582B (zh) | 一种监控事件展示方法 | |
CN105468450A (zh) | 任务调度方法及系统 | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN109743358A (zh) | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 | |
CN106302709B (zh) | 一种网络文件管理的实现方法和系统 | |
CN109445927B (zh) | 一种存储集群的任务管理方法及装置 | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN108038005A (zh) | 基于zookeeper的共享资源访问方法、客户端、服务端、系统 | |
CN109241186A (zh) | 分布式事务的管理方法、系统、计算机设备及存储介质 | |
CN112597249A (zh) | 一种业务数据的同步分发存储方法及系统 | |
CN114064414A (zh) | 一种高可用的集群状态监控方法及系统 | |
CN109257396B (zh) | 一种分布式锁调度方法及装置 | |
CN109062681A (zh) | 一种周期性循环任务的执行方法、系统、装置及存储介质 | |
CN104753987B (zh) | 一种分布式会话管理方法及系统 | |
CN111176888A (zh) | 云存储的容灾方法、装置及系统 | |
CN109361777A (zh) | 分布式集群节点状态的同步方法、同步系统及相关装置 | |
CN110417586A (zh) | 服务监控方法、服务节点、服务器及计算机可读存储介质 | |
CN112486707A (zh) | 基于Redis的消息异步消费方法及装置 | |
CN110674192A (zh) | 一种Redis高可用VIP漂移方法、终端及存储介质 | |
CN101018113A (zh) | 实现数据同步、获知数据同步结果方法及其系统、hlr | |
CN114090198A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |