Web结构

2024-08-04

Web结构(精选10篇)

Web结构 篇1

0 引言

表格是一种重要的信息表达形式,它以一种结构化的形式存储和展示信息,并且表格中所表达的信息一般都是具有相同结构或者极大相关性的信息。正是由于表格所包含的信息具备极大的相关性和内聚性,针对表格信息抽取的研究才逐渐发展起来[1,2,3]。

表格信息抽取相关研究起初主要集中于各种形式文本中表格的抽取上,典型方法是基于光学字符的识别。后来随着互联网技术的发展,网络上涌现出海量的网页信息,其中很大一部分网页中都包含表格信息。有研究表明,52%的互联网网页中包含<table></table>标签,而这一标签是网页中表格的主要表示形式[4]。

Web表格信息抽取技术主要由表格定位、表格结构识别、表格内容抽取等关键技术组成,如图1所示。目前,国内外对于此领域的研究还处于逐步探索和深入阶段。台湾学者Chen等[5]经过长期研究首次将Web表格抽取的过程进行了明确划分,包括表格定位、表格结构识别、属性-值对抽取等。而来自BYU研究小组的Embley[6]等则提出了使用基于本体的方法来完成针对Web的表格定位、表格结构识别和表格信息抽取等工作。Tengli[7]等利用启发式规则并通过对一批事先标注的表格样本的属性名与属性值的学习来完成针对Web表格的信息抽取。林科锵、林琳[8]等则提出了一个基于本体的Web表格信息抽取系统(UWTIES)模型。

本文主要解决表格结构识别模块,在该模块中Tengli等[7]则通过学习属性的词汇信息对表格的单元格进行模糊匹配,从而区别属性名和属性值。Chen等[5]则利用单元格相似度计算相似的行列来区分表格表头和值。本文提出了一种计算表格行列数的方法,并且根据同一行(同一列)中单元格的类型差异创建了类型树,以此判断不同行与不同列之间的类型差异。同时根据同一行(同一列)中单元格中字符串长度差异,用方差的方式识别单元格长度差异,最终通过这两个因素识别表格结构。

1 表格结构识别算法

1.1 表格展开方式

本文采用文献[9]中的算法进行表格定位,表格展开方式分为行展开和列展开,如图1所示。

该表格显示书籍实体,表格展开方式为列展开,即一列不同实体的相同属性对比,采用[12]算法定位到的网页代码如下:

1.2 计算表格行列数

在HTML标签中,<TR>表示表格中的一行,<TH>为表格中的表头单元格,<TD>是表格中的标准单元格。

计算表格行列数算法:(1)<TR>标签的个数为表格的行数;(2)对每一个<TR>下的标签,若有col则计算col后的数值,若不含col则默认值为1;(3)若不含col,计算<TD>或<TH>的数量;(4)每一个<TR>进行出的最大值为表格列数。

1.3 表格规整

假设表格类型为c×r,c表示行数,r表示列数。表1中存在跨行或跨列的单元格,对这种单元格要进行规整,规整的结果是将跨越m行(m列)的单元格拆分成m个单元格。表格规整结果如图2所示。

计算机内存分配一个c×r的二维数组来存储表格内容,规整算法如下:(1)读入<TR>节点的内容,读入<HD>或<TH>标签下的内容,若标签内无rows或cols,则在该行中从前往后依次填入内容;(2)若存在rows且数值为m,则从该单元格(i,j)往下的m-1个单元格(i+1,j)至(i+m-1,j)中依次填入该标签下的内容;(3)若存在cols且数值为n,则从该单元格(i,j)往右的m-1个单元格(i,j+1)至(i,j+m-1)中依次填入该标签下的内容;(4)若单元格不为空,则跳过该单元格,将内容填入下一个单元格;(5)若存在<TR>标签,继续重复步骤(1)-(4)。

1.4 表格展开方式识别

基于Web表格事实作如下约定:(1)属性名类型一致,都是字符串,不存在数字、图片、超链接等类型;(2)属性值类型多样化,存在字符串、数字、图片、超链接等类型;(3)同一属性名下的属性值类型相似;(4)同一属性名下的属性值字段长度相似;(5)表格右下角单元格的内容为属性值。

单元格的属性类型和字段长度是识别表格展开方式的两个特征,计算公式如下:

式中,R代表计算结果,W1、W2表示权值,可根据两者的权重进行分配。Vtype表示类型差异,Vlength表示长度差异。由式(1)可导出行展开式(2)和列展开式(3),如下:

式(2)中Vrtype、Vrlength分别代表按列展开的类型差异和长度差异,式(3)中Vctype、Vclength分别代表按行展开的类型差异和长度差异。

1.5 单元格类型差异

单元格内容类型主要有图片、超链接和字符串3种类型。其中字符串又可分为数字和非数字,非数字又可分为汉字和字母,字母再分为大写字母、小写字母和混合字母,数字又分为<=0、0-1、>=1。单元格中存在字符和数字类型统一作为数字的情况,如25元、12时、4.3吋等。通过类型包含关系构建如图3所示类型树,节点和节点之间的距离代表类型差异。

正则表达式能匹配出单元格的类型,图3中的类型正则表达式为:

(1)标点类型。形如“!@#$%^&*():;”’<>,.?/|”等组成的字符串,正则表达式为p{Punct}。

(2)数字类型。数字类型比较多样化,存在纯数字和数字与字符的混合,如1234、123.4、23元、23.23%等,正则表达式描述为:“([$uFFE5]?)(-?)(d+)(。d+)?([u4e00-u9fa5%]?)$”。

(3)数字范围正则表达式。<=0描述为“((-d+(。d+)?)|(0+(。0+)?))$”;0-1正则为“0(。d+)?$”;大于1的正则为“([0-9]*[1-9]*(。d+)?)”。

(4)汉字类型。字符串中仅含有汉字,正则表达式为“[u4ee00-u9fa5]+$”。

(5)英文类型。小写正则表达式为“[a-z]+$”,大写正则表达式为“[A-Z]+$”,大小写混合类型正则表达式为“[A-Za-Z]+$”。

(6)字符数字类型表达式。“[u4e00-u9fa5A-Za-z0-9]+$”。

匹配出字符串类型之后,根据下列算法计算两个单元格之间的类型差异程度。从类型中不难看出,类型差异越小,两个节点的距离越短,反之,差异越大,节点距离越长。设type1和type2是两个单元格字符串的类型,level1和level2是两个类型所在树的深度。(1)若type1=type2,此时level1=level2,则返回distance;(2)若type1≠type2,且level1=level2,则type1=type1.parents,type2=type2.parents,distance+=2,循环此步骤直到type1=type2,执行步骤(1);(3)若level1>level2,则level1=level1.parents,distance+=1,循环此步骤直到level1=level2,执行步骤(2);(4)若level1<level2,则level2=level2.parents,distance+=1,循环此步骤直到level1=level2,执行步骤(2)。

然而单元格中的内容有时并不是仅仅只有一个属性值,如表2中,C(4,4)值为“汤小丹梁红兵”,其属性值有两个。在计算两个单元格之间的类型距离之前,需要先对单元格内容进行切分,若两个单元格的值的个数各不相同,则先是两个单元格左对齐逐个比较,然后右对齐逐个比较,最终distance取两者均值。

单元格中的词组以空格、顿号、逗号作为分隔符。然而有些单元格虽然有以上符号,但并不一定要分割。因此,分隔符对字符串进行分割后采用方差的形式计算字符串能否分割,例如汤小丹梁红兵用空格分割后长度分别为3、3。设分割的词的长度分别为n1、n2、n3…nm,E为均值。

当S<ψ时,此处可分割,反之不能分割,ψ取值为0.25。

经分割后,设单元格分割后的内容为一个向量C,则Ci为分割后第i个值。CP和CQ为两个单元格向量,|CP|和|CQ|为向量的长度,类型差异计算公式如下:

当m≠n时:

当m=n时:

假设表格是c×r型,根据约定5可知最后一行或最后一列肯定不是属性名,因此可先按第n行和前n-1行对应的单元格进行比对计算出类型差异值,然后按第n列和前n-1列对应的单元格进行比对计算出类型的差异值,其中n=min(c,r),计算公式如下:

其中,

其中,Cx,y表示第x行、第y列单元格,当p>n时p1=p-n+1,其它时候p1取1。

同理可得到列的差异度公式:

其中:

其中当q>n时,q1=q-n+1,其它时候q1取1。

表格若按行展开,则Vrtype<Vctype,反之若按列展开,则Vrtype>Vctype。

1.6 单元格长度差异

除了某一行或某一列在数据类型上具有相似性之外,行展开的一行当中的属性值长度或列展开的一列当中的属性值长度同样具有相似性。对于单元格中存在多个并列的属性值时,可采用上一节提到的分割方法,若经判断后可以进行分割,单元格中属性值长度分别为n1,n2,n3…nm则该单元格属性长度值为E=(n1+n2+n3+…+nm)。单元格长度如图4所示。

方差能够描述一行或者一列的数字变化,根据方差的大小可以判断行或列的数值变化幅度,但是往往存在这种情况:值的行数很少(5行或5列以内)而属性名却占到多行(至少两行或两列),使得方差不能很好地区别数字的相近情况。本例中前两行为属性名,后四行为值,属性名的长度和属性值的长度显然不相同,而且属性名所在行占比较大,造成方差的误差偏大。如果表格中的行数或列数较多(超过10行或10列),则对表格不进行处理。如果表格中的行数或列数不是特别少(多于3行且少于10行),因为表格中最后一行或一列是属性值,因此表格去掉前两行和前两列,就能将表格中的属性名去掉或减小到不足以引起误差。如果表格中的行数或列数较少(小于3行或3列),则对表格不作处理。

根据以上策略,计算按行展开的数据如图5所示。

计算按列展开的数据如图6所示。

前者均值平均为2.24,后者均值平均为2.26,可见本例中均值的体现并不明显,原因是表格的行列数过少或由个别特殊值造成,当表格逐渐增大时后者越来越小。经处理后表格为m×n形式,按行展开计算公式如下:

