CN110097330A - 一种业务请求处理方法、装置及计算机可读存储介质 - Google Patents
一种业务请求处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110097330A CN110097330A CN201910236938.6A CN201910236938A CN110097330A CN 110097330 A CN110097330 A CN 110097330A CN 201910236938 A CN201910236938 A CN 201910236938A CN 110097330 A CN110097330 A CN 110097330A
- Authority
- CN
- China
- Prior art keywords
- service request
- lock
- note
- locking
- preconfigured
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种业务请求处理方法、装置及计算机可读存储介质。该方法包括:服务器接收多个业务请求,按照预设规则拦截其中一个业务请求并加锁预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁,再按照预设规则拦截下一个业务请求并加锁该预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁。采用本发明实施例,开发人员无需对每一个业务请求配置分布式锁,而只需使用同一个注解锁,大大减少了代码量,解决了多个业务并发问题,从而提高了系统的稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务请求处理方法、装置及计算机可读存储介质。
背景技术
随着公司业务的不断扩张,业务系统的不断增多,当单机模式的业务处理量达到服务器自身所承载的极限的时候,工作人员会把相同的代码复制几份部署到多台服务器上,同时提供业务服务,构成一个系统集群。但在集群模式经常会引发很多并发请求问题,如,当财务人员失误双击了放款按钮时,在集群环境很可能就发生重复放款。
在现有技术中,当业务出现并发请求问题时,就对此业务的逻辑代码加一段分布式锁来解决并发问题,但这样会导致逻辑代码比较臃肿,而且很容易出错。因此,如何解决业务并发问题,从而提高系统的稳定性是本技术领域人员所要研究的问题。
发明内容
本发明实施例公开了一种业务请求处理方法、装置及计算机可读存储介质,能够业务请求处理。
第一方面,本发明实施例提供了一种业务请求处理方法,该方法包括:
接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
在上述方法中,服务器接收多个业务请求,按照预设规则拦截其中一个业务请求并加锁预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁,再按照预设规则拦截下一个业务请求并加锁该预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁,按照这样的方式处理每一个业务请求;在这个过程中,开发人员无需对每一个业务请求配置分布式锁,而只需使用同一个注解锁,大大减少了代码量,解决了多个业务并发问题,从而提高了系统的稳定性。
基于第一方面,在其中一种可选的实现方式中,所述预设规则包括:
根据所述多个业务请求中每个业务请求的触发时间,选取所述触发时间最早的业务请求;或者
根据所述多个业务请求中每个业务请求的预设优先级,选取所述预设优先级最高的业务请求。
基于第一方面,在其中一种可选的实现方式中,对当前拦截的业务请求加锁预先配置的注解锁之后,还包括:
基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
这种实现方式设置了解锁过程的等待时间,在解锁的过程中,若超过了等待时间没有解锁成功,则对该注解锁进行强制解锁,避免了资源长期被占用,服务器宕机等状况。
基于第一方面,在其中一种可选的实现方式中,所述对当前拦截的业务请求加锁预先配置的注解锁,包括:
基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
这种实现方式设置了加锁过程的轮休时间和等待时间,在加锁的过程中,若超过轮休时间没有加锁成功,则等待轮休时间后继续循环加锁,一直到等待时间还没有加锁成功则放弃加锁,避免了资源长期被占用等状况。
基于第一方面,在其中一种可选的实现方式中,所述对当前拦截的业务请求加锁失败之后包括:
输出加锁失败提示消息,所述加锁失败提示消息用于提示对当前拦截的业务请求加锁所述注解锁失败。
第二方面,本发明实施例提供了一种业务请求处理装置,包括:
第一配置单元,用于接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
第一解锁单元,用于加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
第二配置单元,用于按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
第二解锁单元,用于加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
基于第二方面,在其中一种可选的实现方式中,所述预设规则包括:
根据所述多个业务请求中每个业务请求的触发时间,选取所述触发时间最早的业务请求;或者
根据所述多个业务请求中每个业务请求的预设优先级,选取所述预设优先级最高的业务请求。
基于第二方面,在其中一种可选的实现方式中,所述装置还包括:
删除单元,用于对当前拦截的业务请求加锁预先配置的注解锁之后,基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
基于第二方面,在其中一种可选的实现方式中,所述装置还包括:
放弃单元,用于对当前拦截的业务请求加锁预先配置的注解锁时,基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
基于第二方面,在其中一种可选的实现方式中,所述装置还包括:
输出单元,用于输出加锁失败提示消息,所述加锁失败提示消息用于提示对当前拦截的业务请求加锁所述注解锁失败。
需要说明的是,第二方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。
第三方面,本发明实施例提供了一种业务请求处理的设备,其特征在于,包括处理组件、存储组件和通信模组件,处理组件、存储组件和通信组件相互连接,其中,存储组件用于存储数据处理代码,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用程序代码,执行第一方面所述的方法。
需要说明的是,第三方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行第一方面所述的方法。
需要说明的是,第四方面的实现方式及相应的有益效果可以参照第一方面以及相应实现方式中的描述,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种业务请求处理方法的系统架构图;
图2是本发明实施例提供的一种业务请求处理方法的流程示意图;
图3是本发明实施例提供的一种业务请求处理装置的结构示意图;
图4是本发明实施例提供的一种业务请求处理设备的结构示意图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行描述。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。在本申请说明书中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本说明书中使用的术语“设备”、“单元”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,设备可以是但不限于,处理器,数据处理平台,计算设备,计算机,2个或更多个计算机等。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
为了更好的理解本发明实施例提供的一种业务请求处理方法、装置及计算机可读存储介质,下面先对本发明实施例的业务请求处理方法的系统架构进行描述。如图1所示,其为本申请实施例提供的一种业务请求处理方法的系统架构示意图,该系统包括多个服务器,该多个服务器构成一个服务器集群,以及一个或多个终端(或设备),服务器在一定时间内接收到多个并发业务请求,对单个业务请求进行拦截并加锁注解锁,处理完该业务请求后,解锁并对下一个业务请求进行拦截并加锁相同的注解锁,通过对每个业务请求的加锁解锁操作,解决多个业务请求的并发问题,其中:
服务器可以包括但不限于后台服务器、组件服务器、数据处理服务器等,服务器可以通过互联网与多个终端进行通信。服务器为终端提供业务请求处理服务。服务器上需要运行有相应的服务器端程序来提供相应的业务请求处理服务,如数据库服务、数据分析、决策执行等等。
终端可以安装并运行相关的客户端。客户端是指与服务器相对应,为客户提供本地服务的程序。这里,该本地服务可包括但不限于:向服务器发送信息(例如业务请求信息)和接收服务器发送的信息(例如业务执行信息)以及共享信息等等。本方案实施例中的终端可以包括但不限于任何一种基于智能操作系统的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。其中,智能操作系统包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作系统,诸如安卓(AndroidTM)、iOSTM、Windows PhoneTM等。
下面结合图2就本申请的业务请求处理方法进行说明,如图2所示,其为本申请实施例提供的一种业务请求处理方法的流程示意图,该方法可以基于图1所示的系统架构或者其他架构来实现,该方法可以包括但不限于以下步骤:
步骤S201:接收多个业务请求,根据预设规则拦截多个业务请求中的第一业务请求,对第一业务请求加锁预先配置的注解锁。
具体地,服务器接收到终端发送的多个业务请求,根据预设规则拦截多个业务请求中的第一业务请求,该预设规则可以是根据多个业务请求中每个业务请求的触发时间,选取触发时间最早的业务请求,也即是说根据时间顺序处理每个收到的业务请求,服务器拦截第一个收到的业务请求;该预设规则还可以是根据多个业务请求中每个业务请求的预设优先级,选取预设优先级最高的业务请求,也即是说,用户可以对终端发送的业务请求预设一个优先级,当业务请求中包含特定预设字段时,优先级最高,当服务器获取了多个并发的业务请求时,拦截优先级最高的业务请求,若有多个优先级相同的业务请求,则再按时间顺序拦截第一个收到的业务请求。
服务器接收到终端发送的多个业务请求,根据预设规则拦截多个业务请求中的第一业务请求后,对该第一业务请求加锁预先配置的注解锁,该注解锁用于占用目标资源并进入业务请求执行状态,该业务请求执行状态持续到服务器开始拦截下一个业务请求结束。
在其中一个实施方式中,在服务器当前拦截的业务请求加锁预先配置的注解锁的过程中,服务器基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待加锁轮休时间后进行下一次加锁预先配置的注解锁,若还不成功,则再等待加锁轮休时间后进行下一次加锁预先配置的注解锁,重复进行循环加锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间的总和超过第二等待时间,则对当前拦截的业务请求加锁失败,放弃当前拦截的业务请求。举例来说,设置预设轮休时间为2秒,预设最大等待时间为10秒,则若服务器对第一业务请求的注解锁配置失败,则等待2秒之后再次加锁,若再次失败,则再等待2秒后加锁,循环加锁直到加锁成功,处理该第一业务请求,或者直到总时间达到10秒都没有加锁成功,即从配置注解锁开始时超过10秒都没有配置成功,则放弃对当前拦截的业务请求的加锁,根据预设规则拦截下一个业务请求,并输出加锁失败提示消息,提示对当前拦截的业务请求加锁注解锁失败。这种实现方式设置了加锁过程的轮休时间和等待时间,在加锁的过程中,若超过轮休时间没有加锁成功,则等待轮休时间后继续循环加锁,一直到等待时间还没有加锁成功则放弃加锁,避免了资源长期被占用等状况。
步骤S202:根据业务请求执行状态,接收到解锁指令后,对第一业务请求的注解锁进行解锁。
具体地,第一业务请求进入业务请求执行状态,服务器根据第一业务请求的业务请求执行状态,接收到解锁指令后,即第一业务请求处理结束后,对第一业务请求的注解锁进行解锁,释放目标资源,拦截下一个业务请求。
在其中一个实施方式中,在服务器对当前拦截的业务请求加锁预先配置的注解锁之后,基于设置的解锁的第一等待时间,若接收到解锁指令后,超过了该第一等待时间没有释放第一业务请求占用的目标资源,则删除第一业务请求的注解锁,强制释放目标资源。举例来说,设置第一预设时间为10秒,当服务器对第一业务请求的注解锁进行解锁时,若超过了10秒没有解锁成功,即目标资源没有被释放,则服务器强制删除第一业务请求的注解锁,并释放目标资源,拦截下一个业务请求。这种实现方式设置了解锁过程的等待时间,在解锁的过程中,若超过了等待时间没有解锁成功,则对该注解锁进行强制解锁,避免了资源长期被占用,服务器宕机等状况。
步骤S203:按照预设规则拦截多个业务请求中的第二业务请求,对第二业务请求配置所述注解锁。
具体地,服务器对第一业务请求的注解锁进行成功解锁后,标志了第一业务请求的处理结束,该第一业务请求便不在该多个业务请求之中了,根据预设规则拦截多个业务请求中的第二业务请求,该预设规则可以是根据多个业务请求中每个业务请求的触发时间,选取触发时间最早的业务请求,也即是说根据时间顺序处理每个收到的业务请求,服务器拦截第一个收到的业务请求;该预设规则还可以是根据多个业务请求中每个业务请求的预设优先级,选取预设优先级最高的业务请求,也即是说,用户可以对终端发送的业务请求预设一个优先级,当业务请求中包含特定预设字段时,优先级最高,当服务器获取了多个并发的业务请求时,拦截优先级最高的业务请求,若有多个优先级相同的业务请求,则再按时间顺序拦截第一个收到的业务请求。
服务器对第一业务请求的注解锁进行成功解锁后,根据预设规则拦截多个业务请求中的第二业务请求,对该第二业务请求加锁该预先配置的注解锁,该注解锁与步骤S201的注解锁相同,用于占用目标资源并进入业务请求执行状态,该业务请求执行状态持续到服务器开始拦截下一个业务请求结束。
在其中一个实施方式中,在服务器当前拦截的业务请求加锁预先配置的注解锁的过程中,服务器基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待加锁轮休时间后进行下一次加锁预先配置的注解锁,若还不成功,则再等待加锁轮休时间后进行下一次加锁预先配置的注解锁,重复进行循环加锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间的总和超过第二等待时间,则对当前拦截的业务请求加锁失败,放弃当前拦截的业务请求。举例来说,设置预设轮休时间为2秒,预设最大等待时间为10秒,则若服务器对第一业务请求的注解锁配置失败,则等待2秒之后再次加锁,若再次失败,则再等待2秒后加锁,循环加锁直到加锁成功,处理该第一业务请求,或者直到总时间达到10秒都没有加锁成功,即从配置注解锁开始时超过10秒都没有配置成功,则放弃对当前拦截的业务请求的加锁,根据预设规则拦截下一个业务请求,并输出加锁失败提示消息,提示对当前拦截的业务请求加锁注解锁失败。
步骤S204:根据业务请求执行状态,接收到解锁指令后,对第二业务请求的注解锁进行解锁。
具体地,第二业务请求进入业务请求执行状态,服务器根据第二业务请求的业务请求执行状态,接收到解锁指令后,即第二业务请求处理结束后,对第二业务请求的注解锁进行解锁,释放目标资源,拦截下一个业务请求,直到处理完毕接收到的所有业务请求。
在其中一个实施方式中,在服务器对第一业务请求的注解锁进行解锁之前,若接收到解锁指令,超过了第一预设等待时间没有释放第二业务请求占用的目标资源,则删除第二业务请求的注解锁,强制释放目标资源。举例来说,设置第一预设时间为10秒,当服务器对第二业务请求的注解锁进行解锁时,若超过了10秒没有解锁成功,即目标资源没有被释放,则服务器强制删除第二业务请求的注解锁,并释放目标资源,拦截下一个业务请求,直到处理完毕接收到的所有业务请求。
实施本申请实施例,服务器接收多个业务请求,按照预设规则拦截其中一个业务请求并加锁预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁,再按照预设规则拦截下一个业务请求并加锁该预先配置的注解锁,处理完该业务请求后对该注解锁进行解锁,按照这样的方式处理每一个业务请求;在这个过程中,开发人员无需对每一个业务请求配置分布式锁,而只需使用同一个注解锁,大大减少了代码量,解决了多个业务并发问题,从而提高了系统的稳定性。
为了便于更好地实施本申请实施例的上述方案,本申请还对应提供了一种业务请求处理装置,下面结合附图来进行详细说明:
如图3所示,本申请实施例提供一种业务请求处理装置30的结构示意图,业务请求处理装置30可以包括:第一配置单元301、第一解锁单元302、第二配置单元303、第二解锁单元304,其中,
第一配置单元301,用于接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
其中,预设规则包括:根据所述多个业务请求中每个业务请求的触发时间,选取所述触发时间最早的业务请求;或者根据所述多个业务请求中每个业务请求的预设优先级,选取所述预设优先级最高的业务请求。
第一解锁单元302,用于加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
第二配置单元303,用于按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
第二解锁单元304,用于加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
在本申请实施例中,该装置还可以包括:
删除单元305,用于对当前拦截的业务请求加锁预先配置的注解锁之后,基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
拦截单元306,用于对当前拦截的业务请求加锁预先配置的注解锁时,基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
输出单元307,用于输出加锁失败提示消息,所述加锁失败提示消息用于提示对当前拦截的业务请求加锁所述注解锁失败。
需要说明的是,本申请实施例中图3所描述的装置中各功能单元的功能可参见上述图2中所述的方法实施例中步骤S201-步骤S204的相关描述,此处不再赘述。
根据以上业务请求处理装置图,请参考图4,图4是本申请实施例提供的一种简化的业务请求处理设备结构示意图。便于理解和图示方便,图4的业务请求处理设备40中,可以包括以下一个或多个组件:存储器401、处理器402、通信设备403和输入/输出设备404。
存储器401可以包括一个或多个存储单元,每个单元可以包括一个或多个存储器,存储器可用于存储程序和各种数据,并能在业务请求处理设备40运行过程中高速、自动地完成程序或数据的存取。当图4所示的业务请求处理设备40,执行图2所述方法时,存储器可以用来存储业务请求处理、业务请求处理以及其他相关数据等。
通信设备403,也可以称为收发机,或收发器等,其中可以包括用来进行无线、有线或其他通信方式的单元。可选的,可以将403部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即403部分包括接收单元和发送单元。
处理器402,处理器也可以称为处理单元,处理单板,处理模块,处理装置等。处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。当图4所示的业务请求处理设备40,执行图2所述方法时,所述处理器402调用所述存储器401的业务请求处理程序,执行以下步骤:
通过通信设备403接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
其中,处理器402还用于:
对当前拦截的业务请求加锁预先配置的注解锁之后,基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
其中,处理器402还用于:
对当前拦截的业务请求加锁预先配置的注解锁的过程中,基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
其中,处理器402还用于:
输出加锁失败提示消息,所述加锁失败提示消息用于提示对当前拦截的业务请求加锁所述注解锁失败。
需要说明的是,本申请实施例中的业务请求处理设备40中处理器402的执行步骤可参考上述各方法实施例中图2实施例中的具体实现方式,这里不再赘述。
输入/输出设备404,可以为业务请求处理设备40外围部件接口之间提供接口,上述外围部件可以为键盘,鼠标,显示器,按钮,相似装置等。这些按钮可包括但不限于:启动/关闭按钮,锁定按钮和重置按钮等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。尽管在此结合各实施例对本申请进行了描述,然而,在实施例所要求保护的本申请过程中,本领域技术人员可理解并实现公开实施例的其他变化。
Claims (10)
1.一种业务请求处理方法,其特征在于,包括:
接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
2.根据权利要求1所述的方法,其特征在于,所述预设规则包括:
根据所述多个业务请求中每个业务请求的触发时间,选取所述触发时间最早的业务请求;或者
根据所述多个业务请求中每个业务请求的预设优先级,选取所述预设优先级最高的业务请求。
3.根据权利要求1所述的方法,其特征在于,对当前拦截的业务请求加锁预先配置的注解锁之后,还包括:
基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
4.根据权利要求1-3任一项所述的方法,其特征在于,对当前拦截的业务请求加锁预先配置的注解锁,包括:
基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
5.根据权利要求4所述的方法,其特征在于,所述对当前拦截的业务请求加锁失败之后包括:
输出加锁失败提示消息,所述加锁失败提示消息用于提示对当前拦截的业务请求加锁所述注解锁失败。
6.一种业务请求处理装置,其特征在于,包括:
第一配置单元,用于接收多个业务请求,根据预设规则拦截所述多个业务请求中的第一业务请求,对所述第一业务请求加锁预先配置的注解锁,所述注解锁用于占用目标资源并进入业务请求执行状态;
第一解锁单元,用于加锁成功后根据所述业务请求执行状态,接收到解锁指令后,对所述第一业务请求的所述注解锁进行解锁,所述解锁用于释放所述目标资源;
第二配置单元,用于按照所述预设规则拦截所述多个业务请求中的第二业务请求,对所述第二业务请求加锁所述预先配置的注解锁;
第二解锁单元,用于加锁成功后根据所述业务请求执行状态,接收到所述解锁指令后,对所述第二业务请求的所述注解锁进行所述解锁。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除单元,用于对当前拦截的业务请求加锁预先配置的注解锁之后,基于设置的所述解锁的第一等待时间,若接收到所述解锁指令后,超过了所述第一等待时间没有释放所述目标资源,则删除当前拦截的业务请求加锁的所述注解锁。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
拦截单元,用于对当前拦截的业务请求加锁预先配置的注解锁的过程中,基于设置的加锁轮休时间和第二等待时间,若本次加锁预先配置的注解锁不成功,则等待所述加锁轮休时间后进行下一次加锁预先配置的注解锁,直到对当前拦截的业务请求加锁预先配置的注解锁的时间超过所述第二等待时间,则对当前拦截的业务请求加锁失败,根据预设规则拦截下一个业务请求。
9.一种业务请求处理的设备,其特征在于,包括处理组件、存储组件和通信模组件,处理组件、存储组件和通信组件相互连接,其中,存储组件用于存储数据处理代码,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用程序代码,执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236938.6A CN110097330A (zh) | 2019-03-27 | 2019-03-27 | 一种业务请求处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236938.6A CN110097330A (zh) | 2019-03-27 | 2019-03-27 | 一种业务请求处理方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110097330A true CN110097330A (zh) | 2019-08-06 |
Family
ID=67443322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236938.6A Withdrawn CN110097330A (zh) | 2019-03-27 | 2019-03-27 | 一种业务请求处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097330A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502527A (zh) * | 2019-08-26 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 后台请求防重发的方法、装置、计算机设备及存储介质 |
CN111026465A (zh) * | 2019-11-15 | 2020-04-17 | 北京三快在线科技有限公司 | 程序处理方法、装置、电子设备及存储介质 |
CN111131394A (zh) * | 2019-11-29 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 基于分布式锁的并发请求处理方法、装置及计算机可读存储介质 |
CN112988319A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | Lvm数据处理方法、装置、计算机设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990179B2 (en) * | 2008-12-19 | 2015-03-24 | Oracle International Corporation | Time limited lock ownership |
CN107181789A (zh) * | 2017-03-31 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 一种分布式锁实现方法及装置 |
CN107544850A (zh) * | 2016-06-29 | 2018-01-05 | 百度在线网络技术(北京)有限公司 | 用于控制分布式锁的方法和装置 |
CN107656815A (zh) * | 2016-07-26 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 用于控制分布式锁的方法和装置 |
CN108492003A (zh) * | 2017-02-15 | 2018-09-04 | 蓝色棱镜有限公司 | 分配优化的处理自动化进程的系统 |
-
2019
- 2019-03-27 CN CN201910236938.6A patent/CN110097330A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990179B2 (en) * | 2008-12-19 | 2015-03-24 | Oracle International Corporation | Time limited lock ownership |
CN107544850A (zh) * | 2016-06-29 | 2018-01-05 | 百度在线网络技术(北京)有限公司 | 用于控制分布式锁的方法和装置 |
CN107656815A (zh) * | 2016-07-26 | 2018-02-02 | 北京京东尚科信息技术有限公司 | 用于控制分布式锁的方法和装置 |
CN108492003A (zh) * | 2017-02-15 | 2018-09-04 | 蓝色棱镜有限公司 | 分配优化的处理自动化进程的系统 |
CN107181789A (zh) * | 2017-03-31 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 一种分布式锁实现方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502527A (zh) * | 2019-08-26 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 后台请求防重发的方法、装置、计算机设备及存储介质 |
CN111026465A (zh) * | 2019-11-15 | 2020-04-17 | 北京三快在线科技有限公司 | 程序处理方法、装置、电子设备及存储介质 |
CN111131394A (zh) * | 2019-11-29 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 基于分布式锁的并发请求处理方法、装置及计算机可读存储介质 |
CN112988319A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | Lvm数据处理方法、装置、计算机设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110097330A (zh) | 一种业务请求处理方法、装置及计算机可读存储介质 | |
CN110276182B (zh) | Api分布式限流的实现方法 | |
US7614059B2 (en) | System and method for the discovery and usage of local resources by a mobile agent object | |
CN103634347B (zh) | 一种并行业务处理方法、设备及系统 | |
US20070016527A1 (en) | Method and system for user-controlled, strong third-party-mediated authentication | |
CN108965348A (zh) | 网络安全防护方法、设备及计算机可读存储介质 | |
CN110247857B (zh) | 限流方法及装置 | |
WO2023093039A1 (zh) | 一种进程间通讯方法及系统 | |
CN112328362A (zh) | 一种基于容器技术实现函数计算服务的方法 | |
CN106034120A (zh) | 一种多进程访问可信应用的方法和系统 | |
CN111107012A (zh) | 一种多维度集中流量的控制方法及系统 | |
CN109660869A (zh) | 多端配合的弹幕消息屏蔽方法、存储介质、设备及系统 | |
EP1687718A2 (en) | Allocation of resources in a computing device | |
CN109669785A (zh) | 终端应用的页面分享方法、装置、服务器及存储介质 | |
CN102693163A (zh) | 在线应用平台上应用间的应答通信方法和在线应用平台 | |
CN108898026A (zh) | 数据加密方法和装置 | |
US20140173635A1 (en) | System and method for adding local resources for use by a mobile agent object | |
CN110673970B (zh) | 一种基于web应用的跨进程调用系统及方法 | |
CN113541981A (zh) | 网络切片的成员管理方法及系统 | |
CN117240539A (zh) | 一种登录系统的方法及装置 | |
US7350065B2 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection | |
CN115840937A (zh) | 控制方法、装置及电子设备 | |
CN109783715A (zh) | 网络爬虫系统及方法 | |
CN112751857B (zh) | 一种云端应用和企端应用的数据安全交换方法及设备 | |
JP2004362591A (ja) | ユーザの秘匿idの管理を用いた、ユーザに対するサーバのサービス提供方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190806 |
|
WW01 | Invention patent application withdrawn after publication |