本申请实施例涉及分布式领域,尤其涉及一种订单数据处理方法以及相关装置。
背景技术:
1、随着互联网的高速发展,越来越多的用户选择在网上进行交易,高并发已经是业务场景的常态化现象。例如,可能会出现多人同时选择一个商品进行下单,或者某用户对某一订单发起多次退款操作等。
2、针对以上问题,亟需一种针对解决该高并发问题的交易程序,避免对同一笔订单进行重复性支付或退款,以此保障商家与用户的权益。
技术实现思路
1、本申请实施例提供了一种订单数据处理方法以及相关装置,用于对正在进行网上交易的订单添加分布式锁,从而防止其他节点对该订单数据进行修改,保障了交易的一致性。
2、本申请实施例第一方面提供了一种订单数据处理方法:
3、接收第一业务请求,第一业务请求包括第一业务标识和第一订单数据;
4、根据第一业务标识和第一订单数据,生成第一分布式锁,第一分布式锁在全部进程中只有一个;
5、在第一业务请求结束后,销毁第一分布式锁。
6、在一些可选的实施方式中,根据第一业务标识和第一订单数据,生成第一分布式锁之前,方法还包括:
7、获取第一令牌;
8、向目标数据库发送第一查询指令,第一查询指令用于查询第一令牌的状态标识;
9、若状态标识不为第一状态,则提示错误信息。
10、在一些可选的实施方式中,获取第一令牌包括:
11、执行令牌生成接口,获取第一令牌,并向目标数据库发送第一新增指令,第一新增指令用于将第一令牌与第一令牌的状态标识存储在目标数据库,状态标识为第一状态。
12、在一些可选的实施方式中,向目标数据库发送第一查询指令之后,方法还包括:
13、向目标数据库发送第一修改指令,第一修改指令用于将状态标识修改为第二状态,第二状态与第一状态不同。
14、在一些可选的实施方式中,在第一业务请求结束后,销毁第一分布式锁之前,方法还包括:
15、根据第一业务请求,确定目标执行条件;
16、若满足目标执行条件,则执行第一业务请求;
17、若不满足目标执行条件,则提示错误信息;
18、结束第一业务请求。
19、在一些可选的实施方式中,当第一业务标识为支付交易时,第一业务请求还包括第一商品数据;
20、根据第一业务请求,确定目标执行条件之前,方法还包括:
21、根据第一商品数据,生成第二分布式锁,第二分布式锁在全部进程中只有一个;
22、结束第一业务请求之后,方法还包括:
23、销毁第二分布式锁。
24、在一些可选的实施方式中,当第一业务标识为退款申请时,第一订单数据还包括目标退款次数;
25、目标执行条件包括:
26、判断目标退款次数是否超过限制;
27、若满足目标执行条件,则执行第一业务请求包括:
28、向目标数据库发送第二修改指令,第二修改指令用于更新订单状态以及将目标退款次数加一。
29、在一些可选的实施方式中,当第一业务标识为退款通知时,第一订单数据包括目标退款次数和退款审批意见;
30、目标执行条件包括:
31、判断退款审批意见是否通过退款;
32、若通过退款,则向目标数据库发送第三修改指令以及调起支付系统进行退款,第三修改指令用于更新订单状态以及更新退款金额数据;
33、若不通过退款,则向目标数据库发送第四修改指令,第四修改指令用于将目标退款次数减一。
34、本申请实施例第二方面提供了一种订单数据处理装置,其中包括:
35、接收模块,用于接收第一业务请求,第一业务请求包括第一业务标识和第一订单数据;
36、生成模块,用于根据第一业务标识和第一订单数据,生成第一分布式锁,第一分布式锁在全部进程中只有一个;
37、销毁模块,用于在第一业务请求结束后,销毁第一分布式锁。
38、本申请第三方面提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如第一方面或第一方面中的任意一种实现方式。
39、从以上技术方案可以看出,本申请实施例具有以下优点:
40、本申请实施例中,在进行网上订单交易过程中,通过对订单数据增加分布式锁,从而保证在高并发状态下,同一个订单数据只能进行一次修改,保障了交易的一致性。并且使用了令牌机制,避免同一笔交易多次调起接口,保证接口的幂等性。
1.一种订单数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识和所述第一订单数据,生成第一分布式锁之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述获取第一令牌包括:
4.根据权利要求2或3所述的方法,其特征在于,所述向目标数据库发送第一查询指令之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述在所述第一业务请求结束后,销毁所述第一分布式锁之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,当所述第一业务标识为支付交易时,所述第一业务请求还包括第一商品数据;
7.根据权利要求5所述的方法,其特征在于,当所述第一业务标识为退款申请时,所述第一订单数据还包括目标退款次数;
8.根据权利要求5所述的方法,其特征在于,当所述第一业务标识为退款通知时,所述第一订单数据包括所述目标退款次数和退款审批意见;
9.一种订单数据处理装置,其特征在于,包括:
10.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8中任意一项所述的方法。