其中,表示第i行的均值,Vi,j表示第i行、第j列的数值。

同理可知按列展开计算公式如下:

其中表示第i列的均值,Vj,i表示第j行、第i列的数值。

上述两个模块分别计算出类型差异Vtype和长度差异Vlength,将计算结果分别带入公式:

若Rrows>Rcols,则表格为按列展开,反之当Rrows<Rcols,则表格为按行展开。对于本文所举例子显然是列展开。

2 实验结果

表格展开方式的识别率采用人工观察方法确定全部样本中展开方式的数量和利用该算法机器识别的正确展开方式的数量作比来确定。

其中R(Recognition)为识别率,C(Correct)为算法识别正确数量,A(Actual)为实际表格数量。

本文的表格展开方式识别技术针对实体表格进行,采用爬虫技术爬取了百度百科部分产品页面、京东国美等产品页面、电影网等电影相关页面进行实验。每个网站爬取100个页面,详细内容如表1所示。

贾长云[10]等在类型特征中采用以表格右下方单元为基准块计算其与相邻单元的类型特征。其属性和值的分界线上语法特征差异很大,不仅可判断出表格的展开方式,同时可判断出表格的属性值和属性名的分界线。但是此种方法对于表格中的特殊行或列存在不足之处,在值当中若该行或该列不同于其它属性值则容易产生误判。长度特征则采用在基准块中长度在a范围内的单元数与总数简单作比,其实验准确率达到86.7%。张瑞[11]等在识别表格的展开方式中采用了格式化信息:字体、冒号、缩进等。根据属性名和属性值的差异度来识别展开方式,该方法仅仅从一个方面来识别判断表格展开方式,而忽略了类型和长度差异,使得判断方式存在一定误差,该方法没有给出具体实验数据。徐飞[12]等利用本体学习对表格结构进行指导,当领域发生变化时只需修改本体即可。但是前提需要对领域进行本体生成,需要事先学习,对于新的领域不具有通用性。

从实验结果看,该算法对实体表格的展开方式识别率基本达到90%以上,对表格的结构识别率远高于其它方法。同时该算法还对特殊单元格进行处理,使单元格的特征更加规范化,从而提高算法识别率。但是该算法定位效果不佳,影响了定位结果,因此下一步的任务是改进表格定位算法,使表格的定位准确率进一步提高。

3 结语

在构建知识库时会用到本体的概念,本体的生成除了需专家人工参与外,在表格中提取本体的属性成为一种非常重要的方式。本文对表格展开方式判别提供了一种方法,从表格属性名和属性值在类型和长度的差异中识别表格结构,构造了类型树,使类型差异转化为树的路径;同时引入方差概念,将字符串长度变化情况用方差来描述,不再单一依靠均值来描述字符串的长度。下一步的研究重点是进一步改进表格定位算法,实现表格的更准确定位,从而提升整个表格识别系统的准确率。

参考文献

[1]于静.基于页面主体提取的WEB信息抽取技术研究[D].南京:南京邮电大学,2013.

[2]张红梅.基于块的Web网页信息提取[J].软件导刊,2012,11(1):132-134.

[3]程显毅,朱倩,王进.中文信息抽取原理及应用[M].北京:科学出版社,2010.

[4]廖涛,刘宗田,孙荣.Web表格定位技术的研究与实现[J].计算机科学,2009,36(9):227-230.

[5]CHEN H,TSAI S,TSAI J.Mining tables from large scale HTMLtexts[C].In Proceedings of the 18th International Conference on Computational Linguistics,New Jersey:Association for Computational Linguistics,2000:166-172.

[6]张净.Web信息自动抽取技术的研究与实现[D].武汉:武汉理工大学,2009.

[7]TENGLI A,YANG Y,LI N.Machine learning table extraction from examples[C].In Proceeding of the 20th International Conference on Computational Linguistics(COLNG),New Jersey:Association for Computational Linguistics,2004:987-993.

[8]林琳.基于Ontology的web表格内容抽取的研究与实现[D].成都:电子科技大学,2006.

[9]廖涛.Web表格定位技术的研究与实现[J].计算机科学,2009(9):227-230.

[10]贾云长.HTML表格向XML的智能转换[J].计算机工程,2009(14):32-34.

[11]张瑞.网上表格数据到XML的自动转换[J].计算机工程与应用,2007(2):190-192.

[12]徐飞.面向结构的Web表格数据抽取系统[J].西安工业大学学报,2009(6):574-577.

Web结构 篇2

1、authentication节点

基于窗体(Forms)的身份验证配置站点,当没有登陆的用户访问需要身份验证的网页,网页自动跳转到登陆网页。其中元素loginUrl表示登陆网页的名称,name表示Cookie名称

2、authorization 节点

allow向授权规则映射添加一个规则,该规则允许对资源进行访问。

deny向授权规则映射添加一条拒绝对资源的访问的授权规则。

users=“*” 是指任何用户users=“?” 是指经身份验证的用户

注意: 运行时,授权模块从最本地的配置文件开始,循环访问 allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 。因此,默认情况下允许访问,除非另外配置。

如果在根目录下的web.config配置太繁琐,可以配置到相应目录下,例如User目录下的web.config文件

3、customErrors 节点

mode=“On|Off|RemoteOnly”>

defaultRedirect 可选的属性。指定出错时将浏览器定向到的默认 URL。如果未指定该属性,则显示一般性错误。

Mode 必选的属性。指定是启用或禁用自定义错误,还是仅向远程客户端显示自定义错误。

此属性可以为下列值之一。

值 说明

On 指定启用自定义错误。如果未指定 defaultRedirect,用户将看到一般性错误。

Off 指定禁用自定义错误。这允许显示标准的详细错误。

RemoteOnly 指定仅向远程客户端显示自定义错误并且向本地主机显示 ASP.NET 错误。这是默认值。

默认值为 RemoteOnly。

error 可选的元素。指定给定 HTTP 状态代码的自定义错误页。错误标记可以出现多次。子标记的每一次出现均定义一个自定义错误条件。

例如:

这里可以让用户自定义出错页。

4、pages 节点

validateRequest=“true”

该值确定 ASP.NET 是否针对危险值检查来自浏览器的输入。如果 ASP.NET 针对危险值检查来自浏览器的输入,则为 true;否则为 false。默认值为 true。

这个功能是为了防止跨站脚本等危险代码。使全局默认为true。只有小数页面,如搜索页面

Search.aspx设为 : ValidateRequest=“false” 。为了可以搜索类似 等内容,如果只是文字性的输入,可修改页 search.aspx 的设置,以增强系统安全性。

Security.config 配置说明

文件位于config目录

1、后台页面访问配置

noCheckAdminLogOn

后台不检查权限的页面

2、检查外站链接的后台页面配置

noCheckUrlReferrer

后台不检查来源页的列表,即管理员用户可以直接访问的文件列表,

后台设置是默认不允许直接访问,这样可以保护后页页面不被非法方式访问和外站链接访问,有效防止跨站请求伪造。

如果文件不在列表中,直接在URL 里访问,将出现错误提示:

产生错误的可能原因:

对不起,为了系统安全,不允许直接输入地址访问本系统的后台管理页面。

如需要,用户可以加上自定义的内容。

3、防止跨站请求伪造追加安全码的页面配置

checkSecurityCode

页面提交时检查安全码。

防止不正常操作(恶意操作)造成系统重大损失。也是对一些重要操作的保护,防止跨站请求伪造。

如:

4、页面操作权限码的配置

checkPermissions

页面操作权限码的配置,检查后台管理员是否有相关操作码的权限。

operateCode 为操作码 根据操作码判断是否存在此操作的权限。

checkType权限判断类型, or and

or操作码中的权限进行或运算,即有其中任何一种权限,就返回true

这个默认值是or 而且对于单一权限码的,可以不用配置

and 操作码中的权限进行与运算,即要求有全部权限才返回true 否则返回false.

AjaxLabel.config 配置说明

是对AJAX.aspx 的文件访问权限控制配置文件。

由于前台AJAX标签过于强大,会致使 AJAX标签 会出现一些危险性,对此我们做了一个XML安全文件来配置那些AJAX标签可以直接引用。这个AjaxLabel.config 文件是在 网站根目录的Config 目录下。如果标签没有记录,就会出现 本标签禁止访问!

例如:

是指标签名 为 “内容评论PK标签” 的标签可以被ajas.aspx调用,而且参数param只能为 “generalid”,类型为Int,这样能有效防止恶意攻击。

如果用户需自定义标签,而且需要ajax.aspx 文件调用,那就在AjaxLabel.config 中配置

app_offlineX.htm 文件作用

如果你要COPY站点,进行站点维护,部署,和进行大量修改,有可能要停掉你的WEB应用程序了,而以一个友好的方式提示给用户,比如什么“本网站正在更新”等等的信息,你可以把文件app_offlineX.htm 改名为app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下。这样,任何外部的请求的话,都会马上被转移到该页面了。

网站维护完成后记得将文件名app_offline.htm改回。

AllowString.xml 文件配置

文件位于Common目录下

文件的作用是:会员发表信息时启用防XSS(跨站攻击)设置时,让用户设置允许会员提交部份特殊js 代码。

XSS是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

例如:

功能是: 允许保留 nmousewheel=“return bbimg(this)” 和 nload=“resizepic(this)” 代码。这是对FCK上传图片功能的一个保留。

Web结构 篇3

摘要:万维网自Web1.0至Web3.0盛行,其中最显著表现之一是网络营销的社会化现象。本文基于探讨Web发展历程,发现Web演进下的消费者在参与企业信息发布方式、产品设计、产品生产、自我设计企业促销模式、分享劳动价值等营销策划中权重日趋庞大,营销主体从一元结构走向二元结构。

关键词:Web 营销模式 二元结构 营销主体

市场营销学发展的驱动力是历次的技术革命。营销观念与技术革命有着对应关系。生产观念和产品观念、推销观念、市场营销观念大致上分别对应着以蒸汽机为代表的第一次技术革命、以电力为代表的第二次技术革命、以电子为代表的第三次技术革命。上述各种观念的产生比其对应的技术革命滞后约20-40年。前三次技术革命带来的是营销观念的变革,以信息网络技术和知识经济为标志的第四次技术革命则完全不同,它带来的是营销主动权的变革,即营销管理活动由单一的企业过渡到企业和消费者共生状态。研究这种共生状态有利于企业更好地利用网络营销。

