CN108038004A - 分布式锁生成方法、装置、计算机设备和可读存储介质 - Google Patents

分布式锁生成方法、装置、计算机设备和可读存储介质 Download PDF

Info

Publication number
CN108038004A
CN108038004A CN201711289119.5A CN201711289119A CN108038004A CN 108038004 A CN108038004 A CN 108038004A CN 201711289119 A CN201711289119 A CN 201711289119A CN 108038004 A CN108038004 A CN 108038004A
Authority
CN
China
Prior art keywords
solicited message
lock operation
lock
distributed
feedback information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711289119.5A
Other languages
English (en)
Inventor
王帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uf Financial Information Technology Ltd By Share Ltd
Original Assignee
Uf Financial Information Technology Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uf Financial Information Technology Ltd By Share Ltd filed Critical Uf Financial Information Technology Ltd By Share Ltd
Publication of CN108038004A publication Critical patent/CN108038004A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种分布式锁生成方法、装置、计算机设备和可读存储介质,其中,分布式锁生成方法,包括:获取对共享资源的锁定操作请求;当共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;根据第一反馈信息,确定是否生成对应的分布式锁。通过本发明的技术方案,各个分布式节点自动协商来决定分布式锁的生成,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了共享资源的利用效率,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。

Description

分布式锁生成方法、装置、计算机设备和可读存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种分布式锁生成方法、一种分布式锁生成装置、一种计算机设备和一种计算机可读存储介质。
背景技术
随着互联网应用的不断发展,越来越多的系统都面对着高并发、高性能、高可用的挑战。在高并发访问场景下,当出现多用户同时对一个资源的操作时,就需要可以对这个资源进行一段时间内的锁定,保证已获得资源的用户的顺利执行。
相关技术中,通过一个集中式的存储来保存对具体资源的锁,在每次进行对某个资源的锁定时,会在这个存储上进行检索核查,如果没有被其他人锁定,则创建锁并返回,如果已经被其他人锁定,则锁定失败,进行等待或退出,存在以下技术缺陷:这个集中式的存储将会是整个系统的瓶颈,在这个存储上的集中读写操作压力会很大,同时由于最终存储是集中式的,所以一旦集中式存储出现故障,整个业务也将完全中断。集中式的锁也无法水平扩展,无法利用多机集群的优势。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种分布式锁生成方法。
本发明的另一个目的在于提供一种分布式锁生成装置。
本发明的再一个目的在于提供一种计算机设备。
本发明的又一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,本发明的第一方面的技术方案提供了一种分布式锁生成方法,包括:获取对共享资源的锁定操作请求;当共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号。
在该技术方案中,通过获取对共享资源的锁定操作请求,并在共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点,提高了第一锁定操作请求信息的有效性,减少了因共享资源已经被锁定,而导致的第一锁定操作请求信息无法对应的生成分布式锁现象的发生,节省资源,通过发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息,实现了与其他分布式节点的协商来决定分布式锁的生成,减少了因不同的分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,通过根据第一反馈信息,确定是否生成对应的分布式锁,实现了各个分布式节点自动协商来决定分布式锁的生成,一方面,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了扩展性和实时运行性能,提高了共享资源的利用效率,另一方面,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号,具有唯一性,有利于实现各个分布式节点的自动协商。
在上述技术方案中,优选地,还包括:第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;若判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息;若判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,若判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;若判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息。
在该技术方案中,通过第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,并在判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息,在判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
通过在判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;在判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息,可以实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
在上述任一项技术方案中,优选地,基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,包括:解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数;若第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;若第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,其中,第一预设阈值大于分布式节点的数量的一半。
在该技术方案中,通过解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数,在第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值时,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;在第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值时,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,实现了各个分布式节点自动协商来决定分布式锁的生成,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
其中,第一预设阈值大于分布式节点的数量的一半,也即在同意的分布式节点数超过半数时,才生成分布式锁。
另外,还可以在在同意的分布式节点数超过半数时,进行二次确认,在二次确定时,同意的分布式节点数依旧超过半数时,才生成分布式锁,进一步提高了分布式锁生成的准确性,进一步减少不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,提升服务器的性能。
在上述任一项技术方案中,优选地,基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,包括:解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息;当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息;解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息。
在该技术方案中,通过解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息,并在当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息,有利于实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,通过解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息,进一步减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
需要说明的是,锁定操作请求信息是某个分布式节点在收到某个共享资源的锁定操作请求时,在该节点根据共享资源标识和按照递增或者其他规律生成的分布式锁的ID值,以及当前的时间作为提案号,再加上该分布式节点的标识,一般为IP,而形成的唯一的具有代表性的标识信息。
在上述任一项技术方案中,优选地,一致性算法包括Paxos算法、Lamport算法、Gossip算法。
本发明第二方面的技术方案提出了一种分布式锁生成装置,包括:获取单元,用于获取对共享资源的锁定操作请求;生成单元,用于当共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;发送单元,用于发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;确定单元,用于基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号。
在该技术方案中,通过获取对共享资源的锁定操作请求,并在共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点,提高了第一锁定操作请求信息的有效性,减少了因共享资源已经被锁定,而导致的第一锁定操作请求信息无法对应的生成分布式锁现象的发生,节省资源,通过发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息,实现了与其他分布式节点的协商来决定分布式锁的生成,减少了因不同的分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,通过根据第一反馈信息,确定是否生成对应的分布式锁,实现了各个分布式节点自动协商来决定分布式锁的生成,一方面,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了扩展性和实时运行性能,提高了共享资源的利用效率,另一方面,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号,具有唯一性,有利于实现各个分布式节点的自动协商。
在上述技术方案中,优选地,还包括:判断单元,用于第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;生成单元还用于:若判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息;判断单元还用于:若判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,生成单元还用于:若判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;生成单元还用于:若判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息。
在该技术方案中,通过第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,并在判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息,在判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
通过在判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;在判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息,可以实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
在上述任一项技术方案中,优选地,还包括:第一解析单元,用于解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数;确定单元还用于:若第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;确定单元还用于:若第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,其中,第一预设阈值大于分布式节点的数量的一半。
在该技术方案中,通过解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数,在第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值时,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;在第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值时,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,实现了各个分布式节点自动协商来决定分布式锁的生成,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
其中,第一预设阈值大于分布式节点的数量的一半,也即在同意的分布式节点数超过半数时,才生成分布式锁。
另外,还可以在在同意的分布式节点数超过半数时,进行二次确认,在二次确定时,同意的分布式节点数依旧超过半数时,才生成分布式锁,进一步提高了分布式锁生成的准确性,进一步减少不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,提升服务器的性能。
在上述任一项技术方案中,优选地,还包括:第二解析单元,用于解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息;发送单元还用于:当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息;第二解析单元还用于:解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;确定单元还用于:若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;确定单元还用于:若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息。
在该技术方案中,通过解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息,并在当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息,有利于实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,通过解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息,进一步减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
需要说明的是,锁定操作请求信息是某个分布式节点在收到某个共享资源的锁定操作请求时,在该节点根据共享资源标识和按照递增或者其他规律生成的分布式锁的ID值,以及当前的时间作为提案号,再加上该分布式节点的标识,一般为IP,而形成的唯一的具有代表性的标识信息。
在上述任一项技术方案中,优选地,一致性算法包括Paxos算法、Lamport算法、Gossip算法。
本发明的第三方面的技术方案提出了一种计算机设备,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的步骤。
在该技术方案中,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的步骤,因此具有上述本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的全部有益效果,在此不再赘述。
本发明的第四方面的技术方案提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的步骤。
在该技术方案中,计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的步骤,因此具有上述本发明的第一方面的技术方案提出的任一项的分布式锁生成方法的全部有益效果,在此不再赘述。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的分布式锁生成方法的流程示意图;
图2示出了根据本发明的一个实施例的分布式锁生成装置的结构示意图;
图3示出了根据本发明的另一个实施例的分布式锁生成方法的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例1
图1示出了根据本发明的一个实施例的分布式锁生成方法的流程示意图。
如图1所示,根据本发明的实施例的分布式锁生成方法,包括:步骤S102,获取对共享资源的锁定操作请求;步骤S104,当共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;步骤S106,发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;步骤S108,基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号。
在该实施例中,通过获取对共享资源的锁定操作请求,并在共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点,提高了第一锁定操作请求信息的有效性,减少了因共享资源已经被锁定,而导致的第一锁定操作请求信息无法对应的生成分布式锁现象的发生,节省资源,通过发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息,实现了与其他分布式节点的协商来决定分布式锁的生成,减少了因不同的分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,通过根据第一反馈信息,确定是否生成对应的分布式锁,实现了各个分布式节点自动协商来决定分布式锁的生成,一方面,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了扩展性和实时运行性能,提高了共享资源的利用效率,另一方面,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号,具有唯一性,有利于实现各个分布式节点的自动协商。
在上述实施例中,优选地,还包括:第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;若判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息;若判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,若判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;若判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息。
在该实施例中,通过第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,并在判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息,在判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
通过在判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;在判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息,可以实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
在上述任一项实施例中,优选地,基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,包括:解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数;若第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;若第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,其中,第一预设阈值大于分布式节点的数量的一半。
在该实施例中,通过解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数,在第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值时,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;在第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值时,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,实现了各个分布式节点自动协商来决定分布式锁的生成,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
其中,第一预设阈值大于分布式节点的数量的一半,也即在同意的分布式节点数超过半数时,才生成分布式锁。
另外,还可以在在同意的分布式节点数超过半数时,进行二次确认,在二次确定时,同意的分布式节点数依旧超过半数时,才生成分布式锁,进一步提高了分布式锁生成的准确性,进一步减少不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,提升服务器的性能。
在上述任一项实施例中,优选地,基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,包括:解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息;当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息;解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息。
在该实施例中,通过解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息,并在当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息,有利于实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,通过解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息,进一步减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
需要说明的是,锁定操作请求信息是某个分布式节点在收到某个共享资源的锁定操作请求时,在该节点根据共享资源标识和按照递增或者其他规律生成的分布式锁的ID值,以及当前的时间作为提案号,再加上该分布式节点的标识,一般为IP,而形成的唯一的具有代表性的标识信息。
在上述任一项实施例中,优选地,一致性算法包括Paxos算法、Lamport算法、Gossip算法。
实施例2
图2示出了根据本发明的一个实施例的分布式锁生成装置200的结构示意图。
如图2所示,根据本发明的实施例的分布式锁生成装置200,包括:获取单元202,用于获取对共享资源的锁定操作请求;生成单元204,用于当共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;发送单元206,用于发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;确定单元208,用于基于一致性算法,根据第一反馈信息,确定是否生成对应的分布式锁,其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号。
在该实施例中,通过获取对共享资源的锁定操作请求,并在共享资源未被锁定时,根据锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点,提高了第一锁定操作请求信息的有效性,减少了因共享资源已经被锁定,而导致的第一锁定操作请求信息无法对应的生成分布式锁现象的发生,节省资源,通过发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息,实现了与其他分布式节点的协商来决定分布式锁的生成,减少了因不同的分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,通过根据第一反馈信息,确定是否生成对应的分布式锁,实现了各个分布式节点自动协商来决定分布式锁的生成,一方面,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了扩展性和实时运行性能,提高了共享资源的利用效率,另一方面,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
其中,第一锁定操作请求信息包括共享资源标识、第一分布式节点标识、提案号,具有唯一性,有利于实现各个分布式节点的自动协商。
在上述实施例中,优选地,还包括:判断单元210,用于第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;生成单元204还用于:若判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息;判断单元210还用于:若判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,生成单元204还用于:若判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;生成单元204还用于:若判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息。
在该实施例中,通过第二分布式节点在接收到第一锁定操作请求信息时,判断是否已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,并在判定未存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成第一反馈信息为同意,并存储第一锁定操作请求信息,在判定已存储与第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断第二锁定操作请求信息的提案号是否大于第一锁定操作请求信息的提案号,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
通过在判定第二锁定操作请求信息的提案号大于第一锁定操作请求信息的提案号,则生成第一反馈信息为拒绝;在判定第二锁定操作请求信息的提案号小于第一锁定操作请求信息的提案号,则生成第一反馈信息为同意以及第二锁定操作请求信息,可以实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
在上述任一项实施例中,优选地,还包括:第一解析单元212,用于解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数;确定单元208还用于:若第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;确定单元208还用于:若第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,其中,第一预设阈值大于分布式节点的数量的一半。
在该实施例中,通过解析第一反馈信息,并统计第一反馈信息为同意的第二分布式节点的个数,在第一反馈信息为同意的第二分布式节点的个数大于第一预设阈值时,则确定生成第一锁定操作请求信息相对应的分布式锁,并清除第一锁定操作请求信息;在第一反馈信息为同意的第二分布式节点的个数小于或等于第一预设阈值时,则确定不生成对应的分布式锁,并清除第一锁定操作请求信息,实现了各个分布式节点自动协商来决定分布式锁的生成,减少了同一分布式节点同时同意多个对同一共享资源的锁定操作请求信息,减少了不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题。
其中,第一预设阈值大于分布式节点的数量的一半,也即在同意的分布式节点数超过半数时,才生成分布式锁。
另外,还可以在在同意的分布式节点数超过半数时,进行二次确认,在二次确定时,同意的分布式节点数依旧超过半数时,才生成分布式锁,进一步提高了分布式锁生成的准确性,进一步减少不同分布式节点同时生成对同一共享资源的分布式锁而导致的冲突、故障等问题,提升服务器的性能。
在上述任一项实施例中,优选地,还包括:第二解析单元214,用于解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息;发送单元206还用于:当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息;第二解析单元214还用于:解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;确定单元208还用于:若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;确定单元208还用于:若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息。
在该实施例中,通过解析第一反馈信息,并确定第一反馈信息是否包含提案号小于第一锁定操作请求信息的第二锁定操作请求信息,并在当确定第一反馈信息包含第二锁定操作请求信息时,发送第二锁定操作请求信息至多个第二分布式节点,并获取对应的第二反馈信息,有利于实现优先生成提案号小,也即提案时间早的锁定操作请求信息对应的分布式锁,通过解析第二反馈信息,并统计第二反馈信息为同意的第二分布式节点的个数;若第二反馈信息为同意的第二分布式节点的个数大于第二预设阈值,则确定在第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息;若第二反馈信息为同意的第二分布式节点的个数小于或等于第二预设阈值,则确定不生成分布式锁,并清除第一锁定操作请求信息和第二锁定操作请求信息,进一步减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
需要说明的是,锁定操作请求信息是某个分布式节点在收到某个共享资源的锁定操作请求时,在该节点根据共享资源标识和按照递增或者其他规律生成的分布式锁的ID值,以及当前的时间作为提案号,再加上该分布式节点的标识,一般为IP,而形成的唯一的具有代表性的标识信息。
在上述任一项实施例中,优选地,一致性算法包括Paxos算法、Lamport算法、Gossip算法。
实施例3
根据本发明的实施例的计算机设备,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的实施例提出的任一项的分布式锁生成方法的步骤。
在该实施例中,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的实施例提出的任一项的分布式锁生成方法的步骤,因此具有上述本发明的实施例提出的任一项的分布式锁生成方法的全部有益效果,在此不再赘述。
实施例4
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述本发明的实施例提出的任一项的分布式锁生成方法的步骤。
在该实施例中,计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述本发明的实施例提出的任一项的分布式锁生成方法的步骤,因此具有上述本发明的实施例提出的任一项的分布式锁生成方法的全部有益效果,在此不再赘述。
实施例5
图3示出了根据本发明的另一个实施例的分布式锁生成方法的流程示意图。
如图3所示,根据本发明的另一个实施例的分布式锁生成方法,包括:步骤S302,任一分布式节点运行中;步骤S304,收到对某个共享资源的锁定操作请求;步骤S306,查看该共享资源是否已被其他程序锁定;如果为是,即该共享资源已被其他程序锁定,则执行步骤S302;如果为否,即该共享资源未被其他程序锁定,则执行步骤S308,启动分布式锁预生成;之后执行步骤S310,与其他分布式节点协商确定是否可以生成该分布式锁;如果为是,则执行步骤S312,生成分布式锁;如果为否,则执行步骤S302,任意分布式节点运行中,各个分布式节点自动协商来决定分布式锁的生成,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
以上结合附图详细说明了本发明的技术方案,本发明提出了一种分布式锁生成方法、装置、计算机设备和可读存储介质,通过发送第一锁定操作请求信息至除第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息,实现各个分布式节点自动协商来决定分布式锁的生成,一方面,减少了因单一的集中式锁故障导致的业务整体瘫痪问题,提高了扩展性和实时运行性能,提高了共享资源的利用效率,另一方面,减少了多个分布式节点的相同锁定操作请求被重复执行的问题,节省了资源,提升了服务器性能。
本发明方法中的步骤可根据实际需要进行顺序调整、合并和删减。
本发明装置中的单元可根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种分布式锁生成方法,其特征在于,包括:
获取对共享资源的锁定操作请求;
当所述共享资源未被锁定时,根据所述锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;
发送所述第一锁定操作请求信息至除所述第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;
基于一致性算法,根据所述第一反馈信息,确定是否生成对应的分布式锁,
其中,所述第一锁定操作请求信息包括共享资源标识、所述第一分布式节点标识、提案号。
2.根据权利要求1所述的分布式锁生成方法,其特征在于,还包括:
所述第二分布式节点在接收到所述第一锁定操作请求信息时,判断是否已存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;
若判定未存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成所述第一反馈信息为同意,并存储所述第一锁定操作请求信息;
若判定已存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断所述第二锁定操作请求信息的提案号是否大于所述第一锁定操作请求信息的提案号,
若判定所述第二锁定操作请求信息的提案号大于所述第一锁定操作请求信息的提案号,则生成所述第一反馈信息为拒绝;
若判定所述第二锁定操作请求信息的提案号小于所述第一锁定操作请求信息的提案号,则生成所述第一反馈信息为同意以及所述第二锁定操作请求信息。
3.根据权利要求1或2所述的分布式锁生成方法,其特征在于,所述基于一致性算法,根据所述第一反馈信息,确定是否生成对应的分布式锁,包括:
解析所述第一反馈信息,并统计所述第一反馈信息为同意的所述第二分布式节点的个数;
若所述第一反馈信息为同意的所述第二分布式节点的个数大于第一预设阈值,则确定生成所述第一锁定操作请求信息相对应的分布式锁,并清除所述第一锁定操作请求信息;
若所述第一反馈信息为同意的所述第二分布式节点的个数小于或等于所述第一预设阈值,则确定不生成对应的分布式锁,并清除所述第一锁定操作请求信息,
其中,所述第一预设阈值大于分布式节点的数量的一半。
4.根据权利要求1或2所述的分布式锁生成方法,其特征在于,所述基于一致性算法,根据所述第一反馈信息,确定是否生成对应的分布式锁,包括:
解析所述第一反馈信息,并确定所述第一反馈信息是否包含提案号小于所述第一锁定操作请求信息的第二锁定操作请求信息;
当确定所述第一反馈信息包含所述第二锁定操作请求信息时,发送所述第二锁定操作请求信息至所述多个第二分布式节点,并获取对应的第二反馈信息;
解析所述第二反馈信息,并统计所述第二反馈信息为同意的所述第二分布式节点的个数;
若所述第二反馈信息为同意的所述第二分布式节点的个数大于第二预设阈值,则确定在所述第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除所述第一锁定操作请求信息和所述第二锁定操作请求信息;
若所述第二反馈信息为同意的所述第二分布式节点的个数小于或等于所述第二预设阈值,则确定不生成分布式锁,并清除所述第一锁定操作请求信息和所述第二锁定操作请求信息。
5.根据权利要求1至4中任一项所述的分布式锁生成方法,其特征在于,
所述一致性算法包括Paxos算法、Lamport算法、Gossip算法。
6.一种分布式锁生成装置,其特征在于,包括:
获取单元,用于获取对共享资源的锁定操作请求;
生成单元,用于当所述共享资源未被锁定时,根据所述锁定操作请求,生成第一锁定操作请求信息,并存储于对应的第一分布式节点;
发送单元,用于发送所述第一锁定操作请求信息至除所述第一分布式节点外的多个第二分布式节点并获取对应的第一反馈信息;
确定单元,用于基于一致性算法,根据所述第一反馈信息,确定是否生成对应的分布式锁,
其中,所述第一锁定操作请求信息包括共享资源标识、所述第一分布式节点标识、提案号。
7.根据权利要求6所述的分布式锁生成装置,其特征在于,还包括:
判断单元,用于所述第二分布式节点在接收到所述第一锁定操作请求信息时,判断是否已存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息;
所述生成单元还用于:若判定未存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则生成所述第一反馈信息为同意,并存储所述第一锁定操作请求信息;
所述判断单元还用于:若判定已存储与所述第一锁定操作请求信息中的共享资源标识相同的第二锁定操作请求信息,则判断所述第二锁定操作请求信息的提案号是否大于所述第一锁定操作请求信息的提案号,
所述生成单元还用于:若判定所述第二锁定操作请求信息的提案号大于所述第一锁定操作请求信息的提案号,则生成所述第一反馈信息为拒绝;
所述生成单元还用于:若判定所述第二锁定操作请求信息的提案号小于所述第一锁定操作请求信息的提案号,则生成所述第一反馈信息为同意以及所述第二锁定操作请求信息。
8.根据权利要求6或7所述的分布式锁生成装置,其特征在于,还包括:
第一解析单元,用于解析所述第一反馈信息,并统计所述第一反馈信息为同意的所述第二分布式节点的个数;
所述确定单元还用于:若所述第一反馈信息为同意的所述第二分布式节点的个数大于第一预设阈值,则确定生成所述第一锁定操作请求信息相对应的分布式锁,并清除所述第一锁定操作请求信息;
所述确定单元还用于:若所述第一反馈信息为同意的所述第二分布式节点的个数小于或等于所述第一预设阈值,则确定不生成对应的分布式锁,并清除所述第一锁定操作请求信息,
其中,所述第一预设阈值大于分布式节点的数量的一半。
9.根据权利要求6或7所述的分布式锁生成装置,其特征在于,还包括:
第二解析单元,用于解析所述第一反馈信息,并确定所述第一反馈信息是否包含提案号小于所述第一锁定操作请求信息的第二锁定操作请求信息;
所述发送单元还用于:当确定所述第一反馈信息包含所述第二锁定操作请求信息时,发送所述第二锁定操作请求信息至所述多个第二分布式节点,并获取对应的第二反馈信息;
所述第二解析单元还用于:解析所述第二反馈信息,并统计所述第二反馈信息为同意的所述第二分布式节点的个数;
所述确定单元还用于:若所述第二反馈信息为同意的所述第二分布式节点的个数大于第二预设阈值,则确定在所述第二锁定操作请求信息对应的分布式节点处生成相对应的分布式锁,并清除所述第一锁定操作请求信息和所述第二锁定操作请求信息;
所述确定单元还用于:若所述第二反馈信息为同意的所述第二分布式节点的个数小于或等于所述第二预设阈值,则确定不生成分布式锁,并清除所述第一锁定操作请求信息和所述第二锁定操作请求信息。
10.根据权利要求6至9中任一项所述的分布式锁生成装置,其特征在于,
所述一致性算法包括Paxos算法、Lamport算法、Gossip算法。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任一项所述的分布式锁生成方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的分布式锁生成方法的步骤。
CN201711289119.5A 2017-09-30 2017-12-07 分布式锁生成方法、装置、计算机设备和可读存储介质 Pending CN108038004A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2017109154780 2017-09-30
CN201710915478 2017-09-30

