欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通信端口及其路由方法、通信模塊及并行事務(wù)級(jí)模擬系統(tǒng)的制作方法

文檔序號(hào):7654636閱讀:196來源:國知局
專利名稱:通信端口及其路由方法、通信模塊及并行事務(wù)級(jí)模擬系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及硬件系統(tǒng)中并行事務(wù)級(jí)模擬仿真技術(shù),尤其是一種通信端口的路由方法、端口路由器、通信端口的消息發(fā)送及接收方法、通信端口、通信模塊、部件模型和并行事務(wù)級(jí)模擬系統(tǒng)。
背景技術(shù)
在大規(guī)模硬件系統(tǒng)設(shè)計(jì)中,并行事務(wù)級(jí)模擬仿真的方法是一項(xiàng)重要的技術(shù)手段。并行事務(wù)級(jí)模擬具有模擬速度快、模擬規(guī)模大、建模方式貼近硬件邏輯等優(yōu)點(diǎn),可以應(yīng)用于硬件系統(tǒng)的原型設(shè)計(jì)評(píng)估、硬件系統(tǒng)的軟件調(diào)優(yōu)等各個(gè)階段。
由于在已有的并行事務(wù)級(jí)建模方法中,主要是建立部件模型,通過部件模型及其相互之間的連接關(guān)系模擬并行事務(wù)級(jí)模擬系統(tǒng)。部件模型及其相互之間的連接構(gòu)成并行事務(wù)級(jí)模擬系統(tǒng),因此在設(shè)計(jì)部件模型時(shí)既要考慮部件模型與其他部件模型之間的通信或連接,如何模擬并行事務(wù)級(jí)模擬系統(tǒng)的通信連接,還要考慮部件模型的邏輯功能。常用的部件模型包括處理器模型、內(nèi)存模型、路由器模型等。以現(xiàn)有的實(shí)現(xiàn)加法計(jì)算的處理器模型為例,處理器模型既要實(shí)現(xiàn)與外部其他部件模型的通信連接,需要從外部獲取進(jìn)行加法操作的所有數(shù)據(jù),還要進(jìn)行數(shù)據(jù)的加法計(jì)算,最后還要將計(jì)算的結(jié)果反饋至其他部件模型。鑒于上述情況,在設(shè)計(jì)部件模型時(shí),不僅需要關(guān)心該部件模型的邏輯功能還要關(guān)心與該處理器具有連接關(guān)系的其他部件模型,還要考慮其連接關(guān)系是否可以符合并行事務(wù)級(jí)模擬系統(tǒng)的通信連接的要求。相應(yīng)的,設(shè)計(jì)并行事務(wù)級(jí)模擬系統(tǒng)時(shí),需要考慮部件模型的邏輯功能,還要考慮其連接關(guān)系是否滿足自身的通信連接的要求。由于兩者的耦合性較高,導(dǎo)致設(shè)計(jì)并行事務(wù)級(jí)模擬系統(tǒng)和部件模型時(shí),很容易產(chǎn)生互相牽制的設(shè)計(jì)問題。另外,目前部件模型的連接關(guān)系和邏輯功能混合在一起,一個(gè)部件模型只能運(yùn)用在一個(gè)并行事務(wù)級(jí)模擬系統(tǒng)中,可重用性較差,導(dǎo)致部件模型的資源浪費(fèi)較為嚴(yán)重。一方面,部件級(jí)模型的建模者需要關(guān)心并行事務(wù)級(jí)模擬系統(tǒng)的設(shè)計(jì),另一方面并行事務(wù)級(jí)模擬系統(tǒng)的建模者也需要關(guān)心部件級(jí)模型的內(nèi)部實(shí)現(xiàn)。由于部件模型和并行事務(wù)級(jí)模擬系統(tǒng)的耦合程度較高,因此兩者無法獨(dú)立完成設(shè)計(jì)或修改。這容易導(dǎo)致并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率較低,且對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷較大。2010 年的在歐洲召開的 DATE' 10 Proceedings of the Conferenceon Design,Automation and Test 會(huì)議上發(fā)表了一篇名為《Parallel simulationof SystemC TLM2. 0 compliant MPSoC on SMP workstations》的論文,作者Aline Mello, Isaac Maia,Alain Greiner, and Francois Pecheux0該論文公開了一種并行事務(wù)級(jí)的模擬平臺(tái),該平臺(tái)專門用于模擬共享內(nèi)存的多核處理器,該平臺(tái)還為這種特定的模擬應(yīng)用提供了一種稱為TLM-DT的編程方式,獲得了一定的并行模擬加速比。然而,該方法的擴(kuò)展性沒有得到證明,且該方法沒有考慮如何解耦部件模型和并行事務(wù)級(jí)模擬系統(tǒng),沒有為部件模型的可重用性提供有力支持。
如何降低部件模型和并行事務(wù)級(jí)模擬系統(tǒng)之間的耦合度,提高并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率,降低對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷,成為目前亟待解決的問題之一。

