明 哲,余 蕓,蕭展輝
(南方電網數字電網研究院有限公司,廣東廣州 510000)
目前,數據呈爆發性趨勢的增長,已存在的數據與新生成的數據存在關聯,但是由于數據庫的局限性或者數據不可融合性,不能將新生成的數據存儲在數據庫內,所以在檢索數據詞條時,需要跨平臺、跨數據庫完成相關信息的檢索。業務數據跨庫查詢是將待查詢的數據詞條進行解剖,分別提取數據的淺意和深意的分詞條,然后創建一個新的數據集合,用于存儲在數據庫內查詢到與分詞條具有相同特征的數據。因為數據具有多態性,所以業務數據跨庫分析查詢系統的關鍵是要明確一些與詞條形式相近,但是與數據無關聯的數據,不要與真實的相關數據混淆,避免降低數據跨庫分析查詢的準確度。
該文借助Presto 技術,提出基于Presto 的業務數據跨庫分析查詢系統,該系統可以面向所有的SQL分布式數據庫,另外系統在傳統系統的基礎上進一步優化業務數據跨庫分析查詢系統的功能。
目前研究的基于Presto 的業務數據跨庫分析查詢系統硬件結構如圖1 所示。

圖1 基于Presto的業務數據跨庫分析查詢系統硬件結構
基于Presto 的業務數據跨庫分析查詢系統硬件區域的存儲和采集是相連接的,為了減少數據存儲調用的時間,該文選擇HFU-98 存儲器,此器件具有讀寫和記憶功能,避免存儲相同的數據,占據多余的內存空間。存儲器電路圖如圖2 所示。

圖2 存儲器電路圖
此存儲器的內存為32 GB,硬盤存儲空間為500 GB,內置5 個可擴展的存儲模塊,在存儲器實際內存不足時,即可調用模塊。HFU-98 存儲器還具備八盤位高性能的NAS,每個盤位可以最高擴展到288 TB,每個DDR4 可以擴展到64 GB 內存空間。該存儲器內部支持FTP、STP、NFN 多種傳輸協議,保證數據的百分百接收。
系統硬件區域的數據采集器不同于其他系統的數據采集器,此器件是采集數據庫內最原始的動態數據,另外還可以監測數據器內部電壓量,經過調節器,將采集到的數據以數據信號的形式轉換為模擬信號輸出,保證采集數據的安全性。數據采集器結構如圖3 所示。

圖3 數據采集器結構
該文設計的GR9 采集器具備IP67 高級工業防護等級,采集頻率為13.65 MHz,GR9 采集器的處理芯片為高通四核1.4 GHz,RAM 存儲空間為512 MB,ROM 存儲空間也為512 MB。采集器的通信接口為type-c接口,支持OTG和PUMP快充功能,另外采集器為了避免采集到的數據格式化,具有靜電防護功能。
該文設計的服務器面向的是數據庫和用戶,服務器保障系統運行的穩定性,為了提高系統的性能,該文選擇DL38 型號的服務器,服務器自身設置了多個六核心四線程的處理器,此服務器支持ACL 的13種權限,完成全局快速定位。連接服務器結構如圖4所示。

圖4 連接服務器結構
圖4中,DL38服務器具有300 W 的電源以及高級認證電源的輸出,并支持495 W熱插拔電源,具有自動斷電保護功能。連接服務器采用最新的Xeon E 架構,睿頻達到了3.5 G,提高了系統的反應速度。
系統的進化硬件器是一款具有自適應性的硬件器件,設計的目的是隨著數據庫功能的升級,自動對業務數據跨數據庫查詢與分析系統硬件器件進行升級,避免系統出現功能錯誤的情況。進化硬件器的核心是FPGA 芯片,該芯片可以對每個器件進行容錯分析,以便分析系統內硬件的版本,如果是最新版本,則不需要更新,如果不是最新版本,則更新重啟。
Presto 技術是基于內存并行計算的分布式SQL交互查詢引擎,此技術的優勢在于支持任意的數據源和組件,具有較高的兼容性,在跨數據庫對數據業務查詢時,不存在格式和屬性的錯誤,導致不具有查詢權限。Presto 支持GB~PB 字節的數據,并且引擎速度是Hive 引擎速度的5 倍。Presto 技術的架構示意圖如圖5 所示。

圖5 Presto技術架構示意圖
Presto 結構框架的核心由協調者節點、discover server 節點以及若干個節點構成,協調者節點的任務是將數據庫內信息轉化成為可調用查詢的數據信息節點,工作節點是一個可活動的節點,在Presto 引擎過程中,系統在數據獲取遇到障礙時,節點自動轉移,解決數據獲取問題。
為了提高基于Presto 的業務數據跨庫分析查詢系統在查詢中對業務數據統計分析的準確度,該文在系統的軟件中融合了協同過濾算法,該算法以系統接收到的業務數據作為計算指標,依次推薦出與業務數據具有相關性的信息,推薦內容按照相關性的大小進行排序。協同過濾算法計算公式如下所示:

