论文元:搜索引擎查询结果合成处理模块的设计与实现_第1页
论文元:搜索引擎查询结果合成处理模块的设计与实现_第2页
论文元:搜索引擎查询结果合成处理模块的设计与实现_第3页
论文元:搜索引擎查询结果合成处理模块的设计与实现_第4页
论文元:搜索引擎查询结果合成处理模块的设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业设计题 目元搜索引擎-查询结果合成处理模块的设计与实现学 院计算机学院专 业计算机科学与技术诚 信 承 诺我谨在此承诺:本人所写的毕业论文元搜索引擎-查询结果合成处理模块的设计与实现均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 年 月 日摘要Internet已经成为当今和未来人们获取资源和信息交流的主要场所。然而,在信息量浩如烟海的Internet上找到需要的信息,是一项极富挑战性的工作。传统的搜索引擎的发展,一方面使其实用性不断加强,部分解决了人们的信息搜索问题;另一方面,其自身的局限性,限制了人们对资源更有效的

2、获取。因此要从Internet上获取有价值的信息,就必须有一套高效的解决方案。元搜索引擎正是这种需求的产物:它利用现有的搜索引擎的查询性能,将它们看成一个整体,为用户体提供统一的查询界面与返回结果。本文首先概述了搜索引擎的工作原理和现状,分析了现有传统搜索引擎的不足,提出未来搜索引擎的研究方向和引入元搜索引擎的必要性;其次概述了元搜索引擎的原理和现状,分析了当前研究元搜索引擎的难点所在,并提出改进方案;接着分析了有关元搜索引擎技术的相关算法,重点实现了轮转法查询结果合成处理,查询结果排序的算法实现。关键词: 元搜索引擎;查询结果合成处理;查询结果排序ABSTRACTThe Internet h

3、as already become the main place to gain and exchange information at present and in the future. However, it is an extremely challenging work to find the satisfied information in a great deal of information on the Internet. The development of the existing traditional search engine, on one hand streng

4、thened its practicability constantly and solved the information search issue partly; on the other hand, it restricted people to obtain the more effective resources,because of its own limitations. It is necessary to design a series of highly effective solutions for obtaining valuable information from

5、 the Internet. The metasearch engine is the exactly technique that can meet the needs, which adopts the query ability of these existing search engines, and regards them as a unity, and provids users with an uniform interface and the returning.In this paper, the search engine principles and its curre

6、nt development status were firstly discussed, and the disadvantages of existing traditional search engines were also analyzed. Based on the preceding analysis, we have proposed the future research directions and analyzed the necessity of introducing metasearch engine. Secondly,the metasearch engine

7、principles and its current development status were summarized, and the difficulties of research about the current metasearch engines were pointed out. Moreover we have given some methods for improvement. Then some key algorithms of metasearch engine were discussed,focused on imlemention of round rob

8、in result merging and result sorting algorithms.Keywords: meta-search engine; result merging; result sorting目 录1 引言 -12 元搜引擎概述 -22.1 搜索引擎概述 -22.2 独立搜索引擎面临的问题 -3 2.2.1 信息覆盖率 -3 2.2.2 搜索精度 -4 2.2.3 信息的时效性 -5 2.2.4 网络机器人的限制 -52.3 元搜索引擎的产生与发展 -52.4 元搜索引擎的基本原理 -62.5 元搜索引擎的现状 -73 系统设计相关技术 -8 3.1 ASP.NET技术

9、介绍 -83.2 Sql Server -11 3.2.1 SQL的优点 -11 3.2.2 SQL的使用 -124 元搜索引擎的查询结果合成 -15 4.1 结果排序算法 -15 4.1.1 相似度转化法 -15 4.1.2 相似度估算法 -164.2 查询结果去重-175 系统总体设计 -18 5.1 运行环境与系统结构 -185.2 系统工作流程图 -185.3 系统的基本模块功能 -205.4 面临的主要问题 -206 系统实现 -206.1 数据库设计 -216.2 界面设计 -216.3 排序算法设计 -23 6.4 去重算法设计实现 -306.5 分页实现 -316.6 结果合成

