一種配置數據的統一管理系統的製作方法
2023-06-05 00:44:26
本發明涉及資料庫管理技術領域,具體地說是一種配置數據的統一管理系統。
背景技術:
配置數據是大部分軟體系統必不可缺的組成部分,配置數據存儲在本地文件和資料庫中,限於開發成本和研發周期,軟體研發過程中很少會開發配置數據管理工具,且如果每次軟體系統研發重新對配置數據工具進行處理,無疑會增加不必要的成本開銷。當伺服器系統中部署的軟體較多時,大量配置數據的管理將會給維護、使用人員帶來不便,誤操作等引起的配置數據丟失、更改等,將直接影響軟體系統的正常運行。
對於存儲在資料庫中的配置數據,雖然能夠在一定程度上降低數據丟失、誤操作產生的影響,但是對配置數據的修改和管理,則需要維護人員對資料庫軟體和相應的軟體系統具有一定程度的了解和掌握。當需要進行系統遷移時,資料庫軟體的差異又會給維護人員帶來不便。
技術實現要素:
本發明的技術任務是針對以上不足之處,提供一種配置數據的統一管理系統,避免大量配置數據散亂存儲帶來的不便,降低配置數據丟失、誤操作產生的風險。
本發明解決其技術問題所採用的技術方案是:
一種配置數據的統一管理系統,包括配置數據管理工具和配置數據訪問接口兩部分,其中,資料庫訪問接口為常用資料庫的訪問提供統一接口,解決項目研發過程中資料庫訪問時,不同資料庫軟體(含不同軟體版本)、作業系統下產生的編碼差異問題,支持OCI、ODBC等開發接口,實現對Oracle、DB2、SQL Server、達夢等資料庫軟體的透明化訪問。資料庫訪問接口為配置數據維護工具和配置數據訪問接口提供底層數據訪問支撐能力;
配置數據訪問工具包括配置數據維護工具、資料庫數據訪問接口:配置數據維護工具通過可視化界面,為用戶提供配置數據管理服務,包括配置數據編輯、配置數據導出、配置數據導入、歷史版本查看和恢復;配置數據訪問接口為用戶提供配置數據的獲取操作。
配置數據維護工具通過樹狀圖,為各類應用的配置數據提供邊界管理能力,各應用的配置數據可在對應樹節點的屬性項中進行配置。
配置數據訪問接口為用戶提供配置數據的獲取操作。配置數據訪問接口其實質是讀取資料庫中特定表和索引下的數據,配置數據訪問接口的實現依託於資料庫訪問接口進行,是對資料庫訪問接口的二次封裝。配置數據訪問接口在CParamsManager類中定義,包含三個接口:GetParamValue、GetParamKeyValue和GetSubItemDir:
GetParamValue
static eRet GetParamValue(eType e, const std::string &szPath, const std::string &szKey, std::string &szValue)
功能詳細描述:獲取配置項值。
操作詳細描述:獲取配置項值存入eRet結構體返回。
GetParamKeyValue
static eRet GetParamKeyValue(eType e, const std::string &szPath, std::map&mapKeyValue)
功能詳細描述:獲取配置項目錄下所有的配置項名稱和配置項數值。
操作詳細描述:獲取配置項目錄下所有的配置項名稱和配置項數值放入eRet結構體返回。
GetSubItemDir
static eRet GetSubItemDir(eType e, const std::string &szPath, std::vector&vSubDir)
功能詳細描述:獲取配置項目錄下所有子目錄。
操作詳細描述:獲取配置項目錄下所有子目錄放入eRet結構體返回。
本發明的一種配置數據的統一管理系統和現有技術相比,具有以下有益效果:
配置數據管理系統對配置數據提供直觀、快捷、統一的管理和使用服務。可視化技術已廣泛應用於生產、生活當中,通過可視化技術實現對配置數據的直觀展示、維護和管理,各軟體系統的配置數據通過業務邊界進行分類管理,為用戶提供便捷、直觀的數據服務。Oracle、DB2、MySql、SQL Server、達夢等資料庫軟體廣泛應用於軟體系統中。在資料庫數據訪問過程中,由於資料庫類型、作業系統環境、開發語言等的不同,導致資料庫訪問接口千差萬別,從而對資料庫編程、系統遷移等帶來一定的影響,導致研發周期的延長、項目成本的增加。通過接口標準化定義、類的繼承,對各類資料庫軟體的數據訪問接口進行封裝,滿足對各資料庫軟體的兼容性需求。
在規範化的數據訪問接口基礎上,實現對配置數據的導出、編碼、存儲以及導入、解碼操作,從而完成對配置數據的導出、導入功能,使得配置數據能夠進行備份存儲。
具體實施方式
下面結合具體實施例對本發明作進一步說明。
一種配置數據的統一管理系統,包括配置數據管理工具和配置數據訪問接口兩部分,其中,資料庫訪問接口為常用資料庫的訪問提供統一接口,解決項目研發過程中資料庫訪問時,不同資料庫軟體(含不同軟體版本)、作業系統下產生的編碼差異問題,支持OCI、ODBC等開發接口,實現對Oracle、DB2、SQL Server、達夢等資料庫軟體的透明化訪問。資料庫訪問接口為配置數據維護工具和配置數據訪問接口提供底層數據訪問支撐能力;資料庫訪問接口定義一個簡單DBTransfo類,並在DBTransfo類中定義標準化數據訪問接口。底層實例繼承DBtransfo類,並通過對資料庫軟體提供的接口進行二次封裝,實現DBTransfo中定義的標準化接口。DbTool類在DBTransfo及各實例基礎上進行整體封裝,通過指定DbTool構造函數中資料庫類型,選擇採用的資料庫軟體類型及底層調用的實例。資料庫訪問接口屏蔽了部分繁瑣的操作,使得用戶只需要將需要進行的操作以sql語句的形式進行傳遞即可,不需要關心其他問題。
配置數據訪問工具包括配置數據維護工具、資料庫數據訪問接口:配置數據維護工具通過可視化界面,為用戶提供配置數據管理服務,包括配置數據編輯、配置數據導出、配置數據導入、歷史版本查看和恢復;配置數據維護工具通過樹狀圖,為各類應用的配置數據提供邊界管理能力,各應用的配置數據可在對應樹節點的屬性項中進行配置。
在資料庫訪問接口基礎上,將配置數據從資料庫中讀取出來,並通過數據編碼和數據加密處理,保存到本地系統,實現配置數據的導出功能。
配置數據維護工具可將通過配置數據導出生成的配置數據文件重新導入到系統中。
當配置數據更改時,系統將自動將現有版本在資料庫中進行備份,用戶可通過歷史版本查看功能查看歷史版本信息,當需要恢復歷史版本時,系統自動將歷史版本配置數據設置為當前配置。
配置數據訪問接口為用戶提供配置數據的獲取操作。配置數據訪問接口其實質是讀取資料庫中特定表和索引下的數據,配置數據訪問接口的實現依託於資料庫訪問接口進行,是對資料庫訪問接口的二次封裝。配置數據訪問接口在CParamsManager類中定義,包含三個接口:GetParamValue、GetParamKeyValue和GetSubItemDir:
GetParamValue
static eRet GetParamValue(eType e, const std::string &szPath, const std::string &szKey, std::string &szValue)
功能詳細描述:獲取配置項值。
操作詳細描述:獲取配置項值存入eRet結構體返回。
GetParamKeyValue
static eRet GetParamKeyValue(eType e, const std::string &szPath, std::map&mapKeyValue)
功能詳細描述:獲取配置項目錄下所有的配置項名稱和配置項數值。
操作詳細描述:獲取配置項目錄下所有的配置項名稱和配置項數值放入eRet結構體返回。
GetSubItemDir
static eRet GetSubItemDir(eType e, const std::string &szPath, std::vector&vSubDir)
功能詳細描述:獲取配置項目錄下所有子目錄。
操作詳細描述:獲取配置項目錄下所有子目錄放入eRet結構體返回。
本系統實現對配置數據的統一、分類管理,降低管理難度;提供配置數據導入導出功能,可實現配置數據備份;提供統一的配置數據訪問接口,獲取配置數據更加方便;數據存儲支持多種資料庫軟體,提高系統適用能力;提供歷史配置數據恢復功能,增強數據的安全性和可追溯性。
通過上面具體實施方式,所述技術領域的技術人員可容易的實現本發明。但是應當理解,本發明並不限於上述的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特徵,從而實現不同的技術方案。
除說明書所述的技術特徵外,均為本專業技術人員的已知技術。