Web数据管理研究

2024-07-13

Web数据管理研究(精选12篇)

Web数据管理研究 第1篇

Web是一个巨大的、广泛分布、高度异构、半结构化的信息仓库,同时也是一个巨大的文档累积的集合,包括超链接信息、访问及使用信息。Web数据挖掘起源于数据挖掘,目的在于可以处理非结构化的数据,Web数据的非结构化这一显著特征使Web数据挖掘更加复杂。通过Web数据挖掘,我们可以从数以亿计存储着大量多种多样信息的Web页面及链接和用户对页面的访问信息中挖掘出我们需要的有用知识。

1 Web挖掘定义

Web挖掘是一项涉及Web技术、数据挖掘、计算机语言学、信息学等多个领域的综合技术。不同研究者从自身的领域出发,对Web挖掘的含义有着不同的理解,其定义也各有其侧重点。例如,有学者认为,Web数据挖掘是从大量的Web文档集合和在站点内进行浏览的相关数据中发现蕴涵的、未知、有潜在应用价值的、非平凡的模式(Pattern)的过程[1]。也有学者从更为一般的角度出发,对Web挖掘作如下定义:

Web挖掘是指从大量Web文档的集合C中发现隐含的模式p。如果将C看作输入,将p看作输出,那么Web挖掘的过程就是从输入到输出的一个映射ξ:C→p[2]。

尽管Web挖掘的定义有很多,但Web挖掘技术从一开始就是面向应用的,因此从应用角度上来说,我们可以认为,Web挖掘就是采用数据挖掘等信息处理技术,从Web信息资源以及Web使用记录中发掘对特定用户感兴趣的,有用的信息或知识的过程,其结果可以为用户决策所使用。

由于Web挖掘从数据挖掘技术发展而来,其定义与我们熟知的数据挖掘定义相类似。但与传统的数据挖掘相比,Web挖掘在挖掘的对象、挖掘所得到的模式等方面有许多独特之处。通过Web挖掘,人们可将Web上的文档进行分类、寻找文档主题、汇总搜索结果,使用户在Internet上查找信息更加全面准确。对Web站点的分析结果可用于重新组织Web站点结构,以便更好地为用户服务。

2 Web挖掘分类

依据不同的分类标准Web挖掘有不同的分类方法。例如,按照挖掘内容的语种可以分为中文Web挖掘、西文Web挖掘;按挖掘的站点的属性不同可以分为企业门户挖掘、政务门户挖掘、个人站点挖掘等。但更多的文献则是采用根据挖掘的站点信息来源不同将Web挖掘分为三大类的划分方法,即:Web内容挖掘(Web Content Mining)、Web结构挖掘(Web Structure Mining)和Web使用挖掘(Web Usage Mining)[3]。在实际应用中,Web挖掘的这三个研究方向在实际过程中并不是孤立的,而是相互交叉、相互渗透和相互联系的。

2.1 Web内容挖掘

Web内容挖掘是从大量的Web文档或其描述中发现知识的过程。这些Web文档包含了文本、图片、声音、视频、元数据和超链接等名种不同的数据类型。Web内容挖掘根据其所处理的数据对象的不同可分为文本挖掘和多媒体挖掘。由于文本仍是信息传递的主要方式,而且文本处理技术相对比较成熟,因此文本数据的挖掘在研究和应用上都比较普遍。文本挖掘主要分为文本的总结、分类、聚类、关联分析及利用Web文档进行趋势预测等,最常见的是文本的分类和聚类[4]。

多媒体信息挖掘,主要是对Web上的音频、视频和图像进行预处理,应用存储和搜索技术与标准的数据方法的集成,对其中潜在的有意义的信息和模式进行挖掘的过程[5]。多媒体信息挖掘可以应用于语音识别、图形和图像处理等研究领域。从而得到更为精确和有用的信息,以增强搜索引擎的内容查询功能。

2.2 Web结构挖掘

Web结构挖掘是从WWW的组织结构和链接关系中推导知识的过程。在整个Web空间里,有用的知识不仅包含在Web页面的内容之中,而且也包含在页面的链接结构之中。例如,如果我们发现一篇论文页面经常被引用,那么这个页面一定是非常重要的。Web结构挖掘试图发现Web链接结构中潜在的模型,而这种模型是建立在超链拓扑基础上的。它主要通过对Web站点的结构进行分析、变形和归纳,将Web页面进行分类,以利于信息的搜索。这一类的技术常常被用来改进搜索引擎,例如Page Rank和Clever方法等。Page Rank技术可以用来衡量某个页面的重要性,并且根据传统搜索引擎搜索返回的页面重要性来进行排序。Google就成功地利用了Page Rank技术来提高其搜索引擎的有效性,并改善了它们的效率。

2.3 Web使用挖掘

Web中的每个服务器都保留了记录关于用户访问和交互的信息访问日志文件(Web Access Log)。分析这些数据可以帮助理解用户的行为,从而改进站点的结构,或为用户提供个性化的服务。Web使用挖掘的主要对象就是这些Web信息访问日志,因此通常又称之为Web日志挖掘。由于Web使用挖掘的主要目标则是从Web的访问记录中抽取感兴趣的模式[6],所以也有文献将这类挖掘称为Web用户访问模式挖掘。Web使用挖掘的主要数据源除了用户访问Web时在服务器保留的访问日志文件外,还包括Web站点的拓扑结构和站点文件、用户的注册信息、用户调查信息、cookies以及与网站服务相关的数据库数据等。通过挖掘得到的用户访问模式在银行业、证券业、电子商务等方面得到了广泛应用,例如可以进行网络广告分析、客户分类、个性化服务、网络欺骗预防等。

根据对数据源的不同处理方法,Web使用挖掘可以分为两类,一类是将Web使用记录的数据经预处理转换,再传递进传统的关系表里,使用数据挖掘算法对关系表中的数据进行常规挖掘;另一类是将Web使用记录的数据直接预处理再进行挖掘[7]。J.Srivastava和R.Cooley等人在根据数据来源、数据类型、数据集合中的用户数量、数据集合中的服务器数量等将Web使用挖掘应用领域分为五类:个性挖掘、系统改进、站点修改、智能商务和Web特征描述[8,9]。

3 Web挖掘特点

和传统的数据挖掘方法相比,Web挖掘的挖掘对象有其明显的特殊性。数据挖掘的本质是针对数据的特性,采取相应的方法进行挖掘。传统的基于关系数据的挖掘方法(如分类、聚类、关联规则发现、统计方法等)需要结合Web数据的特性进行扩展、改进,以适应新的要求。这也使得Web挖掘具有以下明显的特点:

1)Web数据日新月异,具有有很强的动态性

数据仓库中的数据一般是相对固定的,而Internet上的信息日益增多,Web页面目前已达数千亿,每天还在不断更新之中,其容量之大,变化之快,任何一个搜索引擎都难以适应这样的快速发展。据中国互联网络信息中心于2008年7月发布的《中国互联网络发展状况统计报告》称,2008年6月中国的域名总数为1485万个,年增长率为61.8%,继续保持2006年12月以来50%以上的增长水平。中国国内网站数量已经从2004年的62.7万个发展到如今的191.9万个,年增长率达到46.3%。

Internet中这些数量众多的网站数据更新非常迅速,有些信息可能很快过时。因此,在进行Web挖掘前的一个重要工作就是针对当前状态的信息能够快速更新挖掘数据源,确定需要挖掘的站点和范围,以保证提供准确的决策支持。

2)异构数据库环境

要处理的Web站点数据在物理上是分散的,它们各自包含大量的数据信息,怎样对其进行有效的处理和应用成了Web挖掘研究的热点。一般的数据库中的数据组织形式是基于二维关系的表格,结构性很强,而Web数据挖掘的对象是大量、异质的。Web上的每个站点就是一个数据源,每个数据源都是异构的,而且每个站点之间的信息和组织都不一样,这就构成了一个巨大的异构数据库环境。

显然,面向Web的数据挖掘比单个数据仓库的数据挖掘要复杂得多。要利用这些数据进行数据挖掘,首先,要研究站点之间异构数据的集成问题,只有将这些站点的数据都集成起来,提供给用户一个统一的视图,才有可能从巨大的数据资源中获取所需的东西。其次,还要解决Web上的数据查询问题,因为如果不能有效地得到所需的数据,对这些数据进行分析、集成、处理就无从谈起[10]。

3)半结构化的数据结构

Web使用挖掘的数据非常复杂,往往具有半结构化或非结构化特性,难以映射到一个固定的模式,这与有一定的数据模型并可以根据模型来具体描述特定数据的传统的数据库有明显不同。针对Web上的数据半结构化的特点,寻找一个半结构化的数据模型是解决问题的关键所在。除了要定义一个半结构化数据模型外,还需要一种半结构化模型抽取技术,即自动地从现有数据中抽取半结构化模型的技术。

4)数据源的获取越来越困难

早期的Internet上的信息都是简单的HTML文件,一般的Web挖掘工具都可以直接获取这些信息,网站也没有对这些Web抓取工具进行防护。随着ASP、JSP以及Web数据库技术的发展,许多页面都是从数据库中动态调用生成,同时许多Web站点禁止Robot类工具的访问。也有一部分站点的关键页面通常只对所谓的会员开放。这一切都为Web数据挖掘数据源的获取设置了障碍。

5)用户目标的模糊性

基于Internet的数据挖掘用户往往对挖掘的主体有一个粗浅的认识,提不出很明确的目标来。这就需要Web挖掘系统具有一定的智能性和学习机制,不断地跟踪用户的兴趣,清晰地阐述挖掘结果。

4 Web挖掘发展方向

Web挖掘是一个较新的研究领域,具有广阔的发展和应用前景。应该指出的是,面对日益增加的商业需求,Web挖掘技术还有许多问题需要解决,有待这一领域的研究者深入研究。在未来一段时间内,Web挖掘中的以下方面将可能成为主要的研究方向与应用热点。

1)Web挖掘技术在智能化搜索引擎上的应用研究

随着网上信息量的激剧增长与信息内容持续更新,人们迫切需要能够从Web上快速、有效地发现资源和知识的工具,提高在Web上检索信息、利用信息的效率。尽管目前搜索引擎性能已有了较大提高,但搜索引擎的最终目标是“理解用户需求精确返回所需”,如何翻译用户的非专业搜索请求,实现自然语言处理,这需要研究者们从不同的角度进行研究,将Web挖掘技术充分运用到搜索引擎中,提高搜索的准确性,优化检索结果与实现个性化服务。

2)Web挖掘技术在智能化Web浏览器上的应用研究

传统的Web浏览器已经不能很好地满足用户在浩瀚的Web资源中找到符合自己要求的信息的需求。传统的Web浏览器只是简单地接受用户的请求,与服务器交互后将传来的页面显示给用户,它根本没有考虑用户的所特有的个性化信息。深度优先的搜索方式也很容易使得用户进行漫无目的地浏览,从而很可能“迷失在超空间中”[11]。这些问题的解决将在很大程度上依赖于文档特征选取、用户兴趣模型的学习与更新、信息过滤与文档分类等关键技术的研究与应用情况,而这些正是Web挖掘技术研究的重要方面之一。

