CN115018325B - 业务处理方法及装置 - Google Patents
业务处理方法及装置 Download PDFInfo
- Publication number
- CN115018325B CN115018325B CN202210654257.3A CN202210654257A CN115018325B CN 115018325 B CN115018325 B CN 115018325B CN 202210654257 A CN202210654257 A CN 202210654257A CN 115018325 B CN115018325 B CN 115018325B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- collaboration
- idempotent
- core
- 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
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 177
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000013486 operation strategy Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009960 carding Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种业务处理方法及装置,可应用于分布式领域或金融领域,包括:响应于用户的业务处理请求,根据业务处理请求确定业务处理流程;按拆解条件将业务处理流程拆解为多个核心微服务和多个协作微服务;根据业务处理流程,对各个核心微服务和各个协作微服务进行编排,得到核心服务流程和协作服务流程;根据核心服务流程依次执行各个核心微服务,得到业务处理结果并向用户返回业务处理结果;为每个协作微服务设置幂等策略,并根据协作服务流程和每个微服务的幂等策略,依次执行每个协作微服务。应用该方法,对业务处理流程中不同的微服务设置不同的幂等策略,有效保证业务数据的正确性和完整性,提高业务处理的效率,提升用户体验。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种业务处理方法及装置。
背景技术
银行制定业务处理操作流程以解决客户的业务需求,但是随着客户需求的变化、技术的发展以及业务的流程更迭,一些业务操作流程变得越来越复杂,其中许多必须的和非必须的操作步骤混杂在一起,降低了业务操作的效率。例如,传统的银行核心系统中要求所有数据,包括业务数据和系统数据,必须是强一致性,任何步骤出现错误,比如网络延迟、服务器故障、软件错误等,都将导致交易失败,数据回退,无法解决客户需求。因此,传统的银行业务处理方法交易时间和试错成本成本较高,业务处理效率低,客户的用户体验较差。
发明内容
有鉴于此,本发明提供一种业务处理方法,通过该方法,可以提高业务处理的效率,提升用户的服务体验。
本发明还提供了一种业务处理装置,用以保证上述方法在实际中的实现及应用。
一种业务处理方法,包括:
响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务。
上述的方法,可选的,所述根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果,并向所述用户返回所述业务处理结果,包括:
根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功;
若存在任一所述核心微服务执行失败,则得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程;
若所有所述核心微服务均执行成功,则得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果。
上述的方法,可选的,所述根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务,包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
上述的方法,可选的,还包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
上述的方法,可选的,还包括:
若所述协作微服务的执行结果为执行成功,则所述协作微服务结束,并根据是否需要返回包进行后续处理;
若所述协作微服务的执行结果为执行失败,则执行预设的补偿操作策略;
若所述幂等组件的幂等表中不存在所述协作微服务的执行结果,则返回异常警告信息。
上述的方法,可选的,所述幂等策略为无幂等的第一幂等策略,或多次执行所述协作微服务仅返回第一次执行成功结果的第二幂等策略,或当所述协作微服务成功返回执行结果后,若再收到执行请求,则返回异常的第三幂等策略。
一种业务处理装置,包括:
确定单元,用于响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
拆解单元,用于按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
编排单元,用于根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
第一执行单元,用于根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
第二执行单元,用于为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务。
上述的装置,可选的,所述第一执行单元,包括:
判断子单元,用于根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功;
第一执行子单元,用于若存在任一所述核心微服务执行失败,则得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程;
第二执行子单元,用于若所有所述核心微服务均执行成功,则得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果。
上述的装置,可选的,所述第二执行单元,具体用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
上述的装置,可选的,所述第二执行单元,具体还用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的业务处理方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的业务处理方法。
与现有技术相比,本发明包括以下优点:
基于本发明提供的实施例,在进行业务处理的过程中,响应于用户的业务处理请求,根据业务处理请求确定业务处理流程;按预设的拆解条件将业务处理流程拆解为多个核心微服务和多个协作微服务;根据业务处理流程,对各个核心微服务和各个协作微服务进行编排,得到核心服务流程和协作服务流程;根据核心服务流程依次执行各个核心微服务,得到业务处理结果并向用户返回业务处理结果;为每个协作微服务设置幂等策略,并根据协作服务流程和每个微服务的幂等策略,依次执行每个协作微服务。
应用本发明提供的实施例,通过区分业务处理流程中的核心微服务和协作微服务,并针对不同的微服务设置不同的幂等策略,有效保证了业务数据的正确性和完整性,提高了业务处理的效率,提升了用户的服务体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种业务处理方法的方法流程图;
图2为本发明实施例提供的一种业务处理方法的又一方法流程图;
图3为本发明实施例提供的一种业务处理方法的幂等实施方案流程图;
图4为本发明实施例提供的一种业务处理方法的贷款业务中的放款交易中的各个功能模块的数据流示意图;
图5为本发明实施例提供的一种业务处理方法的贷款业务中的放款交易的微服务编排流程图;
图6为本发明实施例提供的一种业务处理方法的贷款业务中的放款交易流程图;
图7为本发明实施例提供的一种业务处理装置的装置结构图;
图8为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种业务处理方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:
S101:响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程。
本发明提供的实施例中,用户根据需求发起业务处理请求,系统根据用户的业务处理请求查找到对应的业务处理流程,例如用户向银行系统发起贷款交易请求,系统确定银行贷款交易处理流程,并根据贷款交易处理流程,执行S102至S105,为客户快速处理后续贷款操作。
S102:按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务。
本发明提供的实施例中,将原系统业务处理流程调用的各功能模块,按业务角色、运营部门等要素进行微服务拆解,各微服务边界通过事件池进行数据交互。深入分析拆解后的微服务,区别核心业务服务和协作服务。
其中,核心微服务是完成业务处理所必须的功能模块,协作微服务是在核心微服务执行完成后调用的功能模块。
预设的拆解条件可以根据具体业务而定,此处不做具体限定。
S103:根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程。
本发明提供的实施例中,通过对拆解后得到的各个微服务进行编排,实现原系统业务交易功能。核心微服务处于服务编排的关键路径,与业务流程同步处理。根据业务流程,对各个核心微服务进行编排得到核心服务流程。协作微服务不在服务编排的关键路径,与业务流程异步处理,同理,根据业务流程,对各个协作微服务进行编排得到协作服务流程。
S104:根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果。
本发明提供的实施例中,由于核心微服务处于服务编排的关键路径,与业务流程同步处理,核心微服务若执行失败则无需重试,报错即业务处理失败,因此,核心微服务无需幂等策略。根据业务的核心服务流程依次执行核心微服务,当所有的核心微服务均执行成功,则得到业务处理成功的业务处理结果,结束核心服务流程并向用户反馈业务处理结果。
S105:为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务。
本发明提供的实施例中,由于协作微服务,不在服务编排的关键路径,与交易异步处理,核心服务流程成功返回后,该类服务继续执行,因此需对协作微服务设置幂等策略。根据协作服务流程和各个协作微服务的幂等策略依次执行该协作微服务,防止如遇网络故障、软件问题等突发情况出现导致的服务失败。
具体的,所述幂等策略为无幂等的第一幂等策略,或多次执行所述协作微服务仅返回第一次执行成功结果的第二幂等策略,或当所述协作微服务成功返回执行结果后,若再收到执行请求,则返回异常的第三幂等策略。
基于本发明提供的实施例,在进行业务处理的过程中,响应于用户的业务处理请求,根据业务处理请求确定业务处理流程;按预设的拆解条件将业务处理流程拆解为多个核心微服务和多个协作微服务;根据业务处理流程,对各个核心微服务和各个协作微服务进行编排,得到核心服务流程和协作服务流程;根据核心服务流程依次执行各个核心微服务,得到业务处理结果并向用户返回业务处理结果;为每个协作微服务设置幂等策略,并根据协作服务流程和每个微服务的幂等策略,依次执行每个协作微服务。
应用本发明提供的实施例,通过区分业务处理流程中的核心微服务和协作微服务,并针对不同的微服务设置不同的幂等策略,有效保证了业务数据的正确性和完整性,提高了业务处理的效率,提升了用户的服务体验。
本发明提供的实施例中,如图2所示,可选的,所述根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果,并向所述用户返回所述业务处理结果,包括:
S201:根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功。
本发明提供的实施例中,将各个核心微服务进行编排后,根据编排得到的核心服务流程,依次执行每个核心微服务,并判断每个核心微服务是否执行成功。若存在任一核心微服务执行失败,则执行S202,若所有所述核心微服务均执行成功,则执行S203。
S202:得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程。
S203:得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果。
本发明提供的实施例中,由于每个核心微服务都处于业务处理的关键路径,因此,若存在一个微服务执行失败,则整个业务处理过程均失败,向用户反馈业务处理失败的业务处理结果,并结束业务处理流程。当所有的核心微服务均执行成功时,向用户反馈业务处理成功的业务处理结果,并执行后续协作微服务。
应用本发明提供的实施例,根据核心服务流程处理的各个核心微服务的处理结果得出业务处理结果,核心业务微服务执行完后,即向用户反馈业务处理结果,后续协作微服务由系统自动实现,不占用对客服务的宝贵时间,提高用户处理业务的效率。
本发明提供的实施例中,如图3所示,可选的,所述根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务,包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
具体的,协作微服务的微服务消费方发出消费请求,微服务提供方接收到消费请求,通过幂等组件在可重复执行(无幂等)、多次执行仅返回首次成功结果、成功执行后再收到相同请求后返回重复异常,这三种幂等策略中检查微服务对应的幂等策略,并根据协作微服务对应的幂等策略,执行协作微服务,得到协作微服务的执行结果,并将执行结果更新到幂等表,该执行结果包括根据幂等策略保存微服务提供方执行结果,以及更新微服务提供方成功或失败的状态。
本发明提供的实施例中,如图3所示,可选的,还包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
具体的,微服务消费方通过幂等组件验收微服务提供方执行情况,验收返回结果如下所述:
若所述协作微服务的执行结果为执行成功,则所述协作微服务结束,并根据是否需要返回包进行后续处理;
若所述协作微服务的执行结果为执行失败,则执行预设的补偿操作策略。
其中,所述补偿操作策略包括重试、挂起、业务补偿等策略,供运维人员参考。
若所述幂等组件的幂等表中不存在所述协作微服务的执行结果,则返回异常警告信息。可以理解的是,如果幂等表不存在记录,则报T310异常。
若微服务提供方正在执行中,没有返回执行结果,则稍后重试继续获取微服务提供方的执行结果。
应用本发明提供的实施例,通过微服务消费方向微服务提供方请求协作微服务的幂等实施方案对应的执行结果,保证系统自动完成各个协作微服务,防止如遇网络故障、软件问题等突发情况出现导致的服务失败。
本发明为了解决分布式核心系统架构下,提供业务实现幂等性操作,提供了一种微服务编排系统,通过建立微服务架构,将原系统业务交易调用的各功能模块,按业务角色、运营部门等要素进行微服务拆解,各微服务边界通过事件池进行数据交互。深入分析拆解后的微服务,区别核心业务服务和协作服务,通过对微服务进行编排,实现原系统业务交易功能。以银行贷款业务中的放款交易举例,各功能模块拆解以及各个功能模块的数据流如图4所示。其中,核心业务微服务有占用额度、贷款余额增加、收费、存款余额增加、定价,协作微服务有记账、重算还款计划、历史信息监控记录、短信推送、记录交易流水。各微服务边界通过事件池进行数据交互。
银行贷款业务中的放款交易的各个功能模块的编排结果如图5所示,微服务编排系统的总控开始依次同步处理用额度、定价、贷款余额增加、存款余额增加、收费的核心业务微服务组成的核心服务流程,核心服务流程执行完成后向用户反馈交易结果,并开始依次异步处理记账、重算还款计划、历史信息监控记录、短信推送、记录交易流水等协作微服务流程。
以银行贷款业务中的放款交易举例,如图6所示,包括:用户输入数据、核心业务微服务、反馈对客服务以及协作微服务等步骤,具体步骤如下所述:
用户输入数据是由柜员根据客户情况进行界面数据,例如放款金额、放款账号等输入,提交后进入后台处理。
核心业务微服务主要是系统根据放款交易预设的微服务编排,调用占用额度、利率定价、贷款余额增加、存款余额增加、收费等核心业务微服务同步处理。
反馈对客服务步骤中,如核心业务微服务成功返回,则反馈客户放款成功,否则检查界面数据后重新提交。
协作微服务是在交易反馈成功后,系统根据放款交易预设的微服务编排,调用记账、更新还款计划、历史信息监控记录、短信推送、记录交易流水等协作微服务进行异步处理。通过幂等实施方案,保证系统自动完成其他工作,防止如遇网络故障、软件问题等突发情况出现导致的服务失败。放款业务结束。
本发明提供一种分布式核心银行系统下实现幂等性的方法及装置,在银行业务交易过程中,通过建立微服务架构,将原有的交易功能模块,例如业务流程、网络、系统等,拆分为微服务,梳理业务过程,识别核心业务服务和协作服务,针对不同模块设计不同的幂等性实施方案,有效保证了业务数据的正确性和完整性,提高了核心银行系统的反馈效率,提升了银行客户的服务体验。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种业务处理装置,用于对图1中方法的具体实现,本发明实施例提供的业务处理装置可以应用计算机终端或各种移动设备中,其结构示意图如图7所示,具体包括:
确定单元701,用于响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
拆解单元702,用于按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
编排单元703,用于根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
第一执行单元704,用于根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
第二执行单元705,用于为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务。
基于本发明实施例提供的业务处理装置,由确定单元响应于用户的业务处理请求,根据业务处理请求确定业务处理流程;由拆解单元按预设的拆解条件将业务处理流程拆解为多个核心微服务和多个协作微服务;然后由编排单元根据业务处理流程,对各个核心微服务和各个协作微服务进行编排,得到核心服务流程和协作服务流程;接着由第一执行单元根据核心服务流程依次执行各个核心微服务,得到业务处理结果并向用户返回业务处理结果;最后由第二执行单元为每个协作微服务设置幂等策略,并根据协作服务流程和每个微服务的幂等策略,依次执行每个协作微服务。
应用本发明提供的实施例,通过区分业务处理流程中的核心微服务和协作微服务,并针对不同的微服务设置不同的幂等策略,有效保证了业务数据的正确性和完整性,提高了业务处理的效率,提升了用户的服务体验。
上述的装置,可选的,所述第一执行单元,包括:
判断子单元,用于根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功;
第一执行子单元,用于若存在任一所述核心微服务执行失败,则得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程;
第二执行子单元,用于若所有所述核心微服务均执行成功,则得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果。
上述的装置,可选的,所述第二执行单元,具体用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
上述的装置,可选的,所述第二执行单元,具体还用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
以上本发明实施例公开的业务处理装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的业务处理方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述业务处理方法。
本发明实施例还提供了一种电子设备,其结构示意图如图8所示,具体包括存储器801,以及一个或者一个以上的指令802,其中一个或者一个以上指令802存储于存储器801中,且经配置以由一个或者一个以上处理器803执行所述一个或者一个以上指令802进行以下操作:
响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述微服务的幂等策略,依次执行每个所述协作微服务。
需要说明的是,本发明提供的业务处理的方法及装置可用于分布式领域或金融领域。上述仅为示例,并不对本发明提供的业务处理的方法及装置的应用领域进行限定。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种业务处理方法,其特征在于,包括:
响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述协作微服务的幂等策略,依次执行每个所述协作微服务;
其中,所述根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果,包括:
根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功;
若存在任一所述核心微服务执行失败,则得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程;
若所有所述核心微服务均执行成功,则得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果;
其中,所述根据所述协作服务流程和每个所述协作微服务的幂等策略,依次执行每个所述协作微服务,包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述协作微服务的执行结果为执行成功,则所述协作微服务结束,并根据是否需要返回包进行后续处理;
若所述协作微服务的执行结果为执行失败,则执行预设的补偿操作策略;
若所述幂等组件的幂等表中不存在所述协作微服务的执行结果,则返回异常警告信息。
4.根据权利要求1所述的方法,其特征在于,所述幂等策略为无幂等的第一幂等策略,或多次执行所述协作微服务仅返回第一次执行成功结果的第二幂等策略,或当所述协作微服务成功返回执行结果后,若再收到执行请求,则返回异常的第三幂等策略。
5.一种业务处理装置,其特征在于,包括:
确定单元,用于响应于用户的业务处理请求,根据所述业务处理请求确定业务处理流程;
拆解单元,用于按预设的拆解条件将所述业务处理流程拆解为多个核心微服务和多个协作微服务;
编排单元,用于根据所述业务处理流程,对各个所述核心微服务和各个所述协作微服务进行编排,得到核心服务流程和协作服务流程;
第一执行单元,用于根据所述核心服务流程依次执行各个所述核心微服务,得到业务处理结果并向所述用户返回所述业务处理结果;
第二执行单元,用于为每个所述协作微服务设置幂等策略,并根据所述协作服务流程和每个所述协作微服务的幂等策略,依次执行每个所述协作微服务;
其中,所述第一执行单元,包括:
判断子单元,用于根据所述核心服务流程依次执行各个所述核心微服务,并根据每个所述核心微服务的执行结果,判断每个所述核心微服务是否执行成功;
第一执行子单元,用于若存在任一所述核心微服务执行失败,则得到业务处理失败的业务处理结果,向所述用户返回所述业务处理结果,并结束所述业务处理流程;
第二执行子单元,用于若所有所述核心微服务均执行成功,则得到业务处理成功的业务处理结果,向所述用户返回所述业务处理结果;
所述第二执行单元,具体用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方发出的消费请求时,通过预设的幂等组件检查所述协作微服务对应的幂等策略,并根据所述协作微服务对应的幂等策略,执行所述协作微服务,得到所述协作微服务的执行结果,并将所述协作微服务的执行结果更新至所述幂等组件中的幂等表。
6.根据权利要求5所述的装置,其特征在于,所述第二执行单元,具体还用于:
当所述协作微服务的提供方接收到所述协作微服务的消费方的验收执行结果请求时,在所述幂等组件的幂等表确定所述协作微服务对应的执行结果,并向所述协作微服务的消费方返回所述执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210654257.3A CN115018325B (zh) | 2022-06-10 | 2022-06-10 | 业务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210654257.3A CN115018325B (zh) | 2022-06-10 | 2022-06-10 | 业务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115018325A CN115018325A (zh) | 2022-09-06 |
CN115018325B true CN115018325B (zh) | 2024-05-24 |
Family
ID=83072925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210654257.3A Active CN115018325B (zh) | 2022-06-10 | 2022-06-10 | 业务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115018325B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648936A (zh) * | 2016-12-29 | 2017-05-10 | Tcl集团股份有限公司 | 基于微服务的协作处理方法、系统及服务器 |
CN111625301A (zh) * | 2020-05-25 | 2020-09-04 | 泰康保险集团股份有限公司 | 幂等处理方法、装置、设备及存储介质 |
WO2020211222A1 (zh) * | 2019-04-15 | 2020-10-22 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN113326148A (zh) * | 2021-05-23 | 2021-08-31 | 城家酒店管理有限公司 | 一种基于微服务的数据交互系统 |
CN114301783A (zh) * | 2021-12-31 | 2022-04-08 | 中企云链(北京)金融信息服务有限公司 | 用于微服务的优化方法以及装置、存储介质、电子装置 |
-
2022
- 2022-06-10 CN CN202210654257.3A patent/CN115018325B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648936A (zh) * | 2016-12-29 | 2017-05-10 | Tcl集团股份有限公司 | 基于微服务的协作处理方法、系统及服务器 |
WO2020211222A1 (zh) * | 2019-04-15 | 2020-10-22 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
CN111625301A (zh) * | 2020-05-25 | 2020-09-04 | 泰康保险集团股份有限公司 | 幂等处理方法、装置、设备及存储介质 |
CN113326148A (zh) * | 2021-05-23 | 2021-08-31 | 城家酒店管理有限公司 | 一种基于微服务的数据交互系统 |
CN114301783A (zh) * | 2021-12-31 | 2022-04-08 | 中企云链(北京)金融信息服务有限公司 | 用于微服务的优化方法以及装置、存储介质、电子装置 |
Non-Patent Citations (1)
Title |
---|
基于微服务架构的数据一致性方法研究;杨成荣等;电脑知识与技术;20200315(第08期);272-274 * |
Also Published As
Publication number | Publication date |
---|---|
CN115018325A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019206114A1 (en) | Electronic funds transaction system and method | |
US7584126B1 (en) | System and method for managing dedicated use of a credit account | |
CN109347669B (zh) | 一种银行系统间的批量作业的故障处理方法及装置 | |
CN107038645B (zh) | 业务处理方法、装置及系统和服务器 | |
CN103677771A (zh) | 一种并发事务的处理方法和装置 | |
CN112991046A (zh) | 电子资源的额度控制方法、装置、设备及存储介质 | |
CN115271694A (zh) | 订单支付方法及系统 | |
WO2020243904A1 (zh) | 一种退款方法、交易系统、账户系统及存储介质 | |
WO2009029376A1 (en) | Method and system for customer transaction request routing | |
CN111915285B (zh) | 现金提取方法、装置和电子设备 | |
CN115018325B (zh) | 业务处理方法及装置 | |
CN112099934A (zh) | 一种批处理方法、系统、计算机设备及存储介质 | |
US20070067238A1 (en) | System and method for transferring information between financial accounts | |
KR20140010588A (ko) | 은행에 의한 과제비 중개 서비스 방법 및 은행 과제비 중개 서버 | |
KR20160025796A (ko) | 분할환전 처리 장치 및 방법 | |
CN113436018A (zh) | 一种资产托管业务处理方法、装置、存储介质及电子设备 | |
US20150120522A1 (en) | System and method for efficient allocation of resources in a financial services branch | |
JP3903471B2 (ja) | 先日時付完結処理システム | |
TWI794877B (zh) | 協助滾動式調整融資條件的電商平台伺服器及方法 | |
CN111915421B (zh) | 一种银行系统内部交易的兑换处理方法及系统 | |
KR20220067063A (ko) | 금융 거래 처리 시스템 및 방법 | |
TWM644251U (zh) | 運行金融交易補償方法的金融系統 | |
CN114663238A (zh) | 一种基于分布式事务疑账的交易处理方法及装置 | |
AU2014101458A4 (en) | Electronic funds transaction system and method | |
CN117252684A (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 |