劉爾康
摘 要 本文以智慧油田數字員工系統架構設計為目標,分析了常用架構模式,在結合數字員工系統特點的基礎上,設計了四層架構方案以適應智慧油田數字員工系統特點,對功能需求和架構設計展開了探討,并給出了各層功能設計、層間隔離措施和系統初始化時的映射策略。
關鍵詞 數字員工系統;架構方案設計;功能設計
中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2016)160-0085-02
1 概述
智慧油田是在傳統油田基礎上結合現代計算機技術建立起來的新的油田管理模式,隨著智慧油田理念的逐步推廣,石化企業也逐步完成了向數字化管理的過渡,基本上各大石化企業陸續完成了各自的“智慧油田”管理系統和業務平臺[1],其中智慧油田數字員工系統是該系統中的重要組成部分,合理的系統設計能有效提高管理水平和工作效率,本文將通過對智慧油田數字員工系統進行需求分析,分析當前在數字員工系統中的軟件硬件構架問題并展開研究了一種新的四層架構模型,并給出了該架構模型的總體設計。
2 常用架構模式特點分析
2.1 C/S架構
C/S架構是是傳統的客戶端/服務端體系結構,其特征是通過將業務分配到客戶端和服務端來設計系統整體結構,用戶程序布置在客戶端,服務器則負責提供數據相關操作(如數據的管理、共享、維護等)。C/S構架在現有軟件系統中得到廣泛應用。
2.2 B/S架構
B/S架構及瀏覽器/服務端體系結構,該架構下無需特別開發專門的客戶端軟件,瀏覽器負責實現用戶的請求和結果顯示,服務端則實現對數據的存儲和業務邏輯處理等工作,B/S架構中服務端數據存儲和業務邏輯是典型的表示—業務邏輯—數據訪問—三層結構[2]。
2.3 MVC模式
MVC(Model-View-Controller)即模型—視圖—控制器模式,其工作流程為基于用戶請求來制定業務運行模式,這一模式下業務邏輯和數據存儲分開,便于實現對業務邏輯的維護[3]。這一架構下模型層主要完成對業務邏輯的處理以及對數據的管理操作,視圖層主要功能是展示結果,而控制層則主要完成對用戶請求的監聽和轉發。上述3個部分實現的是彼此間的互聯。
2.4 MVP模式
MVP(Model-View-Presenter)即模型—視圖—展示器模式,該模式和MVC類似,但結構上無法實現3個部分之間的互聯,但在MVP模式下視圖層和模型層之間并不互聯,而是通過展示器來實現二者之間的通信。
以上幾類常用架構在軟件系統設計時都得到了廣泛應用,各有利弊,本文將在上述常用架構的基礎上進一步深化,結合數字員工系統的功能需求來對架構盡心更進一步的優化。
3 系統架構方案設計
3.1 功能需求分析
智慧油田數字員工系統的主要功能非常多樣化,但主要可包括為3個大方面:智慧生產、教育培訓和移動辦公,為實現上述3類功能,要求系統能兼容和支持多種類型的客戶端設備(如手機客戶端、PC客戶端、IOS移動客戶端等),為實現上述基本需求,可總結出系統構架方面應滿足如下功能:1)數據和界面、業務邏輯分離;2)動態擴展性,即要求系統在硬件擴展或邏輯模塊擴展是能夠予以支持,并且不會影響現有模塊的正常運行;3)容錯性及要求在部分出錯(如某個服務器故障)時不會影響系統的整體運行;4)良好的負荷均衡能力 該功能要求能夠及時合理的處理訪問請求,保障系統穩定運行;5)高效的數據解析能力 由于智慧油田系統需要處理的數據屬于海量級,因此系統構架應采取分布式處理方式,能夠協調數據的存儲和分析,并具備從海量數據中挖掘價值信息的基本能力。
3.2 架構設計
在常用的架構中,C/S架構需要在多個設備上安裝客戶端軟件,其主要對象為軟件客戶端,對于智慧油田數字員工系統而言,應當把功能邏輯放到服務端[4],客戶端主要是監聽和轉發以及結果展示,因此C/S架構無法很好滿足要求。對于B/S架構而言,其主要對象是瀏覽器端,由于表示層需要與功能層進行高頻率交互,對于單點故障問題以及系統中數據流量的分配等只能由功能層來實現,對模塊間的耦合性要求高,因此也不適應數字員工系統需要。
為滿足智慧油田數字員工系統的需要,筆者認為應當設計更能滿足需要的架構方案。從功能整合的角度看,應具備良好的擴展性以適應不同類型的支持對象(如Web、PC、外部系統等)需求,但這類需求都可以歸為系統邏輯服務的表層對象,這樣對表示層對象的擴展將獨立于客戶端和外部系統應用,從而可簡化系統接口。在系統控制層方面,其主要任務是單點問題監測和負荷均衡處理,接收來自表示層的參數,并由控制層選擇合適的處理方式,從而實現對硬件部署以及并行計算時的控制。
考慮到智慧油田數字員工系統中終端設備的多樣性特性,以及對這一特性的處理已交由表示層控制,為減少構架設計中的耦合性,考慮設計功能邏輯層。該層在設計時參考了MVC和MVP模式,其主要功能是不與表示層交互,而是與控制層交互,接受控制層請求并處理功能邏輯。
在數據存儲與處理方面,結合數據和界面、業務邏輯分離的基本要求,在架構中專門設置數據層,在該層中再分別設立用于數據存儲和管理的兩個子層,其中數據存儲子層處理特定數據庫,不受功能邏輯層中的操作影響,而數據管理層則主要提供功能邏輯層訪問以及操作數據的接口。
綜上所述,本文所設計的模型屬于四層架構方案,即表示層(WEB、客戶端、外部系統接口)→控制層→邏輯功能層→數據層(存儲/管理)。其最大特點是將不同類型的客戶端都歸入表示層,簡化了表示層和控制層之間的接口,并且集中了功能轉發和負載控制等置于控制層,降低了層間的邏輯依賴性,并可提高系統的穩定性。
4 系統架構模型設計
4.1 各層功能設計
在前文中四層架構設計的基礎上,本節中將分別設計各層的功能。1)表示層功能,該層主要完成操作界面和移動端應用以及外部服務,在獲取用戶操作數據參數后,將其傳遞給控制層,并接收和展示控制層返回的數據;2)控制層功能,該層主要是承上啟下的作用,是表示層和邏輯功能層之間的橋梁,同時承擔著負載均衡分配、監控流量、處理單點問題等,是四層架構中最重要的層級;3)邏輯功能層 該層完成業務邏輯的封裝,接收并處理控制層的指令,完成和控制層的數據交互,接受控制層的調度操作;4)數據層,完成和業務邏輯相關的數據的存儲和管理,并具備數據分析功能。
4.2 層間隔離設計
本文設計的四層架構中各層間的功能相對獨立,為保證系統穩定運行,還應設計層間的隔離措施,各層間的隔離方案分別為:1)表示層—控制層的隔離方案,PC瀏覽器端采用Smarty模板隔離,移動客戶端采用HTTP協議、報文采用JSON數據格式與控制層交互;2)控制層—功能邏輯層隔離方案,控制層中利用配置文件來隔離功能邏輯層中各功能模塊;3)功能邏輯層—數據層隔離方案,功能邏輯層和數據層之間的交互通過在數據層中封裝的DBMS接口實現,避免功能邏輯對數據庫的數據操作從而實現隔離。
4.3 架構模型映射策略
本文中設計的四層架構模型的終點站在于控制層,因此在設計映射方案時利用系統初始化加載策略,利用配置文件,實現和各類服務器功能號、服務器IP與MAC地址綁定等映射操作,在系統初始化時只需一次加載配置文件即可完成必要的映射操作,之后的操作都可以從內存中讀取請求。
5 結論
本文從系統架構和架構中各層的功能以及層間隔離等角度設計了智慧油田數字員工系統,可充分考慮智慧油田系統中數字員工系統操作的特殊性,在實現功能優化的同時提高系統的穩定性。
參考文獻
[1]周潔,朱文妹,蔣楠,等.智慧油田現狀及發展研究[J].信息系統工程,2012(10):100-102.
[2]陳炳豐,黃金,張良浩,等.基于BS架構的科研管理系統對科研管理的影響研究[J].科技成果管理與研究,2012(9):11-13.
[3]張屹峰.用設計模式和三層架構思想部署基于PHP項目的研究與實現[J].電腦與信息技術,2011,19(2):67-70.
[4]龍穎波,何貞銘.油田信息化若干問題研究[J].計算機光盤軟件與應用,2010(5):4-8.