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

?

海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型設(shè)計(jì)?

2018-02-28 10:02胡乃軍仇志金郭忠文
關(guān)鍵詞:副本虛擬儀器組件

劉 超, 胡乃軍, 仇志金, 郭忠文

(1.中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院,山東 青島 266100; 2.青島市工商行政管理局信息中心,山東 青島 266071)

隨著人口的快速增長(zhǎng)和人類對(duì)資源需求量的日益增加,海洋科技的發(fā)展和研究越來越受到各國(guó)海洋機(jī)構(gòu)和科研人員的廣泛關(guān)注。針對(duì)海洋進(jìn)行深入的研究不僅需要專業(yè)的理論知識(shí),更需要先進(jìn)的觀測(cè)技術(shù)和數(shù)據(jù)傳輸處理技術(shù)作為輔助工具,將客觀的物理規(guī)律和模擬信號(hào)轉(zhuǎn)換為數(shù)字化的數(shù)據(jù)進(jìn)行處理、研究和可視化[1]。

虛擬儀器技術(shù)作為數(shù)據(jù)處理和可視化的主要技術(shù),近些年來一直得到了廣泛的應(yīng)用[2]。雖然虛擬儀器技術(shù)通過計(jì)算機(jī)技術(shù)有效的降低了大量使用物理儀器帶來的高成本問題,然而其在海洋觀測(cè)領(lǐng)域有著一定的局限性。第一,現(xiàn)階段的海洋觀測(cè)系統(tǒng)大部分是針對(duì)特定需求和使用場(chǎng)景進(jìn)行開發(fā),功能相對(duì)單一且固定,在系統(tǒng)設(shè)計(jì)之初并沒有考慮系統(tǒng)重構(gòu)和功能組合等問題,導(dǎo)致了系統(tǒng)在后期功能擴(kuò)展和重組過程中遇到困難。第二,大部分海洋觀測(cè)系統(tǒng)是由不同的科研機(jī)構(gòu)和國(guó)家進(jìn)行開發(fā)部署,在開發(fā)過程當(dāng)中,并沒有采用標(biāo)準(zhǔn)化的開發(fā)模型和數(shù)據(jù)格式,從而導(dǎo)致了異構(gòu)的海洋觀測(cè)系統(tǒng)數(shù)據(jù)互訪問、互操作性差,且系統(tǒng)集成后,數(shù)據(jù)響應(yīng)速度下降。第三,虛擬儀器技術(shù)只負(fù)責(zé)數(shù)據(jù)處理,顯示工作,缺乏數(shù)據(jù)共享的接口。因此,該技術(shù)并不適用于現(xiàn)階段海洋大尺度,大范圍的綜合監(jiān)測(cè)的需求。第四,系統(tǒng)研發(fā)人員需要花費(fèi)大量的時(shí)間針對(duì)系統(tǒng)需求進(jìn)行調(diào)研并進(jìn)行大量的代碼調(diào)試撰寫工作,由于硬件傳感器的多樣性,系統(tǒng)調(diào)試工作也會(huì)花費(fèi)大量的時(shí)間和精力。

針對(duì)以上問題,需要提出一種新的系統(tǒng)模型來解決目前海洋觀測(cè)系統(tǒng)領(lǐng)域所面臨的問題。該模型需要實(shí)現(xiàn)系統(tǒng)功能的自由組合和擴(kuò)展,并能無(wú)縫集成大規(guī)模海洋觀測(cè)系統(tǒng),且能有效縮短系統(tǒng)開發(fā)周期和集成系統(tǒng)響應(yīng)時(shí)間。一些科研工作者在該領(lǐng)域提出了一些解決方案。文獻(xiàn)[3-4]在硬件層面上解決了部分問題,有效降低了系統(tǒng)開發(fā)成本。在文獻(xiàn)[5]中,我們提出了一種可用于集成B/S或C/S分布式異構(gòu)監(jiān)測(cè)系統(tǒng)的架構(gòu),該架構(gòu)包含多種數(shù)據(jù)處理顯示組件。E. Song等研究人員在IEEE 1451網(wǎng)絡(luò)化智能傳感器標(biāo)準(zhǔn)中,通過定義傳感器電子數(shù)據(jù)表格(Transducer Electronic Data Sheet TEDS)格式和相關(guān)通信協(xié)議,實(shí)現(xiàn)了面向服務(wù)的傳感器數(shù)據(jù)互通架構(gòu)[6]。文獻(xiàn)[7-8]提出了多種方法有效解決了虛擬儀器系統(tǒng)的開發(fā)效率問題。以上解決方案雖然都對(duì)海洋觀測(cè)系統(tǒng)的開發(fā)和集成提供了一些的解決方案,然而,這些方案有些不適用于海洋觀測(cè)系統(tǒng)的需求,有些則不能有效兼容其他解決方案。

