CN108600267A - 一种代理服务器智能缓存方法 - Google Patents

一种代理服务器智能缓存方法 Download PDF

Info

Publication number
CN108600267A
CN108600267A CN201810439227.4A CN201810439227A CN108600267A CN 108600267 A CN108600267 A CN 108600267A CN 201810439227 A CN201810439227 A CN 201810439227A CN 108600267 A CN108600267 A CN 108600267A
Authority
CN
China
Prior art keywords
data
cache
proxy server
value
mset
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
Application number
CN201810439227.4A
Other languages
English (en)
Inventor
梁育翰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xin'an Century Polytron Technologies Inc
Original Assignee
Beijing Xin'an Century Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xin'an Century Polytron Technologies Inc filed Critical Beijing Xin'an Century Polytron Technologies Inc
Priority to CN201810439227.4A priority Critical patent/CN108600267A/zh
Publication of CN108600267A publication Critical patent/CN108600267A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

本发明提出了一种代理服务器智能缓存方法,包括:接收用户的缓存请求,识别所述缓存请求的数据信息,并根据所述数据信息检索内存对应表;根据所述用户的缓存请求数据头中的请求URL标志的关键词,在内存中检索对应的缓存;建立与后台服务器的连接;接收所述后台服务器返回的数据;读取数据进行缓存加工,并将缓存数据送至待发区;将所述待发区的数据发送给用户。本发明可以实现智能识别请求者行为,能够根据请求者的行为判断,自动进行缓存。

Description

