一种商品下单支付方法、系统、设备及存储介质技术方案

技术编号:33448149 阅读:13 留言:0更新日期:2022-05-19 00:33
本发明专利技术公开了一种商品下单支付方法、系统、设备及存储介质。该方法包括:通过商品购买页面获取用户对商品的下单请求;通过分布式锁操作生成下单请求对应的商品订单,将商品订单存入数据库;基于数据库中的商品订单发起支付页面,以供用户支付商品订单;将支付完成的商品订单发送至后台系统。通过本发明专利技术的技术方案,能够基于分布式锁方式控制库存扣减流程的唯一性,有效地避免了传统秒杀场景超卖现象的发生,确保秒杀实际下单数量与库存扣减数量保持一致性。持一致性。持一致性。

【技术实现步骤摘要】
一种商品下单支付方法、系统、设备及存储介质


[0001]本专利技术实施例涉及互联网
,尤其涉及一种商品下单支付方法、系统、设备及存储介质。

技术介绍

[0002]随着电商产业链的高速发展,人们生活消费的方式越来越趋向于通过网上商城形式采买。各大电商平台为提高客户购买欲望,纷纷推出商品限时秒杀活动。
[0003]但秒杀活动对原有个人电商系统却经常造成系统压力,因为传统的下单支付操作通常是基于数据库实现,磁盘IO性能较差,无法满足高并发的秒杀场景。对于传统的秒杀下单在高并发时经常会出现商品超卖现象的发生,后期再通过平库程序去追平销售和库存数量,过程较为繁琐。

技术实现思路

