萬嬋, 江疆, 吳穹
(1.廣東電網有限責任公司, 廣東,廣州 510000;2.廣東電力信息科技有限公司, 廣東,廣州 510000)
隨著計算機技術的飛速發展,電力企業也逐步實現了信息化,而電網系統內部產生的數據信息也在急劇增長[1-2]。當前現有系統未創建完備的索引功能,為了提高電網系統的運行效率,設計電網數據集市海量信息索引系統具有重要的意義[3]。
文獻[4]采用序貫貝葉斯搜索,通過調查噪聲容限,優化目標函數,查找相關文檔以進行技術輔助檢索,完成高召回信息檢索。但該系統查全率和效率較低,不能被廣泛使用。文獻[5]利用Agent實現信息在系統中的交互,分析信息索引等模塊主要功能,通過查詢機制實現電網數據信息檢索,完成索引系統設計。但該系統未建立數據信息排序列表,導致系統在檢索數據信息時穩定性較差。
因此,提出考慮哈希索引的電網數據集市海量信息索引系統設計方法。聚類融合處理數據信息進行提取與檢索,提高系統查全率,結合哈希算法排序融合電網數據信息,提高系統檢索效率,利用三個層次的B/S體系結構,以此增強系統的安全性,并設計系統主要功能模塊,完成考慮哈希索引的電網數據集市海量信息索引系統設計。
為了提高電網數據集市海量信息索引系統的查全率,在系統設計之前,需要對其數據信息進行聚類融合處理。如果數據信息檢索輸出的關聯規則系數滿足0<α<2,電網數據信息的控制變量滿足1<μ<2,那么數據信息檢索的信息融合度為
E(x)=μ
(1)
如果電網上的數據信息分布符合1<μ<2,那么所檢索的狀態估計值X就是正向的,并且必須滿足數據信息檢索的輸出標準誤差:
(2)
電網數據信息檢索的關聯規則屬性集為
(3)
在對電網數據信息進行聚類融合處理的基礎上,能有效地進行數據的抽取與檢索,提升了系統的檢索查全率。設電網數據信息的聚類融合尺度為
(4)
引入模糊特征分組檢測方法,獲取電網底層的數據信息,設J(Wi)為數據信息分組檢測的統計變量,將其進行簡化為
(5)
根據差分進化方法,通過自適應調節電網數據信息的檢索輸入控制參數,線性迭代檢索過程。如果i≠j、j=1,…,m被滿足,則單一的檢索節點i的匹配函數是:
(6)
劃分電網數據信息的高維區域,所產生的數據信息檢索結果的子序列如下:
(7)
利用模糊分組聚類算法對不同屬性的電網數據信息進行了分組檢測,得到了以下結果:
(8)
檢索控制約束變量為
JI(nTB)=Acos(n*2πΔTB)-Bsin(n*2πΔTB)
(9)
通過提取的關聯規則量[6],得到數據信息檢索的關聯量為:
(10)
利用哈希算法對所檢索的數據信息進行排序融合,從而提高了系統檢索的效率。基于哈希算法的排序列表,建立了以查詢數據為中心的加權無向圖:
G=(V,E,W)
(11)
式中,G中有邊的兩個節點是最接近的k個相鄰點。將V作為節點集,其產生的具體步驟如下:
(1) 在集合V中放置所有侯選和查詢數據信息q;
(2) 在集合V中合并該集合所有元素都是k的鄰近;
(3) 將集合V1中全部元素替換成與集合V1中的所有元素的k相鄰關系;
(4) 將集合V1中的所有元素并入V中;
(5) 重復步驟(3)、步驟(4),直到集合為空集合。
G中兩個節點之間的相似性與衰減因子之積,其權重為
(12)
式中,δ(q,i)是在節點i和q間最短的路徑,τ是衰減基數,而Nk(i)是節點i的k鄰近。基于哈希算法的排序列表結構如圖1所示。

圖1 基于哈希排序列表的加權無向圖
圖1中的衰減系數幅度用最接近查詢數據信息的節點的尺寸來表示,重要性越高。
為了方便系統以后的升級與擴展,該系統在設計時將經過排序后的電網數據信息和所有的運行程序安裝在Web服務器上,使客戶端實現真正的“0”配置,而且采用這種配置也十分有利于用戶的維修和使用,電網數據集市海量信息索引系統的創建環境如表1所示。

表1 電網數據集市海量信息索引系統環境參數
電網數據集市海量信息索引系統采用B/S三層體系結構[7],系統的總體結構如圖2所示。

圖2 系統概念模型與物理結構
利用B/S三層體系結構,把整個系統分為三個不同的單元,即表示層、功能層和數據層,以防止客戶機直接控制電網數據信息庫,提高系統的安全系數,防止非法入侵,加強系統在檢索時的穩定性。
(1) 表示層
表示層是包含系統顯示邏輯的網頁瀏覽器,其主要任務是接收用戶的訪問和請求。通過網絡服務器驗證后,通過HTTP協議把所需的網頁發送給客戶端,然后在網絡瀏覽器上顯示出來。
(2) 功能層
功能層是包含了系統業務邏輯的Web服務器,具有應用擴展的能力。主要的工作是從用戶方接受請求[8]。將一個擴展的應用程序與一個系統數據庫相連,通過SQL來處理數據,然后經由數據庫服務器呈遞至Web服務器,然后傳回至客戶端。
(3) 數據層
數據層是指以上提到的數據庫服務器,包含了能夠處理數據的系統邏輯。其主要任務是接收數據庫的操作,完成查詢、刪除、修改等功能,并向服務器發送操作結果。
系統功能模塊設計如圖3所示。

