一种请求的处理方法及装置的制造方法

文档序号:9547289阅读:207来源:国知局
一种请求的处理方法及装置的制造方法
【专利说明】
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种请求的处理方法及装置。
【【背景技术】】
[0002]目前,在用户数目少于数据对象的数目的场景中,如抢购、抢红包等场景,由于数据对象的数量有限,往往只有少部分用户能够获取到数据对象。但是大量的用户为了获取到数据对象,都会发起获取请求,从而导致产生的获取请求的数量比较庞大。
[0003]现有技术中,浏览器为了避免给服务器带来较大处理压力,一般会先对收到的大量的获取请求进行处理,然后将其中一小部分获取请求发送到服务器,因此会导致刷单或者多发问题。或者,也可以将所有获取请求都发送到服务器,服务器在数据库中进行获取请求的处理,然而,当数据库遇到大量等待处理的获取请求时,处理压力过大会导致死锁、热点等异常,而且处理效率比较低。因此,现有技术中在户数目少于数据对象的数目的场景中,数据请求的处理方式导致数据请求的处理效率和可靠性都比较低。

【发明内容】

[0004]有鉴于此,本发明实施例提供了一种请求的处理方法及装置,用以解决现有技术中数据请求的处理方式导致的数据请求的处理效率和可靠性都比较低的问题。
[0005]本发明实施例的一方面,提供一种请求的处理方法,包括:
[0006]接收至少两个获取请求;
[0007]逐一针对所述至少两个获取请求中每个所述获取请求,若确定缓存队列中有未分配的数据对象的标识信息,从未分配的数据对象的标识信息中获取一个数据对象的标识信息,建立获取的数据对象的标识信息与发送获取请求的用户之间的映射关系。
[0008]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述逐一针对所述至少两个获取请求中每个所述获取请求,若确定缓存队列中有未分配的数据对象的标识信息,从未分配的数据对象的标识信息中获取一个数据对象的标识信息之前,所述方法还包括:
[0009]将至少一个数据对象中每个所述数据对象的标识信息保存在所述缓存队列。
[0010]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0011 ] 逐一针对所述至少两个获取请求中每个所述获取请求,判断所述缓存队列中是否有未分配的数据对象的标识信息。
[0012]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0013]将所述数据对象的标识信息与发送获取请求的用户之间的映射关系保存在所述缓存队列。
[0014]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0015]将所述数据对象的标识信息与发送获取请求的用户之间的映射关系保存在数据库。
[0016]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0017]向发送所述获取请求的用户推送获取结果指示,所述获取结果指示用于指示所述数据对象获取成功。
[0018]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0019]生成与所述数据对象的获取结果相关的详细信息;
[0020]将与所述数据对象的获取结果相关的详细信息保存在所述数据库;
[0021]其中,与所述数据对象的获取结果相关的详细信息包括:本次获取所述数据对象的事件编号、获取所述数据对象的时间信息、发送所述获取请求的用户的地址信息以及所述数据对象的属性信息。
[0022]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
[0023]若确定所述缓存队列中没有未分配的数据对象的标识信息,向发送所述获取请求的用户推送获取结果指示,所述获取结果指示用于指示所述数据对象获取失败。
[0024]本发明实施例的一方面,提供一种请求的处理装置,包括:
[0025]接收模块,用于接收至少两个获取请求;
[0026]处理模块,用于逐一针对所述至少两个获取请求中每个所述获取请求,若确定缓存队列中有未分配的数据对象的标识信息,从未分配的数据对象的标识信息中获取一个数据对象的标识信息,建立获取的数据对象的标识信息与发送获取请求的用户之间的映射关系Ο
[0027]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
[0028]配置模块,用于将至少一个数据对象中每个所述数据对象的标识信息保存在所述缓存队列。
[0029]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,还用于:
[0030]逐一针对所述至少两个获取请求中每个所述获取请求,判断所述缓存队列中是否有未分配的数据对象的标识信息。
[0031]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,还用于:
[0032]将所述数据对象的标识信息与发送获取请求的用户之间的映射关系保存在所述缓存队列。
[0033]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理模块,还用于:
[0034]将所述数据对象的标识信息与发送获取请求的用户之间的映射关系保存在数据库。
[0035]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
[0036]第一推送模块,用于向发送所述获取请求的用户推送获取结果指示,所述获取结果指示用于指示所述数据对象获取成功。
[0037]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
[0038]生成模块,用于生成与所述数据对象的获取结果相关的详细信息;以及,将与所述数据对象的获取结果相关的详细信息保存在所述数据库;
[0039]其中,与所述数据对象的获取结果相关的详细信息包括:本次获取所述数据对象的事件编号、获取所述数据对象的时间信息、发送所述获取请求的用户的地址信息以及所述数据对象的属性信息。
[0040]如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
[0041]第二推送模块,用于若确定所述缓存队列中没有未分配的数据对象的标识信息,向发送所述获取请求的用户推送获取结果指示,所述获取结果指示用于指示所述数据对象获取失败。
[0042]由以上技术方案可以看出,本发明实施例具有以下有益效果:
[0043]本发明实施例提供的技术方案中,当接收到用户的获取请求后,每次只处理一个获取请求,并且根据缓存队列中是否有未分配的标识信息来为用户分配数据对象。由于在缓存队列中处理数据时处理效率比较高,因此本发明实施例与现有技术中在数据库中处理获取请求的方式相比,处理速度更快,处理效率更高。同时,避免了在数据库中处理获取请求压力过大时出现的死锁、热点等异常问题,从而提高了获取请求的处理可靠性。所以,本发明实施例所提供的技术方案,能够解决现有技术中数据请求的处理方式导致的数据请求的处理效率和可靠性都比较低的问题。
【【附图说明】】
[0044]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0045]图1是本发明实施例所提供的请求的处理方法的流程示意图;
[0046]图2是本发明实施例
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1