(中海油信息科技有限公司深圳分公司,廣東深圳 518000)
油氣生產領域是較早應用各類信息系統解決生產及管理問題的行業。油氣領域的信息系統發展經過了較長時間的積累后形成了不同的系統。同時,在油氣生產領域數字化轉型過程中,各類數字化信息系統也在大量投入生產運行。而這些系統具有不同的架構體系,在接口標準、數據體系等方面并不一致,因此系統之間的兼容性以及交互性較差,從而形成了不同系統之間的信息孤獨問題。由于系統存在重復建設,不同的系統之間的功能也有重合,因此導致業務系統的功能較為臃腫。隨著石油行業的業務發展,這些舊有的系統架構難以被優化,而運維這些系統的成本卻不斷提高,原有系統架構成為提升業務效率,促進石油業數字化轉型的障礙。PaaS架構下,為所有的應用系統提供底層的解決方案,可以統一數據的標準以及交互接口標準,可以打破組織在不同地域的邊界,整合信息資源,提高系統的開發以及運行效率。因此,基于PaaS架構進行石油信息化建設成為趨勢。
PaaS架構屬于云計算架構中的平臺層,即提供云計算的基礎平臺,并為應用層提供底層的平臺[1]。本文設計的石油信息化管理云計算架構如圖1所示。

圖1 架構設計Fig.1 Architecture design
針對PaaS平臺,開發者、管理者均能利用平臺提供的各類資源。同時PaaS平臺提供各類基礎的組件對系統進行橫向擴展。比如PaaS提供數據的擴展功能,能夠支持數據庫的擴展。PaaS制定了嚴格的權限標準,為使用平臺的不同人員分配權限,保障平臺的安全。在PaaS平臺的日常運維中,提供各類運維工具,監控平臺的各項指標,當PaaS平臺運行中出現風險時,及時進行預警。PaaS平臺也提供了開發者的支持模式,提供各類開發工具,并建立開發標準幫助開發人員高效搭建應用系統。PaaS平臺主要分為核心功能層、平臺服務層,并提供調度機制調度平臺的各類資源。
核心功能層提供了PaaS的各項核心基礎能力。核心功能層是PaaS的基礎接口,基礎接口實現了PaaS的網絡訪問、安全機制、運行機制,并對外提供服務。安全上,核心功能層能夠實時的、動態的監控平臺各項資源,監控異常應用信息,該功能保障了平臺的正常運行以及安全性,保障了應用的質量,并為系統的運行提供了具有穩健性以及容錯性的機制。核心功能層的出現允許用戶能夠使用多租戶等形式利用平臺的資源,實現資源、計算的共享。
平臺的服務層在核心功能層的基礎上,管理不同系統的運行環境、對各項資源進行集約化管理,同時對各個系統應用的安全、資源使用提供支撐。服務層有效的連接了PaaS平臺的上層應用以及下層核心功能。能夠保障應用的高效以及穩定運行。對于開發者而言,提供了統一的接口標準,開發者能夠高效的建立以及部署應用。
本文設計的石油信息化管理云計算架構也包括三層架構,第一層架構提供基礎設施的建設,為平臺提供各項核心功能。其次是服務層,封裝各類接口標準,提供給開發者進行快速開發。第三層是應用層,負責對各個應用系統進行管理。在部署環境上,可以支持v Sphere/v Cloud進行虛擬化部署。通過虛擬化部署,將石油信息化資源進行集成以及統一管理。在對用戶開發的管理上,允許開發者建立自身的應用,并向平臺發起資源申請,平臺根據申請的情況分配一定的基礎資源來支持應用的運行。同時,平臺還提供資源的統一調度機制,對各個應用的資源使用情況進行平衡。
本文設計石油信息化云計算的動態調度機制,與以往靜態調度機制不同,通過動態調度機制,能夠基于系統運行的實際情況,分配各類資源,并支持效率更高的負載均衡。為了提高調度的效率,本文設計的調度機制如下:
首先收集云平臺中各個應用系統以及虛擬機節點的資源使用情況,根據虛擬機的歷史運行信息進行資源的再平衡。
設有Appid代表在平臺中編號為id的應用,request(Appid)代表客戶發送對該應用的訪問請求,INSi(0
(1)接收請求,通過時將request(Appid)記錄到路由表中,并分配請求id。
(2)平臺的調度模塊根據請求的類型、請求資源大小,搜索負載隊列中的資源模塊,并根據請求的資源對資源模塊進行匹配,尋找最優匹配資源。如果匹配失敗,則返回NULL值,如果匹配到最優資源模塊,則執行下一步操作。
(3)將匹配的資源分配給請求,并記錄在資源匹配及分配標準。然后調度該容器的資源給應用程序,由應用程序負責具體使用資源。
(4)執行完畢后,系統釋放資源回資源隊列,重新執行第一步。
(5)執行完畢,返回第一步重復運行。
本平臺的實現基于Cloud Foundry平臺,該平臺是開源實現的云計算PaaS平臺,該平臺目前被廣泛應用在工業界,具有良好的彈性與支持能力,能夠提供云計算服務[2]。
平臺部署方案如圖2所示。

圖2 平臺部署方案Fig.2 Platform deployment plan
平臺的部署包括負載均衡器、各類控制組件、數據庫、DEA組件、service組件等不同部分[3]。
(1)負載均衡服務器。在實現石油信息化管理云計算時,配置nginx對各類不同的請求進行負載均衡。其中,路由組件負責分配不同的請求到不同的負載均衡服務器中,一般需要建立4 臺虛擬服務器用于處理各類路由信息,并提供容錯機制。
(2)Cloud Controller組件。云計算的控制組件主要用于對各類計算資源進行控制,其本身的運行并不消耗太大的資源。一般采用2臺虛擬機來進行控制,并相互備份。通過控制組件對云平臺的各類資源進行監控,對云平臺的運行狀態進行監督,防止平臺出現計算風險。
(3)CCDB數據庫。該數據庫與其他組件的耦合性較低,一般采用PostgreSQL數據庫存儲云計算平臺的各類信息,并隔離其他組件,防止修改信息造成系統錯誤。
(4)DEA組件。本平臺的DEA組件主要用于保障系統的正常運行,本平臺搭建了6臺DEA組件服務器對平臺提供可靠的支撐。
(5)Service組件。該組織需要完成一定的功能,因此需要分配至少8臺虛擬機提供云平臺的服務,同時該平臺的服務組件之間能夠相互備份,防止出現宕機。
(6)NATS組件。系統的各個主件之間需要相互通信,因此由NATS提供統一的通信標準與機制,通過統一的標準提高通信效率。
本文搭建的平臺中,可以采用控制器組件建立系統任務,核心代碼如下。


通過以上機制,實現了云計算平臺的信息共享,通過物理機器的隔離,保障不同資源的安全。在組件的利用上,通過備份、熱同步等保障系統不會出現同時宕機的情況,從而保障各類石油信息系統的運行安全。
本文基于PaaS架構設計了石油信息化管理云計算架構,并基于Cloud Foundry搭建油氣類企業私有云 PaaS平臺。