本文提出了海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型,該模型包含多種通用軟件組件,并能滿足前端各類傳感器的自動(dòng)接入需求。該模型可以滿足海洋觀測(cè)領(lǐng)域數(shù)據(jù)分享需求并能實(shí)現(xiàn)大規(guī)模海洋觀測(cè)系統(tǒng)的無(wú)縫集成。通過對(duì)已有的多類海洋觀測(cè)系統(tǒng)進(jìn)行分析和研究,并根據(jù)多組件副本自適應(yīng)算法進(jìn)一步縮短系統(tǒng)響應(yīng)時(shí)間。我們根據(jù)該模型重新開發(fā)了已有的海洋觀測(cè)系統(tǒng),并設(shè)計(jì)了配置子系統(tǒng)進(jìn)一步簡(jiǎn)化系統(tǒng)開發(fā)過程。實(shí)際開發(fā)過程和功能擴(kuò)展過程證明該模型有效可行。本文主要貢獻(xiàn)如下:

(1)本文從多種已有的不同種類的海洋觀測(cè)系統(tǒng)抽象并設(shè)計(jì)出了復(fù)雜虛擬儀器模型,該模型可有效解決海洋觀測(cè)系統(tǒng)的數(shù)據(jù)互操作和系統(tǒng)集成問題。

(2)本文提出的復(fù)雜虛擬儀器模型不僅可實(shí)現(xiàn)更加復(fù)雜多樣的功能,還可以有效解決系統(tǒng)重構(gòu)問題。

(3)該模型還提供標(biāo)準(zhǔn)化的數(shù)據(jù)訪問接口,可以有效實(shí)現(xiàn)數(shù)據(jù)的共享。

(4)本文設(shè)計(jì)了多組件副本自適應(yīng)算法,進(jìn)一步縮短系統(tǒng)響應(yīng)時(shí)間。

圖1 海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型架構(gòu)

1 系統(tǒng)架構(gòu)

海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型系統(tǒng)架構(gòu)是由多種海洋觀測(cè)儀器作為物理前端觀測(cè)被監(jiān)測(cè)的對(duì)象。海洋觀測(cè)儀器由多種傳感器構(gòu)成。物理儀器將獲取的模擬信號(hào)轉(zhuǎn)換為數(shù)據(jù)信號(hào)通過網(wǎng)絡(luò)將數(shù)據(jù)傳遞給復(fù)雜虛擬儀器系統(tǒng)進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)分享,總體架構(gòu)如圖1所示。架構(gòu)主要包含組成部分及其功能如下:

(1)海洋觀測(cè)儀器:海洋觀測(cè)儀器由多種傳感器組成,它利用傳感器設(shè)備獲得被觀測(cè)對(duì)象的信息,其信息一般為模擬信號(hào)。海洋觀測(cè)儀器負(fù)責(zé)將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。我們用sij表示每個(gè)傳感器,其中i為儀器編號(hào),j為傳感器該觀測(cè)儀器中的相對(duì)編號(hào)。

(2)傳感器池:整個(gè)系統(tǒng)的數(shù)據(jù)來源為前端的傳感器設(shè)備。雖然整個(gè)傳感器設(shè)備包含在觀測(cè)儀器當(dāng)中,但對(duì)于數(shù)據(jù)管理系統(tǒng)來說,數(shù)據(jù)的來源是以傳感器為單位,所以通過傳感器池來管理傳感器數(shù)據(jù)。獲得的數(shù)據(jù),用(xisk,t)進(jìn)行表示,其中x代表具體的數(shù)據(jù)內(nèi)容,i為觀測(cè)對(duì)象標(biāo)識(shí),s為傳感器編號(hào),t表示采集到該數(shù)據(jù)的時(shí)間戳,k為動(dòng)態(tài)監(jiān)測(cè)對(duì)象編號(hào)(如對(duì)象為靜態(tài)該參數(shù)為空,詳見2.4)。例如,(x2,s3,5,t)則表示為2號(hào)檢測(cè)對(duì)象的s3,5號(hào)傳感器,在t時(shí)刻所采集到的數(shù)據(jù)為x。(3)時(shí)間序列化數(shù)據(jù)管理:該隸屬于傳感器模塊,并將數(shù)據(jù)轉(zhuǎn)換為可被復(fù)雜虛擬儀器模塊獲取的標(biāo)準(zhǔn)化數(shù)據(jù)格式。

(4)復(fù)雜虛擬儀器:復(fù)雜虛擬儀器主要負(fù)責(zé)對(duì)傳感器獲取到的數(shù)據(jù)進(jìn)行采集,并對(duì)數(shù)據(jù)進(jìn)行處理、顯示。復(fù)雜虛擬儀器主要包括應(yīng)用模塊、數(shù)據(jù)管理模塊、數(shù)據(jù)計(jì)算分析模塊和接口管理模塊。我們用大寫字母I來表示一個(gè)復(fù)雜虛擬儀器。

(5)通用數(shù)據(jù)接口:通用數(shù)據(jù)接口是復(fù)雜虛擬儀器的重要組成部分,主要負(fù)責(zé)數(shù)據(jù)的共享工作。數(shù)據(jù)接口的數(shù)據(jù)輸出格式為標(biāo)準(zhǔn)化數(shù)據(jù)格式。其數(shù)據(jù)輸出也可作為另一個(gè)復(fù)雜虛擬儀器設(shè)備的輸入。

