嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(修改稿)_第1頁
嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(修改稿)_第2頁
嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(修改稿)_第3頁
嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(修改稿)_第4頁
嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(修改稿)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注! 嵌入式數(shù)據(jù)庫管理系統(tǒng)的設(shè)計敖磊1 姜立秋2(1.大連理工大學(xué)城市學(xué)院計算機工程學(xué)院,遼寧大連,116600;2.大連理工大學(xué)城市學(xué)院計算機工程學(xué)院,遼寧大連,116600)摘要:本文設(shè)計了一種嵌入式數(shù)據(jù)庫管理系統(tǒng)。它以目前成熟的數(shù)據(jù)庫技術(shù)為基礎(chǔ),針對嵌入式設(shè)備的具體特點,實現(xiàn)了對嵌入式數(shù)據(jù)庫中數(shù)據(jù)的存儲、組織和管理。在論文的闡述當中,對嵌入式數(shù)據(jù)庫管理系統(tǒng)中幾個關(guān)鍵技術(shù)的設(shè)計和實現(xiàn)進行了研究。這些研究對于應(yīng)用于嵌入式數(shù)據(jù)庫管理系統(tǒng)的研究具有很好的參考價值。關(guān)鍵詞:嵌入式;數(shù)據(jù)庫管理系統(tǒng);存儲管理;并發(fā)控制;事務(wù)處理0 引言嵌入式數(shù)據(jù)庫管理系統(tǒng),也

2、稱為EDBMS,是由眾多模塊組成微型數(shù)據(jù)庫管理系統(tǒng)。在設(shè)計EDBMS的時,可以依據(jù)各個模塊主要功能、功能間的依賴關(guān)系以及在EDBMS總體層次結(jié)構(gòu)中所處的位置,將其核心劃分為三個部分:存儲管理、并發(fā)控制以及事務(wù)處理 1。1 存儲功能的設(shè)計思路數(shù)據(jù)庫系統(tǒng)一般存在三種模式,即內(nèi)模式、外模式以及概念模式。EDBMS核心模塊中的存儲功能為這三種模式建立了很好的映射關(guān)系。主流的嵌入式操作系統(tǒng)如VxWorks,由于具有很強的文件系統(tǒng)功能,因此可以利用這個特點完成系統(tǒng)文件和數(shù)據(jù)文件在內(nèi)外存之間的讀寫操作。另外,在分布式環(huán)境下還需要在EDBMS上實現(xiàn)有關(guān)網(wǎng)絡(luò)通信功能的模塊,可以稱之為網(wǎng)絡(luò)通信模塊。當系統(tǒng)運行時,

3、存儲管理模塊可能要判斷某個數(shù)據(jù)是來自于某個通信端口還是來自于本系統(tǒng)中的FLASH。而網(wǎng)絡(luò)通信模塊可以通過建立一個統(tǒng)一的文件視圖,在通信端口和內(nèi)存間實現(xiàn)有效的映射,使存儲模塊不必關(guān)心某個數(shù)據(jù)文件的來源。存儲管理功能的設(shè)計需要注意三個問題2:其一,無論用戶還是某個應(yīng)用進程,對數(shù)據(jù)庫系統(tǒng)的操作一般包括數(shù)據(jù)的增、刪、改、查、并歸和排序等。在操作過程中,可能出現(xiàn)在內(nèi)存中多次復(fù)制同樣的記錄的情況,這樣會影響到系統(tǒng)的運行效率。因此可以完成一個能夠在操作結(jié)果和文件之間建立映射關(guān)系的結(jié)構(gòu)體結(jié)果集。這個結(jié)構(gòu)體的內(nèi)容包括記錄編號和文件FD。當應(yīng)用程序需要訪問數(shù)據(jù)時,該結(jié)構(gòu)體會根據(jù)其中的內(nèi)容從打開的文件中取出。其二,

