freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-xml快速解析技術(shù)(參考版)

2024-12-07 17:47本頁面
  

【正文】 然后設(shè)置回調(diào)函數(shù): DT_Net_SetCallBack(self,LPNET_ACCEPT_CALLBACK, LPNET_RECV_CALLBACK,LPNET_DISCONN_CALLBACK, LPNET_LOG_CALLBACK)。 nRemotePort-服務(wù)器端口號 ? 實(shí)現(xiàn)文件傳輸 將監(jiān)控中心作為 Socket Server,啟動(dòng)監(jiān)聽: DT_Net_InitServer(TRUE)。 參數(shù): nIDSocket-套接字句柄 (9) 連接服務(wù)器 DWORD DT_Net_ConnectRemote(LPCTSTR pstrRemoteIP, unsigned long nRemotePort)。 參數(shù): nIDSocket- Client 端套接字句柄 pstrFileName-文件名稱 (全部路徑 ) pszReName-文件重命名 (7) 中止文件發(fā)送 DWORD DT_Net_AbortFile(unsigned int nIDSocket)。 參數(shù): pszLocalIP-服務(wù)器 IP 地址 nSvrPort-服務(wù)器端口號 返回: 0 或者錯(cuò)誤代碼 (5) 服務(wù)器停止監(jiān)聽 DWORD DT_Net_StopListen()。 包括文件發(fā)送完畢、接收到文件、文件發(fā)送中斷的回調(diào)。 第四章 一種基于 XML的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 31 包 括請求連接、接收到數(shù)據(jù)、斷開連接和日志回調(diào)。 DWORD DT_Net_InitServer(BOOL bIsServer = TRUE)。該動(dòng)態(tài)鏈接庫的主要接口及其功能如下: (1) 初始化。 (7) 業(yè)務(wù)邏輯層:實(shí)際上就是整個(gè)系統(tǒng)的用戶接口,或者說是系統(tǒng)功能的實(shí)現(xiàn)層,包括打印單據(jù)、防作弊、報(bào)警處理、用戶管理、查詢統(tǒng)計(jì)、費(fèi)用計(jì)算、實(shí)時(shí)監(jiān)控、基礎(chǔ)數(shù)據(jù)錄入、系統(tǒng)管理等。 (6) 數(shù)據(jù)表示層:將采集到的數(shù)據(jù)、處理中的數(shù)據(jù)或者在數(shù)據(jù)庫中存儲的數(shù)據(jù)等各種數(shù)據(jù)格式轉(zhuǎn)換為能夠用 XML 文件描述的格式。 業(yè)務(wù)邏輯層 數(shù)據(jù)表示層 XML 文件封裝 XML 文件解析 XML 文件控制層 文件傳輸層 標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié) 議層 物理鏈路層 圖 層次結(jié)構(gòu)模型 30 XML 快速解析技術(shù) (5) XML 文件封裝 /解析層:這是兩個(gè)相逆的過程,也是兩種相對應(yīng)的操作。 (4) XML 文件控制層:在 XML 中的數(shù)據(jù)可能是接收到的數(shù)據(jù),也可能是要發(fā)送的數(shù)據(jù),監(jiān)控中心和站點(diǎn)必須準(zhǔn) 確控制 XML 文件的接收和發(fā)送。 Socket 一般用來描述 IP 地址和端口,是一個(gè)通信鏈接的句柄。 Windows 通過 Socket 把數(shù)據(jù)格式轉(zhuǎn)換成網(wǎng)絡(luò)傳輸格式,也把網(wǎng)絡(luò)數(shù)據(jù)格式轉(zhuǎn)換成 Windows 格式。 (3) 文件傳輸層:使用 Socket(套接字)技術(shù)實(shí)現(xiàn)文件的傳輸。同時(shí),為了便于實(shí)現(xiàn),提高系統(tǒng)的可靠性、穩(wěn)定性及可維護(hù)性,采用層次結(jié)構(gòu),將系統(tǒng)的功能劃分為七層模型,如圖 所示: 第四章 一種基于 XML的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 29 (1) 物理鏈路層:是指網(wǎng)絡(luò)通訊的線路,本系統(tǒng)采用電信的 ADSL 有線方式,其它也可以是局域網(wǎng)(雙絞線、同軸電纜、光纖等)或者無線通訊 方式( GPRS、GSM、 CDMA 等);物理鏈路層是系統(tǒng)數(shù)據(jù)通信的基礎(chǔ),但與上層的實(shí)現(xiàn)方式基本無關(guān)。站點(diǎn)之間若要相互傳送數(shù)據(jù), 則只能通過監(jiān)控中心來轉(zhuǎn)發(fā),更增加了監(jiān)控中心和站點(diǎn)之間收發(fā)數(shù)據(jù)的復(fù)雜性。 由此可見,在這個(gè)站點(diǎn)式監(jiān)控系統(tǒng)中有多種數(shù)據(jù)要互相發(fā)送,并且數(shù)據(jù)的發(fā)送是隨機(jī)的、雜亂的、動(dòng)態(tài)的,內(nèi)容相異,格式不同,種類繁多。 (2) 監(jiān)控中心 → 站點(diǎn) 28 XML 快速解析技術(shù) 如監(jiān)控中心發(fā)往站點(diǎn)的基礎(chǔ)數(shù)據(jù)與系統(tǒng)運(yùn)行參數(shù)、監(jiān)控中心收到站點(diǎn)發(fā)來的數(shù)據(jù)后回發(fā)的確認(rèn)應(yīng)答信息、監(jiān)控中心給站點(diǎn)的遠(yuǎn)程控制指令等。如圖 所示是一個(gè)比較典型的站點(diǎn)式遠(yuǎn)程監(jiān)控系統(tǒng)的模型。它可實(shí)現(xiàn)計(jì)算機(jī)和計(jì)算機(jī)、計(jì)算機(jī)和終端以及終端與終端之間的數(shù)據(jù)信息傳遞。而引入 XML 文件后使得這個(gè)問題變得簡單化。 第四章 一種基于 XML的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 27 第四章 一種基于 XML 的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 前邊介 紹了 XML解析技術(shù)的基本知識,這一章來研究一下 XML在數(shù)據(jù)通信中的應(yīng)用。在此之后,文章又進(jìn)一步詳細(xì)解釋了常用的基于數(shù)模型和基于事件模型的兩種解析方式,具體分析了兩者的工作方式,并列出圖表比較了兩者各自的利弊?;谶@個(gè)數(shù)據(jù)用 DOM 處理大的 XML 文件幾乎是不可能的。 VTDXML 的內(nèi)存占用是原 XML 的 ~(其中 的部分是原 XML,~ VTDXML占用的部分),而 DOM的內(nèi)存占用則是原 XML的 5x~10x。它所提取出來的記錄( record)信息格式如下圖所示: VTDXML 優(yōu)點(diǎn) 這里有一組數(shù)據(jù),取自于 VTDXML 的官方網(wǎng)站: VTDXML 的解析速度是 SAX( with NULL content handler)的 ~。為了實(shí)現(xiàn)非提?。?nonextractive)這個(gè)目的,它將原 XML 文件原封不動(dòng)的以二進(jìn)制的方式讀進(jìn)內(nèi)存,連解碼都不做,然后在這個(gè)字節(jié)( byte)數(shù)組上解析每個(gè)元素( element)的位置并把一些信息記錄下來,之后的遍歷操作便在這些保存下來的記錄( record)上進(jìn)行,如果需要提取 XML 內(nèi)容就利用記錄( record)中的位置等信息在原始字節(jié)( byte)數(shù)組上進(jìn)行解碼并返回字符串。使用 VTDXML 將同時(shí)帶來易用性和高性能的雙重優(yōu)點(diǎn),它相比 DOM 的優(yōu)勢是毋庸置疑的。在某些情況下,我們?yōu)榱?獲取 第三章 XML 解析技術(shù)基礎(chǔ) 25 所需的數(shù)據(jù)要使用很大的緩沖區(qū),換句話說,我們會(huì)在同一個(gè)文檔中重復(fù) SAX解析很多次。事實(shí)上, VTDXML 的隨機(jī)存取能力在提供最好的可用性能中起到了重要的作用。眾所周知, DOM 對于大的文檔處理速度會(huì)很慢而且很耗費(fèi)內(nèi)存,而 SAX 對復(fù)雜結(jié)構(gòu)的 XML 文檔不具備簡潔的易用性。 對軟件開發(fā)者來說, VTDXML 提供了諸多的好處。 因?yàn)?VTD 的記錄是定長的,就可以按照大小分配內(nèi)存緩沖區(qū)來存儲這些記錄,這樣就避免了產(chǎn)生大量相關(guān)其他 XML 處理技術(shù)的典型隊(duì)列或節(jié)點(diǎn)。該令牌是基于虛擬令牌描述符的二進(jìn)制編碼規(guī)范。該格式的一個(gè)關(guān)鍵優(yōu) 化性能就在于它采用了非提取性的令牌環(huán)結(jié)構(gòu)。 VTDXML 是一種新型的、開源的、非提取性的 XML 處理方式。它們還使用動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),這種結(jié)構(gòu)會(huì)隨著時(shí)間不斷變化,并且截取任意大小的數(shù)據(jù)塊有時(shí)候會(huì)非常大。 VTD( Virtual Token Descriptor) ——虛擬令牌描述符,是一種類似于 DOM和 SAX 的處理模式,但是它具有這兩種解析方式都不具備的優(yōu)點(diǎn)。 在具體分析了 DOM 和 SAX 解析方式之后,下面將給出一個(gè)具體的圖表,可以簡明、清晰地看出兩種方式各自的優(yōu)缺點(diǎn)。再加上它的單邊解析,這就意味著它不支持隨機(jī)訪問。也就是說,為了維護(hù)數(shù)據(jù)結(jié)構(gòu),在這個(gè)結(jié)構(gòu)中保存有用戶所需要的環(huán)境信息,例如當(dāng)前元素祖先的屬性,復(fù)雜的搜索可能會(huì)使程序變得很亂。 (2) 當(dāng)文檔包含許多內(nèi)部交叉引用時(shí), SAX 的實(shí)現(xiàn)是很困難的。 SAX 的缺點(diǎn)如下 : (1) 不能隨機(jī)訪問文檔。這一點(diǎn)也很重要,因?yàn)樗?SAX 的使用變得簡單。 簡單的 XML 文檔 解析該文檔時(shí)調(diào)用的方法 ?xml version=‖‖? vehicles carMitsubishi Lancer/car /vehicles startDocument() startElement(vehicles) startElement(car) characters(Mitsubishi Lancer) endElement(car) endElement(vehicles) endDocument() 圖 SAX 解析示意圖 第三章 XML 解析技術(shù)基礎(chǔ) 23 2) SAX 無需像 DOM 那樣為所有節(jié)點(diǎn)創(chuàng)建對象,開發(fā)人員可以根據(jù)需要?jiǎng)?chuàng)建自己的 XML 對象模型。因?yàn)闆]有必要把整個(gè)文檔加載到內(nèi)存中,所以 SAX 對內(nèi)存的消耗量比 DOM 小得多,并不會(huì)隨著文件變大而增加。如下圖中的例子 [11]所示。處理特定的 XML 文件時(shí),需要為其創(chuàng)建一個(gè)實(shí)現(xiàn)了 ContentHandler 的類來處理特定的事件。 SAX 解析器不像 DOM 那樣建立一個(gè)整個(gè)文檔的樹型表示,它采用回調(diào)機(jī)制,在讀取文檔時(shí)激活一系列的事件,這些事件被推給事件處理器。 SAX 是一個(gè)用于處理 XML 的事件驅(qū)動(dòng)的“推”模型。 簡單的來講,基于事件的 API 直接向應(yīng)用程序報(bào)告解析事件(例如元素的開22 XML 快速解析技術(shù) 始和結(jié)束)通常不創(chuàng)建內(nèi)部的數(shù)形結(jié)構(gòu)。因?yàn)檫@不像鼠標(biāo)點(diǎn)擊事件那樣是不可預(yù)測的, XML 解析事件的發(fā)生是一個(gè)可預(yù)測的序列。這是因?yàn)橐坏┦聞?wù)設(shè)置好了以后,用戶就不能調(diào)用解析器了,而是解析器在調(diào)用。例如,對于點(diǎn)擊鼠標(biāo)事件,應(yīng)用程序中就必須有對它進(jìn)行響應(yīng)的程序。 基于事件的簡單應(yīng)用編程接口( SAX) SAX 結(jié)構(gòu) 在用戶接口編程中,經(jīng)常會(huì)遇到“基于事件”這個(gè)詞。如果只需關(guān)注XML 文檔的一小部分,那么創(chuàng)建那些永遠(yuǎn)不被使用的對象是極其浪費(fèi)的; DOM解析器必須在應(yīng)用程序代碼取得控制權(quán)之前讀取整個(gè)文檔。典型的 DOM 樹的容量比文檔容量要大一個(gè)數(shù)量級,所以它要消耗大量內(nèi)存。 然而, DOM 解析也存在如下一些問題: 1) DOM 構(gòu)建整個(gè)文檔駐留內(nèi)存的樹。利用 DOM,開發(fā)人員可以動(dòng)態(tài)地創(chuàng)建 XML,遍歷文檔、增加 /刪除 /修改文檔內(nèi)容,具有較好的導(dǎo)航能力。它還可以在任何時(shí)候在樹中上下導(dǎo)航,而不是像 SAX 那樣是一次性的處理。 結(jié)構(gòu)化數(shù)據(jù) Food FrenchFries Curly Fries /FrenchFries Beers Good_Beer Samuel Adams /Good_Beer /Beers DOM 文檔 圖 DOM 文檔對象的簡化視圖 第三 章 XML 解析技術(shù)基礎(chǔ) 21 DOM 的優(yōu)缺點(diǎn) DOM 以及廣義的基于樹的處理具有幾個(gè)優(yōu)點(diǎn)。對諸如 XML 文檔這樣的結(jié)構(gòu)化數(shù)據(jù)來說,樹形結(jié)構(gòu)是一個(gè)顯而易見的模型。 DOM 使用一種屬性結(jié)構(gòu)對接口之間的關(guān)系進(jìn)行建模,但并沒有將實(shí)際的實(shí)現(xiàn)局限于某種屬性數(shù)據(jù)結(jié)構(gòu)。 DOM 提供的 API 與 編程語言無關(guān),所以對一些 DOM 標(biāo)準(zhǔn)中沒有明確定義的接口,不同解析器的實(shí)現(xiàn)方法也可能有所差別。 DOM 樹中的所有節(jié)點(diǎn)都是從 Node 對象繼承而來的。 (4) 集合索引: DOM 提供了幾種集合索引方式,可以對節(jié)點(diǎn)按指定方式進(jìn)行遍歷。 (2) Element 和 Attr 對象:這些節(jié)點(diǎn)對象都是文檔某一部分的映射,節(jié)點(diǎn)的定級層次恰好反映了文檔的結(jié)構(gòu); (3) Text 對象:作為 Element 和 Attr 對象的子節(jié)點(diǎn), Text 對象表達(dá)了元素或?qū)傩缘奈谋緝?nèi)容。 DOM 是一種與平臺和語言無關(guān)的接口,它允許程序和腳本動(dòng)態(tài)訪問和修改文檔的內(nèi)容、結(jié)構(gòu)和類型。 DOM 是一種基于樹型的解析技術(shù),將 XML 文檔一次性解析,生成一個(gè)位于內(nèi)存中的對象樹用以描述該文檔?,F(xiàn)在, XML 越來越多地用來表示存儲在不同系統(tǒng)中的不同種類的信息 ,而很多這種信息以前都被認(rèn)為是數(shù)據(jù)而不是文檔。它定義了文檔的邏輯結(jié)構(gòu)以及訪問和操作文檔的方式。這套預(yù)先存在的對象形成了一個(gè)完整的模型,即文檔對象模型。使用各種語言可以創(chuàng)建不同的對象,這些對象被稱為“用戶自定義對象”??梢哉f“自行車”對象擁有一些屬性: make、 model、 year 和 color。 實(shí)際上,每一個(gè)事件都可以是對象。事件是瀏覽器從用戶或環(huán)境中得到的某種輸入,例如,用戶提供的事件“ click”。方法就是函數(shù),它用來操作對象。對象是一 個(gè)數(shù)據(jù)包:屬性(變量)和方法(函數(shù))的集合都被歸類在內(nèi)。與通過擴(kuò)展應(yīng)用服務(wù)器來獲得相同性能相比,利用 XML 解析器實(shí)現(xiàn)相同性能目標(biāo)的花費(fèi)僅為前者的 1/10。 5) XML 解析器將對 XML 數(shù)據(jù)送給負(fù)載均衡器,隨后這些數(shù)據(jù)被送上 Inter。 3) XML 解析器解壓縮、解析、解 釋和確認(rèn) XML 流量,然后將它路由給適當(dāng)?shù)膽?yīng)用服務(wù)器。 1) 負(fù)載均衡器接收來自 Inter 的入站 XML 流量。 XML 解析器根據(jù)是否驗(yàn)證合法性,可分為驗(yàn)證性和非驗(yàn)證性解析器;而根據(jù)解析方式的不同,又可分為基于樹的解析器( DOM)和基于事件的解析器( SAX)。根據(jù) XML 處理器如何讀取 XML 文檔中的數(shù)據(jù)結(jié)構(gòu)以及它需要向應(yīng)用程序提供的信息,規(guī)范描述了 XML處理器所 必需的行為。 XML 解析器(處理器)用來讀取 XML 文檔,利用它可以訪問文檔的結(jié)構(gòu)和內(nèi)容。標(biāo)記數(shù)據(jù)是對文檔存儲布局和邏輯結(jié)構(gòu)的描述。它包含可解析或者不可解析的數(shù)據(jù)。不正確的解析會(huì)導(dǎo)致過度的內(nèi)存 消耗和過長的處理時(shí)間,從而大大降低系統(tǒng)的整體性能 [9]。隨著 XML 越來越廣泛地被采用,高效解析 XML 文檔也變得越來越重要,尤其是對于那些要處理大量數(shù)據(jù)的應(yīng)用程序,這種技術(shù)尤為重要。 XML 本身只是以純文本對數(shù)據(jù)進(jìn)行編碼的一種格式,要想利用 XML,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1