王軼宏
(大慶油田勘探開發研究院信息室,黑龍江大慶 163000)
在數據庫系統設計時,要綜合考慮組成數據庫系統功能模塊的具體描述,主要包括系統數據描述、數據字典的定義、系統數據正確性維護、數據存取分析、查詢與事務的執行、處理以及系統數據的安全與可靠性保護設計等相關功能。
實時數據庫管理系統(RTDBMS)是根據系統運行的特點,系統執行的事務和數據處理都具有定時限制的數據庫管理系統。RTDBMS中通過數據庫處理事務的時間來實現數據處理時間限制的,所以可以將數據處理的時間限制的數據庫系統成為RTDBMS,很明顯,RTDBMS的正確性不僅依賴與系統處理數據的正確性和邏輯性,還依賴與系統處理數據的時間性。RTDBMS的設計目標是通過時間的限制,來完成數據處理的工作,要求系統返回正確及時的信息,而不要正確但是不及時的信息,它可以通過犧牲系統處理數據的準確性和一致性,但必須保證數據處理的及時性。
RTDBMS對事務的處理能夠在規定的時間內完成,保證系統在執行事務的實時性,根據實時數據庫管理系統執行事務的特點,事務執行的性質可分為硬實時和軟實時兩種類型,硬實時要求事務的執行必須在系統規定的時間內完成,否則將會對系統造成災難性的后果。軟實時是指在限制時間內,如果事務的處理沒有完成,會對系統造成一定的影響,但是其結果不是災難性。
根據數據處理的需要,首先進行事務執行的定義方式:
定義1:事務T=<id,a time,w time>,id為要處理事務的ID號,a time表示事務執行的規定時刻,w time表示事務的執行時刻。
定義2:事務執行處理的最優先策略的事務級別分配,相應的分配函數為 PRI=f(wtime-atime)。
根據定義,對系統執行的事務按照優先級進行分配,系統在處理時,會根據事務的優先級別進行分析執行,在高優先級的事務執行時,系統會按照優先級對事物進行執行,RTDBMS在執行事務時,一次只能執行一個事務,而不能同時并發執行兩個或以上的同級別的事務,這樣就弱化了系統并發控制功能,避免了對系統大量數據的上鎖和解鎖的操作,保證系統在執行事務時能夠在限定的時間內完成,由于系統處理事務的內存有限,通過對事務執行的優先級進行分配,有效的防止了多個事務的并發執行,節約了系統的內存資源,提高事務處理的效率。
RTDBMS在處理數據時,通過系統的預處理器對處理的事務進行分析,將具有操作程序的數據進行分析,將執行事務需要訪問的數據源進行處理,將需要處理的數據信息源和具體的操作信息提取的系統的內存,當下次執行該事務時,系統可以預先把事務要訪問的數據裝入系統的內存,在執行該事務時,不要進行語法分析和數據的重新調用,就可以直接執行該事務,并傳遞給信息查詢模塊。相應的數據記錄集的定義為:
定義3:系統在執行事務時的存取記錄數據集的定義為:D=<aid,data>,aid為存取記錄集的應用程序ID,data執行事務的具體的數據記錄集,其中:

式中的n為調用系統數據庫中數據表的最大數目,mi為數據tablei中的數據塊的具體數目。
在RTDBMS中,系統通過對數據庫的應用程序的執行,規定事務執行的完成時間,并對事務執行的優先級進行分配和定義,根據系統處理事務的要求,數據庫會調用一個事務檢測器記錄事務執行的記錄集,將事務按照系統執行的優先級別進行管理和分配,系統數據調用程序在執行前,會按照記錄器檢測的程序進行執行,利用系統的預處理信息,將優先級高的信息提前裝入內存,有效的保證了高優先級的事務,在事務執行前,數據已就經在系統內存中,能夠有效的節省在執行事務時的系統處理的時間,確保優先級高的事務在執行的規定期與截止期內能盡快完成。
根據上面的事務執行的過程進行分析,在對RTDBMS的具體功能和相應的書屋執行的數據集進行定義的基礎上,對RTDBMS體系結構設計進行分析設計,以便確定系統的詳細結構。由于數據庫系統的實時特性,需要將系統的處理功能分成一個個的組件進行處理復雜的事務,因此,在對系統進行架構時,將組成作為實時數據庫系統的重要組成部分,能夠更好的實現系統的基本功能。
在系統架構時,組件是實時數據庫的核心,能夠按照系統數據調度的基本要求,對事務的優先級進行分配處理,組件根據需要具有明顯的專用接口和質量屬性,用于專門的功能處理,保證數據處理的實時性、可靠性、穩定性。系統事務的執行主要是通過組建進行交換,并且通過組建事先定義好的接口和環境進行數據交換和通信。組建一般有供應接口、需求接口與配置接口三個接口,各自根據需要完成不同的功能,在組件的供應接口和需求接口中,根據數據傳輸的方式,可以存在一對多和多對多的關系。由于不同的系統的不同組件之間,它們所提供的需求接口和供應接口可能存在句法上的不匹配,不能夠直接進行相互通信,或者它們之間的語法上可能使匹配的,可以通過一個適應器的使用,在不同的數據模塊之間以實現模塊間語句的翻譯,完成數據通信。具體功能示意圖如下圖1所示:

圖1 不同組件之間的通信實現

圖2 基于組件的實時數據庫管理開發流程

圖3 實時數據庫系統體系結構
由于每個組件具有獨立于應用領域和不同的功能,因此,每個軟件模塊與組件可以認為它具有黑盒屬性,具體的事務執行處理的過程不需要進行考慮,每個模塊只需要與其他的功能模塊的接口進行連接,而其內部的功能和具體的數據狀態被封裝起來,共同完成一個事務的執行就能夠滿足需要,并能夠進行及時的通信。
RTDBMS的開發主要是基于組件的思想進行開發的,本系統詳細具體的開發流程如下圖2所示。
首先需要對設計的實時數據庫管理系統進行分析,然后根據系統數據庫管理的需要,對系統數據進行頂層設計,即完成數據庫的概要設計,根據數據字典的定義,對系統數據庫進行詳細的分析和設計,也就是要完成系統數據的詳細設計,在系統數據進行調用的過程中,要對系統的數據調用方法與詳細的接口進行設計和分析,能夠實時的進行數據傳遞,分析事物執行的具體方式,進行相應的程序的調用和管理,完成系統的驗證功能,驗證設計的組件是否能夠滿足系統的需求,在上述的一系列的工作完成之后,就可以對相關組件進行開發和設計,并在設計的過程中,不斷的根據下層開發的實際問題,不斷的修正頂層設計,直至完成實時數據庫管理系統的開發。
在對RTDBMS的體系結構的設計過程中,我們定義了實時數據庫管理的八大功能模塊,詳細的設計見下圖3所示。
4.1 系統的用戶接口,是實現用戶對數據庫系統進行訪問的數據庫組件。
4.2 優先級調度器,對事務執行的優先級進行判斷分析,并執行調度的組件。
4.3 鎖管理器,對優先級的事物進行鎖定,在限定時間內執行數據鎖的組件。
4.4 引管理器,主要負責數據索引處理的管理組件。
4.5 預處理器,對事物執行的預處理功能,將信息資源提前裝入系統的內存。
4.6 查詢處理器,復雜對預處理器的相關資源進行處理的組件。
4.7 恢復模塊,主要用于對系統數據庫的回復和數據日志管理的組件。
4.8 存儲管理器,對不同系統之間進行訪問的數據組件。
通過實施數據庫管理系統的設計進行了詳細的探討和分析,對數據庫系統的開發和管理、功能、數據的傳輸機制以及系統數據的優先級程序的調用方式進行了探討。RTDBMS的開發采用了組件的思想,有效的解決了實時數據庫系統的數據優先級的傳輸機制,系統的主動定時限制的方法,保證事務在規定的時間內執行完成。
[1]盧炎生,劉云生,張文彬,李震宇.一個主動實時數據庫管理系統的實現[J],華中理工大學學報,2009(11).
[2]彭茹.實時數據庫管理系統的分析和研究[J].北京城市學院學報,2010(12).