張 偉
(中國大唐集團科學技術研究院有限公司,北京 100040)
隨著云計算服務在電力行業(yè)里廣泛的應用,用戶對電力云平臺的搜索能力要求越來越高。云計算將原本分散的資源聚集起來,再以服務的形式提供給受眾,實現集團化運作、精益化管理、標準化建設。
電力云平臺系統(tǒng)基于電力系統(tǒng)數據庫中通過云搜索引擎的快速搜索,檢索到相應的共享知識內容,系統(tǒng)功能界面簡潔,用戶操作便捷。
電力云百科系統(tǒng)是部署在云上的一套系統(tǒng),此系統(tǒng)是電力系統(tǒng)內部的一套維基百科,主要應用于電力系統(tǒng)內部的電力知識的共享以及共享知識的不斷更新。
電力云百科主要包括搜索引擎和百科知識編輯處理兩個業(yè)務模塊。整個業(yè)務系統(tǒng)運行在云平臺之上。當客戶從海量數據中查找到所需的知識點時,可以首先對搜索到的知識點進行閱讀瀏覽,之后如果需要對知識點進行補充修改時,可以對此詞條進行評論,然后在前端進行修改,完成知識點的編輯,通過管理員的權限控制、審核,最終完成詞條的修改。
電力云操作平臺由分布式云文件系統(tǒng)(DataCell FS)、數據庫同步系統(tǒng)(DataCell Echo)、電力云搜索引擎三部分組成,為云百科提供了應用基礎。電力云平臺系統(tǒng)架構如圖1所示。
圖1 電力云平臺系統(tǒng)架構圖
分布式云文件系統(tǒng)(DataCell FS)是完全自主開發(fā)具有自由知識產權的文件系統(tǒng),該系統(tǒng)為分布式計算存儲提供底層支持。分布式云文件系統(tǒng)架構如圖2所示。
圖2 分布式云文件系統(tǒng)架構圖
由此DataCellFS具備以下特點:
(1)對于整個集群有統(tǒng)一的命名空間。
(2)數據一致性。適合一次寫入、多次讀取的模型,客戶端在文件沒有被成功創(chuàng)建之前無法看到文件存在。
(3)文件會被分割成多個文件塊,每個文件塊被分配存儲到數據節(jié)點上,而且根據配置會由復制文件塊來保證數據的安全性。
分布式文件系統(tǒng)DataCellFS是用于構建企業(yè)級非結構化數據平臺的云存儲軟件產品,具備高可擴展性的特點,可幫助企業(yè)實現高效的非結構化數據存儲和管理功能[1]。平臺采取全新的分布式體系架構,利用先進的虛擬化技術靈活地將網絡上眾多獨立的存儲節(jié)點粘合起來,隱藏底層的負載均衡、冗余復制等細節(jié),對上層程序提供統(tǒng)一的文件調用接口,并按照每個客戶端實際使用量隨時動態(tài)地分配物理空間,實現建立在現有硬件設備或其他廉價硬件設備上的網絡虛擬存儲功能。同時,DataCell FS還結合高效數據總線的傳輸能力,在文件傳輸、存儲和訪問的過程中采用主動檢測和自動處理失敗情況等多種機制來提高整個系統(tǒng)的容錯性和可靠性,從而能最大程度地利用網絡帶寬和保證可靠的文件傳輸,并較好地滿足跨區(qū)域、多節(jié)點、復雜網絡環(huán)境的文件存儲和共享需求[2]。
關系型數據庫集群軟件是電力云操作系統(tǒng)的重要組成部分之一,可以解決跨區(qū)域、異構分布式數據庫的統(tǒng)一訪問和實時數據同步問題,可以同時處理同一系統(tǒng)內的多個異構數據庫系統(tǒng)之間的數據交換和同步。通過對各個數據庫系統(tǒng)內數據的動態(tài)劃分和管理,跨域數據庫訪問和同步分發(fā)系統(tǒng)還可在一個或多個數據庫中支持多個主/從并存[3]。在放寬對數據一致性要求的前提下,它可以繞過普通關系數據庫的性能瓶頸,大大提高大型應用系統(tǒng)中數據庫的響應速度和數據容量。關系型數據庫集群軟件架構如圖3所示。
圖3 關系型數據庫集群軟件架構圖
另外,數據同步訪問接口為業(yè)務系統(tǒng)、管理系統(tǒng)以及各種其他系統(tǒng)提供一致的數據同步和訪問接口,將外部系統(tǒng)所提交的數據請求分發(fā)到相應的控制模塊,并負責將必要的數據操作結果通知并返回給外部系統(tǒng)??刂颇K負責將接收到的數據請求提交給主數據庫,并且在主數據庫操作提交成功后將數據請求通過控制總線組播給所有此次需要同步的虛擬數據庫的同步模塊。根據用戶所選擇的策略,控制模塊會選擇等待虛擬數據庫節(jié)點完成或者不等待,并將結果返回給數據同步訪問接口以通知用戶數據操作結果。虛擬數據庫的同步和訪問模塊負責將接收到的來自控制模塊的操作請求提交給本機的物理數據庫[4],并且將提交的結果返回給數據同步訪問接口來通知用戶數據操作的結果。
除了普通的數據操作模式之外,根據用戶選擇的策略,虛擬數據庫可以工作于異步模式。當異步模式時,用戶不實際參與實時的數據訪問和同步過程,可以選擇在適當的時機通知對應的虛擬數據庫節(jié)點以異步的方式提交數據[5]。當系統(tǒng)中有新的虛擬數據庫節(jié)點加入時,可以根據用戶選取的恢復點,自動化恢復所有過往的數據操作,最終達到與所有其他的虛擬數據庫節(jié)點一致的狀態(tài)。這種虛擬同步(Virtual Synchrony)技術不僅可以保證在任何情況下多數據庫節(jié)點數據操作均能正常地完成或者從故障中恢復,同時極大地強化了對異構數據庫以及多主數據庫情況下的數據訪問和同步支持[6]。
概括地講,數據庫同步系統(tǒng)具有如下的技術特點:
(1)多點讀寫,提供負載均衡;
(2)提供多主數據庫和多從數據庫模式;
(3)支持分組,同一組數據庫可以建立多個組,按照不同的業(yè)務邏輯進行同步;
(4)多機備份,避免單點失效;
(5)數據模型可通過外部XML文件靈活配置,避免業(yè)務代碼更改;
(6)多操作系統(tǒng),支持Linux、AIX、Windows等平臺;
(7)支持分布式異構數據庫,支持包括IBM DB2、Oricle、MySql等數據庫的異構環(huán)境;
(8)多節(jié)點支持,支持 10個以上的同步節(jié)點;
(9)多策略,支持配置文件的更新或更新消息中設定多種策略來控制整個數據的同步,原有的業(yè)務邏輯不需要更改。
(10)支持單步提交和兩步提交兩種模式。
云搜索服務引擎是基于海量的數據、多源數據(Web URL、企業(yè)內部數據、郵件、數據庫內容等)而建立起來的快速搜索的面向應用的服務平臺,專門提供企業(yè)在信息化過程中海量信息的搜索服務[7]。云搜索引擎架構如圖4所示。
圖4 云搜索引擎架構圖
作為企業(yè)搜索服務引擎,其主要完成對企業(yè)各數據源的管理、分詞的建立、索引的建立,并結合企業(yè)知識分類體系完成搜索服務,提供應用系統(tǒng)更便捷的接口[8]。作為云搜索服務引擎,其內部系統(tǒng)采用高度虛擬化技術,完成整個集群的管理和維護。
通過使用云計算技術,云百科系統(tǒng)的性能得到了極大提高,但其硬件平臺搭建成本反而降低。
云百科業(yè)務系統(tǒng)主要體現了以下幾個特點:
(1)系統(tǒng)效率的提高
采用云計算技術,可以提高并發(fā)訪問量,同時還可以提高檢索速度。由于采用了分布式的文件存儲系統(tǒng),因此檢索信息可以由原來直接對一臺服務器操作,變成對多臺機器的操作,克服了磁盤的訪問壓力。
(2)系統(tǒng)的動態(tài)擴展
在整個系統(tǒng)的架構設計中,通過云計算技術,可以實現以后業(yè)務的動態(tài)擴展。
(3)硬件設備的利舊
云計算的一大優(yōu)點就是可以用若干普通服務器來代替小型機,同時能達到用戶所需要的性能。相對于購買新的小型機,可以通過使用暫時閑置的服務器來完成系統(tǒng)的功能搭建,在一定程度上節(jié)約了成本。