淺談Web服務(wù)的個(gè)人網(wǎng)頁(yè)資源管理組件設(shè)計(jì)
出處:肖化昆,湯力穎 發(fā)布于:2011-08-31 09:48:26
1 方案的提出
在互聯(lián)網(wǎng)時(shí)代,人們通過(guò)Internet收集存儲(chǔ)一些個(gè)人需要的網(wǎng)頁(yè),供日后查閱。簡(jiǎn)單的辦法是使用IE或Netscape的“另存為”功能,把這些網(wǎng)頁(yè)保存在個(gè)人計(jì)算機(jī)的文件夾中。近年來(lái),也出現(xiàn)了一些好的工具幫助收集整理網(wǎng)頁(yè)。例如,利用軟件“網(wǎng)海拾貝”可以將網(wǎng)頁(yè)收藏到本地?cái)?shù)據(jù)庫(kù)中,軟件“Webzip”可以將網(wǎng)站鏡像打包到一個(gè)zip文件中。使用這些工具軟件能方便地搜集所需的網(wǎng)頁(yè)資源,但問(wèn)題是,若無(wú)備份,則無(wú)法在其他的機(jī)器上看到這些網(wǎng)頁(yè)。但它的缺點(diǎn)是,當(dāng)收藏的URL不能夠被訪問(wèn)時(shí)(如該網(wǎng)頁(yè)被所鏈接的網(wǎng)站刪除),也就無(wú)法訪問(wèn)該網(wǎng)頁(yè)了,并且無(wú)法直接對(duì)所收集的網(wǎng)頁(yè)進(jìn)行管理。
本文提出的新方案是,借用Web服務(wù)器的個(gè)人存儲(chǔ)空間,存儲(chǔ)和管理個(gè)人網(wǎng)頁(yè)。其思路是:開(kāi)發(fā)一個(gè)基于Web服務(wù)的組件(稱為Url_Tool組件),Url_Tool組件布署和運(yùn)行在Web服務(wù)器端。用戶經(jīng)注冊(cè)成為Url_Tool的客戶后,就能通過(guò)Internet使用Url_Tool的功能,將感興趣網(wǎng)頁(yè)的URL提交到Web服務(wù)器,由Url_Tool組件自動(dòng)完成網(wǎng)頁(yè)并保存在該Web服務(wù)器。WEB服務(wù)器也稱為WWW(WORLD WIDE WEB)服務(wù)器,主要功能是提供網(wǎng)上信息瀏覽服務(wù)。 WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發(fā)展起來(lái)的服務(wù),也是發(fā)展快和目前用的廣泛的服務(wù)。正是因?yàn)橛辛薟WW工具,才使得近年來(lái) Internet 迅速發(fā)展,且用戶數(shù)量飛速增長(zhǎng)。
這是一種新的網(wǎng)絡(luò)資源搜集和網(wǎng)上資源共享方式。網(wǎng)站經(jīng)營(yíng)者還可以對(duì)用戶存儲(chǔ)的網(wǎng)頁(yè)作進(jìn)一步的“數(shù)據(jù)挖掘”。這些數(shù)據(jù)被轉(zhuǎn)化成有商業(yè)價(jià)值的信息,網(wǎng)站籍此掌握網(wǎng)民的消費(fèi)熱點(diǎn)和消費(fèi)需求,并向網(wǎng)民提供個(gè)性化服務(wù)。
2 組件設(shè)計(jì)
2.1 組件結(jié)構(gòu)
Url_Tool組件分成客戶端和服務(wù)器端2部分。
服務(wù)器端又由3個(gè)基本功能模塊構(gòu)成:
Url_Tool客戶端的基本功能是:向Url_Tool組件提交用戶信息和需要存儲(chǔ)的網(wǎng)頁(yè)地址;使用Url_Tool界面管理個(gè)人網(wǎng)頁(yè)空間。
Url_Tool服務(wù)器端的基本功能是:驗(yàn)證用戶信息,接受客戶端網(wǎng)頁(yè)的請(qǐng)求,并把這些請(qǐng)求輸入到Url數(shù)據(jù)庫(kù);在網(wǎng)絡(luò)空閑時(shí),自動(dòng)HTML/XML網(wǎng)頁(yè),建立和維護(hù)個(gè)人網(wǎng)頁(yè)存儲(chǔ)空間;向用戶提供管理Web網(wǎng)頁(yè)操作界面,實(shí)現(xiàn)對(duì)個(gè)人網(wǎng)頁(yè)的自主管理。
Url_Tool組件的結(jié)構(gòu)示意圖如圖1所示。

