A. 数据库的问题`~
利用ASP和VBScript技术开发Web数据库查询系统- -
一、ASP的工作机制
(1)可以完全同HTML集成。
(2)易于创建,不需要手动编译和连接。
(3)面向对象和易于用ActiveX组件扩展。
(4) 对客户端没有特别的要求,只要有一个浏览器就行。
(5)安全性和保密性较好
二、定位常用的几种开发基于ASP模型的Web数据库应用程序的方法
ASP应用程序是包含了ASP网页的Web应用程序。由于ASP模型具有很多的优点,基于ASP架构的数据库应用程序也是一种功能强大的Web数据库解决方案。
常用的开发ASP应用程序的方法有以下几种:利用Visual InterDev集成环境开发ASP应用程序;利用VB6开发ASP的IIS应用程序;借助FrontPage98开发界面,直接编辑ASP文本文件等三种方法。
对于一般的开发人员,微软的VISUAL INTERDEV以其强大的功能和优秀的集成编辑环境成为开发ASP应用程序的首选工具。
三、设计一个具体的Web数据库查询系统
一个基本的Web数据库查询系统可以是如下结构的:
在Web数据库查询中,后台数据库的连接是至关重要的。ASP对数据库的访问主要是通过内置对象ADO(Active Data Object)来实现的。ADO是Microsoft针对网络数据库应用和Visual系列开发工具所开发的数据对象,在微软的系列产品中得到了很好的支持。在ASP中它可以被认为是一种数据库服务组件。与很多程序员熟悉的RDO、DAO不同,ADO是在OLE DB规范下开发的,它具有面向对象的特性.操作方法和DAO类似。
通过ADO访问Web数据库已经成为开发Web数据库查询系统的一般模式。在Web上访问数据库一般可分为以下步骤:
(1) 创建数据库源名。数据库源名,即Data Source Name是连接ODBC和数据库的桥梁,ODBC通过DSN来找到要访问的数据库。在Windows的控制面板中提供了一个名为“32位ODBC”的工具对其进行管理。在单机环境中开发Web应用时,这种通过首先创建数据库源的方法来访问数据库具有较好的可调试性,否则必须连接到一个Web上的服务器来寻找一个可供访问的数据库源。
(2) 创建数据库连接。在ASP中要访问数据,必须还要创建与数据库的连接。
具体语法如下: Set Conn1=Server.CreateObject(“ADODB.Connection”),这样就创建了链接对象Conn1。具体编程中,Conn1是直接访问数据库的一个很关键的对象名。创建数据库连接后,就要打开这个连接以供访问。
具体语法如下:Conn1.Open “DSN1”,“username”,“password” 。最后两个参数是可选参数。
(3) 创建数据对象。RecordSet是ADO中保存数据库命令结果集的对象。通过它可以直接访问数据库中的每个记录和各个字段的属性。具体语法如下:
Set RecordSet=Conn1.Execute(sqlStr) 这条语句创建并打开了一个Recordset对象,sqlStr是一条SQL的查询语句,执行这条SQL语句后返回具体的查询结果给Recordset对象。
(4) 操作数据库。 Execute方法的参数是一个标准的SQL语句串,可以用它来实现数据插入、修改、删除等操作。
(5) 关闭数据对象和链接。打开了一个ADO对象后,必须在使用完后关闭它。以释放在服务器上的资源。
在开发Web数据库应用程序时,由于ASP模型主要是基于服务器端的,只有当用户单击了一个ASP调用(如〈form method="POST" action="complex_result.asp"〉)的超链接或表单的提交按钮后才能工作,无法对客户的输入作出实时响应。如一个检查各字段是否为空的操作,就必须数据传送到服务器端后,才能作出判断。表现在具体编程中,就是判断的代码必须放在下一个页面中。由于VBScript是基于客户端的脚本语言,所以这种检查可以通过在ASP中内嵌VBScript脚本来完成。实际上,一个成功的ASP应用程序经常是ASP模型与VBScript或JavaScript脚本紧密结合的产物。
与一般源代码编写不同的是,ASP应用程序的重点不在一般HTML代码的编写上,IIS只对〈%〉标志对内的代码进行解释和运行。〈%〉标志对内的代码具有相对完整性,可以认为它与一般HTML语言是完全互不影响的。
ASP应用程序的实际实现过程中,界面设计和代码的编写实现一种紧密结合能极大地提高效率。尤其在FrontPage98中,良好的界面设计可以极大地优化程序的结构,也具有较好的可读性。
四、实现技巧及具体实例
以下就笔者的一点经验谈谈在编制ASP应用程序中的一些技巧。
(1)Response对象中的Write方法在直接输出一个由变量表达的字符串时具有重要的作用。甚至它可以作为一种ASP向客户端返回HTML页面的一种主要方式。这也是VB6中创建动态HTML的一种重要方法。
可以参考以下代码:
〈% if rs.fields("有无幻灯").value=true then
response.write "〈td width='13%'〉〈p align='center'〉有〈/td〉"
else
response.write "〈td width='13%'〉〈p align='center'〉无〈/td〉"
end if%〉
(2)对同一表单内的元素可以用Request.Form( parameter)方法获得当前表单内的元素的值,这在实际编程中具有极大的便利。甚至在两个相邻的页面间也能顺利传值。
(3)ASP应用程序中如何解决页面间的传值一直是个关键的问题。一般可以有以下六种方法:
A. 利用Application对象在应用程序的所有用户中共享信息,它可以在服务器运行期间持久地保存数据。
B. 可以用Session对象中的对象为应用程序的单个用户持久保存数据。但保存时间受到Session对象的另一个属性Timeout控制。
C. 相邻页面之间同一表单内的元素可以使用Request.form(parameter)的方法来实现传值。
D. 在ASP应用程序目录中的Global.asa文件中定义一些全局变量及过程。在Global.asa文件中创建的全局变量和过程在整个Web应用程序中都是可见的。
E. 对于在多个页面之间的传值,最适合的方法是利用Request.querystring属性。即在表单的Action或页面元素的超链接中,可以添加关于Request.querystring的引用。具体如下:
〈form method="POST" action="complex_query.asp"?query1=rs.fields(0).value〉
则在complex_query.asp中,可以通过Request.querystring(“query1”)来取得query1的值,并可以采用同样的方法把这个值再传送下去。
F. 还可以利用HTML中隐含域的特性传递。
以下是一段关于Web数据库查询的程序实例。
下面一段程序实现复合查询条件的生成,ASP文件名为Complex_query.asp。
〈html〉
〈%@ Language="VBScript"%〉
〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉
〈meta name="GENERATOR" content="Microsoft FrontPage 3.0"〉
〈title〉复合查询页面〈/title〉
〈meta name="Microsoft Theme" content="none"〉
〈meta name="Microsoft Border" content="tl, default"〉
〈/head〉
〈%
set conn1=server.createobject("adodb.connection")
conn1.open "kc_mdb","",""
set rs1= conn1.execute("select * from teacher")%〉
〈body background="bg005.gif"〉
〈hr size="6" color="#FF00FF"〉
〈p〉〈font face="楷体_GB2312" color="#0000FF"〉〈strong〉〈big〉〈big〉请选择查询方式〈/big〉〈/big〉〈/strong〉〈/font〉〈/p〉
〈form method="POST" action="--WEBBOT-SELF--"
onSubmit="location.href='_derived/nortbots.htm';return false;"〉
〈input TYPE="hidden" NAME="VTI-GROUP" VALUE="0"〉〈p〉〈input
TYPE="checkbox" VALUE="1" CHECKED NAME="check1"〉 复合查询方式 〈input
TYPE="checkbox" VALUE="2" NAME="check2"〉 按教师查询 〈input
TYPE="checkbox" VALUE="3" NAME="check3"〉 按教室查询 〈input
TYPE="checkbox" VALUE="4" NAME="check4"〉 按课表查询 〈input
TYPE="checkbox" VALUE="5" NAME="check5"〉 按课程情况查询 〈/p〉
〈/form〉
〈p〉〈font face="楷体_GB2312" color="#0000FF"〉〈strong〉〈big〉1.复合查询表单〈/big〉〈/strong〉〈/font〉〈/p〉
〈p〉〈font face="楷体_GB2312" color="#FF0000"〉〈strong〉〈big〉查询条件是: 〈/big〉
〈/strong〉〈/font〉〈/p〉
〈form method="POST" action="complex_result.asp"〉
〈p〉〈font color="#000000" face="宋体"〉教师为〈big〉:〈/big〉〈/font〉〈select SIZE="1"
NAME="list1"〉
〈option〉无〈/option〉
〈%
rs1.movefirst
do while not rs1.eof%〉 〈option value="〈%=rs1.fields(0).value%〉"〉 〈%=rs1.fields(0).value%〉 〈/option〉
〈%rs1.movenext
loop
rs1.close
conn1.close%〉 〈/select〉 〈%
set conn2=server.createobject("adodb.connection")
conn2.open "kc_mdb","",""
set rs2=conn2.execute("select * from classroom")%〉〈select name="operator1" size="1"〉
〈option selected value="or"〉or〈/option〉
〈option value="and"〉and〈/option〉
〈/select〉〈font face="宋体"〉 教室为:〈/font〉〈select SIZE="1" NAME="list2"〉
〈option〉无〈/option〉
〈%rs2.movefirst
do while not rs2.eof%〉 〈option value="〈%=rs2.fields(0).value%〉"〉 〈%=rs2.fields(0).value%〉 〈/option〉
〈%rs2.movenext
loop
rs2.close
conn2.close%〉〈%
set conn3=server.createobject("adodb.connection")
conn3.open "kc_mdb","",""
set rs3=conn3.execute("select * from course")%〉 〈/select〉 〈select name="operator2" size="1"〉
〈option selected value="or"〉or〈/option〉
〈option value="and"〉and〈/option〉
〈/select〉 〈font face="宋体"〉课程为:〈/font〉〈select SIZE="1" NAME="list3"〉
〈option〉无〈/option〉
〈%rs3.movefirst
do while not rs3.eof%〉 〈option value="〈%=rs3.fields(0).value%〉"〉 〈%=rs3.fields(0).value%〉 〈/option〉
〈%rs3.movenext
loop
rs3.close
conn3.close%〉〈%
set conn4=server.createobject("adodb.connection")
conn4.open "kc_mdb","",""
set rs4=conn4.execute("select * from kb")%〉 〈/select〉〈/p〉
〈p〉〈select name="operator3" size="1"〉
〈option selected value="or"〉or〈/option〉
〈option value="and"〉and〈/option〉
〈/select〉日期为:〈input type="text" name="T1" size="10"〉 〈select name="operator4"
size="1"〉
〈option selected value="or"〉or〈/option〉
〈option value="and"〉and〈/option〉
〈/select〉周次为:〈input type="text" name="T2" size="10"〉 〈select name="operator5"
size="1"〉
〈option selected value="or"〉or〈/option〉
〈option value="and"〉and〈/option〉
〈/select〉节次为:〈input type="text" name="T3" size="10"〉〈/p〉
〈p〉〈input TYPE="submit" VALUE="开始查询" NAME="B1"〉〈/p〉
〈/form〉
〈/body〉
〈/html〉
下面一段程序按查询条件返回查询结果。
〈html〉
〈%@ Language="VBScript"%〉
〈head〉
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312"〉
〈title〉复合查询结果〈/title〉
〈meta name="GENERATOR" content="Microsoft FrontPage 3.0"〉
〈meta name="Microsoft Theme" content="none"〉
〈meta name="Microsoft Border" content="tl, default"〉
〈/head〉
〈body background="bg005.gif"〉
〈hr size="6" color="#FF00FF"〉
〈p align="center"〉〈font face="楷体_GB2312" color="#0000FF"〉〈strong〉〈big〉〈big〉〈big〉复合查询结果〈/big〉〈/big〉〈/big〉〈/strong〉〈/font〉
〈/p〉
〈p align="center"〉〈%query1=request.form("list1")
query2=request.form("list2")
query3=request.form("list3")
query4=request.form("T1")
query5=request.form("T2")
query6=request.form("T3")%〉 〈%if query1="" and query2="" and query3="" and query4="" and query5="" and query6="" then
response.write ("请输入至少一个查询条件!")
response.end
else
if query1〈〉"" then
set conn1=server.createobject("adodb.connection")
conn1.open "kc_mdb","",""
set rs1= conn4.execute("select * from teacher where teacher.教师='"&query1&"' ")%〉 〈/p〉
〈p align="left"〉〈font face="楷体_GB2312" color="#0000FF"〉〈big〉〈strong〉教师情况一览表(按照教师关键字查询的结果)〈/strong〉〈/big〉〈/p〉
〈table border="1" width="100%"〉
〈tr〉
〈td width="10%"〉〈p align="center"〉姓名〈/td〉
〈td width="7%"〉〈p align="center"〉性别〈/td〉
〈td width="8%"〉〈p align="center"〉年龄〈/td〉
〈td width="36%"〉〈p align="center"〉单位〈/td〉
〈td width="12%"〉〈p align="center"〉职称〈/td〉
〈td width="7%"〉〈p align="center"〉电话〈/td〉
〈td width="20%"〉〈p align="center"〉备注〈/td〉
〈/tr〉
〈tr〉
〈td width="10%"〉〈p align="center"〉〈%=rs1.fields("教师").value%〉〈/td〉
〈td width="7%"〉〈p align="center"〉〈%=rs1.fields("性别").value%〉〈/td〉
〈td width="8%"〉〈p align="center"〉〈%=rs1.fields("年龄").value%〉〈/td〉
〈td width="36%"〉〈p align="center"〉〈%=rs1.fields("系别").value%〉〈/td〉
〈td width="12%"〉〈p align="center"〉〈%=rs1.fields("职称").value%〉〈/td〉
〈td width="7%"〉〈p align="center"〉〈%=rs1.fields("电话").value%〉〈/td〉
〈td width="20%"〉〈p align="center"〉〈%=rs1.fields("备注").value%〉〈/td〉
〈/tr〉
〈/table〉
〈%set rs1=conn4.execute("select * from course where course.教师='"&query1&"' ")%〉
〈p align="left"〉〈font face="楷体_GB2312" color="#0000FF"〉〈big〉〈strong〉相关课程情况一览表(按照教师关键字查询的结果)〈/strong〉〈/big〉〈/p〉
〈table border="1" width="100%"〉
〈tr〉
〈td width="16%"〉〈p align="center"〉课程〈/td〉
〈td width="24%"〉〈p align="center"〉系别〈/td〉
〈td width="8%"〉〈p align="center"〉学时〈/td〉
〈td width="12%"〉〈p align="center"〉教师〈/td〉
〈td width="16%"〉〈p align="center"〉地点〈/td〉
〈td width="11%"〉〈p align="center"〉联系电话〈/td〉
〈td width="13%"〉〈p align="center"〉备注〈/td〉
〈/tr〉
〈tr〉
〈td width="16%"〉〈p align="center"〉〈%=trim(rs1.fields("课程").value)%〉〈/td〉
〈td width="24%"〉〈p align="center"〉〈%=trim(rs1.fields("系别").value)%〉〈/td〉
〈td width="8%"〉〈p align="center"〉〈%=trim(rs1.fields("学时").value)%〉〈/td〉
〈td width="12%"〉〈p align="center"〉〈%=trim(rs1.fields("教师").value)%〉〈/td〉
〈td width="16%"〉〈p align="center"〉〈%=trim(rs1.fields("地点").value)%〉〈/td〉
〈td width="11%"〉〈p align="center"〉〈%=trim(rs1.fields("联系电话").value)%〉〈/td〉
〈td width="13%"〉〈p align="center"〉〈%=trim(rs1.fields("备注").value)%〉〈/td〉
〈/tr〉
〈/table〉
〈%
rs1.close
conn1.close%〉
〈%end if%〉
〈%end if%〉
〈/body〉
〈/html〉
VBScript是在客户端运行的脚本,利用它可以很方便的与客户交互,如显示一个对话框,而这是ASP模型不具备的。两者的紧密结合使得客户端脚本的灵活性和服务器端脚本的安全性、可靠性都得到了充分的体现。
以下是一段ASP和VBScript混合编程的实例,对添加记录时记录是否重复进行了判断。
Sub Window_onload( )
〈%if Flag_Repeat=1 then%〉
ret = msgbox ("数据库中已经有相同记录!",64)
〈%else%〉
ret = msgbox ("已成功添加记录!",64)
〈%end if%〉
end sub
在未联网的单机环境中调试ASP应用程序时,Internet Explorer 无法调试包含ASP主页的Web应用程序。因此必须安装Microsoft Personal Web Server。以Win98为例,单碟的中文Win98安装盘在Win98\add-ons\pws子目录下已带了Microsoft Personal Web Server的安装程序,这是单机版的个人Web管理器。安装个人Web管理器后,在屏幕右下角的系统托盘(Systray)中可以看见一个Personal Web Server的小图标,双击此图标,呼出个人Web管理器的主界面。在个人Web管理器上的“高级”窗口中,把“高级选项”的虚拟目录定在正在开发的ASP应用程序的目录上。把“默认文档”指定为你想调试的ASP主页。这时,切换至个人Web管理器上的“主屏”窗口中,点击“发布”框中的“你的主页在:”后的“http://----”, 个人Web管理器会打开一个新的IE窗口来显示指定的ASP页面。
B. web应用开发的主流技术有哪些
web应用开发的主流技术举例(后台以最主流的java语言为例):
1、后台框架部分,SpringMVC
SpringMVC基于Java实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦;
2、数据持久层方面,MyBatis
MyBatis 持久层框架支持定制化 SQL、存储过程以及高级映射。MyBatis避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO为数据库中的记录。
3、前端js框架,vue
Vue用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。;
4、前端桌面组建库,element
Element,为开发者、设计师和产品经理准备了完善漂亮的基于 Vue 2.0 的桌面端组件库。
5、数据库层技术,jdbc
JDBC(java数据库连接)用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
6、缓存技术,redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
7、搜索引擎技术,elasticsearch
ElasticSearch基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
C. 什么是web1.0什么是web2.0有什么区别
是互联网的读者,你也应该是互联网的作者;
你不该只是在互联网上冲浪,你本身就是波浪制造者。Web 2.0 之于Web 1.0 ,如同分布式计算之于集中式计算,网格之于大型主机。
WEB2.0概念诠释
Web2.0,是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。由Web1.0单纯通过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。
Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展;由被动地接收互联网信息向主动创造互联网信息迈进!从基本构成单元上,是由“网页”向“发表/记录的信息”发展;从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展;运行机制上,由“Client Server”向“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。
总之,Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表,以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。
应用:
1、 Blog(from wiki)
历史:
Blog一词本起源于 weblog,意思是网上日志。1997年由 Jorn Barger所提出。在1998年, infosift 的编辑Jesse J. Garrett (http://www.jjg.net),将一些类似blog的网站收集起来,寄给Cameron Barrett。 Cameron随后将名单发布在CamWorld网站上,许多人亦陆续将blog的URL给Cameron,慢慢的,一个新的网络社区俨然成型。1999年,Brigitte Eaton (http://www.eatonweb.com)成立一个weblog 目录,收集她所知道的blog站。1999年,Peter Merholz (http://www.peterme.com)首次使用缩略词“blog”,成为今天常用的术语。但是,blog 真正开始快速发展的转折点,是在1999年6月,当时Pitas开始提供免费的weblog服务,紧接着8月,Pyra lab推出了现在的blogger.com。blogger.com 提供了简单易学的说明,以及能通过FTP直接将blog发表在个人网站上的功能,这带给使用者很大的方便。目前已经有了很多Blog托管服务商(BSP),业内人士对其盈利前景,持谨慎乐观态度。
Blog的特点
Blog是个人或群体以时间顺序所作的一种记录,并且不断更新。blog之间的交流主要是通过回溯引用(TrackBack)和回响/留言/评论(comment)的方式来进行的。blog的操作管理用语,也借鉴了大量档案管理用语。一个blog亦可被视为一个档案(archives),或是卷宗(fonds)。与传统档案不同的是,blog的写作者(blogger),既是这份档案的创作人(creator),也是其档案管理人(archivist)。
Blog大量采用了RSS(Really Simple Syndication或者Rich Site Summary或者RDF Site Summary)技术,所有的RSS文件都必须符合由W3C发布的XML 1.0规范。对读者来说,可以通过RSS订阅一个blog,确知该blog作者最近的更新。对Blog作者来说,RSS可以使自己发布的文章易于被计算机程序理解并摘要。
对知识管理和创造而言,blog提供了新的形态和途径。对汉语为母语的人而言,blog写作既接续了汉语笔记文学的优秀传统,更充分鼓励了个人表达。从交往形态考察,网志空间(blogosphere)设定了积极的读者、作者、编者互动转换关系,“言者互重,阅者相惜 ”。
2、 Tag (from blogbus)
什么是Tag?
Tag(标签)是一种更为灵活、有趣的日志分类方式,您可以为每篇日志添加一个或多个Tag(标签),然后您可以看到BlogBus上所有和您使用了相同Tag的日志,并且由此和其他用户产生更多的联系和沟通。不仅如此,我们还通过与Technorati的合作,把您的Tag发送到全球Blog空间,和全世界的人们共同分享。
Tag体现了群体的力量,使得日志之间的相关性和用户之间的交互性大大增强,可以让您看到一个更加多样化的世界,一个关联度更大的Blog空间,一个热点实时播报的新闻台。Tag为您提供前所未有的网络新体验……
当然,您也可以简单地把一个Tag(标签)理解为一个日志分类,但是Tag和分类的不同之处也很明显:
首先,分类是您在写日志之前就定好的,而Tag是在您写完日志之后再添加的;
其次,您可以同时为一篇日志贴上好几个Tag(标签),方便自己随时查找,而原先一篇日志只能有一个分类;
再次,当您积累了一定数量的Tag之后,您可以看看自己在Blog中最经常写的是哪些话题;
最后,您可以看到有哪些人和自己使用了一样的Tag(标签),进而找到和您志趣相投的Blogger。
举一个例子,比如说:您写了一篇到西湖旅游的日志,原来您都是把这一类的日志放到自己的“驴行天下”分类下,但是有了Tag之后,您可以给这篇日志同时加上“旅游”、“杭州”、“西湖”、“驴行天下”等几个Tag,当浏览者点击其中任何一个Tag,他都可以看到您的这篇日志。同时您自己也可以通过点击这几个Tag,看看究竟有谁最近也去了杭州旅游,或许你们还可以交流一下旅游心得,成为下一次出游的伙伴呢!
3、 SNS
Social Network Service,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。
SNS网站,就是依据六度理论建立的网站,帮你运营朋友圈的朋友。
4、 RSS(from wiki)
RSS是一种用于共享新闻和其他Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个:
Really Simple Syndication(真正简单的整合)
RDF (Resource Description Framework) Site Summary
Rich Site Summary(丰富站点摘要)
但其实这三个解释都是指同一种Syndication的技术。
目前RSS规范的主要版本有0.91、1.0和2.0。
0.91版和1.0版完全不同,风格不同,制定标准的人也不同。0.91版和2.0版一脉相承。1.0版更靠拢XML标准。
RSS目前广泛用于blog、wiki和网上新闻频道,世界多数知名新闻社网站都提供RSS订阅支持。
5、 Wiki(from wiki)
Wiki一词源自夏威夷语的“wee kee wee kee”,本是“快点快点”之意。在这里Wiki指的是一种超文本系统。这种超文本系统系支持那些面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。有人认为,Wiki系统属于一种人类知识的网路系统,我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且这种创建、更改、及发布的代价远比HTML文本小;与此同时Wiki系统还支持那些面向社群的协作式写作,为协作式写作提供了必要的帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供了简单的交流工具。与其它超文本系统相比,Wiki有使用简便且开放的优点,所以Wiki系统可以帮助我们在一个社群内共用某个领域的知识。
Wiki起源
1995年沃德?坎宁安(Ward Cunningham)为了方便模式社群的交流创建了全世界第一个wiki系统-WikiWikiWeb,并用它建立了波特兰模式知识库(Portland Pattern Repository)。在建立这个系统的过程中,沃德?坎宁安创造了Wiki的概念和名称,并且实现了支持这些概念的服务系统。这个系统是最早的Wiki系统。从1996年至2000年间,波特兰模式知识库围绕着面向社群的协作式写作,不断发展出一些支持这种写作的辅助工具,从而使Wiki的概念不断得到丰富。同时Wiki的概念也得到了传播,出现了许多类似的网站和软体系统。
Wiki的历史不长,无论是Wiki概念本身,还是相关软体系统的特性,都还在热烈的讨论中;所以怎样的一个站点才能称得上是一个Wiki系统还是有争议的。与Wiki相关新近出现的技术还有blog,它们都降低了超文本写作和发布的难度。这两者都是同内容管理系统密切相关的。
Wiki的特点
使用方便
维护快捷:快速创建、存取、更改超文本页面(这也是为什么叫作 "wiki wiki" 的原因)。
格式简单:用简单的格式标记来取代 HTML 的复杂格式标记。(类似所见即所得的风格)
链接方便:通过简单标记,直接以关键字名来建立链接(页面、外部连接、图像等)。
命名平易:关键字名就是页面名称,并且被置于一个单层、平直的名空间中。
可增长
可增长:页面的链接目标可以尚未存在,通过点击链接,我们可以创建这些页面,从而使系统得以增长。
修订历史:记录页面的修订历史,页面的各个版本都可以被获取。
开放性
开放的:社群内的成员可以任意创建、修改、或删除页面。
可观察:系统内页面的变动可以被来访者清楚观察得到。
由于Wiki的自组织,可增长以及可观察的特点,使Wiki本身也成为一个网路研究的对象。对Wiki的研究也许能够让人们对网路的认识更加深入
理论和技术:
1、 六度关系理论
目前流行的“六度分隔”理论是20世纪60年代由美国的心理学家米格兰姆(Stanley Milgram)提出的,这个理论可以通俗地阐述为: 最多通过六个人你就能够认识任何一个陌生人。“六度分隔”成为人际关系世界中无可否认而又令人震惊的特征,许多社会学上的深入研究也给出令人信服的证据,说明这一特征不只是特例,在一般情形下也存在。 最近,美国哥伦比亚大学社会学系的瓦茨教授领导的EMAIL试验也再次证明了这一人际关系世界中惊人的规律。然而,在现实世界中,六十亿人怎么可能真的构成如此紧密的相互关联呢?是互联网使一切成为现实。
2、 Xml
XML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。
3、 AJAX
Ajax并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。Ajax混合了:
* 基于XHTML/CSS
* 由DOM(Document Object Model)实现动态显示与交互
* 通过XML和XSLT进行数据交换及处理
* 使用JavaScript整合上述技术
直观一点的说Ajax能够实现不刷新浏览器窗口(当然更不用安装额外的插件)而满足用户的操作,现在一些看上去很Cool的网站,很多是用这项技术实现的,其中包括:orkut、Gmail、Google Group、Google Suggest、Google Maps、Flickr、A9.com等。2SIMPLE的Co-mment系统虽然没有用到XML/XSLT,其理念已经暗合容Ajax,实现了不刷新网页提供动态内给用户。
现有的产品:
Wiki网络、Wallop 、yahoo360 、openbc 、 cyworld 、43things 、 flickr、 del.icio.us、 cragslist 、glob 、客齐集、 friendster 、 linkin 、UU通 、 优友 、 天际网 、爱米网 、linkist 、新浪点点通、skype、亿友、cyworld
现在说说web2.0的具体应用。
历史很重要。对一个技术的学习也应当从历史出发,通过其在时间形成历史的流变,得以知晓现状,甚至能够预知未来。
那Web 1.0是什么呢?
他们说,记得静态HTML的WWW时代么?
(那个时代的WWW应用、人们的Web体验、对社会的影响如何?)
那么动态HTML和静态HTML下的Web相比,是多少版本?1.5?对了,他们是真这么叫的。
(在效果和影响上,与1.0相比,扩展和加深多少?)
要呈现的数据存储在数据库中,通过Web服务端的程序,应用户的请求,取出数据,加上事先设计的模板,动态的生成Html代码,发送到用户的浏览器那里。
他是1.0系列,应为用户在浏览器中所见和Web 1.0一样,它有0.5的升级,因为数据不是事先制作并发布,而是动态生成,和用户的需要交互生成。
那好,在加0.5,到Web 2.0,变化是在哪里呢?
(看到了正在崛起的和改变的,会继续朝着什么方向改变互联网和社会呢?)
更新:关于各个版本的差别,看看亚马逊的例子。
事情没有那么幸运,Web 2.0并不是一个具体的事物,而是一个阶段,是促成这个阶段的各种技术和相关的产品服务的一个称呼。所以,我们无法说,Web 2.0是什么,但是可以说,那些是Web 2.0。
WikiPedia的Web 2.0条目下列出了这些条件:
* CSS 和语义相关的 XHTML 标记
* AJAX 技术
* Syndication of data in RSS/ATOM
* Aggregation of RSS/ATOM data
* 简洁而有意义的 URLs
* 支持发布为 weblog
* RESTian (preferred) 或者 XML Webservice APIs
* 一些社会性网络元素
必须具备的要素有:
* 网站应该能够让用户把数据在网站系统内外倒腾。
* 用户在网站系统内拥有自己的数据
* 完全基于Web,所有的功能都能透过浏览器完成。
(以上内容引用自英文版维基网络)
虽然这只是一家之言,不过,对于其中谈到的几个要素,大家还是公认的。
- 基于RSS/ATOM/RDF/FOAF等XML数据的同步、聚合和迁移。
数据不再和页面和网站混粘在一起,它独立了,它跟着用户走。这是Web 2.0的很重要特征。这也是为什么Blog是Web 2.0的代表的原因。在网志上,常主角的是相互独立的一则则的网志。
独立,然后有物理表现。现在,就能让他们活跃起来。透过对XML数据的处理,这些内容能被自由的组合,被各种应用程序,不论是Web程序还是桌面程序等呈现和处理。
(更新:参看商业周刊的All Your Info in One Place)
当然,最重要的是背后的人。
- 社会性因素。
内容跟着人走,内容又能够被用户自由的组合,也就是说,用户能够自由的借助内容媒介,创建起一个个的社群,发生各种社会性的(网络)行为。
此外还有标签以及建立在开放标签系统之上的Folksonomy。
- 第三个公认的因素是开放API,这个技术性稍强些,得另花时间研习,可以先看看例子:amazon、flickr、google map等。
(Web 2.0是个大筐,装了好多东西)
从Web应用的产品/服务生产者角度来说,该如何创建Web 2.0的产品呢?
重要的是要抓住这么几点,一个是微内容(这里有定义),一个是用户个体。除了这两个最基本的之外,还可以考虑社群内的分享以及提供API。
微内容:英文是microcontent。用户所生产的任何数据都算是微内容,比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要去的地方、新的朋友等等。这些微内容,充斥着我们的生活、工作和学习,它的数量、重要性,还有我们对它的依赖,并不亚于那些道貌岸然、西装革履的正统文章、论文、书籍。
对微内容的重新发现和利用,是互联网所开创的平等、***、自由风气的自然衍生,也是互联网相关技术消减信息管理成本之后的一个成果。
我们每天都生产众多的微内容,也消费着同样多的微内容。对于Web 2.0来说,如何帮助用户管理、维护、存储、分享、转移微内容,就成了关键。
用户个体。对于Web 1.0的典型产品/服务来说,用户没有具体的面貌、个性,它只是一个模糊的群体的代名词而已。但是对于Web2.0的产品和服务来说,用户是个实实在在的人。Web 2.0所服务的,是具体的人,而不是一个如同幽灵般的概念。并且,这个人的具体性,会因为服务本身而不断地充实起来。
如何为这个具体的个体服务,是Web 2.0设计的起点。
因此,一类可以被称作Web 2.0的产品/服务将是这样:
服务于用户个体的微内容的收集、创建、发布、管理、分享、合作、维护等的平台。
这是表。
里呢,恐怕就设计到好些人提到的,微内容的XML表现;微内容的聚合;微内容的迁移;社会性关系的维护;界面的易用性等等。
其质,是否就是开源、参与、个人价值、草根、合作等等?
Web2.0是许多方面起头并进又相互牵连的一个新的阶
D. web页面可以从一个连接到另一个,主要用的是什么来转移的
Web页面可以从一个连接到另一个上,主要应用的是HTML中的超链接来转移。
E. 计算机二级考试 web程序设计考些什么需要学习哪些编程语言javascript是什么跟java什么关系
二级WEB程序设计考试大纲
一、基本要求
1. 掌握Web工作原理,了解Web技术基础知识,熟悉IIS的管理;
2. 掌握静态网页设计技术,熟练掌握网页的HTML代码编写;
3. 熟练掌握一种脚本语言(VBScript或JavaScript)的编程方法,具有较强的客户端动态设计的能力;
4. 熟练掌握ASP工作原理和ASP编程方法,具有较强的服务器端动态设计的能力;
5. 熟悉数据库的操作和SQL语言的运用,熟练掌握ADO工作原理,熟练运用ADO进行数据库的管理;
6. 基本具有小型Web应用系统的综合设计能力。
二、考试范围
(一)Web技术基础
1. Web工作原理:WWW概念和标准、W3C、Web客户端和Web浏览器、Web服务器端和Web服务器;
2. TCP/IP协议、IP地址和域名服务;
3. HTTP和URL: HTTP工作过程、HTTP Request、HTTP Response,URL;
4. IIS的安装、配置和管理;
5. 站点的规划、设计、发布和管理。
(二)静态网页设计
1.静态网页开发技术:页面设计原则、可视化页面设计工具(FrontPage或DreamWeaver)的运用;
2.HTML代码:HTML基本语法、HTML常用标签;
3.XML、DHTML、XHTML。
(三)脚本语言和程序设计(脚本语言任选一种)
1.VBScript:VBScript语法、VBScript数据类型、变量、常
量、数组、运算符、表达式、内部函数、程序控制结构、Sub过程、Function函数,VBScript嵌入HTML;
2.JavaScript:JavaScript语法、JavaScript数据类型及类型转换、变量、数组、操作符、表达式、函数、程序控制结构,JavaScript事件;JavaScript内置对象,对象层次及DOM模型,JavaScript嵌入HTML;
(四)服务器端动态设计
1.ASP工作原理;
2. ASP编程:ASP文件的建立与运行,Response对象、Request
对象、Session对象、Application对象、Server对象、使用Form集合、使用QueryString集合、使用Cookies集合、使用Clinet Certificate集合、文件存取组件FileSystemObject、 a文件;
3.CGI、PHP、JSP的工作原理。
(五)Web数据库应用
1.Access数据库和SQL Server数据库的应用:数据库的建
立、数据表的建立、数据的输入、修改、查询和删除等操作;
2.SQL语言的应用:Select语句查询记录、Insert语句插入
记录、Update语句修改记录、Delete语句删除记录;
3.ODBC数据源的配置与管理:ODBC的概念、ODBC驱动程序、
ODBC数据源的建立、ODBC数据源的配置与管理;
4.ADO访问数据库:ADO工作原理,与ACCESS数据库的连接、
与SQL Server数据库的连接,ADO的Connection对象、ADO的Recordset对象、ADO的Command对象;
5.小型Web应用系统的综合设计
F. 求一篇基于web的数据库设计社会实践调查报告
《基于web的数据库设计实践》
The Database Design Based On WEB Used In Remote Concurrent Design
Abstract: the paper analyses the database characteristics used in the remote concurrent proct design system based on Internet, deeply researches the database structure, interface and the method of the data safety.
Keywords: Internet, remote concurrent design, database based on Web
近年来,随着Web技术的蓬勃发展,人们已不满足于只在浏览器上获取静态的信息,想要通过它发表意见、查询数据。随着电子商务的普及人们开始参与一些网络商务活动,这就迫切需要实现Web与数据库的互连[1]。产品异地并行设计对数据的要求有一定的特殊性,主要有(1)产品数据多种多样。产品设计,特别是机械产品设计常常是大型而又复杂,在异地通过不同的设计小组,按不同的分工设计同一产品,所要管理和通讯的数据类型随着分工的不同而有不同的表现形式,如常规的数字组成的数据集,以图形、图象形式表达的产品模型数据,以文字形式描述设计的文档,还有图表、公式等形式,复杂多样。(2)产品数据交换频繁,流量大。产品设计是一个协同工作的创造性集体智慧凝聚的过程,要使设计顺利进行,分布在异地的不同设计小组之间就要经常性地进行数据交换,并且有些形式表达的产品数据是较大的文件。(3)产品数据的一致性要求高。分工合作的不同设计小组之间的设计任务是彼此关联,互相依赖的。如果其中一个数据改变了,相关联的数据必须跟着改变,在Web数据库设计时必须考虑数据的一致性问题。(4)产品数据的并发性访问频繁。由于异地产品设计的特殊属性,数据的并发性访问非常频繁。所以,进行基于Internet的产品异地并行设计的Web数据库设计与一般的电子商务不同,要充分考虑以上属性。本文结合我们近期开发的机械产品异地并行设计系统(RCDS, Remote Concurrent Design System),综合比较了多种当今流行的网络数据存取技术,设计出可靠安全的数据库系统。
1 Web数据库连接方案
1.1数据库连接方案选择
RDO、DAO和ADO是比较常见的Web数据库访问技术。
DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口,它含有 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 象连接到其他数据库一样,直接访问到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用,对大范围的异地并行设计显得功能不够强大。
RDO (Remote Data Objects) 远程数据对象是一个到 ODBC 的、面向对象的数据访问接口,它同易于使用的 DAO style组合在一起,提供了一个接口,形式上展示出所有 ODBC 的底层功能和灵活性。RDO 在访问 Jet 或 ISAM 数据库方面有一定的限制,而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多 SQL Server、Oracle
以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。对异地并行设计Web数据库来说也不是十分理想。
ADO(ActiveX Data Objects)为ActiveX组件中数据库访问组件,ASP就是通过它实现对数据库的访问。ADO 是 DAO、RDO 的后继产物。ADO 2.0在功能上与 RDO 更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO “扩展”了 DAO 和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。例如,ADO 没有与 rdoEngine 和 rdoEnvironment 对象相等同的对象,可以包含 ODBC 驱动程序管理器和 hEnv 接口。尽管事实上接口可能是通过 ODBC OLE DB 服务提供程序实现的,但目前也不能从 ADO 中创建 ODBC 数据源。ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。同时 ADO 使用了与 DAO和 RDO相似的约定和特性,简化的语义使它更易于学习。
ADO最早是在IIS中引入的,主要用于ASP,用ADO可以使服务器端的脚本通过ODBC存取和操纵数据库服务器的数据。使用ADO的对象可以建立和管理数据库的连接,从数据库服务器请求和获取数据,执行更新、删除、添加数据、获取ODBC的错误信息等。ADO是ASP方案中最具吸引力的数据库连接控件,它为用户提供了连接任何兼容ODBC的数据库以及创建全功能数据库应用程序的能力。
ADO具有简单易用、高速、占用资源少等的优点。不同于DAO和RDO,ADO有着更高的执行效率。ADO 对象模型如图1a所示。每个 Connection、Command、Recordset 和 Field 对象都有 Properties 集合,如图1b所示。
a) b)
图1 ADO对象模型及属性
应该说,ADO是微软的下一代数据库连接技术,用来全面取代RDO和DAO的数据访问工具。从发展趋势来看,ADO今后将逐步替代老的DAO特别是RDO数据访问接口,成为新的远程数据访问方法。所以,选择ADO作为产品异地并行设计的Web数据库接口技术是合适的。
1.2 ADO应用分析
ADO 并不是自动和现存的数据访问应用程序代码兼容的。当 ADO 封装 DAO 和 RDO 的功能性的时候,必须将许多语言要素转换为 ADO 语法。在某些情况下,这将意味着要对现存代码的某些功能做一个简单转换。在其他情况下,最佳的做法可能是用 ADO 的新功能重写该应用程序。
包含在 DAO 和 RDO 模型中的许多功能被合并为单个对象,这样就生成了一个简单得多的对象模型。然而,由于这个原因,起初可能会觉得找到合适的 ADO 对象、集合、属性、方法,或事件非常困难。与 DAO 和 RDO不同的是,尽管 ADO 对象是分层结构的,但在分层结构范围之外也是可以创建的。同时,也应当注意,ADO 当前并不支持 DAO 的所有功能。ADO 主要包括 RDO 风格的功能性,以便和 OLE DB 数据源交互,另外还包括远程和 DHTML 技术。
一般说来,在 ADO 的演化过程中,马上把大多数 DAO 应用程序(except possibly是那些使用 ODBCDirect 的应用程序)移植到 ADO 上为时太早,因为当前的 ADO 并不支持数据定义 (DDL)、用户、组等等。不过,如果只将 DAO 用于客户—服务器应用程序,并不依赖于 Jet 数据库引擎或不使用 DDL,那么就可能移植到 ADO。最终,Microsoft 将提供一个 ADO DDL 组件来帮助进行 DAO 到 ADO 的移植,并为 OLE DB 供应商提供一般的 DDL 支持。
在ASP中使用ADO技术来访问Web数据库,其应用前景是无可估量的。原理图如下:
图2 ADO在ASP程序中的应用
2 Web数据库管理系统
常见的数据库类型有面向对象的数据库(OODB)和关系型数据库。OODB对主流数据库应用开发来说是相当新颖的,使用OODB使应用程序中的数据对象与现实世界中的对象一一对应,面向对象数据库扩充了对象模型。一个常用的对象模型是由对象数据库管理组(ODMG)开发出来,具有比传统的关系数据库更优越的性能,但毕竟在目前还是一种探索阶段,暂时还未有相应的技术普及。
关系数据库已经是数据库体系的世界标准。当开发一个数据驱动应用程序时,大多数情况下用户需要访问网络(如Internet、Intranet等)上的数据信息,就RCDS就是建立在网络的信息通讯之上,是完全的客户机/服务器应用程序。
SQL Server是一个可缩放、高性能的关系型数据库管理系统(RDBMS),它的设计是为了满足分布式客户/服务器计算的需要,允许客户应用程序使用几个特定的工具和技术控制从服务器检索的数据。这些包括触发器、存储过程和规则的选项。因此,系统采用MS SQL Server7.0作为后台数据库。
3 Web数据库结构
数据模型通常有层次模型、网状模型、关系模型及OO(面向对象)模型等。其中关系模型是建立在数学概念基础之上的一种模型,由若干个关系框架组成的集合,它也是到目前为止最为成熟的一种数据库类型。本文RCDS采用MS SQL Server作为后台数据库,根据数据库工具和数据库特点,开发出一套可靠健壮的数据存储方案。
整个数据库共有AdminData、ChatNames、DesignUnits、Message、OnlineUnits、Procts、RqtTasks、RqtTaskUnits、RqtDesignUnits、ShareData、Tasks、TaskUnits和UploadFiles等表格。在建立数据模型的时候首先考虑是要避免重复数据,也就是建立规范化数据库。规范化数据库可以通过被称为范式水平的指标来衡量,级别有第一范式、第二范式和第三范式,通常第三范式就是要达到的目标,因为它提供了数据冗余和开发简易性之间的最好折衷。
RCDS数据库正是按照第三范式标准来设计的,它保证了模型的精简和表格的紧凑性。而第三范式标准也最大发挥了关系数据库的优势,图3是部分表格的视图链接情况。
图3 关系表格视图
4.1 并发控制的处理
在多个用户同时访问一个数据库时就产生并发问题,特别是在其中一些用户对数据库有添加或删除修改等操作时,那么其他所获得的数据可能是一塌糊涂,甚至造成整个数据访问的冲突、终止,从而使系统发生混乱以至崩溃。RCDS采用的解决办法是锁定技术,总体上分为共享锁定和排它锁定两种类型(如图4)。前者是指同时有几个过程共享一个锁定,比如一个用户(或客户)正在读取一个数据,虽然在这之前他已经对该数据设置了锁(LOCK),但其他用户同样可以(也只能是)读取它。而排他锁定一般应用于对数据进行修改或更新(包括添加删除等)操作,即是用户在修改一个数据之前设置了锁定,在一定的时间里其他用户是不能访问到该数据的,只有等待锁定解除(UNLOCK)才能进行访问到它,当然在计算机处理的时候,其他的用户一般是感觉不到有这个等待时间的。通过这样的处理,就保证了数据的一致性。
a) 共享锁定
b) 排它锁定
图4 安全锁定类型
在ADO进行数据库操作时,它的锁定类型相对来说复杂一些。打开记录集时,可以指定锁定类型。锁定类型决定了当不止一个用户同时试图改变一个记录时,数据库应如何处理。ADO中的锁定主要有以下四种类型:
l AdLockReadOnly 指定你不能修改记录集中的记录
l AdLockPessimistic 指定在编辑一个记录时,立即锁定它
l AdLockOptimstic 指定只有调用记录集的Update方法时,才锁定记录
l AdLockBatchOptimstic 指定记录只能成批地更新
在缺省情况下,记录集使用只读锁定。要指定不同的锁定类型,可以在打开记录集时包含这些锁定常量之一。部分代码如下:
… …
Set MyConn=Sever.CreateObject(“ADODB.Connection”)
//定义数据库连接MyConn
Set RS=Sever.CreateObject(“ADODB.RecordSet”)
//定义返回数据记录集
MyConn.Open “ByktDB.dsn”//建立应用程序与数据源的连接
RS.Open “SELECT * FROM Mytable”, MyConn, adOpenDynamic, adLockPessimistic
//进行数据库操作,并且设置锁定
RS.Close
MyConn.Close
… …
4.2产品数据一致性处理
数据的安全因素除了前面所提到的并行控制之外,还要考虑事务处理。网络数据库有其不同的地方,例如:假设某个时间有一个设计人员在你的站点上索取一些设计信息,有关的设计信息存储在两个表中。一个表用来保存该设计者的信息,另一个表包含了要索取的设计信息。该设计人员的信息已经输入了第一个表中。但是,就在这时,发生了意外情况,一道闪电击中了你的服务器,使第二个表没有被更新。在这种情况下,一个健壮的系统就必须保证最后的结果是两个表都没有被更新过。这时候事务处理就发挥了重要的功效。
使用事务处理,你可以防止第二个表没有被更新而第一个表被更新的情况出现:当一组语句构成一个事务处理时,如果一个语句没有执行成功,则所有的语句都不成功。不管是针对多个表,还是进行表内多个记录的操作,它们所需要的安全保证是一样的。事务处理的实现代码如下:
… …
Set MyConn=Sever.CreateObject(“ADODB.Connection”)
MyConn.Open “ByktDB.dsn”
MyConn.BeginTrans //事务处理开始
MyConn.Execute “INSERT DataTable(Num) Values(‘3628’)”
MyConn.Execute “INSERT Shipping (Address) VALUES(‘Paris,France’)”
MyConn.CommitTrans //事务处理结束
MyConn.Close
… …
在上面这段代码中,用BeginTrans方法和CommitTrans方法来标记事务处理的开始和结束。在BeginTrans方法被调用之后,CommitTRans方法被调用之前,不管出现什么错误,两个表都不会被更新,在这个过程中所有处理的数据都保持了完全可靠的一致性。
G. 简述web技术的结构
它是超级文本的简称。 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性把它称为Web。 三、超文本传输协议(HTTP) Hypertext Transfer Protocol超文本在互联网上的传输协议。 当你想进入万维网上一个网页, 或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(UniformResourceLocator),或者通过超链接方式链接到那个网页或网络资源。这之后的工作首先是URL的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。 接下来的步骤是为所要访问的网页,向在那个IP地址工作的服务器发送一个HTTP请求。在通常情况下,HTML文本、图片和构成该网页的一切其他文件很快会被逐一请求并发送回用户。 网络浏览器接下来的工作是把HTML、CSS和其他接受到的文件所描述的内容,加上图像、链接和其他必须的资源,显示给用户。这些就构成了你所看到的“网页”。 大多数的网页自身包含有超链接指向其他相关网页,可能还有下载、源文献、定义和其他网络资源。像这样通过超链接,把有用的相关资源组织在一起的集合,就形成了一个所谓的信息的“网”。这个网在因特网上被方便使用,就构成了最早在1990年代初蒂姆·伯纳斯-李所说的万维网。 传统的Web数据库系统体系结构 传统的Web数据库系统一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。通过Web服务器返回给Web浏览器。最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。 (一)、基于通用网关接口CGI CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C、VB和Delphi等。 从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。再由Web服务器返回给Web浏览器。这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。 基于Web的数据库访问利用已有的信息资源和服务器。其访问频率大,尤其是热点数据。但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。 (二)、基于服务器扩展的API 为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。 服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。目前主要的WWWAPI有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。而NSAPI同ISAPI一样,给WWW开发人员定制了NetscapeWWW服务器基本服务的功能。开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。 虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口;②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。 (三)、基于JDBC的Web数据库技术 Java的推出,使WWW页面有了活力和动感。Internet用户可以从WWW服务器上下载Java小程序到本地浏览器运行。这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。而最初的Java语言并没有数据库访问的功能,随着应用的深入,要求Java提供数据库访问功能的呼声越来越高。为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指定了JDBC,作为Java语言的数据库访问API。 采用JDBC技术,在JavaApplet中访问数据库的优点在于:直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案。从而克服了API方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声音、视频等多媒体信息功能。 JDBC是用于执行SQL语句的Java应用程序接口API,由Java语言编写的类和接口组成。Java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句,同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。所有这些工作都建立在X/Open SQL CLI基础上。JDBC的主要任务是定义一个自然的Java接口来与X/OpenCLI中定义的抽象层和概念连接。JDBC的两种主要接口分别面向应用程序的开发人员的JDBC API和面向驱动程序低层的JDBC DriverAPI。JDBC完成的工作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。
H. Web数据挖掘技术探析论文
Web数据挖掘技术探析论文
在日复一日的学习、工作生活中,大家或多或少都会接触过论文吧,论文对于所有教育工作者,对于人类整体认识的提高有着重要的意义。那么你知道一篇好的论文该怎么写吗?以下是我收集整理的Web数据挖掘技术探析论文,供大家参考借鉴,希望可以帮助到有需要的朋友。
Web数据挖掘技术探析论文 篇1
引言
当前,随着网络技术的发展和数据库技术的迅猛发展,有效推动了商务活动由传统活动向电子商务变革。电子商务就是利用计算机和网络技术以及远程通信技术,实现整个商务活动的电子化、数字化和网络化。基于Internet的电子商务快速发展,使现代企业积累了大量的数据,这些数据不仅能给企业带来更多有用信息,同时还使其他现代企业管理者能够及时准确的搜集到大量的数据。访问客户提供更多更优质的服务,成为电子商务成败的关键因素,因而受到现代电子商务经营者的高度关注,这也对计算机web数据技术提出了新的要求,Web数据挖掘技术应运而生。它是一种能够从网上获取大量数据,并能有效地提取有用信息供企业决策者分析参考,以便科学合理制定和调整营销策略,为客户提供动态、个性化、高效率服务的全新技术。目前,它已成为电子商务活动中不可或缺的重要载体。
计算机web数据挖掘概述
1.计算机web数据挖掘的由来
计算机Web数据挖掘是一个在Web资源上将对自己有用的数据信息进行筛选的过程。Web数据挖掘是把传统的数据挖掘思想和方法移植到Web应用中,即从现有的Web文档和活动中挑选自己感兴趣且有用的模式或者隐藏的数据信息。计算机Web数据挖掘可以在多领域中展示其作用,目前已被广泛应用于数据库技术、信息获取技术、统计学、人工智能中的机器学习和神经网络等多个方面,其中对商务活动的变革起到重大的推动作用方面最为明显。
2.计算机Web数据挖掘含义及特征
(1)Web数据挖掘的含义
Web数据挖掘是指数据挖掘技术在Web环境下的应用,是一项数据挖掘技术与WWW技术相结合产生的新技术,综合运用到了计算机语言、Internet、人工智能、统计学、信息学等多个领域的技术。具体说,就是通过充分利用网络(Internet),挖掘用户访问日志文件、商品信息、搜索信息、购销信息以及网络用户登记信息等内容,从中找出隐性的、潜在有用的和有价值的信息,最后再用于企业管理和商业决策。
(2)Web数据挖掘的特点
计算机Web数据挖掘技术具有以下特点:一是用户不用提供主观的评价信息;二是用户“访问模式动态获取”不会过时;三是可以处理大规模的数据量,并且使用方便;四是与传统数据库和数据仓库相比,Web是一个巨大、分布广泛、全球性的信息服务中心。
(3)计算机web数据挖掘技术的类别
web数据挖掘技术共有三类:第一类是Web使用记录挖掘。就是通过网络对Web日志记录进行挖掘,查找用户访问Web页面的模式及潜在客户等信息,以此提高其站点所有服务的竞争力。第二类是Web内容挖掘。既是指从Web文档中抽取知识的过程。第三类是Web结构挖掘。就是通过对Web上大量文档集合的内容进行小结、聚类、关联分析的方式,从Web文档的组织结构和链接关系中预测相关信息和知识。
计算机web数据挖掘技术与电子商务的关系
借助计算机技术和网络技术的日臻成熟,电子商务正以其快速、便捷的特点受到越来越多的企业和个人的关注。随着电子商务企业业务规模的不断扩大,电子商务企业的商品和客户数量也随之迅速增加,电子商务企业以此获得了大量的数据,这些数据正成为了电子商务企业客户管理和销售管理的重要信息。为了更好地开发和利用这些数据资源,以便给企业和客户带来更多的便利和实惠,各种数据挖掘技术也逐渐被应用到电子商务网站中。目前,基于数据挖掘(特别是web数据挖掘)技术构建的电子商务推荐系统正成为电子商务推荐系统发展的一种趋势。
计算机web数据挖掘在电子商务中的具体应用
(1)电子商务中的web数据挖掘的过程
在电子商务中,web数据挖掘的过程主要有以下三个阶段:既是数据准备阶段、数据挖掘操作阶段、结果表达和解释阶段。如果在结果表达阶段中,分析结果不能让电子商务企业的决策者满意,就需要重复上述过程,直到满意为止。
(2)Web数据挖掘技术在电子商务中的应用
目前,电子商务在企业中得到广泛应用,极大地促进了电子商务网站的兴起,经过分析一定时期内站点上的用户的访问信息,便可发现该商务站点上潜在的客户群体、相关页面、聚类客户等数据信息,企业信息系统因此会获得大量的数据,如此多的数据使Web数据挖掘有了丰富的数据基础,使它在各种商业领域有着更加重要的.实用价值。因而,电子商务必将是未来Web数据挖掘的主攻方向。Web数据挖掘技术在电子商务中的应用主要包含以下几方面:
一是寻找潜在客户。电子商务活动中,企业的销售商可以利用分类技术在Internet上找到潜在客户,通过挖掘Web日志记录等信息资源,对访问者进行分类,寻找访问客户共同的特征和规律,然后从已经存在的分类中找到潜在的客户。
二是留住访问客户。电子商务企业通过商务网站可以充分挖掘客户浏览访问时留下的信息,了解客户的浏览行为,然后根据客户不同的爱好和要求,及时做出让访问客户满意的页面推荐和专属性产品,以此来不断提高网站访问的满意度,最大限度延长客户驻留的时间,实现留住老客户发掘新客户的目的。
三是提供营销策略参考。通过Web数据挖掘,电子商务企业销售商能够通过挖掘商品访问情况和销售情况,同时结合市场的变化情况,通过聚类分析的方法,推导出客户访问的规律,不同的消费需求以及消费产品的生命周期等情况,为决策提供及时而准确的信息参考,以便决策者能够适时做出商品销售策略调整,优化商品营销。
四是完善商务网站设计。电子商务网站站点设计者能够利用关联规则,来了解客户的行为记录和反馈情况,并以此作为改进网站的依据,不断对网站的组织结构进行优化来方便客户访问,不断提高网站的点击率。
结语
本文对Web数据挖掘技术进行了综述,讲述了其在电子商务中广泛应用。可以看出,随着计算机技术和数据库技术快速发展,计算机Web数据技术的应用将更加广泛,Web数据挖掘也将成为非常重要的研究领域,研究前景巨大、意义深远。目前,我国的Web数据应用还处于探索和起步阶段,还有许多问题值得深入研究。
Web数据挖掘技术探析论文 篇2
摘要: 该文通过介绍电子商务及数据挖掘基本知识,分别从几个方面分析了电子商务中WEB数据挖掘技术的应用。
关键词: 电子商务;数据挖掘;应用
1概述
电子商务是指企业或个人以网络为载体,应用电子手段,利用现代信息技术进行商务数据交换和开展商务业务的活动。随着互联网的迅速发展,电子商务比传统商务具有更明显的优势,由于电子商务具有方便、灵活、快捷的特点,使它已逐渐成为人们生活中不可缺少的活动。目前电子商务平台网站多,行业竞争强,为了获得更多的客户资源,电子商务网站必须加强客户关系管理、改善经营理念、提升售后服务。数据挖掘是从数据集中识别出隐含的、潜在有用的、有效的,新颖的、能够被理解的信息和知识的过程。由数据集合做出归纳推理,从中挖掘并进行商业预判,能够帮助电子商务企业决策层依据预判,对市场策略调整,将企业风险降低,从而做出正确的决策,企业利润将最大化。随着电子商务的应用日益广泛,电子商务活动中会产生大量有用的数据,如何能够数据挖掘出数据的参考价值?研究客户的兴趣和爱好,对客户分门别类,将客户心仪的商品分别推荐给相关客户。因此,如何在电子商务平台上进行数据挖掘成为研究的热点问题。
2数据挖掘技术概述
数据挖掘(DataMining),也称数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD)。数据挖掘一般是指从海量数据中应用算法查找出隐藏的、未知的信息的过程。数据挖掘是一个在大数据资源中利用分析工具发现模型与数据之间关系的一个过程,数据挖掘对决策者寻找数据间潜在的某种关联,发现隐藏的因素起着关键作用。这些模式是有潜在价值的、并能够被理解的。数据挖掘将人工智能、机器学习、数据库、统计、可视化、信息检索、并行计算等多个领域的理论与技术融合在一起的一门多学科交叉学问,这些学科也对数据挖掘提供了很大的技术支撑。
3Web数据挖掘特点
Web数据挖掘就是数据挖掘在Web中的应用。Web数据挖掘的目的是从万维网的网页的内容、超链接的结构及使用日志记录中找到有价值的数据或信息。依据挖掘过程中使用的数据类别,Web数据挖掘任务可分为:Web内容挖掘、Web结构挖掘、Web使用记录挖掘。
1)Web内容挖掘指从网页中提取文字、图片或其他组成网页内容的信息,挖掘对象通常包含文本、图形、音视频、多媒体以及其他各种类型数据。
2)Web结构挖掘是对Web页面之间的结构进行挖掘,挖掘描述内容是如何组织的,从Web的超链接结构中寻找Web结构和页面结构中的有价值模式。例如从这些链接中,我们可以找出哪些是重要的网页,依据网页的主题,进行自动的聚类和分类,为了不同的目的从网页中根据模式获取有用的信息,从而提高检索的质量及效率。
3)Web使用记录挖掘是根据对服务器上用户访问时的访问记录进行挖掘的方法。Web使用挖掘将日志数据映射为关系表并采用相应的数据挖掘技术来访问日志数据,对用户点击事件的搜集和分析发现用户导航行为。它用来提取关于客户如何浏览和使用访问网页的链接信息。如访问了哪些页面?在每个页面中所停留的时间?下一步点击了什么?在什么样的路线下退出浏览的?这些都是Web使用记录挖掘所关心要解决的问题。
4电子商务中Web挖掘中技术的应用分析
1)电子商务中序列模式分析的应用
序列模式数据挖掘就是要挖掘基于时间或其他序列的模式。如在一套按时间顺序排列的会话或事务中一个项目有存在跟在另一个项目后面。通过这个方法,WEB销售商可以预测未来的访问模式,以帮助针对特定用户组进行广告排放设置。发现序列模式容易使客户的行为被电子商务的组织者预测,当用户浏览站点时,尽可能地迎合每个用户的浏览习惯并根据用户感兴趣的内容不断调整网页,尽可能地使每个用户满意。使用序列模式分析挖掘日志,可以发现客户的访问序列模式。在万维网使用记录挖掘应用中,序列模式挖掘可以用于捕捉用户路径之中常用的导航路径。当用户访问电子商务网站时,网站管理员能够搜索出这个访问者的对该网站的访问序列模式,将访问者感兴趣但尚未浏览的页面推荐给他。序列模式分析还能分析出商品购买的前后顺序,从而向客户提出推荐。例如在搜索引擎是发出查询请求、浏览网页信息等,会弹出与这些信息相关的广告。例如购买了打印机的用户,一般不久就会购买如打印纸、硒鼓等打印耗材。优秀的推荐系统将为客户建立一个专属商店,由每个客户的特征来调整网站的内容。也能由挖掘出的一些序列模式分析网站及产品促销的效果。
2)电子商务中关联规则的应用
关联规则是揭示数据之间隐含的相互关系,关联分析的任务是发现事物间的关联规则或相关程序。关联规则挖掘的目标是在数据项目中找出每一个数据信息的内在关系。关联规则挖掘就是要搜索出用户在服务器上访问的内容、页面、文件之间的联系,从而改进电子商务网站设计。可以更好在组织站点,减少用户过滤网站信息的负担,哪些商品顾客会可能在一次购物时同时购买?关联规则技术能够通过购物篮中的不同商品之间的联系,分析顾客的购物习惯。例如购买牛奶的顾客90%会同时还购买面包,这就是一条关联规则,如果商店或电子商务网站将这两种商品放在一起销售,将会提高它们的销量。关联规则挖掘目标是利用工具分析出顾客购买商品间的联系,也即典型购物篮数据分析应用。关联规则是发现同类事件中不同项目的相关性,例如手机加充电宝,鼠标加鼠标垫等购买习惯就属于关联分析。关联规则挖掘技术可以用相应算法找出关联规则,例如在上述例子中,商家可以依据商品间的关联改进商品的摆放,如果顾客购买了手机则将充电宝放入推荐的商品中,如果一些商品被同时购买的概率较大,说明这些商品存在关联性,商家可以将这些有关联的商品链接放在一起推荐给客户,有利于商品的销售,商家也根据关联有效搭配进货,提升商品管理水平。如买了灯具的顾客,多半还会购买开关插座,因此,一般会将灯具与开关插座等物品放在一个区域供顾客选购。依据分析找出顾客所需要的商品的关联规则,由挖掘分析结果向顾客推荐所需商品,也即向顾客提出可能会感兴趣的商品推荐,将会大大提高商品的销售量。
3)电子商务中路径分析技术的应用
路径分析技术通过对Web服务器的日志文件中客户访问站点的访问次数的分析,用来发现Web站点中最经常访问的路径来调整站点结构,从而帮助使用用户以最快的速度找到其所需要的产品或是信息。例如在用户访问某网站时,如果有很多用户不感兴趣的页面存在,就会影响用户的网页浏览速度,从而降低用户的浏览兴趣,同时也会使整个站点的维护成本提高。而利用路径分析技术能够全面地掌握网站各个页面之间的关联以及超链接之间的联系,通过分析得出访问频率最高的页面,从而改进网站结构及页面的设计。
4)电子商务中分类分析的应用
分类技术在根据各种预定义规则进行用户建模的Web分析应用中扮演着很重要的角色。例如,给出一组用户事务,可以计算每个用户在某个期间内购买记录总和。基于这些数据,可以建立一个分类模型,将用户分成有购买倾向和没有购买倾向两类,考虑的特征如用户统计属性以及他们的导航活动。分类技术既可以用于预测哪些购买客户对于哪类促销手段感兴趣,也可以预测和划分顾客类别。在电子商务中通过分类分析,可以得知各类客户的兴趣爱好和商品购买意向,因而发现一些潜在的购买客户,从而为每一类客户提供个性化的网络服务及开展针对性的商务活动。通过分类定位模型辅助决策人员定位他们的最佳客户和潜在客户,提高客户满意度及忠诚度,最大化客户收益率,以降低成本,增加收入。
5)电子商务中聚类分析的应用
聚类技术可以将具有相同特征的数据项聚成一类。聚类分析是对数据库中相关数据进行对比并找出各数据之间的关系,将不同性质特征的数据进行分类。聚类分析的目标是在相似的基础上收集数据来分类。根据具有相同或相似的顾客购买行为和顾客特征,利用聚类分析技术将市场有效地细分,细分后应可每类市场都制定有针对性的市场营销策略。聚类分别有页面聚类和用户聚类两种。用户聚类是为了建立拥有相同浏览模式的用户分组,可以在电子中商务中进行市场划分或给具有相似兴趣的用户提供个性化的Web内容,更多在用户分组上基于用户统计属性(如年龄、性别、收入等)的分析可以发现有价值的商业智能。在电子商务中将市场进行细化的区分就是运用聚类分析技术。聚类分析可根据顾客的购买行为来划分不同顾客特征的不同顾客群,通过聚类具有类似浏览行为的客户,让市场人员对顾客进行类别细分,能够给顾客提供更人性化的贴心服务。比如通过聚类技术分析,发现一些顾客喜欢访问有关汽车配件网页内容,就可以动态改变站点内容,让网络自动地给这些顾客聚类发送有关汽车配件的新产品信息或邮件。分类和聚类往往是相互作用的。在电子商务中通过聚类行为或习性相似的顾客,给顾客提供更满意的服务。技术人员在分析中先用聚类分析将要分析的数据进行聚类细分,然后用分类分析对数据集合进行分类标记,再将该标记重新进行分类,一直如此循环两种分析方法得到相对满意的结果。
5结语
随着互联网的飞速发展,大数据分析应用越来越广。商业贸易中电子商务所占比例越来越大,使用web挖掘技术对商业海量数据进行挖掘处理,分析客户购买喜好、跟踪市场变化,调整销售策略,对决策者做出有效决策及提高企业的市场竞争力有重要意义。
参考文献:
[1]庞英智.Web数据挖掘技术在电子商务中的应用[J].情报科学,2011,29(2):235-240.
[2]马宗亚,张会彦.Web数据挖掘技术在电子商务中的应用研究[J].现代经济信息,2014(6):23-24.
[3]徐剑彬.Web数据挖掘技术在电子商务中的应用[J].时代金融,2013(4):234-235.208
[4]周世东.Web数据挖掘在电子商务中的应用研究[D].北京交通大学,2008.
[5]段红英.Web数据挖掘技术在电子商务中的应用[J].陇东学院学报,2009(3):32-34.
;I. Web数据库的层次体系
当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。
客户机/服务器结构
1.二层C/S结构
二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端。
在设计时,对数据可能有如下不同的处理形式。
(1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30 000条记录,客户端发出命令:
Select * From Student Where Sno='200101'
这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。
(2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。
这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。
客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。
在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。
由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。
上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。
这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。
注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。
2.三层C/S结构
由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服务器系统,将两层结构中服务器部分和客户端部分的应用单独划分出来,即采用“客户机—应用服务器—数据库服务器”结构(如图1-8所示)。典型的数据库应用可分为三部分:表示部分、应用逻辑(商业逻辑)部分和数据访问部分,三层结构便是对应于这三部分。
其中,应用服务器和数据库服务器可位于同一主机,也可位于不同主机。客户机是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机端的软件也称为表示层软件。应用服务器存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。它能响应客户机请求,完成业务处理或复杂计算。若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。数据库服务器便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。操作完成后再通过应用服务器向客户机返回操作结果。
浏览器/服务器结构
随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。因为在典型C/S体系中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。于是基于浏览器/服务器结构(Browser/Server)的系统应运而生。
采用B/S结构后,在客户端只需安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。
基于B/S结构的典型应用通常采用三层结构:“浏览器—Web服务器—数据库服务器”,B/S模式的工作原理是:通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果转化为HTML,并由Web服务器转发给请求方的浏览器,如图1-9所示。
在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。
从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种两层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级C/S结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。
Internet/Intranet信息系统的多层体系结构
多层结构应用软件与传统的两层结构应用软件相比,有可伸缩性好、可管理性强、安全性高、软件重用性好等诸多优点,如何在Internet/Intranet环境下构建应用软件体系结构就成为一个非常重要的问题,也是现今软件体系研究的一个新热点。
目前各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程序、Java Applet程序,现在的ASP等Web数据库技术,还有动态的Java在线游戏及PHP技术等。
实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用体系包括4层:客户层、顶端Web服务层、应用服务层和数据库层。其中顶端Web服务层是Sun公司多层体系结构中非常重要的一层,它主要起代理和缓存的作用。顶端Web服务器的作用是缓存本地各客户机经常使用的Java Applet程序和静态数据,通常被放置在客户机所在的局域网内,起到一个Java Applet主机(向Web浏览器传送Java Applet程序的计算机)和访问其他服务的代理作用。与普通代理服务器的作用相同。构建多层结构应用软件时,选用Java平台是一个很好的选择,因为它跨越各应用平台。总之,在Java平台上构建多层应用软件体系代表着今后Internet/Intranet应用的趋势。