2014-12-02 74 views
0

我正在開發許多進程的系統,這些進程必須知道系統的許多配置,選項和數據。爲此,我實現了一個共享對象,該對象使用指向共享內存塊參數及其數據的指針。參數的數據是類型,數值,默認值,獲取/設置的函數等。基本上數據是一種查找表。 這個共享對象有一些get/set這些參數的函數,因此係統中的所有進程都可以獲取/設置這些參數。我有很多關於參數代碼的定義和每個參數的許多可能性,例如,一個代碼可以是一個浮點值,另一個代表一個整數。你能想象的所有的開關和案件複雜的代碼..管理系統範圍的參數C

我的問題是:

請問這種做法是用於處理系統級參數和配置是否正確?爲了提高速度和效率,我不想使用DB文件,我必須將數據保持在RAM中。我想過移動內存數據庫中的查找表,但處理時間非常關鍵,我不想浪費時間構建SQL語句並編譯它們。什麼是最好的辦法做任何想法?

回答

1

你的程序設計聽起來很好,因爲他的參數被正確地封裝在一個單獨的文件中,聲明爲靜態並且只能通過set/get函數訪問。然後,訪問數據的代碼以及任何潛在的線程安全代碼都可以放在同一個文件中,並且不會被調用者隱藏。

每當將參數保存在RAM或數據庫中最有意義的時候,取決於您需要的數據速度有多快。聽起來這不適合你,因爲數據庫自然會比較慢訪問。如果您有多個需要訪問數據的客戶端,那麼實現一個數據庫更有意義,但這似乎並不是這種情況。