2.2 通信協(xié)議
通過(guò)通信信道和設(shè)備互連起來(lái)的多個(gè)不同地理位置的數(shù)據(jù)通信系統(tǒng),要使其能協(xié)同工作實(shí)現(xiàn)信息交換和資源共享,它們之間必須具有共同的語(yǔ)言。交流什么、怎樣交流及何時(shí)交流,都必須遵循某種互相都能接受的規(guī)則。這個(gè)規(guī)則就是通信協(xié)議。通信協(xié)議是指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應(yīng)該包含的信息與含義,連接方式,信息發(fā)送和接收的時(shí)序,從而確保網(wǎng)絡(luò)中數(shù)據(jù)順利地傳送到確定的地方。通信協(xié)議在計(jì)算機(jī)通信中,通信協(xié)議用于實(shí)現(xiàn)計(jì)算機(jī)與網(wǎng)絡(luò)連接之間的標(biāo)準(zhǔn),網(wǎng)絡(luò)如果沒(méi)有統(tǒng)一的通信協(xié)議,電腦之間的信息傳遞就無(wú)法識(shí)別。 通信協(xié)議是指通信各方事前約定的通信規(guī)則,可以簡(jiǎn)單地理解為各計(jì)算機(jī)之間進(jìn)行相互會(huì)話所使用的共同語(yǔ)言。兩臺(tái)計(jì)算機(jī)在進(jìn)行通信時(shí),必須使用的通信協(xié)議 。
Url_Tool組件的服務(wù)器端和客戶端的交互是基于TCP/IP Socket編程的,消息格式基于HTML/XML。為此,定義了一個(gè)新的協(xié)議集,即Url-Summit交互指令。Url-Summit指令主要是為了解決客戶端程序和URL存儲(chǔ)服務(wù)器的交互問(wèn)題。Url-Summit協(xié)議集的具體內(nèi)容包括Url-Tool服務(wù)端向客戶端發(fā)送的內(nèi)容和Url-Tool客戶端向服務(wù)端發(fā)送的請(qǐng)求,分別如表1和表2所示。


以下是Url-Summit協(xié)議集的一個(gè)實(shí)例。其中S表示服務(wù)端,C表示客戶端。用戶名是“jack”,密碼是“mypassword”。
S:100 Hello
S:101 User
C:jack
S:102 Password
C:mypassword
S:202 OK
登錄成功
C:211 http://www.google.com/
S:202 Add Ok
添加成功
C:300 logout
S:301 bye
離開(kāi)
2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
Url_Tool在服務(wù)器端建立名為Url_D的數(shù)據(jù)庫(kù),Url_D的數(shù)據(jù)庫(kù)主要包含2個(gè)數(shù)據(jù)庫(kù)表,分別是用戶信息表KUser和用戶任務(wù)表KTask。其數(shù)據(jù)結(jié)構(gòu)分別如表3和表4所示。用戶任務(wù)表保存用戶存儲(chǔ)的個(gè)人網(wǎng)頁(yè)Url地址及其狀態(tài)。

Url_Tool用戶管理個(gè)人網(wǎng)頁(yè)的SQL語(yǔ)句如下例。
SELECT uID FROM KUser WHERE name=′用戶名′
AND password=′密碼′;//驗(yàn)證用戶登錄,
//返回記錄數(shù)為1,就可以登錄;反之,拒絕登錄
SELECT link FROM KTask WHERE started=0
ORDER BY tID LIMIT 0,1;//獲取任務(wù),每次
//獲取一個(gè)任務(wù),即需要的頁(yè)面的URL
UPDATE KTask SET started=1 WHERE tID=′任務(wù)ID′;//啟動(dòng)任務(wù)
UPDATE KTask SET finished=1
WHERE tID=′任務(wù)ID′;//完成任務(wù)
2.4 URL存儲(chǔ)服務(wù)器設(shè)計(jì)
統(tǒng)一資源定位符(URL,英語(yǔ) Uniform / Universal Resource Locator 的縮寫)也被稱為網(wǎng)頁(yè)地址,是因特網(wǎng)上標(biāo)準(zhǔn)的資源的地址(Address)。它初是由蒂姆·伯納斯-李發(fā)明用來(lái)作為萬(wàn)維網(wǎng)的地址的。現(xiàn)在它已經(jīng)被萬(wàn)維網(wǎng)聯(lián)盟編制為因特網(wǎng)標(biāo)準(zhǔn)RFC1738了。Internet上的每一個(gè)網(wǎng)頁(yè)都具有一個(gè)的名稱標(biāo)識(shí),通常稱之為URL地址,這種地址可以是本地磁盤,也可以是局域網(wǎng)上的某一臺(tái)計(jì)算機(jī),更多的是Internet上的站點(diǎn)。簡(jiǎn)單地說(shuō),URL就是Web地址,俗稱“網(wǎng)址”。URI 方案集,包含如何訪問(wèn) Internet 上的資源的明確指令。
URL的存儲(chǔ)檢索效率是在Internet上構(gòu)建分布式信息搜集系統(tǒng)的關(guān)鍵,其是支持多用戶并行訪問(wèn)。Url_Tool組件的存儲(chǔ)服務(wù)器結(jié)構(gòu)如圖2所示。