一、Web发展历程

(一)从20世纪90年代万维网成立至今,它走过了一条从Web1.0 到 Web2.0,再到Web3.0的道路

互联网上的资源,可以在Web网页里直观地表示出来,而且资源之间,在网页上可以链来链去。这种利用互联网络实现了人类海量资源共享的技术就叫Web1.0。在Web1.0中HTML页面是静态的,是不常更新的。用户只是单向接收通过Web1.0编辑处理后的信息内容。

(二)Web2.0实现了网站与用户双向的交流与参与

Web2.0模式主要有三项特点:一是双向互动,网站与用户之间可以互相讨论交流。二是用户分享和交流信息。三是集体智慧。在实现双向交流的同时,大家集体的智慧也被贡献出来了。这个时期的典型代表有:博客中国、亿友交友、联络家等。

(三)Web3.0摆脱少数派的控制,让使用者共同参与,共同分享,共同拥有和共同治理网络

Web3.0具有以下特点:一是搜索引擎技术个性化。二是智能化的UI界面更好地体现用户需求。三是提供适合于电脑、手机、PDA等多终端平台定制的模块。国内 Web3.0 应用已经出现了不少成功的代表,如K86,广告领域的alimama、雅蛙、阔地等网站。

另外,人们对Web4.0也开始了构想。Web4.0就是每个人都拥有网站,而且又具有按某种协议,自动把各个网站拥有的资源分类堆放在一起的功能,人们可以从这堆资源中选取符合自己需要的资源。

二、Web发展对企业营销模式的影响力分析

(一)Web1.0对企业营销模式的影响

Web1.0提供给目标客户编辑处理后的内容,满足人们对信息搜索、聚合的需求,能够让潜在客户主动找上门来。根据调查统计,搜索引擎营销受企业最认可的比率高达75.30%,远远超于其他网络营销手段。但是,搜索引擎排名严重地影响着企业的网站推广和被访问频率。市场调查显示,访问者中有85%会在搜索引擎的第一页 (前10名) 选择自己所需要的网站,而当企业的网站出现在搜索结果的第三页(前30名)之后,被访问的机会则大大降低,不超过4%。竞价排名使更多的企业把目光转向以加强网站与用户之间的交流互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设的Web2.0身上。

(二)Web2.0对企业营销模式的影响

第一,Web2.0推动了消费观念个性化发展。Web2.0推出了Blog、Podcasting、Wiki等服务,满足了用户表达自己的产品并提供相应的个性化服务,同时识别每个顾客的个性化需要,并相应做出各种营销反应。反过来,这种开放的个性化表达又为其他用户所阅读,强化了其他用户的个性化和独特性。第二,信息组织与传播方式发生了转变。Web2.0下,对于Blog和Podcasting,用户只要通过简单的注册就能够实现类似个人主页的功能,而且是完全开放的,允许任何人浏览并评论。第三, Web2.0有效降低信息运作成本。Web2.0环境下使用Blog的企业不需要自己的独立网站,省去了Web1.0时代服务器、域名、带宽等成本。其次,Blog操作简单,不需要专业的技术人员为Blog提供技术支持。

(三)Web3.0对企业营销模式的影响

第一,Web3.0利用强大的智能识别系统,提供基于用户偏好的个性化聚合服务。雅蛙(WWW.yaaWa.com)是中国第一家基于 Web3.0理念的个性化聚合平台。在雅蛙网上,用户可以通过关键字定制自己感兴趣的内容页面,每个内容页面都可以由用户自己完全按照自己的喜好进行选择和组织。第二,Web3.0注重用户劳动价值的回报。Web3.0中网民参与产品的开发维护,最后分享产品的利润。 第三,Web3.0实现了众包营销模式。公司把由员工承担的工作任务,以自由自愿的形式外包给非特定的网络大众。通过外包,使企业的生产成本、管理成本、人工成本甚至办公车间厂房大幅减少。

三、Web演进下的消费者作为营销主体权重越来越大

从Web1.0到 Web2.0再到Web3.0,用户越来越快捷地分享企业的信息。随着 Web3.0的时代的到来,消费者通过任何一台电脑就可以架设属于个人的社区网络,更为便捷地进行社区活动和信息分享,用户拥有的空间无极限地增加。营销不再仅仅是企业自己做的事情,用户越来越深度参与企业的营销。

(一)消费者越来越左右企业信息发布方式

在Web2.0环境中,用户可以决定什么样的信息可以传播。具有开放传播特点的Blog,使每个人有表达自己观点的机会,并且不受限制地传播。个别用户的看法可以影响到其他用户,网络口碑效应要远远高于过去。过去那种赤裸裸的广告信息将受到排斥,企业的营销信息转向以服务为主的信息,避免直白地表述,力求符合Web2.0特点逐步建立顾客对企业的认知度,达到营销效果。

(二)企业在产品设计过程中与用户的讨论过程就是营销互动的过程

企业与用户的讨论使用户觉得自己受到了关注,得到了重视,也了解了企业对于客户的态度。企业与用户的讨论越多,用户就越愿意购买其产品。企业和用户的合作设计赋予了产品新的意义。

(三)消费者参与产品的生产。Web3.0为脑力劳动者提供了在家承担企业生产任务的技术环境

新媒体运营商还可以在Web3.0下自动拓展用户群、提供内嵌广告功能、新媒体收费功能、消费场景统计、网站群之间的业务整合等。

(四)消费者在价格和渠道上的决策分量越来越重

在消费者在web上信息快捷畅通的获取,使变化不定的且存在差异的价格水平趋于一致。互联网的先进网络浏览功能会,使消费者对企业产品生产成本结构越来越清晰,消费者对产品价值的理解取决于其个性化的需求。企业不得不越来越多地依据加成定价法和价值理解定价法确定商品价格。

(五)消费者自我设计企业的促销模式

Web下只有那些得到消费者许可的信息,才可以被传送到他们的面前,并且形成有意义的商业信息。从这个观点来看,因特网上,是由顾客来拉的信息,由消费者自己选择想要接受的信息。营销人员按照消费者所提供的需求,来寄送消费者感兴趣的信息。

(六)消费者追逐利润,并分享劳动价值

Web1.0和 Web2.0是“唯中心论”,利益是围绕门户或个人展开。Web3.0倡导使用者共同参与、共同分享、共同拥有和共同治理网络,因此是没有中心概念的,只有利益圈和利益链的概念。

四、总结与建议

以上的论述表明随着Web技术的发展,用户参与营销规划和管理的深度和规模越来越大,营销主体二元结构特征越来越明显。随着信息技术的发展,未来企业和消费者信息交流越来越便捷和频繁,企业越来越希望消费者参与企业营销管理活动,企业也越来越意识到这是企业自己贴近市场的最佳方式,企业也乐意保持这种营销主体的二元结构。这种二元结构是新的技术下企业的市场创新,它将会构成企业核心竞争力的一部分。

参考文献:

[1]侯云.网络搜索引擎对企业营销活动的影响[J].商场现代化,2008,(1):122—124

[2]王丽芳.网络营销对传统营销渠道的影响和新型中间商的产生[J].科技和产业, 2006,(1):60—63

[3]陶思远.Web2.0对网络营销发展影响的多维分析[J].商业营销,2009,(3):78—82

[4]郑慧会.Web3.0—网上学习新平台[J].现代教育技术,2009,(4):99—102

[5]张鼎.Web3.0与个性化信息服务[J].新世纪图书馆,2009,(2):33—35

〔本文系浙江海洋学院“教授博士‘4个1’服务工程”项目的阶段性成果〕

Web结构挖掘算法模拟器设计 篇4

Web结构挖掘是通过研究网页之间的链接结构来发现网络的组织结构和链接关系中隐藏的知识。随着互联网的迅猛发展和快速普及, Web上蕴藏的海量信息为数据挖掘提供了无比丰富的资源。其中, Web结构挖掘主要是从Web组织结构和链接关系中推导信息、知识。挖掘页面的结构和Web结构, 可以用来指导对页面进行分类和聚类, 找到权威页面、中心页面, 从而提高检索的性能;同时还可以用来指导网页采集工作, 提高采集效率。

本文对Web结构挖掘技术进行深入的学习研究, 探讨Web结构挖掘中的关键算法, 设计一个算法模拟器, 以使Web结构挖掘适应对海量数据分析与挖掘。

Web结构挖掘算法

Web结构挖据采用目前数据挖掘领域中的一些经典算法作为本模拟器所要实现的算法对象, 主要有关联规则和聚类两大类算法。

1 关联规则

关联规则是用来发现大量数据中项集之间的关联或相关联系。其形式化定义如下:

设I={i1, i2, …, im}是由m个不同项目组成的集合, 称为项集.设任务相关的数据D={t1, t2, …, tn}是事务数据, 其中ti称为一个事务, 是项的集合.每一个事务都有一个唯一的标示符, 称作TID.设X中包含K个项, 则X被称为K-项集。而关联规则是形如X=>Y的蕴含式, 其中X∈I, Y∈I, 并且X∩Y=φ。

由上面定义可知, 关联规则挖掘问题就是在事务数据库D中寻找具有最小支持度和最小置信度的关联规则.关联规则的挖掘是一个两步的过程。

(1) 找出所有频繁项集。

(2) 由频繁项集产生强关联规则。

2 聚类

在数据挖掘中, 聚类分析能作为一个独立的工具来获得数据分布的情况, 观察每个簇的特点, 集中对特定的某些簇做进一步的分析。此外, 聚类分析还可以作为其它算法 (如特征和分类等) 的预处理步骤, 这些算法再在生成的簇上进行处理。

本文主要对层次聚类中的凝聚算法以及划分聚类算法中的K-均值聚类算法进行分析。

2.1 层次聚类