一种代理服务器智能缓存方法
技术领域
本发明涉及代理服务器技术领域,特别涉及一种代理服务器智能缓存方法。
背景技术
现有代理服务器在应用过程中均采用被动缓存技术,有请求后才能缓存过期作废,无法智能判断请求者的行为,对缓存数据缺乏智能管理,效率比较低。
发明内容
本发明的目的旨在至少解决所述技术缺陷之一。
为此,本发明的目的在于提出一种代理服务器智能缓存方法。
为了实现上述目的,本发明的实施例提供一种代理服务器智能缓存方法,包括如下步骤:
步骤S1,接收用户的缓存请求,识别所述缓存请求的数据信息,并根据所述数据信息检索内存对应表;
步骤S2,根据所述用户的缓存请求数据头中的请求URL标志的关键词,在内存中检索对应的缓存,如果检索到相应缓存则执行步骤S5,否则执行步骤S3;
步骤S3,建立与后台服务器的连接;
步骤S4,接收所述后台服务器返回的数据,当返回命令为服务器错误时,则返回步骤S3,当返回命令为未修改时,执行步骤S6,当返回命令为成功时,执行步骤S5;
步骤S5,读取数据进行缓存加工,并将缓存数据送至待发区;
步骤S6,将所述待发区的数据发送给用户。
进一步,在所述步骤S1中,识别缓存请求的数据信息包括:请求用户的IP地址、请求方法、请求URI标志。
进一步,在所述步骤S5中,判断收到的返回数据头部,是否包括以下内容:
Cache-Control:max-age=14public;
Expires:Thu Dec 06 2018 08:06:37GMT+0800;
ETag:"a030f020ac7c01:1e9f";
Last-Modified:Tue,17Apr201706:46:28GMT,
当出现任何一个时进入修改数据头后保存修改后新头部和剩余整个数据部分到硬盘中,
其中,修改数据头的原则:
当取到Cache-Control:max-age=14值为14时,存为mset=14;
当取到Expires:项的值即后台WEB服务器的时间,同代理服务器的当前时间相差减为n时,存为mset=n,当n<=0,mset=0;
当取到Cache-Control值后,就不再取Expires的值,当两个都不存在时mset=0;
当仅有last_Modified或etag值,mset取值为0。
进一步,四个数据头部的优先级依次为:
Cache-Control:max-age=14>Expires>Last-Modified>ETag。
进一步,在所述步骤S5中,将数据以下面组合存入缓存中;
Memset(key,value,mset);
Key的值为request_uri,Value的值为后台服务器返回数据头加上返回数据剩余部分;
Mset为上面计算取得的值,即缓存数据的有效时期超过时后自动删除,当值为0时被动删除。
进一步,在所述步骤S5中,存入缓存数据头包含以下项:Content-Type、Last-Modified、ETag、Accept-Ranges。
进一步,缓存成功后,将接收到数据头部中增加时间标识和时间数值。
根据本发明实施例的代理服务器智能缓存方法,可以实现智能识别请求者行为,能够根据请求者的行为判断,自动进行缓存,并智能判断缓存对象的增删改,提高了代理服务器的缓存效率。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的代理服务器智能缓存的流程框图;
图2为根据本发明实施例的代理服务器智能缓存的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1和图2所示,本发明实施例的代理服务器智能缓存方法,包括如下步骤:
步骤S1,接收用户的缓存请求,识别缓存请求的数据信息,并根据数据信息检索内存对应表。具体的,按照不同请求方法和URI通用资源标志符(Uniform ResourceIdentifier,简称URI),检索内存对应表,如无而建立对应表。
在步骤S1中,识别缓存请求的数据信息包括:请求用户的IP地址、请求方法、请求URI标志(request_uri)。
步骤S2,根据用户的缓存请求数据头中的请求URL标志的关键词,在内存中检索对应的缓存,如果检索到相应缓存则执行步骤S5,如果无对应缓存则执行步骤S3。
步骤S3,建立与后台服务器的连接。
步骤S4,接收后台服务器返回的数据,当返回命令为服务器错误,即返回码为50*时,则返回步骤S3,当返回命令为未修改,即返回码为304时,执行步骤S6,当返回命令为成功,即返回码为200时,执行步骤S5。
下面对HTTP响应码进行说明:
5类状态码详细列出:
①客户方错误
100 继续
101 交换协议
② 成功
200 OK
201 已创建
202 接收
203 非认证信息
204 无内容
205 重置内容
206 部分内容
③ 重定向
300 多路选择
301 永久转移
302 暂时转移
303 参见其它
304 未修改(Not Modified)
305 使用代理
④ 客户方错误
400 错误请求(Bad Request)
401 未认证
402 需要付费
403 禁止(Forbidden)
404 未找到(Not Found)
405 方法不允许
406 不接受
407 需要代理认证
408 请求超时
409 冲突
410 失败
411 需要长度
412 条件失败
413 请求实体太大
414 请求URI太长
415 不支持媒体类型
⑤ 服务器错误
500 服务器内部错误
501 未实现(Not Implemented)
502 网关失败
504 网关超时
505 HTTP版本不支持
在本发明的一个实施例中,判断返回数据的共个三分支:
(1)连接后台错误,或返回码为50*标识,返回到步骤S3,重新连接另外一台后台服务器,依次循环,当全部循环后,跳转到步骤S6发给客户端;
(2)返回码为304时,直接跳转到步骤S6发给客户端;
(3)返回码为200时,转至步骤S5阶段。
步骤S5,读取数据进行缓存加工,并将缓存数据送至待发区。
具体的,判断收到的返回数据头部,是否包括以下内容:
Cache-Control:max-age=14public;
Expires:Thu Dec 06 2018 08:06:37GMT+0800;
ETag:"a030f020ac7c01:1e9f";
Last-Modified:Tue,17Apr201706:46:28GMT,
当出现任何一个时进入修改数据头后保存修改后新头部和剩余整个数据部分到硬盘中。
其中,修改数据头的原则:
当取到Cache-Control:max-age=14值为14时,存为mset=14,依据标准http协议格式设置;
当取到Expires:项的值即后台WEB服务器的时间,例如Thu Dec 06 2018 08:06:37GMT+0800,同代理服务器的当前时间相差减为n时,存为mset=n,当n<=0,mset=0;
当取到Cache-Control值后,就不再取Expires的值,当两个都不存在时mset=0;
当仅有last_Modified或etag值,mset取值为0。
在本发明的一个实施例中,四个数据头部的优先级依次为:Cache-Control:max-age=14>Expires>Last-Modified>ETag。
然后,将数据以下面组合存入缓存中;
Memset(key,value,mset);
Key的值为request_uri,Value的值为后台服务器返回数据头加上返回数据剩余部分;
Mset为上面计算取得的值,即缓存数据的有效时期超过时后自动删除,当值为0时被动删除。
在本步骤中,在步骤S5中,存入缓存数据头header包含以下项:Content-Type、Last-Modified、ETag、Accept-Ranges。
当缓存时request_uri为标识存在缓存中数据仍然存在时,删除旧数据,写入新数据。
在本发明的一个实施例中,缓存成功后,将接收到数据头部中增加时间标识和时间数值。
具体的,将接收到数据头部中增加Date:Sat,16Dec 2017 09:03:49GMT,标识和值,如原数据中有Date则进行修改,将修改后的新值放入待发区进入步骤S6。
步骤S6,将待发区的数据发送给用户。
根据本发明实施例的代理服务器智能缓存方法,可以实现智能识别请求者行为,能够根据请求者的行为判断,自动进行缓存,并智能判断缓存对象的增删改,提高了代理服务器的缓存效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

