【技术实现步骤摘要】
分布式锁的实现方法、相关设备及系统
本专利技术涉及电子
,尤其涉及一种分布式锁的实现方法、相关设备及系统。
技术介绍
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,提出了分布式系统的概念。简单来说,分布式系统就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。而在分布式系统中,不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么用户在访问这些资源的时候,往往需要互斥来防止彼此干扰,在这种情况下,便需要使用到分布式锁。分布式锁是分布式系统的核心组件,是用来控制分布式系统之间同步访问共享资源的一种方式。具体来说,分布式锁的原理就是在操作目标资源之前先获取操作许可,然后再执行操作,如果其他用户同时尝试操作该目标资源将被阻止,直到前一个用户释放许可后,其他用户才能够操作目标资源。可以看出,分布式锁是保证分布式系统可靠、有序地被操作和运行的重要机制。因此,保证分布式锁的可靠性对于分布式系统的实现有着重要的意义。目前,为了提供可靠的分布式锁,现有技术通常在多个网络节点中存储相同的锁信息,其中一个网络节点作为主网络节点完成分布式锁的业务,其他多个网络节点作为冗余网络节点,当主网络节点出现宕机等故障时,其他冗余网络节点可以代替主网络节点继续完成分布式锁的业务。因此,如何保证实现分布式锁的多个网络节点之间的一致性就显得尤为重要。当前业界使用的主要是基于zookeeper分布式服务框架或者chubby分布式系统构建 ...
【技术保护点】
一种分布式锁的实现方法,其特征在于,所述方法包括:主网络节点接收锁处理消息;所述主网络节点对所述锁处理消息进行缓存;所述主网络节点获取当前缓存的至少两个锁处理消息,并根据当前缓存的所述至少两个锁处理消息生成一条日志信息;所述主网络节点向从属于该主网络节点的至少一个从网络节点同步所述日志信息;当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理。
【技术特征摘要】
1.一种分布式锁的实现方法,其特征在于,所述方法包括:主网络节点接收锁处理消息;所述主网络节点对所述锁处理消息进行缓存;所述主网络节点获取当前缓存的至少两个锁处理消息,并根据当前缓存的所述至少两个锁处理消息生成一条日志信息;所述主网络节点向从属于该主网络节点的至少一个从网络节点同步所述日志信息;当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理。2.如权利要求1所述的方法,其特征在于,所述当所述主网络节点确定所述日志信息同步成功包括:所述主网络节点接收所述至少一个从网络节点存储成功所述日志信息后发送的确认消息;所述主网络节点根据接收到的所述确认消息的数量,确定所述日志消息是否同步成功。3.如权利要求1或2所述的方法,其特征在于,所述主网络节点对所述锁处理消息进行缓存包括:所述主网络节点将所述锁处理消息缓存在消息缓存队列中,所述消息缓存队列中锁处理消息的排序由各个锁处理消息的接收先后顺序确定;所述当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理包括:当所述主网络节点确定所述日志信息同步成功后,按照所述消息缓存队列中各锁处理消息的排序依次对所述消息缓存队列中的锁处理消息进行处理。4.如权利要求1-3任一项所述的方法,其特征在于,所述锁处理消息携带目标资源的资源标识;所述主网络节点向从属于该主网络节点的至少一个从网络节点同步所述日志信息包括:所述主网络节点确定本身所属的分布式锁节点集合,所述分布式锁节点集合与所述目标资源的资源标识对应,所述分布式锁节点集合中包括所述主网络节点以及至少一个从网络节点;所述主网络节点向所述分布式锁节点集合中的至少一个从网络节点同步所述日志信息。5.如权利要求1-4任一项所述的方法,其特征在于,所述锁处理消息为锁请求消息或锁释放消息。6.一种分布式锁的实现方法,其特征在于,所述方法包括:分发节点获取锁处理消息,所述锁处理消息包括目标资源的资源标识;所述分发节点确定所述资源标识对应的分布式锁节点集合,所述分布式锁节点集合包括主网络节点和至少一个从网络节点;所述分发节点向所述分布式锁节点集合中的主网络节点发送所述锁处理消息,所述锁处理消息用于指示所述分布式锁节点集合对所述锁处理消息进行同步和处理。7.如权利要求6所述的方法,其特征在于,所述分发节点确定所述资源标识对应的分布式锁节点集合包括:所述分发节点根据预设的资源节点映射表,获取所述资源标识对应的分布式锁节点集合,所述资源节点映射表包括至少一个资源标识以及各资源标识对应的分布式锁节点集合。8.如权利要求6或7所述的方法,其特征在于,所述分发节点获取锁处理消息包括:所述分发节点接收客户端发送的锁处理消息。9.如权利要求6-8任一项所述的方法,其特征在于,所述锁处理消息为锁请求消息或锁释放消息。10.一种分布式锁的实现方法,其特征在于,所述方法包括:主网络节点接收锁处理消息,所述锁处理消息包括目标资源的资源标识,所述资源标识与所述主网络节点所属的分布式锁节点集合对应,所述分布式锁节点集合包括所述主网络节点以及至少一个从网络节点;所述主网络节点向所述分布式锁节点集合中的从网络节点同步所述锁处理消息;当所述主网络节点确定所述锁处理消息同步成功后,对所述锁处理消息进行处理。11.如权利要求10所述的方法,其特征在于,所述主网络节点向所述分布式锁节点集合中的从网络节点同步所述锁处理消息之前,还包括:所述主网络节点对所述锁处理消息进行缓存;所述主网络节点获取当前缓存的至少两个锁处理消息,并根据当前缓存的所述至少两个锁处理消息生成一条日志信息;所述主网络节点向所述分布式锁节点集合中的从网络节点同步所述锁处理消息包括:所述主网络节点向所述分布式锁节点集合中的从网络节点同步所述日志信息;所述当所述主网络节点确定所述锁处理消息同步成功后,对所述锁处理消息进行处理包括:当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理。12.如权利要求11所述的方法,其特征在于,所述当所述主网络节点确定所述日志信息同步成功包括:所述主网络节点接收所述分布式锁节点集合中的至少一个从网络节点存储成功所述日志信息后发送的确认消息;所述主网络节点根据接收到的所述确认消息的数量,确定所述日志消息是否同步成功。13.如权利要求11或12所述的方法,其特征在于,所述主网络节点对所述锁处理消息进行缓存包括:所述主网络节点将所述锁处理消息缓存在消息缓存队列中,所述消息缓存队列中锁处理消息的排序由各个锁处理消息的接收先后顺序确定;所述当所述主网络节点确定所述日志信息同步成功后,对所述日志信息中的所述至少两个锁处理消息进行处理包括:当所述主网络...
【专利技术属性】
技术研发人员:宋跃忠,侯杰,林程勇,戴龙飞,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。