劉小斌 于由美 江明 張超環 宮臣
[摘? ? 要] 遼河油田勘探開發研究院應用計算資源虛擬化、存儲資源整合及網絡重構等技術搭建了油田地質綜合研究云平臺,該平臺具備服務器資源、數據資源及軟件資源統一管理,專業應用遠端隨需即取,跨平臺等技術特色,改變了軟件本地安裝維護不及時、多操作系統軟件部署受限、資料成果本地磁盤存儲易丟失的傳統工作模式,能夠隨時應用平臺中的應用軟件,大幅提升硬件資源的使用效率,同時也提升了一體化協同研究的技術能力,并形成了多項技術成果。
[關鍵詞] 圖像雙緩沖技術;平臺資源動態擴容技術;運維管理;油田地質綜合研究;云平臺
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2020. 15. 042
[中圖分類號] F270.7;TP315? ? [文獻標識碼]? A? ? ? [文章編號]? 1673 - 0194(2020)15- 0097- 03
0? ? ? 前? ? 言
遼河油田勘探開發研究院通過多年的技術攻關,應用計算資源虛擬化、存儲資源整合及網絡重構等技術建立了油田地質綜合研究云平臺。該平臺最大特色是靜態基礎資料庫、研究項目庫、圖形庫的一體化設計,為遼河油田勘探開發研究領域之首創,創新技術達到了國內同行業領先水平。目前,在遼河油田公司相關部門的大力支持下,勘探開發云平臺在研究院、錦州采油廠和金海采油廠等12家單位進行應用推廣,云平臺的研究成果在推廣單位的勘探開發研究工作中得到了應用,結束了資料靠下載、成果靠拷貝的低效工作模式,能夠隨時應用平臺中的應用軟件,提升了一體化協同研究的技術能力,效果明顯;同時,在推廣過程中發現,如何在復雜的網絡環境中提供穩定的云平臺服務,如何在線擴充和動態調整軟硬件資源,如何完善現有運維技術,提升信息服務技術能力,縮短故障處理時間,是云平臺推廣過程中面臨的主要問題。
針對上述問題,我們進行了大量的技術攻關工作。
1? ? ? 圖像雙緩沖技術
針對平臺應用軟件,將地質基礎資料數據庫和地質專業應用圖形庫數據結構優化調整,重寫或者改寫應用軟件系統需要訪問存儲在地質基礎資料數據庫、地質專業應用圖形數據庫和云平臺資源信息數據庫中應用到的存儲過程、數據處理等函數,開發了數據字典、應用視圖、數據讀寫存儲過程、數據預處理函數和應用程序數據共5個數據接口。實現平面構造圖、儲層分布圖、物性分布圖、沉積相平面圖、儲層連通圖、地層對比剖面、構造剖面、油藏剖面、沉積相剖面、綜合柱狀圖等10類圖件繪制的雙緩沖功能[1]。
在圖形圖像處理編程過程中,雙緩沖是一種大數據圖像快速繪制技術,如果窗體在響應WM_PAINT消息的時候要進行復雜的圖形處理,那么窗體在重繪時,由于頻繁的刷新而引起了閃爍現象,解決這一問題的有效方法之一就是雙緩沖技術。因為窗體在刷新時,總要有一個擦除原來圖像的過程OnEraseBkgnd,它利用背景色填充窗體繪圖區,然后調用新的繪圖代碼進行重繪,這樣一擦一寫造成了圖像顏色的反差。當WM_PAINT的響應很頻繁的時候,這種反差也就越發明顯,于是我們就看到了閃爍現象?;谏鲜鲈恚覀儠茏匀坏叵氲?,避免背景色的填充是消除閃爍的最直接的辦法。但是那樣的話,窗體會變得很糟。因為每次繪制圖像的時候都沒有將原來的圖像清除,造成了圖像的殘留,于是在窗體重繪時,畫面往往會變得雜亂,所以單純地禁止背景圖像重繪不能解決問題。我們還要進行重新繪圖,但要求速度很快,所以必須進行圖形塊的復制。我們可以先在內存中繪制圖像,然后將此內存中的圖像復制到前臺,同時禁止背景刷新,這樣就消除了閃爍。這就是雙緩沖繪圖的基本思路。
雙緩沖繪圖涉及大圖像的無效區域和有效區域判斷。Windows內部為每個窗口保存一個繪圖信息結構,這個結構包含了包圍無效區域的最小矩形的坐標以及其他信息,這個矩形就叫無效矩形,有時也被稱為無效區域。如果在窗口消息處理程序處理WM_PAINT消息之前顯示區域中的另一個區域變為無效,則Windows計算出一個包圍兩個區域的新的無效區域(即一個新的無效矩形),并將這種變化后的信息放在繪制信息結構中。Windows不會將多個WM_PAINT消息都放在消息隊列中。WM_PAINT只會更新無效區域內信息。在首次處理WM_PAINT消息后,整個程序界面都變為有效區域,如果不對程序進行任何操作,它是不會產生無效區域的。只有移動窗口這類的操作才會產生無效區域,觸發WM_PAINT消息重繪窗口。窗口消息處理程序可以通過呼叫InvaladataRECT顯示區域無效。在處理WM_PAINT消息處理期間,窗口消息處理程序在呼叫了BeginPaint之后,整個顯示區域即變為有效。程序也可以通過呼叫ValidateRect函數使顯示區域內的任意矩形區域變為有效。如果呼叫具有令整個無效區域變為有效的效果,則目前隊列中的任何WM_PAINT消息都將被刪除。InvalidateRect只是增加重繪區域,在下次WM_PAINT的時候才生效。InvalidateRect函數中的參數TRUE表示系統會在你畫之前用背景色,將所選區域覆蓋一次,默認背景色為白色,可以通過設置BRUSH來改變背景色。InvalidateRect(hWnd,&rect,TRUE);向hWnd窗體發出WM_PAINT的消息,強制客戶區域重繪制,rect是你指定要刷新的區域,此區域外的客戶區域不被重繪,這樣防止客戶區域的一個局部的改動,而導致整個客戶區域重繪而導致閃爍,如果最后的參數為TRUE,則還向窗體發送WM_ERASEBKGND消息,使背景重繪。當然,在客戶區域重繪之前,UpdateWindow只向窗體發送WM_PAINT消息,在發送之前判斷GetUpdateRect(hWnd,NULL,TRUE),看有無可繪制的客戶區域,如果沒有,則不發送WM_PAINT;如果希望立即刷新無效區域,可以在調用InvalidateRect之后調用UpdateWindow,如果客戶區的任一部分無效,則UpdateWindow將導致Windows用WM_PAINT消息調用窗口過程(如果整個客戶區有效,則不調用窗口過程)。這一WM_PAINT消息不進入消息隊列,直接由Windows調用窗口過程。窗口過程完成刷新以后立刻退出,Windows將控制返回給程序中UpdateWindow調用之后的語句。
目前,我們使用云平臺提供的如地質綜合研究軟件在繪制平面構造圖等圖件時,需從基礎資料庫中調取井位、井斜、層位、井位符號等數據資料,從地質圖形庫中調取等深線、等深著色區域、地層邊界、圖例、邊框等圖形資料,在內存中根據數據和圖素的類別組合成圖件可視化對象,可視化對象繪制時綜合運用圖像雙緩沖技術,保證圖件繪制延遲不超過0.5s。
2? ? ? 平臺資源動態擴容技術
改變云平臺服務器部署模式,通過部署集群建立平臺資源池,快速完成平臺資源到服務的動態映射,服務到用戶的動態綁定,實現新引進的軟硬件在平臺的快速部署應用,并運用動態資源調度技術實現云平臺資源池的負載均衡。對于新進的硬件設備,通過資源到服務的動態映射技術,將服務器動態擴充到平臺服務器集群中,然后創建新的計算節點,隨后為應用軟件分配計算資源,從而完成在云平臺現有資源池中快速擴充硬件資源。對于新進的軟件設備,從服務器集群中劃分資源創建該軟件資源池,并在計算節點中部署新進軟件,完成云平臺現有資源池中快速擴充應用軟件(參見圖1)。
動態擴充云平臺資源池后,運用動態資源調度技術,根據輪詢服務器的資源使用率,調整云平臺計算節點的分布來負載均衡云平臺資源池。通過計算資源負載均衡技術研究,將計算節點的連接數、CPU使用率、內存使用率、圖卡使用率列為關鍵性能指標,并按影響程度打出分值,通過分值構建性能指標矩陣,計算服務器的KPI權重值,編寫程序實現計算節點四個關鍵性能指標在矩陣中的輪詢,使服務器按權值順序接受來自平臺用戶的服務請求,實現應用的負載均衡[2],充分利用了云平臺服務器硬件資源,優化應用體驗(參見圖2)。
3? ? ? 自主研發運維管理平臺
自主研發運維管理平臺,針對云平臺資源層,編寫了管理模塊和監控模塊?;跒g覽器實現對云平臺硬件資源、軟件資源、許可資源等多方面全方位的監控及管理,運用高可用性技術、VMware快照技術和克隆技術,實現平臺故障服務器、節點業務的快速恢復,制定多重安全驗證機制,通過防火墻配置、本地驗證證書、云平臺用戶與異構環境的軟件用戶建立映射關系,建立完整、安全、高效的安全認證機制。
運維管理平臺運用高可用性技術,通過心跳機制發現未響應服務器,尋找空閑服務器通過在線遷移來接管節點,保證在不間斷業務的情況下完成故障處理。當虛擬節點所在服務器產生故障或停機時,通過虛擬機遷移技術可以迅速地將故障服務器上的計算節點遷移到集群內或集群外正常運行的物理機上,繼續對云平臺用戶業務訪問進行響應。當單個計算節點發生故障時,通過克隆技術,將故障節點進行替換,隨后使用快照技術對節點進行故障修復,實現平臺資源池快速運維。
4? ? ? 總? ? 結
油田地質綜合研究云平臺已推廣部署于遼河油田12家單位的地質部門,該平臺是遼河油田勘探開發研究信息化新一代架構,實現了專業應用軟件及數據庫系統云服務模式,最大程度發揮了軟硬件應用效能,為遼河油田增儲穩產、降本增效提供有力的技術支持,填補了遼河油田地質信息應用領域的空白。
主要參考文獻
[1]鄒金津.提高二、三維圖像低網絡帶寬條件下遠程傳輸效率[J].電腦知識與技術,2019,15(11).
[2]于由美,劉小斌,江明,等.地質綜合研究云平臺運維管理[J].中國管理信息化,2019,22(7).