CN109981659B - 基于数据去重技术的网络资源预取方法以及*** - Google Patents
基于数据去重技术的网络资源预取方法以及*** Download PDFInfo
- Publication number
- CN109981659B CN109981659B CN201910251873.2A CN201910251873A CN109981659B CN 109981659 B CN109981659 B CN 109981659B CN 201910251873 A CN201910251873 A CN 201910251873A CN 109981659 B CN109981659 B CN 109981659B
- Authority
- CN
- China
- Prior art keywords
- request
- module
- resource
- server
- user
- 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/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
-
- 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
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于数据去重技术的网络资源预取方法以及***,包括以下步骤:客户端向服务器端发送访问请求的时候,使用代理服务器,记录下用户的网络访问行为信息,提取访问日志;通过对网络日志的Web挖掘和分析提取网络行为特征获取访问规律,通过预测引擎采用预测算法预先分析下一时间最可能访问的网络资源,并预取到缓存中;由于缓存大小有限,那么存储在缓存中的资源经过数据去重技术处理后存储在缓存中,本发明能够在保证预取效率的前提下更能节省存储空间,提高数据传输率,减少网络延迟,缓解网络访问高峰期的网络流量压力并节省带宽,提高***利用率。
Description
技术领域
本发明涉及网络技术领域,具体涉及基于数据去重技术的网络资源预取方法以及***。
背景技术
随着互联网信息和用户的大量激增,如何提高网络服务质量、实现WWW加速是目前急需解决的问题。Web缓存机制、Web预取和重复数据删除技术能够有效减少网络延迟。Web缓存技术基于时间局部性原理,采用高效的替换算法,将用户可能访问的资源提前缓存,应用于代理服务器、P2P网络和移动网络等网络环境,但受限于命中率。Web预取技术试图在用户提出请求之前主动预取资源,在一定程度上提高了命中率,降低了访问延迟,但由于Web预取机制是一种投机机制,会导致带宽增加。同时该方法需要谨慎控制,否则将大大的降低性能,违背了原本的意图。数据去重技术旨在通过检测并去除重复数据的占用空间。目前发现若引用相同关键字的一个资源的两个版本就会有55%的重复冗余数据。若是该参考源是学术性的则重复度高达87%。利用数据对象之间的信息冗余,可以获得远高于传统压缩方法及增量备份方法的空间利用率,减少传输数据的字节释放部分占用带宽,减少网络延迟。若是能将Web预取技术与数据去重技术结合起来,对有效减少网络延迟将有重大意义。
现有的Web预取技术减少期望延迟首先应用在Mozilla Firefox浏览器上,然后Google搜索引擎采纳该技术。Google Web Accelerator软件配合火狐或IE浏览器一起工作,实现基于浏览器的预取。有关预取技术的商业软件Robtex Viking Server和AllegroSurf,但是关于预取的具体方案并没有透露。但是存在投机性,有时还会额外增加带宽。因此,Web预取方法需要谨慎使用。也正是因为潜在的带宽受限而使得Web预取技术在商业领域的应用前景不够乐观。
发明内容
针对现有技术中存在的缺陷和问题,本发明提供一种基于数据去重技术的网络资源预取方法以及***,能够通过降低传输数据冗余度的方法以提高预取效率和减少网络延迟。
本发明解决其技术问题所采用的方案是:一种基于数据去重技术的网络资源预取方法,包括以下步骤:
首先,在客户端与服务器端之间连接代理服务器端,客户端向服务器端发送访问请求的同时,代理服务器记录下用户的网络访问行为信息,提取访问日志;
其次,代理服务器对网络访问日志进行Web挖掘和分析,提取用户行为特征并获取网络访问规律;从访问日志中挖掘出用户的访问偏爱从而提取用户网络访问行为特征的步骤包括:对访问日志进行数据清洗预处理,剔除日志文件中访问失败的记录和不可缓存的对象,从预处理过的网络访问序列中提取用户浏览特征;
同时,通过预测引擎采用预测算法预先分析下一时间用户最可能访问的网络资源,并预取到缓存中;所述预测引擎是在每一次资源被请求的时候预测即将可能访问的页面,依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中;用户行为特征通过Markov链模型能够精确地描述用户浏览特征,利用Markov树将用户对网页的浏览行为建模,采取基于访问概率的预测算法预测出下一时间用户最可能发出的访问请求;
最后,将预取在缓存中的资源经过数据去重技术处理后存储在缓存中;其中,对预取的资源进行数据去重处理的步骤包括:
客户端的重复数据删除模块CDM运行在客户端浏览器,用以存储最近最新的网络资源,并依据唯一的识别器指示相应资源如何对应位于服务器端的SDM模块;
服务器端的重复数据删除模型SDM用以组合最终响应的数据块,当SDM接收到一个给定的资源的请求,它检索由CDM发送的引用资源标识符的一个自定义的请求报头,然后SDM从服务器中取出该资源,接收过充分响应的报头和数据后,SDM给资源分配一个新的标识符,将资源数据划分为块,块的元信息存储在数据存储文件中;在这个数据存储库中SDM保证了由块的哈希索引的元信息资源的所有版本的所有块;
当CDM收到响应后,为所有的数据重建原有的资源,包括从本地缓存资源中复制块引用信息和复制接收到响应的非冗余数据内容。
一种基于数据去重技术的网络资源预取***,在用户路径与Web服务器之间增设模拟器***框架,所述模拟器***框架包括客户端和代理服务器端,客户端可预取客户浏览器的用户行为,客户端与代理服务器端连接,代理服务器端与Web服务器连接;
客户端包括6个模块和2个存储文件:
读取路径模块:读取用户的请求序列,数据结构是先入先出的队列;
预取管理模块:读取记录模块的访问队列,检查预取对象池,确认资源是否已经预取过;若没有预取过,则把请求发送给服务器,预取管理模块创建多个用户请求线程并等待一个新的请求;当从服务器接收到响应资源时,预取管理模块检查其URL是否在预取队列中,若在则移除URL并***到预取对象池;预取模块同时检查请求队列是否为空,若为空则允许预取请求发给服务器,直到一个新的用户请求到来;当一个新的客户端请求***队列时,预取管理模块暗示删除已经预取过的资源并清空暗示队列数据存储;
用户请求模块:接收来自预取管理模块的请求,再传递给请求模块;当从服务器接收到一个响应资源时,用户请求模块把响应报头的队列***到预取队列数据存储中,把资源的URL***到预取对象池中;
请求模块是用于连接Web服务器,负责处理底层通信;
CDM模块:客户端数据去重模块,拦截客户端用户请求模块或者是预取请求模块发送的HTTP请求报文;询问资源版本号得到客户端缓存中的所有资源的资源标识符,CDM通知通信拦截模块;
通信拦截模块:为信息添加自定义报头“X-vrs”,并把报头信息附加在HTTP请求报头上,传递给请求模块,最后传给服务器;
预取队列:存放服务器告知客户端需要预取的对象信息;
预取对象池:存放所有已经预取的对象,作用类似用户浏览器缓存;
代理服务器端包括:
监听模块:等待连接到客户端的线程队列,给定一个端口号;
服务器连接模块:处理客户端和服务器端之间的连接,将服务器端的资源数据传递给客户端;
通信拦截模块:拦截来自服务器端的最原始的HTTP响应存储在临时缓冲区内并做预处理;
SDM模块:服务器端数据去重模块执行对通信拦截模块转交过来的消息实体的数据拆分过程;
通信重组模块:准备并发送响应报文的复制版本;组合响应报头信息:更新/创建Content-Length附加上新的实体消息数据长度;添加两个新的报头信息资源版本号标识符和元数据长度;
预测引擎模块:在每一次资源被请求的时候预测即将可能访问的页面,依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中。
本发明的有益效果:本发明针对目前Web预取受带宽限制的缺陷,提供一种对Web预取***的改进方法,能够通过降低传输数据冗余度的方法以提高预取效率和减少网络延迟。
一方面,本发明提供了一种网络资源预取方法,通过Squid代理服务器上获得Web请求的日志,对日志分析获得访问路径,将该访问路径输入到在客户端模块,模拟用户的访问行为;客户端按照指定的时间间隔定期向服务器端发出请求,服务器端的服务器连接模块依次接收到请求报文传递给服务器端,然后当HTTP响应报头接收完毕时拦截响应报文并对其分析并传递给预测引擎模块;预测引擎模块采用流行的预测算法计算出一系列在最近一段被访问频率最高的页面,将结果放入决策数据库中,与此同时,在接收到所有响应报头后通知更新状态库,为下次预测做准备;最后服务器连接模块把完整的响应数据再发送给客户端。
另一方面,本发明提供了一种网络资源预取***,能够在预取下载资源到缓存前需要对资源进行分析并进行数据去重处理,在代理服务器端增加了通信拦截模块、SDM模块、通信重组模块;在客户端增加了资源版本模块、CDM模块和通信拦截模块,能够快速响应用户的网络访问需求、提升网络服务质量、降低访问延迟并有效节省带宽、提高***利用率以及预取效率。
附图说明
图1为本发明实施例Web页面的预取方法应用场景图。
图2为本发明实施例Web页面的预取***的流程图。
图3为本发明实施例的客户端模块图。
图4为本发明实施例预取***的代理服务器端模块图。
图5为数据去重结构图。
图6为本发明实施例SDM模块的算法原理图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
实施例1:一种基于数据去重技术的网络资源预取***,在用户路径与Web服务器之间增设模拟器***框架,其中模拟器***框架包括客户端和代理服务器端,客户端可预取客户浏览器的用户行为,客户端与代理服务器端连接,代理服务器端与Web服务器连接。
如图1所示,为本发明实施例Web页面预取***的应用场景图。图1中,客户端101向代理服务器102发出访问Web服务器资源的请求。当代理服务器102主进程监听到客户端A发来了请求,会创建一个子进程应对客户端A发来的请求;而主进程继续进行监听工作。已创建的代理服务器子进程与客户端101建立连接,读取客户请求并对客户请求进行解析,然后依照在代理服务器上预设的访问规则列表,检验当前接收到的请求;如果请求满足规则约束,则可以在代理服务器缓存中查找是否存在所需要的信息,并在本地处理随后的信息请求。这样客户端能够更快地获得自己期望资源,节省带宽。
如图3所示,客户端包括6个模块和2个存储文件。模块依次为读取路径模块31、预取管理模块32、用户请求模块33、CDM模块34、通信拦截模块35、请求模块36;存储文件分别是预取队列37和预取对象池38。
读取路径模块31用户记录用户的访问行为,包括用户的IP地址或主机名,请求发出的时间,请求的方法(GET,POST等),访问页面的路径(URL),服务器返回的状态码以及作为响应发出的字节数。
预取管理模块32选择合适的预测算法,预测出需要预取的用户请求。负责检查预取对象池,请求资源是否已经预取过。
用户请求模块33接收来自于预取管理模块32的请求,再传递给请求模块。
CDM模块34用于客户端数据去重处理,通过拦截用户请求模块发送的HTTP报文请求,询问资源版本号得到客户端缓存中文的所有资源的资源标示符。最后通知通信拦截模块35。
通信拦截模块35负责为请求信息添加自定义报头“X-vrs”,传递给请求模块,最终传给服务器。
请求模块36用于连接Web服务器,负责处理底层通信。
预取队列37用于存放服务器告知客户端需要预取的对象信息。
预取对象池38用于存放所有已经预取的对象,作用类似用户浏览器缓存。
如图4所示,代理服务器端用于连接服务器端和客户端,代理服务器端包括包括监听模块41、服务器连接模块42、请求重组模块43、SDM模块44、通信拦截模块45、预测引擎模块46和状态更新库47。
监听模块41:主要负责等待连接到客户端的线程队列,给定一个端口号。
服务器连接模块42:主要负责处理客户端和服务器端直接的连接,尤其是在处理响应的时候,该模块第一时间接收到源HTTP响应报头,并传递给客户端。然后将从服务器端所有的资源数据原封不动的传递给客户端。
通信拦截模块45:主要拦截来自服务器端的最原始的HTTP响应存储在临时缓冲区内并做预处理。
SDM模块44:服务器端数据去重模块执行对通信拦截模块转交过来的消息实体的数据拆分过程。拆分过程主要由两个步骤完成:块划分和数据去重。
请求重组模块43:准备并发送响应报文的复制版本。组合响应报头信息:更新/创建Content-Length附加上新的实体消息数据长度;添加两个新的报头信息X-vrs(资源版本号标识符)和X-mtd(元数据长度)。
预测引擎模块46:主要任务是在每一次资源被请求的时候预测即将可能访问的页面。该模块依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中。
实施例2:
一种基于数据去重技术的网络资源预取方法,包括以下步骤:
首先,在客户端与服务器端之间连接代理服务器端,客户端向服务器端发送访问请求的同时,代理服务器记录下用户的网络访问行为信息,提取访问日志,日志文件用户网络访问行为信息主要包括用户访问请求的访问时间、用户IP地址、访问资源的文件名或脚本以及参数域等。
其次,代理服务器对网络访问日志进行Web挖掘和分析,提取用户行为特征并获取网络访问规律;从访问日志中挖掘出用户的访问偏爱从而提取用户网络访问行为特征的步骤包括:对访问日志进行数据清洗预处理,剔除日志文件中访问失败的记录和不可缓存的对象,从预处理过的网络访问序列中提取用户浏览特征。
同时,通过预测引擎采用预测算法预先分析下一时间用户最可能访问的网络资源,并预取到缓存中;所述预测引擎是在每一次资源被请求的时候预测即将可能访问的页面,依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中;用户行为特征通过Markov链模型能够精确地描述用户浏览特征,利用Markov树将用户对网页的浏览行为建模,采取基于访问概率的预测算法预测出下一时间用户最可能发出的访问请求。
最后,将预取在缓存中的资源经过数据去重技术处理后存储在缓存中;其中,对预取的资源进行数据去重处理的步骤包括:
客户端的重复数据删除模块CDM运行在客户端浏览器,用以存储最近最新的网络资源,并依据唯一的识别器指示相应资源如何对应位于服务器端的SDM模块。
服务器端的重复数据删除模型SDM用以组合最终响应的数据块,当SDM接收到一个给定的资源的请求,它检索由CDM发送的引用资源标识符的一个自定义的请求报头,然后SDM从服务器中取出该资源,接收过充分响应的报头和数据后,SDM给资源分配一个新的标识符,将资源数据划分为块,块的元信息存储在数据存储文件中;在这个数据存储库中SDM保证了由块的哈希索引的元信息资源的所有版本的所有块。
当CDM收到响应后,为所有的数据重建原有的资源,包括从本地缓存资源中复制块引用信息和复制接收到响应的非冗余数据内容。
如图1所示,客户端101向代理服务器102发出访问Web服务器资源的请求。当代理服务器102主进程监听到客户端A发来了请求,会创建一个子进程应对客户端A发来的请求;而主进程继续进行监听工作。已创建的代理服务器子进程与客户端101建立连接,读取客户请求并对客户请求进行解析,然后依照在代理服务器上预设的访问规则列表,检验当前接收到的请求;如果请求满足规则约束,则可以在代理服务器缓存中查找是否存在所需要的信息,并在本地处理随后的信息请求。这样客户端能够更快地获得自己期望资源,节省带宽。
如图2所示的Web页面的预取***的流程图,在步骤201,代理服务器会记录下用户浏览日志,监测用户浏览行为。
用户的浏览行为可以是指用户访问历史的静态信息上的,这些记录保存在Web服务器或代理服务器上的日志文件中。其中每一条记录包含一个请求的如下信息:用户的IP地址或主机名,请求发出的时间,请求的方法(GET,POST等),访问页面的路径(URL),服务器返回的状态码以及作为响应发出的字节数。从Web服务器或代理服务器上可以很容易的得到Web日志文件。
在步骤202,代理服务器通过预取管理模块挖掘用户的访问偏爱路径。
以一个例子说明,,某高校用户的网络行为是集中于上午8:00-9:30这个上班高峰时间段集中访问校园网主页、新浪、搜狐等门户网站,通过代理服务器所记录的日志可以把上述行为记录下来。
代理服务器端的预取管理模块中的路径分析器主要完成对用户访问路径的挖掘过程,通过分析访问序列构造Markov模式树,从而生成转移概率矩阵。采用基于Markov链模型的预测方法,通过Markov链模型提前转移概率矩阵和初始状态概率向量。所有的客户端请求均被缓存在客户端缓冲区内,一旦超过了最小样本阈值或者会话结束的时侯,从缓冲区流出。每一个客户分配一个单独的缓冲区,并将客户请求序列存放其中。根据用户访问路径的不断变化来更新Markov链模型。更新的方法主要是根据额外添加的路径序列来平滑地改变矩阵的缺省值或当前值。
在步骤203,通过预测引擎采用预测算法预测下一时间最有可能访问的网站,在网络空闲的时候并提前预先下载到缓存中。
以一个例子说明,用户网络访问行为规律是每天上午8:00-9:30访问网易网站,根据上述网络访问行为的规律,网络代理缓存设备会在下一个相同时间点(8:00-9:30)分析网络运行状态,根据预测算法预测出最有可能访问的网站。当网络空闲时,则会从网易网站提前预取出相关网络资源保存在缓存中。当用户提出访问请求时,直接从缓存中获得请求资源,避免高峰时段加重网络负担,同时可节省网络带宽,保证服务质量。
在步骤204,采用的数据去重***来源于dedupHTTP***。数据去重***的核心工作是对文件进行内容分析,研究的基本单位是称之为块(chunk)的抽象数据对象。***的主要工作由块划分、计算特征值、相同或相似检测、消除冗余和存储数据五个阶段构成。本实施例搭建的去重***由两个模块构成。客户端的重复数据删除模块(CDM)和服务器段的重复数据删除模块(SDM)。CDM和SDM分别运行在客户端浏览器和Web服务器。CDM存储了最近最新的资源版本号,并依据唯一的识别器指示了每一个资源版本号如何分配给SDM。
关于数据去重,如图5的数据去重结构图所示,当SDM接收到一个给定的资源的请求,它检索由CDM发送的参考源标识符的一个自定义的请求报头。然后SDM从服务器中取出该资源。接收过充分响应的报头和数据后,SDM给资源分配一个新的标识符。将资源数据划分为块,块的元信息存储在数据存储文件中。在这个数据存储库中SDM保证了块的哈希索引的元信息资源的所有版本的所有块。SDM遍历资源所有块。为每个资源块,它将在参考源具有相同散列块。如果一块没有匹配的参考源,SDM会在当前响应资源块中搜索。因此,冗余检测不仅在资源在CDM的高速缓存执行,而且在资源被送交CDM时也执行。SDM组合最终响应资源发给CDM。响应由元数据段开始。元数据的大小(字节)存储在一个自定义HTTP响应报头中。元数据的内容从响应的资源标识符开始。在每个参考源中包含了四元组,每个元组包含的信息是CDM能够在缓存中找到每一个冗余块的必需信息。具体包含的字段是当前响应的偏移量Offset,资源标识符Rescource identifier,资源内部的偏移量InOffset和块的长度。数组按照在原始响应中相应块的顺序排列。在元数据块的结尾,附加上非冗余数据内容,顺序仍然保持在原响应中的顺序。由于对该元组和非冗余数据的顺序维护,CDM仅需数组的第一偏移量就可知道如何在非冗余数据附加上冗余数据。当CDM收到响应后,它通过为所有的数据重建原有的资源。包括从本地缓存资源中复制块引用信息和复制接收到响应的非冗余数据内容。CDM并不存储任何一块元信息,也不需要发送或存储哈希。
关于本实施例中SDM模块的算法原理如图6所示,数据去重***的基本原理是基于内容寻址的存储***,通过对数据的相似度和相同度进行比对和分析从而删除重复数据节省空间,其关键是数据划分方法的合理选择。
在本文所采取的数据去重***,对服务器响应给客户端的每一个资源版本号,SDM均将其划分为索引数据chunk。所采用的块划分算法是LBFS算法。
第一步:当客户端发出一个请求时,由服务器执行将资源划分为若干索引chunk。这样很容易判断出该资源的哪些部分客户端已经存在,哪些部分是新的、需要发送的。
从创建资源内容的字节哈希开始着手。这些哈希代表着资源较小的chunk。使用滑动哈希函数实现。
第二步:选择代表资源的哈希。虽然可以选择所有的哈希,但是对于内存是难以实施的,因为内容的每一个字节都有一个哈希。所以,选择合适的哈希作为较大数据块的边界。
在这一步中,选择窗口机制,实践证明能够提供更好的冗余检测。分别实施最小和最大的chunk尺寸,因为对比期望chunk大小,基于本方法的内容可能会造成过大chunk或者过小的chunk。
选择chunk边界后,使用64为MurmurHash方法哈希较大的chunk。在保持低碰撞率方面,该方法优于密码Hash例如MD5或SHA1方法。
Claims (3)
1.一种基于数据去重技术的网络资源预取方法,其特征在于:所述方法包括以下步骤:
首先,在客户端与服务器端之间连接代理服务器端,客户端向服务器端发送访问请求的同时,代理服务器记录下用户的网络访问行为信息,提取访问日志;
其次,代理服务器对网络访问日志进行Web挖掘和分析,提取用户行为特征并获取网络访问规律;从访问日志中挖掘出用户的访问偏爱,从而提取用户网络访问行为特征,其具体步骤包括:对访问日志进行数据清洗预处理,剔除日志文件中访问失败的记录和不可缓存的对象,从预处理过的网络访问序列中提取用户浏览特征;
同时,通过预测引擎采用预测算法预先分析下一时间用户最可能访问的网络资源,并预取到缓存中;所述预测引擎是在每一次资源被请求的时候预测即将可能访问的页面,依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中;利用Markov树将用户对网页的浏览行为建模,采取基于访问概率的预测算法预测出下一时间用户最可能发出的访问请求;
最后,将预取在缓存中的资源经过数据去重技术处理后存储在缓存中;其中,对预取的资源进行数据去重处理的步骤包括:
客户端的重复数据删除模块CDM运行在客户端浏览器,用以存储最近最新的网络资源,并依据唯一的识别器指示相应资源如何对应位于服务器端的重复数据删除模型SDM模块;
服务器端的重复数据删除模型SDM用以组合最终响应的数据块,当SDM接收到一个给定的资源的请求,它检索由CDM发送的引用资源标识符的一个自定义的请求报头,然后SDM从服务器中取出该资源,接收过充分响应的报头和数据后,SDM给资源分配一个新的标识符,将资源数据划分为块,块的元信息存储在数据存储文件中;在这个数据存储库中SDM保证了由块的哈希索引的元信息资源的所有版本的所有块;
当CDM收到响应后,为所有的数据重建原有的资源,包括从本地缓存资源中复制块引用信息和复制接收到响应的非冗余数据内容。
2.根据权利要求1所述的基于数据去重技术的网络资源预取方法,其特征在于:日志文件用户网络访问行为信息包括用户访问请求的访问时间、用户IP地址、访问资源的文件名或脚本以及参数域。
3.一种基于数据去重技术的网络资源预取***,其特征在于:在用户路径与Web服务器之间增设模拟器***框架,所述模拟器***框架包括客户端和代理服务器端,客户端可预取客户浏览器的用户行为,客户端与代理服务器端连接,代理服务器端与Web服务器连接;
所述客户端包括6个模块和2个存储文件:
6个模块分别为:
读取路径模块:读取用户的请求序列,根据请求序列生成的 数据结构是先入先出的访问队列;
预取管理模块:读取所述的访问队列,检查预取对象池,确认资源是否已经预取过;若没有预取过,则把请求发送给服务器,预取管理模块创建多个用户请求线程并等待一个新的请求;当从服务器接收到响应资源时,预取管理模块检查其URL是否在预取队列中,若在则移除URL并***到预取对象池;预取管理模块同时检查请求队列是否为空,若为空则允许预取请求发给服务器,直到一个新的用户请求到来;当一个新的客户端请求***队列时,预取管理模块暗示删除已经预取过的资源并清空暗示队列数据存储;
用户请求模块:接收来自预取管理模块的请求,再传递给请求模块;当从服务器接收到一个响应资源时,用户请求模块把响应报头的队列***到预取队列数据存储中,把资源的URL***到预取对象池中;
请求模块是用于连接Web服务器,负责处理底层通信;
CDM模块:客户端数据去重模块,拦截客户端用户请求模块或者是预取请求模块发送的HTTP请求报文;询问资源版本号得到客户端缓存中的所有资源的资源标识符,CDM通知通信拦截模块;
通信拦截模块:为信息添加自定义报头“X-vrs”,并把报头信息附加在HTTP请求报头上,传递给请求模块,最后传给服务器;
2个存储文件分别为:
预取队列:存放服务器告知客户端需要预取的对象信息;
预取对象池:存放所有已经预取的对象,作用类似用户浏览器缓存;
所述代理服务器端包括:
监听模块:等待连接到客户端的线程队列,给定一个端口号;
服务器连接模块:处理客户端和服务器端之间的连接,将服务器端的资源数据传递给客户端;
通信拦截模块:拦截来自服务器端的最原始的HTTP响应存储在临时缓冲区内并做预处理;
SDM模块:服务器端数据去重模块执行对通信拦截模块转交过来的消息实体的数据拆分过程;
通信重组模块:准备并发送响应报文的复制版本;组合响应报头信息:更新/创建Content-Length附加上新的实体消息数据长度;添加两个新的报头信息资源版本号标识符和元数据长度;
预测引擎模块:在每一次资源被请求的时候预测即将可能访问的页面,依据预测算法将产生一系列的在最近被访问频率最高的资源的URL,并将结果放入到决策数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251873.2A CN109981659B (zh) | 2019-03-29 | 2019-03-29 | 基于数据去重技术的网络资源预取方法以及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251873.2A CN109981659B (zh) | 2019-03-29 | 2019-03-29 | 基于数据去重技术的网络资源预取方法以及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981659A CN109981659A (zh) | 2019-07-05 |
CN109981659B true CN109981659B (zh) | 2021-07-09 |
Family
ID=67081749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910251873.2A Active CN109981659B (zh) | 2019-03-29 | 2019-03-29 | 基于数据去重技术的网络资源预取方法以及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981659B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609714A (zh) * | 2019-07-31 | 2019-12-24 | 百度在线网络技术(北京)有限公司 | 一种数据预取方法、装置、设备及存储介质 |
CN111586020B (zh) * | 2020-04-29 | 2021-09-10 | 北京天融信网络安全技术有限公司 | 一种概率模型构建方法、装置、电子设备及存储介质 |
CN112953894B (zh) * | 2021-01-26 | 2022-05-20 | 复旦大学 | 一种多路请求复制分发***和方法 |
CN113064886B (zh) * | 2021-03-04 | 2023-08-29 | 广州中国科学院计算机网络信息中心 | 一种标识资源存储和标记管理的方法 |
CN114221953A (zh) * | 2021-11-29 | 2022-03-22 | 平安证券股份有限公司 | 资源获取方法、装置、设备及存储介质 |
CN114785858B (zh) * | 2022-06-20 | 2022-09-09 | 武汉格蓝若智能技术有限公司 | 应用于互感器在线监测***的资源主动缓存方法及装置 |
CN116112562A (zh) * | 2023-02-15 | 2023-05-12 | 厦门大学 | 一种基于p2p网络的协同块预取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574004A (zh) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种网页去重方法和设备 |
CN106547764A (zh) * | 2015-09-18 | 2017-03-29 | 北京国双科技有限公司 | 网页数据去重的方法及装置 |
CN108769253A (zh) * | 2018-06-25 | 2018-11-06 | 湖北工业大学 | 一种分布式***访问性能优化的自适应预取控制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380680B2 (en) * | 2010-06-23 | 2013-02-19 | International Business Machines Corporation | Piecemeal list prefetch |
US10977321B2 (en) * | 2016-09-21 | 2021-04-13 | Alltherooms | System and method for web content matching |
-
2019
- 2019-03-29 CN CN201910251873.2A patent/CN109981659B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574004A (zh) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种网页去重方法和设备 |
CN106547764A (zh) * | 2015-09-18 | 2017-03-29 | 北京国双科技有限公司 | 网页数据去重的方法及装置 |
CN108769253A (zh) * | 2018-06-25 | 2018-11-06 | 湖北工业大学 | 一种分布式***访问性能优化的自适应预取控制方法 |
Non-Patent Citations (1)
Title |
---|
End-to-end data deduplication;Ricardo Filipe,Joao Barreto;《2011 IEEE International Symposium on Network Computing and Applications》;20110827;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109981659A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981659B (zh) | 基于数据去重技术的网络资源预取方法以及*** | |
US10645143B1 (en) | Static tracker | |
US8171135B2 (en) | Accumulator for prefetch abort | |
US9077681B2 (en) | Page loading optimization using page-maintained cache | |
US8966053B2 (en) | Methods and systems for performing a prefetch abort operation for network acceleration | |
US7269608B2 (en) | Apparatus and methods for caching objects using main memory and persistent memory | |
US9055124B1 (en) | Enhanced caching of network content | |
US20190222603A1 (en) | Method and apparatus for network forensics compression and storage | |
US8533310B2 (en) | Method and apparatus for acceleration by prefetching associated objects | |
CN108255647B (zh) | 一种samba服务器集群下的高速数据备份方法 | |
US7647417B1 (en) | Object cacheability with ICAP | |
US10909104B2 (en) | Caching of updated network content portions | |
KR20170054299A (ko) | 메모리 관리 시의 중복 제거를 위해서 기준 세트로 기준 블록을 취합하는 기법 | |
US9195773B2 (en) | Structure-based adaptive document caching | |
US9021210B2 (en) | Cache prefetching based on non-sequential lagging cache affinity | |
US8176141B1 (en) | SMB request prefetching | |
US20020184441A1 (en) | Apparatus and methods for caching objects using main memory and persistent memory | |
CN107092529B (zh) | Olap服务方法、装置及*** | |
CN111078975B (zh) | 一种多节点增量式数据采集***及采集方法 | |
US11151082B1 (en) | File system operation cancellation | |
Patil et al. | High quality design and methodology aspects to enhance large scale web services | |
CN116756177B (zh) | 一种mysql数据库的多表索引维护方法和*** | |
Balasundaram et al. | Improving Read Throughput of Deduplicated Cloud Storage using Frequent Pattern-Based Prefetching Technique | |
Zhang et al. | SMURF: Efficient and Scalable Metadata Access for Distributed Applications from Edge to the Cloud | |
US11966393B2 (en) | Adaptive data prefetch |
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 |