潘培雯
摘要:隨著計(jì)算機(jī)技術(shù)的發(fā)展,關(guān)于分布式數(shù)據(jù)庫管理系統(tǒng)的相關(guān)問題越來越受到專家學(xué)者的重視,但是從目前的研究狀況來看,在分布式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)上還有很多問題有待解決。在本文中,筆者以分布式計(jì)算機(jī)技術(shù)結(jié)構(gòu)特點(diǎn)介紹為起始點(diǎn),對分布式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)原則以及設(shè)計(jì)核心內(nèi)容展開分析,目的在于完善分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)上的相關(guān)研究。
關(guān)鍵詞:分布式;計(jì)算機(jī)技術(shù);數(shù)據(jù)庫;管理系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)06-0006-02
網(wǎng)絡(luò)的迅速發(fā)展導(dǎo)致以往的數(shù)據(jù)庫技術(shù)已經(jīng)無法滿足生產(chǎn)生活的需求,如今大眾更是希望在訪問存放在不同網(wǎng)絡(luò)以及不同節(jié)點(diǎn)的數(shù)據(jù)時(shí),不用過多去了解數(shù)據(jù)是如何在計(jì)算機(jī)上進(jìn)行存儲的,而且當(dāng)計(jì)算機(jī)系統(tǒng)的某一部位出現(xiàn)問題時(shí),原本的數(shù)據(jù)仍然不會丟失,因此,這就要求在對分布式數(shù)據(jù)庫管理系統(tǒng)進(jìn)行設(shè)計(jì)時(shí),要結(jié)合分布式計(jì)算機(jī)技術(shù)的結(jié)構(gòu)特點(diǎn),按照一定的設(shè)計(jì)原則并且以設(shè)計(jì)原則為指導(dǎo)來完善設(shè)計(jì)內(nèi)容。
1 分布式計(jì)算機(jī)技術(shù)結(jié)構(gòu)特點(diǎn)介紹
分布式計(jì)算機(jī)技術(shù)通過對某些特定邏輯代碼采用集中式的管理辦法,從而為安裝在客戶端上的應(yīng)用程序在同一時(shí)間對其展開訪問提供便利,最終開放信息資源,實(shí)現(xiàn)共享。分布式計(jì)算機(jī)技術(shù)結(jié)構(gòu)特點(diǎn)如下:
1)較高的安全性。在分布式結(jié)構(gòu)中,客戶端與數(shù)據(jù)庫之間存在運(yùn)用程序服務(wù)器,因而導(dǎo)致客戶端無法直接對數(shù)據(jù)庫展開訪問,這為數(shù)據(jù)庫的非法入侵問題提供了一個(gè)行之有效的解決方式,因此提高了安全性。
2)維護(hù)的快捷性。由于邏輯代碼的封裝過程在中間層進(jìn)行,不同客戶端上的運(yùn)用均在中間層進(jìn)行訪問,因此,只需要在中間層便可以完成對數(shù)據(jù)庫的訪問控制,從而為系統(tǒng)的更新?lián)Q代等維護(hù)提供了便捷條件。
3)平衡數(shù)據(jù)處理。因?yàn)榉植际浇Y(jié)構(gòu)能夠平衡載荷,而且對網(wǎng)絡(luò)資源能夠優(yōu)化處理,而且對于不能工作的服務(wù)器能夠用冗余的系統(tǒng)取而代之,因此在一定程度上提升了計(jì)算機(jī)系統(tǒng)的可靠性。
2 分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)原則
2.1 系統(tǒng)安全原則
對于計(jì)算機(jī)系統(tǒng)來說,安全性至關(guān)重要,系統(tǒng)安全具體體現(xiàn)在當(dāng)系統(tǒng)的某一個(gè)部位出現(xiàn)問題時(shí),不會影響整個(gè)系統(tǒng)的正常運(yùn)作而且原數(shù)據(jù)也不會丟失,這也是在設(shè)計(jì)分布式管理系統(tǒng)時(shí),不容忽視的一個(gè)問題。在系統(tǒng)設(shè)計(jì)過程中,通常采用域的形式來實(shí)現(xiàn)對數(shù)據(jù)的統(tǒng)一管理,在系統(tǒng)運(yùn)行的任何一個(gè)時(shí)間節(jié)點(diǎn)均只有一個(gè)主服務(wù)器來承擔(dān)對整個(gè)系統(tǒng)的維護(hù)工作,同時(shí),為了保證系統(tǒng)運(yùn)行安全,除了主服務(wù)器以外,還有若干個(gè)備份服務(wù)器,當(dāng)主服務(wù)器出現(xiàn)問題時(shí),備份服務(wù)器接替主服務(wù)器的工作維持系統(tǒng)運(yùn)行。因此,接替運(yùn)轉(zhuǎn)的備份服務(wù)器必須能夠與主服務(wù)器同步,當(dāng)對主服務(wù)器上的重要任何配置進(jìn)行更改時(shí)均需要在備份服務(wù)器上有所反饋,做出同樣處理。除此之外,當(dāng)把備份服務(wù)器以外加機(jī)器的形式添加到系統(tǒng)中來時(shí),必須對主服務(wù)器上的系統(tǒng)資源庫信息有所保存并且同步到外加機(jī)器上。通過諸如上述的方式來確保分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)中系統(tǒng)的安全性。
2.2 數(shù)據(jù)透明原則
在分布式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)中,數(shù)據(jù)透明原則不容忽視,也就是對系統(tǒng)數(shù)據(jù)實(shí)現(xiàn)透明化的管理狀態(tài),而這一原則可以通過系統(tǒng)中的數(shù)據(jù)字典來實(shí)現(xiàn)。在計(jì)算機(jī)中,系統(tǒng)數(shù)據(jù)字典是系統(tǒng)管理中的重要組成部分,其主要作用就是將系統(tǒng)里面的相關(guān)數(shù)據(jù)進(jìn)行整理分類然后按照一定的邏輯順序組織在一起,進(jìn)而為數(shù)據(jù)的查詢、瀏覽、復(fù)制等一系列操作提供便利。當(dāng)操作者得到進(jìn)入邏輯數(shù)據(jù)庫進(jìn)行訪問的相應(yīng)權(quán)限之后,便可以開始訪問,而不需要再來考慮自己所用的系統(tǒng)、用的哪一臺計(jì)算機(jī)以及所訪問的數(shù)據(jù)在網(wǎng)絡(luò)中的放置位置。因此便實(shí)現(xiàn)了在系統(tǒng)設(shè)計(jì)中數(shù)據(jù)透明性的要求。
3 分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)核心內(nèi)容
3.1 客戶機(jī)和服務(wù)器以及服務(wù)器相互之間的通信
分布式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)需要一個(gè)良好的通信機(jī)制,而實(shí)現(xiàn)信息的直接傳遞則是系統(tǒng)通信的核心部分,在運(yùn)行過程中,這一通信機(jī)制往往是依靠Windows socket消息驅(qū)動(dòng)程序來實(shí)現(xiàn)。
當(dāng)客戶機(jī)與服務(wù)器相互通信時(shí),客戶機(jī)首先會向服務(wù)器發(fā)送用戶名、口令等相關(guān)連接信息,與此同時(shí),服務(wù)器將會打開對應(yīng)的搜尋端口號來獲取客戶機(jī)的指令請求。為了方便信息的發(fā)送與接收,系統(tǒng)采用特定用戶的傳播模式,以函數(shù)形式在客戶機(jī)與服務(wù)器間實(shí)行信息傳遞。
因?yàn)楣芾硐到y(tǒng)的運(yùn)行并非單獨(dú)服務(wù)器的運(yùn)作,因此,在服務(wù)器間也需要信息傳遞,每個(gè)進(jìn)入系統(tǒng)的服務(wù)器都需要有一個(gè)明確的身份(主服務(wù)器還是備份服務(wù)器),因此,當(dāng)系統(tǒng)中有新服務(wù)器進(jìn)來時(shí),首先要同其他服務(wù)器配對連接,在配對過程之中識別身份以及判斷主服務(wù)器的存在與否。
3.2 系統(tǒng)相關(guān)配置文件
配置文件是對系統(tǒng)進(jìn)行擴(kuò)充的關(guān)鍵文件,在管理系統(tǒng)中主要分為兩大類:服務(wù)器配置文件以及客戶機(jī)配置文件,在服務(wù)器上有較多種類配置文件,主要分為:放置服務(wù)器名以及通信端口號、放置主服務(wù)器存在標(biāo)志、主服務(wù)器名以及通信端口號、放置每一個(gè)客戶機(jī)通信端口號,具體作用如下所述:
1)服務(wù)器配置文件。當(dāng)某個(gè)服務(wù)器進(jìn)入系統(tǒng)并且運(yùn)行后,該服務(wù)器先從放置有每一個(gè)服務(wù)器名以及通信端口號的配置文件中調(diào)取相關(guān)數(shù)據(jù),然后依據(jù)獲取的數(shù)據(jù)來初始化連接對象以達(dá)到連接每一個(gè)系統(tǒng)服務(wù)器的目的。
2)主服務(wù)器配置文件。當(dāng)系統(tǒng)中已存在某個(gè)主服務(wù)器,其余每個(gè)服務(wù)器均會對主服務(wù)器名、通信端口號等相關(guān)信息進(jìn)行記錄,形成配置文件,而這正是主服務(wù)器與備份服務(wù)相互連接時(shí)的識別信息。
3)客戶機(jī)配置文件。當(dāng)客戶機(jī)與服務(wù)器通信時(shí),服務(wù)器需要對與自身連接的客戶機(jī)的端口號有記錄,以便打開這個(gè)端口進(jìn)行偵聽,因此,客戶機(jī)配置文件正是為了保留客戶機(jī)通信端口號而存在。
3.3 數(shù)據(jù)一致性
當(dāng)系統(tǒng)的某個(gè)位置出現(xiàn)故障時(shí),為了確保對問題部分的正常訪問,則系統(tǒng)需要建立反應(yīng)機(jī)制,在其余節(jié)點(diǎn)位置對故障部分的數(shù)據(jù)進(jìn)行備份,這樣就帶來了系統(tǒng)運(yùn)行過程中數(shù)據(jù)是否一致的問題。當(dāng)用戶對任何的備份副本數(shù)據(jù)做修改時(shí),則需要在每一個(gè)副本中均有反映,否則會造成系統(tǒng)數(shù)據(jù)紊亂。在管理系統(tǒng)設(shè)計(jì)過程中,對數(shù)據(jù)一致性的維護(hù)可以分為兩種情況來考慮。
首先,當(dāng)系統(tǒng)中的另外一個(gè)副本正在被訪問時(shí),就無法提交修改后的文件,因?yàn)樵谕粫r(shí)間被訪問的兩個(gè)副本,其所做的更改有產(chǎn)生沖突的可能性。其次,如果系統(tǒng)在發(fā)出連接信號時(shí),尋找不到某個(gè)副本,進(jìn)而系統(tǒng)就會對這個(gè)副本進(jìn)行忽略性的處理,并且對所做的更改進(jìn)行提交。但是這種處理方式并不代表不再需要這個(gè)副本,而是讓這個(gè)副本推遲更新。對于數(shù)據(jù)變更,系統(tǒng)將會以事務(wù)文件的形式將其保留,與此同時(shí),在數(shù)據(jù)字典上將這個(gè)副本和最近副本標(biāo)記上不一致的標(biāo)志,通過這個(gè)標(biāo)志來證明這個(gè)副本還沒有進(jìn)行提交的更改,而且還需在數(shù)據(jù)字典上對此副本沒有做出提交的事務(wù)文件名稱作相應(yīng)的登記,當(dāng)此副本所在節(jié)點(diǎn)重新開啟或者再次進(jìn)入系統(tǒng),將會在數(shù)據(jù)字典中搜尋同最近副本不一樣的相關(guān)標(biāo)志。以上所述的方法,在系統(tǒng)設(shè)計(jì)過程中能夠有效的維護(hù)系統(tǒng)數(shù)據(jù)的一致性。
4 結(jié)束語
在競爭日趨激烈的今天,分布式數(shù)據(jù)庫管理系統(tǒng)不僅能夠提高各單位辦公效率,而且還能夠在很大程度上減少運(yùn)行成本。本文以分布式計(jì)算機(jī)技術(shù)結(jié)構(gòu)特點(diǎn)為基礎(chǔ),對分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)過程中應(yīng)當(dāng)堅(jiān)守的系統(tǒng)安全原則以及數(shù)據(jù)透明原則作了分析,并以此引出分布式數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)中通信、配置文件、數(shù)據(jù)一致性等核心內(nèi)容,通過以上研究來為設(shè)計(jì)出處理更加靈活,性能更加穩(wěn)定的數(shù)據(jù)庫管理系統(tǒng)提供一些建議。
參考文獻(xiàn):
[1] 柳剛. 分布式技術(shù)與數(shù)據(jù)庫應(yīng)用于計(jì)算機(jī)技術(shù)領(lǐng)域解析[J]. 煤炭技術(shù), 2013(7):198-199.
[2] 曹永峰. 分布式數(shù)據(jù)庫管理系統(tǒng)的建設(shè)[J]. 計(jì)算機(jī)與現(xiàn)代化, 2006(4):20-23.
[3] 陽富民 等.一種分布式數(shù)據(jù)庫管理系統(tǒng)體系結(jié)構(gòu)[J]. 計(jì)算機(jī)工程與應(yīng)用, 1995(2): 8-10.
[4] 成汝震, 張斌, 閻立偉. 分布式數(shù)據(jù)庫管理系統(tǒng)一種開發(fā)方法[J]. 計(jì)算機(jī)應(yīng)用研究, 1992(4): 38-39.
[5] 陳業(yè)斌. 分布式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 安徽工業(yè)大學(xué)學(xué)報(bào), 2005(3): 290-292.