2 模型設(shè)計(jì)

本章節(jié)將對(duì)海洋觀測(cè)復(fù)雜虛擬儀器可重構(gòu)模型進(jìn)行詳細(xì)描述,并對(duì)模型的重要組成部分進(jìn)行展開說明。

2.1 對(duì)象描述模型

為了適應(yīng)海洋觀測(cè)系統(tǒng)多樣化的功能需求,本文設(shè)計(jì)了對(duì)象描述模型,該模型可以有效描述各類觀測(cè)對(duì)象。圖2展示了對(duì)象描述模型的組成部分。觀測(cè)對(duì)象的描述模型由描述條目標(biāo)題和描述條目?jī)?nèi)容構(gòu)成。描述條目標(biāo)題主要描述觀測(cè)對(duì)象的屬性信息,比如描述對(duì)象經(jīng)度,緯度,名稱等。描述條目?jī)?nèi)容則為具體的條目包含的內(nèi)容,如具體的對(duì)象名稱,數(shù)據(jù)等。

圖2 對(duì)象描述模型

2.2 傳感器模型

傳感器模型主要包括傳感器組模型和傳感器數(shù)據(jù)模型兩個(gè)重要組成部分。

傳感器組即為海洋觀測(cè)儀器的傳感器池描述方式。傳感器組由一組傳感器組成,協(xié)同完成觀測(cè)任務(wù),一個(gè)傳感器組通常映射至一個(gè)或多個(gè)觀測(cè)對(duì)象。傳感器組模型主要包括groupId,groupName,groupInfo和parentId四部分內(nèi)容。groupId為傳感器組的唯一標(biāo)示,即觀測(cè)儀器ID,groupName為傳感器組名稱,即觀測(cè)儀器的名稱,groupInfo為傳感器組描述信息,主要描述該組傳感器的主要功能等信息,parentId表示該傳感器組為其他傳感器組的子傳感器組。其中,根組的parentId為0。傳感器組可無(wú)限級(jí)聯(lián)。

傳感器數(shù)據(jù)是一系列的時(shí)間序列化數(shù)據(jù),公式表達(dá)為(xis,t)。數(shù)據(jù)包括原始數(shù)據(jù)和時(shí)間戳兩部分。傳感器數(shù)據(jù)通常用可擴(kuò)展標(biāo)記語(yǔ)言(Xtensible Markup Language,XML)進(jìn)行表示。通常表示如下:

以上述XML數(shù)據(jù)文件為例,整個(gè)數(shù)據(jù)傳輸過程中,標(biāo)簽所占的字節(jié)數(shù)接近50%。經(jīng)分析,該種描述方式并不適用于海洋觀測(cè)數(shù)據(jù)的傳輸。為了提高數(shù)據(jù)的傳輸效率,我們根據(jù)IEEE 1851國(guó)際標(biāo)準(zhǔn)[9]設(shè)計(jì)過程中得出的經(jīng)驗(yàn)設(shè)計(jì)傳感器數(shù)據(jù)模型,如圖3所示。我們將多組傳感器數(shù)據(jù)(xis,t)合稱為一整個(gè)數(shù)據(jù)條目進(jìn)行傳輸,每個(gè)數(shù)據(jù)的時(shí)間戳信息和傳感器數(shù)據(jù)用符號(hào)“,”進(jìn)行分隔,不同的數(shù)據(jù)條目用“@”進(jìn)行分隔。該方法可有效減少標(biāo)簽數(shù)量,從而提高數(shù)據(jù)傳輸效率。

圖3 傳感器數(shù)據(jù)模型

Fig.3 Sensor data model

2.3 復(fù)雜虛擬儀器模型

復(fù)雜虛擬儀器模型由多個(gè)虛擬儀器引擎構(gòu)成以實(shí)現(xiàn)更復(fù)雜的功能。復(fù)雜虛擬儀器可以實(shí)現(xiàn)數(shù)據(jù)獲取、數(shù)據(jù)顯示、數(shù)據(jù)管理、數(shù)據(jù)分析、相關(guān)對(duì)象信息管理和組件重構(gòu)功能。復(fù)雜虛擬儀器從觀測(cè)儀器獲取數(shù)據(jù),并由虛擬儀器引擎完成數(shù)據(jù)顯示工作,數(shù)據(jù)還可由數(shù)據(jù)處理分析組件進(jìn)行進(jìn)一步加工。最重要的是,復(fù)雜虛擬儀器模型包含對(duì)外通用數(shù)據(jù)接口,該接口可對(duì)外共享包括觀測(cè)數(shù)據(jù)、統(tǒng)計(jì)結(jié)果和觀測(cè)對(duì)象信息等內(nèi)容。圖4中的主要部件描述如下:

(1)數(shù)據(jù)、接口管理模塊

