信息处理方法、系统、装置及存储介质制造方法及图纸

技术编号:20076646 阅读:21 留言:0更新日期:2019-01-15 01:06
本发明专利技术公开了一种适于高并发争抢电子券的信息处理方法、系统、装置及存储介质,采用数据库存储电子券的总额,所述方法包括:多个应用服务器分别从所述数据库获取所述电子券的总额的子集;负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个;所述应用服务器根据所述获取请求进入缓存队列,获取所述子集的缓存读写锁,以进行电子券获取处理。本发明专利技术的方法通过将电子券总额分成远大于应用服务器数量的子集,每台应用服务器每次联接数据库获取电子券总额的子集,使原本单一的数据库大锁转变为应用服务器集群上多份缓存轻量级小锁,减少了数据库的访问,保证了系统的高并发性能、高吞吐量和数据一致性。

Information processing methods, systems, devices and storage media

The invention discloses an information processing method, system, device and storage medium suitable for high concurrent contention for electronic vouchers. The total amount of electronic vouchers is stored in a database. The method includes: a plurality of application servers obtain a subset of the total amount of electronic vouchers from the database respectively; a load balancing server identifies the acquisition request submitted by the user client and requests the acquisition request. An application server is allocated to one of the plurality of application servers, which enters the cache queue according to the acquisition request and acquires the cache read-write locks of the subset for electronic voucher acquisition processing. The method of the invention divides the total amount of electronic vouchers into subsets far larger than the number of application servers, and each application server connects the database to obtain a subset of the total amount of electronic vouchers at a time, so that the original single database lock can be transformed into multiple cached lightweight small locks on the cluster of application servers, which reduces the access to the database, and ensures the high concurrency performance, high throughput and data of the system. Uniformity.

【技术实现步骤摘要】
信息处理方法、系统、装置及存储介质
本专利技术涉及信息处理领域,更为具体而言,涉及一种适于高并发争抢电子券的信息处理方法、系统、装置及存储介质。
技术介绍
随着互联网及移动互联网的高速发展,大众的生活、工作、娱乐、购物等方式已经被全面颠覆和改变,而企业、电商、公众号等在运营活动、获客引流、销售产品的手段上也在不断地推陈出新。其中,B2C(BusinesstoCustomer,商对客电子商务模式)电子券(包括现金红包,代金券,折扣券,满减券等等)成为了商家最重要的营销引流工具。近年来,互联网支付平台都会利用B2C电子券活动来抢占市场份额。例如,双十一各大电商节,商家通过开展“秒杀”优惠券活动为自家商户造势,推动产品销售。通常情况下,参与用户的数量会远远大于B2C电子券的数量,这就造成参与用户排山倒海般争抢电子券的局面。目前,一般通过系统前段流控,确保同一时刻请求B2C电子券的用户量级在可控范围。系统后端依靠数据库事务,将并发请求转化为串行,保证原子操作。但是,单一依靠数据库事务,将并发请求转化为串行,往往给数据库造成极大的压力,大量更新数据库中的同一行,这样必然会产生锁等待,增加后续用户的等待时间,导致数据库的性能急剧下降,性能损耗大,吞吐量下降,对于海量服务的操作,是不能满足要求,更严重的,将出现雪崩效应。除此之外,目前还采用应用服务器集群及分布式缓存,对于同一B2C电子券的所有请求路由至同一接入层DAO(DataAccessObject,数据访问对象)的机器。该机器上缓存负责对电子券进行原子操作,并且定时读写数据库,减少数据库压力。同样的,虽然缓存读写比数据库读写轻量级,然而缓存上的原子锁将前端的并发请求变成了串行,仅靠一条队列后端堆积的请求需要等待较长的时间,严重影响了用户体验。同时,在扩展过程中需要大量配置,如果考虑动态扩展以及容错,需要更复杂的机制,增加开发部署的难度。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供了一种适于高并发争抢电子券的信息处理方法、系统、装置及存储介质,能够减少数据库的访问,保证系统的高并发性能、高吞吐量和数据一致性,同时提供良好的用户体验。根据本专利技术的实施方式,提供了一种适于高并发争抢电子券的信息处理方法,采用数据库存储电子券的总额,所述方法包括:多个应用服务器分别从所述数据库获取所述电子券的总额的子集;负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个;所述应用服务器根据所述获取请求进入缓存队列,获取所述子集的缓存读写锁,以进行电子券获取处理。在本专利技术的一些实施方式中,所述负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个包括:所述均衡负载服务器识别所述获取请求中的用户信息及电子券ID;若所述用户信息及电子券ID为第一次提交,所述均衡负载服务器随机分配所述多个应用服务器中的一个处理所述获取请求;否则,所述均衡负载服务器指定处理过所述用户信息及电子券ID的应用服务器处理所述获取请求。在本专利技术的一些实施方式中,所述方法还包括:若成功获取所述电子券,所述应用服务器生成包含获取的电子券数额的反馈信息,否则,生成获取失败的反馈信息,并将所述反馈信息以返回给所述负载均衡服务器;所述负载均衡服务器将所述反馈信息提交至所述用户客户端。在本专利技术的一些实施方式中,所述方法还包括:若成功获取所述电子券,所述应用服务器持久化所述电子券流水;若流水持久化失败,所述电子券数额回滚至缓存中,并生成持久化失败的反馈信息以返回给所述均衡负载服务器。在本专利技术的一些实施方式中,所述方法还包括:所述应用服务器检测所述子集的数额是否为零;若为零,所述应用服务器从所述数据库获取新的子集。同时,本专利技术提供了一种适于高并发争抢电子券的信息处理系统,所述系统至少包括数据库、多个应用服务器和负载均衡服务器;其中,数据库用于存储所述电子券的总额;其中,应用服务器包括:获取模块,用于从所述数据库获取所述电子券的总额的子集;电子券处理模块,用于根据获取请求进入缓存队列,获取所述子集的缓存读写锁,以进行电子券获取处理;其中,负载均衡服务器包括:请求处理模块,用于识别用户客户端提交的所述获取请求,并将所述获取请求分配至所述多个应用服务器中的一个。在本专利技术的一些实施方式中,所述请求处理模块包括:识别单元,用于识别所述获取请求中的用户信息及电子券ID;分配单元,用于在所述用户信息及电子券ID为第一次提交的情况下,随机分配所述多个应用服务器中的一个处理所述获取请求,否则,指定处理过所述用户信息及电子券ID的应用服务器处理所述获取请求。在本专利技术的一些实施方式中,所述应用服务器还包括:反馈信息生成模块,用于在成功获取所述电子券的情况下,生成包含获取的电子券数额的反馈信息,否则,生成获取失败的反馈信息,并将所述反馈信息返回给所述负载均衡服务器。在本专利技术的一些实施方式中,所述应用服务器还包括:持久化模块,用于在成功获取所述电子券的情况下,持久化所述电子券流水;回滚模块,用于在所述电子券流水持久化失败的情况下,将所述电子券数额回滚至缓存中,并生成持久化失败的反馈信息以返回给所述均衡负载服务器。在本专利技术的一些实施方式中,所述应用服务器还包括:检测模块,用于检测所述子集的数额是否为零;若为零,所述应用服务器从所述数据库获取新的子集。此外,本专利技术提供了一种适于高并发争抢电子券的信息处理装置,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令;所述处理器用于调用并执行所述一条或多条计算机指令从而实现前述任一项的适于高并发争抢电子券的信息处理方法。本专利技术还提供了一种计算机存储介质,存储有一条或多条计算机程序,所述一条或多条计算机程序在执行时实现前述任一项的适于高并发争抢电子券的信息处理方法。本专利技术的实施方式通过将电子券总额分成远大于应用服务器数量的子集,每台应用服务器每次联接数据库获取电子券总额的子集,使原本单一的数据库大锁转变为应用服务器集群上多份缓存轻量级小锁,减少了数据库的访问,保证了系统的高并发性能、高吞吐量和数据一致性,同时提供良好的用户体验。附图说明为了便于理解本专利技术,以下通过具体实施方式并结合附图对本专利技术进行具体说明。图1是根据本专利技术实施方式的一种适于高并发争抢电子券的信息处理方法的流程示意图;图2是本专利技术的一种示例性的适于高并发争抢电子券的信息处理方法的实现过程的框图;图3是根据本专利技术实施方式的一种适于高并发争抢电子券的信息处理系统的框图;图4是图3中适于高并发争抢电子券的信息处理系统的请求处理模块的框图;图5是根据本专利技术实施方式的应用服务器的框图;图6是根据本专利技术实施方式的应用服务器的框图;图7是根据本专利技术实施方式的应用服务器的框图。具体实施方式以下结合附图和具体实施方式对本专利技术的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本专利技术的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种本文档来自技高网
...