层次聚类是按照一定的相似性判断标准, 合并最相似的部分, 或者分割最不相似的两个部分, 如果合并最相似的部分, 那么从每一个对象作为一个类开始, 逐层向上进行聚结, 直到形成唯一的一个类;如果分割最不相似的两个部分, 那么从所有的对象归属在唯一的一个类中开始, 逐层向下分解, 直到每一个对象形成一个类。

2.2 划分聚类

与层次聚类技术不同, 划分聚类生成的是在同一层次上的若干个聚类。如果想要生成K个聚类, 采用划分方法可以一次找到所有的K个聚类。而传统的分层方法是把一个聚类分成两个或者把两个聚类合并成一个, 这样一步一步生成一个系统树图。当然, 用分层方法也可以在系统树图的某一层上生成K个聚类。

算法模拟器实现

应用这些算法从模拟数据资源中发现模式或关系, 并最终以图形的方式将结果显示出来。

挖据模拟器系统设计利用matlab中所需要用的函数以及在vc中设计CApriori View类所需要建立的函数实现, 建立一个名为Apriori的应用程序, 并设置vc的头文件搜索路径和库文件搜索路径。

算法模拟器运行效果如下图所示:

结束语

Web结构 篇5

题记:昨天休息的时候,一个朋友给我信息说他公司的服务器被黑了,破坏者不停的修改替换主页,搞的他都怕了,查到了那家伙的ip地址,包括身份证号码,家庭住址,报警网警说会处理的,但是一直没人问津。也感叹一下有关部门态度,拿着我们纳税人的养着,却这样给我们服务。有关部门是否也该“市场经济”一把就好了。昨天过去帮他把服务器弄了一下,答应他给他整理一个文档出来的,昨天晚上一想,既然整理了,那就好好整理下,希望此文能给那些想处理好网站的安全而又没钱请专人做的公司以及个人能有点小小的帮助吧。此文为昨天在朋友整理服务器的全程记录,由于考虑到安全的原因,网站目录或者文件名称可能与其网站程序有差异。

本文的宗旨:可能有的人会问,关于Windows系统下的防止webshell的文章那么多,我再写此文简直多此一举,此言差亦。纵观以前大家写的关于windows下的防止webshell的文章,发现了一个小小的bug,那就是没有从源头上制止webshell的执行,就是说webshell可以上传到服务器(有时候是可以跳过默认上传目录的),但是有的还是能把当前站点给黑了的,就是可以将主页给替换了的。此文就是解决这样的一个问题,至于c盘的权限以及组件的删除什么的,以前的一些文章已经写的非常不错了,我在这里也就不再赘述了。

目前流行的通过web入侵的方法:

1、sql注入法:通过sql注入获取一定的后台权限,或者直接通过sql数据库备份一个shell。最早的出现的时间应该是在的时候了,通过经典的’or’ ’=’进化而来的。前54nb的小竹写的《sql注入天书》,可算是sql注入的经典,相应推出的nbsi的注入工具也是sql注入工具中的典范了。至今俺还保存着当初推出的beta版到现在的各种修改版。

2、上传法:指的是通过系统提供的web上传功能来直接上传一个shell来获取web控制权限。初出现的的,最早出现在dvbbs论坛的上传组建上,其原因是由于windows系统对于文件名的检查的顺序的问题;后来相继又出现了一种就是现在的动易的前身动力文章系统3.6版本,出现的多文件上传过滤不严引起的可以直接上传cer文件的方法。这两种方法应该是上传漏洞鼻祖了。其代表工具有:最早出现的臭要饭的upload工具,还有一个比较经典的就是桂林老兵写的那个,通用性极强。

3、还有一种就是所谓的旁注法了,其方法主要是通过whois工具查找服务器的域名列表,然后通过上述两种方法来获取权限,进而来入侵同一服务器上的目标的,因为其是通过服务器上的其他网站来入侵目标的,因而就称其为旁注了。最早出现的文章应该是B.C.T的老大h4k_b4n写的文章,那时候B.C.T还没有成立呢。

上面了解了下流行的web入侵方法,那下面来看下常用的web的网站系统的一些功能,下面动态的系统和静态的系统来分别说明下。

1、动态的系统:常用的功能有,文章发布,主要是将数据写到数据库中asp常用的主要是access和sql server。文章发布中可以需要一些上传图片的功能。基本目录结构及其所需要的最低的权限如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限,修改权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取权限。

/根目录,一般存放为asp文件,需要有读取权限。

2、静态页面的系统:指的是一些内容页生成静态页面,而主页和二级页面为动态的系统,现在这种系统居多,

主要的功能有,上传图片,生成静态页面,acess数据库的可能还有个数据库备份功能。其基本目录结构如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取和执行权限。

/根目录,一般存放为asp文件,需要有读取以及执行权限。

/html//此目录为生成静态页面的目录。需要有读取,修改以,写入权限。此文仅仅讨论生成的后缀为html,htm的情况。也是大部分程序生成的都为这些了。对比动态的多了一个生成静态页面的目录。

下面进入本文的重点:安全的设置。

对于sql注入的防范防范最好的是将所有的客户端提交的进入sql查询的参数全部过滤掉,这个对管理员的要求比较高了,需要懂程序开发才可以搞定的。而有一种比较简单的方法就是使用笔者以前写的一个小工具sql通用防注入系统.可以到我的网站下载:www.neeao.com/blog/article-2285.html.

主要说下如何防止上传漏洞的产生,sql注入比较好发现,对于上传的话如果懂的朋友也是可以用工具检测出来的,当然最好的方法就是修改程序,替换上传组件了。但这个相对于sql通用防注入的防范来说比较难了,没有通用的工具了。那么我们可以用服务器上的权限设置来防止破坏者上传或者上传后执行webshell。

1、先按照以前人总结的防止webshell文章给每个站点设置一个单独的账户,在这里,我为了方面说明,姑且假设我设置的web站点的主目录为:d:webneeao.com,添加的iis匿名账户为web_neeao.com,所属组为guests。

2、设置web主目录的权限,删除除了administrators和system两个账户外的所有账户的访问权限,添加web_neeao.com,账户,将其权限设置为读取。并替换子目录下所有目录及文件权限,删除继承上级目录的权限。

3、设置上传目录的权限,我这里按照我上面列出的上传目录为uplaod,将其权限设置为读取及和写入还有修改权限,或许你有一个以上的上传目录,可以同样这样设置。

4、设置数据库目录的权限,我的数据库目录是database,将其权限设置为读取,写入和修改。或许你有一个以上的数据库目录,可以同样这样设置。

5、images目录权限,读取

6、admin目录,读取。

7、html目录,读取,写入。

上面的是针对磁盘的权限的设置,但是这样还是不行的,我们可以看出一些目录还是有写权限的,比如database、upload,以及html目录,如果asp文件传到这些目录的话同样是可以威胁网站安全的。

下面我们来看IIS中的设置:

在IIS管理器中左侧的站点列表中,单击站点前面的+符合,可以看到下面有目录的列表,在database目录上单击鼠标右键,属性,将其脚本执行权限去掉,设置为无。Upload目录和html目录同样这样设置。这里需要注意下database目录设置的时候,可以将其目录设置重定向,防止访问者非法下载access数据库。

至此权限设置结束了,关于权限的设置,我将其总结为一句话就是:能执行就不给写,能写就不给执行。如果按照这样的原则设置的话,基本上通过web上传并执行webshell是基本不可能的了,就我目前所了解的方法来说。

by:Neeao[B.C.T]

Web结构 篇6

随着数字证书应用的不断发展, 数字证书运营商对业务灵活性的需求不断增加。目前主流数字证书客户端软件基本属于纯粹的本地客户端软件, 虽然经过多年的不断开发完善, 功能已经基本成熟、稳定, 但是随着客户端软件部署数量的不断增加以及地域范围的不断扩大, 当数字证书运营商的业务管理规则需要调整时, 客户端软件的更新维护成本将会很高。更重要的是, 有的业务规则调整之前需要做到所有的本地客户端软件都统一更新到一个最新的版本, 否则将会导致用户体验不一致问题的发生。数字证书运营商迫切需要一种统一、快速、准确控制客户端软件功能的技术解决方案。

基于Web的应用虽然具有很高的灵活性以满足这种需求, 但由于主流浏览器在安全方面的限制, 使得在涉及硬件设备管理的领域, Web应用常常存在各种使用上的困难。以IE浏览器为例, 虽然可以通过开发ActiveX控件的方式来使得Web页面具有访问本地数字证书硬件设备的能力, 但是各种不同的IE安全设置和操作系统安全设置常常使得控件无法正常使用, 这大大增加了运营商的维护工作量。另一方面, 传统的本地客户端软件, 虽然具有完全控制硬件设备的权限, 但是在灵活性上还远远不如像Web页面那样可以通过服务器端代码动态实时为客户端生成用户界面和业务流程。

本文提出了一种Web/Native混合软件体系结构, 该体系将Web浏览器引擎集成到本地客户端软件中, 实现了在客户端软件中通过HTML、CSS和JavaScript来控制用户界面和业务流程, 底层则可以直接访问硬件设备, 实现对设备的完全控制。

2体系结构设计

Qt是一套开放源代码的跨平台C++ 开发框架, 为了将来客户端软件可以顺利移植到各种基于嵌入式操作系统的车载或手持移动设备上, 选择Qt作为体系结构的技术实现框架。Web浏览器引擎采用了开放源代码的WebKit, 该引擎目前已经被各种商用浏览器广泛使用, 例如苹果Safari、Google Chrome等。

基于Qt和WebKit的Web/Native混合软件体系结构如图1所示。最上层的Application层将完全使用网页开发语言来进行描述 (HTML/CSS/JS) , 可以通过网页开发工具来进行开发, 这使得数量众多的网页开发人员可以参与到客户端软件开发中, 在某种程度上降低了客户端软件开发的人力成本。在Application层之下, 是WebKit浏览器引擎, 用于对网页代码进行解析。在WebKit之下, 则是Qt提供的对网络、图形界面等方面的开发库, 这些库都通过C++ 代码来进行调用。在这一层中也包含了各种自行开发的对硬件设备进行控制的库。

