本技術(shù)涉及車載通信領(lǐng)域或其他相關(guān)領(lǐng)域,具體而言,涉及一種車載服務(wù)的調(diào)度系統(tǒng)以及車載服務(wù)的調(diào)度方法。
背景技術(shù):
1、隨著汽車電子技術(shù)的高速發(fā)展,傳統(tǒng)的汽車通信系統(tǒng)已逐漸無法滿足日益增長的數(shù)據(jù)傳輸需求,以太網(wǎng)技術(shù)因其高速、高可靠性和成本效益等優(yōu)勢被引入汽車通信領(lǐng)域,形成了汽車以太網(wǎng),從而使得基于服務(wù)的通信方式在mcu側(cè)被廣泛應(yīng)用。
2、為了更好地管理和優(yōu)化車載以太網(wǎng)通信,汽車行業(yè)采用服務(wù)導(dǎo)向架構(gòu)(soa:service-oriented?architecture)。soa作為一種軟件設(shè)計模式,采用了交換機式網(wǎng)絡(luò)和點對點的通信方式,它將應(yīng)用程序的不同功能模塊化為獨立的服務(wù),這些服務(wù)可以通過網(wǎng)絡(luò)進行通信和交互,也即允許各個控制器(mcu:microcontroller?unit)提供特定的服務(wù),并通過以太網(wǎng)與其他控制器進行通信,從而實現(xiàn)復(fù)雜的功能和任務(wù)。相比其他領(lǐng)域?qū)cu應(yīng)用的要求,汽車控制系統(tǒng)中對mcu的要求更加苛刻,既有速度和性能上的要求,又需要保證系統(tǒng)的可靠性和安全性,為了應(yīng)對各種復(fù)雜應(yīng)用的場景,需要服務(wù)調(diào)度需求的場景變得越來越多,而隨著車載系統(tǒng)變得越來越復(fù)雜,單個mcu可能需要處理大量的基于服務(wù)的任務(wù),這會導(dǎo)致cpu負載過高,影響實時性和系統(tǒng)性能。
3、為了標(biāo)準化車載以太網(wǎng)通信,cp?autosar(classic?platform?autosar)標(biāo)準應(yīng)運而生,該標(biāo)準定義了一套屬于bsw組件中的一部分的服務(wù)發(fā)現(xiàn)機制,允許車載網(wǎng)絡(luò)中的設(shè)備和服務(wù)進行自我發(fā)現(xiàn)和注冊。然而,傳統(tǒng)的cp?autosar標(biāo)準主要關(guān)注靜態(tài)服務(wù)分配,即在系統(tǒng)部署和配置階段將服務(wù)固定分配給特定的mcu,從而導(dǎo)致只關(guān)注當(dāng)前mcu的服務(wù)發(fā)現(xiàn)模塊已使用的服務(wù),并不關(guān)注整個車載以太網(wǎng)絡(luò)中其他服務(wù),當(dāng)單個mcu功能復(fù)雜以及基于服務(wù)的任務(wù)比較重,對于cpu以及內(nèi)存的需求也比較大,cpu的平均負載消耗相對于其他mcu占比也比較重,這限制了整個車載以太網(wǎng)網(wǎng)絡(luò)的靈活性和性能。
4、針對相關(guān)技術(shù)中微控制單元的負載率過高,導(dǎo)致運行微控制單元中的車載服務(wù)時存在運行效率低的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)思路
1、本技術(shù)的主要目的在于提供一種車載服務(wù)的調(diào)度系統(tǒng)以及車載服務(wù)的調(diào)度方法,以解決相關(guān)技術(shù)中微控制單元的負載率過高,導(dǎo)致運行微控制單元中的車載服務(wù)時存在運行效率低的問題。
2、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的一個方面,提供了一種車載服務(wù)的調(diào)度系統(tǒng)。該系統(tǒng)包括:服務(wù)發(fā)現(xiàn)模塊,用于確定車載軟件中第一微控制單元運行的車載服務(wù),得到m個車載服務(wù),并獲取第一微控制單元的負載率數(shù)據(jù),將m個車載服務(wù)的服務(wù)信息和負載率數(shù)據(jù)發(fā)送至服務(wù)調(diào)度模塊和服務(wù)管理模塊,其中,服務(wù)管理模塊用于存儲m個服務(wù)信息和負載率數(shù)據(jù),m為正整數(shù);服務(wù)調(diào)度模塊,用于在接收到m個服務(wù)信息和負載率數(shù)據(jù)的情況下,確定每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù),根據(jù)m個服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定n個待調(diào)度服務(wù),并將n個待調(diào)度服務(wù)調(diào)度至車載軟件中的k個第二微控制單元,其中,n小于m,n、k為正整數(shù)。
3、進一步地,服務(wù)調(diào)度模塊包括調(diào)度表模塊,根據(jù)m個服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定n個待調(diào)度服務(wù)包括:調(diào)度表模塊對m個服務(wù)權(quán)重數(shù)據(jù)進行倒序排序,得到權(quán)重數(shù)據(jù)序列,并判斷負載率數(shù)據(jù)是否大于負載率閾值;在負載率數(shù)據(jù)大于負載率閾值的情況下,調(diào)度表模塊獲取權(quán)重數(shù)據(jù)序列中處于預(yù)設(shè)位序的n個服務(wù)權(quán)重數(shù)據(jù),將n個服務(wù)權(quán)重數(shù)據(jù)關(guān)聯(lián)的車載服務(wù)確定為n個待調(diào)度服務(wù)。
4、進一步地,服務(wù)調(diào)度模塊還包括連接管理子模塊,調(diào)度表模塊還用于將n個待調(diào)度服務(wù)的服務(wù)信息通過連接管理子模塊進行轉(zhuǎn)發(fā)。
5、進一步地,服務(wù)調(diào)度模塊還包括節(jié)點調(diào)度模塊,節(jié)點調(diào)度模塊包括主節(jié)點調(diào)度模塊和從節(jié)點調(diào)度模塊,主節(jié)點調(diào)度模塊用于緩存由調(diào)度表模塊發(fā)送的n個待調(diào)度服務(wù)的服務(wù)信息,在根據(jù)n個待調(diào)度服務(wù)的服務(wù)信息生成服務(wù)調(diào)度請求的情況下,向從節(jié)點調(diào)度模塊發(fā)送服務(wù)調(diào)度請求。
6、進一步地,從節(jié)點調(diào)度模塊用于識別服務(wù)調(diào)度請求,得到n個待調(diào)度服務(wù)的服務(wù)信息,并根據(jù)n個待調(diào)度服務(wù)的服務(wù)信息對n個待調(diào)度服務(wù)依次執(zhí)行服務(wù)調(diào)度操作。
7、進一步地,從節(jié)點調(diào)度模塊還用于判斷n個待調(diào)度服務(wù)是否調(diào)度完畢,在n個待調(diào)度服務(wù)調(diào)度完畢的情況下,生成服務(wù)更新請求,并發(fā)送服務(wù)更新請求。
8、進一步地,服務(wù)調(diào)度模塊還包括會話處理模塊,會話處理模塊用于在接收到服務(wù)更新請求的情況下,更新第一微控制單元的負載率數(shù)據(jù)、第一微控制單元中運行的車載服務(wù)以及每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù),并將更新后的負載率數(shù)據(jù)以及更新后的車載服務(wù)發(fā)送至服務(wù)管理模塊,其中,服務(wù)更新請求是由服務(wù)調(diào)度模塊中從節(jié)點調(diào)度模塊生成,服務(wù)更新請求用于指示n個待調(diào)度服務(wù)調(diào)度完畢。
9、為了實現(xiàn)上述目的,根據(jù)本技術(shù)的另一方面,提供了一種車載服務(wù)的調(diào)度方法。該方法包括:確定第一微控制單元中運行的車載服務(wù),得到m個車載服務(wù),并獲取第一微控制單元的負載率數(shù)據(jù),其中,每個車載服務(wù)是指應(yīng)用于服務(wù)的通信協(xié)議架構(gòu),第一微控制單元關(guān)聯(lián)服務(wù)調(diào)度模塊,m為正整數(shù);確定每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù),得到m個服務(wù)權(quán)重數(shù)據(jù),控制服務(wù)調(diào)度模塊根據(jù)m個服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定n個待調(diào)度服務(wù);控制服務(wù)調(diào)度模塊將n個待調(diào)度服務(wù)調(diào)度至k個第二微控制單元,其中,第一微控制單元和k個第二微控制單元是指設(shè)置在車載軟件中的不同微控制單元,n小于m,n、k為正整數(shù)。
10、進一步地,確定每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù)包括:獲取每個車載服務(wù)的帶寬占比數(shù)據(jù),得到m個帶寬占比數(shù)據(jù);根據(jù)第一微控制單元中運行的車載服務(wù)的總數(shù)確定每個車載服務(wù)的初始權(quán)重數(shù)據(jù),得到m個初始權(quán)重數(shù)據(jù);對于一個車載服務(wù),利用車載服務(wù)的帶寬占比數(shù)據(jù)對初始權(quán)重數(shù)據(jù)進行調(diào)整,得到車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù)。
11、進一步地,控制服務(wù)調(diào)度模塊根據(jù)m個服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定n個待調(diào)度服務(wù)包括:對m個服務(wù)權(quán)重數(shù)據(jù)進行倒序排序,得到權(quán)重數(shù)據(jù)序列;獲取負載率閾值,判斷負載率數(shù)據(jù)是否大于負載率閾值;在負載率數(shù)據(jù)大于負載率閾值的情況下,獲取權(quán)重數(shù)據(jù)序列中處于預(yù)設(shè)位序的n個服務(wù)權(quán)重數(shù)據(jù),將n個服務(wù)權(quán)重數(shù)據(jù)關(guān)聯(lián)的車載服務(wù)確定為n個待調(diào)度服務(wù)。
12、通過本技術(shù),采用以下步驟:服務(wù)發(fā)現(xiàn)模塊,用于確定車載軟件中第一微控制單元運行的車載服務(wù),得到m個車載服務(wù),并獲取第一微控制單元的負載率數(shù)據(jù),將m個車載服務(wù)的服務(wù)信息和負載率數(shù)據(jù)發(fā)送至服務(wù)調(diào)度模塊和服務(wù)管理模塊,其中,服務(wù)管理模塊用于存儲m個服務(wù)信息和負載率數(shù)據(jù),m為正整數(shù);服務(wù)調(diào)度模塊,用于在接收到m個服務(wù)信息和負載率數(shù)據(jù)的情況下,確定每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù),根據(jù)m個服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定n個待調(diào)度服務(wù),并將n個待調(diào)度服務(wù)調(diào)度至車載軟件中的k個第二微控制單元,其中,n小于m,n、k為正整數(shù),解決了相關(guān)技術(shù)中微控制單元的負載率過高,導(dǎo)致運行微控制單元中的車載服務(wù)時存在運行效率低的問題,通過由服務(wù)發(fā)現(xiàn)模塊確定第一微控制單元中運行的車載服務(wù)和負載率數(shù)據(jù),然后由服務(wù)調(diào)度模塊確定每個車載服務(wù)的服務(wù)權(quán)重數(shù)據(jù),根據(jù)服務(wù)權(quán)重數(shù)據(jù)和負載率數(shù)據(jù)確定待調(diào)度服務(wù),最后將待調(diào)度服務(wù)調(diào)度至車載軟件中不同的第二微控制單元,進而達到了降低微控制單元的負載率、提高運行微控制單元的車載服務(wù)的效率的效果。