發(fā)明內(nèi)容
本發(fā)明解決的問題是提高并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率,降低對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷。
為解決上述問題,本發(fā)明提供了一種通信端口的路由方法,包括獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱;獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口;在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí),所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端;記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱;基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配置通信通道??蛇x的,所述拓?fù)浣Y(jié)構(gòu)描述文件還包括源端的名稱、類型和通信通道的數(shù)目;源端的端口的類型和延遲時(shí)間;所述源端的端口的類型包括接收類型、發(fā)送類型和接收兼發(fā)送類型??蛇x的,所述通信端口的路由方法還包括在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找所述源端的端口的類型和延遲時(shí)間;所述通信端口信息還包括所述源端的端口的類型和延遲時(shí)間。一種端口路由器,包括路由信息管理模塊和查詢模塊,所述路由信息管理模塊包括路由表緩存模塊;所述路由表緩存模塊,用以獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱;還用以獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口 ;還用以記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱;所述查詢模塊,用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí),所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端??蛇x的,所述拓?fù)浣Y(jié)構(gòu)描述文件還包括源端的名稱、類型和通信通道的數(shù)目;所述源端的端口的類型和延遲時(shí)間;所述源端的端口的類型包括接收類型、發(fā)送類型和接收兼發(fā)送類型。
可選的,所述查詢模塊,還用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找所述源端的端口的類型和延遲時(shí)間;所述通信端口信息還包括所述源端的端口的類型和延遲時(shí)間。可選的,所述路由表緩存模塊還用以將所述拓?fù)浣Y(jié)構(gòu)描述文件保存為路由緩存表;所述路由信息管理模塊還包括更新模塊,所述更新模塊用以更新所述路由緩存表和所述通信端口信息。一種與如上任一項(xiàng)所述的端口路由器連接的通信端口的消息發(fā)送方法,包括從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端建立通信端口并配置通信通道;獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名 稱;將所述通信端口信息加入所述事件內(nèi)容形成消息;通過所述通信通道發(fā)出所述消息??蛇x的,所述通信端口的消息發(fā)送方法還包括根據(jù)發(fā)送所述消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列??蛇x的,所述消息通過并行宿主機(jī)網(wǎng)絡(luò)發(fā)送至所述通信目的端??蛇x的,所述事件包從部件邏輯獲取,所述部件邏輯用以實(shí)現(xiàn)邏輯功能。一種通信端口的消息接收方法,所述消息以如上任一項(xiàng)所述的通信端口的消息發(fā)送方法發(fā)出;所述消息接收方法包括通過與所述通信源端對(duì)應(yīng)的通信通道接收所述消息;解析所述消息,獲取事件內(nèi)容和接收該消息的通信目的端的端口的名稱??蛇x的,所述通信端口的消息接收方法還包括處理所述事件內(nèi)容,并發(fā)送處理結(jié)果??蛇x的,所述通信端口的消息接收方法還包括根據(jù)獲取所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。一種與如上任一項(xiàng)所述的端口路由器連接的通信端口,包括端口配置模塊,用以從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道;消息發(fā)送模塊,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱,將所述通信端口信息加入所述事件內(nèi)容形成消息且通過所述通信通道發(fā)送所述消息??蛇x的,所述的通信端口還包括消息處理模塊,用以獲取并處理其他通信端口發(fā)送的消息中的事件內(nèi)容,將處理結(jié)果反饋至部件邏輯??蛇x的,所述通信端口還包括消息發(fā)送緩存模塊,用以根據(jù)發(fā)送的消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列;消息接收緩存模塊,用以根據(jù)接收的消息中事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列;
端口信息管理模塊,用以保存所述與所述通信源端的端口對(duì)應(yīng)的通信端口信息。一種通信端口,包括消息處理模塊,用以獲取如上任一項(xiàng)所述的通信端口發(fā)送的消息中的事件內(nèi)容??蛇x的,所述消息處理模塊還用以處理所述事件內(nèi)容,并發(fā)送處理結(jié)果。可選的,所述的通信端口還包括消息接收緩存模塊,用以根據(jù)所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。一種通信模塊,包括如上任一項(xiàng)所述的端口路由器、端口隊(duì)列管理模塊和通信控制器;所述通信控制器,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的 通信源端的端口的名稱;所述端口隊(duì)列管理模塊,用以從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息建立通信端口 ;所述通信端口包括端口配置模塊,用以從所述端口路由器獲取所述通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道;消息發(fā)送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端口信息加入所述事件內(nèi)容形成消息且通過所述通信通道發(fā)送所述消息。可選的,所述通信控制器還用以接收由通信源端的端口發(fā)出的消息。可選的,所述端口隊(duì)列管理模塊,還用以解析所述通信控制器接收的消息,獲取該消息的事件內(nèi)容和接收該消息的通信目的端的端口的名稱??蛇x的,所述通信端口還包括消息處理模塊,用以接收并處理所述端口隊(duì)列管理模塊解析獲取的事件內(nèi)容,并發(fā)送處理結(jié)果??蛇x的,所述通信端口還包括消息發(fā)送緩存模塊,用以根據(jù)發(fā)送的消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列;消息接收緩存模塊,用以根據(jù)接收的消息的事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列;端口信息管理模塊,用以保存與所述通信源端的端口對(duì)應(yīng)的通信端口信息。可選的,所述端口隊(duì)列管理模塊,還用以監(jiān)控所述通信端口,在所述通信端口空閑時(shí),控制該通信端口接收所述事件內(nèi)容或發(fā)送所述消息。一種包括如上任一項(xiàng)所述的通信模塊的部件模型??蛇x的,所述部件模型還包括部件邏輯,用于發(fā)出事件包或接收事件內(nèi)容的處理結(jié)果。一種包括如上所述的部件模型的并行事務(wù)級(jí)模擬系統(tǒng)??蛇x的,所述并行事務(wù)級(jí)模擬系統(tǒng)還包括并行宿主機(jī)網(wǎng)絡(luò),用以實(shí)現(xiàn)部件模型間的消息傳送。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)獲取拓?fù)浣Y(jié)構(gòu)描述文件,在拓?fù)浣Y(jié)構(gòu)描述文件中查找與通信源端對(duì)應(yīng)的通信目的端,配置通信源端與通信目的端之間的通信通道。通信源端或通信目的端包含在部件模型中,部件模型設(shè)計(jì)完成后,根據(jù)拓?fù)浣Y(jié)構(gòu)描述文件中通信源端與通信目的端的記錄,配置通信源端和通信目的端之間的通信通道,再配置并行宿主機(jī)網(wǎng)絡(luò),構(gòu)成并行事務(wù)級(jí)模擬系統(tǒng)。這不僅降低了部件模型和并行事務(wù)級(jí)模擬系統(tǒng)的耦合程度,而且簡化了并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)步驟,提高了并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率。通過上述方式設(shè)計(jì)并行事務(wù)級(jí)模擬系統(tǒng)時(shí),僅需要提供并行事務(wù)級(jí)模擬系統(tǒng)的功能需求,創(chuàng)建拓?fù)浣Y(jié)構(gòu)描述文件,然后依據(jù)拓?fù)浣Y(jié)構(gòu)描述文件設(shè)計(jì)部件模型,創(chuàng)建通信通道,再配置并行宿主機(jī)網(wǎng)絡(luò),完成并行事務(wù)級(jí)模擬系統(tǒng)的設(shè)計(jì)。若并行事務(wù)級(jí)模擬系統(tǒng)的功能發(fā)生變化,更新拓?fù)浣Y(jié)構(gòu)描述文件,然后依據(jù)新的拓?fù)浣Y(jié)構(gòu)描述文件,更新通信通道,完成對(duì)并行事務(wù)級(jí)模擬系統(tǒng)的功能的修改。由于單獨(dú)修改或維護(hù)部件模型,不會(huì)影響并行事務(wù)級(jí)模擬系統(tǒng)的運(yùn)行;單獨(dú)修改或維護(hù)并行事務(wù)級(jí)模擬系統(tǒng),也不會(huì)影響部件模型的運(yùn)行,因此這較大的簡化了對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)的修改和維護(hù)的工作。另外,修改拓?fù)浣Y(jié)構(gòu)描述文件,重新配置通信通道就可以完成修改或維護(hù),也降低了對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷。