3 JavaScript与本地Qt对象交互机制

将Web页面与底层开发库整合起来的核心在于实现JavaScript与本地Qt对象之间的交互机制, 本文将对该机制进行详细描述。

信号和槽 (Signal and Slot) 机制是Qt机制的核心, 用于对象间的通信, 也是Qt的一个主要特点。Qt提供了信号和槽机制, 当一个信号被触发, 与其连接的槽便会触发, 这是在Qt的预编译过程中生成moc代码来实现的。

在图形用户界面开发中, 当对一个Widget进行操作时, 常常需要触发另一个Widget去处理, 也就是实现两个对象之间的通信。例如, 当按下一个按钮时, 希望窗口关闭。

常见的实现机制是使用回调函数。回调函数是调用一个函数指针所指向的函数。如果需要在按下按钮时, 执行某个函数, 则需要把指向这个函数的指针作为参数传入到回调函数中。但采用这样的机制存在类型安全问题, 此外还会增强类之间的耦合性, 不利于软件的扩展和维护。

JavaScript与本地Qt对象的交互分为两个步骤, 如图2所示:1) 将本地Qt对象的信号和JavaScript的slots连接起来;2) 通过JavaScript调用本地Qt对象的slots。

在开发中, 一个对象只需继承Qobject, 便可使用该机制。信号和槽机制首先是类型安全的, 信号和槽的参数必须匹配 (槽函数的参数表必须小于或等于信号的参数表) 。其次, 使用该机制可以降低对象耦合性, 在开发一个对象时, 不需考虑一个信号发出后需要进行什么操作, 也不需考虑谁要连接到这个槽函数, 这样有利于多人合作开发以及将来的代码复用。信号和槽的连接方法请见图3所示。

4对象与Web页面的整合方式

有两种方式可以将Qt对象整合到Web页面中, 然后再用QWebView widget来显示这张Web页面:方式1将Qt对象添加到JavaSript的上下文环境中;方式2创建一个插件, 然后通过对象标签将Qt widgets置入到Web页面中。

我们选择了使用方式2, 页面中widgets的公共槽将像普通函数一样公开给JavaScript函数。widget要能整合到Web页面中, 需要继承QWebPluginFactory类, 并且重新实现plugins方法和create方法。plugins方法用来通知Web页面该插件可用。但需要创建widgets时, create方法将被调用。例如, 当需要将一个名为my-device-control的widget置入页面的HTML代码时, 可使用如下的对象标签:

为了创建这个widget, 必须激活plugins并且将plugin工厂类通知给QWebPage。在下面的代码中 , DeviceControlFactory在application/my-device-control发出请求时, 创建了DeviceControl实例widget。

DeviceControl widget公开了一个名为openDevice () 的公共槽, 这样就可以在JavaSript中像调用普通函数那样进行调用了, 调用代码如下:

5实现效果

如图4所示是基于Web/Native结构开发的数字证书客户端软件。该客户端的显示界面全部采用Web方式实现。界面分为证书功能区、证书消息区、证书展现区。使用纯Web的方式很容易实现证书消息区和证书展现区的功能, 但是如果不进行一系列浏览器安全设置, 是无法实现读取USBKey中的数字证书的, 也就无法实现数字证书与服务器消息之间的对应关系。引入Native的方式很好的解决了这个问题, 通过Native接口不仅可以在完全无需额外设置的情况下读取USB Key中的数字证书, 还可以实现证书功能区中的修改USBKey密码、使用USBKey中的私钥进行文件签名等功能。

5结束语

Web/Native混合软件体系结构通过在传统C/S结构的客户端软件中集成Web浏览器引擎, 使得客户端软件既具有对硬件设备的全面控制能力, 又具有与Web应用相同的灵活性。基于该体系结构开发的数字证书客户端管理软件将能很好的满足数字证书运营商越来越复杂多变的业务需求。

参考文献

[1]布施曼等著.面向模式的软件架构 (卷4) :分布式计算的模式语言.人民邮电出版社, 2010.

[2]叶伟等著.互联网时代的软件革命——SaaS架构设计.电子工业出版社, 2009.

[3]伊斯特等著.C++设计模式——基于Qt 4开源跨平台开发框架.清华大学电子工业出版社, 2007.

[4]Developing hybrid Web/GTK+rich internet applications.http://www.atoker.com/webkit/webkitgtk-fosdem08.pdf.

Web结构 篇7

随着分布式计算的普及和企业系统集成需求的日益复杂, 越来越多的应用需求希望能够访问不同架构、不同平台下、用不同语言实现的应用程序和数据, Web Services技术应运而生。由于其客户端与服务器端之间以XML消息作为联系, 而得益于XML技术的通用性, 使得这项技术可以在不同的操作系统、不同的编程语言编写的客户端下, 都能有良好的兼容性和通用性, 为服务的应用和推广建立了良好的平台和技术支持, 同时能够大量节省建立和维护成本, 使得在最小的投入下, 获得最大的收益。[1]本文就是基于这个背景来探讨Web Services体系结构中的三个角色 (服务提供者、服务请求者、服务注册代理) 的具体实现过程。随后通过一个快速傅里叶变换算法实例, 讨论了Web Services这种新兴的技术在Java平台上的设计与实现, 并介绍了如何利用服务注册中心UDDI来查找和发布服务, 以及客户端查找到服务后如何分别利用Java和VB对服务进行调用。

本文共分五个部分。第一部分简述了文章的内容和结构;第二部分描述了Web Services的体系结构;第三部分介绍了开发环境和主要技术;第四部分通过快速傅里叶变换算法的实例讨论了Web Services在Java平台上的设计与实现, 并介绍了服务注册中心UDDI和客户端的调用过程;第五部分总结了全文。

2 Web Services体系结构

Web Services是一种新型的Web应用程序。它通过轻量级的、与供应商无关的通信协议接受和处理来自于网络 (因特网或内部网) 上其它系统的XML格式的请求。目前各大公司推出的产品, 如Microsoft的DOTNET、Sun的Sunone、IBM的IBM Web service全部采用了Web Services技术。

Web Services的体系结构是基于Web服务提供者、Web服务请求者、Web服务注册代理的不同操作来建立的。[2]具体的Web Services体系结构模型如图1所示。

整个Web Services体系结构是由服务提供者、服务请求者、服务注册代理三个角色组成的。

Web服务提供者:Web服务的拥有者, 它为其它服务和用户提供服务功能。服务提供者在实现服务之后可以发布服务, 并且响应对于服务的调用请求;

Web服务请求者:Web服务的使用者, 它可以利用服务注册代理查找服务;

Web服务注册代理:它的作用是将服务请求者与合适的服务提供者绑定在一起。

这三种不同的角色通过发布 (publish) 、查找 (find) 、绑定 (bind) 三种操作提供完整的Web Services功能。Web Services是由服务描述所表达的接口, 其实现即为服务。服务和服务描述是支持Web服务的基本工件。服务在本质上是软件模块, 它由服务提供者提供, 部署在网络可访问的平台上。[3]

Web Services体系结构说明了各元素实例化和操作实现的方式。不同角色借助于不同的工件进行不同操作来实现Web服务。每个Web服务也有其完整的开发生命周期, 其中规定了各角色的设计、实现、部署和运行的需求。Web Services的开发生命周期包括以下几个步骤:

(1) 服务提供者设计并实现Web服务, 然后将所实现的Web服务通过服务注册代理进行发布 (在UDDI注册中心注册) ;

(2) 服务请求者向服务注册代理请求特定的服务, 然后服务注册代理根据请求内容查询UDDI注册中心, 为请求者查找特定的服务;

(3) 服务注册代理向服务请求者返回满足条件的Web服务描述信息 (以W SDL形式描述) ;

(4) 服务请求者利用从服务注册代理返回的描述信息产生相应的消息 (SOAP消息) , 并发送给服务提供者;

(5) 服务提供者接受到消息后执行相应的Web服务, 并将结果 (以SOAP消息形式) 返回给服务请求者, 完成一次Web服务。[4,5]

3 开发环境和主要技术

本文通过Web Services各个角色开发环境的不同更好地说明了Web Services的平台无关性。开发环境和主要技术如表1所示:

4 Web Services实例

为了方便说明Web Services的应用过程, 现以快速傅里叶变换算法为例。在很多领域都会涉及快速傅里叶变换, 其中在通信领域中运用最多。本论文就是根据这点创建服务, 发布服务, 然后在通信领域中加以调用该服务。

4.1 快速傅里叶变换算法

计算离散傅里叶变换

快速傅里叶变换就是简化上述计算, 在这里定义方法four1 (double data[], int nn, in t isig n) 。其中n n为整数变量, 输入参数, 采样点数, 要求nn为2的整数次幂, 即nn=2m, m为正整数;data[]含nn个元素的复矩阵, 或等价地说含2×nn个元素的一组实型数组, 输入、输出参数, 开始时存放变换初值X0 (k) (k=0, 1, …, N-1) , 最后存放变换结果X (j) (j=0, 1, …, N-1) ;isign为整型变量, 输入参数, 其值为+1或-1, 当输入+1时, 计算离散傅里叶变换, 当输入-1时, 本程序的计算结果乘以1/nn则为离散傅里叶逆变换。

4.2 创建Web服务

编写FFT.jws文件, 实现快速傅里叶变换。将FFT.jws放在%Tomcat%webappsaxis下, 访问http://localhost:8080/axis/FFT.jws?wsdl将自动生成wsdl文件。这样Web服务就创建完成了。

4.3 服务注册中心UDDI

根据我们前面提到的Web Services和UDDI注册中心的相关规范, 以及UD DI注册中心设计思想, 我们设计了私有的UDDI注册中心:在UDDI注册中心中一共有六个操作, 其中UDDIProxy负责处理SOAP消息, 用户可以通过它调用任何在注册中心服务器上实现的方法。当用户需要查找服务时, 就直接调用“服务查询”, 并将结果返回给“UDDI Proxy”, 由“UDDI Proxy”负责将查询结果封装成SOAP消息发送给用户。但是当用户需要发布服务时, 就需要先调用“用户认证”进行身份确认核对, 确保用户有权发布信息。“认证”操作将产生一个授权令牌给用户, 以后的交互操作都需要用到这个令牌。“服务管理”操作主要完成对注册中心的管理, 表现在用户权限管理、服务管理、技术模型管理以及服务发布、查找规定等方面。而后端的Mysql数据库服务器主要是存储Web服务的注册信息。例如公司地址、联系方式、操作日志文件等等。“数据库连接接口”则主要完成注册中心和Mysql数据库服务器存储的信息之间的连接。