圖3 系統功能模塊
(1) 身份驗證模塊
身份驗證模塊是一個用戶登錄的模塊,主要作用是通過用戶的IP地址、數據庫訪問權限、頁面跳轉等來進行身份認證。身份驗證模塊流程如圖4所示。

圖4 身份驗證模塊流程圖
從圖4中可以看出,利用用戶主機IP,在通過數據庫訪問進行頁面跳轉,驗證用戶身份是否符合,若身份驗證符合,則進入檢索系統開始使用;若身份不符合,則需返回數據庫訪問步驟進行重新驗證。
(2) 賬戶管理模塊
建立賬戶管理模塊主要是為了保證數據庫的安全與正確性。帳號管理模塊主要是由系統的管理員來設定和管理帳號與權限組成,并對用戶登錄后的數據庫進行管理。
(3) 編碼維護模塊
編碼維護模塊的主要功能是建立電網數據信息的分類,實現數據信息的編碼管理,提高數據信息采集和數據信息檢索的效率,便于數據庫的維護。編碼維護模塊流程如圖5所示。

圖5 編碼維護模塊流程圖
根據圖5可知,提取后臺數據庫,對電網數據信息進行分類后,編碼電網數據信息,實現數據庫維護,提高信息采集和檢索效率。
(4) 數據信息采集模塊
數據信息采集模塊首先添加了數據信息采集,對所檢索的信息進行歸類,對有無重復的信息進行檢查,如果有,那么進行修改、刪除或保存;如果沒有,那么增加新的信息。數據信息采集模塊流程如圖6所示。

圖6 數據信息采集模塊流程圖
根據圖6可知,通過增加數據信息采集,檢索出信息所屬分類,驗證數據信息是否重復,若信息重復,則進行修改與刪除;若信息不重復,則重新添加數據信息采集。
(5) 修改與刪除模塊
修改與刪除模塊的主要功能是實現電網數據信息的成批修改、刪除等功能,或者進行某一處或者某幾處的特定數據信息修改與刪除。
(6) 數據信息檢索模塊
數據信息檢索模塊的主要作用是把檢索到的數據信息轉換為編程語言,連接數據庫進行提交、檢索,分頁顯示,最終按需要檢索和顯示有關的所有信息。數據信息檢索模塊流程如圖7所示。
根據圖7可知,將數據信息翻譯為檢索系統程序語言,并提交至數據庫進行檢索,若檢索結果為空,則輸出空結果;若檢索結果不為空,則顯示檢索信息。

圖7 數據信息檢索模塊流程圖
為驗證所提方法是否有效,實驗對文獻[4]方法、文獻[5]方法和所提方法進行檢索效率、查全率和穩定性對比測試。基于Lucene實現系統主要功能模塊關鍵代碼如下:

public static void main(String[] args) throws IOException { String indexDir="C:UsersasusDesktopjavainformation-retrieval-systemindex";BufferedReader br = new BufferedReader(new InputStream-Reader(System.in));String str = null;System.out.println("Please enter the keywords you want to search:");try { str = br.readLine(); System.out.println();} catch (IOException e1) {e1.printStackTrace();} String temp = str;String[] suggestions = checkWord(str);if (suggestions != null && suggestions.length != 0){ System.out.println("What you may want to enter is:"); for(int i = 0; i < suggestions.length; i++){ System.out.println((i+1) + " : " + suggestions[i]);} System.out.println("Please select one of the correct key-words above (enter 1 ^ 5), or continue to search with the original word (enter 0)"); str = br.readLine(); System.out.println(); if (str != "0"){ str = suggestions[str.charAt(0) - '1']; } else{ str = temp; }}try { search(indexDir,str);} catch (Exception e) { e.printStackTrace();}}
實驗背景如表2所示。

表2 實驗環境與各項參數
文獻[4]方法、文獻[5]方法和所提方法的檢索效率對比結果如圖8所示。

圖8 不同方法的檢索效率對比結果
從圖8可以看出,與文獻[4]方法和文獻[5]方法相比,所提方法具有較高的檢索效率。因為該系統利用哈希算法排序融合電網數據信息,減少了存儲空間,從而提高了系統檢索的效率。
查全率是一個重要的指標,它反映了一個系統對與用戶有關的數據信息的檢索能力。公式為
(17)
文獻[4]方法、文獻[5]方法和所提方法的查全率對比結果如圖9所示。

圖9 不同方法的查全率對比結果
由圖9可知,相比于文獻[4]方法和文獻[5]方法,所提方法的查全率較高。由于該系統利用數據挖掘中的關聯規則,對電網的數據進行抽取和檢索,保證了檢索的準確率,因此系統查全率也最高。
文獻[4]方法、文獻[5]方法和所提方法的穩定性對比結果如圖10所示。
由圖10可知,所提方法在檢索數據信息的過程中是最穩定的。因為本系統采用了B/S三層結構,把整個系統分為表示層、功能層和數據層,從而避免了客戶端直接控制電網的數據,提高了系統的安全性,有效地阻止了非法用戶的侵入,因此系統在檢索時能夠更加穩定。

圖10 不同系統的穩定性對比結果
針對當前索引系統在設計時存在檢索效率差、查全率低、穩定性差的問題,設計考慮哈希索引的電網數據集市海量信息索引系統,在系統設計前,采用關聯規則的挖掘結果對數據進行提取與檢索,并利用哈希算法對電網數據信息進行了排序融合,通過B/S三層體系設計系統架構和各功能模塊,該系統設計方法的檢索效率更高、查全率更高、穩定性更好。