




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
北京聯(lián)合大學應用文理學院 學年論文 北京聯(lián)合大學應用文理學院學年論文專 業(yè) 信息與計算科學 論文題目 JAVA數(shù)據(jù)庫連接池技術在文化創(chuàng)業(yè)產業(yè)中的應用姓 名 張遜 班 級 2009 指導教師 逯燕玲 實踐時間 20011年12月2012年2月 一、學年論文的目的和任務學年論文是信息與計算科學專業(yè)學生必修的專業(yè)實踐課程,屬于人才培養(yǎng)的重要實踐性教學環(huán)節(jié)之一,是培養(yǎng)學生創(chuàng)新精神和鉆研能力的重要手段。在開展了專業(yè)集中實踐教學模塊(一)、(二)、(三)的基礎上,要求學生發(fā)現(xiàn)一個實際問題,經(jīng)過調研、收集資料、分析問題并努力解決問題的過程,使學生學會獨立提出問題并解決所提出的問題。學年論文的撰寫培養(yǎng)學生做學問的嚴謹和規(guī)范,學生用所學的本專業(yè)知識進行實際調研和分析,不僅可使學到的基礎知識和技能得到進一步理解和強化,而且有助于培養(yǎng)學生獲取知識的能力和分析、概括總結的能力,也為畢業(yè)論文的寫作打下一定的基礎。二、學年論文的內容與要求(一)選題要求學年論文的選題要求是一人一題,主要由學生自主選題,也可由教師指導選題。選題要新穎,具有一定的深度、難度與工作量。選題可從以下幾個方面進行:(1)闡明本學科理論在實際應用中的一些問題;(2)探討本學科中某些觀念、熱點問題或研究歷史進程、預測其發(fā)展趨勢;(3)闡述本學科領域發(fā)展進程中的重大事件和重要問題;(4)對專業(yè)課程中的某一部分內容進行討論或研究。(二)學年論文要求(1)系統(tǒng)、完整地闡述論題所包含的問題,明確表達作者自己的觀點與結論;(2)綜合應用已學的專業(yè)理論與知識,融會貫通所掌握的資料;(3)學生通過結合幾年的學習經(jīng)歷進行思考、選題、查閱資料最后寫出論文;(4)要求學生撰寫不少于3000字的論文,語言要求文理通順,層次分明,表達較確切,格式符合規(guī)范;(5)參考文獻要查閱5本參考書目和5篇學術論文以上,文中引用的需要標注。摘 要隨著Internet/Intranet建網(wǎng)技術的飛速發(fā)展和在世界范圍內的迅速普及,電子商務開始更加重要,商務網(wǎng)站吸引了大量的用戶,訪問量逐漸增大,導致了網(wǎng)站相應速度明顯變慢甚至無法響應。所以商務網(wǎng)站管理應開始從程序設計方面,數(shù)據(jù)庫的連接性能方面優(yōu)化。JAVA語言的跨平臺型、可移植性健全性在網(wǎng)絡應用中有很明顯的優(yōu)勢,采用JAVA語言為基礎是解決連接數(shù)據(jù)庫平靜的很好的解決辦法,可以使系統(tǒng)性能獲得顯著的提高。關鍵詞:JAVAWEB 數(shù)據(jù)庫連接池 優(yōu)化 設計方案1引言 在基于Web 的應用程序開發(fā)中, 數(shù)據(jù)庫支持下的Web 頁可以具有存儲、搜索和智能處理等功能。數(shù)據(jù)庫連接是一類重要的資源, 連接數(shù)據(jù)庫不僅要開銷一定的通訊和內存資源, 還必須完成用戶認證、安全上下文配置這類任務, 因而往往成為最耗時的操作。隨著Web 應用的不斷深入、用戶數(shù)量的增加以及Internet 上用戶請求的隨機性,必然會出現(xiàn)并發(fā)的用戶請求??蛻舳说牟l(fā)請求會引起應用程序與數(shù)據(jù)庫連接數(shù)的增加, 從而使應用程序效率下降。這與人們對基于Web 的系統(tǒng)具有足夠的動態(tài)交互能力的要求產生了矛盾。為解決這一矛盾, 除了需要選擇配置高性能的服務器外, 還應有高效的軟件技術來支持。通過Web與數(shù)據(jù)庫相結合也是構造高效Web 應用不可缺少的內容, 而Web 訪問數(shù)據(jù)庫效率的高低, 直接影響到系統(tǒng)的整體性能。2數(shù)據(jù)庫連接池基本原理連接池技術就是預先建立一些連接放置于內存中以備使用, 當程序中需要建立數(shù)據(jù)庫連接時, 并不需要直接向數(shù)據(jù)庫連接器發(fā)出請求, 而只需要從數(shù)據(jù)庫連接池中取得所需要的連接; 當應用程序使用完一個連接, 并不從物理上關掉連接, 而是將連接還回到連接池 。1使用連接池技術的優(yōu)點主要體現(xiàn)在以下方面: 不用為每個用戶請求建立新的連接, 可以提高數(shù)據(jù)庫訪問的效率和整個應用程序的性能; 不用重復為連接用戶名、連接密碼等數(shù)據(jù)庫訪問的細節(jié)編碼, 節(jié)省編程工作量; 方便地控制連接到數(shù)據(jù)庫的許可用戶數(shù), 商業(yè)應用中在成本、安全性方面優(yōu)勢明顯; 在數(shù)據(jù)庫系統(tǒng)更換時保證應用程序不用作大的調整 。3實現(xiàn)JAVA數(shù)據(jù)庫連接池的途徑 3.1連接池的基本操作 連接池一般由三部分組成: 連接池的建立, 連接池對連接的管理和連接池的關閉。(1)連接池的建立:建立連接池。首先建立一個靜態(tài)連接池, 所謂靜態(tài)是指, 池中的連接在系統(tǒng)初始化時就分配好了, 并且不能隨意關閉。在Java 中用Vector可以方便地構建連接池4。(2)連接池對連接的管理:連接池的自管理。連接池管理策略是連接池機制的核心。當客戶需要訪問數(shù)據(jù)庫時, 不是直接同數(shù)據(jù)建立連接, 而是向連接池申請一個連接 2 。同樣, 當客戶訪問數(shù)據(jù)庫完畢, 釋放連接時,并不是直接關閉連接, 而是向連接池釋放連接。當客戶應用向連接池請求數(shù)據(jù)庫連接時, 先查看池中是否有空閑連接, 如有, 則把空閑連接分配給客戶,如池中沒有空閑連接, 則等待, 直到有空閑連接分配給客戶, 此時該連接被多個用戶復用。當客戶釋放連接時, 喚醒所有等待連接的客戶線程并作相應處理。如果連接釋放后, 沒有等待連接的客戶線程,則把它重新放回連接池中, 并不關閉連接。由此可知, 連接池能保證數(shù)據(jù)庫連接的有效復用, 避免頻繁地建立、釋放連接所帶來的系統(tǒng)資源開銷。3(3)關閉連接池:當應用程序退出時, 應關閉連接池, 此時應把連接池建立時向數(shù)據(jù)庫申請的連接對統(tǒng)一歸還給數(shù)據(jù)庫。3.2數(shù)據(jù)庫連接池的設計方案連接池設計包括兩部分: 連接池的建立及對池中連接的分配和釋放的管理。(1)連接池的建立:在系統(tǒng)初始化時, 通過讀取XML 配置文件中的參數(shù)和對應取值, 應用程序在內存中建立一個靜態(tài)連接池。靜態(tài)是指對于應用程序來說連接池是唯一的, 連接池的參數(shù)配置也是確定的。當連接池對象被初始化后, 池中已創(chuàng)建好一定數(shù)量的連接, 且不能隨意關閉它們, 以后線程所使用的連接都是從連接池中獲取的, 這樣就可以避免因連接隨意的建立、關閉而造成的內存開銷。(2)連接的分配于釋放:當連接池建立后, 如何設定連接池的管理機制成為接下來的關鍵問題。采用 “Reference Counting”的設計模式, 為每一個數(shù)據(jù)庫連接設置一個引用計數(shù), 通過記錄該連接的使用次數(shù), 決定其再次復用或是被釋放。如圖一所示。當有線程請求數(shù)據(jù)庫連接時, 首先查看連接池中的空閑隊列, 空閑隊列用于存放未分配的連接。如果存在空閑連接就將其分配給該線程, 同時注冊到已分配的隊列中, 對應引用計數(shù)加1。若空閑隊列為空, 則查看當前所創(chuàng)建的連接數(shù)是否達到max act ive, 如果未達到就創(chuàng)建一個新的連接給請求的線程; 如果已達到max act ive, 則等待連接的釋放, 當?shù)却龝r間大于maxwait 后仍沒有連接釋放, 就返回請求失敗的程序。當有線程釋放數(shù)據(jù)庫連接時, 先查看該連接的引用計數(shù)是否超過了max use, 如果超過就將其刪除, 同時檢查當前連接池中的空閑隊列, 如果空閑隊列中的連接數(shù)小于max idle,就創(chuàng)建新連接到空閑隊列, 以保證有適量的連接備用; 如果引用計數(shù)小于maxuse, 就將連接歸還空閑隊列, 以供再次使用。43.3 連接池的優(yōu)化(1)動態(tài)連接池模型:針對靜態(tài)連接池的局限性, 提出了動態(tài)連接池優(yōu)化模型, 通過動態(tài)地加載、修改、刪除連接池, 可以為不同類型的數(shù)據(jù)庫同時創(chuàng)建連接池對象, 實現(xiàn)靈活地配置連接池參數(shù), 使系統(tǒng)性能得到更大的優(yōu)化。(2)連接池管理類:連接池管理類符合單例模式, 即系統(tǒng)中只能有一個連接池管理類的實例。這個實例在創(chuàng)建后便一直運行, 用于對多個連接池對象的管理, 它提供以下功能:實例創(chuàng)建時裝載并注冊配置文件中的數(shù)據(jù)庫的DBC 驅動程序;根據(jù)配置文件中給定的信息創(chuàng)建連接池對象, 每一個連接池對象都有一個名字;提供獲取與釋放給定連接池連接的接口;提供注冊新連接池, 修改、刪除己有連接池的接口;設置運行日志。5引入連接池管理類主要是為了方便對多個連接池的使用和管理, 如系統(tǒng)需要連接不同類型的數(shù)據(jù)庫等。當應用程序創(chuàng)建一個連接池分配類對象, 這個對象在創(chuàng)建時便獲得了連接池管理類實例: 通過該實例的創(chuàng)建可以在內存中加載配置文件中記錄的所有數(shù)據(jù)庫對應的連接池對象, 在程序運行中, 可以動態(tài)的修改連接池的參數(shù), 使系統(tǒng)能夠根據(jù)應用程序的不同要求, 靈活配置連接池中連接的最大空閑數(shù)和最大連接數(shù)等。4 結束語Java 的Web 開發(fā)技術由于其平臺無關性,功能強大,支持公司多,升級維護方便的優(yōu)點,使得Java 的Web 技術將會有越來越廣泛的應用。盡管Java技術越來越成熟,但是在利用該技術進行信息化管理系統(tǒng)的開發(fā)過程,仍存在一些不足。在使用Java 進行與數(shù)據(jù)庫有關的系統(tǒng)開發(fā)中, 應用連接池技術能極大地減少數(shù)據(jù)庫連接的建立和關閉。我在這里探討了數(shù)據(jù)庫連接池的基本模型和設計方案, 并在靜態(tài)連接池的基礎上, 通過設計連接池分配類和管理類來實現(xiàn)動態(tài)連接池的構建, 并提出了相應的動態(tài)連接池優(yōu)化模型。在開發(fā)的基于web 的部門辦公數(shù)字化管理信息系統(tǒng)中應用了優(yōu)化的連接池技術, 降低了系統(tǒng)開銷, 極大地提高了數(shù)據(jù)庫的訪問效率。參考文獻1 張立仿,陳艷浩. 基于Java 的數(shù)據(jù)庫連接池技術研究河南師范大學網(wǎng)絡中心,河南新鄉(xiāng)2009.2Ho rsta nn C S. Java 2 核心技術( 卷) : 高級特性 M . 朱志譯. 北京: 機械工業(yè)出版社, 2000. 3周彩蘭,陳才賢基于Java和Web數(shù)據(jù)庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險中介AI應用企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 物流園區(qū)智能化改造行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 和朋友旅游協(xié)議書
- 高效織物除菌劑與消毒液行業(yè)跨境出海項目商業(yè)計劃書
- 金融市場數(shù)據(jù)訂閱服務行業(yè)跨境出海項目商業(yè)計劃書
- 高速SerDes接口電路行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 外單位用電協(xié)議書
- 鄉(xiāng)村花卉觀賞園行業(yè)跨境出海項目商業(yè)計劃書
- 保險公估AI應用企業(yè)制定與實施新質生產力項目商業(yè)計劃書
- 米粉廠會伙合同范本
- 伺服系統(tǒng)面試題及答案
- 2025年小班小手拍拍標準教案
- 校園閑置物品創(chuàng)新創(chuàng)業(yè)
- 預見性護理及早期風險識別課件
- 100以內加法減法口算1000題知識練習打印
- 2025年小學《義務教育數(shù)學課程標準》(2022 年版)測試題庫及答案(共3套)
- 2025年新《礦產資源法》變化解讀
- 錨釘在手外科的臨床應用
- 工業(yè)機器人技術基礎及應用配套課件
- 《資產評估實務》教案
- 施工現(xiàn)場平面布置與臨時設施、臨時道路布置方案
評論
0/150
提交評論