本申請(qǐng)涉及航空電子技術(shù)領(lǐng)域,更具體地說,涉及一種基于AFDX總線的發(fā)布訂閱方法和系統(tǒng)。
背景技術(shù):
航空電子全雙工通信以太網(wǎng)交換(AFDX總線)是一個(gè)基于標(biāo)準(zhǔn)定義的電子和協(xié)議規(guī)范(IEEE802.3和ARINC 664Part7),其應(yīng)用于航空電子系統(tǒng),用于供飛機(jī)上航空子系統(tǒng)之間進(jìn)行數(shù)據(jù)交換。它提供一個(gè)高達(dá)24個(gè)終端系統(tǒng)的星形拓?fù)浣Y(jié)構(gòu),其允許連接冗余來保證帶寬和服務(wù)質(zhì)量。AFDX還允許連接到其它的標(biāo)準(zhǔn)總線如ARINC429或者M(jìn)IL-STD-1553等到網(wǎng)絡(luò),并且允許通過網(wǎng)關(guān)和路由與其他的適應(yīng)ARINC-664但非確定的網(wǎng)絡(luò)進(jìn)行通信。AFDX地址沒有采用IEEE802.3以太網(wǎng)標(biāo)準(zhǔn),而是采用電信標(biāo)準(zhǔn)的異步傳輸模式的概念,這種對(duì)以太網(wǎng)標(biāo)準(zhǔn)的擴(kuò)展使得在確定的網(wǎng)絡(luò)中保證帶寬和服務(wù)質(zhì)量成為可能。
AFDX總線給航空電子系統(tǒng)帶來了高帶寬、高可靠性的同時(shí),也帶來了高復(fù)雜度的應(yīng)用及系統(tǒng)設(shè)計(jì)。在大飛機(jī)航電網(wǎng)絡(luò)中存在數(shù)十個(gè)AFDX端系統(tǒng)(ES)、數(shù)個(gè)AFDX交換機(jī),系統(tǒng)拓?fù)鋸?fù)雜,給應(yīng)用設(shè)計(jì)帶來了更高的要求。設(shè)計(jì)者在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),還需要熟悉并設(shè)計(jì)AFDX總線相關(guān)配置。由于AFDX總線復(fù)雜的配置特性,造成設(shè)計(jì)者的工作量極大,從而使設(shè)計(jì)周期延長(zhǎng)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)?zhí)峁┮环N基于AFDX總線的發(fā)布訂閱方法和系統(tǒng),用于降低設(shè)計(jì)者的工作量,以避免出現(xiàn)設(shè)計(jì)周期延長(zhǎng)的問題。
為了實(shí)現(xiàn)上述目的,現(xiàn)提出的方案如下:
一種基于AFDX總線的發(fā)布訂閱方法,包括如下步驟:
通過描述的方法對(duì)AFDX端系統(tǒng)和所述AFDX總線上相應(yīng)的總線資源進(jìn)行配置;
配置多個(gè)用于面向應(yīng)用數(shù)據(jù)的發(fā)布訂閱端口,所述發(fā)布訂閱端口為數(shù)據(jù)發(fā)布端口或數(shù)據(jù)接收端口;
配置全局?jǐn)?shù)據(jù)區(qū),所述全局?jǐn)?shù)據(jù)區(qū)用于存儲(chǔ)所述數(shù)據(jù)接收端口所接收的數(shù)據(jù),并根據(jù)接收到的請(qǐng)求向所述數(shù)據(jù)發(fā)布端口轉(zhuǎn)發(fā)與所述請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)。
可選的,所述通過描述的方法,對(duì)AFDX端系統(tǒng)和所述AFDX總線上相應(yīng)的總線資源進(jìn)行配置,包括:
發(fā)布以XML文件為載體的配置表,所述配置表描述有配置參數(shù)和關(guān)聯(lián)關(guān)系;
根據(jù)所述配置參數(shù)對(duì)所述AFDX端系統(tǒng)進(jìn)行配置;
根據(jù)所述關(guān)聯(lián)關(guān)系對(duì)所述總線資源的關(guān)系進(jìn)行配置。
可選的,所述總線資源包括所述AFDX總線的虛擬鏈路和數(shù)據(jù)端口。
可選的,所述配置全局?jǐn)?shù)據(jù)區(qū),包括:
發(fā)布以XML文件為載體的路由配置表,所述路由配置表包括數(shù)據(jù)之間的路由關(guān)系。
一種基于AFDX總線的發(fā)布訂閱系統(tǒng),包括:
發(fā)布訂閱配置模塊,用于通過描述的方法,對(duì)AFDX端系統(tǒng)和所述AFDX總線上相應(yīng)的總線資源進(jìn)行配置;
端口配置模塊,用于配置多個(gè)用于面向應(yīng)用數(shù)據(jù)的發(fā)布訂閱端口,所述發(fā)布訂閱端口為數(shù)據(jù)發(fā)布端口或數(shù)據(jù)接收端口;
發(fā)布訂閱中間模塊,用于配置全局?jǐn)?shù)據(jù)區(qū),所述全局?jǐn)?shù)據(jù)區(qū)用于存儲(chǔ)所述數(shù)據(jù)接收端口所接收的數(shù)據(jù),并根據(jù)接收到的請(qǐng)求向所述數(shù)據(jù)發(fā)布端口轉(zhuǎn)發(fā)與所述請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)。
可選的,所述發(fā)布訂閱配置模塊包括:
配置表發(fā)布單元,用于發(fā)布以XML文件為載體的配置表,所述配置表描述有配置參數(shù)和關(guān)聯(lián)關(guān)系;
第一配置單元,用于根據(jù)所述配置參數(shù)對(duì)所述AFDX端系統(tǒng)進(jìn)行配置;
第二配置單元,用于根據(jù)所述關(guān)聯(lián)關(guān)系對(duì)所述總線資源的關(guān)系進(jìn)行配置。
可選的,所述總線資源包括所述AFDX總線的虛擬鏈路和數(shù)據(jù)端口。
可選的,所述發(fā)布訂閱中間模塊具體用于發(fā)布以XML文件為載體的路由配置表,所述路由配置表包括數(shù)據(jù)之間的路由關(guān)系。
從上述的技術(shù)方案可以看出,本申請(qǐng)公開了一種基于AFDX總線的發(fā)布訂閱方法和系統(tǒng),具體方法和系統(tǒng)為通過描述的方法對(duì)AFDX端系統(tǒng)和AFDX總線上相應(yīng)的總線資源進(jìn)行配置;配置多個(gè)訂閱端口,多個(gè)訂閱端口包括多個(gè)數(shù)據(jù)發(fā)布端口和多個(gè)數(shù)據(jù)接收端口;配置全局?jǐn)?shù)據(jù)區(qū),全局?jǐn)?shù)據(jù)區(qū)用于存儲(chǔ)數(shù)據(jù)接收端口所接收的數(shù)據(jù),并根據(jù)接收到的請(qǐng)求向數(shù)據(jù)發(fā)布端口轉(zhuǎn)發(fā)與請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)。通過以上的方法和系統(tǒng),設(shè)計(jì)者在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),無需面對(duì)AFDX總線復(fù)雜的配置特性,而是在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),只需面對(duì)發(fā)布訂閱端口進(jìn)行數(shù)據(jù)收發(fā)即可,降低了設(shè)計(jì)者的工作量,從而使設(shè)計(jì)周期得到有效控制。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)?zhí)峁┑囊环N基于AFDX總線的發(fā)布訂閱方法實(shí)施例的流程圖;
圖2為本申請(qǐng)?zhí)峁┑囊环N基于AFDX總線的發(fā)布訂閱系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖;
圖3為本申請(qǐng)?zhí)峁┑牧硪环N基于AFDX總線的發(fā)布訂閱系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
實(shí)施例一
圖1為本申請(qǐng)?zhí)峁┑囊环N基于AFDX總線的發(fā)布訂閱方法實(shí)施例的流程圖。
如圖1所示,本實(shí)施例提供的設(shè)計(jì)方法用于簡(jiǎn)化航空應(yīng)用系統(tǒng)的設(shè)計(jì),具體步驟包括:
S101:對(duì)AFDX端系統(tǒng)和AFDX總線的總線資源進(jìn)行配置。
具體來說,基于XML文件的描述方法,利用相應(yīng)的XML文件描述發(fā)布訂閱主題topic和AFDX總線上總線資源的對(duì)應(yīng)關(guān)系,總線資源包括虛擬鏈路、數(shù)據(jù)端口等。具體情況如下:
首先發(fā)布以XML文件為載體的配置表,該配置表內(nèi)包含多種內(nèi)容,其中至少包括配置參數(shù)和關(guān)聯(lián)關(guān)系;
然后,根據(jù)上述配置參數(shù)對(duì)AFDX端系統(tǒng)進(jìn)行配置,具體為配置AFDX端系統(tǒng)的設(shè)備ID、端系統(tǒng)狀態(tài)、端系統(tǒng)名稱。
最后,利用上述XML文件描述的關(guān)聯(lián)關(guān)系對(duì)AFDX總線的總線資源進(jìn)行配置,包括:
配置VL(Virtual link,虛擬鏈路);
配置VL號(hào)、VL方向,配置VL最大幀長(zhǎng)度,配置VL實(shí)際通信物理通道(A網(wǎng)/B網(wǎng)/A B網(wǎng)冗余);
配置接收端口和發(fā)送端口等數(shù)據(jù)端口:
配置接收端口ID、接收端口類型(Sampling_or_Queuing)、接收端口目的分區(qū),接收端口目的UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口;
配置發(fā)送端口ID、目的設(shè)備ID、發(fā)送端口目的分區(qū)、發(fā)送端口目的UDP端口、發(fā)送端口是否使能分幀、目的IP地址類型(組播、單播)、發(fā)送端口類型(周期或者非周期)、發(fā)送端口消息周期、源分區(qū)、源端口。
另外,還包括對(duì)發(fā)布訂閱消息進(jìn)行配置,例如,利用相應(yīng)的程序語言定義發(fā)送端口、發(fā)布端口、發(fā)布數(shù)據(jù)區(qū)、接收端口、訂閱端口、訂閱數(shù)據(jù)區(qū)、AFDX端系統(tǒng)1、AFDX端系統(tǒng)2、AFDX端系統(tǒng)3、AFDX端口0、AFDX端口1等。
其中,配置發(fā)送端口為發(fā)布端口,及其關(guān)聯(lián)的發(fā)布數(shù)據(jù)區(qū)(PTOPIC);配置接收端口為訂閱端口,及其關(guān)聯(lián)的訂閱數(shù)據(jù)區(qū)(STOPIC);AFDX端系統(tǒng)1作為系統(tǒng)訂閱節(jié)點(diǎn),在AFDX端口0上訂閱了燃油油量消息、在AFDX端口1上訂閱了發(fā)動(dòng)機(jī)溫度消息,當(dāng)應(yīng)用層進(jìn)行燃油量數(shù)據(jù)或者發(fā)動(dòng)機(jī)溫度讀取時(shí),不必關(guān)心此數(shù)據(jù)底層通信原理,在上層使用相應(yīng)API即可完成數(shù)據(jù)獲??;
AFDX端系統(tǒng)2作為系統(tǒng)發(fā)布節(jié)點(diǎn),在AFDX端口2上發(fā)布了液壓壓力消息、在AFDX端口3上發(fā)布了剎車角度。對(duì)于液壓壓力傳感器或者剎車角度傳感器設(shè)計(jì)者來說只需要使用相應(yīng)的發(fā)布端口進(jìn)行相關(guān)數(shù)據(jù)發(fā)布即可。
AFDX發(fā)布訂閱配置工具用于保證上層數(shù)據(jù)端口與底層AFDX數(shù)據(jù)的關(guān)聯(lián),保證了應(yīng)用與底層通信的一致性。
S102:配置多個(gè)面向具體應(yīng)用數(shù)據(jù)的發(fā)布訂閱端口。
通過對(duì)總線進(jìn)行配置,提供多個(gè)標(biāo)準(zhǔn)的用于發(fā)布或訂閱的發(fā)布訂閱端口,上述發(fā)布訂閱端口面向具體應(yīng)用數(shù)據(jù),分別包括多個(gè)數(shù)據(jù)發(fā)布端口和多個(gè)數(shù)據(jù)接收端口。
應(yīng)用的設(shè)計(jì)者只需要面對(duì)發(fā)布訂閱端口。對(duì)于傳感器終端或者AFDX遠(yuǎn)程數(shù)據(jù)集中器,只需要面向具體應(yīng)用的數(shù)據(jù)發(fā)布端口,發(fā)布功能應(yīng)用數(shù)據(jù)。對(duì)于航電核心處理機(jī)只需要面向具體應(yīng)用數(shù)據(jù)訂閱端口,訂閱感興趣的應(yīng)用數(shù)據(jù),從而降低了設(shè)計(jì)復(fù)雜度。
例如,可以提供的以下的發(fā)布訂閱端口:
①SubScribeFuelOil端口:訂閱燃油油量端口,直接調(diào)用此端口即可完成燃油油量數(shù)據(jù)的獲?。?/p>
②SubScribeEngineTemperature端口:訂閱發(fā)動(dòng)機(jī)溫度端口,直接調(diào)用此端口即可完成發(fā)動(dòng)機(jī)溫度數(shù)據(jù)的獲?。?/p>
③PublishHydraulicPressure端口:液壓壓力發(fā)布數(shù)據(jù)端口,設(shè)計(jì)者調(diào)用此端口即可將液壓壓力發(fā)布到航空電子AFDX數(shù)據(jù)網(wǎng)絡(luò)上;
④PublishBrakeAngle端口:剎車角度發(fā)布數(shù)據(jù)端口,設(shè)計(jì)者調(diào)用此端口即可將剎車角度發(fā)布到航空電子AFDX數(shù)據(jù)網(wǎng)絡(luò)上。
S103:配置全局?jǐn)?shù)據(jù)區(qū)。
該全局?jǐn)?shù)據(jù)區(qū)面向上述的發(fā)布訂閱端口,即用于接收并存儲(chǔ)數(shù)據(jù)接收端口所接收的數(shù)據(jù);還用于根據(jù)收到的請(qǐng)求和前述關(guān)聯(lián)關(guān)系將與該請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)到數(shù)據(jù)發(fā)布端口。
數(shù)據(jù)分發(fā)服務(wù)DDS(DataDistributionService)是對(duì)象管理組織(OMG)在HLA及CORBA等標(biāo)準(zhǔn)的基礎(chǔ)上制定的新一代分布式實(shí)時(shí)通信中間件技術(shù)規(guī)范,DDS采用發(fā)布/訂閱體系架構(gòu),強(qiáng)調(diào)以數(shù)據(jù)為中心,提供豐富的QoS服務(wù)質(zhì)量策略,能保障數(shù)據(jù)進(jìn)行實(shí)時(shí)、高效、靈活地分發(fā),可滿足各種分布式實(shí)時(shí)通信應(yīng)用需求。DDS信息分發(fā)中間件是一種輕便的、能夠提供實(shí)時(shí)信息傳送的中間件技術(shù)。
這里,基于數(shù)據(jù)分發(fā)服務(wù)DDS,完成上層發(fā)布訂閱主題TOPIC數(shù)據(jù)的管理以及在AFDX總線上的分發(fā),首先從全局?jǐn)?shù)據(jù)區(qū)讀取相應(yīng)發(fā)布訂閱TOPIC數(shù)據(jù),然后根據(jù)預(yù)先生成的XML文件,將指定發(fā)布訂閱主題TOPIC數(shù)據(jù)發(fā)布到AFDX總線之上,或在AFDX總線上訂閱相應(yīng)的發(fā)布訂閱TOPIC數(shù)據(jù)。
根據(jù)上述XML文件配置,將應(yīng)用發(fā)布到全局?jǐn)?shù)據(jù)區(qū)的FuelOil數(shù)據(jù)區(qū)的數(shù)據(jù),通過AFDX總線端口0發(fā)送到AFDX網(wǎng)絡(luò)當(dāng)中。將AFDX網(wǎng)絡(luò)當(dāng)中端口2所接收的數(shù)據(jù)進(jìn)行解析,解析完成之后放入到HydraulicPressure數(shù)據(jù)區(qū),等待應(yīng)用層進(jìn)行數(shù)據(jù)訂閱。
在數(shù)據(jù)發(fā)布具體應(yīng)用中,當(dāng)相應(yīng)的航空應(yīng)用系統(tǒng)調(diào)用數(shù)據(jù)發(fā)布端口,數(shù)據(jù)寫入全局?jǐn)?shù)據(jù)區(qū)。全局?jǐn)?shù)據(jù)區(qū)保留著所有數(shù)據(jù)的實(shí)例,通過內(nèi)部服務(wù)質(zhì)量的設(shè)定,來完成所有數(shù)據(jù)的同步。同時(shí)發(fā)查詢XML文件,通過該配置文件中的主題TOPIC與AFDX總線的總線資源的關(guān)聯(lián)關(guān)系,完成發(fā)布數(shù)據(jù)到AFDX總線的數(shù)據(jù)轉(zhuǎn)發(fā)。
在數(shù)據(jù)訂閱過程中,實(shí)時(shí)接收AFDX總線數(shù)據(jù),通過查詢XML文件,將AFDX總線數(shù)據(jù)放入對(duì)應(yīng)主題TOPIC的全局?jǐn)?shù)據(jù)區(qū)。當(dāng)航空應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)訂閱時(shí),直接從發(fā)布訂閱中間件的全局?jǐn)?shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)訂閱,無需關(guān)心底層AFDX總線。
從上述技術(shù)方案可以看出,本實(shí)施例提供了一種基于AFDX總線的發(fā)布訂閱方法,具體方法為通過描述的方法對(duì)AFDX端系統(tǒng)和AFDX總線上相應(yīng)的總線資源進(jìn)行配置;配置多個(gè)訂閱端口,多個(gè)訂閱端口包括多個(gè)數(shù)據(jù)發(fā)布端口和多個(gè)數(shù)據(jù)接收端口;配置全局?jǐn)?shù)據(jù)區(qū),全局?jǐn)?shù)據(jù)區(qū)用于存儲(chǔ)數(shù)據(jù)接收端口所接收的數(shù)據(jù),并根據(jù)接收到的請(qǐng)求向數(shù)據(jù)發(fā)布端口轉(zhuǎn)發(fā)與請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)。通過以上的方法,設(shè)計(jì)者在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),無需面對(duì)AFDX總線復(fù)雜的配置特性,而是在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),只需面對(duì)發(fā)布訂閱端口進(jìn)行數(shù)據(jù)收發(fā)即可,降低了設(shè)計(jì)者的工作量,從而使設(shè)計(jì)周期得到有效控制。
實(shí)施例二
圖2為本申請(qǐng)?zhí)峁┑囊环N基于AFDX總線的發(fā)布訂閱系統(tǒng)實(shí)施例的結(jié)構(gòu)框圖。
如圖2所示,本實(shí)施例提供的設(shè)計(jì)系統(tǒng)用于簡(jiǎn)化航空應(yīng)用系統(tǒng)的設(shè)計(jì),具體包括發(fā)布訂閱配置模塊10、端口配置模塊20和發(fā)布訂閱中間模塊30。
發(fā)布訂閱配置模塊10用于對(duì)AFDX端系統(tǒng)和AFDX總線的總線資源進(jìn)行配置。
具體來說,基于XML文件的描述方法,利用相應(yīng)的XML文件描述發(fā)布訂閱主題topic和AFDX總線上總線資源的對(duì)應(yīng)關(guān)系,總線資源包括虛擬鏈路、數(shù)據(jù)端口等。具體包括配置表發(fā)布單元11、第一配置單元12和第二配置單元13,如圖3所示。
配置表發(fā)布單元11用于發(fā)布以XML文件為載體的配置表,該配置表內(nèi)包含多種內(nèi)容,其中至少包括配置參數(shù)和關(guān)聯(lián)關(guān)系;
第一配置單元12用于根據(jù)上述配置參數(shù)對(duì)AFDX端系統(tǒng)進(jìn)行配置,具體為配置AFDX端系統(tǒng)的設(shè)備ID、端系統(tǒng)狀態(tài)、端系統(tǒng)名稱。
第二配置單元13用于利用上述XML文件描述的關(guān)聯(lián)關(guān)系對(duì)AFDX總線的總線資源進(jìn)行配置,包括:
配置VL(Virtual link,虛擬鏈路);
配置VL號(hào)、VL方向,配置VL最大幀長(zhǎng)度,配置VL實(shí)際通信物理通道(A網(wǎng)/B網(wǎng)/A B網(wǎng)冗余);
配置接收端口和發(fā)送端口等數(shù)據(jù)端口:
配置接收端口ID、接收端口類型(Sampling_or_Queuing)、接收端口目的分區(qū),接收端口目的UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口;
配置發(fā)送端口ID、目的設(shè)備ID、發(fā)送端口目的分區(qū)、發(fā)送端口目的UDP端口、發(fā)送端口是否使能分幀、目的IP地址類型(組播、單播)、發(fā)送端口類型(周期或者非周期)、發(fā)送端口消息周期、源分區(qū)、源端口。
另外,還包括對(duì)發(fā)布訂閱消息進(jìn)行配置,例如,利用相應(yīng)的程序語言定義發(fā)送端口、發(fā)布端口、發(fā)布數(shù)據(jù)區(qū)、接收端口、訂閱端口、訂閱數(shù)據(jù)區(qū)、AFDX端系統(tǒng)1、AFDX端系統(tǒng)2、AFDX端系統(tǒng)3、AFDX端口0、AFDX端口1等。
其中,配置發(fā)送端口為發(fā)布端口,及其關(guān)聯(lián)的發(fā)布數(shù)據(jù)區(qū)(PTOPIC);配置接收端口為訂閱端口,及其關(guān)聯(lián)的訂閱數(shù)據(jù)區(qū)(STOPIC);AFDX端系統(tǒng)1作為系統(tǒng)訂閱節(jié)點(diǎn),在AFDX端口0上訂閱了燃油油量消息、在AFDX端口1上訂閱了發(fā)動(dòng)機(jī)溫度消息,當(dāng)應(yīng)用層進(jìn)行燃油量數(shù)據(jù)或者發(fā)動(dòng)機(jī)溫度讀取時(shí),不必關(guān)心此數(shù)據(jù)底層通信原理,在上層使用相應(yīng)API即可完成數(shù)據(jù)獲取;
AFDX端系統(tǒng)2作為系統(tǒng)發(fā)布節(jié)點(diǎn),在AFDX端口2上發(fā)布了液壓壓力消息、在AFDX端口3上發(fā)布了剎車角度。對(duì)于液壓壓力傳感器或者剎車角度傳感器設(shè)計(jì)者來說只需要使用相應(yīng)的發(fā)布端口進(jìn)行相關(guān)數(shù)據(jù)發(fā)布即可。
AFDX發(fā)布訂閱配置工具用于保證上層數(shù)據(jù)端口與底層AFDX數(shù)據(jù)的關(guān)聯(lián),保證了應(yīng)用與底層通信的一致性。
端口配置模塊20用于配置多個(gè)面向具體應(yīng)用數(shù)據(jù)的發(fā)布訂閱端口。
通過對(duì)總線進(jìn)行配置,提供多個(gè)標(biāo)準(zhǔn)的用于發(fā)布或訂閱的發(fā)布訂閱端口,上述發(fā)布訂閱端口面向具體應(yīng)用數(shù)據(jù),分別包括多個(gè)數(shù)據(jù)發(fā)布端口和多個(gè)數(shù)據(jù)接收端口。
應(yīng)用的設(shè)計(jì)者只需要面對(duì)發(fā)布訂閱端口。對(duì)于傳感器終端或者AFDX遠(yuǎn)程數(shù)據(jù)集中器,只需要面向具體應(yīng)用的數(shù)據(jù)發(fā)布端口,發(fā)布功能應(yīng)用數(shù)據(jù)。對(duì)于航電核心處理機(jī)只需要面向具體應(yīng)用數(shù)據(jù)訂閱端口,訂閱感興趣的應(yīng)用數(shù)據(jù),從而降低了設(shè)計(jì)復(fù)雜度。
例如,可以提供的以下的發(fā)布訂閱端口:
①SubScribeFuelOil端口:訂閱燃油油量端口,直接調(diào)用此端口即可完成燃油油量數(shù)據(jù)的獲?。?/p>
②SubScribeEngineTemperature端口:訂閱發(fā)動(dòng)機(jī)溫度端口,直接調(diào)用此端口即可完成發(fā)動(dòng)機(jī)溫度數(shù)據(jù)的獲?。?/p>
③PublishHydraulicPressure端口:液壓壓力發(fā)布數(shù)據(jù)端口,設(shè)計(jì)者調(diào)用此端口即可將液壓壓力發(fā)布到航空電子AFDX數(shù)據(jù)網(wǎng)絡(luò)上;
④PublishBrakeAngle端口:剎車角度發(fā)布數(shù)據(jù)端口,設(shè)計(jì)者調(diào)用此端口即可將剎車角度發(fā)布到航空電子AFDX數(shù)據(jù)網(wǎng)絡(luò)上。
發(fā)布訂閱中間模塊30用于配置全局?jǐn)?shù)據(jù)區(qū)。
該全局?jǐn)?shù)據(jù)區(qū)面向上述的發(fā)布訂閱端口,即用于接收并存儲(chǔ)數(shù)據(jù)接收端口所接收的數(shù)據(jù);還用于根據(jù)收到的請(qǐng)求和前述關(guān)聯(lián)關(guān)系將與該請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)到數(shù)據(jù)發(fā)布端口。
數(shù)據(jù)分發(fā)服務(wù)DDS(DataDistributionService)是對(duì)象管理組織(OMG)在HLA及CORBA等標(biāo)準(zhǔn)的基礎(chǔ)上制定的新一代分布式實(shí)時(shí)通信中間件技術(shù)規(guī)范,DDS采用發(fā)布/訂閱體系架構(gòu),強(qiáng)調(diào)以數(shù)據(jù)為中心,提供豐富的QoS服務(wù)質(zhì)量策略,能保障數(shù)據(jù)進(jìn)行實(shí)時(shí)、高效、靈活地分發(fā),可滿足各種分布式實(shí)時(shí)通信應(yīng)用需求。DDS信息分發(fā)中間件是一種輕便的、能夠提供實(shí)時(shí)信息傳送的中間件技術(shù)。
這里,基于數(shù)據(jù)分發(fā)服務(wù)DDS,完成上層發(fā)布訂閱主題TOPIC數(shù)據(jù)的管理以及在AFDX總線上的分發(fā),首先從全局?jǐn)?shù)據(jù)區(qū)讀取相應(yīng)發(fā)布訂閱TOPIC數(shù)據(jù),然后根據(jù)預(yù)先生成的XML文件,將指定發(fā)布訂閱主題TOPIC數(shù)據(jù)發(fā)布到AFDX總線之上,或在AFDX總線上訂閱相應(yīng)的發(fā)布訂閱TOPIC數(shù)據(jù)。
根據(jù)上述XML文件配置,將應(yīng)用發(fā)布到全局?jǐn)?shù)據(jù)區(qū)的FuelOil數(shù)據(jù)區(qū)的數(shù)據(jù),通過AFDX總線端口0發(fā)送到AFDX網(wǎng)絡(luò)當(dāng)中。將AFDX網(wǎng)絡(luò)當(dāng)中的端口2所接收的數(shù)據(jù)進(jìn)行解析,解析完成之后放入到HydraulicPressure數(shù)據(jù)區(qū),等待應(yīng)用層進(jìn)行數(shù)據(jù)訂閱。
在數(shù)據(jù)發(fā)布具體應(yīng)用中,當(dāng)相應(yīng)的航空應(yīng)用系統(tǒng)調(diào)用數(shù)據(jù)發(fā)布端口,數(shù)據(jù)寫入全局?jǐn)?shù)據(jù)區(qū)。全局?jǐn)?shù)據(jù)區(qū)保留著所有數(shù)據(jù)的實(shí)例,通過內(nèi)部服務(wù)質(zhì)量的設(shè)定,來完成所有數(shù)據(jù)的同步。同時(shí)發(fā)查詢XML文件,通過該配置文件中的主題TOPIC與AFDX總線的總線資源的關(guān)聯(lián)關(guān)系,完成發(fā)布數(shù)據(jù)到AFDX總線的數(shù)據(jù)轉(zhuǎn)發(fā)。
在數(shù)據(jù)訂閱過程中,實(shí)時(shí)接收AFDX總線數(shù)據(jù),通過查詢XML文件,將AFDX總線數(shù)據(jù)放入對(duì)應(yīng)主題TOPIC的全局?jǐn)?shù)據(jù)區(qū)。當(dāng)航空應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)訂閱時(shí),直接從發(fā)布訂閱中間件的全局?jǐn)?shù)據(jù)區(qū)進(jìn)行數(shù)據(jù)訂閱,無需關(guān)心底層AFDX總線。
從上述技術(shù)方案可以看出,本實(shí)施例提供了一種基于AFDX總線的發(fā)布訂閱系統(tǒng),具體為通過描述的方法對(duì)AFDX端系統(tǒng)和AFDX總線上相應(yīng)的總線資源進(jìn)行配置;配置多個(gè)訂閱端口,多個(gè)訂閱端口包括多個(gè)數(shù)據(jù)發(fā)布端口和多個(gè)數(shù)據(jù)接收端口;配置全局?jǐn)?shù)據(jù)區(qū),全局?jǐn)?shù)據(jù)區(qū)用于存儲(chǔ)數(shù)據(jù)接收端口所接收的數(shù)據(jù),并根據(jù)接收到的請(qǐng)求向數(shù)據(jù)發(fā)布端口轉(zhuǎn)發(fā)與請(qǐng)求相對(duì)應(yīng)的數(shù)據(jù)。通過以上的系統(tǒng),設(shè)計(jì)者在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),無需面對(duì)AFDX總線復(fù)雜的配置特性,而是在按照系統(tǒng)方案進(jìn)行應(yīng)用邏輯設(shè)計(jì)的同時(shí),只需面對(duì)發(fā)布訂閱端口進(jìn)行數(shù)據(jù)收發(fā)即可,降低了設(shè)計(jì)者的工作量,從而使設(shè)計(jì)周期得到有效控制。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
以上對(duì)本申請(qǐng)所提供的技術(shù)方案進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。