国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

以用戶為中心的流數(shù)據(jù)處理應(yīng)用構(gòu)造方法

2020-12-25 06:07賈淑娟
關(guān)鍵詞:數(shù)據(jù)表視圖流程

賈淑娟,王 菁

(1.北方工業(yè)大學(xué) 數(shù)據(jù)工程研究院,北京 100043;2.大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100043)

0 引 言

近年來(lái),隨著物聯(lián)網(wǎng)的快速發(fā)展,在金融、電信、醫(yī)療診治、城市應(yīng)急和故障分析等領(lǐng)域中,由于面對(duì)持續(xù)到達(dá)的數(shù)據(jù)流,業(yè)務(wù)和用戶需求隨之不斷的變化,使得人們逐漸意識(shí)到許多業(yè)務(wù)流程難以預(yù)先定義完備,應(yīng)用的構(gòu)造已從過(guò)去的由IT專業(yè)人員事先編制轉(zhuǎn)變?yōu)橐詷I(yè)務(wù)用戶為中心的模式。以最終用戶為中心的應(yīng)用構(gòu)造模式可以直接反映用戶的業(yè)務(wù)需求,易于用戶臨機(jī)地構(gòu)建業(yè)務(wù)流程。

在處理具有持續(xù)、時(shí)效性的物聯(lián)網(wǎng)流數(shù)據(jù)時(shí),傳統(tǒng)的服務(wù)組合流程構(gòu)造方法以控制流為中心,往往需要業(yè)務(wù)用戶在構(gòu)造流程過(guò)程中對(duì)其細(xì)節(jié)進(jìn)行精確的定義,使得對(duì)業(yè)務(wù)用戶的專業(yè)水平要求較高,使不具備專業(yè)IT知識(shí)和經(jīng)驗(yàn)的用戶難以完成構(gòu)建。在面對(duì)海量、持續(xù)的物聯(lián)網(wǎng)數(shù)據(jù)時(shí),用戶更加追求更簡(jiǎn)便快速的方式、顯式地表達(dá)構(gòu)建目標(biāo),從而利用已構(gòu)造的應(yīng)用分析并解決實(shí)際應(yīng)用環(huán)境中的問(wèn)題,這也是當(dāng)前研究工作所面臨的挑戰(zhàn)。

針對(duì)上述需求,該文提出了一種可直接對(duì)數(shù)據(jù)視圖進(jìn)行操作的流程構(gòu)造方法,使不具備專業(yè)IT知識(shí)編程的最終用戶能夠利用既有的資源即時(shí)完成對(duì)物聯(lián)網(wǎng)實(shí)時(shí)流數(shù)據(jù)的流程構(gòu)造。該方法對(duì)最終用戶“屏蔽”服務(wù)組合流程構(gòu)造的細(xì)節(jié),易于用戶理解和操作實(shí)時(shí)數(shù)據(jù),降低了最終用戶構(gòu)造流程的復(fù)雜程度,提高了建模過(guò)程中的效率與準(zhǔn)確性。

1 相關(guān)工作

隨著物聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的對(duì)時(shí)序傳感數(shù)據(jù)的分析被應(yīng)用到求解實(shí)際問(wèn)題中,國(guó)內(nèi)外學(xué)者已就此問(wèn)題進(jìn)行了相關(guān)的研究。目前為止,已經(jīng)有許多理論和方法應(yīng)用于流處理的研究[1-4]。本小節(jié)通過(guò)對(duì)相關(guān)工作的比較,定性地分析文中方法的貢獻(xiàn)。

