CN113032407A - 互斥功能的处理方法、装置、存储介质和计算机设备 - Google Patents
互斥功能的处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN113032407A CN113032407A CN201911344037.5A CN201911344037A CN113032407A CN 113032407 A CN113032407 A CN 113032407A CN 201911344037 A CN201911344037 A CN 201911344037A CN 113032407 A CN113032407 A CN 113032407A
- Authority
- CN
- China
- Prior art keywords
- function
- identifier
- database
- mutual exclusion
- cluster
- 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
- 230000007717 exclusion Effects 0.000 title claims abstract description 139
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 400
- 238000012545 processing Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种互斥功能的处理方法、装置、存储介质和计算机设备,所述方法包括:响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;获取所述当前功能对应的互斥功能的锁定路径;当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。本申请实现多维度控制并发操作。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种互斥功能的处理方法、装置、存储介质和计算机设备。
背景技术
随着移动互联网、物联网等应用的飞速发展,全球数据量正在以极快的速度膨胀式增长。大数据时代的信息爆炸,尤其是非结构化数据的爆炸式增长,正在深刻影响着数据存储和分析领域。在企业数据分析处理过程中,通常每天执行的数据挖掘任务都会成百上千,甚至达到上万,并且存在大量跨部门的数据分析,虽然有统一的任务调度中心,但调度任务涉及到几万个节点,各个节点关系和任务关系都错综复杂。当多种操作并发执行时,可能会导致数据丢失等。
发明内容
基于此,有必要针对并发操作可能会导致数据丢失的问题,提供一种互斥功能的处理方法、装置、存储介质和计算机设备。
一种互斥功能的处理方法,所述方法包括:
响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;
获取所述当前功能对应的互斥功能的锁定路径;
当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。
在其中一个实施例中,所述锁定路径包括操作对象标识,所述操作对象标识包括所述互斥功能的目标操作对象标识,以及与所述目标操作对象标识具有层级关系的其它操作对象标识。
在其中一个实施例中,所述操作对象的类型包括:数据库应用集群标识、数据库集群标识以及数据库实例标识;
所述互斥功能的锁定路径,包括:
当所述互斥功能的目标操作对象为所述数据库应用集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识、所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识;
当所述互斥功能的目标操作对象为所述数据库集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库集群标识、所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识;
当所述互斥功能的目标操作对象为所述数据库实例标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库实例标识、所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识。
在其中一个实施例中,所述获取所述当前功能对应的互斥功能的锁定路径,包括:
遍历锁列表,从所述锁列表中获取所述互斥功能的锁定路径,所述锁列表用于记录当前执行的功能的锁定路径。
在其中一个实施例中,所述执行所述当前功能之前,还包括:
获取所述当前功能的锁定路径,将当前功能标识以及所述当前功能的锁定路径,添加至所述锁列表中。
在其中一个实施例中,所述方法还包括:
当检测到所述当前功能执行完成时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
在其中一个实施例中,所述方法还包括:
当检测所述当前功能执行失败时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
在其中一个实施例中,所述方法还包括:
当所述当前功能的目标操作对象标识,在所述互斥功能的锁定路径上时,将当前功能标识添加至锁队列;
当所述互斥功能的锁定路径解锁后,从所述锁队列中读取所述当前功能标识,并执行所述当前功能标识对应的当前功能。
一种互斥功能的处理装置,所述装置包括:
响应模块,用于响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;
获取模块,用于获取所述当前功能对应的互斥功能的锁定路径;
执行模块,用于当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。
一种存储介质,所述存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行互斥功能的处理方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行互斥功能的处理方法的步骤。
上述互斥功能的处理方法、装置、存储介质和计算机设备,响应于当前功能的执行请求,获取当前功能的目标操作对象标识,获取当前功能对应的互斥功能的锁定路径,当当前功能的目标操作对象标识,不在互斥功能的锁定路径上时,执行当前功能。这种互斥功能的处理方法,将功能的操作对象分为多个层级,按照操作对象标识所在的锁定路径对并发操作进行控制,从而实现多维度控制并发操作。
附图说明
图1为一个实施例中用于实现互斥功能的处理方法的终端的内部结构图;
图2为一个实施例中互斥功能的处理方法的流程示意图;
图3为一个实施例中互斥功能的处理方法的应用环境示意图;
图4为一个实施例中锁列表的结构示意图;
图5为一个实施例中锁定路径的示意图;
图6为另一个实施例中锁定路径的示意图;
图7为又一个实施例中锁定路径的示意图;
图8为再一个实施例中锁定路径的示意图;
图9为又一个实施例中锁定路径的示意图;
图10为再一个实施例中锁定路径的示意图;
图11为一个实施例中功能互斥表的结构示意图;
图12为一个实施例中互斥功能的处理装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中终端的内部结构示意图。如图1所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现一种互斥功能的处理方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。该内存储器中也可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种互斥功能的处理方法。网络接口用于与服务器或其他终端进行网络通信。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等。输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供了一种互斥功能的处理方法。
参照图2,该互斥功能的处理方法具体包括如下步骤:
S202,响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识。
功能是指操作于数据库的功能,比如数据库的创建,数据库存储数据的查询、添加、修改与删除,数据库的用户管理以及权限管理等。
目标操作对象是指功能所针对的操作对象。目标操作对象标识用于表征目标操作对象的身份信息,其可为目标操作对象的名称等。
操作对象的类型可以是数据库实例、数据库集群、数据库应用集群等。
数据库实例包括操作线程以及为操作线程所分配的内存池。数据库管理系统将数据库的数据以文件形式存储在磁盘上,而访问磁盘是一个非常耗时的工作,故可采用数据库管理系统中的实例来提高数据的访问速度。由实例的一组操作线程从磁盘上将数据库文件读入到实例的内存池中,在内存池中对数据库文件进行操作,再将操作后的数据库文件经过操作线程写入数据库。其中,数据库管理系统是为管理数据库而设计的电脑软件系统,主要完成对数据库的操纵与管理功能。
数据库集群是指,采用至少两个数据库实例共同驱动数据库的架构。数据库应用集群是指,采用至少两个数据库集群共同驱动数据库的架构。可以看出,数据库应用集群、数据库集群以及数据库实例之间存在层级关系。
数据库集群下数据库实例的数量,以及数据库应用集群下数据库集群的数量可根据实际应用进行设定。比如,一个数据库应用集群下可包括两个数据库集群,每个数据库集群下可包括两个数据库实例。
针对操作于数据库的各种功能,不同的功能的操作对象的类型不同,比如功能A的操作对象的类型可为数据库应用集群,功能B的操作对象的类型可为数据库集群。不同的功能的目标操作对象不同,比如功能A的目标操作对象可为数据库应用集群中的一个,功能B的目标操作对象可为数据库集群中的一个。
S204,获取所述当前功能对应的互斥功能的锁定路径。当一功能执行时,可针对该功能的目标操作对象标识所在的虚拟路径进行锁定,即为该功能的锁定路径。锁定路径用于表征该功能所对应的操作范围。互斥是指,两个功能不能够在同一时间,执行同一锁定路径上的操作对象。
锁定路径上为操作对象标识,该操作对象标识包括目标操作对象标识,以及与该目标操作对象标识具有层级关系的其它操作对象标识。
在一个实施例中,所述互斥功能的锁定路径,包括:
当所述互斥功能的目标操作对象为所述数据库应用集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识、所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识。
如图3所示,当互斥功能的目标操作对象标识为数据库应用集群APP_CLUSTER_1时,若互斥功能自身互斥,锁定路径可包括:数据库应用集群APP_CLUSTER_1,数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_1,数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_2,数据库集群HA_CLUSTER_1_1下的数据库实例INST_1_1_1和数据库实例INST_1_1_2,数据库集群HA_CLUSTER_1_2下的数据库实例INST_1_2_1和数据库实例INST_1_2_2;若互斥功能自身不互斥,锁定路径可包括:数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_1,数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_2,数据库集群HA_CLUSTER_1_1下的数据库实例INST_1_1_1和数据库实例INST_1_1_2,数据库集群HA_CLUSTER_1_2下的数据库实例INST_1_2_1和数据库实例INST_1_2_2。
当所述互斥功能的目标操作对象为所述数据库集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库集群标识、所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识。
如图3所示,当互斥功能的目标操作对象标识为数据库集群HA_CLUSTER_1_1时,若互斥功能自身互斥,锁定路径可包括数据库应用集群APP_CLUSTER_1,数据库集群HA_CLUSTER_1_1,数据库集群HA_CLUSTER_1_1下的数据库实例INST_1_1_1和数据库实例INST_1_1_2;若互斥功能自身不互斥,锁定路径可包括数据库应用集群APP_CLUSTER_1,数据库集群HA_CLUSTER_1_1下的数据库实例INST_1_1_1和数据库实例INST_1_1_2。
当所述互斥功能的目标操作对象为所述数据库实例标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库实例标识、所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识。
如图3所示,当互斥功能的目标操作对象标识为数据库实例INST_1_1_1时,若互斥功能自身互斥,锁定路径可包括数据库应用集群APP_CLUSTER_1,数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_1,数据库集群HA_CLUSTER_1_1下的数据库实例INST_1_1_1;若互斥功能自身不互斥,锁定路径可包括数据库应用集群APP_CLUSTER_1,数据库应用集群APP_CLUSTER_1下的数据库集群HA_CLUSTER_1_1。可预先设置功能之间的互斥规则。功能之间的互斥规则可记录在功能互斥表中。
如图4所示,功能互斥表可包括功能标识、该功能标识对应的互斥功能标识等。功能互斥表还可包括锁类型,可包括:数据库应用集群锁、数据库集群锁和数据库实例锁等;更新时间;操作入口信息,可包括:编辑、删除、新增等,可根据输入的编辑指令、删除指令、新增指令等对功能互斥表进行修改。
可通过锁列表记录当前执行的功能的锁定路径。锁列表中可包括当前执行的功能的功能标识以及该功能的锁定路径。
S206,当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能锁定。
当当前功能的目标操作对象标识不在互斥功能的锁定路径上时,执行当前功能;当当前功能的目标操作对象标识在互斥功能的锁定路径上时,当互斥功能的锁定路径解锁后,才可执行当前功能。
比如,如图5所示,设置功能A、功能B与功能C之间互斥,且功能A自身互斥,功能B自身互斥,功能C自身互斥;功能D、功能E与功能F之间不互斥,且功能D自身不互斥,功能E自身不互斥,功能F自身不互斥;功能A、功能B、功能C与功能D、功能E与功能F之间不互斥。其中,自身互斥是说,该功能不能在同一时间,多次执行同一锁定路径,同理,自身不互斥是说,当前功能可以在同一时间,多次执行同一锁定路径。
功能A和功能D的操作对象的影响范围均为数据库应用集群APP_CLUSTER_1,功能B和功能E的操作对象的影响范围均为数据库应用集群HA_CLUSTER_1_1、HA_CLUSTER_1_2,功能C和功能F的操作对象的影响范围均为数据库实例INST_1_1_1、INST_1_1_2。当APP_CLUSTER_1被功能A执行,其锁定路径为:APP_CLUSTER_1、HA_CLUSTER_1_1、HA_CLUSTER_1_2、INST_1_1_1、INST_1_1_2、INST_1_2_1以及INST_1_2_2,那么功能A不能再对APP_CLUSTER_1进行操作,功能B不能对HA_CLUSTER_1_1、HA_CLUSTER_1_2进行操作,功能C不能对INST_1_1_1、INST_1_1_2进行操作,但是功能D、功能E、功能F的操作不受影响。当功能A的锁定路径解锁后,功能A可对APP_CLUSTER_1进行操作,功能B可对HA_CLUSTER_1_1、HA_CLUSTER_1_2进行操作,功能C可对INST_1_1_1、INST_1_1_2进行操作。
如图6所示,当HA_CLUSTER_1_1被功能B执行,其锁定路径为:APP_CLUSTER_1、HA_CLUSTER_1_1、INST_1_1_1以及INST_1_1_2,那么功能A不能再对APP_CLUSTER_1进行操作,功能B不能对HA_CLUSTER_1_1进行操作,功能C不能对INST_1_1_1进行操作,但是功能B可以对HA_CLUSTER_1_2进行操作,功能C可以对INST_1_2_1、INST_1_2_2进行操作。功能D、功能E、功能F的操作不受影响。当功能B的锁定路径解锁后,功能A可对APP_CLUSTER_1进行操作,功能B可对HA_CLUSTER_1_1进行操作,功能C可对INST_1_1_1进行操作。
如图7所示,当INST_1_1_1被功能C执行,其锁定路径为:APP_CLUSTER_1、HA_CLUSTER_1_1、INST_1_1_1,那么功能A不能再对APP_CLUSTER_1进行操作,功能B不能对HA_CLUSTER_1_1进行操作,功能C不能对INST_1_1_1进行操作,但是功能B可以对HA_CLUSTER_1_2进行操作,功能C可以对INST_1_1_2、INST_1_2_1、INST_1_2_2进行操作。功能D、功能E、功能F的操作不受影响。当功能C的锁定路径解锁后,功能A可对APP_CLUSTER_1进行操作,功能B可对HA_CLUSTER_1_1进行操作,功能C可对INST_1_1_1进行操作。
如图8所示,当APP_CLUSTER_1被功能D执行,功能A、功能B、功能C、功能D、功能E与功能F的操作不受影响;同理,如图9所示,当HA_CLUSTER_1_1被功能E执行,功能A、功能B、功能C、功能D、功能E与功能F的操作不受影响;如图10所示,当INST_1_1_1被功能F执行,功能A、功能B、功能C、功能D、功能E与功能F的操作不受影响。
本实施例提供的互斥功能的处理方法,响应于当前功能的执行请求,获取当前功能的目标操作对象标识,获取当前功能对应的互斥功能的锁定路径,当当前功能的目标操作对象标识,不在互斥功能的锁定路径上时,执行当前功能。这种互斥功能的处理方法,将功能的操作对象分为多个层级,按照操作对象标识所在的锁定路径对并发操作进行控制,从而实现多维度控制并发操作。
在一个实施例中,所述获取所述当前功能对应的互斥功能的锁定路径,包括:遍历锁列表,从所述锁列表中获取所述互斥功能的锁定路径,所述锁列表用于记录当前执行的功能的锁定路径。
锁列表中可包括当前执行的功能的功能标识以及该功能的锁定路径。比如,同上述的例子,当互斥功能的目标操作对象标识为数据库应用集群APP_CLUSTER_1时,将互斥功能标识以及互斥功能的锁定路径--数据库应用集群APP_CLUSTER_1、数据库集群HA_CLUSTER_1_1、数据库集群HA_CLUSTER_1_2、数据库实例INST_1_1_1、数据库实例INST_1_1_2、数据库实例INST_1_2_1以及数据库实例INST_1_2_2添加至锁列表中。
如图11所示,锁列表中包括触发操作,即锁定路径的功能标识;锁对象,即锁定路径上的操作对象标识;还可包括上锁时间,即该锁定路径的锁定时间;锁类型,可包括数据库应用集群锁、数据库集群锁、数据库实例锁等;操作入口信息,可包括解锁入口信息等。
本实施例提供的互斥功能的处理方法,通过锁列表记录当前执行的功能的锁定路径,避免并发操作的执行。
在一个实施例中,所述执行所述当前功能之前,还包括:获取所述当前功能的锁定路径,将当前功能标识以及所述当前功能的锁定路径,添加至所述锁列表中。
当执行功能之前,将功能标识以及功能的锁定路径,添加至所述锁列表中,使得与该功能互斥的功能不能对锁定路径进行操作,而与该功能不互斥的功能可以对锁定路径进行操作。
本实施例提供的互斥功能的处理方法,在当前功能执行之前,先锁定当前功能的目标操作对象标识所在的虚拟路径,避免并发操作的执行。
在一个实施例中,所述方法还包括:当检测到所述当前功能执行完成时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
当检测到功能执行完成时,可解锁功能的锁定路径,以使得互斥功能可执行该锁定路径上的操作对象。
本实施例提供的互斥功能的处理方法,当功能执行完成时,及时对锁定路径进行解锁。
在一个实施例中,所述方法还包括:当检测所述当前功能执行失败时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
当检测到功能执行失败时,可解锁功能的锁定路径,以使得互斥功能可执行该锁定路径上的操作对象。
本实施例提供的互斥功能的处理方法,当功能执行失败时,及时对锁定路径进行解锁。
在一个实施例中,所述方法还包括:当所述当前功能的目标操作对象标识,在所述互斥功能的锁定路径上时,将当前功能标识添加至锁队列;当所述互斥功能的锁定路径解锁后,从所述锁队列中读取所述当前功能标识,并执行所述当前功能标识对应的当前功能。
其中,锁队列用于对互斥功能进行排队。当当前功能的目标操作对象标识在互斥功能的锁定路径上时,当前功能不可执行,可将当前功能标识添加至锁队列,以在互斥功能的锁定路径解锁后,从锁队列中读取功能标识,并依次执行该功能标识对应的功能。
本实施例提供的互斥功能的处理方法,当锁定路径被解锁后,保障互斥功能的有序执行。
图2为一个实施例中互斥功能的处理方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图12所示,在一个实施例中,提供了一种互斥功能的处理装置1200,包括:响应模块1202、获取模块1204和执行模块1206。
响应模块1202,用于响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;
获取模块1204,用于获取所述当前功能对应的互斥功能的锁定路径;
执行模块1206,用于当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。
上述互斥功能的处理装置1200,响应于当前功能的执行请求,获取当前功能的目标操作对象标识,获取当前功能对应的互斥功能的锁定路径,当当前功能的目标操作对象标识,不在互斥功能的锁定路径上时,执行当前功能。这种互斥功能的处理方法,将功能的操作对象分为多个层级,按照操作对象标识所在的虚拟路径对并发操作进行控制,从而实现多维度控制并发操作。
在一个实施例中,所述获取模块1204,还用于:遍历锁列表,从所述锁列表中获取所述互斥功能的锁定路径,所述锁列表用于记录当前执行的功能的锁定路径。
在一个实施例中,所述互斥功能的处理装置1200还包括添加模块,所述添加模块,用于:获取所述当前功能的锁定路径,将当前功能标识以及所述当前功能的锁定路径,添加至所述锁列表中。
在一个实施例中,所述互斥功能的处理装置1200还包括删除模块,所述删除模块,用于:当检测到所述当前功能执行完成时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
在一个实施例中,所述删除模块,还用于:当检测所述当前功能执行失败时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
在一个实施例中,所述执行模块1206,还用于:当所述当前功能的目标操作对象标识,在所述互斥功能的锁定路径上时,将当前功能标识添加至锁队列;当所述互斥功能的锁定路径解锁后,从所述锁队列中读取所述当前功能标识,并执行所述当前功能标识对应的当前功能。
图13示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图13所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现互斥功能的处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行互斥功能的处理方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的互斥功能的处理装置可以实现为一种计算机程序的形式,计算机程序可在如图13所示的计算机设备上运行。计算机设备的存储器中可存储组成该互斥功能的处理装置的各个程序模块,比如,图12所示的响应模块1202、获取模块1204和执行模块1206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的互斥功能的处理方法中的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述互斥功能的处理方法的步骤。此处互斥功能的处理方法的步骤可以是上述各个实施例的互斥功能的处理方法中的步骤。
在一个实施例中,提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述互斥功能的处理方法的步骤。此处互斥功能的处理方法的步骤可以是上述各个实施例的互斥功能的处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Sync小时link)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种互斥功能的处理方法,其特征在于,所述方法包括:
响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;
获取所述当前功能对应的互斥功能的锁定路径;
当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。
2.根据权利要求1所述的方法,其特征在于,所述锁定路径包括操作对象标识,所述操作对象标识包括所述互斥功能的目标操作对象标识,以及与所述目标操作对象标识具有层级关系的其它操作对象标识。
3.根据权利要求2所述的方法,其特征在于,所述操作对象的类型包括:数据库应用集群标识、数据库集群标识以及数据库实例标识;
所述互斥功能的锁定路径,包括:
当所述互斥功能的目标操作对象为所述数据库应用集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识、所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库应用集群标识下的数据库集群标识,以及所述数据库集群标识下的数据库实例标识;
当所述互斥功能的目标操作对象为所述数据库集群标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库集群标识、所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库集群标识所属的数据库应用集群标识,以及所述数据库集群标识下的数据库实例标识;
当所述互斥功能的目标操作对象为所述数据库实例标识时,若所述互斥功能自身互斥,所述互斥功能的锁定路径包括:所述数据库实例标识、所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识;若所述互斥功能自身不互斥,所述互斥功能的锁定路径包括:所述数据库实例标识所属的数据库集群标识,以及所述数据库集群标识所属的数据库应用集群标识。
4.根据权利要求1所述的方法,其特征在于,所述获取所述当前功能对应的互斥功能的锁定路径,包括:
遍历锁列表,从所述锁列表中获取所述互斥功能的锁定路径,所述锁列表用于记录当前执行的功能的锁定路径。
5.根据权利要求4所述的方法,其特征在于,所述执行所述当前功能之前,还包括:
获取所述当前功能的锁定路径,将当前功能标识以及所述当前功能的锁定路径,添加至所述锁列表中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当检测到所述当前功能执行完成,或者检测到所述当前功能执行失败时,从所述锁列表中删除所述当前功能标识以及所述当前功能的锁定路径。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述当前功能的目标操作对象标识,在所述互斥功能的锁定路径上时,将当前功能标识添加至锁队列;
当所述互斥功能的锁定路径解锁后,从所述锁队列中读取所述当前功能标识,并执行所述当前功能标识对应的当前功能。
8.一种互斥功能的处理装置,其特征在于,所述装置包括:
响应模块,用于响应于当前功能的执行请求,获取所述当前功能的目标操作对象标识;
获取模块,用于获取所述当前功能对应的互斥功能的锁定路径;
执行模块,用于当所述当前功能的目标操作对象标识,不在所述互斥功能的锁定路径上时,执行所述当前功能。
9.一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911344037.5A CN113032407A (zh) | 2019-12-24 | 2019-12-24 | 互斥功能的处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911344037.5A CN113032407A (zh) | 2019-12-24 | 2019-12-24 | 互斥功能的处理方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032407A true CN113032407A (zh) | 2021-06-25 |
Family
ID=76451465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911344037.5A Pending CN113032407A (zh) | 2019-12-24 | 2019-12-24 | 互斥功能的处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032407A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945539A (zh) * | 2006-10-19 | 2007-04-11 | 华为技术有限公司 | 计算机集群系统中共享资源锁分配方法与计算机及集群系统 |
US20140245065A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat, Inc. | Tracking Subclasses of and Operations Performed by Generic Objects in a Computer System |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
-
2019
- 2019-12-24 CN CN201911344037.5A patent/CN113032407A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1945539A (zh) * | 2006-10-19 | 2007-04-11 | 华为技术有限公司 | 计算机集群系统中共享资源锁分配方法与计算机及集群系统 |
US20140245065A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat, Inc. | Tracking Subclasses of and Operations Performed by Generic Objects in a Computer System |
CN106156126A (zh) * | 2015-04-08 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 处理数据任务中的数据冲突检测方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6826604B2 (en) | Input/output device information management system for multi-computer system | |
US9772911B2 (en) | Pooling work across multiple transactions for reducing contention in operational analytics systems | |
US11080261B2 (en) | Hybrid concurrency control | |
CN104462127A (zh) | 一种记录数据更新方法及装置 | |
CN111125040A (zh) | 管理重做日志的方法、装置及存储介质 | |
CN110866011B (zh) | 数据表同步方法、装置、计算机设备和存储介质 | |
CN110659259A (zh) | 数据库迁移方法、服务器以及计算机存储介质 | |
US11853284B2 (en) | In-place updates with concurrent reads in a decomposed state | |
CN107644041B (zh) | 保单结算处理方法和装置 | |
CN114064300A (zh) | 线程死锁检测方法、装置、设备、介质和计算机程序产品 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN111984659A (zh) | 数据更新方法、装置、计算机设备和存储介质 | |
US20140181502A1 (en) | Dynamically manipulating rules for adding new devices | |
CN113032407A (zh) | 互斥功能的处理方法、装置、存储介质和计算机设备 | |
CN109165208B (zh) | 一种用于将数据加载到数据库中的方法及系统 | |
CN110515970B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN113849482A (zh) | 一种数据迁移方法、装置及电子设备 | |
CN113536254A (zh) | 资源权限配置方法、装置、计算机设备和存储介质 | |
CN111158701B (zh) | 库模块发布方法、装置、设备及存储介质 | |
US10698802B1 (en) | Method and system for generating a validation test | |
JP2016194826A (ja) | データベースの処理制御方法、処理制御プロラム及びデータベースサーバ | |
CN113867975B (zh) | 一种命令行的快速响应方法、装置和计算机设备 | |
CN116257531B (zh) | 一种数据库空间回收方法 | |
CN116578247B (zh) | 一种基于元数据的数据存取方法及系统 | |
CN117077447B (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 |