资源获取请求处理系统、方法及装置与流程

文档序号:22929244发布日期:2020-11-13 16:26阅读:83来源:国知局
资源获取请求处理系统、方法及装置与流程

本说明书实施例涉及计算机技术领域,特别涉及一种资源获取请求处理系统、方法及装置。



背景技术:

随着移动终端及电子商务技术的发展,越来越多的用户使用移动终端或计算机进行网上购物、购买火车票等。在电子商务系统中,常需要通过各种促销优惠来提升网站流量,促进商品销售。电商软件系统常采用个性化定制开发的方式实现电子商务的促销政策。其中就包括限时秒杀活动,商家在秒杀平台上提交参与秒杀活动的商品信息,平台在秒杀活动页面展示该信息,买家能在该页面进行商品选择及秒杀。限时秒杀活动提高了店铺的销量,而且给买家带来了优惠。

秒杀活动开始时,同一时间或者同一时间段内购买同样商品的用户非常多,秒杀系统在短时间内瞬间客户量大,热点资源被频繁请求,可能出现系统崩溃和数据不一致问题。现有技术中,可以通过使用redis缓存和rabbitmq消息队列,来减少对数据库的访问,从而减轻数据库的压力,实现系统对高并发的支持。

然而,由于互联网用户的人数和行为难以预测,发行过程伴随着恶意攻击抢购行为,更加剧了高峰时段的系统压力,最终因为系统资源的用尽导致系统崩溃。

秒杀商品请求数量远大于库存数量,系统面临大量请求时,由于系统全负荷运转,库存无法及时同步,会出现数据不一致的问题。



技术实现要素:

本说明书实施例的目的是提供一种资源获取请求处理系统、方法及装置,以保证数据在系统内的一致性。

为解决上述问题,本说明书实施例提供一种资源获取请求处理系统,包括:缓存服务器集群和应用服务器;所述应用服务器,用于接收资源获取请求,在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至所述缓存服务器集群;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减,得到扣减后的资源真实库存;将所述扣减后的资源真实库存发送至所述缓存服务器集群;所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;所述缓存服务器集群,用于根据所述资源获取请求扣减处理所述资源获取请求的缓存服务器中的资源虚拟库存,将扣减后的资源虚拟库存发送至所述应用服务器;根据所述扣减后的资源真实库存更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

为解决上述问题,本说明书实施例还提供一种资源获取请求处理方法,应用于应用服务器,所述方法包括:接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

为解决上述问题,本说明书实施例还提供一种资源获取请求处理装置,所述装置包括:接收模块,用于接收资源获取请求;第一发送模块,用于在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;扣减模块,用于根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;第二发送模块,用于将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

为解决上述问题,本说明书实施例还提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现:接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

为解决上述问题,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现:接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存,从而保证数据在系统内的一致性,避免了预约高峰期间可能出现的超卖问题。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书实施例一种资源获取请求处理系统的功能结构示意图;

图2为本说明书实施例一种资源获取请求处理方法的流程图;

图3为本说明书实施例一种电子设备的功能结构示意图;

图4为本说明书实施例一种资源获取请求处理装置的功能结构示意图。

具体实施方式

下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

高并发是目前电商网站常见的营销手段,当大量用户同一时间同时进行抢购时,会导致网站瞬间的并发量非常大。例如,为了吸引用户电商网站经常会开展一些活动,如:秒杀活动。秒杀活动就是以较低的价格推出一些商品,这些商品的数量是有限的,需要用户进行秒杀抢购,以吸引用户。然而,活动开始瞬间的流量非常大,且都是在请求相同的资源,因此会造成严重的数据库并发读写冲突以及资源锁请求冲突。

考虑到如果能够对用户的异常行为进行识别,禁用存在异常行为的用户发送的请求,并将热点资源存储在缓存服务器集群中,通过缓存服务器集群处理用户的请求,及时同步缓存服务器中热点资源的库存,则有望解决高并发下,数据库并发读写冲突以及资源锁请求冲突的问题,避免出现系统崩溃的情况,从而保证数据在系统内的一致性,避免了预约高峰期间可能出现的超卖问题。

请参阅图1,本说明书实施例提供一种资源获取请求处理系统。所述资源获取请求处理系统可以包括应用服务器110和缓存服务器集群120。

在一些实施例中,所述应用服务器110可以为一个具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供支持的软体。

在一些实施例中,所述应用服务器110并不具体限定服务器的数量。应用服务器110可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。

在一些实施例中,所述应用服务器110可以为电子商务网站平台的业务服务器。如此,客户端可以直接通过网络与应用服务器110进行通信,将资源获取请求发送给应用服务器110,以使应用服务器110可以直接将得到的处理结果发送给该客户端。