近年來(lái),國(guó)內(nèi)外出現(xiàn)了一些基于流數(shù)據(jù)服務(wù)組合模型的面向最終用戶的編程方法,目的是使不具備專業(yè)知識(shí)的人員也能操作流數(shù)據(jù)所形成的數(shù)據(jù)視圖,進(jìn)一步分析并處理物聯(lián)網(wǎng)環(huán)境下的流數(shù)據(jù)應(yīng)用[5-7]。最終用戶編程(end-user programming)是指為非專業(yè)軟件開發(fā)人員的用戶提供一套技術(shù)以讓他們能夠在一定程度上創(chuàng)建或修改軟件產(chǎn)品[8]。以業(yè)務(wù)數(shù)據(jù)編程元素構(gòu)建服務(wù)和業(yè)務(wù)流程,可以使最終用戶更方便快捷地操作業(yè)務(wù)數(shù)據(jù),從而構(gòu)建業(yè)務(wù)流程。Wong等人[9]提出了面向最終用戶編程的Marmite,該工作采用數(shù)據(jù)流為主、表格為輔的思想,這種方式允許用戶編程時(shí)以直觀的方式查看數(shù)據(jù),需要將數(shù)據(jù)的狀態(tài)顯示地建模,建模過(guò)程中的數(shù)據(jù)描述和操作方式,要求用戶關(guān)聯(lián)輸入輸出且具有一定的IT知識(shí),用戶無(wú)法對(duì)表格直接進(jìn)行操作。丁維龍[10]提出一種用戶為中心、基于多視圖合成的服務(wù)組合方法,通過(guò)體征數(shù)據(jù)模型顯式建模業(yè)務(wù)數(shù)據(jù),將服務(wù)組合的需求轉(zhuǎn)化為在多個(gè)視圖編程操作,并給出一種候選流程的構(gòu)法,參照用戶的視圖操作合成服務(wù)組合流程。胡海濤[11]提出了一種適合業(yè)務(wù)用戶使用的大粒度服務(wù)組合方法,該方法以一種大粒度、可重用的方式組合業(yè)務(wù)服務(wù),提高服務(wù)組合的自動(dòng)化程度和抽象層次。張婷[12]提出一種基于本體的服務(wù)組合方法,依據(jù)用戶需求動(dòng)態(tài)地組合原子服務(wù),對(duì)物聯(lián)網(wǎng)服務(wù)進(jìn)行多視圖建模。針對(duì)現(xiàn)實(shí)中存在的業(yè)務(wù)需求在問(wèn)題求解過(guò)程中動(dòng)態(tài)變化、逐漸明確的情況,張峰[13]提出了一種以用戶為中心的即時(shí)服務(wù)組合方法,幫助用戶快速找到所需服務(wù)。Sun[14]提出了一個(gè)基于可視化的REST服務(wù)組合框架,該框架使服務(wù)組合更方便,并提供高效可靠的服務(wù)。Oscar[15]開發(fā)了一種基于代理的服務(wù)組合模型,它允許系統(tǒng)通過(guò)有選擇地過(guò)濾掉連續(xù)的數(shù)據(jù)流來(lái)補(bǔ)償有限的資源。

盡管目前主流的研究方案在一定程度上解決了最終用戶構(gòu)建流程的困難,但對(duì)于普通用戶來(lái)說(shuō)仍存在不易操作性的問(wèn)題,仍未解決物聯(lián)網(wǎng)環(huán)境下對(duì)流數(shù)據(jù)處理的問(wèn)題。

2 基本思想

2.1 整體設(shè)計(jì)

系統(tǒng)架構(gòu)如圖1所示,系統(tǒng)分為五個(gè)模塊,分別是數(shù)據(jù)模塊、通訊服務(wù)器模塊、服務(wù)庫(kù)模塊、運(yùn)行支撐環(huán)境模塊和探索式服務(wù)組合環(huán)境模塊,其中運(yùn)行支撐環(huán)境主要由流數(shù)據(jù)應(yīng)用引擎和應(yīng)用管理兩個(gè)組件構(gòu)成,探索式服務(wù)組合環(huán)境中包含數(shù)據(jù)視圖、流程視圖、數(shù)據(jù)視圖更新引擎和視圖轉(zhuǎn)換規(guī)則庫(kù)。底層的傳感器獲取大量的流數(shù)據(jù),通過(guò)通訊服務(wù)器轉(zhuǎn)換為可供用戶使用的數(shù)據(jù)服務(wù),在服務(wù)組合環(huán)境中,將用戶所需的流數(shù)據(jù)服務(wù)轉(zhuǎn)化為數(shù)據(jù)視圖,并且在運(yùn)行環(huán)境的支撐下,用戶可直接在數(shù)據(jù)視圖上對(duì)其進(jìn)行有目標(biāo)的操作,根據(jù)用戶的操作,系統(tǒng)會(huì)自動(dòng)篩選調(diào)用視圖轉(zhuǎn)換規(guī)則庫(kù)中的轉(zhuǎn)換規(guī)則,并將其轉(zhuǎn)換為對(duì)應(yīng)流程結(jié)構(gòu)上的服務(wù)節(jié)點(diǎn),用戶可根據(jù)探索式即“邊構(gòu)造邊執(zhí)行”的方式構(gòu)造服務(wù)組合流程,在構(gòu)造與執(zhí)行流程結(jié)構(gòu)的過(guò)程中,用戶可對(duì)流數(shù)據(jù)進(jìn)行分析與處理。