Claims (7)

1.一种代理服务器智能缓存方法,其特征在于,包括如下步骤:
步骤S1,接收用户的缓存请求,识别所述缓存请求的数据信息,并根据所述数据信息检索内存对应表;
步骤S2,根据所述用户的缓存请求数据头中的请求URL标志的关键词,在内存中检索对应的缓存,如果检索到相应缓存则执行步骤S5,否则执行步骤S3;
步骤S3,建立与后台服务器的连接;
步骤S4,接收所述后台服务器返回的数据,当返回命令为服务器错误时,则返回步骤S3,当返回命令为未修改时,执行步骤S6,当返回命令为成功时,执行步骤S5;
步骤S5,读取数据进行缓存加工,并将缓存数据送至待发区;
步骤S6,将所述待发区的数据发送给用户。
2.如权利要求1所述的代理服务器智能缓存方法,其特征在于,在所述步骤S1中,识别缓存请求的数据信息包括:请求用户的IP地址、请求方法、请求URI标志。
3.如权利要求1所述的代理服务器智能缓存方法,其特征在于,在所述步骤S5中,判断收到的返回数据头部,是否包括以下内容:
Cache-Control:max-age=14 public;
Expires:Thu Dec 06 2018 08:06:37 GMT+0800;
ETag:"a030f020ac7c01:1e9f";
Last-Modified:Tue,17Apr201706:46:28GMT,
当出现任何一个时进入修改数据头后保存修改后新头部和剩余整个数据部分到硬盘中,其中,修改数据头的原则:
当取到Cache-Control:max-age=14值为14时,存为mset=14;
当取到Expires:项的值即后台WEB服务器的时间,同代理服务器的当前时间相差减为n时,存为mset=n,当n<=0,mset=0;
当取到Cache-Control值后,就不再取Expires的值,当两个都不存在时mset=0;
当仅有last_Modified或etag值,mset取值为0。
4.如权利要求3所述的代理服务器智能缓存方法,其特征在于,四个数据头部的优先级依次为:Cache-Control:max-age=14>Expires>Last-Modified>ETag。
5.如权利要求1所述的代理服务器智能缓存方法,其特征在于,在所述步骤S5中,将数据以下面组合存入缓存中;
Memset(key,value,mset);
Key的值为request_uri,Value的值为后台服务器返回数据头加上返回数据剩余部分;
Mset为上面计算取得的值,即缓存数据的有效时期超过时后自动删除,当值为0时被动删除。
6.如权利要求1所述的代理服务器智能缓存方法,其特征在于,在所述步骤S5中,存入缓存数据头包含以下项:Content-Type、Last-Modified、ETag、Accept-Ranges。
7.如权利要求1所述的代理服务器智能缓存方法,其特征在于,缓存成功后,将接收到数据头部中增加时间标识和时间数值。
CN201810439227.4A 2018-05-09 2018-05-09 一种代理服务器智能缓存方法 Pending CN108600267A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810439227.4A CN108600267A (zh) 2018-05-09 2018-05-09 一种代理服务器智能缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810439227.4A CN108600267A (zh) 2018-05-09 2018-05-09 一种代理服务器智能缓存方法

