李岳勛 吳挺文
(深圳中海油能源發(fā)展銷售服務(wù)有限公司 廣東省深圳市 518000)
本文研究槽車外輸智能管理業(yè)務(wù)系統(tǒng),圍繞“安全管理、客戶滿意”的總體建設(shè)方針,解決槽車外輸數(shù)據(jù)采集、安全評級、智能分析、監(jiān)控預(yù)警等核心關(guān)鍵問題為總體建設(shè)目標(biāo),打造油氣運(yùn)輸體系的安全管控平臺的標(biāo)桿系統(tǒng)。
本系統(tǒng)主要包括槽車外輸智能管理系統(tǒng)以及槽車外輸智能管理移動平臺,其中槽車外輸智能管理系統(tǒng)主要提供PC 端使用的Web系統(tǒng),提供訂貨管理功能、承運(yùn)商安全管理功能、裝車管理功能和智能分析管理功能。槽車外輸智能管理移動平臺主要提供移動端小程序等平臺,提供給客戶和現(xiàn)場人員進(jìn)行移動化辦公。
本系統(tǒng)的框架設(shè)計如圖1 所示。
系統(tǒng)主要包括門戶平臺、運(yùn)營監(jiān)控平臺、槽車外輸智能管理系統(tǒng)、智能裝車運(yùn)營IT 運(yùn)維服務(wù)平臺等部分,并對外接入物流平臺、交通公安網(wǎng)以及個人不良信息查詢網(wǎng)等,同時提供SOA 對外服務(wù)。
系統(tǒng)架構(gòu)如圖2 所示。
系統(tǒng)底層數(shù)據(jù)庫通過數(shù)據(jù)集成平臺提供各項應(yīng)用服務(wù),應(yīng)用服務(wù)主要包括PC 門戶、移動門戶、流程中心以及數(shù)據(jù)中心,最后這些服務(wù)集成到企業(yè)服務(wù)總線由各個應(yīng)用程序進(jìn)行調(diào)用。
本系統(tǒng)采用SOA 服務(wù)架構(gòu),將不同的程序功能進(jìn)行服務(wù)組件化拆分,并通過定義良好的接口將不同服務(wù)功能進(jìn)行整合。其中,每個服務(wù)都可以被重用,服務(wù)包括服務(wù)請求者、服務(wù)以及服務(wù)組合,服務(wù)可以用形式化公式進(jìn)行描述,每個服務(wù)可以用四元組表示:S=〈M,T,Out,In〉。其中<M,T>代表消息,Out 代表服務(wù)的輸出,輸出中包含各類消息信息,其形式為Out?{B|?A∈M,(A,B)∈T,B ≠?}。In 代表輸入接口,包含各類消息,其形式為In?{A|?B∈M,(A,B)∈T,A ≠?}。
圖1:系統(tǒng)邏輯架構(gòu)設(shè)計
圖2:系統(tǒng)技術(shù)架構(gòu)設(shè)計
圖3:數(shù)據(jù)中心大數(shù)據(jù)架構(gòu)實現(xiàn)
服務(wù)S 接收相關(guān)消息后,對消息進(jìn)行處理,并完成某項功能,因此其依賴消息序列δ=(A1,B1)…(An,Bn) ,其中(Aj,Bj)∈T,1 ≤j<n且A1∈In,可表示為Sruns(S)。服務(wù)請求者通過在服務(wù)網(wǎng)絡(luò)上搜索服務(wù),查重服務(wù)的提供者,并請求使用該服務(wù),服務(wù)請求者可以定義為R=〈M,T,Out,In〉,其中,<M,T>代表各類消息,Out 為輸出接口,In 為輸入接口,可表示為Rruns(R)。服務(wù)組合用來表示不同的服務(wù)請求者、服務(wù)之間的交互,交互保護(hù)選擇、順序、并行等不同的結(jié)構(gòu)。假設(shè)存在空的消息集合δ,以及若干服務(wù)S1…S2,(Si=<Mi,Ti,Outi,Ini>,i=1,2…n), 則服務(wù)組合S=S1⊕S2…⊕Sn可表示為〈M,T,Out,In〉,其 中M=M1∪M2…∪Mn;T=T1∪T2…∪Tn;Out=(Out1∪Out2…∪Outn)(In1∪In2…∪Inn);In=(In1∪In2…∪Inn)(Out1∪Out2…∪Outn),當(dāng)δ∈SRuns(S),Bn∈Out 時,服務(wù)組合可終止。
定義服務(wù)以后,可以從服務(wù)的概念模型開始細(xì)化到較底層的服務(wù)細(xì)節(jié),可以定義函數(shù)ref:D →S 為服務(wù)的細(xì)化函數(shù),當(dāng) 且 僅 當(dāng)?(A,B)∈D:ref((A,B)) 是 一 個 服 務(wù)〈M,T,Out,In〉, 使Out={B},In={A},同時存在一個消息依賴流A →TB,設(shè)s∈S,ref 為細(xì)化函數(shù),于是對S 中的所有依賴關(guān)系(A,B),(C,D),存在以下關(guān)系:ref((A,B) )=<M1,T1,Out1,In1>以 及ref((C,D) )=<M2,T2,Out2,In2>滿 足條件:(P(M1)(Out1∪In1))∩(P(M2)(Out2∪In2))=?,滿足該條件時,服務(wù)可以被ref 函數(shù)細(xì)化。
通過定義標(biāo)準(zhǔn)化的形式化服務(wù)接口,可以將系統(tǒng)中的所有服務(wù)進(jìn)行統(tǒng)一化的管理,并且通過形式化定義標(biāo)準(zhǔn)化各個接口。在本系統(tǒng)的具體實現(xiàn)過程中,采用普元EOS Platform 支撐實現(xiàn),Primeton EOS? Platform 是領(lǐng)先的SOA 應(yīng)用平臺,提供了基于Web 的企業(yè)應(yīng)用的開發(fā)、調(diào)試、部署、管理和維護(hù)的一體化開發(fā)、運(yùn)行、管理監(jiān)控環(huán)境。在Primeton EOS? Platform 中用戶可以通過拖、拉、拽方式將與業(yè)務(wù)無關(guān)的通用構(gòu)件進(jìn)行圖形化的組裝,實現(xiàn)快速構(gòu)建基于Web 的企業(yè)級應(yīng)用。使用EOS Governor(EOS 治理工具)可以實時部署、管理與維護(hù)Primeton EOS? Platform 應(yīng)用。
數(shù)據(jù)中心匯總各個業(yè)務(wù)系統(tǒng)的數(shù)據(jù),形成數(shù)據(jù)倉庫,同時為了能夠支持海量數(shù)據(jù)的存儲以及查詢,在底層數(shù)據(jù)平臺上采用了大數(shù)據(jù)架構(gòu)Hadoop 以及Spark 等,本系統(tǒng)搭建的數(shù)據(jù)中心如圖3 所示。可以看到,本系統(tǒng)底層使用HDFS 文件系統(tǒng),將各個業(yè)務(wù)系統(tǒng)的數(shù)據(jù)采集到HDFS 系統(tǒng)中進(jìn)行存儲,系統(tǒng)實現(xiàn)時要求能夠存儲超過5年以上的歷史數(shù)據(jù),在HDFS 上搭建HIVE 建立數(shù)據(jù)倉庫,對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲。ETL 工具使用Sqoop 從業(yè)務(wù)系統(tǒng)的Oracle、Mysql 等傳統(tǒng)數(shù)據(jù)庫從將數(shù)據(jù)抽取到Hadoop 平臺,采用Flume 進(jìn)行日志搜集。
為了實現(xiàn)槽車調(diào)度的智能化算法,采用mahout 機(jī)器學(xué)習(xí)庫中的各個模型進(jìn)行學(xué)習(xí)采用Spark Mlib 進(jìn)行實時內(nèi)存學(xué)習(xí),在前端采用PMML 封裝為服務(wù)接口,供其他應(yīng)用調(diào)用,如表1 代碼采用Python 封裝為Java 接口。
表1
在系統(tǒng)中采用如表2 Java 代碼便可以調(diào)用機(jī)器學(xué)習(xí)算法。
表2
數(shù)據(jù)中心大數(shù)據(jù)平臺的安裝部署使用Ambari 工具,然后采用Oozie 進(jìn)行作業(yè)調(diào)度,確保槽車系統(tǒng)的正常調(diào)度。
本文設(shè)計基于大數(shù)據(jù)體系架構(gòu)的槽車外輸智能管理系統(tǒng),該系統(tǒng)的底層數(shù)據(jù)架構(gòu)采用Hadoop 大數(shù)據(jù)技術(shù),并且在大數(shù)據(jù)平臺中提供了機(jī)器學(xué)習(xí)框架,并采用PMML 對機(jī)器學(xué)習(xí)能力進(jìn)行封裝,對外提供智能服務(wù)的能力。在服務(wù)設(shè)計方面,本文采用形式化分析系統(tǒng)的各項服務(wù),通過定義形式化的服務(wù)接口,統(tǒng)一規(guī)范系統(tǒng)的各項接口,有利于提供槽車外輸智能管理系統(tǒng)的效率。