CN109901933A - 业务系统的操作方法及装置、存储介质、电子装置 - Google Patents
业务系统的操作方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN109901933A CN109901933A CN201910049397.6A CN201910049397A CN109901933A CN 109901933 A CN109901933 A CN 109901933A CN 201910049397 A CN201910049397 A CN 201910049397A CN 109901933 A CN109901933 A CN 109901933A
- Authority
- CN
- China
- Prior art keywords
- target entity
- entity object
- state
- business
- flag state
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种业务系统的操作方法及装置、存储介质、电子装置,其中,该方法包括:接收针对目标实体对象的业务处理请求;根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;根据所述标记状态确定是否对所述目标实体对象执行业务操作。通过本发明,解决了相关技术中多个任务对同一个实体对象执行业务操作时造成并发冲突的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种业务系统的操作方法及装置、存储介质、电子装置。
背景技术
相关技术中,大型软件系统由于其内部逻辑纷繁复杂,在实施开发过程中,往往会按照高聚合低耦合的原则划分成多个完成特定功能的子系统。在电商相关的软件系统中,后台的子系统按照其主要的功能类别可以划分为两种:第一种是流程编排类子系统,主要用于协调流程,根据不同的输入、当前的背景,决策处理方案,同时组织多个系统间的系统工作;第二种是记录实体及处理相关逻辑的子系统,常见的有:订单子系统、券子系统、商品子系统等等。两种类型的子系统间存在频繁的交互,在一些极端的场景下,系统处理任务时,会存在并发冲突,例如对于同一个订单用户发起撤销的同时商家发起完成、同一张券用户发起退款的同时商家发起了使用等。跨系统间的并发冲突很可能会引起系统间的死锁,最终导致业务流程中断,无法完成预期功能。
相关技术的方案中,上游系统对下游系统的调用按照既定的逻辑顺序进行,走完步骤一,成功则到步骤二,失败则回滚步骤一并结束,以此类推,直到所有步骤走完。这个方案会遇到一个很大的问题,就是在并发场景下,可能存在多个处理过程经过不同的步骤后作用于一个实体对象,最终只有一个处理能成功,其余的处理过程都必须回滚之前的步骤,每个步骤回滚都依赖下游子系统提供相应的消除影响的能力,增加了子系统开发的难度,如申请号为CN201711104702的相关技术中,公开了一种异常事件的处理方法,在业务调用异常时,根据异常事件的异常信息执行重试回滚;另外,每个步骤回滚都可能涉及到软件子系统之间层层调用,极大的提升了系统设计的复杂度和运行的不稳定性。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种业务系统的操作方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种业务系统的操作方法,包括:接收针对目标实体对象的业务处理请求;根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;根据所述标记状态确定是否对所述目标实体对象执行业务操作。
可选的,根据所述标记状态确定是否对所述目标实体对象执行业务操作包括:在所述标记状态为指示所述目标实体对象未被占用的第一状态时,标记所述目标实体对象;在标记所述目标实体对象后,确定对所述目标实体对象执行业务操作。
可选的,标记所述目标实体对象包括:将所述目标实体对象的标记状态由所述第一状态更新为所述第二状态,并标注所述第二状态的标记来源和/或标记时间,其中,所述第二状态用于指示所述目标实体对象已经被占用。
可选的,根据所述标记状态确定是否对所述目标实体对象执行业务操作包括:在所述标记状态为指示所述目标实体对象已经被占用的第二状态时,查询所述第二状态的标记来源;在所述标记来源不是本地系统时,确定禁止对所述目标实体对象执行业务操作;在所述标记来源是本地系统时,确定对所述目标实体对象执行业务操作。
可选的,在确定对所述目标实体对象执行业务操作之后,所述方法还包括:监测所述业务操作是否执行完成;在所述业务操作执行完成后,解除所述第二状态。
可选的,根据所述业务处理请求查询所述目标实体对象的标记状态包括:根据所述业务处理请求的业务流程确定在多个流程时序上待执行的业务操作,其中,每个目标实体对象对应一个业务操作;基于所述流程时序按序查询每个业务操作的目标实体对象的标记状态。
可选的,在所述目标实体对象包括第一对象和第二对象,在根据所述业务处理请求查询所述目标实体对象的标记状态之后,所述方法还包括:在所述第一对象的标记状态的查询结果为未被占用的第一状态,且所述第二对象的标记状态的查询结果为已经被占用的第二状态时,若所述第一对象的标记状态已经被本地系统更新为所述第二状态,解除所述第一对象的所述第二状态。
可选的,接收针对目标实体对象的业务处理请求包括:在源业务系统中接收针对所述目标实体对象的业务处理请求,其中,所述目标实体对象设置在目标业务系统中。
可选的,根据所述标记状态确定是否对所述目标实体对象执行业务操作包括:根据所述标记状态确定是否在源业务系统中采用外部接口调用所述目标业务系统,并对所述目标业务系统中的目标实体对象执行业务操作。
根据本发明的另一个实施例,提供了一种业务系统的操作装置,包括:接收模块,用于接收针对目标实体对象的业务处理请求;查询模块,用于根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;确定模块,用于根据所述标记状态确定是否对所述目标实体对象执行业务操作。
可选的,所述确定模块包括:标记单元,用于在所述标记状态为指示所述目标实体对象未被占用的第一状态时,标记所述目标实体对象;第一确定单元,用于在标记所述目标实体对象后,对所述目标实体对象执行业务操作。
可选的,所述标记单元包括:更新子单元,用于将所述目标实体对象的标记状态由所述第一状态更新为所述第二状态;标记子单元,用于标注所述第二状态的标记来源和/或标记时间,其中,所述第二状态用于指示所述目标实体对象已经被占用。
可选的,所述确定模块包括:查询单元,用于在所述标记状态为指示所述目标实体对象已经被占用的第二状态时,查询所述第二状态的标记来源;第二确定单元,用于在所述标记来源不是本地系统时,禁止对所述目标实体对象执行业务操作;在所述标记来源是本地系统时,对所述目标实体对象执行业务操作。
可选的,所述装置还包括:监测模块,用于在所述确定模块确定对所述目标实体对象执行业务操作之后,监测所述业务操作是否执行完成;第一解除模块,用于在所述业务操作执行完成后,解除所述第二状态。
可选的,所述查询模块包括:确定单元,用于根据所述业务处理请求的业务流程确定在多个流程时序上待执行的业务操作,其中,每个目标实体对象对应一个业务操作;查询单元,用于基于所述流程时序按序查询每个业务操作的目标实体对象的标记状态。
可选的,在所述目标实体对象包括第一对象和第二对象,所述装置还包括:第二解除模块,用于在所述查询模块根据所述业务处理请求查询所述目标实体对象的标记状态之后,在所述第一对象的标记状态的查询结果为未被占用的第一状态,且所述第二对象的标记状态的查询结果为已经被占用的第二状态时,若所述第一对象的标记状态已经被本地系统更新为所述第二状态,解除所述第一对象的所述第二状态。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在接收针对目标实体对象的业务处理请求后,根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用,最后根据所述标记状态确定是否对所述目标实体对象执行业务操作。在执行操作前查询目标实体对象是否被占用,避免了抢锁同一个实体对象的问题,避免了并发冲突引起的系统间死锁,以及业务流程中断,解决了相关技术中多个任务对同一个实体对象执行业务操作时造成并发冲突的技术问题,提高了整个系统的效率,提升了系统的流畅度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种业务系统的操作移动终端结构框图;
图2是根据本发明实施例的一种业务系统的操作方法流程图;
图3是本发明实施例在第一场景的流程示意图;
图4是本发明实施例在第二场景的流程示意图;
图5是本发明实施例在第三场景的流程示意图;
图6是根据本发明实施例的一种业务系统的操作装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种业务系统的操作服务器结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种业务系统的操作方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种业务系统的操作方法,图2是根据本发明实施例的一种业务系统的操作方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收针对目标实体对象的业务处理请求;
在本实施例中,目标实体对象可以是系统或者软件在使用过程中需要的资源,可以是一个接口,一串函数代码,数据信息等,在应用在餐饮系统中时,可以是一个用户订单,优惠券。在需要执行任务时,会触发一个业务处理请求,所述业务处理请求例如客户端调用优惠券标识码进行核销操作;
步骤S204,根据业务处理请求查询目标实体对象的标记状态,其中,标记状态用于指示目标实体对象是否被占用;本实施例的被占用是指目标实体对象正在被业务系统或策略系统使用,例如,在点餐的应用场景中,针对某个线上点餐生成的订单,用户侧系统在发起撤销请求时,商户侧系统正在修改或结算该订单,则该订单正在被商户侧系统占用;
本实施例的标记状态可以用标记位或者标识信息来标记,如采用“0”标记未被占用,“1”标记已经被占用。
步骤S206,根据标记状态确定是否对目标实体对象执行业务操作。
通过上述步骤,在接收针对目标实体对象的业务处理请求后,根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用,最后根据所述标记状态确定是否对所述目标实体对象执行业务操作。在执行操作前查询目标实体对象是否被占用,避免了抢锁同一个实体对象的问题,避免了并发冲突引起的系统间死锁,以及业务流程中断,解决了相关技术中多个任务对同一个实体对象执行业务操作时造成并发冲突的技术问题,提高了整个系统的效率,提升了系统的流畅度。
本实施例可以应用在多个相关业务系统进行交互的场景中,也可以应用在母业务系统与子业务系统之间的交互,也可以应用在上游业务系统与下游业务系统之间的交互。在应该在多个业务系统中时,执行业务操作的为本地系统(源业务系统),而目标实体对象在外地系统(目标业务系统)中,接收针对目标实体对象的业务处理请求包括:在源业务系统中接收针对目标实体对象的业务处理请求,其中,目标实体对象设置在目标业务系统中。对应的,根据标记状态确定是否对目标实体对象执行业务操作包括:根据标记状态确定是否在源业务系统中采用外部接口调用目标业务系统,并对目标业务系统中的目标实体对象执行业务操作。其中,本地系统为本实施例的执行主体所在的系统,本地系统和外地系统分别为两个相关业务系统中的任意一个,或者为母业务系统和子业务系统中的任意一个,或者为上游业务系统和下游业务系统中的任意一个。
本实施例也可以应用在单个业务系统中(如业务系统在不同的任务中都需要使用到同一个实体对象时)。
当应用在电商相关的软件系统中,业务系统包括流程编排类子系统(如策略系统,管理系统),记录实体及处理相关逻辑的子系统,如(订单子系统、券子系统、商品子系统,支付系统等等)。在应该在多个业务系统中时,可以解决不同业务场景下不同系统间抢锁同一个实体对象的问题,在应用在单个业务系统中时,可以解决同一个系统中不同业务场景下的不同任务间抢锁同一个实体对象的问题。
在本实施例中,标记状态包括目标实体对象未被占用的状态,目标实体对象已经被占用的状态,还可以进一步包括未知状态等。以目标实体对象未被占用时的状态为第一状态,已经被占用的状态为第二状态为例对本实施例进行说明:
在本实施例的一个实施方式中,根据标记状态确定是否对目标实体对象执行业务操作包括:
S11,在标记状态为指示目标实体对象未被占用的第一状态时,标记目标实体对象;
可选的,标记目标实体对象包括:将目标实体对象的标记状态由第一状态更新为第二状态,并标注第二状态的标记来源和/或标记时间,其中,第二状态用于指示目标实体对象已经被占用。标记来源为标记目标实体对象当前状态的来源,在一个示例中,目标实体对象为优惠券,订单子系统正在使用优惠券,优惠券被标记为第二状态,则订单子系统为标记来源,标记时间为标记目标实体对象当前状态的时间,具体是一个时间戳,系统获取到标记时间后,可以作进一步的判断处理,如果标记时间显示已经标记很长一段时间,则可以等待其释放,如果标记时间显示刚刚开始标记,则可以直接结束流程,放弃等待。进一步的,标记目标实体对象时,还可以标记,当前占用该目标实体对象的任务,终端等。
S12,在标记目标实体对象后,确定对目标实体对象执行业务操作。
在本实施例的另一个实施方式中,作为本实施例的另一个分支,根据标记状态确定是否对目标实体对象执行业务操作包括:
S21,在标记状态为指示目标实体对象已经被占用的第二状态时,查询第二状态的标记来源;
S22,在标记来源不是本地系统时,确定禁止对目标实体对象执行业务操作;在标记来源是本地系统时,确定对目标实体对象执行业务操作。
可选的,目标实体对象可能在本地系统在执行历史任务时,已经标记为第二状态了,则本次可以直接使用,如果是被其他系统标记为第二状态,为避免逻辑冲突,则应被禁止使用目标实体对象。
可选的,在确定对目标实体对象执行业务操作之后,还包括:监测业务操作是否执行完成;在业务操作执行完成后,解除第二状态。在业务操作已经执行完成,目标实体对象使用完成后,应当及时解除目标实体对象的第二状态,释放目标实体对象,避免资源的空耗和非正常占用。
在本实施例的一个实施方式中,本次执行的业务操作属于业务流程中的一部分,例如一个系统任务的业务流程需要执行ABC,三个业务操作,时序分别为操作A→操作B→操作C,其中,操作A和操作B使用的目标实体对象不同,操作C不需要使用实体对象,在该场景中,需要分别查询操作A和操作B的A对象和B对象。根据业务处理请求查询目标实体对象的标记状态包括:根据业务处理请求的业务流程确定在多个流程时序上待执行的业务操作,其中,每个目标实体对象对应一个业务操作;基于流程时序按序查询每个业务操作的目标实体对象的标记状态。按照业务流程的流程时序:操作A→操作B→操作C,分别依次查询A对象和B对象的标记状态。
基于上述实施方式的场景,在目标实体对象包括第一对象(A对象)和第二对象(B对象)时,在根据业务处理请求查询目标实体对象的标记状态之后,还包括:在第一对象的标记状态的查询结果为未被占用的第一状态,且第二对象的标记状态的查询结果为已经被占用的第二状态时,若第一对象的标记状态已经被本地系统更新为第二状态,解除第一对象的第二状态。在本实施例中,在第一时间,查询得到A对象为第一状态,则系统将其更新标记为第二状态,然后继续查询,查询得到B对象为第二状态,由于B对象应被占用的原因,业务流程并不完整的执行,则可以将A对象为第二状态解除恢复为第一对象,以防止一直占用A对象。在极端场景下,通过去标来进行释放占用,极大简化了反向处理的复杂度。
图3是本发明实施例在第一场景的流程示意图,如图3所示,系统A接收到一个业务场景处理请求(业务处理请求),在内部逻辑处理编排中,系统A需要调用系统B并操作其中的实体b,成功之后系统A需要调用系统C并操作其中的实体c,只有两个操作都成功之后,这整个处理请求才返回成功。本案将系统A的处理过程拆分成了三块:一查二标三处理。
1.查,检查相关的下游系统中的实体b、实体c是否满足处理的要求,例如:订单状态是否合适、券状态是否可用等等,此外还有很重要的一点,实体上是否已经落了标记;
2.标,系统A通过检查发现下游相关系统的实体均满足要求,则分别在每个实体上做上标记,该标记标明了实体b、c正在被系统A处理中,具有排他性;
3.处理,系统A调用下游系统进行真正的逻辑处理,该过程一般比较复杂,下游系统除了内部逻辑处理以外,往往还有外部调用。标记的作用在于保证在处理过程中,实体不会再次被别的系统使用。
图4是本发明实施例在第二场景的流程示意图,第二场景为一个并发场景,该时序图描绘了S1和S2几乎同时接到不同的业务处理流程请求,并分别需要对实体B进行处理的场景。按照时间顺序,流程包括:
S41,系统S1接收到业务处理请求;
S42,S1查看实体对象b,符合处理要求;
S43,S1标记实体对象b,标明来源为S1;
S44,系统S2接收到业务处理请求;
S45,S2查看实体对象b,发现已经被标记,且来源不是自己;
S46,S2系统处理内部逻辑,并消除影响,返回业务处理失败,并标明原因;
S47,S1对系统B发起处理请求,并得到结果;
S48,S1业务处理完毕,并返回成功。
图5是本发明实施例在第三场景的流程示意图,第三场景是一个并发场景,描述了一个更为复杂的场景。源系统S1和S2在业务处理过程中都需要对实体对象b进行操作,同时系统S2还需要对实体对象c进行操作。源系统S1和S2几乎在同一时间接收到了业务请求,两者同时发起对实体b查询校验,因为b上还没有标记,所以两者均拿到了检查通过的结果。之后S1系统对实体b发起了标记请求,并成功标记;同时S2系统对实体c发起了标记请求,并成功标记,之后S2对实体b发起标记请求,因为实体b已经被标记,所以标记失败。系统S2在标记实体b失败之后,需要做内部处理以消除影响,同时需要对实体对象c进行“去标”操作,以防止一直占用对象c,之后返回业务处理失败。而系统S1在成功标记实体对象b之后,按照一查二标三处理的顺序继续程序逻辑,并最终返回业务处理成功。
本实施例的方案增加了标记的过程,以达到在一次业务操作请求中快速占有所需要的实体的目的,然后根据标记的排他性,没有标记成功的其它所有业务请求,可以在第一时间就能通过本案提出的“查”—如图4所示,或者“标”—如图5所示,得知业务处理所必须的实体资源已经被占用,从而快速放弃本次请求并返回结果。该方案有效避免传统方案中,必须要等到真正的业务处理过程中,处理到某个实体b时才发现该实体已经被并发请求占用,导致需要通过复杂的反向处理以便消除影响,之后才能返回结果,导致了大量的资源浪费、反向处理复杂且容易出错、返回时间长等问题。另外,如图5所示,在极端的场景下,本案提出的在系统真正处理业务前,标记所有需要的实体的方案,在并发标记实体失败后,能极大的简化反向处理逻辑–对已经标记的实体去除标记。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种业务系统的操作装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种业务系统的操作装置的结构框图,可以应用在服务器中,如图6所示,该装置包括:接收模块60,查询模块62,确定模块64,其中,
接收模块60,用于接收针对目标实体对象的业务处理请求;
查询模块62,用于根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;
确定模块64,用于根据所述标记状态确定是否对所述目标实体对象执行业务操作。
可选的,所述确定模块包括:标记单元,用于在所述标记状态为指示所述目标实体对象未被占用的第一状态时,标记所述目标实体对象;第一确定单元,用于在标记所述目标实体对象后,对所述目标实体对象执行业务操作。
可选的,所述标记单元包括:更新子单元,用于将所述目标实体对象的标记状态由所述第一状态更新为所述第二状态;标记子单元,用于标注所述第二状态的标记来源和/或标记时间,其中,所述第二状态用于指示所述目标实体对象已经被占用。
可选的,所述确定模块包括:查询单元,用于在所述标记状态为指示所述目标实体对象已经被占用的第二状态时,查询所述第二状态的标记来源;第二确定单元,用于在所述标记来源不是本地系统时,禁止对所述目标实体对象执行业务操作;在所述标记来源是本地系统时,对所述目标实体对象执行业务操作。
可选的,所述装置还包括:监测模块,用于在所述确定模块确定对所述目标实体对象执行业务操作之后,监测所述业务操作是否执行完成;第一解除模块,用于在所述业务操作执行完成后,解除所述第二状态。
可选的,所述查询模块包括:确定单元,用于根据所述业务处理请求的业务流程确定在多个流程时序上待执行的业务操作,其中,每个目标实体对象对应一个业务操作;查询单元,用于基于所述流程时序按序查询每个业务操作的目标实体对象的标记状态。
可选的,在所述目标实体对象包括第一对象和第二对象,所述装置还包括:第二解除模块,用于在所述查询模块根据所述业务处理请求查询所述目标实体对象的标记状态之后,在所述第一对象的标记状态的查询结果为未被占用的第一状态,且所述第二对象的标记状态的查询结果为已经被占用的第二状态时,若所述第一对象的标记状态已经被本地系统更新为所述第二状态,解除所述第一对象的所述第二状态。
需要说明的是,客户端和服务器仅是方案在执行主体上的差异,上述获取网页数据终端中的各个示例和可选方案同样适应在客户端和服务器中,并产生相同的技术效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例的一个方面中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收针对目标实体对象的业务处理请求;
S2,根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;
S3,根据所述标记状态确定是否对所述目标实体对象执行业务操作。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例的一个方面中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收针对目标实体对象的业务处理请求;
S2,根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;
S3,根据所述标记状态确定是否对所述目标实体对象执行业务操作。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种业务系统的操作方法,其特征在于,包括:
接收针对目标实体对象的业务处理请求;
根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;
根据所述标记状态确定是否对所述目标实体对象执行业务操作。
2.根据权利要求1所述的方法,其特征在于,根据所述标记状态确定是否对所述目标实体对象执行业务操作包括:
在所述标记状态为指示所述目标实体对象未被占用的第一状态时,标记所述目标实体对象;
在标记所述目标实体对象后,确定对所述目标实体对象执行业务操作。
3.根据权利要求2所述的方法,其特征在于,标记所述目标实体对象包括:
将所述目标实体对象的标记状态由所述第一状态更新为第二状态,并标注所述第二状态的标记来源和/或标记时间,其中,所述第二状态用于指示所述目标实体对象已经被占用。
4.根据权利要求1所述的方法,其特征在于,根据所述标记状态确定是否对所述目标实体对象执行业务操作包括:
在所述标记状态为指示所述目标实体对象已经被占用的第二状态时,查询所述第二状态的标记来源;
在所述标记来源不是本地系统时,确定禁止对所述目标实体对象执行业务操作;在所述标记来源是本地系统时,确定对所述目标实体对象执行业务操作。
5.根据权利要求3或者4所述的方法,其特征在于,在确定对所述目标实体对象执行业务操作之后,所述方法还包括:
监测所述业务操作是否执行完成;
在所述业务操作执行完成后,解除所述第二状态。
6.根据权利要求1所述的方法,其特征在于,根据所述业务处理请求查询所述目标实体对象的标记状态包括:
根据所述业务处理请求的业务流程确定在多个流程时序上待执行的业务操作,其中,每个目标实体对象对应一个业务操作;
基于所述流程时序按序查询每个业务操作的目标实体对象的标记状态。
7.根据权利要求6所述的方法,其特征在于,在所述目标实体对象包括第一对象和第二对象,在根据所述业务处理请求查询所述目标实体对象的标记状态之后,所述方法还包括:
在所述第一对象的标记状态的查询结果为未被占用的第一状态,且所述第二对象的标记状态的查询结果为已经被占用的第二状态时,若所述第一对象的标记状态已经被本地系统更新为所述第二状态,解除所述第一对象的所述第二状态。
8.一种业务系统的操作装置,其特征在于,包括:
接收模块,用于接收针对目标实体对象的业务处理请求;
查询模块,用于根据所述业务处理请求查询所述目标实体对象的标记状态,其中,所述标记状态用于指示所述目标实体对象是否被占用;
确定模块,用于根据所述标记状态确定是否对所述目标实体对象执行业务操作。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049397.6A CN109901933B (zh) | 2019-01-18 | 2019-01-18 | 业务系统的操作方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049397.6A CN109901933B (zh) | 2019-01-18 | 2019-01-18 | 业务系统的操作方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109901933A true CN109901933A (zh) | 2019-06-18 |
CN109901933B CN109901933B (zh) | 2022-02-25 |
Family
ID=66943852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910049397.6A Active CN109901933B (zh) | 2019-01-18 | 2019-01-18 | 业务系统的操作方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109901933B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282655A (zh) * | 2021-06-04 | 2021-08-20 | 青岛海尔科技有限公司 | 数据请求的处理方法和装置、存储介质及电子装置 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01133144A (ja) * | 1987-11-18 | 1989-05-25 | Nec Corp | 共用資源管理方式 |
US6178440B1 (en) * | 1997-01-25 | 2001-01-23 | International Business Machines Corporation | Distributed transaction processing system implementing concurrency control within the object request broker and locking all server objects involved in a transaction at its start |
US20030018490A1 (en) * | 2001-07-06 | 2003-01-23 | Marathon Ashland Petroleum L.L.C. | Object oriented system and method for planning and implementing supply-chains |
CN101030884A (zh) * | 2006-03-03 | 2007-09-05 | 中国电信股份有限公司 | 电信网络资源oss系统中独占性资源的调度方法 |
CN101501592A (zh) * | 2006-06-14 | 2009-08-05 | 霍尼韦尔国际公司 | 在过程控制系统中用于用户可配置资源仲裁的系统和方法 |
CN101504621A (zh) * | 2009-04-01 | 2009-08-12 | 杭州华三通信技术有限公司 | 一种避免全局资源乱序的分布式系统、设备及其应用方法 |
CN101625699A (zh) * | 2009-07-28 | 2010-01-13 | 大连新中连软件集团有限公司 | 基于业务组件化的应用软件进行业务控制的方法和系统 |
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN101835274A (zh) * | 2010-02-05 | 2010-09-15 | 新邮通信设备有限公司 | 承载建立方法、承载建立目标实体及承载建立源实体 |
US20120137267A1 (en) * | 2010-11-29 | 2012-05-31 | Tilmann David Kopp | Business Object Service Simulation |
US20130283276A1 (en) * | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method and system for minimal set locking when batching resource requests in a portable computing device |
US20130339560A1 (en) * | 2011-02-25 | 2013-12-19 | Fujitsu Limited | Lock control apparatus and lock control method |
CN104426643A (zh) * | 2013-09-05 | 2015-03-18 | 中兴通讯股份有限公司 | 一种业务抢占方法、装置和基站 |
CN106095594A (zh) * | 2016-06-01 | 2016-11-09 | 新浪网技术(中国)有限公司 | 一种资源处理的方法、装置及系统 |
US20160378572A1 (en) * | 2015-06-29 | 2016-12-29 | International Business Machines Corporation | Optimizing the initialization of a queue via a batch operation |
CN107368356A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法和装置 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
CN108683692A (zh) * | 2018-03-16 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法及装置 |
-
2019
- 2019-01-18 CN CN201910049397.6A patent/CN109901933B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01133144A (ja) * | 1987-11-18 | 1989-05-25 | Nec Corp | 共用資源管理方式 |
US6178440B1 (en) * | 1997-01-25 | 2001-01-23 | International Business Machines Corporation | Distributed transaction processing system implementing concurrency control within the object request broker and locking all server objects involved in a transaction at its start |
US20030018490A1 (en) * | 2001-07-06 | 2003-01-23 | Marathon Ashland Petroleum L.L.C. | Object oriented system and method for planning and implementing supply-chains |
CN101030884A (zh) * | 2006-03-03 | 2007-09-05 | 中国电信股份有限公司 | 电信网络资源oss系统中独占性资源的调度方法 |
CN101501592A (zh) * | 2006-06-14 | 2009-08-05 | 霍尼韦尔国际公司 | 在过程控制系统中用于用户可配置资源仲裁的系统和方法 |
CN101504621A (zh) * | 2009-04-01 | 2009-08-12 | 杭州华三通信技术有限公司 | 一种避免全局资源乱序的分布式系统、设备及其应用方法 |
CN101625699A (zh) * | 2009-07-28 | 2010-01-13 | 大连新中连软件集团有限公司 | 基于业务组件化的应用软件进行业务控制的方法和系统 |
CN101741850A (zh) * | 2009-12-25 | 2010-06-16 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
CN101835274A (zh) * | 2010-02-05 | 2010-09-15 | 新邮通信设备有限公司 | 承载建立方法、承载建立目标实体及承载建立源实体 |
US20120137267A1 (en) * | 2010-11-29 | 2012-05-31 | Tilmann David Kopp | Business Object Service Simulation |
US20130339560A1 (en) * | 2011-02-25 | 2013-12-19 | Fujitsu Limited | Lock control apparatus and lock control method |
US20130283276A1 (en) * | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method and system for minimal set locking when batching resource requests in a portable computing device |
CN104426643A (zh) * | 2013-09-05 | 2015-03-18 | 中兴通讯股份有限公司 | 一种业务抢占方法、装置和基站 |
US20160378572A1 (en) * | 2015-06-29 | 2016-12-29 | International Business Machines Corporation | Optimizing the initialization of a queue via a batch operation |
CN107368356A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法和装置 |
CN106095594A (zh) * | 2016-06-01 | 2016-11-09 | 新浪网技术(中国)有限公司 | 一种资源处理的方法、装置及系统 |
CN108683692A (zh) * | 2018-03-16 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法及装置 |
CN108683604A (zh) * | 2018-04-03 | 2018-10-19 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
Non-Patent Citations (1)
Title |
---|
韩智文: "分布协同式网络服务策略体系结构及关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282655A (zh) * | 2021-06-04 | 2021-08-20 | 青岛海尔科技有限公司 | 数据请求的处理方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109901933B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301536B (zh) | 资源转移方法及装置 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN103136041B (zh) | 业务对象的批处理 | |
CN110297766A (zh) | 基于分布式测试节点集群的软件测试方法及软件测试系统 | |
CN108255589A (zh) | 任务调度方法及服务器 | |
CN104539713B (zh) | 业务请求处理方法和装置 | |
CN112700329A (zh) | 一种风控规则引擎的响应方法和风控规则引擎 | |
CN108805667A (zh) | 订单流程处理方法和系统 | |
CN106548261A (zh) | 一种业务流程控制方法、装置及电子设备 | |
CN110430257A (zh) | 信息处理方法、装置、系统和可读存储介质 | |
EP2501106B1 (en) | System and method for session synchronization with independent external systems | |
CN108846674A (zh) | 在区块链中验证签名的方法和装置 | |
CN110163572B (zh) | 一种链码函数处理方法、装置及设备 | |
CN110083533A (zh) | 基于Mock服务的数据处理方法及装置 | |
CN111208992A (zh) | 系统调度工作流生成方法和系统 | |
CN112132684B (zh) | 一种基于预言机锁组的结算方法及系统 | |
CN109885612A (zh) | 区块链智能合约的同步生效方法及装置 | |
CN110517018A (zh) | 一种基于activiti工作流的节点任意跳转方法及装置 | |
CN115469833A (zh) | 动态规则引擎的实现方法和装置、电子设备和存储介质 | |
CN113127023B (zh) | 业务升级的方法、装置和系统 | |
CN108415758A (zh) | 分布式事务协调方法及装置 | |
CN109901933A (zh) | 业务系统的操作方法及装置、存储介质、电子装置 | |
CN110347735A (zh) | 配置化的数据转发异常补处理方法、装置及可读存储介质 | |
CN109947081A (zh) | 网联车辆控制方法及装置 | |
CN109389469A (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 |