史宏旻,田延彬,鄭 旭,劉 垚,魯衛濤SHI Hong-min, TIAN Yan-bin, ZHENG Xu, LIU Yao, LU Wei-tao(.中國建筑科學研究院 建筑機械化研究分院,河北 廊坊 065000;.廊坊華元機電工程有限公司,河北 廊坊 065000)
建筑施工設備監控管理平臺的數據存儲方案
史宏旻1,田延彬2,鄭 旭1,劉 垚1,魯衛濤1
SHI Hong-min, TIAN Yan-bin, ZHENG Xu, LIU Yao, LU Wei-tao
(1.中國建筑科學研究院 建筑機械化研究分院,河北 廊坊 065000;2.廊坊華元機電工程有限公司,河北 廊坊 065000)
[摘 要]針對監控管理平臺的數據庫查詢訪問量大的情況,分析設計了數據庫分表方案,提高了并發訪問量。通過實際并發測試,驗證了分表的有效性,縮短了查詢數據庫所需時間,增加了網站效率。
[關鍵詞]施工設備;監控;數據庫;分表
利用監控管理平臺對建筑施工設備進行統一管理十分便捷,已成為政府建筑施工設備安全監督管理部門必不可少的監督管理手段之一。當前,一些監控管理平臺服務器對數據庫仍然采用單一數據表的方式存儲數據,隨著監控管理平臺規模的日趨增大,在線建筑施工設備監控管理系統終端的數量越來越多,服務器數據庫存儲的數據量越來越大,這種方式的查詢訪問速度已不能滿足實際使用需求。鑒于上述原因,我們研究制定了一種數據庫分表方案,并優化監控管理平臺查詢數據庫的操作指令程序代碼,將并發訪問量高的數據分別存儲在不同的數據表中,使得這些數據可以被同時查詢訪問,提高了監控管理平臺的查詢訪問速度和運行效率。
在一些監控管理平臺的服務器數據庫系統中,所有建筑施工設備的同類型數據信息全部存儲在同一張數據表中,依照數據信息上報時間進行排序。在其所管理的建筑施工設備監控管理系統終端總數不多時,這種單一表的數據表結構可以節省硬盤空間,也易于編寫監控管理平臺運行軟件的程序代碼,降低由于代碼復雜而出現漏洞的隱患風險。但這種單一表的數據表結構存在以下弊端。
1)由于所有同類型數據信息均存儲在一張數據表內,即使想要查詢某個特定建筑施工設備在某個特定時間段的數據,也需要檢索整張數據表,耗費大量時間。
2)當需要集群管理(如備份某種特定類型的數據、導出某些建筑施工設備的數據信息)時,如沒有合理的數據庫存儲結構,則需要在篩選數據上耗費時間。
3)為了確保數據安全,在需要向數據表寫入數據時,會將數據表鎖定,防止其被其它線程修改。因此當需要大量寫入數據時,數據表會被頻繁鎖定,拖累運行速度。
4)單一數據表會占用特定的硬盤空間,大量讀寫數據會消耗硬盤該空間的可用讀寫次數,對硬盤壽命造成影響。
總之,數據庫中的數據量是不可控的,在未進行分表的情況下,隨著時間和業務的發展,表中的數據量會越來越大,數據操作的開銷也會越來越大;另外,由于無法進行分布式部署,而一臺服務器的資源(CPU、硬盤、內存等)是有限的,最終數據庫所能承載的數據量、數據處理能力都將遭遇瓶頸。
基于以上原因,現我們制定了一種高效的Hash分表方案,將大量數據分別存儲在不同的數據表中,提高數據的存儲和查詢速度。例如某監控管理平臺服務器數據庫系統數據量較大,需要分成1 000張數據表,則可以以建筑施工設備監控管理系統終端的識別編號作為輸入參數,計算出其對應的Hash值,將Hash值對1 000取余得到分表表序號,再以分表表序號與分表表綴結合的方式得出分表表名。
同時再建立一個單獨的索引數據表,專門用來記錄建筑施工設備監控管理系統終端的識別編號與該終端數據所存儲地址的一一對應關系,通常數據量很小、查詢速度很快。建立索引數據表之后,需要查詢某分表數據時,不再需要重新計算Hash值并對1 000取余得到分表表序號,而只要查詢索引數據表即可得到分表名稱,其結構示意如圖1。

圖1 數據分表結構示意圖
此種分表方式具有以下優點。
1)數據分表的數量適宜。由于每張數據表均需預留一定的硬盤空間存儲數據表的檢索信息,如果數據表過多,就會占用大量的額外硬盤空間,而且數據表的碎片化也使得數據庫從硬盤上檢索數據表的速度降低。
2)將同一建筑施工設備的數據信息存儲在了同一張表內,避免搜索同一建筑施工設備在不同時間的數據時需要檢索多個數據表。
3)此分表方案中每個分表的數據結構均與原有總表數據結構相同,在修改程序代碼時只需更改存儲目標的表名即可,程序代碼的修改簡潔、有條理。
4)由于Hash算法具有單向不可逆性和唯一性的特點,所有建筑施工設備監控管理系統終端將會有其唯一對應的分表表名,分表存儲過程迅速而有序。
經過實際測試,這種分表方式能夠提高監控管理平臺運行速度,降低硬盤占用率,提高了軟件程序效率。監控管理平臺在并發訪問量較高時也能流暢運行,可靠性顯著提高。上報到監控管理平臺的建筑施工設備數據信息方便了監督管理人員對建筑施工設備的監督管理,為建筑施工設備的壽命評估、日常維護和事故的判定提供強有力的數據支持。
(編輯 張磊慶)
[基金項目]國家“十二五”科技支撐計劃項目(2011BAJ02B02)
[中圖分類號]TH213.3
[文獻標識碼]B
[文章編號]1001-1366(2015)05-0033-02
[收稿日期]2015-03-20
Construction equipment monitoring management platform of data storage solution