該模塊的數(shù)據(jù)管理部分主要負(fù)責(zé)系統(tǒng)的數(shù)據(jù)管理和數(shù)據(jù)處理。部分?jǐn)?shù)據(jù)在顯示之前需要進(jìn)行相應(yīng)的處理,由實(shí)際參數(shù)計(jì)算得到邏輯參數(shù),邏輯參數(shù)可直接由虛擬儀器引擎進(jìn)行顯示。

實(shí)際參數(shù)為傳感器測(cè)得的實(shí)際數(shù)據(jù),我們假設(shè)t時(shí)刻數(shù)據(jù)有m個(gè),其數(shù)據(jù)集合X表示為:

X={(x1s,t),(x2s,t)…(xis′,t)…(x1s′,t)(x2s′,t)…}

單個(gè)計(jì)算函數(shù)表示為f,整個(gè)復(fù)雜虛擬儀器的n個(gè)計(jì)算函數(shù)集合F表示為:

F={f1,f2,f3………fn},其中n<=m,

計(jì)算得出數(shù)據(jù)為邏輯參數(shù),我們假設(shè)t時(shí)刻輸出有n個(gè)(與函數(shù)個(gè)數(shù)相同),其中n<=m,其數(shù)據(jù)集合Y表示為:

Y={(y1,t)(y2,t)………(yn,t)}。

每一個(gè)邏輯參數(shù)輸出對(duì)應(yīng)一個(gè)計(jì)算函數(shù),該計(jì)算結(jié)果來源于一個(gè)或多個(gè)實(shí)際參數(shù),其計(jì)算過程表示為:

(yi,t)=fi(Xi),(i=1,2……n),

其中Xi為集合X的子集。值得一提的是,同一個(gè)傳感器數(shù)據(jù)可以作為多個(gè)邏輯參數(shù)的輸入,所以每個(gè)輸入子集Xi可以存在交集。

一個(gè)復(fù)雜虛擬儀器I可表示為:

I=(X,Y,F)。

復(fù)雜虛擬儀器可通過改變集合F進(jìn)行重構(gòu)。

數(shù)據(jù)管理模塊還負(fù)責(zé)將最終的數(shù)據(jù)結(jié)果存儲(chǔ)在數(shù)據(jù)庫(kù)中。并針對(duì)不同的觀測(cè)對(duì)象存儲(chǔ)虛擬儀器引擎映射。

接口管理模塊主要是對(duì)整個(gè)復(fù)雜虛擬儀器的對(duì)外接口進(jìn)行管理,將包括復(fù)雜虛擬儀器邏輯參數(shù)Y在內(nèi)的相關(guān)數(shù)據(jù)進(jìn)行分享,數(shù)據(jù)通過Web Service,MQ和FTP等多種方式對(duì)外提供。

圖4 復(fù)雜虛擬儀器模型

(2)虛擬儀器引擎模塊

該模塊主要負(fù)責(zé)將標(biāo)準(zhǔn)化的邏輯參數(shù)進(jìn)行可視化的顯示,在加載多樣化的數(shù)據(jù)之前,引擎先讀取存儲(chǔ)在數(shù)據(jù)庫(kù)中的虛擬儀器引擎映射文件,并根據(jù)映射文件動(dòng)態(tài)加載相應(yīng)的組件,組件包括曲線,風(fēng)場(chǎng),浪流,表格,甚至是視頻圖像。當(dāng)需要改變復(fù)雜虛擬儀器主要功能時(shí),可改變虛擬儀器引擎進(jìn)行重構(gòu)。其數(shù)據(jù)結(jié)構(gòu)見圖5。

圖5 虛擬儀器引擎EL圖

(3)數(shù)據(jù)計(jì)算分析組件

除了數(shù)據(jù)展示功能之外,復(fù)雜虛擬儀器還提供數(shù)據(jù)計(jì)算分析模塊,該模塊可根據(jù)用戶的計(jì)算需求動(dòng)態(tài)調(diào)用組件。研發(fā)人員需按照本文提出的標(biāo)準(zhǔn)化數(shù)據(jù)格式設(shè)計(jì)計(jì)算分析組件,存入數(shù)據(jù)組件庫(kù),以供用戶進(jìn)行檢索。

(4)通用數(shù)據(jù)接口

傳統(tǒng)的虛擬儀器技術(shù)雖然取代了物理儀器的數(shù)據(jù)顯示功能,然而虛擬儀器并不能提供傳統(tǒng)儀器的數(shù)據(jù)輸出功能。通用數(shù)據(jù)接口由接口模塊統(tǒng)一進(jìn)行管理,對(duì)外提供數(shù)據(jù)接口,它不僅能夠提供傳統(tǒng)物理儀器的觀測(cè)數(shù)據(jù)輸出功能,還能獲取監(jiān)測(cè)對(duì)象信息,傳感器信息,甚至還能以代碼的形式獲取虛擬儀器引擎組件和數(shù)據(jù)計(jì)算分析組件。

2.4 映射模型