10、实现分析 -327 结论 -34致谢 -35参考文献 -361 引 言现在网上信息资源已经成为一个庞大数据源。数百万人在经常使用互联网并且人数在迅速增加. 在网上及时找到想要的资料并符合成本效益的方式是一个引起广泛兴趣的问题. 在过去几年中,已产生了许多搜索引擎帮助网民找到想要的资料. 但是,单个搜索引擎的索引和处理能力的提高赶不上Web 数据的快速增长,结果是任何单个搜索引擎只能索引Web 的一部分文档,用户需要的文档分布在许多搜索引擎的文档数据 库中。这就使单个搜索引擎满足不了用户的需求。之所以要开发元搜索引擎,主要的理由是:1 Web 数据量太大,而且增长迅猛,单个引擎的容量,处理能力难

11、以扩展到很大的规模,所以每个引擎只能包含一部分Web 文档。元搜索能够分散处理负载,增加检索的范围。2 元搜索具有较好的扩展性,可以加入多个成员引擎。它使得各个成员引擎规模变小,性能更好,这样成员引擎的检索响应时间短,还可以使得检索的内容保持最新。3 有些web 站点的内容不能用数据采集器抓取,只有用该站点提供的API 访问。4 检索更有效,用户为了找到满意的检索结果可能访问多个搜索引擎,直到找到结果位置,而元搜索引擎可以帮助用户自动完成这个任务。元搜索引擎可以让需要访问多个独立搜索引擎的查询一次完成,极大提高了检索效率,信息的覆盖率,信息的查准率 ,节省了用户的时间。正是基于以上的原因,选择

12、了元搜索引擎系统作为自己的毕业设计题目。该系统主要分为三个模块:分发查询模块,结果合成模块,收藏搜索模块。本人负责结果合成模块的实现。论文一共分为6章。第一章概述一下搜索引擎的概念,现状及独立搜索引擎面临的问题,有此引出论文要讲述的元搜索引擎,并简单描述元搜索引擎的基本原理,现状及发展。第三章为系统设计相关原理,建树实现该系统所用到的技术,简单介绍了ASP.NET及SqlServer技术,讲述了数据库连接技术。第四章重点讨论了现有的结果合成算法的实现。第五章为系统总体设计,描述了实现系统需实现的模块及每个模块需实现的具体功能。第六章讲述如何具体实现该系统。第七章总结前面的内容,系统实现的完成情

13、况。2 元搜索引擎概述2.1 搜索引擎概述Internet自诞生以来不断成长,其内容不断丰富,整个网络逐渐堆积成一个前所未有的超大型信息库。Internet作为一个信息平台在人们的日常生活和工作中发挥着越来越重要的作用,人们越来越多地通过Internet获取信息。在互联网发展初期,网站相对较少,网页数量亦较少,因而信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,以至于迷失在信息的海洋中不知所措,出现了我们所说的"信息丰富,知识贫乏"的奇怪现象。搜索引擎正是为了解决这个"迷航"问题而出现的技术。搜索引擎(Sear

14、ch Engine简称SE)是一个信息处理系统,它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的,一般包括信息搜集、信息整理和用户查询三部分。从用户的角度来看,它就是一个帮助人们进行信息检索的工具。现代意义上的搜索引擎的祖先,是1990年由美国蒙特利尔大学的学生 Alan Emtage等人发明的Archie。Archie是第一个自动索引互联网上匿名FTP网站文件的程序,但它还不是真正的搜索引擎。Archie是一个可搜索的FTP文件名列表,用户必须输入精确的文件名搜索,然后Archie会告诉用户哪一个FTP地址可以下载该文件。

15、由于专门用于检索信息的Robot程序像蜘蛛(spider)一样在网络间爬来爬去,因此,搜索引擎的Robot程序被称为spider(Spider FAQ)程序。世界上第一个Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用于追踪互联网发展规模。刚开始它只用来统计互联网上的服务器数量,后来则发展为也能够捕获网址(URL)。真正意义上的搜索引擎出现于1994年7月。当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。同年4月,Stanford大学的两名博士生,David Fil