在一些实施例中,客户端可以为具有显示、运算和网络访问功能的电子设备。具体的,例如,客户端可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机。或者,客户端也可以为能够运行于上述电子设备中的软体。具体的,例如,客户端可以为购物网站平台提供的访问入口,例如当当网站、京东网站、亚马逊网站等;客户端还可以为购物网站平台提供的在智能手机中运行的应用。例如,手机当当、手机京东、手机亚马逊等。

在一些实施例中,所述资源可以为电子商务网站平台中的商品,所述资源获取请求可以包括资源的种类、资源的数量。例如,用户可以通过客户端登录电子商务网站,选择电子上述网站中的商品,并选择商品的类型、数量等信息,在点击购买按钮后,客户端可以响应于用于在电子商务网站上的操作信息,生成资源获取请求,并将所述资源获取请求发送给应用服务器110,应用服务器110可以进行接收。

在一些实施例中,由于有些用户可能存在恶意刷单的行为,这些行为会使应用服务器处理资源获取请求的量增多,从而增加了应用服务器110的处理压力,如果能够识别存在恶意刷单行为的用户,拒绝处理这些用户的资源获取请求,则有望减轻应用服务器110的处理压力,提高处理效率。基于此,所述客户端在将用户的资源获取请求发送至应用服务器110之前,还可以基于用户的操作行为确定所述用户是否具有发送请求资格,将具有发送请求资格的用户的资源获取请求发送至应用服务器110。

在一些实施例中,所述客户端提供有验证码,在用户输入的验证码通过校验后,确定所述用户具有发送请求资格。具体的,所述客户端可以展现多种形式多种组合的验证码,用户通过客户端进行下单前需要输入验证码并完成校验。其中,验证码以多种形式多种组合展现,防止客户通过ocr识别验证码进行自动下单。

在一些实施例中,所述客户端还可以提供有资源获取请求发送页面,所述资源获取请求发送页面包括资源获取请求发送按钮,在用户进入所述资源获取请求发送页面和触发资源获取请求发送按钮的时间间隔大于预设值的情况下,确定所述用户具有发送请求资格。其中,考虑到正常用户在电子商务网站购物时,由于用户需要查看商品类型、评论等信息需要耗费一定的时间,而恶意下单的用户则是进入网站后立马进行下单,因此,所述时间间隔可以为1分钟、3分钟、5分钟等,当然,时间间隔可以根据实际情况进行调整,本说明书实施例对此不作限定。

在一些实施例中,所述客户端还可以通过其他任何方式确定所述用户是否具有发送请求资格。例如,可以通过校验用户鼠标、键盘点击次数、页面窗口大小、页面是否被渲染以及页面生存时间,识别用户是否通过刷单工具进行恶意下单,并对此类客户进行拦截和禁用。

在一些实施例中,为进一步识别存在恶意刷单行为的用户,所述应用服务器110在接收资源获取请求后,可以根据预设规则验证所述资源获取请求对应的用户是否具有资源获取资格,拒绝处理不具有资源获取资格的用户对于的资源获取请求。具体的,所述应用服务器110在接收资源获取请求后,可以生成所述资源获取请求对应的用户标识;所述用户标识用于唯一标识发送所述资源获取请求的用户;根据所述用户标识确定所述用户标识对应的用户发送资源获取请求的次数,若所述次数小于预设次数,则所述用户具有资源获取资格。其中,所述预设次数可以为1次,也可以为2次、5次等,若用户发送资源获取请求的次数过多,则可以判断该用户可能存在恶意刷单的行为。当然,所述预设次数也可以为其他至,可以根据实际情况进行设置,本说明书实施例对此不作限定。

在一些实施例中,所述应用服务器110在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至所述缓存服务器集群120。

在一些实施例中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存。其中,每个缓存服务器和应用服务器110中都可以存储有资源的库存。每个缓存服务器中缓存的库存为虚拟的库存,应用服务器110的数据库中存储的库存为真实的库存,即资源真实的库存。具体的,由于缓存服务器中的数据与应用服务器110中的数据并不是实时同步的,每个缓存服务器中的资源虚拟库存与应用服务器数据库中的资源真实库存是不同的,所述资源虚拟库存可以根据资源真实库存进行更新。

在一些实施例中,所述缓存服务器可以是cdn服务器。其中,cdn的全称是contentdeliverynetwork,即内容分发网络。cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

