用于信息处理的方法、电子设备和存储介质技术

技术编号:25223802 阅读:18 留言:0更新日期:2020-08-11 23:13
本公开的实施例涉及用于信息处理的方法、设备和存储介质,涉及信息处理领域。根据该方法,从第一终端设备接收第一事件标识、与第一事件标识相关联的商品标识以及与商品标识相关联的库存数量;如果确认从多个第二终端设备接收到多个第一库存操作请求,则基于第一库存操作请求,生成分布式锁,第一库存操作请求包括第一事件标识、多个商品标识和与多个商品标识相关联的多个待操作数量;基于多个待操作数量,对与多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;向第二终端设备发送第一库存操作结果;以及释放所述分布式锁。由此,能够在商品浅库存时接收到并发库存操作请求的情况下防止超卖以及重复操作。

【技术实现步骤摘要】
用于信息处理的方法、电子设备和存储介质
本公开的实施例总体涉及信息处理领域,具体涉及用于信息处理的方法、电子设备和计算机存储介质。
技术介绍
传统方案基于数据库行级别锁去控制对同一个商品的库存修改。这种方案对数据库的机器性能要求很高。数据库无法支撑超过一定规模的并发访问,尤其是热销秒杀类商品更是如此。
技术实现思路
提供了一种用于信息处理的方法、电子设备以及计算机存储介质,能够在商品浅库存时接收到并发库存操作请求的情况下防止超卖以及重复操作。根据本公开的第一方面,提供了一种用于信息处理的方法。该方法包括:从第一终端设备接收第一事件标识、与第一事件标识相关联的商品标识以及与商品标识相关联的库存数量;如果确认从多个第二终端设备接收到多个第一库存操作请求,则针对多个第一库存操作请求中的任意第一库存操作请求,生成分布式锁,第一库存操作请求包括第一事件标识、多个商品标识和与多个商品标识相关联的多个待操作数量;基于多个待操作数量,对与多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;向第二终端设备发送第一库存操作结果;以及释放所述分布式锁。根据本公开的第二方面,提供了一种电子设备。该电子设备包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据第一方面所述的方法。在本公开的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。图1是根据本公开的实施例的信息处理环境100的示意图。图2是根据本公开的实施例的用于信息处理的方法200的示意图。图3是根据本公开的实施例的用于生成分布式锁的方法300的示意图。图4是根据本公开的实施例的用于对与多个商品标识相关联的多个库存数量执行第一库存操作的方法400的示意图。图5是根据本公开的实施例的用于异步更新数据库的方法500的示意图。图6是用来实现本公开实施例的用于信息处理的方法的电子设备的框图。具体实施方式以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上所述,数据库无法支持很高的并发操作,在针对热销秒杀类商品进行库存操作时容易发生超卖的情形。此外,由于超时重传而接收到多个重复请求时容易出现重复操作的情况。为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于信息处理的方案。在该方案中,从第一终端设备接收第一事件标识、与第一事件标识相关联的商品标识以及与商品标识相关联的库存数量;如果确认从多个第二终端设备接收到多个第一库存操作请求,则针对多个第一库存操作请求中的任意第一库存操作请求,基于第一库存操作请求,生成分布式锁,第一库存操作请求包括第一事件标识、多个商品标识和与多个商品标识相关联的多个待操作数量;基于多个待操作数量,对与多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;向第二终端设备发送第一库存操作结果;以及释放所述分布式锁。由此,能够在商品浅库存时接收到并发库存操作请求的情况下防止超卖以及重复操作。在下文中,将结合附图更详细地描述本方案的具体示例。图1示出了根据本公开的实施例的信息处理环境100的示例的示意图。信息处理环境100可以包括内存缓存服务器110、第一终端设备120、多个第二终端设备130-1、130-2和130-3(统称为130)。应当理解,虽然图1中仅显示出了3个第二终端设备,但是这仅是举例说明,可以包括更多或更少的第二终端设备。内存缓存服务器110例如包括但不限于服务器计算机、多处理器系统、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。在一些实施例中,仿真设备110可以具有一个或多个处理单元,包括诸如图像处理单元GPU、现场可编程门阵列FPGA和专用集成电路ASIC等的专用处理单元以及诸如中央处理单元CPU的通用处理单元。内存缓存服务器110例如包括但不限于redis服务器。第一终端设备120和第二终端设备130例如包括但不限于个人计算机、台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理等。第一终端设备120例如为商家终端设备。第一终端设备120例如可以发起商品活动事件,以及向内存缓存服务器110发送与商品活动事件相关联的事件标识、商品标识和库存数量。第二终端设备130例如为用户终端设备。第二终端设备130例如可以进行商品订单操作,从而触发向内存缓存服务器110发送商品库存操作请求。在一些情况下,例如商品活动期间,多个第二终端设备130可以针对相同的一件或多件商品发起商品订单操作,从而触发针对相同的一件或多件商品的多个库存操作请求。内存缓存服务器110用于从第一终端设备120接收第一事件标识、与第一事件标识相关联的商品标识以及与商品标识相关联的库存数量;如果确认从多个第二终端设备130接收到多个第一库存操作请求,则针对多个第一库存操作请求中的任意第一库存操作请求,基于第一库存操作请求,生成分布式锁,第一库存操作请求包括第一事件标识、多个商品标识和与多个商品标识相关联的多个待操作数量;基于多个待操作数量,对与多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;向第二终端设备130发送第一库存操作结果;以及释放分布式锁。图2示出了根据本公开的实施例的用于信息处理的方法200的流程图。例如,方法200可以由如图1所示的内存缓存服务器110来执行。应当理解的是,方法200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。在框202处,内存缓存服务器110从第一终端设备120接收第一事件标识、与第一事件标识相关联的商品标识以及与商品标识相关联的库存数量。第一事件本文档来自技高网...