圖1 系統(tǒng)架構(gòu)設(shè)計(jì)

2.2 服務(wù)組合模型

業(yè)務(wù)流程的建模旨在為用戶提供更加方便簡(jiǎn)單的操作方式,所以為用戶提供不同的應(yīng)用視圖是非常重要的,文中提出數(shù)據(jù)視圖與流程視圖的服務(wù)組合模型??刂屏飨嚓P(guān)的視圖在分析解決實(shí)際問(wèn)題中起著至關(guān)重要的作用,但用戶在構(gòu)造流程過(guò)程中,業(yè)務(wù)過(guò)程無(wú)法事先確定,業(yè)務(wù)細(xì)節(jié)也無(wú)法精確定義,所以在實(shí)際應(yīng)用的背景下,用戶直接操作數(shù)據(jù)視圖更加方便也易于實(shí)現(xiàn),流程視圖能夠幫助用戶更好地了解整個(gè)活動(dòng)的邏輯順序且方便的進(jìn)行即時(shí)調(diào)整。本節(jié)提供了如圖2所示的服務(wù)組合模型的兩個(gè)視圖:構(gòu)建和執(zhí)行流程的流程視圖、便于用戶操作和控制的數(shù)據(jù)視圖。

圖2 服務(wù)組合模型

“示例編程”是一種常用的最終用戶編程技術(shù),通過(guò)用戶在某實(shí)例數(shù)據(jù)之上的操作來(lái)記錄可重用的用戶操作序列,從而為用戶生成可執(zhí)行的程序。借鑒該思想,該文在構(gòu)造流程結(jié)構(gòu)時(shí),允許用戶在一個(gè)數(shù)據(jù)視圖的基礎(chǔ)上進(jìn)行數(shù)據(jù)的處理操作,流程結(jié)構(gòu)可將這些操作參數(shù)化后記錄下來(lái),生成一段組合腳本,可用來(lái)表示數(shù)據(jù)服務(wù)的組合邏輯。這一過(guò)程有助于流程重用,以后無(wú)需用戶重復(fù)構(gòu)建含有這些參數(shù)的服務(wù)組合流程,執(zhí)行引擎會(huì)將用戶的組合邏輯應(yīng)用到新的流程結(jié)構(gòu)之上。

2.3 數(shù)據(jù)視圖形成的基本思想

2.3.1 流數(shù)據(jù)

流數(shù)據(jù)是一組順序、大量、持續(xù)到達(dá)的數(shù)據(jù)序列,它是無(wú)邊界的、瞬時(shí)的時(shí)序數(shù)據(jù),具體而言,流數(shù)據(jù)是指帶有時(shí)間戳、按到達(dá)時(shí)間有序排列的數(shù)據(jù)。源自同一場(chǎng)景的流數(shù)據(jù)具有相同的屬性和模式,它可以用時(shí)間序列模型來(lái)表示,該模型概述為:令t表示任一時(shí)間戳,at表示在該時(shí)間戳到達(dá)的數(shù)據(jù),流數(shù)據(jù)可以表示成{…,at-1,at,at+1,…}。