該模型描述了觀測(cè)對(duì)象和物理傳感器,物理傳感器與邏輯參數(shù),邏輯參數(shù)與復(fù)雜虛擬儀器之間的映射關(guān)系。主要映射關(guān)系描述如下:

(1)觀測(cè)對(duì)象與傳感器

首先,我們將觀測(cè)對(duì)象分為靜態(tài)對(duì)象和動(dòng)態(tài)對(duì)象。靜態(tài)對(duì)象是指,觀測(cè)對(duì)象與特定的傳感器組(觀測(cè)儀器)關(guān)系綁定,例如某個(gè)觀測(cè)儀器固定監(jiān)測(cè)某個(gè)海域的溫鹽信息。動(dòng)態(tài)對(duì)象是指觀測(cè)目標(biāo)與觀測(cè)儀器關(guān)系不固定,如測(cè)速傳感器測(cè)量過往船只的速度信息。綜上,觀測(cè)對(duì)象與傳感器的映射模型屬于一對(duì)多或多對(duì)一的關(guān)系。

(2)傳感器與邏輯參數(shù)

傳感器與其所測(cè)量得到的實(shí)際參數(shù)關(guān)系等價(jià),所以這里我們只考慮傳感器參數(shù)與邏輯參數(shù)的映射。根據(jù)2.3的計(jì)算模型可知,邏輯參數(shù)的數(shù)量小于等于傳感器的數(shù)量,所以傳感器與邏輯參數(shù)的映射關(guān)系為一對(duì)一或多對(duì)一。

圖6 映射模型

(3)邏輯參數(shù)與復(fù)雜虛擬儀器

邏輯參數(shù)可以重復(fù)的被多個(gè)復(fù)雜虛擬儀器獲取并顯示。同樣,一個(gè)復(fù)雜虛擬儀器也可顯示多個(gè)數(shù)據(jù)源的邏輯參數(shù)。所以,整個(gè)邏輯參數(shù)與復(fù)雜虛擬儀器的映射關(guān)系為一對(duì)多或多對(duì)一。

參數(shù)模型映射如圖6所示,O為觀測(cè)對(duì)象集合,其子集為Oi,元素為oi。同理可得其他傳感器、邏輯參數(shù)和復(fù)雜虛擬儀器的符號(hào)描述規(guī)律,為了避免混淆復(fù)雜虛擬儀器子集為Isub,i。其參數(shù)映射函數(shù)為MOS(),MSY(),MYI()。下面我們討論如下情況:

當(dāng)映射關(guān)系呈現(xiàn)多對(duì)一或一對(duì)一時(shí),我們可以很容易得到公式如下:

s=MOS(Oi),

y=MSY(Si),

I=MYI(Yi)。

其中每個(gè)函數(shù)的輸入為各個(gè)部分的集合,輸出為其映射對(duì)象的ID編號(hào)。

由于一個(gè)函數(shù)只能有一類輸出對(duì)象,所以當(dāng)一對(duì)多時(shí),我們無(wú)法輸出多個(gè)參數(shù)組成的列表對(duì)象。因此,我們引入中間函數(shù)array[]=Temp(int parameter)解決該問題。當(dāng)系統(tǒng)運(yùn)行映射函數(shù)查找映射關(guān)系時(shí),如果為多對(duì)一的關(guān)系時(shí),我們將其映射組合存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中,并為該映射關(guān)系編號(hào)。當(dāng)輸入?yún)?shù)為一個(gè)元素時(shí),我們采用如下方式進(jìn)行描述:

Si=TEMP[MOS(o)],

Isub,i=TEMP[MYI(y)]。

所以,當(dāng)函數(shù)M為多對(duì)一的關(guān)系時(shí),想要檢索反向映射關(guān)系,則需使用函數(shù)組合TEMP[M-1()]。同理,當(dāng)函數(shù)M為一對(duì)多的關(guān)系時(shí),我們則可直接使用函數(shù)M-1()。算法如下:

AlgorithmMappingAlgorithmINPUT:(i)SOURCE[],(ii)M; //SOURCE:映射關(guān)系查詢?cè)炊藢?duì)象集合(可僅有一個(gè)元素);M:調(diào)用函數(shù)OUTPUT:TARGET[]; //匹配目標(biāo)端對(duì)象集合(可僅有一個(gè)元素)switch(M) caseOS:F=MOS;break; caseSY:F=MSY;break; caseYI:F=MYI;break caseSO:F=MOS-1;break; caseYS:F=MSY-1;break; caseIY:F=MYI-1;break;endswitch; //選定目標(biāo)函數(shù)并賦值到函數(shù)指針Fif(SOURCE[].count>1) TARGET[].ADD(F(SOURCE[])); ReturnTARGET[]; //如果為多源對(duì)象,則映射目標(biāo)一定為單目標(biāo)elseif(SOURCE[].count=1&&

