国产精品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>

      對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法

      文檔序號(hào):6438293閱讀:211來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計(jì)算機(jī)分布式交互仿真領(lǐng)域,具體地說(shuō)是一種P2P的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法。
      背景技術(shù)
      分布式交互仿真(Distributed Interactive Simulation,簡(jiǎn)稱(chēng)DIS)是在1983年,由美國(guó)國(guó)防高級(jí)計(jì)劃研究局ARPA(當(dāng)時(shí)稱(chēng)為DARPA)和陸軍共同資助的(SIMULATOR NETWORKING)項(xiàng)目中發(fā)展起來(lái)的一種新興的仿真技術(shù)。
      但是DIS采用廣播通訊模式,使得應(yīng)用程序被動(dòng)地接收所有交互數(shù)據(jù),其中很可能包括很多應(yīng)用程序并不關(guān)心的垃圾數(shù)據(jù),而且隨著仿真規(guī)模的擴(kuò)大這些垃圾信息也成正比例增加;同時(shí)DIS本身體系結(jié)構(gòu)上對(duì)于仿真應(yīng)用之間的互操作和仿真部件的可重用性都有著嚴(yán)重的制約。DIS的這種種局限以及自身體系結(jié)構(gòu)所固有的其它一些缺陷使得DIS并不適應(yīng)仿真發(fā)展,特別是大規(guī)模仿真發(fā)展的要求,導(dǎo)致它最終將被一種新的體系結(jié)構(gòu)和協(xié)議所取代。
      在此背景下,美國(guó)國(guó)防部建模和仿真辦公室DMSO在1996年9月正式頒布了HLA標(biāo)準(zhǔn),其目的就是解決通過(guò)各種服務(wù)策略對(duì)于大規(guī)模仿真的支撐性,以及各類(lèi)仿真應(yīng)用之間的互操作和仿真部件的可重用性問(wèn)題。
      HLA標(biāo)準(zhǔn)分為規(guī)則、盟員接口規(guī)范和對(duì)象模型模板三個(gè)部分。其中最重要的一部分接口規(guī)范的具體實(shí)現(xiàn)就是RTI(Runtime Infrastructure運(yùn)行時(shí)支撐環(huán)境),主要包括聯(lián)盟管理、聲明管理、對(duì)象管理、所有權(quán)管理、時(shí)間管理和數(shù)據(jù)分發(fā)管理,這六大類(lèi)服務(wù)實(shí)際上反映了為有效解決聯(lián)盟成員間的互操作所必須實(shí)現(xiàn)的功能。
      但是,HLA只定義了RTI的服務(wù)功能,并沒(méi)有定義或推薦一種具體的實(shí)現(xiàn)方法。所以一個(gè)具體的,實(shí)現(xiàn)了HLA規(guī)范規(guī)定的接口的RTI的優(yōu)良與否就取決于該RTI的執(zhí)行效率,對(duì)大規(guī)模仿真的支撐性,系統(tǒng)的容錯(cuò)性,用戶使用的靈活性等。
      而現(xiàn)有大部分的RTI產(chǎn)品在這些指標(biāo)方面都各有局限,不能很好的滿足這些需求,特別是在規(guī)模性的支持上,現(xiàn)有RTI都沒(méi)有特別好的解決方案;其次現(xiàn)有的很多RTI都采用的集中式的體系結(jié)構(gòu),使得中心節(jié)點(diǎn)很容易成為整個(gè)仿真環(huán)境的瓶頸所在,它的崩潰也將使得整個(gè)聯(lián)盟執(zhí)行失敗;再次在于用戶的定制功能和環(huán)境的方面,也是一個(gè)亟待更好解決的問(wèn)題。

      發(fā)明內(nèi)容
      本發(fā)明的目的就是為了滿足靈活、快速,大規(guī)模,多模式共存的,具有良好魯棒性的分布式仿真應(yīng)用需求。提供一種支持大規(guī)模仿真的分布交互仿真運(yùn)行系統(tǒng)。
      為了完成該目的,該發(fā)明采取的技術(shù)方案是運(yùn)行平臺(tái)采用Peer to Peer結(jié)構(gòu)下實(shí)現(xiàn)多邏輯層次的管理體系。多邏輯層次的結(jié)構(gòu)模型中有一個(gè)中心服務(wù)器,用于執(zhí)行一些全局操作,如RTI職能分配,句柄分配算法實(shí)現(xiàn)等功能。這樣的設(shè)計(jì)使得很多核心任務(wù)可以直接在本地主機(jī)內(nèi)進(jìn)行處理,提高聯(lián)盟執(zhí)行的效率,并且降低了彼此間交換大量交互信息而導(dǎo)致網(wǎng)絡(luò)擁塞的可能性。
      在中心服務(wù)器下設(shè)置一組子RTI服務(wù)器,每個(gè)子服務(wù)器負(fù)責(zé)一組盟員的服務(wù)請(qǐng)求,涉及到全局操作的請(qǐng)求,由中心服務(wù)器協(xié)調(diào)各個(gè)RTI子服務(wù)器共同完成。而同時(shí)這些所有的RTI都是在物理上完全分布對(duì)等的,只是在邏輯上有如上的區(qū)分。除了RTI角色分配之外,所有服務(wù)都在各個(gè)對(duì)等主機(jī)上獨(dú)立或者協(xié)調(diào)完成,不需要中心服務(wù)器的干預(yù),這樣能有效的提高仿真的性能和規(guī)模。
      這些物理上完全分布對(duì)等的RTI在邏輯上的關(guān)系也并非一成不變,隨著仿真的推進(jìn),如果某RTI退出后,他如果是管理者(中心服務(wù)器或者域管理者),則會(huì)有其他的非管理者RTI通過(guò)競(jìng)爭(zhēng)算法實(shí)現(xiàn)競(jìng)爭(zhēng),從而獲得相應(yīng)的管理權(quán)限,以完成對(duì)于整個(gè)仿真系統(tǒng)中信息路由關(guān)系的重組。
      該發(fā)明采取的技術(shù)方案還包括不同的對(duì)等主機(jī)之間的信息交互,都按照自定義的協(xié)議格式進(jìn)行組織和填充,并按照一定的算法分配的組播組進(jìn)行數(shù)據(jù)分發(fā)和接收,在這個(gè)在同一個(gè)網(wǎng)絡(luò)內(nèi),通過(guò)對(duì)RTI間的通訊端口區(qū)別,組播組交叉,交互信息的版本控制和聯(lián)盟標(biāo)識(shí)控制實(shí)現(xiàn)支持多廠商RTI、多版本RTI(限本發(fā)明RTI)、多聯(lián)盟執(zhí)行的并存。同時(shí)還通過(guò)統(tǒng)一的網(wǎng)絡(luò)數(shù)據(jù)格式來(lái)解決數(shù)據(jù)存儲(chǔ)的差異性、通過(guò)回調(diào)函數(shù)的機(jī)制解決數(shù)據(jù)如何被動(dòng)的傳遞給應(yīng)用程序的問(wèn)題。
      該發(fā)明的技術(shù)方案還包括預(yù)留了相應(yīng)的接口給用戶,由用戶修改默認(rèn)的所有設(shè)置,包括自由選定網(wǎng)絡(luò)連接使用端口、組播地址分配基址、分布式仿真應(yīng)用程序本地連接IP、運(yùn)行平臺(tái)中數(shù)據(jù)分發(fā)管理服務(wù)使用的網(wǎng)格信息,等等。從而達(dá)到用戶對(duì)于仿真運(yùn)行的靈活配置和使用。
      從計(jì)算機(jī)技術(shù)上來(lái)說(shuō),本發(fā)明具有如下的幾個(gè)優(yōu)點(diǎn)1)良好的結(jié)構(gòu)層次與體系結(jié)構(gòu),具有極好的可擴(kuò)展性和可維護(hù)性。將整個(gè)體系結(jié)構(gòu)分為四層頂層為提供給應(yīng)用程序的接口,第二層是應(yīng)用程序代理和支撐程序之間的接口,即應(yīng)用程序代理和運(yùn)行時(shí)支撐環(huán)境RTI之間的接口,第三層是每一個(gè)支撐程序都維護(hù)的各自的核心數(shù)據(jù)層,第四層是對(duì)等支撐程序之間的通訊層。每一個(gè)層次之間定義相應(yīng)的接口,隱蔽各自的實(shí)現(xiàn)細(xì)節(jié),從而使得各個(gè)部分可以相對(duì)獨(dú)立的進(jìn)行開(kāi)發(fā)、維護(hù)和擴(kuò)展,不會(huì)影響到別的層次。
      2)在良好的結(jié)構(gòu)層次和體系結(jié)構(gòu)的基礎(chǔ)上,該發(fā)明具有靈活易用的特點(diǎn),用戶可以方便的對(duì)各個(gè)層次的相關(guān)配置進(jìn)行修改,以此達(dá)到用戶一些自定義的需求。同時(shí)通過(guò)它也可以很容易的到達(dá)多種模式的仿真運(yùn)行的共存,并且能夠高效過(guò)濾冗余數(shù)據(jù)、支持大規(guī)模的仿真。
      3)物理上完全對(duì)等分布,邏輯上多層次管理的體系結(jié)構(gòu),將整個(gè)仿真運(yùn)行的負(fù)載相對(duì)均勻的分布在運(yùn)行過(guò)程的所有節(jié)點(diǎn)上,能夠最大限度的擴(kuò)大仿真的規(guī)模。
      該發(fā)明還支持邏輯管理功能的動(dòng)態(tài)轉(zhuǎn)移,實(shí)現(xiàn)系統(tǒng)中信息路由關(guān)系的重組,有效的避免了單點(diǎn)故障,使得整個(gè)系統(tǒng)具有良好的魯棒性。


      圖1是基于HLA開(kāi)發(fā)的仿真應(yīng)用程序框2是分布式仿真支撐程序結(jié)構(gòu)模式3是句柄空間4是正常情況下邏輯層次管理權(quán)動(dòng)態(tài)轉(zhuǎn)移5是非正常情況下邏輯層次管理權(quán)動(dòng)態(tài)轉(zhuǎn)移圖具體實(shí)施方式
      本發(fā)明具體的說(shuō)是一種P2P的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法。
      第一步就是需要對(duì)這樣的一個(gè)平臺(tái)做一個(gè)體系結(jié)構(gòu)的建立。
      首先,整體的體系結(jié)構(gòu)如圖1所示,這是所有的基于HLA的仿真程序及其運(yùn)行環(huán)境的通用體系結(jié)構(gòu),上層是用戶開(kāi)發(fā)的仿真應(yīng)用程序,中間層是HLA接口規(guī)范的實(shí)現(xiàn)RTI,底層是物理網(wǎng)絡(luò)。這樣的層次結(jié)構(gòu),是仿真功能與仿真運(yùn)行管理、底層通信傳輸三者分離的基礎(chǔ),它使仿真系統(tǒng)具有較好的擴(kuò)充性,便于實(shí)現(xiàn)仿真系統(tǒng)中各個(gè)組成部分的“即插即用”,因此各個(gè)組成部分的編程實(shí)現(xiàn)可以相對(duì)獨(dú)立地進(jìn)行。在這個(gè)整體的體系結(jié)構(gòu)下,每一組仿真應(yīng)用程序和他的支撐程序RTI,我們稱(chēng)為一個(gè)節(jié)點(diǎn)。
      其次,對(duì)于每一個(gè)節(jié)點(diǎn),其結(jié)構(gòu)如圖2所示,頂層是HLA標(biāo)準(zhǔn)規(guī)定的RTI需要對(duì)應(yīng)用程序提供的各種接口,包括HLA向上提供給應(yīng)用程序的接口和回調(diào)函數(shù)的接口,不屬于本發(fā)明的內(nèi)容。但這層之下的都屬于本發(fā)明的內(nèi)容,包括第二層是應(yīng)用程序代理和RTI之間的接口,主要功能是傳輸自定義的網(wǎng)絡(luò)數(shù)據(jù)包(后面會(huì)進(jìn)行詳細(xì)的描述),主要手段是通過(guò)TCP/IP建立連接并進(jìn)行傳輸。第三層是每一個(gè)RTI都維護(hù)的各自的內(nèi)核層,包括如圖2中所示系統(tǒng)服務(wù)部分,即HLA接口規(guī)范定義的六大管理服務(wù)FM(聯(lián)盟管理)、OM(對(duì)象管理)、DM(聲明管理)、TM(時(shí)間管理)、OWNM(所有權(quán)管理)、DDM(數(shù)據(jù)分發(fā)管理),以及對(duì)這些服務(wù)提供數(shù)據(jù)支持的核心數(shù)據(jù)模塊和網(wǎng)絡(luò)通訊支持的通訊服務(wù)模塊,由于這些服務(wù)和模塊的具體實(shí)現(xiàn)不作為本發(fā)明的權(quán)利要求,所以不在此詳述。第四層是對(duì)等RTI之間的網(wǎng)絡(luò)抽象連接層,它通過(guò)TCP/IP,UDP協(xié)議,使用點(diǎn)播、組播、可靠組播(RMCReliable Multicast)、廣播的方法在RTI之間傳輸自定義的網(wǎng)絡(luò)數(shù)據(jù)包,已實(shí)現(xiàn)信息交互和共享。這些層次對(duì)于應(yīng)用程序而言,都是透明的。
      需要注意到,本發(fā)明的體系結(jié)構(gòu)所指不是HLA標(biāo)準(zhǔn)意義上的高層體系結(jié)構(gòu),而是一個(gè)RTI實(shí)例的具體實(shí)現(xiàn)的體系結(jié)構(gòu),因?yàn)镠LA只是定義了應(yīng)用程序和RTI之間的接口和規(guī)則等,卻沒(méi)有定義具體的RTI的實(shí)現(xiàn)方式。
      第二步,是將上述描述的體系結(jié)構(gòu)中各個(gè)獨(dú)立模塊的交互關(guān)系建立起來(lái),為了達(dá)到模塊間的松耦合(結(jié)合軟件工程上的定義,其耦合性可以可以定義為程序結(jié)構(gòu)中各個(gè)模塊之間相互關(guān)聯(lián)的度量,它取決于各個(gè)模塊之間接口的復(fù)雜程度、調(diào)用模塊的方式以及哪些信息通過(guò)接口,一般模塊之間可能的連接方式有7種,構(gòu)成耦合性的7種類(lèi)型,他們分別是非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合,其耦合性逐步增強(qiáng)),本發(fā)明中采用數(shù)據(jù)驅(qū)動(dòng)的方法來(lái)實(shí)現(xiàn)模塊之間的通訊。
      首先,如圖1所示,我們定義一個(gè)基礎(chǔ)協(xié)議數(shù)據(jù)單元(PDUProtocol DataUnit)來(lái)在應(yīng)用程序和RTI之間、RTI和RTI之間進(jìn)行通訊,方法在第一步中已經(jīng)描述。PDU的組成內(nèi)容是分布式交互仿真中使用到的信息,由PDU頭部和PDU數(shù)據(jù)體兩部分組成。根據(jù)使用的場(chǎng)合,分別稱(chēng)為內(nèi)部PDU(應(yīng)用程序和RTI之間)和外部PDU(RTI和RTI之間進(jìn)行通訊)。
      內(nèi)部PDU頭部包括數(shù)據(jù)單元類(lèi)型、數(shù)據(jù)單元長(zhǎng)度、應(yīng)用程序和RTI的連接號(hào)、時(shí)間戳、序列號(hào)、發(fā)送者編號(hào),數(shù)據(jù)體包括實(shí)現(xiàn)各個(gè)不同功能的數(shù)據(jù)項(xiàng)。
      內(nèi)部PDU定義的數(shù)據(jù)結(jié)構(gòu)為struct interPDU{interPDUHeader header;//PDU頭部interPDUParapara;//PDU數(shù)據(jù)體};內(nèi)部PDU頭部定義的數(shù)據(jù)結(jié)構(gòu)為typedef struct{U16 type; //內(nèi)部PDU類(lèi)型U16 length;//內(nèi)部PDU長(zhǎng)度U32 connectNumber;//盟員連接號(hào),即應(yīng)用程序和RTI之間的連接編號(hào)double timeStamp;//消息時(shí)戳U32 serialNumber;//序列號(hào)U32 sendingFederate;//發(fā)送者盟員編號(hào)}interPDUHeader;內(nèi)部PDU數(shù)據(jù)體舉例union interPDUPara{createFederationExecutionParameters crteFdPara;
      }typedef struct{char executionName[STRING_MAXLENGTH];char fed[STRING_MAXLENGTH];}createFederationExecutionParameters;外部PDU頭部除了上述PDU頭部包括的信息之外,還包括RTI版本、聯(lián)盟執(zhí)行演練號(hào)、發(fā)送該P(yáng)DU的盟員IP。其他都是一致的。
      外部PDU定義的數(shù)據(jù)結(jié)構(gòu)為struct dataExterPDU{exterPDUHeader header;dataExterData data;};struct publicExterPDU{exterPDUHeader header;publicExterData data;};外部PDU頭部定義如下typedef struct{U16 version; //RTI版本U16 exerNum; //演練號(hào)U16 type;//外部PDU類(lèi)型U16 length; //外部PDU長(zhǎng)度double sendTime; //發(fā)送時(shí)間U32 myId;//發(fā)送者盟員編號(hào)U32 ip; //發(fā)送者主機(jī)IPU32 serialNumber;//序列號(hào)}exterPDUHeader;通過(guò)這樣的數(shù)據(jù)單元進(jìn)行交互,第一步中描述的模塊間就僅僅是數(shù)據(jù)耦合,它通過(guò)數(shù)據(jù)參數(shù)(而非控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)等)來(lái)交換輸入輸出信息,使得模塊間的耦合度降低,從而整個(gè)系統(tǒng)具有較低的復(fù)雜性,較好的可維護(hù)性和擴(kuò)展性。
      其次,在通過(guò)PDU進(jìn)行數(shù)據(jù)通訊的時(shí)候,我們還需要解決兩個(gè)問(wèn)題
      一是需要統(tǒng)一的網(wǎng)絡(luò)數(shù)據(jù)格式。因?yàn)閷?duì)于不同的計(jì)算機(jī)系統(tǒng)內(nèi)部對(duì)于數(shù)據(jù)的存儲(chǔ)格式是不一致的,比如32位整數(shù)在個(gè)人電腦上的存儲(chǔ)順序和大型計(jì)算機(jī)、甚至和網(wǎng)絡(luò)字節(jié)序都不一樣。因此,本發(fā)明將所有傳輸?shù)骄W(wǎng)絡(luò)中的數(shù)據(jù)都轉(zhuǎn)換成統(tǒng)一的自定義的網(wǎng)絡(luò)數(shù)據(jù)格式,如將所有的交互數(shù)據(jù)信息,即上述的PDU內(nèi)容,完全按照二進(jìn)制的格式拷貝到發(fā)送緩沖區(qū)中而不對(duì)其進(jìn)行數(shù)據(jù)類(lèi)型的解釋?zhuān)@樣就能使得運(yùn)行在不同系統(tǒng)平臺(tái)上的分布式交互仿真應(yīng)用程序能夠正確的進(jìn)行交互。
      二是解決數(shù)據(jù)被動(dòng)傳輸給應(yīng)用程序的問(wèn)題。對(duì)于應(yīng)用程序而言,主動(dòng)的調(diào)用HLA的接口,發(fā)送數(shù)據(jù)是一種主動(dòng)的行為,比較容易控制。但是接收數(shù)據(jù)卻是一種被動(dòng)行為,不易控制,它的解決好壞,將直接影響分布式交互仿真系統(tǒng)運(yùn)行效率以及系統(tǒng)結(jié)構(gòu)的復(fù)雜度。本發(fā)明則是采用了回調(diào)函數(shù)機(jī)制來(lái)向應(yīng)用程序傳遞數(shù)據(jù)。該回調(diào)函數(shù)機(jī)制的實(shí)現(xiàn)是構(gòu)造回調(diào)函數(shù)管理器,屬于設(shè)計(jì)模式中的mediator模式,通過(guò)向它添加、刪除回調(diào)函數(shù)的機(jī)制來(lái)實(shí)現(xiàn)不同PDU交給不同的模塊去處理。本發(fā)明使得應(yīng)用程序?qū)τ诮邮諗?shù)據(jù)的響應(yīng)十分及時(shí),并且整個(gè)系統(tǒng)模塊間具有較低的耦合度和較好的可擴(kuò)展性。
      本發(fā)明通過(guò)這樣的機(jī)制,在同一個(gè)網(wǎng)絡(luò)內(nèi),通過(guò)對(duì)RTI間的通訊端口區(qū)別,組播組交叉,交互信息的版本控制和聯(lián)盟標(biāo)識(shí)控制實(shí)現(xiàn)支持多廠商RTI,多版本RTI(限本發(fā)明RTI),多聯(lián)盟執(zhí)行的并存。同時(shí),在RTI和RTI的通訊時(shí),通過(guò)這樣的PDU結(jié)構(gòu)和內(nèi)容多手段實(shí)現(xiàn)無(wú)用數(shù)據(jù)的過(guò)濾,即不符合一定過(guò)濾規(guī)則的PDU不予以傳遞和處理。這些過(guò)濾規(guī)則如同一版本的RTI使用同一個(gè)RTI版本號(hào),不同版本號(hào)的PDU彼此之間都不予處理;運(yùn)行時(shí)同一個(gè)聯(lián)盟將使用同一個(gè)聯(lián)盟編號(hào),如果不相同的PDU彼此之間也不予處理;組播組交叉或不同的端口能夠使得使用不同組播組或通訊端口的RTI之間不會(huì)有交互信息的傳遞等。通過(guò)高效的過(guò)濾方法使得網(wǎng)絡(luò)和主機(jī)的負(fù)載都得到了降低,從而可以有效的擴(kuò)大仿真的規(guī)模。
      以上敘述的技術(shù)和創(chuàng)新使得本發(fā)明具有支持多模式共存、高效過(guò)濾冗余數(shù)據(jù)、有效支持大規(guī)模仿真的特點(diǎn)。
      第三步,在本發(fā)明的設(shè)計(jì)中,通過(guò)在Peer to Peer結(jié)構(gòu)下實(shí)現(xiàn)多邏輯層次的管理體系使得中心服務(wù)器能夠滿足大規(guī)模仿真的需要。詳細(xì)的步驟如下所述首先,在物理結(jié)構(gòu)上,本發(fā)明采用對(duì)等的分布式交互體系,在本發(fā)明支持的的分布式交互體系中,有多個(gè)RTI系統(tǒng)在運(yùn)行,這些獨(dú)立運(yùn)行的RTI系統(tǒng)稱(chēng)為RTI節(jié)點(diǎn)(RTI_Node,簡(jiǎn)稱(chēng)為節(jié)點(diǎn))。在基于HLA的分布式虛擬環(huán)境中,RTI節(jié)點(diǎn)為那些請(qǐng)求該節(jié)點(diǎn)服務(wù)的盟員負(fù)責(zé)分布式環(huán)境中的數(shù)據(jù)交互,是最基本的數(shù)據(jù)交互管理單位和數(shù)據(jù)交互接口,也是最基本的交互地址或者標(biāo)識(shí)。各個(gè)節(jié)點(diǎn)為平等關(guān)系,相互之間采用RTI-RTI交互協(xié)議(RTI-RTIInteractive Protocol)進(jìn)行通訊。RTI-RTI交互協(xié)議讓各個(gè)RTI通過(guò)協(xié)商來(lái)完成HLA/RTI的服務(wù)功能,通過(guò)RTI-RTI交互協(xié)議使得在各個(gè)主機(jī)上獨(dú)立運(yùn)行的RTI節(jié)點(diǎn)對(duì)于應(yīng)用程序(即盟員)來(lái)說(shuō)是透明的,感覺(jué)就是一個(gè)集中服務(wù)器一樣。直接采用RTI-RTI交互協(xié)議進(jìn)行協(xié)調(diào)的所有RTI節(jié)點(diǎn)共同組成一個(gè)RTI域(RTI_Zone,簡(jiǎn)稱(chēng)為域)。不同RTI域的RTI節(jié)點(diǎn)不能正常交互,但是可以通過(guò)RTI橋(RTI_Bridge)來(lái)完成交互。RTI橋是同時(shí)連接多個(gè)RTI域的特殊RTI節(jié)點(diǎn),一方面它在一個(gè)域中是個(gè)普通節(jié)點(diǎn),使用RTI-RTI交互協(xié)議實(shí)現(xiàn)通訊,另外一方面,它又綜合了其它域中所有RTI節(jié)點(diǎn)的信息,起到一個(gè)代理的作用。
      其次,邏輯結(jié)構(gòu)上,本發(fā)明采用了多層次體系的聯(lián)盟管理策略。在聯(lián)盟管理中,這種體系管理的層次化策略能很好地適用于廣域網(wǎng)的聯(lián)盟執(zhí)行。按照聯(lián)盟管理者的權(quán)限來(lái)分,可以將RTI分為RTI總管、域RTI管理者和普通RTI,這三類(lèi)權(quán)限同樣也代表著三個(gè)不同的RTI級(jí)別。
      當(dāng)網(wǎng)絡(luò)中沒(méi)有聯(lián)盟存在時(shí),某個(gè)盟員(仿真應(yīng)用程序)發(fā)出創(chuàng)建聯(lián)盟的請(qǐng)求,則該主機(jī)上的RTI通過(guò)廣播通訊查詢(xún)之后確定了直接的總管身份。然后由它采用句柄分配算法來(lái)進(jìn)行句柄分配。普通RTI和域管理者RTI加入聯(lián)盟后就得到一個(gè)靜態(tài)空間來(lái)執(zhí)行本地的句柄分配。當(dāng)靜態(tài)句柄空間用完之后,向上一級(jí)的RTI提出申請(qǐng),由上一級(jí)RTI動(dòng)態(tài)的向其再分配一個(gè)靜態(tài)空間。當(dāng)主機(jī)上的盟員想要加入聯(lián)盟時(shí),若此RTI未加入聯(lián)盟,則RTI先加入聯(lián)盟再返回盟員句柄;若此RTI已加入聯(lián)盟,則由RTI直接返回盟員句柄。本RTI上的盟員(非最后一個(gè))退出時(shí)也是只需向管理它的RTI提出申請(qǐng)而不需要向RTI總管發(fā)出請(qǐng)求。當(dāng)本RTI上最后一個(gè)盟員退出聯(lián)盟時(shí),RTI會(huì)自動(dòng)退出聯(lián)盟。
      再次,本發(fā)明采用動(dòng)靜態(tài)句柄空間結(jié)合分配的算法來(lái)解決聯(lián)盟管理的效率問(wèn)題,如圖3所示,句柄由動(dòng)態(tài)分配部分和靜態(tài)分配部分組成。當(dāng)一個(gè)RTI注冊(cè)成功之后,它就擁有了一個(gè)初始分配的靜態(tài)句柄空間??紤]到在實(shí)際應(yīng)用中,RTI的數(shù)量不是很多,但是盟員和instance的數(shù)量會(huì)很大,故設(shè)計(jì)在32位的handle中分配9位給RTI,分配10位給federate,分配13位給instance。以此層次化的方法分配Handle,可以保證Handle的全局唯一性。當(dāng)盟員加入聯(lián)盟時(shí),由RTI按照順序向其自動(dòng)分配的一個(gè)handle,若此時(shí)已經(jīng)到達(dá)handle數(shù)組的最后,則從頭開(kāi)始尋找未使用的handle分配給盟員。當(dāng)一個(gè)RTI的靜態(tài)句柄空間被耗盡之后,可以向RTI總管再次提出申請(qǐng)獲得一個(gè)大小仍為223-1的句柄空間。
      第四步,充分考慮并實(shí)現(xiàn)了邏輯層次管理權(quán)動(dòng)態(tài)轉(zhuǎn)移,從而實(shí)現(xiàn)整個(gè)系統(tǒng)良好的魯棒性。
      考慮到在廣域網(wǎng)的環(huán)境下,大規(guī)模仿真應(yīng)用使用了大量的主機(jī),主機(jī)崩潰等單點(diǎn)故障是無(wú)法絕對(duì)避免的,而它會(huì)影響仿真應(yīng)用的持續(xù)性和穩(wěn)定性。因此,有必要在單點(diǎn)故障出現(xiàn)的情況下進(jìn)行RTI邏輯層次管理權(quán)的動(dòng)態(tài)轉(zhuǎn)移。
      管理權(quán)動(dòng)態(tài)轉(zhuǎn)移分為三種情況第一種情況,管理者RTI所支撐的所有應(yīng)用程序均退出聯(lián)盟后,該RTI也將退出該聯(lián)盟,此時(shí)進(jìn)行管理權(quán)轉(zhuǎn)移;第二種情況,當(dāng)用戶誤操作或其他原因使得支撐程序RTI關(guān)閉,此時(shí)如果該RTI是管理者,則需要進(jìn)行管理權(quán)轉(zhuǎn)移,如果該RTI是普通成員,則需要更新域內(nèi)的RTI信息;第三種情況,管理者RTI發(fā)生故障而不能繼續(xù)行使管理權(quán),此時(shí)聯(lián)盟中的其它RTI必須能夠及時(shí)發(fā)現(xiàn)該情況并產(chǎn)生新的管理者。
      上述三種情況中,前兩種管理權(quán)轉(zhuǎn)移的過(guò)程相同在管理者RTI退出聯(lián)盟前,確定下任管理者并向整個(gè)仿真聯(lián)盟執(zhí)行發(fā)送管理權(quán)轉(zhuǎn)移通知;收到該通知后,新的管理者馬上向整個(gè)聯(lián)盟執(zhí)行發(fā)送新的聯(lián)盟信息,其它RTI收到該信息后即可確認(rèn)管理權(quán)轉(zhuǎn)移完成。該過(guò)程如圖4所示。
      第三種情況中,普通RTI發(fā)現(xiàn)管理者故障后,馬上向全聯(lián)盟發(fā)送競(jìng)爭(zhēng)信息試圖競(jìng)爭(zhēng)成為新的管理者。在多個(gè)RTI同時(shí)競(jìng)爭(zhēng)的情況下,將通過(guò)競(jìng)爭(zhēng)算法產(chǎn)生最終的管理者。新的管理者馬上向全聯(lián)盟發(fā)送新的聯(lián)盟信息,其它RTI收到該信息后即可確認(rèn)管理權(quán)轉(zhuǎn)移完成。該過(guò)程如圖5所示。
      第五步,本發(fā)明支持用戶自定義設(shè)置相關(guān)選項(xiàng),從而實(shí)現(xiàn)整個(gè)運(yùn)行平臺(tái)能在不同的情況和環(huán)境下良好的運(yùn)行。這些自定義的選項(xiàng)包括模塊間通訊的PDU使用的系統(tǒng)端口號(hào)(共三個(gè)應(yīng)用程序和RTI之間一個(gè),RTI和RTI之間兩個(gè))、RTI間通訊的組播組基址、支撐程序代理連接的RTI的IP地址等等。通過(guò)這樣的機(jī)制,使得整個(gè)系統(tǒng)對(duì)于用戶來(lái)說(shuō),具有良好的靈活和可用性。同時(shí),通過(guò)不同的設(shè)置,和第二步實(shí)現(xiàn)的機(jī)制一起作用,進(jìn)一步實(shí)現(xiàn)了不同仿真運(yùn)行,不同運(yùn)行平臺(tái),運(yùn)行平臺(tái)的不同版本的共存,還具體通過(guò)仿真運(yùn)行演練號(hào)、運(yùn)行平臺(tái)版本號(hào)和運(yùn)行平臺(tái)外部消息版本號(hào)等方式來(lái)實(shí)現(xiàn)仿真環(huán)境中無(wú)用交互信息的過(guò)濾。進(jìn)一步提高無(wú)用信息數(shù)據(jù)的過(guò)濾效率,使得整個(gè)系統(tǒng)能高效靈活的支持大規(guī)模的分布式交互仿真應(yīng)用。
      以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1.一種對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法,其特征在于該方法包括步驟1)配置仿真執(zhí)行運(yùn)行時(shí)通訊方式網(wǎng)絡(luò)連接使用端口、組播地址分配基址、仿真應(yīng)用程序的服務(wù)訪問(wèn)點(diǎn)的網(wǎng)絡(luò)地址、組播地址配置等;步驟2)采用對(duì)等結(jié)構(gòu)下實(shí)現(xiàn)多邏輯層次的管理體系;步驟3)支持各邏輯層次管理權(quán)的動(dòng)態(tài)轉(zhuǎn)移,即仿真運(yùn)行環(huán)境中消息傳遞的路由重組;步驟4)支持多種過(guò)濾手段實(shí)現(xiàn)同一網(wǎng)絡(luò)下不同仿真運(yùn)行、不同運(yùn)行平臺(tái)、運(yùn)行平臺(tái)的不同版本的共存。
      2.如權(quán)利要求1所述的對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述步驟1)中用戶能夠自由配置仿真應(yīng)用程序與應(yīng)用程序本地支撐程序代理、支撐程序代理與仿真運(yùn)行平臺(tái)、仿真運(yùn)行平臺(tái)之間的各種配置,從而達(dá)到不同的仿真應(yīng)用可以同時(shí)無(wú)相互影響的運(yùn)行在同一個(gè)網(wǎng)絡(luò)中。
      3.如權(quán)利要求1所述的對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法,其特征在于所述步驟2)中將運(yùn)行平臺(tái),根據(jù)不同的情況,在系統(tǒng)仿真運(yùn)行中,進(jìn)行動(dòng)態(tài)的角色分配。即在運(yùn)行初始化時(shí),所有的分布式支撐程序都是完全分布且對(duì)等的,但是運(yùn)行中,將根據(jù)各種不同的情況,將他們劃分為幾個(gè)邏輯的層次。包括運(yùn)行平臺(tái)總管、平臺(tái)域管理者和普通支撐程序節(jié)點(diǎn),這三類(lèi)權(quán)限同樣也代表著三個(gè)不同的運(yùn)行平臺(tái)邏輯級(jí)別。
      4.如權(quán)利要求1或者3所述的對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法,其特征在于運(yùn)行平臺(tái)中各個(gè)支撐程序的角色,并不是分配后就不再改變,而是可能隨著仿真運(yùn)行的進(jìn)行,某一層次的管理者退出后,其他的普通支撐程序單體將通過(guò)一定的競(jìng)爭(zhēng)算法競(jìng)爭(zhēng)成為相應(yīng)層次的管理者,從而實(shí)現(xiàn)仿真支撐環(huán)境中消息傳遞的路由重組。
      5.根據(jù)權(quán)利要求1或者2所述的對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法,其特征在于除了使用權(quán)利要求2的方法實(shí)現(xiàn)不同仿真運(yùn)行、不同運(yùn)行平臺(tái)、運(yùn)行平臺(tái)的不同版本的共存,還具體包括仿真運(yùn)行演練號(hào)、運(yùn)行平臺(tái)版本號(hào)和運(yùn)行平臺(tái)外部消息版本號(hào)來(lái)實(shí)現(xiàn)仿真環(huán)境中冗余交互信息的過(guò)濾。對(duì)等結(jié)構(gòu)的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法。
      全文摘要
      本發(fā)明屬于計(jì)算機(jī)分布式交互仿真領(lǐng)域,具體的說(shuō)是一種P2P的分布交互仿真運(yùn)行系統(tǒng)實(shí)現(xiàn)方法。本發(fā)明的技術(shù)方案為在Peer to Peer結(jié)構(gòu)下實(shí)現(xiàn)多邏輯層次的管理體系;支持各邏輯層次管理權(quán)的動(dòng)態(tài)轉(zhuǎn)移;支持多種過(guò)濾手段實(shí)現(xiàn)同一網(wǎng)絡(luò)下不同仿真運(yùn)行、不同的運(yùn)行平臺(tái)、不同版本的運(yùn)行平臺(tái)的共存。本發(fā)明的技術(shù)方案具有如下特點(diǎn)高效支持大規(guī)模的分布式交互仿真;整個(gè)運(yùn)行平臺(tái)可擴(kuò)展性好、魯棒性好;能夠適應(yīng)多種仿真環(huán)境,是一個(gè)良好的支持大規(guī)模仿真的分布交互仿真運(yùn)行系統(tǒng)。
      文檔編號(hào)G06F9/455GK1780290SQ20041009119
      公開(kāi)日2006年5月31日 申請(qǐng)日期2004年11月23日 優(yōu)先權(quán)日2004年11月23日
      發(fā)明者趙沁平, 周忠, 劉鐘書(shū) 申請(qǐng)人:北京航空航天大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1