[发明专利]一种分布式锁调度方法及装置有效
申请号: | 201710564507.3 | 申请日: | 2017-07-12 |
公开(公告)号: | CN109257396B | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 陈新进;安凯歌;赵立芳;卢毅军 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/52 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 李辉 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 调度 方法 装置 | ||
本申请实施例公开了一种分布式锁调度方法及装置。所述方法包括:当服务进程启动时,创建与所述服务进程对应的分布式锁和会话;若所述服务进程发生故障,并与所述服务进程的调度进程断开连接,且,所述调度进程重新启动,并生成新的调度进程,则所述新的调度进程获取所述服务进程的所述标识信息;所述新的调度进程根据所述标识信息获取与所述标识信息相关联的至少一个分布式锁,并根据所述至少一个分布式锁获取与所述分布式锁相关联的至少一个历史会话,所述至少一个历史会话中包括所述会话。所述方法及装置实施例可以保证客户端的正常工作状态,以及保持其他业务客户端对分组数据访问服务的连续性。
技术领域
本申请涉及互联网及云计算技术领域,特别涉及一种分布式锁调度方法及装置。
背景技术
在分布式一致性系统中,为了保证分布式数据的一致性,通常可以依赖分布式锁服务技术以解决分布在不同计算节点上的客户端进程访问共享资源的问题。分布式锁服务技术已广泛应用于大规模云计算场景中,典型的分布式锁服务技术是基于分布式一致性系统提供的临时文件(Ephemeral file)操作接口实现的。具体地,分布式锁“抢锁”的实现可以基于创建临时文件操作接口,分布式锁释放锁的实现则可以基于删除所述临时文件操作接口。
临时文件的归属性确保分布式锁的互斥性。分布式一致性服务器一般会在第一客户端进程创建临时文件时,记录所述第一客户端进程所对应的会话信息。当有第二客户端进程(第二客户端进程可以为与第一客户端进程步相同的任何客户端进程)尝试创建临时文件时,分布式一致性服务器可以判断所述临时文件归属的会话与所述第二客户端进程对应的会话是否匹配,当判断结果为不匹配时,可以确定所述第二客户端“争抢”分布式锁失败。
分布式一致性系统中的临时文件的生命期可以确保分布式锁的可用性。临时文件生命期可以为所述临时文件归属客户端进程所对应会话的时间段。具体地,所述临时文件生命期可以通过客户端进程与分布式一致性服务器之间的定期心跳更新。若客户端进程在客户端认定的会话有效时间内没有收到任何来自分布式一致性服务器的心跳包回复,则可以确定客户端进程所对应的会话超时,客户端进程丢失分布式锁。若分布式一致性服务器在服务器端认定的会话有效时间内没有接收到任何来自客户端进程的心跳包,则可以确定客户端进程所对应的会话超时,所述分布式一致性服务器可以删除分布式锁文件,释放该分布式锁的所有权。
在大规模云计算环境中,很多服务存在如下应用场景:例如在基于多线程处理技术的Master-Worker并行模式中,Master进程可以调度不同的Worker进程加载不同的分区(Partition)数据以提供并发的数据访问,进而提升分布式一致性系统的整体服务能力。为了避免同一个Partition被多个Worker进程同时加载而导致Partition中的数据被写坏的情况发生,每个被调度的Worker进程需要争抢对应Partition的分布式锁。Worker进程在获取Partition的分布式锁的所有权之后,才可以提供对所述Partition数据的具体访问服务,另外,Worker进程还可以在向Master进程发送定期心跳的同时发送服务状态信息。
实际的分布式并发环境往往复杂难控,如果Worker进程所在机器的写系统盘出现故障,很可能会出现如下情形:Worker进程与分布式一致性服务器之间心跳正常,即在会话超时前Worker进程总可以收到心跳包回复,因此Worker进程一直占据着Partition所对应的分布式锁,此时所述Worker进程发生“假死”事件。但是,所述Worker进程无法向Master进程发送服务状态信息,所述Worker进程加载的Partition数据的访问服务也因此而中断。
因此,现有技术中亟需一种能够在保证分布式锁正确性的前提下,支持Master进程重新调度分布式锁所有权的灵活机制。
发明内容
本申请实施例的目的在于提供一种分布式锁调度方法及装置,可以保证客户端的正常工作状态,以及保持其他业务客户端对分组数据访问服务的连续性。
本申请实施例提供的一种分布式锁调度方法及装置具体是这样实现的:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710564507.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:抵御旁路攻击的系统
- 下一篇:一种请求消息的处理方法及装置