CN112799791A - 分布式锁的调用方法、装置、电子设备和存储介质 - Google Patents
分布式锁的调用方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112799791A CN112799791A CN202110087440.5A CN202110087440A CN112799791A CN 112799791 A CN112799791 A CN 112799791A CN 202110087440 A CN202110087440 A CN 202110087440A CN 112799791 A CN112799791 A CN 112799791A
- Authority
- CN
- China
- Prior art keywords
- target
- task
- distributed lock
- locking
- thread
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 118
- 238000012216 screening Methods 0.000 claims abstract description 15
- 230000005856 abnormality Effects 0.000 claims description 35
- 230000002776 aggregation Effects 0.000 claims description 27
- 238000004220 aggregation Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 19
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012795 verification Methods 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/466—Transaction processing
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Lock And Its Accessories (AREA)
Abstract
本发明实施例公开了一种分布式锁的调用方法、装置、电子设备和存储介质,应用于数据处理技术领域,其中,方法包括,获取至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务,确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁,基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务;确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务;在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。通过实施上述方法,可以基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁后执行,提升分布式锁的调用效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种分布式锁的调用方法、装置、电子设备和存储介质。
背景技术
现实生活中会遇到很多的秒杀场景(比如:商品抢购或火车票抢购),对系统来说在一秒钟内收到数以万计甚至更多任务请求时,系统为了实现在高并发下库存或订单的数据准确性,系统一般都采用分布式锁的方式来处理这种资源竞争的情况;业内常用的三类实现分布式锁方式:(1)基于数据库实现分布式锁;(2)基于缓存(Redis等)实现分布式锁;(3)基于开源工具实现分布式锁。
然而,上述方式中,针对每个任务,都需要对其定义对应的分布式锁,则会产生大量的重复工作,如针对任务1和任务2,其均可以添加同一个分布式锁,以避免任务冲突,然而,当前只能在编写任务1的代码时添加锁代码,以及编写任务2的代码时也添加锁代码,因代码编些需耗费大量时间,导致分布式锁的调用效率低。
发明内容
本发明实施例提供了一种分布式锁的调用方法、装置、电子设备和存储介质,可以基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁后执行,提升分布式锁的调用效率
接收至少一个任务,并从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
确定所述目标分布式锁对应的目标线程,并调用所述目标线程执行所述目标加锁任务;
在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
一方面,本发明实施例提供了一种分布式锁的调用装置,所述装置包括:
获取模块,用于获取至少一个任务;
筛选模块,用于从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定模块,用于确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
处理模块,用于基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
所述确定模块,还用于确定所述目标分布式锁对应的目标线程;
调用模块,用于调用所述目标线程执行所述目标加锁任务;
所述处理模块,还用于在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
一方面,本发明实施例提供了一种电子设备,所述电子设备包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行分布式锁的调用方法。
一方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行所述分布式锁的调用方法。
本发明实施例中,电子设备获取至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务,确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁,基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务;确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务;在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。通过实施上述方法,可以在分布式锁的调用过程中基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁处理,提升分布式锁的调用效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种分布式锁的调用方法的流程示意图;
图2是本发明实施例提供的另一种分布式锁的调用方法的流程示意图;
图3是本发明实施例提供的一种分布式锁的调用场景示意图;
图4是本发明实施例提供的一种分布式锁的调用装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的分布式锁的调用方法实现于电子设备,所述电子设备包括智能手机、平板电脑、数字音视频播放器、电子阅读器或车载电子设备等移动终端,也包括台式机等固定终端,或者,电子设备也可以包括服务器。
图1是本发明实施例中一种分布式锁的调用方法的流程示意图,如图1所示,本实施例中的分布式锁的调用方法的流程可以包括:
S101、获取至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务。
本发明实施例中,任务可以是查询任务、计算任务、验证任务等,具体可以由其他终端或服务器发送,用户可以在使用的电子设备中输入相应的操作,以使得电子设备生成相应的任务,电子设备可以获取到生成的至少一个任务。
进一步的,电子设备获取到至少一个任务之后,将对该至少一个任务进行筛选,得到包含注解标签的目标任务。其中,注解标签可以为一个调用函数,用于确定是否需要对任务进行加锁执行,即当任务中存在注解标签时,需要采用注解标签对应的分布式锁对任务进行加锁处理,并调用线程执行加锁处理后的任务,当任务中不存在注解标签时,可以直接调用线程执行任务。需要说明的是,任务中不同的注解标签对应有不同的分布式锁,不同的分布式锁对应有不同的锁逻辑,锁逻辑包括锁的分配方式(如任务时间先后分配)、锁的占用方式(如最大占用时长)以及分布式锁的调用后锁的释放方式等。其中,一个注解标签可以对应有多个分布式锁,如注解标签1对应分布式锁1和分布式锁2。
具体实现中,注解标签可以由基于用户输入的操作对任务进行添加,具体的,任务需要保密执行,或者需要独立执行时,用户可以输入相应的操作,在任务中添加注解标签,或者,也可以由电子设备生成任务之后,基于任务的类型为其添加注解标签。至少一个任务中包含注解标签的目标任务可以为多个,注解标签对应了至少一个分布式锁。
在一种实现方式中,注解标签对应的分布式锁的具体确定方式可以为,获取预设的N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,包括加锁功能、释放锁功能和锁异常判定功能,N为正整数;基于目标聚合规则对N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括至K个代码模块,K个代码模块共同实现一种类型的分布式锁,K为正整数;基于至少一个代码模块集合构建至少一个分布式锁,并建立注解标签与至少一个分布式锁之间的对应关系;将注解标签和至少一个分布式锁对应存储于数据库中,以在获取到注解标签时从数据库中调用对应的分布式锁。其中,目标聚合规则具体可以为基于代码模块中的调用参数进行聚合,或者,基于代码模块中的任务类型进行聚合,或者,基于代码模块中的运行环境进行聚合。通过上述方式,可以建立注解标签与多个分布式锁的对应关系,方便于后续对分布式锁的调用。
在一种实现方式中,注解标签对应的分布式锁的具体确定方式可以为,从历史记录中获取到预设时间段内处理过的多个历史任务,获取多个历史任务中每个历史任务中包括的分布式锁,得到至少一个分布式锁,建立注解标签与该至少一个分布式锁的对应关系,将所述至少一个分布式锁确定为注解标签对应的分布式锁。
S102、确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁。
本发明实施例中,电子设备得到包含注解标签的目标任务之后,可以确定目标任务的任务信息,任务信息包括任务类型、触发时间和任务来源中的至少一种,任务类型包括查询型、计算型、验证型等,触发时间为任务生成的时间,任务来源为任务的创建方,具体可以采用创建任务的用户账号作为任务来源。进一步的,电子设备可以根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁。
在一种实现方式中,任务信息包括任务类型,电子设备根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁的具体方式可以为,从历史记录中获取目标任务的任务类型对应的至少一个历史任务,并确定至少一个历史任务在目标运行环境下的平均处理时长;基于平均处理时长确定针对分布式锁的目标异常判定时长;从至少一个分布式锁中筛选出异常判定时长中为目标异常判定时长的分布式锁,作为目标分布式锁,至少一个分布式锁中不同分布式锁对应有不同的异常判定时长,异常判定时长用于判定采用分布式锁加锁的任务是否处理异常,即当任务占用分布式锁的时长超过异常判定时长时,确定分布式锁的调用异常。
在一种实现方式中,任务信息包括触发时间,至少一个分布式锁中不同分布式锁对应有不同的运行时间段,电子设备根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁的具体方式可以为,电子设备确定目标任务的触发时间所属的目标运行时间段,并根据运行时间段与分布式锁的对应关系,确定目标运行时间段对应的目标分布式锁。
在一种实现方式中,任务信息包括任务来源,电子设备根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁的具体方式可以为,电子设备根据目标任务的任务来源确定目标任务的目标优先级,并根据优先级与分布式锁的对应关系,确定目标优先级对应的目标分布式锁。其中,优先级高的任务对应的分布式锁的调用优先级较高,即在对任务进行处理时,调用线程优先对优先级较高的分布式锁中的人物进行处理。
在一种实现方式中,任务信息包括任务类型、触发时间和任务来源,分布式锁中具体包括加锁模块、解锁模块和异常判定模块,电子设备根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁的具体方式可以为,电子设备根据目标任务的任务类型确定对应的目标加锁模块,根据目标任务的触发时间确定对应的目标解锁模块,并根据目标任务的任务来源确定目标异常判定模块,电子设备将包括目标加锁模块、目标解锁模块和目标异常判定模块的分布式锁确定为目标分布式锁。
S103、基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务。
本发明实施例中,电子设备根据任务信息从至少一个分布式锁中确定出目标分布式锁之后,可以基于所述目标分布式锁对目标任务进行加锁处理,得到目标加锁任务。具体实现中,目标分布式锁中包括了至少一个目标代码模块,每个目标代码模块用于实现分布式锁中相应的功能,电子设备确定目标分布式锁之后,调用至少一个代码模块中的加锁模块对任务进行加锁处理,得到目标加锁任务。
S104、确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务。
本发明实施例中,电子设备得到目标加锁任务之后,将确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务。
在一种实现方式中,电子设备确定目标分布式锁对应的目标线程的具体方式可以为,获取至少一个空闲工作线程,并确定每个空闲工作线程对采用目标分布式锁进行加锁的任务的历史执行频次;将历史执行频次最高的空闲工作线程,确定为目标分布式锁对应的目标工作线程。其中,即电子设备在得到目标加锁任务后,确定目标加锁任务对应的目标分布式锁,并从历史记录中找到对该目标分布式锁具有较多执行次数的线程,来对目标加锁任务进行执行,因该目标线程具有较多的执行频次,即目标线程具备良好的对目标分布式锁的执行能力,可以使得目标线程较好的对目标加锁任务进行处理,提升目标加锁任务的处理效率。
在一种实现方式中,电子设备确定目标分布式锁对应的目标线程的具体方式可以为,电子设备获取目标分布式锁对应的优先级,获取至少一个空闲工作线程,电子设备基于优先级与线程的对应关系从至少一个空闲工作线程中确定出目标分布式锁对应的目标线程。其中,优先级越高的分布式锁,对应的线程的处理性能越高。
进一步的,电子设备调用目标线程执行目标加锁任务,即电子设备调用目标线程运行目标加锁任务中的代码,以使得目标加锁任务得以执行。
S105、在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。
本发明实施例中,电子设备调用目标线程执行目标加锁任务之后,将检测是否满足针对目标加锁任务的解锁条件,在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。
其中,电子设备检测是否满足针对目标加锁任务的解锁条件的具体方式可以为,电子设备获取目标线程对目标加锁任务进行处理的处理信息,处理信息包括处理进度和处理时长;若处理进度指示针对目标加锁任务处理完成,则确定满足解锁条件;或者,若处理时长大于目标异常判定时长,则确定满足解锁条件,其中,目标异常判定时长用于判定采用所述目标分布式锁加锁的任务是否处理异常,即当目标任务占用目标分布式锁的时长超过目标异常判定时长时,确定目标分布式锁的调用异常,在异常情况下,需对目标加锁任务进行解锁,防止对目标线程的过度占用。
具体实现中,当电子设备确定满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。其中,分布式锁对应的解锁逻辑包括了将目标任务和目标分布式锁进行分离的逻辑,以将目标任务从目标加锁任务中抽离出来,该目标分布式锁的解锁逻辑可以与目标分布式锁的加锁逻辑之间存在对应关系。进一步的,电子设备释放目标线程,即解除目标加锁任务对目标线程的占用,以使得目标线程从新处于空闲状态。
本发明实施例中,电子设备获取至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务,注解标签对应了至少一个分布式锁;确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁,任务信息包括任务类型、触发时间和任务来源中的至少一种;基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务;确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务;在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。通过实施上述方法,可以在分布式锁的调用过程中基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁处理,提升分布式锁的调用效率。
图2是本发明实施例中一种分布式锁的调用方法的流程示意图,如图2所示,本实施例中的分布式锁的调用方法的流程可以包括:
S201、获取预设的N个代码模块。
本发明实施例中,在执行图1中所述的分布式锁的调用方法之前,还需构建注解标签对应的各个分布式锁,分布式锁中包括了多个用于实现不同功能的代码模块,具体的,可以预先构建N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,N为正整数;具体实现中,分布式锁对应的功能包括加锁功能、释放锁功能和锁异常判定功能,则N个代码模块中包括多个加锁模块、多个释放锁模块和多个锁异常判定模块。在一个实施例中,多个加锁模块中不同加锁模块对应的调用参数不同,例如,加锁模块1对应的调用参数为任务的名称,而加锁模块2对应的调用参数为任务的编号,或者,不同的加锁模块用于对不同任务类型的任务进行加锁,例如,加锁模块1用于对检索型任务进行加锁,加锁模块2用于对计算型任务进行加锁,或者,不同的加锁模块对应有不同的运行环境。在一个实施例中,多个释放锁模块可以对应有不同的锁释放逻辑,如释放锁模块1的锁释放逻辑为检测到任务占用分布式锁的时长超过第一预设时长时释放锁,释放锁模块2的锁释放逻辑为检测到任务占用分布式锁的时长超过第二预设时长时释放锁。多个锁释放模块中不同的释放锁模块可以对应有不同的调用参数,或者,不同的锁释放模块用于对不同任务类型的任务进行释放,或者,不同的释放锁模块对应有不同的运行环境。在一个实施例中,多个锁异常判定模块可以对应有不同的锁异常判定逻辑,如锁异常判定模块1的锁异常判定逻辑为检测到任务占用分布式锁的时长超过第一预设时长时判定为异常,锁异常判定模块1的锁异常判定逻辑为检测到任务占用分布式锁的时长超过第二预设时长时判定为异常,多个锁异常判定模块中不同的锁异常判定模块可以对应有不同的调用参数,或者,不同的锁异常判定模块用于对不同任务类型的任务进行异常判定,或者,不同的锁异常判定模块对应有不同的运行环境。
S202、基于目标聚合规则对N个代码模块进行聚合处理,得到至少一个代码模块集合。
本发明实施例中,电子设备获取到N个代码模块之后,可以基于目标聚合规则对N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括至K个代码模块,K个代码模块共同实现一种类型的分布式锁,K为正整数。
在一个实施例中,目标聚合规则具体可以为基于调用参数进行聚合的规则,则电子设备可以将N个代码模块中具有相同调用参数的代码模块聚为一类,使得聚合得到的每个代码模块集合中包括K个具有相同调用参数的代码模块,如K为3,代码模块集合中包括加锁模块1、释放锁模块1和锁异常判定模块1,加锁模块1、释放锁模块1和锁异常判定模块1中的调用参数都为调用名称。
在一个实施例中,目标聚合规则也可以为基于任务类型进行聚合的规则,则电子设备可以将N个代码模块中对应相同任务类型的代码模块聚为一个集合,如代码模块集合中包括加锁模块2、释放锁模块2和锁异常判定模块2,加锁模块2、释放锁模块2和锁异常判定模块2对应的任务类型都为计算型。
在一个实施例中,目标聚合规则也可以为基于运行环境进行聚合的规则,则电子设备可以将N个代码模块中对应相同运行环境的任务聚为一个集合。具体的,电子设备获取N个代码模块中每个代码模块对应的运行环境;基于各个代码模块的运行环境对所述N个代码块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个对应相同运行环境的代码模块。
在一个实施例中,目标聚合规则也可以为基于调用参数、任务类型和运行环境共同聚合的规则,则电子设备将N个代码模块中具有相同调用参数,且对应相同任务类型和运行环境的代码模块聚为一个集合。
或者,电子设备也可以接收用户输入的操作指令,并根据操作指令对N个代码模块进行聚合处理,得到至少一个代码模块集合。
S203、基于至少一个代码模块集合构建至少一个分布式锁。
本发明实施例中,电子设备构建至少一个代码模块集合之后,可以基于该至少一个代码模块集合构建至少一个分布式锁,即将每个代码模块集合作为一个分布式锁的功能实现。具体实现中,一个分布式锁中可以至少包括一个加锁模块、一个释放锁模块和一个锁异常判定模块,用于实现分布式锁所需的功能。
S204、建立注解标签与至少一个分布式锁之间的对应关系,并将注解标签和至少一个分布式锁对应存储于数据库中。
本发明实施例中,电子设备构建至少一个分布式锁之后,可以构建一个注解标签,该注解标签可以为该至少一个分布式锁的调用函数,电子设备建立注解标签与该至少一个分布式锁之间的对应关系,当任务中存在注解标签时,可以基于对应关系找到对应的分布式锁。并且,电子设备可以将注解标签和至少一个分布式锁对应存储于数据库中,以在获取到注解标签时从数据库中调用对应的分布式锁。
S205、响应于针对目标任务的标签添加指令,为目标任务添加注解标签。
本发明实施例中,电子设备构建至少一个分布式锁,并确定该至少一个分布式锁对应的注解标签之后,可以获取到针对目标任务的标签添加指令,并响应于该标签添加指令,为目标任务添加注解标签,具体可以将注解标签添加至目标任务的任务代码中。
在一种实现方式中,标签添加指令的生成方式可以为,电子设备可以接收用户针对目标任务的选择操作,当检测到用户输入的选择操作后,可以生成针对目标任务的标签添加指令,并对生成的标签添加指令进行获取。
在一种实现方式中,标签添加指令的生成方式可以为,电子设备在获取到目标任务之后,将检测目标任务是否满足标签添加条件,若满足,则生成针对目标任务的标签添加指令。其中,当目标任务的任务类型为预设类型时,确定目标任务满足预设条件;或者,当目标任务的任务来源为预设来源时,确定目标任务满足预设条件;或者,当目标任务的运行环境为预设运行环境时,确定目标任务满足预设条件。
进一步的,电子设备可以将目标任务添加至消息队列中,消息队列中包括多个等待处理的任务。
S206、获取至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务。
本发明实施例中,电子设备在为目标任务添加注解标签之后,可以接收针对消息队列中的任务的处理指令,响应于该处理指令,获取到消息队列中的至少一个任务,并从至少一个任务中筛选出包含注解标签的目标任务,注解标签对应了至少一个分布式锁。当任务中存在注解标签时,需要采用注解标签对应的分布式锁对任务进行加锁处理,并调用线程执行加锁处理后的任务,当任务中不存在注解标签时,可以直接调用线程执行任务。
S207、确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁。
本发明实施例中,电子设备得到包含注解标签的目标任务之后,可以确定目标任务的任务信息,任务信息包括任务类型、触发时间和任务来源中的至少一种,任务类型包括查询型、计算型、验证型等,触发时间为任务生成的时间,任务来源为任务的创建方,具体可以采用创建任务的用户账号作为任务来源。进一步的,电子设备可以根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁。
在一种实现方式中,任务信息包括任务类型、触发时间和任务来源,分布式锁中具体包括加锁模块、解锁模块和异常判定模块,电子设备根据目标任务的任务信息从至少一个分布式锁中确定出目标分布式锁的具体方式可以为,电子设备根据目标任务的任务类型确定对应的目标加锁模块,根据目标任务的触发时间确定对应的目标解锁模块,并根据目标任务的任务来源确定目标异常判定模块,电子设备将包括目标加锁模块、目标解锁模块和目标异常判定模块的分布式锁确定为目标分布式锁。
S208、基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务。
本发明实施例中,电子设备根据任务信息从至少一个分布式锁中确定出目标分布式锁之后,可以基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务。具体实现中,目标分布式锁中包括了至少一个目标代码模块,每个目标代码模块用于实现分布式锁中相应的功能,电子设备确定目标分布式锁之后,调用至少一个代码模块中的加锁模块对任务进行加锁处理,得到目标加锁任务。
S209、确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务。
本发明实施例中,电子设备得到目标加锁任务之后,可以基于分布式锁与线程的对应关系,确定目标分布式锁对应的目标线程,并将确定目标分布式锁对应的目标线程,以及调用目标线程执行目标加锁任务。
S210、在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。
本发明实施例中,电子设备调用目标线程执行目标加锁任务之后,将检测是否满足针对目标加锁任务的解锁条件,在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。
如图3所示,为本发明实施例提供的一种分布式锁的调用场景示意图,具体的,电子设备获取到的至少一个任务包括任务1、任务2和任务3,电子设备获取到上述任务之后,判断上述任务中是否包含注解标签,其中任务1包含注解标签,则电子设备将任务1确定为目标任务,并对任务1进行加锁处理,得到目标加锁任务,以及调用目标线程对目标加锁任务进行处理,并在处理完成后,对目标加锁任务进行解锁,以及释放目标线程。针对不包含注解标签的任务2和任务3,电子设备采用线程2对任务2进行处理,以及采用线程3对任务3进行处理,通过上述方式,得到针对各个任务的处理结果。
在一种实现方式中,本发明实施例还提供了针对目标分布式锁的纠错机制,用于判定目标分布式锁是否适用于该目标任务。具体的,电子设备调用目标线程执行目标加锁任务之后,可以获取到目标线程对目标加锁任务的进行处理得到的第一处理结果;若第一处理结果指示处理异常,则调用参考线程对目标加锁任务进行处理,并获取参考线程对目标加锁任务进行处理得到的第二处理结果;若第二处理结果指示处理异常,则调用目标线程对目标任务进行处理,得到第三处理结果;若第三处理结果指示处理成功,则确定目标任务与目标分布式锁不匹配,并输入对应的提示信息。其中,参考线程可以为电子设备中空闲的线程中的任意一个。上述方式中,当目标线程对目标加锁分布式锁的调用异常时,可以调用其他参考线程对目标加锁任务进行处理,得到处理结果,提供了纠错机制,使得目标加锁任务可以较好的得以执行,并且,当其他线程也无法执行目标加锁任务(即第二处理结果指示处理失败)时,电子设备可以对目标加锁任务进行解锁处理,并直接调用目标线程运行目标任务,得到第三处理结果,当第三处理结果指示处理成功时,可以确定目标任务与目标分布式锁之间匹配的问题,即目标任务与所述目标分布式锁不匹配,可以输出目标任务与目标分布式锁不匹配的提示信息,使得用户发现该结果,并在之后输入的任务中重新设置相应的分布式锁。通过上述方式,可以提升分布式锁的运行成功率。
本发明实施例中,电子设备构建至少一个分布式锁,并建立分布式锁与注解标签的对应关系,以及为目标任务添加注解标签,当获取到至少一个任务时,从至少一个任务中筛选出包含注解标签的目标任务,确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁,基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务;确定目标分布式锁对应的目标线程,并调用目标线程执行目标加锁任务;在检测到满足解锁条件时,基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。通过实施上述方法,可以在分布式锁的调用过程中基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁处理,提升分布式锁的调用效率。
下面将结合附图4对本发明实施例提供的分布式锁的调用装置进行详细介绍。需要说明的是,附图4所示的分布式锁的调用装置,用于执行本发明图1-图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图2所示的实施例。
请参见图4,为本发明提供的一种分布式锁的调用装置的结构示意图,该分布式锁的调用装置40可包括:获取模块401、筛选模块402、确定模块403、处理模块404和调用模块405。
获取模块401,用于获取至少一个任务;
筛选模块402,用于从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定模块403,用于确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
处理模块404,用于基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
所述确定模块403,还用于确定所述目标分布式锁对应的目标线程;
调用模块405,用于调用所述目标线程执行所述目标加锁任务;
所述处理模块404,还用于在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
在一种实现方式中,获取模块401,还用于:
获取预设的N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,N为正整数;
基于目标聚合规则对所述N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个代码模块,所述K个代码模块共同实现一种类型的分布式锁,K为正整数;
基于所述至少一个代码模块集合构建至少一个分布式锁;
建立注解标签与所述至少一个分布式锁之间的对应关系,并将所述注解标签和所述至少一个分布式锁对应存储于数据库中;
响应于针对目标任务的标签添加指令,为目标任务添加注解标签。
在一种实现方式中,获取模块401,还用于:
获取所述N个代码模块中每个代码模块对应的运行环境;
基于各个代码模块的运行环境对所述N个代码块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个对应相同运行环境的代码模块。
在一种实现方式中,确定模块403,具体用于:
从历史记录中获取所述目标任务的任务类型对应的至少一个历史任务,并确定所述至少一个历史任务在目标运行环境下的平均处理时长;
基于所述平均处理时长确定针对分布式锁的目标异常判定时长;
从所述至少一个分布式锁中筛选出异常判定时长中为所述目标异常判定时长的分布式锁,作为目标分布式锁,所述至少一个分布式锁中不同分布式锁对应有不同的异常判定时长,所述异常判定时长用于判定采用分布式锁加锁的任务是否处理异常。
在一种实现方式中,确定模块403,还用于:
获取所述目标线程对目标加锁任务的处理信息,所述处理信息包括处理进度和处理时长;
若所述处理进度指示针对所述目标加锁任务处理完成,则确定满足解锁条件;
或者,若所述处理时长大于目标异常判定时长,则确定满足所述解锁条件,其中,目标异常判定时长用于判定采用所述目标分布式锁加锁的任务是否处理异常。
在一种实现方式中,确定模块403,具体用于:
获取至少一个空闲工作线程,并确定每个空闲工作线程对采用所述目标分布式锁进行加锁的任务的历史执行频次;
将历史执行频次最高的空闲工作线程,确定为所述目标分布式锁对应的目标工作线程。
在一种实现方式中,处理模块404,还用于:
获取所述目标线程对所述目标加锁任务的进行处理得到的第一处理结果;
若所述第一处理结果指示处理异常,则调用参考线程对所述目标加锁任务进行处理,并获取所述参考线程对所述目标加锁任务进行处理得到的第二处理结果;
若所述第二处理结果指示处理异常,则调用所述目标线程对所述目标任务进行处理,得到第三处理结果;
若所述第三处理结果指示处理成功,则确定所述目标任务与所述目标分布式锁不匹配,并输入对应的提示信息。
本发明实施例中,获取模块401获取至少一个任务,筛选模块402从至少一个任务中筛选出包含注解标签的目标任务,确定模块403确定目标任务的任务信息,并根据任务信息从至少一个分布式锁中确定出目标分布式锁,处理模块404基于目标分布式锁对目标任务进行加锁处理,得到目标加锁任务;确定模块403确定目标分布式锁对应的目标线程,调用模块405调用目标线程执行目标加锁任务;在检测到满足解锁条件时,处理模块404基于目标分布式锁对应的解锁逻辑对目标加锁任务进行解锁处理,并释放目标线程。通过实施上述方法,可以基于任务中的注解标签选择添加对应的分布式锁,并按照选择的分布式锁进行加锁后执行,提升分布式锁的调用效率。
请参见图5,为本发明实施例提供了一种电子设备的结构示意图。如图5所示,该电子设备包括:至少一个处理器501,输入设备503,输出设备504,存储器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,输入设备503可以是控制面板或者麦克风等,输出设备504可以是显示屏等。其中,存储器505可以是高速RAM存储器,也可以是非不稳定的存储器(non-voIatiIe memory),例如至少一个磁盘存储器。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。其中处理器501可以结合图4所描述的装置,存储器505中存储一组程序代码,且处理器501,输入设备503,输出设备504调用存储器505中存储的程序代码,用于执行以下操作:
处理器501,用于获取至少一个任务,并从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
处理器501,用于确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
处理器501,用于基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
处理器501,用于确定所述目标分布式锁对应的目标线程,并调用所述目标线程执行所述目标加锁任务;
处理器501,用于在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
在一种实现方式中,处理器501,具体用于:
获取预设的N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,N为正整数;
基于目标聚合规则对所述N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个代码模块,所述K个代码模块共同实现一种类型的分布式锁,K为正整数;
基于所述至少一个代码模块集合构建至少一个分布式锁;
建立注解标签与所述至少一个分布式锁之间的对应关系,并将所述注解标签和所述至少一个分布式锁对应存储于数据库中;
响应于针对目标任务的标签添加指令,为目标任务添加注解标签。
在一种实现方式中,处理器501,具体用于:
获取所述N个代码模块中每个代码模块对应的运行环境;
基于各个代码模块的运行环境对所述N个代码块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个对应相同运行环境的代码模块。
在一种实现方式中,处理器501,具体用于:
从历史记录中获取所述目标任务的任务类型对应的至少一个历史任务,并确定所述至少一个历史任务在目标运行环境下的平均处理时长;
基于所述平均处理时长确定针对分布式锁的目标异常判定时长;
从所述至少一个分布式锁中筛选出异常判定时长中为所述目标异常判定时长的分布式锁,作为目标分布式锁,所述至少一个分布式锁中不同分布式锁对应有不同的异常判定时长,所述异常判定时长用于判定采用分布式锁加锁的任务是否处理异常。
在一种实现方式中,处理器501,具体用于:
获取所述目标线程对目标加锁任务的处理信息,所述处理信息包括处理进度和处理时长;
若所述处理进度指示针对所述目标加锁任务处理完成,则确定满足解锁条件;
或者,若所述处理时长大于目标异常判定时长,则确定满足所述解锁条件,其中,目标异常判定时长用于判定采用所述目标分布式锁加锁的任务是否处理异常。
在一种实现方式中,处理器501,具体用于:
获取至少一个空闲工作线程,并确定每个空闲工作线程对采用所述目标分布式锁进行加锁的任务的历史执行频次;
将历史执行频次最高的空闲工作线程,确定为所述目标分布式锁对应的目标工作线程。
在一种实现方式中,处理器501,具体用于:
获取所述目标线程对所述目标加锁任务的进行处理得到的第一处理结果;
若所述第一处理结果指示处理异常,则调用参考线程对所述目标加锁任务进行处理,并获取所述参考线程对所述目标加锁任务进行处理得到的第二处理结果;
若所述第二处理结果指示处理异常,则调用所述目标线程对所述目标任务进行处理,得到第三处理结果;
若所述第三处理结果指示处理成功,则确定所述目标任务与所述目标分布式锁不匹配,并输入对应的提示信息。
本发明实施例中所述模块,可以通过通用集成电路,例如CPU(CentraIProcessing Unit,中央处理器),或通过ASIC(AppIication Specific IntegratedCircuit,专用集成电路)来实现。
应当理解,在本发明实施例中,所称处理器501可以是中央处理模块(CentraIProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitaISignaI Processor,DSP)、专用集成电路(AppIication Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieId-ProgrammabIe Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
总线502可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互联(PeripheraI Component,PCI)总线或扩展工业标准体系结构(EItendedIndustry Standard Architecture,EISA)总线等,该总线502可以分为地址总线、数据总线、控制总线等,为便于表示,图5仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的计算机存储介质可为磁碟、光盘、只读存储记忆体(Read-OnIy Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
所述的计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种分布式锁的调用方法,其特征在于,包括:
获取至少一个任务,并从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
确定所述目标分布式锁对应的目标线程,并调用所述目标线程执行所述目标加锁任务;
在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一个任务之前,所述方法还包括:
获取预设的N个代码模块,N个代码模块中每个代码模块用于实现分布式锁中对应的功能,N为正整数;
基于目标聚合规则对所述N个代码模块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个代码模块,所述K个代码模块共同实现一种类型的分布式锁,K为正整数;
基于所述至少一个代码模块集合构建至少一个分布式锁;
建立注解标签与所述至少一个分布式锁之间的对应关系,并将所述注解标签和所述至少一个分布式锁对应存储于数据库中;
响应于针对目标任务的标签添加指令,为所述目标任务添加注解标签。
3.根据权利要求2所述的方法,其特征在于,所述N个代码模块中包括运行于不同运行环境的代码模块,所述目标聚合规则包括基于运行环境进行聚合的规则,所述基于目标聚合规则对所述N个代码模块进行聚合处理,包括:
获取所述N个代码模块中每个代码模块对应的运行环境;
基于各个代码模块的运行环境对所述N个代码块进行聚合处理,得到至少一个代码模块集合,每个代码模块集合包括K个对应相同运行环境的代码模块。
4.根据权利要求1所述的方法,其特征在于,所述任务信息包括任务类型,所述根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,包括:
从历史记录中获取所述目标任务的任务类型对应的至少一个历史任务,并确定所述至少一个历史任务在目标运行环境下的平均处理时长;
基于所述平均处理时长确定针对分布式锁的目标异常判定时长;
从所述至少一个分布式锁中筛选出异常判定时长中为所述目标异常判定时长的分布式锁,作为目标分布式锁,所述至少一个分布式锁中不同分布式锁对应有不同的异常判定时长,所述异常判定时长用于判定采用分布式锁加锁的任务是否处理异常。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述调用所述目标线程执行所述目标加锁任务之后,所述方法还包括:
获取所述目标线程对目标加锁任务的处理信息,所述处理信息包括处理进度和处理时长;
若所述处理进度指示针对所述目标加锁任务处理完成,则确定满足解锁条件;
或者,若所述处理时长大于目标异常判定时长,则确定满足所述解锁条件,其中,目标异常判定时长用于判定采用所述目标分布式锁加锁的任务是否处理异常。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述确定所述目标分布式锁对应的目标线程,包括:
获取至少一个空闲工作线程,并确定每个空闲工作线程对采用所述目标分布式锁进行加锁的任务的历史执行频次;
将历史执行频次最高的空闲工作线程,确定为所述目标分布式锁对应的目标工作线程。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述调用所述目标线程执行所述目标加锁任务之后,所述方法还包括:
获取所述目标线程对所述目标加锁任务的进行处理得到的第一处理结果;
若所述第一处理结果指示处理异常,则调用参考线程对所述目标加锁任务进行处理,并获取所述参考线程对所述目标加锁任务进行处理得到的第二处理结果;
若所述第二处理结果指示处理异常,则调用所述目标线程对所述目标任务进行处理,得到第三处理结果;
若所述第三处理结果指示处理成功,则确定所述目标任务与所述目标分布式锁不匹配,并输入对应的提示信息。
8.一种分布式锁的调用装置,其特征在于,所述装置包括:
获取模块,用于获取至少一个任务;
筛选模块,用于从所述至少一个任务中筛选出包含注解标签的目标任务,所述注解标签对应了至少一个分布式锁;
确定模块,用于确定所述目标任务的任务信息,并根据所述任务信息从所述至少一个分布式锁中确定出目标分布式锁,所述任务信息包括任务类型、触发时间和任务来源中的至少一种;
处理模块,用于基于所述目标分布式锁对所述目标任务进行加锁处理,得到目标加锁任务;
所述确定模块,还用于确定所述目标分布式锁对应的目标线程;
调用模块,用于调用所述目标线程执行所述目标加锁任务;
所述处理模块,还用于在检测到满足解锁条件时,基于所述目标分布式锁对应的解锁逻辑对所述目标加锁任务进行解锁处理,并释放所述目标线程。
9.一种电子设备,所述电子设备包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087440.5A CN112799791A (zh) | 2021-01-22 | 2021-01-22 | 分布式锁的调用方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110087440.5A CN112799791A (zh) | 2021-01-22 | 2021-01-22 | 分布式锁的调用方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799791A true CN112799791A (zh) | 2021-05-14 |
Family
ID=75811245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110087440.5A Pending CN112799791A (zh) | 2021-01-22 | 2021-01-22 | 分布式锁的调用方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799791A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407553A (zh) * | 2021-05-14 | 2021-09-17 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、系统、设备及存储介质 |
CN114820218A (zh) * | 2022-04-08 | 2022-07-29 | 百果园技术(新加坡)有限公司 | 内容操作方法、装置、服务器及存储介质 |
WO2024198748A1 (zh) * | 2023-03-30 | 2024-10-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统、芯片及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304251A (zh) * | 2018-02-06 | 2018-07-20 | 网宿科技股份有限公司 | 线程同步方法及服务器 |
CN111475516A (zh) * | 2020-03-05 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 分布式锁的调用方法、装置、计算机设备及存储介质 |
CN111782357A (zh) * | 2020-06-19 | 2020-10-16 | 北京百度网讯科技有限公司 | 标签控制方法及装置、电子设备和可读存储介质 |
-
2021
- 2021-01-22 CN CN202110087440.5A patent/CN112799791A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304251A (zh) * | 2018-02-06 | 2018-07-20 | 网宿科技股份有限公司 | 线程同步方法及服务器 |
CN111475516A (zh) * | 2020-03-05 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 分布式锁的调用方法、装置、计算机设备及存储介质 |
CN111782357A (zh) * | 2020-06-19 | 2020-10-16 | 北京百度网讯科技有限公司 | 标签控制方法及装置、电子设备和可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407553A (zh) * | 2021-05-14 | 2021-09-17 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、系统、设备及存储介质 |
CN113407553B (zh) * | 2021-05-14 | 2023-05-05 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、系统、设备及存储介质 |
CN114820218A (zh) * | 2022-04-08 | 2022-07-29 | 百果园技术(新加坡)有限公司 | 内容操作方法、装置、服务器及存储介质 |
WO2024198748A1 (zh) * | 2023-03-30 | 2024-10-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、系统、芯片及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799791A (zh) | 分布式锁的调用方法、装置、电子设备和存储介质 | |
CN111459659A (zh) | 数据处理方法、装置、调度服务器及介质 | |
CN112118286B (zh) | 基于mdc多线程链路追踪方法、装置及计算机可读存储介质 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
CN113190427B (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN111737300A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN107239325B (zh) | 单证数据处理方法和装置 | |
CN113094125A (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
CN113703996B (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN111913743B (zh) | 数据处理方法及装置 | |
CN109710510B (zh) | 代码提交方法、装置、设备及可读存储介质 | |
CN111241594B (zh) | 交易信息的加签方法、装置、计算机设备和存储介质 | |
KR20110037969A (ko) | 모니터링 시스템에서의 메시지의 타겟화된 사용자 통지 | |
CN112527416A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN110166530B (zh) | 基于微服务返回值的处理方法、电子装置及计算机设备 | |
CN113535439B (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN113297149A (zh) | 数据处理请求的监测方法及装置 | |
CN112734360A (zh) | 端到端的业务流程管理方法、装置、设备及存储介质 | |
CN116820658B (zh) | 一种云应用页面渲染方法、装置、设备及存储介质 | |
CN111327513B (zh) | 消息数据的推送方法、装置、计算机设备及存储介质 | |
CN112241556B (zh) | 控制电路的中断管理方法、装置、设备及存储介质 | |
CN111736970B (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN115437769A (zh) | 数据处理方法和设备 | |
CN114153700A (zh) | 适用于gpu的资源占用处理方法、装置及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210514 |