本站小編為你精心準備了天線參數數據庫設計論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1數據庫模型設計
本文以面向文檔的NoSQL作為數據持久層,面向文檔的NoSQL數據庫的數據結構設計相對于關系型數據庫來說容易許多,在對數據進行查詢、數據庫操作接口方面都有很大的優勢]。因為面向文檔的NoSQL數據庫不支持多張表的JOIN操作,因此在對面向文檔的NoSQL數據集合進行設計的時候需要考慮到這方面的因素。本監測系統主要的業務功能可以分為3個模塊,分別是小區信息查詢模塊、報表統計模塊和用戶、終端管理模塊,因此,數據集合的設計同樣從這三個方面進行設計。各個數據集合之間的關系如圖1所示。考慮到在對數據表進行設計所依據的原則基本一致,因此以下僅對小區信息查詢模塊的數據表設計進行著重分析。設計數據模型需要結合系統的特點進行分析。此系統主要實現的功能是對小區天線參數信息進行保存、管理,并以友好的界面展示給用戶,并響應用戶的各種操作。因此,在大部分的操作中,存儲天線實時參數的ANTENNAARGS表會產生大量的插入操作,本文根據各個表的不同讀寫比進行了設計,如圖2所示。本文將天線表、區域表以內嵌的形式放入了小區表,將天線參數表設計成單獨的集合,并以引用的方式指向了小區表主要是考慮到天線參數集合是被訪問最頻繁的表,會產生大量的讀寫操作,因此在小區集合與天線參數集合之間采用的是范式化的模式。其中,天線工參表(ANTENANARGS表)用來存儲從各個采集終端傳輸至管理系統的小區天線實時數據信息,具體如表1所示。小區信息表(CELL表)用來存儲各個小區的地址、天線相關參數詳細信息,如表2所示。除了上述表之外還有采集終端表(TERMI-NAL)、天線信息表(ANTENNA)和告警表(ALARM-REPORT)等。數據庫運行時,自動將所對應的數據存入相應表中。
2數據庫自動分片設計
管理系統在運行中會產生大量的寫操作,進而帶來頻繁的磁盤I/O操作,在大數據下,最好采用將數據庫分布在多臺服務器上,即分片[7]。本文采用Auto-Sharding(自動分片)及Replic-Set(復本集)相結合的方式來減輕單個數據庫服務器的負載,即在每臺Server上各自運行一個實例,組成一個Replic-Set,最后再各運行一個實例,組成ConfigServer。直接執行Addshard操作即可增加分片以緩解服務器的壓力,實現動態擴展。分片的實現重點在于片鍵設計。本文將保存天線參數信息的集合聲明了一個復合片鍵{Lacci:1,Day:1}。當來自不同的小區(可以根據Lacci進行判斷)向集群系統插入數據時,可以預計到在大部分情況下,同一小區的數據會落在單個塊或片上。
3數據庫查詢的實現
數據查詢功能為本數據庫設計的重要功能之一。數據庫將小區信息、天線參數等相關的數據信息根據用戶的要求,以界面或報表的形式全部或部分的顯示給用戶。基于本數據庫的設計,用戶通過數據查詢菜單進入相應查詢界面,獲取小區信息、終端信息及告警信息等。實現“天線工程參數查詢”功能的工作流程如圖3所示。為了實現小區天線參數查詢功能,客戶端需要向數據庫發送2次請求,用戶根據需求,向控制器發送查詢請求,控制器處理查詢命令,對相應的小區進行信息查詢,待小區返回信息后,將用戶的查詢命令發送至對應小區,根據需求讀取有用信息,并返回給用戶。跟關系型數據庫相比,由于省去了大量的多表連接操作,實際上查詢的效率要高于基于關系型數據庫的多表連接查詢。查詢工作的SQL語句如下。
4數據庫備份與恢復
數據安全在數據庫設計中有很重要的地位。在各種意外情況下,如計算機硬件故障等,對數據庫進行備份和恢復能夠保障數據的完整性和安全性,使得數據損失降到最小[8]。本數據庫設計的備份選用的是副本集的方式[7]:在主節點上進行操作,寫入的數據被一步地同步到所有的從節點上,并從主節點或從節點上讀取數據,如果主節點由于某些原因斷線,會自動將一個從節點提升為主節點。在查詢分析器中運用SQL語句完成數據庫的備份和恢復。在數據庫管理界面中,用戶通過數據庫備份與恢復功能進行相應操作,確保數據的正確行和完整性。
5結束語
與傳統的管理系統基于關系型數據庫相比,基站參數管理終端采用的面向文檔的NoSQL具有很大的優勢:采用副本集方式進行數據庫備份與恢復,保證數據的完整性和安全性;Auto-Sharding的機制,實現了數據的分布式存儲,同時也可以方便地實現系統的水平擴展。本文從數據庫表的設計,各個表之間的關聯以及其中涉及的關鍵技術都做了描述,最終能夠實現對基站參數的有效存儲與查詢,為移動通信基站的管理與維護提供了重要依據。
作者:張錫娜張治中鄧炳光單位:重慶郵電大學通信網與測試技術重點實驗室