在一些实施例中,所述缓存服务器集群120中的缓存服务器可以部署在不同的地方,以便于所述缓存服务器集群120在接收到所述资源获取请求后,将所述资源获取请求发送给地理位置上与所述资源获取请求的发起客户端距离最近的缓存服务器中,以提高对所述资源获取请求的处理速度以及实现多个资源获取请求的分流。具体的,所述缓存服务器集群120可以根据所述资源获取请求确定所述资源获取请求的发起客户端的ip地址,进而确定客户端的地理位置,将所述资源获取请求发送给与所述客户端在地理位置上距离最近的缓存服务器。

在一些实施例中,为保证所述缓存服务器集群120中的各个缓存服务器的处理效率,还可以对各个缓存服务器实施限流。具体的,可以设置各个缓存服务器预设时间内处理资源获取请求的最大次数,若缓存服务器在预设时间内处理资源获取请求的次数已达最大次数,则所述缓存服务器集群120在接收到资源获取请求后,将该资源获取请求分配给其他预设时间内处理资源获取请求的次数未达最大次数的缓存服务器。

在一些实施例中,所述缓存服务器可以根据所述资源获取请求确定用户想要获取的资源以及资源的数量,并查找到所述资源获取请求对应的资源虚拟库存,在所述资源虚拟库存中资源的数量大于用户想要获取的资源的数量的情况下,对资源虚拟库存进行扣减,并将资源获取成功的信息发送给客户端,以提示用户资源获取成功;以及将扣减后的资源虚拟库存发送至所述应用服务器110。

在一些实施例中,所述应用服务器110在接收到扣减后的资源虚拟库存后,可以基于扣减后的资源虚拟库存,对数据库中对数据库中资源真实库存进行扣减,得到扣减后的资源真实库存,并将所述扣减后的资源真实库存发送至所述缓存服务器集群。

在一些实施例中,所述应用服务器110可以每隔预设时间对资源真实库存进行扣减。具体的,所述应用服务器110设置有库存定时器,每隔预设时间库存定时器可以触发扣减任务,在扣减任务触发后,所述应用服务器110可以向数据库发起扣减请求,并获取扣减后数据库中的资源真实库存,将扣减后的资源真实库存生成库存静态文件发送至缓存服务器集群120中,以便于所述缓存服务器集群根据所述库存静态文件确定扣减后的资源真实库存,并更新每个缓存服务器缓存的资源虚拟库存。

在一些实施例中,所述应用服务器110可以包括多个服务器,为进一步保证了每种数据在整个系统内的一致性,还可以对所述多个服务器进行分组,并为每个扣减任务规划可执行的分组,分组内的服务器可以竞争执行扣减任务的权利。具体的,所述扣减任务触发时,服务器可以从数据库中获取令牌,具有令牌的服务器根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减,得到扣减后的资源真实库存,并归还令牌至数据库中;其中,所述数据库中存储有一枚令牌。未获取到令牌的服务器不具有执行扣减任务的权利,无法执行扣减任务,从而保证了每种数据在整个系统内的一致性。

在一些实施例中,由于所述缓存服务器集群120中包含了多个缓存服务器,在接收到资源获取请求后,由其中一个缓存服务器来进行处理,扣减该缓存服务器的资源虚拟库存,而其他缓存服务器中的资源虚拟库存并未发生变化,若不对其他缓存服务器中的资源虚拟库存进行更新,则可能出现根据错误的库存响应后续的资源获取请求。例如,所述缓存服务器集群120包括缓存服务器1和缓存服务器2,缓存服务器1和缓存服务器2缓存的资源虚拟库存都为12个,在接收到资源获取请求后,由缓存服务器1来处理所述资源获取请求,缓存服务器1根据资源获取请求确定获取的资源数量为10个,将资源虚拟库存扣减10个,将扣减后的资源虚拟库存发送至应用服务器120后,应用服务器120对数据库中的资源真实库存进行相应的扣减,若扣减后的资源真实库存剩余2个,若不对缓存服务器2中的虚拟库存进行更新,则后续获取的资源获取请求由缓存服务器2进行处理,若请求的资源为5个,由于缓存服务器中的资源虚拟库存为12个,还会出现由于资源虚拟库存充足导致该资源获取请求对应的资源获取成功,但实际上资源真实库存已经不足5个了,导致出现资源超卖的问题。基于此,所述缓存服务器集群120,在接收到应用服务器120发来的扣减后的资源真实库存后,可以对每个缓存服务器缓存的资源虚拟库存进行更新,使得更新后的资源虚拟库存等于扣减后的资源真实库存。

本说明书实施例提供的资源获取请求处理系统,可以接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存,从而保证数据在系统内的一致性,避免了预约高峰期间可能出现的超卖问题。

