系統參數配置的存儲管理與應用的通用方法

原文:http://blog.csdn.net/cxxsoft/article/details/6701096

系統參數配置的存儲管理與應用的通用方法

作者:成曉旭

 

1  【背景】

    在應用軟件的設計、開發過程中,尤其是一些大型的複雜的業務系統,爲了符合起碼的系統通用性設計,系統運行參數需要在系統現場進行設置、或者根據不同的客戶需求進行動態調整的情況在所難免。

    爲了保持系統配置信息,常見的方法有:系統配置文件、系統註冊表、數據庫表等。系統配置文件,是最常見的一種系統配置信息的保存和應用方式,比如在硬件設備、板卡、客戶端軟件等方面有大量的應用。系統註冊表,是基於Microsoft Windows的系統註冊表保存信息的一種方式,在客戶端軟件中大量應用。前兩種方式,對於本身不帶數據庫的軟件,整個系統僅僅有少量的系統配置信息需要保存的情況非常簡便、實用。

    本文介紹的是一種用數據庫系統進行系統配置信息存儲管理及應用的一個簡便而通用的方法以往看到很多軟件產品,在系統運行參數配置及管理方面,設計了一大堆表,每個表,永遠只有一條記錄;每增加一個配置數據項,就新增一張表,還是永遠只存一條記錄。通過與系統設計開發的工程師閒聊、溝通發現,他們這樣設計主要是基於2方面的原因:一方面是運行參數的配置值的數據類型往往不同,數據庫表字段的數據類型不支持變體的數據類型另一方方面,由於各個參數配置的邏輯涵義差異很大,參數配置的存儲管理功能很難通用

2  【功能需求】

    一個小型的應用軟件,需要配置一些系統的運行參數,數據有數字型、浮點型、字符串型、邏輯型、時間類型等。

    本系統需要管理的運行參數如下表:



3  【設計思路】

    本文介紹一種本人在軟件項目工作中,經常採用的一種系統運行參數配置信息的存儲管理及應用的通用方法:一張固定的參數配置表、一個通用的參數配置信息管理類,能夠非常簡便而有效的解決這類實際問題。

    設計一張通用的系統參數配置信息表,能夠滿足上訴應用需求,以後每增加一個配置信息,就往表裏面新增一條記錄。

    設計一個通用的配置信息管理類,不僅滿足上訴應用需求,當有新增需求時能夠非常、快捷、方便的滿足。

    說明:本文闡述的是針對上訴需求的參數配置信息管理和應用的一個實例,如果在具體應用中還有圖片等其他二進制信息要作爲參數進行配置、管理時,只需要將後面的數據庫設計的數據類型調整爲能夠兼容二進制信息的類型(例如:blob)即可

4  【數據庫設計】

    此類應用在數據庫設計方面,面臨的2個突出問題:通過一張表中的同一個字段來存儲數據類型不同的信息、同一張表內各行數據的邏輯含義不同

    針對第一個問題,本設計採用一個相對通用的數據類型來存儲配置結果,具體的業務數據類型,增加一個數據類型項來標識

    針對第二個問題,爲了準確區分同一張表內,各行數據的邏輯含義,本方案採用[Key - Value]對的方式來實現用Key來標識配置項,用Value來標識配置值。當然,這樣的設計,要求在入庫是進行數據重複性檢查;在同一個應用軟件的參數配置需求中,也不會出現一個配置項,有多個不同的值。

    具體的數據庫表結構如下圖:


    數據庫表結構說明如下:

    參數配置信息示例:

5  【代碼實現】

    數據結構定義:

    功能代碼:




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章