石 松
(特力惠信息科技股份有限公司 大數(shù)據(jù)與AI事業(yè)部,福建 福州 350002)
以問題為導(dǎo)向、以數(shù)據(jù)驅(qū)動為核心的決策支持系統(tǒng)在國家和社會治理中的重要性日益增強(qiáng)。決策問題求解本質(zhì)上是一個(gè)面向決策目標(biāo),融合多數(shù)據(jù)、多模型、多指標(biāo)的分析計(jì)算過程。隨著大數(shù)據(jù)和AI技術(shù)的發(fā)展,決策涉及的數(shù)據(jù)、模型、指標(biāo)將越來越廣泛,而基于分布式技術(shù)構(gòu)建的運(yùn)行環(huán)境能夠支持海量、多源、多模、多態(tài)的數(shù)據(jù)在復(fù)雜決策分析模型下的計(jì)算,從而大幅度地提升了決策的實(shí)時(shí)性與現(xiàn)勢性[1-2]。在這樣的技術(shù)環(huán)境中,人們對滿足個(gè)性化且能夠?qū)崿F(xiàn)按需定制的決策支持系統(tǒng)的需求越來越強(qiáng)烈,這是由于:
(1)不同用戶具有不同的決策思維,導(dǎo)致決策過程存在個(gè)體差異。不同的專業(yè)背景用戶對同一個(gè)主題有不同的決策思維,即決策思維的不確定性。這種不確定性包括決策對象、決策目標(biāo)以及所使用的分析要素的不確定性。由于不同決策者對同一問題有不同的思維方式,因此需要不同的決策對象、決策要素和分析模型,而現(xiàn)在多數(shù)決策支持系統(tǒng)都是基于固定專題進(jìn)行預(yù)設(shè),不能滿足不同用戶的多樣性決策需求。
(2)對于同一決策單元不同的決策者需要配置不同的決策要素。一個(gè)決策過程通常都是由若干決策單元組成的,一個(gè)決策單元的基本分析要素包括數(shù)據(jù)、指標(biāo)、模型、規(guī)則與可視化圖表。決策過程的每一個(gè)單元可能都需要用到不同的決策要素,而目前多數(shù)決策支持系統(tǒng)都是將各類要素在后臺通過業(yè)務(wù)邏輯開發(fā)實(shí)現(xiàn)。
由此可見,在大數(shù)據(jù)與AI引領(lǐng)的技術(shù)變革中,決策支持系統(tǒng)雖然有了更為廣闊的發(fā)展空間,但上述問題的存在卻制約了決策支持系統(tǒng)的進(jìn)一步發(fā)展和深入應(yīng)用,迫切需要得到解決。
如果從人們對事物思維過程認(rèn)知的角度出發(fā),決策過程本質(zhì)上可以抽象為一個(gè)流程構(gòu)建、配置及運(yùn)行過程。如果再進(jìn)一步從個(gè)性化需求的角度出發(fā),又可以把決策過程進(jìn)一步看成為面向不同用戶提供的動態(tài)且不確定性的業(yè)務(wù)流程[3]。因此,基于決策過程流程化的特征,很自然地考慮引入工作流技術(shù),通過工作流來映射和配置決策過程是解決上述問題的關(guān)鍵鑰匙。
工作流技術(shù)在現(xiàn)代管理工程中發(fā)揮著極其重要的作用,它描述與表達(dá)的是任務(wù)與活動間的各種邏輯關(guān)系[4]。決策過程可以看作工作流建模的過程。目前工作流建模有三種主流方法。第一種是以業(yè)務(wù)過程為中心,比如Petri網(wǎng)、UML活動圖[5],這類建模方法將業(yè)務(wù)流程描述成以固定控制流執(zhí)行,但是忽略了流程環(huán)節(jié)中對數(shù)據(jù)的管理。第二種是以對象為中心的建模方法,例如文獻(xiàn)[6]提出了Proclets用于工作流建模,也仍然沒有強(qiáng)調(diào)業(yè)務(wù)流中的數(shù)據(jù)部分。第三種是以數(shù)據(jù)為中心的建模方法,文獻(xiàn)[7]提出將工作流建模方法由一組互相連接的業(yè)務(wù)實(shí)體組成,不同的業(yè)務(wù)實(shí)體之間必須通過共同的活動來交互,這種緊耦合的方式不足在于,隨著工作流規(guī)模的不斷增長,流程將變得越來越復(fù)雜和難以理解,限制了工作流的可擴(kuò)展性;文獻(xiàn)[8]提出了創(chuàng)建業(yè)務(wù)對象的工作流模型的方法,但對象間的通信機(jī)制比較復(fù)雜,且流程節(jié)點(diǎn)結(jié)構(gòu)不適用于定制性的決策支持需求。
針對上述問題,本文提出一種支持按需定制的大數(shù)據(jù)決策支持工作流對象模型,引入工作流作為決策主線,采用面向?qū)ο笤O(shè)計(jì)方法,將決策的基本要素(包括數(shù)據(jù)、指標(biāo)、模型、業(yè)務(wù)規(guī)則、可視化圖表)與流程節(jié)點(diǎn)組成決策運(yùn)行對象,對象之間以松耦合方式聯(lián)接,同時(shí)對這種工作流模型的運(yùn)行環(huán)境進(jìn)行了總體設(shè)計(jì)及開發(fā)實(shí)證。
在大數(shù)據(jù)輔助決策工作流模型設(shè)計(jì)中,一個(gè)工作流由多個(gè)決策單元組成,如圖1所示。每個(gè)決策單元視作一個(gè)決策對象,每個(gè)決策對象包括數(shù)據(jù)、指標(biāo)、模型、規(guī)則、可視化圖表五大屬性,從而能夠吸收對象化設(shè)計(jì)的優(yōu)點(diǎn),實(shí)現(xiàn)對象屬性的自定義、可擴(kuò)展。決策對象是工作流中的任何一個(gè)相對獨(dú)立的有業(yè)務(wù)意義的決策計(jì)算單元。每個(gè)決策對象可以被創(chuàng)建、處理、暫定、終止。且每個(gè)決策對象均擁有一個(gè)全局的ID,以便于工作流對各決策對象實(shí)現(xiàn)統(tǒng)一管理?;跊Q策對象的重要性,本節(jié)首先對決策對象進(jìn)行形式化定義。
圖1 決策工作流樣例
定義1:決策對象。一個(gè)決策對象由一個(gè)五元組(N,ID,A,∑,S)構(gòu)成,其中,N為該決策對象的名稱;ID為該決策對象的ID號;A為決策分析要素集合;∑為工作任務(wù)集合,即代表這個(gè)決策對象業(yè)務(wù)意義;S為該對象的生命周期狀態(tài)模型。在設(shè)計(jì)時(shí)應(yīng)盡可能確保決策對象是一個(gè)可相對獨(dú)立運(yùn)行的單元,以降低對象間通信復(fù)雜度。
定義2:決策分析要素。決策對象屬性是一個(gè)五元組(D,M,I,R,V),能夠支持?jǐn)U展,增加其他要素。其中D代表這個(gè)流程環(huán)節(jié)需要的數(shù)據(jù);M代表這個(gè)決策對象要實(shí)施的決策模型;I代表這個(gè)決策對象要用到的指標(biāo)集;R代表這個(gè)決策對象要用到的規(guī)則集;V代表這個(gè)決策對象計(jì)算結(jié)果的可視化圖形表達(dá)。
定義3:決策對象任務(wù)。決策對象任務(wù)是一個(gè)五元組(Tn,Tid,I,O,e)。Tn代表任務(wù)名稱;Tid代表任務(wù)全局唯一id號;I?A為該任務(wù)的輸入數(shù)據(jù);O?A為決策對象的輸出數(shù)據(jù);e為該任務(wù)相關(guān)聯(lián)的事件集合。
定義4:決策對象生命周期。對象生命周期是一個(gè)四元組(S,A,E,T),S是該對象的狀態(tài)集合,S={S1,S2,S3,…,SN};A為動作集合,A={A1,A2,…,An};E為事件集合,E={E1,E2,…,En};T為任務(wù)集合,T={T1,T2,…,Tn}。在A的作用下,發(fā)生E,E驅(qū)動T,T的結(jié)束導(dǎo)致S變化,即A→E→T→S。本文中的對象狀態(tài)包括創(chuàng)建、執(zhí)行、暫停、完成四種,狀態(tài)之間可以在滿足特定條件下進(jìn)行轉(zhuǎn)移,轉(zhuǎn)移定義為r={x,condition,y},其中x代表起始狀態(tài),condition代表狀態(tài)轉(zhuǎn)移的條件,y代表目的狀態(tài)。
在上述對決策工作流模型各要素進(jìn)行形式化定義的基礎(chǔ)上,考慮到大數(shù)據(jù)條件的決策可能面臨數(shù)據(jù)量大、指標(biāo)眾多、分析模型復(fù)雜的情境,為了提升計(jì)算性能,筆者進(jìn)一步設(shè)計(jì)了分布式計(jì)算環(huán)境下的工作流運(yùn)行邏輯。
如圖2所示,決策工作流模型的運(yùn)行邏輯設(shè)計(jì)如下:
(1)由用戶根據(jù)需求定義決策主題。
(2)系統(tǒng)根據(jù)決策主題,通過語義相似性分析算法,從數(shù)據(jù)庫中抽取出與該決策主題相關(guān)的數(shù)據(jù),這里的數(shù)據(jù)源可以涉及多種數(shù)據(jù)類型,例如關(guān)系型數(shù)據(jù)、非關(guān)系型數(shù)據(jù)、流式數(shù)據(jù)、空間數(shù)據(jù)等,形成本專題決策所需的數(shù)據(jù)集。
(3)在步驟(2)的基礎(chǔ)上,同樣通過語義相似性分析算法,抽取出與該決策主題相關(guān)的指標(biāo)集,分析模型、分析規(guī)則并指定這一對象可視化圖表。
(4)基于主流的工作流引擎activity構(gòu)建決策工作流,將對象屬性集與每個(gè)決策流程節(jié)點(diǎn)構(gòu)成決策對象,同時(shí)根據(jù)需要建立對象間的控制(如串聯(lián)、并聯(lián)、選擇等),從而形成完整的決策工作流。
(5)將上述基于activity構(gòu)建的決策工作流以文件的形式提交到分布式存儲與計(jì)算環(huán)境中運(yùn)行,解析文件后,按照工作流的順序完成各對象節(jié)點(diǎn)的執(zhí)行、實(shí)現(xiàn)上下游節(jié)點(diǎn)(對象)間的數(shù)據(jù)通信以及各節(jié)點(diǎn)計(jì)算結(jié)果的可視化。
圖2 決策工作流模型的運(yùn)行邏輯
為了能夠有效支撐決策工作流執(zhí)行,筆者設(shè)計(jì)了如圖3所示的大數(shù)據(jù)運(yùn)行環(huán)境。
圖3 決策對象工作流執(zhí)行環(huán)境
如圖3所示,決策對象工作流執(zhí)行環(huán)境分為4層,至下而上分別是:
(1)數(shù)據(jù)層:用于提供決策所需的數(shù)據(jù),包括空間數(shù)據(jù)、非空間數(shù)據(jù)、指標(biāo)庫、模型庫、業(yè)務(wù)規(guī)則庫等。
(2)計(jì)算能力層:在分布式并行計(jì)算的基礎(chǔ)上,進(jìn)一步提供流計(jì)算、內(nèi)存計(jì)算、在線/離線計(jì)算的能力。整個(gè)執(zhí)行環(huán)境搭建在基礎(chǔ)大數(shù)據(jù)平臺之上,充分利用了Hadoop/Spark/Flink提供的批處理計(jì)算和流式計(jì)算能力。
(3)決策分析層:決策分析層有三個(gè)工作重點(diǎn):一是決策流程設(shè)計(jì),第二個(gè)是根據(jù)設(shè)計(jì)的決策流程完成決策工作流裝配,第三個(gè)是決策工作流加載并運(yùn)行。決策過程文件是指將設(shè)計(jì)好的流程以作業(yè)的形式提交工作流引擎進(jìn)行運(yùn)行。
(4)應(yīng)用層:應(yīng)用層為決策分析層的計(jì)算結(jié)果提供統(tǒng)計(jì)分析、預(yù)測/預(yù)警、可視化展示等分析服務(wù)。
上述設(shè)計(jì)思想和技術(shù)方法在筆者主持開發(fā)的國土資源大數(shù)據(jù)決策支持平臺成功進(jìn)行了技術(shù)驗(yàn)證。目前,該平臺已經(jīng)集成了800余項(xiàng)國土資源管理指標(biāo)、50種以上的通用模型(包括將Apache Spark MLib算法庫中的分類、聚類、回歸等算法進(jìn)行
接口適應(yīng)性改造后予以集成)、15種以上的土地專業(yè)模型、10種以上的空間分析模型(如疊加分析、緩沖分析、最鄰近分析等)。下文以國土空間規(guī)劃決策中最典型的應(yīng)用場景——項(xiàng)目建設(shè)用地選址決策為例來說明。
建設(shè)項(xiàng)目用地選址是土地規(guī)劃分析中的典型應(yīng)用,選址的目的是在一個(gè)目標(biāo)區(qū)域的閑置地中選出最適合該項(xiàng)目建設(shè)用地的地塊。這個(gè)過程涉及的空間數(shù)據(jù)量大、指標(biāo)及業(yè)務(wù)規(guī)則多(如是否符合目標(biāo)區(qū)域的土地總體規(guī)劃,是否和目標(biāo)區(qū)域的耕地保護(hù)紅線沖突等)。其決策工作流程設(shè)計(jì)如圖4所示。
圖4 項(xiàng)目建設(shè)選址工作流構(gòu)建
以多規(guī)控制線分析這個(gè)決策對象為例,該決策對象涉及的相關(guān)數(shù)據(jù)和屬性如表1所示。
表1 多規(guī)控制線分析決策對象屬性表
圖5是多規(guī)控制線分析決策對象的執(zhí)行過程,圖6是多規(guī)控制線決策分析對象的分析結(jié)果,計(jì)算出了多個(gè)可供選擇的侯選地塊。上述決策對象涉及的土地面積約86 000公傾,利用大數(shù)據(jù)分布式計(jì)算技術(shù)實(shí)現(xiàn)了快速的空間疊加分析。系統(tǒng)部署在由6臺服務(wù)器組成的集群,每臺服務(wù)器的配置是:16核CPU;32 GB內(nèi)存;1 TB硬盤。其中所使用的所有空間分析模型基于ARCGIS10.7的Geo Analysis大數(shù)據(jù)分析組件開發(fā),完成該對象分析的時(shí)間約為30 s,如果使用單臺服務(wù)器完成此過程約需425 s,體現(xiàn)出了分布式計(jì)算的并行優(yōu)勢。
圖5 多規(guī)控制線分析決策對象分析過程
圖6 多規(guī)控制線分析決策對象分析結(jié)果
本文針對傳統(tǒng)的決策支持系統(tǒng)中分析要素融合能力不強(qiáng)、決策分析模式難以滿足按需定制的決策需求等問題,提出一種支持按需定制的大數(shù)據(jù)決策工作流對象模型,對該對象模型結(jié)構(gòu)進(jìn)行了形式化描述,并對其運(yùn)行邏輯和執(zhí)行環(huán)境進(jìn)行了總體設(shè)計(jì)。而后,以土地規(guī)劃中建設(shè)用地選址分析這一典型場景計(jì)算進(jìn)行了應(yīng)用示范,結(jié)果表明這種方法具有良好的靈活性與可擴(kuò)展性,對于按需定制的決策支持系統(tǒng)設(shè)計(jì)和開發(fā)具有較大的借鑒意義。