[0004]本专利技术实施例提供一种商品下单支付方法、系统、设备及存储介质,以实现能够通过分布式锁方式控制库存扣减流程的唯一性,有效地避免了传统秒杀场景超卖现象的发生,确保秒杀实际下单数量与库存扣减数量保持一致性。
[0005]第一方面,本专利技术实施例提供了一种商品下单支付方法,该方法包括:
[0006]通过商品购买页面获取用户对商品的下单请求;
[0007]通过分布式锁操作生成所述下单请求对应的商品订单,将所述商品订单存入数据库;
[0008]基于所述数据库中的商品订单发起支付页面,以供用户支付所述商品订单;
[0009]将支付完成的商品订单发送至后台系统。
[0010]第二方面,本专利技术实施例还提供了一种商品下单支付系统,该系统包括:
[0011]下单请求模块,用于通过商品购买页面获取用户对商品的下单请求;
[0012]商品下单模块,用于通过分布式锁操作生成所述下单请求对应的商品订单,将所述商品订单存入数据库;
[0013]订单支付模块,用于基于所述数据库中的商品订单发起支付页面,以供用户支付所述商品订单;
[0014]订单推送模块,用于将支付完成的商品订单发送至后台系统。
[0015]第三方面,本专利技术实施例还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的商品下单支付方法。
[0016]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的商品下单支付方法。
[0017]本专利技术实施例通过商品购买页面获取用户对商品的下单请求;通过分布式锁操作生成下单请求对应的商品订单,将商品订单存入数据库;基于数据库中的商品订单发起支
付页面,以供用户支付商品订单;将支付完成的商品订单发送至后台系统,能够通过分布式锁方式控制库存扣减流程的唯一性,有效地避免了传统秒杀场景超卖现象的发生,确保秒杀实际下单数量与库存扣减数量保持一致性。
附图说明
[0018]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0019]图1A是本专利技术实施例一中的一种商品下单支付方法的流程图;
[0020]图1B是下单支付系统和后台系统之间的结构示意图;
[0021]图2A是本专利技术实施例二中的一种商品下单支付方法的流程图;
[0022]图2B是分布式锁操作的示意图;
[0023]图2C是库存调配方案的示意图;
[0024]图3是本专利技术实施例三中的一种商品下单支付系统的结构示意图;
[0025]图4是本专利技术实施例四中的一种终端设备的结构示意图。
具体实施方式
[0026]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0027]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0028]实施例一
[0029]图1A为本专利技术实施例一提供的一种商品下单支付方法的流程图,本实施例可适用于针对秒杀商品进行下单支付的情况,该方法可以由本专利技术实施例中的商品下单支付系统来执行,该系统可采用软件和/或硬件的方式实现,如图1A所示,该方法具体包括如下步骤:
[0030]S110,通过商品购买页面获取用户对商品的下单请求。
[0031]其中,在商品下单支付系统中显示商品购买页面,在商品购买页面显示商品信息,商品信息例如可以包括:商品介绍、商品库存数量、下单入口、可购买时间或倒计时等。
[0032]具体的,用户在商品下单支付系统中登录用户账号,在商品购买页面选择商品下单数量发送下单请求。其中下单请求可以包括:商品下单数量和用户标识;用户标识用于唯一标识用户的身份,例如用户ID或用户昵称。
[0033]S120,通过分布式锁操作生成下单请求对应的商品订单,将商品订单存入数据库。
[0034]其中,分布式锁操作是控制分布式系统之间同步访问共享资源的一种方式。分布式锁操作使得在分布式场景下,一个事务在同一时间内只能被同一个线程执行。
[0035]具体的,基于用户的下单请求进行分布式操作向商品库存发送加锁请求,使得商品库存在加锁状态下基于下单数量进行库存扣减,并生成商品订单,将订单存储数据库;而
其他用户只有等待商品库存释放锁之后,才能重新向商品库存发送加锁请求进行库存扣减。示例性的,分布式锁操作的实现方式可以是基于缓存实现分布式锁,例如redis;也可以是基于数据库实现分布式锁。
[0036]传统的下单支付模式,在高并发时会因为线程抢占,冲突等问题导致经常出现实际销售数量与实际库存扣减不一致的现象发生。本专利技术实施例通过分布式锁方式控制库存扣减流程的唯一性,有效地避免了传统商品秒杀场景下超卖现象的发生,确保秒杀实际下单数量与库存扣减数量保持一致性。
[0037]将生成商品订单和订单入库进行异步拆分处理,在生成商品订单之后,利用Redis缓存的List队列存储商品订单,以用户唯一标识为HashTag使用户的订单信息均匀分布。以多线程形式实现订单存入数据库的操作,支持参数配置方式动态调节入库速率,确保在后台系统稳定的前提下,尽快的完成入库操作,正常情况下可以实现秒级入库。
[0038]S130,基于数据库中的商品订单发起支付页面,以供用户支付商品订单。
[0039]具体的,为保证用户下单到订单支付流程的流畅性,同时又避免支付操作过多依赖与数据库性能,而导致因支付缓慢给用户带来较差体验的情况发生。将生成商品订单和订单入库进行异本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种商品下单支付方法,其特征在于,应用于商品下单支付系统,所述方法包括:通过商品购买页面获取用户对商品的下单请求;通过分布式锁操作生成所述下单请求对应的商品订单,将所述商品订单存入数据库;基于所述数据库中的商品订单发起支付页面,以供用户支付所述商品订单;将支付完成的商品订单发送至后台系统。2.根据权利要求1所述的方法,其特征在于,所述通过分布式锁操作生成所述下单请求对应的商品订单,包括:向商品库存发送加锁请求;接收所述商品库存发送的加锁响应,在所述商品库存的加锁状态下,基于所述下单请求执行扣减库存的操作并生成商品订单;向所述商品库存发送释放锁请求,以使所述商品库存释放加锁状态。3.根据权利要求2所述的方法,其特征在于,还包括:若未接收到所述商品库存的加锁响应,则等待所述商品库存的加锁状态被释放之后,返回执行向商品库存发送加锁请求的操作,直到接收到所述加锁响应或者未接收到所述加锁响应的持续时间超过第一预设时间;若未接收到所述加锁响应的持续时间超过第一预设时间,则向所述商品购买页面发送下单失败提示信息。4.根据权利要求2所述的方法,其特征在于,所述下单请求包括:用户标识信息和商品下单数量,相应的,所述基于所述下单请求执行扣减库存的操作并生成订单,包括:基于所述用户标识信息随机分配第一目标虚拟库存;所述商品库存分组为多个虚拟库存;所述第一目标虚拟库存为所述多个虚拟库存中的一个;若所述第一目标虚拟库存的数量大于或等于所述商品下单数量,则基于所述商品下单数量扣减所述第一目标虚拟库存的数量,并生成商品订单;若所述第一目标虚拟库存的数量小于所述商品下单数量,则为所述用户分配至少一个第二目标虚拟库存,将所述第一目标虚拟库存与所述第二...

【专利技术属性】
技术研发人员:王程龙张警威
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1