一個(gè)流數(shù)據(jù)的處理任務(wù)可以看作是由執(zhí)行數(shù)據(jù)操作的“處理單元”集合之間通過(guò)數(shù)據(jù)“流”連接而成的有向非循環(huán)圖,而數(shù)據(jù)視圖的生成過(guò)程可以用擴(kuò)展的非循環(huán)圖(DAG)表示,擴(kuò)展的DAG是一棵倒置樹,稱為操作樹,它用來(lái)表示數(shù)據(jù)視圖生成的計(jì)算過(guò)程。樹中包含了許多節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都包含有子節(jié)點(diǎn)(除葉子節(jié)點(diǎn)外)和父節(jié)點(diǎn)(除根節(jié)點(diǎn)外),其中葉子節(jié)點(diǎn)表示流數(shù)據(jù),而非葉子節(jié)點(diǎn)表示對(duì)子節(jié)點(diǎn)執(zhí)行數(shù)據(jù)操作的基本數(shù)據(jù)表,而根節(jié)點(diǎn)則為最終的數(shù)據(jù)視圖,數(shù)據(jù)視圖的生成過(guò)程是從葉節(jié)點(diǎn)的流數(shù)據(jù)開始,從下而上一層層地進(jìn)行處理操作,一直到根節(jié)點(diǎn)的最后一次處理,最終得到數(shù)據(jù)視圖。數(shù)據(jù)視圖是查看流數(shù)據(jù)的一種方式,可以將它看成是一個(gè)移動(dòng)的“窗口”,用戶可以選擇目標(biāo)數(shù)據(jù),從而對(duì)其進(jìn)行操作,由于流數(shù)據(jù)是無(wú)邊界且持續(xù)的時(shí)序數(shù)據(jù),“窗口”被用來(lái)對(duì)執(zhí)行的流數(shù)據(jù)進(jìn)行輸入的限制。

2.3.2 數(shù)據(jù)視圖的實(shí)現(xiàn)方法

圖3表示一棵基于擴(kuò)展的DAG的操作樹,這棵樹表示數(shù)據(jù)視圖DV的生成過(guò)程,處理單元在獲取輸入的流數(shù)據(jù)S0,S1,…,Sn后觸發(fā)相關(guān)的操作,該操作包括數(shù)據(jù)轉(zhuǎn)換、處理及產(chǎn)生輸出,處理單元負(fù)責(zé)接收來(lái)自流數(shù)據(jù)源的數(shù)據(jù),形成基本數(shù)據(jù)表,最終生成數(shù)據(jù)視圖。

圖3 數(shù)據(jù)視圖的生成過(guò)程

由于流數(shù)據(jù)是一組順序、大量、持續(xù)到達(dá)的數(shù)據(jù)序列,它是無(wú)邊界的、瞬時(shí)的時(shí)序數(shù)據(jù),即流數(shù)據(jù)是不斷變化、不斷更新的,為了確保數(shù)據(jù)視圖數(shù)據(jù)與源數(shù)據(jù)的實(shí)時(shí)性與一致性,在每一個(gè)處理單元中執(zhí)行一些數(shù)據(jù)操作,包括數(shù)據(jù)轉(zhuǎn)換、處理及產(chǎn)生輸出數(shù)據(jù),這些操作可用流數(shù)據(jù)處理規(guī)則表達(dá)。流數(shù)據(jù)處理規(guī)則主要體現(xiàn)在轉(zhuǎn)換規(guī)則,轉(zhuǎn)換規(guī)則定義了一個(gè)由基本處理單元的運(yùn)算操作構(gòu)成的執(zhí)行計(jì)劃,這些運(yùn)算符描述了處理單元所執(zhí)行的包括過(guò)濾、連接、聚集等在內(nèi)的數(shù)據(jù)操作,執(zhí)行計(jì)劃由用戶自定義或由系統(tǒng)自動(dòng)進(jìn)行。

這棵倒置樹表示數(shù)據(jù)視圖DV的計(jì)算過(guò)程,數(shù)據(jù)視圖是在基本數(shù)據(jù)表之上建立的表,它的結(jié)構(gòu)和內(nèi)容都來(lái)自基本數(shù)據(jù)表,它依據(jù)基本表存在而存在。一個(gè)數(shù)據(jù)視圖可以對(duì)應(yīng)一個(gè)基本表,也可以對(duì)應(yīng)多個(gè)基本表,它是數(shù)據(jù)表的抽象和邏輯意義上建立的新關(guān)系,流數(shù)據(jù)源S0,S1,…,Sn對(duì)應(yīng)基本數(shù)據(jù)表T1、T2,對(duì)收集的數(shù)據(jù)表經(jīng)過(guò)合并、聚集等處理運(yùn)算得到數(shù)據(jù)視圖DV。