在这里选择的注册中心是Apache JUDDI。JUDDI项目是Apache组织的一个开源项目。JUDDI提供了一个兼容UDDI规范的私有注册中心, 并提供了用于和JUDDI交互的程序员API。程序员API基于SOAP, 客户端发送SOAP信息到JUD DI, JUDDI执行查询或发布功能, 并以SOAP的形式返回执行结果。JUDDI需要一个存放注册中心数据的数据库, 支持的数据库有DB2、Mysql、Oracle、Sybase等, 本设计采用的是Mysql。JUDDI API界面如图2所示。

在服务注册中心UDDI中发布和查询服务过程如图3所示。

从图3中可以看到发布服务首先获得认证令牌getauth Token得到auth Token, 然后注册公司save_business得到business Key, 接下来发布服务save_service得到service Key, 最后针对发布的服务建立绑定信息save_binding, 返回bindingKey。这样服务就发布完成了。查找服务首先要通过find_business查找公司注册信息, 返回公司信息以及businessKey和serviceKey。接下来通过businessKey以及serviceKey可以用get_business Detail, find_service, getservice Detail等查询API查找自己所需要的信息。

4.4 调用Web服务

通过UDDI查找到服务后就可以调用服务。Web服务客户端可以用不同的语言进行编写。下面分别用Java和VB来实现Web服务调用。

4.4.1 Java客户端

有两种方法可实现用Java远程调用Web服务。

一种是调用Axis开发包提供的WSDL2 Java工具, 生成客户端调用需要的四个接口文件:Jav a-Djava.ext.dirs=liborg.apache.axis.wsdl.WSDL2 Javahttp://222.199.225.248:8080/axis/FFT.jws?wsdl生成接口文件分别为:FFT.java、FFTService.java、FFT Service Locator.java和FFTSoap Binding Stub.java。客户端调用这四个接口的部分代码如下:

该客户端实现了一次快速傅里叶变换, 又进行了一次快速傅里叶逆变换, 得到的结果还是原来的矩阵data[]。试验结果如图4所示。

4.4.2 VB客户端

首先安装ms Soap Toolkit20.exe, 有了微软SOAP toolkit就可以开发VB客户端了。打开V B开发环境新建一个标准EXE项目, 打开工程 (Project) 菜单并选择引用打开组件引用对话框。找到并选中Microsoft Soap Type Library。调用Web Services的核心代码如下:

5 结束语

Web Services作为新兴的, 一种依赖于Internet, 为用户或其他Web Services提供单一服务功能的组件, 将成为软件未来的存在方式。目前Web Services已经为企业及研究机构所广泛接受。本文就是基于Web Services的特点提出了Web Services的体系结构, 并分析了该结构各个部分的关键技术实现问题。文章介绍了Web Services的搭建过程以及私有UDDI注册中心, 并用Java和VB平台分别实现Web服务客户端的调用, 真正做到了Web服务与平台无关性的特点。为了方便描述基于Web Services的建立过程, 文章通过快速傅里叶变换实例来介绍上述各个部分的具体实现过程。

摘要:为了说明Web Services技术解决了访问不同架构、不同平台、用不同语言实现的应用程序的问题, 本论文首先讨论了Web Services体系结构中三个重要角色 (服务提供者、服务请求者、服务注册代理) 以及它们之间的关系;然后通过快速傅里叶变换算法的实例详细说明了Web Services体系结构中各个角色的建立过程, 以及它们之间的调用关系;最后用多个平台对Web Services进行调用, 以验证Web Services的平台无关性。

关键词:Web Services,WSDL,UDDI,快速傅里叶变换

参考文献

[1]闫培宁, 李玉玲, 陈志国.分布式数据库系统中Web Services的设计[J].河南大学学报 (自然科学版) .2006, 36 (3) :93-96.

[2]李安渝, 等.Web Services技术与实现[M].第一版.北京:国防工业出版社.2003.

[3]陈前锋, 姚华, 孙健.基于Web Service的信息查询系统的设计与实现.计算机与现代化.2006, 第一期, pp.6365

[4]Judith M, Myerson.Web Services Architectures[J], Chicago:TectPublisher, 2002

Web结构 篇8

1 系统设计目标

教师教学测评系统设计应达到以下目标[2]:

(1)具有良好、清晰的用户界面,便于用户使用,能更好地吸引测评者主动参与。

(2)要有用户权限确认,不同用户给予不同权限,执行不同操作。

(3)能够在网络上实现对数据库的维护,数据的统计。

(4)提供良好的帮助,使用户尽快地熟悉系统操作。

(5)系统设计贴近日常办公运作需求,系统与教务系统保持良好的兼容性。

(6)具有较好的数据移植性。

针对以上提出的系统设计目标,本教师教学评价系统将教学质量评价定位为领导评、督导评、同行评与学生评四个层面的权限和操作,提供两种评价方式:非指标评价与指标评价,非指标评价又分为问卷调查与听课记录,指标评价又分为过程性与终结性两种类型;可根据需要在一个学期内设定多个评价轮次,相应轮次的时间区段由管理人员设定。

2 系统总体设计

本系统基于B/S结构,所以是以网站的形式展现其功能的,也适应了目前Internet发展的现状。系统采用了目前比较流行的ASP作为前台的开发语言。ASP作为开发语言具有简单易学的特点,而且功能也相当强大。后台选择Access作为数据库,用Access作中小型系统的数据库不失为一个好的选择。另外采用Dreamweaver来美化网页,界面清晰美观,用户能方便使用。并且系统作为教务管理系统的子系统进行设计和开发,与教务管理系统实现无缝嵌入与数据共享。

2.1 系统架构

B/S模式(Browse/Server浏览器/服务器)模式是在C S模式发展到一定阶段的产物,以Web技术为基础,将传统C/S模式中的服务器部分细分为数据库服务器和Web服务器,从而变成三层结构。

系统三层结构如图1所示。系统划分为表示层、业务逻辑层和数据库层三层结构。

表示层位于客户端,相当于用户界面,即Internet Explore等Web浏览器。实现在客户端浏览器中显示的用户界面,该层可以调用由业务逻辑层提供的业务方法。

业务逻辑层是系统核心部分,主要担当业务的逻辑处理任务,包括处理表示层的HTTP请求,为表示层提供业务功能同时通过数据库层来访问数据库。具体过程是:由Web服务器接收客户端发送来的HTTP请求,对请求进行分析转换,并调用相应的逻辑处理程序;而该逻辑处理程序与数据库层进行通信,进而访问数据库,并将处理结果返回给Web服务器,再由Web服务器以XML或HTML形式将结果发送给客户端浏览器。

数据库层位于底层,主要用来实现与数据库的交互,完成查询、插入、修改和删除数据库中的数据的功能。以ADO.NET为数据库接口,ACCESS数据库为架构,主要处理业务逻辑层对数据的请求。本系统以ACCESS+Windows2000 Server+IIS+.NET框架作为平台,采用ASP.NET构造程序框架,数据库采用ACCESS,ADO.NET为数据库接口开发技术。

2.2 系统流程

系统中的各子系统既是相互独立的,又存在着一定的流程关系。使系统具有整体性和完整性,符合设计要求。系统工作流程如图2所示。

2.3 系统功能模块

教师教学评价系统分为质量评价与工作量管理两个部分,具有七个方面的功能,系统功能如图3所示。

(1)评价设置:设置内容包括评价主体,评价主体权重,评价主体成员及评价范围,评价问卷题目,评价指标等级,评价质量等级,评价量化办法,评价指标体系等。

(2)评价安排:设置评价轮次,分现行评价轮次设置评价主体成员的评价范围,生成评价主体成员的评价安排。

(3)评价处理:各个评价主体成员通过校园网/互联网,依据教学质量指标体系与问卷题目,对于相应评价范围内的课程/环节对教师进行评价,录入评价主体成员的评价信息,按学生或课程/环节处理评价信息。

(4)评价结果:分评价主体成员按课程/环节→和教师查看评价信息,分课程/环节→教师按评价主体(成员)查看评价结果,分教师→课程/环节按评价主体(成员)查看评价结果,按综合评价结果查看教师排名,分院(系)部按评价质量等级查看教师人数分布。

(5)计算设置:计算轮次,教学工作,教学手段,教学工作量计算系数,教学工作量计算公式。

(6)计算处理:依据教学工作量计算公式,分计算轮次与学年学期计算教学工作量,调整教学工作量,分教师或分课程/环节录入教学工作量,录入附加教学工作量。

(7)计算结果:分院(系)部按教师查看教学工作量,分承担单位按课程/环节查看教学工作量,分院(系)部按教师统计教学工作量,分承担单位按课程/环节统计教学工作量,分院(系)部按教学工作统计分析教学工作量,分院(系)部按职称/学历/学位及年龄区段统计分析工作量。

3 结束语

从基于B/S结构的Web技术研究出发,完成了教师教学评价系统的设计与实现。在实际开发和应用过程中,对系统功能和使用效率方面不断进行完善。最终形成了一套比较完整的教师教学评价系统设计方案。

摘要:本文研究了教师教学评价系统设计的意义和总体目标,并进一步详细阐述了基于Web结构的教师教学评价系统的架构设计、流程图和模块设计。

关键词:Web,教师教学评价系统,B/S结构

参考文献

[1]陈振原,杨晓燕.基于.NET的教师教学评价系统[J].福州:福建电脑,2008(2):114-115.

[2]张秀虹.教学工作测评系统开发与实现[J].辽宁:辽宁工程技术大学学报,2002(6):770-772.

[3]赵振辉,杨文斌.基于Web的教学质量测评系统研究[J].广州:现代计算机,2008(6):158-160.

