业务操作的并发访问控制方法及装置制造方法

文档序号:6550645阅读:236来源:国知局
业务操作的并发访问控制方法及装置制造方法
【专利摘要】本发明提供了一种业务操作的并发访问控制方法,包括:服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程;服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;服务端基于访问锁的申请结果,执行相应操作。本发明还提供了一种业务操作的并发访问控制装置。通过本发明的技术方案,可以在现有的业务操作的并发访问控制方式基础上,充分利用单业务操作的访问控制完成多业务操作的并发访问控制,建立单业务操作参与的面向多业务操作的并发访问控制的通用、统一访问控制思路。
【专利说明】业务操作的并发访问控制方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,具体地,涉及一种业务操作的并发访问控制方法和一种业务操作的并发访问控制装置。
[0002]

【背景技术】
[0003]在很多的管理软件应用的系统的中,都涉及到数据的并发访问操作。并发访问是指同一条数据或有相关性多条数据被多个操作同时访问,这时候,需要通过并发访问控制技术来解决,从而防止多个操作之间产生相互影响。
[0004]例如,当一个功能正在进行的时候,可能需要加载一些数据来计算并影响和修改另一些数据,这时候,其它功能操作如果同时也需要修改这些相关数据,就可能导致出现数据紊乱或脏读的情况。这两个或多个功能之间就存在着并发访问操作的问题。
[0005]目前,普遍使用方式是利用数据库自身的锁机制或者在业务操作时增加申请访问锁的方式来进行粗粒度的业务并发控制。普遍使用的并发访问控制是通过数据库自身的锁机制来实现,在多用户存在并发访问的情况下,数据库提供了一套锁机制,通过对被访问的数据上加锁,并让其他并发操作排队等待,来防止数据同时被修改。
[0006]这种方式即第一种方式的缺点是:只能对访问修改相同数据来进行加锁,不能多相同或相关业务影响和修改的一批数据来加锁,不适用于稍复杂一点的业务应用。
[0007]第二种方式是通过对用户的请求执行的功能在服务器端进行申请访问锁,进行访问锁的管理,如果申请成功,则继续通过访问数据进行业务执行该请求。如果申请失败,则应用服务器直接返回请求无法被处理的消息。
[0008]例如,在专利(申请)号为200810161293.6的专利(申请)文献中,公开了一种并发访问控制方法及装置,以解决目前的数据库锁机制存在数据库负担加重、容易产生死锁的问题。该并发访问控制方法包括:服务器端接收访问请求;确认所述请求是否需要申请访问锁,如果是,则申请访问锁;如果申请访问锁成功,则通过访问数据库执行该请求;当该请求执行完毕后,释放所述访问锁。该并发访问控制方法及装置提供了一套应用层次级别的锁机制,该机制将并发访问控制在应用服务器端,请求在到达数据库之前就被应用服务器端进行了过滤,过滤掉了并发请求。因此,在多用户、存在并发访问的情况下有效控制了数据的并发访问与修改,能够减轻数据库的负荷,并能有效降低数据库的死锁、等待等异常情况。
[0009]但这种方式即第二种方式的缺点是:访问锁的粒度过粗,如果并发用户量较多的情况下,非常容易出现不断的请求无法被处理的错误,影响用户的使用。
[0010]因此,需要一种新的业务操作的并发访问控制技术,可以在现有的业务操作的并发访问控制方式基础上,充分利用单业务操作的访问控制完成多业务操作的并发访问控制,建立单业务操作参与的面向多业务操作的并发访问控制的通用、统一访问控制思路。
[0011]


【发明内容】