當(dāng)然,圖3只是列舉了簡(jiǎn)單數(shù)據(jù)視圖的形成過(guò)程,在物聯(lián)網(wǎng)環(huán)境中,對(duì)于源源不斷的實(shí)時(shí)流數(shù)據(jù)會(huì)經(jīng)過(guò)更多的步驟,形成更加復(fù)雜的數(shù)據(jù)視圖,但形成的方法與其類似,推而廣之,該文不再進(jìn)行贅述。

2.4 數(shù)據(jù)視圖的構(gòu)建操作

在數(shù)據(jù)視圖中,將流數(shù)據(jù)進(jìn)行服務(wù)化封裝后,用戶對(duì)其進(jìn)行集成應(yīng)用的過(guò)程就是對(duì)這些數(shù)據(jù)服務(wù)進(jìn)行組合的過(guò)程。根據(jù)示例編程的思想,用戶導(dǎo)入(import)已經(jīng)封裝好的數(shù)據(jù)服務(wù)并配置其參數(shù),用戶在構(gòu)建流程過(guò)程中調(diào)用數(shù)據(jù)服務(wù),其返回的實(shí)例化數(shù)據(jù)以表格的形式呈現(xiàn)給用戶,用戶在這些樣例表格上進(jìn)行數(shù)據(jù)的操作和處理,進(jìn)一步映射為目標(biāo)流程結(jié)構(gòu)。

用戶對(duì)數(shù)據(jù)視圖的操作主要包含對(duì)數(shù)據(jù)表的操作和數(shù)據(jù)表中的列操作,具體的操作定義及文字說(shuō)明如表1和表2所示。

表1 用戶對(duì)數(shù)據(jù)表的列操作

表2 用戶對(duì)數(shù)據(jù)視圖中數(shù)據(jù)表的列操作

2.5 流程視圖

流程視圖用于記錄用戶構(gòu)造服務(wù)所執(zhí)行的操作順序和數(shù)據(jù)依賴關(guān)系,它可以表示為節(jié)點(diǎn)和邊表示的有向圖:G(V,E),其中V是數(shù)據(jù)流程圖記錄的一組服務(wù)節(jié)點(diǎn)集合,它支持順序、循環(huán)、分支等流程結(jié)構(gòu),以及提供回退、斷點(diǎn)調(diào)試等功能,方便用戶更改數(shù)據(jù)操作。將節(jié)點(diǎn)分為三類:開始與結(jié)束節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)、基本活動(dòng)節(jié)點(diǎn)。

開始與結(jié)束節(jié)點(diǎn):由數(shù)據(jù)結(jié)構(gòu)的知識(shí)可知,有向圖是一種非線性的數(shù)據(jù)結(jié)構(gòu),它不是一對(duì)一的結(jié)構(gòu)關(guān)系,而是多對(duì)多的關(guān)系,可能有多個(gè)出入節(jié)點(diǎn),這種邏輯結(jié)構(gòu)不易理解與研究,所以人為地引入一對(duì)具有開始和結(jié)束標(biāo)志的節(jié)點(diǎn)。開始狀態(tài)節(jié)點(diǎn)start標(biāo)志用戶構(gòu)造流程的開始,是流程結(jié)構(gòu)的唯一入口點(diǎn),它的特點(diǎn)是無(wú)直接前驅(qū)節(jié)點(diǎn)。流程的結(jié)束狀態(tài)節(jié)點(diǎn)end為流程執(zhí)行結(jié)束的標(biāo)志,是流程結(jié)構(gòu)的唯一出口點(diǎn),它的特點(diǎn)是無(wú)直接后繼節(jié)點(diǎn)。

數(shù)據(jù)節(jié)點(diǎn):對(duì)于數(shù)據(jù)節(jié)點(diǎn)而言,其輸入節(jié)點(diǎn)是start,本身為結(jié)束節(jié)點(diǎn),流程可從中獲取節(jié)點(diǎn)的屬性信息,從而獲取數(shù)據(jù)的結(jié)果。

