用于实现分布式锁管理的方法和设备技术

技术编号:15191084 阅读:52 留言:0更新日期:2017-04-20 01:07
本申请的目的是提供一种用于实现分布式锁管理的设备及方法基于公开化的管理信息,通过公开分布式锁拥有者以及有效期信息的管理信息,将原先寄托于用户设备与网络设备之间线程管理的分布式锁拥有者以及有效期信息公开化,从而使得业务层面可以高效,灵活定制符合自身业务场景的分布式锁服务。进一步地,通过各争抢分布式锁失败的用户设备进程主动订阅分布式锁文件,当分布式锁占有者进程主动释放分布式锁时,各用户设备进程可以及时得到变更通知进而重新争抢分布式锁,最终加快分布式锁拥有者的切换过程。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种用于实现分布式锁管理的的技术。
技术介绍
大规模云计算系统中各计算节点需要协调各自动作,或者互斥地访问一组共享资源,这些动作均需要依赖分布式锁服务来防止彼此干扰以保障分布式数据一致性。分布式锁在大规模分布式计算环境中被广泛使用,分布在不同计算节点上的用户设备进程通常依赖分布式锁来访问共享资源,以保证数据分布式一致性。现有的实现技术下,对分布式锁的拥有者及有效期的管理,事实上是用户设备与网络设备之间建立的分布式锁管理,而分布式锁本身是与用户设备与网络设备之间建立的连接耦合在一起的,业务层面难以触及。这种对于业务层近似黑盒的分布式锁管理机制导致业务层面难以根据需要定制符合业务场景的分布式锁服务。
技术实现思路
本申请要解决的技术问题是,将用户设备与网络设备之间分布式锁管理的分布式锁拥有者以及有效期信息公开化,从而使得业务层面可以高效,灵活定制符合自身业务场景的分布式锁服务,并使各用户设备进程可以及时得到分布式锁的变更通知以重新争抢分布式锁,最终加快分布式锁拥有者的切换过程。为此,根据本申请的一个方面提供的一种在网络设备端实现分布式锁管理的方法,其中,所述方法包括:获取所述用户设备的查询请求,并反馈关于分布式锁的管理信息;获取所述用户设备的创建锁文件的请求,并创建所述锁文件;获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息。进一步地,所反馈的所述管理信息包括以下至少任一项:是否查询到该管理信息的信息;所述管理信息的相关有效信息;所述管理信息的锁拥有者的信息。进一步地,获取所述用户设备的创建锁文件的请求,并创建所述锁文件包括:查询当前是否存在已有锁文件;若当前不存在已有锁文件,则创建所述锁文件,并向所述用户设备反馈创建成功的信息;若当前存在已有锁文件,并且锁文件所有者非当前创建者,则向所述用户设备反馈创建失败的信息。进一步地,获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息包括以下至少任一项:更新所述管理信息的相关有效信息;更新所述管理信息的锁拥有者的信息;更新与所述用户设备的相关协商信息。进一步地,所述方法还包括:当所述分布式锁的拥有者的用户设备请求放弃所述分布式锁的占有权或所述分布式锁服务超时,删除当前的锁文件。进一步地,所述方法还包括:获取所述用户设备关于订阅所述锁文件变更信息通知的请求;当所述锁文件变更时,向请求订阅的用户设备发送所述锁文件的变更通知信息。进一步地,所述方法还包括:主动删除所述锁文件,并将所述锁文件的变更通知信息通知当前用户设备和指定转移的用户设备;更新所述管理信息,以将所述管理信息的拥有者从当前用户设备变更为所述指定转移的用户设备。进一步地,所述方法还包括:根据所述用户设备的请求创建关于所述用户设备自身的存活信息文件。根据本申请另一方面提供的一种在用户设备端实现分布式锁管理的方法,其中,所述方法包括:向网络设备请求查询关于分布式锁的管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件;当符合争抢分布式锁的条件,则向所述网络设备请求创建锁文件;当所述锁文件创建成功,则基于所述锁文件向所述网络设备请求更新所述管理信息。进一步地,判断所查询的管理信息是否符合争抢分布式锁的条件包括:判断所查询的管理信息是否包括至少以下任一项:未查询到所述管理信息,查询到所述管理信息失效,查询到所述管理信息的锁拥有者为所述用户设备自身;若包括至少任一项,则符合争抢分布式锁的条件。进一步地,向所述网络设备请求创建锁文件包括:向所述网络设备请求创建锁文件,所述锁文件的所有者为所述用户设备自身。进一步地,基于所述锁文件向所述网络设备请求更新所述管理信息包括以下至少任一项:请求更新所述管理信息的相关有效信息;请求更新所述管理信息的锁拥有者的信息;请求更新与所述网络设备的相关协商信息。进一步地,所述方法还包括:当符合争抢分布式锁的条件但请求创建所述锁文件失败,则判断所述管理信息的锁拥有者是否为所述用户设备自身;当所述管理信息的锁拥有者为所述用户设备自身,则继续请求创建所述锁文件,直至所述锁文件创建成功;当所述管理信息的所拥有者非所述用户设备自身,则重新查询所述管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件。进一步地,重新查询所述管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件还包括:请求订阅所述锁文件的变更通知信息;当获取到所述锁文件的变更通知信息时,重新查询关于分布式锁的管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件。进一步地,当所述锁文件创建成功,则基于所述锁文件向所述网络设备请求更新所述管理信息包括:向所述网络设备请求更新所述管理信息的分布式锁拥有者的信息为所述用户设备自身;向所述网络设备请求更新所述管理信息为有效,并发送所述管理信息的有效期信息。进一步地,所述方法还包括:当所述锁文件创建成功,则请求创建关于所述用户设备自身的存活信息文件,请求订阅所述锁文件的变更通知信息,当获取到所述锁文件变更通知信息,则请求删除用户设备自身的存活信息文件。根据本申请又一方面提供的一种实现分布式锁管理的网络设备,其中,所述设备包括:管理信息反馈装置,用于获取所述用户设备的查询请求,并反馈关于分布式锁的管理信息;锁文件创建装置,用于获取所述用户设备的创建锁文件的请求,并创建所述锁文件;管理信息更新装置,用于获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息。进一步地,所反馈的所述管理信息包括以下至少任一项:是否查询到该管理信息的信息;所述管理信息的相关有效信息;所述管理信息的锁拥有者的信息。进一步地,所述锁文件创建装置用于:查询当前是否存在已有锁文件;若当前不存在已有锁文件,则创建所述锁文件,并向所述用户设备反馈创建成功的信息;若当前存在已有锁文件,并且锁文件所有者非当前创建者,则向所述用户设备反馈创建失败的信息。进一步地,所述管理信息更新装置用于更新以下至少任一项:更新所述管理信息的相关有效信息;更新所述管理信息的锁拥有者的信息;更新与所述用户设备的相关协商信息。进一步地,所述网络设备还包括:锁文件删除装置,用于当所述分布式锁的拥有者的用户设备请求放弃所述分布式锁的占有权或所述分布式锁服务超时,删除当前的锁文件。进一步地,所述网络设备还包括:锁文件变更通知装置,用于获取所述用户设备关于订阅所述锁文件变更信息通知的请求,当所述锁文件变更时,向请求订阅的用户设备发送所述锁文件的变更通知信息。进一步地,所述网络设备还包括:转移控制装置,用于主动删除所述锁文件,并将所述锁文件的变更通知信息通知当前用户设备和指定转移的用户设备,更新所述管理信息,以将所述管理信息的拥有者从当前用户设备变更为所述指定转移的用户设备。进一步地,所述网络设备还包括:存活信息创建装置,用于根据所述用户设备的请求创建关于所述用户设备自身的存活信息文件。根据本申请再一实施例提供的一种实现分布式锁管理的用户设备,其中,所述用户本文档来自技高网...
用于实现分布式锁管理的方法和设备

