[发明专利]一种保证支付系统订单状态按序流转的方法及其系统在审
申请号: | 202111220109.2 | 申请日: | 2021-10-20 |
公开(公告)号: | CN113900838A | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 刘德建;叶伟;陈宏展 | 申请(专利权)人: | 福建天晴数码有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06Q10/08;G06Q30/06 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350000 福建省福州市君竹路83*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 支付 系统 订单 状态 按序 流转 方法 及其 | ||
本发明提供了一种保证支付系统订单状态按序流转的方法,该方法为:1、用户下单,生成一条订单数据;2、将订单数据中用户编号%N取模得到分组编号,得到分组编号后,对账队列根据分组编号的值进行编排命名,将生成的订单消息存入命名的对账队列中;3、通过不同的线程消费对账队列,防止出现多线程竞争消费对账队列,使得订单状态能按序流转,检查订单付款状态,生成对账单;4、按用户编号%N取模得到发货队列组编号,发货队列根据发货队列组编号的值进行编排命名,将形成对账单的订单消息存入命名的发货队列中;5、消费发货队列,检查订单对账状态,生成发货单,结束流程;能利用队列分组来防止出现多线程竞争消费队列,让订单流程有序执行。
技术领域
本发明涉及支付业务技术领域,特别是一种保证支付系统订单状态按序流转的方法及其系统。
背景技术
在支付系统中,订单的状态从未付款变为已付款,系统需要生成对账单,订单的状态再从已付款变为已对账,系统需要生成发货单,由此可以看出支付流程是一个注重时序的场景。但大流量、高并发是互联网的特点,所以可以利用MQ进行削峰填谷;MQ(MessageQueue)消息队列,是基础数据结构中“先进先出”的一种数据结构,解耦订单流程的各个步骤,这是解决高并发的好方法,但新问题又出现了,订单流程就会从同步变为异步,这样就很难保证订单的时序性,因为多个线程对不同消息队列进行消费,不同的线程执行速度有别,无法保证先进的消息先被消费,那时序颠倒就会对订单流程产生破坏性的结果。
发明内容
为克服上述问题,本发明的目的是提供一种保证支付系统订单状态按序流转的方法,能保证先进的消息先被消费,不会出现订单状态的时序颠倒,防止订单流程产生破坏性的结果。
本发明采用以下方案实现:一种保证支付系统订单状态按序流转的方法,所述方法包括如下步骤:
步骤S1、用户下单,生成一条订单数据;
步骤S2、将订单数据中用户编号%N取模得到分组编号,该N为大于1的整数;得到分组编号后,对账队列根据分组编号的值进行编排命名,将生成的订单消息存入命名的对账队列中;
步骤S3、通过不同的线程消费对账队列,防止出现多线程竞争消费对账队列,使得订单状态能按序流转,检查订单付款状态,生成对账单;
步骤S4、按用户编号%10取模得到发货队列组编号,发货队列根据发货队列组编号的值进行编排命名,将形成对账单的订单消息存入命名的发货队列中;
步骤S5、消费发货队列,检查订单对账状态,生成发货单,结束流程。
进一步的,所述订单数据包括用户编号UserID,商品编号GoodsID,金额Money,订单号OrderNo,订单状态Status,以及添加时间AddTime;将订单数据存储至数据库的订单表OrderTb中。
进一步的,所述步骤S3进一步具体为:分组的对账队列分别由不同的线程进行消费,能防止出现多线程竞争消费对账队列,来提高订单的流转速度;启用多个线程,每个线程对应订阅对账队列名;线程收到对账队列名的消息内容,执行查询订单表语句,获得订单信息,判断订单状态Status是否为已付款,如果未付款,则回复消息应答ack=0,等待下次检查;如果是已付款状态,回复消息应答ack=1,然后请求支付合作方的接口,查询订单是否价格正确,生成对账单,并且更新订单的状态Status为‘已对账’。
进一步的,所述步骤S5进一步具体为:启用多个线程,每个线程分别消费发货队列;线程收到发货队列名的消息内容,执行查询订单表语句,获得订单信息,判断订单状态Status是否为已对账,如果未对账,则回复消息应答ack=0,等待下次检查;如果是已对账状态,回复消息应答ack=1,然后生成发货单,并且更新订单的状态Status为‘已发货’。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111220109.2/2.html,转载请声明来源钻瓜专利网。