基本活動(dòng)節(jié)點(diǎn):每個(gè)基本活動(dòng)節(jié)點(diǎn)都有輸入和輸出端口,表達(dá)了流程結(jié)構(gòu)的邏輯關(guān)系,相對(duì)于其他節(jié)點(diǎn)而言,某一基本活動(dòng)節(jié)點(diǎn)的輸入端口是目標(biāo)端口,而輸出端口是源端口。基本活動(dòng)節(jié)點(diǎn)可以由一個(gè)三元組的方式表示:opNode=,其中NodeId表示唯一標(biāo)識(shí)活動(dòng)節(jié)點(diǎn)的ID,icon表示節(jié)點(diǎn)的圖標(biāo),lable表示節(jié)點(diǎn)的標(biāo)識(shí)名稱。基本活動(dòng)節(jié)點(diǎn)示意描述如圖4所示。

圖4 基本活動(dòng)節(jié)點(diǎn)示意描述

E是表示節(jié)點(diǎn)之間關(guān)聯(lián)的一組邊的集合,它由關(guān)聯(lián)的兩個(gè)點(diǎn)唯一確定,并且將它標(biāo)識(shí)為四元組的形式:e=,其中fromNode、toNode分別表示與這條邊相關(guān)聯(lián)的起始與結(jié)束節(jié)點(diǎn),toNodeType為與邊相關(guān)聯(lián)節(jié)點(diǎn)的類型,它決定了連接這組節(jié)點(diǎn)中結(jié)束節(jié)點(diǎn)的邊的類型,若結(jié)束節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn),則eStyle用“→”表示,若結(jié)束節(jié)點(diǎn)為基本活動(dòng)節(jié)點(diǎn),則eType用“?”表示。

2.6 數(shù)據(jù)視圖轉(zhuǎn)換規(guī)則

流程結(jié)構(gòu)用于記錄最終用戶在數(shù)據(jù)視圖上的操作,當(dāng)用戶執(zhí)行操作時(shí),參照并篩選聲明數(shù)據(jù)相關(guān)的規(guī)則,系統(tǒng)自動(dòng)地合成流程結(jié)構(gòu),并在流程視圖中呈現(xiàn),轉(zhuǎn)換為流程視圖上的服務(wù),即每進(jìn)行一次操作就會(huì)轉(zhuǎn)換為流程片段上的一項(xiàng)具體服務(wù)。

將用戶可操作的數(shù)據(jù)視圖轉(zhuǎn)換為流程視圖,生成的流程結(jié)構(gòu)不僅用于分析流數(shù)據(jù),而且能夠記錄用戶的操作軌跡。流程結(jié)構(gòu)將服務(wù)進(jìn)行組合,并將已構(gòu)造好的服務(wù)組合存儲(chǔ)在服務(wù)庫(kù)中,以便用戶再次構(gòu)造服務(wù)時(shí),可直接從服務(wù)庫(kù)中獲取。若結(jié)果未達(dá)到用戶預(yù)期,用戶可返回流程結(jié)構(gòu)中的某一步驟進(jìn)行調(diào)整和處理,而無(wú)需重新開始構(gòu)造服務(wù)組合流程,實(shí)現(xiàn)流程片段的重用,可以節(jié)省資源空間和分析數(shù)據(jù)的時(shí)間。

作為一種特殊的服務(wù)組合,已構(gòu)建好的流程結(jié)構(gòu)被封裝成可重用的組件,使得再次構(gòu)建服務(wù)時(shí)直接將組件集成到應(yīng)用中,以實(shí)現(xiàn)特定的應(yīng)用途徑。用戶主導(dǎo)流程的構(gòu)造、執(zhí)行與結(jié)束,在這個(gè)過(guò)程中根據(jù)定義的轉(zhuǎn)換規(guī)則構(gòu)造數(shù)據(jù)流程,本節(jié)給出數(shù)據(jù)視圖轉(zhuǎn)換為流程視圖的轉(zhuǎn)換規(guī)則。具體操作對(duì)應(yīng)的規(guī)則定義如表3所示。

表3 用戶操作及其對(duì)應(yīng)的轉(zhuǎn)換規(guī)則

在流程執(zhí)行過(guò)程中根據(jù)其反饋的信息及對(duì)應(yīng)的轉(zhuǎn)換規(guī)則信息進(jìn)行決策,并將決策結(jié)果反饋給數(shù)據(jù)視圖,這一過(guò)程在流程重用和服務(wù)推薦方面起到至關(guān)重要的作用,資源空間得以有效利用,減少重復(fù)不符信息的出現(xiàn),為后續(xù)流程結(jié)構(gòu)的高效構(gòu)造做出貢獻(xiàn)。

