亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Actor模型的浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

        2020-06-29 12:13:50陸俊杰1周志剛李曉峰
        關(guān)鍵詞:浮式控件表格

        陸俊杰1,周志剛,李曉峰

        (1.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214000; 2.中國(guó)船舶科學(xué)研究中心,江蘇 無(wú)錫 21400)

        0 引言

        以試驗(yàn)平臺(tái)為載體搭載各種試驗(yàn)系統(tǒng)與設(shè)備,對(duì)試驗(yàn)平臺(tái)的關(guān)鍵共性技術(shù)與專有技術(shù)進(jìn)行集中的試驗(yàn)驗(yàn)證,對(duì)其經(jīng)濟(jì)性、可行性、適用性、安全性、可靠性等方面進(jìn)行檢驗(yàn)及評(píng)估,為特定產(chǎn)品的設(shè)計(jì)、建造和運(yùn)行維護(hù)提供堅(jiān)實(shí)的技術(shù)基礎(chǔ)及指導(dǎo)依據(jù),形成技術(shù)研究與工程示范相結(jié)合的重大成果。

        浮式保障平臺(tái)的驗(yàn)證項(xiàng)目涉及到眾多內(nèi)容和技術(shù)門類,根據(jù)研究?jī)?nèi)容,可將平臺(tái)試驗(yàn)驗(yàn)證子系統(tǒng)劃分為如下內(nèi)容:腐蝕監(jiān)檢測(cè)系統(tǒng)、浮式防波堤測(cè)量系統(tǒng)、波浪能發(fā)電性能測(cè)試系統(tǒng)、結(jié)構(gòu)安全監(jiān)測(cè)系統(tǒng)、環(huán)境監(jiān)測(cè)系統(tǒng)和系統(tǒng)總體概覽。根據(jù)各個(gè)子系統(tǒng)的驗(yàn)證要求需要采集的數(shù)據(jù)參數(shù)種類及數(shù)目繁多,并且數(shù)據(jù)無(wú)法實(shí)現(xiàn)互聯(lián)互通,由此數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)目標(biāo)就是要實(shí)現(xiàn)數(shù)據(jù)參數(shù)的集中顯示和管理功能。

        現(xiàn)如今有許多種不同的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)但在各方各面都存在著缺點(diǎn)。在基于多線程的航空發(fā)動(dòng)機(jī)數(shù)據(jù)采集系統(tǒng)中,采用多線程的方式結(jié)合MFC進(jìn)行系統(tǒng)設(shè)計(jì),其缺點(diǎn)是:1)與Actor模型自身高并發(fā)的特性相比較,會(huì)產(chǎn)生大量的代碼花銷占用內(nèi)存[1];2)相較于采用WPF,MFC這款編程框架無(wú)論在運(yùn)行速度、開發(fā)成本等性能上都不能比擬。在基于虛擬儀器的風(fēng)洞數(shù)據(jù)采集系統(tǒng)中,其缺點(diǎn)是系統(tǒng)耦合度高導(dǎo)致容錯(cuò)率低不易維護(hù)[2]。另外,在相同條件下使用基于C#的委托和事件的觀察者模式,與Actor模型相比較同樣存在系統(tǒng)耦合度高、不易升級(jí)維護(hù)的缺陷。從上述各種采集系統(tǒng)的設(shè)計(jì)發(fā)現(xiàn)大多數(shù)系統(tǒng)不能有效地解決內(nèi)存花銷大以及降低解耦度的問題,而利用Actor模型可以解耦系統(tǒng),增加復(fù)用性,避免堵塞,尤其是像這種分布式系統(tǒng)可以提高并發(fā)性能[3],易于升級(jí)和維護(hù)。

        本文將介紹基于Actor模型的浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),對(duì)系統(tǒng)中各個(gè)功能點(diǎn)的測(cè)試驗(yàn)證設(shè)計(jì)方案的可行性并且達(dá)到預(yù)期的設(shè)計(jì)目標(biāo)。浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)將采用Akka.Net框架來(lái)設(shè)計(jì)派生自基類Actor的各類子系統(tǒng)模塊。在各子系統(tǒng)模塊內(nèi)自定義Actor類的消息類型用以傳遞各類子系統(tǒng)的參數(shù)數(shù)據(jù),通過Actor類與控件類的關(guān)聯(lián)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示以及不同控件類的交互。

        1 浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)與原理

        Actor模型最早是由Carl Hewitt于1973提出[4]來(lái)的一個(gè)關(guān)于并發(fā)和分配問題的開創(chuàng)性概念。通過引用單個(gè)原語(yǔ)稱之為Actor,并用于并發(fā)和分布式實(shí)體,這種方法提供的高級(jí)抽象結(jié)合其靈活性和效率使其對(duì)當(dāng)今的彈性多核系統(tǒng)以及在Internet規(guī)模上分發(fā)的任務(wù)具有極大的吸引力[5]。

        Actor模型采用萬(wàn)物皆可建模為Actor的理念[6],所有邏輯或者模塊均可被看作Actor,它們彼此之間可以直接發(fā)送消息,不需要通過什么中介,并且是異步發(fā)送和處理的。因而通過不同Actor之間的消息傳遞實(shí)現(xiàn)模塊之間的通信和交互。Actor模型具有許多特性,例如它的狀態(tài)是本地的,無(wú)法通過外部訪問;所有的Actor必須有響應(yīng)消息傳遞來(lái)通信;異步非阻塞的事件驅(qū)動(dòng)編程模型等等。最值得稱贊的是Actor模型在實(shí)現(xiàn)過程中將十分輕量,可以快速的批量創(chuàng)建和銷毀,“幾十萬(wàn)甚至上百萬(wàn)進(jìn)程同時(shí)并行運(yùn)行十分常見, 而且經(jīng)常僅僅占用很少的內(nèi)存”[6]。正是由于Actor具有如此多的特性和優(yōu)點(diǎn),因而能夠克服傳統(tǒng)面向?qū)ο缶幊坛绦虻木窒扌?,高度滿足并發(fā)和分布式系統(tǒng)的挑戰(zhàn)。

        浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)的軟件部分在數(shù)據(jù)流的本質(zhì)上是符合Actor模型的[7],這類系統(tǒng)都是通過相關(guān)配置信息的計(jì)算與處理來(lái)實(shí)現(xiàn)所需物理量的監(jiān)測(cè)和采集,從而根據(jù)各類控件實(shí)現(xiàn)數(shù)據(jù)的顯示以及后續(xù)利用配置信息與采集數(shù)據(jù)的運(yùn)算和分析存儲(chǔ)。因此整個(gè)系統(tǒng)可以視作是一個(gè)流處理的系統(tǒng)[8],在每一步的環(huán)節(jié)都可以建立Actor模型來(lái)處理和傳遞數(shù)據(jù),提高各類專業(yè)化的數(shù)據(jù)采集子系統(tǒng)的解耦性,并且易于升級(jí)改造和維護(hù)。整個(gè)流處理系統(tǒng)被Actor強(qiáng)制組織成一個(gè)樹狀的層次結(jié)構(gòu),根據(jù)模型的監(jiān)督特性和傳遞消息的特殊性而減少出錯(cuò)以及避免線程的鎖定和堵塞,從而保障整個(gè)系統(tǒng)的安全可靠并且降低升級(jí)維護(hù)的難度。

        這里要詳細(xì)描述一下浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)的業(yè)務(wù)架構(gòu),從而可以利用Actor模型去搭建完整的Actor系統(tǒng)。系統(tǒng)完整的業(yè)務(wù)架構(gòu)如圖1所示。

        圖1 系統(tǒng)業(yè)務(wù)架構(gòu)

        正如上文引言介紹,浮式保障平臺(tái)有6個(gè)子系統(tǒng)功能,接下來(lái)將一一介紹業(yè)務(wù)架構(gòu)中各子系統(tǒng)的功能。

        1)系統(tǒng)總體作為子系統(tǒng)其主要功能是顯示各功能子系統(tǒng)下主要的數(shù)據(jù),達(dá)到概覽系統(tǒng)總體的功能。

        2)環(huán)境監(jiān)測(cè)系統(tǒng)最主要的功能是采取波浪騎士以及常用環(huán)境傳感器來(lái)收集平臺(tái)周圍的溫濕度以及有關(guān)波浪的參數(shù)。

        3)結(jié)構(gòu)安全監(jiān)測(cè)系統(tǒng)的功能是驗(yàn)證監(jiān)測(cè)系統(tǒng)性能,收集近島礁的實(shí)測(cè)參數(shù)為后續(xù)的驗(yàn)證研究提供支撐。

        4)腐蝕建監(jiān)測(cè)系統(tǒng)用于配合海上試驗(yàn)平臺(tái)進(jìn)行腐蝕防護(hù)的試驗(yàn)驗(yàn)證,檢驗(yàn)腐蝕防護(hù)設(shè)計(jì)的合理性,為保障平臺(tái)的安全運(yùn)行提供可靠的腐蝕監(jiān)測(cè)數(shù)據(jù)。

        5)防波提測(cè)量系統(tǒng)用于配合試驗(yàn)平臺(tái)進(jìn)行防波堤的海上試驗(yàn)驗(yàn)證,進(jìn)一步檢驗(yàn)所設(shè)計(jì)的防波堤構(gòu)型和消浪機(jī)理的合理性,掌握浮式防波堤運(yùn)動(dòng)響應(yīng)與消浪特點(diǎn),為保障演示驗(yàn)證平臺(tái)的安全運(yùn)行提供可靠的環(huán)境測(cè)量數(shù)據(jù)。

        6)波浪能發(fā)電性能測(cè)試系統(tǒng)主要用于實(shí)時(shí)監(jiān)測(cè)浮式防波堤波浪能發(fā)電裝置內(nèi)外部運(yùn)行環(huán)境參數(shù),采集發(fā)電裝置電功率參數(shù),為保障波浪能裝置及其配套設(shè)備的安全運(yùn)行提供可靠的環(huán)境測(cè)量數(shù)據(jù)。

        通過以上6個(gè)子系統(tǒng)的詳細(xì)介紹可以發(fā)現(xiàn)每一個(gè)子系統(tǒng)都需要將大量的參數(shù)數(shù)據(jù)進(jìn)行監(jiān)控顯示,為了方便集中化地監(jiān)控查看從而需要設(shè)計(jì)一套數(shù)據(jù)采集系統(tǒng)可以全面詳細(xì)的顯示、存儲(chǔ)參數(shù)數(shù)據(jù),在結(jié)合以往的工程應(yīng)用的基礎(chǔ)上,采用基于Actor模型的數(shù)據(jù)采集系統(tǒng)以達(dá)到所需設(shè)計(jì)要求。

        2 基于Actor模型的系統(tǒng)設(shè)計(jì)

        本文采用Akka.Net開源庫(kù)來(lái)編寫實(shí)現(xiàn)浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)中的Actor模型。Actor是封裝狀態(tài)和行為的對(duì)象,它的基本元素是演員(Actor)和消息(message)[9],它們只是通過交換放入收件人郵箱的消息進(jìn)行通信[10],并且具有嚴(yán)格的等級(jí)制度,從而達(dá)到其監(jiān)督特性。因此在創(chuàng)建之前需要初始化一個(gè)Actor系統(tǒng),用來(lái)層層創(chuàng)建和管理各子Actor。

        創(chuàng)建Actor模型最核心的是使用開源庫(kù)中的Actor類,它維護(hù)著單個(gè)Actor的狀態(tài),其中主要功能為自定義創(chuàng)建子Actor的數(shù)量、根據(jù)消息類型做出不同的響應(yīng)、選擇相同Actor系統(tǒng)下其他Actor的傳遞對(duì)象。因而我們采用Prop(配置類,封裝自定義類型Actor實(shí)例所需的所有信息)配方創(chuàng)建Actor。

        對(duì)于每一個(gè)Actor都有其獨(dú)有的命名,但是它們的類型只有兩種即UntypedActor和ReceiveActor。這兩種類型的差異就是對(duì)消息處理方式的不同。換種說法,Actor在Akka.Net開源庫(kù)中主要依賴于類似模式匹配的概念(能夠根據(jù)其.Net類型和/或值有選擇性的處理消息),在設(shè)計(jì)上UntypedActor和ReceiveActor類型能夠分別處理簡(jiǎn)單和更為復(fù)雜的消息匹配。UntypedActor類通過onReceive方法實(shí)現(xiàn)消息的接收,其中消息作為參數(shù),這是一種較為簡(jiǎn)單的方法;而ReceiveActor類內(nèi)部可以為每一種要處理的消息類型提供調(diào)用,優(yōu)點(diǎn)在于處理較為復(fù)雜的消息處理并且具有與其他類交互的性能。這兩種類的不同決定著在實(shí)際應(yīng)用中采取哪一種類來(lái)進(jìn)行Actor的創(chuàng)建。

        在創(chuàng)建的每一個(gè)Actor類中我們可以繼而創(chuàng)建新的Actor,兩者之間形成父子關(guān)系,這么做的目的就回歸到為什么一個(gè)Actor系統(tǒng)是層級(jí)結(jié)構(gòu)的?原因有兩個(gè),其一是將任務(wù)層層分解分配直至最低級(jí)以便一體化處理,也就是通過最小的代碼占用最容易的處理。另一個(gè)原因是監(jiān)督特性,層級(jí)結(jié)構(gòu)可以將整個(gè)Actor系統(tǒng)的風(fēng)險(xiǎn)降到最低,當(dāng)某一層級(jí)的某一個(gè)Actor出現(xiàn)問題,其父Actor會(huì)接收到消息并關(guān)閉這一分支,從而不影響其他的運(yùn)行,提高整個(gè)系統(tǒng)的安全性。

        在Actor模型中使用Tell()方法來(lái)發(fā)送消息,括號(hào)內(nèi)自定義消息類型和內(nèi)容從而達(dá)到萬(wàn)物皆可傳遞的特性。與此同時(shí),如何能夠?qū)崿F(xiàn)一對(duì)一或者一對(duì)多傳遞等情況十分重要。因而需要Akka.Net中的ActorSelection類的幫助,通過查找路徑的方式可以最直接地與同一系統(tǒng)下任何層級(jí)的任何Actor進(jìn)行通信,并且ActorSelection類只是獲取句柄的方式來(lái)完成查找降級(jí)代碼的占用。

        圖2描述了一個(gè)名叫ActorSystem的簡(jiǎn)易Actor系統(tǒng),

        里面有最頂級(jí)即最上層的Actor,它的名字叫A,Actor的類名為ParentActor,并且創(chuàng)建了子Actor取名為B,Actor的類名為ChildActor。在這里要介紹一下Actor的重要組成-郵箱。Actor之間的通信并不是直接發(fā)送給Actor,而是發(fā)送給該Actor內(nèi)的郵箱,也可以描述為消息隊(duì)列,按照先后順序在Actor有時(shí)間的情況下一一傳遞給它來(lái)處理。如果要實(shí)現(xiàn)向B傳遞消息則需要查找傳遞路徑,根據(jù)圖中的關(guān)系可以得到“akka://ActorSystem/user/A/B”這一路徑就是我們需要的,可以通過路徑直接與B通信,以這種方式去通信是最快捷有效的方式,只要在同一個(gè)Actor系統(tǒng)下無(wú)論是在哪個(gè)分支都可以通信。

        圖2 簡(jiǎn)易Actor系統(tǒng)的創(chuàng)建和消息傳遞

        3 系統(tǒng)的實(shí)現(xiàn)

        本章將根據(jù)上述的系統(tǒng)架構(gòu)來(lái)搭建應(yīng)用于浮式保障平臺(tái)的數(shù)據(jù)采集系統(tǒng)。具體的系統(tǒng)架構(gòu)如圖3所示。

        圖3 Actor系統(tǒng)的結(jié)構(gòu)

        和上文所述的系統(tǒng)架構(gòu)有所不同的是,在實(shí)際創(chuàng)建過程中數(shù)據(jù)采集Actor與總體界面Actor為兄弟關(guān)系,都是根Actor,但這不影響整個(gè)系統(tǒng),反而可以使層次架構(gòu)更為清晰,一個(gè)專門負(fù)責(zé)處理最原始的數(shù)據(jù),另一個(gè)專門用來(lái)作為中轉(zhuǎn)和分發(fā)站,向所有子系統(tǒng)Actor傳遞數(shù)據(jù)。

        在數(shù)據(jù)采集Actor中有processDataActor類和displayDataActor類兩個(gè)父子Actor類,先后分別用來(lái)處理不同來(lái)源的原始數(shù)據(jù)和將相同子系統(tǒng)的參數(shù)數(shù)據(jù)歸類放入一個(gè)存放數(shù)據(jù)容器內(nèi),最終將完整的數(shù)據(jù)參數(shù)集通過Actor路徑傳遞給總體頁(yè)面Actor。

        _subscriptions = new HashSet();

        IActorRef actor1= Context.ActorOf(Props.Create(() => new WindWavePageActor()), "windWavePageActor");

        IActorRef actor2 =Context.ActorOf(Props.Create(() => new HomePageActor()), "homePageActor");

        IActorRef actor3 = Context.ActorOf(Props.Create(() => new StructurePageActor()), "structurePageActor");

        IActorRef actor4 = Context.ActorOf(Props.Create(() => new GroynePageActor()), "groynePageActor");

        IActorRef actor5 = Context.ActorOf(Props.Create(() => new ErosionPageActor()), "erosionPageActor");

        IActorRef actor6 = Context.ActorOf(Props.Create(() => new WavePowerPageActor()), "wavePowerPageActor");

        _subscriptions.Add(actor1);

        _subscriptions.Add(actor2);

        _subscriptions.Add(actor3);

        _subscriptions.Add(actor4);

        _subscriptions.Add(actor5);

        _subscriptions.Add(actor6);

        pageActor類作為總體頁(yè)面Actor,最主要的任務(wù)就是作為消息中轉(zhuǎn)站,不斷地將接受到的消息遍歷傳遞給所有的子Actor。以下為創(chuàng)建子系統(tǒng)Actor的過程并且逐一放入HashSet存儲(chǔ)集合中用來(lái)一對(duì)多形式地傳遞消息。

        在每一個(gè)子系統(tǒng)Actor內(nèi),都將會(huì)根據(jù)收到的消息來(lái)創(chuàng)建控件Actor、傳遞參數(shù)數(shù)據(jù),因而舉例詳細(xì)介紹一下子系統(tǒng)homePageActor類及子Actor的消息傳遞過程,并且在命名系統(tǒng)主頁(yè)子系統(tǒng)Actor時(shí)名字和類名一樣,所以下文所有出現(xiàn)的homePageActor即是Actor的名字,否則會(huì)有特殊說明。homePageActor與系統(tǒng)主頁(yè)homePage類相互關(guān)聯(lián),在頁(yè)面初始化過程中創(chuàng)建的每一個(gè)控件都將會(huì)給homePageActor發(fā)送一個(gè)自定義的創(chuàng)建消息。其中內(nèi)容包含譬如控件名稱描述的字符串、控件自身的類以及次序數(shù)字等,針對(duì)這種包含種類多較為復(fù)雜的消息類型,在homePageActor類中只能自定義message消息類,將例如字符串、值以及其他類在消息類中進(jìn)行實(shí)例化。因而只需要將所需要傳遞的內(nèi)容一一放入自定義的消息類中,隨即將整個(gè)消息類的實(shí)例作為message傳遞給homePageActor,就能實(shí)現(xiàn)復(fù)雜的通信過程并且進(jìn)行控件Actor的創(chuàng)建。圖4就是創(chuàng)建控件Actor的過程。

        圖4 創(chuàng)建控件Actor的過程

        在創(chuàng)建完所有的控件Actor之后就將進(jìn)行另一功能的運(yùn)行。homePageActor會(huì)將接收到的來(lái)自父Actor也就是pageActor發(fā)送的消息進(jìn)行過濾,選取符合自身子系統(tǒng)的參數(shù)數(shù)據(jù)繼而進(jìn)行下一層級(jí)Actor的傳遞,從而起到一個(gè)中轉(zhuǎn)過濾的作用。在這里需要重點(diǎn)介紹的不是消息的傳遞,而是一種構(gòu)成方法,即將Actor類與控件類進(jìn)行交互也就是創(chuàng)建一種將控件類對(duì)象作為參數(shù)的Actor類,而這種構(gòu)成方法只能在 ReceiveActor類生效,采用ReceiveActor類而不是UntypedActor類的優(yōu)勢(shì)在于可以對(duì)有關(guān)數(shù)據(jù)調(diào)用控件類的方法處理并且直接在控件類的參數(shù)中賦值修改,減少了許多額外的代碼占用。一旦控件Actor接收到消息,根據(jù)消息類型判斷為顯示數(shù)據(jù)時(shí),就能將數(shù)據(jù)傳入控件類的事件進(jìn)行處理繼而存放入控件的動(dòng)態(tài)集合中進(jìn)行刷新顯示最終呈現(xiàn)出來(lái)。

        圖5展示了表格控件通過Actor顯示數(shù)據(jù)的效果。其中第一列為參數(shù)名稱,第三列為單位,這兩列是固定不變的顯示,不會(huì)被刷新變化;而第二列是參數(shù)數(shù)值以及第四列為數(shù)值狀態(tài)描述,從控件Actor傳遞到控件內(nèi)的數(shù)據(jù)主要就是刷新這兩列的數(shù)值顯示。在這表格顯示的基礎(chǔ)上,增加了表格控件和曲線控件的交互,其功能為通過鼠標(biāo)點(diǎn)擊表格的單元格實(shí)現(xiàn)曲線控件顯示選中單元格內(nèi)參數(shù)數(shù)值隨時(shí)間變化的曲線圖。這和表格顯示數(shù)據(jù)的相似之處在于利用Actor傳遞消息的方法來(lái)取代C#語(yǔ)法中傳統(tǒng)的異步委托事件的方法。這兩者之間的比較不難看出,使用委托一旦綁定的事件越多,內(nèi)存占用就越多,對(duì)性能的影響越大,在這方面Actor模型的并行和分布式特點(diǎn)使得占用內(nèi)存會(huì)少很多,因而在面對(duì)高吞吐和低延遲的系統(tǒng)要求下,Actor模型要更加的出色。

        圖5 表格控件效果圖

        表格和曲線控件的交互流程如圖6所示。在創(chuàng)建控件Actor時(shí),曲線Actor將自己的名字通過字符串的消息類型發(fā)送給表格Actor,然后在表格控件內(nèi)保存有曲線Actor的路徑參數(shù)。當(dāng)在表格的鼠標(biāo)點(diǎn)擊響應(yīng)事件激活時(shí),將參數(shù)集合作為消息發(fā)送給曲線Actor,同樣的原理下,曲線控件接收到數(shù)據(jù)利用一系列的處理實(shí)現(xiàn)顯示。

        圖6 表格與曲線的交互

        4 試驗(yàn)結(jié)果與分析

        本文所設(shè)計(jì)的系統(tǒng)最終部署在浮動(dòng)平臺(tái)上,根據(jù)對(duì)各系統(tǒng)所上傳數(shù)據(jù)的頻率,實(shí)現(xiàn)大部分?jǐn)?shù)據(jù)的刷新速率為1秒,少部分達(dá)到50毫秒。經(jīng)過測(cè)試,軟件能夠正常接收并顯示各子系統(tǒng)的實(shí)時(shí)數(shù)據(jù),不存在數(shù)據(jù)丟失的情況,曲線的繪制效果良好,表格與曲線的交互并無(wú)延遲,即點(diǎn)即繪制,與此同時(shí)軟件的內(nèi)存占用從原有的1 G多降低至600~700 MB。軟件運(yùn)行效果如圖7所示。

        圖7 數(shù)據(jù)采集系統(tǒng)的顯示效果

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

        本文介紹了浮式保障平臺(tái)項(xiàng)目的內(nèi)容以及對(duì)比各種數(shù)據(jù)采集系統(tǒng)的優(yōu)劣特性,結(jié)合Actor模型以及相關(guān)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于Actor模型的浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng),具體的工作內(nèi)容如下:

        1)詳細(xì)介紹Actor模型以及Akka.NET開發(fā)庫(kù)中的Actor類。

        2)詳細(xì)介紹浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)的業(yè)務(wù)架構(gòu)。

        3)詳細(xì)介紹整體系統(tǒng)的實(shí)現(xiàn)過程并展示實(shí)現(xiàn)效果。

        在系統(tǒng)的實(shí)際運(yùn)行中可以發(fā)現(xiàn)采用Actor模型能夠模塊化地建立一條數(shù)據(jù)采集和傳輸?shù)耐?,最明顯的優(yōu)勢(shì)在于提高容錯(cuò)率,易于維護(hù),層級(jí)化的Actor模塊之間不會(huì)因?yàn)橐粭l通信線路的問題導(dǎo)致全部失效。在開發(fā)過程中使用Actor模型較以往減少了代碼占用,并且可以更加便捷地修改和升級(jí),提高開發(fā)效率。在利用Actor模型作為載體傳遞不間斷的數(shù)據(jù)時(shí)可以發(fā)現(xiàn)在高并發(fā)和分布式的系統(tǒng)中,Actor模型之間的傳遞速度十分優(yōu)異并且多線程、異步發(fā)送消息的特性使得系統(tǒng)真正意義上的成為分布式的系統(tǒng)。通過Actor模型的傳遞,數(shù)據(jù)參數(shù)最終將在表格控件中顯示,可以清晰的看到控件內(nèi)數(shù)據(jù)值以初始設(shè)定的采樣速率不斷地刷新,達(dá)到預(yù)計(jì)的采集和顯示效果。在整個(gè)過程中,浮式保障平臺(tái)數(shù)據(jù)采集系統(tǒng)穩(wěn)定高效地完成數(shù)據(jù)的采集和顯示功能,并且相較于傳統(tǒng)的委托傳值的方法降低了計(jì)算機(jī)內(nèi)存的消耗,證明了基于Actor模型的數(shù)據(jù)采集系統(tǒng)的可行性。

        Actor模型現(xiàn)在已經(jīng)廣泛成為高并發(fā)事物的首要解決方案,與此同時(shí)并發(fā)分布式的數(shù)據(jù)采集系統(tǒng)以往的設(shè)計(jì)思路并不能很好地解決性能上的缺陷,因而Actor模型與數(shù)據(jù)采集系統(tǒng)的結(jié)合是必然。在此次設(shè)計(jì)與實(shí)現(xiàn)中發(fā)現(xiàn)系統(tǒng)仍有改進(jìn)優(yōu)化的方面,因而未來(lái)基于Actor模型的數(shù)據(jù)采集系統(tǒng)的工作可以包括以下幾個(gè)方面:

        1)由于Actor模型的消息通信的機(jī)制,在萬(wàn)物皆是Actor的理念下,有更多類與類之間的交互可以通過Actor模型來(lái)實(shí)現(xiàn);Actor具有延時(shí)發(fā)送的功能,在數(shù)據(jù)傳輸?shù)拈_發(fā)中可以根據(jù)特定的情況利用這一功能實(shí)現(xiàn)連續(xù)間隔的發(fā)送接收。

        2)目前基于Actor模型的數(shù)據(jù)采集系統(tǒng)使用的只是本地的數(shù)據(jù)傳輸,由于Actor模型具有遠(yuǎn)程傳輸?shù)墓δ苣K,可以將這方面的功能結(jié)合現(xiàn)有技術(shù)開發(fā)來(lái)優(yōu)化數(shù)據(jù)的采集傳輸,在數(shù)據(jù)采集系統(tǒng)上會(huì)有廣闊的前景。

        3)Actor模型隨著發(fā)展已經(jīng)具有多種語(yǔ)言的支持,因而在追求高速、低耗和強(qiáng)穩(wěn)定的性能指標(biāo)下,將測(cè)試基于c++、Erlang等不同種語(yǔ)言下的Actor的性能,尋求最適用的一種。

        猜你喜歡
        浮式控件表格
        《現(xiàn)代臨床醫(yī)學(xué)》來(lái)稿表格要求
        硫磺上浮式絡(luò)合鐵脫硫工藝緩解溶液起泡研究
        云南化工(2021年5期)2021-12-21 07:41:52
        統(tǒng)計(jì)表格的要求
        統(tǒng)計(jì)表格的要求
        統(tǒng)計(jì)表格的要求
        關(guān)于浮式防波堤消能效果及透射系數(shù)的研究
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        浮式LNG儲(chǔ)存及再氣化裝置(FSRU)淺析及國(guó)內(nèi)應(yīng)用推廣展望
        全球首座浮式核電站于今年9月完工
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        亚洲无码夜夜操| 国产成人精品a视频一区| 久久中文字幕无码专区| 四虎影视久久久免费| 一级二级三一片内射视频| 亚洲一区二区三区特色视频| 久久久受www免费人成| 在线视频这里只有精品| 日本最新在线一区二区| 日本高清乱码中文字幕| 中文字幕乱码熟女人妻水蜜桃| 亚洲区在线播放| 国产精品三级国产精品高| 中国一级特黄真人片久久| 人妻少妇久久中文字幕一区二区 | 免费人妻无码不卡中文字幕系| 婷婷综合久久中文字幕蜜桃三电影| 国产精品麻豆A在线播放| 青青草好吊色在线观看| 国产ww久久久久久久久久| 午夜一级韩国欧美日本国产 | 国产亚洲av夜间福利在线观看| 久久久久九九精品影院| a亚洲va欧美va国产综合| 国产91第一页| 亚洲中文字幕乱码一二三| 免费网站看av片| 国产自精品| 一个人看的在线播放视频| 99精品国产在热久久无毒不卡| a级毛片内射免费视频| 久99久精品免费视频热77| av网站免费在线浏览| 亚洲春色在线视频| 国产成人av综合亚洲色欲| 九九久久精品一区二区三区av| 三年片在线观看免费观看大全中国| 久久久久久久无码高潮| 亚洲av毛片成人精品| 色视频网站一区二区三区| 久久人人玩人妻潮喷内射人人|