[发明专利]一种交易状态机设计方法、处理装置和处理方法有效
申请号: | 202011057407.X | 申请日: | 2020-09-30 |
公开(公告)号: | CN112131238B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 隋成 | 申请(专利权)人: | 江苏苏宁银行股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/21;G06F16/27;G06Q40/04 |
代理公司: | 南京瑞华腾知识产权代理事务所(普通合伙) 32368 | 代理人: | 梁金娟 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 交易 状态机 设计 方法 处理 装置 | ||
本发明提出了一种交易状态机设计方法、处理装置和处理方法,该交易状态机应用于交易系统中,所述交易系统与上游系统和下游系统进行数据交互,所述方法包括如下步骤:构建状态机模型,配置所述状态机的输出状态与输入信息之间的流转条件;接收上游系统信息,将所述状态机更新为初始化状态;接收下游系统响应结果,将所述响应结果作为输入信息载入所述状态机模型中,并根据所述流转条件对所述状态机当前状态进行迁移。本发明基于REDIS中间件实现,能有效利用REDIS的高性能缓存机制和单线程事务原子性机制,有效提升分布式系统的健壮性和高可用性。
技术领域
本发明涉及计算机应用技术领域,具体而言,涉及一种交易状态机设计方法、处理装置和处理方法。
背景技术
随着金融行业的快速发展,交易场景在金融领域的应用越来越广泛,如何开发一个高可用的交易系统已经成为当前各大金融机构研究实践的主要方向。在交易系统的设计中,如何设计交易的状态机,如何实现交易的状态机已经成为当前系统设计的关键节点。合理的定义交易状态、充分利用分布式系统设计的技术要点来解决状态机的实现问题,能有效的提高交易系统的健壮性和高可用性。
目前主流的交易系统设计,交易状态设计比较单一,状态流转不够明确,交易状态最终不能完全一致性和状态表述不明确切状态不能形成闭环等问题。在技术实现方面,主流的交易系统目前主要采用的数据库行锁的方式来确保交易状态的原子性,存在的性能底下切不适合分布式系统扩展等问题。
发明内容
鉴于上述问题,本发明提供了一种交易状态机设计方法、处理装置和处理方法。
为解决上述技术问题,本发明采用的技术方案是:
第一方面,本发明提供了一种交易状态机设计方法,交易状态机应用于交易系统中,所述交易系统与上游系统和下游系统进行数据交互,包括如下步骤:构建状态机模型,配置所述状态机的输出状态与输入信息之间的流转条件;接收上游系统信息,将所述状态机更新为初始化状态;接收下游系统响应结果,将所述响应结果作为输入信息载入所述状态机模型中,并根据所述流转条件对所述状态机当前状态进行迁移。
作为优选方案,所述状态机模型包括REDIS中间件,所述REDIS中间件包括交易状态和流转条件,所述对状态机当前状态进行迁移,包括:获取REDIS中间件的交易状态并进行处理,判断交易状态是否存在;当交易状态存在时,判断输入信息是否符合流转条件,如果符合,则更新REDIS中间件缓存中的交易状态到下一状态,并同步更新数据库中的交易状态,反之处理流程结束;当交易状态不存在时,设置REDIS中间件缓存中的交易状态到下一状态,并同步更新数据库中的交易状态。
作为优选方案,所述状态机具有8个状态,分别为I、P、C、T、W、S、F、R状态:处于I状态时,表示所述状态机接收上游系统信息后的初始化状态;处于P状态时,表示交易正在交易系统的线程中进行处理;处于C状态时,表示交易发往下游系统处理,交易系统正在等待处理结果;处于T状态时,表示交易正在转发处理中;处于W状态时,表示交易被转发未得到最终结果,等待被交易系统继续转发;处于S状态时,表示交易已成功;处于F状态时,表示交易已失败;处于R状态时,表示交易已经被上游系统发起撤销或冲正操作。
作为优选方案,所述状态机的交易状态迁移流程为:交易系统接收上游系统信息后,状态机处于I状态;交易系统对交易信息进行处理,状态机更新为P状态;交易处理后发往下游系统,状态机更新为C状态,下游系统返回响应结果,状态机由C状态变更为P状态;或者根据下游系统返回响应结果,状态机由P状态更新为S状态或F状态;当状态机处于C状态,接收下游系统返回响应结果发生超时,触发存储转发,状态机变更为T状态;处于T状态的交易被多次转发,交易状态更新为W状态,或者由W状态更新为T状态;当处于T状态的状态机查询到最终结果时,交易状态更新为S状态或F状态。
作为优选方案,所述交易状态为P、C、T、W、S、F状态时,均可接受到上游系统发送的撤销或冲正请求,更新交易状态为R状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏苏宁银行股份有限公司,未经江苏苏宁银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011057407.X/2.html,转载请声明来源钻瓜专利网。