【技术保护点】
1.一种适于高并发争抢电子券的信息处理方法,其特征在于,采用数据库存储电子券的总额,所述方法包括:多个应用服务器分别从所述数据库获取所述电子券的总额的子集;负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个;所述应用服务器根据所述获取请求进入缓存队列,获取所述子集的缓存读写锁,以进行电子券获取处理。

【技术特征摘要】
1.一种适于高并发争抢电子券的信息处理方法,其特征在于,采用数据库存储电子券的总额,所述方法包括:多个应用服务器分别从所述数据库获取所述电子券的总额的子集;负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个;所述应用服务器根据所述获取请求进入缓存队列,获取所述子集的缓存读写锁,以进行电子券获取处理。2.如权利要求1所述的方法,其特征在于,所述负载均衡服务器识别用户客户端提交的获取请求,并将所述获取请求分配至所述多个应用服务器中的一个包括:所述均衡负载服务器识别所述获取请求中的用户信息及电子券ID;若所述用户信息及电子券ID为第一次提交,所述均衡负载服务器随机分配所述多个应用服务器中的一个处理所述获取请求;否则,所述均衡负载服务器指定处理过所述用户信息及电子券ID的应用服务器处理所述获取请求。3.如权利要求1所述的方法,其特征在于,所述方法还包括:若成功获取所述电子券,所述应用服务器生成包含获取的电子券数额的反馈信息,否则,生成获取失败的反馈信息,并将所述反馈信息以返回给所述负载均衡服务器;所述负载均衡服务器将所述反馈信息提交至所述用户客户端。4.如权利要求1所述的方法,其特征在于,所述方法还包括:若成功获取所述电子券,所述应用服务器持久化所述电子券流水;若流水持久化失败,所述电子券数额回滚至缓存中,并生成持久化失败的反馈信息以返回给所述均衡负载服务器。5.如权利要求1所述的方法,其特征在于,所述方法还包括:所述应用服务器检测所述子集的数额是否为零;若为零,所述应用服务器从所述数据库获取新的子集。6.一种适于高并发争抢电子券的信息处理系统,其特征在于,所述系统至少包括数据库、多个应用服务器和负载均衡服务器;其中,数据库用于存储所述电子券的总额;其中,应用服务器包括:获取模块,用于从所...

【专利技术属性】
技术研发人员:杜智铨陈林邹伟力李兴华陆江平陈欣崔海波罗烨敏
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京,11

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

1