CN105141549A - 网络请求处理方法和装置 - Google Patents
网络请求处理方法和装置 Download PDFInfo
- Publication number
- CN105141549A CN105141549A CN201510504474.4A CN201510504474A CN105141549A CN 105141549 A CN105141549 A CN 105141549A CN 201510504474 A CN201510504474 A CN 201510504474A CN 105141549 A CN105141549 A CN 105141549A
- Authority
- CN
- China
- Prior art keywords
- request
- queue
- interface
- priority
- resolving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络请求处理方法和装置。所述方法包括:对请求队列中的请求进行解析处理;将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
Description
技术领域
本发明涉及网页请求处理领域,具体地涉及网络请求处理方法和装置。
背景技术
互联网的日益繁荣使得互联网访问量、服务器所接收到的请求量飞速增长,这给众多互联网平台(尤其是电商企业)带来了许多技术上的挑战。其中,尤其需要能够高效、快速、稳定地处理大批量用户网络请求的请求处理机制,以应对因为诸如双十一之类的事件导致的请求量激增,并且防止恶意请求或机器人请求对服务器的影响和破坏。
然而,目前大多数互联网服务所采用的机制并不能完美地满足上述要求。图1示出了一种示例性的现有网络请求处理机制。如图1所示,该网络请求处理机制采用由Java服务器实现的Tomcat服务器。其中,Tomcat服务器首先从用户接收请求,放入请求队列。然后,线程池会从请求队列中按照请求顺序取出一个请求进行解析。最后,在当前线程中对解析完成的请求进行处理,比如在接口A处。
这种机制存在如下问题:
-对请求的解析和对请求的处理使用同一个线程,导致无法对请求进行各种优化操作;
-请求会全部挤压到一个请求队列,此时,如果接口A出现问题,则会导致接口B或接口C处的请求一起排队等待,最终一起崩溃;
-请求挤压会引起滚雪球效应,最终导致雪崩,不存在将无效请求或过期请求删除掉的机制,不能让后来的请求继续得到处理;
-不能实现如请求限制、请求拒绝、请求延迟等。
发明内容
为了解决现有技术中存在的上述问题,本发明提出了一种网页动作处理方法和装置。
根据本发明的一个方面,提出了一种网络请求处理方法。该方法包括:对请求队列中的请求进行解析处理;将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
优选地,所述请求队列是由从用户接收的请求形成的队列。
优选地,采用多线程来进行所述预处理。
优选地,根据请求地址将经过解析的请求放入一个或多个接口队列。
优选地,针对每个接口的优先级队列包括正常队列和异常队列,其中首先对优先级队列中的正常队列进行处理。
优选地,根据以下各项中的至少一个来设置每个优先级队列中的异常队列:IP地址访问频率、用户是否是机器人、用户信用。
优选地,所述方法还包括:根据服务器性能需要或管理员的指示,不对所述异常队列中的请求进行处理。
优选地,所述方法还包括:为各个接口指派接口优先级,以及根据服务器性能需要或管理员指示对各个接口的接口优先级进行调整。
根据本发明的另一方面,提出了一种网络请求处理装置。该装置包括:解析装置,用于对请求队列中的请求进行解析处理;预处理装置,用于将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及处理装置,用于通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
通过使用本发明所提出的网页请求处理方法和装置,使得实现对用户请求的高效、优化处理,并能够在发生异常时避免雪崩现象的发生。由此,解决了以上所述的现有技术中的问题。
附图说明
图1示出了一种示例性的现有网络请求处理机制;
图2示出了根据本发明的一种实施例的网页请求处理方法的流程图;
图3示出了根据本发明的一种实施例的网页请求处理装置的结构框图;
图4示出了根据本发明的一种实施例的网络请求处理机制的示例。
具体实施方式
以下参考附图对本发明进行具体描述。
首先,图2示出了根据本发明的一种实施例的网页请求处理方法100的流程图。所述网页动作处理方法100开始于步骤S110,在步骤S110中,对请求队列中的请求进行解析处理。然后,在步骤S120中,将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列。最后,在步骤S130中,通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
在步骤S110中,对请求队列中的请求进行解析处理。在该步骤中,通过解析处理器对从用户接收的请求所形成的请求队列进行解析。对请求进行解析的速度非常快,因此,可以优选地使用单线程进行处理。
在步骤S120中,将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列。在该步骤中,首先向经过解析的请求进行预处理,即指派优先级,指派优先级的标准可以是例如用户是否登录、用户的会员等级等。根据实际性能清空,可以通过多线程来进行所述预处理。然后,将已经指派了优先级的请求放入一个或多个接口队列,这些接口队列是针对所存在的一个或多个接口形成的,可以根据请求的地址将请求放入相应的接口队列中。由于之前已经向每个请求指派了优先级,所以每个接口队列都是优先级队列,即在对一个接口队列中的请求进行处理时会根据优先级的顺序依次处理。
通过以上两个步骤,可以看出在对请求队列中的请求进行处理之前,已经通过单独的线程对队列中的请求进行了解析,并形成了经过解析的新的接口队列。这使得将请求解析与请求处理分离地进行,不但改进了效率,而且还便于对请求队列进行其它优化,比如上文所述的优先级指派。在一种优选地实施例中,还可以将该过程进一步分离,比如在对请求队列进行解析之后形成解析队列,然后再对解析队列进行预处理,形成一个或多个接口队列。
在本发明的一个实施例中,针对每个接口的优先级队列还可具有多个子队列,比如正常队列和异常队列。其中,异常队列是通过某种检测机制(比如IP地址访问频率、用户是否是机器人、用户信用等)判断得到的存在异常的请求形成的子队列,如果不对这些请求的处理进行限制,有可能会导致对服务器的恶意攻击。正常队列则是没有发现上述异常的请求组成的子队列。在所述实施例中,首先对正常队列中的请求进行处理。然后,根据该服务器的性能需要(比如线程池的空闲情况)或管理员的指示,可以选择对异常队列中的请求进行处理。当然,所述实施例中还可包括更为严格的标准,比如包括禁止队列,该禁止队列中的请求被判断为恶意请求,因此禁止对该子队列中的请求进行处理。
在步骤S130中,通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。在该步骤中,通过不同线程池中的线程对相应接口的请求队列分别进行处理,这使得不同接口的线程是隔离的,使得在某一个接口发生故障时不会影响其它接口的操作。
优选地,还可为各个接口指派接口优先级,并可以根据服务器性能需要或管理员指示对各个接口的接口优先级进行调整。如此,当某个接口处发生故障或响应时间过长时,可以降低该接口的接口优先级,防止雪崩的发生。
以下参见图3,图3示出了根据本发明的一种实施例的网页请求处理装置200的结构框图。该网页请求处理装置200包括:解析装置210、预处理装置220和处理装置230。解析装置210用于对请求队列中的请求进行解析处理。预处理装置220用于将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列。处理装置230用于通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
该网页请求处理装置200与上述网页请求处理方法100相对应。以上对方法100的具体描述和解释同样适用于装置200,在此不再赘述。
图4示出了根据本发明的一种实施例的网络请求处理机制的示例。如图4所示,该网络请求处理机制采用由Java服务器实现的Tomcat服务器。其中,Tomcat服务器首先从用户接收请求,放入请求队列。然后,请求解析处理器对请求队列中的请求机械能解析,并且在经过解析的请求进行预处理之后形成对应于线程池A、B、C的三个接口队列,并且每个接口队列包括两个子队列,其中包括异常队列。然后针对不同的接口队列,使用不同的线程池中的线程进行处理。其中,还可通过各个接口处的接口预处理器对各个接口队列进行相应的接口预处理。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (9)
1.一种网络请求处理方法,包括:
对请求队列中的请求进行解析处理;
将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及
通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
2.根据权利要求1所述的方法,其中所述请求队列是由从用户接收的请求形成的队列。
3.根据权利要求1所述的方法,其中采用多线程来进行所述预处理。
4.根据权利要求1所述的方法,其中根据请求地址将经过解析的请求放入一个或多个接口队列。
5.根据权利要求1所述的方法,其中针对每个接口的优先级队列包括正常队列和异常队列,其中首先对优先级队列中的正常队列进行处理。
6.根据权利要求5所述的方法,其中根据以下各项中的至少一个来设置每个优先级队列中的异常队列:IP地址访问频率、用户是否是机器人、用户信用。
7.根据权利要求5所述的方法,还包括:根据服务器性能需要或管理员的指示,不对所述异常队列中的请求进行处理。
8.根据权利要求1所述的方法,还包括:为各个接口指派接口优先级,以及根据服务器性能需要或管理员指示对各个接口的接口优先级进行调整。
9.一种网络请求处理装置,包括:
解析装置,用于对请求队列中的请求进行解析处理;
预处理装置,用于将经过解析的请求放入一个或多个接口队列,其中,在放入接口队列前对经过解析的请求进行相应的预处理,以向每个接口队列中的请求指派优先级,从而每个接口队列形成为优先级队列;以及
处理装置,用于通过相应的接口的线程池中的线程,按照优先级顺序对从每个优先级队列中的请求进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510504474.4A CN105141549B (zh) | 2015-08-17 | 2015-08-17 | 网络请求处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510504474.4A CN105141549B (zh) | 2015-08-17 | 2015-08-17 | 网络请求处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105141549A true CN105141549A (zh) | 2015-12-09 |
CN105141549B CN105141549B (zh) | 2018-09-21 |
Family
ID=54726762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510504474.4A Active CN105141549B (zh) | 2015-08-17 | 2015-08-17 | 网络请求处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105141549B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095535A (zh) * | 2016-06-08 | 2016-11-09 | 东华大学 | 一种支持多核平台下数据流处理的线程管理*** |
CN106506389A (zh) * | 2016-10-19 | 2017-03-15 | 广州华多网络科技有限公司 | 网络请求异步处理方法及装置 |
CN109343955A (zh) * | 2018-09-14 | 2019-02-15 | 网易无尾熊(杭州)科技有限公司 | 推荐服务调用方法、介质、装置和计算设备 |
CN109426572A (zh) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932390A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种网络请求的处理方法和***、网络服务提供装置 |
CN103905484A (zh) * | 2012-12-26 | 2014-07-02 | 北京新媒传信科技有限公司 | 处理超文本传输协议请求的方法及装置 |
CN104281489A (zh) * | 2013-07-12 | 2015-01-14 | 携程计算机技术(上海)有限公司 | Soa架构下的多线程请求方法及*** |
CN104580486A (zh) * | 2015-01-20 | 2015-04-29 | 成都益联科创科技有限公司 | 一种复合式产品售后信息及服务推送*** |
CN104980515A (zh) * | 2015-06-26 | 2015-10-14 | 浪潮(北京)电子信息产业有限公司 | 一种云存储***中消息分发处理方法和装置 |
-
2015
- 2015-08-17 CN CN201510504474.4A patent/CN105141549B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932390A (zh) * | 2011-08-11 | 2013-02-13 | 阿里巴巴集团控股有限公司 | 一种网络请求的处理方法和***、网络服务提供装置 |
CN103905484A (zh) * | 2012-12-26 | 2014-07-02 | 北京新媒传信科技有限公司 | 处理超文本传输协议请求的方法及装置 |
CN104281489A (zh) * | 2013-07-12 | 2015-01-14 | 携程计算机技术(上海)有限公司 | Soa架构下的多线程请求方法及*** |
CN104580486A (zh) * | 2015-01-20 | 2015-04-29 | 成都益联科创科技有限公司 | 一种复合式产品售后信息及服务推送*** |
CN104980515A (zh) * | 2015-06-26 | 2015-10-14 | 浪潮(北京)电子信息产业有限公司 | 一种云存储***中消息分发处理方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095535A (zh) * | 2016-06-08 | 2016-11-09 | 东华大学 | 一种支持多核平台下数据流处理的线程管理*** |
CN106095535B (zh) * | 2016-06-08 | 2019-11-08 | 东华大学 | 一种支持多核平台下数据流处理的线程管理*** |
CN106506389A (zh) * | 2016-10-19 | 2017-03-15 | 广州华多网络科技有限公司 | 网络请求异步处理方法及装置 |
CN109426572A (zh) * | 2017-08-29 | 2019-03-05 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
CN109426572B (zh) * | 2017-08-29 | 2021-07-02 | 杭州海康威视数字技术股份有限公司 | 任务处理方法、装置及电子设备 |
CN109343955A (zh) * | 2018-09-14 | 2019-02-15 | 网易无尾熊(杭州)科技有限公司 | 推荐服务调用方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105141549B (zh) | 2018-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9729499B2 (en) | Browser and method for domain name resolution by the same | |
CN105141549A (zh) | 网络请求处理方法和装置 | |
US20160269479A1 (en) | Cloud virtual server scheduling method and apparatus | |
EP2763069A1 (en) | Method and device for multiple engine virus killing | |
US20130290563A1 (en) | Answer augmentation system for authoritative dns servers | |
CN1909552A (zh) | 一种信息访问方法和*** | |
CN102855334B (zh) | 一种浏览器及其获取dns解析数据的方法 | |
WO2014166332A1 (en) | Method, client, server, and system for sharing content | |
US20230269304A1 (en) | Method and apparatus for processing notification trigger message | |
US20170300129A1 (en) | Keypress processing method and apparatus for terminal | |
CN109918191B (zh) | 一种业务请求防频的方法和装置 | |
KR20160019095A (ko) | 디바이스 및 세션 식별 | |
CN110321252B (zh) | 一种技能服务资源调度的方法和装置 | |
US20140337536A1 (en) | Method and apparatus for data communication | |
CN113419890A (zh) | 异常类型检测方法、装置、服务器及介质 | |
US7873656B1 (en) | Apparatus and methods to reduce proxy overhead in a gateway | |
US20160028641A1 (en) | Advanced notification of workload | |
CN103338233A (zh) | 负载均衡设备、Web服务器及请求信息处理方法和*** | |
CN109587197B (zh) | 关联上报数据的方法、装置和*** | |
CN110177096B (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN108200191B (zh) | 利用微扰法的客户端动态url相关脚本字符串检测*** | |
CN105025042B (zh) | 一种确定数据信息的方法及***、代理服务器 | |
CN101055573A (zh) | 世界通多国翻译*** | |
CN108337317B (zh) | 一种处理路由请求的方法及装置 | |
EP3552115B1 (en) | Reducing redirects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |