已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本 科 生 畢 業(yè) 論 文 題 目: 分布式網(wǎng)絡(luò)中的推送系統(tǒng)的設(shè)計與實現(xiàn) 院 系: 軟件學院 專 業(yè): 軟件工程(計算機應用方向) 學生姓名: 學 號 指導教師: 明志(副教授) (職 稱) 二 一五 年 三 月 摘 要 隨著互聯(lián)網(wǎng)計算機技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)已經(jīng)成了大眾生活必不可少的部分,它的最大優(yōu)點就是可以將大量的信息互相共享。不管是移動終端還是個人電腦,人們總是可以通過設(shè)備進入互聯(lián)網(wǎng)中獲得自己感興趣的信息。 但與此同時,由于互聯(lián)網(wǎng)是屬于大家 的,具有很強的開放性,使得網(wǎng)絡(luò)上的信息每天都在呈爆炸式地增長,信息的泛濫而引起網(wǎng)民難以消化的現(xiàn)象已經(jīng)不再是新鮮事。在當今這個步伐急促的社會中,要想通過普通瀏覽的方式在信息海洋中找到自己所需要的內(nèi)容確實不是一件輕松的事,普通的瀏覽查找在當今已經(jīng)可以說得上是一種既消耗精力又浪費時間的信息獲取方式,在注重用戶體驗的今天,它已經(jīng)很難達用戶滿意程度。 為了給各位網(wǎng)民帶來具有針對性的個性化服務,將方便快捷的體驗帶給網(wǎng)民,信息推送技術(shù)( 運而生。有了 術(shù),用戶再也不用手動地在互聯(lián)網(wǎng)上查找自己想要的信息, 而只需設(shè)置訂閱自己所感興趣的內(nèi)容, 統(tǒng)就會定期地向用戶推送相關(guān)消息,整個過程中用戶處于被動狀態(tài),省去了手動查找等繁雜步驟,大大提高了用戶的體驗質(zhì)量。 因此,推送技術(shù)已經(jīng)在近些年中得到了巨大的發(fā)展和推廣,尤其是在當今分布式主流的網(wǎng)絡(luò)中,一個好的推送系統(tǒng)會給成千上萬的用戶帶來便利,也給了各個消息發(fā)送方帶來了推廣渠道。通過推送系統(tǒng),各個組織可以把自己的新聞消息推送到特定用戶的設(shè)備中,形成了定向傳送的局面,雙方的需求都得到了滿足,并且還有了效率的保證。 關(guān)鍵詞: 信息獲取,推送技術(shù),個性化 of in of is of of or to to he/in to it is so in It is no a of In it is an to we in by is to of to it To no to to to in is So in An to to an to It in 錄 第一章 前言 . 1 景現(xiàn)狀分析 . 1 送系統(tǒng)概述 . 2 文結(jié)構(gòu)簡介 . 3 第二章 技術(shù)與原理 . 4 送基本原理 . 4 術(shù)優(yōu)缺點分析 . 5 絡(luò)編程 . 6 據(jù)庫編程 . 11 介 . 11 據(jù)庫操作 . 12 議介紹 . 17 第三章 架構(gòu)設(shè)計 . 19 統(tǒng)架構(gòu)及原理 . 19 務用例的實現(xiàn) . 20 據(jù)庫設(shè)計 . 22 建數(shù)據(jù)庫的系統(tǒng)流程 . 22 的具體設(shè)計 . 24 第四章 模塊設(shè)計 . 28 介紹 . 28 介紹 . 38 介紹 . 43 介紹 . 48 第五章 部署應用 . 52 行環(huán)境 . 52 用說明 . 53 第六章 結(jié)論 . 57 作總結(jié) . 57 作展望 . 58 致謝 . 59 參考文獻 . 60 1 第一章 前言 景現(xiàn)狀分析 術(shù)對用戶來說都是信息獲取方式,但卻是兩種截然相反的信息獲取技術(shù)。 信息拉取技術(shù),在信息獲取時,用戶必須時時處于主動地位,并且參與信息獲取整個過程; 術(shù)為信息推送技術(shù),服務器處于主動 地位,用戶處于被動地位。 通常情況下,人們都是采用“ 式從網(wǎng)絡(luò)上“拉取”信息,即利用搜索引擎來獲取信息的方式。隨著網(wǎng)絡(luò)上信息資源的日益豐富,基于 術(shù)的信息獲取技術(shù)無論在信息的搜索速度、傳輸速度,還是搜索信息的質(zhì)量上都越來越難以令人滿意。這是由于 術(shù)自身存在的不足造成的。一是以 式獲取信息不僅時間長,而且費用高。 術(shù)是通過 進行信息資源定位的。人們上網(wǎng)獲取信息時,必須首先利用各種搜索引擎去查找各個服務器在網(wǎng)上的 后再通過 訪問該服務器,定位、瀏覽、 選擇自己所需的信息資源。這樣人們查詢一次信息,必須長時間地頻繁登錄多個服務器,因而不僅時間長,而且費用高。二是信息效率低,資源浪費嚴重。從網(wǎng)絡(luò)技術(shù)上講, 術(shù)是一種點到點的傳輸方式,當多個用戶需要一條信息時,該信息就必須重復傳輸多次,因此嚴重地浪費了網(wǎng)絡(luò)帶寬和服務器資源。三是服務器被動服務,用戶獲取信息及時性差。 式獲取信息時,用戶是主動的,服務器和信息是被動的,也就是說,用戶必須主動到服務器上尋找信息,這就是人們通常所說的“人找信息”。另外,這種方式客戶機和服務器必須保持實時的連接才能獲取信 息。但由于網(wǎng)絡(luò)信息更新快,這就要求用戶必須經(jīng)常上網(wǎng)查看信息,否則很難及時獲得自己所需的最新信息。 簡單地說, 展到今天的規(guī)模,網(wǎng)上具有海量信息,這種依靠被動“拉取”信息的服務方式,在時間延遲、查全率、查準率、響應時間等方面都不能滿足用戶的需求,可以說,以 術(shù)為代表的信息獲取模式已成為信息共享的瓶頸。 術(shù)對用戶來說都是信息獲取技術(shù),但二者存在著根本的不同。 2 以 術(shù)為核心的信息拉取技術(shù),在信息獲取時,用戶必須時時處于主動地位,也就是說,用戶必須參與信息獲取的 整個過程。而以 術(shù)為核心的信息推送技術(shù),在信息推送過程中,服務器始終處于主動地位,用戶卻處于被動地位。 與 術(shù)相比, 術(shù)不僅獲取信息的效率高,費用低,而且及時性強,因而它一出現(xiàn)便受到人們的青睞。 術(shù)能夠通過一定的技術(shù)標準或協(xié)議,把用戶感興趣的信息,按照用戶的要求及時、主動地推送給用戶。用戶收到信息后,還可以離線瀏覽。信息推送技術(shù)將深刻地改變網(wǎng)絡(luò)信息的傳播方式,使用戶不必“大海撈針”式地搜集信息,而由服務器主動、及時地把用戶感興趣的信息推送給用戶,用戶可以“以逸待勞”地坐等信息 到來。 送系統(tǒng)概述 隨著互聯(lián)網(wǎng)越來越深入人心,網(wǎng)絡(luò)容量和瀏覽人數(shù)都以驚人的速度增長著。當人們上網(wǎng)瀏覽資訊,面臨著數(shù)以百萬計的網(wǎng)頁,他們就更需要一種簡便快速的方法找到他們所需要的信息內(nèi)容。毫無疑問,推送系統(tǒng)將是一個很好的選擇,通過這類系統(tǒng),用戶可以全面、及時、準確的獲得個人感興趣的內(nèi)容。 我們來打個比方,推送系統(tǒng)好比一個傳遞信息中間者,它的一邊是發(fā)布方,一邊是接受方,一旦發(fā)布方有了新的推送消息,它就立即將信息傳遞到特定的接收方當中,將原來復雜繁瑣的步驟最簡化,以提高信息分享的效率。 在推送系統(tǒng)的面前 ,人們只需要做這幾件事,假如你是一個網(wǎng)民,你只需要訂閱好你所感興趣的內(nèi)容,然后就可以悠哉的等待最新信息的到來,想接受什么消息和拒絕接受什么消息完全由用戶來決定,以此體現(xiàn)了個性化的用戶體驗;接入你是一個組織,你想要發(fā)布一些消息(如新聞、通知等),你只需要填寫好消息的內(nèi)容,推送系統(tǒng)的服務器就會自動地將消息轉(zhuǎn)發(fā)推送到被訂閱的用戶去,不必擔心用戶因為不在線而因此的消息推送失敗,對于沒在線的用戶,服務器會將消息保存下來,等待用戶下一次上線再推送,整個過程方便保險。 3 文結(jié)構(gòu)簡介 本論文各章節(jié)內(nèi)容安排如下: 第一章作為本論文的緒論,主要論述了消息推送技術(shù)的背景現(xiàn)況、推送系統(tǒng)的概述,并簡要介紹了本文的結(jié)構(gòu)。 第二章會把實現(xiàn)系統(tǒng)的技術(shù)原理進行詳細的闡述,比如如何實現(xiàn)推送功能、如何對在線用戶進行管理、如何將信息中轉(zhuǎn)保存等等關(guān)鍵技術(shù)問題,也會討論到系統(tǒng)的運行機制和一些用到的關(guān)鍵算法。 第三章主要講述整個推送系統(tǒng)的框架設(shè)計,該章首先會對系統(tǒng)進行一個整體化的分析論述,整體論述后還會對系統(tǒng)的各大模塊進行功能性的介紹,并分析其在整個系統(tǒng)中的重要性以及各個模塊之間是如何銜接起來支撐整個系統(tǒng)。 第四章 將會深入分析各個模塊的設(shè)計實現(xiàn)過程, 剖析各模塊的內(nèi)部結(jié)構(gòu),也講述到實現(xiàn)過程中要注意的細節(jié)以及如何對模塊進行優(yōu)化以保證系統(tǒng)的運行效率。 第五章 主要對消息推送系統(tǒng)的設(shè)計實現(xiàn)進行一個整體總結(jié),并且提出本次實踐當中存在的一些局限性和有待改進的地方。 4 第二章 技術(shù)與原理 送基本原理 盡管在定義上 式的消息推送是由服務器占有主動權(quán),終端用戶處于被動狀態(tài),但其實技術(shù)實現(xiàn)的背后還是基于“請求 響應”模式,在這模式上做了一定修改。終端用戶一旦設(shè)置好自己的訂閱內(nèi)容,就不?!半[蔽”地向服務器發(fā)送請求,而一旦服務器發(fā)現(xiàn)有新的消息需要推送,就給 終端返回推送消息,以此實現(xiàn)了推送的效果。在這里主要涉及到兩個方面,一個是輪詢時間,它代表著終端訪問服務器的時間間隔;另一個是服務器的請求處理方式,接收到來自終端的請求后,服務器可以選擇掛起連接或者馬上返回消息給用戶。 根據(jù)輪詢時間、請求處理方式,分為以下兩種 簡單輪詢 : 客戶端一般以定時方式發(fā)起請求,服務端處理后返回響應。 圖 簡單輪詢原理 特點: 原理、客戶端 /服務端實現(xiàn)簡單 可根據(jù)應用場景調(diào)整輪詢時間間隔 服務端需要處理大量請求 5 長輪詢 : 客戶端發(fā)起請求后服務端將該請求掛起(不返回響應),直到超時、異?;蛐枰幚眄憫ㄍ苾?nèi)容)才返回??蛻舳耸盏巾憫笤俅握埱螅摧喸儯┓斩耍⑻幚眄憫?圖 輪詢原理 特點: 實時性高 服務端需要管理掛起請求 術(shù)作為一種網(wǎng)絡(luò)信息獲取技術(shù)是成功的 ,它的好處可概括為: 可以避免用戶在網(wǎng)上無目的上網(wǎng)查找,利用離線瀏覽技術(shù)使用戶可采用離線方式進行閱讀。 可以提高被推送信息的準確性,控制搜索深度,過濾不必要的信息。 能被推送的信息內(nèi)容有教學資料、新聞、電影、音樂、房產(chǎn)信息、股市行情、共享軟件、天氣預報等。 6 能被推送的文件有文字、圖形、圖像、聲音、小程序等,并且可以超文本或通過超文本訪問的文件的形式保存在用戶的硬盤上。 可以推送通過專用的播放程序?qū)崟r顯示的信息,向用戶提供多媒體信息。 務器能對各個用戶的興趣和偏好進行智能性識別、預測,根 據(jù)用戶要求自動搜集定制信息并定期快速、連續(xù)不斷地向目標用戶主動推送,滿足了用戶的個性化需求。 但同時也存在很多需要完善的地方: 難以滿足用戶個性化的要求。 術(shù)是按照預先確定的一系列標準來傳送信息的,這種標準是建立在發(fā)送方和接收方之間的協(xié)議上,而不是以用戶需求為基礎(chǔ)的。多數(shù) 品針對性較差,滿足個性化程度不高,這在覆蓋推送中表現(xiàn)尤為突出。 未能解決信息過載問題。 術(shù)本來是為了解決因特網(wǎng)上信息過載而出現(xiàn)的新技術(shù),然而結(jié)果事與愿違。如果 品大量使用,反而會加重網(wǎng)絡(luò)信 息過載。 數(shù)據(jù)風暴問題?!巴扑图夹g(shù)”與過去常用的“拉取技術(shù)”的顯著不同是:拉取是由用戶來控制信息的檢索與獲取,用戶是主動的。而推送技術(shù)則考慮由其他方來控制信息的傳送。當信息提供商將大量信息強制性地推向用戶時,便會將用戶淹沒于“信息垃圾”中。 網(wǎng)絡(luò)帶寬浪費問題。 術(shù)為網(wǎng)絡(luò)帶來新的服務模型的同時也引起了帶寬浪費問題,這主要是由 務器主動發(fā)送大量信息或客戶代理自動進行站點搜索所造成的。因此, 品必須考慮如何有效地利用帶寬,這將是決定該項技術(shù)前景的關(guān)鍵。 絡(luò)編程 本推 送系統(tǒng)主要使用 言實現(xiàn),因此 網(wǎng)絡(luò)編程在本項目中占有很 7 大比重,而網(wǎng)絡(luò)編程本來就是開發(fā)者的必備技術(shù)之一,接下來本節(jié)會簡單介紹一下網(wǎng)絡(luò)編程以及 身網(wǎng)絡(luò)編程的一些技巧。 從通俗的角度上來說,網(wǎng)絡(luò)編程就是指通過程序?qū)?shù)據(jù)從一臺網(wǎng)絡(luò)設(shè)備上傳輸?shù)搅硪慌_設(shè)備之中去,而上述所說的程序?qū)嶋H上就是指服務程序和客戶端,每一次的數(shù)據(jù)連接都是由一方提出請求,等另一方確認接受之后才會得以進行,并且客戶端程序就是提出請求的一方,服務器就是被請求然后確認接受的一方。 在講解網(wǎng)絡(luò)傳送的原理之前,我們需要理解兩個概念, 一個是 址,一個是端口號。 址是一個 32 位的二進制序列,通常被分割成四個八位的二進制數(shù),它好比是一臺電話的電話號碼,用來識別出互聯(lián)網(wǎng)中的唯一設(shè)備,正是有了這個唯一的標識,我們才可以在千千萬萬臺設(shè)備中將數(shù)據(jù)方便快捷的傳輸?shù)轿覀兊哪康闹鳈C中去。 而端口號是用來識別數(shù)一臺主機中的一個服務,也就是一個程序,每個程序都有自己的端口號,知道了端口號之后數(shù)據(jù)達到主機后就可以根據(jù)端口號分配到目的程序中去,以保證數(shù)據(jù)不會被其它服務所接收。 所以,通過 址 /端口號,我們就可以識別出網(wǎng)絡(luò)中的唯一服務,實現(xiàn)雙方的連接 和數(shù)據(jù)的傳送。 盡管數(shù)據(jù)的傳送是建立在 址 /端口號對之上,但傳送的方式根據(jù)其機制的不同也分為多種,而當今網(wǎng)絡(luò)連接協(xié)議主要分為兩大類: 議以及 一種面向連接的協(xié)議,言下之意就是在數(shù)據(jù)傳送之前設(shè)備之間必須先建立好可靠安全的連接,而每一次的連接必須雙方完成了“三次握手”之后才能得以進行,即雙方事前必須經(jīng)過三重確認后才可以傳輸數(shù)據(jù)。另外, 接是一種安全的連接,它保證數(shù)據(jù)一定會傳送到目的地,如果數(shù)據(jù)在傳輸過程中意外丟失,它會通過一系列的機制進行重發(fā),并且設(shè)有阻塞機制以保證網(wǎng)絡(luò)的穩(wěn)定 性,常見的 議有 議、 議等等。 一種無連接協(xié)議,即在傳送數(shù)據(jù)之前并不需要建立一個傳輸通道,而是從程序中獲取到所要發(fā)送的數(shù)據(jù),隨后將之“扔”到網(wǎng)絡(luò)中,整個過程并不需要維護一個數(shù)據(jù)的連接狀態(tài),它使用的是最大交付方式,即不保證數(shù)據(jù)能準確地 8 傳輸?shù)侥康某绦虍斨校驗椴辉O(shè)有阻塞機制,因此速度會相對 接快,適用于一些流媒體或語音數(shù)據(jù)等傳輸,平時我們使用的“ 令就是對目標主機發(fā)送 議數(shù)據(jù)包以測試當前網(wǎng)絡(luò)是否通行。 簡單介紹完一些關(guān)于網(wǎng)絡(luò)編程的概念之后,接下來談一下現(xiàn)實 絡(luò)編程中的實際方法,由于本推送系統(tǒng)使用的是 議,因此下面我們暫時不探討絡(luò)編程中 接的實現(xiàn)。 在 言中,對于 式的網(wǎng)絡(luò)編程提供了良好的支持,在實際實現(xiàn)時,以 代表客戶端連接,以 代表服務器端連接。在進行網(wǎng)絡(luò)編程時,底層網(wǎng)絡(luò)通訊的細節(jié)已經(jīng)實現(xiàn)了比較高的封裝,所以在程序員實際編程時,只需要指定 址和端口號碼就可以建立連接了。正是由于這種高度的封裝,一方面簡化了 言網(wǎng)絡(luò)編程的難度,另外也使 得使用 言進行網(wǎng)絡(luò)編程時無法深入到網(wǎng)絡(luò)的底層,所以使用 言進行網(wǎng)絡(luò)底層系統(tǒng)編程很困難,具體點說, 言無法實現(xiàn)底層的網(wǎng)絡(luò)嗅探以及獲得 結(jié)構(gòu)等信息。但是由于 言的網(wǎng)絡(luò)編程比較簡單,所以還是獲得了廣泛的使用。 下面分別介紹一下在 言中客戶端和服務器端的實現(xiàn)步驟。 在客戶端網(wǎng)絡(luò)編程中,首先需要建立連接,在 以 以建立客戶端網(wǎng)絡(luò)連接,也就是創(chuàng)建 型的對象,該對象代表網(wǎng)絡(luò)連接,示例如下: ,10000); ,80); 上面的代碼中, 現(xiàn)的是連接到 址是 計算機的 10000 號端口,而 現(xiàn)的是連接到域名是 計算機的80 號端口,至于底層網(wǎng)絡(luò)如何實現(xiàn)建立連接,對于程序員來說是完全透明的。如果建立連接時,本機網(wǎng) 絡(luò)不通,或服務器端程序未開啟,則會拋出異常。 連接一旦建立,則完成了客戶端編程的第一步,緊接著的步驟就是按照“請求 型進行網(wǎng)絡(luò)數(shù)據(jù)交換,在 言中,數(shù)據(jù)傳輸功能由 O 實 9 現(xiàn),也就是說只需要從連接中獲得輸入流和輸出流即可,然后將需要發(fā)送的數(shù)據(jù)寫入連接對象的輸出流中,在發(fā)送完成以后從輸入流中讀取數(shù)據(jù)即可。示例代碼如下: ; /獲得輸出流 ; /獲得輸入流 上面的代碼中,分別從 個連接對象獲得了輸出流和輸入流對象,在整個網(wǎng)絡(luò)編程中,后續(xù)的數(shù)據(jù)交換就變成了 作,也就是遵循“請求 型的規(guī)定,先向輸出流中寫入數(shù)據(jù),這些數(shù)據(jù)會被系統(tǒng)發(fā)送出去,然后在從輸入流中讀取服務器端的反饋信息,這樣就完成了一次數(shù)據(jù)交換過程,當然這個數(shù)據(jù)交換過程可以多次進行。 這里獲得的只是最基本的輸出流和輸入流對象,還可以根據(jù)前面學習到的 用流的嵌套將這些獲得到的基本流對象轉(zhuǎn)換成 需要的裝飾流對象,從而方便數(shù)據(jù)的操作。 最后當數(shù)據(jù)交換完成以后,關(guān)閉網(wǎng)絡(luò)連接,釋放網(wǎng)絡(luò)連接占用的系統(tǒng)端口和內(nèi)存等資源,完成網(wǎng)絡(luò)操作,示例代碼如下: ; 介紹完一個簡單的客戶端編程的示例,下面接著介紹一下 型的服務器端的編寫。首先需要說明的是,客戶端的步驟和服務器端的編寫步驟不同,所以在學習服務器端編程時注意不要和客戶端混淆起來。 在服務器端程序編程中,由于服務器端實現(xiàn)的是被動等待連接,所以服務器端編程的第一個步驟是監(jiān)聽端口,也就是監(jiān)聽是否有客戶端連接 到達。實現(xiàn)服務器端監(jiān)聽的代碼為: 0000); 該代碼實現(xiàn)的功能是監(jiān)聽當前計算機的 10000 號端口,如果在執(zhí)行該代碼時, 10 10000 號端口已經(jīng)被別的程序占用,那么將拋出異常。否則將實現(xiàn)監(jiān)聽。 服務器端編程的第二個步驟是獲得連接。該步驟的作用是當有客戶端連接到達時,建立一個和客戶端連接對應的 接對象,從而釋放客戶端連接對于服務器端端口的占用。實現(xiàn)功能就像公司的前臺一樣,當一個客戶到達公司時,會告訴前臺我找某某 某,然后前臺就通知某某某, 然后就可以繼續(xù)接待其它客戶了。通過獲得連接,使得客戶端的連接在服務器端獲得了保持,另外使得服務器端的端口釋放出來,可以繼續(xù)等待其它的客戶端連接。 實現(xiàn)獲得連接的代碼是: ; 該代碼實現(xiàn)的功能是獲得當前連接到服務器端的客戶端連接。需要說明的是一個阻塞方法,也就是當無連接時,該方法將阻塞程序的執(zhí)行,直到連接到達時才執(zhí)行該行代碼。另外獲得的連接會在服務器端的該端口注冊,這樣以后就可以通過在服務器端的 注冊信息直接通信,而注冊以后服務器端的端口就被釋放出來,又可以繼續(xù)接受其它的連接了。 連接獲得以后,后續(xù)的編程就和客戶端的網(wǎng)絡(luò)編程類似了,這里獲得的 是服務器端需要首先讀取發(fā)送過來的數(shù)據(jù),然后進行邏輯處理以后再發(fā)送給客戶端,也就是交換數(shù)據(jù)的順序和客戶端交換數(shù)據(jù)的步驟剛好相反。這部分的內(nèi)容和客戶端很類似,所以就不重復了。 最后,在服務器端通信完成以后,關(guān)閉服務器端連接。實現(xiàn)的代碼為: ; 綜上所述, 絡(luò)編程步驟 大概可以概括為如下圖: 11 圖 絡(luò)編程流程 據(jù)庫編程 推送系統(tǒng)服務器可能會面臨著大量數(shù)據(jù)的存儲和轉(zhuǎn)發(fā),也會包括一系列的事務操作,因此系統(tǒng)需要數(shù)據(jù)庫的技術(shù)支持來保證運作的效率。本推送系統(tǒng)使用了據(jù)庫來維護數(shù)據(jù),下面會介紹一下 言中數(shù)據(jù)庫的使用技巧。 介 據(jù)庫 連接)是一種用于執(zhí)行 以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用 言 12 編寫的類和接口組成。 供了一種基準,據(jù)此可以構(gòu)建更高級的工具和接口,使 數(shù)據(jù)庫 開發(fā)人員能夠編寫數(shù)據(jù)庫 應用程序 。 有了 各種關(guān)系數(shù)據(jù)發(fā)送 句就是一件很容易的事。換言之,有了 不必為訪問 據(jù)庫 專門寫一個 程序 ,為訪問 專 門寫一個程序,或為訪問 據(jù)庫又編寫另一個程序等等,程序員只需用 一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送 用。同時,將 言和 合起來使 程序 員不必為不同的平臺編寫不同的 應用程序 ,只須寫一遍程序就可以讓它在任何平臺上運行,這也是 言“編寫一次,處處運行”的優(yōu)勢。 據(jù)庫連接 體系結(jié)構(gòu)是用于 用程序 連接數(shù)據(jù)庫的標準方法。 序 員而言是 實現(xiàn)與 數(shù)據(jù)庫 連接的服務提供商而言是接 口模型。作為 程序 開發(fā)提供標準的接口,并為 數(shù)據(jù)庫 廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。 用已有的 準并支持與其 它 數(shù)據(jù)庫 連接標準,如 間的 橋接 。 現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。 有堅固、安全、易于使 用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫 數(shù)據(jù)庫 應用程序 的杰出語言。所需要的只是 用程序 與各種不同 數(shù)據(jù)庫 之間進行對話的方法。而 是作為此種用途的機制。 據(jù)庫操作 由于本系統(tǒng)采用的是 據(jù)庫,所以本節(jié)接下來只介紹 言中據(jù)庫的使用方法。 首 先,我們必須在主機中先安裝好 據(jù)庫以及在項目中導入據(jù)庫的 動包以保證 序能正常訪問數(shù)據(jù)庫,以上操作網(wǎng)上有具體教程,在這里不進行詳述。 完成上述兩部后,我們就可以使用 供的 據(jù)庫進行操作,操作過程主要分成以下幾步: 1、加載合適的 動程序 13 動程序: 動程序: 動程序: 、建立數(shù)據(jù)庫連接 與 據(jù)庫連接的方法: ” ,用戶名,密碼 ); 用來處理裝載驅(qū)動程序并且為創(chuàng)建新的數(shù)據(jù)庫連接提供支持; 用于完成 對特定定數(shù)據(jù)庫的連接; 用 于 對 特 定 的 數(shù) 據(jù) 庫 執(zhí) 行 句;包含了以下兩個重要的子類型: 用于執(zhí)行預編譯的 句; 用于執(zhí)行數(shù)據(jù)庫中存儲的過程的調(diào)用; 用于保存查詢所得的結(jié)果集 3、創(chuàng)建 象 st=; /最后可以不關(guān)閉,但推薦關(guān)閉 利用 態(tài) 句、 句和 句。 執(zhí)行 句 口提供了三種執(zhí)行 句的方法: 、 和 。具體使用哪一個方法由 句本身來決定。 于產(chǎn)生單個結(jié)果集的語句,例如 句等。 于執(zhí)行 句以及 據(jù)定義語言)語句,例如 句的效果是修改表中零行或多行中的一列或多列。返回值是一個 整數(shù),指示受影響的行數(shù)(即更新計數(shù))。對于 不操作行的語句, 返回值 14 總為零。 于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的語句。一般不會需要該高級 功能。 編譯時并不對將要執(zhí)行的 詢語句作任何檢查,只是將其作為一個 對象,直到驅(qū)動程序執(zhí)行 詢語句時才知道其是否正確。對于錯誤的 詢語句,在執(zhí)行時將會產(chǎn)生 一個 象在同一時間只能打開一個結(jié)果集,對第二個結(jié)果集的打開隱含著對第一個結(jié)果集的關(guān)閉。 如果想對多個結(jié)果集同時操作,必須創(chuàng)建出多個 象,在每個 象上執(zhí)行 詢語句以獲得相應的結(jié)果集。 如果不需要同時處理多個結(jié)果集,則可以在一個 象上順序執(zhí)行多個 詢語句,對獲得的結(jié)果集進行順序操作。 24,; 執(zhí)行 方法返回該句涉及的記錄數(shù)。 /查詢表中記錄 rs= 由于 句是 方法,返回一個結(jié)果集保存在 象 。 4、分析 象 執(zhí)行完畢 句后,將返回一個 的對象,它包含所有的查詢結(jié)果。但對 的對象方式依賴于光標( 類型,而對每一行中的各個列,可以按任何順序進行處理(當然,如果按從左到右的順序?qū)Ω髁羞M行處理可以獲得較高的執(zhí)行效率); 中的 式主要有: 缺省設(shè)置):光標只能前進不能后退,也就是只能從第一個一直移動到最后一個。 許光標前進或后退并感應到其它光標的移動情形。 許光標前進或后退并不能感應 15 到其它 光標的移動情形。 中的數(shù)據(jù)是否允許修改主要有: 缺省設(shè)置):表示 數(shù)據(jù)只能只讀,不能更改。 示數(shù)據(jù)允許被修改。 可以在創(chuàng)建 象時指定 這兩個特性。 或 ?,?,?), 的對象維持一個指向當前行的指針,利用 的 方法可以移動到下一行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件空心字教學課件
- 醫(yī)學影像技術(shù)員認證攻略
- 2026年智能辦公電腦 (臺式機)項目營銷方案
- 醫(yī)療教育信息化發(fā)展
- 2026年智能多店管理主機項目營銷方案
- 2026年消費需求與生產(chǎn)制造精確對接閉環(huán)項目評估報告
- 醫(yī)療倫理:尊重生命關(guān)愛患者
- 2026年智能保險柜項目投資計劃書
- 醫(yī)療質(zhì)量管理體系實施與效果評價
- 醫(yī)療器械創(chuàng)新案例
- 國家開放大學電大本科《流通概論》復習題庫
- 機關(guān)檔案匯編制度
- 2025年下半年四川成都溫江興蓉西城市運營集團有限公司第二次招聘人力資源部副部長等崗位5人參考考試題庫及答案解析
- 2026福建廈門市校園招聘中小學幼兒園中職學校教師346人筆試參考題庫及答案解析
- 2025年高職物流管理(物流倉儲管理實務)試題及答案
- 設(shè)備管理體系要求2023
- 2025年學法減分試題及答案
- 人工智能在體育訓練中的應用與發(fā)展趨勢
- 三亞崖州灣科技城南海資源保護開發(fā)與利用產(chǎn)業(yè)創(chuàng)新平臺 環(huán)評報告
- 沈陽開放大學招聘考試題庫2024
- 高校申報新專業(yè)所需材料匯總
評論
0/150
提交評論