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