请参阅图2。本说明实施例还提供一种资源获取请求处理方法。在本说明书实施例中,执行所述资源获取请求处理方法的主体可以应用服务器。所述方法可以包括以下步骤。

s210:接收资源获取请求。

在一些实施例中,所述资源可以为电子商务网站平台中的商品,所述资源获取请求可以包括资源的种类、资源的数量。

在一些实施例中,所述应用服务器可以为电子商务网站平台的业务服务器。如此,客户端可以直接通过网络与应用服务器进行通信,将资源获取请求发送给应用服务器,以使应用服务器可以直接将得到的处理结果发送给该客户端。例如,用户可以通过客户端登录电子商务网站,选择电子上述网站中的商品,并选择商品的类型、数量等信息,在点击购买按钮后,客户端可以响应于用于在电子商务网站上的操作信息,生成资源获取请求,并将所述资源获取请求发送给应用服务器,应用服务器可以进行接收。

在一些实施例中,客户端可以为具有显示、运算和网络访问功能的电子设备。具体的,例如,客户端可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机。或者,客户端也可以为能够运行于上述电子设备中的软体。具体的,例如,客户端可以为购物网站平台提供的访问入口,例如当当网站、京东网站、亚马逊网站等;客户端还可以为购物网站平台提供的在智能手机中运行的应用。例如,手机当当、手机京东、手机亚马逊等。

s220:在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存。

在一些实施例中,由于有些用户可能存在恶意刷单的行为,这些行为会使应用服务器处理资源获取请求的量增多,从而增加了应用服务器的处理压力,如果能够识别存在恶意刷单行为的用户,拒绝处理这些用户的资源获取请求,则有望减轻应用服务器的处理压力,提高处理效率。基于此,在接收资源获取请求后,应用服务器可以根据预设规则验证所述资源获取请求对应的用户是否具有资源获取资格,拒绝处理不具有资源获取资格的用户对于的资源获取请求。具体的,所述应用服务器在接收资源获取请求后,可以生成所述资源获取请求对应的用户标识;所述用户标识用于唯一标识发送所述资源获取请求的用户;根据所述用户标识确定所述用户标识对应的用户发送资源获取请求的次数,若所述次数小于预设次数,则所述用户具有资源获取资格。其中,所述预设次数可以为1次,也可以为2次、5次等,若用户发送资源获取请求的次数过多,则可以判断该用户可能存在恶意刷单的行为。当然,所述预设次数也可以为其他至,可以根据实际情况进行设置,本说明书实施例对此不作限定。

在一些实施例中,在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,可以将所述资源获取请求发送至缓存服务器集群。

在一些实施例中,所述缓存服务器集群可以包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存。其中,每个缓存服务器和应用服务器中都可以存储有资源的库存。每个缓存服务器中缓存的库存为虚拟的库存,应用服务器的数据库中存储的库存为真实的库存,即资源真实的库存。具体的,由于缓存服务器中的数据与应用服务器中的数据并不是实时同步的,每个缓存服务器中的资源虚拟库存与应用服务器数据库中的资源真实库存是不同的,所述资源虚拟库存可以根据资源真实库存进行更新。

在一些实施例中,所述缓存服务器可以是cdn服务器。其中,cdn的全称是contentdeliverynetwork,即内容分发网络。cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

在一些实施例中,所述缓存服务器集群中的缓存服务器可以部署在不同的地方,以便于所述缓存服务器集群在接收到所述资源获取请求后,将所述资源获取请求发送给地理位置上与所述资源获取请求的发起客户端距离最近的缓存服务器中,以提高对所述资源获取请求的处理速度以及实现多个资源获取请求的分流。具体的,所述缓存服务器集群可以根据所述资源获取请求确定所述资源获取请求的发起客户端的ip地址,进而确定客户端的地理位置,将所述资源获取请求发送给与所述客户端在地理位置上距离最近的缓存服务器。

在一些实施例中,所述缓存服务器可以根据所述资源获取请求确定用户想要获取的资源以及资源的数量,并查找到所述资源获取请求对应的资源虚拟库存,在所述资源虚拟库存中资源的数量大于用户想要获取的资源的数量的情况下,对资源虚拟库存进行扣减,并将资源获取成功的信息发送给客户端,以提示用户资源获取成功;以及将扣减后的资源虚拟库存发送至所述应用服务器。

s230:根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减。

在一些实施例中,在接收到扣减后的资源虚拟库存后,可以基于扣减后的资源虚拟库存,对数据库中对数据库中资源真实库存进行扣减,得到扣减后的资源真实库存。