【技术保护点】
1.一种用于信息处理的方法,包括:/n从第一终端设备接收第一事件标识、与所述第一事件标识相关联的商品标识以及与所述商品标识相关联的库存数量;/n响应于确认从多个第二终端设备接收到多个第一库存操作请求,针对所述多个第一库存操作请求中的任意第一库存操作请求,基于所述第一库存操作请求,生成分布式锁,所述第一库存操作请求包括所述第一事件标识、多个商品标识和与所述多个商品标识相关联的多个待操作数量;/n基于所述多个待操作数量,对与所述多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;/n向所述第二终端设备发送所述第一库存操作结果;以及/n释放所述分布式锁。/n

【技术特征摘要】
1.一种用于信息处理的方法,包括:
从第一终端设备接收第一事件标识、与所述第一事件标识相关联的商品标识以及与所述商品标识相关联的库存数量;
响应于确认从多个第二终端设备接收到多个第一库存操作请求,针对所述多个第一库存操作请求中的任意第一库存操作请求,基于所述第一库存操作请求,生成分布式锁,所述第一库存操作请求包括所述第一事件标识、多个商品标识和与所述多个商品标识相关联的多个待操作数量;
基于所述多个待操作数量,对与所述多个商品标识相关联的多个库存数量执行第一库存操作,以得到第一库存操作结果;
向所述第二终端设备发送所述第一库存操作结果;以及
释放所述分布式锁。


2.根据权利要求1所述的方法,其中生成所述分布式锁包括:
对所述第一事件标识、所述多个商品标识和所述多个待操作数量进行排序,以得到排序结果;
生成所述排序结果的指纹信息;以及
基于所述指纹信息,生成分布式锁。


3.根据权利要求1所述的方法,其中所述第一库存操作包括减库存操作,以及对所述多个库存数量执行所述第一库存操作包括:
确定所述多个库存数量中的每个库存数量是否均大于或等于所述多个待操作数量中的相应待操作数量;以及
响应于确定所述多个库存数量中的每个库存数量均大于或等于所述相应待操作数量,从所述多个库存数量中的每个库存数量减去所述多个待操作数量中的相应待操作数量,以作为所述第一库存操作结果。


4.根据权利要求1所述的方法,还包括:
响应于确定针对所述多个库存数量的所述第一库存操作完成,基于所述第一库存操作请求,异步更新数据库,所述数据库包括第一事件标识、商品标识以及库存数量之间的关联。


5.根据权利要求4所述的方法,其中异步更新所述数据库包括:
向消息队列中添加多个第一数据库操作消息,所述多个第一数据库操作消息中的每个第一数据库操作消息包括所述第一事件标识、所述多个商品标识中的一个商品标识和与所述商品标识相关联的待操作数量...

【专利技术属性】
技术研发人员:王敏王德龙
申请(专利权)人:南京梦饷网络科技有限公司上海众旦信息科技有限公司
类型:发明
国别省市:江苏;32

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

1