Web结构 篇9

随着互联网的广泛应用, 电子商务、网络教育越来越普及, 海量的网络信息为数据挖掘提供了丰富的资源。Web日志挖掘是将数据挖掘技术应用于Web服务器日志文件上, 以发现用户访问页面的模式, 从中提炼出用户对页面的兴趣度和访问习惯等, 进而改进网站的性能和组织结构, 为用户提拱个性化服务。而网站的拓扑结构的获取与应用, 将对Web日志挖掘第一阶段数据预处理中正确地进行用户识别、会话识别以及路径补充起到关键性的作用。

2 Web日志挖掘与网站拓扑结构

Web日志挖掘是数据挖掘的一个分支, 因此其基本流程和数据挖掘非常相似, 主要由三个阶段构成:数据预处理、模式发现和模式分析。其中数据预处理工作的质量好坏对挖掘结果影响很大, 如果使用的样本数据质量偏低会导致挖掘结果与真实情况之间出现较大偏差。数据预处理工作主要包括数据清洗、用户识别、会话识别和路径补充等步骤, 其中的用户识别和会话识别需要根据网站的拓扑结构确定某一个用户会话到达当前网页的路径, 或是通过判断两个网页之间是否可达来区分不同的用户会话;而路径补充则需要根据网站拓扑结构将由于本地或代理服务器缓存而没有被Web日志记录的用户请求页面增加到相应的用户会话中。

由于在用户识别、会话识别和路径补充的过程中都需要网站的拓扑结构。所以, 网站拓扑结构在整个Web日志挖掘过程中显得尤为重要, 是决定整个Web日志挖掘系统的关键因素之一。

3 对网站拓扑结构的不同理解

在很多研究中, 通常会把树形结构的网页文件目录层次比作网站的拓扑结构, 这虽然简化了问题, 降低了复杂度, 但所获得的这种简单网站拓扑结构在很大程度上与实际拓扑结构不相符, 因而由此结构得出的结论也是不准确的。

图1展示了一个简单的网站文件目录层次, 而根据网页中的超链接得到的网络拓扑图要比这个文件目录层次复杂得多。将网络的拓扑结构抽象为有向图G=。其中V是所有网页的集合, 称为“节点集合”;E是所有超链接的集合, 称为“边集合”。有向边∈E (p, q∈V) 表明从网页p到网页q有一个超链接, 也就是说用户通过浏览器能从网页p访问到网页q。图2展示了一个实际的网站拓扑结构, 这也是本文所要研究获取的拓扑结构。

当然, 在实际的处理中我们会发现, 网页的超链接指向的不仅仅是网页, 还有许多是指向图片、css样式文件和一些特殊类型文件 (word文件、rar文件等等) 。由于我们要获取的网站拓扑结构只反映不同网页间的关系, 而且上述提到的图片和css样式文件等均为构成某一网页的元素, 所以我们忽略此类超链接, 只分析网页间的超链接关系。

4 基于Web日志的网站拓扑结构的获取与应用

以往的网站拓扑结构获取, 要么是通过网站设计人员或管理员手工提供, 要么就是通过分析网页内容, 提取出有用的超链接来获得网站拓扑结构。本文提出了一种新的获取网站拓扑结构的方法, 即通过分析Web服务器生成的日志来得到网站拓扑结构。

4.1 Web日志与日志数据清洗

Web日志属于应用程序日志范畴, 主要记录用户的浏览情况。W3C规定了日志记录的格式分为两种:通用日志格式和扩展型日志格式。本文实验数据采用的是扩展型日志格式, 取自西安邮电学院微型计算机原理教学网站。其典型的日志记录形式如下:2010-12-02 00:36:47222.24.14.54-222.24.19.3 84 GET/wjyl/news/news.asp-200 94 HTTP/1.1Mozilla/4.0+ (compatible;+MSIE+8.0;+Windows+NT+5.1) http://cs.xiyou.edu cn:84/wjyl/index.htm。其主要结构如表1。

在网站拓扑结构获取过程中, 日志里的cs-uri-stem和Referer是两个非常重要的字段, 他俩反映出网站中不同资源间的关联关系, 为分析网页间链接关系进而得到网站拓扑结构提供了准确的数据依据。

当然, Web日志不仅仅只记录网页间链接关系, 还包含对图片、flash动画等非网页资源的访问记录, 以及访问出错的记录。另外, Web日志通常是按天存放于多个日志文件中, 并以文本文件的形式存储。这些都不利于后续拓扑结构获取算法的读取。因此我们必须对日志数据进行清洗, 主要步骤如下:

1) 日志合并。将多个日志文件中所有记录依次转存到关系数据库中。本文实验中采用MSSQL2005数据库保存日志记录, 创建名为weblog的表来存储日志记录, 其字段与日志文件中的字段一一对应。

2) 删除不相关的日志记录。删除日志中访问非网页资源和访问出错的记录。

3) 删除Referer内容不为本站网址的记录。由于搜索引擎的存在, 以及一些用户直接在地址栏里输入网址来访问, 这些都导致请求中的Referer内容通常不是本网站的地址或是Referer内容为空。

4) 消去动态页面参数信息, 并将cs-uri-stem和Referer字段相同的记录删除。在一些aps、jsp等动态页面中, 其自身就能完成一定的功能。例如:在显示第一条新闻news.asp?id=1页面中有一个显示下一条新闻的链接, 其接指向为news.asp?id=2, 点击这条链接后完成的是news.asp对自身的一个调用, 但日志中将产生一条cs-uri-stem为news.asp, Referer为news.asp?id=1的记录, 实际Referer中的网址不是一个新网页名而是带参数的news.asp。而对于页面自身调用的日志记录对获取拓扑结构是无用的, 所以此类记录应删除。

5) 规范URL。在许多网站中, 服务器会把许多对目录的访问理解为对该目录下指定的默认页面访问, 如对/wjyl/的访问 (服务器上已设定默认页面为index.htm) , 服务器会理解为是对/wjyl/index.htm的访问, 而在日志中默认页面不会自动添加进去, 记录的仍然是访问/wjyl/。此时, 需要根据实际的服务器设定情况, 将默认页面补上。

4.2 网站拓扑结构的存储

参照有向图的邻接表存储形式, 在数据库中设计了两个表node (节点表) 和association (边表) 来存储网站拓扑结构。如图3所示, node表存放每个节点信息, 包含有编号id, 页面所在目录path, 相对于根节点的层次数page_level以及文件名name, 这里的节点代表每个不同的页面;association表存放每条边的信息, 即网页间的关联关系, start_id为边的起始节点id, end_id为边的终止节点id, count为该条边在日志中出现的总次数。节点表node的主键id与边表association的start_id键相关联。对于节点表中的任意一个节点v, 通过该关联, 可以在边表里找到所有起始节点为v的边, 这些边所构成的集合e即为页面v到其它页面的超链接集合。

4.3 网站拓扑结构的获取

基于上述分析, 本文设计了两个算法来获得网站的拓扑结构。算法GetClearLog进行日志清洗得到干净的分析数据。算法GetStructure根据前一算法得到的数据生成node节点表和association边表, 从而得到网站拓扑结构。

算法GetClearLog

输入:网站日志文件的物理位置信息

输出:保存有干净数据的weblog日志表

说明:cs_uri_stem、sc-status、referer含义见表1;扩展名为asp、jsp、htm、html的文件是需要分析的;日志中的状态代码为2xx都代表访问正常。

算法描述:

4.4 网站拓扑结构的应用

利用上面得到的网站拓扑结构, 我们能够很好地解决在Web日志挖掘预处理中遇到的问题。在预处理过程中, 需要对用户的缺失的浏览路径进行有效补充。而路径补充的关键是判断两个网页之间是否可以通过超链接联系起来, 即是否可达。网站拓扑结构图是一个有向环图, 我们可以在图论中的深度优先遍历算法的基础上, 得到所有可能的访问路径, 以此来判断出两个网页之间是否可达。如果可达则计算其最短距离, 否则标记其不可达。另外, 在算法GetStructure中得到的相对于根节点的层次数和能够反映网页中超链接的选择频度的count值, 都可为更进一步的个性化推荐提供参考值。

5 结论

本文介绍了网站拓扑结构在Web日志挖掘中的作用, 详细介绍了如何通过网站的web日志获取整个网站拓扑结构的方法, 并给出了关键算法。网站拓扑结构的获得在很大程度上解决了Web日志挖掘过程中数据预处理阶段出现的问题。

本方法所使用的数据源来自于服务器上的日志文件, 在数据源的获取方式上比其他方法显得尤为便捷;对于日志文件和数据库的存取均在本地进行, 所以速度上优于在线分析的获取方法;此外, 对于新加页面节点, 使用本方法只需要对近期生成的少量日志文件分析后, 便能很快将其加入到网站拓扑结构中。

参考文献

[1]孙华文, 王大玲, 于戈, 等.Web挖掘及个性化推荐中网站拓扑结构的获取、分析及应用[J].小型微型计算机系统, 2005, 26 (7) :1225-1228.

[2]郑庆华, 刘均, 田锋, 等.Web知识挖掘:理论、方法与应用[M].北京:科学出版社, 2010.

[3]Bing Liu.Web数据挖掘[M].北京:清华大学出版社, 2009.

[4]何玉宝, 刘正捷, 田晓杰.网站拓扑结构提取技术的研究与应用[J].计算机工程, 2005, 32 (1) :157-159.

[5]TANASA Doru.TROUSSE Bfigitte.Advanced data pre-processing for intersites Web usage mining[J].IEEE Intelli-gent Systems, 2004 (3/4) :59-65.

[6]符翔, 金瓯.一种WEB日志挖掘的数据预处理方法[J].计算机系统应用, 2010, 19 (8) :204-207.

Web结构 篇10

Web信息是互联网海量信息的主要表现形式之一,其结构复杂,内容繁多,同时使用频繁,但价值却很大。Web信息的特点决定了其挖掘比普通数据库的挖掘要复杂得多,所以,面向Web的数据挖掘是一项复杂而困难的技术。Web结构挖掘,即对Web海量信息的组织形式的挖掘,是因特网信息挖掘中关键而重要的一个方面。