16、o和美籍华人杨致远(Jerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心,Yahoo也被称为第一代搜索引擎。从此搜索引擎的发展也进入了黄金时代。1998年9月,同样是Stanford大学两位博士生Larry Page和Sergey Brin在风险投资公司的资助下,成功开发了新一代搜索引擎Google。它具有比Yahoo先前使用的技术更快、更准确搜索到所需信息的特点,被视为第二代搜索引擎的代表。现在Internet 上已有数千个能提供检索服务的站点,这些站点的搜索引擎在收录的范围、内容、检索方法上都各有不同,采用的技术也各具特色。比较著名的Google,Yah

17、oo,AltaVista,Dogpile,百度等。目前,搜索引擎的研究、开发十分活跃,各大搜索引擎公司都在投巨资研制搜索引擎系统,同时也不断地涌现出新的具有鲜明特色的搜索引擎产品,搜索引擎已经成为信息领域的产业之一。它要用到了信息检索、人工智能、数据库、数据挖掘、自然语言理解等领域的理论和技术,具有综合性和挑战性。又由于搜索引擎有大量的用户,由此衍射出许多商机,具有很好的经济价值。根据iResearch艾瑞市场咨询2003年中国搜索引擎研究报告的研究数据显示,中国的搜索引擎市场2003年达到了5.2亿元人民币,比2002年的2.3亿一年增长了127%,显示了搜索引擎市场的强劲增长;雅虎表示未来

18、5年全球搜索市场将由今年的30亿美元增长至110亿美元。搜索引擎作为连接互联网的一座桥梁,越来越受到人们的重视,亦引起了世界各国计算机科学界、信息产业界和商界的高度关注,已投入了不少的人力、物力,也取得了不俗的成绩。2.2 独立搜索引擎面临的问题在信息时代,网络信息膨胀的速度远远超过了搜索引擎检索范围的扩张速度。在这样的背景下,独立搜索引擎在发展的过程中难以避免地出现了信息覆盖率低下以及网页数据库信息难以及时更新维护等瓶颈,定位于解决独立搜索引擎的不足,元搜索引擎诞生于上世纪90年代中期,元搜索引擎的出现在一定程度上缓解了独立搜索引擎发展所面临的困境。2.2.1 信息覆盖率用户都希望只使用一个

19、搜索引擎就能够访问到网络上所有的信息,而不用为得到更为全面的检索结果在不同的搜索引擎之间切换。但在信息时代,信息膨胀的速度远远超过了搜索引擎检索范围的扩张速度。表2-1 显示的是2002年2月25-28日期间对几个主要的搜索引擎1050条查询返回结果的信息覆盖率和有效信息覆盖率的统计。从该表中可以看出最好的搜索引擎对于有效信息的覆盖率也只有16%,随着互联网的飞速发展这个问题将变得越来越突出,这基本上便是元搜索引擎产生的初衷。从理论上讲,元搜索引擎能从根本上解决独立搜索引擎信息覆盖率低的问题。元搜索引擎由于其可以同时调用多个独立搜索引擎以及能够处理、利用独立搜索引擎返回的结果,所以人们把对更大

20、范围网络资源进行检索的期望落在元搜索引擎上。表2-1 对一些主要搜索引擎信息覆盖率的统计搜索引擎信息覆盖率有效信息覆盖率Northern Light38.316.0Snap37.115.5AltaVista37.115.5HotBot27.111.3Microsoft20.38.5Infoseek19.28.0Google18.67.8Yahoo17.67.4Excite13.55.6单个搜索引擎的搜索能力将受到其覆盖网页的数量的限制。那些不能建立索引的Web网页(有时也称为“隐藏Web" ,“深度Web" ,“不可见Web")大概有五千亿张,这个数量据估计是当前

21、搜索引擎数据库所能够记录的网页数量的500多倍,工nternet的巨大容量和Web网页快速变化的内容是导致许多搜索失败的主要原因。图2-1 使用Google搜索“浙江大学”得到的结果2.2.2 搜索精度独立搜索引擎返回的大量查询结果中有相当比例相关性不高。虽然所有的搜索引擎都会根据查询结果和查询字符字符串的相关性高低来对查询结果进行序,但这些排序算法通常都是建立在向量空间模型(Vector Space Model),概率模型(Probability Model),模糊逻辑模型(Fuzzy Logical Model)等信息查询模型的基础上的,这些信息查询模型根据文档中查询字符串关键字的出现次数

22、来决定返回结果和查询字符串相似程度,然而查询字符串关键字的出现次数只能大概的反应出查询结果和查询字符串的相关程度,关键字出现频率高并不一定意味着对应的查询结果相关性就高。而且各独立搜索引擎在通常情况下更注重的是如何尽可能快得处理用户的查询请求,所以会倾向于使用相对简单的排序算法。所有这些都有可能导致查询结果的准确性不高以及对于查询结果排序的不合理。图2-1显示了使用Google搜索“浙江大学”得到的查询结果,请注意图中标示出的第六条和第八条结果:第六条查询结果实际上是浙江工业大学主页的链接;而第八条查询结果仅仅是因为该链接的url和浙江大学主页比较相似就被排在了第一页。这样的查询结果显然是很难

23、令人满意的。2.2.3 信息的有效性随着搜索引擎的搜索范围不断扩大和数据库体积的日益膨胀,网页数据库的维护及更新难度越来越大,目前大多数的搜索引擎只能采用循环更新的方式对部分索引进行页面重访和索引重建。网页数据库中的内容越多,循环更新一次所需的时间就越长,也就会有更大比例的索引信息处于“无效”状态。2.2.4 网络机器人的限制网络机器人是搜索引擎获取信息的主要工具。由于每个机器人线程都要消耗一定的本地资源,因此并行的机器人数量就会受到限制。机器人要在很短的时间里对Web服务器进行频繁访问,而服务器在一定时间内可以响应的请求数目是有限的,因此机器人获取页面的速度也是有限制的。其次,机器人爬行过程

24、中还会因为无效链接或者相对链接组合有误等原因访问不到一些页面。此外,机器人在对Web站点搜索的时候,还应该遵守机器人排斥标准(Standard of Robots Exclusion)。该标准是1994年由一些机器人作者和热衷者指定的标准,规定了机器人爬行Web站点时应该遵循的规则。以上这些因素都会使机器人的信息获取能力受到一定程度的限制。2.3 元搜索引擎的产生与发展当用户在网上查找信息的时候,往往是使用一个检索词在多个搜索引擎中重复查找,以此来弥补各个独立搜索引擎的信息覆盖率不高的缺陷。虽然这样的工作完全可以由用户自己完成,但用户显然更希望能够只进行一次查询就可以获得多个搜索引擎的查询结果

25、,而不是枯燥繁琐的重复劳动,这就是元搜索引擎产生的最主要原因。它可以让需要访问多个独立搜索引擎的查询一次完成,极大提高了检索效率,节省了用户的时间。目前元搜索引擎发展势头非常迅猛,仅在Yahoo的“All-in-One Search”列表中就收录了超过125个元搜索引擎。目前国外主要的元搜索引有: Metacrawler, Profusion,Savvysearch,Mamma等,而国内的元搜索引擎则较少。此外中文元搜索引擎在检索功能、检索结果的排序、运行速度等方面较国外元搜索引擎尚有一定的差距。国外元搜索引擎一般都有较高的查全率和查准率,但是对中文网页的覆盖率并不是很高,因而在查准率上也受到

26、很大的限制。影响这些搜索引擎查准率的另一个因素是国内的许多网页制作和维护不规范,时常有无用链接,像Google这类使用链接数来确定网页优先级的搜索引擎往往得不到很有用的结果。目前中文元搜索引擎一般都采用简单的位置排序算法,通过提取搜索引擎返回结果的位置信息进行排序,没有充分利用这些搜索引擎所包含的其它信息,很难找到有用的信息,但是剔重效果不错,基本上消除了重复项。由于元搜索引擎需要在记录的相关信息较少的情况下进行排序工作,因此元搜索引擎虽然能够增加搜索的范围,但是其性能也受到了一定的限制。2.4 元搜索引擎的基本原理图2-2为元搜索引擎的原理图。元搜索引擎是针对单个搜索引擎收集信息不全面即召回

27、率低的缺点而设计的,通过元搜索引擎来减少人工切换搜索引擎,以达到优化查询目的,图 21是元搜索引擎的原理示意图,其过程表述如下:用户查询处理过程:与其它搜索引擎一样,元搜索引擎提供人机接口查询界面,不同的是元搜索引擎需要针对各基本搜索引擎设定相应的搜索格式,并允许用户选择是否调用基本元搜索引擎。元搜索引擎调用基本搜索引擎网页结果过程:这阶段,元搜索引擎必须并行调用基本搜索引擎,没有并行调用基本搜索引擎,将会造成检索时间变长的后果,削弱元搜索引擎的优势。元搜索引擎信息融合阶段:对不同基本搜索引擎的结果,有些网页实际无法正常连接,有些是重复的,有些网页不是重复但属于同网站内容相关性较大的,故需要进

28、行网页连接检测、消除重复网址等处理流程,并根据相关度算法进行计算,存到数据库中;元搜索引擎结果显示阶段:根据相关度计算结果,显示倒排结果,并同时显示内容摘要,以及对应的基本搜索引擎名称等信息;基本搜索引擎与元摸索引擎在搜索评价指标是一样的,其主要区别在于基本搜索引擎拥有独立的网页信息源和相应的数据库,而元搜索引擎一般没有自己独立的数据库,却更多地是提供统一人机查询界面,形成一个由多个分布的、具有独立功能的搜索引擎构成的虚拟整体,用户通过元搜索引擎实现对各基本搜索引擎查询操作。元搜索引擎所调用的搜索引擎被称为“基本搜索引擎”,它们各自保持原来的检索指令;元搜索引擎给出一个统一人机界面,接受用户查

29、询需求和反馈查询结果。2.5元搜索引擎的现状目前运营的元搜索引擎各具特色,功能各有侧重,完全“理想”的尚不多见。一些元搜索引擎在某些方面较为优秀,而其它功能则欠缺或需改进:如大多元搜索引擎不支持多语种,尤其是汉语检索;一些元搜索引擎实现检索语法转换的能力有限,不支持指定字段检索,不能充分发挥各个独立搜索引擎的高级检索功能;部分元搜索引擎无源搜索引擎列表,用户不能自主选择和调用源搜索引擎;大部分元搜索引擎仅支持调用AltaVista、Excite、GoTocom、Yahoo、Infoseek、Lycos等常用的搜索引擎,一些大型搜索引擎如NorthernLight、HotBot等被排除在外,人为

30、地限制了搜索资源的利用;在检索结果上,元搜索引擎只能返回十几、数十条“相关度”较高的结果,大量可能有价值的源搜索引擎的检索结果被忽视,影响检索结果的全面性。元搜索引擎的功能受着源搜索引擎和元搜索技术的双重制约:一方面,源搜索引擎的各具特色的强大功能在元搜索引擎中受到限制而不能充分体现,而另一方面,任何一种元搜索技术都不能发掘和利用源搜索引擎的全部功能。尽管元搜索引擎存在着这样那样的功能局限,但其以含盖较多的搜索资源,能够在尽可能短的时间内提供相对全面、准确的检索结果等诸多优异功能受到用户的青睐,已渐成为一种不可或缺的极具潜力的网络检索工具。现今英文的搜索引擎比较多,并且涵盖范围较广,目前中文元

31、搜索引擎的发展还比较慢。INTERNET网页外部搜索引擎1外部搜索引擎2外部搜索引擎3机器人(元搜索)引擎查询处理接口用户查询需求索引数据库网页数据库关键字数据库图2-2元搜索引擎原理图3 系统设计相关技术该系统主要采用ASP.NET、HTML、SQLserver数据库,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。3.1 ASP.NET技术介绍ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web

32、 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言

33、运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYG HTML编辑器和其他编程工具一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。当创建ASP.NET应用程序时,开发人员可以使用Web窗体或XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。 使用Web窗体可以生成功能强大的基于窗体的Web页。生成这些页时,可以使

34、用ASP.NET服务器控件来创建公共UI元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成Web窗体,从而简化页面的代码。XML Web services提供了远程访问服务器功能的途径。使用XML Web services,企业可以公开数据或业务逻辑的编程接口,而客户端和服务器应用程序则可以获取和操作这些编程接口。通过使用诸如HTTP和XML消息传递之类的标准跨越防火墙移动数据,XML Web services可在客户端-服务器或服务器-服务器方案下实现数据的交换。XML Web services不用依靠特定的组件技术或对象调用约定。因此,用任何语

35、言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问XML Web services。有关更多信息。 这些模型中的每一个模型都可以充分利用所有ASP.NET功能,以及.NET Framework和.NET Framework 公共语言运行库的强大功能。这些功能以及使用它们的方法概述如下: 如果您具有ASP开发技能,则新的ASP.NET编程模型对您来说将会是非常熟悉的。不过,与ASP相比,ASP.NET对象模型变化显著,它更为结构化并且面向对象。但这也意味着ASP.NET不是完全向后兼容的;几乎所有现有的ASP页都必须经过一定程度的修改后才可以在ASP.NET下运行。此外,对VB.N

36、ET 的一些主要更改也意味着,用Visual Basic Scripting版本编写的现有ASP页通常将不会直接移植到ASP.NET中。不过,在大多数情况下,只需对少数几行代码进行必要的修改。有关更多信息,请参见将ASP页迁移到ASP.NET。 从ASP.NET应用程序访问数据库是向 Web 站点访问者显示数据的常用技术。ASP.NET使得为此目的而对数据库的访问比以往更加方便。它还使您能够从您的代码管理数据库。ASP.NET提供一种简单的模型,该模型使Web开发人员能够编写在应用程序级运行的逻辑。开发人员可以在Global.asax文本文件中或在作为程序集部署的已编译类中编写这种代码。这种逻

37、辑可以包括应用程序级事件,但开发人员可以轻松地扩展这种模型,以适应他们的 Web 应用程序的需要。ASP.NET提供易用的应用程序和会话状态功能,它们对于ASP开发人员来说是熟悉的,且容易与所有其他 .NET Framework API兼容。对于需要使用像 ISAPI 编程接口(随附于以前的ASP版本中)那样功能强大的 API 的高级开发人员,ASP.NET 提供了IHttpHandler 和IHttpModule接口。实现IHttpHandler接口,给您提供了一种与IIS Web服务器的低级别请求和响应服务交互的手段,并提供与ISAPI扩展非常类似的功能,但编程模型却较为简单。实现IHtt

38、pModule接口使您可以包含参与对应用程序发出的每个请求的自定义事件。 ASP.NET 利用.NET Framework 和公共语言运行库中的性能增强功能。另外,它还可以提供相对于ASP和其他Web开发平台来说显著的性能改进。所有 ASP.NET 代码都是编译的,而不是解释的,这就允许对本机代码采用早期绑定,强类型处理,以及实时 (JIT) 编译,这里只列举几个优点而已。ASP.NET还可方便地分解,即开发人员可以移除那些与他们开发的应用程序不相关的模块(例如,会话模块)。ASP.NET还提供丰富的缓存服务(包括内置服务和缓存API两种)。ASP.NET 还提供性能计数器,开发人员和系统管理

39、员可以监视这些性能计数器,以测试新的应用程序和搜集有关现有应用程序的度量标准。在Web页中编写自定义调试语句,对排除应用程序代码中的错误非常有帮助。但是,如果不移除它们,则会带来麻烦。问题是,在应用程序准备好移植到生产服务器时从页面中移除调试语句,会需要很大的工作量。ASP.NET提供TraceContext类,在开发页面时该类用于在页面上编写自定义调试语句。只有当您已经对页面或整个应用程序启用跟踪时它们才出现。启用跟踪还将有关请求的细节追加到页面,或者,追加到存储在应用程序根目录中的自定义跟踪查看器(如果这样指定的话)。 .NET Framework和 ASP.NET为Web应用程序提供默认

40、授权和验证方案。可以方便地移除、添加或者替换这些方案,这取决于应用程序的需要ASP.NET配置设置存储在基于XML的文件中,这些文件都是人可读和可写的。每一个应用程序都可以有不同的配置文件,可以扩展配置方案,以适应您的要求。 当应用程序安装在同一台计算机上,但使用不同的 .NET Framework 版本时,就说应用程序是并行运行的。 IIS 6.0 使用一个称为辅助进程隔离模式的新进程模型,它不同于 IIS 早期版本中使用的进程模型。当在 Windows Server 2003 上运行时,默认情况下 ASP.NET 使用该进程模型。 ASP.NET的对象和组件:1.ASP.NET有7个固有对

41、象这7个固有对象分别是Request、Response、Server、Application、Session、ASPError和ObjectContext。Request对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的网页或Web应用时做出的请求。此请求可以HTML的形式输入或仅以URL的形式作出。Response对象用来处理从Web服务器向用户发送信息并对此信息进行控制。Serve对象用来代表服务器自身。因此它提供几个与Web服务器可能要完成的任务相关的常用功能,诸如建立新对象和设置脚本的超时特性等。还有通过将不合法字符转化为合法字符,把字符串转换为URL和HTML正确的使用格式

42、的方法。Application对象用来代表应用,可用它来管理诸如应用目录这一类的东西。Session对象用来代表用户会话,并存储该会话的信息。可利用Session对象来管理如Web服务器在用户“请求”之间等待的时间等。ObjectContext对象用来管理事务处理。它目前已经集成到Windows2000操作系统中了。它包含了所有ASP其他对象,可通过ObjectContext引用ASP的每个对象。ASPError对象包含ASP.NET脚本或asp.dll本身产生的任何错误的详细内容。2.Microsoft Data Access ComponentMDAC作为操作系统的组成部分的组件,与ASP

43、一起提供。此组件中包含一组称为ADO.NET的对象,他们对于查看不同平台上的各种数据(数据库、表单、文本文件)是必不可少的。ADO.NET主要有3个对象,分别是Connection、Command和DataSet。Connection对象就是使ADO.NET与数据库之间建立一个通道,也就是实现与数据库的连接。Command对象就是对数据库进行发号施令,比如建立新的索引,执行查询等,它可以通过标准的SQL数据库操作语言得以实现。DataSet对象是ADO.NET的核心,是实现离线访问技术的载体。DataSet不维持和数据源的连接,可以视为一个断开的记录集。其中的数据可以被存取、操作、跟新或删除,

44、并保持与数据源的一致。由于DataSet对象是使用无连接传输模式访问数据源,因此,在用户访问数据源时,无需经过冗长的连接操作,而且数据由数据源读入DataSet后,便关闭数据源的连接,接触数据库的锁定,其他用户便可以再使用该数据库,避免了用户之间对数据源的争夺。3.2 Sql Server SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应

45、用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。Structured Query Language包含4个部分:数据查询语言DQL-Data Query Language SELECT数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE 数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP数据

46、控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 3.2.1 SQL的优点SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。1.非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。 SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结

47、果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。 2.统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:查询数据;在表中插入、修改和删除记录; 建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性 。以前的数据库管理系统为上述各类操作提供单独

48、的语言,而SQL将全部任务统一在一种语言中。3.是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL

49、/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。 3.2.2 SQL的使用1.ASP.NET与SqlServer 2000数据库连接,下面举一示例:SqlConnection conn =new SqlConnection();String str=”server=(local);uid=sa;pwd=123;database=pubs”;conn.Connection=str;conn.open();2.

50、SQL常用命令使用方法:(1)数据记录筛选:sql="select*from数据表where字段名=字段值orderby字段名desc"sql="select*from数据表where字段名like'%字段值%'orderby字段名desc"sql="selecttop10*from数据表where字段名orderby字段名desc"sql="select*from数据表where字段名in('值1','值2','值 3')"sql="select*from数据表where字段名between值1and值2"(2)更新数据记录:sql="update数据表set字段名=字段值where条件表达式" sql="update数据表set字段1=值1,字段2=值2字段n=值nwhere条件表达式(3)删除数据记录:sql=&

温馨提示

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

评论

0/150

提交评论