Publications (1)

Publication Number Publication Date
CN108038004A true CN108038004A (zh) 2018-05-15

Family

ID=62096012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711289119.5A Pending CN108038004A (zh) 2017-09-30 2017-12-07 分布式锁生成方法、装置、计算机设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN108038004A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381124A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 一种锁资源的申请方法及装置
CN114363883A (zh) * 2022-01-19 2022-04-15 东方通信股份有限公司 一种漫游号功能分布式部署系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103067471A (zh) * 2012-12-24 2013-04-24 北京华科力扬科技有限公司 一种分布式存储的数据获取方法
CN103370706A (zh) * 2010-12-16 2013-10-23 迈德安全网络有限公司 分布式文件系统
US8654650B1 (en) * 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
CN104657260A (zh) * 2013-11-25 2015-05-27 航天信息股份有限公司 控制分布式节点间访问共享资源的分布式锁的实现方法
CN105608165A (zh) * 2015-12-21 2016-05-25 用友网络科技股份有限公司 一种分布式数据库主键生成的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654650B1 (en) * 2010-04-30 2014-02-18 Amazon Technologies, Inc. System and method for determining node staleness in a distributed system
CN103370706A (zh) * 2010-12-16 2013-10-23 迈德安全网络有限公司 分布式文件系统
CN103067471A (zh) * 2012-12-24 2013-04-24 北京华科力扬科技有限公司 一种分布式存储的数据获取方法
CN104657260A (zh) * 2013-11-25 2015-05-27 航天信息股份有限公司 控制分布式节点间访问共享资源的分布式锁的实现方法
CN105608165A (zh) * 2015-12-21 2016-05-25 用友网络科技股份有限公司 一种分布式数据库主键生成的方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381124A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 一种锁资源的申请方法及装置
CN114363883A (zh) * 2022-01-19 2022-04-15 东方通信股份有限公司 一种漫游号功能分布式部署系统
CN114363883B (zh) * 2022-01-19 2023-07-25 东方通信股份有限公司 一种漫游号功能分布式部署系统