3 實(shí) 驗(yàn)

3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)

實(shí)驗(yàn)使用三臺(tái)CentOS 7.6版本的 Linux操作系統(tǒng)搭建了Storm1.1.1 環(huán)境,Strom集群配置均為4核CPU、16 GB內(nèi)存,并且由1個(gè)nimbus主節(jié)點(diǎn)、2個(gè) supervisor 從節(jié)點(diǎn)構(gòu)成。LoadRunner模擬收費(fèi)站車道采集收費(fèi)數(shù)據(jù),自行研發(fā)的數(shù)據(jù)接入服務(wù)CCS (concurrent connection stream)充當(dāng)Kafka和LoadRunner之間的通信服務(wù)器,用于接收LoadRunner發(fā)送的收費(fèi)數(shù)據(jù)并傳輸給Kafka消息中間件。實(shí)驗(yàn)中采用的原始數(shù)據(jù)為某省所有收費(fèi)站2019年7月1號(hào)到31號(hào)的真實(shí)收費(fèi)數(shù)據(jù),基礎(chǔ)數(shù)據(jù)為某省高速公路站點(diǎn)數(shù)據(jù),通過(guò)LoadRunner模擬成實(shí)時(shí)數(shù)據(jù)。

3.2 實(shí)驗(yàn)結(jié)果

用戶在操作數(shù)據(jù)視圖時(shí)產(chǎn)生流程視圖,產(chǎn)生的這一流程形成storm集群上的流處理任務(wù),從而不斷更新數(shù)據(jù)視圖模塊,實(shí)現(xiàn)數(shù)據(jù)視圖的動(dòng)態(tài)更新,將LoadRunner并發(fā)數(shù)量設(shè)置為2 500條(相當(dāng)于2 500個(gè)流數(shù)據(jù)源),發(fā)送頻率設(shè)為1條/秒,用來(lái)模擬收費(fèi)站車道采集收費(fèi)數(shù)據(jù)數(shù)量為2 500條,頻率為1條/秒,采集高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)上報(bào)的實(shí)時(shí)數(shù)據(jù)。

在數(shù)據(jù)視圖中,用戶可根據(jù)自己的需求選定一個(gè)時(shí)間段對(duì)采集的收費(fèi)站流數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,在流數(shù)據(jù)形成的數(shù)據(jù)視圖S1中,選擇數(shù)據(jù)視圖的操作方法,對(duì)其直接進(jìn)行操作。

在實(shí)驗(yàn)中,首先用戶導(dǎo)入某省高速收費(fèi)站數(shù)據(jù),選擇最近一周(非節(jié)假日)這一時(shí)間段的高速收費(fèi)站的收費(fèi)信息及車輛情況,在大量流數(shù)據(jù)形成的數(shù)據(jù)視圖DV中,根據(jù)小型車和大型車這一條件在數(shù)據(jù)視圖的屬性列中進(jìn)行篩選,分別得到兩個(gè)不同車型信息的數(shù)據(jù)視圖,可查看通過(guò)此收費(fèi)站的所有小型車和大型車的車輛信息,包括其車牌信息,在篩選后的兩個(gè)數(shù)據(jù)視圖上分別進(jìn)一步對(duì)本地車牌及外地車牌進(jìn)行分組操作,查看通過(guò)此收費(fèi)站點(diǎn)的小型車本省車輛信息、小型車外省車輛信息、大型車本省車輛信息及大型車外省車輛信息。用戶可構(gòu)建自己的滿意的“個(gè)性化”數(shù)據(jù)視圖,分析并統(tǒng)計(jì)本地及外地車輛的通行信息,根據(jù)這一分析預(yù)測(cè)未來(lái)一段時(shí)間(非節(jié)假日)的車輛通行情況,通過(guò)分析大量實(shí)時(shí)的流數(shù)據(jù)預(yù)測(cè)未來(lái)車輛通行情況。對(duì)數(shù)據(jù)視圖的操作實(shí)例過(guò)程如圖5所示。

圖5 對(duì)數(shù)據(jù)視圖的操作實(shí)例