其中,rp表示待查詢業務數據與查詢業務數據的相似度;δ表示協同系數;n表示詞條可擴展個數;Ac表示推薦信息鄰近的用戶集合。
業務數據倉是一個封裝數據的工具,主要的任務是對數據庫內容進行簡單化轉化,提高系統跨數據庫查詢的速率,提高系統的開發效率。業務數據倉庫也可以在系統對各個數據庫信息檢索前進行一個預檢索工作,將與待處理業務數據無關的數據進行單向格式化處理,此行為不會導致數據庫內的數據格式化,只是數據庫內容面向系統時,無效信息不存在,減少系統跨數據庫檢索的數據量。業務數據倉庫存在于用戶接口、Hive 解析器、Hive Metastore、信息表以及Hadoop 中。
信息表包括外部表和內部表,外部表是倉庫面向系統存儲被刪除的無效信息,內部表是存儲數據庫內有效的信息。Haddop 主要完成數據庫內HDFS中的數據增刪改查和調用操作。業務數據倉庫的接口連接客戶端、數據庫和系統的連接點,起到一個連接作用。Hive 解析器和Hive Metastore 兩個器件面向的處理對象都是數據庫內的數據信息,但Hive 的作用是對數據更改信息行為的管理,Hive Metastore的作用是完成數據的獲取。
在基于Presto 的業務數據跨庫分析查詢系統硬件器件和軟件功能設計完成的基礎上,完善系統跨數據庫查詢分析的流程,具體如圖6 所示。

圖6 基于Presto的業務數據跨庫分析查詢系統軟件流程
首先,系統根據提供的待查詢分析的數據業務進行深度檢索,按照分析結果建立業務數據源的注冊,注冊過程中分別完成存儲數據加密設置、注冊空間大小設置以及設置注冊表的增刪改查功能,保證查詢存儲數據的安全性和存儲可用性。然后開啟跨數據庫業務數據查詢的數據源監聽功能,利用Presto技術對可操作數據庫進行跨數據庫查詢引擎工作,同時觸發協同過濾算法,輔助系統在查詢的過程中檢索出有效的數據詞條。最后,將系統跨數據庫查詢到的業務數據相關系統存儲到注冊表中,等待調用。
通過以上的論述完成了基于Presto 的業務數據跨庫查詢分析系統的設計,為了檢驗此系統的可行性和工作效果,進行對比實驗測試完成驗證。在進行實驗測試前選擇了基于激光掃描的業務數據跨庫查詢分析系統(簡稱為激光掃描系統)和基于大數據查詢的業務數據跨庫查詢分析系統(簡稱為大數據查詢系統)作為對照系統,共同完成實驗。
實驗測試選擇的業務數據為“工廠泄露鉛元素的影響和危害”,實驗測試的數據庫為億信華辰數據工廠數據庫、安華金數據庫、中國工業企業數據庫,以上三個數據庫內的數據庫內容都是關于此次業務數據,并且數據庫為大型數據庫,可以滿足實驗需求。選擇同一時間啟動三個系統,系統無誤運行10 min 后,同時向三個系統發送需要查詢分析的數據業務,開始實驗測試。對于實驗結果數據的分析主要從系統跨數據庫查詢的速率、耗能以及查詢結果的準確性三方面進行分析。
實驗結束后,數據分析儀直接體現的數據是該文設計系統完成查詢分析的時間是27 min,跨數據庫成功查詢與數據業務相關的數據詞條12 230 個,激光掃描系統和傳統系統2 完成的時間分別是46 min 和38 min,跨數據庫成功查詢到與數據業務相關的數據詞條分別為9 873 個和12 393 個,專業系統查詢時間為20 min,查詢出相關數據詞條為12 450 個。實驗結束后,將三個系統查詢出的數據詞條與“工廠泄露鉛元素的影響和危害”業務數據進行匹配,計算每個系統查詢的準確率。實驗結果如圖7 所示。

圖7 準確率實驗結果
計算得出基于Presto 的業務數據跨庫查詢分析系統跨數據庫查詢分析的數據與業務數據的匹配度最高為97%,激光掃描系統的匹配度為95%,大數據查詢系統的匹配度為93%。計算大數據查詢系統在跨數據庫中檢索的數據詞條大于該文設計系統查詢詞條的數據量,但是傳統系統查詢詞條中無效的詞條大于基于Presto 的業務數據跨庫查詢分析系統,降低了傳統系統的查詢效率。因此,可以證明該文系統的查詢效率優于傳統系統,并且符合目前系統查詢的應用標準。
圖8 是分析三個系統完成實驗所耗用的能量,可以看出該文設計系統所耗用的能量最高為49 kW·h,其他兩個傳統系統耗用的能量大于49 kW·h,最高達到了80 kW·h。系統耗用能量的大小表示系統查詢行為的復雜度和運行穩定情況,耗用量越低,表示系統的查詢調用行為越簡單,運行越穩定。綜上所述,可以證明該文設計的基于Presto 的業務數據跨庫分析查詢系統具有可行性和穩定性。

圖8 能量消耗實驗結果圖
該文設計了基于Presto 的業務數據跨庫分析查詢系統,主要運用了Presto 技術、協同過濾算法、數據倉特征,達到提高跨數據庫查詢分析業務數據的目的。該文不僅優化了跨數據庫數據業務查詢的引擎功能,而且還對應跨數據庫查詢方式設定了特殊的安全機制,保證業務數據查詢過程中數據的安全性。