库存数据的并发控制系统及方法_3

文档序号:9327626阅读:来源:国知局
单元4中是否反馈扣减操作的结果信息至接受请求单元2,接受请求单元2根据第三判断模块21输出的第三判断信息通知用户终端I并发控制系统异常或将扣减操作的结果信息发送至用户终端I。
[0092]接受请求单元2根据第三判断模块21输出的第三判断信息为成功判断信息时,处理单元3将扣减操作的结果信息存储至处理结果单元4,接受请求单元2将处理结果单元4反馈的结果信息发送至用户终端1.
[0093]其中第一判断信息、第二判断信息、第三判断信息均包含成功判断信息与失败判断信息,对应成功与失败两种情况下将对应的判断信息发送至其他单元。
[0094]实施例四:
[0095]如附图4所示,本实施例可基于上述实施例一至三中任意一项或多项所阐述的库存数据的并发控制系统基础上提出一种库存数据的并发控制方法,可应用于用户终端I对第一数据库5中存储的库存数据进行扣减的操作中,该方法包括:
[0096]用户终端I发送库存扣减请求至接受请求单元2,接受请求单元2将库存扣减请求存储至第二数据库6,接受请求单元2根据接收的库存扣减请求发送通知信息至处理单元3,处理单元3根据接收的通知信息对第二数据库6中存储的库存扣减请求进行合并。
[0097]处理单元3根据合并的库存扣减请求对第一数据库5中存储的库存数据进行扣减操作。处理单元3将扣减操作的结果信息存储至处理结果单元4,接受请求单元2定时向处理结果单元4寻问结果信息,接受请求单元2将处理结果单元4反馈的结果信息发送至用户终端I。
[0098]优选的,本方法还包括:
[0099]用户终端I向接受请求单元2发送库存扣减请求,接受请求单元2对接收的库存扣减请求进行分类处理后,将分类处理的库存扣减请求存储至第二数据库6,处理单元2对分类处理后的库存扣减请求进行合并,并根据合并的库存扣减请求对第一数据库6中存储的库存数据进行扣减操作。
[0100]举例说明本实施例的实际应用情况,比如,当用户终端I想买A商品,接受请求单元2接收到了想买A商品的请求,这时接受请求单元2同时还对A商品进行分类选定,A商品属于食品类,那么接受请求单元2将会将想买A商品的请求放置在第二数据库6中的食品类的请求分类中,接受请求单元2同步通知处理单元3。
[0101]处理单元3在第二数据库6中寻找到A商品的库存扣减请求,将A商品的请求数量进行合并,再至第一数据库5中将合并A商品的库存扣减请求的数量进行库存扣减,得到合并扣减的结果信息,接受请求单元2按照预定时间定期询问处理结果单元4合并扣减结果,处理结果单元4将合并扣减的结果反馈到接受请求单元2,接受请求单元2再反馈结果信息至用户终端I。
[0102]实施例五:
[0103]基于实施例四,本实施例还提供了一种库存数据的并发控制方法。
[0104]如附图5所示,用户终端I依次通过服务器11、应用层模块12发送库存扣减请求至服务层模块中13的接受请求单元2,接受请求单元2接收到库存扣减请求。
[0105]本实施例尚未说明的方法与实施例四的方法相同,此处不再赘述。
[0106]举例说明本实施例的实际应用情况,比如,当用户终端I想买B商品,想买B商品的库存扣减请求发送至服务器11中,同时应用层模块12中的B商品的数量请求信息被同步刷新,再将库存扣减请求发送至接受请求单元2,接受请求单元2接收到了想买B商品的库存扣减请求,这时接受请求单元2同时还对B商品进行分类,B商品属于家具类,那么接受请求单元2将会将想买B商品的库存扣减请求放置在第二数据库6中的家具类中,接受请求单元2同步通知处理单元3。
[0107]处理单元3在第二数据库6中寻找到B商品的库存扣减请求,将B商品的库存扣减请求数量进行合并,再至第一数据库5中将合并B商品的数量进行库存扣减,得到合并扣减的结果信息,接受请求单元2按照预定时间定期询问处理结果单元4合并扣减结果,处理结果单元4将合并扣减的结果反馈到接受请求单元2,接受请求单元2再反馈结果信息至用户终端1,用户终端I得到用户是否扣减成功的信息。
[0108]实施例6
[0109]基于上述实施例四和/或五的基础上,本实施例提供了一种库存数据的并发控制方法。
[0110]如附图5所示,用户终端I依次通过服务器11、应用层模块12发送库存扣减请求至服务层模块中13的接受请求单元2。
[0111]接受请求单元2接收到库存扣减请求,接受请求单元2将从应用层模块12接受的库存扣减请求存储至第二数据库6,接受请求单元2根据接收的库存扣减请求发送通知信息至处理单元3。
[0112]优选的,处理单元3根据接收的通知信息判断第二数据库6中是否存在待处理扣减请求,生成第二判断信息,当第二数据库6中存在待处理扣减请求时,处理单元3生成成功判断信息,处理单元3根据成功判断信息对待处理扣减请求进行合并,否则生成失败判断信息,处理单元3停止继续进行扣减操作。
[0113]优选的,处理单元3判断第一数据库5是否能够满足库存扣减请求,生成第一判断信息,当第一数据库5能够满足库存扣减请求时,生成成功判断信息,处理单元3根据成功判断信息对第一数据库5进行扣减操作,否则生成失败判断信息,处理单元3反馈失败判断信息至用户终端I。
[0114]处理单元3根据合并的库存扣减请求对第一数据库5中存储的库存数据进行扣减操作,处理单元3将扣减操作的结果信息存储至处理结果单元4,接受请求单元2定时向处理结果单元4寻问结果信息,处理单元3将扣减操作的结果信息存储至处理结果单元4,接受请求单元2按照预设时间定时询问处理结果单元4扣减操作的结果信息。
[0115]当处理结果单元4中反馈扣减操作的结果信息至接受请求单元2,则生成成功判断信息,接受请求单元2将扣减操作的结果信息发送至用户终端1,否则,生成失败判断信息,接受请求单元2通知用户终端I并发控制系统异常。
[0116]优选的,用户终端I向接受请求单元2发送库存扣减请求,接受请求单元2对接收的库存扣减请求进行分类处理后,将分类处理的库存扣减请求存储至第二数据库6,处理单元2对分类处理后的库存扣减请求进行合并,并根据合并的库存扣减请求对第一数据库5中存储的库存数据进行扣减操作。
[0117]举例说明本实施例的事件情况:用户终端I依次通过服务器11、应用层模块12发送购买C商品的库存扣减请求至服务层模块中13的接受请求单元2。
[0118]接受请求单元2接收到购买C商品的库存扣减请求,接受请求单元2将库存扣减请求按照类别存储至第二数据库6中,C商品属于电器类,接受请求单元2根据接收的购买C商品的库存扣减请求发送通知信息至处理单元3,处理单元3根据接收的购买C商品的通知信息判断第二数据库6中的电器类存在待处理扣减请求,生成成功判断信息。
[0119]第二数据库6中电器类别存在待处理的购买C商品的请求,处理单元3生成成功判断信息,处理单元3根据成功判断信息对待处理扣减请求合并后进行扣减操作。
[0120]处理单元3判断第一数据库5能够满足购买C商品的库存扣减请求,生成成功判断信息,处理单元3根据成功判断信息对第一数据库5进行扣减操作,处理单元3将扣减操作的结果信息存储至处理结果单元4,接受请求单元2定时向处理结果单元4寻问结果信息。
[0121]处理结果单元4将结果信息反馈接受请求单元2,生成成功判断信息,接受请求单元2将扣减操作的结果信息发送至用户终端1,进而用户终端I接收到合并扣减的情况。
[0122]下面结合具体的实例对本申请中的库存数据的并发控制系统及方法进行进一步的阐述:
[0123]例如当前有3个用户同时执行下单操作,相应的就需要对存储商品数据的库存数据库进行库存扣减操作,预设请求用户和商品对应关系为:【用户A、商品a】【用户B、商品a]【用户C、商品b】
[0124]相应的,采用本申请的技术方案进行扣减操作的处理过程则具体包括:
[0125]首先,用户A线程(即接收请求单元2)将商品a库存扣减请求提交到队列,用户B线程将商品a库存扣减请求提交到队列,用户C线程将商品b库存扣减请求提交到队列;同时,该3个用户线程(A、B、C)分别通知库存扣减处理单元(即处理单元3)。
[0126]其次,库存扣减处理单元接受用户A线程通知开始处理商品a的扣减操作,并从队列中拿到两个商品a的扣减请求,分别是用户A和用户B请求的,且对上述的两个商品a的扣减请求进行合并后,对商品a进行扣减操作后将处理结果放到处理结果单元(即处理结果单元4)中。
[0127]之后,库存扣减处理单元接受用户B线程通知开始处理商品a的扣减操作,此时队列中的商品a扣减请求已都被用户A的请求处理掉了,所以库存扣减处理单元发现队列为空,则直接结束。
[0128]然后,库存扣减处理单元接受用户C线程通知开始处理商品b的扣减操作,此时若商品b的库存不足,则扣减失败,处理单元将失败结果放到结果单元
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1