3)XML技术引入Web数据挖掘领域

XML(可扩充标记语言)的全称是e Xtensible Markup Language,同HTML一样,是国际互联网协会(W3C,World Wide Web Consortium)为Web应用开发的SGML(Standard General Markup Language)的一个重要分支。相对目前大量使用的HTML而言,XML具有简单、开放性、通用性及跨平台可扩充等特性,能很容易使不同来源的非结构化的数据结合在一起,因而使搜索多样的不兼容的数据库成为可能,从而为解决由于Web数据源的异构性和半结构化特性给数据挖掘所带来的困难提供了条件。XML对在Web中进行数据挖掘的促进作用是HTML无法比拟的。

此外,分布式Web挖掘、语义Web挖掘、无线网络下的Web挖掘、Web2.0时代的Web挖掘、多语言环境下的Web挖掘等也是值得研究的方向。同时,Web挖掘技术应用于具体领域的研究将持续受到关注,例如银行证券、企业ERP、医疗卫生、农业、电子商务、网络教学、BLOG等领域。

Web数据挖掘是一个新兴的研究领域,已广泛地应用于金融业、远程通讯业、政府管理、制造业、医疗服务以及体育事业中,对它的应用和研究正在成为一个热点,并取得了一定成就。但从整体上看,目前的研究仍处于起步阶段,许多问题有待深入研究,在实际应用中还有很多理论与技术有待进一步的研究和探讨,我们有理由相信,随着技术的加强和广大科研工作者及工程技术人员的积极参与,Web挖掘技术必将在更广阔的领域得到充分运用。

参考文献

[1]R Kosala,H Blockeel.Web Mining Research:A Survey[J].SIGKDD Exploration,2000,2(1):1-15.

[2]陈新中,李岩,谢永红,等.Web挖掘研究.计算机工程与应用[J],2002,(13):42-44

[3]张娥,郑斐峰,冯耕中.Web日志数据挖掘的数据预处理方法研究.计算机应用研究[J].2004,21(2):58-60.

[4]王继成,潘金贵,张福炎.Web文本挖掘技术研究.计算机研究与发展[J],2000,37(5):513-524

[5]陈新中,李岩.Web日志挖掘技术进展[J].系统工程与电子技术,2005,4.

[6]Srivastava J et al.Web usage mining:Discovery and application of usage patterns from Web data[J].SIGKDD Explorations.2000,1(2):12-23.

[7]陈健,印鉴.Web使用挖掘技术研究综述[J].计算机工程,2005,31(9).

[8]R.Cooley,B.Mobasher,J.srivastava.Grouping web page reference into transactions for mining world wide web browsing patterns[J].Uni-versity of Minnesota Technical report.Tech Rep:TR 97 021.1997.

[9]R.Cooley,J.Srivastava.Data preparation for mining world wide web browsing patterns[J].Journal of knowledge and Information Systems.1999,1(1).

[10]范亚芹,刘颖.Web数据挖掘原理及实现[J].吉林大学学报,2003,(4):370-3731.

Web数据管理研究 第2篇

Web of Science收录生物信息学数据库研究文献的分析

