CN110795656A - 一种基于分光技术的http缓存方法 - Google Patents
一种基于分光技术的http缓存方法 Download PDFInfo
- Publication number
- CN110795656A CN110795656A CN201911060173.1A CN201911060173A CN110795656A CN 110795656 A CN110795656 A CN 110795656A CN 201911060173 A CN201911060173 A CN 201911060173A CN 110795656 A CN110795656 A CN 110795656A
- Authority
- CN
- China
- Prior art keywords
- http
- cache
- resources
- server
- web server
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种基于分光技术的HTTP缓存方法,包括以下步骤:用户需要访问网络上的资源时,浏览器发送HTTP请求;用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;分光的HTTP请求数据报文先到达缓存服务器;交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;浏览器对WEB服务器返回的HTTP响应进行处理。本发明通过分光技术把用户的上行流量复制一份到后台进行分析,因为不会直接拦截用户的原始流量,对现有网络没有侵入性,部署方便。
Description
技术领域
本发明涉及一种基于分光技术的HTTP缓存方法,属于通信软件技术领域。
背景技术
随着近年来宽带速度大幅提升,大量互联网业务应运而生,特别是在线视频业快速增长,根据相关的统计信息显示,视频业务已经占全球互联网流量的 58%,这对网络带宽带来越来越大的压力。传统方式是通过宽带扩容来解决,但这涉及的巨大的投资,这种方式已经无法适应新形势下企业的发展,必须寻找到新的建设方式满足业务发展需求。
缓存是一种保存资源副本到本地,并在下次请求时直接使用该副本的技术,是一种有效的用存储换带宽的技术,它将热点资源缓存到本地,下次访问时可以直接使用本地资源,从而避免了数据传输,可以有效节省带宽。现有采用较多的是通过标准代理服务器和透明代理服务器进行缓存。
其中一个标准得代理缓存服务器是本地网络中的一个存储web资源的代理服务器。用户浏览器配置代理服务器地址,用户浏览器的所有请求都会先经过代理服务器,代理服务器再把请求转发到web服务器,从web服务器获取资源,再把获取到的资源转发给浏览器。因为所有资源都要经过代理服务器,因此代理服务器很容易实现缓存功能,从web服务器获取到资源后除了转发一份给客户端,还可以缓存一份在本地。这样当资源被请求时,代理服务器可以查询资源是否有被缓存,如果有缓存,代理服务器直接返回缓存的资源,而不用从web 服务器获取,从而达到减少带宽的目的。但是存在以下缺点:1、需要在用户的浏览器上明确设置代理服务器的地址,由于需要用户配置浏览器,需要一一通知用户,用户量大之后,工作量巨大;2、由于所有用户的HTTP请求都会到代理服务器,导致代理服务器压力巨大;3、代理服务器成为一个关键节点,一旦服务器宕机,所有用户都会受到影响。
其中一个透明的代理所要实现的功能和一个标准代理是一样的,但是它对于浏览器的操作是透明的。浏览器不需要明确的配置使用代理服务器。取而代之的是透明代理将截获网络通讯,并且将在80端口的HTTP通讯过滤出来。如果被过滤出来的请求存在于透明代理服务器的缓存中,那么它将缓存的资源直接返回给客户端;如果缓存中没有,那么这个请求报文将发给WEB服务器。在 Linux下透明代理一般是通过iptables和ipchains来截获网络通讯的。透明代理被ISPs(Internet服务提供者)大量的使用,这是因为他们需要无浏览器设置的模式,也存在以下缺点:1、因为是直接劫持用户的HTTP请求,因此对现有网络有侵入性,需要改造现有网络,前期工作量比较大。2、因为是直接劫持用户的请求,代理服务器就成了关键节点,一旦宕机,所有用户都会受到影响。
发明内容
针对上述问题,本发明主要是克服现有技术中的不足之处,提出一种基于分光技术的HTTP缓存方法。
本发明解决上述技术问题所提供的技术方案是:一种基于分光技术的HTTP 缓存方法,包括以下步骤:
S1、用户需要访问网络上的资源时,浏览器发送HTTP请求;
S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;
S3、分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;
若有缓存,则返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;
若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;
S4、交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;
S5、浏览器对WEB服务器返回的HTTP响应进行处理;
若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的 HTTP响应;
若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。
进一步的技术方案是,所述步骤S3中缓存更新流程包括以下步骤:
步骤A、尝试从WEB服务器上下载用户HTTP请求的资源到缓存服务器;
步骤B、使用HTTP协议提供的HEAD请求,从WEB服务器获取到资源的大小;
步骤C、检查缓存服务器的存储空间,并WEB服务器上下载资源,完成资源的缓存;
步骤D、资源完成缓存后,下一次用户再请求同一个资源时,就可以直接返回缓存的资源,而不需要从WEB服务器上下载。
进一步的技术方案是,所述步骤C中检查缓存服务器的存储空间中,若有存储空间足够,则直接从WEB服务器上下载资源,完成资源的缓存;如果存储空间不够,则通过LRU算法找到使用最少的资源并清理掉,直到存储空间满足新资源的下载要求。
进一步的技术方案是,所述LRU算法的具体过程为:缓存服务器内的所有资源通过一个列表来管理,当缓存服务器的存储空间不足时,将列表尾部的数据丢弃。
进一步的技术方案是,所述列表中数据的排列是根据数据的缓存下载、缓存命中时间从列表头部到尾部进行排列,其中列表头部的数据是最新的数据,列表尾部的数据是最久的数据。
本发明具有以下有益效果:
1、当前网络上的流量大部分是HTTP流量,实现HTTP缓存后可以节省大量带宽;
2、由于缓存系统通过旁路实现,对现有系统没有侵入性,用户可以很方便的在现有网络中快速部署;
3、由于通过旁路实现,缓存系统不是整个系统的关键节点,用户不用担心缓存系统宕机,影响整个系统的稳定性;
4、由于对用户透明,不需要具体用户进行任何设置操作,因此运维方便。
附图说明
图1为本发明系统的结构示意图;
图2为本发明的流程框图;
图3为本发明中步骤S3的流程框图;
图4为缓存服务器中数据列表示意图。
具体实施方式
下面结合实施例和附图对本发明做更进一步的说明。
本发明使用的系统如图1所示,整个系统主要包含两个部分,交换机和缓存服务器。交换机需要实现分光功能,把来自用户的上行流量复制一份给缓存服务器。
如图2所示,本发明的一种基于分光技术的HTTP缓存方法,包括以下步骤:
S1、用户需要访问网络上的资源时,打开浏览器并输入资源地址,通过浏览器给交换机发送HTTP请求;
S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;
S3、因为缓存服务器设置在本地,因此分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;若有缓存,则直降向浏览器返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;
S4、因为WEB服务器离用户较远,因此交换机发送的HTTP请求数据报文通过广域网后到达WEB服务器,WEB服务器收到请求后,依次通广域网、交换机向浏览器返回一个相应的HTTP响应;
S5、浏览器对WEB服务器返回的HTTP响应进行处理;若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的HTTP响应;若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。
本实例中如图3所示,所述步骤S3中缓存更新流程包括以下步骤:
步骤A、尝试从WEB服务器上下载用户HTTP请求的资源到缓存服务器;
步骤B、使用HTTP协议提供的HEAD请求,从WEB服务器获取到资源的大小;
步骤C、检查缓存服务器的存储空间,若有存储空间足够,则直接从WEB 服务器上下载资源,完成资源的缓存;如果存储空间不够,则通过LRU算法找到使用最少的资源并清理掉,直到存储空间满足新资源的下载要求,并WEB服务器上下载资源,完成资源的缓存;
步骤D、资源完成缓存后,下一次用户再请求同一个资源时,就可以直接返回缓存的资源,而不需要从WEB服务器上下载。
如图4所示,其中LRU算法的设计原则是如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。
其中所述LRU算法的具体过程为:缓存服务器内的所有资源通过一个列表来管理,当缓存服务器的存储空间不足时,将列表尾部的数据丢弃。列表中数据的排列是根据数据的缓存下载、缓存命中(即缓存数据被访问)时间从列表头部到尾部进行排列,其中列表头部的数据是最新的数据,列表尾部的数据是最久的数据;每当缓存命中(即缓存数据被访问),则将数据移到列表头部。
本发明通过分光技术把用户的上行流量复制一份到后台进行分析,因为不会直接拦截用户的原始流量,对现有网络没有侵入性,部署方便。
因为是复制一份数据,因此缓存服务器不会成为关键节点,就算缓存服务器宕机,用户还是可以直接从web服务器获取到数据,系统可靠性高。
对用户透明,用户不需要在浏览器上明确配置缓存服务器的地址,用户感知不到缓存服务器的存在,方便运维。
以上所述,并非对本发明作任何形式上的限制,虽然本发明已通过上述实施例揭示,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些变动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (5)
1.一种基于分光技术的HTTP缓存方法,其特征在于,包括以下步骤:
S1、用户需要访问网络上的资源时,浏览器发送HTTP请求;
S2、用户的HTTP请求到达交换机,交换机一方面把数据报文发送至保存了相关资源的WEB服务器;另外还复制了一份数据报文,发送至缓存服务器;
S3、分光的HTTP请求数据报文先到达缓存服务器,缓存服务器查询用户的HTTP请求的资源是否在缓存服务器内有缓存;
若有缓存,则返回一个302跳转的HTTP响应,浏览器收到跳转响应后,从缓存服务器下载资源;
若没有缓存,则缓存服务器丢弃用户的HTTP请求,也不回复任何响应;同时开始进行缓存更新流程;
S4、交换机发送的HTTP请求数据报文后到达WEB服务器,WEB服务器收到请求后,返回一个相应的HTTP响应;
S5、浏览器对WEB服务器返回的HTTP响应进行处理;
若浏览器已经收到缓存服务器的HTTP响应,则丢弃WEB服务器返回的HTTP响应;
若浏览器未收到缓存服务器的HTTP响应,则浏览器从WEB服务器上获取资源。
2.根据权利要求1所述的一种基于分光技术的HTTP缓存方法,其特征在于,所述步骤S3中缓存更新流程包括以下步骤:
步骤A、尝试从WEB服务器上下载用户HTTP请求的资源到缓存服务器;
步骤B、使用HTTP协议提供的HEAD请求,从WEB服务器获取到资源的大小;
步骤C、检查缓存服务器的存储空间,并WEB服务器上下载资源,完成资源的缓存;
步骤D、资源完成缓存后,下一次用户再请求同一个资源时,就可以直接返回缓存的资源,而不需要从WEB服务器上下载。
3.根据权利要求2所述的一种基于分光技术的HTTP缓存方法,其特征在于,所述步骤C中检查缓存服务器的存储空间中,若有存储空间足够,则直接从WEB服务器上下载资源,完成资源的缓存;如果存储空间不够,则通过LRU算法找到使用最少的资源并清理掉,直到存储空间满足新资源的下载要求。
4.根据权利要求3所述的一种基于分光技术的HTTP缓存方法,其特征在于,所述LRU算法的具体过程为:缓存服务器内的所有资源通过一个列表来管理,当缓存服务器的存储空间不足时,将列表尾部的数据丢弃。
5.根据权利要求4所述的一种基于分光技术的HTTP缓存方法,其特征在于,所述列表中数据的排列是根据数据的缓存下载、缓存命中时间从列表头部到尾部进行排列,其中列表头部的数据是最新的数据,列表尾部的数据是最久的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060173.1A CN110795656A (zh) | 2019-11-01 | 2019-11-01 | 一种基于分光技术的http缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060173.1A CN110795656A (zh) | 2019-11-01 | 2019-11-01 | 一种基于分光技术的http缓存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110795656A true CN110795656A (zh) | 2020-02-14 |
Family
ID=69442452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060173.1A Pending CN110795656A (zh) | 2019-11-01 | 2019-11-01 | 一种基于分光技术的http缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795656A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891807A (zh) * | 2012-07-16 | 2013-01-23 | 北京东方网信科技股份有限公司 | 一种基于主动引导的网络流量缓存方法及系统 |
CN104065766A (zh) * | 2014-07-14 | 2014-09-24 | 北京快易博科技有限公司 | 一种旁路缓存域名解析方法和系统 |
CN104995897A (zh) * | 2013-11-21 | 2015-10-21 | 阿尔卡特朗讯公司 | 用于在ip网络中进行内容缓存和传输的方法、系统和装置 |
CN105745905A (zh) * | 2013-11-22 | 2016-07-06 | 阿尔卡特朗讯公司 | 在网络之内传输和存储内容 |
CN108259528A (zh) * | 2016-12-28 | 2018-07-06 | 华为软件技术有限公司 | 一种资源缓存方法及装置 |
CN108881034A (zh) * | 2018-07-03 | 2018-11-23 | 网宿科技股份有限公司 | 一种应用于bt系统的请求响应方法、设备及系统 |
-
2019
- 2019-11-01 CN CN201911060173.1A patent/CN110795656A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891807A (zh) * | 2012-07-16 | 2013-01-23 | 北京东方网信科技股份有限公司 | 一种基于主动引导的网络流量缓存方法及系统 |
CN104995897A (zh) * | 2013-11-21 | 2015-10-21 | 阿尔卡特朗讯公司 | 用于在ip网络中进行内容缓存和传输的方法、系统和装置 |
CN105745905A (zh) * | 2013-11-22 | 2016-07-06 | 阿尔卡特朗讯公司 | 在网络之内传输和存储内容 |
CN104065766A (zh) * | 2014-07-14 | 2014-09-24 | 北京快易博科技有限公司 | 一种旁路缓存域名解析方法和系统 |
CN108259528A (zh) * | 2016-12-28 | 2018-07-06 | 华为软件技术有限公司 | 一种资源缓存方法及装置 |
CN108881034A (zh) * | 2018-07-03 | 2018-11-23 | 网宿科技股份有限公司 | 一种应用于bt系统的请求响应方法、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8966121B2 (en) | Client-side management of domain name information | |
US9208097B2 (en) | Cache optimization | |
US6981029B1 (en) | System and method for processing a request for information in a network | |
US8082290B2 (en) | Intelligent establishment of peer-to-peer communication | |
US9998533B2 (en) | P2P content caching system and method | |
US6968389B1 (en) | System and method for qualifying requests in a network | |
JP5697675B2 (ja) | データ通信高速化および効率化のためのシステムおよびその方法 | |
Stemm et al. | A network measurement architecture for adaptive applications | |
US8861525B1 (en) | Cloud-based network protocol translation data center | |
US10567332B2 (en) | Content delivery network optimization system | |
US20020112036A1 (en) | Method and apparatus for discovering client proximity | |
EP3563526B1 (en) | System and method for improving proxy server performance using local domain name system (dns) cache and connectivity monitoring | |
JP4629948B2 (ja) | コンテンツ処理サービス制御システム | |
CN109218362B (zh) | 一种互联网内容分发方法、装置和系统 | |
US20170339101A1 (en) | Communication method and communication apparatus | |
EP2343867B1 (en) | System and method of reducing intranet traffic on bottleneck links in a telecommunications network | |
CN103841045A (zh) | 一种互联网缓存处理方法、内容探测子系统和Cache系统 | |
CN103888539A (zh) | P2p缓存的引导方法、装置及p2p缓存系统 | |
CN108989420B (zh) | 注册服务的方法及系统、调用服务的方法及系统 | |
CN103380607B (zh) | Dns客户端地址、rr ttl更新的方法、装置及系统 | |
CN107360095B (zh) | 基于客户端主机名称的端口转发在路由器中的实现方法 | |
WO2013113150A1 (zh) | 缓存优化的方法、缓存器和缓存优化的系统 | |
KR102141444B1 (ko) | 모바일 콘텐트 네트워크에서 데이터 전송 및 수신 장치 및 방법 | |
CN110795656A (zh) | 一种基于分光技术的http缓存方法 | |
US20140089468A1 (en) | Request-agnostic caching for a data resource collection |
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 |