CN117271546B - 资源并发访问处理方法、装置、设备及存储介质 - Google Patents
资源并发访问处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117271546B CN117271546B CN202311567125.8A CN202311567125A CN117271546B CN 117271546 B CN117271546 B CN 117271546B CN 202311567125 A CN202311567125 A CN 202311567125A CN 117271546 B CN117271546 B CN 117271546B
- Authority
- CN
- China
- Prior art keywords
- resource
- data
- calculation result
- service
- shared resource
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims abstract description 105
- 238000012795 verification Methods 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明一个或多个实施例。在本发明一个或多个实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本发明一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
图1是本发明提供的资源并发访问处理方法的流程示意图。如图1所示,该资源并发访问处理方法包括:
步骤S11,获取共享资源的初始数据;
需要说明的是,共享资源包括免费通话资源、话费金额资源和网络流量资源等资源,可选地,在不同各领域中对应的共享资源不同,所述初始数据表示所述共享资源在当前时刻的业务数据,免费通话资源当前的初始数据是1000秒。
步骤S12,基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;
具体地,确定所述共享资源关联的业务逻辑规则,所述业务逻辑规则是根据共享资源的业务类型确定,进而基于所述初始数据和所述业务逻辑规则,计算得到所述目标任务对应的业务计算结果。
步骤S13,若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;
需要说明的是,当一个任务(线程或进程)尝试获取锁时,如果锁是还未被占用,那么该任务可通过竞争机制成功获取锁,并在任务完成后释放锁。但是,如果另一个任务已经获得了锁,那么任何其他任务尝试获取该锁都将被阻塞,直到锁被释放为止。对于加解锁操作,可采用数据库自身的锁机制,也可采用其它组件实现分布式锁,本发明实施例不做具体限制。这种锁的机制确保了在同一时间只有一个任务能够访问受保护的资源,从而防止竞争条件和数据损坏。
需要说明的是,可能存在多个任务同时检查同一共享资源是否未被加锁,如果该共享资源当前处于未被加锁状态,则这几个任务将会同时获得对该共享资源进行加锁的资格。在一实施例中,可选地,可根据各个任务生成的加锁请求中的时间戳,在后续的共享资源访问过程中将优先触发时间戳最早的锁信息对应的任务执行,该时间戳是根据接收到各个任务的加锁请求的时刻确定。从而实现对多个任务并发访问同一共享资源的控制,避免并发访问冲突所造成的共享资源的破坏。需要说明的是,按时间戳的先后顺序确定获得锁,是多任务竞争锁资源的其中一种算法,在其他实施例中,竞争锁资源的算法不局限于这一种算法,跟具体采用哪种锁实现有关。
需要说明的是,获取共享资源的初始数据之后,由于目标任务未加锁共享资源,此时,并不会阻碍到其它任务的并发处理,也即,可能存在其它任务加锁成功后已更新共享资源。因此,需要在校验之前,重新对共享资源进行加锁,在数据库中获取所述共享资源的资源数据。
具体地,若加锁成功所述共享资源,则重新在数据库中获取所述共享资源的资源数据,进而基于所述共享资源关联的业务校验规则,对所述业务计算结果和所述资源数据进行校验,业务校验规则需要结合业务逻辑进行设置,例如,针对通话业务,若免费通话的资源数据是800秒,当前通话的业务计算结果是60秒,当前的资源数据800秒足够扣减,则确定符合业务逻辑。此外,若未加锁成功所述共享资源,则等待其他任务解锁释放所述共享资源。
步骤S14,若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;
具体地,若校验成功,则证明确定所述共享资源关联的数据更新规则,进而基于所述资源数据和所述业务计算结果,按照所述数据更新规则计算得到资源更新数据。可选地,业务更新规则需要结合业务逻辑进行设置,例如,针对通话业务,若免费通话的资源数据是800秒,当前通话的业务计算结果是60秒,资源更新数据则是740秒。
步骤S15,将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。
需要说明的是,数据源端可以是数据库也可以是其它存储介质。具体地,将所述资源更新数据更新存储至数据源端中,进而解锁释放所述共享资源,以供其他任务对共享资源进行加锁。
其中,所述对所述业务计算结果和所述资源数据进行校验之后,还包括:
若校验失败,则解锁释放所述共享资源;将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
具体地,若校验失败,则进行解锁以释放所述共享资源,进而将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
本发明实施例通过上述方案,包括:获取共享资源的初始数据;基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。通过将最耗时的业务逻辑计算步骤剥离出锁保护范围之外,能够最大力度减少锁等待时间,且在更新共享资源数据之前进行加锁,加锁成功后重新获取所述共享资源的资源数据,以对资源数据和逻辑计算的业务计算结果进行业务逻辑校验,确保不影响业务逻辑计算及数据更新的准确性。并且在多任务并发处理时,由于锁占用时间减少,从而使得产生锁冲突的可能性也减少,有效提升系统整体并发处理的性能效率。
在本发明的一个实施例中,所述基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果,包括:
确定所述共享资源关联的业务逻辑规则;
基于所述初始数据和所述业务逻辑规则,计算得到所述目标任务对应的业务计算结果。
需要说明的是,所述业务逻辑规则表示对当前目标任务的业务数据进行计算的逻辑规则,业务逻辑规则是需要根据实际业务需求来确定,包括逻辑处理、分支流程、数值计算和异常处理等等。例如,针对流量充值业务,获取用户选取的充值流量是20G,以及该业务的业务逻辑规则是充值额外赠送10G流量,计算得到业务计算结果则是30G流量。可选地,在一些业务中,业务计算结果可直接根据业务逻辑规则计算得到,例如,通话计费业务,可根据用户通话的时长,按计费的业务逻辑规则计算得到业务计算结果。
在本发明的一个实施例中,所述若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验,包括:
若确定所述目标任务加锁成功所述共享资源,则重新获取所述共享资源的资源数据;确定所述共享资源关联的业务校验规则;判断所述业务计算结果和所述资源数据是否符合所述业务规则。
需要说明的是,所述业务校验规则是对业务计算结果和资源数据进行约束的逻辑规则。具体地,获取所述目标任务发送加锁请求,若所述目标任务加锁成功所述共享资源,则重新在数据库中获取所述共享资源的资源数据,进而判断所述业务计算结果和所述资源数据是否符合所述共享资源关联的业务规则。
本发明实施例通过把最耗时的业务逻辑计算步骤,剥离出锁保护范围之外,可尽最大限度减少锁占用时间。后面依据相对耗时远小于业务逻辑计算步骤的校验步骤,来保障业务逻辑计算和数据更新的准确性,使得产生锁冲突的可能性也减少,提升系统并发处理的性能效率。
在本发明的一个实施例中,所述基于所述业务计算结果和所述资源数据,确定资源更新数据,包括:
确定所述共享资源关联的数据更新规则;基于所述资源数据和所述业务计算结果,按照所述数据更新规则计算得到资源更新数据。
具体地,将所述资源数据和所述业务计算结果,按照所述数据更新规则计算得到资源更新数据,可选地,不同业务的共享资源所对应的更新过程不尽相同,资源更新数据包括扣减和累计等计算方式。
如图2所示,图2是本发明提供的资源并发访问处理方法的完整流程示意图,具体地:获取共享资源的初始数据,进而按照业务逻辑规则计算得到目标任务对应的业务计算结果,进一步地,目标任务竞争获取写锁,若未加锁成功所述共享资源,则等待其他任务解锁释放所述共享资源。若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,进而对所述业务计算结果和所述资源数据进行校验,若业务计算结果和所述资源数据符合业务校验规则,则证明校验成功,进而基于所述业务计算结果和所述资源数据,确定资源更新数据,从而将所述资源更新数据更新至数据源端中,进而解锁释放所述共享资源。若校验失败,则解锁释放所述共享资源,并且将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
举个简单例子:假如用户A有个免费通话资源的初始数据是1000秒,任务一的业务逻辑计算阶段需要对此用户的一条通话话单进行计费,按计费逻辑,这条通话话单的通话时长为20秒,如果用户有免费通话资源的且大于等于20秒(本次这条通话话单的通话时长),优先扣减免费通话资源,如果免费通话资源不够扣减,则按标准资费批价进入其它流程。那么,并发任务可能的情况如下:
任务一:获取共享资源的初始数据,也即:用户A的免费通话时长是1000秒;业务逻辑计算:针对此次计费,需对用户A的免费通话时长扣减20秒;加锁:针对用户A的免费通话资源加锁成功,此时独占写操作,免费通话资源数据不会被别的任务更新。可选地,读取初始数据之后,由于未加锁,并不会阻碍到其它任务的并发处理,其它任务可能会更新免费通话资源,假如,任务一在加锁之前免费通话时长被其它任务更新为800秒,因此,需要重新获取所述共享资源的资源数据;任务一需扣减免费通话时长20秒,此时系统中用户A的免费通话时长剩余800秒,足够扣减,符合业务逻辑及业务规则约束,校验通过。更新资源:需要更新的免费通话时长 = 当前系统免费通话时长(800秒)-需扣减免费通话时长(20秒)= 780秒。把需要更新的免费通话时长更新提交到数据库中。进而解锁释放资源,本次处理流程完成。此时,锁保护期间的耗时是加锁过程、校验过程、更新资源过程以及解锁释放资源过程的总耗时。从而将耗时较长的业务计算步骤剥离出锁保护范围外,减少锁占用时间,使得产生锁冲突的可能性也减少,提升系统并发处理的性能效率。
下面对本发明提供的资源并发访问处理装置进行描述,下文描述的资源并发访问处理装置与上文描述的资源并发访问处理方法可相互对应参照。
图3是本发明提供的资源并发访问处理装置的结构示意图,如图3所示,本发明实施例的一种资源并发访问处理装置,该装置包括:
获取模块21,用于获取共享资源的初始数据;
第一确定模块22,用于基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;
校验模块23,用于若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;
第二确定模块24,用于若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;
更新解锁模块25,用于将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。
所述资源并发访问处理装置包括:
若校验失败,则解锁释放所述共享资源;
将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
所述资源并发访问处理装置包括:
资源释放模块,用于若校验失败,则解锁释放所述共享资源;
标记模块,用于将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
所述资源并发访问处理装置包括:
若确定所述目标任务加锁成功所述共享资源,则重新获取所述共享资源的资源数据;
确定所述共享资源关联的业务校验规则;
判断所述业务计算结果和所述资源数据是否符合所述业务规则。
所述资源并发访问处理装置包括:
确定所述共享资源关联的数据更新规则;
基于所述资源数据和所述业务计算结果,按照所述数据更新规则计算得到资源更新数据。
所述资源并发访问处理装置包括:
若未加锁成功所述共享资源,则等待其他任务解锁释放所述共享资源。
在此需要说明的是,本发明实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同技术效果,在此不再对本实施例中与方法实施例相同部分及有益效果进行具体赘述。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)310、存储器(memory)320、通信接口(Communications Interface)330和通信总线340,其中,处理器310,存储器320,通信接口330通过通信总线340完成相互间的通信。处理器310可以调用存储器320中的逻辑指令,以执行资源并发访问处理方法,该方法包括:获取共享资源的初始数据;基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。
此外,上述的存储器320中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的资源并发访问处理方法,该方法包括:获取共享资源的初始数据;基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的资源并发访问处理方法,该方法包括:获取共享资源的初始数据;基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种资源并发访问处理方法,其特征在于,包括:
获取共享资源的初始数据;
基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;
若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;
若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;
将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源;其中,锁保护期间的耗时是加锁过程、校验过程、更新资源过程以及解锁释放资源过程的总耗时;
所述若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验,包括:
获取所述目标任务发送加锁请求;
若确定所述目标任务加锁成功所述共享资源,则重新获取所述共享资源的资源数据;
确定所述共享资源关联的业务校验规则;
判断所述业务计算结果和所述资源数据是否符合所述业务校验规则。
2.根据权利要求1所述的资源并发访问处理方法,其特征在于,所述对所述业务计算结果和所述资源数据进行校验之后,还包括:
若校验失败,则解锁释放所述共享资源;
将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
3.根据权利要求1所述的资源并发访问处理方法,其特征在于,所述基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果,包括:
确定所述共享资源关联的业务逻辑规则;
基于所述初始数据和所述业务逻辑规则,计算得到所述目标任务对应的业务计算结果。
4.根据权利要求1所述的资源并发访问处理方法,其特征在于,所述基于所述业务计算结果和所述资源数据,确定资源更新数据,包括:
确定所述共享资源关联的数据更新规则;
基于所述资源数据和所述业务计算结果,按照所述数据更新规则计算得到资源更新数据。
5.根据权利要求1所述的资源并发访问处理方法,其特征在于,所述基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果之后,还包括:
若未加锁成功所述共享资源,则等待其他任务解锁释放所述共享资源。
6.一种资源并发访问处理装置,其特征在于,包括:
获取模块,用于获取共享资源的初始数据;
第一确定模块,用于基于所述初始数据进行业务逻辑处理以输出目标任务对应的业务计算结果;
校验模块,用于若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验;
第二确定模块,用于若校验成功,则基于所述业务计算结果和所述资源数据,确定资源更新数据;
更新解锁模块,用于将所述资源更新数据更新至数据源端中,并解锁释放所述共享资源;其中,锁保护期间的耗时是加锁过程、校验过程、更新资源过程以及解锁释放资源过程的总耗时;
所述若加锁成功所述共享资源,则重新获取所述共享资源的资源数据,以对所述业务计算结果和所述资源数据进行校验,包括:
获取所述目标任务发送加锁请求;
若确定所述目标任务加锁成功所述共享资源,则重新获取所述共享资源的资源数据;
确定所述共享资源关联的业务校验规则;
判断所述业务计算结果和所述资源数据是否符合所述业务校验规则。
7.根据权利要求6所述的资源并发访问处理装置,其特征在于,所述资源并发访问处理装置还包括:
资源释放模块,用于若校验失败,则解锁释放所述共享资源;
标记模块,用于将所述业务计算结果标记为无效,并返回执行所述获取共享资源的初始数据的步骤。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述资源并发访问处理方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述资源并发访问处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311567125.8A CN117271546B (zh) | 2023-11-23 | 2023-11-23 | 资源并发访问处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311567125.8A CN117271546B (zh) | 2023-11-23 | 2023-11-23 | 资源并发访问处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117271546A CN117271546A (zh) | 2023-12-22 |
CN117271546B true CN117271546B (zh) | 2024-03-01 |
Family
ID=89220073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311567125.8A Active CN117271546B (zh) | 2023-11-23 | 2023-11-23 | 资源并发访问处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271546B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102056120A (zh) * | 2009-11-06 | 2011-05-11 | 中国移动通信集团安徽有限公司 | 通信资源共享方法及装置 |
CN103020149A (zh) * | 2012-11-22 | 2013-04-03 | 用友软件股份有限公司 | 共享数据更新装置和共享数据更新方法 |
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
CN108270581A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团湖北有限公司 | 共享资源计费处理方法及装置 |
CN109151238A (zh) * | 2017-06-14 | 2019-01-04 | 西安优庆商贸有限公司 | 通信资源共享装置 |
CN110866757A (zh) * | 2019-11-19 | 2020-03-06 | 神州数码融信软件有限公司 | 电子账户的透支防止方法及装置 |
CN115269155A (zh) * | 2022-08-04 | 2022-11-01 | 华院计算技术(上海)股份有限公司 | 业务数据请求的调度方法、系统、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396227B2 (en) * | 2012-03-29 | 2016-07-19 | Hewlett Packard Enterprise Development Lp | Controlled lock violation for data transactions |
-
2023
- 2023-11-23 CN CN202311567125.8A patent/CN117271546B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102056120A (zh) * | 2009-11-06 | 2011-05-11 | 中国移动通信集团安徽有限公司 | 通信资源共享方法及装置 |
CN103544153A (zh) * | 2012-07-10 | 2014-01-29 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据更新方法和系统 |
CN103020149A (zh) * | 2012-11-22 | 2013-04-03 | 用友软件股份有限公司 | 共享数据更新装置和共享数据更新方法 |
CN108270581A (zh) * | 2016-12-31 | 2018-07-10 | 中国移动通信集团湖北有限公司 | 共享资源计费处理方法及装置 |
CN109151238A (zh) * | 2017-06-14 | 2019-01-04 | 西安优庆商贸有限公司 | 通信资源共享装置 |
CN110866757A (zh) * | 2019-11-19 | 2020-03-06 | 神州数码融信软件有限公司 | 电子账户的透支防止方法及装置 |
CN115269155A (zh) * | 2022-08-04 | 2022-11-01 | 华院计算技术(上海)股份有限公司 | 业务数据请求的调度方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117271546A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9756469B2 (en) | System with multiple conditional commit databases | |
US8132174B2 (en) | Concurrency management in cluster computing of business applications | |
CN104636878A (zh) | 一种银行自动处理任务的调度方法及装置 | |
CN117271546B (zh) | 资源并发访问处理方法、装置、设备及存储介质 | |
CN113448701B (zh) | 一种多进程外呼控制方法、系统、电子设备及存储介质 | |
CN117707798A (zh) | 多线程并发状态下的死锁消除方法、装置、设备及介质 | |
CN111695901B (zh) | 账务凭证处理方法、装置、设备及存储介质 | |
CN115729946B (zh) | 一种处理分布式事务的方法、装置、设备及存储介质 | |
CN115563139A (zh) | 交易请求处理方法及装置 | |
CN102831547B (zh) | 一种实现实时结息处理的方法和系统 | |
CN114253720A (zh) | 多线程任务执行方法、装置、电子设备和存储介质 | |
CN114971753A (zh) | 一种基于分布式锁的开票方法和系统 | |
CN114036102A (zh) | 支付撤销的多类型分布式管理方法及装置 | |
CN115292335A (zh) | 事务处理方法、装置及电子设备 | |
CN113961364A (zh) | 一种大规模锁系统实现方法、装置、存储介质和服务器 | |
CN112669151A (zh) | 一种多系统协同业务处理的方法及设备 | |
CN109903022B (zh) | 资源发放方法、装置、设备及计算机可读存储介质 | |
CN113112304A (zh) | 一种智能奖品派发方法及系统 | |
CN111814007B (zh) | 双向链表数据处理方法、装置、设备及机器可读存储介质 | |
CN115719274B (zh) | 一种分布式事务交易的控制方法、装置、设备及存储介质 | |
CN115756768B (zh) | 基于saga的分布式事务处理方法、装置、设备及介质 | |
CN115719274A (zh) | 一种分布式事务交易的控制方法、装置、设备及存储介质 | |
CN116069454A (zh) | 一种数据库事务并发控制方法及装置 | |
CN115907999A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN118227635A (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 |