CN113239059A - 一种分布式锁的切换方法、装置、服务器和存储介质 - Google Patents

一种分布式锁的切换方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN113239059A
CN113239059A CN202110593237.5A CN202110593237A CN113239059A CN 113239059 A CN113239059 A CN 113239059A CN 202110593237 A CN202110593237 A CN 202110593237A CN 113239059 A CN113239059 A CN 113239059A
Authority
CN
China
Prior art keywords
application server
distributed lock
time
current application
switching
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.)
Granted
Application number
CN202110593237.5A
Other languages
English (en)
Other versions
CN113239059B (zh
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110593237.5A priority Critical patent/CN113239059B/zh
Publication of CN113239059A publication Critical patent/CN113239059A/zh
Application granted granted Critical
Publication of CN113239059B publication Critical patent/CN113239059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开关于一种分布式锁的切换方法、装置、服务器和存储介质,涉及数据处理技术领域,以至少解决相关技术中对于某些场景下的非显著故障,例如网络处理变慢、进程响应时间较长等场景,binlog消费组中的运行实例并不会释放分布式锁,会导致大量的binlog堆积,从而影响数据同步的时效性,对于某些对数据延时有较高要求的业务场景,用户的使用体验会受到很大的影响的问题。该方法包括:获取当前应用服务器对应的运行实例在预设时间段内的运行数据;在运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。

Description

一种分布式锁的切换方法、装置、服务器和存储介质
技术领域
本公开涉及数据处理技术领域,尤其涉及一种分布式锁的切换方法、装置、服务器和存储介质。
背景技术
目前,同一个binlog消费组内可以同时启动多个运行实例,但是在使用过程中只有一个运行实例可以获得分布式锁并执行消费binlog等相关的处理操作。当该运行实例发生严重故障时,该运行实例会释放分布式锁,同时另外一个运行实例可以自动获得该分布式锁并继续消费binlog,从而实现该binlog消费组内运行实例自动切换。
但是,对于某些场景下的非显著故障,例如网络处理变慢、进程响应时间较长等场景,binlog消费组中的运行实例并不会释放分布式锁,会导致大量的binlog堆积,从而影响数据同步的时效性,对于某些对数据延时有较高要求的业务场景,用户的使用体验会受到很大的影响。
发明内容
本公开提供一种分布式锁的切换方法、装置、服务器和存储介质,以至少解决相关技术中对于某些场景下的非显著故障,例如网络处理变慢、进程响应时间较长等场景,binlog消费组中的运行实例并不会释放分布式锁,会导致大量的binlog堆积,从而影响数据同步的时效性,对于某些对数据延时有较高要求的业务场景,用户的使用体验会受到很大的影响的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种分布式锁的切换方法,包括:获取当前应用服务器对应的运行实例在预设时间段内的运行数据;其中,当前应用服务器对应一个分组,分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,运行数据包括至少一个订阅日志操作的操作时间;在运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。
在一种可实施的方式中,本公开实施例提供的分布式锁的切换方法还包括:确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数;在此情况下,上述“运行数据满足预设条件”具体可通过下述步骤实现:在次数大于或等于次数阈值的情况下,确定满足预设条件。
在一种可实施的方式中,运行数据还包括当前应用服务器获得分布式锁的累计时长,本公开实施例提供的分布式锁的切换方法还包括:确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数;在此情况下,上述“运行数据满足预设条件”具体可通过下述步骤实现:在次数大于或等于次数阈值,并且累计时长大于或等于时长阈值的情况下,确定满足预设条件。
在一种可实施的方式中,上述“确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数”具体可通过下述步骤实现:确定运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数。
在一种可实施的方式中,上述“确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数”具体可通过下述步骤实现:确定运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数。
根据本公开实施例的第二方面,提供一种分布式锁的切换装置,包括:获取单元和处理单元。
获取单元,被配置为获取当前应用服务器对应的运行实例在预设时间段内的运行数据;其中,当前应用服务器对应一个分组,分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,运行数据包括至少一个订阅日志操作的操作时间。处理单元,被配置为在获取单元获取的运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。
在一种可实施的方式中,处理单元,还被配置为确定获取单元获取的运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。处理单元,具体被配置为在次数大于或等于次数阈值的情况下,确定满足预设条件。
在一种可实施的方式中,运行数据还包括当前应用服务器获得分布式锁的累计时长;处理单元,还被配置为确定获取单元获取的运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。处理单元,具体被配置为在次数大于或等于次数阈值,并且获取单元获取的累计时长大于或等于时长阈值的情况下,确定满足预设条件。
在一种可实施的方式中,处理单元,具体被配置为确定运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数。
在一种可实施的方式中,处理单元,具体被配置为确定运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现第一方面提供的分布式锁的切换方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当存储介质中的指令由第三方面提供的服务器的处理器执行时,使得服务器能够执行第一方面提供的分布式锁的切换方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令在计算机上运行时,使得计算机执行如第一方面的设计方式的分布式锁的切换方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
由上述可知,本公开实施例提供的分布式锁的切换方法,通过获取当前应用服务器对应的运行实例在预设时间段内的运行数据,如:当前应用服务器对应的运行实例的至少一个订阅日志操作(如:订阅binlog)的操作时间,从而可以判别当前应用服务器是否处于某些场景下的非显著故障中。进一步地,当运行数据满足预设条件的情况下(如:运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数大于或等于次数阈值),说明当前应用服务器处于某些场景下的非显著故障中,存在无法及时消费binlog的风险,进而导致在当前应用服务器堆积大量的binlog,影响数据同步的时效性。因此,通过释放当前应用服务器的释放分布式锁,从而消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例,在及时消费binlog的同时保证了数据同步的时效性。解决了相关技术中对于某些场景下的非显著故障,例如网络处理变慢、进程响应时间较长等场景,binlog消费组中的运行实例并不会释放分布式锁,会导致大量的binlog堆积,从而影响数据同步的时效性,对于某些对数据延时有较高要求的业务场景,用户的使用体验会受到很大的影响的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实施环境的架构图。
图2是根据一示例性实施例示出的一种分布式锁的切换方法的流程图之一。
图3是根据一示例性实施例示出的一种分布式锁的切换方法的流程图之二。
图4是根据一示例性实施例示出的一种分布式锁的切换方法的流程图之三。
图5是根据一示例性实施例示出的一种分布式锁的切换方法的流程图之四。
图6是根据一示例性实施例示出的一种分布式锁的切换方法的流程图之五。
图7是根据一示例性实施例示出的一种分布式锁的切换装置的结构示意图之一。
图8是根据一示例性实施例示出的一种分布式锁的切换装置的结构示意图之二。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种实施环境的架构图,如图1所示,下述分布式锁的切换方法可以应用于该实施环境中。该实施环境包括主服务器01和至少两个应用服务器。其中,每个应用服务器通过消费主要服务器01的关系型数据库管理系统MySQL的binlog,从而获取该主服务器01中最新的数据变更信息,并执行相关的处理操作,如刷新本地缓存,发送异步信息等。
具体的,每个应用服务器只能消费一个主用服务器的MySQL的binlog。
需要说明的是,在实际的应用中,该至少一个应用服务器对应一个消费组,该消费组内的每个应用服务器对应一个应用服务器,每个应用服务器运行一个实例,但是在使用过程中只有一个运行实例可以获得分布式锁并执行消费binlog等相关的处理操作。
本公开的实施例中的分布式锁的切换装置可以是图1中示出的任一应用服务器,也可以是管理该任一应用服务器的服务器03。例如服务器03中的芯片系统。该芯片系统用于支持服务器03实现第一方面及其任意一种可能的实现方式中所涉及的功能。例如,获取当前应用服务器对应的运行实例在预设时间段内的运行数据;在运行数据满足预设条件的情况下,释放分布式锁,以便消费组内除当前运行实例对应应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
在本公开中所用的一些术语具有其在业界普通和习惯的意义。另外,对一些术语在本说明书中出现时会加以解释。但理解在本文中特别使用的几个术语会有所帮助。
binlog作为MySQL的变更记录日志,记录了MySQL中所有表的增量日志。
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调它们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。分布式锁通过锁机制来让多客户端互斥的对共享资源进行访问。
由于现有技术中,在某些场景下的非显著故障,例如网络处理变慢、进程响应时间较长等场景,binlog消费组中的运行实例并不会释放分布式锁,由于其它的运行实例无法及时获取到该分布式锁,导致无法及时地获取数据变更信息,影响用户的体验。为解决上述问题,本公开实施例提供的分布式锁的切换方法,通过获取当前应用服务器对应的运行实例在预设时间段内的运行数据,从而可以准确地了解当前应用服务器对应的运行实例的至少一个消费操作的消费时间和/或当前应用服务器获得分布式锁的累计时长。进一步地,当运行数据满足预设条件的情况下,通过释放当前应用服务器的释放分布式锁,从而消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例,在及时消费binlog的同时保证了数据同步的时效性。具体的,实现过程如下:
图2是根据一示例性实施例示出的一种分布式锁的切换方法的流程图,如图2所示,分布式锁的切换方法用于服务器中,该方法包括以下S11和S12。
S11、服务器获取当前应用服务器对应的运行实例在预设时间段内的运行数据。其中,当前应用服务器对应一个分组,分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,运行数据包括至少一个订阅日志操作的操作时间。
具体的,清月日志操作的操作时间至少包括调用资源占用的时间,以及基于该日志进行相应操作的时间。示例性的,订阅日志操作可以为订阅binlog。
S12、服务器在运行数据满足预设条件的情况下,释放分布式锁,以便消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例。
由上述可知,本公开实施例提供的分布式锁的切换方法,通过获取当前应用服务器对应的运行实例在预设时间段内的运行数据,从而可以准确地了解当前应用服务器对应的运行实例的至少一个订阅日志操作的操作时间。进一步地,当运行数据满足预设条件的情况下(如:确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数大于或等于次数阈值),说明当前应用服务器存在无法及时消费binlog的风险,进而导致在当前应用服务器堆积大量的binlog,影响数据同步的时效性。因此,通过释放当前应用服务器的分布式锁,从而消费组内除当前应用服务器以外的任一应用服务器可以获得分布式锁,并在该任一应用服务器执行binlog消费作业,通过及时消费binlog保证了数据同步的时效性。
在一种可实施的方式中,结合图2,如图3所示,本公开实施例提供的分布式锁的切换方法还包括:S13;在此情况下,上述S12具体可以通过下述S120实现。
S13、服务器确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。
在一种可实现的方式中,指定条件为运行数据中至少一个订阅日志操作的操作时间大于时间阈值。
在另一种可实现的方式中,指定条件为运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值。
S120、服务器在次数大于或等于次数阈值的情况下,确定满足预设条件,并释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。
由上述可知,本公开实施例提供的分布式锁的切换方法,通过确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数,从而可以确定当前应用服务器的实际运行状态。当确定次数大于或等于次数阈值,此时说明当前应用服务器存在无法及时消费binlog的风险,进而导致在当前应用服务器堆积大量的binlog,影响数据同步的时效性。因此,在确定次数大于或等于次数阈值的情况下,通过释放当前应用服务器的释放分布式锁,从而消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例,在及时消费binlog的同时保证了数据同步的时效性。
在一种可实施的方式中,运行数据还包括当前应用服务器获得分布式锁的累计时长,结合图2,如图4所示,本公开实施例提供的分布式锁的切换方法还包括:S13;在此情况下,上述S12具体可以通过下述S121实现。
S13、服务器确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。
具体的,累计时长等于该当前应用服务器获得该分布式锁的时间与当前时间的差值。
S121、服务器在次数大于或等于次数阈值,并且累计时长大于或等于时长阈值的情况下,确定满足预设条件,并释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。
由上述可知,本公开实施例提供的分布式锁的切换方法,通过确定运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数以及当前应用服务器获得分布式锁的累计时长,可以更加全面地反映出当前为了更加全面地分析当前应用服务器的运行状态,进而根据该次数和累计时长可以更加准确地确定是否需要释放分布式锁,从而避免当前应用服务器堆积大量的binlog,影响数据同步的时效性。
在一种可实施的方式中,结合图3,如图5所示,上述S13具体可以通过下述S130实现。
S130、服务器确定运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数。
由上述可知,当服务器确定运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数大于或等于次数阈值,说明当前应用服务器在执行消费操作时存在异常,为了保证用户的体验,此时通过释放当前应用服务器的分布式锁,并由消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例,从而避免堆积大量的binlog堆积,影响数据同步的时效性。
在一种可实施的方式中,结合图3,如图6所示,上述S13具体可以通过下述S131实现。
S131、服务器确定运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数。
由上述可知,当服务器确定运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数大于或等于次数阈值,说明当前应用服务器可能存在非显著故障,为了保证用户的体验,此时通过释放当前应用服务器的分布式锁,并由消费组内除当前应用服务器以外的任一应用服务器获得分布式锁,并运行任一应用服务器对应的运行实例,从而避免当前应用服务器堆积大量的binlog,影响数据同步的时效性。
图7是根据一示例性实施例示出的一种分布式锁的切换装置10。参照图7,包括获取单元101和处理单元102。
获取单元101,被配置为获取当前应用服务器对应的运行实例在预设时间段内的运行数据;其中,当前应用服务器对应一个分组,分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,运行数据包括至少一个订阅日志操作的操作时间。处理单元102,被配置为在获取单元101获取的运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便分组内除当前应用服务器以外的任一应用服务器获得分布式锁的执行权,并运行任一应用服务器对应的运行实例。
在一种可实施的方式中,处理单元102,还被配置为确定获取单元101获取的运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。处理单元102,具体被配置为在次数大于或等于次数阈值的情况下,确定满足预设条件。
在一种可实施的方式中,运行数据还包括当前应用服务器获得分布式锁的累计时长;处理单元102,还被配置为确定获取单元101获取的运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数。处理单元102,具体被配置为在次数大于或等于次数阈值,并且获取单元101获取的累计时长大于或等于时长阈值的情况下,确定满足预设条件。
在一种可实施的方式中,处理单元102,具体被配置为确定运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数。
在一种可实施的方式中,处理单元102,具体被配置为确定运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数。
当然,本公开的实施例提供的分布式锁的切换装置10包括但不限于上述模块,例如分布式锁的切换装置10还可以包括存储单元103。存储单元103可以用于存储该写分布式锁的切换装置10的程序代码,还可以用于存储写分布式锁的切换装置10在运行过程中生成的数据,如写请求中的数据等。
另外,上述实施例提供的分布式锁的切换装置10在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将分布式锁的切换装置10的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图8为本发明实施例提供的一种分布式锁的切换装置10的结构示意图,如图8所示,该分布式锁的切换装置10可以包括:至少一个处理器51、存储器52、通信接口53和通信总线54。
下面结合图8对分布式锁的切换装置10的各个构成部件进行具体的介绍:
其中,处理器51是分布式锁的切换装置10的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器51是一个中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个DSP,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
在具体的实现中,作为一种实施例,处理器51可以包括一个或多个CPU,例如图8中所示的CPU0和CPU1。且,作为一种实施例,分布式锁的切换装置10可以包括多个处理器,例如图8中所示的处理器51和处理器55。这些处理器中的每一个可以是一个单核处理器(Single-CPU),也可以是一个多核处理器(Multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器52可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器52可以是独立存在,通过通信总线54与处理器51相连接。存储器52也可以和处理器51集成在一起。
在具体的实现中,存储器52,用于存储本发明中的数据和执行本发明的软件程序。处理器51可以通过运行或执行存储在存储器52内的软件程序,以及调用存储在存储器52内的数据,执行空调器的各种功能。
通信接口53,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)、终端、云端等。通信接口53可以包括获取单元实现接收和发送功能。
通信总线54,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
作为一个示例,结合图7,分布式锁的切换装置10中的获取单元101实现的功能与图8中的通信接口53的功能相同,处理单元102实现的功能与图8中的处理器51的功能相同,存储单元103实现的功能与图8中的存储器52的功能相同。
本发明另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法。
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
在示例性实施例中,本公开实施例还提供了一种包括指令的存储介质,例如包括指令的存储器102,上述指令可由分布式锁的切换装置10的处理器101执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本公开实施例还提供了一种包括一条或多条指令的计算机程序产品,该一条或多条指令可以由分布式锁的切换装置10的处理器101执行以完成上述方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本公开的实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种分布式锁的切换方法,其特征在于,包括:
获取当前应用服务器对应的运行实例在预设时间段内的运行数据;其中,所述当前应用服务器对应一个分组,所述分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,所述运行数据包括至少一个订阅日志操作的操作时间;
在所述运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便所述分组内除所述当前应用服务器以外的任一应用服务器获得所述分布式锁的执行权,并运行所述任一应用服务器对应的运行实例。
2.根据权利要求1所述的分布式锁的切换方法,其特征在于,所述分布式锁的切换方法还包括:
确定所述运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数;
所述运行数据满足预设条件,包括:
在所述次数大于或等于次数阈值的情况下,确定满足所述预设条件。
3.根据权利要求1所述的分布式锁的切换方法,其特征在于,所述运行数据还包括所述当前应用服务器获得所述分布式锁的累计时长;
所述方法还包括:
确定所述运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数;
所述运行数据满足预设条件,包括:
在所述次数大于或等于次数阈值,并且所述累计时长大于或等于时长阈值的情况下,确定满足预设条件。
4.根据权利要求2或3所述的分布式锁的切换方法,其特征在于,所述确定所述运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数,包括:
确定所述运行数据中至少一个订阅日志操作的操作时间大于时间阈值的次数。
5.根据权利要求2或3所述的分布式锁的切换方法,其特征在于,所述确定所述运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数,包括:
确定所述运行数据中至少一个订阅日志操作的操作时间连续大于时间阈值的次数。
6.一种分布式锁的切换装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,被配置为获取当前应用服务器对应的运行实例在预设时间段内的运行数据;其中,所述当前应用服务器对应一个分组,所述分组中包括至少两个应用服务器,每个应用服务器对应一个运行实例,所述运行数据包括至少一个订阅日志操作的操作时间;
所述处理单元,被配置为在所述获取单元获取的所述运行数据满足预设条件的情况下,释放当前应用服务器对应的分布式锁,以便所述分组内除所述当前应用服务器以外的任一应用服务器获得所述分布式锁的执行权,并运行所述任一应用服务器对应的运行实例。
7.根据权利要求6所述的分布式锁的切换装置,其特征在于,所述处理单元,还被配置为确定所述获取单元获取的所述运行数据中至少一个订阅日志操作的操作时间满足指定条件的次数;
所述处理单元,具体被配置为在所述次数大于或等于次数阈值的情况下,确定满足所述预设条件。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至5中任一项所述的分布式锁的切换方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至5中任一项所述的分布式锁的切换方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的分布式锁的切换方法。
CN202110593237.5A 2021-05-28 2021-05-28 一种分布式锁的切换方法、装置、服务器和存储介质 Active CN113239059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110593237.5A CN113239059B (zh) 2021-05-28 2021-05-28 一种分布式锁的切换方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110593237.5A CN113239059B (zh) 2021-05-28 2021-05-28 一种分布式锁的切换方法、装置、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN113239059A true CN113239059A (zh) 2021-08-10
CN113239059B CN113239059B (zh) 2024-05-14

Family

ID=77135610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110593237.5A Active CN113239059B (zh) 2021-05-28 2021-05-28 一种分布式锁的切换方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN113239059B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608831A (zh) * 2023-11-22 2024-02-27 杭州玖青数字科技有限公司 分布式数据交换系统的作业管理方法、装置及服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506598A (ja) * 2001-03-07 2005-03-03 オラクル・インターナショナル・コーポレイション 分散共有ディスクシステムにおけるディスク書込
CN105100280A (zh) * 2015-08-31 2015-11-25 广州酷狗计算机科技有限公司 任务分配方法和装置
CN105187148A (zh) * 2015-08-17 2015-12-23 武汉理工大学 一种基于arm的网络时钟同步系统及方法
CN110231979A (zh) * 2019-05-07 2019-09-13 深圳壹账通智能科技有限公司 基于区块链的事务处理方法、装置、设备及存储介质
CN111611097A (zh) * 2020-05-13 2020-09-01 中国移动通信集团江苏有限公司 故障检测方法、装置、设备及存储介质
CN112565467A (zh) * 2021-02-22 2021-03-26 常州微亿智造科技有限公司 业务处理方法、装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506598A (ja) * 2001-03-07 2005-03-03 オラクル・インターナショナル・コーポレイション 分散共有ディスクシステムにおけるディスク書込
CN105187148A (zh) * 2015-08-17 2015-12-23 武汉理工大学 一种基于arm的网络时钟同步系统及方法
CN105100280A (zh) * 2015-08-31 2015-11-25 广州酷狗计算机科技有限公司 任务分配方法和装置
CN110231979A (zh) * 2019-05-07 2019-09-13 深圳壹账通智能科技有限公司 基于区块链的事务处理方法、装置、设备及存储介质
CN111611097A (zh) * 2020-05-13 2020-09-01 中国移动通信集团江苏有限公司 故障检测方法、装置、设备及存储介质
CN112565467A (zh) * 2021-02-22 2021-03-26 常州微亿智造科技有限公司 业务处理方法、装置和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608831A (zh) * 2023-11-22 2024-02-27 杭州玖青数字科技有限公司 分布式数据交换系统的作业管理方法、装置及服务器

Also Published As

Publication number Publication date
CN113239059B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US9569513B1 (en) Conditional master election in distributed databases
US9906589B2 (en) Shared management service
CN108897628B (zh) 一种分布式锁的实现方法、装置及电子设备
US10235047B2 (en) Memory management method, apparatus, and system
CN111917846A (zh) 一种Kafka集群切换方法、装置、系统、电子设备及可读存储介质
CN103458036A (zh) 一种集群文件系统的访问装置和方法
US9143394B2 (en) System and method for graph based K-redundant resiliency for IT cloud
CN107566214B (zh) 一种性能测试方法和装置
CN111049928A (zh) 数据同步方法、系统、电子设备及计算机可读存储介质
CN111880956A (zh) 一种数据同步方法和装置
US20030014507A1 (en) Method and system for providing performance analysis for clusters
CN111552701B (zh) 确定分布式集群中数据一致性的方法及分布式数据系统
CN112749178A (zh) 一种保证数据一致性的方法及相关设备
CN105302489A (zh) 一种异构多核远程嵌入式存储器系统与方法
CN113239059B (zh) 一种分布式锁的切换方法、装置、服务器和存储介质
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN114844809A (zh) 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置
US9311379B2 (en) Utilization of data structures to synchronize copies of a resource
CN112565327A (zh) 访问流量转发方法、集群管理方法及相关装置
CN114238518A (zh) 数据处理方法、装置、设备及存储介质
CN112631756A (zh) 一种应用于航天测控软件的分布式调控方法及装置
CN111400241A (zh) 数据重构方法和装置
CN110309224B (zh) 一种数据复制方法及装置
CN110659303A (zh) 一种数据库节点的读写控制方法及装置
CN116974983A (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
GR01 Patent grant
GR01 Patent grant