一种处理高并发数据的方法和系统与流程

文档序号:11138507阅读:271来源:国知局
一种处理高并发数据的方法和系统与制造工艺

本发明涉及网络通信技术领域,特别是涉及一种处理高并发数据的方法和系统。



背景技术:

随着社会发展,人们购物时越来越倾向于网络购物,网络购物具有实体店无法比拟的便捷体验,人们的衣食住行各方面需求都可以通过网购满足。目前,商家往往会通过限时限量促销等秒杀活动刺激消费者的消费,这种秒杀活动价格诱人,吸引大批用户同一时间抢购限量商品。秒杀活动开始的一瞬间会有大量的并发数据涌入电商平台,造成电商平台处理压力过大。



技术实现要素:

本发明实施例的目的在于提供一种处理高并发数据的方法和系统,从而降低电商平台对高并发数据的处理压力。具体技术方案如下:

一种处理高并发数据的方法,包括:

获取客户端发送的多个并发数据请求;

对所述多个并发数据请求进行排队处理,生成并发数据请求队列;

根据时间顺序,依次读取所述并发数据请求队列中的并发数据请求;

对依次读取的并发数据请求进行处理,得到所述多个并发数据请求的处理结果。

优选地,所述对所述多个并发数据请求进行排队处理,生成并发数据请求队列之后,所述方法还包括:

将所述多个并发数据请求的处理状态发送至对应的客户端。

优选地,所述对所述多个并发数据请求进行排队处理,生成并发数据请求队列之后,所述方法还包括:

判断所述并发数据请求队列中的并发数据数量是否到达阈值,如果到达阈值,抛弃所述并发数据请求,发送所述并发数据请求处理失败的信息至对应的客户端。

优选地,所述对依次读取的并发数据请求进行处理,得到所述多个并发数据请求的处理结果之后,所述方法还包括:

将所述多个并发数据请求的处理结果发送至对应的客户端。

优选地,所述并发数据请求包括:秒杀请求,限时抢购请求,限量抢购请求中的至少一种,所述秒杀请求为在同一时间进行抢购的请求,所述限时抢购请求为在一个时间段内进行抢购的请求,所述限量抢购请求为对有限数量的商品进行抢购的请求。

一种处理高并发数据的系统,包括:

获取模块,用于获取客户端发送的多个并发数据请求;

排队模块,用于对所述多个并发数据请求进行排队处理,生成并发数据请求队列;

读取模块,用于根据时间顺序,依次读取所述并发数据请求队列中的并发数据请求;

处理模块,用于对依次读取的并发数据请求进行处理,得到所述多个并发数据请求的处理结果。

优选地,所述系统进一步包括:发送模块,用于将所述多个并发数据请求的处理状态发送至对应的客户端。

优选地,所述系统进一步包括:用于判断所述并发数据请求队列中的并发数据数量是否超过预设阈值;若所述并发数据数量超过所述预设阈值,抛弃接收到的所述并发数据请求。

所述发送模块,还用于向发送所述并发数据请求对应的客户端发送并发数据请求处理失败信息。

优选地,所述发送模块,还用于将所述多个并发数据请求的处理结果发送至对应的客户端。

优选地,所述并发数据请求包括:秒杀请求,限时抢购请求,限量抢购请求中的至少一种,所述秒杀请求为在同一时间进行抢购的请求,所述限时抢购请求为在一个时间段内进行抢购的请求,所述限量抢购请求为对有限数量的商品进行抢购的请求。

本发明实施例提供的一种处理高并发数据的方法和系统,通过对多个并发数据请求进行排队处理,限制高并发数据瞬时涌入服务器,能够降低电商平台的处理的压力;通过设置阈值,控制并发数据的处理量,降低电商平台的处理的压力,从而提高电商平台的稳定性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例中处理高并发数据的方法的流程示意图;

图2为本发明实施例中处理高并发数据的系统的第一种结构示意图;

图3为本发明实施例中处理高并发数据的系统的第二种结构示意图。

具体实施方式

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

随着移动终端以及电子商务技术的高速发展,越来越多的人开始使用移动终端或电脑进行网络购物、买机票、买火车票等业务。在开展上述业务时,商品资源往往是有限的,也就是说,人们通常要通过抢购手段去购买,在短时间内会发生大量数据请求给服务器。这样对于处理这些业务的服务器来说,需要同时处理大量的并发数据,这就会造成服务器处理压力过大,如果超出服务器处理能力,就有可能引起系统宕机。

为了减轻高并发数据对服务器的压力,本发明实施例公开了一种处理高并发数据的方法,如图1所示,图1为本发明实施例中处理高并发数据的方法的流程示意图,包括:

步骤101,获取客户端发送的多个并发数据请求。

步骤101中,客户端是指手机、电脑应用程序,客户端提供了用户参加抢购活动的途径。用户发送的并发数据请求来自于不同客户端,这些并发数据请求包括但不限于:秒杀请求,限时抢购请求,限量抢购请求。其中,秒杀请求为在同一时间进行抢购的请求,限时抢购请求为在一个时间段内进行抢购的请求,限量抢购请求为对有限数量的商品进行抢购的请求。