圖I是本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)描述文件的結(jié)構(gòu)列表;圖2是本發(fā)明提供的通信端口的路由方法的一種實(shí)施方式的流程圖;圖3是本發(fā)明提供的端口路由器的一種實(shí)施方式的結(jié)構(gòu)圖;圖4是本發(fā)明提供的通信端口的消息發(fā)送方法的一種實(shí)施方式的流程圖;圖5是本發(fā)明提供的通信端口的消息接收方法的一種實(shí)施方式的流程圖;圖6是本發(fā)明提供的通信端口的一種實(shí)施方式的結(jié)構(gòu)圖;圖7是本發(fā)明提供的通信模塊的一種實(shí)施方式的結(jié)構(gòu)圖;圖8是本發(fā)明實(shí)施例提供的消息的發(fā)出流向圖;圖9是本發(fā)明實(shí)施例提供的消息的接收流向圖;圖10是本發(fā)明提供的部件模型的一種實(shí)施方式的結(jié)構(gòu)圖;圖11是本發(fā)明提供的并行事務(wù)級(jí)模擬系統(tǒng)的一種實(shí)施方式的結(jié)構(gòu)圖;圖12是本發(fā)明提供的并行事務(wù)級(jí)模擬系統(tǒng)中部件模型的通信連接示意圖;圖13是本發(fā)明提供的事件包的一種實(shí)施方式的結(jié)構(gòu)圖;圖14是本發(fā)明提供的消息的一種實(shí)施方式的結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)的說明。由于在已有的并行事務(wù)級(jí)建模方法中,沒有給部件模型可重用提供足夠的支撐,導(dǎo)致部件級(jí)模型的建模者需要關(guān)心系統(tǒng)級(jí)模型的設(shè)計(jì),另一方面系統(tǒng)級(jí)模型的建模者也需要關(guān)心部件級(jí)模型的內(nèi)部實(shí)現(xiàn),因此部件模型和并行事務(wù)級(jí)模擬系統(tǒng)的耦合程度較高,兩者的設(shè)計(jì)和修改無法獨(dú)立完成。這將導(dǎo)致并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率較低,且對(duì)其進(jìn)行維護(hù)和修改的開銷也較大。
本發(fā)明實(shí)施例通過預(yù)先配置拓?fù)浣Y(jié)構(gòu)描述文件,在所述拓?fù)浣Y(jié)構(gòu)描述文件中模擬部件模型之間的連接關(guān)系,部件模型獲取所述拓?fù)浣Y(jié)構(gòu)描述文件后,依據(jù)其中的內(nèi)容,建立部件模型之間的連接關(guān)系。圖I是本發(fā)明提供的拓?fù)浣Y(jié)構(gòu)描述文件的結(jié)構(gòu)列表,拓?fù)浣Y(jié)構(gòu)描述文件的結(jié)構(gòu)如圖I所示。拓?fù)浣Y(jié)構(gòu)描述文件以部件模型為主要單位,描述了每個(gè)部件模型的基本信息,以及該部件模型的端口的連接關(guān)系。為了防止沖突,拓?fù)浣Y(jié)構(gòu)描述文件要求部件模型的標(biāo)識(shí)為全局唯一,部件模型的端口的名 稱在該部件模型中唯一。由于部件模型的標(biāo)識(shí)為全局唯一,端口的名稱只需要保證部件模型內(nèi)唯一,對(duì)該端口進(jìn)行拓?fù)浣Y(jié)構(gòu)描述時(shí)就不會(huì)發(fā)生錯(cuò)誤。部件模型一般為消息的發(fā)送端或接收端,因此部件模型也可稱為通信源端或通信目的端。為描述方便,若無特殊注明,以下內(nèi)容中以部件模型即表示通信源端或通信目的端。該拓?fù)浣Y(jié)構(gòu)描述文件描述的是部件模型間的連接關(guān)系,具體是指一個(gè)部件模型的端口與其他部件模型的端口之間的連接關(guān)系。如圖I所示,表示一個(gè)并行事務(wù)級(jí)模擬系統(tǒng)中包含的全部部件模型的端口的連接關(guān)系。該拓?fù)浣Y(jié)構(gòu)描述文件中包含若干個(gè)部件模型的端口的連接關(guān)系,每個(gè)部件模型包含兩部分內(nèi)容,一是模塊信息M1,二是通道信息M2。模塊信息Ml中,包括部件模型的名稱、標(biāo)識(shí)、類型和通道數(shù)目,類型一般是指處理器、內(nèi)存、硬盤等,通道數(shù)目為該部件模型與其他部件模型之間的通信通道的數(shù)目。通道信息M2中分條記錄了每個(gè)端口的信息,每條記錄記載一個(gè)端口的端口信息,包括與該端口有連接關(guān)系的部件模型的標(biāo)識(shí)、名稱,與該部件模型的那個(gè)端口有連接關(guān)系,這個(gè)端口的名稱、類型、延遲時(shí)間。通道類型一般包括發(fā)送類型、接收類型和發(fā)送兼接收類型。延遲時(shí)間是指該端口發(fā)送一次消息需要多長時(shí)間。例如,部件模型A具有4個(gè)端口,4個(gè)端口的名稱分別為a、b、C、d,且部件模型A與其他部件模型之間具有4個(gè)通信通道。部件模型A的模塊信息包括,部件模型的名稱為A、標(biāo)識(shí)為ID130、類型為處理器和通道數(shù)目為4。通道信息包括4條記錄,每條記錄記載一個(gè)端口的信息,若端口 a用以發(fā)出消息,與部件模型B (標(biāo)識(shí)為ID230)的端口 f具有通信連接,則端口 a的記錄包括源端的標(biāo)識(shí)ID130,目的端的標(biāo)識(shí)為ID230,源端的端口名稱為a,目的端的端口名稱為f,通道類型為發(fā)送類型,延遲時(shí)間為0. 04s。拓?fù)浣Y(jié)構(gòu)描述文件一般根據(jù)待模擬的并行事務(wù)級(jí)模擬系統(tǒng)的通信連接,建立源端與目的端的連接關(guān)系。建立連接關(guān)系時(shí),所述源端的端口的類型為發(fā)送類型,則與其對(duì)應(yīng)的目的端的端口的類型只能是為接收類型或接收兼發(fā)送類型,并且同一個(gè)部件模型既可以是源端也可以是目的端。根據(jù)待模擬的并行事務(wù)級(jí)模擬系統(tǒng)的各部件模型之間的連接關(guān)系,在所述拓?fù)浣Y(jié)構(gòu)描述文件中模擬部件模型之間的連接關(guān)系,部件模型獲取所述拓?fù)浣Y(jié)構(gòu)描述文件后,依據(jù)其中的內(nèi)容,建立部件模型之間的連接關(guān)系,則實(shí)現(xiàn)了并行事務(wù)級(jí)模擬系統(tǒng)的建模。圖2是本發(fā)明提供的通信端口的路由方法的一種實(shí)施方式的流程圖,包括S101,獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱;S102,獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口;S103,在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí);S104,記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱;S105,基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配置通信通道。所述源端為消息的發(fā)出端,所述源端的端口用以發(fā)出所述消息;所述目的端為所述消息的接收端,所述目的端的端口用以接收所述消息。由于消息的發(fā)送與接收是循環(huán)往復(fù)的,因此消息發(fā)送的源端,下一次也可以是消息接收的目的端,換句話說,源端和目的端可以根據(jù)消息的流向發(fā)生變化。在并行事務(wù)級(jí)模擬系統(tǒng)中,部件模型通常是通信源端或通 信目的端。所述通信源端為待建立通信連接的源端,也就是并行事務(wù)級(jí)模擬系統(tǒng)中的部件模型。部件模型設(shè)計(jì)完成之后,建立部件模型之間的通信連接,再配置并行宿主機(jī)網(wǎng)絡(luò),并行事務(wù)級(jí)模擬系統(tǒng)才算完成。為防止在建立通信連接的過程中,出現(xiàn)漏接的情況,設(shè)計(jì)完成的部件模型,在建立通信連接時(shí),將該部件模型看做是待建立通信連接的源端。所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端。消息在整個(gè)系統(tǒng)中是通過端口流動(dòng)的,建立通信連接時(shí),需要確定消息的通信源端和通信目的端,確保兩者是對(duì)應(yīng)的,然后確定通信源端的哪個(gè)端口與通信目的端的哪個(gè)端口對(duì)應(yīng),保證消息在對(duì)應(yīng)的端口中流動(dòng)。
基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配置通信通道后,為通信源端建立的通信端口即對(duì)應(yīng)通信端口信息中通信源端的端口,為通信目的端建立的通信端口即對(duì)應(yīng)通信目的端的端口。消息通過通信源端的通信端口、配置的通信通道發(fā)送到通信目的端,通信目的端的通信端口接收解析后的消息(對(duì)消息的解析將在后續(xù)進(jìn)行詳細(xì)說明)。一般情況下,發(fā)送類型的端口與接收類型或接收兼發(fā)送類型的端口對(duì)應(yīng);接收類型的端口與發(fā)送類型或接收兼發(fā)送類型的端口對(duì)應(yīng);發(fā)送兼接收類型的端口,若發(fā)送消息,則與發(fā)送類型的端口相同,若接收消息,則與接收類型的端口相同。拓?fù)浣Y(jié)構(gòu)描述文件中包括該部件模型的模塊信息和通道信息,其中模塊信息包含該部件模型的名稱、標(biāo)識(shí)、類型和通道數(shù)目,通道數(shù)目為該部件模型與其他部件模型之間的通信通道的數(shù)目。通道信息中分條記錄了每個(gè)端口的信息,包括與該端口有連接關(guān)系的部件模型的標(biāo)識(shí)、名稱,與該部件模型的哪個(gè)端口有連接關(guān)系,這個(gè)端口的名稱、類型、延遲時(shí)間。S104中,記錄通信端口信息,可以根據(jù)實(shí)際情況將這些信息有選擇的記錄下來,通常情況下通信端口信息只記錄常用的端口的信息,這樣可以節(jié)約存儲(chǔ)空間。所述通信通道是用來傳送消息的,通信通道一般通過并行宿主機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)。圖3是本發(fā)明提供的端口路由器的一種實(shí)施方式的結(jié)構(gòu)圖,下面結(jié)合圖I、圖2和圖3詳細(xì)說明。端口路由器Al的結(jié)構(gòu)如圖3所示,主要有兩部分組成路由信息管理模塊All和查詢模塊A12。路由信息管理模塊All,包括路由表緩存模塊A112,用以獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱;還用于獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口 ;還用以記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱。查詢模塊A12,用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí),所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端。查詢模塊A12 —般提供兩個(gè)接口 一個(gè)接口用以查詢通信目的端的標(biāo)識(shí)、通信目 的端的端口的名稱;另一個(gè)接口用以查詢通信源端的標(biāo)識(shí),通信源端的端口的名稱。若所述拓?fù)浣Y(jié)構(gòu)描述文件還包括所述源端的名稱、類型和通信通道的數(shù)目;所述源端的端口的類型和延遲時(shí)間;所述源端的端口的類型包括接收類型、發(fā)送類型和接收兼發(fā)送類型,則查詢模塊A12,還用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找所述源端的端口的類型和延遲時(shí)間;并將所述源端的端口的類型和延遲時(shí)間加入通信端口信息中。路由表緩存模塊A112獲取拓?fù)浣Y(jié)構(gòu)描述文件后,將該文件保存成一張路由器緩存表,存入路由表緩存模塊A112中,路由器緩存表的內(nèi)容和拓?fù)浣Y(jié)構(gòu)描述文件相同。路由器緩存表的結(jié)構(gòu)為按行組織的連接關(guān)系隊(duì)列,一條連接關(guān)系描述一對(duì)端口的連接,包含“源端的標(biāo)識(shí)”,“目的端的標(biāo)識(shí)”,“源端的端口的名稱”,“目的端的端口的名稱”,“類型”,“延遲時(shí)間”六個(gè)字段。路由表緩存模塊A112主要具有以下優(yōu)點(diǎn),當(dāng)待模擬的并行事務(wù)級(jí)模擬系統(tǒng)巨大時(shí),在部件模型或者其他模擬器中保存巨大的系統(tǒng)的連接關(guān)系是需要大量內(nèi)存的,因此,為了降低內(nèi)存開銷,路由表緩存模塊A112將只保存部分常用的路由信息。所述路由信息大都是指通信端口信息,也就是說,路由表緩存模塊A112從拓?fù)浣Y(jié)構(gòu)描述文件中,將常用的端口或者部件模型的通信端口信息保存在路由器緩存表中,這樣節(jié)約了存儲(chǔ)空間。路由信息管理模塊All還包括更新模塊A111,當(dāng)需要查找的路由信息在路由表緩存中時(shí),將直接獲得信息;若查找的路由信息不在路由表緩存中,路由表緩存模塊A112則需要重新讀取拓?fù)浣Y(jié)構(gòu)描述文件,獲取相應(yīng)的路由信息,更新模塊Alll依據(jù)新的拓?fù)浣Y(jié)構(gòu)描述文件,并替換掉之前路由表緩存模塊Al 12中的保存的舊的路由器緩存表。也就是說,更新模塊Alll對(duì)路由器緩存表進(jìn)行更新和維護(hù)。若查詢模塊A12在路由器緩存表中,查找不到通信源端的端口的通信端口信息,則路由表緩存模塊A112重新獲取拓?fù)浣Y(jié)構(gòu)描述文件,獲取相應(yīng)的信息,更新模塊Alll將新的信息保存入舊的路由器緩存表中,形成新的路由器緩存表。也就是說,更新模塊Alll根據(jù)新的拓?fù)浣Y(jié)構(gòu)描述文件,對(duì)應(yīng)更新舊的路由器緩存表,并保存形成新的路由器緩存表。圖4是本發(fā)明提供的通信端口的消息發(fā)送方法的一種實(shí)施方式的流程圖,包括S201,從所述端口路由器讀取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端建立通信端口并配置通信通道;
S202,獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱;S203,將所述通信端口信息加入所述事件內(nèi)容形成消息;S204,通過所述通信通道發(fā)出所述消息。由于消息的發(fā)送量一般較大,因此所述消息發(fā)送方法還包括根據(jù)發(fā)送消息的時(shí)間,建立消息的發(fā)送緩存隊(duì)列,防止消息在同一時(shí)間內(nèi)涌入,加大通信端口的工作負(fù)荷,造成當(dāng)機(jī)或者消息堵塞的情況。消息通過通信通道發(fā)出至通信目的端,通信通道一般通過并行宿主機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)。所述事件包由部件邏輯發(fā)出,這是為了更好的劃分部件邏輯的功能。部件邏輯用來發(fā)送事件包或者接收事件內(nèi)容的處理結(jié)果,也就是說所述部件邏輯用以完成除對(duì)外聯(lián)系之外的邏輯功能。通信端口用于接收事件內(nèi)容、事件包或發(fā)送事件包、消息或處理結(jié)果。將部件邏輯與通信端口的工作區(qū)分開,防止兩者功能交叉,混為一談,提高部件模型的重用 性。圖5是本發(fā)明提供的通信端口的消息接收方法的一種實(shí)施方式的流程圖,包括S301,通過與所述通信源端對(duì)應(yīng)的通信通道接收所述消息;S302,解析所述消息,獲取事件內(nèi)容和接收該消息的通信目的端的端口的名稱。通信目的端接收的消息是通過圖4所示的通信端口的消息發(fā)送方法發(fā)出的,并根據(jù)接收所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。由于事件內(nèi)容包含在消息中,因此所述事件內(nèi)容的接收緩存隊(duì)列一般按照接收包含該事件內(nèi)容的消息的時(shí)間順序建立,因此也稱為消息接收緩存隊(duì)列。通信目的端接收所述消息后,對(duì)其解析,得到具體的通信端口信息,進(jìn)行后續(xù)的工作。解析所述消息時(shí),按照接收緩存隊(duì)列的排列順序,逐一解析所述消息。后續(xù)的工作包括,處理所述事件內(nèi)容,并反饋處理結(jié)果,所述處理結(jié)果反饋至通信目的端的部件邏輯。處理所述消息時(shí),根據(jù)需要還可以獲取所述消息的通信源端的標(biāo)識(shí)、通信源端的端口的名稱和通信目的端的標(biāo)識(shí)。圖6是本發(fā)明提供的通信端口 A2的一種實(shí)施方式的結(jié)構(gòu)圖,所述通信端口 A2包括端口配置模塊A21,用以從端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道;消息發(fā)送模塊A22,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱,將所述通信端口信息加入所述事件內(nèi)容形成消息且發(fā)送所述消
肩、O通信端口 A2還包括消息處理模塊A23,用以獲取并處理其他通信端口發(fā)送的消息中的事件內(nèi)容,將處理結(jié)果反饋至部件邏輯A4;消息發(fā)送緩存模塊A24,用以根據(jù)發(fā)送的消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列;消息接收緩存模塊A25,用以根據(jù)接收的消息中事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列;
端口信息管理模塊A26,用以保存與所述通信源端的端口對(duì)應(yīng)的通信端口信息。通信端口的結(jié)構(gòu)如圖6所示。通信端口 A2中包括端口配置模塊A21、消息發(fā)送模塊A22和消息接收緩存模塊A25,消息發(fā)送緩存模塊A24,消息處理模塊A23,端口信息管理模塊A26。其中端口配置模塊A21獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道。端口配置模塊A21獲取通信端口信息后,就要將所述通信通道配置完成,以保證消息發(fā)送或接收的順利進(jìn)行。消息發(fā)送模塊A22和消息處理模塊A23用于控制消息的發(fā)送、接收和處理,端口信息管理模塊A26用于記錄本端口的連接信息、通信端口信息等,本端口的連接信息包括該端口與哪些端口存在連接關(guān)系,與哪些通信目的端存在連接關(guān)系等。通信端口信息包括本 端口的名稱,目的端的端口的名稱,端口的類型(發(fā)送類型,接收類型,發(fā)送兼接收類型)。通信端口還可以只用于接收和處理消息,這種通信端口包括消息處理模塊,用以獲取所述事件內(nèi)容;所述消息處理模塊還用以處理所述事件內(nèi)容,并反饋處理結(jié)果至通信目的端的部件邏輯。這種只用于接收和處理消息的通信端口,還包括消息接收緩存模塊,用以根據(jù)獲取所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。通信端口根據(jù)其功能可以分為三種只發(fā)送消息的通信端口、只接收消息的通信端口,既發(fā)送又接收消息的通信端口。既發(fā)送又接收消息的通信端口與通信端口 A2的結(jié)構(gòu)相同或相近;只接收消息的通信端口,一般僅包含的消息處理模塊和消息接收緩存模塊或與上述兩種模塊功能相同或類似的模塊;只發(fā)送消息的通信端口一般包含端口配置模塊,消息發(fā)送模塊,消息發(fā)送緩存模塊和端口信息管理模塊。圖7是本發(fā)明提供的通信模塊的一種實(shí)施方式的結(jié)構(gòu)圖(圖中省略了通信端口 A2的具體結(jié)構(gòu)),包括端口路由器Al、端口隊(duì)列管理模塊A32和通信控制器A31 ;通信控制器A31,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱;端口隊(duì)列管理模塊A32,用以從端口路由器Al獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息建立通信端口 A2 ;通信端口 A2包括端口配置模塊,用以從端口路由器Al獲取所述通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道;消息發(fā)送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端口信息加入所述事件內(nèi)容形成消息且通過所述通信通道發(fā)送所述消息。通信模塊A3—般用來接收或發(fā)出消息,因此通信控制器A31還用以接收由通信源端的端口發(fā)出的消息,該消息包括發(fā)送該消息的通信源端的端口的通信端口信息和事件內(nèi)容。也就是說通信控制器A31用來接收其他部件模型發(fā)出的消息。若通信控制器A31還用以接收消息,則端口隊(duì)列管理模塊A32,還用以解析所述通信控制器A31接收的消息,獲取該消息的事件內(nèi)容和接收該消息的通信目的端的端口的名稱。通信端口 A2還包括消息處理模塊,用以接收并處理所述端口隊(duì)列管理模塊解析獲取的事件內(nèi)容,并反饋處理結(jié)果至通信目的端的部件邏輯;消息發(fā)送緩存模塊,用以根據(jù)發(fā)送所述消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列;消息接收緩存模塊,用以根據(jù)接收的消息的事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列;端口信息管理模塊,用以保存所述通信端口的端口信息。消息發(fā)送緩存模塊和消息接收緩存模塊還可以根據(jù)消息或事件內(nèi)容的優(yōu)先級(jí)、消息的容量等建立緩存隊(duì)列。端口隊(duì)列管理模塊A32,還用以監(jiān)控通信端口 A2,在通信端口 A2空閑時(shí),控制該通信端口接收所述事件內(nèi)容或發(fā)送所述消息。由端口隊(duì)列管理模塊A32監(jiān)控通信端口 A2,在空閑的時(shí)候控制該通信端口接收所述事件內(nèi)容或發(fā)送所述消息,這是為了防止消息堵塞,進(jìn)一步的,按照緩存隊(duì)列的順序控制該通信端口接收所述事件內(nèi)容或發(fā)送所述消息。圖8是本發(fā)明提供的消息的發(fā)出流向圖,圖9是本發(fā)明提供的消息的接收流向圖。下面結(jié)合圖4、圖5、圖6、圖7、圖8和圖9詳細(xì)說明。 并行事務(wù)級(jí)模擬系統(tǒng)啟動(dòng)后,通信模塊A3將進(jìn)行自動(dòng)配置。首先端口路由器Al將讀取拓?fù)浣Y(jié)構(gòu)描述文件,將讀取到的拓?fù)浣Y(jié)構(gòu)描述文件保存在路由表緩存模塊Al 12中,形成路由緩存表。接著查詢模塊A12在路由緩存表中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí)。通信模塊A3將自己所屬的部件模型作為通信源端,從端口路由器Al獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,且基于所述通信端口信息建立通信端口并為通信源端和對(duì)應(yīng)的通信目的端配置通信通道。具體來講,端口隊(duì)列管理模塊A32,通過端口路由器Al中的查詢模塊A12進(jìn)行查詢,得到通信模塊A3需要的通信端口信息,并基于所述通信端口信息建立通信端口 A2。通信端口信息包括目的端的標(biāo)識(shí),目的端的端口的名稱,以及該端口的類型是單一的發(fā)送、接收、還是收發(fā)兩用端口。通信端口信息將保存在每一個(gè)通信端口的端口信息管理模塊A26中。端口隊(duì)列管理模塊A32獲取通信端口信息,從中確定需要建立幾個(gè)通信端口。端口配置模塊A21從通信端口信息中找到通信源端的標(biāo)識(shí)和通信目的端的標(biāo)識(shí),配置兩者之間的通信通道。當(dāng)部件邏輯A4需要發(fā)送消息時(shí),需要通過通信通道,將消息從通信源端發(fā)送至通信目的端。通信通道一般是依靠并行宿主機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)的,通過通信通道發(fā)送消息,也可以看成是通過并行宿主機(jī)網(wǎng)絡(luò)發(fā)送消息。消息發(fā)送過程如圖8所示,部件邏輯A4通過通信端口 A2向外發(fā)送消息時(shí),只需要指明使用哪一個(gè)通信端口即可,無需給出該端口在系統(tǒng)中的連接情況。如圖8所示,部件邏輯A4所發(fā)出的事件包只包含“發(fā)送端口的名稱”和“事件內(nèi)容”兩個(gè)最基本內(nèi)容,“發(fā)送端口的名稱”也就是通信源端的通信端口的名稱。當(dāng)事件包進(jìn)入通信模塊A3,首先將由通信控制器A31進(jìn)行消息處理,通信控制器A31解析消息,獲得“發(fā)送端口的名稱”和“事件內(nèi)容”。端口隊(duì)列管理模塊A32取得相應(yīng)通信端口的控制后,將解析之后的事件包暫存在消息發(fā)送緩存模塊A24中。取得相應(yīng)通信端口的控制是指,監(jiān)控該端口是否空閑,在該端口空閑時(shí),控制該端口發(fā)送消息。消息發(fā)送模塊A22在對(duì)外的通信通道空閑時(shí),從消息發(fā)送緩存模塊A24中取出一個(gè)事件包,依據(jù)“發(fā)送端口的名稱”加入相應(yīng)端口的通信端口信息形成消息。一般情況下,為事件包增加“通信源端的標(biāo)識(shí)”,“通信源端的端口的名稱”,“通信目的端的標(biāo)識(shí)”,“通信目的端的端口的名稱”四個(gè)字段,基于這四個(gè)字段的內(nèi)容,消息可以在并行宿主機(jī)網(wǎng)絡(luò)A61上進(jìn)行發(fā)送。
消息的接收過程如圖9所示,當(dāng)由通信源端發(fā)送的消息由并行宿主機(jī)網(wǎng)絡(luò)A61到達(dá)作為通信目的端的部件模型之后,將首先傳遞給通信控制器A31,由通信控制器A31解析收到的消息。此時(shí)消息包括發(fā)送該消息的通信源端的端口的通信端口信息和事件內(nèi)容,具體地包括“通信源端的標(biāo)識(shí)”,“通信源端的端口的名稱”,“通信目的端的標(biāo)識(shí)”,“通信目的端的端口的名稱”,以及“事件內(nèi)容”五個(gè)部分。根據(jù)“通信目的端的端口的名稱”,端口隊(duì)列管理模塊A32將消息包精簡為只有“接收端口的名稱”和“事件內(nèi)容”兩部分,并取得相應(yīng)接收端口的控制權(quán),也就是監(jiān)控該端口,在該端口空閑時(shí),控制該端口接收。其中“接收端口的名稱”也就是“通信目的端的通信端口的名稱”。精簡后的消息將傳遞給通信端口 A2的消息接收緩存模塊A25,在該端口空閑時(shí),傳遞給消息處理模塊A23進(jìn)行處理,處理結(jié)果將傳遞至部件邏輯A4。圖10是本發(fā)明提供的部件模型的一種實(shí)施方式的結(jié)構(gòu)圖,圖11是本發(fā)明提供的并行事務(wù)級(jí)模擬系統(tǒng)的一種實(shí)施方式的結(jié)構(gòu)圖。下面結(jié)合圖10和圖11詳細(xì)說明。
圖10是本發(fā)明提供的部件模型的一種實(shí)施方式的結(jié)構(gòu)圖,部件模型A62包括通信模塊A3和部件邏輯A4。部件邏輯A4,用于發(fā)出事件包或接收處理結(jié)果。圖11是本發(fā)明提供的并行事務(wù)級(jí)模擬系統(tǒng)的一種實(shí)施方式的結(jié)構(gòu)圖,并行事務(wù)級(jí)模擬系統(tǒng)A6包括部件模型A62和并行宿主機(jī)網(wǎng)絡(luò)A61。各部件模型A62獨(dú)立地模擬并行事務(wù)級(jí)模擬系統(tǒng)A6中的一部分,并通過并行宿主機(jī)網(wǎng)絡(luò)A61進(jìn)行消息的傳輸。當(dāng)部件模型A62之間需要進(jìn)行交互時(shí),將通過并行宿主機(jī)網(wǎng)絡(luò)A61轉(zhuǎn)發(fā)消息。在模擬并行事務(wù)級(jí)模擬系統(tǒng)A6時(shí),兩個(gè)部件模型A62之間通過消息實(shí)現(xiàn)交互,消息中包含事件內(nèi)容或事件包。事件包是用戶自定義結(jié)構(gòu)的數(shù)據(jù)包。在該數(shù)據(jù)包中,用戶將抽象實(shí)現(xiàn)硬件模塊之間以時(shí)序?yàn)榱6鹊氖录?nèi)容。消息交互的過程通常與部件模型A62采用的交互協(xié)議無關(guān),通常不涉及具體的總線時(shí)序等細(xì)節(jié),也就是說,部件邏輯A4發(fā)出或接收處理結(jié)果,通信模塊A3負(fù)責(zé)將事件包包裝成消息通過其通信端口 A2發(fā)出。部件邏輯A4不關(guān)心消息是由誰發(fā)出的,只關(guān)心發(fā)出了什么消息,接收了什么處理結(jié)果。相應(yīng)的,通信模塊A3不關(guān)心發(fā)送或接收了什么消息,只關(guān)心誰發(fā)送的,發(fā)送給誰。這將部件模型A62分成了兩部分,部件邏輯A4負(fù)責(zé)發(fā)送事件包或接收處理結(jié)果,通信模塊A3負(fù)責(zé)發(fā)送或接收消息。設(shè)計(jì)部件模型A62時(shí),不再糾結(jié)于并行事務(wù)級(jí)模擬系統(tǒng)需要何種通信連接,部件模型之間的連接關(guān)系如何設(shè)計(jì),設(shè)計(jì)并行事務(wù)級(jí)模擬系統(tǒng)時(shí),也不再糾結(jié)于部件模型之間的連接關(guān)系如何設(shè)計(jì)才能滿足并行事務(wù)級(jí)模擬系統(tǒng)的通信連接。這些連接關(guān)系或通信連接預(yù)置在拓?fù)浣Y(jié)構(gòu)描述文件中,只需獲取該文件,按照該文件的內(nèi)容進(jìn)行通信通道的配置,就可以滿足并行事務(wù)級(jí)模擬系統(tǒng)的通信連接的需求,且也實(shí)現(xiàn)了部件模型之間的連接關(guān)系。這不僅降低部件模型和并行事務(wù)級(jí)模擬系統(tǒng)之間的耦合度,而且提高并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率。若部件模型之間的連接關(guān)系或并行事務(wù)級(jí)模擬系統(tǒng)的通信連接發(fā)生變化時(shí),只需要修改拓?fù)浣Y(jié)構(gòu)描述文件中相應(yīng)的內(nèi)容,然后對(duì)路由緩存表和通信端口信息進(jìn)行更新,就可以完成部件模型之間的連接關(guān)系或并行事務(wù)級(jí)模擬系統(tǒng)的通信連接的修改。這降低了對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷,不再需要重新設(shè)計(jì)部件模型或并行事務(wù)級(jí)模擬系統(tǒng),增強(qiáng)了部件模型的可重用性,減少資源浪費(fèi),節(jié)約了成本。圖12是本發(fā)明提供的并行事務(wù)級(jí)模擬系統(tǒng)中部件模型的通信連接示意圖。圖12描述在并行事務(wù)級(jí)模擬系統(tǒng)中兩個(gè)并行運(yùn)行的部件模型A62之間的通信關(guān)系,此處略去了其他結(jié)構(gòu)。并行事務(wù)級(jí)模擬的通信模塊A3的結(jié)構(gòu)及其在并行事務(wù)級(jí)模擬系統(tǒng)中的應(yīng)用環(huán)境如圖12所示,通信模塊A3主要包括通信端口 A2,通信控制器A31,端口隊(duì)列模塊A32,端口路 由器Al。端口路由器Al獲取外部的拓?fù)浣Y(jié)構(gòu)描述文件。通信端口 A2通過端口隊(duì)列模塊A32與端口路由器Al連接,可以通過端口隊(duì)列模塊A32獲取端口路由器Al中的信息。如圖12所示,兩個(gè)部件模型之間交互通過通信模塊A3進(jìn)行,部件邏輯A4需要進(jìn)行外部通信時(shí),將首先把事件包傳遞給通信模塊A3,由通信模塊A3負(fù)責(zé)將事件包封裝成消息并轉(zhuǎn)發(fā);同樣,在接收消息時(shí),收到的消息將首先由通信模塊A3負(fù)責(zé)處理,再傳遞給部件邏輯A4。在這種設(shè)計(jì)下,部件邏輯A4同外部的交互將完全依賴通信模塊A3進(jìn)行,可以在不考慮外部條件的情形下,獨(dú)立地實(shí)現(xiàn)部件模型A62的內(nèi)部邏輯,這種設(shè)計(jì)有效地提高了部件模型的開發(fā)效率。每個(gè)部件模型A62可以分為兩個(gè)部分,一部分是不涉及對(duì)外交互的部件邏輯A4,另一部分是負(fù)責(zé)同外部交互的通信模塊A3。圖13是本發(fā)明提供的事件包的一種實(shí)施方式的結(jié)構(gòu)圖,圖14是本發(fā)明提供的消息的一種實(shí)施方式的結(jié)構(gòu)圖。圖13中所示的事件包BI,包括發(fā)送端口的名稱Bll和事件內(nèi)容B10,發(fā)送端口的名稱Bll也就是通信源端的端口的名稱。事件包BI由部件邏輯A4發(fā)出。圖14中所示的消息B2,包括事件內(nèi)容B10,通信源端的標(biāo)識(shí)B12,通信源端的端口的名稱Bll',通信目的端的標(biāo)識(shí)B13,通信目的端的端口的名稱B14。其中通信源端的端口的名稱Bll'與圖13中發(fā)送端口的名稱Bll相同。消息B2是由通信模塊A3接收事件包BI后,加入端口信息形成的,最終由通信端口發(fā)出。綜上所述,本發(fā)明實(shí)施例公開的技術(shù)方案,降低了部件模型和并行事務(wù)級(jí)模擬系統(tǒng)之間的耦合度,提高并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率,降低對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷。本發(fā)明雖然已以較佳實(shí)施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。
權(quán)利要求
1.一種通信端口的路由方法,其特征在于,包括 獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱; 獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口; 在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí),所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端; 記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱; 基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配置通信通道。
2.如權(quán)利要求I所述的通信端口的路由方法,其特征在于,所述拓?fù)浣Y(jié)構(gòu)描述文件還包括源端的名稱、類型和通信通道的數(shù)目;源端的端口的類型和延遲時(shí)間;所述源端的端口的類型包括接收類型、發(fā)送類型和接收兼發(fā)送類型。
3.如權(quán)利要求2所述的通信端口的路由方法,其特征在于,還包括在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找所述源端的端口的類型和延遲時(shí)間;所述通信端口信息還包括所述源端的端口的類型和延遲時(shí)間。
4.一種端口路由器,其特征在于,包括路由信息管理模塊和查詢模塊,所述路由信息管理模塊包括路由表緩存模塊; 所述路由表緩存模塊,用以獲取拓?fù)浣Y(jié)構(gòu)描述文件,所述拓?fù)浣Y(jié)構(gòu)描述文件包括源端的標(biāo)識(shí)、目的端的標(biāo)識(shí)、源端的端口的名稱和目的端的端口的名稱;還用以獲取通信源端的端口的名稱,所述通信源端為待建立通信連接的源端,所述通信源端的端口為待建立通信連接的源端的端口 ;還用以記錄通信端口信息,所述通信端口信息包括所述通信源端的標(biāo)識(shí),通信源端的端口的名稱、通信目的端的標(biāo)識(shí),通信目的端的端口的名稱; 所述查詢模塊,用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí),所述通信目的端的端口為與所述待建立通信連接的源端的端口對(duì)應(yīng)的目的端的端口,所述通信目的端為與待建立通信連接的源端對(duì)應(yīng)的目的端。
5.如權(quán)利要求4所述的端口路由器,其特征在于,所述拓?fù)浣Y(jié)構(gòu)描述文件還包括源端的名稱、類型和通信通道的數(shù)目;所述源端的端口的類型和延遲時(shí)間;所述源端的端口的類型包括接收類型、發(fā)送類型和接收兼發(fā)送類型。
6.如權(quán)利要求5所述的端口路由器,其特征在于,所述查詢模塊,還用以在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找所述源端的端口的類型和延遲時(shí)間;所述通信端口信息還包括所述源端的端口的類型和延遲時(shí)間。
7.如權(quán)利要求4所述的端口路由器,其特征在于,所述路由表緩存模塊還用以將所述拓?fù)浣Y(jié)構(gòu)描述文件保存為路由緩存表;所述路由信息管理模塊還包括更新模塊,所述更新模塊用以更新所述路由緩存表和所述通信端口信息。
8.一種與權(quán)利要求4-7任一項(xiàng)所述的端口路由器連接的通信端口的消息發(fā)送方法,其特征在于,包括從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端建立通信端口并配置通信通道; 獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱; 將所述通信端口信息加入所述事件內(nèi)容形成消息; 通過所述通信通道發(fā)出所述消息。
9.如權(quán)利要求8所述的通信端口的消息發(fā)送方法,其特征在于,還包括根據(jù)發(fā)送所述消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列。
10.如權(quán)利要求8所述的通信端口的消息發(fā)送方法,其特征在于,所述消息通過并行宿主機(jī)網(wǎng)絡(luò)發(fā)送至所述通信目的端。
11.如權(quán)利要求8所述的通信端口的消息發(fā)送方法,其特征在于,所述事件包從部件邏輯獲取,所述部件邏輯用以實(shí)現(xiàn)邏輯功能。
12.一種通信端口的消息接收方法,其特征在于, 所述消息以權(quán)利要求8-11任一項(xiàng)所述的通信端口的消息發(fā)送方法發(fā)出; 所述消息接收方法包括 通過與所述通信源端對(duì)應(yīng)的通信通道接收所述消息; 解析所述消息,獲取事件內(nèi)容和接收該消息的通信目的端的端口的名稱。
13.如權(quán)利要求12所述的通信端口的消息接收方法,其特征在于,還包括處理所述事件內(nèi)容,并發(fā)送處理結(jié)果。
14.如權(quán)利要求12所述的通信端口的消息接收方法,其特征在于,還包括根據(jù)獲取所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。
15.一種與權(quán)利要求4-7任一項(xiàng)所述的端口路由器連接的通信端口,其特征在于,包括 端口配置模塊,用以從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道; 消息發(fā)送模塊,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱,將所述通信端口信息加入所述事件內(nèi)容形成消息且通過所述通信通道發(fā)送所述消息。
16.如權(quán)利要求15所述的通信端口,其特征在于,還包括 消息處理模塊,用以獲取并處理其他通信端口發(fā)送的消息中的事件內(nèi)容,將處理結(jié)果反饋至部件邏輯。
17.如權(quán)利要求16所述的通信端口,其特征在于,還包括 消息發(fā)送緩存模塊,用以根據(jù)發(fā)送的消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列; 消息接收緩存模塊,用以根據(jù)接收的消息中事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列; 端口信息管理模塊,用以保存所述與所述通信源端的端口對(duì)應(yīng)的通信端口信息。
18.一種通信端口,其特征在于,包括 消息處理模塊,用以獲取權(quán)利要求15-17任一項(xiàng)所述的通信端口發(fā)送的消息中的事件內(nèi)容。
19.如權(quán)利要求18所述的通信端口,其特征在于,所述消息處理模塊還用以處理所述事件內(nèi)容,并發(fā)送處理結(jié)果。
20.如權(quán)利要求19所述的通信端口,其特征在于,還包括消息接收緩存模塊,用以根據(jù)所述事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列。
21.一種通信模塊,其特征在于,包括如權(quán)利要求4-7任一項(xiàng)所述的端口路由器、端口隊(duì)列管理模塊和通信控制器; 所述通信控制器,用以獲取事件包,所述事件包包括事件內(nèi)容和發(fā)送該事件包的通信源端的端口的名稱; 所述端口隊(duì)列管理模塊,用以從所述端口路由器獲取與所述通信源端的端口對(duì)應(yīng)的通信端口信息,并基于所述通信端口信息建立通信端口 ; 所述通信端口包括 端口配置模塊,用以從所述端口路由器獲取所述通信端口信息,且基于所述通信端口信息為通信源端和對(duì)應(yīng)的通信目的端配置通信通道; 消息發(fā)送模塊,用以從所述通信控制器獲取所述事件包,將所述通信端口信息加入所述事件內(nèi)容形成消息且通過所述通信通道發(fā)送所述消息。
22.如權(quán)利要求21所述的通信模塊,其特征在于,所述通信控制器還用以接收由通信源端的端口發(fā)出的消息。
23.如權(quán)利要求22所述的通信模塊,其特征在于,所述端口隊(duì)列管理模塊,還用以解析所述通信控制器接收的消息,獲取該消息的事件內(nèi)容和接收該消息的通信目的端的端口的名稱。
24.如權(quán)利要求23所述的通信模塊,其特征在于,所述通信端口還包括 消息處理模塊,用以接收并處理所述端口隊(duì)列管理模塊解析獲取的事件內(nèi)容,并發(fā)送處理結(jié)果。
25.如權(quán)利要求24所述的通信模塊,其特征在于,所述通信端口還包括 消息發(fā)送緩存模塊,用以根據(jù)發(fā)送的消息的時(shí)間順序,建立所述消息的發(fā)送緩存隊(duì)列; 消息接收緩存模塊,用以根據(jù)接收的消息的事件內(nèi)容的時(shí)間順序,建立所述事件內(nèi)容的接收緩存隊(duì)列; 端口信息管理模塊,用以保存與所述通信源端的端口對(duì)應(yīng)的通信端口信息。
26.如權(quán)利要求25所述的通信模塊,其特征在于,所述端口隊(duì)列管理模塊,還用以監(jiān)控所述通信端口,在所述通信端口空閑時(shí),控制該通信端口接收所述事件內(nèi)容或發(fā)送所述消肩、O
27.—種包括如權(quán)利要求21-26任一項(xiàng)所述的通信模塊的部件模型。
28.如權(quán)利要求27所述的部件模型,其特征在于,還包括部件邏輯,用于發(fā)出事件包或接收事件內(nèi)容的處理結(jié)果。
29.—種包括如權(quán)利要求27或28所述的部件模型的并行事務(wù)級(jí)模擬系統(tǒng)。
30.如權(quán)利要求29所述的并行事務(wù)級(jí)模擬系統(tǒng),其特征在于,還包括并行宿主機(jī)網(wǎng)絡(luò),用以實(shí)現(xiàn)部件模型間的消息傳送。
全文摘要
一種通信端口的路由方法包括獲取拓?fù)浣Y(jié)構(gòu)描述文件;獲取通信源端的端口的名稱;在所述拓?fù)浣Y(jié)構(gòu)描述文件中查找與所述通信源端的端口對(duì)應(yīng)的通信目的端的端口的名稱及通信目的端的標(biāo)識(shí);記錄通信端口信息,基于所述通信端口信息為所述通信源端和通信目的端建立通信端口并配置通信通道。本發(fā)明公開的技術(shù)方案,降低了部件模型和并行事務(wù)級(jí)模擬系統(tǒng)之間的耦合度,提高并行事務(wù)級(jí)模擬系統(tǒng)的開發(fā)效率,降低對(duì)部件模型和并行事務(wù)級(jí)模擬系統(tǒng)維護(hù)的開銷。
文檔編號(hào)H04L12/58GK102761472SQ201110110820
公開日2012年10月31日 申請(qǐng)日期2011年4月29日 優(yōu)先權(quán)日2011年4月29日
發(fā)明者吳東, 張昆, 李宏亮, 謝向輝, 郝子宇, 錢磊 申請(qǐng)人:無錫江南計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
洪雅县| 桑植县| 巴林右旗| 唐河县| 延庆县| 辉县市| 营山县| 上杭县| 中牟县| 阳高县| 德阳市| 江安县| 鹤岗市| 潞西市| 都兰县| 南安市| 石柱| 敦化市| 宁阳县| 双城市| 翼城县| 福鼎市| 含山县| 黔西县| 班玛县| 延边| 清水县| 华亭县| 维西| 武功县| 商城县| 顺昌县| 吴旗县| 普兰店市| 海兴县| 鹤峰县| 芜湖市| 日照市| 安溪县| 汽车| 故城县|