CN106550019B - 浏览器请求处理方法及系统 - Google Patents
浏览器请求处理方法及系统 Download PDFInfo
- Publication number
- CN106550019B CN106550019B CN201610912790.XA CN201610912790A CN106550019B CN 106550019 B CN106550019 B CN 106550019B CN 201610912790 A CN201610912790 A CN 201610912790A CN 106550019 B CN106550019 B CN 106550019B
- Authority
- CN
- China
- Prior art keywords
- request
- server
- browser
- requests
- module
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种浏览器请求处理方法及系统,包括:服务器将历史请求中处理时间超过预设时间的请求标记为慢请求;浏览器建立第一会话标识和第二会话标识;服务器为第一会话标识分配第一线程,为第二会话标识分配第二线程;浏览器将请求的地址发送至服务器;服务器依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;若所述请求不是慢请求,则浏览器将第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则浏览器将第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;服务器调用第一线程处理服务器判断为不是慢请求的请求,调用第二线程处理服务器判断为慢请求的请求。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种浏览器请求处理方法及系统。
背景技术
目前在计算机请求处理过程中,Web站点为了防止资源被过度消耗,一般采用会话标识进行识别从而为每个用户同一时刻只分配一个线程。这样如果该线程对一个任务的处理时间过长,则会导致其他任务的处理无法继续,需要等该任务结束后才能进行接下去的操作,而有些其实能够很快处理的任务,也会因为这个任务而无法得到处理。
公开号为CN 104618493 A的中国专利提出了一种数据请求处理方法,包括:将获取数据的请求分配至线程中,开启所述线程处理所述请求;当处于工作状态的线程数目等于第一数目时,如果接收到新的请求,则在接收到所述新的请求后的预设时长内,利用空闲线程或者第二服务器处理所述新的请求;其中,所述第一数目为预先为所述第一服务器设定的开启线程最大数目,所述空闲线程为所述处于工作状态的线程中从工作状态变更为空闲状态的线程。
上述方法通过调用其他线程处理请求,使得服务器达到最大处理能力之后仍能处理接收到的新的请求,提高了服务器处理请求的效率。然而,当原线程、空闲线程和第二服务器都被响应慢的请求占用时,导致无法处理新的请求,并且造成很大资源浪费。
发明内容
本发明所要解决的技术问题是:提供一种浏览器请求处理方法及系统,既能够防止服务器的资源被过度消耗,又能够避免用户的操作被响应慢的请求所影响。
为了解决上述技术问题,本发明采用的技术方案为:
一种浏览器请求处理方法,包括:
服务器将历史请求中处理时间超过预设时间的请求标记为慢请求;
浏览器建立第一会话标识和第二会话标识;
服务器为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
浏览器将请求的地址发送至所述服务器;
服务器依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
若所述请求不是慢请求,则浏览器将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则浏览器将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
服务器调用第一线程处理所述服务器判断为不是慢请求的请求,调用第二线程处理所述服务器判断为慢请求的请求。
本发明提供的另一个技术方案为:
一种浏览器请求处理系统,与上述浏览器请求处理方法对应,包括:服务器和浏览器,所述服务器包括标记模块、分配模块、判断模块和调用模块,所述浏览器包括创建模块、第一发送模块和第二发送模块;
所述标记模块用于将历史请求中处理时间超过预设时间的请求标记为慢请求;
所述创建模块用于建立第一会话标识和第二会话标识;
所述分配模块用于为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
所述第一发送模块用于将请求的地址发送至所述服务器;
所述判断模块用于依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
所述第二发送模块用于若所述请求不是慢请求,则将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
所述调用模块用于调用第一线程处理所述判断模块判断为不是慢请求的请求,调用第二线程处理所述判断模块判断为慢请求的请求。
本发明的有益效果在于:浏览器建立两个会话标识对应慢请求和非慢请求,从而服务器分配两个线程分别对应两个会话标识,浏览器发送请求时选取一个会话标识添加至请求头,服务器即可依据请求头中的会话标识调用相应的线程处理该请求;浏览器发送请求前先将请求的地址发送给服务器,服务器根据该地址判断请求是否为慢请求,再依据判断结果选择对应的会话标识,达到慢请求和非慢请求分别由不同的线程处理,保证了服务器的资源被过度消耗,且有效防止了一个线程被某个请求占用时间过长导致其他请求无法处理,避免了浏览器等客户端的其他请求被慢请求所影响。。
附图说明
图1为本发明实施例的浏览器请求处理方法的流程图;
图2为本发明实施例的浏览器请求处理系统的结构示意图;
图3为本发明实施例一的浏览器请求处理方法的流程图。
标号说明:
100、服务器;200、浏览器;11、标记模块;12、分配模块;13、判断模块;14、调用模块;15、遍历模块;21、创建模块;22、第一发送模块;23、第二发送模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:浏览器建立第一会话标识和第二会话标识,服务器为第一会话标识分配第一线程,为第二会话标识分配第二线程,浏览器将第一会话标识添加至不是慢请求的请求中后发送至服务器,将第二会话标识添加至慢请求中后发送至服务器。
本发明涉及的技术术语解释:
请参照图1,本发明提供:
一种浏览器请求处理方法,包括:
服务器将历史请求中处理时间超过预设时间的请求标记为慢请求;
浏览器建立第一会话标识和第二会话标识;
服务器为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
浏览器将请求的地址发送至所述服务器;
服务器依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
若所述请求不是慢请求,则浏览器将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则浏览器将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
服务器调用第一线程处理所述服务器判断为不是慢请求的请求,调用第二线程处理所述服务器判断为慢请求的请求。
进一步的,将所述第一会话标识添加至所述请求的请求头,具体为:
将所述第一标识作为在所述请求的Cookie中的SessionId值。
进一步的,将所述第二会话标识添加至所述请求的请求头,具体为:
将所述第二标识作为在所述请求的Cookie中的SessionId值。
从上述描述可知,将第一会话标识和第二会话标识作为在该请求的Cookie中的SessionId值,是一种具体将会话标识添加至请求头的方式,也可以采用现有技术中任何能够将会话标识添加至请求头的方法。
进一步的,服务器将历史请求中处理时间超过预设时间的请求标记为慢请求,之前进一步包括:
服务器遍历请求日志记录,得到历史请求的处理时间。
从上述描述可知,服务器中的日志记录通常记录了服务器的所有操作,因此通过日志记录能够准确查询到所有处理过的请求以及相应的处理时间,也可以通过其他方式得到历史请求的处理时间。
进一步的,所述预设时间为0.1秒至1秒。
从上述描述可知,一般情况下,处理时间超过1秒的请求被视为响应非常慢的请求,而处理时间低于0.1秒则被视为响应比较快的请求,因此预设时间设为0.1秒至1秒符合一般的响应需求,当然,也可以根据具体的应用场景和要求调整该预设时间。
请参照图2,本发明的另一个技术方案为:
一种浏览器请求处理系统,与上述浏览器请求处理方法对应,包括:服务器100和浏览器200,所述服务器100包括标记模块11、分配模块12、判断模块13和调用模块14,所述浏览器200包括创建模块21、第一发送模块22和第二发送模块23;
所述标记模块11用于将历史请求中处理时间超过预设时间的请求标记为慢请求;
所述创建模块21用于建立第一会话标识和第二会话标识;
所述分配模块12用于为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
所述第一发送模块22用于将请求的地址发送至所述服务器;
所述判断模块13用于依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
所述第二发送模块23用于若所述请求不是慢请求,则将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
所述调用模块14用于调用第一线程处理所述判断模块判断为不是慢请求的请求,调用第二线程处理所述判断模块判断为慢请求的请求。
进一步的,将所述第一会话标识添加至所述请求的请求头,具体为:
将所述第一标识作为在所述请求的Cookie中的SessionId值。
进一步的,将所述第二会话标识添加至所述请求的请求头,具体为:
将所述第二标识作为在所述请求的Cookie中的SessionId值。
进一步的,所述服务器100还包括:
遍历模块15,用于遍历请求日志记录,得到历史请求的处理时间。
进一步的,所述预设时间为0.1秒至1秒。
请参照图3,本发明的实施例一为:
一种浏览器请求处理方法,包括:
服务器遍历请求日志记录,得到历史请求的处理时间;
服务器将历史请求中处理时间超过预设时间的请求标记为慢请求;所述预设时间为0.1秒至1秒;
浏览器建立第一会话标识和第二会话标识;
服务器为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
浏览器将请求的地址发送至所述服务器;
服务器依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
若所述请求不是慢请求,则浏览器将所述第一标识作为在所述请求的Cookie中的SessionId值,并将所述请求发送至服务器;若所述请求是慢请求,则浏览器将所述第二标识作为在所述请求的Cookie中的SessionId值,并将所述请求发送至服务器;
服务器调用第一线程处理所述服务器判断为不是慢请求的请求,调用第二线程处理所述服务器判断为慢请求的请求。
服务器遍历请求日志记录,得到历史请求的处理时间。
下面以一个具体的实例说明上述实施例的技术方案:
服务端通过互联网信息服务(IIS)请求日志,查询出日志中超过1秒的请求,将超过1秒的请求标记为慢请求;
浏览器打开页面http://abc.com/,http://abc.com返回HTTP响应,其中包含设置Cookie中ASP.NET_SessionId的指令,在Cookie中添加会话标识1:ASP.NET_SessionId=xxxx001,则服务器会为ASP.NET_SessionId=xxxx001绑定一个线程1,再有包括这个会话标识1请求时,服务器都会被路由到绑定线程1处理;其中会话标识1即对应上述第一会话标识,线程1即对应上述第一线程;
浏览器通过javascript生成xxxx002,即会话标识2,并和xxxx001一起添加到Cookie中;即ASP.NET_SessionId1=xxxx001,ASP.NET_SessionId2=xxxx002;
当浏览器发起Ajax请求http://abc.com/getdata前,先将请求地址http://abc.com/getdata发送给服务器,服务器判端该请求是否为慢请求。如果是慢请求,则先将xxxx002写入Cookie中SessionId为键的值,即ASP.NET_SessionId=xxxx002。这时,服务端获取ASP.NET_SessionId就再分配一个线程2与ASP.NET_SessionId=xxxx002绑定,调用线程2处理该请求。
如果不是慢请求,则将xxxx001写入Cookie中SessionId为键的值,即ASP.NET_SessionId=xxxx001。这时,将请求发送到服务器时,服务端就会找到对应的绑定线程1,调用线程1处理该请求。
请参照图2,本发明的实施例二为:
一种应用上述浏览器请求处理方法的系统,包括:服务器100和浏览器200,所述服务器100包括遍历模块15、标记模块11、分配模块12、判断模块13和调用模块14,所述浏览器200包括创建模块21、第一发送模块22和第二发送模块23;
所述遍历模块15用于遍历请求日志记录,得到历史请求的处理时间;
所述标记模块11用于将历史请求中处理时间超过预设时间的请求标记为慢请求;所述预设时间为0.1秒至1秒;
所述创建模块21用于建立第一会话标识和第二会话标识;
所述分配模块12用于为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
所述第一发送模块22用于将请求的地址发送至所述服务器;
所述判断模块13用于依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
所述第二发送模块23用于若所述请求不是慢请求,则将所述第一标识作为在所述请求的Cookie中的SessionId值,并将所述请求发送至服务器;若所述请求是慢请求,则将将所述第二标识作为在所述请求的Cookie中的SessionId值,并将所述请求发送至服务器;
所述调用模块14用于调用第一线程处理所述判断模块判断为不是慢请求的请求,调用第二线程处理所述判断模块判断为慢请求的请求。
综上所述,本发明提供的浏览器请求处理方法及系统,既可以保证服务器的资源被过度消耗,又能避免浏览器被慢请求所影响,使得浏览器在出现慢请求时依然可以处理其他的不是慢请求的操作。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种浏览器请求处理方法,其特征在于,包括:
服务器将历史请求中处理时间超过预设时间的请求标记为慢请求;
浏览器建立第一会话标识和第二会话标识;
服务器为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
浏览器将请求的地址发送至所述服务器;
服务器依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
若所述请求不是慢请求,则浏览器将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则浏览器将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
服务器调用第一线程处理所述服务器判断为不是慢请求的请求,调用第二线程处理所述服务器判断为慢请求的请求。
2.根据权利要求1所述的浏览器请求处理方法,其特征在于,将所述第一会话标识添加至所述请求的请求头,具体为:
将所述第一会话标识作为在所述请求的Cookie中的SessionId值。
3.根据权利要求1所述的浏览器请求处理方法,其特征在于,将所述第二会话标识添加至所述请求的请求头,具体为:
将所述第二会话标识作为在所述请求的Cookie中的SessionId值。
4.根据权利要求1所述的浏览器请求处理方法,其特征在于,服务器将历史请求中处理时间超过预设时间的请求标记为慢请求,之前进一步包括:
服务器遍历请求日志记录,得到历史请求的处理时间。
5.根据权利要求1所述的浏览器请求处理方法,其特征在于,所述预设时间为0.1秒至1秒。
6.一种浏览器请求处理系统,其特征在于,包括:服务器和浏览器,所述服务器包括标记模块、分配模块、判断模块和调用模块,所述浏览器包括创建模块、第一发送模块和第二发送模块;
所述标记模块用于将历史请求中处理时间超过预设时间的请求标记为慢请求;
所述创建模块用于建立第一会话标识和第二会话标识;
所述分配模块用于为所述第一会话标识分配第一线程,为所述第二会话标识分配第二线程;
所述第一发送模块用于将请求的地址发送至所述服务器;
所述判断模块用于依据所述地址判断所述请求是否为慢请求,并将判断结果返回至浏览器;
所述第二发送模块用于若所述请求不是慢请求,则将所述第一会话标识添加至所述请求的请求头,并将所述请求发送至服务器;若所述请求是慢请求,则将所述第二会话标识添加至所述请求的请求头,并将所述请求发送至服务器;
所述调用模块用于调用第一线程处理所述判断模块判断为不是慢请求的请求,调用第二线程处理所述判断模块判断为慢请求的请求。
7.根据权利要求6所述的浏览器请求处理系统,其特征在于,将所述第一会话标识添加至所述请求的请求头,具体为:
将所述第一会话标识作为在所述请求的Cookie中的SessionId值。
8.根据权利要求6所述的浏览器请求处理系统,其特征在于,将所述第二会话标识添加至所述请求的请求头,具体为:
将所述第二会话标识作为在所述请求的Cookie中的SessionId值。
9.根据权利要求6所述的浏览器请求处理系统,其特征在于,所述服务器还包括:
遍历模块,用于遍历请求日志记录,得到历史请求的处理时间。
10.根据权利要求6所述的浏览器请求处理系统,其特征在于,所述预设时间为0.1秒至1秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610912790.XA CN106550019B (zh) | 2016-10-20 | 2016-10-20 | 浏览器请求处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610912790.XA CN106550019B (zh) | 2016-10-20 | 2016-10-20 | 浏览器请求处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106550019A CN106550019A (zh) | 2017-03-29 |
CN106550019B true CN106550019B (zh) | 2020-01-31 |
Family
ID=58369295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610912790.XA Active CN106550019B (zh) | 2016-10-20 | 2016-10-20 | 浏览器请求处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106550019B (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101400022B (zh) * | 2007-09-26 | 2010-05-26 | 华为技术有限公司 | 标识业务类型及根据标识建立业务的方法、装置及系统 |
CN102006675B (zh) * | 2009-08-31 | 2013-09-11 | 华为技术有限公司 | 一种数据传输方法、传输设备及移动终端 |
US10028295B2 (en) * | 2012-03-29 | 2018-07-17 | Nokia Solutions And Networks Oy | Method and an apparatus to control scheduling |
CN104063461B (zh) * | 2012-05-02 | 2018-10-12 | 北京奇虎科技有限公司 | 处理用户访问网页的请求的方法及系统 |
CN103516536B (zh) * | 2012-06-26 | 2017-02-22 | 重庆新媒农信科技有限公司 | 基于线程数量限制的服务器业务请求并行处理方法及系统 |
CN103440317A (zh) * | 2013-08-28 | 2013-12-11 | 电子科技大学 | 基于数据库时间标签的增量数据查询方法 |
CN105208125B (zh) * | 2015-09-30 | 2019-12-17 | 百度在线网络技术(北京)有限公司 | 消息传输方法、装置及系统 |
CN105391712B (zh) * | 2015-11-05 | 2019-04-12 | 深圳市网心科技有限公司 | 一种基于tcp协议的数据快速传输方法和装置 |
CN105897836A (zh) * | 2015-12-07 | 2016-08-24 | 乐视云计算有限公司 | 一种回源请求处理方法及装置 |
-
2016
- 2016-10-20 CN CN201610912790.XA patent/CN106550019B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106550019A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933871B (zh) | 短链接处理方法、装置及短链接服务器 | |
CN103780679B (zh) | 基于http协议的长延时远程调用方法 | |
CN110515706B (zh) | 一种请求处理方法、装置、设备及可读存储介质 | |
CN105763628A (zh) | 数据访问请求处理方法及装置、边缘节点服务器和集群 | |
CN103064960A (zh) | 数据库查询方法及设备 | |
CN101071438A (zh) | 截图服务器、分配服务器、生成网页截图的方法及系统 | |
CN105446813A (zh) | 一种资源分配的方法及装置 | |
CN107918673B (zh) | 订阅数据处理方法、装置、存储介质和计算机设备 | |
CN109067936A (zh) | 一种域名解析的方法及装置 | |
CN106209727B (zh) | 一种会话访问方法和装置 | |
CN109067931A (zh) | 一种云管理平台虚拟机浮动ip地址设置的方法和系统 | |
CN109743357B (zh) | 一种业务访问连续性的实现方法及装置 | |
CN108712428A (zh) | 一种对终端进行设备类型识别的方法及装置 | |
CN106412079B (zh) | 请求处理方法及系统 | |
CN103607410A (zh) | 一种内容访问方法和设备 | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
CN108494870B (zh) | 基于cdn的动态数据加载方法及装置 | |
CN111343240B (zh) | 一种服务请求的处理方法、装置、电子设备及存储介质 | |
CN103020241A (zh) | 基于会话的动态页面缓存方法和系统 | |
CN106550019B (zh) | 浏览器请求处理方法及系统 | |
CN105915610A (zh) | 一种异步通信方法和装置 | |
CN111614792B (zh) | 透传方法、系统、服务器、电子设备及存储介质 | |
CN103428171B (zh) | 一种session的处理方法、应用服务器及系统 | |
CN106126663B (zh) | 页面聚合方法及装置 | |
CN104317819A (zh) | 基于浏览器页面间跨域通信的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |