一种库存数据处理方法和装置的制造方法

文档序号:9708388阅读:215来源:国知局
一种库存数据处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据处理领域,更为具体而言,涉及一种库存数据处理方法和装置。
【背景技术】
[0002]在电子商务的相关数据处理中,秒杀、抢购等活动带来的高并发对系统造成的压力较大,而压力的瓶颈之一就是数据库连接数。由于要保证商品库存的一致性,避免产生“多卖”或者“少卖”的情况,系统需要对数据库的商品库存信息加行锁。在抢购的高并发情况下,对热销商品条目行锁的争用回家具,大量的锁等待会导致访问请求处理缓慢甚至系统瘫痪。
[0003]目前大多数电商网站的抢购系统通常采用的是水平切分数据库表的方式来解决高并发下的库存锁问题。但是,这样的方式对数据库的依赖程度较高,在抢购商品的种类和商品库存数量都较大的情况下,平均到每个数据库表的访问还是会很多,无法从根本上解决锁等待的问题。

【发明内容】

[0004]为解决上述技术问题,本发明提供了一种库存数据处理方法和装置。
[0005]根据本发明实施方式的第一方面,提供了一种库存数据处理方法,该方法可包括:根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存,其中,所述物品库存信息包括:物品类型和该物品类型对应物品的库存;根据对库存的访问请求读取所述内存中的物品库存信息,并对所述物品的库存进行扣减操作;在所述内存的扣减操作成功之后,根据所述访问请求对存储所述物品的库存信息的数据库进行数据库扣减操作。
[0006]在本发明的一些实施方式中,所述各应用服务器的服务能力是通过下述的一个或多个参数进行确定:CPU核数和内存数。
[0007]在本发明的一些实施方式中,所述根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存包括:根据所述各应用服务器的服务能力、所述各应用服务器的内存的最大连接数和所述物品类型涉及的物品类型总数确定所述各应用服务器的库存量区间,然后基于确定出的所述各应用服务器的库存量区间并结合每一个物品类型对应物品的库存确定各应用服务器的库存量。
[0008]在本发明的一些实施方式中,所述根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存还包括:在确定出各应用服务器的库存量之后,在各应用服务器中,将物品类型作为键值,该物品类型对应物品的库存作为属性值,存储在本应用服务器的内存。
[0009]在本发明的一些实施方式中,所述对所述物品的库存进行扣减操作包括:在所述物品的库存大于零的情况下,根据所述访问请求对所述物品的库存进行扣减,并将所述访问请求转发至所述数据库以便进行所述数据库扣减操作。
[0010]在本发明的一些实施方式中,所述方法还包括:在根据对物品的库存的访问请求读取所述内存中的所述物品库存信息之后,在所述物品的库存为零的情况下,向所述访问请求返回失败消息。
[0011]在本发明的一些实施方式中,所述方法还包括:在所述各应用服务器中的一台或多台服务器宕机时,根据正常工作的剩余各应用服务器的服务能力、所述剩余各应用服务器的内存的最大连接数和所述物品类型涉及的物品类型总数确定所述剩余各应用服务器的库存量区间,基于确定出的所述剩余各应用服务器的库存量区间并结合每一个物品类型对应物品的库存确定所述剩余各应用服务器的库存量。
[0012 ]根据本发明实施方式的第二方面,提供了一种库存数据处理装置,该装置可包括:模型计算模块,用于根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存,其中,所述物品库存信息包括:物品类型和该物品类型对应物品的库存;缓存处理模块,用于根据对库存的访问请求读取所述内存中的物品库存信,并对所述物品的库存进行扣减操作;数据库处理模块,用于在缓存处理模块在所述内存的扣减操作成功之后,根所述访问请求对存储所述物品的库存信息的数据库进行数据库扣减操作。
[0013]在本发明的一些实施方式中,所述服务能力是通过下述的一个或多个参数进行确定:CPU核数和内存数。
[0014]在本发明的一些实施方式中,所述缓存处理模块根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存包括:根据所述各应用服务器的服务能力、所述各应用服务器的内存的最大连接数和所述物品类型涉及的物品类型总数确定所述各应用服务器的库存量区间,然后基于确定出的所述各应用服务器的库存区间并结合每一个物品类型对应物品的库存确定各应用服务器的库存量。
[0015]在本发明的一些实施方式中,所述缓存处理模块根据各应用服务器的服务能力将物品库存信息分布式地存储在所述各应用服务器的内存还包括:在确定出各应用服务器的库存量之后,在各应用服务器中,将物品类型作为键值,该物品类型对应物品的库存作为属性值,存储在本应用服务器的内存。
[0016]在本发明的一些实施方式中,所述缓存处理模块对所述物品的库存进行扣减操作包括:在所述物品的库存大于零的情况下,根据所述访问请求对所述物品的库存进行扣减,并将所述访问请求转发至所述数据库以便进行所述数据库扣减操作。
[0017]在本发明的一些实施方式中,所述缓存处理模块,还用于在根据对物品的库存的访问请求读取所述内存中的所述物品库存信息之后,在所述物品的库存为零的情况下,向所述访问请求返回失败消息。
[0018]在本发明的一些实施方式中,所述装置还包括:调度模块,用于在所述各应用服务器中的一台或多台服务器宕机时,调用所述缓存处理模块根据正常工作的剩余各应用服务器的服务能力、所述剩余各应用服务器的内存的最大连接数和所述物品类型涉及的物品类型总数确定所述剩余各应用服务器的库存量区间,基于确定出的所述剩余各应用服务器的库存量区间并结合每一个物品类型对应物品的库存确定所述剩余各应用服务器的库存量。
[0019]本发明实施方式提供的库存数据处理方法和装置,通过基于应用服务器的服务能力将商品库存信息分布式地缓存在内存,并在内存中基于访问请求对商品库存进行扣减,成功扣减的访问请求才能够继续访问数据库进行数据库扣减操作,利用应用服务器的内存数据读取效率高的特点,大大提高了访问请求的响应速度;而且将尽可能多的访问流量阻挡在了应用服务器一侧,将过程锁迀移至应用服务器的内存缓存,基本上摒弃了对数据库的依赖,大大减少了数据库锁等待导致的响应延迟。
【附图说明】
[0020]图1是根据本发明一种实施方式的库存数据处理方法的流程示意图;
[0021]图2是根据本发明一种实施方式的库存数据处理装置的结构示意图。
【具体实施方式】
[0022]以下结合附图和【具体实施方式】对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1