4、為了防止由于頻繁的寫FLASH造成EDBMS性能的下降,可以將頁面中變動的內(nèi)容暫存在內(nèi)存中。該頁就被內(nèi)核標記為臟頁,內(nèi)核將會在合適的時間如系統(tǒng)空閑或退出時把臟頁的數(shù)據(jù)寫到FLASH中去。這樣不僅可以提高系統(tǒng)的工作效率,還可以保持內(nèi)存中的數(shù)據(jù)和FLASH中的數(shù)據(jù)是一致的。其三,EDBMS是通過邏輯/物理地址轉(zhuǎn)換功能實現(xiàn)數(shù)據(jù)庫的外模式。在系統(tǒng)中,用戶數(shù)據(jù)文件是保存在內(nèi)存中一片連續(xù)存儲空間的二進制數(shù)值,而應(yīng)用程序的操作對象是二維表,訪問該數(shù)據(jù)記錄時需使用表名、屬性名和記錄號。因此存儲管理功能的邏輯/物理地址轉(zhuǎn)換功能要根據(jù)數(shù)據(jù)文件中的頭結(jié)構(gòu)等參數(shù)完成結(jié)構(gòu)體的字段。存儲管理功能的工作流程如圖1。圖1 2

5、 并發(fā)控制功能的設(shè)計思路進行并發(fā)事務(wù)處理的主要目的是為了保證事務(wù)處理的一致性和沖突解決的高效性。引起沖突的主要原因有兩方面:第一是多個進程對同一個表項中的數(shù)據(jù)進行修改;第二是事務(wù)對數(shù)據(jù)先讀后寫造成的沖突。在EDBMS中,為了使進程間能夠很好地通信,可以運用“鎖策略”實現(xiàn)多個并行的事務(wù)并發(fā)讀取同一個數(shù)據(jù)資源。即通過加鎖的方法實現(xiàn)多個并行事務(wù)對同一個表進行讀操作,但只能有一個事務(wù)對該表執(zhí)行寫操作的過程。這兩個方面分別通過“共享鎖”和“排他鎖”完成。各個事務(wù)必須嚴格遵照“鎖策略”的規(guī)則。鎖的操作分為上升階段和釋放階段。當一個事務(wù)運用“鎖策略”向數(shù)據(jù)庫提出操作請求時,EDBMS會產(chǎn)生,SubTrans

6、action進程完成該操作。這個時候為上升階段;在整個操作執(zhí)行結(jié)束后,將釋放該進程,這個時候為釋放階段。在并發(fā)處理功能中,如何解決死鎖是十分重要的問題。因此在EDBMS中可以引入死鎖檢測機制。即首先認為所有事務(wù)的調(diào)度是串行的,不會產(chǎn)生死鎖。每個等待死鎖的事務(wù)上都給定一個時間戳。一旦有兩個以上的鎖節(jié)點上絕大部分的時戳超過了預(yù)設(shè)定的門限,既認為有死鎖產(chǎn)生,即可通知監(jiān)視模塊,進行相關(guān)的處理。3 事務(wù)處理功能的設(shè)計思路事務(wù)處理功能是嵌入式數(shù)據(jù)庫管理系統(tǒng)十分重要的組成部分。它的主要任務(wù)是調(diào)度、管理分布式數(shù)據(jù)庫上運行的事務(wù),負責(zé)子事務(wù)的初啟與結(jié)束,并監(jiān)督執(zhí)行。事務(wù)的狀態(tài)有四種,分別是開始事務(wù)、提交事務(wù)、回

7、滾事務(wù)和事務(wù)恢復(fù)3。當用戶的應(yīng)用進程需要對數(shù)據(jù)庫進行訪問的時候,這樣的操作必須在一個任務(wù)中進行。每個任務(wù)中必然會有一個事務(wù)管理的操作,其主要作用是保證對數(shù)據(jù)的安全訪問。在事務(wù)開始時,必須申請事務(wù)將要用到的所有鎖,當事務(wù)結(jié)束時,釋放所有的鎖。 EDBMS事務(wù)處理功能要完成兩個非常重要的工作。首先,它要接受通過函數(shù)調(diào)用或通過消息機制的事務(wù)請求,根據(jù)操作類型產(chǎn)生相應(yīng)的事務(wù)管理進程。另外它還要按照可串行化調(diào)度的方法,依據(jù)系統(tǒng)表或用戶數(shù)據(jù)表的不同,將每個具體的事務(wù)劃分為若干“寫”和“讀”的序列。同時,對于寫事務(wù)產(chǎn)生相應(yīng)的日志機制并協(xié)調(diào)日志管理模塊的動作。EDBMS產(chǎn)生的所有可并發(fā)的讀事務(wù)和寫事務(wù),構(gòu)成一