1 Web数据挖掘

1.1 Web数据挖掘

数据挖掘(Data Mining,DM)是从大量数据中提取或“挖掘”知识,从存放在数据库、数据仓库或其他信息库中的大量数据中挖掘有趣知识的过程。随着网络的不断发展,因特网目前已成为一个巨大的、分布广泛的和全球性的信息服务中心。从海量的网络信息中寻找有用的知识,早已成为人们的迫切需求。

Web数据挖掘(Web Data Mining),是数据挖掘技术在Web环境下的应用,是从大量的Web文档集合和在站点内进行浏览的相关数据中发现潜在的、有用的模式或信息。它是一项综合技术,涉及到Internet技术、人工智能、计算机语言学、信息学、统计学等多个领域。对应于不同的Web数据,Web挖掘也分成三类:Web内容挖掘、Web结构挖掘和Web使用模式挖掘。

Web数据挖掘建立在对大量的网络数据进行分析的基础上,采用相应的数据挖掘算法,在具体的应用模型上进行数据的提取、数据筛选、数据转换、数据挖掘和模式分析,最后做出归纳性的推理、预测客户的个性化行为以及用户习惯,从而帮助进行决策和管理,减少决策的风险。

1.2 需要处理的问题

Web信息量的巨大、分布广泛和内容多样使得目前的Web挖掘面临着众多问题和挑战。首先,对有效的数据仓库和数据挖掘来说,Web上的数据过于庞大。而且,Web上的数据具有极强的动态性,不仅数量增长快而且更新十分迅速。但是面对如此大量Web上的信息,有调查却表明:99%的Web信息对于99%的用户是无用的。这样看来,面对网络上形形色色的用户群体,许多由Web搜索引擎所检索到的资料将会显得没有意义。

1.3 挖掘分类

Web数据挖掘实现对Web存取模式、Web结构和规则,以及动态的Web内容的查找。一般来说,Web数据挖掘可分为四类:Web内容挖掘、Web结构挖掘、Web使用记录挖掘和Web用户性质挖掘。如图1所示。

其中,利用Web结构挖掘,可以分析站点的受欢迎程度和同其他站点的距离(通过跳转次数来判定)。再进一步,还可以通过查看一个单独站点的网页的链接情况及相互间链接的情况来学习其内部结构。

2.NET

2.1 体系结构

框架结构给因特网构筑了一个理想的工作环境。在这个环境中,用户能够在任何地方、任何时间、使用任何设备从Internet网中获得所需要的信息,而不需要知道这些信息存放在什么地方以及获得这些信息的细节。

.NET框架的体系结构包括五大部分,它们是:程序设计语言及公共语言规范(CLS)、应用程序平台(ASP.NET及Windows应用程序等)、ADO.NET及类库、公共语言运行库(CLR)、程序开发环境(Visual Studio.NET)。

2.2 ASP.NET逻辑结构

ASP.NET系统有多种逻辑结构,包括常用的两层结构、三层结构等等。所谓两层结构是显示层直接连接到数据层;所谓三层结构是在显示层和数据层的中间增加一个商业逻辑层。两层或三层逻辑结构如图2所示。

3 结构挖掘

Web结构挖掘即使用Web的结构来发现相关信息。从数据库角度的Web内容挖掘是对Web文档的内部结构感兴趣,而Web结构挖掘关心的是Web中的超级链接结构,也就是文件之间的结构。Web结构挖掘是对站点的结构使用数据挖掘技术,例如不同的网页之间互相连接的方式。可以从不同的层次研究这个结构:局部的在一个网站内,或者全局的考虑和所研究页面链接的其他站点内的页面。Web结构挖掘可以用于很多任务,最普通的任务有发现感兴趣的站点、Web社区和主题。

Web结构挖掘有狭义和广义之分。狭义的Web结构挖掘是针对网页外部文档的超链接结构,分析得到以下三种信息:同一网站里不同网页链接的频率;同一网站里同一页面内部链接的频率;不同网站间链接的频率等。广义的Web结构挖掘是从Web的组织结构、Web文档结构及其链接关系中推导关于Web体系结构知识和信息内容的知识及由此导致的用户对Web使用行为的影响,包含了Web内容挖掘和使用挖掘。信息内容的关系可以决定其构成方式,通过狭义的Web结构分析,对页面进行分类,并且取得不同网站的相似信息,也可以发现单个Web文档自身的结构。本文提到的Web结构挖掘主要指的是狭义上的。

有用的知识不仅包含在Web页面的内容中,而且也包含在页面的结构中。所以Web结构挖掘是从站点的组织结构和页面结构中推导出知识,对Web页面间的结构进行挖掘,找出数据链的结构进行分类、聚类,从而发现页面间的关系,进而改进搜索引擎的性能。

Web结构挖掘的对象是Web本身的超链接,即对Web文档的结构进行挖掘。Web结构挖掘的基本思想是将Web看作一个有向图,他的顶点是Web页面,页面间的超链就是图的边。然后利用图论对Web的拓扑结构进行分析。常见的算法有HITS、PageRank、发现虚拟社区的算法、发现相似页面的算法、发现地理位置的算法和页面分类算法。Web结构挖掘的算法一般可分为查询相关算法和查询无关算法两类。查询相关算法需要为每一个查询进行一次超链分析,从而进行一次值的指派;而查询独立算法则为每个文档仅进行一次值的指派,对所有的查询都使用此值。HITS和PageRank分别是查询相关算法和查询独立算法的代表。

4 应用

在网络时代的今天,所有的企业建立一个自己的网站是很必要的。企业建设自己的网站对本企业会产生巨大的宣传作用,可以及时获取详实有效的信息,也是时代发展的要求,还是一种潜在的无形资产。而如何建设一个适合自己企业的网站,其中通过Web结构挖掘技术来指导企业网站建设已经成为一项很普遍的技术。

4.1 网站中的导航页

导航页是为了链接到其他页面而设置的主要页面。客户不必在导航页上花费太多的时间,却会频繁地到这个页面上。对客户来说,导航页使他们能够很容易地找到他们想要找的页面。通过比较从入口到目标网页所要求的点击数和浏览者平均的点击数,会得到一些关于怎样设计好的网络站点和怎样链接网页的建议。

4.2 目标页面

浏览者通常花费大量的时间在目标页面上。这一网页实际上给浏览者提供其所要查找的信息,简而言之,目标页给浏览者提供其所需要的内容,目标页一般是固定的。当浏览者在一个目标页上花费了大量的时间时,希望这是因为他们找到了他们所需要的东西。如果没有应用数据的配合,一个网站的静态结构是没有很大用处的。应用数据允许比较这个网站的结构,因为它反映了设计者的思想,也就是说反映的是这个网站及其实际的行为数据该如何使用。

4.3 形成的功能

某个网站的局部功能很大程度上依赖于它的用途。网站有许多不同的模型。一个零售站点可能都是以同样的方式列出商品页面,并且建立了一个存储在关系数据库中的商品和价格的桥梁。有一些会模拟离线资源,如报纸或者杂志。其他的则包含可构建的会话,这些会话能够定制并能以多种方式排列,满足特殊客户的要求,这种站点诸如yahoo.com、excite.com等。

5 实例

目前,中小企业的网站架构以普通的三层架构为主流,在网站投入使用后,主要利用Web结构挖掘技术来优化企业网站,使得网站更具吸引力,使浏览者更容易找到其感兴趣的信息,提高企业网站的效用。

5.1 获取相关数据

一般而言,Web浏览都会产生详细的Web日志,包含丰富的信息。Web结构挖掘比较关心的主要有访问的页面记录、访问时间、停留时间、访问连接、访问地址等等信息。网站建设人员可以将这些作为字段信息存入数据库。

5.2 相关页面设置

在企业网站中,都有专门的提供给网站管理者的操作,即所谓的后台管理模块。在此模块中添加页面,并使用相关控件,此处,我们可以用ASP.NET中提供的几种显示数据的控件,例如gridview等,用来陈列相关数据,供管理员查看。这也就是常说的三层架构中显示层的设置。

接下来,要在底层,即数据访问层进行配置。这一层主要负责与数据库交互,存取数据。可以在这一层添加SQL语句,或是调用数据库中已经写好的存储过程,来实现数据的调用。例如,欲取出本网站被访问的页面记录,具体包括,页面名称、访问次数、访问时间等关键信息,同时要按照访问次数从大到小排序,具体用到的SQL语句,如:

最后,需要进行中间控制层的配置,中间控制层主要负责显示层和数据访问层的沟通。

另外,还可以挖掘页面间的相互关联度,即找出页面到页面的连接点击数,从而指导改善网站结构,提高网站的效用。

6 总结

通过上述简单举例,可以轻易地得出网站中最受欢迎的页面,从而就可以将公司想要极力宣传的内容放入该页面,或是将公司宣传的页面链接添加到该页面中,以增加宣传内容的访问量,改善网站的总体结构,使网站能更加有效地传播公司信息。以此也显示出了Web结构挖掘的最基本的作用。

摘要:Web数据挖掘(Web Data Mining),是数据挖掘技术在Web环境下的应用,是从大量的Web文档集合和在站点内进行浏览的相关数据中发现潜在的、有用的模式或信息。Web结构挖掘即使用Web的结构来发现相关信息。介绍了Web数据挖掘及Wed结构挖掘的相关概念,以及.NET的框架结构,并举例与ASP.NET相结合来实现Web结构挖掘的功能。

关键词:.NET,数据挖掘,结构挖掘

参考文献

[1]邓英,李明.Web数据挖掘技术及工具研究.计算机工程与应用,2001;(20):64-65.

[2]Hall J,Kamb-M.数据挖掘:概念与技术.范明,孟小峰译.北京:机械工业出版社,2001.

[3]王艳华,张纪.Web结构挖掘及其算法.计算机工程, 2005.

[4]韩家蚌,盂小峰等.Web挖掘研究.计算机研究与发展, 2001.

上一篇:人物形象对比下一篇:多因子模型