SOURCE[].count!=0) flag=F(SOURCE[0]); if(isObject(flag)=true) returnTARGET[].add(flag); //如果flag為對(duì)象編號(hào),則直接輸出對(duì)象 else tempTarget[]=TEMP(flag) foreach(iiintempTarget) TARGET[].add(i); endfor; //將目標(biāo)對(duì)象添加至目標(biāo)對(duì)象數(shù)組 ReturnTARGET[]; //如果flag為映射編號(hào),則輸出對(duì)象數(shù)組 endif;endif;

3 多組件副本自適應(yīng)算法設(shè)計(jì)

3.1 集成模型

海洋觀測(cè)逐漸向大范圍、大尺度智能觀測(cè)方向轉(zhuǎn)變,由此帶來了海洋觀測(cè)系統(tǒng)大規(guī)模集成問題。傳統(tǒng)系統(tǒng)由于非標(biāo)準(zhǔn)化的開發(fā)過程和沒有合適的開發(fā)模型導(dǎo)致了系統(tǒng)集成困難。海洋觀測(cè)復(fù)雜虛擬儀器可以通過集成操作來實(shí)現(xiàn)系統(tǒng)的無(wú)縫集成和系統(tǒng)重構(gòu)[10]。

由于有了標(biāo)準(zhǔn)化的數(shù)據(jù)格式和映射模型,該模型可直接將整個(gè)集成系統(tǒng)的輸入、功能計(jì)算函數(shù)、輸出和虛擬儀器組件取并集。公式表達(dá)如下:

其中n≤m。集成后的復(fù)雜虛擬儀器表示為:

Inew={Xnew,Ynew,F(xiàn)new},

Ynew=Fnew(Xnew)。

3.2 算法設(shè)計(jì)

在系統(tǒng)大規(guī)模集成之后,多種同類數(shù)據(jù)組件只會(huì)在系統(tǒng)中保留一份副本,當(dāng)外部系統(tǒng)獲取數(shù)據(jù)及其數(shù)據(jù)組件時(shí),會(huì)加劇系統(tǒng)的負(fù)擔(dān)從而導(dǎo)致系統(tǒng)響應(yīng)變慢等問題。針對(duì)代碼副本存儲(chǔ)問題,我們對(duì)計(jì)算函數(shù)取交集:

對(duì)于Finter設(shè)計(jì)多組件副本自適應(yīng)算法以響應(yīng)大量外部系統(tǒng)訪問問題。算法步驟如下:

(1)系統(tǒng)檢測(cè)組件請(qǐng)求隊(duì)列長(zhǎng)度,當(dāng)隊(duì)列長(zhǎng)度大于閾值k時(shí),設(shè)空閑時(shí)間為0,執(zhí)行步驟3,然后執(zhí)行步驟2;

(2)當(dāng)副本數(shù)量為大于初始值a且空閑時(shí)間大于T時(shí),清除多余副本,并返回步驟1,否則直接返回步驟1;

(3)對(duì)組件副本進(jìn)行復(fù)制,并對(duì)副本所在服務(wù)器進(jìn)行編號(hào);

(4)針對(duì)隊(duì)列請(qǐng)求編號(hào),用哈希函數(shù)進(jìn)行處理,并對(duì)副本數(shù)量取模,并根據(jù)取模結(jié)果在相應(yīng)服務(wù)器請(qǐng)求組件,返回步驟1;

AlgorithmSelf-AdaptionAlgorithmINPUT:(i)REQUEUE;(ii)COMPONENT; //REQUEUE:請(qǐng)求隊(duì)列,COMPONENT:組件數(shù)組while(system.ifRunning()=true) while(REQUEUE.count<=k) if(COMPONENT.replica.count>a&& restTime>T) COMPONENT.replica.delete(); endif; restTime=addTime(restTime); endwhile; //在不忙碌時(shí)段清除組件副本 restTime=0; //系統(tǒng)忙碌 COMPONENT.replica.creat(); n=COMPONENT.count(); //創(chuàng)建副本存儲(chǔ)在相應(yīng)編號(hào)服務(wù)器,并記錄副本數(shù)量 foreach(rinREQUEUE) m=hash(r)modn; server[m].processQueue.add(r); endforeach; //將請(qǐng)求分配至各個(gè)服務(wù)器處理隊(duì)列 restTime=startCount(); //重新開始計(jì)時(shí);endwhile;

4 性能分析與應(yīng)用實(shí)例

4.1 性能分析

針對(duì)大規(guī)模大范圍集成的海洋觀測(cè)系統(tǒng),隨著系統(tǒng)集成范圍的增加,同時(shí)迸發(fā)請(qǐng)求的可能性大幅增加。當(dāng)多個(gè)用戶在同一時(shí)刻對(duì)某一數(shù)據(jù)組件進(jìn)行請(qǐng)求時(shí),系統(tǒng)會(huì)動(dòng)態(tài)加載復(fù)雜虛擬儀器代碼組件,并對(duì)數(shù)據(jù)進(jìn)行顯示。我們對(duì)多組件副本自適應(yīng)算法進(jìn)行仿真。我們?cè)谙到y(tǒng)中存放單一副本,并采用隨機(jī)迸發(fā)請(qǐng)求的方式對(duì)系統(tǒng)進(jìn)行請(qǐng)求,請(qǐng)求數(shù)量見圖7。并統(tǒng)計(jì)遠(yuǎn)程客戶端響應(yīng)時(shí)間,仿真結(jié)果見圖8。

