明 哲,余 蕓,蕭展輝
(南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司,廣東廣州 510000)
目前,數(shù)據(jù)呈爆發(fā)性趨勢的增長,已存在的數(shù)據(jù)與新生成的數(shù)據(jù)存在關(guān)聯(lián),但是由于數(shù)據(jù)庫的局限性或者數(shù)據(jù)不可融合性,不能將新生成的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫內(nèi),所以在檢索數(shù)據(jù)詞條時(shí),需要跨平臺(tái)、跨數(shù)據(jù)庫完成相關(guān)信息的檢索。業(yè)務(wù)數(shù)據(jù)跨庫查詢是將待查詢的數(shù)據(jù)詞條進(jìn)行解剖,分別提取數(shù)據(jù)的淺意和深意的分詞條,然后創(chuàng)建一個(gè)新的數(shù)據(jù)集合,用于存儲(chǔ)在數(shù)據(jù)庫內(nèi)查詢到與分詞條具有相同特征的數(shù)據(jù)。因?yàn)閿?shù)據(jù)具有多態(tài)性,所以業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)的關(guān)鍵是要明確一些與詞條形式相近,但是與數(shù)據(jù)無關(guān)聯(lián)的數(shù)據(jù),不要與真實(shí)的相關(guān)數(shù)據(jù)混淆,避免降低數(shù)據(jù)跨庫分析查詢的準(zhǔn)確度。
該文借助Presto 技術(shù),提出基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng),該系統(tǒng)可以面向所有的SQL分布式數(shù)據(jù)庫,另外系統(tǒng)在傳統(tǒng)系統(tǒng)的基礎(chǔ)上進(jìn)一步優(yōu)化業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)的功能。
目前研究的基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)硬件結(jié)構(gòu)如圖1 所示。
圖1 基于Presto的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)硬件結(jié)構(gòu)
基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)硬件區(qū)域的存儲(chǔ)和采集是相連接的,為了減少數(shù)據(jù)存儲(chǔ)調(diào)用的時(shí)間,該文選擇HFU-98 存儲(chǔ)器,此器件具有讀寫和記憶功能,避免存儲(chǔ)相同的數(shù)據(jù),占據(jù)多余的內(nèi)存空間。存儲(chǔ)器電路圖如圖2 所示。
圖2 存儲(chǔ)器電路圖
此存儲(chǔ)器的內(nèi)存為32 GB,硬盤存儲(chǔ)空間為500 GB,內(nèi)置5 個(gè)可擴(kuò)展的存儲(chǔ)模塊,在存儲(chǔ)器實(shí)際內(nèi)存不足時(shí),即可調(diào)用模塊。HFU-98 存儲(chǔ)器還具備八盤位高性能的NAS,每個(gè)盤位可以最高擴(kuò)展到288 TB,每個(gè)DDR4 可以擴(kuò)展到64 GB 內(nèi)存空間。該存儲(chǔ)器內(nèi)部支持FTP、STP、NFN 多種傳輸協(xié)議,保證數(shù)據(jù)的百分百接收。
系統(tǒng)硬件區(qū)域的數(shù)據(jù)采集器不同于其他系統(tǒng)的數(shù)據(jù)采集器,此器件是采集數(shù)據(jù)庫內(nèi)最原始的動(dòng)態(tài)數(shù)據(jù),另外還可以監(jiān)測數(shù)據(jù)器內(nèi)部電壓量,經(jīng)過調(diào)節(jié)器,將采集到的數(shù)據(jù)以數(shù)據(jù)信號(hào)的形式轉(zhuǎn)換為模擬信號(hào)輸出,保證采集數(shù)據(jù)的安全性。數(shù)據(jù)采集器結(jié)構(gòu)如圖3 所示。
圖3 數(shù)據(jù)采集器結(jié)構(gòu)
該文設(shè)計(jì)的GR9 采集器具備IP67 高級(jí)工業(yè)防護(hù)等級(jí),采集頻率為13.65 MHz,GR9 采集器的處理芯片為高通四核1.4 GHz,RAM 存儲(chǔ)空間為512 MB,ROM 存儲(chǔ)空間也為512 MB。采集器的通信接口為type-c接口,支持OTG和PUMP快充功能,另外采集器為了避免采集到的數(shù)據(jù)格式化,具有靜電防護(hù)功能。
該文設(shè)計(jì)的服務(wù)器面向的是數(shù)據(jù)庫和用戶,服務(wù)器保障系統(tǒng)運(yùn)行的穩(wěn)定性,為了提高系統(tǒng)的性能,該文選擇DL38 型號(hào)的服務(wù)器,服務(wù)器自身設(shè)置了多個(gè)六核心四線程的處理器,此服務(wù)器支持ACL 的13種權(quán)限,完成全局快速定位。連接服務(wù)器結(jié)構(gòu)如圖4所示。
圖4 連接服務(wù)器結(jié)構(gòu)
圖4中,DL38服務(wù)器具有300 W 的電源以及高級(jí)認(rèn)證電源的輸出,并支持495 W熱插拔電源,具有自動(dòng)斷電保護(hù)功能。連接服務(wù)器采用最新的Xeon E 架構(gòu),睿頻達(dá)到了3.5 G,提高了系統(tǒng)的反應(yīng)速度。
系統(tǒng)的進(jìn)化硬件器是一款具有自適應(yīng)性的硬件器件,設(shè)計(jì)的目的是隨著數(shù)據(jù)庫功能的升級(jí),自動(dòng)對(duì)業(yè)務(wù)數(shù)據(jù)跨數(shù)據(jù)庫查詢與分析系統(tǒng)硬件器件進(jìn)行升級(jí),避免系統(tǒng)出現(xiàn)功能錯(cuò)誤的情況。進(jìn)化硬件器的核心是FPGA 芯片,該芯片可以對(duì)每個(gè)器件進(jìn)行容錯(cuò)分析,以便分析系統(tǒng)內(nèi)硬件的版本,如果是最新版本,則不需要更新,如果不是最新版本,則更新重啟。
Presto 技術(shù)是基于內(nèi)存并行計(jì)算的分布式SQL交互查詢引擎,此技術(shù)的優(yōu)勢在于支持任意的數(shù)據(jù)源和組件,具有較高的兼容性,在跨數(shù)據(jù)庫對(duì)數(shù)據(jù)業(yè)務(wù)查詢時(shí),不存在格式和屬性的錯(cuò)誤,導(dǎo)致不具有查詢權(quán)限。Presto 支持GB~PB 字節(jié)的數(shù)據(jù),并且引擎速度是Hive 引擎速度的5 倍。Presto 技術(shù)的架構(gòu)示意圖如圖5 所示。
圖5 Presto技術(shù)架構(gòu)示意圖
Presto 結(jié)構(gòu)框架的核心由協(xié)調(diào)者節(jié)點(diǎn)、discover server 節(jié)點(diǎn)以及若干個(gè)節(jié)點(diǎn)構(gòu)成,協(xié)調(diào)者節(jié)點(diǎn)的任務(wù)是將數(shù)據(jù)庫內(nèi)信息轉(zhuǎn)化成為可調(diào)用查詢的數(shù)據(jù)信息節(jié)點(diǎn),工作節(jié)點(diǎn)是一個(gè)可活動(dòng)的節(jié)點(diǎn),在Presto 引擎過程中,系統(tǒng)在數(shù)據(jù)獲取遇到障礙時(shí),節(jié)點(diǎn)自動(dòng)轉(zhuǎn)移,解決數(shù)據(jù)獲取問題。
為了提高基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)在查詢中對(duì)業(yè)務(wù)數(shù)據(jù)統(tǒng)計(jì)分析的準(zhǔn)確度,該文在系統(tǒng)的軟件中融合了協(xié)同過濾算法,該算法以系統(tǒng)接收到的業(yè)務(wù)數(shù)據(jù)作為計(jì)算指標(biāo),依次推薦出與業(yè)務(wù)數(shù)據(jù)具有相關(guān)性的信息,推薦內(nèi)容按照相關(guān)性的大小進(jìn)行排序。協(xié)同過濾算法計(jì)算公式如下所示:
其中,rp表示待查詢業(yè)務(wù)數(shù)據(jù)與查詢業(yè)務(wù)數(shù)據(jù)的相似度;δ表示協(xié)同系數(shù);n表示詞條可擴(kuò)展個(gè)數(shù);Ac表示推薦信息鄰近的用戶集合。
業(yè)務(wù)數(shù)據(jù)倉是一個(gè)封裝數(shù)據(jù)的工具,主要的任務(wù)是對(duì)數(shù)據(jù)庫內(nèi)容進(jìn)行簡單化轉(zhuǎn)化,提高系統(tǒng)跨數(shù)據(jù)庫查詢的速率,提高系統(tǒng)的開發(fā)效率。業(yè)務(wù)數(shù)據(jù)倉庫也可以在系統(tǒng)對(duì)各個(gè)數(shù)據(jù)庫信息檢索前進(jìn)行一個(gè)預(yù)檢索工作,將與待處理業(yè)務(wù)數(shù)據(jù)無關(guān)的數(shù)據(jù)進(jìn)行單向格式化處理,此行為不會(huì)導(dǎo)致數(shù)據(jù)庫內(nèi)的數(shù)據(jù)格式化,只是數(shù)據(jù)庫內(nèi)容面向系統(tǒng)時(shí),無效信息不存在,減少系統(tǒng)跨數(shù)據(jù)庫檢索的數(shù)據(jù)量。業(yè)務(wù)數(shù)據(jù)倉庫存在于用戶接口、Hive 解析器、Hive Metastore、信息表以及Hadoop 中。
信息表包括外部表和內(nèi)部表,外部表是倉庫面向系統(tǒng)存儲(chǔ)被刪除的無效信息,內(nèi)部表是存儲(chǔ)數(shù)據(jù)庫內(nèi)有效的信息。Haddop 主要完成數(shù)據(jù)庫內(nèi)HDFS中的數(shù)據(jù)增刪改查和調(diào)用操作。業(yè)務(wù)數(shù)據(jù)倉庫的接口連接客戶端、數(shù)據(jù)庫和系統(tǒng)的連接點(diǎn),起到一個(gè)連接作用。Hive 解析器和Hive Metastore 兩個(gè)器件面向的處理對(duì)象都是數(shù)據(jù)庫內(nèi)的數(shù)據(jù)信息,但Hive 的作用是對(duì)數(shù)據(jù)更改信息行為的管理,Hive Metastore的作用是完成數(shù)據(jù)的獲取。
在基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)硬件器件和軟件功能設(shè)計(jì)完成的基礎(chǔ)上,完善系統(tǒng)跨數(shù)據(jù)庫查詢分析的流程,具體如圖6 所示。
圖6 基于Presto的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)軟件流程
首先,系統(tǒng)根據(jù)提供的待查詢分析的數(shù)據(jù)業(yè)務(wù)進(jìn)行深度檢索,按照分析結(jié)果建立業(yè)務(wù)數(shù)據(jù)源的注冊(cè),注冊(cè)過程中分別完成存儲(chǔ)數(shù)據(jù)加密設(shè)置、注冊(cè)空間大小設(shè)置以及設(shè)置注冊(cè)表的增刪改查功能,保證查詢存儲(chǔ)數(shù)據(jù)的安全性和存儲(chǔ)可用性。然后開啟跨數(shù)據(jù)庫業(yè)務(wù)數(shù)據(jù)查詢的數(shù)據(jù)源監(jiān)聽功能,利用Presto技術(shù)對(duì)可操作數(shù)據(jù)庫進(jìn)行跨數(shù)據(jù)庫查詢引擎工作,同時(shí)觸發(fā)協(xié)同過濾算法,輔助系統(tǒng)在查詢的過程中檢索出有效的數(shù)據(jù)詞條。最后,將系統(tǒng)跨數(shù)據(jù)庫查詢到的業(yè)務(wù)數(shù)據(jù)相關(guān)系統(tǒng)存儲(chǔ)到注冊(cè)表中,等待調(diào)用。
通過以上的論述完成了基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫查詢分析系統(tǒng)的設(shè)計(jì),為了檢驗(yàn)此系統(tǒng)的可行性和工作效果,進(jìn)行對(duì)比實(shí)驗(yàn)測試完成驗(yàn)證。在進(jìn)行實(shí)驗(yàn)測試前選擇了基于激光掃描的業(yè)務(wù)數(shù)據(jù)跨庫查詢分析系統(tǒng)(簡稱為激光掃描系統(tǒng))和基于大數(shù)據(jù)查詢的業(yè)務(wù)數(shù)據(jù)跨庫查詢分析系統(tǒng)(簡稱為大數(shù)據(jù)查詢系統(tǒng))作為對(duì)照系統(tǒng),共同完成實(shí)驗(yàn)。
實(shí)驗(yàn)測試選擇的業(yè)務(wù)數(shù)據(jù)為“工廠泄露鉛元素的影響和危害”,實(shí)驗(yàn)測試的數(shù)據(jù)庫為億信華辰數(shù)據(jù)工廠數(shù)據(jù)庫、安華金數(shù)據(jù)庫、中國工業(yè)企業(yè)數(shù)據(jù)庫,以上三個(gè)數(shù)據(jù)庫內(nèi)的數(shù)據(jù)庫內(nèi)容都是關(guān)于此次業(yè)務(wù)數(shù)據(jù),并且數(shù)據(jù)庫為大型數(shù)據(jù)庫,可以滿足實(shí)驗(yàn)需求。選擇同一時(shí)間啟動(dòng)三個(gè)系統(tǒng),系統(tǒng)無誤運(yùn)行10 min 后,同時(shí)向三個(gè)系統(tǒng)發(fā)送需要查詢分析的數(shù)據(jù)業(yè)務(wù),開始實(shí)驗(yàn)測試。對(duì)于實(shí)驗(yàn)結(jié)果數(shù)據(jù)的分析主要從系統(tǒng)跨數(shù)據(jù)庫查詢的速率、耗能以及查詢結(jié)果的準(zhǔn)確性三方面進(jìn)行分析。
實(shí)驗(yàn)結(jié)束后,數(shù)據(jù)分析儀直接體現(xiàn)的數(shù)據(jù)是該文設(shè)計(jì)系統(tǒng)完成查詢分析的時(shí)間是27 min,跨數(shù)據(jù)庫成功查詢與數(shù)據(jù)業(yè)務(wù)相關(guān)的數(shù)據(jù)詞條12 230 個(gè),激光掃描系統(tǒng)和傳統(tǒng)系統(tǒng)2 完成的時(shí)間分別是46 min 和38 min,跨數(shù)據(jù)庫成功查詢到與數(shù)據(jù)業(yè)務(wù)相關(guān)的數(shù)據(jù)詞條分別為9 873 個(gè)和12 393 個(gè),專業(yè)系統(tǒng)查詢時(shí)間為20 min,查詢出相關(guān)數(shù)據(jù)詞條為12 450 個(gè)。實(shí)驗(yàn)結(jié)束后,將三個(gè)系統(tǒng)查詢出的數(shù)據(jù)詞條與“工廠泄露鉛元素的影響和危害”業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配,計(jì)算每個(gè)系統(tǒng)查詢的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果如圖7 所示。
圖7 準(zhǔn)確率實(shí)驗(yàn)結(jié)果
計(jì)算得出基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫查詢分析系統(tǒng)跨數(shù)據(jù)庫查詢分析的數(shù)據(jù)與業(yè)務(wù)數(shù)據(jù)的匹配度最高為97%,激光掃描系統(tǒng)的匹配度為95%,大數(shù)據(jù)查詢系統(tǒng)的匹配度為93%。計(jì)算大數(shù)據(jù)查詢系統(tǒng)在跨數(shù)據(jù)庫中檢索的數(shù)據(jù)詞條大于該文設(shè)計(jì)系統(tǒng)查詢?cè)~條的數(shù)據(jù)量,但是傳統(tǒng)系統(tǒng)查詢?cè)~條中無效的詞條大于基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫查詢分析系統(tǒng),降低了傳統(tǒng)系統(tǒng)的查詢效率。因此,可以證明該文系統(tǒng)的查詢效率優(yōu)于傳統(tǒng)系統(tǒng),并且符合目前系統(tǒng)查詢的應(yīng)用標(biāo)準(zhǔn)。
圖8 是分析三個(gè)系統(tǒng)完成實(shí)驗(yàn)所耗用的能量,可以看出該文設(shè)計(jì)系統(tǒng)所耗用的能量最高為49 kW·h,其他兩個(gè)傳統(tǒng)系統(tǒng)耗用的能量大于49 kW·h,最高達(dá)到了80 kW·h。系統(tǒng)耗用能量的大小表示系統(tǒng)查詢行為的復(fù)雜度和運(yùn)行穩(wěn)定情況,耗用量越低,表示系統(tǒng)的查詢調(diào)用行為越簡單,運(yùn)行越穩(wěn)定。綜上所述,可以證明該文設(shè)計(jì)的基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng)具有可行性和穩(wěn)定性。
圖8 能量消耗實(shí)驗(yàn)結(jié)果圖
該文設(shè)計(jì)了基于Presto 的業(yè)務(wù)數(shù)據(jù)跨庫分析查詢系統(tǒng),主要運(yùn)用了Presto 技術(shù)、協(xié)同過濾算法、數(shù)據(jù)倉特征,達(dá)到提高跨數(shù)據(jù)庫查詢分析業(yè)務(wù)數(shù)據(jù)的目的。該文不僅優(yōu)化了跨數(shù)據(jù)庫數(shù)據(jù)業(yè)務(wù)查詢的引擎功能,而且還對(duì)應(yīng)跨數(shù)據(jù)庫查詢方式設(shè)定了特殊的安全機(jī)制,保證業(yè)務(wù)數(shù)據(jù)查詢過程中數(shù)據(jù)的安全性。