在一些实施例中,所述方法还可以包括:每隔预设时间从数据库中获取令牌,在获取令牌后根据所述扣减后的资源虚拟库存对数据库中资源真实库存进行扣减;其中,所述数据库中存储有一枚令牌,持有所述令牌的应用服务器具有对数据库修改的资格。具体的,所述应用服务器可以包括多个服务器,为进一步保证了每种数据在整个系统内的一致性,还可以对所述多个服务器进行分组,并为每个扣减任务规划可执行的分组,分组内的服务器可以竞争执行扣减任务的权利。具体的,所述扣减任务触发时,服务器可以从数据库中获取令牌,具有令牌的服务器根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减,得到扣减后的资源真实库存,并归还令牌至数据库中;其中,所述数据库中存储有一枚令牌。未获取到令牌的服务器不具有执行扣减任务的权利,无法执行扣减任务,从而保证了每种数据在整个系统内的一致性。

s240:将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

在一些实施例中,由于所述缓存服务器集群中包含了多个缓存服务器,在接收到资源获取请求后,由其中一个缓存服务器来进行处理,扣减该缓存服务器的资源虚拟库存,而其他缓存服务器中的资源虚拟库存并未发生变化,若不对其他缓存服务器中的资源虚拟库存进行更新,则可能出现根据错误的库存响应后续的资源获取请求。例如,所述缓存服务器集群包括缓存服务器1和缓存服务器2,缓存服务器1和缓存服务器2缓存的资源虚拟库存都为12个,在接收到资源获取请求后,由缓存服务器1来处理所述资源获取请求,缓存服务器1根据资源获取请求确定获取的资源数量为10个,将资源虚拟库存扣减10个,将扣减后的资源虚拟库存发送至应用服务器120后,应用服务器120对数据库中的资源真实库存进行相应的扣减,若扣减后的资源真实库存剩余2个,若不对缓存服务器2中的虚拟库存进行更新,则后续获取的资源获取请求由缓存服务器2进行处理,若请求的资源为5个,由于缓存服务器中的资源虚拟库存为12个,还会出现由于资源虚拟库存充足导致该资源获取请求对应的资源获取成功,但实际上资源真实库存已经不足5个了,导致出现资源超卖的问题。基于此,所述缓存服务器集群,在接收到应用服务器120发来的扣减后的资源真实库存后,可以对每个缓存服务器缓存的资源虚拟库存进行更新,使得更新后的资源虚拟库存等于扣减后的资源真实库存。

本说明书实施例提供的资源获取请求处理方法,可以接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存,从而保证数据在系统内的一致性,避免了预约高峰期间可能出现的超卖问题。

图3为本说明书实施例一种电子设备的功能结构示意图,所述电子设备可以包括存储器和处理器。

在一些实施例中,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现资源获取请求处理的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据用户终端的使用所创建的数据。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述处理器可以执行所述计算机指令实现以下步骤:接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

在本说明书实施例中,该电子设备具体实现的功能和效果,可以与其它实施例对照解释,在此不再赘述。

图4为本说明书实施例一种资源获取请求处理装置的功能结构示意图,该装置具体可以包括以下的结构模块。

接收模块410,用于接收资源获取请求;

第一发送模块420,用于在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;

扣减模块430,用于根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;

第二发送模块440,用于将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

本说明书实施例还提供了一种资源获取请求处理方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收资源获取请求;在根据预设规则验证所述资源获取请求对应的用户具有资源获取资格的情况下,将所述资源获取请求发送至缓存服务器集群;其中,所述缓存服务器集群包括多个缓存服务器,每个缓存服务器缓存有资源虚拟库存;根据所述缓存服务器集群发来的扣减后的资源虚拟库存,对数据库中资源真实库存进行扣减;将扣减后的资源真实库存发送至缓存服务器集群,以便于所述缓存服务器集群根据所述扣减后的资源真实库存信息更新每个缓存服务器缓存的资源虚拟库存,以使每个缓存服务器缓存的资源虚拟库存等于扣减后的资源真实库存。

在本说明书实施例中,上述存储介质包括但不限于随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、缓存(cache)、硬盘(harddiskdrive,hdd)或者存储卡(memorycard)。所述存储器可用于存储所述计算机程序和/或模块,所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据用户终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器。在本说明书实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。

需要说明的是,本说明书实施例提供的资源获取请求处理系统、方法及装置,涉及计算机技术领域,可以应用于金融领域在计算机使用过程中数据的处理,还可以除金融领域之外的任意领域,本说明书实施例对所述资源获取请求处理系统、方法及装置的应用领域不做限定。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1