Similar Documents

Publication Publication Date Title
JP4768081B2 (ja) 通信スレッド追跡による未請求インスタント・メッセージの低減
WO2017173099A1 (en) Methods and apparatus for assessing authentication risk and implementing single sign on (sso) using a distributed consensus database
EP1422904B1 (en) Method and systems for sharing a network resource with a user without current access
US8813185B2 (en) Ad-hoc user account creation
CN108494703A (zh) 一种访问频率控制方法、装置及存储介质
US20080072283A1 (en) Methods, apparatus and systems for time-based function back-off
CN110381078A (zh) 令牌续期的确定方法、装置、电子设备及存储介质
US20100093443A1 (en) Method, system for controlling service access and server
JP2012512450A (ja) あるユーザに成り代わるための方法およびシステム
CN104639650B (zh) 一种细粒度分布式接口访问控制方法及装置
JP2008526173A (ja) 情報セキュリティの認証方法及びシステム
KR102337760B1 (ko) 심층강화학습 기반 적응적 샤드 블록체인 네트워크 관리 장치 및 방법
JP2006244473A (ja) 単一ユーザパラダイムにおける複数の識別標識、識別機構、および識別提供者を統合する方法およびシステム
KR20080100356A (ko) Xml 문서 관리 방법 및 시스템
US20200301894A1 (en) Decentralized identifier management via blockchains
JP4638691B2 (ja) 共通の識別子の自動割り当て方法およびネットワークにおける第1ノードであるデバイス
CN108038004A (zh) 分布式锁生成方法、装置、计算机设备和可读存储介质
US9754209B1 (en) Managing knowledge-based authentication systems
CN110585722A (zh) 基于区块链的游戏时间信息的处理方法及装置、游戏控制方法及装置
CN113067802B (zh) 一种用户标识方法、装置、设备及计算机可读存储介质
Faiella et al. Collaborative attribute retrieval in environment with faulty attribute managers
CN111885057B (zh) 消息中间件访问方法、装置、设备及存储介质
CN111291357B (zh) 终端接入验证方法、装置及计算机设备
CN100407202C (zh) 文件管理服务或验证服务的器件和方法
CN110049051A (zh) 请求的验证方法、装置、存储介质及联盟链验证系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180515

RJ01 Rejection of invention patent application after publication