[发明专利]一种交易状态机设计方法、处理装置和处理方法有效
申请号: | 202011057407.X | 申请日: | 2020-09-30 |
公开(公告)号: | CN112131238B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 隋成 | 申请(专利权)人: | 江苏苏宁银行股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/21;G06F16/27;G06Q40/04 |
代理公司: | 南京瑞华腾知识产权代理事务所(普通合伙) 32368 | 代理人: | 梁金娟 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 交易 状态机 设计 方法 处理 装置 | ||
1.一种交易状态机设计方法,交易状态机应用于交易系统中,所述交易系统与上游系统和下游系统进行数据交互,其特征在于,包括如下步骤:
构建状态机模型,配置所述状态机的输出状态与输入信息之间的流转条件;
接收上游系统信息,将所述状态机更新为初始化状态;
接收下游系统响应结果,将所述响应结果作为输入信息载入所述状态机模型中,并根据所述流转条件对所述状态机当前状态进行迁移;
其中,所述状态机模型包括REDIS中间件,所述REDIS中间件包括交易状态和流转条件,对所述状态机当前状态进行迁移,包括:
获取REDIS中间件的交易状态并进行处理,判断交易状态是否存在;
当交易状态存在时,判断输入信息是否符合流转条件,如果符合,则更新REDIS中间件缓存中的交易状态到下一状态,并同步更新数据库中的交易状态,反之处理流程结束;
当交易状态不存在时,设置REDIS中间件缓存中的交易状态到下一状态,并同步更新数据库中的交易状态。
2.根据权利要求1所述的交易状态机设计方法,其特征在于,所述状态机具有8个状态,分别为I、P、C、T、W、S、F、R状态:
处于I状态时,表示所述状态机接收上游系统信息后的初始化状态;
处于P状态时,表示交易正在交易系统的线程中进行处理;
处于C状态时,表示交易发往下游系统处理,交易系统正在等待处理结果;
处于T状态时,表示交易正在转发处理中;
处于W状态时,表示交易被转发未得到最终结果,等待被交易系统继续转发;
处于S状态时,表示交易已成功;
处于F状态时,表示交易已失败;
处于R状态时,表示交易已经被上游系统发起撤销或冲正操作。
3.根据权利要求2所述的交易状态机设计方法,其特征在于,所述状态机的交易状态迁移流程为:
交易系统接收上游系统信息后,状态机处于I状态;
交易系统对交易信息进行处理,状态机更新为P状态;
交易处理后发往下游系统,状态机更新为C状态,下游系统返回响应结果,状态机由C状态变更为P状态;
或者根据下游系统返回响应结果,状态机由P状态更新为S状态或F状态;
当状态机处于C状态,接收下游系统返回响应结果发生超时,触发存储转发,状态机变更为T状态;
处于T状态的交易被多次转发,交易状态更新为W状态,或者由W状态更新为T状态;
当处于T状态的状态机查询到最终结果时,交易状态更新为S状态或F状态。
4.根据权利要求3所述的交易状态机设计方法,其特征在于,所述交易状态为P、C、T、W、S、F状态时,均可接受到上游系统发送的撤销或冲正请求,更新交易状态为R状态。
5.一种交易状态机处理装置,其特征在于,包括:
初始化单元,用于接收上游系统发送的交易请求,进行初始化处理,并设置交易状态为I状态;
交易处理单元,用于对交易进行处理,设置交易状态为P状态,同时更改REDIS中间件和数据库中的交易状态;
发送单元,用于将交易发送至下游系统,设置交易状态为C状态,同时更新REDIS中间件和数据库中的交易状态;
响应单元,用于接收下游系统发送的响应信息,根据响应信息对交易状态进行迁移,并判断响应信息是否超时;
超时处理单元,用于在响应信息超时,判断交易状态是否达到终态,未达到终态时,执行转发逻辑,设置交易状态为T状态;
转发处理单元,用于对交易进行多次转发;
查询单元,用于对转发的交易进行查询,当查询到交易状态为终态时,设置交易状态为S、F或R状态;
撤销单元,用于在接收到上游系统发出的撤销请求后,将交易状态设置为R状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏苏宁银行股份有限公司,未经江苏苏宁银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011057407.X/1.html,转载请声明来源钻瓜专利网。