設(shè)置整個(gè)帶寬可以同時(shí)滿足5個(gè)組件請(qǐng)求。所以當(dāng)請(qǐng)求大于5時(shí),在原始系統(tǒng)下,組件加載速度大致計(jì)算方式表達(dá)如下:

[請(qǐng)求數(shù)量/5]×單位響應(yīng)時(shí)間。

當(dāng)采用自適應(yīng)算法之后。當(dāng)T為10 s時(shí),由于本仿真設(shè)定的迸發(fā)請(qǐng)求為每20 s一次,每次響應(yīng)結(jié)束時(shí)間到下一次組件請(qǐng)求之前,時(shí)間大于T,組件副本已被刪除,所以當(dāng)下次請(qǐng)求到來時(shí),系統(tǒng)又會(huì)臨時(shí)生成副本,造成響應(yīng)時(shí)間相應(yīng)的延長(zhǎng)。當(dāng)T為20 s時(shí),下次數(shù)據(jù)請(qǐng)求迸發(fā)到來之前,數(shù)據(jù)副本還在系統(tǒng)中,所以下一時(shí)刻請(qǐng)求數(shù)量變化不大的情況下,由于沒有組件副本復(fù)制的過程,系統(tǒng)響應(yīng)時(shí)間會(huì)下降。即使請(qǐng)求數(shù)量增加,由于系統(tǒng)已經(jīng)存在一定的副本數(shù)量,也會(huì)大幅縮短副本復(fù)制時(shí)間。

圖7 隨機(jī)迸發(fā)請(qǐng)求數(shù)量

圖8 仿真結(jié)果

由此,我們得出大致結(jié)論,當(dāng)T增加時(shí),系統(tǒng)在面臨高迸發(fā)請(qǐng)求時(shí),會(huì)大大縮短系統(tǒng)響應(yīng)時(shí)間。但T增加也會(huì)導(dǎo)致系統(tǒng)存儲(chǔ)資源被過多的占用。

4.2 應(yīng)用實(shí)例

為了驗(yàn)證海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型,我們通過云平臺(tái)配置子系統(tǒng),快速配置了海洋觀測(cè)系統(tǒng)OceanSense[11],并對(duì)集成、級(jí)聯(lián)模型進(jìn)行了驗(yàn)證。整個(gè)系統(tǒng)包含18個(gè)前端監(jiān)測(cè)節(jié)點(diǎn)和2個(gè)近岸節(jié)點(diǎn)。整個(gè)數(shù)據(jù)采用多跳的方式傳遞至近岸節(jié)點(diǎn),近岸節(jié)點(diǎn)通過ethernet將數(shù)據(jù)傳遞給復(fù)雜虛擬儀器系統(tǒng)。

整個(gè)系統(tǒng)利用復(fù)雜虛擬儀器云服務(wù)模型,采用配置系統(tǒng)客戶端進(jìn)行系統(tǒng)配置操作?;谀P椭械臉?biāo)準(zhǔn)化對(duì)象描述格式、傳感器描述格式、傳感器數(shù)據(jù)格式及映射模型和映射算法,系統(tǒng)可通過無(wú)代碼的形式進(jìn)行開發(fā)。整個(gè)配置系統(tǒng)采用組件式拖拽管理和參數(shù)配置的方式進(jìn)行系統(tǒng)開發(fā)。配置子系統(tǒng)界面見圖9。

圖9 配置系統(tǒng)

圖10 海洋觀測(cè)復(fù)雜虛擬儀器通用客戶端

整個(gè)系統(tǒng)通過模型的集成操作,并采用統(tǒng)一的通用客戶端,對(duì)數(shù)據(jù)組件進(jìn)行加載,并完成數(shù)據(jù)顯示工作。系統(tǒng)界面如圖11所示。我們將每一個(gè)浮標(biāo)看做一個(gè)復(fù)雜虛擬儀器,整個(gè)海域1系統(tǒng)集成了兩個(gè)復(fù)雜虛擬儀器。系統(tǒng)通用客戶端動(dòng)態(tài)加載兩個(gè)復(fù)雜虛擬儀器組件,每個(gè)復(fù)雜虛擬儀器包含兩個(gè)引擎。換句話說,該系統(tǒng)可同時(shí)顯示4組相關(guān)數(shù)據(jù)。當(dāng)需要訪問其他復(fù)雜虛擬儀器時(shí),系統(tǒng)只需動(dòng)態(tài)加載其他組件,即可完成數(shù)據(jù)顯示工作。

通過對(duì)以上場(chǎng)景的開發(fā)、應(yīng)用和集成,對(duì)海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型的可行性進(jìn)行驗(yàn)證。