Publications (1)

Publication Number Publication Date
CN108600267A true CN108600267A (zh) 2018-09-28

Family

ID=63636628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810439227.4A Pending CN108600267A (zh) 2018-05-09 2018-05-09 一种代理服务器智能缓存方法

Country Status (1)

Country Link
CN (1) CN108600267A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017502A1 (en) * 2000-11-06 2010-01-21 Yin Cheng Web page content translator
CN102571834A (zh) * 2010-12-15 2012-07-11 金华六度信息科技有限公司 一种基于服务器推送技术的web即时通信系统及方法
CN106911735A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 数据获取方法及装置
CN107908777A (zh) * 2017-12-01 2018-04-13 云南民族大学 一种嵌入式浏览器清除缓存数据的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017502A1 (en) * 2000-11-06 2010-01-21 Yin Cheng Web page content translator
CN102571834A (zh) * 2010-12-15 2012-07-11 金华六度信息科技有限公司 一种基于服务器推送技术的web即时通信系统及方法
CN106911735A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 数据获取方法及装置
CN107908777A (zh) * 2017-12-01 2018-04-13 云南民族大学 一种嵌入式浏览器清除缓存数据的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HANKWANGWANG: "浏览器缓存详解", 《HTTPS://BLOG.CSDN.NET/EROSWANG/ARTICLE/DETAILS/8302191》 *

Similar Documents

Publication Publication Date Title
US7653695B2 (en) Collecting, aggregating, and managing information relating to electronic messages
CN109495377B (zh) 即时的电子邮件内嵌url的信誉确定设备、系统和方法
EP2068516B1 (en) E-mail management services
US7325249B2 (en) Identifying unwanted electronic messages
US8069213B2 (en) Method of controlling access to network resources using information in electronic mail messages
US7603472B2 (en) Zero-minute virus and spam detection
US8881277B2 (en) Method and systems for collecting addresses for remotely accessible information sources
US7827280B2 (en) System and method for domain name filtering through the domain name system
US20070226371A1 (en) Method and system for class-based management of dynamic content in a networked environment
US20110119342A1 (en) Message filtering method
US20090240669A1 (en) Method of managing locations of information and information location management device
US20080209554A1 (en) Spam honeypot domain identification
US20060265459A1 (en) Systems and methods for managing the transmission of synchronous electronic messages
US9400547B2 (en) Processing device and method thereof
US7958187B2 (en) Systems and methods for managing directory harvest attacks via electronic messages
CN108600267A (zh) 一种代理服务器智能缓存方法
JP2008250597A (ja) コンピュータシステム
JP2000122912A (ja) 資源収集方法及び資源収集装置
JP5090305B2 (ja) 迷惑メール処理方法、システム、装置及びプログラム
JP2004172891A (ja) 迷惑メール抑止装置、迷惑メール抑止方法、及び迷惑メール抑止プログラム
JP5801218B2 (ja) Urlフィルタリングシステム
JP4217725B2 (ja) 再帰問合わせを高度化するためのキャッシュサーバ装置、キャッシュ制御方法およびキャッシュサーバ装置用プログラム
JP3651610B2 (ja) サーバ計算機保護装置、同装置のデータ要求解析方法およびプログラム
JP2007086821A (ja) メール処理プログラム及び装置、並びにメール処理方法
JP2007104511A (ja) メール処理システム及び方法

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180928