分布式數據庫在校園一卡通中的應用
文章出處:http://www.nyfzw.net 作者: 人氣: 發表時間:2011年12月11日
摘要:論文首先分析了分布式數據庫的概念,然后給出了校園一卡通中數據庫如何實現了分布式的流程。最后探索了系統應用的關鍵點,該論文可以作為有關人員有益的參考。
現代化的學校少不了現代化管理設施、設備的武裝。管理信息化水平正在成為衡量學校總體水平的重要因素之一,也是學校管理能否達到現代化標準的重要標志。校園一卡通系統是數字化校園的基礎工程,是數字化校園中有機的和重要的組成部分。應用一卡通,主要是結合這校園網,與校園網數據庫相連,采用一個統一的軟件進行管理,完成有關的查詢。消費等等一系列功能。達到 “一卡在手,走遍校園 ”必將滿足學校數字化校園建設和金融服務的需求及目的。
1分布式數據庫淺析
1.1分布式數據庫的概念
要開發一個基于數據庫的應用系統,其中最關鍵的一步就是整個系統所依據的數據庫的建模設計,從邏輯的到物理的,一個環節疏于設計,整個的應用系統便似建立在危房之上,隨著開發過程的不斷深入,它要隨時面臨著各種難以預料的風險,開發者要為修改或重新設計沒有設計好的數據庫系統而付出難以預料的代價。所以,一個良好的數據庫設計是高效率的系統所需要的重要基礎。而分布式數據庫就是本系統所依托的核心。
所謂分布式數據庫(簡稱 DDB)可以定義為物理上分布而邏輯上集中的共享數據的集合。分布式數據庫跟集中式數據庫有共同點也有不同之處。對于分布式數據庫來講,它也包含著兩個重要的組成部分:首先是對于數據的集合,它們是物理上硬件存在的數據庫,是分布式數據庫最關鍵的組成部分。另外的一個組成部分,是隸屬于數據結構方面,它實現了對數據段的分片、分布描述。
1.2分布式數據庫的策略
在分布式數據庫系統,數據分割和分布是兩個重要的概念。事實上 ,大部分的問題是分布式數據庫數據分割和分布 ,導致整個系統的可用性和可靠性以及效率方面的影響。數據分割發揮著重要的作用,它采用某種方式使得全局數據庫按照一定的層次、邏輯關系進行整合,從而實現得到不同的局部數據庫;數據分布通常描述了數據庫的分布特點。以為對于分布式數據庫來說,所有的數據沒有保存在一個統一的地方,它們以邏輯段方式分布到了很多網絡節點上。一般來說,分布式數據庫的數據分布策略是多種多樣的,下面進行分析:
1)所有的數據段集中于同一地點。這樣的策略保證系統的數據都存儲在同一地點 ,使得對其控制和管理非常之容易,也可以使得數據一致性和完整性得到保證。這里需要注意,由于檢索和修改數據通過這個平臺的時候,會使得現場負擔加重。特別是如果這個網站存在著瓶頸,那么很容易導致整個系統癱瘓,總之系統的可靠性得不到保證。
2)分割式所有數據只有一份,它被分割成若干個邏輯片段,每個分成幾塊分配在了不同地點。這樣的策略能夠允許充分利用各種現場倉儲設備來進行數據存儲,存儲的數據在不同的地點可以修改數據,并發揮操作系統的并行處理能力。同時 ,由于數據分布在多個地點 ,當一些網站出現故障時,系統還可以運行,提高了系統的可靠性。
3)復制式。對于總體數據存在著多個復制備份,而且每一個網站都是完全的拷貝數據。通過這個策略,會使得數據庫可靠性高、響應速度快,而且回收數據容易得多。但是需要使得每個站點數據同步,這往往付出高昂的代價。而且當整個系統的數據冗余比較嚴重時,數據庫存儲通常也會受到較大影響。
4)混合數據分為幾個子集,每個不同子集的網站,但沒有任何地點保存所有的數據。這樣的策略,具有復制式和分割式的雙重特點,可以提高系統效率,但是也保有了二者的復雜性。
2基于 XML的數據庫交互
2.1基本思想
在整個校園一卡通分布式數據庫及數據分布方案中,把各個子系統的數據庫設計為如圖 1所示。
圖1 數據庫互聯
由于一卡通的實現,實際上是對原有校園各個子系統的二次開發、改造與結合,那么整個一卡通系統的實現就需要需要借助于 XML技術。 XML(Extensible Markup Language,可擴展標記語言)是一種界定文本數據簡便而標準的方法,得到工業界廣泛支持,具有自描述和數據結構化表示的特點。 1998年 2月,XML1.0成為 W3C的推薦標準,它的數據描述機制使它成為 Internet/Intranet上共享數據信息的一種有效方式,能夠在不同的用戶和程序之間交換數據而不論其平臺如何;文檔類型定義 (Document Type Definition DTD)則使 XML文檔不僅遵循 XML的語法規則,而且受所創建的詞匯表規則約束,成為有效的 XML文檔。
本文主要是應用 XML作為數據庫從分布到中央的交互載體。在相互轉換時需要應用某種的規則從而保證正向變換以及反向變換都是可行的。不僅如此,這種規則還要使得關系數據庫里固有的約束關系得以保存。首先當把關系模式轉化為 XML的表達時,應該根據提取出的關系模式來生成關系模式,這個過程是通過數據樹來實現的;然后需要利用這個關系數據樹逆向生成表跟表之間所具有的嵌套關系,從而得到結構樹。把映射結構樹以及關系樹結合起來,就得到了 XML模式的 XML Schema文件。當把 XML模式轉換為關系模式的時候,這里需要調用解析工具來分析 Schema,然后用形式化的語句給出它里面所蘊含的相關結構和信息。再一步,就是根據形式化的結果生成元素樹。而這就獲得了 XML Schema描述的結構。
2.2關系模式映射為 XML模式
對于關系模式變換為 XML來說,需要應用有關的程序接口來讀取數據庫相關數據,同時得到所蘊含的模式關系。進一步應用集合,來對關系模式進行表達。
當映射結構把關系轉過以后,就會得到表表之間,以及列列的相互關系。這個轉化包含了兩步,其一是關系模式的表、列到 XML下元素、屬性的映射。這一步的關鍵是,數的生成以及 XML-Schema文檔的建立。具體的過程是這樣的,通過建立結構樹,然后采用深度遍歷的方式,把嵌入的上層元素反映到文檔中,然后將下層元素也反映過去。
2.3 XML模式到關系模式的映射
映射轉化需要很多步才能完成。首先是依托 XML,然后把樹作為輔助性的工具,把素有向樹中某些節點化為表,某些化為列,而根元素這里就取名為原來的是數據庫,里面的屬性把數據庫的關系進行了表達;緊接著是對應關系模式 R中 P的映射,這里主要是把 XML Schema中的普通元素定義和屬性轉化為列的關系;再次是主關鍵字的約束轉化。在此基礎上,生成 SQL語言:1)合成創建表語句,涉及關系模式各列的數據類型、默認值、是否可以為空等條件。 2)根據關系模式 R(PK)合成主鍵語句,保證關系模式的實體完整性。 3)根據關系模式 R(FK)合成外鍵語句,保證關系模式的參照完整完性。 4)根據關系模式 R(UI)合成唯一鍵,根據 P中的分量合成檢查語句,保證關系模式的用戶定義完整性。
當這些步驟都完成以后,就需要解析 XML數據文檔了。這里需要依照 Schema的轉化結果,把數據合成 SQL語言,從而生成數據庫。
3并發時的一致性保證
在整個校園一卡通分布式數據庫及數據分布方案中,把各個子系統的數據庫設計為各用戶使用,即允許多個用戶同時訪問數據庫。在這種情況下,經常會出現這樣的問題:那就是許多用戶一起并發對對數據庫進行查詢、修改的操作時,會產生一定的沖突。如果沒有某種保障措施,很有可能出現錯誤的結果。比如,如果同時有兩個人都在訪問相同的表格、行和列,那么就很有可能導致數據的訪問沖突。這種保障措施主要是為了協調這種對數據訪問的一致性,需要在 SQLServer中應用鎖機制,同時限制、保證最大量的并發用戶。這里特別需要對鎖機制進行說明,它主要作用就是像一把鎖一樣,當某個動作正在修改數據庫時,要防止其它用戶訪問到不一致的數據。這里當某個事務向系統發出要求的動作時,就會對被操作的數據加鎖(LOCK),其它事務必須等到此事務解鎖之后才能訪問該數據,從而,在多個用戶并發訪問數據庫時確保不互相干擾。
參考文獻:
[1]裴沛 一卡通在數字化校園整合中的關鍵技術研究[J].2008(7):20-21.
[2]佩英 分布式數據庫系統及其應用[M].北京:科學出版社 ,2008.
[3]郭品 SQLServer2000系統管理 [M].北京:電子工業出版社,2008.
【稿件聲明】:如需轉載,必須注明來源和作者,保留文中圖片和內容的完整性,違者將依法追究。