CN112463419B - 基于中间件的主备节点工作方法及装置、电子设备 - Google Patents
基于中间件的主备节点工作方法及装置、电子设备 Download PDFInfo
- Publication number
- CN112463419B CN112463419B CN202110100485.1A CN202110100485A CN112463419B CN 112463419 B CN112463419 B CN 112463419B CN 202110100485 A CN202110100485 A CN 202110100485A CN 112463419 B CN112463419 B CN 112463419B
- Authority
- CN
- China
- Prior art keywords
- node
- middleware
- atomic lock
- main
- current
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000000725 suspension Substances 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011017 operating method Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种基于中间件的主备节点工作方法及装置、电子设备,该方法由服务节点执行,该方法包括:调用中间件发起服务注册;执行中间件的原子锁的获取操作;当获取到原子锁时,确定当前节点为主节点;若当前节点为主节点,则生成主节点指示信号并外发。本申请提供的技术方案避免了多节点运行模式带来的节点之间数据争抢和竞争问题,降低系统节点部署的运维成本。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于中间件的主备节点工作方法及装置、电子设备、计算机可读存储介质。
背景技术
服务以多个节点的方式部署运行,可保证系统的可用性,但多节点运行模式会带来多个节点之间争抢数据、同时处理相同数据问题,即数据竞争问题。
为同时解决可用性问题以及数据竞争等问题,主流解决方案是需要引入ETCD或Zookeeper等开源中间件,但这类中间件均需要多节点部署,增加了系统的复杂性和部署运维成本。
发明内容
本申请实施例提供一种基于中间件的主备节点工作方法,用以解决多个节点之间争抢数据,产生数据竞争问题。
本申请实施例第一方面提供了一种基于中间件的主备节点工作方法,所述方法由服务节点执行,所述方法包括:
调用中间件发起服务注册;
执行所述中间件的原子锁的获取操作;
当获取到所述原子锁时,确定当前节点为主节点;
若当前节点为主节点,则生成主节点指示信号并外发。
在一实施例中,所述调用中间件发起服务注册,包括:
获取当前节点的节点标识,在所述中间件存储所述节点标识。
在一实施例中,当获取到所述原子锁时,确定当前节点为主节点之后,所述方法还包括:
启动单独线程,并对所述单独线程执行挂起操作,经过预设时间后,对所述原子锁执行过期时间更新操作,其中,所述预设时间小于所述原子锁的过期时间;
检查当前原子锁的所有者是否为自身,若不是,生成主节点停止信号并外发。
在一实施例中,对所述原子锁执行过期时间更新操作,包括:
将所述原子锁的过期时间更新为新一轮的原子锁时间。
在一实施例中,所述执行所述中间件的原子锁的获取操作之后,所述方法还包括:
当获取不到所述原子锁时,确定当前节点为备节点。
在一实施例中,所述执行所述中间件的原子锁的获取操作之后,所述方法还包括:
若当前节点为备节点,启动单独线程,挂起预设时间;
挂起结束后,再次执行所述原子锁的获取操作。
本申请实施例第二方面提供一种基于中间件的主备节点工作装置,包括:
调用模块,用于调用中间件发起服务注册;
执行模块,用于执行所述中间件的原子锁的获取操作;
获取模块,用于获取到所述原子锁时,确定当前节点为主节点。
在一实施例中,上述基于中间件的主备节点工作装置还包括:
存储模块,用于获取当前节点的节点标识,在所述中间件存储所述节点标识。
本申请实施例第三方面提供一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行本申请实施例第一方面及其任一项实施例的基于中间件的主备节点工作方法。
本申请实施例第四方面提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述所述的基于中间件的主备节点工作方法。
本申请上述实施例提供的技术方案中多个节点同时启动,使用中间件,保证选择主节点操作的原子性;其次,业务服务可以同时运行多个主备模式进程/线程,互不影响冲突,避免了多节点运行模式带来的节点之间数据争抢和竞争问题,降低系统节点部署的运维成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备的结构示意图;
图2为本申请实施例提供的基于中间件的主备节点工作方法的原理示意图;
图3为本申请实施例提供的基于中间件的主备节点工作方法的流程示意图;
图4为图3对应实施例中步骤S220的细节流程图;
图5为图3对应实施例中步骤S230的细节流程图;
图6为本申请实施例提供的一种基于中间件的主备节点工作装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,其为本申请实施例提供的电子设备100的结构示意图。该电子设备100包括:一个或多个处理器120、一个或多个存储处理器120可执行指令的存储器104。其中,所述处理器120被配置为执行本申请下述实施例提供的基于中间件的主备节点工作方法。
所述处理器120可以是网关,也可以为智能终端,或者是包含中央处理单元(CPU)、图像处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备100中的其它组件的数据进行处理,还可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器120可以运行所述程序指令,以实现下文所述的基于中间件的主备节点工作方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
在一实施例中,图1所示电子设备100还可以包括输入装置106、输出装置108以及数据采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备100也可以具有其他组件和结构。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置110可以采集对象的图像,并且将所采集的图像存储在所述存储器104中以供其它组件使用。示例性地,该数据采集装置110可以为摄像头。
在一实施例中,用于实现本申请实施例的基于中间件的主备节点工作方法的示例电子设备100中的各器件可以集成设置,也可以分散设置,诸如将处理器120、存储器104、输入装置106和输出装置108集成设置于一体,而将数据采集装置110分离设置。
在一实施例中,用于实现本申请实施例的基于中间件的主备节点工作方法的示例电子设备100可以被实现为诸如计算机、服务器等智能终端。
请参照图2,其为本申请一实施例提供的基于中间件的主备节点工作方法的原理示意图,该方法可由图1所示的电子设备100来执行。本申请实施例的基于中间件的主备节点工作方法,可以多个节点同时启动,根据需要选出主节点;使用中间件,保证选择主节点操作的原子性,业务服务可以同时运行多个主备模式进程/线程,互不影响冲突,避免了多节点运行模式带来的节点之间数据争抢和竞争问题。
请参照图3,其为本申请实施例提供的基于中间件的主备节点工作方法的流程示意图。该方法由服务节点执行。如图3所示,该流程包括步骤S210-步骤S240。
步骤S210:调用中间件发起服务注册。
在一实施例中,调用中间件发起服务注册,包括:获取当前节点的节点标识,在所述中间件存储所述节点标识。
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。中间件包括一组服务,便于运行在一台或多台机器上的多个软件通过网络进行交互。中间件的目的就是服务上层应用,提供应用层不同服务之间的互操作机制。
本申请使用Redis(Remote Dictionary Server ,即远程字典服务)作为依赖中间件,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(Application Programming Interface,应用程序接口)。Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
Redis中间件的业务服务在启动初始化时,服务节点会调用Redis中间件,发起服务注册,服务节点的个数可以根据业务服务场景控制,个数1至n个均可,每个服务节点都会注册一次,当前注册的节点会生成唯一节点标识,即给当前节点生成一个名字,将该业务服务节点的唯一节点标识存储在Redis中间件中。
步骤S220:执行所述中间件的原子锁的获取操作。
在Redis中间件发起服务注册,节点注册成功后,服务节点会尝试获取Redis中间件的原子锁。
原子(atom)本意是指不能被进一步分割的最小粒子,而原子操作(atomicoperation)是指不可被中断的一个或一系列操作。原子操作具体可以表示为:多个线程执行一个操作时,其中任何一个线程要么完全执行完成此操作,要么没有执行此操作的任何步骤,那么该线程的执行操作就是原子的,具有原子性。
其中,线程是指操作系统能够进行运算调度的最小单元。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。例如,mysql运行时,mysql启动后,该mysql服务就是一个进程,而mysql的连接、查询的操作,就是线程。
原子性指的是:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行。Redis操作之所以是原子性的,是因为Redis是单线程的。在Redis单线程程序中,任务一个一个地做,必须做完一个任务后,才会去做另一个任务,即任务要么执行成功,要么执行失败。
原子操作API的实现原理是使用了“LOCK指令”,汇编语言的程序在一条指令前面加上前缀“LOCK”(表示锁总线),经过汇编以后的机器代码就使CPU在执行这条指令时锁住,持续到这条指令结束时放开,从而把总线锁住,这样同一总线上别的CPU就暂时不通过总线访问内存了,保证了这条总线在多处理环境中具有原子性。
获取Redis中间件的原子锁的方式为调用Redis的原子锁命令SetNX。在一实施例中,服务节点可以尝试获取其他中间件的原子锁。
步骤S230:当获取到所述原子锁时,确定当前节点为主节点。
若服务节点获取到原子锁后,则当前节点成为主节点。其中,当前节点是指服务节点中获取到原子锁的那个节点。服务节点获取到原子锁的同时,服务节点会为该Redis中间件的原子锁设置过期时间。原子锁的过期时间是指当前节点为主节点的时间。
对于多节点部署的常驻进程任务(例如常驻进程持续扫描数据进行处理的任务)或定时任务时,同一时刻必须有且只有一个主节点处于运行模式。
步骤S240:若当前节点为主节点,则生成主节点指示信号并外发。
若当前节点成为主节点后,当前节点会生成成为主节点指示信号,并发送给业务服务节点,业务服务节点执行相应的业务代码服务。
在一实施例中,如图4所述,上述步骤S220之后,本申请实施例提供的方法还包括步骤S221-步骤S223。
步骤S221:当获取不到所述原子锁时,确定当前节点为备节点。
步骤S222:若当前节点为备节点,启动单独线程,挂起预设时间。
步骤S223:挂起结束后,再次执行所述原子锁的获取操作。
若获取不到原子锁时,当前节点没有成为主节点,则标识当前节点为备节点。确定当前节点为备节点后,启动单独线程,挂起一段时间,可预设挂起时间。其中,挂起时间指备节点落选后睡眠等待再次检查是否有运行中的主节点的时间,即经过此挂起时间之后,当前节点会检查主节点是否还在工作,如果主节点在工作,备节点就继续睡眠挂起时间;如果主节点没有在工作,尝试让自己(即备节点)成为主节点,因此,该挂起时间会决定主节点挂掉后备节点成为主节点的时间差,即服务可以容忍当前节点成为主节点延迟的时间。
挂起结束后,备节点会再次执行步骤S220中所述的Redis中间件的原子锁的获取操作,尝试获取Redis中间件的原子锁,确定新的主节点。备节点可以选出新的主节点,新的主节点选出后,原旧的主节点不能继续以主节点的身份工作。
在一实施例中,如图5所示,上述步骤S230之后,本申请实施例提供的方法还包括步骤S231-步骤S232。
步骤S231:启动单独线程,并对所述单独线程执行挂起操作,经过预设时间后,对所述原子锁执行过期时间更新操作,其中,所述预设时间小于所述原子锁的过期时间。
若当前节点成为主节点后,在执行相应的业务服务的同时,主节点会启动单独线程,对所述单独线程执行挂起操作,挂起预设时间,该预设时间与上述备节点启动单独线程,挂起预设时间所表达的意义一致。本实施例中,主节点的预设时间小于上述原子锁的过期时间。
在一实施例中,对所述原子锁执行过期时间更新操作,包括:将所述原子锁的过期时间更新为新一轮的原子锁时间。挂起操作结束后,使用Redis的Expire命令更新KEY的过期时间,对原子锁执行过期时间更新操作。
步骤S232:检查当前原子锁的所有者是否为自身,若不是,生成主节点停止信号并外发。
若当前节点检查到当前原子锁不是自身时,当前节点会生成停止信号,并发送停止信号给业务服务节点,业务服务节点终止该当前节点的主节点程序,则该当前节点为备节点。业务服务在每个节点上均存在,若主节点上的业务服务处于运行状态,则备节点的业务服务处于等待运行状态。服务节点程序可以获取当前节点的状态,根据此状态,自行实现主/备服务的运行逻辑。
若当前节点检查到当前原子锁是自身时,执行上述步骤S240中当前节点成为主节点后,当前节点会生成成为主节点指示信号,并发送给业务服务节点,业务服务节点执行相应的业务代码服务。
在一实施例中,主节点挂起操作的预设时间小于上述原子锁的过期时间(指当前节点为主节点的时间),备节点的挂起时间(指主节点挂掉后备节点成为主节点的时间差,即服务可以容忍当前节点成为主节点延迟的时间)小于主节点的挂起时间。
本申请上述实施例提供的技术方案遵循分布式设计原则CAP理论(Consistency(一致性)、Availability(可用性)、Tolerance of network Partition(分区容忍性))中的一致性和分区容忍性,保证多节点部署时的一致性和分区容忍性。
下述为本申请装置实施例,可以用于执行本申请基于中间件的主备节点工作方法的装置实施例。对于本申请装置实施例中未披露的细节,请参照本申请基于中间件的主备节点工作方法的实施例。
图6为本申请实施例提供的基于中间件的主备节点工作装置的结构示意图。该装置包括:调用模块300、执行模块400以及获取模块500。
调用模块300,用于调用中间件发起服务注册。
执行模块400,用于执行所述中间件的原子锁的获取操作。
获取模块500,用于获取到所述原子锁时,确定当前节点为主节点。
在一实施例中,上述装置还包括:存储模块,用于获取当前节点的节点标识,在所述中间件存储所述节点标识。
上述装置中各个模块的功能和作用的实现过程具体详见上述基于中间件的主备节点工作方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (7)
1.一种基于中间件的主备节点工作方法,其特征在于,所述方法由服务节点执行,所述方法包括:
调用中间件发起服务注册;
执行所述中间件的原子锁的获取操作;
当获取到所述原子锁时,确定当前节点为主节点;
启动单独线程,并对所述单独线程执行挂起操作,经过预设时间后,对所述原子锁执行过期时间更新操作,其中,所述预设时间小于所述原子锁的过期时间;
检查当前原子锁的所有者是否为自身,若不是,生成主节点停止信号并外发;
若当前节点为主节点,则生成主节点指示信号并外发;
当获取不到所述原子锁时,确定当前节点为备节点;
若当前节点为备节点,启动单独线程,挂起预设时间;
挂起结束后,再次执行所述原子锁的获取操作。
2.根据权利要求1所述的方法,其特征在于,所述调用中间件发起服务注册,包括:
获取当前节点的节点标识,在所述中间件存储所述节点标识。
3.根据权利要求1所述的方法,其特征在于,对所述原子锁执行过期时间更新操作,包括:
将所述原子锁的过期时间更新为新一轮的原子锁时间。
4.一种基于中间件的主备节点工作装置,其特征在于,包括:
调用模块,用于调用中间件发起服务注册;
执行模块,用于执行所述中间件的原子锁的获取操作;
获取模块,用于获取到所述原子锁时,确定当前节点为主节点;
更新模块,用于启动单独线程,并对所述单独线程执行挂起操作,经过预设时间后,对所述原子锁执行过期时间更新操作,其中,所述预设时间小于所述原子锁的过期时间;
检查当前原子锁的所有者是否为自身,若不是,生成主节点停止信号并外发;
确定模块,用于当获取不到所述原子锁时,确定当前节点为备节点;
操作模块,用于若当前节点为备节点,启动单独线程,挂起预设时间;
挂起结束后,再次执行所述原子锁的获取操作。
5.根据权利要求4所述的装置,其特征在于,还包括:
存储模块,用于获取当前节点的节点标识,在所述中间件存储所述节点标识。
6.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3任意一项所述的基于中间件的主备节点工作方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-3任意一项所述的基于中间件的主备节点工作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100485.1A CN112463419B (zh) | 2021-01-26 | 2021-01-26 | 基于中间件的主备节点工作方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100485.1A CN112463419B (zh) | 2021-01-26 | 2021-01-26 | 基于中间件的主备节点工作方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463419A CN112463419A (zh) | 2021-03-09 |
CN112463419B true CN112463419B (zh) | 2021-05-07 |
Family
ID=74802773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110100485.1A Active CN112463419B (zh) | 2021-01-26 | 2021-01-26 | 基于中间件的主备节点工作方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463419B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567540B (zh) * | 2022-02-25 | 2023-07-21 | 北京百度网讯科技有限公司 | 主备节点切换方法、装置、设备、介质及程序产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4014166A (en) * | 1976-02-13 | 1977-03-29 | The United States Of America As Represented By The Secretary Of Commerce | Satellite controlled digital clock system |
CN104954411A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 分布式系统共享网络资源的方法、终端及系统 |
CN105933407B (zh) * | 2016-04-20 | 2019-12-06 | 中国银联股份有限公司 | 一种实现Redis集群高可用的方法及系统 |
CN110413822B (zh) * | 2019-06-19 | 2021-11-19 | 北京旷视科技有限公司 | 离线图像结构化分析方法、装置、系统和存储介质 |
-
2021
- 2021-01-26 CN CN202110100485.1A patent/CN112463419B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112463419A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700939B (zh) | 一种分布式系统中多线程同步的方法和系统 | |
CN106790694B (zh) | 分布式系统及分布式系统中目标对象的调度方法 | |
US8352658B2 (en) | Fabric based lock manager service | |
US8812451B2 (en) | Programming model for synchronizing browser caches across devices and web services | |
US20100269110A1 (en) | Executing tasks through multiple processors consistently with dynamic assignments | |
JPH1049380A (ja) | スペース効率の良いオブジェクト・ロッキング・システム及び方法 | |
US20120278422A1 (en) | Live object pattern for use with a distributed cache | |
CN110968603B (zh) | 一种数据访问方法及装置 | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN111258976A (zh) | 分布式锁实现方法、系统、设备及存储介质 | |
US6742135B1 (en) | Fault-tolerant match-and-set locking mechanism for multiprocessor systems | |
CN106250487B (zh) | 一种数据库并发控制方法及装置 | |
CN112463419B (zh) | 基于中间件的主备节点工作方法及装置、电子设备 | |
CN110971700A (zh) | 分布式锁的实现方法及装置 | |
US20230098963A1 (en) | Object processing method and apparatus, computer device, and storage medium | |
CN111416839A (zh) | 集群环境定时任务处理方法、系统、装置及存储介质 | |
CN108108119B (zh) | 一种可扩展的存储集群事物的配置方法及装置 | |
CN115658153A (zh) | 睡眠锁优化方法、装置、电子设备及存储介质 | |
CN112667409A (zh) | 一种可重入的分布式排它锁实现方法 | |
CN110309224B (zh) | 一种数据复制方法及装置 | |
CN110782040A (zh) | 一种pytorch任务训练方法、装置、设备及介质 | |
CN115964176A (zh) | 云计算集群调度方法、电子设备和存储介质 | |
JP2009271858A (ja) | 計算機システム及びプログラム | |
CN113342511A (zh) | 一种分布式任务管理系统及方法 | |
CN113992750A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing Patentee after: Beijing Easy Yikang Information Technology Co.,Ltd. Address before: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing Patentee before: BEIJING QINGSONGCHOU INFORMATION TECHNOLOGY Co.,Ltd. |