[0012]本发明正是基于上述问题,提出了一种新的业务操作的并发访问控制技术,可以在现有的业务操作的并发访问控制方式基础上,充分利用单业务操作的访问控制完成多业务操作的并发访问控制,建立单业务操作参与的面向多业务操作的并发访问控制的通用、统一访问控制思路。
[0013]有鉴于此,本发明提出了一种业务操作的并发访问控制方法,包括:步骤102:月艮务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程;步骤104:月艮务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;步骤106:服务端基于访问锁的申请结果,执行相应操作。在该技术方案中,通过对访问锁的细化控制,可以大大减少业务的并发访问冲突,同时,也可以给用户带来良好的使用体验。
[0014]在上述技术方案中,优选地,所述步骤102具体包括:步骤202:客户端发出操作请求,服务端接收客户端发出的操作请求;步骤204:服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。在该技术方案中,通过将访问锁的控制放在单个的业务处理过程上,可以使加锁的时间变得更短,并使用户之间出现访问冲突的情况减到最少。
[0015]在上述技术方案中,优选地,所述步骤104具体包括:步骤206:服务端基于当前执行业务对应的业务操作,申请访问锁;进一步地,所述服务端基于当前执行业务对应的业务操作,申请访问锁的流程,还包括:当该申请访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息。在该技术方案中,访问锁的分类细化,分为读锁与写锁,多个业务操作在进行读锁操作时,相关不冲突。
[0016]在上述技术方案中,优选地,所述步骤106具体包括:步骤208:访问锁申请成功时,该业务操作执行访问数据库;步骤210:该业务操作访问数据库结束时,释放访问锁。在该技术方案中,当业务操作在适当时间内不发生冲突时,业务正常进行。
[0017]在上述技术方案中,优选地,所述步骤106具体还包括:步骤212:访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行步骤214或执行步骤2161 ;步骤214:若在预设次数内重试申请访问锁成功,则该业务操作正常进行;步骤216:若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息;步骤218:客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。在该技术方案中,通过在出错后,进行等待一个很小的时间,并进行再次申请访问锁的方式,来进行自动的重试,达到在适当时间冲突情况下能不出错,业务正常进行;而对于长时间冲突的情况,在重试配置的指定次数后,才返回请求与其它用户的操作冲突,请稍等执行的消息;同时,通过提供申请锁的监控界面来进行显示和管理锁的申请情况,对于系统出现故障的特殊情况,来让用户自己来对锁进行管理操作。
[0018]根据本发明的又一个方面,还提出了一种业务操作的并发访问控制装置,包括:单个业务处理单元,用于服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程;访问锁细化分类申请单元,用于服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;访问锁申请结果执行单元,用于服务端基于访问锁的申请结果,执行相应操作。在该技术方案中,通过对访问锁的细化控制,可以大大减少业务的并发访问冲突,同时,也可以给用户带来良好的使用体验。
[0019]在上述技术方案中,优选地,所述单个业务处理单元,具体包括:操作请求收发模块,用于客户端发出操作请求,服务端接收客户端发出的操作请求;当前业务执行模块,用于服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。在该技术方案中,通过将访问锁的控制放在单个的业务处理过程上,可以使加锁的时间变得更短,并使用户之间出现访问冲突的情况减到最少。
[0020]在上述技术方案中,优选地,所述访问锁细化分类申请单元,具体包括:访问锁申请模块,用于服务端基于当前执行业务对应的业务操作,申请访问锁;读锁模块,用于当该申请访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;写锁模块,用于当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;访问锁申请结果反馈模块,用于基于读锁模块和写锁模块的处理结果,向访问锁申请结果执行单元进行反馈。在该技术方案中,访问锁的分类细化,分为读锁与写锁,多个业务操作在进行读锁操作时,相关不冲突。
[0021]在上述技术方案中,优选地,所述访问锁申请结果执行单元,具体包括:访问锁申请成功时的处理模块,用于访问锁申请成功时,该业务操作执行访问数据库;以及,用于该业务操作访问数据库结束时,释放访问锁。在该技术方案中,当业务操作在适当时间内不发生冲突时,业务正常进行。
[0022]在上述技术方案中,优选地,所述访问锁申请结果执行单元,具体还包括:访问锁申请失败时的处理模块,用于访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行以下操作:若在预设次数内重试申请访问锁成功,则该业务操作正常进行;若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息;客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。在该技术方案中,通过在出错后,进行等待一个很小的时间,并进行再次申请访问锁的方式,来进行自动的重试,达到在适当时间冲突情况下能不出错,业务正常进行;而对于长时间冲突的情况,在重试配置的指定次数后,才返回请求与其它用户的操作冲突,请稍等执行的消息;同时,通过提供申请锁的监控界面来进行显示和管理锁的申请情况,对于系统出现故障的特殊情况,来让用户自己来对锁进行管理操作。
[0023]通过以上技术方案,可以在现有的业务操作的并发访问控制方式基础上,充分利用单业务操作的访问控制完成多业务操作的并发访问控制,建立单业务操作参与的面向多业务操作的并发访问控制的通用、统一访问控制思路。
[0024]

