一、B/S架構中怎么在網(wǎng)頁中合理的使用數(shù)據(jù)庫連接
1、連接池技術
在Web應用中使用數(shù)據(jù)庫連接時,每次請求都需要打開和關閉數(shù)據(jù)庫連接,這樣會導致頻繁的數(shù)據(jù)庫連接操作,從而影響性能。一種解決方法是使用連接池技術,即預先創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接,然后將它們放入連接池中。當應用程序需要訪問數(shù)據(jù)庫時,就從連接池中獲取連接,使用完畢后再將連接釋放回連接池中。
2、數(shù)據(jù)庫連接管理
在Web應用中,通常需要為每個用戶分配一個不同的數(shù)據(jù)庫連接。這就需要進行數(shù)據(jù)庫連接管理,以確保每個用戶都有自己的連接,避免出現(xiàn)線程安全問題或者數(shù)據(jù)錯亂等問題。
3、SQL語句優(yōu)化
在Web應用中使用數(shù)據(jù)庫連接時,SQL語句的優(yōu)化也非常重要。要盡量減少不必要的查詢操作,不要使用SELECT *,而是只選擇所需的列。還可以通過優(yōu)化索引、緩存常用數(shù)據(jù)等方法來提高SQL語句的執(zhí)行效率。
4、數(shù)據(jù)庫事務管理
在Web應用中使用數(shù)據(jù)庫連接時,需要考慮數(shù)據(jù)庫事務管理。事務是指一組數(shù)據(jù)庫操作,這些操作要么全部執(zhí)行成功,要么全部不執(zhí)行。如果在Web應用中使用數(shù)據(jù)庫事務,可以保證數(shù)據(jù)的一致性和完整性,避免數(shù)據(jù)丟失或者錯誤。
二、B/S架構概述
1、簡介
B/S架構即瀏覽器和服務器架構模式,是隨著Internet技術的興起,對C/S架構的一種變化或者改進的架構。在這種架構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3-tier結構。B/S架構是WEB興起后的一種網(wǎng)絡架構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)、維護和使用??蛻魴C上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。 這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。
2、分層
名列前茅層表現(xiàn)層:主要完成用戶和后臺的交互及最終查詢結果的輸出功能。第二層邏輯層:主要是利用服務器完成客戶端的應用邏輯功能。第三層數(shù)據(jù)層:主要是接受客戶端請求后獨立進行各種運算。3、優(yōu)點
客戶端無需安裝,有Web瀏覽器即可。BS架構可以直接放在廣域網(wǎng)上,通過一定的權限控制實現(xiàn)多客戶訪問的目的,交互性較強。BS架構無需升級多個客戶端,升級服務器即可。可以隨時更新版本,而無需用戶重新下載。4、缺點
在跨瀏覽器上,BS架構不盡如人意。表現(xiàn)要達到CS程序的程度需要花費不少精力。在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題??蛻舳朔掌鞫说慕换ナ钦埱?響應模式,通常需要刷新頁面,這并不是客戶樂意看到的。5、與C/S架構的區(qū)別
硬件環(huán)境不同:C/S 一般建立在專用的網(wǎng)絡上,小范圍里的網(wǎng)絡環(huán)境,局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務。B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡硬件環(huán)境。例如電話上網(wǎng),租用設備,信息管理,有比C/S更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行。對安全要求不同:C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強, 一般高度機密的信息系統(tǒng)采用C/S 結構適宜,可以通過B/S發(fā)布部分可公開信息。B/S 建立在廣域網(wǎng)之上, 對安全的控制能力相對弱,面向是不可知的用戶群。對程序架構不同:C/S 程序可以更加注重流程,可以對權限多層次校驗,對系統(tǒng)運行速度可以較少考慮。B/S 對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎之上,比C/S有更高的要求。 B/S結構的程序架構是發(fā)展的趨勢,從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網(wǎng)絡的構件搭建的系統(tǒng).。SUN 和IBM推的JavaBean 構件技術等,使 B/S更加成熟。軟件重用不同:C/S 程序可以不可避免的整體性考慮,構件的重用性不如在B/S要求下的構件的重用性好。B/S 對的多重結構,要求構件相對獨立的功能,能夠相對較好的重用。系統(tǒng)維護不同:系統(tǒng)維護在是軟件生存周期中,開銷大。重要C/S 程序由于整體性,必須整體考察, 處理出現(xiàn)的問題以及系統(tǒng)升級。升級難,可能是再做一個全新的系統(tǒng)。B/S程序由構件組成,方便構件個別的更換,實現(xiàn)系統(tǒng)的無縫升級,系統(tǒng)維護開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。處理問題不同:C/S 程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操作系統(tǒng)相關,應該都是相同的系統(tǒng)。B/S 建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法作到的,與操作系統(tǒng)平臺關系最小。用戶接口不同:C/S 多是建立的Window平臺上,表現(xiàn)方法有限。對程序員普遍要求較高。B/S 建立在瀏覽器上,,有更加豐富和生動的表現(xiàn)方式與用戶交流,并且大部分難度減低,減低開發(fā)成本。信息流不同:C/S 程序一般是典型的中央集權的機械式處理,交互性相對低。B/S 信息流向可變化, B-B、 B-C、 B-G等信息流向的變化,更象交易中心。6、發(fā)展前景
B/S模式不需要專門的客戶端,只要瀏覽器,而瀏覽器是隨操作系統(tǒng)就有的,方便就是他的優(yōu)勢了。而且,B/S是基于網(wǎng)頁語言的、與操作系統(tǒng)無關,所以跨平臺也是它的優(yōu)勢,而且以后隨著網(wǎng)頁語言以及瀏覽器的進步,B/S在表現(xiàn)能力上的處理以及運行的速度上會越來越快,它的缺點將會越來越少。尤其是HTML5的普及,在圖形的渲染方面以及音頻、文件的處理上已經(jīng)非常強大了。
延伸閱讀1:數(shù)據(jù)庫是什么
所謂“數(shù)據(jù)庫”是以一定方式儲存在一起、能予多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數(shù)據(jù)集合。一個數(shù)據(jù)庫由多個表空間(Tablespace)構成。數(shù)據(jù)庫就是一個存儲結構化數(shù)據(jù)的倉庫。