【技术保护点】
一种在网络设备端实现分布式锁管理的方法,其中,所述方法包括:获取所述用户设备的查询请求,并反馈关于分布式锁的管理信息;获取所述用户设备的创建锁文件的请求,并创建所述锁文件;获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息。

【技术特征摘要】
1.一种在网络设备端实现分布式锁管理的方法,其中,所述方法包括:获取所述用户设备的查询请求,并反馈关于分布式锁的管理信息;获取所述用户设备的创建锁文件的请求,并创建所述锁文件;获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息。2.根据权利要求1所述的方法,其中,所反馈的所述管理信息包括以下至少任一项:是否查询到该管理信息的信息;所述管理信息的相关有效信息;所述管理信息的锁拥有者的信息。3.根据权利要求1或2所述的方法,其中,获取所述用户设备的创建锁文件的请求,并创建所述锁文件包括:查询当前是否存在已有锁文件;若当前不存在已有锁文件,则创建所述锁文件,并向所述用户设备反馈创建成功的信息;若当前存在已有锁文件,并且锁文件所有者非当前创建者,则向所述用户设备反馈创建失败的信息。4.根据权利要求1至3中任一项所述的方法,其中,获取成功创建所述锁文件的用户设备对所述管理信息的更新请求,并更新所述管理信息包括以下至少任一项:更新所述管理信息的相关有效信息;更新所述管理信息的锁拥有者的信息;更新与所述用户设备的相关协商信息。5.根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:当所述分布式锁的拥有者的用户设备请求放弃所述分布式锁的占有权或所述分布式锁服务超时,删除当前的锁文件。6.根据权利要求1至5中任一项所述的方法,其中,所述方法还包括:获取所述用户设备关于订阅所述锁文件变更信息通知的请求;当所述锁文件变更时,向请求订阅的用户设备发送所述锁文件的变更
\t通知信息。7.根据权利要求1至6中任一项所述的方法,其中,所述方法还包括:主动删除所述锁文件,并将所述锁文件的变更通知信息通知当前用户设备和指定转移的用户设备;更新所述管理信息,以将所述管理信息的拥有者从当前用户设备变更为所述指定转移的用户设备。8.根据权利要求7所述的方法,其中,所述方法还包括:根据所述用户设备的请求创建关于所述用户设备自身的存活信息文件。9.一种在用户设备端实现分布式锁管理的方法,其中,所述方法包括:向网络设备请求查询关于分布式锁的管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件;当符合争抢分布式锁的条件,则向所述网络设备请求创建锁文件;当所述锁文件创建成功,则基于所述锁文件向所述网络设备请求更新所述管理信息。10.根据权利要求8所述的方法,其中,判断所查询的管理信息是否符合争抢分布式锁的条件包括:判断所查询的管理信息是否包括至少以下任一项:未查询到所述管理信息,查询到所述管理信息失效,查询到所述管理信息的锁拥有者为所述用户设备自身;若包括至少任一项,则符合争抢分布式锁的条件。11.根据权利要求9或10所述的方法,其中,向所述网络设备请求创建锁文件包括:向所述网络设备请求创建锁文件,所述锁文件的所有者为所述用户设备自身。12.根据权利要求9至11中任一项所述的方法,其中,基于所述锁文件向所述网络设备请求更新所述管理信息包括以下至少任一项:请求更新所述管理信息的相关有效信息;请求更新所述管理信息的锁拥有者的信息;请求更新与所述网络设备的相关协商信息。13.根据权利要求9至12中任一项所述的方法,其中,所述方法还包括:当符合争抢分布式锁的条件但请求创建所述锁文件失败,则判断所述管理信息的锁拥有者是否为所述用户设备自身;当所述管理信息的锁拥有者为所述用户设备自身,则继续请求创建所述锁文件,直至所述锁文件创建成功;当所述管理信息的所拥有者非所述用户设备自身,则重新查询所述管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件。14.根据权利要求9至13中任一项所述的方法,其中,重新查询所述管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件还包括:请求订阅所述锁文件的变更通知信息;当获取到所述锁文件的变更通知信息时,重新查询关于分布式锁的管理信息,并判断所查询的管理信息是否符合争抢分布式锁的条件,直至符合争抢分布式锁的条件,再请求创建所述锁文件。15.根据权利要求9至14中任一项所述的方法,其中,当所述锁文件创建成功,则基于所述锁文件向所述网络设备请求更新所述管理信息包括:向所述网络设备请求更新所述管理信息的分布式锁拥有者的信息为所述用户设备自身;向所述网络设备请求更新所述管理信息为有效,并发送所述管理信息的有效期信息。16.根据权利要求9至15中任一项所述的方法,其中,所述方法还包括:当所述锁文件创建成功,则请求创建关于所述用户设备自身的存活信息文件,请求订阅所述锁文件的变更通知信息,当获取到所述锁文件变更通知信息,则请求删除用户设备自身的存活信息文件。17.一种实现分布式锁管理的网络设备,其中,所述设备包括...

【专利技术属性】
技术研发人员:朱云锋成柱石陶云峰卢毅军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1