一种高并发请求处理的方法及装置制造方法及图纸

技术编号:16301398 阅读:39 留言:0更新日期:2017-09-26 19:29
本发明专利技术公开了一种高并发请求处理的方法及装置,该方法包括:接收第一查询请求集合,第一查询请求集合包括同一时间段的多个查询请求;选取第一查询请求集合中的目标查询请求从数据库查询数据信息,目标查询请求为第一查询请求中获取锁的查询请求;若锁不存在或者等待时间大于第一预设值其他查询请求从缓存中查询数据信息,其他查询请求为第一查询请求集合中除目标查询请求以外的查询请求,等待时间为其他查询请求等待查询的时间。由此可见,利用锁的机制,在同时获取到多个请求时通过锁来拦截其他请求,只允许获取锁的请求查询数据库,从而避免出现一拥而上查询数据库的情况,减小被查询的数据库的压力,查询速度快。

Method and device for high concurrent request processing

The invention discloses a method and a device for high concurrent request processing, the method comprises: receiving a first set of queries, query the first set includes a plurality of query requests at the same time; select the first query request in the set of query query data from the database, query for the first query request in acquiring the lock requests; if the lock does not exist or the waiting time is greater than the first preset value of other query query data from the cache, other queries for the first query in query outside query set, the waiting time for other query query request waiting time. Thus, the use of locking mechanism, at the same time to obtain multiple requests through the lock to intercept other requests, only allowed to acquire the lock request to query the database, thereby avoiding all query database, query the database to reduce the pressure of fast inquiry.

【技术实现步骤摘要】
一种高并发请求处理的方法及装置
本专利技术涉及数据分析处理
,尤其涉及一种高并发请求处理的方法及装置。
技术介绍
随着互联网行业的高速发展,互联网中信息量和使用互联网服务的用户数量的逐渐增多,大数据和高并发成为了极其常见的情况,尤其是在大量用户同时访问一个网站系统时,该网站系统在一秒钟内有可能收到数以万计甚至更多的请求,也就是所谓的高并发请求,例如,用户在互联网上购买电影票时,需要获取实时的座位图,当大量用户同时访问同一个影片的相同排期的座位图时,电影售票网站系统后台就会收到大量访问同一个影片的相同排期的座位图的请求。在现有技术中,多个用户同时访问时,服务器在接收多个请求后,会先查询缓存,若不能从缓存中获取需要的数据信息,则直接查询数据库。而当服务器同时接收的请求量非常大时,使用现有技术的方法,当大量的请求同时查询数据库,会导致查询速度特别慢,进而可能导致被查询的数据库崩溃。
技术实现思路
本专利技术所要解决的技术问题是,提供一种高并发请求处理的方法及装置,利用锁的机制,在同时获取到多个请求时通过锁来拦截其他请求,只允许获取锁的请求查询数据库,从而避免出现一拥而上查询数据库的情况,减小被查询的数据库的压力,查询速度快。第一方面,本专利技术实施例提供了一种高并发请求处理的方法,该方法包括:接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。优选的,所述锁是根据影院编号、排期号和渠道号创建的。优选的,所述选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,包括:判断所述第一查询请求集合中是否有查询请求获取到所述锁;如果有,将获取到所述锁的查询请求确定为所述目标查询请求;利用所述目标查询请求从数据库查询所述数据信息。优选的,所述锁不存在表示所述目标查询请求将查询到的所述数据信息存储到所述缓存后移除锁和/或所述目标查询请求的查询时间大于第二预设值。优选的,所述查询到的所述数据信息在所述缓存中的缓存时间设定为第三预设值。第二方面,本专利技术实施例提供了一种高并发请求处理的装置,该装置包括:接收单元,用于接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;第一查询单元,用于选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;第二查询单元,用于若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。优选的,所述锁是根据影院编号、排期号和渠道号创建的。优选的,所述第一查询单元包括判断子单元、确定子单元、查询子单元;所述判断子单元,用于判断所述第一查询请求集合中是否有查询请求获取到所述锁;所述确定子单元,用于如果有,将获取到所述锁的查询请求确定为所述目标查询请求;所述查询子单元,用于利用所述目标查询请求从数据库查询所述数据信息。优选的,所述锁不存在表示所述目标查询请求将查询到的所述数据信息存储到所述缓存后移除锁和/或所述目标查询请求的查询时间大于第二预设值。优选的,所述查询到的所述数据信息在所述缓存中的缓存时间设定为第三预设值。与现有技术相比,本专利技术至少具有以下优点:采用本专利技术实施例的技术方案,接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。由此可见,利用锁的机制,在同时获取到多个请求时通过锁来拦截其他请求,只允许获取锁的请求查询数据库,从而避免出现一拥而上查询数据库的情况,减小被查询的数据库的压力,查询速度快。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例中一种应用场景所涉及的系统框架示意图;图2为本专利技术实施例提供的一种高并发请求处理的方法的流程示意图;图3为本专利技术实施例提供的另一种高并发请求处理的方法的流程示意图;图4为本专利技术实施例提供的一种高并发请求处理的装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。专利技术人经过研究发现,利用现有技术的方式,服务器接收多个用户同时访问发送的多个请求时,此时先查询缓存,若不能从缓存获取需要的数据信息,则直接查询数据库,然而,当服务器同时接收的请求量非常大时,大量的请求同时查询数据库,导致查询速度特别慢,进而可能导致被查询的数据库崩溃。为了解决这一问题,在本专利技术实施例中,接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。由此可见,利用锁的机制,在同时获取到多个请求时通过锁来拦截其他请求,只允许获取锁的请求查询数据库,从而避免出现一拥而上查询数据库的情况,减小被查询的数据库的压力,查询速度快。举例来说,本专利技术实施例的场景之一,可以是应用到如图1所示的场景中。该场景中包括服务器101和用户客户端集合102,服务器101和用户客户端集合102可以交互,用户客户端集合102包括多个客户端。用户客户端集合102中的多个客户端同时发起查询请求形成第一查询请求集合,服务器101接收第一查询请求集合,第一查询请求集合包括同一时间段的多个查询请求;服务器101选取第一查询请求集合中的目标查询请求从数据库查询数据信息,目标查询请求为第一查询请求中获取锁的查询请求;若锁不存在或者等待时间大于第一预设值,其他查询请求从缓存中查询数据信息,其他查询请求为第一查询请求集合中除目标查询请求以外的查询请求,所述等待时间为其他查询请求等待查询的时间;服务器1本文档来自技高网
...
一种高并发请求处理的方法及装置

