信息资源组织与管理课件

上传人:txadgkn****dgknqu... 文档编号:241703002 上传时间:2024-07-17 格式:PPT 页数:79 大小:1.14MB
返回 下载 相关 举报
信息资源组织与管理课件_第1页
第1页 / 共79页
信息资源组织与管理课件_第2页
第2页 / 共79页
信息资源组织与管理课件_第3页
第3页 / 共79页
点击查看更多>>
资源描述
第5章信息资源采集-网络爬虫与Mashup第5章信息资源采集-网络爬虫与Mashup主要内容5.1网络爬虫5.2Mashup主要内容5.1网络爬虫5.1 网络爬虫网络爬虫5.1网络爬虫5.1.1 网络爬虫概述网络爬虫是负责通过互联网自动抓取网页的系统程序,在抓取的过程中下载Web页面,再根据所得到页面内的超链接关系进一步实现页面抓取,通过不断地这样迭代动作,从而完成Web页面的采集工作。5.1.1网络爬虫概述网络爬虫是负责通过互联网自动抓取网页传统网络爬虫结构传统网络爬虫结构开始运行后,使用种子URL地址初始化抓取地址池,抓取地址池里的URL地址就是爬虫所要爬行的范围,然后判断任务是否终止,如果是,就直接停止抓取任务;如果不是,就从地址池中取出下一个URL,访问该地址所指向的页面,保存到磁盘上,然后解析网页中的超链接元素,提取出其中的uRL地址,将其添加到抓取地址池中,再返回判断任务是否终止的步骤,如此循环。传统网络爬虫结构开始运行后,使用种子URL地址初始化抓取地址传统网络爬虫结构存在的问题传统的网络爬虫都不约而同的避开了网页内容的分析,而是将重点放在了网页的超链接上,这就不可避免的存在一个问题,就是爬虫所抓取的页面是不是用户在搜索时所关心的内容?所以需要想办法来约束网络爬虫,约束的方法主要是在网络爬虫的爬行范围和抓取对象上实现。传统网络爬虫结构存在的问题传统的网络爬虫都不约而同的避开了网约束网络爬虫的方法限制解析出来的URL地址添加到抓取地址池中,使得符合某种要求的地址才可添加到抓取地址池中;调整抓取地址池中的URL抓取优先级来对将要抓取的地址进行排序,从而调整抓取网页的顺序。深度优先广度优先最佳优先约束网络爬虫的方法限制解析出来的URL地址添加到抓取地址池中(1)广度优先算法广度优先算法(Breadth-First-Search)是一种圆形搜索算法,也称为横向优先搜索。简单的说,就是将网站里的URL地址按照其目录结构分层,并生成一棵树,然后从树的根开始一层一层向下访问,也就是上一层URL比下一层的URL具有较高的抓取优先级。(1)广度优先算法广度优先算法(Breadth-First-使用广度优先算法对此网站进行爬行访问,所得到的访问路径顺序将会是:访问路径1:A访问路径2:B一C一D访问路径3:E一F一G访问路径4:H一l一J访问路径5:K某网站层次结构使用广度优先算法对此网站进行爬行访问,所得到的访问路径顺序将广度优先算法存在的问题如果网络爬虫采用广度优先算法对网站进行访问,它将访问很多不同的网站,具有较大的覆盖面,但是对于每个网站而言,他都会是浅尝辄止,因为较深层次的网页的优先级比较低,网页数量一旦过大,爬虫将很难在短时间内访问这些深层次的网页。所以该算法主要针对于早期的互联网以及限定较小抓取规模的爬行任务。广度优先算法存在的问题如果网络爬虫采用广度优先算法对网站进行(2)深度优先爬行算法目前互联网上的网站,其主要内容一般没有处在顶上面的层次,最上面层次里的网页一般是深层次网页的索引,所以深度优先算法主要是为了弥补广度优先算法无法充分获取网页信息的缺点。深度优先算法简单的说就是从网站的第一层起始页面开始访问,然后再访问此页面链接下一个层次的页面,如此反复,也就是一个链接一个链跟踪下去,直到处理完此链对应的最深层次的页面,才会重新转到起始页的下一个链接上去。(2)深度优先爬行算法目前互联网上的网站,其主要内容一般没有如果使用深度优先算法访问此网站,那么它的访问路径顺序会是:访问路径1:A一B一E一H访问路径2:A一B一E一I访问路径3:A一C访问路径4:A一D一F一J一K访问路径5:A一D一G一J一K某网站层次结构深度优先算法每次都是从第一层选择一条线路一直访问到这条线的最底层,然后再从第一层开始选择另外一条线继续访问,但是爬虫就有可能在一个页面上访问多次,这样会降低爬虫的效率。如果使用深度优先算法访问此网站,那么它的访问路径顺序会是:某优化后的爬行路径为:访问路径1:A一B一E一H访问路径2:I访问路径3:C访问路径4:D一F一J一K访问路径5:G某网站层次结构优化后的爬行路径为:某网站层次结构深度优先爬行算法存在的问题深度优先算法最大的特点就是可以获得网站放置在深层次的页面内容,但是缺点也十分明显,因为它非常容易导致爬虫陷入某个网站而出不来,而且其覆盖也比较小,不适合需要访问大面积网站的任务。深度优先爬行算法存在的问题深度优先算法最大的特点就是可以获得(3)最佳优先爬行算法最佳优先算法实际上是前面两种算法的有机结合,并且和网页分析结合在一起。在网络爬虫使用最佳优先算法访问网页的时候,算法会兼顾爬行深度和广度。例如限制其一般网站的访问深度,或对即将要访问的链接做分析,判断此网页是不是有价值的网页,如果是,就进行访问。这种算法最大的问题就是如何才能判断一个网页到底是不是有价值的网页。关于这个问题就要使用到页面分析算法了。(3)最佳优先爬行算法最佳优先算法实际上是前面两种算法的有机页面分析算法基于网络拓扑的分析算法(或链接分析算法)依靠同类网页之间会相互添加链接指向对方,通过己知网页,对和其有直接或间接链接关系的网页进行评价,以此作为是否抓取的依据。基于网页内容分析算法根据网页内容与所要抓取的主题进行相关度评价,将评价高的网页进行抓取保存。页面分析算法基于网络拓扑的分析算法(或链接分析算法)PageRankGoogle创始人拉里佩奇和谢尔盖布林于1997年构建早期的搜索系统原型时提出的链接分析算法,是其他搜索引擎和学术界十分关注的计算模型。PageRankGoogle创始人拉里佩奇和谢尔盖布林于PageRank算法原理(1)PageRank的计算充分利用了两个假设:数量假设和质量假设。步骤如下:在初始阶段:在初始阶段:网页通过链接关系构建起Web图,每个页面设置相同的PageRank值,通过若干轮的计算,会得到每个页面所获得的最终PageRank值。随着每一轮的计算进行,网页当前的PageRank值会不断得到更新。在一轮中更新页面在一轮中更新页面PageRank得分的计算方法:得分的计算方法:在一轮更新页面PageRank得分的计算中,每个页面将其当前的PageRank值平均分配到本页面包含的出链上,这样每个链接即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的PageRank得分。当每个页面都获得了更新后的PageRank值,就完成了一轮PageRank计算。PageRank算法原理(1)PageRank的计算充分利假设所有网站的PageRank的值是均匀分布的。这意味着,如果有N个网站,那么每个网站的PageRank初始值都是1/N。现在假设有4个网站A、B、C、D,则它们的初始PageRank都是0.25,它们的链接关系如下:则初始值PR(A)=PR(B)=PR(C)=PR(D)=0.25,又因为B、C、D都有指向A的链接,因此,它们每人都为A贡献了0.25的PageRank值,重新计算A的PageRank值为:PR(A)=PR(B)+PR(C)+PR(D)=0.75,由于B、C和D并没有外部链接指向它们,因此PR(B)、PR(C)、PR(D)在这次计算中将被赋值为0。反复套用PageRank的计算公式,来看一下,这种情况下PageRank的收敛性,在第二次迭代之后,所有的PageRank值就都是0了:假设所有网站的PageRank的值是均匀分布的。这意味着,如信息资源组织与管理课件PageRank算法原理(2)PageRank值计算过程的一般步骤可以概括如下:为每个网站设置一个初始的PageRank值。第一次迭代:每个网站得到一个新的PageRank。第二次迭代:用这组新的PageRank再按上述公式形成另一组新的PageRank。PageRank算法原理(2)PageRank值计算过程的一PageRank算法原理(3)由于存在一些出链为0,也就是那些不链接任何其他网页的网,也称为孤立网页,使得很多网页能被访问到。因此需要对 PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数阻尼系数q。q表示在任意时刻,用户到达某页面后并继续向后浏览的概率,一般取值为0.85。1-q=0.15就是用户停止点击,随机跳到新URL的概率PageRank算法原理(3)由于存在一些出链为0,也就是那PageRank算法原理(4)拉里佩奇和谢尔盖布林在The Anatomy of a Large-scale Hypertextual Web Search Engine Computer Networks and ISDN Systems 定义的公式。所以一个页面的PageRank是由其他页面的PageRank计算得到。Google不断的重复计算每个页面的PageRank。如果给每个页面一个随机PageRank值(非0),那么经过不断的重复计算,这些页面的PR值会趋向于正常和稳定。这就是搜索引擎使用它的原因。PageRank算法原理(4)拉里佩奇和谢尔盖布林在T5.1.2 网络爬虫的分类根据抓取网页的内容是否具有边界性,网络爬虫可分为通用爬虫和主题爬虫。通用爬虫没有对抓取目标网页内容限定范围,仅仅是从种子网页超链接开始,不断从当前页面上抽取新的超链接放入待爬行队列,直到满足系统的停止爬行条件为止,期间经过简单的去重处理后,就可以形成网页采集库。主题爬虫(FocusedCrawler)是能够自动识别网络文档主题性,进行在特定主题内抓取网页的智能程序,且能够独立地完成抓取工作和主题决策,采集的主题信息形成领域边界空间,为垂直领域搜索提供主题数据支持。5.1.2网络爬虫的分类根据抓取网页的内容是否具有边界性,通用网络爬虫的一般工作流程通用网络爬虫的一般工作流程通用网络爬虫的一般工作流程主题爬虫需要解决的问题主题网络爬虫要较好地完成主题网页抓取,需要解决五个方面的主要问题:主题内容的描述和定义问题主题爬行队列的优先访问次序问题网页主题相关性判定问题主题网络爬虫的覆盖度问题主题网络爬虫的精准度与效率之间的平衡问题主题爬虫需要解决的问题主题网络爬虫要较好地完成主题网页抓取,(1)主题内容的描述和定义问题对于主题内容的描述和界定是是主题爬虫实现的关键,在网页抓取过程中一定要一个主题参照物,爬行的网页与这个参照物进行比对,如果达到主题相似度就认为该页面属于该主题,爬虫才把该页面列入下载队列。所以如何描述、表达这个主题参照物显得很重要。(1)主题内容的描述和定义问题对于主题内容的描述和界定是是主(2)主题爬行队列的优先访问次序问题在爬行过程中如何决定各网页之间的访问次序是主题爬虫顺利完成抓取任务的保证,通常是根据已抓取网页和待抓取网页的主题相关度进行加权传递计算得到的,再依据各网页的主题相关度大小来安排爬行优先队列。这种爬行策略与深度优先或广度优先有较大的不同,按照主题相关度大小的访问序列会带来爬行效率的提升,也会提高爬行结果的主题约束性。(2)主题爬行队列的优先访问次序问题在爬行过程中如何决定各网(3)网页主题相关性判定问题网页主题相关性判定是主题爬虫的核心,主题判定算法的优劣可以直接决定主题抓取的质量,所以不同的主题网络爬虫间的主要区别就是如何计算待抓取网页的主题相关度。(3)网页主题相关性判定问题网页主题相关性判定是主题爬虫的核(4)主题网络爬虫的覆盖度问题主题网页在客观现实情况下是有可能不存在直接链接关系的,两个主题网页之间是存在一定长的不相关页面链接距离的,通常也称之为“主题隧道”,如何穿过隧道而接通主题相关网页,提高主题资源的覆盖度是主题爬虫的一个难点。(4)主题网络爬虫的覆盖度问题主题网页在客观现实情况下是有可(5)主题网络爬虫的精准度与效率之间的平衡问题主题网络爬虫在提高主题约束精准程度的同时,会引入更复杂的主题爬行策略算法,而另一方面又面对的是开发的、海量的和动态更新频繁的Web网络,主题爬行的精准度与完成效率之间往往是矛盾的。所以完成一次主题爬行的时间和效率需要得到控制,需要找到一个主题网络爬虫的精准程度与效率之间的平衡点。(5)主题网络爬虫的精准度与效率之间的平衡问题主题网络爬虫在5.1.3 网络爬虫涉及到的其它技术DNS解析扩展并行存取网页净化网页消重内容抽取中文分词网页索引5.1.3网络爬虫涉及到的其它技术DNS解析扩展5.1.4 爬虫领域的一些开源软件搜索引擎NutchWeb爬虫HeritrixJava网页爬虫Jspider网页抓取/信息提取软件MetaSeeker主题爬虫Webmagic5.1.4爬虫领域的一些开源软件搜索引擎Nutch5.2 MASHUP5.2MASHUP5.2.1 Mashup概述(1)Mashup是近几年来迅速发展起来的一种新兴Web开发技术,它可以将来自多个数据源的内容和服务进行创新组合后而创建出的一个全新的Web应用。2008年,全球权威的IT研究与顾问咨询公司Gartner预测,Mashup将是未来十年中最值得关注的十大战略技术之一。5.2.1Mashup概述(1)Mashup是近几年来迅速5.2.1 Mashup概述(2)Mashup一词最初源于流行音乐,是指从两首不同的歌曲中混合演唱和乐器的音轨而构成的一首新歌。扩展到互联网领域,Mashup则是一种令人兴奋的交互式Web应用程序。Wikipedia对Mashup的定义是:“mashup是指一个网页或Web应用,它将来自两个或更多的外部资源的数据或功能结合在一起以创建一个新的服务。Mashup意味着简单、快速的集成,它通常使用开放的API和数据源来创造出原始数据所无法创造的结果。”5.2.1Mashup概述(2)Mashup一词最初源于流5.2.1 Mashup概述(3)从广义上讲,我们可以这样理解Mashup的概念:Mashup是一种全新的应用程序开发方法,它允许用户将来自不同来源的内容或服务以一种集成、一致的方式聚合在一起,从而提供单个来源的服务所无法提供的全新增值的服务,而利用这种方法及相关技术开发的Web站点或Web应用程序称为Mashup应用5.2.1Mashup概述(3)从广义上讲,我们可以这样理HousingMaps网站网站最初广为流行的Mashup实例之一是HousingM。它是一个简单、便捷的房地产搜索引擎,巧妙地将Craiglist中的房地产信息与Googlemaps中的地图信息聚合,使人们可以方便地在城市间查找房地产信息。在HousingMaps中,人们可以采用同方式检索房地产信息,在列出房地产信息的同时,还可以在地图上显示出房地产所在城市,如果用户点击地图上标记,可以在地图上显示出该房地产的详细信息。HousingMaps网站最初广为流行的Mashup实例之一5.2.1 Mashup概述(4)目前,Mashup应用正在互联网上以惊人的速度增长,其应用主要集中在地图、照片、购物、搜索和视频等几个领域,其中尤以地图Mashup最多,购物Mashup发展最为迅速。这些Mashup应用主要都是基于Google、Yahoo、Amazon、eBay等大公司所发布的API构建的。5.2.1Mashup概述(4)目前,Mashup应用正在5.2.2 Mashup的体系结构Mashup是一种新型的应用开发和集成技术,与传统技术不同的是,它是轻量级技术,并充分利用了Web已有资源。一般而言,Mashup应用程序的体系结构主要是由三部分组成的:API/内容提供者、Mashup 站点和客户端的Web浏览器.5.2.2Mashup的体系结构Mashup是一种新型的应Mashup架构架构Mashup架构(1)API/内容提供者它们是Mashup应用所融合的内容和功能的提供者。例如,在Mashup实例HousingMaps中,提供者就是 Google 和Craiglist,它们分别提供Google Map API和房地产数据。为了方便数据的使用,提供者通常会将自己的内容通过标准的Web 协议对外发布(例如 REST、Web服务和RSS/Atom等),以便开发人员将这些数据集成到自己的应用程序中。(1)API/内容提供者它们是Mashup应用所融合的内容和(2)Mashup 站点Mashup应用往往需要将来自多个数据源的信息进行融合,从而构建出新的服务。一方面,Mashup可以直接使用服务器端编程技术(如Javaservlets、PHP或ASP)实现为类似传统Web应用程序。另一方面,内容聚合页可以直接在客户端的浏览器中通过客户端脚本(如JavaScript)或Applet生成。这种客户机端的逻辑通常都是直接在Mashup应用的Web页面中嵌入的代码与这些Web页面引用的脚本API库或Applet(这两者都是由内容提供者提供)的组合。(2)Mashup站点Mashup应用往往需要将来自多个数(3)客户端的Web浏览器这是以图形化方式呈现Mashup应用程序的地方,也是用户与之交互的地方。(3)客户端的Web浏览器这是以图形化方式呈现Mashup应5.2.3 Mashup的关键技术AjaxWeb APIRSS/Atom数据表示与交换技术语义网技术(后面一讲详细介绍)5.2.3Mashup的关键技术Ajax(1)AjaxAJAX(Asynchronous JavaScript and XML,即异步JavaScript和XML)是一种创建交互式Web应用的技术。这一术语是Jesse James Garret于2005年在题为“Ajax:A New Approach to Web Applications”一文中首次提出的。Ajax实际上并不是一种技术,它实际上是几种技术的组合,每种技术都有其独特之处,组合在一起就形成了一个功能强大的新技术。(1)AjaxAJAX(AsynchronousJavaS(1)AjaxAjax包括如下技术:基于标准的XHTML和CSS进行信息的展示;使用DOM(DocumentObjectModel)进行动态显示及交互;使用XML和XSLT进行数据交换及相关操作;使用XMLHttpRequest对象与Web服务器进行异步数据交换;使用JavaScript将所有的东西绑定在一起。(1)AjaxAjax包括如下技术:Web应用传统模型(左)与应用传统模型(左)与Ajax模型(右)比较模型(右)比较Web应用传统模型(左)与Ajax模型(右)比较(2)Web APIAPI(全称Application Programming Interface)就是应用程序编程接口,是一个计算机程序提供给其他的程序一套功能,以便其他程序能够直接与之交互。通常有许多类型的API,包括操作系统的API、应用程序的API、工具包API以及Web API。现在许多网站都发布了自己的API以便Web上的其他应用也可以利用其提供的数据和服务,藉此人们可以开发更多的Web应用。(2)WebAPIAPI(全称ApplicationP(3)RSS/AtomRSS(Really Simple Syndication,即真正简单聚合)。RSS是一个基于XML的格式,用来描述聚合数据的机制。联合(syndication)是指一个发布内容的 Web 站点可以创建 RSS 文档并在 RSS 发布系统中注册自己的文档。支持RSS 的客户机可以查看发布系统的更新内容提要,并通过适当的方式对这些内容进行响应。(3)RSS/AtomRSS(ReallySimple(3)RSS/Atom可以使用一个RSS聚合程序(或称为/RSS阅读器)来使用RSS数据,这需要为RSS阅读器提供一个包含数据提要的URL列表,表中的每一个数据概要都是按RSS格式返回的。这个阅读器会把所有内容聚集到一起并定期更新,这样就可以同时监视不同站点的内容。(3)RSS/Atom可以使用一个RSS聚合程序(或称为/(3)RSS/AtomAtom 是一种更新但非常类似于RSS的联合协议,是聚合内容的另外一种格式,它借鉴了各种版本RSS的使用经验,被许多的聚合工具广泛用在发布和使用上。它是 Internet Engineering Task Force(IETF)提出的一项草案标准,人们希望通过 Atom 提供比 RSS 更好的元数据维护;提供更好、更为全面的文档,并结合构建通用数据表示的概念。(3)RSS/AtomAtom是一种更新但非常类似于RS(4)数据表示与交换技术数据表示与交换技术XML(eXtensibleMarkupLanguages,即可扩展标记语言)XHTML(eXtensibleHyperTextMarkupLanguage,即可扩展超文本标记语言)XpathXPath是一种在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XSLT(eXtensibleStylesheetLanguageTransform,即可扩展样式语言变换)是一种用于将XML文档转换为XHTML文档或其他 XML文档的语言。(4)数据表示与交换技术XML(eXtensibleMar(4)数据表示与交换技术数据表示与交换技术JSON(JavaScriptObjectNotation,即JavaScript对象表示法)它是一种轻量级的数据交换格式,非常适合于服务器与JavaScript的交互。JSON采用两种基本形式来描述数据结构:名称值对(collection):名称和值之间使用“:”隔开,每个名称值对之间使用“,”分割,并且使用“”“”括起来;一般的形式是:name:value。值的有序列表(Array):一个或者多个值用“,”分割后,使用“”,“”括起来就形成了这样的列表,形如:collection,collection。(4)数据表示与交换技术JSON(JavaScriptOb5.2.4Mashup的实现方式的实现方式服务器端Mashup客户机端Mashup客户机-服务器端Mashup5.2.4Mashup的实现方式服务器端Mashup(1)服务器端Mashup这是最简单形式的Mashup,来自不同数据源的数据和服务的混合都是在Web服务器中进行的,Web浏览器只是等待服务器的响应。(1)服务器端Mashup这是最简单形式的Mashup,来自服务器端服务器端Mashup实现架构实现架构Web浏览器与Mashup服务器建立通信,并通过HTTP(或HTTPS)请求一个网页;服务器端Mashup实现架构Web浏览器与Mashup服务器服务器端服务器端Mashup实现架构实现架构Web服务器呈现这个网页,并向外部数据源服务器请求数据或服务;服务器端Mashup实现架构Web服务器呈现这个网页,并向外服务器端服务器端Mashup实现架构实现架构数据源服务器返回响应;服务器端Mashup实现架构数据源服务器返回响应;服务器端服务器端Mashup实现架构实现架构Web服务器把响应数据按照一定方式结合在一起;服务器端Mashup实现架构Web服务器把响应数据按照一定方服务器端服务器端Mashup实现架构实现架构Web服务器将数据以(X)HTML的格式发送给Web浏览器,并呈现给用户。服务器端Mashup实现架构Web服务器将数据以(X)HTM(1)服务器端Mashup这种实现方式的局限性在于,由于没有采用Ajax技术,浏览器请求的是完整页面,不支持页面的局部刷新,因此,不是足够的简洁和有效,富浏览器体验降低。而且,Web服务器承担所有数据处理操作,负载很重,而客户机端的浏览器却十分空闲,这会影响系统的可伸缩性。(1)服务器端Mashup这种实现方式的局限性在于,由于没有(2)客户机端Mashup客户机端mashup是在客户机端进行服务和内容的集成。客户机可以直接向外部数据源服务器发送请求以获取数据或服务,并在客户机中进行数据和功能的融合。(2)客户机端Mashup客户机端mashup是在客户机端进客户机端客户机端Mashup实现架构实现架构Web浏览器与Mashup服务器建立通信,并通过HTTP(或HTTPS)请求一个网页;客户机端Mashup实现架构Web浏览器与Mashup服务器客户机端客户机端Mashup实现架构实现架构Mashup服务器返回一个网页,该网页包含以下两个主要JavaScript函数:客户机端Mashup实现架构Mashup服务器返回一个网页,客户机端客户机端Mashup实现架构实现架构Web浏览器网页中某个动作会触发调用创建动态脚本的初始化函数,该函数会在网页中动态地创建一个脚本标记,并将该脚本标记的数据源指定为数据源网站中的一个URL(这个URL会返回JSON格式数据)。客户机端Mashup实现架构Web浏览器网页中某个动作会触发客户机端客户机端Mashup实现架构实现架构通过加载这个动态生成的脚本,会向数据源网站发出HTTP请求,该请求指定响应的数据格式为JSON;客户机端Mashup实现架构通过加载这个动态生成的脚本,会向客户机端客户机端Mashup实现架构实现架构数据源网站处理请求并返回一个JSON格式的响应,当浏览器接收到该响应数据后,调用回调函数,并将JSON对象传递给该函数;客户机端Mashup实现架构数据源网站处理请求并返回一个JS客户机端客户机端Mashup实现架构实现架构回调函数通过解析JSON脚本最后将其转换成一个JavaScript对象,并利用这个新JavaScript对象将其中的数据显示到客户端网页中。客户机端Mashup实现架构回调函数通过解析JSON脚本最后(2)客户机端Mashup客户机端Mashup的优势主要源自它的通信机制。由于客户机通过动态脚本方法可以直接与数据源服务器进行通信,不再通过一个中间的代理服务器,减少了请求和响应的延迟时间,因此,响应速度较快,同时也减少了服务器负载。这种实现方式的局限性在于,由于浏览器直接与数据源网站进行连接,因此没有机会在服务器上重新组织数据。(2)客户机端Mashup客户机端Mashup的优势主要源自(3)客户机端-服务器端Mashup这种实现方式是基于Ajax技术的,不同数据源的数据或服务的集成逻辑可以发生在服务器端和客户机端。服务器作为客户机端Web应用程序和其他外部数据源网站之间的代理服务器(Proxy),也就是说,所有客户端请求发送到Mashup服务器,然后该服务器作为代理服务器再将请求转发给外部数据源网站以访问它们提供的内容及服务。(3)客户机端-服务器端Mashup这种实现方式是基于Aja客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图Web浏览器与Mashup服务器建立通信,并通过HTTP(或HTTPS)请求一个网页;客户机端-服务器端Mashup实现架构图Web浏览器与Mas客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图服务器按照标准方式呈现这个网页;当浏览器第一次请求这个网页时并没有mashup结果出现,只是在浏览器端下载了一些JavaScript和HTML脚本;客户机端-服务器端Mashup实现架构图服务器按照标准方式呈客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图Web浏览器将请求发回给服务器以获得更多的内容,这通常是通过JavaScript以异步方式在后台发出的请求。正是由于后台异步请求,因此,期间浏览器不会刷新页面或等待响应,用户对这一切完全没有觉察;客户机端-服务器端Mashup实现架构图Web浏览器将请求发客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图此时,服务器充当代理角色,并没有直接处理请求,而是将请求转发给了数据源服务器(即为该mashup网站提供内容或服务的合作伙伴网站)以获取数据或服务;客户机端-服务器端Mashup实现架构图此时,服务器充当代理客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图Mashup服务器向数据源网站发出请求;客户机端-服务器端Mashup实现架构图Mashup服务器向客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图数据源网站将响应返回给Mashup服务器;客户机端-服务器端Mashup实现架构图数据源网站将响应返回客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图Mashup服务器接收到响应并进行处理(如混合、转换等)后,然后将数据发送给浏览器;客户机端-服务器端Mashup实现架构图Mashup服务器接客户机端客户机端-服务器端服务器端Mashup实现架构图实现架构图当服务器响应到达浏览器后,在浏览器端会调用一个JavaScript的回调函数(这个函数是最初发出请求时定义的),并将最终得到的XHTML数据插入到网页中以更新网页的显示。客户机端-服务器端Mashup实现架构图当服务器响应到达浏览
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!