8、個子事務(wù)空間,這些子事務(wù)訪問文件視圖(數(shù)據(jù)空間)完成整個事務(wù)的階段性操作。這個過程同時受到并發(fā)控制模塊的管理。事務(wù)處理功能的實現(xiàn)以及與其他功能模塊的關(guān)系如下圖所示:圖24 模塊間的交互在嵌入式數(shù)據(jù)庫管理系統(tǒng)中常見的功能模塊包括初始化模塊、異常處理模塊、日志管理模塊、備份還原模塊、監(jiān)視模塊、網(wǎng)絡(luò)通信模塊以及上面提到的系統(tǒng)核心中的三個功能模塊。模塊之間的交互主要采用以下兩種方式:借助消息隊列發(fā)送控制消息和函數(shù)調(diào)用。借助消息隊列發(fā)送控制信息主要應(yīng)用在進程級模塊間的交互,比如初始化模塊和其他各模塊間均采用這種方法進行控制信息轉(zhuǎn)發(fā),這是因為消息隊列只在進程級的模塊中使用。例如當系統(tǒng)啟動的時候,初始化模塊

9、會通過消息隊列發(fā)送INIT_ACK信號來同步各個模塊的創(chuàng)建,并通知存儲管理模塊對系統(tǒng)和用戶數(shù)據(jù)區(qū)進行初始化。此外異常處理模塊也是通過消息隊列接收各個模塊的告警信息。在EDBMS內(nèi)部,各個非進程級模塊之間的交互一般采用函數(shù)調(diào)用的方法。比如說對于用戶表的操作模塊往往會調(diào)用其他的四個模塊,因為對于用戶表的操作可能需要其他數(shù)據(jù)的支持,諸如數(shù)據(jù)字典、索引文件等。此外,事務(wù)管理模塊接受到用戶請求后,也會調(diào)用操作支持單元的函數(shù),創(chuàng)建相應(yīng)的事務(wù)進程、子事務(wù)進程。還有,就是子事務(wù)在執(zhí)行的過程中,如果出現(xiàn)文件尚未打開的情況,這時會調(diào)用存儲功能模塊的全局函數(shù),實現(xiàn)對用戶文件的I/O。45 結(jié)束語 本文主要針對嵌入式

10、數(shù)據(jù)庫管理系統(tǒng)的核心功能以及各功能模塊間的交互進行了論述。嵌入式數(shù)據(jù)庫管理系統(tǒng)作為一類系統(tǒng)軟件,在設(shè)計時應(yīng)嚴格遵循通用數(shù)據(jù)庫管理系統(tǒng)軟件一般應(yīng)遵循的實用性、可靠性、先進性和易用性原則。在設(shè)計嵌入式數(shù)據(jù)庫管理系統(tǒng)時應(yīng)該把握好專用性的度,以便于在實際應(yīng)用時能根據(jù)具體的情況進行裁剪;而專用性是實現(xiàn)輕量型的基礎(chǔ)。參考文獻1 龔崇超.嵌入式系統(tǒng)開發(fā)與應(yīng)用.科技資訊.2006,2(18):122-123.2 王金剛,宮霄霖,楊錫勱.基于VxWorks的嵌入式實時系統(tǒng)設(shè)計.北京:清華大學(xué)出版社,2004.3 劉偉群.嵌入式系統(tǒng)及其應(yīng)用技術(shù)特點.湖南人文科技學(xué)院學(xué)報.2004,21(02):69-71.4 苗

11、雪蘭,劉瑞新,宋會群.數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程.北京:機械工業(yè)出版社,2004.The Design of the Embedded Database Management SystemAO Lei1, JIANG Liqiu2Abstract: This article has designed one kind of embedded database management system. It based on the mature database technology the specific characteristics for embedded devices, and ach

12、ieved the data storage, organization and management on embedded database. Several key technologies designs and realized to the embedded database management system in has conducted the research. All these are of good reference value for the embedded database management system.Key Words: Embedded; Database Management Syste

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論