预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN104636957A(43)申请公布日2015.05.20(21)申请号201510057566.2(22)申请日2015.02.04(71)申请人上海瀚之友信息技术服务有限公司地址200003上海市黄浦区新昌路80号4楼(72)发明人朱烨(74)专利代理机构上海正旦专利代理有限公司31200代理人陆飞盛志范(51)Int.Cl.G06Q30/02(2012.01)G06F9/54(2006.01)H04L12/803(2013.01)权利要求书2页说明书5页附图4页(54)发明名称一种处理高并发数据请求的系统和方法(57)摘要本发明属于电子商务技术领域,具体为一种处理高并发数据请求的系统和方法。本发明系统主体分为3个部分:负载均衡层、仲裁应用单元、商品扣减处理单元;负载均衡层用于将大量的客户请求平均分配给后端的仲裁应用,仲裁应用单元接收来自负载均衡层分发来的用户请求,对其进行资格判定,并将用户请求合并重组后发送到商品扣减处理单元进行商品的扣减处理;商品扣减处理单元,用于接收来自仲裁应用的商品的扣减请求,对秒杀商品进行库存数量扣减。本发明使用单线程、批量处理的方式,避免了多线程高并发给数据库系统带来的瓶颈,同时保留了强大的业务处理能力,系统资源的开销也减少到尽可能低的程度。CN104636957ACN104636957A权利要求书1/2页1.一种处理高并发数据请求的系统,其特征在于主体分为3个部分:负载均衡层、仲裁应用单元、商品扣减处理单元,其中:所述负载均衡层,用于将大量的客户请求平均分配给后端的仲裁应用,并通过监控每个仲裁应用的访问流量,将用户请求分配到流量较少的仲裁应用上实现负载均衡;所述仲裁应用单元,至少包含一个仲裁应用,仲裁应用由两部分组成:一个Web线程组和一个独立运行的仲裁线程;仲裁应用单元接收来自负载均衡层分发来的用户请求,对其进行资格判定,并将用户请求合并重组后发送到商品扣减处理单元进行商品的扣减处理;仲裁应用可以横向扩展,即通过增加所述应用数量的方式增加系统可接收的最大用户请求数量;所述商品扣减处理单元,由一个用来接收扣减请求的Web线程组和一个用来执行批量商品扣减的独立后台线程组成;主要用于接收来自仲裁应用的商品的扣减请求,对秒杀商品进行库存数量扣减。2.根据权利要求1所述的处理高并发数据请求的系统,其特征在于还包括数据库,所述数据库主要用于存储商品信息。3.根据权利要求1所述的处理高并发数据请求的系统,其特征在于还包括监控单元,所述监控单元主要用于监控仲裁应用的仲裁线程和请求线程以及商品扣减处理单元的独立后台线程和请求线程的睡眠时间,一旦所述睡眠时间超过预先定义的阀值,则监控单元唤醒相关线程执行相应的操作。4.根据权利要求1所述的处理高并发数据请求的系统,其特征在于还包括请求存储单元,所述请求存储单元,主要用于存储用户申请请求和商品扣减请求,采用队列的组织形式按照先后顺序进行存储。5.根据权利要求2所述的处理高并发数据请求的系统,其特征在于所述仲裁应用中,Web线程组用来接收用户请求,对用户请求进行资格判定,然后将用户请求按照先后顺序存放到请求存储单元中的一个队列中;仲裁线程是一个单独运行的线程,每当用于存放用户请求的请求存储单元队列满的时候或者距离上次仲裁时间间隔达到一个最大值的时候,该线程便执行一次仲裁过程,它将当前请求存储单元队列中的所有请求的商品数量进行加合,重组成一个商品扣减请求发送给商品扣减处理单元,进行商品的扣减操作。6.根据权利要求2或3所述的处理高并发数据请求的系统,其特征在于所述商品扣减处理单元中,Web线程组接收从仲裁线程发出的商品扣减请求,将其按照先后顺序存放在请求存储单元队列中,并从这个队列中接收实际扣减结果;独立后台线程在队列已满或者距离上次处理时间间隔达到最大时间后,对请求存储单元中的商品扣减请求做一次批量处理,独立后台线程会把相同商品的扣减数量进行合并,向数据库发起一次商品扣减操作请求,独立后台线程根据实际扣减的商品数量按照先后顺序分配到每个扣减请求中。7.一种基于如权利要求1-4所述系统的处理高并发数据请求方法,其特征在于具体步骤如下:步骤101:仲裁应用接收到负载均衡层分发过来的用户请求后,从Web线程组中挑选一个空闲的线程执行操作,下称请求线程1,该线程查找请求存储单元中保留的商品库存标志位,根据标志位数值确定用户请求是否成功,若用户请求成功执行步骤102;步骤102:请求线程1将用户请求存放到请求存储单元的请求队列中,仲裁应用启动的2CN104636957A权利要求书2/2页时候创建一个仲裁线程,该仲裁线程一直处于睡眠状态;当睡眠时间超过一个最大时间间隔后仲裁线程会被监控单元唤醒,或者当