(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf_第1页
(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf_第2页
(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf_第3页
(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf_第4页
(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机软件与理论专业论文)基于ajax的web预读取模型的设计与在sns网站中应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 摘要 论文题目: 专业: 硕士生: 指导教师: 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 计算机软件与理论 宋世栋 倪德明副教授 摘要 缓存技术已经在计算机领域得到了广泛的应用,对硬件和软件性能的改善 都起到了举足轻重的作用。同样在w e b 领域,无论是在服务器端,还是在客户 端,缓存技术都已经有了广泛的应用。由于w e b 资源经常被更新,基于缓存的 技术只能有限地减少响应延迟时间,这个时候如果希望再减少w e b 响应延迟时 间,便需要使用预读取技术。目前w e b 预读取技术的应用方式多为采用代理服 务器或浏览器端插件的方式来实现。 在本文中则提出了一个基于a j a x 的实现的预读取框架。本文首先对国内外 已有的w e b 预读取模型进行总结,并对w e b 资源的特征进行讨论和分析,分析 了w e b 资源的特征与预读取功能之间的关系。并提出了w e b 事件流数据仓库的 概念,并将它与现有点击流数据仓库进行对比,并分析了一个可有效进行预读 取的w e b 站点应满足的约束条件和具备的特征。随后将基于案例推理的技术应 用在w e b 预读取中,通过查找案例库中的相似案例,来预测用户下一步有可能 读取的网页。这个模型解决的问题主要有:1 ) 如何将w e b 事件流映射为案例, 如何对案例进行编码以及案例的组织和存储问题;2 ) 如何对两个案例的进行相 似度计算以及如何从案例库中提取和当前案例相似的案例。最后将这个模型应 用到一个实际的s n s 网站应用中,在此基础上给出了基于a j a x 的w e b 预读取框 架的设计,其中包括了浏览器端的事件采集和传输功能,服务器端的预读取算 法的设计和实现。 关键词:预读取模型、社交网站、a j a j ( 、事件流数据仓库、基于案例推理 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 a b s t r a c t t i t l e :aw e bp r e f e t c h i n gm o d e lb a s e do na j a xa n da p p l i c a t i o ni na m a j o r : n a m e : s o c i a ln e t w o r ks i t e c o m p u t e rs o f t w a r ea n dt h e o r y s h i d o n gs o n g s u p e r v i s o r :a s s o c i a t ep r o f d e m i n gn i a b s t r a c t t h ec a c h i n gt e c h n o l o g yh a sb e e nw i d e l yu s e di nt h ef i e l do fc o m p u t e rs c i e n c e p e r f o r m a n c eo fs o r w a r ea n dh a r d w a r ei si m p r o v e dm u c hb yt h i st e c h n o l o g y i nt h e f i e l do fw o r l dw i d ew e b ,c a c h i n gt e c h n o l o g yi sa l s ow i d e l yu s e di nb o t hb r o w s e r a n ds e r v e rs i d e b u tw e br e s o u r c e sa r ea l w a y su p d a t e df r e q u e n t l y , t h ec a c h i n g t e c h n o l o g ya r el i m i t e di nr e d u c i n gt h er e s p o n s et i m e i f w ew a n tt or e d u c et h e r e s p o n s et i m em o r e ,w en e e dt ou s et h et e c h n o l o g yo f p r e f e t c h i n g n o w a d a y s ,t h e w e b p r e f e t c h i n gm o d e l s a l eb a s e dm o s t l yo np r o x ys e r v e r so rp l u g i n si nb r o w s e r i nt h i st h e s i sap r e f e t c h i n gf r a m e w o r kb a s e do na j a xi sb r o u g h tf o r w a r d f i r s t l y , t h i st h e s i ss u m su pt h ec u r r e n ts i t u a t i o no fw e b p r e f e t c h i n gm o d e l sa n dd i s c u s s e st h e c h a r a c t e r i s t i cf e a t u r e so fw e br e s o u r c e sa n dt h er e l a t i o n sb e t w e e nt h e m w h a t sm o r e , ac o n c e p to fe v e n ts t r e a md a t aw a r e h o u s ei sb r o u g h tf o r w a r da n di sc o m p a r e dw i t h t h ec o n c e p to fc l i c ks t r e a md a t aw a r e h o u s e a f t e rt h a t ,t h i st h e s i sd i s c u s s e st h e c o n s t r a i n t sa n dc h a r a c t e r i s t i cf e a t u r e sw h i c haw e l l d e s i g n e ds o c i a ln e t w o r ks i t e s h o u mc o n t a i nt of i tf o rp r e f e t c h i n ge f f e c t i v e l y f u r t h e r m o r e ,t h et e c h n o l o g yo f c a s e b a s e dr e a s o n i n gi su s e di nw e bp r e f e t c h i n g t h i sp r e f e t c h i n gm o d e ls e a r c h e s c a s e sw h i c ha r es i m i l a rt ot h ec u r r e n tc a s ea n dt h e ng e tt h es o l u t i o nt ot h ec u r r e n t c a s e t h i sp r e f e t c h i n gm o d e lg i v e st h ea n s w e r st ot h ef o l l o w i n gt w oq u e s t i o n s :1 ) b o wt om a p st h ee v e n ts t r e a mt ot h ec a s ea n de n c o d i n ga n ds t o r a g eo ft h ec a s e 2 ) h o wt oc o m p u t et h ef a c t o ro fs i m i l a r i t yb e t w e e nt w oc a s e sa n dr e t r i e v et h es i m i l a r c a s e sf r o mt h ec a s eb a s e f i n a l l y , t h ep r e f e t c h i n gm o d e li su s e di nas o c i a ln e t w o r k s i t e i nt h i sw e bs i t e ,af r a m e w o r kb a s e do na j a xi sb r o u g h tf o r w a r d i nt h i s f r a m e w o r k ,t h ec o l l e c t i o na n dt r a n s m i s s i o nt h ee v e n t sa r ei m p l e m e n t e di nt h e b r o w s e rs i d eo ft h ef r a m e w o r k ,a n dt h ei n t e g r a t i o no fp r e f e t c h i n gm o d e li s i l 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 a b s t r a c t i m p l e m e n t e di nt h es e r v e rs i d eo f t h ef i a m e w o r k w h a ti sm o r e ,t h i st h e s i si l l u s t r a t e s t h ea p p l i c a t i o no ft h em o d e li n t h i sw e bs i t e ,t h u ss o l v i n gt h ep r o b l e m sm e n t i o n e d a b o v e k e yw o r d s :p r e f e t c h i n gm o d e l ,s n s ,a j a x ,e v e n ts t r e a md a t aw a r e h o u s e ,c a s eb a s e d r e a s o n i n g m 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论 文不包含任谢其他个入或集体己经发表或撰写过的作品戚栗。对本文 的研究作出菱要贡献的个人和集体,均已在文中以鹗确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:芬电镌, 冒期:桫霉年雪胃羔旦 学位论文使用授权声明 本人完全了解中出大学有关保留、使用学位论文豹娥定,即:学 校有权保留学位论文并向国家主管部门或其指定机构遴交论文的电 子版和纸质版,有权将学位论文用于菲赢剃昏的的少量麓箭并允许论 文进入学校图书耄蠡、院系资料室被查窝,有权将学位论文的蠹容编入 有关数据库进行检索,可以采用复印、缩印或其他方法保存学位论文。 学位论文作者签名:霉世懈 导瓣签名:隍缘嘏 旦期:鼬砻9 年 月曰 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用 第1 章引言 第1 章引言 在本章中主要介绍s n s 网站的背景和发展,并且介绍了与基于a j a x 预读取 相关的技术,包括a j a x 技术、基于案例推理技术。 1 1w e b 2 0 的兴起 在1 9 9 1 年t i mb e m e r s l e e 提出了h t t p 、h t m l 的概念,并建立了最早的 几个网页。在随后的几年中,万维网还仅仅被用于学术和技术领域 1 】。而到了 1 9 9 6 年,由于浏览器得到了普及,万维网得到快速的增长。在这段时间里,人 们将网站视为如同电视、报纸、杂志等传统媒体一样的发布信息的媒介,虽然这 段时期用户也可以和站点进行一些简单的交互,比如用户登录,数据查询,提交 数据等,但这些网站总体来说还是一种信息提供浏览的模式。这段时期的w e b 应用被称之为w e b l 0 ,而对于具有查询数据,提交数据等简单用户交互的w e b 应用,则被称之为w e b l 5 2 】。 在2 0 0 4 年,在o r e i l l y 和m e d i a l i v e 公司的一次头脑风暴会议上,d a l e d o u g h e r t y 提出了w e b2 0 的概念,他指出w e b2 0 不再将网站视为一种简单的 信息发布的手段。而是将网站看作是一个平台,它强调是用户与网站之间的互动, 通过鼓励用户和网站进行交互,由用户来提供内容,通过用户来为网站增加价值。 他们还指出w e b2 0 网站的一些关键原则: 1 将w e b 站点视为平台。 2 充分利用群体智能。 3 数据是站点的“i n t e li n s i d e 。 4 丰富的用户体验。 5 快速的反应能力。【3 】 由上述w e b2 0 网站的关键原则可以看到,系统的响应速度和丰富的用户体 验在w e b2 0 网站中具有关键的作用。为了提供丰富的用户体验,这类网站通 常采用了a j a x 技术,使得系统的界面部分功能接近于传统桌面的应用。网页可 以在不用被完全重新装载的情况下更新页面部分数据,如果系统的响应时间过 长,这种功能带来的好处则被漫长的等待所遮盖,因此一个良好的预读取解决方 l 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用第1 章引言 案对w e b 2 0 的网站来讲,具有重要的意义。 1 2a j a x 技术 传统的w e b 应用是请求响应的模式,用户只需要在浏览器中点击链接或者 直接在浏览器地址栏中输入u r l ,w e b 服务器返回用户需要的内容,这种方式 和客户端服务器应用相比较,不要求每一个客户端下载或更新特定软件,决了 传统客户端服务器应用所面临的部署问题。 但这种请求响应的模式要求每一个用户请求都由服务器进行处理,然后由服 务器返回整个文档,在浏览器得到文档之后,重新装载显示整个新的页面。这种 方式存在的不足之处是响应时间较长,不够灵活。 a j a x 技术改变了这种传统的请求响应的模式。a j a x 的全称是 a s y n c h r o n o u sj a v a s c r i p ta n dx m l ,是在2 0 0 5 年j e s sj a m e sg a r r e t 在他的文章 a j a x :an e w a p p r o a c ht ow r e ba p p l i c a t i o n s 中首次提出了这个概念。在这篇文章 中,j e s sj a m e sg a r r e t 指出a j a x 不是一个特定的技术,它是对一系列已有的技 术综合应用,这些技术包括h t m l x h t m l 、c s s 、d o c u m e n to b j e c tm o d e l 相关 的操作和处理技术、x m l x s l t 、基于x m l h t t p r e q u e s t 的异步数据传输机制、 j a v a s c r i p t 等等【4 】。下图为a j a x 的原理图: 2 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用第1 章引言 图1 1 传统h t t p 请求交互方式与a j a x 交互方式对比图 由上图可见,a j a x 技术改变了传统的请求等待请求等待的处理模式,变 成为请求用户继续浏览当前页面( 浏览器后台处理数据传输) 一用户看到更新的 结果( 浏览器后台数据传输完毕) 的模式,显然这种模式使用户界面更加友好, 并且由于每次只传输需要更新的数据,从而降低了网络数据的传输量。 1 3 预读取技术 在计算机科学领域,无论是硬件还是软件中,缓存技术都已得到广泛的应用。 缓存指的是将用户已经使用过的数据保存于一个可相对快速访问的存储区中,当 用户需要再次使用这部分数据的时候,如果重新计算或重新获取这部分数据,占 用的资源或者时间成本较高,如果从这个快速存储区中读取这部分数据,则可以 显著提高系统的性能。这种缓存技术被视为是被动的缓存,这是由于在这种方式 下,只有使用过的数据才会进入这个快速存储区。为了进一步提高系统的性能, 充分地利用硬件资源,于是便又有了预读取技术。 预读取技术指的是根据操作历史数据,采取一定的算法分析出用户下一步可 能要使用的数据,预先计算或获取这部分数据,并将其放入一个快速存储区中。 当用户需要使用这部分数据的时候,系统可以快速地得到这部分数据。预读取技 术和缓存技术相似之处是都将数据放入一个快速的存储区中,而不同之处在于预 读取技术是主动地进行预测,预测出用户有可能使用的数据放入存储区中,因此 预读取又被称之为主动缓存。这种技术在文件系统的设计中经常被使用,用来提 高硬盘访问速度 5 】。预读取技术的关键之处在于预读取算法选择,即如何是根 据用户的历史操作数据,高效准确地预测下一步有可能使用的数据。 在微软的浏览器i n t e m e te x p l o r e 中,具有一个缓存的功能,浏览器将用户浏 览过的网页、图片、脚本数据等存放入浏览器的一个缓存文件夹中,当浏览器再 次请求相关数据的时候,如果这部分缓存中的数据没有达到过期时间或者服务器 返回3 0 4 头信息表示数据未更新,浏览器会从缓存文件夹中读取这部分数据,从 而减少了重新传输这部分数据所需要的时间,从而减少了重新打开网页资源所需 要的时间。 在微软的操作系统w i n d o w sx p 中存在着一个预读取的功能,当程序运行时, 3 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 第1 章引言 操作系统记录该程序需要经常读取的程序段或者数据段,并以p f 格式的文件将 操作记录保存在w i n d o w s f r e f e t c h n 录下面。而当下一次运行该程序时,操作系 统将读取该程序对应的p f 文件,并根据该文件中的记录,预先读出程序段或数 据段,从而减少内存和硬盘的数据交换次数,提高了程序的响应速度。而在微软 新一代操作系统w i n d o w sv i s t a 中,更是引入了新的预读取技术s u p e r f e t c h , s u p e r f e t c h 监控用户使用程序的情况、程序的运行时间,将用户使用最频繁或最 有可能要使用到的程序预先装入内存,从而当用户运行该程序时,提高系统的响 应速度 6 】。 随着硬件性能的提高,如网络带宽增加、内存容量的提高,为了更充分地利 用这些硬件资源,提供给用户更好的体验,缓存和预读取技术的意义都变得越来 越重要。 1 4 基于案例推理技术 一般的推理过程是根据一个公理库和一系列推理规则,导出新的判断的过 程。而基于案例的推理则与之不同,它将已有的知识视为一系列案例的集合,而 不是视为一个公理库或推理规则的集合 7 】。每当遇到新问题的时候,系统通过 查找与新问题最相似的案例,来获得新问题的解。可以看出来,基于的案例推理 是一种基于记忆的推理方式,这种推理方式经常地被法律、经济、医疗等部门所 使用。例如在医学界,通过学界的经验积累的已经积累了大量的诊断案例,当遇 到新的病人案例时,可以参考过去的典型案例来帮助医生作出诊断的决策。 基于案例的推理方式通常包括四个过程,一是知识的获取,这个过程是解决 如何从大量的经验中提取出典型的案例以及如何进行增量学习,从来解决案例的 来源问题;二是知识的维护,这个过程设计到如何对案例进行组织,如何对案例 建立索引,解决案例的存储问题;三是当遇到新问题的时候,如何进行相似度评 估,从系统中找到最接近的案例;四是如何根据查找到的相似案例,对它的解进 行适应性调整,作为新案例的解;五是用户的反馈,根据该案例的应用情况,对 典型案例的参数进行更新,是一个对案例库的进行优化的过程【7 】。 基于案例的推理方式解决的问题通常是采用其它方式难于求解的问题,问题 的领域尚未或者难以建立完整的理沦米对问题进行分析进行支持,这类问题通常 4 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用第1 章引言 是n p 难的问题,而基于案例的推理方式往往可以以相对较快的速度进行求解。 基于案例推理系统较多地应用在诊断系统和专家支持系统中,由于在这里系 统中历史案例中包含的信息,对新案例具有较好的借鉴作用,并随着历史案例数 量的不断增加,并通过新案例的不断反馈,系统的求解成功率会不断增高 3 5 3 8 3 9 】。 1 5 社会性网络站点定义 美国哈佛大学的社会心理学家米尔格伦在1 9 6 1 曾提出了六度分割理论,这 个理论指出在这个世界上任何两个人之间的联系不会超过五个人,这个理论的意 义在于表明:世界上任何两个人都能通过一种方式互相联系起来。在1 9 9 7 年底 一个被认为是社会性网络站点s i x d e g r e e s t o m 建立了起来。在这个网站,每一个 用户可以建立自己的个人档案( p r o f i l e ) ,建立和维护自己的好友列表。每个用 户的好友列表都公开或者半公开地显示,这样每一个用户可以看到他的好友的好 友列表,这样网站的用户便可以通过好友的好友形成了一个网络。虽然即使在当 时,好友列表和个人档案都不是新的功能,但s i x d e g r e e s c o m 是第一个将好友列 表公开,用户可以访问好友的好友列表,是第一个社会性网络站点。 在d a n a hm b o y d 和n i c o l eb e l l i s o n 的论文中给出了s n s 网站的定义,他 们指出社会性网络站点( s o c i a ln e t w o r ks i t e ) 是基于六度分割理论建立和发展的 站点,它包含如下两个功能特征:1 ) 每一个用户都拥有一个一个公开或半公开 的个人档案文件,2 ) 用户之间互相共享好友列表,用户可以遍历查看由这些好 友关系组织形成的网络【8 】。 通常每一个成功的s n s 网站都有自己的定位,针对不同的用户群体。这些 用户群体可根据用户的身份特征进行划分、也可根据用户的兴趣爱好进行划分。 如中国的校内网便是主要针对在校的学生,给他们提供了一个全方位的互动交流 平台,提高了他们之间的交流效率并降低了维持联系的成本,在此基础之上提供 日志、相册、音乐视频共享等功能,搭建了一个丰富高效的交流平台【9 】9 ;而天 际网则主要针对商务人士,帮助用户集结、维护自身的人际关系,并使他们可以 互相分享商务活动,通过提供在线的商务活动的支持,来提高用户职业及商务社 交能力;再比如豆瓣网则针对电影、书籍、音乐感兴趣的用户群体,具有相同兴 5 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用第1 章引言 趣的用户组成友邻、小组,他们发表有关书籍、电影、音乐的评论,可以搜索好 友的推荐,网站上所有的内容、分类、筛选、排序都由用户产生和决定。 s n s 网站是一种典型的w e b 2 0 网站,其中大量使用了a j a x 或者d h t m l 技术来提供更丰富的用户界面,对于这种类型的网站,更快的用户响应时间( 无 论是基于a j a x 的界面部分内容更新还是整个页面的装载) 都会给用户带来更好 的体验,增加网站的竞争力。同时由于这类网站更多的使用了a j a x 来进行后台 数据的传输,用户停留在单一网页的时间有所增加,用户的带宽具有更多闲置时 间,这也使得预读取技术的应用空间更加广阔,如果能够将这部分闲置时间充分 利用,使浏览器可以在这段时间,对用户下一步可能会使用到的数据资源进行预 读取,可以降低系统的响应时间,从而提高网站的竞争力。 6 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用 第2 章w e b 预读取技术研究现状及问题 第2 章w e b 预读取技术研究现状及问题 在本章中介绍了w e b 预读取技术的研究现状,包括不同的w e b 预读取架 构和目前出现的不同的预读取模型,以及w e b 预读取在商业领域中的应用。 2 1 w e b 预读取架构的研究现状 研究w e b 领域的人非常的多,从w e b 预读取技术的实现架构来看,目前 预读取架构分为三类,1 ) 是基于服务器的w e b 预读取,2 ) 基于代理服务器的 w e b 预读取,3 ) 是基于客户端a g e n t 的w e b 预读取。这种分类方式是根据预 读取算法的实现位置来进行分类的【1 0 】 1 1 】【1 4 】。 基于w e b 服务器的预读取通常针对计算耗时较长或查询费时较长的的页 面,原先计算完毕,放入w e b 服务器的存储区中,这样当用户读取该部分数据 的时候,减少了w e b 服务器重新计算产生该部分数据的时间,对于网络带宽是 客户端响应时间的主要影响因素的情况,这种预读取技术改善太大。 基于代理服务器的w e b 预读取拥有大量历史操作数据可以使用,这是由于 代理服务器处于浏览器和w e b 服务器之间,它可以记录下每一个用户请求操作 在代理服务器中,通常存在一个缓存的功能,而代理服务器和用户通常处于一个 组织之内,两者之间的网络延迟( 可被视为内部延迟) 小的多,如果用户请求的 对象已经存在于代理服务器的缓存中,相比于用户和w e b 服务器之间的外部延 迟,可以很快地得到请求的对象 1 0 】。t h o m a sm k r o e g e r d a r r e l ld e l o n g 的研 究发现,这种基于代理服务器的缓存方式只能有限地减少系统的延迟时间,极限 值大约为2 6 1 2 。因此如果希望进一步降低系统的相应时间,便需要采用主动 缓存即预读取的方式来降低系统的响应延迟时间。基于代理服务器的w e b 预读 取技术通常根据代理服务器所记录的用户请求数据,采用一种智能算法,分析出 用户下一步较大概率使用的w e b 对象,请求w e b 服务器获得这部分对象,并 将它们放入这部分缓存中。从而进一步减少了响应延迟时间,减少的极限值可以 达到5 7 1 2 】。 基于客户端的预读取技术多采取基于a g e n t 的w e b 预读取技术,这种技术 通过在浏览器中安装一个第三方的软件,这个第三方的软件通过记录用户的访问 7 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用第2 章w e b 预读取技术研究现状及问题 记录或者读取浏览器的缓存区,分析出用户的兴趣,从而对当前浏览器页中所链 接到的页面进行预读取 1 1 1 1 3 。这种方法的不足之处是这种a g e n t 软件并不是 很流行,需要用户安装了这类软件才能够使用预读取的功能。另外一个缺点是预 读取算法可以使用得数据相对较少,只能够使用单个用户在客户端的数据。 2 2 w e b 预读取算法模型研究现状 国内外有很多人对w e b 预读取的算法模型进行研究,并且已经出现了多种不 同的w e b 预读取模型。按照预读取算法的原理可将这些预读取模型分为基于概 率和隐马尔可夫模型的预读取模型、基于序列模式的预读取模型、基于语义的预 读取模型、基于w e b 资源访问频率的预读取模型、基于神经网络的预读取模型 等等【1 5 1 6 】【1 7 】 1 8 1 9 】【2 0 【2 1 【2 2 】 2 3 】【2 4 2 5 】 2 6 】 2 7 】。 基于概率的预读取模型往往采用隐马尔可夫模型。如许欢庆、王永成、孙强 等提出了基于隐马尔可夫模型的w e b 预读取模型 2 2 】,这个模型认为,在网页 之间的链接中,包含着网站设计者赋予的一种语义,如果能够通过对网站的日志 进行分析,得到用户的访问路径,并分析访问路径中包含的语义,从而得到这个 访问路径中包含着的信息需求信息,将其作为隐马尔可夫模型的输入,从而求得 用户下一步可能读取的页面集合。 基于序列模式的预读取模型模型过对用户访问序列分析,挖掘出频繁出现的 序列模式,分析频繁序列模式之间的联系。通过分析当前用户序列中出现的频繁 序列模式,来分析用户可能进行的下一步操作,据此来进行网页预读取。如j a m e s p i t k o wa n dp e t e rp i r o l l i 提出的基于长序列模式的预读取模型,通过查找出用户访 问序列中的长频繁模式( l r s ) ,依据查找到的长模式对根据用户当前访问记录 进行预读取决策0 7 。再如赵越和刘衍珩等人提出了采取了使用客户端代理的 w p c 算法的预读取模型 2 5 】,这个算法通过对w e b 服务器的日志进行分析和划 分,得到一个用户访问事务数据库,然后通过对挖掘用户访问事务数据库中的频 繁模式,然后根据查找当前用户访问记录中出现的频繁模式,依据这个频繁模式 对用户未来的操作进行预测,从而计算出用户有可能读取的网页。 基于语义的预读取模型通过挖掘链接之间的语义信息来实现w e b 预读取。如 徐宝文和张卫丰提出了采用使用客户端代理的基于用户兴趣的数据挖掘技术预 8 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用 第2 章w e b 预读取技术研究现状及问题 读取算法 2 3 】,这个算法提出了兴趣节点的概念,将兴趣视为一个二元组( t , w e i g h t ) ,通过用户的访问历史记录情况,建立和维护一个兴趣关联的知识库, 然后智能代理通过分析用户的历史访问数据,分析出用户有可能预取的当前页面 的链接。 基于w e b 资源访问频率模型通过统计各个w e b 对象被访问的频率,生成 流行对象的集合。然后代理服务器使用该算法定时从不同w e b 服务器中获取流 行对象集合中各个对象的最新版本。如e v a n g e l o sp m a r k a t o sa n dc a t h e r i n e e c h r o n a k i 提出的t o p - l o 模型 1 6 】,这种模型认为“流行的资源都很受欢迎”, 通过记录每个w e b 服务器中最流行的w e b 资源,通过代理服务器来对这些资 源进行的预读取。 基于神经网络的预读取模型认为用户通常根据链接中包含的词汇来进行访 问,例如对关键词“广州 感兴趣的用户通常会对词汇“粤 感兴趣,基于这个 规则来进行预测。如t a m e ri i b r a h i m 和c h e n g z h o n gx u 提出的基于神经网络 的预读取模型,通过监控用户的访问记录,通过分析用户偏好的关键词,然后通 过使用神经网络算法,基于这些关键词预测出用户感兴趣的关键词,进行预测用 户可能下一步读取的页面 2 6 。 2 3 商业领域的w e b 预读取 在基于服务器端的预读取技术中,通常根据根据w e b 服务器所收集的用户 访问数据分析用户感兴趣的页面,如g o o g l e 搜索结果中的“类似网页 链接。 再如a p a c h e 的一个o r m 框架c a y e n n e 2 9 】,其中便提供了对数据库中数据的预 读取技术的支持,在这个o r m 框架中,开发人员可以创建查询s e l e c t q u e r y ,通 过调用s e l e c t q u e r y 的a d d p r e f e t c h 方法来实现对数据库中的数据进行预读取 2 9 】。 可以看出这种预读取的方式主要是以a p i 的方式提供的,并没有提供一个对预读 取对象进行选择的算法。 在基于代理服务器端的预读取技术中,如在微软公司的代理服务器软件 m i c r o s o f ti s as e r v e r 中,就提供了对预读取功能的支持,在这个代理服务器软件 中,存在一个j o bs c h e d u l e rs e r v i c e 组件 2 8 】,通过配置这个组件,管理人员可以 配置需要进行预读取的网站,也可以配置对代理服务器中缓存中的数据进行定时 9 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 第2 章w e b 预读取技术研究现状及问题 的更新。 在基于客户端的预读取技术中,有c n e t 网络公司的n e t s o n i c 网络加速软 件,还有n a v i s c o p e 公司的软件n a v i s c o p e ,这些软件都作为浏览器的一个插件, 来辅助用户进行浏览,根据已经浏览的网页的链接,分析出网站的结构图,然后 队在浏览器进行浏览的时候,对这些链接进行预读取。另外也有软件如w e b m i r r o r 通过预读取当前文档的所有链接来加快访问速度。而这些软件都由于需要在浏览 器中安装第三方的插件或者安装桌面应用程序,使用不够方便,都没有得到广泛 的普及。 2 4 目前w e b 预读取领域存在的问题 目前w e b 预读取领域中的问题主要有,第一对站点的影响,例如不小心删除 网站内容之类的误操作;第二是预读取的算法应用多集中在代理服务器中,而目 前相当多的用户并没有使用代理服务器来访问互联网。 在目前基于客户端的缓存技术中,多采用a g e n t 预读取技术实施,由于这种 a g e n t 在实际应用中非常不普及,所以预读取技术在实际客户端应用中使用的不 多,并且基于a g e n t 的预读取模型中预读取算法所使用的数据仅仅使用了客户端 单个用户所产生的历史数据,没有能够充分地利用到服务器中集中的大量的信 息,因此预读取算法的精确度也受到了较大的限制。 随着a j a x 技术的出现和发展,使得不使用这类浏览器插件也可以实现预读 取的功能。如在g o o g l em a p s 中,当用户在浏览地图的时候,该页面使用了a j a x 技术在后台读取出当前地图四周的地图数据,当用户在上下或左右地图的时候, 地图装载的速度明显减少。这是一个典型的a j a x 的w e b 预读取的实现,但是其 不足之处是其预读取算法比较简单,针对的应用领域过于窄,不方便广泛地应用 到其它领域。 2 5 本文的主要内容 2 5 1 本文贡献 本文主要提出另外一种预读取的架构,即基于a j a x 的w e b 预读取架构, 1 0 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 第2 章w e b 预读取技术研究现状及问题 这个架构与过去各种预读取模型的不同之处在于不是根据用户的点击访问同志, 来预测用户的行为,而是通过分析用户浏览器端所发生的各种事件来分析用户行 为。而这些事件则包含了传统的访问日志的所有信息,并且信息量比传统的用户 访问日志的方式大约2 0 倍,因此使得更加准确的预测用户的行为成为了可能。 基于代理服务器的架构通常收集所有用户访问所有w e b 服务器的访问日志 来进行预读取,因此改善的是代理服务器的所有用户,通常是在一个内部网中的 用户。而基于客户端a g e n t 通常针对单独的一个用户访问所有的w e b 服务器, 改善的仅仅为装有客户端a g e n t 的系统地性能。而基于a j a x 的预读取功能则针 对一个特定的网站的所有用户,这个框架包含了用户客户端事件收集的功能、预 读取算法实现、数据预读取等功能,是一个新颖的完整的预读取解决方案。 基于a j a x 的预读取架构和基于代理服务器和基于w e b 服务器的预读取存 在一些关键的不同之处,后两者代理服务器和w e b 服务器都有较长的运行时间, 因此有足够的运行时间去执行预读取的功能,而基于a j a x 的客户端预读取功能 则只有在用户打开浏览器的时候才有可能去执行预读取的功能,可以执行预读取 的时间相对少了很多。另外,基于a j a x 的客户端预读取所使用的缓存在客户端, 往往是i e 浏览器缓存文件夹或者是i e 浏览器运行时的内存之中,相比于基于代 理服务器的缓存和基于w e b 服务器的缓存,可以使用的缓存数量小了很多。除 此之外,在s n s 应用中,对数据的实时性要求也高了很多,如果用户获取的预 读取的数据为过期的数据,则会使网站的功能大大受到影响。 由于以上三个关键的不同之处,使得基于a j a x 的w e b 预读取和基于代理 服务器或w e b 服务器的预读取不仅在系统实现的架构上还是预读取的算法上, 都有很大的区别。本文主要针对基于a j a x 的w e b 预读取的框架和算法进行研 究。 另外本文并提出了一种基于案例推理的预读取模型。这个模型通过对用户的 历史事件流进行分析,形成案例库。对用户新产生的事件流产生的新案例,并通 过查找案例库中的相似案例,来对新案例进行求解,得到要进行预读取的页面。 是一种实用性较强的算法。 基于a j a x 的w e b 预读取模型的设计与在s n s 网站中应用 第2 章w e b 预读取技术研究现状及问题 2 5 2 主要内容及写作结构 本文首先对社会性网络站点的发展背景进行介绍,然后介绍了现有的预读取 架构和预读取算法模型。然后在本文接下来的部分首先介绍了基于a j a x 的预读 取实现架构,并讨论了一个可以更有效实施预读取算法的网站应该满足的约束条 件,然后在第四章提出了基于案例推理的预读取模型,在这一章中讨论了基于案 例推理如何应用在w e b 预读取领域,解决了如何从事件流到案例、案例的组织和 查询、案例相似度评估等问题,在第五章中讨论了预读取框架的设计和实现以及 如何应用到一个具体的s n s 网站当中,在第六章中对预读取框架的实施结果进行 评估,最后总结全文,并对进一步的工作提出了一些想法。 1 2 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾应用 第3 章可预读取s n s 网站的架构风格 第3 章基于a j a x 可预读取s n s 网站的 架构风格 在本章中讨论了w e b 资源的特征以及这些特征与预读取之间的关系,并提 出了事件流数据仓库的概念,然后对一个可有效进行预读取的网站应满足的约束 进行了讨论。 3 1 基本定义 定义1w e b 资源r ,w e b 上的每一个网页、图片、以及其它文件都被视为 一个资源,资源具有唯一的标识符u r l ,资源可以表示为一个向量r ( u r l ,l i f e t i m e , p o p u l a r i t y ,s i z e ) 。 定义2 资源预期更新周期l ,w e b 上不同类型的资源具有不同的更新频率, 如图片、j a v a s c r i p t 脚本文件、静态h t m l 文件有较长的更新周期,而根据用户 动态产生的资源则具有较短的预期更新周期。 定义3 用户p r o f i l e 。网站用户的特征信息。用户的行为通常与用户的特 征信息有关联。u s e r ( u s e r ,丘i e n d s ,a g e ,i n t e r e s t ,l o c a t i o n ) 。 定义4 用户远程事件e ,发生在用户的浏览器端发生的事件,包括g u i 事件 和浏览器事件,e 可表示为一个向量,e ( t i m e ,r e s o u r c e ,t y p e ,s e q ,t a r g e t ,u s e r ) 。 定义5 可预读取资源包p ,预读取资源包是可预读取资源r 的集合,p ( r l , r 2 ,m ) ,用来对一系列需要同时进行预读取的相互关联的资源集合,如一个 网页资源和该网页中使用到的图片资源、j a v a s c r i p t 脚本资源等等。 定义6 用户事件序列q ,为在时间上连续的用户事件的集合。 定义7 用户访问路径,为用户事件序列对t y p e = r e q u e s t 的投影,( e 1 r e s o u r c e , e 2 r e s o u r c e ,e n r e s o u r c e ) ,表示用户访问的w e b 网页资源的序列。 3 2w e b 资源的特征 w e b 具有各式各样的对象,如图片、网页、脚本以及各式各样的文件,可 以将这些对象统一视为w e b 资源,这些资源具有一些共同的特征。为了使系统 1 3 基于a j a x 的w e b 预读取模型的设计与在s n s 网站巾戊用第3 章可预读取s n s 网站的架构风格 能够进行预读取,有必要对w e b 资源的特征进行讨论,下面讨论w e b 资源的 一些属性。 3 2 1 资源的标识符 在以往的预读取技术中,为了防止对数据造成不恰当的操作,往往限制只能 够对可预读取的u r l 限制,如限制预读取算法不能对包含的c g i - b i n 的u r l 进 行更新,不能够对以p o s t 方式的对u r l 进行预读取,但是这种方式存在相当大 的局限性,由于对于s n s 站点,大部分数据内容都是动态从数据库中读取的, 而不是静态文件组成的,仅仅根据u r l 中的是否包含某一名称不足以判断该 u r l 是否会产生数据的更新操作,而有些g e t 操作同样有可能对数据造成不恰当 的操作。为了实现预读取算法,有必要对s n s 网站的设计进行一些规范化。 r o yt h o m a sf i e l d i n g 认为长期以来,对u r l 往往存在着一些误用,即u r l 不仅被用来作为资源标识,其中的部分信息还被用来表示对资源的操作【3 0 】,如 一个常见的这样的u r l - h t t p :w w w e x a m p l e c o m p a t h d e l e t e j s p ? i d = 3 。这样的 一个u r l 并不是定位于一个具体的资源,而是表示对一个资源的操作。这样的 u r l 将资源的定位h t t p :w w w e x a m p l e c o r n p a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论