[发明专利]一种基于包转发的小文件缓存方法和设备在审
申请号: | 201310023264.4 | 申请日: | 2013-01-22 |
公开(公告)号: | CN103118086A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 温水生 | 申请(专利权)人: | 温水生 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 李世喆 |
地址: | 516321 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 转发 文件 缓存 方法 设备 | ||
技术领域
本发明涉及计算机网络技术领域,尤其是涉及一种基于包转发的小文件缓存方法和设备。
背景技术
随着网民数量的增多,多媒体、P2P技术的不断发展,互联网各骨干网及网络终端都要承担巨大负载,出现了带宽紧张的局面。缓存是一种减少出口流量,降低网络压力,提高用户体验的技术。它将用户所请求的资源,在本地备份一份,用户重复请求相同的资源时,用户将得到本地的一个资源副本,不占用公网带宽资源。
现有技术中,有一种缓存方案,是通过网关的http302重定向,把用户大文件资源请求,重定向到缓存系统。由缓存系统代理下载,并缓存一分副本到本地。若缓存系统发现该资源存在本地的一个副本,则直接拿本地副本响应该请求,从而节省了去公网下载资源的带宽。
302重定向又称之为302代表暂时性转移(Temporarily Moved),也被认为是暂时重定向(temporary redirect),当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。302暂时重定向是暂时的重定向,搜索引擎会抓取新的内容而保存旧的网址。
大部分的搜索引擎在大部分情况下,当收到302重定向时,一般只要去抓取目标网址就可以了。而搜索引擎在遇到302转向时,往往不能百分之百的都抓取目标网址。例如Google,在某些情况下,本来的网址A很短,且它做了一个302重定向到B网址,而B网址是一个不太正规的URL网址,甚至还有可能包含一些问号之类的参数。显然,A网址更加用户友好,这时Google很有可能会仍然显示网址A,这就造成了网址URL劫持的发生。
综上所述,基于302重定向的缓存机制,容易造成网址URL劫持现象的发生。
发明内容
本发明提出了一种基于包转发的小文件缓存方法和设备,通过缓存机制解决带宽压力的同时,不会发生网址劫持现象。
为了达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种基于包转发的小文件缓存方法,包括步骤:
步骤A,监听TCP会话,分离出用户的HTTP-GET请求,提取所请求的数据的文件名和域名;
步骤B,计算所请求的数据的指纹;
步骤C,判断本地是否存在该指纹所对应的数据的副本;是,则拦截该请求,进入步骤D;否,则不拦截该请求,将该请求发送至公网;
步骤D,取出本地的副本,并发送至用户端。
其中,所述步骤A之前,还包括步骤:
通过module_init接口,将接收函数netif_receive_skb和发送函数dev_queue_xmit注册到系统中,接管网上数据。
其中,所述步骤A中监听TCP会话包括步骤:
通过netif_receive_skb接收到数据后,根据数据的目的IP、源IP、目的port、源port和协议号,识别不同的会话,分析会话的过程。
其中,所述步骤C中将该请求发送至公网包括步骤:
通过dev_queue_xmit接口向公网发送该数据。
其中,所述步骤D中发送至用户端包括步骤:
重新计算该数据的目的IP,源IP,目的port,源port、协议号和相应的seq和seq_ack,将该数据的本地副本通过dev_queue_xmit向用户端发送。
其中,所述步骤C中将该请求发送至公网之后还包括步骤:
判断该数据的大小是否小于第一预设阈值,是,则保存一个本地副本,否,则不干预数据,保护用户和服务器之间的正常通信。
其中,所述步骤A之前还包括步骤:
将存储空间等分为不同数量级的存储区间,每一区间用于存放数量级在该区间范围内的文件。
其中,所述步骤B包括步骤:
通过MD5算法计算所请求的数据的指纹。
本发明还提供一种基于包转发的小文件缓存设备,包括数据处理模块和网桥;所述数据处理模块,用于监听TCP会话,分离出用户的HTTP-GET请求,提取所请求的数据的文件名和域名,通过MD5算法计算出所请求的数据的指纹,判断本地是否存在该指纹所对应的数据的副本;是,则拦截该请求,否,则不拦截该请求;所述网桥包括接收模块和发送模块,所述发送模块,用于取出本地的副本发送至用户端或者将该请求发送至公网;所述接收模块,用于接收网上数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于温水生,未经温水生许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310023264.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种云端名片管理系统
- 下一篇:汽车离合器从动盘总成