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應用的趨勢。