利用文献计量学方法,统计分析了1995~ 年Web of Science收录生物信息学数据库(bioinformatics databases)研究文献,探讨了生物信息学数据库文献研究的年代分布、语种、期刊分布、作者、文献类型、主题分布以及发文量前10名的国家和机构,以期了解世界各国在这一研究领域的`进展情况.

作 者:杨长平吴登俊 Yang Changping Wu Dengjun  作者单位:杨长平,Yang Changping(四川农业大学图书馆,雅安,625014;四川农业大学动科院,雅安,625014)

吴登俊,Wu Dengjun(四川农业大学动科院,雅安,625014)

刊 名:农业图书情报学刊 英文刊名:JOURNAL OF LIBRARY AND INFORMATION SCIENCES IN AGRICULTURE 年,卷(期): 21(1) 分类号:G350 关键词:生物信息学数据库   文献分析   Web of Science  

基于Web的档案管理系统研究 第3篇

关键词:web;档案;管理

中图分类号:TP311 文献标识码:A 文章编号:1674-7712 (2012) 10-0106-01

一、传统手工档案管理现状及存在的问题

现在,许多学校档案管理工作仍然是传统手工处理模式,流程主要有收集、整理、保管、统计、鉴定与开发利用等。传统手工档案管理模式的主要缺点是无法保证档案的及时归档与档案的完整无损,尤其是在信息化程度比较高的信息社会,传统模式给工作带来了许多不便。档案资料不及时收集,顷刻就可能损失,而确保档案的齐全与完整是档案工作的重中之重。传统手工档案管理模式下的分类、编目工作,由于受档案工作者主观意识和长期习惯的影响,经常会发生较大的偏差,尤其遇到档案工作者经常变动的情况,问题更加严重。同时,传统手工档案管理下的编目工作,会导致档案工作者大量的重复劳动。档案在利用上的问题更加突出,落后的档案查询模式,远远跟不上信息化时代对档案的要求。学校对档案的管理,迫切需要网络化。档案管理实行网络化,可以大大缩短查档时间,提高查全率与准确率,从而提高工作效率。

二、基于Web的档案管理系统数据库的设计

基于Web的档案管理系统使用业内先进的MySQL数据库作为基础平台,Apache作为研发平台,采用PHP语言作为编程语言。MySQL+Apache+PHP被誉为网络程序开发的黄金组合。选取这样的开发工具,对于信息档案的管理和存储有独特的优势,对档案数据进行纵向和横向的信息检索非常便利。严格的存储方式有助于数据的保存,实现档案资料的一致性和唯一性,方便系统的维护、操作和拓展,提高系统的工作效能。

三、基于Web的档案管理系统模块的阐述

做好相应的模块划分是系统的首要任务。基于学校档案管理系统的需求,在规范化文档内容格式基础上,将该系统划分为如下部分:档案检索功能模块、档案管理功能模块、系统管理功能模块以及帮助信息模块。

1.档案检索模块——按条件检索档案,检索条件包括档案名称(模糊检索)、档案级别(精确检索)、档案描述(模糊检索)。

2.档案管理模块——按部门结构管理档案(部门结构可通过系统管理的部门管理设置),具体操作包括档案的上传、查看、删除。

3.系统管理模块——主要实现部门管理、用户管理、权限管理、档案级别管理。

4.帮助信息模块——主要提供系统相关帮助信息和系统属性。

四、关键技术与系统实现

(一)基于Web的档案管理系统核心技术。本系统选择比较易于操作和配置的Win server2003数据库系统,主流Web服务器Apache,PHP语言,MySQL数据库作为构建档案管理系统的平台。

(二)档案添加的实现。下面以新增档案添加的实现为例:

1.设计输入表框与变量的对应关系:

if(empty($_POST["xingming"]))

echo "姓名不能为空";

elseif(empty($_POST["xingbie"]))

echo "性别不能为空";

elseif(empty($_POST["bumen"]))

echo "你没有选择部门";

else{

if(empty($_POST["img"]))

$isimg=''daa'';

else{

$isimg=''dab'';

}

2.通过嵌入PHP变量集合,把录入的数据传给数据库中相应字段,新增一条记录:

$title1=str_replace(''"'',""",$_POST["xingming"]);

$xingming2=str_replace(";",";",$xingming1);

$xingming3=str_replace("''","´",$xingming2);

$aaa=str_replace(" ","  ",$_POST["content"]);

$bbb=str_replace(''"'',''"'',$aaa);

$cont=nl2br($bbb);

$daquery="update $news set xingming=''$xingming3'',xingbie=''$ xingbie '',bumen=''$ bumen '',''time=''$ddd'' where id=''$id''";

$daquer=mysql_query($query);

echo "更新成功";

3.校验完整性,以避免数据被错误的添加。

if (document.formdaxm.danganxingming.value == "")

{

alert ("必须输入档案姓名! ");

document.form1.xingming.focus();

return false;

}

代码的作用是检测是否录入了档案姓名,否则就警示重新录入。

(三)档案管理模块的实现。从数据库中读取指定条件的职工数据,各变量取出数据后显示在输出页面:

echo"

$leng

$date

";

}

五、总结

Web数据挖掘研究与探讨 第4篇

随着Internet/Web技术的快速普及和迅猛发展,Internet已经成为人们获得信息的重要手段,但它是巨大的、多样的和动态变化的。随着Web站点的规模和复杂度的增加,站点设计和维护工作变得越来越困难。作为网站经营者,希望根据用户的访问兴趣、访问频度、访问时间动态地调整页面结构,改进服务,开展有针对性的电子商务以更好地满足访问者的需求。而从访问者的角度出发,他们希望用最简洁的方式得到最精确的信息,希望得到个性化的服务。Web数据挖掘就是为顺应这种需要而发展起来的数据处理技术,即利用数据挖掘的思想和方法,在Web上挖掘出有用的信息。

1 Web数据挖掘的含义

Web数据挖掘(Web Data Mining WDM)是将数据挖掘技术运用于Web数据,提取人们感兴趣的、隐藏其中的、有用的、新颖的模式或知识的过程。也就是说,针对包括Web页面内容、页面之间的结构、用户访问信息、电子商务信息等在内的各种Web数据,应用数据挖掘方法以帮助人们从WWW中提取知识,为访问者、站点经营者以及包括电子商务在内的基于因特网的商务活动提供决策支持。Web挖掘与数据挖掘一样也是一个交叉研究领域,它涉及Web技术、数据挖掘、计算机语言学、信息学等多个领域,像人工智能、机器学习、概率统计及数据库等仍然是Web挖掘的基础。另外,由于Web挖掘的特点,像信息检索(Information Retrieval,IR)和信息抽取(Information Extraction,IE)等研究领域的交叉研究更值得关注。

2 Web挖掘的数据来源及特点

2.1 Web挖掘的数据来源

Web挖掘面向的是网站数据。凡是在Web站点中对用户有价值的数据都可以成为Web挖掘的数据源。其中包括网页文本信息、网页链接信息、网站的访问记录及其他可收集的信息等。但是,不同的挖掘目的、不同的挖掘算法总是依靠不同的一种或几种数据源。通常,Web挖掘的数据源有以下几种类型:

1)内容数据:即Web页面,如HTMLXML文档、动画、图片、语音和图像等。

2)用户访问数据:即描述用户使用网络资源的数据,通常以日志文件的形式存在,如服务器日志(Server logs),错误日志(Error logs)和Cookie logs。

3)结构数据:如网页的内部链接和网页间的超链接。

4)在线市场数据:是和市场活动相关的信息。通常是用传统的关系数据库结构来存储,如电子商务网站的电子商务信息等。将它们和访问日志集成,有助于提高Web挖掘的准确度。

5)其他数据,主要包括用户注册信息等一系列数据。

2.2 Web数据源的特点

Web上的数据具有非结构化、动态、不完全、混沌的特点和巨大、分层、多维的形式,Web挖掘与传统的数据挖掘相比,有其自身特有的性质与要求,可以归纳以下几点[1,2]:

1)数据量巨大,Web数据涉及各种不同行业与领域,又由于连接在Internet上的电脑数量非常巨大,所以,Web数据目前以TB数量级计算,而且仍然在迅速增长,这就要求Web挖掘方法在对大数据集进行挖掘时依然具有高效率。

2)动态性,Internet本身就是一个时刻动态更新和变化的系统,网页数量猛增,页面内容也经常更新,如新闻、股票市场、服务中心和企业网都在定期更新Web网页,网页链接和访问记录也在不断更新。因此需要借鉴数据仓库的某些技术,以此保存Web上动态更新的数据。

3)多样性,Web数据经过滤后,既有数值型(整型、实型)、布尔型,又有分类数据、性质描述数据以及Web特有的数据类型如URL地址、E-mail地址等。这些新的数据类型需要对原有数据挖掘方法进行改进和扩充。

4)异质性,Web上的数据可以是自由文本、文档、图像或其它多媒体数据,也可以超级链接、URL地址、E-mail地址和用户访问信息(Web日志),它们虽然有相似的特征,但在本质上差别是相当大的。

5)异构性,Web上的每一个站点就是一个数据源,每个数据源都是异构的,这就构成了一个巨大的异构数据库环境。其构造特征也存在很大的差异。大多为半结构化数据或非结构化数据,相对于Web数据而言,传统的数据库都有一定的数据模型,可以根据此模型来具体描述特定的数据,但Web上的数据没有特定的模型描述。半结构化是Web数据的最大特点。

3 Web挖掘的分类

根据数据源种类的不同,Web挖掘可以分为三类[2,9,10]:Web内容挖掘(Web Content Mining)、Web使用挖掘(Web Usage Mining)和Web结构挖掘(Web Structure Mining)。(文献[4]提出Web结构可以被认为是Web内容挖掘的一部分。)图1给出了Web挖掘的分类图。

3.1 Web内容挖掘

Web内容挖掘是从网页内容、数据、文档中发现信息、抽取知识或模式的过程。由于Web数据分布广泛,如电子商务数据、数字图书馆数据、FTP上的数据、以及其他各种通过Web可以访问的数据库。既有来自于数据库的结构化数据,也有用HTML标记的半结构化数据和无结构的自由文本。数据源的复杂决定了Web数据类型的多样性,但是主要有文本(Text/HTML/XML)、图像(Image)、声音(Audio)、视频(Video)、元数据(Metadata)以及超级链接(Hyperlinks)等几种数据类型。Web内容挖掘就其挖掘内容而言,可分为基于文本信息的Web文本挖掘和基于多媒体信息的Web多媒体挖掘。就其挖掘策略的不同又可分为Web概要(即直接挖掘Web文档的内容)和搜索引擎结果概要(即对搜索引擎的查询结果作进一步的处理,得到更为精确和有用的信息,以增强搜索引擎的内容查询功能)。按实现方法又分为信息查询(Information Retrieval,IR)方法和数据库方法。IR方法主要应用IR技术,评估改进搜索信息的质量,处理无结构数据和HTML标记的半结构化数据;数据库方法是把半结构化的Web信息重构得更结构化,然后可以使用标准化的数据库查询机制和数据挖掘方法进行分析。

3.2 Web使用挖掘

Web使用挖掘也称为Web日志挖掘、Web访问信息挖掘或Web使用记录挖掘。现在许多商务及交易都是通过Internet或Web来实现的。从而每天在服务器方都会产生大量的访问数据,这些数据通常是由服务器自动产生并将其存放在服务器日志文件中。Web使用挖掘可以对用户访问Web时在服务器方留下的访问记录进行挖掘。Web使用挖掘面对的是在用户和网络交互的过程中抽取出来的第二手数据,这些数据包括:网络服务器日志记录、代理服务器日志记录、浏览器日志记录、用户注册信息、Cookie中的信息、鼠标点击流、用户对话或交易信息等一切用户与站点之间可能的交互记录。它通过挖掘Web日志文件及其相关数据来发现用户访问Web页面的模式,帮助理解用户的行为,从而改进站点的结构或为用户提供个性化服务。

Web使用挖掘的研究方向主要有两个:一般的访问模式追踪和个性化的使用记录追踪。一般的访问模式追踪通过分析使用记录来了解用户的访问模式和倾向,以改进站点的组织结构;而个性化的使用记录追踪则倾向于分析单个用户的偏好,是根据不同用户的访问模式,为每个用户提供个性化的定制站点。

Web使用挖掘的关键在于当用户访问网络时能够预测出用户的行为和活动。其挖掘方法主要有以下两种:一是将Web访问记录的数据作为原始数据,应用特定的预处理方法进行处理后再进行挖掘;二是将Web访问记录的数据转换为结构化数据并存储在数据库或数据仓库中,然后再使用数据挖掘算法对其进行挖掘。

3.3 Web结构挖掘

Web不仅由页面组成,而且包含了链接页面的超级链接。超链接反映了Web页之间的某种关系,如继承关系和引用关系。但是目前大多数的Web搜索工具很少将Web结构考虑进去,仍将Web看成是相互独立文档的集合。Web结构挖掘是在Web的组织结构和链接关系中进行挖掘。Web结构挖掘的对象可以是Web页面之间的超链接,也可以是Web页面的内部结构。Web结构挖掘的基本思想是将Web看作一个有向图,他的顶点是Web页面,页面间的超链接就是图的边。然后利用图论对Web的拓扑结构进行分析。

由于Web文档之间的关联关系使得WWW不仅可以揭示Web文档所包含的信息,也揭示了文档间的关联关系所代表的信息,反映了文档之间的某种联系,同时能体现某个页面的重要程度,利用这些信息可以对页面进行排序,发现重要的页面。挖掘Web结构的目的是:发现Web的结构和页面的结构及其蕴含在这些结构中的有用模式;对页面及其链接进行分类和聚类,找出权威页面。在Web结构挖掘领域最著名的算法是Page-rank方法[5]和HITS方法。他们的共同点是使用一定方法计算Web页面之间超链接的质量,从而得到页面的权重。IBM Almaden Research Center开发的Clever系统和Google搜索引擎就采用了该类算法。

4 Web挖掘流程

Web挖掘就是利用数据挖掘技术从网络文档和服务中发现和提取信息。与传统数据和数据仓库相比,Web上的信息是非结构化或半结构化的、动态的,并且是容易造成混淆的,所以很难直接以Web网页上的数据进行数据挖掘,而必须经过必要的数据预处理。典型Web挖掘的处理流程如图2所示[6]:

1)资源发现(Resource Finding):是指从Web获取并返回文本资源的过程。文本资源最常见的是HTML文档,其他的还有电子邮件、新闻组、BBS、网站的日志数据或通过Web形成的交易数据库中的数据等。

2)信息选择和预处理(Information Selection and Pre-processing):是从取得的Web资源中剔除无用信息和将信息进行必要的整理。例如,从Web文档中自动去除广告连接、去除多余格式标记、自动识别段落或者字段,并将数据组织成规整的逻辑形式甚至是关系表。

3)模式识别(Model Identify):这个阶段主要运用数据挖掘技术和统计方法,从Web使用记录中挖掘知识。实现算法可以是统计分析、路径分析、关联规则、序列模式以及分类聚类等。

4)模式分析(Model Analysis):这个阶段的任务是采用合适、成熟的技术和工具,进行模式的分析,从而辅助分析人员的理解,使采用各种工具挖掘出的模式得到很好的利用。目前常用的方法有:采用类似SQL的形式化查询进行分析;先将数据导入多维数据立方体中,再利用OLAP工具进行分析并提供可视化的结果输出。可视化技术被经常应用到模式分析的结果显示。

5 Web挖掘的应用领域

Web挖掘技术的应用涉及了搜索引擎、电子商务、企业危机管理等多方面。对于搜索引擎而言,通过借鉴Web挖掘技术,可以实现搜索引擎结构的挖掘,改进和提高搜索引擎的质量和效率,确定权威页面,提高查准率与查全率。在电子商务中,运用Web挖掘技术可以进行流量分析,找到网站中最重要的部分,进行广告分析,确定广告的点击率,进行用户来源分析,进行浏览器和平台分析,为网站设计和优化提供依据。同时可以得到关于群体用户访问行为和方式的普遍知识,用以改进Web服务设计。更重要的是,通过对用户特征的理解和分析,如对用户访问行为、频度、内容等的分析,提取出用户的特征,从而为用户定制个性化的界面,有助于开展有针对性的电子商务活动。在企业危机管理中可以运用Web挖掘技术搜集企业经营环境信息,分析企业经营状况,监督网上舆论,进行风险分析、控制和预防危机。文献[3]以搜索引擎为重点论述了Web挖掘的应用。

6 Web挖掘的发展方向

目前,在国内外Web挖掘的研究是前沿性的研究领域。将来的研究方向主要有以下几点:Web数据挖掘中内在机理的研究;Web知识库(模式库)的动态维护、更新,各种知识和模式的融合与提升,以及知识的评价综合方法;半结构、非结构化的文本数据、图形图像数据、多媒体数据的高效挖掘算法;Web数据挖掘算法在海量数据挖掘时的适应性与时效性;基于Web挖掘的智能搜索引擎的研究;智能站点服务个性化和性能最优化的研究;关联规则和序列模式在构造自组织站点的研究;分类在电子商务市场智能提取中的研究。

7 结论

本文讨论了Web数据挖掘的概念、基本原理和关键技术,阐述了Web数据挖掘的分类、工作流程、应用领域及今后的发展方向。如何进一步发展Web资源,势必要进行更加深入的研究,Web数据挖掘的研究将充满挑战又极富发展潜力。

摘要:WWW是一个巨大的、分布广泛的、全球性的信息服务中心,它包含了丰富的信息资源。Web数据挖掘可以快速有效地获取所需要的信息。本文重点探讨了Web挖掘的基本原理和关键技术,针对Web挖掘的分类进行了描述,论述了Web挖掘的挖掘流程、应用领域及研究发展方向。

关键词:数据挖掘,Web内容挖掘,Web使用挖掘,Web结构挖掘

参考文献

[1]马保国,侯存军,王文丰,钱方正.Web数据挖掘技术及应用[J].计算机与数字工程,2006,34(6):20-22.

[2]张蓉.Web挖掘技术研究[J].计算机工程,2006,32(15):4-6.

[3]薛鸿民.Web数据挖掘技术研究[J].现代电子技术,2006(15):99-101.

[4]刘晓鹏,邢长征.基于Web文本数据挖掘的研究[J].计算机与数据工程,2005,33(9):75-79.

[5]Kleinberg J.Authoritative Sources in a Hyperlinked Envir-onment.In ACM SIAM Symposium on Discrete Algorithms,1998.

论Web知识管理系统构架 第5篇

当然了,开发一套知识管理系统之前要先将企业所需要的知识管理系统构架规划出来,本文将****七层的KM构架与其重要的各个组成部分,并结合西门子知识管理系统IMS来说明如何实现一个基于WEB的知识管理系统。知识管理系统的七层构架

图1 KM的七层构架图

对于一个机构而言,知识(Knowledge)是从相关信息中过滤、提炼及加工而得到的有用、有价值资料。机构所拥有的知识大致可以分为两部分,即显性知识(explicit knowledge)和隐性知识(tacit knowledge)。

显性知识指内容清晰明确,易于通过图文表述,便于整理、储存、编码以及传播的知识资源;如经过滤及总结所获得的资讯情报、方法技能、原则原理、规律规则等。

隐性知识指在个人头脑或机构文化中隐含的,内容较为个人化、主观化和经验化,难以用书面形式表述的知识资源;如经验、构思、洞察力、判断力、机构文化下的行为模式等。部分隐性知识可以通过有效的归纳、整理和编码后转化为显性知识。IT管理只能提供隐性知识交换的管道,但对于大部分情况,这个管道并不能丰富到真的转换隐性知识,然而,IT能够加速隐性知识的整合,特别是跨越组织内外边界的时候。下面本文将从IT的角度来介绍七层的KM构架。图1显示了KM的七层构架图。

1.1 界面层

界面层整合各个独立的平台,优化系统内容,负责知识管理系统中信息的输入和输出。它把人和信息技术的基础措施连接起来,并使员工创造,表达,使用,检索并共享知识,是知识管理架构中的最高层。在很大程度上,它是唯一能与最终用户直接交互的层面。为了企业内部的有效协同和结构化知识的顺利分享,协同的知识管理系统必须满足以下基本要求:

l 高效的协议:知识系统所用的网络协议不应阻塞网络带宽,并且应提供移动客户和可移动机器在远离系统的地方能对其内容进行安全和快速共享的功能。

l 便携式的操作:公司的不同部门经常使用各种不同的平台和操作系统环境。协作平台的运作应当是便携式在所有的这些平台上都可操作。(使用HTTp协议的web 在此方面仍然是首选的技术。浏览器是最适合的通用客户界面。最终用户可以在不同切换平台和操作系统环境的同时,运用应用程序并访问知识库。)

l 一致的,易用的客户界面:不要假定用户是技术专家,他们中的很多人可能来自非技术性领域,部门或有这样的背景。

l 可扩展性:随着用户的增加,协同平台应该在不降低性能的同时进行扩展。

l 遗产信息的集成:在更加成熟的公司里,大量的作业数据存储于大型机数据库中。因此,决定使用的平台必须能将这些数据集成到最终接口。

l 安全性:随着一个企业日益分散,安全性成为设计的一个重要方面。

l 灵活性和可定制性。最终用户缺乏过滤掉不相关的内容的能力是导致信息超载的根源。所以平台的选择应当有这样的能力。(基于web的内联网仍然是此方面的最好选择)。

1.2 访问与身份验证层

这一层的主要作用是对合法用户进行身份验证,并负责下面几层的安全以及访问权限的控制。现在,许多企业越来越多地使用内联网和外连网将员工们连接起来。内联网和外联网都是建立在开放的互连网协议上的混合型信息系统,这些协议包括HTTp,TCp/Ip以及一些相关的WEB技术等。内连网和外连网,使公

司和它的业务伙伴之间能够有效地共享资源,以完成某些共同的目标。下面几点是必须引起注意的:

1)访问权限:对不同的用户应授予不同层次的数据访问权限,比如只读,可写,可编辑和可删除。

2)防火墙:在企业内联网与互联网之间构建防火墙,并通过模拟攻击来测试防火墙的可靠性

3)备份:进行系统,建立缓冲区域。对信息进行复制的目的是为了在遇到灾难性的打击(如硬件损坏,非法入侵或者感染病毒)时能够迅速的恢复,重建数据,通过网络来进行备份非常划算,并且也非常安全。

1.3 协同过滤与智能层

这一层构成了知识管理系统的智能处理中心。为知识元素(称为可付诸行动的信息单元)增加标识和元标识,智能代理可能是在各种各样的WEB应用中最能产生人工智能的工具。协同过滤和商务智能的工具都是建立在这一层上的。人工智能的人造性。如专家系统,基于案例的推理系统,神经网络等。实现方式有从静态到动态的结构,虚拟文件夹,自动全文标引,从客户机/服务器到代理计算等等。其中代理基本可分为三类:在客户端的静态代理,在服务器上的静态代理以及移动代理。与知识管理系统直接相关的是移动代理,它可以从一个服务器访问到另一个服务器,从而找到所需要的信息。在所有可用的选择中,Java是最适合用来移动代理的。因为Java能够把移动代理转化为一种适合电子传输的形式进行传输,然后在收端重新构造后在传回来。

1.4 应用层

工具使得信息能够集成,这些信息包括隐性的信息源(例如:人)和显性的知识源(例如:数据库,事务处理存储和数据仓库等),有助于创建和共享语境,以便于做出判断,例如:头脑风暴会议,问题求解,思想产生和战略计划会议。通常是高度互动的,包括各类人,通常来自不同的地点,职能部门和作业基础。与知识管理系统有关的一些方法是电子黄页,文档管理,虚拟共享空间,虚拟会议等等。电子黄页是可以用网页搜索到的技能清单的电子版本。当我们需要某位具有重要资源的人物,我们就可通过关键词和属性标识找到这些指针,指向符合标准的人,并告诉我们可能的联络信息。文档管理将有助于提高开发文档数据库并自动进行分类的能力。虚拟共享空间可以支持非正式的合作,讨论和闲聊,在这里可以鼓励并容许非正式聊天和会话。而互联网会议系统可以实现虚拟会议,不同地点的使用者能在这种系统上联系起来开会,共享信息,参加者能共享一些应用软件,例如程序屏幕,演示图片,文字处理和电子表格软件。

1.5 传输层

这一层至少包括以下这些组件来支持知识管理系统:

1)贯穿整个组织的TCp/Ip网络

2)一台总是在线的互联网服务器

3)一台pOp3/SMTp或邮件服务器

4)可以支持远程通信,反问和连接的虚拟个人网络设置

1.6 中间件与遗产集成层

遗产集成层是将遗产数据和现有的新系统进行整合的一层。中间件层的功能是实现新旧数据格式之间的转换,一般是通过web前台来实现的。众多的工具和脚本语言,如TCL/TK,可以用来实现集成。它们能够用来创建数据包,从而使得通过web浏览器可访问遗产的数据而不必考虑它们平台。

1.7 存储库层

知识管理系统架构的最底层是存储层。这一层主要包括了运行数据库,讨论数据库,web论坛的记录库,遗产数据,数字和数字化文档存储库,以及对象存储库等一些孤立的分散分布的数据孤岛都存在于这一层中。在知识管理系统的架构中,越往上走,这些存储库都会和一些语境,隐性知识结合起来。

1.8 技术整合用于建立知识管理系统的大部分技术实际上已经存在。有效的知识管理系统的关键驱动因素是适当地运用和紧密地整合这些现有技术,工具和信息资源。知识服务器就是知识整合者。因为大量信息散布在整个企业中,内联网在某种程度上提供了将它们整合的媒介,但每天产生的信息很混乱,通过使用一个知识服务器,它可以给每个文档都创建一个引用,类似于图书馆里卡片,每一张卡片上都记载着关键词的元数据,如作者,主题和题目等,知识服务器可以按照管理员定义的层次目录自动的对卡片进行组织整理,使用者也可以通过网络浏览器编辑这个目录,其中最典型的应用就是在内联网中。

图2表示了知识服务器如何与现有基础设施融合。西门子知识管理系统在七层结构中的应用

2.1西门子知识管理系统(IMS)的特点

西门子知识管理系统(IMS)主要有以下几个特点:

1)系统采用B/S(Browser/Server)的架构模式,用户可以在任何具备浏览器的机器上通过Internet/Intranet进行业务的处理,从而提供强大的远程办公功能,同时系统具有接口统一、访问简单、易升级、易扩充、方便维护等特点;

2)采用统一、多级、面向对象的强大用户权限管理机制,用户必须输入用户名和密码才能进入知识管理系统进行各种操作;

3)本系统的权限管理深入到每个文档,能灵活控制、记录使用者访问的内容;

4)提供强大的全文检索功能,本系统设计以行业为主要的目录结构,以一系列的知识点或产品为基本单元,系统能够提供对Word、Excel、powerpoint、pDF等多种文档格式全文检索、显示、编辑功能。

2.2 西门子知识管理系统(IMS)的基本功能

WEB网络数据库安全体系构建研究 第6篇

关键词:WEB数据库;网络数据;安全体系

中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011) 08-0000-01

The Construction Research of Web Database Security System

Cha Wenli

(Nanchang Institute of Technology,Nanchang330108,China)

Abstract:This paper WEB-based database system network security system for the study,analyzed the relevant database system based on WEB technology,a network security policy database system was discussed,

Finally,the database system,the establishment of network security system Program.

Keywords:WEB database;Network data;Security system

网络数据库相关安全机制的研究随着网络和数据库技术的发展而不断深化,网络数据库的安全管理日益

成为人们关注的焦点之一。本文从操作系统级、web服务器级、Web应用程序级三个层次探讨Web数据库应用系统的安全问题。

一、常见的网络数据库系统

数据库应用系统是系统开发人员利用数据库系统资源开发出来面向某一类信息处理问题而建立起来的软件系统。数据库系统有5部分组成:硬件系统、数据库集合、数据库管理系统及相关软件(如支持其运行的操作系统等)、数据库管理员和用户。其中数据库管理系统是数据库系统的核心组成部分。数据库系统层次关系如图1所示。

目前网络中两种最常见的数据库系统模式:客户机/服务器系统(client/server)和分布式数据库系统(Distributed Database System)。

(一)客户机/服务器系统。客户机/服务器系统即通常所说的C/S模式,它是一种新型的计算机应用模式,以网络环境为基础,将计算机应用有机地分布在多台计算机中的结构。客户机/服务器系统是计算机网络环境中比较常见的一种数据库体系结构,尤其在WWW迅猛发展的今天,大多数的Web服务器采用的都是这种结构,但在具体应用中可能有一些结构上的差异。

(二)分布式数据库系统。分布式数据库系统是数据库技术和网络技术互相促进和有机结合的结果,分布式系统通常由计算机网络联结起来,网络上每个节点的数据库都有自治能力,能够完成局部应用;同时每个节点的数据库又属于整个系统,通过网络也可以完成全局应用。分布式数据库系统的体系结构是分布式控制的。其中每一个节点都不处于中心位置,是相互平等的,无前台、后台或客户、服务器之分,每个节点具有相同的功能。

二、Web数据库安全体系的建立

根据上述安全策略,安全数据库管理系统模型的结构如图2所示。系统的整个体系主要有两部分构成:管理程序和各具体业务处理模块。管理程序负责整个系统的协调调度,具体业务则由相应功能模块处理。

(一)安全数据库管理系统的管理程序。安全数据库管理系统的管理程序是本系统的协调管理模块,运行于Web服务器上,主要作用是:完成客户端的请求响应交给认证模块处理、与数据库服务器交互的数据进行处理并发送、访问者的日志记录及参数的传递。

(二)身份认证。在身份认证模块中建立用户角色表,它与用户在角色存取控制的角色相对应。为了应用方便,可以将用户群体分为一般用户身份和特殊用户身份两个用户角色群体,身份认证模块根据用户发来的请求查询其角色数字,判断出请求者是属于一般用户群还是属于特殊用户群,然后调用不同的认证技术对访问者进行身份认证。没有通过认证的返回拒绝消息,通过认证者经角色存取授权模块的处理去访问数据库中的相应数据项。

(三)日志记录。在一个安全性因素很重要的系统中,一定要用日志记录访问行为,日志是用于记录用户访问的文件,用于记录访问者的访问路径、IP地址、访问时间、身份认证情况等,同时数据库本身也提供日志记录。可以把二者结合起来使用。日志记录对于安全十分重要,管理员可以通过对日志的维护了解用户所进行的操作,另外日志记录也是进行安全入侵检测的必须输入数据。

攻击者如果想获得对于某个系统的访问权,可以通过删除或修改日志记录来试图掩盖他们的行踪。因此建立一个安全的日志,使得它比存储在可能被攻击的远程主机上的简单的文本文件更难于修改,无疑是非常重要的。实现日志记录的方法很多,这取决于具体的需要。日志记录的两个可能需求是:

1.记录日志后没有消息会丢失。

2.在事实发生后,没有消息能被伪造。

为了使日志记录的消息不会丢失,可以将记录消息放在一台分离主机上的数据库中,允许对数据库的添加和读取,但不允许对数据的修改。日志记录的安全性依赖于数据库的安全性,通过数据库的连接进行加密和使用客户端认证,可以知道当入侵行为发生时,日志记录也是安全的。

为了使事件发生后的消息不能被伪造,可以对每一个日志的条目加盖时间戳(或者为了提高效率对其进行批处理),这种方法不需要一台分离的日志记录主机。这样做虽然有攻击者删除日志条目来掩盖其踪迹的风险,但是至少可以确信不能在当前时间插入任何日志记录。

三、结束语

在网络环境下,随着黑客攻击技术的不断提升,保护网络数据库的安全更是个高难度的课题。对于网络数据库安全这一领域,仍然有很多工作有待于更深入的研究,本文对数据库安全体系的研究方案是有效的,因为它给数据库提供了最大的保护。所有安全的各个方面都给予了考虑,涉及到了机密性,访问控制,完整性,抗抵赖性的认证等。

参考文献:

[1]陈丽.数据库安全模型的设计[J].微计算机信息,2007,9

[2]姜启涛.网络数据库的安全及优化[J].计算机与信息技术,2006,10

针对WEB的网络管理技术研究 第7篇

一、网络管理技术概况

随着计算机和网络覆盖率的提高, 政府和企业也在利用网络开始发展一种新的模式。网络的大力发展推动着电子商务的发展, 但是同时网络犯罪也开始出现, 网络黑客入侵企业或政府电脑盗取重要的资料, 给政府和企业带来了巨大的损失。因此, 对于计算机网络的维护和管理是相当重要的。对网络进行有效的安全维护, 抑制与控制网络犯罪, 是网络管理的最主要目的。只有这样, 才能使用户的计算机网络能够正常的运行, 并且在使用的过程中不出现异常状况。近几年来青少年犯罪的事件越来越多, 这也警告着我们对于网络的管理应该要更加重视。由于网络管理面对着庞大规模的用户人群, 为了能够使网络能够正常的运行, 这需要采用现代先进的网络管理技术。在网络这个平台上, 为了维护网络, 一般对网络进行了分段处理, 以此用来建立网络的服务器以及数据库, 再利用WEB网络管理技术, 对数据进行采集和处理, 使用通信协议作为最基本的平台进行维护。

二、网络管理的原理

一般的网络主要为主控端、服务器、被控端三大部分组成。一般用户主要为被控端, 当他们在使用网络服务时, 通过服务器向主控端传递数据, 由主控端进行处理之后, 再通过服务器返还给被控端。一般而言, 主控端即我们生活中的网络管理员, 直接对被控端的数据信息进行处理。例如在学校, 网络管理员对学生的上网进行监督和管制, 这就是主控端的作用。一般的操作流程就是主控端人员通过远程向服务器发送请求, 服务器将被控端的程序以HTML的形式发送到主控端, 然后主控端再对接受的文件进行处理和执行。这在传统的C/S结构上大大提供了网络的运行效率, 使得网络更加流畅。

三、网络管理的作用

电子技术的快速发展使得网络管理越来越困难, 不仅要处理来自计算机的信息, 还要处理来自手机、服务器等其他网络设备的请求, 这使得网络的管理相当复杂。网络的管理除了要维护网络的漏洞以及故障之外, 还要对网络配置、网络性能、网络安全、网络收费等进行管理。尤其网络安全涉及多方面因素, 所以通常意义上网络管理以网络安全为主。

四、WEB方式的实现

对于现阶段流行的网络WEB管理方式, 我们应该将其实现方式进行深入的发展与推广。WEB实现方式有代理方式和嵌入式的代理方式。代理方式主要指在内部的工作站内运行WEB的服务代理器, 在浏览器用户浏览该站点时, 由WEB服务代理器与浏览器进行通信。这种管理方式是介于浏览器与网络设备之间的管理, 管理软件将信息传送到代理服务器中, 并将传统的协议换成了WEB协议。第二种方式就是将WEB的功能嵌入到网络设备中去, 这样一来每个设备都有自己本身的WEB地址, 这样网络管理软件直接通过设备本身的WEB地址进行数据信息的传输, 这样的方式使得数据传输安全性好, 而且更加方便管理。

五、结语

总之, 对于网络的管理而言, WEB管理技术是目前唯一一种比较科学的方式。我们应对WEB网络管理技术进行全面分析, 并在此基础之上探究更加快捷安全的网络管理方式。

参考文献

[1]李木金, 王光兴.一种基于web的网络管理模型及实现[J].计算机研究与发展, 2006 (7) .

[2]李木金, 王光兴.一种被用于网络管理的性能分析模型和实现[J].软件学报, 2000 (2) .

[3]罗军舟, 顾冠群, 等.新型网络管理系统模型及其专家系统[J].软件学报, 2009 (12) .

Web数据库访问技术的研究 第8篇

随着Internet技术的广泛应用, Internet成为资源共享、数据通讯和信息查询的重要手段。由于Internet用户对信息的实时性、交互式、动态访问的需求日益增长, 对交互性的Web应用程序提出更高要求。通过简单的Web页面访问服务器端的数据库可以打破Web服务器与浏览器静态的HTML模式, 从而实现动态的、交互式的Web页面。Web数据库应用系统访问技术常用方法有CGI、API (ISAPI, NSAPI) 、ASP、Java和Java Applet (使用JDBC接口) 等, 这种方式有力地促进了Web技术与数据库技术的协同发展。

1 Web数据库结构

World Wide Web的体系结构为浏览器/服务器 (B/S) 模式, 通信采用无状态的、面向对象的HTTP协议。其典型结构如图1所示:

2 Web数据库访问技术

2.1 CGI技术

公共网关接口CGI (Common Gateway Interface) 是运行在服务器端的网关守护进程, 是Web服务器与外部应用程序之间的标准接口, 是最早实现Web数据库访问的技术, 用于处理浏览器上输入的信息, 在服务器上产生相应的作用或将数据库信息反馈到浏览器。图2是通过CGI访问数据库的流程图。CGI程序可以用任何编程语言来编写, 但它存在很多缺点, 例如:开发繁琐, 修改成本高, 功能限制, 不易调试和检错, 无法对事务处理的功能。其中最为突出的是是以进程方式运行, 效率不高。对每一次收到CGI请求, Web服务器都重新创建一个新的进程, 建立一个新连接。而且, CGI程序是作为一个独立的外部应用来运行, 与服务器上的其它应用程序竞争系统资源, 同样导致运行效率不高。

2.2 API

API与CGI相比, 所采用的数据处理方法不同, API运用高级程序设计方法, 具有强大的功能, 灵活有效, 它可以提供自身应用和其它软/硬件的连接, 克服了CGI效率慢的缺陷。API访问数据库的原理与CGI相同, 在动态链接库 (DLL) 形式上与CGI的区别最大, 所以运行效率上明显提高。当调用API时, 接到请求的Web服务器将启动一个DLL线程, 在生成的HTML页面中显示访问数据库的结果, 并返回客户端。由于线程具有进程内属性, 启动快, 并且线程之间可以共享资源, 消耗系统资源少, 从而提高程序运行效率和响应时间。但API技术存在开发难度大且可移植性差的缺点, 因此, API应用程序往往多用于专用Web的服务器和操作系统上。

2.3 ASP

ASP (Active Server Pages) 作为API的延伸形成了独立的服务器端脚本编写环境, 它可实现交互的、动态的、高效率的Web服务器数据库信息交互。脚本可以在服务器端运行, 而不用在客户端运行时, 由Web服务器完成控制浏览器HTML页面的所有工作, 其任务由Web服务器负责完成。ASP能实现CGI的所有功能, 同时还具有许多其它优点, 比如:ASP拥有强大的数据库功能, 通过服务器端的脚本, 可以很容易创建数据库的连接, 利用Microsoft的ODBC技术, 以及ADO控件和设计时控件, 对数据库进行操作十分方便快捷。ASP中包含了许多Active X服务器的构件, ASP正是通过这些Active X服务器构件来扩展脚本的能力, 其中的数据库访问构件 (Database Access Component) 能使脚本方便地访问数据库服务器上的数据。运用ASP脚本的Web数据库应用程序的执行流程如图3所示:

2.4 JSP

JS (Java Sever Pages) 与ASP相比, 在技术方面有许多相似之处。但JSP页面支持Java高级编程语言, 可实现“一次编译、到处运行”的跨平台特点。JSP是通过JDBC (Java Database Conneetivitv) 来实现对数据库访问的, 当前的大多数据库都支持JDBC驱动程序, 如Oraele、Sybase、Sql Server等。JDBC在功能上于ODBC等同, 以应用程序接口的方式提供Java应用对数据库的访问。创建Java应用到数据库连接需要安装对应数据库的JDBC驱动程序, JDBC方法不需要ODBC数据源的支持, 可以提供标准的方法对数据库进行操作。如果系统中没有安装JDBC驱动程序, 可以通过Sun公司提供的JDBC-ODBC间接转换桥访问数据库, 该桥为Java程序运行建立ODBC的数据源, 实现数据库的访问。依靠Java虚拟机的支持, JSP可以实现跨平台性运行, 但由于JSP也需要解释后执行, 因而访问速度较慢。

2.5 ASP.NET

ASP.NET是继ASP之后发展出的Web应用程序开发技术, 它与.NET框架进行了整合, 采用模块化的设计模式, 成为搭建与管理Web应用程序最佳平台。与ASP相比ASP.NET具有更多的优势, 它可以支持多种编程语言, 如:VB.NET、C++等。ASP.NET程序代码运行实现了与HTML设计页面分离, 使网页结构更清晰, 程序可读性更强, 编译执行的运行效率更高。

CGI技术开辟了最早的Web数据访问技术, 具有进程内属性, 运行效率低的问题。API利用DLL技术, 用线程代替进程, 对CGI进行了改进, 但其编程要求复杂, 不具通用性。ASP提供ADO组件, 具有强大的数据库访问能力, 但ASP解释执行, 运行效率不高。JSP利用JDBC提供跨平台的数据库访问, 但Java语言掌握难度较大, 并需要JVM支持来进行解释执行, 运行效率不高。ASP.NET利用ADO.NET组件对数据库进行访问, 比较其它数据库技术有更多的优势, 该技术支持多种高级语言编程, 实现代码与HTML设计页面分离, 编译执行效率高, 在当前技术发展和应用中具有较为乐观的应用前景。

3 结论

随着网络和数据库技术发展, 传统的客户机/服务器 (C/S) 模式转向了浏览器/服务器 (B/S) 模式, Web数据库交互式动态访问技术为实现信息资源远程共享提供了技术支持, Web与数据库的互连成为了管理信息系统的核心, 数据库和浏览器构架了资源信息访问的管道。本文介绍了目前主要的Web数据库访问技术, 对相关的数据库访问技术进行了研究。通过对这些技术的分析, 总结每种访问技术性能的特点与优势, 为设计者如何选取最适合的Web数据库访问技术进行指导, 满足人们对互联网更加个性化、交互性需求的同时, 也促进了网络编程技术的产生和发展。

参考文献

Web数据可缓存性研究和应用 第9篇

以最常见的WWW应用为例,当用户请求到达时,Web服务器从请求队列中选取优先级最高的请求作为当前请求,从URL中提取出请求文件路径和名称,然后在后台数据库进行查找,如果查找成功,就将该文件反馈给用户,否则以查找失败标志作为对用户的响应。但不容忽视的是,HTTP请求往往带有超时控制,用户请求的数据无法被及时响应的情况时有发生,最终造成用户失去耐心,不得不放弃所访问的内容,甚至离开网站。改善网站响应延迟,提高用户体验,可以将网页静态化,可以使用压缩传输技术,可以采用更合理的网络协议如HTTP-NG,当然也可以采用更高效更易实现的缓存技术。

1 可缓存性分析

Web缓存(被动缓存)技术是利用程序的时间局部性原理,将已经请求过而且即将再次请求的数据放入缓存,这样当再次请求该数据时,就从缓存中取出该数据作为对用户的响应,从而减少服务器端的响应时间。

在Web应用程序中,数据实体往往来自于数据库服务器,而数据库中不同实体更新频率也不同,有些数据写入后基本没有更新,而在某些情况下,则频繁更新,为了保证用户请求的数据实体是最新的,所以必须保证缓存同步。根据数据实体更新的频率,可将数据实体分为如下四类:

1)只读型数据实体。这种类型的实体通常在系统初始化时被装入数据库,存放的内容是系统运行时必要的配置参数和数据字典等,该类数据的特点是“一次写入,多次读出”,即只读型实体。

2)较少更新型实体。该类型的实体由系统用户或者管理员在系统运行时写入数据库。由于该类型的数据内容主要是系统或管理员向用户发布的群消息或者新闻通告,而被发布的消息及内容是几乎不变的。即消息一经发布,几乎不再改变,除非被发布的消息及内容本身有错误或者消息内容需要更新,当然这种情况出现的概率很小。例如在某学术论坛上发布的文章内容,作者在提交文章前一般都会对文章做比较谨慎的修订,因此,提交错误内容的可能性很少,文章内容更新的几率极低;又例如,在某购物网站上所发布的打折信息,系统管理员会不定期的发布一些最新的打折信息,该打折信息的内容,极少需要变更。

3)较多更新型实体。这种类型的实体被插入到数据库后,在接下来很短的一段时间内一般会有几次更新,在该时间段以外的时间内则几乎没有更新。例如:论坛上的登录用户在发表新帖或跟帖留言时,由于一些消息的内容不符合国家法律或为含有不恰当的内容,需要管理员用户对新帖子或跟帖的内容进行审查,然后删除或修改不符合要求内容。另外,发帖者本人也有可能在发布或留言后意识到帖子内容有问题,而立刻对内容重新进行编辑。

4)频繁更新型实体。该类型的实体通常在企业生产应用系统中大量存在,实体的内容时时刻刻都在发生变化,如果更新不及时或出现错误将造成极大的经济损失。例如商品交易所的期货价格信息。

在此,引入一个数学分量α,其值为数据实体在一定时间内被查询的次数和被更新的次数的比值,即:α=查询次数/更新次数。α值越大,则该数据实体被缓存的价值就越大[2]。

根据对Web应用程序的时间局部性分析,适合缓存的数据包含:

1)更新频率低的数据。该种数据被缓存后,无需频繁的与数据库同步,缓存与数据内容基本一致。

2)公共信息数据。不同用户登录系统后,所呈现的公共信息是一致的,不因Session变量和个人参数的不同而不同。

3)请求次数较多的数据。

不适合缓存的数据包含:

1)频繁更新的数据。该数据被缓存后,需要频繁的与后台数据库进行同步操作,缓存一致性代价较大。

2)数据库中保存的个人数据。例如个人电子邮件。

因此,适合缓存的数据是那些被频繁访问但非频繁更新的非个人数据。此外,由于缓存容量有限,缓存哪些数据必须经过慎重的考虑和精心的筛选。所以,那些不需要依赖后台数据库的静态内容,因为缺少数据查询的操作,是否有缓存的必要,也需因情况权衡。

2 Web缓存实例

河南省教育科研网论坛(bbs.ha.edu.cn)是一个面向全省的综合性BBS系统。网站采用IIS6.0作为Web服务器,以Visual Studio2005作为开发工具,采用C#语言,以ASP.NET 2.0技术平台来实现页面的动态生成,数据库使用SQL Server 2005构建[2]。对该系统的优化主要从整页缓存,部分缓存和应用程序缓存三方面入手。

2.1 整页缓存

系统中有一些页面对任何登录用户都显示同样的内容,如新用户注册页面、用户登录页面、找回密码页面、举报页面,这类页面参数很少变化或没有变化,为了避免此类页面的重复处理和生成,应该对其采取缓存操作。还有一些特殊的帖子,如公告贴,往往被管理员锁定为不可回复的置顶帖,对于此类帖子,也可进行整页缓存。

在此以找回密码页为例,阐述页输出缓存的实现。

对任何用户,找回密码页的参数都没有变化,对所有浏览器请求所显示的内容都是一样的,用户只需实现在文本框中输入注册时的E-mail地址并点击“取回密码”按钮的操作。因此很适合使用页输出缓存。只要在该页顶部加入如下代码即可:

对该页的请求只在用户忘记密码时才出现,而忘记密码也只是少部分用户的小概率事件。用户只需要输入注册ID时的邮箱并点击“取回密码”按钮即可,基本上在30秒内可以完成,所以Duration值设为30,到期后该页被释放,节省了宝贵的缓存资源。而参数没有任何变化所以VaryByParam参数值设为none。

2.2 部分缓存

对于不适合采取整页缓存的页面,可以采用部分页缓存策略。

该页上部存在一个DataList控件,用来显示近期以来的热门贴子。热门贴子在一定时间内存在稳定性,即必须满足一定的时间和访问/回复量要求才能成为热门文章,所以属于非频繁更新的数据,并且需要耗费较多的资源生成。可以采用部分缓存的一种主要技术----控件缓存来对主页进行改造优化。

首先把显示热帖内容的部分制作成一个单独的用户控件。新建一个用户控件,命名为HotTopics.ascx。然后实现Index.aspx文件和HotTopics.ascx用户控件之间的关联。首先在Index.aspx页面顶端添加如下代码,以对用户控件进行注册:

Register用来注册控件,Src指向用户控件的.ascx文件,TagName参数定义了该控件的名称,TagPrefix定义了控件位置的命名空间。然后在主页相应的位置添加对用户控件的引用:

最后在HotTopics.ascx用户控件的代码顶部加上OutputCache指令即可。

帖子的热度每小时更新一次完全符合系统日常运行情况,所以将Duration值设置为3600秒,意为用户控件中的内容在缓存中保存一个小时,一个小时后缓存到达有效期,释放缓存。如果缓存被释放掉后,又有新的对主页的请求,则对该请求进行响应的同时,将响应内容再次放入缓存,缓存时间仍为3600秒。这样,既满足了用户对响应时间的要求,又解决了缓存一致性问题(当然是在可容忍的范围之内)。

2.3 应用程序数据缓存

总体而言,访问论坛的用户,请求最频繁的页面是板块帖子列表。所以对帖子列表如果能采取缓存策略,可以较大的提高系统响应速度。该系统帖子列表页如图3所示。

该页主要是显示文章列表,其中的数据是经过查询条件,从数据库中检索出来的该板块前20条记录,并把它们绑定到DataList对象上,从而在页面上显示出来。这个检索过程要花费大量的时间,而且在某个时间段内检索的结果不会变化,因此适合将结果缓存。通过对DataList数据绑定部分代码分析,来实现缓存的方法。

数据缓存的优点在于灵活性,所以只需缓存对用户来说最有价值最直观的信息。DataSet类的实例ds只是状态信息,并没有作为响应内容,没有必要缓存。本文仅缓存对用户来说最重要的查询结果,即DataTable及其中的各项内容。实施方法如下:

代码运行过程是:首先试图从缓存中检索DatalistBindDataSouce的值。如果缓存中存在DatalistBindDataSouce,那么缓存会返回一个对象引用,把这个对象引用转换为一个DataSet对象,然后进行数据绑定。否则,将创建一个新的DataSet,让这个DataSet加载数据,然后在缓存中插入一个DataSet引用。这样,之后用户对这帖子列表页面请求时就会直接用这个DataSet引用进行数据绑定而不需要重新创建一个DataSet加载数据[3]。

2.4 响应时间测试

测试的主要内容是已经实施缓存优化的几个页面,包括采用整页输出缓存页面的测试、采用部分输出缓存页面的测试、采用数据缓存页面的测试。测试工具采用Firebug,对网络状况进行监视,从而模拟仿真环境下,系统对用户请求的响应状况。测试结果对比如图4所示。

图4对比可以看到,未采用任何缓存策略前的页面响应时间分别为700ms、2047ms、1710ms,而采用缓存策略的页面响应时间仅为247ms、1446ms、673ms,响应时间分别减少了453ms、601ms、1098ms,响应速度分别提高了283%、70.6%和263%。可见采用缓存策略后页面响应速度会有较大的提高,从而减少用户等待时间,获得更好的用户体验。

3 总结

在Web应用程序运行时,将数据放入缓存以避免重复的查询、处理和生成能够有效提高系统性能。其次,当用户基数很大时,对同样的请求分别进行处理,但处理结果完全一样,会消耗大量宝贵的资源,同时造成系统抖动。最后,引入缓存的应用系统,可以保证在进程退出或系统关闭的一段有限时间内,继续为用户提供服务,从而提高了系统的健壮性。

参考文献

[1]中国互联网网络中心.第27次中国互联网络发展状况统计报告[EB/OL].http://www.cnnic.cn/research/bgxz/tjbg/201101/P020110221534255749405.pdf.

[2]杨鹏飞.基于用户的交互式网站优化[J].科学时代,2010(12):168-169.

[3]吴萍.利用缓存技术对教学培训系统的性能优化[D].上海:东华大学,2006.

围绕用户数据的Web平台架构研究 第10篇

架构Web平台的数据可以是通用的, 例如用户信息;可以是私有的, 例如一个在线网盘;也可以是个人的, 例如博客, 微博;也可以是开放的, 例如餐饮信息, 旅游信息, 天气信息;也可以是需要严格保密的, 例如银行的账户信息。所有的数据通过Web呈现的面对用户的所有功能都是提供一个给用户操作的接口, 通过接口访问Web平台专有的一组核心数据。

2 架构核心数据

Web应用, 即使不为用户提供也不使用任何用户数据的平台, 仍然是由功能应用内部需要的数据来驱动的。假想一个提供餐饮信息查询方面的网站, 该Web站点的功能包括可查找的餐饮信息索引, 关于每个菜式, 餐饮店的基本信息, 以及用户对每个餐饮店做出的评论, 用于获取这些具体的信息构成了这个应用的核心, 驱动了这一类Web平台的架构。

随着Web2.0的网络技术逐渐流行, 数据在系统中的核心地位越来越明显, Web2.0展现的核心主题就是数据驱动, 而且依赖用户本身提供了绝大部分的数据, 核心的数据映射驱动了网站的功能和体验, 与Web2.0之前网站的核心数据不同是, Web2.0数据是围绕用户与用户之间的联系来展开的层次架构中。

3 架构思想

围绕用户数据的Web平台层次架构中, 在架构的最上层数据展现层, 输入模块将用户的Web输入 (Get, Pos, Cookie信息的集合) 映射为对原始数据的请求, 存储于数据库的中的原始数据被转换为内存中的数据, 通过业务逻辑进行智能化处理, 输出模块针对显示原始数据对象进行HTML, Java Script, CSS等转换, 是运行在基础设施之上的应用程序N层栈;而业务逻辑层则是根据一些建立在系统的数据组件规则来执行的, 平台开发者可以利用分离的业务逻辑和应用栈将核心的数据映射应用于其他的Web应用, 用户在这些应用里提供或消费数据。架构设计考虑创建统一可用的用户关系数据上下文, 体现用户与数据之间的关系:数据可获得性和用户隐私。

架构技术的要点:

横向协作, 业务分布, 数据分布, 纵向分层, 流水作业;以空间换时间, 资源的预准备, 资源池, 兼顾同步和异步;应用可以通过Web平台的数据服务来访问有用的关系数据, 为外部的Web应用, 桌面操作系统应用和其它设备上的应用提供关系上下文;应用可以通过数据驱动标记语言来实现显示, 在Web平台提供的页面上集成自己的应用;通过数据驱动标记语言针对架构的改进需求, 开发者可以使用Web平台的cookie和javascript让满足应用的架构改动最小;架构创建了统一的关系上下文, Web平台应用可获得平台提供的功能而不必放弃对于平台的用户数据和显示提供的用户体验期望。

4 架构实现

4.1 数据展现层

DNS级负载均衡, 动态页面静态化, 静态页面使用轻量级的Web服务器, 图片, Java Script, CSS, , Flash, 流媒体等资源使用专用的服务器, 页面中重要的部分同步处理, 次要部分使用Ajax技术进行异步处理。

4.2 创建XML Web服务

平台通过创建外部可以访问的Web服务来提供平台数据访问的接口。Web服务API接口为外部应用和平台数据之间建立了关系, 本质上位外部应用栈添加了平台数据, 对于用户而言, 可显式的通过授权外部应用来获得平台关系数据。

在Web平台, 目标方法的名称以及它的参数是在HTTP请求中传递的, 请求还包括调用应用相关的证书, 与用户-应用相关的证书, 与请求实例相关的证书。通过将HTTP的Get和Post输入转换成对内部栈的调用, 以XML格式输出结果。

4.3 Web服务认证

Web服务的客户端在每次请求时发送Session Key, Web服务知道Session代表的用户请求的应用, 当用户或Web平台禁用该应用, 或者是用户首次访问的应用, 安全检查将无法通过, Web服务返回错误给请求的客户端, 当安全检查通过, 外部应用站点会把该Session Key计入自己的用户记录, 或存放到用户的cookie中。

4.4 关系数据查询服务

Web平台通过带有用户控制的认证握手的Web服务将内部库扩展到外部应用, 通过这个转换, 平台的关系数据可以驱动用户决定认证的其它应用程序, 通过关系上下文, 在应用的数据中创建新的关系;

随着应用越来越多地使用外部数据平台, 由于网络带宽占用, CPU负载造成的请求延迟将很快体现, 通过建立关系数据查询服务机制, 让开发者能在在平台的数据上使用标准的数据查询语义, 将计算推到平台可使用户取得平台数据等同于取得自己的数据, 该架构的实现, 是一项访问平台数据的架构改进, 是标准的黑盒Web服务, 让开发者能够消除多次数据请求的来回。

4.5 创建关系Web门户

数据架构实现了让平台关系数据更加开放的要求, 外部应用和数据平台的共同用户可以共享信息, 每个新的关系应用不需要一个新的关系网络, 为让更多的用户发现Web平台的应用, 平台把应用的内容和它自己的内容等同看待, 让外部的应用展现在平台的门户站点上, 帮助开发者获得足以支撑数据关系功能所需的关键性用户数。

4.6 平台提供的工具

平台提供各种开源小工具, 例如跨语言进程间通信 (IPC) 工具, 序列化输出工具, 平台内部异常转换为外部错误代码工具, XML或SOAP工具集等, 通过使用这些小工具, 应用服务的设计者不必每次小改动都需要花费时间来更新代码, 而用户更可以通过工具了解更多的平台内部架构信息。

5 架构支持功能

由于开发者创建的软件运行在Web平台的服务之上, 使得平台数据得到了长足的发展, 但是仍有一些重要的, 常见的Web使用场景和技术, 平台的架构不能支持, 平台通过下面的支持功能来修正存在的问题:

5.1 平台Cooke

让Web平台具有浏览器的职责, 在平台自己的存储库中复制Cookie的功能, 如同用户操作浏览器保存Cookie信息, 可有效地分离用户在平台上的应用体验和应用的HTML站点上的应用体验。

5.2 自定义的Java Script

Web平台提供一些自定义的Java Script库, 让用户场景更加容易实现, 同时场景受到平台的控制, 使应用即动态又安全。

6 架构伸缩性

通过互联网提供访问的系统, 伸缩性已经成为非常重要的要求欧, Web平台可能会突然发现有几百万的用户访问, 即使是百万用户访问的Web平台, 也有集中的访问和零散的访问需求, 这要求为系统投入的设备经过能够在最高承载下也能稳定运行;也可能发现没有用户感兴趣, 为系统投入的所有设备都闲置, 消耗着能源和管理成本, 这对于企业来说同样是一种投入上的浪费。在互联网的世界里, 一个Web站点可以在几分钟内从其中一种状态转变为另一种状态。

7 架构总结

围绕用户数据有效的提高了Web平台上所有的页面的效用, 这些数据拥有通用性, 当数据与外部开发者的应用栈结合在一起时, 数据的最佳使用开始出现, 通过Web平台的展现层服务, 数据查询服务和平台特有的门户API接口, 协调不断扩展的数据访问方法和网站容量的预期, 针对平台的新需求带来的数据架构改动带来的问题, 平台又通过对数据访问模式的更强改进来解决问题。

摘要:随着Web的兴起, 用户产生和消费的数据推动信息技术的作用越来越明显, 这使得Web平台架构师坚信, 处于大多数Web平台系统核心的是数据, 而不是以往软件工程强调的算法。

关键词:Web,2.0,Ajax,架构,负载均衡

参考文献

[1]应用Web Services构建多层架构的高效.NET应用 (ISBN:7030152999) 科学出版社2005

Web数据管理研究 第11篇

【关键词】web ; 学生实习管理

【中图分类号】TP311.52 【文献标识码】B 【文章编号】2095-3089(2015)35-0127-01

1.引言

现实中繁重的毕业生实习信息管理工作给学校管理人员带来了很大的压力。虽然单机版本的毕业生实习信息管理系统软件在一定的程度上可以解决问题,可是在信息网络化的现实面前,它的不足之处就显而易见了。web技术具有覆盖面广、实时性强、易于操作等优点[1],目前已被广泛运用与大学生日常管理工作当中,信息化、网络化、即时化已经成为未来学生实习管理工作的发展趋势。

2.应用技术

2.1 ASP.NET

ASP.NET是Microsoft公司于2000年6月正式推出的,新一代的动态网页实现系统,用于一台Web服务器建立强大的的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。ASP.NET可完全利用.NET架构的强大、安全、高校的平台特性[2]。

2.2 SQL SERVER 2008

SQL Server 2008数据库是由美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可擴展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案[3]。

3.基于web的学生实习管理系统实现的功能

本课题主要是结合ASP.NET和SQL SERVER 2008来实现学生实习管理系统,该系统主要实现如下功能:

1)学校、企业、毕业生三方的信息交互。

2)为了保证学校和学生、企业系统的数据一致性,需要对相关数据进行锁定,保证良好的数据质量。由于系统有不同的使用对象,为确保安全性,必须提供权限管理及其他的安全性管理的功能。

3)需要定期的数据备份和方便的数据恢复,尽量减少数据损失。同时要妥善保存历史数据库,以便有效地使用。

4)具有良好的人机交互界面。由于有较大的数据量,原始数据的录入、导入及编辑操作应该简单方便,并支持多方式修改。同时由于经常性地查询和统计,系统应具备强大的数据查询和数据统计功能,支持多条件查询、统计。

4.系统设计

4.1总体设计

毕业生实习平台包括了学生用户子系统、老师(校内和校外)用户子系统。分别对应于三种不同的用户群体,为其提供针对性服务。

系统分为三个模块,分别是公用功能、学生登录和老师登录。公用功能实现登录和注册,学生登录实现查询、修改、填写等,老师登录实现查看、统计、审核等。

4.2数据库的设计

数据库一共包含七个表:学生信息表(students),校内指导表(xiaoneizhidao),班级信息表(class),实习报告表(shixibaogao),单位表(danwei),校外老师表(xiaowailaoshi),岗位表(gangwei);详细设计如下:

1)学生信息表

学生信息表用于存储学生相关各项数据,包括学生姓名,学号,班级,登录密码,公司名称,公司地址,联系电话等。其中采用学号作为数据库主键。

2)校内指导表

校内指导表用于存储老师相关各项数据,包括老师工号,老师姓名,联系方式,登录密码等。其中采用老师工号作为数据库主键。

3)班级信息表

班级信息表用于存储班级相关各项数据,包括班级编号,班级名称,老师工号等。其中采用班级编号作为数据库主键。

4)实习报告表

实习报告表用于存储实习相关各项数据,包括编号,学号,实习内容,旧知识,新知识,遇到的问题,实习结果,实习体会,实习报告分数,审核老师,单位编号,老师工号,开始日期,结束日期,岗位编号等。其中采用编号作为数据库主键。

5)单位表

单位表用于存储单位相关各项数据,包括单位编号,单位名称等。其中采用单位编号作为数据库主键。

6)岗位表

岗位表用于存储岗位相关信息,包括岗位编号,岗位要求,岗位说明,岗位性质,岗位名称等。其中采用岗位编号作为数据库主键。

4.3系统界面的设计

填写登录信息,并点击单选按钮,选择登录身份(学生、教师、企业),若信息正确,则进入操作主界面。

学生登陆成功后,进入学生操作主界面。包括以下功能:查看个人信息;修改个人信息;修改密码;提交实习报告;查看实习报告等。

教师登陆成功后,进入教师操作主界面。包括以下功能:查看学生信息;审核实习报告;密码修改;协议签订统计等。

企业实习负责人登陆成功后,进入企业操作主界面。包括以下功能:查看学生信息;审核实习报告;密码修改;与教师留言互动等。

5.结论

通过单体测试和系统测试,系统可以较好的实现不同角色登陆后的所有功能。可以预知,本系统的实施,将会省去学生在实习期间因填写或反映实习情况而往返学校的时间,大大方便了学生处理毕业后信息的填写与核对;校外老师也可通过本系统与学校建立联系渠道,可以在线填写学生在岗实习情况;校内老师可以随时掌握本班学生的校外情况,可以查看和统计学生的就业协议签订情况。由此大大提高了毕业生的实习质量,校内和校外老师的管理质量。

参考文献

[1]微软公司著,SQL Server 2008 数据库应用开发基础,人民邮电出版社,2011

[2]微软公司著,.NET Framework 2.0程序设计,高等教育出版社,2009

[3]杨靖康,SQL Server 实例教程(第3版), 2008版

Web数据管理研究 第12篇

在使用ASP.NET开发Web应用软件的过程中, 前台客户端经常需要从后台数据库中访问数据, 并在客户端显示与维护数据。常规的数据访问操作是利用ADO.NET从后台数据库中访问数据, 填充到数据集 (DataSet) 中的数据表 (DataTable) 里, 并将DataTable中的数据绑定到控件 (GridView) 中 (实际就是在网络中传输数据) 。 当多个客户端从后台数据库中访问的数据量非常大时, 会使DataTable中的数据量很大, 在服务器端和客户端将消耗大量的内存空间存放这些数据;同时当大量的数据在网络中传输时也会占用过多的网络带宽, 从而降低了整个应用软件的性能。为了解决上述问题, 需要优化常规的数据访问技术, 减少访问的数据量, 从而提高应用软件的整体性能。

1 数据访问机制

从后台数据库中访问数据是利用ADO.NET数据库访问接口技术实现数据的读写。ADO.NET的前身是ADO (ActiveX Data Objects) , 它是Microsoft.NETFramework的主要数据库访问技术, 为用户建立Web应用软件提供了统一、一致的数据库接口。在Visual Studio.NET开发环境下, 利用该技术, 采用C#开发语言实现基于Web环境的数据库访问操作。ADO.NET 是为基于消息的 Web 应用软件而设计的, 通过支持对数据的松耦合访问, 可减少与数据库的活动连接数目 (即减少了多个用户争用数据库服务器上的有限资源的可能性) , 从而实现最大程度的数据共享。ADO.NET 还通过对分布式应用程序的基本对象DataSet, 支持基于 XML 的持久性和传输格式, 以实现最大程度的数据共享。DataSet是一种关系数据结构, 使用 XML 进行访问、写入或序列化。ADO.NET中的DataSet使得生成要求应用层与多个 Web 站点之间进行松耦合数据交换的应用软件变得很方便。

ADO.NET提供两种数据访问模式;一种为连接模式 (Connected) , 与原来的ADO相兼容;另一种为非连接模式 (Disconnected) , 这是ADO.NET中所提供的新技术。对于非连接模式, 有许多优点, 可以有效地减少数据库的连接数, 降低为维护数据库的连接而带来的开销, 从而可以提高软件的性能和规模。因此很多数据库的访问操作都采用非连接模式来完成, 这也是常规数据访问技术所采取的方式。

非连接模式的数据访问机制主要是从后台数据库中访问数据, 并填充到DataSet中的DataTable对象里。然后将DataTable对象中的数据绑定到客户端界面的数据表示控件上进行数据显示与维护。常用的数据表示控件有GridView控件、DataList控件等。ADO.NET非连接模式下数据访问操作的应用结构如图1所示。

2 常规的数据访问技术

如果后台数据库系统是SQL Server 2000或SQL Server 2005, 常规数据访问技术的实现是通过SqlDataAdapter对象执行SQL语句来访问数据库中的数据, 并填充到DataSet中的DataTable里。最后将DataTable中的数据绑定到GridView表中显示与维护。实现的代码如下:

为了保证连接字符串的安全性, 在实际应用中连接字符串不能出现在网页程序中, 其在Web.config文件中设置;然后利用代码完成连接字符串的读取, 并建立SqlConnection连接对象。在Web.config文件中设置连接字符串的方式如下 (conn为连接字符串名) :

读取连接字符串并建立连接对象的方式如下:

当一页无法显示完数据时, 需要考虑分页技术来完成多页的数据显示, 采用的方法很多, 例如:利用GridView控件的自动分页技术完成分页操作。以这种常规技术访问数据时, 当访问的数据量很大时, DataTable中的数据会很多, 需要更多的内存空间来存储数据;将DataTable中的数据绑定到控件中显示时, 因传输大量数据而占用更多的网络带宽, 从而使系统的整体性能降低。要改变这种状况, 采用优化的数据访问技术, 降低每次从数据库中访问的数据量, 从而可有效地降低内存空间的消耗和所占网络的带宽。

3 优化的数据访问技术

优化访问技术的主要目的是降低从数据库中访问的数据量。按页为单位访问数据库中的数据是一个很有效的方案。其访问的数据量远远小于访问所有数据的数据量。每页的数据量可以动态地进行调整, 以适应实际的需求。实现优化技术, 需要进行2步操作, 第一, 确定整个数据量的页数, 以及每页的数据索引范围;第二, 修改访问数据的SQL 语句, 以每页的数据索引范围为单位访问数据。这样就可以实现只访问每页指定范围的需求数据, 而不是访问所有的需求数据。实现原理如图2所示。

下面用一个实例实现优化方案。数据库系统采用SQL Server 2005, 数据库中有3个数据表Unit, Employeer, keyan, 分别为学校部门表、员工表、员工科研信息表。按职工姓名查询其所有科研信息。实现的界面设计如图3所示。

3.1 分页技术的实现

3.1.1 数据记录的获取

为了计算数据总页数, 需获取数据记录的总数, 因此设计GetOrdersCount方法, 以实现数据记录总数的获取。在该方法中, 以员工姓名name作为动态参数进行动态查询, 并利用SQL语句中的count聚合函数获取数据记录总数。

3.1.2 页数的计算

通过执行GetOrdersCount方法获取数据记录总数, 并设置每页访问的数据量 (假设每页访问10条记录, 每页的记录数可以根据需求进行更改) , 从而计算出数据总页数。计算总页数的实现代码如下所示。

3.2 数据访问技术的优化实现

3.2.1 数据访问的优化设计

在数据访问层的设计中, 由GetData方法实现以页为单位的数据访问;该方法根据数据索引范围对数据库进行访问, 从而极大地减少了服务器与客户机之间传送的数据流量。数据索引范围由起始索引号和终止索引号组成, 其中起始索引号由页号确定;终止索引号=起始索引号+每页数据记录条数。在GetData方法中, 以参数startRowIndex为指定的起始索引号, 以参数maximumRows为每页数据记录条数进行SQL语句的优化设计, 通过执行优化的SQL语句, 完成指定范围的数据访问。

3.2.2 表示层的设计

在客户端, 根据指定页确定数据索引范围的起始索引号, 起始索引号通过公式:this.GetData (int.Parse (lb2.Text) ×10-10计算得出。其中, int.Parse (lb2.Text) 为客户端指定的页号, 10为每页的记录数;每页的数据访问量以每页的记录条数为标准。 将动态生成的数据索引范围作为参数执行GetData方法, 实现按照指定页的数据索引范围访问数据。

4 结 语

对数据访问技术进行优化后, 降低了对后台数据库的访问数据量, 进而减少了所占内存空间的大小, 降低了在网络中传输的数据量。该优化方案提高了Web应用软件运行的性能, 在实际使用时有很大的意义。

参考文献

[1]陈建国.开发高性能ADO.NET应用程序的探讨[J].福建电脑, 2007 (1) :177-178.

[2][美]Glenn Johnson.ADO.NET 2.0高级编程[M].段超, 译.北京:清华大学出版社, 2006.

[3]陈永强.SQL Server 2005 Web应用开发[M].北京:清华大学出版社, 2008.

[4]王强, 滕刚.微软培训教材[Z].2008.

[5]李昕, 常革新, 崔杰.基于ADO.NET的ASP.NET页面程序[J].辽宁工程技术大学学报:自然科学版, 2006, 25 (2) :250-252.

[6]王磊.基于.NET平台的数据库访问技术[J].福建电脑, 2006 (12) :75-89.

[7]孔延香, 李永忠, 郭秀峰.ADO.NET数据库访问技术研究与实现[J].现代电子技术, 2005, 28 (16) :51-52, 59.

[8]林平荣.ADO.NET的数据库访问技术研究与实现[J].电脑知识与技术, 2008, 7 (1) :1 198-1 201.

[9]刘莹.基于的ADO.NET数据库访问技术研究[J].电脑知识与技术, 2008, 18 (2) :1 580-1 582.

上一篇:电磁兼容性设计下一篇:大气污染与植物修复