CN104994079A - 访问请求的处理方法和装置、加速服务器 - Google Patents
访问请求的处理方法和装置、加速服务器 Download PDFInfo
- Publication number
- CN104994079A CN104994079A CN201510316276.5A CN201510316276A CN104994079A CN 104994079 A CN104994079 A CN 104994079A CN 201510316276 A CN201510316276 A CN 201510316276A CN 104994079 A CN104994079 A CN 104994079A
- Authority
- CN
- China
- Prior art keywords
- server
- access request
- target data
- protocol
- user terminal
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种访问请求的处理方法和装置、加速服务器。其中,该处理方法包括:接收用户终端发送的用于访问源服务器的访问请求;判断访问请求对应的通讯协议是否为预设协议;若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端,其中,目标数据为访问请求所请求的数据。本发明解决了现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题,实现了提高加速效率的效果。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种访问请求的处理方法和装置、加速服务器。
背景技术
TCP是常见的网络传输协议,被大量的网络应用广泛使用。在一些封闭的网络环境中,需要使用通用的TCP代理来提供统一的网络出口,例如公司的办公网络是局域网,员工上外网时需要申请权限,在获得权限之后才能通过代理服务器访问外网,但是员工的上网体验往往比较差;在一些终端产品中,由于网络质量不佳,严重影响用户体验,例如用户用电视盒子看视频时,如果网络不佳,频繁卡顿,用户的体验将十分糟糕。在遇到上述情况时,就需要通过通用的TCP代理服务器(即加速服务器)来提供加速服务,以提高用户的体验。
在现实中,互联网主要流量都是HTTP协议传输的,所以现有的加速服务主要针对HTTP,加速服务主要是通过动态加速和缓存加速两种方式来实现的,动态加速是为用户寻找最合适的代理服务器(即加速服务器)以提高用户的网络访问速度和稳定性;缓存加速主要是利用加速服务器的本地缓存功能为用户提供加速服务,可以节约加速服务器和源服务器的带宽消耗,降低源服务器的负载,进而降低成本。当前最为广泛使用的TCP代理有SOCKS4/5和HTTP-CONNECT,但是SOCKS4/5和HTTP-CONNECT却没有为HTTP协议特别考虑,不具备HTTP缓存功能,所以现有的TCP加速服务器只具备动态加速TCP连接的功能,而不具备对可缓存的TCP连接进行缓存加速的功能。
针对现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种访问请求的处理方法和装置、加速服务器,以至少解决现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题。
根据本发明实施例的一个方面,提供了一种访问请求的处理方法,该处理方法包括:接收用户终端发送的用于访问源服务器的访问请求;判断访问请求对应的通讯协议是否为预设协议;若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端,其中,目标数据为访问请求所请求的数据。
根据本发明实施例的另一方面,还提供了一种访问请求的处理装置,该处理装置包括:接收模块,用于接收用户终端发送的用于访问源服务器的访问请求;第一判断模块,用于判断访问请求对应的通讯协议是否为预设协议;第一发送模块,用于若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端,其中,目标数据为访问请求所请求的数据。
根据本发明实施例的另一方面,还提供了一种加速服务器,该加速服务器包括访问请求的处理装置。
采用本发明,利用加速服务器接收用户终端的访问请求,并在访问请求对应的通讯协议为预设协议的情况下,断开其与源服务器的连接,直接将其缓存的访问请求对应的目标数据返回至用户终端。采用本发明,解决了现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题,实现了提高加速服务器的加速效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的访问请求的处理方法的流程图;
图2是根据本发明实施例的一个可选的访问请求的处理方法的流程图;以及
图3是根据本发明实施例的访问请求的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
传输控制协议:英文全称是Transmission Control Protocol,简称TCP,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。
超文本传输协议:英文全称是Hyper Text Transfer Protocol,简称HTTP,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
TCP加速:其核心思想就是采用透明代理的方式,将TCP一端的连接终结,然后重新发起一个连接到TCP的另外一端。这样,两端的数据包都被缓存在两端的TCP加速器上,TCP加速器之间的数据发送由TCP加速器进行控制。
内容分发网络:英文全称是Content Delivery Network,简称CDN,是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
防火墙安全会话转换协议:英文全称是SOCKS:Protocol for sessions traversalacross firewall securely,简称SOCKS,SOCKS协议提供一个框架,为在TCP和UDP域中的客户机或者服务器应用程序能更方便安全地使用网络防火墙所提供的服务。介于应用层和传输层之间的“中介层(shim-layer)”,因而不提供如传递ICMP信息之类的网络层网关服务。
REDSOCKS:Linux(包括OpenWRT和Android)下用于实现全局代理的开源软件,用于连接固定的SOCKS5代理,让内网用户通过OPENWRT访问外网。
SOCKS4/5:SOCKS4/5协议是为应用层代理设计的,可用于动态加速。
原始HTTP-CONNECT方案:目前流行的HTTP代理服务器都支持HTTP-CONNECT和HTTP缓存功能,比如squid和nginx,不过它们并不能同时起作用,即代理协议是HTTP-CONNECT时,HTTP缓存功能不会起作用。
HTTP-RELAY:是最普遍的HTTP加速手段,也是CDN采用的加速方式,利用这种加速方式可以很好地利用HTTP缓存。但它只支持代理HTTP协议的TCP连接,无法代理所有TCP连接。
IPTABLE:一种网络防火墙,在LINUX下使用,可以实现NAT转换和上网代理。
VPNSERVICE:Android系统下,Google提供的用于实现VPN的应用层开发接口,用于提供在公用网络上建立专用网络的服务。
SQUID:是一个流行的自由软件,它符合GNU通用公共许可证,可以用于作为网页服务器的前置cache服务器,可以代理用户向web服务器请求数据并进行缓存,也可以用在局域网中,使局域网用户通过代理上网。
根据本发明实施例,提供了一种访问请求的处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的访问请求的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收用户终端发送的用于访问源服务器的访问请求。
在用户终端上使用全局代理,通过全局代理将用户终端的访问请求(如TCP数据包)导流到加速服务器,步骤S102中接收访问请求的装置即加速服务器。
步骤S104,判断访问请求对应的通讯协议是否为预设协议。
通过判断通讯协议是否为预设协议来确定源服务器与用户终端之间的数据流向,从而可以根据数据流向来确定是否属于可以加速的情况。
步骤S106,若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端,其中,目标数据为访问请求所请求的数据。
在通讯协议为预设协议的情况下,则可以确定数据流向满足属于加速的情况,断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端的全局代理(即本地代理),全局代理将目标数据转发至发起访问请求的应用程序。
需要说明的是,满足预设协议的要求的TCP连接即可缓存的TCP连接,预设协议可以是访问请求中包含CONNECT命令(即访问请求的加速协议为HTTP-CONNECT协议)时,访问请求所对应的HTTP通讯协议(即HTTP协议);全局代理是REDSOCKS,或者基于REDSOCKS的其他工具,如shadowSOCKS;导流方式分两种情况,在拥有系统的root权限时用iptables以配合实现导流,无root权限时使用vpnservice以配合实现导流;加速服务器采用SQUID服务器;用户终端可以是局域网的电脑,也可以是开放式网络中的各种上网终端,如手机、平板、PAD、电视盒子等。在本申请实施例中的用户终端可以是手机终端,加速服务器可以是SQUID服务器。
需要进一步说明的是,现在的网络访问大多是通过HTTP协议实现的,且目前的基于HTTP的全局代理和加速服务器支持HTTP-RELAY和HTTP-CONNECT两种方式的加速协议,在HTTP-RELAY的加速方式下,既可以实现对流量的动态加速,也可以实现缓存加速,但是在HTTP-CONNECT的加速方式下,只能实现动态加速,而不能实现缓存加速。
在本发明的实施例中,全局代理将访问请求导向SQUID服务器,SQUID服务器在加速协议为HTTP-CONNECT协议的情况下,监测手机终端与源服务器之间的通讯数据包(即TCP连接传输数据),若检测到该通讯数据包不是HTTP协议的数据包则按照现有技术中的加速方式加速,若检测到该通讯数据包是HTTP协议的数据包,并且访问请求已缓存有对应的目标数据的情况下,SQUID服务器断开与源服务器的连接,直接将目标数据返回至手机终端,如果没有目标数据,SQUID服务器则根据访问请求从源服务器读取目标数据,并将目标数据返回至手机终端,同时还可以将目标数据存入SQUID服务器的数据库。
可选地,可以修改SQUID服务器的服务程序内部的状态机,从而使其在HTTP-CONNECT协议下支持缓存加速的功能。
通过上述实施例,利用加速服务器接收用户终端的访问请求,并在访问请求对应的通讯协议为预设协议的情况下,断开其与源服务器的连接,直接将其保存的访问请求对应的目标数据返回至用户终端。采用本发明,解决了现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题,实现了提高加速服务器的加速效率的效果。
在本发明的一个可选的实施例中,判断访问请求对应的通讯协议是否为预设协议可以包括:在用户终端与加速服务器建立连接之后,判断访问请求的请求命令是否为预设命令;若请求命令为预设命令,则建立加速服务器与源服务器之间的连接,并获取源服务器与用户终端之间的通讯数据包;判断通讯数据包的通讯协议是否为预设协议,以判断访问请求对应的通讯协议是否为预设协议。
在上述实施例中,判断通讯数据包的通讯协议是否为预设协议可以包括:判断获取到的第一个通讯数据包的来源是否为用户终端;若第一个通讯数据包的来源为用户终端,则判断第一个通讯数据包的协议特征是否符合HTTP协议的特征;若第一个通讯数据包的协议特征为符合HTTP协议的特征,则确定通讯数据包的通讯协议为预设协议。
下面结合图2详述本发明的实施例,如图2所示,本发明实施例可以通过如下步骤实现:
步骤S202,接收访问请求。
该步骤与步骤S102的实现方式相同,具体是手机终端的全局代理截取手机终端的应用发起的访问请求并将访问请求发送到SQUID服务器,该接收访问请求的加速服务器即SQUID服务器。
步骤S204,区分访问请求的加速协议。
SQUID服务器判断访问请求的请求命令是否是预设命令,若请求命令是CONNECT命令则确定加速协议为HTTP-CONNECT,执行步骤S206;若请求命令是GET、POST、PUT等命令,则确定加速协议为HTTP-RELAY,则执行步骤S222。
通过上述实施例,对加速服务器进行改造,以使其支持在HTTP-CONNECT协议下的缓存功能,从而使加速服务器支持更多的加速类型,为用户节省流量,提高加速效率。
步骤S206,连接至源服务器。
在确定加速协议为HTTP-CONNECT之后,建立SQUID服务器(即加速服务器)与源服务器之间的连接,然后“收包”,即截取源服务器与手机终端之间的通讯数据包,截取该通讯数据包的目的在于获取手机终端与源服务器之间的数据流向,只有数据流向满足加速的要求时才能实现对访问请求的加速。
需要说明的是,在执行CONNECT命令之后,用户终端和源服务器都可能发包给代理服务器,这取决于具体应用的实现,如基于HTTP协议的通讯是用户终端先发包给源服务器,而在某公司的局域网中,局域网的私有协议可能要求源服务器先发包给用户终端,因此,在建立SQUID服务器与源服务器之间的连接之后,需要判断通讯数据包的来源,以支持者两种情况下的加速。
步骤S208,判断通讯数据包的来源。
收到通讯数据包的时候,可以通过通讯数据包的IP头部获取源地址,源地址包含通讯数据包的来源的地址信息,因此可以通过源地址确定出通讯数据包的来源。在通讯数据包来自于手机终端(即图2中示出的“用户终端”)时,确定数据流向满足加速的要求,即该访问请求可以加速,则执行步骤S212;在通讯数据包来自于源服务器时,确定数据流向不满足加速的要求,则执行步骤S210。
可选地,在判断获取到的第一个通讯数据包的来源是否为用户终端之后,处理方法可以包括:若第一个通讯数据包的来源不为用户终端,则从源服务器获取目标数据。
本发明的上述实施例可以通过如图2所示的步骤S210实现。
步骤S210,正常流程。
该正常流程包括:根据访问请求中的访问地址直接访问源服务器,并从源服务器读取访问请求所请求的数据,然后将读取到的数据返回至手机终端。
可选地,可以使用动态加速功能为用户寻找最合适的代理服务器以提高用户的网络访问速度和稳定性,从而实现对该访问请求的加速。
步骤S212,判断通讯数据包是否符合HTTP协议特征。
SQUID服务器判断通讯数据包的协议特征是否符合HTTP协议的特征,若是则执行步骤S214,否则执行步骤S210。
可选地,在TCP连接中,可以加速的数据包括HTTP数据和FTP数据,因此,在访问请求对应的协议特征符合FTP协议的特征时,也可以利用缓存加速功能对该访问请求加速。
在本发明的另一个可选地实施例中,若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端可以包括:判断加速服务器的数据库中是否缓存有目标数据;若数据库中缓存有目标数据,则判断目标数据的缓存时间是否超过预设时间;若缓存时间没有超过预设时间,则断开加速服务器与源服务器的连接,并将从数据库中读取到的目标数据发送至用户终端;若数据库中不存在目标数据或缓存时间超过预设时间,则从源服务器获取目标数据。
可选地,在从源服务器获取目标数据之后,处理方法还可以包括:将目标数据存储至数据库。
本发明的实施例可以通过图2所示的如下步骤实现。
步骤S214,判断加速服务器是否存在目标数据。
SQUID服务器判断其数据库是否存在访问请求所对应的目标数据,若存在则执行步骤S216,否则执行步骤S210。
步骤S216,判断目标数据的缓存时间是否超过预设时间。
SQUID服务器判断目标数据的缓存时间是否超过预设时间,其中,预设时间可以是1秒、10秒、30秒或者源站指定的超时时间。若超过预设时间则执行步骤S210,否则执行步骤S218。
步骤S218,断开与源服务器的连接,返回目标数据。
由于已经判断出SQUID服务器的数据库存在访问请求所对应的目标数据,且目标数据是有效的(即目标数据的缓存时间在预设时间以内),则不需要从源服务器读取访问请求所请求的数据,因此可以断开SQUID服务器与源服务器的连接,直接将SQUID服务器本地的目标数据返回至用户终端。
通过上述实施例,对TCP加速服务器(如SQUID服务器)进行改进,以使其在加速TCP连接时具备支持HTTP数据的缓存加速功能,能够节省TCP加速服务器的带宽,以使TCP加速服务器为更多的用户提供加速服务,还能为用户节省成本。
步骤S220,用户终端接收目标数据。
手机终端(即用户终端)的全局代理接收SQUID服务器下发的目标数据,并将目标数据转发至发起访问请求的应用程序。
可选地,图2示出的实施例还包括如下步骤:
步骤S222,判断加速服务器是否存在目标数据。
若加速协议中包含GET、POST、PUT等命令,则确定加速协议为HTTP-RELAY,此时,加速服务器判断其数据库是否存在访问请求所对应的目标数据,若存在目标数据则执行步骤S224,否则执行步骤S226。
步骤S224,判断目标数据缓存时间是否超过预设时间。
判断目标数据的缓存时间是否超过预设时间,若目标数据的缓存时间超过预设时间则执行步骤S226,否则执行步骤S228。
步骤S226,回源处理。
该回源处理是指:SQUID服务器(即加速服务器)根据访问请求访问源服务器,并从源服务器读取访问请求所请求的数据(即目标数据)。
步骤S228,返回目标数据。
SQUID服务器将其数据库中与访问请求对应的目标数据返回至手机终端。
步骤S230,返回访问请求所请求的数据。
在根据访问请求访问源服务器之后,SQUID服务器将源服务器中的访问请求所请求的数据(即目标数据)返回至手机终端。
通过上述实施例,可以利用本发明的加速服务器实现在HTTP-CONNECT加速协议和HTTP-RELAY加速协议下的数据缓存功能,从而能够在用户访问网站时直接从加速服务器读取缓存数据,而不必访问源服务器,实现了对所有TCP连接的加速功能,为用户节省流量,同时也提高了加速服务器的加速效率。
在本发明的另一个可选地实施例中,在从源服务器获取目标数据之后,处理方法还可以包括:将目标数据存储至数据库。
具体地,若在加速服务器上不存在访问请求的目标数据,则需要直接从源服务器获取访问请求所请求的数据,在将该数据返回至用户终端之后可以将该数据存储至加速服务器的数据库;也可以在将该数据返回至用户终端的同时将该数据存储至加速服务器的数据库。
通过上述步骤,在从源服务器获取到访问请求所请求的数据之后将该数据缓存至数据库,可以为后续访问该资源的用户提供目标数据,从而节省用户的流量,提高加速服务器的加速效率。
在本发明的实施例中,提高加速服务器的加速效率主要体现在以下两个方面:其一是用户不必通过源服务器来获取数据,而只需通过部署在更近、更容易连接成功的加速服务器来直接获取缓存的目标数据,可以提高连接成功率和稳定性;另外,若存在访问请求对应的目标数据,则加速服务器就不需要为该访问请求建立与源服务器的数据通道,从而更加有效地节省加速服务器的带宽资源,为更多的用户提供加速服务。
本发明实施例还提供了一种访问请求的处理装置。需要说明的是,本发明实施例的访问请求的处理装置可以用于执行本发明实施例所提供的访问请求的处理方法,本发明实施例的访问请求的处理方法也可以通过本发明实施例所提供的访问请求的处理装置来执行。
图3是根据本发明实施例的访问请求的处理装置的示意图。如图3所示,该处理装置可以包括:接收模块10、第一判断模块20以及第一发送模块30。
其中,接收模块,用于接收用户终端发送的用于访问源服务器的访问请求;第一判断模块,用于判断访问请求对应的通讯协议是否为预设协议;第一发送模块,用于若通讯协议为预设协议,则断开加速服务器与源服务器的连接,并将缓存于加速服务器中的目标数据发送至用户终端,其中,目标数据为访问请求所请求的数据。
在用户终端上使用全局代理,通过全局代理将用户终端的访问请求(如TCP数据包)导流到加速服务器;通过判断通讯协议是否为预设协议来确定源服务器与用户终端之间的数据流向,从而可以根据数据流向来确定是否属于可以加速的情况;在通讯协议为预设协议的情况下,则可以确定数据流向满足属于加速的情况,断开加速服务器与源服务器的连接,并将从加速服务器中读取到的目标数据发送至用户终端的全局代理(即本地代理),全局代理将目标数据转发至发起访问请求的应用程序。
通过上述实施例,利用加速服务器接收用户终端的访问请求,并在访问请求对应的通讯协议为预设协议的情况下,断开其与源服务器的连接,直接将其保存的访问请求对应的目标数据返回至用户终端。采用本发明,解决了现有技术中不能对可缓存的TCP连接进行缓存加速的技术问题,实现了提高加速服务器的加速效率的效果。
在本发明的一个可选地实施例中,第一判断模块可以包括:第二判断模块,用于在用户终端与加速服务器建立连接之后,判断访问请求的请求命令是否为预设命令;第一获取模块,用于若请求命令为预设命令,则建立加速服务器与源服务器之间的连接,并获取源服务器与用户终端之间的通讯数据包;第三判断模块,用于判断通讯数据包的通讯协议是否为预设协议,以判断访问请求对应的通讯协议是否为预设协议。
通过上述实施例,对TCP加速服务器进行改造,以使其支持在HTTP-CONNECT协议下的缓存功能,从而使加速服务器支持更多的加速类型,为用户节省流量,提高加速效率。
在上述实施例中,第三判断模块可以包括:第四判断模块,用于判断获取到的第一个通讯数据包的来源是否为用户终端;第五判断模块,用于若第一个通讯数据包的来源为用户终端,则判断第一个通讯数据包的协议特征是否符合HTTP协议的特征;确定模块,用于若第一个通讯数据包的协议特征为符合HTTP协议的特征,则确定通讯数据包的通讯协议为预设协议。
通过上述实施例,可以通过判断通讯数据包的协议特征来判断出访问请求的通讯协议是否属于可以加速的预设协议。
可选地,处理装置还可以包括:第二获取模块,用于在判断获取到的第一个通讯数据包的来源是否为用户终端之后,若第一个通讯数据包的来源不为用户终端,则从源服务器获取目标数据。
可选地,第一发送模块可以包括:第六判断模块,用于判断加速服务器的数据库中是否缓存有目标数据;第七判断模块,用于若数据库中缓存有目标数据,则判断目标数据的缓存时间是否超过预设时间;第二发送模块,用于若缓存时间没有超过预设时间,则断开加速服务器与源服务器的连接,并将从数据库中读取到的目标数据发送至用户终端;第三获取模块,用于若数据库中不存在目标数据或缓存时间超过预设时间,则从源服务器获取目标数据。
通过上述实施例,在存在目标数据的情况下,判断目标数据的缓存时间,可以防止将过期数据返回至用户终端。
在本发明的另一个可选地实施例中,处理装置还可以包括:存储模块,用于在从源服务器获取目标数据之后,将目标数据存储至数据库。
通过上述步骤,在从源服务器获取到访问请求所请求的数据之后将该数据缓存至数据库,可以为后续访问该资源的用户提供目标数据,从而节省用户的流量,提高加速服务器的加速效率。
可选地,本发明还提供了一种加速服务器,该加速服务器包括上述访问请求的处理装置。
要说明一点,现有的针对HTTP的加速方法包括利用CDN技术进行加速,但是CDN技术无法加速所有TCP连接(包括可缓存的TCP连接);而在针对TCP连接的加速方法中均是采用的动态加速,而不能实现缓存加速。若采用本申请的方法对加速服务器进行改造,即可实现对可缓存的TCP连接的加速,从而解决现有技术中CDN技术不能对可缓存的TCP连接加速和针对TCP连接的加速方法中只能进行动态加速的问题,进而节省源服务器和加速服务器的带宽,并降低源服务器的负荷。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种访问请求的处理方法,其特征在于,包括:
接收用户终端发送的用于访问源服务器的访问请求;
判断所述访问请求对应的通讯协议是否为预设协议;
若所述通讯协议为所述预设协议,则断开加速服务器与所述源服务器的连接,并将缓存于所述加速服务器中的目标数据发送至所述用户终端,
其中,所述目标数据为所述访问请求所请求的数据。
2.根据权利要求1所述的处理方法,其特征在于,判断所述访问请求对应的通讯协议是否为预设协议包括:
在所述用户终端与所述加速服务器建立连接之后,判断所述访问请求的请求命令是否为预设命令;
若所述请求命令为所述预设命令,则建立所述加速服务器与所述源服务器之间的连接,并获取所述源服务器与所述用户终端之间的通讯数据包;
判断所述通讯数据包的通讯协议是否为所述预设协议,以判断所述访问请求对应的通讯协议是否为所述预设协议。
3.根据权利要求2所述的处理方法,其特征在于,判断所述通讯数据包的通讯协议是否为所述预设协议包括:
判断获取到的第一个所述通讯数据包的来源是否为所述用户终端;
若第一个所述通讯数据包的来源为所述用户终端,则判断第一个所述通讯数据包的协议特征是否符合HTTP协议的特征;
若第一个所述通讯数据包的协议特征为符合所述HTTP协议的特征,则确定所述通讯数据包的通讯协议为所述预设协议。
4.根据权利要求3所述的处理方法,其特征在于,在判断获取到的第一个所述通讯数据包的来源是否为所述用户终端之后,所述处理方法包括:
若第一个所述通讯数据包的来源不为所述用户终端,则从所述源服务器获取所述目标数据。
5.根据权利要求1所述的处理方法,其特征在于,若所述通讯协议为所述预设协议,则断开加速服务器与所述源服务器的连接,并将缓存于所述加速服务器中的目标数据发送至所述用户终端包括:
判断所述加速服务器的数据库中是否缓存有所述目标数据;
若所述数据库中缓存有所述目标数据,则判断所述目标数据的缓存时间是否超过预设时间;
若所述缓存时间没有超过所述预设时间,则断开所述加速服务器与所述源服务器的连接,并将从所述数据库中读取到的所述目标数据发送至所述用户终端;
若所述数据库中不存在所述目标数据或所述缓存时间超过所述预设时间,则从所述源服务器获取所述目标数据。
6.根据权利要求4或5所述的处理方法,其特征在于,在从所述源服务器获取所述目标数据之后,所述处理方法还包括:将所述目标数据存储至所述数据库。
7.根据权利要求2所述的处理方法,其特征在于,所述预设命令为CONNECT命令。
8.一种访问请求的处理装置,其特征在于,包括:
接收模块,用于接收用户终端发送的用于访问源服务器的访问请求;
第一判断模块,用于判断所述访问请求对应的通讯协议是否为预设协议;
第一发送模块,用于若所述通讯协议为所述预设协议,则断开加速服务器与所述源服务器的连接,并将缓存于所述加速服务器中的目标数据发送至所述用户终端,
其中,所述目标数据为所述访问请求所请求的数据。
9.根据权利要求8所述的处理装置,其特征在于,所述第一判断模块包括:
第二判断模块,用于在所述用户终端与所述加速服务器建立连接之后,判断所述访问请求的请求命令是否为预设命令;
第一获取模块,用于若所述请求命令为所述预设命令,则建立所述加速服务器与所述源服务器之间的连接,并获取所述源服务器与所述用户终端之间的通讯数据包;
第三判断模块,用于判断所述通讯数据包的通讯协议是否为所述预设协议,以判断所述访问请求对应的通讯协议是否为所述预设协议。
10.根据权利要求9所述的处理装置,其特征在于,所述第三判断模块包括:
第四判断模块,用于判断获取到的第一个所述通讯数据包的来源是否为所述用户终端;
第五判断模块,用于若第一个所述通讯数据包的来源为所述用户终端,则判断第一个所述通讯数据包的协议特征是否符合HTTP协议的特征;
确定模块,用于若第一个所述通讯数据包的协议特征为符合所述HTTP协议的特征,则确定所述通讯数据包的通讯协议为所述预设协议。
11.根据权利要求10所述的处理装置,其特征在于,所述处理装置包括:
第二获取模块,用于在判断获取到的第一个所述通讯数据包的来源是否为所述用户终端之后,若第一个所述通讯数据包的来源不为所述用户终端,则从所述源服务器获取所述目标数据。
12.根据权利要求8所述的处理装置,其特征在于,所述第一发送模块包括:
第六判断模块,用于判断所述加速服务器的数据库中是否缓存有所述目标数据;
第七判断模块,用于若所述数据库中缓存有所述目标数据,则判断所述目标数据的缓存时间是否超过预设时间;
第二发送模块,用于若所述缓存时间没有超过所述预设时间,则断开所述加速服务器与所述源服务器的连接,并将从所述数据库中读取到的所述目标数据发送至所述用户终端;
第三获取模块,用于若所述数据库中不存在所述目标数据或所述缓存时间超过所述预设时间,则从所述源服务器获取所述目标数据。
13.根据权利要求11或12所述的处理装置,其特征在于,所述处理装置还包括:
存储模块,用于在从所述源服务器获取所述目标数据之后,将所述目标数据存储至所述数据库。
14.一种加速服务器,其特征在于,包括:权利要求8至13中任意一项所述的访问请求的处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510316276.5A CN104994079B (zh) | 2015-06-10 | 2015-06-10 | 访问请求的处理方法和装置、加速服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510316276.5A CN104994079B (zh) | 2015-06-10 | 2015-06-10 | 访问请求的处理方法和装置、加速服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104994079A true CN104994079A (zh) | 2015-10-21 |
CN104994079B CN104994079B (zh) | 2018-09-07 |
Family
ID=54305831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510316276.5A Expired - Fee Related CN104994079B (zh) | 2015-06-10 | 2015-06-10 | 访问请求的处理方法和装置、加速服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104994079B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824707A (zh) * | 2016-04-21 | 2016-08-03 | 乐视控股(北京)有限公司 | 一种流媒体服务多进程的合并回源方法及设备 |
CN107302456A (zh) * | 2017-06-22 | 2017-10-27 | 深圳市丰巨泰科电子有限公司 | 一种数据处理的方法及装置 |
CN107707373A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种基于api请求的动态资源访问加速方法 |
CN107707593A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种提高缓存命中率的动态资源访问加速方法及装置 |
CN109120696A (zh) * | 2018-08-17 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 用于发送数据的方法和装置 |
CN109450991A (zh) * | 2018-10-19 | 2019-03-08 | 网宿科技股份有限公司 | 基于移动应用的数据传输加速方法、相关设备和加速系统 |
CN109902103A (zh) * | 2019-01-17 | 2019-06-18 | 平安城市建设科技(深圳)有限公司 | 业务数据管理方法、装置、设备及计算机可读存储介质 |
CN110113440A (zh) * | 2019-04-15 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种请求响应方法、装置及终端 |
CN110535961A (zh) * | 2019-09-03 | 2019-12-03 | 中国联合网络通信集团有限公司 | 资源获取方法、装置、电子设备和存储介质 |
CN111770077A (zh) * | 2020-06-24 | 2020-10-13 | 亦非云互联网技术(上海)有限公司 | 基于边缘计算虚拟专网的数据分发方法、系统、介质及装置 |
CN111935299A (zh) * | 2020-08-19 | 2020-11-13 | 南阳理工学院 | 一种通讯设备 |
CN112953808A (zh) * | 2021-03-05 | 2021-06-11 | 网宿科技股份有限公司 | Vpn数据传输方法、装置及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000019326A1 (fr) * | 1998-09-29 | 2000-04-06 | Fujitsu Limited | Procede et dispositif de traitement de demandes d'acces |
CN101022400A (zh) * | 2007-03-16 | 2007-08-22 | 杭州华为三康技术有限公司 | 一种实现网络存储系统的资源分配方法及装置 |
CN103516785A (zh) * | 2013-08-19 | 2014-01-15 | 上海艾泰网络信息有限公司 | 网页代理系统及其通信方法 |
CN103546575A (zh) * | 2013-10-30 | 2014-01-29 | 乐视致新电子科技(天津)有限公司 | 一种数据传输方法及装置 |
CN104580192A (zh) * | 2014-12-31 | 2015-04-29 | 网宿科技股份有限公司 | 应用程序的网络访问请求的处理方法和装置 |
-
2015
- 2015-06-10 CN CN201510316276.5A patent/CN104994079B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000019326A1 (fr) * | 1998-09-29 | 2000-04-06 | Fujitsu Limited | Procede et dispositif de traitement de demandes d'acces |
CN101022400A (zh) * | 2007-03-16 | 2007-08-22 | 杭州华为三康技术有限公司 | 一种实现网络存储系统的资源分配方法及装置 |
CN103516785A (zh) * | 2013-08-19 | 2014-01-15 | 上海艾泰网络信息有限公司 | 网页代理系统及其通信方法 |
CN103546575A (zh) * | 2013-10-30 | 2014-01-29 | 乐视致新电子科技(天津)有限公司 | 一种数据传输方法及装置 |
CN104580192A (zh) * | 2014-12-31 | 2015-04-29 | 网宿科技股份有限公司 | 应用程序的网络访问请求的处理方法和装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824707A (zh) * | 2016-04-21 | 2016-08-03 | 乐视控股(北京)有限公司 | 一种流媒体服务多进程的合并回源方法及设备 |
WO2018153256A1 (zh) * | 2017-02-21 | 2018-08-30 | 贵州白山云科技有限公司 | 一种动态资源访问加速方法、装置、介质及设备 |
CN107707373A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种基于api请求的动态资源访问加速方法 |
CN107707593A (zh) * | 2017-02-21 | 2018-02-16 | 贵州白山云科技有限公司 | 一种提高缓存命中率的动态资源访问加速方法及装置 |
CN107707373B (zh) * | 2017-02-21 | 2018-08-17 | 贵州白山云科技有限公司 | 一种基于api请求的动态资源访问加速方法 |
CN107302456B (zh) * | 2017-06-22 | 2020-10-27 | 常州市小先信息技术有限公司 | 一种数据处理的方法及装置 |
CN107302456A (zh) * | 2017-06-22 | 2017-10-27 | 深圳市丰巨泰科电子有限公司 | 一种数据处理的方法及装置 |
CN109120696A (zh) * | 2018-08-17 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 用于发送数据的方法和装置 |
CN109450991A (zh) * | 2018-10-19 | 2019-03-08 | 网宿科技股份有限公司 | 基于移动应用的数据传输加速方法、相关设备和加速系统 |
CN109902103A (zh) * | 2019-01-17 | 2019-06-18 | 平安城市建设科技(深圳)有限公司 | 业务数据管理方法、装置、设备及计算机可读存储介质 |
CN110113440A (zh) * | 2019-04-15 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种请求响应方法、装置及终端 |
CN110113440B (zh) * | 2019-04-15 | 2022-06-03 | 北京奇艺世纪科技有限公司 | 一种请求响应方法、装置及终端 |
CN110535961A (zh) * | 2019-09-03 | 2019-12-03 | 中国联合网络通信集团有限公司 | 资源获取方法、装置、电子设备和存储介质 |
CN110535961B (zh) * | 2019-09-03 | 2022-01-28 | 中国联合网络通信集团有限公司 | 资源获取方法、装置、电子设备和存储介质 |
CN111770077A (zh) * | 2020-06-24 | 2020-10-13 | 亦非云互联网技术(上海)有限公司 | 基于边缘计算虚拟专网的数据分发方法、系统、介质及装置 |
CN111770077B (zh) * | 2020-06-24 | 2022-07-12 | 亦非云互联网技术(上海)有限公司 | 基于边缘计算虚拟专网的数据分发方法、系统、介质及装置 |
CN111935299A (zh) * | 2020-08-19 | 2020-11-13 | 南阳理工学院 | 一种通讯设备 |
CN111935299B (zh) * | 2020-08-19 | 2022-09-20 | 南阳理工学院 | 一种通讯设备 |
CN112953808A (zh) * | 2021-03-05 | 2021-06-11 | 网宿科技股份有限公司 | Vpn数据传输方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN104994079B (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104994079A (zh) | 访问请求的处理方法和装置、加速服务器 | |
CN104580192B (zh) | 应用程序的网络访问请求的处理方法和装置 | |
CN108200165B (zh) | 请求传输系统、方法、装置及存储介质 | |
US9426767B2 (en) | Method, gateway, proxy and system for implementing mobile internet services | |
CN102790798B (zh) | 一种内容分发网络中透明代理实现方法、设备及系统 | |
CN104009938A (zh) | 基于路由层面的长连接的方法和系统 | |
CN103250462A (zh) | 用于实现移动电信网络中的业务加速的方法 | |
CN104967613B (zh) | 一种移动网络环境下数据传输的系统和方法 | |
CN101877710A (zh) | 代理网关防病毒实现方法、预分类器和代理网关 | |
CN107222561A (zh) | 一种传输层反向代理方法 | |
CN102845123A (zh) | 虚拟私云的连接方法及隧道代理服务器 | |
CN102891807A (zh) | 一种基于主动引导的网络流量缓存方法及系统 | |
CN104010001B (zh) | 移动终端中同类联网请求进行连接通信的方法和系统 | |
CN108390955A (zh) | 域名获取方法、网站访问方法及服务器 | |
CN104243506A (zh) | 浏览器重定向方法及装置 | |
CN105338072A (zh) | 一种http重定向方法及路由设备 | |
CN103401946A (zh) | Http上传加速方法和系统 | |
CN106850384A (zh) | 一种实现访问不同局域网内设备的方法及移动终端 | |
WO2017107795A1 (zh) | 一种网站访问加速方法及装置 | |
US20030225873A1 (en) | Optimization of network performance through uni-directional encapsulation | |
CN104980461A (zh) | 页面推送方法、装置、服务器和集中式网络管理控制器 | |
CN106161561A (zh) | 一种实现区分服务的方法、装置及负载均衡服务器 | |
CN105610945A (zh) | 一种搜索流量入口本地化处理方法及装置 | |
CN111163180B (zh) | 一种基于sdn的lte网络高效缓存方法及系统 | |
CN103636252A (zh) | 数据包的处理方法和系统及设备 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180907 |
|
CF01 | Termination of patent right due to non-payment of annual fee |