本公開涉及數(shù)據(jù)通信,尤其涉及一種數(shù)據(jù)訂閱方法、裝置及系統(tǒng)。
背景技術(shù):
1、隨著現(xiàn)代通信和網(wǎng)絡(luò)技術(shù)與汽車產(chǎn)業(yè)的融合,汽車不斷向智能化和網(wǎng)絡(luò)化發(fā)展,汽車的智能座艙、自動駕駛等功能的多樣性、豐富性、安全性等需求變得越來越高,從而汽車內(nèi)部通信的數(shù)據(jù)量逐漸增大。soa(service-oriented?architecture,面向服務(wù)的架構(gòu))是一種高層級的架構(gòu)設(shè)計理念,可通過在網(wǎng)絡(luò)上使用基于通用通信語言的服務(wù)接口,讓軟件組件可重復(fù)使用。因此,基于soa架構(gòu)要將汽車內(nèi)部的ecu(electronic?control?unit,電子控制單元)作為提供服務(wù)的節(jié)點。
2、但是,車輛當(dāng)中存在很多沒有以太網(wǎng)功能的ecu,這些ecu并不包含于現(xiàn)有的soa架構(gòu),抓取這些ecu的數(shù)據(jù)相關(guān)技術(shù)一般采用兩種方法。第一種是選用帶有以太網(wǎng)的控制器芯片的硬件,升級ecu的芯片使得其能運行中間件軟件進行訂閱、發(fā)布,但是該方法所需成本太高;第二種是在軟件中設(shè)置一個用于數(shù)據(jù)代理轉(zhuǎn)發(fā)的中間件,即some/ip(scalableservice-oriented?middleware?overip,位于ip協(xié)議層以上的一種面向服務(wù)的可伸縮的中間件),通過can/canfd/lin等總線將數(shù)據(jù)發(fā)給some/ip機制,some/ip機制再去對這些數(shù)據(jù)進行代理轉(zhuǎn)發(fā),這一應(yīng)用雖然解決了can網(wǎng)絡(luò)的廣播式通信造成帶寬的過多占用的問題,但是該機制只定義了比較基礎(chǔ)的規(guī)范,應(yīng)用互操作性難以得到保證。例如,專利202010307595.0提供了車載交互方法、裝置和存儲介質(zhì),其方法要求通過some/ip的服務(wù)發(fā)現(xiàn)機制獲取所述車載系統(tǒng)中支持交互服務(wù)的被控制設(shè)備,其要求在進行交互的設(shè)備都需要采用some/ip機制并且服務(wù)已事先定義好,對于不采用some/ip通信的傳統(tǒng)ecu,仍然無法采用基于some/ip機制的服務(wù)發(fā)現(xiàn)機制進行交互。
技術(shù)實現(xiàn)思路
1、本公開提供了一種數(shù)據(jù)訂閱方法、裝置、電子設(shè)備和存儲介質(zhì)。
2、根據(jù)本公開的第一方面,提供了一種數(shù)據(jù)訂閱方法,該方法包括:接收第一ecu控制模塊發(fā)送的數(shù)據(jù)訂閱或發(fā)布請求,第一ecu控制模塊支持第一數(shù)據(jù)格式;響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù),第二ecu控制模塊支持第二數(shù)據(jù)格式;將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊。
3、在本公開中,響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù)包括:從數(shù)據(jù)訂閱請求中獲取數(shù)據(jù)類型標(biāo)識,其中數(shù)據(jù)類型標(biāo)識用于標(biāo)記不同的指定功能請求;根據(jù)數(shù)據(jù)類型標(biāo)識,從第二ecu控制模塊獲取數(shù)據(jù)類型標(biāo)識對應(yīng)的數(shù)據(jù)。
4、在本公開中,該方法還包括:根據(jù)數(shù)據(jù)類型標(biāo)識,確定第二ecu控制模塊的標(biāo)識,第二ecu控制模塊的標(biāo)識用于唯一標(biāo)記第二ecu控制模塊。
5、在本公開中,從第二ecu控制模塊獲取數(shù)據(jù)包括:通過第二ecu控制模塊的標(biāo)識,識別第二ecu控制模塊對應(yīng)的通信接口,通信接口包括can、can?fd、lin中的至少一個;通過通信接口,獲取第二數(shù)據(jù)格式的數(shù)據(jù)。
6、在本公開中,將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊包括:將第二數(shù)據(jù)格式的數(shù)據(jù),轉(zhuǎn)換為dds或some?ip格式;將dds或some?ip格式的數(shù)據(jù),通過以太網(wǎng)通信發(fā)送至第一ecu控制模塊。
7、在本公開中,從第二ecu控制模塊獲取數(shù)據(jù)包括:通過第二ecu控制模塊的標(biāo)識,識別第二ecu控制模塊對應(yīng)的以太網(wǎng)接口;通過以太網(wǎng)接口,獲取第二數(shù)據(jù)格式的數(shù)據(jù),第二數(shù)據(jù)格式為dds或some?ip格式。
8、在本公開中,將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊包括:對dds或some?ip格式的數(shù)據(jù)進行解析,以獲取第一數(shù)據(jù)格式的數(shù)據(jù);通過can、can?fd、lin接口中的至少一個,將第一數(shù)據(jù)格式的數(shù)據(jù)發(fā)送至第一ecu控制模塊。
9、在本公開中,將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊包括:根據(jù)路由表,確定第一ecu控制模塊接收數(shù)據(jù)的接口標(biāo)識,路由表中包括交換機的數(shù)據(jù)接收接口標(biāo)識和數(shù)據(jù)發(fā)送接口標(biāo)識之間的對應(yīng)關(guān)系;通過接口標(biāo)識對應(yīng)的接口,將數(shù)據(jù)發(fā)送至第一ecu控制模塊。
10、綜上,通過接收第一ecu控制模塊發(fā)送的數(shù)據(jù)訂閱或發(fā)布請求,第一ecu控制模塊支持第一數(shù)據(jù)格式;響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù),第二ecu控制模塊支持第二數(shù)據(jù)格式;將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊,將接收到不支持以太網(wǎng)功能的數(shù)據(jù)格式轉(zhuǎn)換為支持以太網(wǎng)功能的數(shù)據(jù)格式,達到低時延效果。
11、根據(jù)本公開的第二方面,提供了一種數(shù)據(jù)訂閱裝置,該裝置包括:接收單元,用于接收第一ecu控制模塊發(fā)送的數(shù)據(jù)訂閱或發(fā)布請求,第一ecu控制模塊支持第一數(shù)據(jù)格式;響應(yīng)單元,用于響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù),第二ecu控制模塊支持第二數(shù)據(jù)格式;發(fā)送單元,用于交換機將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊。
12、綜上,通過數(shù)據(jù)訂閱裝置,通過接收第一ecu控制模塊發(fā)送的數(shù)據(jù)訂閱請求,第一ecu控制模塊支持第一數(shù)據(jù)格式;響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù),第二ecu控制模塊支持第二數(shù)據(jù)格式;將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊,將接收到不支持以太網(wǎng)功能的數(shù)據(jù)格式轉(zhuǎn)換為支持以太網(wǎng)功能的數(shù)據(jù)格式,達到低時延的效果。
13、根據(jù)本公開的第三方面,提供了一種數(shù)據(jù)訂閱系統(tǒng),該系統(tǒng)應(yīng)用于車輛基于soa架構(gòu)的多個ecu控制模塊數(shù)據(jù)通信場景下的數(shù)據(jù)格式轉(zhuǎn)換,該系統(tǒng)包括:第一ecu控制模塊,第一ecu控制模塊支持第一數(shù)據(jù)格式;第二ecu控制模塊,第二ecu控制模塊支持第二數(shù)據(jù)格式;交換機;其中,第一ecu控制模塊向交換機發(fā)送數(shù)據(jù)訂閱或發(fā)布請求,響應(yīng)于數(shù)據(jù)訂閱請求,交換機從第二ecu控制模塊獲取數(shù)據(jù),將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊。
14、在本公開中,該系統(tǒng)還包括:存儲器,存儲器存儲有路由表,路由表中包括交換機的數(shù)據(jù)接收接口標(biāo)識和數(shù)據(jù)發(fā)送接口標(biāo)識之間的對應(yīng)關(guān)系。
15、根據(jù)本公開的實施例,通過數(shù)據(jù)訂閱系統(tǒng),基于交換機的ecu控制模塊實現(xiàn)將接收到不支持以太網(wǎng)功能的數(shù)據(jù)格式轉(zhuǎn)換為支持以太網(wǎng)功能的數(shù)據(jù)格式,達到低時延的效果。
16、根據(jù)本公開的第四方面,提供了一種電子設(shè)備,包括:
17、至少一個處理器;以及
18、與至少一個處理器通信連接的存儲器;其中,
19、存儲器存儲有可被至少一個處理器執(zhí)行的指令,指令被至少一個處理器執(zhí)行,以使至少一個處理器能夠執(zhí)行前述第一方面的方法。
20、根據(jù)本公開的第五方面,提供了一種存儲有計算機指令的非瞬時計算機可讀存儲介質(zhì),其中,計算機指令用于使計算機執(zhí)行前述第一方面的方法。
21、根據(jù)本公開的第六方面,提供了一種計算機程序產(chǎn)品,包括計算機程序,計算機程序在被處理器執(zhí)行時實現(xiàn)如前述第一方面的方法。
22、綜上所述,通過接收第一ecu控制模塊發(fā)送的數(shù)據(jù)訂閱或發(fā)布請求,第一ecu控制模塊支持第一數(shù)據(jù)格式;響應(yīng)于數(shù)據(jù)訂閱請求,從第二ecu控制模塊獲取數(shù)據(jù),第二ecu控制模塊支持第二數(shù)據(jù)格式;將數(shù)據(jù)由第二數(shù)據(jù)格式轉(zhuǎn)換為第一數(shù)據(jù)格式,并將格式轉(zhuǎn)換后的數(shù)據(jù)發(fā)送至第一ecu控制模塊,將接收到不支持以太網(wǎng)功能的數(shù)據(jù)格式轉(zhuǎn)換為支持以太網(wǎng)功能的數(shù)據(jù)格式,提高了基于can協(xié)議傳輸?shù)膃cu與基于車載以太網(wǎng)傳輸?shù)膃cu之間信息交互地靈活性,根據(jù)不同ecu控制模塊的訂閱功能需求或者發(fā)布功能需求快速作出不同的響應(yīng),從而可以方便實現(xiàn)不同ecu之間的輕量級數(shù)據(jù)交互,達到低延時、高可靠的效果,且可在多數(shù)據(jù)、高并發(fā)地應(yīng)用場景下靈活應(yīng)用。
23、應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識本技術(shù)的實施例的關(guān)鍵或重要特征,也不用于限制本技術(shù)的范圍。本技術(shù)的其它特征將通過以下的說明書而變得容易理解。