CN114612149A - 一种交易任务的处理方法、装置、电子设备及存储介质 - Google Patents
一种交易任务的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114612149A CN114612149A CN202210249248.6A CN202210249248A CN114612149A CN 114612149 A CN114612149 A CN 114612149A CN 202210249248 A CN202210249248 A CN 202210249248A CN 114612149 A CN114612149 A CN 114612149A
- Authority
- CN
- China
- Prior art keywords
- resource
- transaction
- task
- type
- processing
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 120
- 238000000034 method Methods 0.000 claims description 76
- 230000008569 process Effects 0.000 claims description 57
- 230000008014 freezing Effects 0.000 claims description 20
- 238000007710 freezing Methods 0.000 claims description 20
- 230000002427 irreversible effect Effects 0.000 claims description 15
- 230000002441 reversible effect Effects 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 235000003642 hunger Nutrition 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000037351 starvation Effects 0.000 description 3
- 101100268665 Caenorhabditis elegans acc-1 gene Proteins 0.000 description 2
- 101100268668 Caenorhabditis elegans acc-2 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0208—Trade or exchange of goods or services in exchange for incentives or rewards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0222—During e-commerce, i.e. online transactions
-
- 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/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种交易任务的处理方法、装置、电子设备及存储介质,处理方法包括:通过目标交易任务交易信息,确定目标交易任务中资源操作的操作类型以及资源操作模型,并在满足预设资源处理规范的条件下,按照该资源操作模型内的编排好操作流程对目标交易任务进行处理,得到目标交易任务的任务处理结果,并将任务处理结果发送至业务***。本申请通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
Description
技术领域
本申请涉及线上交易技术领域,尤其是涉及一种交易任务的处理方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,越来越多的用户选择在线上进行业务交易,而在各类的在线业务中,会存在多种交易场景,如电商下单场景里,需要锁定多个商品库存,优惠券,支付时需要确定扣减库存,优惠券,积分及返利账户,如果选用银行卡付款,还需要向银行通道发起扣款请求,扣款完成后才完成订单确认流程;又比如在无车承运场景里货主支付运费给司机,需要先扣减货主资金账户,返利账户,油费账户,保证金账户,然后付款给司机钱包,再向银行通道发起钱包提现,如果中间任何一个环节失败,还需要保证每一步操作的回退。
由于各类交易场景下的交易流程并不相同,目前,针对不同的交易场景,需要开发不同的适应***易流程,导致设计上复杂很容易出现资金的多扣或少扣,且需要大量重复性工作,不能实现交流流程的通用性。
发明内容
有鉴于此,本申请的目的在于提供一种交易任务的处理方法、装置、电子设备及存储介质,通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
本申请实施例提供了一种交易任务的处理方法,应用于交易引擎,所述处理方法包括:
接收业务***发送的任一目标交易任务的交易信息;
基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型;
基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程;
在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
进一步的,通过以下方式确定资源操作的操作类型:
基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型;
根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
进一步的,所述资源操作模型包括以下至少一种模型:冻结模型、退还模型和单向模型;其中,
所述冻结模型中集成有冻结操作流程、确认操作流程以及取消操作流程;
所述退还模型中集成有提交操作流程和退回操作流程;
所述单向模型中集成有提交操作流程。
进一步的,所述预设资源处理规范包括以下至少一种规范:预设交易任务溯源查询规范、预设资源操作锁定规范、预设资源操作排序规范以及预设资源安全保障规范;其中,
所述预设交易任务溯源查询规范是根据交易信息中的交易ID,对目标交易任务的任务处理结果进行查询以及溯源的规范;
所述预设资源操作锁定规范是根据资源操作模型来判断是否需要对所述交易信息中的任一资源进行提前锁定的规范;
所述预设资源操作排序规范是根据资源ID来对所述交易信息中的各个资源进行排序的规范;
所述预设资源安全保障规范是确定所述交易信息中的用户账户资源和第三方资源的资源操作顺序的规范。
进一步的,所述利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,包括:
在资源操作模型对目标交易任务进行处理的过程中,若任一操作流程对应的操作时间大于或等于预设超时补偿任务时间,则重新处理该操作流程对应的操作任务,直至得到所述目标交易任务的任务处理结果。
进一步的,在所述接收业务***发送的任一目标交易任务的交易信息之前,所述方法还包括:
接收所述业务***发送的注册请求;其中,所述注册请求中携带有多个操作类型的类型数据和资源操作模型的模型数据;
根据所述注册请求,对各个所述操作类型以及各个所述资源操作模型进行注册。
本申请实施例还提供了一种交易任务的处理装置,所述交易任务的处理装置包括:
接收模块,用于接收业务***发送的任一目标交易任务的交易信息;
第一确定模块,用于基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型;
第二确定模块,用于基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程;
处理模块,用于在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
进一步的,通过以下方式确定第一确定模块中资源操作的操作类型:
基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型;
根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述交易任务的处理方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的交易任务的处理方法的步骤。
本申请实施例提供的交易任务的处理方法、装置、电子设备及存储介质,与现有技术中的相比,本申请通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种交易任务的处理方法的流程图之一;
图2示出了本申请实施例所提供的一种交易任务的处理方法的流程图之二;
图3示出了本申请实施例所提供的一种交易任务的处理方法中业务***与交易引擎的交互示意图;
图4示出了本申请实施例所提供的一种交易任务的处理装置的结构示意图;
图5示出了本申请实施例所提供的一种电子设备的结构示意图。
图中:
400-交易任务的处理装置;410-获取模块;420-注册模块;430-接收模块;440-第一确定模块;450-第二确定模块;460-处理模块;500-电子设备;510-处理器;520-存储器;530-总线。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。经研究发现,由于各类交易场景下的交易流程并不相同,需要操作的资源也不同,目前,当需要业务交易发生在不同的交易场景时,需要针对不同的交易场景开发不同的适应***易流程,无法实现交流流程的通用性,进而降低了线上交易的交易效率。
且在现有技术的各类交易场景中,由于不同的交易场景中可能会涉及对资源的扣减和退还等动作,因此,对于每个交易场景编写的交易流程中,要保障相关扣减和退还等资源的操作不调单,即保障交易的顺利流转,不能出现重复扣用资金及资源的情况,也不能出现少扣用资金及资源的情况,造成第三方平台或内部平台的资金损失,因此,需要对不同交易场景进行严格和仔细的交易流程开发来保证业务交易的可靠性。
基于此,本申请实施例提供了一种交易任务的处理方法、装置、电子设备及存储介质,通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
请参阅图1,图1为本申请实施例所提供的一种交易任务的处理方法的流程图。所如图1中所示,本申请实施例提供的易任务的处理方法,应用于交易引擎,处理方法包括以下步骤:
S101、接收业务***发送的任一目标交易任务的交易信息。
该步骤中,业务***通常会接收到很多交易任务,并把交易任务发送给交易引擎,由交易引擎来对交易任务进行处理。其中,每个交易任务都有对应的交易信息,交易信息包括当前业务交易的交易场景以及该交易场景下对应的资源操作,业务***是用于接收用户业务交易的***,其中,资源操作所对应的资源包括有限资源、无限资源、内部资源以及外部资源,有限资源包括但不限制于资金的账户余额资源,无限资源包括但不限制于返利用的代金券资源,内部资源包括但不限制于平台内的库存资源,外部资源包括但不限制于第三方平台的资源。
这里,交易引擎是指把各个类型的资源操作经由流程的编排实现完成用户提交的业务交易的交易任务处理装置。
这里,举例说明,如目标交易任务的交易信息中的交易场景为付运费款,此时,付运费款对应的资源操作包括但不限制于:扣第三方平台的资金账户余额、扣用户的信用账户余额以及扣返利账户等;若目标交易任务的交易信息中的交易场景为购买油卡,此时,购买油卡对应的资源操作包括但不限制于为:扣油卡账户余额、关联第三方油卡公司账户以及绑定第三方油卡公司与银行卡账户等。
S102、基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型。
该步骤中,将目标交易任务中交易信息得到至少一个资源操作按照不同的分类条件进行分类,确定目标交易任务对应的资源操作的操作类型。
这里,不管是内部资源还是外部资源、有限资源还是无限资源、对资源进行扣减操作还是添加操作,分类条件主要分为两种,且目标交易任务对应的资源操作经由上述两种分类条件的混分后,可以形成四个资源操作的操作类型。
具体为,通过以下方式确定资源操作的操作类型:
步骤1021:基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型。
这里,将资源操作按照是否支持资源回滚来确定资源操作所属的第一类型,其中,支持资源回滚就意味着资源操作存在可逆性,即资源操作的第一类型包括可逆型以及不可逆型;按照是否能够操作成功的操作成功概率划分资源操作所属的第二类型,其中,资源操作的操作成功概率包括通过重试一定可以最终成功的资源操作,即一定成功型,以及不能确定经过重试就一定可以最终成功的资源操作,即不确定成功型。
其中,举例说明,不可逆型资源操作包括但不限制于用户给不同交易场景下的账户平台付款以及充值等,由于上述资源操作属于不可以归还的操作,因此属于不可逆型;可逆型资源操作包括但不限制于各个类型的平台扣减用户的返利账户以及各个类型的平台扣减用户的信用账户等,可以进行解冻操作或退回操作等相似的资源回滚,即属于可逆型。
这里,一定成功型源操作包括但不限制于交易成功后给客户发放无库存限制的代金券以及给内部热点账户做异步会计记账等,不确定成功型包括但不限制于冻结用户的资金账户等,不确定冻结后,用户的资金账户内能够有足够的资金余额进行解冻,因此,该类资源操作所属的操作类型为第二类型中的不确定成功型。
步骤1022:根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
这里,资源操作的操作类型为根据资源操作的第一类型和第二类型共同来确定出的,下面举例说明。
例如,用户向充值资金账户充值100元钱,上述资源操作的操作类型为不可逆型+一定成功型;而任一第三方平台扣减用户资金账户20元钱,该资源操作的操作类型为可逆型+不确定成功型。
S103、基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程。
该步骤中,根据资源操作的所属的操作类型(即第一类型与第二类型的组合),确定出目标交易任务中每个资源操作的资源操作模型,且每个资源操作模型中集成有编排好的操作流程,这里,每个类型的资源操作模型在传输数据以及进行数据流转的过程中,会配置后不同类型的数据传输接口,也就是说,在根据操作类型,确定了资源操作的资源操作模型后,利用该源操作模型的数据传输接口,实现交易引擎对于各类流转数据传输和处理。
这里,编排好的操作类型对应的各个操作流程主要包括正向资源操作的操作流程、资源操作失败时的回滚操作流程,以及需要退回时的逆向操作流程。
上述三种操作流程均采用pipleLine的工作台流水线模式。
其中,资源操作模型主要有三个,冻结模型、退还模型和单向模型,在确定出当前的目标交易任务的操作类型之后,可以确定处理目标交易任务的资源操作模型;下面对各个资源操作模型进行具体说明,其中,
第一种资源操作模型,即冻结模型,所述冻结模型中集成有冻结操作流程、确认操作流程以及取消操作流程。
这里,冻结模型在对业务交易中相关业务资源进行冻结的同时,需要对该业务交易中的全部业务资源进行检查,查看是否有遗漏,然后对自定义设置的有需要的业务资源进行锁定,然后执行确认阶段的确认操作流程,确认提交冻结操作流程中冻结的全部业务资源,此时,执行冻结模型的取消操作流程,即取消对业务资源的锁定。
其中,若冻结模型中的任一单一的操作流程执行失败后,将该单一的业务资源进行回滚操作,重新执行。
第二种资源操作模型,即退还模型,所述退还模型中集成有提交操作流程和退回操作流程。
这里,退还模型在对业务交易中相关业务资源进行提交操作流程的同时,需要对该业务交易中的全部业务资源进行检查,查看是否有遗漏,然后对自定义设置的有需要的业务资源进行锁定,然后进行直接的提交,而退还模型在对业务交易中相关业务资源进行退回操作流程时,可以对相关业务资源中的部分相关业务资源或全部的相关业务资源进行退回,其中,具体的退回范围根据具体的业务交易进行确定。
其中,退还模型在对业务交易中相关业务资源进行退回操作流程时,对相关业务资源进行退回的部分不能超出退还模型在提交操作流程中提交的业务资源范围。
第三种资源操作模型,即单向模型,所述单向模型中集成有提交操作流程。
这里,单向模型在对业务交易中相关业务资源进行提交的同时,需要对该业务交易中的全部业务资源进行检查查看是否有遗漏,然后对自定义设置的有需要的业务资源进行锁定提交。
其中,单向模型适用的操作类型为不可逆型加一定成功型;冻结模型和退还模型适用的操作类型为可逆型加不确定成功型。
可选的,在步骤S101所述接收业务***发送的任一目标交易任务的交易信息之前,所述交易任务的处理方法还包括:
步骤a:接收所述业务***发送的注册请求;其中,所述注册请求中携带有多个操作类型的类型数据和资源操作模型的模型数据。
这里,在交易引擎接收待处理的任一目标交易任务的交易信息之前,需要将各个操作类型的类型数据和资源操作模型的模型数据注册到交易引擎中,具体的注册方法为:将定义可逆型、不可逆型、一定成功型以及不确定成功型的操作类型的操作数据注册到交易引擎中,以及将定义冻结模型、退还模型和单向模型的资源操作模型的操作数据注册到交易引擎中。
步骤b:根据所述注册请求,对各个所述操作类型以及各个所述资源操作模型进行注册。
S104、在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
该步骤中,在确定了用于处理目标交易任务的资源操作模型之后,可以利用该资源操作模型对目标交易任务进行处理,在处理过程中,目标交易任务中的各类资源均需要满足预设资源处理规范,并且在各类资源均需要满足预设资源处理规范的前提下,按照配置好的交易引擎进行相应的流程编排得到目标交易任务的任务处理结果,并将所述任务处理结果发送至业务***,或者业务***可根据目标交易任务的每个交易ID实时的查询目标交易任务的任务处理结果。
可选的,所述预设资源处理规范包括以下至少一种规范:预设交易任务溯源查询规范、预设资源操作锁定规范、预设资源操作排序规范以及预设资源安全保障规范;其中,所述预设交易任务溯源查询规范是根据交易信息中的交易ID,对目标交易任务的任务处理结果进行查询以及溯源的规范。
这里,预设交易任务溯源查询规范要求目标交易任务的交易信息中由亲仅有唯一的一个上游的交易ID,实现了保障各个资源操作在进行提交操作流程时的幂等,且交易ID可以实现业务***想要在查讯交易引擎中出处理的该目标交易任务的进行时,通过唯一的交易ID进行操作状态查询,实现了唯一溯源以及溯源的准确性。
这样,幂等是在编程中,是指其任意多次执行所产生的影响均与一次执行的影响相同,且幂等可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响***状态,也不会导致重复执行会对***造成改变。
所述预设资源操作锁定规范是根据资源操作模型来判断是否需要对所述交易信息中的任一资源进行提前锁定的规范。
这里,预设资源操作锁定规范规定,若目标交易任务的资源操作模型为冻结模型或退还模型,则可以将上述资源操作对应的资源定义为前置资源,即需要对交易信息中的资源进行提前锁定,用于提前告知用户该资源操作的资源交易情况;若目标交易任务的资源操作模型为冻结模型、退还模型或单向模型,则可以将上述资源操作对应的资源定义为后置资源,即不需要对交易信息中的资源进行提前锁定,并在提交操作流程失败后,执行该资源操作的回滚,用于在用户根据资源ID查询该资源操作的资源交易情况时告知用户该资源操作的资源交易情况。
其中,对于前置资源和后置资源的设定需要根据具体的交易场景进行具体的设定。
所述预设资源操作排序规范是根据资源ID来对所述交易信息中的各个资源进行排序的规范。
这里,预设资源操作排序规范是用于对资源操作进行排序,由于,在交易引擎的运行过程中,会存在多个交易任务同时进行的情况,此时由于多个交易任务会并行操作,且不同的交易任务可能会在同一时间锁定相同的资源,这样,可能存在以下饿死或死锁问题,此时,预设资源操作排序规范通过自定义资源ID的顺序来对资源进行排序,保证了同一个交易任务锁定资源的先后顺序。
其中,自定义资源ID的顺序包括但不限制于按照资源ID首先字母进行顺序或倒序的排序方式。
这里,举例说明不同的交易任务可能会在同一时间锁定相同的资源,导致存在以下饿死或死锁问题:
如,b和c两个交易任务都会扣减账户acc_1和acc_2,b先扣acc_110元再扣acc_220元,c先扣acc_210元再扣acc_120元,可能导致b扣acc_2时余额不足,c扣acc_1时余额不足,两条交易任务都失败饿死,但实际情况是应该其中一笔交易是可以成功。
其中,资源死锁指的是一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程,如果死锁发生,会浪费大量***资源,甚至导致***崩溃。
资源饿死指的是***不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿,当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。
所述预设资源安全保障规范是确定所述交易信息中的用户账户资源和第三方资源的资源操作顺序的规范。
这里,预设资源安全保障规范为了保障交易过程的资源安全,会定义优先扣减或增添用户账户资源,然后在扣减或增添第三方资源的资源。
如:在目标交易任务的流程操作过程中,会先扣减用户余额,再向客户发起提现,以及会先扣减用户资金,再给用户账户发放优惠券等。
本申请实施例提供的处理方法,与现有技术中相比,本申请通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
请参阅图2,图2为本申请另一实施例提供的交易任务的处理方法的流程图。如图2中所示,本申请实施例提供的处理方法,包括:
S201、接收业务***发送的任一目标交易任务的交易信息。
S202、基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型。
S203、基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程。
S204、在满足预设资源处理规范的条件下,在资源操作模型对目标交易任务进行处理的过程中,若任一操作流程对应的操作时间大于或等于预设超时补偿任务时间,则重新处理该操作流程对应的操作任务,直至得到所述目标交易任务的任务处理结果。
该步骤中,在资源操作模型对目标交易任务进行处理的过程中,针对目标交易任务中每一个单一操作流程设置对应的预设超时补偿任务时间,且在任一单一操作流程设置对应的操作时间大于或等于预设超时补偿任务时间时,确认该操作流程设置的操作状态,根据该操作流程设置的操作状态重新处理该操作流程对应的操作任务。
该操作流程设置的操作状态重新处理该操作流程对应的操作任务,具体包括:
在资源操作模型为冻结模型或退还模型时,在对目标交易任务进行处理的过程中,若任一操作流程的任务状态为初始化,则需要根据唯一资源ID对该操作流程的任务状态进行查询,若该操作流程对应的任务状态为操作失败,则对该操作流程进行回滚操作,并在回滚操作后,继续据唯一资源ID对该操作流程的任务状态进行查询,直至确认该操作流程的操作状态为操作成功;若该操作流程对应的任务状态为操作成功,则对该操作流程进行提交,并继续目标交易任务中的下一操作流程。
在资源操作模型为单向模型时,在对目标交易任务进行处理的过程中,若任一操作流程的任务状态为初始化,则直接对该操作流程进行提交操作,同时将该操作流程的任务状态更新为操作成功。
其中,S201至S203的描述可以参照S101至S103的描述,并且能达到相同的技术效果,对此不做赘述。
本申请实施例提供的处理方法,与现有技术中相比,本申请通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
请参阅图3,图3为本申请实施例所提供的一种交易任务的处理方法中业务***与交易引擎的交互示意图。如图3中所示,所交互示意图包括以下步骤:
(1):业务***提交交易任务至交易引擎。
(2):交易引擎业务系发送的交易任务进行交易校验。
(3):交易引擎对前置资源进行锁定。
(3.1):前置资源锁定失败则回滚,返回失败。
(3.2):前置资源锁定成功则返回任务接受成功。
(4):交易引擎发送交易场景任务接收成功。
(5):交易引擎对后置资源进行锁定。
(5.1):后置资源锁定失败则回滚,返回失败。
(6):交易引擎对不可逆资源进行确认。
(6.1):不可逆资源锁定失败则回滚所有锁定资源。
(7):对(3)和(5)里采用冻结模型锁定的资源进行提交。
(8):交易引擎将交易结果置为成功(optional)。
(9):交易引擎对成功确定性资源操作进行移交。
(10):交易引擎将交易结果置为成功。
(11):业务***发送交易任务结果查询信息至交易引擎。
请参阅图4,图4为本申请实施例所提供的一种交易任务的处理装置的结构示意图。如图4中所示,所述交易任务的处理装置400包括:
获取模块410,用于接收所述业务***发送的注册请求;其中,所述注册请求中携带有多个操作类型的类型数据和资源操作模型的模型数据。
注册模块420,用于根据所述注册请求,对各个所述操作类型以及各个所述资源操作模型进行注册。
接收模块430,用于接收业务***发送的任一目标交易任务的交易信息。
第一确定模块440,用于基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型。
可选的,所述第一确定模块440通过以下方式确定资源操作的操作类型:
基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型。
根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
第二确定模块450,用于基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程。
可选的,所述第二确定模块450的资源操作模型包括以下至少一种模型:冻结模型、退还模型和单向模型;其中,所述冻结模型中集成有冻结操作流程、确认操作流程以及取消操作流程。
所述退还模型中集成有提交操作流程和退回操作流程。
所述单向模型中集成有提交操作流程。
处理模块460,用于在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
可选的,所述处理模块460中所述预设资源处理规范包括以下至少一种规范:预设交易任务溯源查询规范、预设资源操作锁定规范、预设资源操作排序规范以及预设资源安全保障规范;其中,所述预设交易任务溯源查询规范是根据交易信息中的交易ID,对目标交易任务的任务处理结果进行查询以及溯源的规范。
所述预设资源操作锁定规范是根据资源操作模型来判断是否需要对所述交易信息中的任一资源进行提前锁定的规范。
所述预设资源操作锁定规范是根据资源操作模型来判断是否需要对所述交易信息中的任一资源进行提前锁定的规范。
所述预设资源安全保障规范是确定所述交易信息中的用户账户资源和第三方资源的资源操作顺序的规范。
可选的,所述处理模块460,具体用于:
在资源操作模型对目标交易任务进行处理的过程中,若任一操作流程对应的操作时间大于或等于预设超时补偿任务时间,则重新处理该操作流程对应的操作任务,直至得到所述目标交易任务的任务处理结果。
本申请实施例提供的交易任务的处理装置400,与现有技术中相比,本申请通过增设专门处理交易任务的交易引擎,并在交易引擎中设置用于处理各个操作流程的资源操作模型,能够实现处理不同交易场景下的业务交易,而无需针对每个交易场景单独设计一套解决方案,在保障交易任务的可靠性的前提下,可以提升针对各个交易场景下处理交易任务的通用性,大大减少了开发所需的工作量。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图2所示方法实施例中的处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图2所示方法实施例中的交易任务的处理方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种交易任务的处理方法,其特征在于,应用于交易引擎,所述方法包括:
接收业务***发送的任一目标交易任务的交易信息;
基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型;
基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程;
在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
2.根据权利要求1所述的处理方法,其特征在于,通过以下方式确定资源操作的操作类型:
基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型;
根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
3.根据权利要求1所述的处理方法,其特征在于,所述资源操作模型包括以下至少一种模型:冻结模型、退还模型和单向模型;其中,
所述冻结模型中集成有冻结操作流程、确认操作流程以及取消操作流程;
所述退还模型中集成有提交操作流程和退回操作流程;
所述单向模型中集成有提交操作流程。
4.根据权利要求1所述的处理方法,其特征在于,所述预设资源处理规范包括以下至少一种规范:预设交易任务溯源查询规范、预设资源操作锁定规范、预设资源操作排序规范以及预设资源安全保障规范;其中,
所述预设交易任务溯源查询规范是根据交易信息中的交易ID,对目标交易任务的任务处理结果进行查询以及溯源的规范;
所述预设资源操作锁定规范是根据资源操作模型来判断是否需要对所述交易信息中的任一资源进行提前锁定的规范;
所述预设资源操作排序规范是根据资源ID来对所述交易信息中的各个资源进行排序的规范;
所述预设资源安全保障规范是确定所述交易信息中的用户账户资源和第三方资源的资源操作顺序的规范。
5.根据权利要求1所述的处理方法,其特征在于,所述利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,包括:
在资源操作模型对目标交易任务进行处理的过程中,若任一操作流程对应的操作时间大于或等于预设超时补偿任务时间,则重新处理该操作流程对应的操作任务,直至得到所述目标交易任务的任务处理结果。
6.根据权利要求1所述的处理方法,其特征在于,在所述接收业务***发送的任一目标交易任务的交易信息之前,所述方法还包括:
接收所述业务***发送的注册请求;其中,所述注册请求中携带有多个操作类型的类型数据和资源操作模型的模型数据;
根据所述注册请求,对各个所述操作类型以及各个所述资源操作模型进行注册。
7.一种交易任务的处理装置,其特征在于,所述交易任务的处理装置包括:
接收模块,用于接收业务***发送的任一目标交易任务的交易信息;
第一确定模块,用于基于所述交易信息,确定所述目标交易任务对应的资源操作的操作类型;
第二确定模块,用于基于所述操作类型,确定处理所述目标交易任务的资源操作模型;所述资源操作模型集成有编排好的所述操作类型对应的各个操作流程;
处理模块,用于在满足预设资源处理规范的条件下,利用所述资源操作模型对所述目标交易任务进行处理,得到所述目标交易任务的任务处理结果,并将所述任务处理结果发送至所述业务***。
8.根据权利要求7所述的交易任务的处理装置,其特征在于,通过以下方式确定第一确定模块中资源操作的操作类型:
基于资源操作是否支持资源回滚,确定所述资源操作所属的第一类型;所述第一类型为可逆型或不可逆型,以及;基于资源操作的操作成功概率,确定所述资源操作所属的第二类型;所述第二类型为一定成功型或不确定成功型;
根据所述资源操作的第一类型和第二类型,确定所述资源操作的操作类型。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至6任一所述的交易任务的处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述的交易任务的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210249248.6A CN114612149A (zh) | 2022-03-14 | 2022-03-14 | 一种交易任务的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210249248.6A CN114612149A (zh) | 2022-03-14 | 2022-03-14 | 一种交易任务的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114612149A true CN114612149A (zh) | 2022-06-10 |
Family
ID=81862971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210249248.6A Pending CN114612149A (zh) | 2022-03-14 | 2022-03-14 | 一种交易任务的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114612149A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190188579A1 (en) * | 2017-12-15 | 2019-06-20 | Paypal, Inc. | Self learning data loading optimization for a rule engine |
CN112132674A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 一种交易处理方法和装置 |
CN112700310A (zh) * | 2021-01-19 | 2021-04-23 | 汇通数科智能科技有限公司 | 一种基于电商平台的交易订单数据优化处理方法 |
CN113657817A (zh) * | 2021-10-19 | 2021-11-16 | 中电金信软件有限公司 | 交易处理方法、装置、电子设备和可读存储介质 |
CN113919948A (zh) * | 2021-09-30 | 2022-01-11 | 中电金信软件有限公司 | 一种数据更新方法、装置、电子设备及存储介质 |
CN114037520A (zh) * | 2021-11-19 | 2022-02-11 | 浙江网商银行股份有限公司 | 交易处理方法、装置、设备及*** |
-
2022
- 2022-03-14 CN CN202210249248.6A patent/CN114612149A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190188579A1 (en) * | 2017-12-15 | 2019-06-20 | Paypal, Inc. | Self learning data loading optimization for a rule engine |
CN112132674A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 一种交易处理方法和装置 |
CN112700310A (zh) * | 2021-01-19 | 2021-04-23 | 汇通数科智能科技有限公司 | 一种基于电商平台的交易订单数据优化处理方法 |
CN113919948A (zh) * | 2021-09-30 | 2022-01-11 | 中电金信软件有限公司 | 一种数据更新方法、装置、电子设备及存储介质 |
CN113657817A (zh) * | 2021-10-19 | 2021-11-16 | 中电金信软件有限公司 | 交易处理方法、装置、电子设备和可读存储介质 |
CN114037520A (zh) * | 2021-11-19 | 2022-02-11 | 浙江网商银行股份有限公司 | 交易处理方法、装置、设备及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10535098B2 (en) | Recurring money transfer | |
CN108764911B (zh) | 互联网积分的交易方法及*** | |
US7783567B1 (en) | Bill payment migration | |
US20030040990A1 (en) | Method for disbursing account payable | |
CN103677771A (zh) | 一种并发事务的处理方法和装置 | |
WO2006124135A2 (en) | Centralized payment processing system | |
CN110175919A (zh) | 交易数据处理方法、装置、设备及计算机可读存储介质 | |
CN108762895B (zh) | 处理分布式事务的方法及装置 | |
CN111680995B (zh) | 一种支付链构建方法、装置、计算机设备及可读存储介质 | |
JP4540002B2 (ja) | 電子記録債権を利用した口座間決済処理装置及び口座間決済の処理方法 | |
CN112529687A (zh) | 一种贷款、还款记账方法及其装置、设备及存储介质 | |
US8285612B2 (en) | Systems and methods for data processing | |
CN110706087B (zh) | 凭证数据处理方法、装置、计算机设备和存储介质 | |
CN111383112A (zh) | 数据处理方法、装置、***、存储介质及计算机设备 | |
CN112200595A (zh) | 优惠券校验方法、支付方法、装置、设备及介质 | |
KR102430554B1 (ko) | 긱 근로자의 임금 제공 장치 및 방법 | |
JP2021190102A (ja) | 分散型台帳システムにおける債務リソース管理 | |
CN114612149A (zh) | 一种交易任务的处理方法、装置、电子设备及存储介质 | |
CN111028025B (zh) | 基于大数据的票据数据处理方法、装置、设备和介质 | |
CN112330330B (zh) | 权益数据处理方法、装置、计算机设备和存储介质 | |
CN110930607A (zh) | 交易结果判断方法、装置、计算机设备和存储介质 | |
EP2355029A1 (en) | Electronic clearing and payment system | |
CN112634009B (zh) | 一种产品的推送方法、装置、存储介质及电子设备 | |
JP3139330B2 (ja) | 計上データ更新処理システム | |
CN116468432B (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 |