国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于描述性信息流的分布式仿真系統(tǒng)通信網(wǎng)絡(luò)構(gòu)建方法與流程

      文檔序號(hào):11138343閱讀:575來(lái)源:國(guó)知局
      基于描述性信息流的分布式仿真系統(tǒng)通信網(wǎng)絡(luò)構(gòu)建方法與制造工藝

      本發(fā)明提供一種分布式仿真系統(tǒng)通信網(wǎng)絡(luò)構(gòu)建方法,涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、多智能體系統(tǒng)技術(shù)、分布式系統(tǒng)技術(shù)和系統(tǒng)仿真技術(shù)。



      背景技術(shù):

      分布式系統(tǒng)指物理上具有分布特征或行為上具有分布能力的個(gè)體之間聯(lián)合工作,共同解決較大規(guī)模或大規(guī)模問(wèn)題的系統(tǒng)。航空航天系統(tǒng)中多機(jī)協(xié)同實(shí)現(xiàn)對(duì)敵進(jìn)攻、機(jī)器人世界杯3D仿真平臺(tái)(Robocup3D)中多智能體配合進(jìn)球都是分布式理論應(yīng)用的典型例子。分布式系統(tǒng)的搭建與運(yùn)行牽涉較多理論與方法,其中底層通信網(wǎng)絡(luò)的建立及運(yùn)行算法的研制是重要問(wèn)題之一。

      現(xiàn)存的分布式仿真系統(tǒng)或是物理拓?fù)浣Y(jié)構(gòu)復(fù)雜,或是通信實(shí)時(shí)性不好,或是通信可靠性不高,嚴(yán)重阻礙工程項(xiàng)目的順利進(jìn)行。



      技術(shù)實(shí)現(xiàn)要素:

      為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種搭建分布式仿真系統(tǒng)通信網(wǎng)絡(luò)的方法,能夠?qū)崟r(shí)、可靠地保證分布式模塊(由計(jì)算機(jī)模擬)之間的通信。

      本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案包括以下步驟:

      步驟1,搭建分布式仿真系統(tǒng)通信網(wǎng)絡(luò),包括主機(jī)、交換機(jī)、監(jiān)視器、外機(jī)和若干從機(jī),所述的主機(jī)有且僅有一臺(tái),主機(jī)、監(jiān)視器和外機(jī)分別通過(guò)交換機(jī)聯(lián)通各臺(tái)從機(jī);

      步驟2,主機(jī)初始化,設(shè)置主機(jī)信道類(lèi)型、主機(jī)地址和主機(jī)監(jiān)聽(tīng)端口,所述的主機(jī)信道類(lèi)型為無(wú)線(xiàn)類(lèi)型或有線(xiàn)類(lèi)型;從機(jī)初始化,設(shè)置從機(jī)的邏輯地址;

      步驟3,約定消息編碼與解碼規(guī)則,包括:消息以字符串的形式在信道中流通,并且存在一個(gè)界定消息首尾的標(biāo)記;消息字符串中包含若干信息單元,每個(gè)信息單元存在一個(gè)界定首尾的標(biāo)記,信息單元中包括一個(gè)信息功能描述符與若干信息功能參數(shù);通信消息中包括時(shí)間標(biāo)簽;

      步驟4,主機(jī)啟動(dòng)等待從機(jī)接入,若有從機(jī)接入請(qǐng)求,則建立臨時(shí)驗(yàn)證信道,接受來(lái)自從機(jī)的驗(yàn)證信息,如果驗(yàn)證信息合法,則允許從機(jī)正常接入,臨時(shí)驗(yàn)證信道提升為正常主從通信信道;如果無(wú)驗(yàn)證信息到來(lái)或驗(yàn)證超時(shí)或驗(yàn)證非法,則斷開(kāi)當(dāng)前臨時(shí)信道,拒絕從機(jī)接入;從機(jī)啟動(dòng)后發(fā)送接入請(qǐng)求和驗(yàn)證信息,直到主機(jī)返回驗(yàn)證正確的狀態(tài)回應(yīng)后從機(jī)正常接入;從機(jī)正常接入后,主機(jī)和從機(jī)按照設(shè)定周期收發(fā)消息,如果當(dāng)前周期的收發(fā)消息無(wú)效,則使用上一周期有效數(shù)據(jù)。

      所述的建立臨時(shí)驗(yàn)證信道之后,以及主機(jī)和從機(jī)按照設(shè)定周期收發(fā)消息之后,更新分布式仿真系統(tǒng)通信網(wǎng)絡(luò)的全局記錄,內(nèi)容包括:主機(jī)被嘗試接入的次數(shù)與當(dāng)前嘗試的次序;當(dāng)前主機(jī)和從機(jī)占用物理信道的編號(hào)與進(jìn)入接口;當(dāng)前嘗試接入的從機(jī)編號(hào)及其與實(shí)際物理信道的對(duì)應(yīng)關(guān)系;當(dāng)前嘗試接入的從機(jī)的屬性和物理屬性。

      所述的從機(jī)i向和機(jī)j通信,先由從機(jī)i執(zhí)行步驟4接入主機(jī)并收發(fā)消息,再?gòu)臋C(jī)j執(zhí)行步驟4接入主機(jī)并收發(fā)消息。

      本發(fā)明的有益效果是:物理結(jié)構(gòu)采用交換式以太網(wǎng),具有形式簡(jiǎn)單,連接方便,成本低廉,支持開(kāi)放式互聯(lián)等諸多優(yōu)點(diǎn);同時(shí)本發(fā)明所提出的基于描述性的信息流規(guī)范及主、從機(jī)調(diào)度算法能在保證實(shí)時(shí)性的前提下極大程度地保障網(wǎng)絡(luò)安全,對(duì)于設(shè)計(jì)分布式仿真系統(tǒng)提供了便利、可靠的參考。

      附圖說(shuō)明

      圖1是分布式系統(tǒng)通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

      圖2是主機(jī)執(zhí)行邏輯,包括主機(jī)動(dòng)態(tài)任務(wù)調(diào)度。

      圖3是從機(jī)執(zhí)行邏輯。

      具體實(shí)施方式

      下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明,本發(fā)明包括但不僅限于下述實(shí)施例。

      本發(fā)明搭建的分布式仿真系統(tǒng)的底層通信基礎(chǔ)基于以太網(wǎng)技術(shù)、IP尋址技術(shù)、TCP技術(shù),節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)采用交換式。并且設(shè)計(jì)了通信主機(jī)(以下簡(jiǎn)稱(chēng)主機(jī))與通信從機(jī)(以下簡(jiǎn)稱(chēng)從機(jī))的握手規(guī)程、消息規(guī)則,以及通信主機(jī)的動(dòng)態(tài)任務(wù)調(diào)度算法。

      本發(fā)明提供的基于描述性信息流的分布式仿真系統(tǒng)通信網(wǎng)絡(luò)構(gòu)建方法的實(shí)施步驟如下:

      Step 1:網(wǎng)絡(luò)連接。

      本發(fā)明采用圖1所示的基于交換式的通信系統(tǒng)拓?fù)浣Y(jié)構(gòu)。

      由于系統(tǒng)具有可擴(kuò)展性,所以對(duì)于連入子系統(tǒng)數(shù)不加限制。但是,只能有且只有一個(gè)主機(jī),因?yàn)樗蔷W(wǎng)絡(luò)狀態(tài)唯一的監(jiān)視者和網(wǎng)絡(luò)任務(wù)唯一的調(diào)度者。

      其中,主機(jī)承擔(dān)全局信息交換中介,當(dāng)服務(wù)器使用;監(jiān)視器、外機(jī)、從機(jī)在網(wǎng)絡(luò)結(jié)構(gòu)層面上講都是客戶(hù)端。外機(jī)指的是不參與分布式聯(lián)合的外來(lái)機(jī)器,在環(huán)境中承擔(dān)新信息的提供者與新態(tài)勢(shì)的構(gòu)造者。這種結(jié)構(gòu)的物理結(jié)構(gòu)形式簡(jiǎn)單,連接方便,成本低廉。

      為了實(shí)時(shí)獲取主從機(jī)之間的通信狀態(tài)(分布式調(diào)度算法在實(shí)時(shí)中的需求),采用TCP/IP協(xié)議在該系統(tǒng)中通信。

      Step 2:主機(jī)、從機(jī)初始化。

      具體包括設(shè)置主機(jī)信道類(lèi)型(無(wú)線(xiàn)類(lèi)型、或有線(xiàn)類(lèi)型,依據(jù)具體需求或現(xiàn)有條件設(shè)置)、主機(jī)地址、主機(jī)監(jiān)聽(tīng)端口;從機(jī)的邏輯地址(由專(zhuān)門(mén)的地址分配規(guī)則確定,也可以人為約定)。

      Step 3:約定消息編碼與解碼規(guī)則。

      采用基于描述性信息流的消息流規(guī)則。

      信道建立完畢后,對(duì)于主從之間的信息編碼格式,要執(zhí)行采用基于描述性信息流的消息流規(guī)則:

      (1)消息以字符串的形式在信道中流通,同時(shí)要存在一個(gè)界定消息首尾的標(biāo)記。這種標(biāo)記可以是“()”也可以是“[]”或其他形式。例如:“[this is a message]”。

      (2)消息字符串中包含多種信息(比如對(duì)于飛機(jī),有俯仰角、橫滾角等),稱(chēng)為信息單元。信息單元也必須有界定標(biāo)記(比如“()”或“[]”)。信息單元必須存在信息的功能描述符與功能參數(shù)。功能描述符說(shuō)明信息的功能,功能參數(shù)說(shuō)明信息的度量,比如“角度”作為功能描述符時(shí),“10”可以作為功能參數(shù)。功能描述符與功能參數(shù)之間使用空格隔開(kāi),空格個(gè)數(shù)不限,至少一個(gè)。一個(gè)信息必須有且只有一個(gè)功能描述符,但功能參數(shù)允許有多個(gè)。消息單元的加入不應(yīng)定義先后順序,先到先入,功能參數(shù)無(wú)效時(shí)當(dāng)前消息不包含該消息單元。

      例如:“(degree 10)”。

      (3)為了通信的實(shí)時(shí)性驗(yàn)證,通信消息要加時(shí)間標(biāo)簽。

      Step 4:主機(jī)、從機(jī)分別開(kāi)始執(zhí)行各自的邏輯。

      主從機(jī)握手與主機(jī)動(dòng)態(tài)任務(wù)調(diào)度算法如下所述:

      主機(jī)與從機(jī)建立通信握手,實(shí)施正常通信的調(diào)度算法與全局?jǐn)?shù)據(jù)交換的同步算法大致為:

      主機(jī)啟動(dòng)等待從機(jī)接入,若有從機(jī)接入請(qǐng)求,則建立臨時(shí)驗(yàn)證信道,接受來(lái)自從機(jī)的驗(yàn)證信息,如果驗(yàn)證信息合法,則允許本次接入,臨時(shí)驗(yàn)證信道提升為正常主從通信信道。如果無(wú)驗(yàn)證信息到來(lái)(或驗(yàn)證超時(shí))或者驗(yàn)證非法,則斷開(kāi)當(dāng)前臨時(shí)信道,拒絕從機(jī)接入。正常接入后,為了保證通信的實(shí)時(shí)性與有效性,必須定期收發(fā)消息,如果當(dāng)前收發(fā)周期數(shù)據(jù)無(wú)效,則使用上一周期有效數(shù)據(jù)。同時(shí),主機(jī)存在調(diào)度邏輯,用于實(shí)時(shí)監(jiān)控各個(gè)從機(jī)狀態(tài),從機(jī)邏輯編號(hào)與信道的對(duì)應(yīng)關(guān)系,當(dāng)前接入總從機(jī)數(shù)。

      對(duì)于從機(jī),啟動(dòng)后發(fā)送鏈接請(qǐng)求和驗(yàn)證信息,直到主機(jī)返回驗(yàn)證正確的狀態(tài)回應(yīng),才進(jìn)入正常通信階段。

      主機(jī)與從機(jī)建立通信握手的算法如圖2、圖3所示。

      其中,更新全局記錄包含的內(nèi)容為:

      1、主機(jī)被嘗試接入的次數(shù)與當(dāng)前嘗試的次序。

      2、當(dāng)前主從機(jī)實(shí)際占用的物理信道的編號(hào)與進(jìn)入接口(套接字與線(xiàn)程句柄)。

      3、當(dāng)前嘗試接入的從機(jī)編號(hào)ID,及其與實(shí)際物理信道的對(duì)應(yīng)關(guān)系。

      4、當(dāng)前嘗試接入的從機(jī)的物理屬性(IP地址、占用本機(jī)的端口號(hào))。

      5、當(dāng)前嘗試接入的從機(jī)的屬性。如接入時(shí)間,型號(hào)。

      注意:如果信息更新時(shí)缺少上述之一,則對(duì)應(yīng)記錄不更新,只更新有效部分。

      并且,如果需要從機(jī)i向從機(jī)j喊話(huà),則先由從機(jī)i發(fā)向主機(jī),再有主機(jī)轉(zhuǎn)發(fā),這樣可以有效節(jié)省信道資源,降低開(kāi)發(fā)成本。

      本實(shí)施例考慮如下實(shí)際問(wèn)題:有四個(gè)機(jī)器人,合作完成某件事,比如將一個(gè)球踢進(jìn)球門(mén),設(shè)計(jì)該系統(tǒng)的仿真系統(tǒng)的通信子系統(tǒng)。要求就要足夠好的實(shí)時(shí)性、可靠性。

      該網(wǎng)絡(luò)搭建細(xì)則如下詳述:

      Step 1:網(wǎng)絡(luò)連接。

      選擇5臺(tái)性能足夠好的計(jì)算機(jī)(本發(fā)明建議硬件要求為:Windows 7Ultimate;硬盤(pán)>500G;內(nèi)存>4G;處理器>Intel 5)分別模擬4個(gè)機(jī)器人和服務(wù)器。服務(wù)器的作用是用于場(chǎng)景生成,實(shí)時(shí)檢測(cè)或獲取各機(jī)器人在場(chǎng)景中的信息,并作為通信主機(jī)分發(fā)給相應(yīng)的機(jī)器人。利用圖1所示網(wǎng)絡(luò)拓?fù)溥B接上述5臺(tái)計(jì)算機(jī)。交換機(jī)建議為千兆級(jí)。

      Step 2:主機(jī)、從機(jī)初始化。

      (1)主機(jī)設(shè)置Server監(jiān)聽(tīng)端口為4000,并設(shè)置主機(jī)IP地址為“192.168.1.1”。將監(jiān)聽(tīng)套接字放入描述符集(FD_SET),使用Select函數(shù)開(kāi)啟監(jiān)聽(tīng)描述符集的狀態(tài)變化,當(dāng)有消息到來(lái)時(shí)函數(shù)返回正值,否則為-1。并設(shè)定Select函數(shù)不等待,即時(shí)間參數(shù)設(shè)置為0。

      (2)從機(jī)在初始化完TCP環(huán)境后,獲得各自的邏輯地址,假設(shè)為1~4,然后申請(qǐng)接入“192.168.1.1:4000”。

      Step 3:約定消息編碼與解碼規(guī)則。

      遵從下述約定:

      1、通信信息使用字符串作為載體,消息整體用圓括號(hào)“()”加以界定。

      2、具體信息使用圓括號(hào)“()”加以限定,稱(chēng)為信息單元。圓括號(hào)中存在信息的功能描述符與功能參數(shù)。功能描述符與功能參數(shù)之間使用空格隔開(kāi),空格個(gè)數(shù)不限,至少一個(gè)。一個(gè)信息必須有且只有一個(gè)功能描述符,但功能參數(shù)允許有多個(gè)。即信息格式為

      (功能描述符功能參數(shù)[1][功能參數(shù)2……])。

      方括號(hào)括起來(lái)的表示可選項(xiàng)。消息單元的加入不應(yīng)定義先后順序,先到先入,功能參數(shù)無(wú)效時(shí)當(dāng)前消息不包含該消息單元。

      3、為了通信的實(shí)時(shí)性驗(yàn)證,通信消息要加時(shí)間標(biāo)簽。其功能描述符為“time”,參數(shù)使用分時(shí)秒制“00:00:00”或秒制“00000000”。所以時(shí)間標(biāo)簽信息的格式為(time00:00:00)或(time 00000000)。

      4、從機(jī)向主機(jī)的驗(yàn)證信息的功能描述符為“ID”,功能參數(shù)只有一個(gè),為當(dāng)前從機(jī)編號(hào),驗(yàn)證信息不應(yīng)包含其他無(wú)關(guān)信息,如果主機(jī)不回有效接入的信號(hào),則在主從信道還存在的情況下定期不間斷發(fā)送,直到收到主機(jī)回應(yīng)。

      5、當(dāng)從機(jī)間需要喊話(huà)時(shí),由主機(jī)轉(zhuǎn)發(fā)。功能描述符為“say”,第一參數(shù)為本機(jī)ID,第第二參數(shù)為目標(biāo)從機(jī)ID,第三參數(shù)為喊話(huà)信息。

      如(say 1 2“(time 00:00:50)(pos 0.1 0.2 0.3)”)

      6、其他類(lèi)型的信息單元(功能描述符與功能參數(shù))依據(jù)實(shí)際需求定義。

      7、所以一條有效的驗(yàn)證信息應(yīng)如下:

      “<(time 00:00:00)(ID 1)>”

      一條有效的正常通信信息應(yīng)如下:

      “<(time 00:00:10)(pos 1.0 2.0 3.0)(attack 2)(sideslide 2)(pitch 1)(roll 2)(yaw 3)…>””

      至于高層協(xié)議,如功能描述符與相應(yīng)參數(shù)的制定取決于高層決策,不是本發(fā)明的主要內(nèi)容,不予詳細(xì)闡述。不過(guò)對(duì)于通信子系統(tǒng)的搭建與測(cè)試,這也是不必要的。

      Step 4:主機(jī)、從機(jī)分別開(kāi)始執(zhí)行各自的邏輯。

      主機(jī)這時(shí)已經(jīng)處在監(jiān)聽(tīng)狀態(tài),若有消息到來(lái),則先檢測(cè)是不是身份驗(yàn)證消息,若是,則驗(yàn)證身份是否合法,包括是否已被占用等。若否,直接銷(xiāo)毀當(dāng)前信道。當(dāng)身份驗(yàn)證正常時(shí),給從機(jī)分配通信信道(也就是開(kāi)啟一個(gè)子線(xiàn)程),并將申請(qǐng)握手的從機(jī)(體現(xiàn)為套接字)的信息記入數(shù)據(jù)庫(kù)(體現(xiàn)為增加),比如從機(jī)的IP地址、實(shí)際接入主機(jī)時(shí)主機(jī)分配的通信端口等。由于監(jiān)聽(tīng)函數(shù)不等待,所以當(dāng)其返回后立即執(zhí)行數(shù)據(jù)庫(kù)檢測(cè),包括已有記錄是否正常,如果某一主從通信信道意外終止,則立即更新數(shù)據(jù)庫(kù)記錄,體現(xiàn)為刪除。

      對(duì)于從機(jī)則當(dāng)身份驗(yàn)證合法后,則進(jìn)入正常數(shù)據(jù)互傳主循環(huán)。

      數(shù)據(jù)互傳邏輯,體現(xiàn)為描述性數(shù)據(jù)流功能描述符與功能參數(shù)的約定,制定后,由主機(jī)操控整個(gè)系統(tǒng)的執(zhí)行,例如是廣播規(guī)則、一對(duì)一規(guī)則、或是數(shù)據(jù)轉(zhuǎn)發(fā),細(xì)則依據(jù)上冊(cè)決策需要制定。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1