5 總結(jié)與展望

本文總結(jié)了科研團(tuán)隊(duì)多年來的海洋觀測(cè)系統(tǒng)研發(fā)經(jīng)驗(yàn),抽象得出了海洋觀測(cè)復(fù)雜虛擬儀器云服務(wù)模型,可實(shí)現(xiàn)系統(tǒng)的定制化開發(fā)和大規(guī)模集成。整個(gè)系統(tǒng)可通過動(dòng)態(tài)加載虛擬儀器組件,并自由接入前端傳感器以適應(yīng)復(fù)雜多變的海洋觀測(cè)需求。本文設(shè)計(jì)的多組件副本自適應(yīng)算法,可有效的縮短系統(tǒng)的相應(yīng)時(shí)間。

本文提出了一個(gè)可大規(guī)模集成異構(gòu)海洋觀測(cè)系統(tǒng)的模型,并可簡(jiǎn)化開發(fā)步驟。但仍有缺點(diǎn)和不足。我們的后續(xù)工作包括:(1)進(jìn)一步將該模型擴(kuò)展至其他領(lǐng)域;(2)采用機(jī)器學(xué)習(xí)的方法,研究歷史請(qǐng)求數(shù)據(jù),設(shè)計(jì)智能多組件副本自適應(yīng)算法;(3)進(jìn)一步研究組件技術(shù),研發(fā)多種可用于其他領(lǐng)域系統(tǒng)的通用組件。

[1] 郁鴻勝. 發(fā)達(dá)國(guó)家海洋戰(zhàn)略對(duì)中國(guó)海洋發(fā)展的借鑒[J]. 中國(guó)發(fā)展, 2013, 13(3): 70-75. YU Hongsheng. The Reference of the Development Countries’ Ocean Strategies to China Oceanic Development[J]. China Development, 2013, 13(3): 70-75.

[2] Orovic I, Orlandic M, Stankovic S. A Virtual Instrument for Time-Frequency Analysis of Signals With Highly Nonstationary Instantaneous Frequency[J]. Instrumentation and Measurement Ieee Transactions on, 2011, 60(3): 791-803.

[3] Gao R, Fan Z. Architectural design of a sensory node controller for optimized energy utilization in sensor networks[J]. Ieee Transactions on Instrumentation and Measurement, 2006, 55(2): 415-428.

[4] Kansal A, Hsu J, Zahedi S. Power management in energy harvesting sensor networks[J]. Acm Transactions on Embedded Computing Systems, 2006, 6(4): 32.

[5] Guo Z, Chen P, Zhang H. IMA: An Integrated Monitoring Architecture With Sensor Networks[J]. Ieee Transactions on Instrumentation and Measurement, 2012, 61(5): 1287-1295.

[6] Song E, Lee K. Service-oriented sensor data interoperability for IEEE 1451 smart transducers[C]. Conference Record Ieee Instrumentation and Measurement Technology Conference, 2009.

[7] Bertocco M, Cappellazzo S, Carullo A. Virtual environment for fast development of distributed measurement applications[J]. Vims 2001 2001 Ieee International Workshop on Virtual and Intelligent Measurement Systems, 2003, 52(3): 681-685.

[8] Winiecki W, Karkowski M. A new Java-based software environment for distributed measuring systems design[J]. Ieee Transactions on Instrumentation and Measurement, 2002, 51(6): 1340-1346.

[9] Guo Z, Zhang H. IEEE P1851:Standard for design criteria of integrated sensor-based test applications for household appliances[S]. IEEE Standards Association, 2012.

[10] 胡克勇. 面向海洋傳感網(wǎng)的軟件開發(fā)模型及關(guān)鍵技術(shù)研究[D]. 青島:中國(guó)海洋大學(xué), 2014. HU Keyong. Research of Ocean Sensor Web Oriented Software Development Model and Key Technologies[D]. Qingdao: Ocean University of China, 2014.

[11] Jiang M, Guo Z, Hong F. OceanSense: A practical wireless sensor network on the surface of the sea[C]. Seventh Annual Ieee International Conference on Pervasive Computing and Communications Workshops, 2009: 1-5.

猜你喜歡
副本虛擬儀器組件
無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
一種嵌入式軟件組件更新方法的研究與實(shí)現(xiàn)
U盾外殼組件注塑模具設(shè)計(jì)
使用卷影副本保護(hù)數(shù)據(jù)
面向流媒體基于蟻群的副本選擇算法①
一種基于可用性的動(dòng)態(tài)云數(shù)據(jù)副本管理機(jī)制
PCB 刻制機(jī)功能開發(fā)及在虛擬儀器實(shí)驗(yàn)室建設(shè)中的應(yīng)用
虛擬儀器及其在電工電子實(shí)驗(yàn)中的應(yīng)用
一種基于虛擬儀器的電控柴油機(jī)實(shí)驗(yàn)臺(tái)的設(shè)計(jì)
虛擬儀器技術(shù)在農(nóng)業(yè)裝備測(cè)控中的應(yīng)用