步骤102,对多个并发数据请求进行排队处理,生成并发数据请求队列。

步骤102中,并发数据请求队列的大小,可以根据并发数据请求的预估处理量进行设置。以秒杀请求为例,当次秒杀商品为100件,估计参与人数1万人,那么,至少会有1万个秒杀请求,如果设定每个秒杀队列可容纳100个并发数据,则会生成100个并发数据请求队列。当然,只要能够满足服务器能顺利地处理并发数据请求,程序员也可根据实际情况灵活的设置请求队列的大小,这里不再赘述。

步骤102中,生成并发数据请求队列的过程为:在收到并发数据请求后,服务器将并发数据以队列的形式保存下来,并发数据按照时间顺序保存进队列,原本大量的并发数据成为了数量相对较少的并发数据请求队列,从而限制高并发数据对真正业务处理模块的冲击,达到限流目的。

优选地,在生成并发数据请求队列之后,服务器会将并发数据请求的处理状态发送至客户端,使用户接收到当前数据请求的处理状态,这样可以避免用户重复发送数据请求造成服务器压力增大。

在生成并发数据请求队列之后,服务器会判断并发数据请求队列中的并发数据数量是否到达预设阈值,如果到达阈值,就抛弃该并发数据请求,并发送并发数据请求处理失败的信息至对应的客户端,用户接受到抢购失败的消息;如果没有到达阈值,继续执行下一步骤。这里,设置阈值的方法包括但不限于根据抢购商品的数量进行设置,或根据已处理的数据请求和正在排队的数据请求队列设置。通过设置阈值,服务器就可以将业务的处理量控制在一个适当范围内,这个范围可以根据预先估计的并发数据量进行设置,从而进一步降低其处理压力。

步骤103,根据时间顺序,依次读取并发数据请求队列中的并发数据请求。

步骤103中,生成的数据请求队列,服务器根据数据请求队列中并发数据的进入队列时的时间先后顺序,读取数据请求队列中的数据请求。例如,在一个数据请求队列中,数据请求A的进入队列的时间为15:32分,数据请求B进入队列的时间为15:33分,那么,服务器会先读取数据请求A,再读取数据请求B。设置数据请求一个一个进入队列,这样就避免了数据请求同时进入队列,造成服务器无法根据时间先后顺序读取数据请求的问题。

步骤104,对依次读取的并发数据请求进行处理,得到多个并发数据请求的处理结果。

步骤104中,读取该并发数据请求后,服务器对其进行处理,此时的并发数据请求经过排队处理后变得有序,已经不是瞬间大量涌入的数据请求,更适合服务器处理,从而提高服务器的处理效率。

其中,并发数据请求的处理结果,包括但不限于购买订单的生成。例如,当用户发送一个数据请求购买某件商品,服务器接收到该数据请求后,根据数据库中该商品的库存量对该数据请求进行处理,如果库存充足,则生成购买订单,如果库存为零,则不生成购买订单。并且,服务器将上述两种状态发送给用户的客户端,告知用户当前订单的处理结果。

本发明实施例通过对多个并发数据请求进行排队处理,从而限制高并发数据瞬时涌入服务器,能够降低电商平台的处理压力;通过预设的阈值,控制并发数据的处理量,降低电商平台的处理的压力,从而提高电商平台的稳定性。

本发明实施例还公开了一种处理高并发数据的系统,如图2所示,图2为本发明实施例中处理高并发数据的系统的第一种结构示意图,包括:

获取模块201,用于获取客户端发送的多个并发数据请求。

排队模块202,用于对多个并发数据请求进行排队处理,生成并发数据请求队列。

读取模块203,用于根据时间顺序,依次读取并发数据请求队列中的并发数据请求。

处理模块204,用于对依次读取的并发数据请求进行处理,得到多个并发数据请求的处理结果。

本实施例提供的处理高并发数据的系统用于实现本发明实施例提供的处理高并发数据的方法的处理,其实现原理和技术效果类似,此处不再赘述。

其中,本发明实施例中的高并发数据的系统,如图3所示,图3为本发明实施例中处理高并发数据的系统的第二种结构示意图,在图2所示的系统结构示意图的基础上,进一步包括:

发送模块205,用于将多个并发数据请求的处理状态发送至对应的客户端。

判断模块206,用于判断并发数据请求队列中的并发数据数量是否到达阈值;如果到达阈值,抛弃并发数据请求;

其中,发送模块205还用于向发送所述并发数据请求对应的客户端发送并发数据请求处理失败信息。

其中,发送模块205还用于将多个并发数据请求的处理结果发送至对应的客户端。

本发明实施例的处理高并发数据的系统,有效降低例如并发数据等高并发数据的瞬间大流量涌入对电商平台系统的冲击,提高电商平台系统的稳定性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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