Url_Tool組件的存儲(chǔ)服務(wù)器程序流程如圖3所示。

一般的TCP/IP偵聽(tīng)服務(wù)器要同時(shí)支持多個(gè)用戶,主要通過(guò)以下幾種形式支持并行服務(wù)。
(1)單進(jìn)程結(jié)合I/O多路復(fù)用模式,通過(guò)定時(shí)輪流查詢資源集合,實(shí)現(xiàn)多用戶連接。(2)多進(jìn)程模式(multi-fork):一個(gè)子進(jìn)程對(duì)應(yīng)于一個(gè)客戶端程序,跟客戶端程序交互。(3)多線程模式(multi-thread):一個(gè)線程對(duì)應(yīng)于一個(gè)客戶端程序。
Url_Tool系統(tǒng)采用多線程的并行模式管理多用戶交互,多線程能夠提升系統(tǒng)性能,降低資源消耗。其原理是同時(shí)預(yù)先建立多個(gè)線程等待提供服務(wù),當(dāng)有需求出現(xiàn)時(shí),預(yù)先建立的線程就可以立即滿足需求,提供服務(wù)。
2.5 自動(dòng)程序設(shè)計(jì)
2.5.1 程序結(jié)構(gòu)
主要包括以下模塊。
downop:模塊
hashop:哈希表操作模塊
curlop:curl操作模塊
html_parse:html解釋器模塊
url_parse:url解釋模塊
其中,hashop和html_parse模塊是把頁(yè)面的相關(guān)元素(如圖片、flash等)記錄下來(lái),然后進(jìn)行。
Url_Tool組件的自動(dòng)程序結(jié)構(gòu)如圖4所示。

2.5.2 程序流程
Url_Tool組件的自動(dòng)程序處理流程如圖5所示。

2.5.3 程序說(shuō)明
如圖5所示,downop先取得的URL和存放地址;進(jìn)行初始化工作,調(diào)用hashop_init( )建立一個(gè)hash表。
Curlop_text_tobuff模塊根據(jù)hash表的內(nèi)容將有關(guān)頁(yè)面緩存到buf。注意curlop_text_tobuff(&url,&len)中的URL可以改變,目的是取得終的URL地址。len是緩存的長(zhǎng)度。緩存由curlop_text_tobuff動(dòng)態(tài)分配。
hashop_set_base_url(url)用于設(shè)定基礎(chǔ)的URL。把終有效的URL設(shè)定作為基礎(chǔ)地址。因?yàn)橛行﹉tml文檔可能會(huì)使用相對(duì)地址,所以必須設(shè)置正確的基礎(chǔ)地址,才可以。
generate_list(buf,len)調(diào)用html_parse解釋頁(yè)面,然后把需要的連接放入hash表。
download_list( )主要是調(diào)用curlophash表的內(nèi)容。
Change_html_link( )調(diào)用html_parse把buf儲(chǔ)存的html/XML連接轉(zhuǎn)為本地連接,然后保存html/XML頁(yè)面。
3 組件安裝和運(yùn)行
Url_Tool被封裝成為一個(gè)Web服務(wù)組件,通過(guò)Web網(wǎng)站向用戶提供網(wǎng)頁(yè)暫存服務(wù)。由于該系統(tǒng)采用基于TCP/IP協(xié)議的XML消息格式實(shí)現(xiàn)用戶和服務(wù)器的交互,所以,Internet上的任何用戶都可以通過(guò)瀏覽器軟件注冊(cè)和使用該系統(tǒng)。用戶注冊(cè)后,該組件的客戶端自動(dòng)到客戶機(jī)并自動(dòng)完成安裝和注冊(cè),供用戶使用。IP是英文Internet Protocol(網(wǎng)絡(luò)之間互連的協(xié)議)的縮寫,中文簡(jiǎn)稱為“網(wǎng)協(xié)”,也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。在因特網(wǎng)中,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守 IP協(xié)議就可以與因特網(wǎng)互連互通。IP地址具有性,根據(jù)用戶性質(zhì)的不同,可以分為5類。另外,IP還有進(jìn)入防護(hù),知識(shí)產(chǎn)權(quán),指針寄存器等含義。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實(shí)踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場(chǎng)應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無(wú)線傳輸電路基礎(chǔ),射頻前端設(shè)計(jì)、天線匹配與鏈路預(yù)算計(jì)算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