【技术保护点】
一种高并发请求处理的方法,其特征在于,包括:接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。

【技术特征摘要】
1.一种高并发请求处理的方法,其特征在于,包括:接收第一查询请求集合,所述第一查询请求集合包括同一时间段的多个查询请求;选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,所述目标查询请求为所述第一查询请求中获取锁的查询请求;若所述锁不存在或者等待时间大于第一预设值,所述其他查询请求从缓存中查询所述数据信息,所述其他查询请求为所述第一查询请求集合中除所述目标查询请求以外的查询请求,所述等待时间为所述其他查询请求等待查询的时间。2.根据权利要求1所述的方法,其特征在于,所述锁是根据影院编号、排期号和渠道号创建的。3.根据权利要求1所述的方法,其特征在于,所述选取所述第一查询请求集合中的目标查询请求从数据库查询数据信息,包括:判断所述第一查询请求集合中是否有查询请求获取到所述锁;如果有,将获取到所述锁的查询请求确定为所述目标查询请求;利用所述目标查询请求从数据库查询所述数据信息。4.根据权利要求1所述的方法,其特征在于,所述锁不存在表示所述目标查询请求将查询到的所述数据信息存储到所述缓存后移除锁和/或所述目标查询请求的查询时间大于第二预设值。5.根据权利要求4所述的方法,其特征在于,所述查询到的所述数据信息在所述缓存中的缓存时间设定为第三预设值。6.一种高并发请求处理的装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:张亮
申请(专利权)人:北京微影时代科技有限公司
类型:发明
国别省市:北京,11

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

1