【专利附图】

【附图说明】
[0025]图1示出了根据本发明的实施例的业务操作的并发访问控制方法的流程图;
图2示出了根据本发明的实施例的业务操作的并发访问控制方法的详细流程图;
图3示出了根据本发明的实施例的访问锁申请失败的处理流程图;
图4示出了根据本发明的实施例的访问锁的分类细化流程图;
图5示出了根据本发明的实施例的业务操作的并发访问控制装置的框图。
[0026]

【具体实施方式】
[0027]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0028]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0029]图1示出了根据本发明的实施例的业务操作的并发访问控制方法的流程图。
[0030]如图1所示,根据本发明的实施例的业务操作的并发访问控制方法,包括:步骤102:服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程;步骤104:服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;步骤106:服务端基于访问锁的申请结果,执行相应操作。在该技术方案中,通过对访问锁的细化控制,可以大大减少业务的并发访问冲突,同时,也可以给用户带来良好的使用体验。
[0031]在上述技术方案中,优选地,如图2和图4所示,步骤102具体包括:步骤202:客户端发出操作请求,服务端接收客户端发出的操作请求;步骤204:服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。在该技术方案中,通过将访问锁的控制放在单个的业务处理过程上,可以使加锁的时间变得更短,并使用户之间出现访问冲突的情况减到最少。
[0032]在上述技术方案中,优选地,如图2和图4所示,步骤104具体包括:步骤206:月艮务端基于当前执行业务对应的业务操作,申请访问锁;进一步地,服务端基于当前执行业务对应的业务操作,申请访问锁的流程,还包括:当该申请访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息。在该技术方案中,访问锁的分类细化,分为读锁与写锁,多个业务操作在进行读锁操作时,相关不冲突。
[0033]在上述技术方案中,优选地,如图2所示,步骤106具体包括:步骤208:访问锁申请成功时,该业务操作执行访问数据库;步骤210:该业务操作访问数据库结束时,释放访问锁。在该技术方案中,当业务操作在适当时间内不发生冲突时,业务正常进行。
[0034]在上述技术方案中,优选地,如图2所示,步骤106具体还包括:步骤212:访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行步骤214或执行步骤2161 ;步骤214:若在预设次数内重试申请访问锁成功,则该业务操作正常进行;步骤216:若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息;步骤218:客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。在该技术方案中,通过在出错后,进行等待一个很小的时间,并进行再次申请访问锁的方式,来进行自动的重试,达到在适当时间冲突情况下能不出错,业务正常进行;而对于长时间冲突的情况,在重试配置的指定次数后,才返回请求与其它用户的操作冲突,请稍等执行的消息;同时,通过提供申请锁的监控界面来进行显示和管理锁的申请情况,对于系统出现故障的特殊情况,来让用户自己来对锁进行管理操作。
[0035]图5示出了根据本发明的实施例的业务操作的并发访问控制装置的框图。
[0036]如图5所示,根据本发明的实施例的业务操作的并发访问控制装置的框图,包括:单个业务处理单元302,用于服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程;访问锁细化分类申请单元304,用于服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;访问锁申请结果执行单元306,用于服务端基于访问锁的申请结果,执行相应操作。在该技术方案中,通过对访问锁的细化控制,可以大大减少业务的并发访问冲突,同时,也可以给用户带来良好的使用体验。
[0037]在上述技术方案中,优选地,单个业务处理单元302,具体包括:操作请求收发模块3021,用于客户端发出操作请求,服务端接收客户端发出的操作请求;当前业务执行模块3022,用于服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。在该技术方案中,通过将访问锁的控制放在单个的业务处理过程上,可以使加锁的时间变得更短,并使用户之间出现访问冲突的情况减到最少。
[0038]在上述技术方案中,优选地,访问锁细化分类申请单元304,具体包括:访问锁申请模块3041,用于服务端基于当前执行业务对应的业务操作,申请访问锁;读锁模块3042,用于当该申请访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;写锁模块3043,用于当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息;访问锁申请结果反馈模块3044,用于基于读锁模块和写锁模块的处理结果,向访问锁申请结果执行单元进行反馈。在该技术方案中,访问锁的分类细化,分为读锁与写锁,多个业务操作在进行读锁操作时,相关不冲突。
[0039]在上述技术方案中,优选地,访问锁申请结果执行单元306,具体包括:访问锁申请成功时的处理模块3061,用于访问锁申请成功时,该业务操作执行访问数据库;以及,用于该业务操作访问数据库结束时,释放访问锁。在该技术方案中,当业务操作在适当时间内不发生冲突时,业务正常进行。
[0040]在上述技术方案中,优选地,访问锁申请结果执行单元306,具体还包括:访问锁申请失败时的处理模块3062,用于访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行以下操作:若在预设次数内重试申请访问锁成功,则该业务操作正常进行;若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息;客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。在该技术方案中,通过在出错后,进行等待一个很小的时间,并进行再次申请访问锁的方式,来进行自动的重试,达到在适当时间冲突情况下能不出错,业务正常进行;而对于长时间冲突的情况,在重试配置的指定次数后,才返回请求与其它用户的操作冲突,请稍等执行的消息;同时,通过提供申请锁的监控界面来进行显示和管理锁的申请情况,对于系统出现故障的特殊情况,来让用户自己来对锁进行管理操作。
[0041]本发明的技术方案,主要涉及数据库相关管理软件,特别是其业务操作的一种并发访问控制的方法及装置。
[0042]为了解决上述问题,本发明在上述第二种方式的基础上增加了 3点改进方案: ⑴访问锁的粒度,对于加访问锁在用户操作是没有必要的,一个用户的操作会包含多个具体的业务处理过程,这多个业务处理过程有的是需要进行锁控制,有的则不需要。通过将访问锁的控制放在单个的业务处理过程上,使加锁的时间变得更短,用户之间出现访问冲突的情况减到最少。
[0043]⑵访问锁申请失败的处理,当出现访问锁申请失败时,一般另一个业务操作会很快的结束,此时,直接返回请求无法处理的消息给予用户不好的交互体验。而通过在出错后,进行等待一个很小的时间,并进行再次申请访问锁的方式,来进行自动的重试,达到在适当时间冲突情况下能不出错,业务正常进行。而对于长时间冲突的情况,在重试配置的指定次数后,才返回请求与其它用户的操作冲突,请稍等执行的消息,相应原理可参见图3中的相关表述。
[0044]⑶访问锁的分类细化,分为读锁与写锁,多个业务操作在进行读锁操作时,相关不冲突。如果有一个业务是写锁时,其它业务不能同时进行操作。具体逻辑为加锁逻辑图,可参见图4中的相关表述。
[0045]同时,通过提供申请锁的监控界面来进行显示和管理锁的申请情况,对于系统出现故障的特殊情况,来让用户自己来对锁进行管理操作。
[0046]经验证,本发明的技术方案,在用友ERP产品U9中,实施了本技术方案后,不仅大大的减少了业务的并发访问冲突,同时,也使给用户带来了良好的产品使用体验,对于产品的并发用户数的提高带来了明显的效果。
[0047]以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂业务操作的并发访问控制的解决办法。现有的并发访问控制无法完成有复杂业务操作参与的并发访问控制过程。因此,本发明提出了一种业务操作的并发访问控制方法和一种业务操作的并发访问控制装置,可以在现有的业务操作的并发访问控制方式基础上,充分利用单业务操作的访问控制完成多业务操作的并发访问控制,建立单业务操作参与的面向多业务操作的并发访问控制的通用、统一访问控制思路。
[0048]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种业务操作的并发访问控制方法,其特征在于,包括: 步骤102:服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程; 步骤104:服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁; 步骤106:服务端基于访问锁的申请结果,执行相应操作。
2.根据权利要求1所述的业务操作的并发访问控制方法,其特征在于,所述步骤102具体包括: 步骤202:客户端发出操作请求,服务端接收客户端发出的操作请求; 步骤204:服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。
3.根据权利要求1或2所述的业务操作的并发访问控制方法,其特征在于,所述步骤104具体包括: 步骤206:服务端基于当前执行业务对应的业务操作,申请访问锁;进一步地, 所述服务端基于当前执行业务对应的业务操作,申请访问锁的流程,还包括: 当该申请访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息; 当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息。
4.根据权利要求3所述的业务操作的并发访问控制方法,其特征在于,所述步骤106具体包括: 步骤208:访问锁申请成功时,该业务操作执行访问数据库; 步骤210:该业务操作访问数据库结束时,释放访问锁。
5.根据权利要求4所述的业务操作的并发访问控制方法,其特征在于,所述步骤106具体还包括: 步骤212:访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行步骤214或执行步骤2161 ; 步骤214:若在预设次数内重试申请访问锁成功,则该业务操作正常进行; 步骤216:若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息; 步骤218:客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。
6.一种业务操作的并发访问控制装置,其特征在于,包括: 单个业务处理单元,用于服务端基于客户端发出的操作请求,将访问锁的控制放在单个的业务处理过程; 访问锁细化分类申请单元,用于服务端基于预设多个业务操作中与该操作请求对应的业务操作,细化分类申请访问锁;访问锁申请结果执行单元,用于服务端基于访问锁的申请结果,执行相应操作。
7.根据权利要求6所述的业务操作的并发访问控制装置,其特征在于,所述单个业务处理单元,具体包括: 操作请求收发模块,用于客户端发出操作请求,服务端接收客户端发出的操作请求;当前业务执行模块,用于服务端执行与客户端发出的操作请求相对应的当前业务,该当前业务对应预设多个业务操作中的一个业务操作。
8.根据权利要求6或7所述的业务操作的并发访问控制装置,其特征在于,所述访问锁细化分类申请单元,具体包括: 访问锁申请模块,用于服务端基于当前执行业务对应的业务操作,申请访问锁; 读锁模块,用于当该申请 访问锁的操作是读锁操作时,判断是否已存在该访问锁:若存在写锁的操作,则该申请访问锁的操作失败;若存在读锁的操作或不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息; 写锁模块,用于当该申请访问锁的操作是写锁操作时,判断是否已存在该访问锁:若存在写锁的操作或存在读锁的操作,则该申请访问锁的操作失败;若不存在该访问锁时,则该申请访问锁的操作成功,增加与该申请访问锁的操作相对应的锁信息; 访问锁申请结果反馈模块,用于基于读锁模块和写锁模块的处理结果,向访问锁申请结果执行单元进行反馈。
9.根据权利要求8所述的业务操作的并发访问控制装置,其特征在于,所述访问锁申请结果执行单元,具体包括: 访问锁申请成功时的处理模块,用于访问锁申请成功时,该业务操作执行访问数据库;以及,用于该业务操作访问数据库结束时,释放访问锁。
10.根据权利要求9所述的业务操作的并发访问控制装置,其特征在于,所述访问锁申请结果执行单元,具体还包括: 访问锁申请失败时的处理模块,用于访问锁申请失败时,服务端等待预设时长后,自动重试申请访问锁预设次数,根据重试申请访问锁的结果,执行以下操作: 若在预设次数内重试申请访问锁成功,则该业务操作正常进行; 若在预设次数内重试申请访问锁不成功,则向客户端返回当前操作请求与其它用户的操作冲突、请稍等执行的消息; 客户端通过申请锁的监控界面显示和管理相应访问锁的申请情况,对于相应业务操作执行出现故障的情况,让用户自己来对应的访问锁进行管理操作。
【文档编号】G06F9/38GK104077111SQ201410284930
【公开日】2014年10月1日 申请日期:2014年6月24日 优先权日:2014年6月24日
【发明者】祁宏伟 申请人:用友优普信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1