在用戶操作數(shù)據(jù)視圖的過(guò)程中,根據(jù)轉(zhuǎn)換規(guī)則自動(dòng)記錄用戶的操作軌跡,生成對(duì)應(yīng)的流程結(jié)構(gòu),用戶導(dǎo)入收費(fèi)站數(shù)據(jù)時(shí),底層的流程結(jié)構(gòu)自動(dòng)生成源節(jié)點(diǎn)和import節(jié)點(diǎn),并生成兩條邊,當(dāng)用戶選定一個(gè)實(shí)時(shí)更新的數(shù)據(jù)服務(wù)時(shí),底層的流程結(jié)構(gòu)自動(dòng)生成select節(jié)點(diǎn);用戶根據(jù)兩種不同的車型做過(guò)濾操作時(shí),底層流程結(jié)構(gòu)生成過(guò)濾后的數(shù)據(jù)視圖節(jié)點(diǎn)filter1和filter2,對(duì)過(guò)濾后的兩個(gè)視圖再分別根據(jù)省份條件進(jìn)行分組時(shí),流程結(jié)構(gòu)上新增group1節(jié)點(diǎn)和group2節(jié)點(diǎn),產(chǎn)生兩個(gè)分組,操作對(duì)應(yīng)生成的流程結(jié)構(gòu)如圖6所示。用戶可根據(jù)篩選分組后的結(jié)果選擇最優(yōu)解,并將兩個(gè)含有過(guò)濾條件的流程結(jié)構(gòu)保存在系統(tǒng)中,這一過(guò)程有助于流程重用,以后無(wú)需用戶重復(fù)構(gòu)建含有這些參數(shù)的服務(wù)組合流程。

圖6 流程結(jié)構(gòu)的生成

綜上,用戶對(duì)數(shù)據(jù)視圖進(jìn)行一系列操作的同時(shí),被“屏蔽”的底層也已構(gòu)建出這些操作所對(duì)應(yīng)的流處理的流程結(jié)構(gòu),產(chǎn)生的結(jié)果可用于進(jìn)一步的數(shù)據(jù)分析,及對(duì)某一時(shí)間段的車輛通行情況的預(yù)測(cè)。經(jīng)過(guò)上述操作,用戶間接完成了對(duì)服務(wù)組合流程的構(gòu)造。

4 結(jié)束語(yǔ)

物聯(lián)網(wǎng)環(huán)境下,針對(duì)用戶直接構(gòu)造以控制流為中心的服務(wù)組合流程方面的挑戰(zhàn),提出了一種可直接對(duì)數(shù)據(jù)視圖進(jìn)行操作的流程構(gòu)造方法,為用戶屏蔽了底層流程的構(gòu)造細(xì)節(jié),降低了用戶構(gòu)建應(yīng)用的復(fù)雜程度。給出了流數(shù)據(jù)產(chǎn)生數(shù)據(jù)視圖的具體過(guò)程及數(shù)據(jù)視圖產(chǎn)生流程視圖的轉(zhuǎn)換規(guī)則,且定義出用戶在數(shù)據(jù)視圖上所做的操作,體現(xiàn)以最終用戶為中心的基本思想。該方法為用戶提供簡(jiǎn)單易用的編程方法,提高了建模效率與準(zhǔn)確性,為最終用戶編程方法的研究做出了進(jìn)一步的貢獻(xiàn)。

猜你喜歡
數(shù)據(jù)表視圖流程
吃水果有套“清洗流程”
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
湖北省新冠肺炎疫情數(shù)據(jù)表
湖北省新冠肺炎疫情數(shù)據(jù)表
與元英&宮脅咲良零距離 from IZ*ONE
違反流程 致命誤判
四川省高考志愿填報(bào)流程簡(jiǎn)圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
《投影與視圖》單元測(cè)試題
望都县| 和政县| 辉南县| 岑溪市| 雷州市| 友谊县| 江川县| 青州市| 大荔县| 洛宁县| 镇原县| 平谷区| 襄垣县| 青州市| 凤翔县| 新营市| 勃利县| 海宁市| 肇东市| 康平县| 左权县| 施秉县| 祁东县| 东乌珠穆沁旗| 衡东县| 利津县| 文水县| 富宁县| 克山县| 祥云县| 句容市| 类乌齐县| 宣恩县| 温宿县| 竹山县| 文昌市| 云南省| 安西县| 奇台县| 西畴县| 怀化市|