管理锁的方法及装置、确定锁管理服务器的方法及装置制造方法及图纸

技术编号:12615646 阅读:65 留言:0更新日期:2015-12-30 13:19
本发明专利技术公开了一种管理锁的方法及装置、确定锁管理服务器的方法及装置、锁管理服务器及客户端。所述方法应用于锁管理服务器集群,所述锁管理服务器集群包含多个锁管理服务器,所述方法包括:第一锁管理服务器接收第一客户端发送的锁申请请求,所述锁申请请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从所述多个锁管理服务器中确定出的;若所述第一锁管理服务器中所述资源标识对应的锁的状态为空闲,则所述第一锁管理服务器将所述锁分配给所述第一客户端;若所述第一锁管理服务器没有所述资源标识对应的锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种管理锁的方法及装置、确定锁管理服务器的方法及装置、锁管理服务器及客户端。
技术介绍
分布式系统是一组主机通过网络相互连接与通信后形成的系统。在分布式系统中,各个主机之间共享分布式系统的资源,为了防止两个或多个主机同时访问一个资源造成冲突的情况发生,每个资源需要对应一个锁,主机访问一个资源,需要首先申请该资源对应的锁,申请成功后,再访问该资源,访问完毕后,释放该资源对应的锁,以便其他主机能够申请该资源对应的锁。目前管理分布式系统的资源对应的锁的实现方式:分布式系统中的所有主机均存储有每个资源对应的锁,所有主机中有一个主机为主节点,对外提供服务,其他主机作为备节点,备节点接收到的请求均转发到主节点上。在主节点上执行的所有操作必须同步到备节点上。由于仅有主节点对外提供服务,所以主节点能够支持的锁数量就是整个分布式系统能够支持的锁数量,锁容量有限,并且由于在主节点上执行的每次操作都需要同步到整个分布式系统中的各个备节点上,涉及到多次通信以及协商,所以性能较低,同时可靠性难以得到保障。综上,目前管理系统资源对应的锁的方式无法满足高并发、低时延和可靠性需求。
技术实现思路
本专利技术实施例提供一种管理锁的方法及装置、确定锁管理服务器的方法及装置、锁管理服务器及客户端,锁无需持久化,同时满足处理低时延,和服务高并发,锁的高可靠性,无需保存锁多个副本从而避免锁迀移带来的额外开销。本专利技术实施例第一方面提供了一种管理锁的方法,所述方法应用于锁管理服务器集群,所述锁管理服务器集群包含多个锁管理服务器,所述方法包括:第一锁管理服务器接收第一客户端发送的锁申请请求,所述锁申请请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从所述多个锁管理服务器中确定出的;若所述第一锁管理服务器中所述资源标识对应的锁的状态为空闲,则所述第一锁管理服务器将所述锁分配给所述第一客户端;若所述第一锁管理服务器没有所述资源标识对应的锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。结合第一方面,在第一方面的第一种可能的实现方式中,所述第一锁管理服务器没有所述锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端,包括:所述第一锁管理服务器根据所述资源标识确定由所述第一锁管理服务器生成所述锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:若所述第一锁管理服务器中所述锁的状态为占用、且占用所述锁的第二客户端故障,则所述第一锁管理服务器将所述锁分配给所述第一客户端。结合第一方面至第一方面的第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述预定函数关系用于将所述资源标识映射为所述多个锁管理服务器中一个锁管理服务器的标识。本专利技术实施例第二方面提供了一种管理锁的方法,所述方法应用于锁管理服务器集群,所述锁管理服务器集群包含多个锁管理服务器,所述方法包括:第一锁管理服务器接收第一客户端发送的锁释放请求,所述锁释放请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从所述多个锁管理服务器中确定出的;若所述第一锁管理服务器中所述锁被所述第一客户端占用,则所述第一锁管理服务器将所述锁的状态设置为空闲。结合第二方面,在第二方面的第一种可能的实现方式中,还包括:若所述第一锁管理服务器没有所述锁,则所述第一锁管理服务器根据所述资源标识生成锁,并设置生成的锁的状态为占用。结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:若所述第一锁管理服务器中所述锁的状态为占用,且占用所述锁的第二客户端发生故障,则所述第一锁管理服务器将所述锁的状态设置为空闲。结合第二方面至第二方面的第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述预定函数关系用于将所述资源标识映射为所述多个锁管理服务器中一个锁管理服务器的标识。本专利技术实施例第三方面提供了一种确定锁管理服务器的方法,所述方法包括:客户端根据第一资源标识,按照预定函数关系从锁管理服务器集群包含的多个锁管理服务器中确定出第一锁管理服务器;若所述第一锁管理服务器工作正常,则所述客户端向所述第一锁管理服务器发送第一锁操作请求;所述第一锁操作请求为第一锁申请请求或第一锁释放请求;所述第一锁操作请求携带所述第一资源标识。结合第三方面,在第三方面的第一种可能的实现方式中,还包括:所述客户端根据第二资源标识,按照所述预定函数关系从所述多个锁管理服务器中确定出第二锁管理服务器;若所述第二锁管理服务器发生故障,则所述客户端按照所述预定函数关系从剩余锁管理服务器中确定出第三锁管理服务器,所述剩余锁管理服务器为所述多个服务器中除所述第二锁管理服务器外的锁管理服务器;若所述第三锁管理服务器工作正常,则所述客户端向所述第三锁管理服务器发送第二锁操作请求,所述第二锁操作请求为第二锁申请请求或第二锁释放请求,所述第二锁操作请求中携带所述第二资源标识。本专利技术实施例第四方面提供了一种管理锁的装置,包括:接收单元,用于接收第一客户端发送的锁申请请求,所述锁申请请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从锁管理服务器集群包含的多个锁管理服务器中确定出的;分配单元,用于若所述第一锁管理服务器中所述资源标识对应的锁的状态为空闲,则所述第一锁管理服务器将所述锁分配给所述第一客户端;生成单元,用于若所述第一锁管理服务器没有所述资源标识对应的锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。结合第四方面,在第四方面的第一种可能的实现方式中,所述生成单元用于:根据所述资源标识确定由所述第一锁管理服务器生成所述锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述分配单元还用于:若所述第一锁管理服务器中所述锁的状态为占用、且占用所述锁的第二客户端故障,则所述第一锁管理服务器将所述锁分配给所述第一客户端。结合第四方面至第四方面的第二种可能的实现方式中的任一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述预定函数关系用于将所述资源标识映射为所述多个锁管理服务器中一个锁管理服务器的标识。本专利技术实施例第五方面提供了一种管理锁的装置,包括:接收单元,用于接收第一客户端发送的锁释放请求,所述锁释放请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从所述多个锁管理服务器中确定出的;释放单元,用于若所述第一锁管理服务器中所述锁被所述第一客户端占用,则所述第一锁管理服务器将所述锁的状态设置为空闲。结合第五方面,在第五方面的第一种可能的实现方式中,所述装置还包括:生成单元,用于若所述第一锁管理服务器没有所述锁,则所述第一锁管理服务器根据所述资源标识生成锁,并设置生成的锁的状态为占用。结合第五方面或者第本文档来自技高网...

【技术保护点】
一种管理锁的方法,其特征在于,所述方法应用于锁管理服务器集群,所述锁管理服务器集群包含多个锁管理服务器,所述方法包括:第一锁管理服务器接收第一客户端发送的锁申请请求,所述锁申请请求包含资源标识,所述第一锁管理服务器是所述第一客户端根据所述资源标识按照预定函数关系,从所述多个锁管理服务器中确定出的;若所述第一锁管理服务器中所述资源标识对应的锁的状态为空闲,则所述第一锁管理服务器将所述锁分配给所述第一客户端;若所述第一锁管理服务器没有所述资源标识对应的锁,则所述第一锁管理服务器根据所述资源标识生成锁,并分配给所述第一客户端。

【技术特征摘要】

【专利技术属性】
技术研发人员:王志美
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1