【技术实现步骤摘要】
分布式锁实现方法和设备
本申请涉及计算机领域,尤其涉及一种分布式锁实现的技术。
技术介绍
分布式锁是分布式系统中控制不同设备之间同步访问共享资源的一种方式。在云计算环境下,分布式锁有着非常广泛的使用场景,其最主要的应用场景是,在分布式系统中,不同设备对一个共享资源进行访问的时候,系统往往需要分布式锁来支持对共享资源访问的互斥性以保证一致性。同时,应对庞大的数据处理,在云计算环境中,为了提高系统处理效率,异步处理机制被普遍使用。作为云计算中重要组成部分,为保证高效,一致性协调部分,尤其是分布式锁服务广泛使用基于异步回调(callback)的方式实现。在该种机制下,分布式锁实现依赖于回调(callback)机制。即在分布式环境中,当多个客户执行设备需要互斥操作,如更新同一个资源时,每个客户执行设备(Client)都会尝试持有同一把分布式锁,由于分布式锁服务设备(Server)可以保证最多只能有一个客户执行设备拥有这把分布式锁,这样在抢锁过程中一定可以保证资源操作的互斥性。具体地,客户端(Client)包括客户锁管理设备和客户执行设备,其中,当客户锁管理设备抢锁成功后,会维持与分布式服务设备之间的心跳连接,当心跳连接失效时,客户锁管理设备会等待一个宽限期时间(GracePeriod)。而当超过宽限期后,则客户锁管理设备则会向客户执行设备(应用层)发送连接异常事件通知,客户执行设备则做相应丢锁处理。然而,在当今多核计算时代,进程、线程级别的并发在云计算中属于常态,不同功能的执行例程常常在不同的核上被执行。由于多核的存在,如果事件通知线程和接受事件通知的线程在不同的 ...
【技术保护点】
一种在客户执行设备端的分布式锁实现方法,其中,所述方法包括:请求客户锁管理设备进行抢锁创建操作;当所述客户锁管理设备抢锁创建操作成功,利用所持有的分布式锁进行互斥操作,包括:在每次互斥操作之前,判断所述分布式锁是否已过期,若已过期则放弃互斥操作并进行相应的丢锁处理,若未过期则进行当次互斥操作,在每次互斥操作之后,判断所述分布式锁是否已过期,若已过期则进行相应的丢锁处理,并撤销当次互斥操作的相关数据。
【技术特征摘要】
2016.03.01 CN 20161011520871.一种在客户执行设备端的分布式锁实现方法,其中,所述方法包括:请求客户锁管理设备进行抢锁创建操作;当所述客户锁管理设备抢锁创建操作成功,利用所持有的分布式锁进行互斥操作,包括:在每次互斥操作之前,判断所述分布式锁是否已过期,若已过期则放弃互斥操作并进行相应的丢锁处理,若未过期则进行当次互斥操作,在每次互斥操作之后,判断所述分布式锁是否已过期,若已过期则进行相应的丢锁处理,并撤销当次互斥操作的相关数据。2.根据权利要求1所述的方法,其中,在每次互斥操作之后,判断所述分布式锁是否已过期,若已过期则进行相应的丢锁处理,并撤销当次互斥操作的相关数据包括:在每次互斥操作之后且在提交当次执行的互斥操作的相关数据之前,判断所述分布式锁是否已过期,若已过期则进行相应的丢锁处理,并放弃提交当次执行的互斥操作的相关数据,若未过期则提交当次执行的互斥操作的相关数据。3.根据权利要求1所述的方法,其中,所述方法还包括:在每次互斥操作之前,记录操作前数据状态;则撤销当次互斥操作的相关数据包括:将数据恢复到所述操作前数据状态。4.根据权利要求1至3中任一项所述的方法,其中,判断所述分布式锁当前是否已过期包括:比较当前时间与所述分布式锁的有效期,当所述当前时间超过所述分布式锁有效期,则所述分布式锁当前已过期。5.根据权利要求4所述的方法,其中,所述方法还包括:从所述客户锁管理设备查询更新的分布式锁的有效期。6.一种在客户锁管理设备端的分布式锁实现方法,其中,所述方法包括:基于客户执行设备的请求,向分布式锁服务设备发起抢锁创建操作;当抢锁创建操作成功,记录所述分布式锁的有效期。7.根据权利要求6所述的方法,其中,所述方法还包括:在每次抢锁创建操作后,通过接口向所述客户执行设备反馈一标记信息,所述标记信息用于标记当次抢锁创建操作是否成功。8.根据权利要求6或7所述的方法,其中,所述方法还包括:当抢锁创建操作成功,维持与所述分布式服务设备的心跳连接,并基于成功的心跳连接更新所述分布式锁的有效期。9.一种用于分布式锁实现的客户执行设备,其中,所述客户执行设备包括:请求装置,用于请求客户锁管理设备进行抢锁创建操作;操作装置,用于当所述客户锁管理设备抢锁创建操作成功,利用所持有的分布式锁进行互斥操作,包括,在每次互斥操作之前,判断所述分布式锁是否已过期,若已过期则放弃互斥操作并进行相应的丢锁处理,若未过期则进行当次互斥操作,并在每次互斥操作之后,判断所述分布式锁是否已过期,若已过期则进行相应...
【专利技术属性】
技术研发人员:安凯歌,吴结生,卢毅军,吴锦波,周文翠,陶云峰,吝倩,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。