网络请求处理方法和装置制造方法及图纸

技术编号:12474728 阅读:60 留言:0更新日期:2015-12-10 10:21
本发明专利技术公开了一种网络请求处理方法和装置。所述方法包括:对请求队列中的请求进行解析处理;将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。

【技术实现步骤摘要】

本专利技术涉及网页请求处理领域,具体地涉及网络请求处理方法和装置
技术介绍
互联网的日益繁荣使得互联网访问量、服务器所接收到的请求量飞速增长,这给众多互联网平台(尤其是电商企业)带来了许多技术上的挑战。其中,尤其需要能够高效、快速、稳定地处理大批量用户网络请求的请求处理机制,以应对因为诸如双十一之类的事件导致的请求量激增,并且防止恶意请求或机器人请求对服务器的影响和破坏。然而,目前大多数互联网服务所采用的机制并不能完美地满足上述要求。图1示出了一种示例性的现有网络请求处理机制。如图1所示,该网络请求处理机制采用由Java服务器实现的Tomcat服务器。其中,Tomcat服务器首先从用户接收请求,放入请求队列。然后,线程池会从请求队列中按照请求顺序取出一个请求进行解析。最后,在当前线程中对解析完成的请求进行处理,比如在接口 A处。这种机制存在如下问题:-对请求的解析和对请求的处理使用同一个线程,导致无法对请求进行各种优化操作;-请求会全部挤压到一个请求队列,此时,如果接口A出现问题,则会导致接口 B或接口 C处的请求一起排队等待,最终一起崩溃;-请求挤压会引起滚雪球效应,最终导致雪崩,不存在将无效请求或过期请求删除掉的机制,不能让后来的请求继续得到处理;-不能实现如请求限制、请求拒绝、请求延迟等。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提出了一种网页动作处理方法和装置。根据本专利技术的一个方面,提出了一种网络请求处理方法。该方法包括:对请求队列中的请求进行解析处理;将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。优选地,所述请求队列是由从用户接收的请求形成的队列。优选地,采用多线程来进行所述预处理。优选地,根据请求地址将经过解析的请求放入一个或多个接口队列。优选地,针对每个接口的优先级队列包括正常队列和异常队列,其中首先对优先级队列中的正常队列进行处理。优选地,根据以下各项中的至少一个来设置每个优先级队列中的异常队列:IP地址访问频率、用户是否是机器人、用户信用。优选地,所述方法还包括:根据服务器性能需要或管理员的指示,不对所述异常队列中的请求进行处理。优选地,所述方法还包括:为各个接口指派接口优先级,以及根据服务器性能需要或管理员指示对各个接口的接口优先级进行调整。根据本专利技术的另一方面,提出了一种网络请求处理装置。该装置包括:解析装置,用于对请求队列中的请求进行解析处理;预处理装置,用于将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及处理装置,用于通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。通过使用本专利技术所提出的网页请求处理方法和装置,使得实现对用户请求的高效、优化处理,并能够在发生异常时避免雪崩现象的发生。由此,解决了以上所述的现有技术中的问题。【附图说明】图1示出了一种示例性的现有网络请求处理机制;图2示出了根据本专利技术的一种实施例的网页请求处理方法的流程图;图3示出了根据本专利技术的一种实施例的网页请求处理装置的结构框图;图4示出了根据本专利技术的一种实施例的网络请求处理机制的示例。【具体实施方式】以下参考附图对本专利技术进行具体描述。首先,图2示出了根据本专利技术的一种实施例的网页请求处理方法100的流程图。所述网页动作处理方法100开始于步骤S110,在步骤SllO中,对请求队列中的请求进行解析处理。然后,在步骤S120中,将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列。最后,在步骤S130中,通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。在步骤SllO中,对请求队列中的请求进行解析处理。在该步骤中,通过解析处理器对从用户接收的请求所形成的请求队列进行解析。对请求进行解析的速度非常快,因此,可以优选地使用单线程进行处理。在步骤S120中,将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列。在该步骤中,首先向经过解析的请求进行预处理,即指派优先级,指派优先级的标准可以是例如用户是否登录、用户的会员等级等。根据实际性能清空,可以通过多线程来进行所述预处理。然后,将已经指派了优先级的请求放入一个或多个接口队列,这些接口队列是针对所存在的一个或多个接口形成的,可以根据请求的地址将请求放入相应的接口队列中。由于之前已经向每个请求指派了优先级,所以每个接口队列都是优先级队列,即在对一个接口队列中的请求进行处理时会根据优先级的顺序依次处理。通过以上两个步骤,可以看出在对请求队列中的请求进行处理之前,已经通过单独的线程对队列中的当前第1页1 2 本文档来自技高网...
网络请求处理方法和装置

【技术保护点】
一种网络请求处理方法,包括:对请求队列中的请求进行解析处理;将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:张开涛韩笑跃王飞刘俊桦戴然陈春辉
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1