本發(fā)明涉及通信控制,具體涉及雙系統(tǒng)通信方法、系統(tǒng)、車輛及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著汽車智能化及網(wǎng)聯(lián)化程度的深入,車機(jī)系統(tǒng)逐漸由單一的車載中控系統(tǒng),演變?yōu)橐詀ndroid和linux為主的雙系統(tǒng)架構(gòu)。但是傳統(tǒng)的通信系統(tǒng)往往是根據(jù)特定的用途而設(shè)計(jì)的功能比較單一的特定通信系統(tǒng),并且傳統(tǒng)通信系統(tǒng)的開發(fā)對(duì)開發(fā)人員的要求很高,開發(fā)軟件的人員需要對(duì)底層的硬件很熟悉,不能做到上層開發(fā)和底層開發(fā)分開,這將會(huì)大幅度增加開發(fā)的周期,導(dǎo)致了傳統(tǒng)的通信系統(tǒng)的擴(kuò)展性差,可移植成本高,開發(fā)周期長(zhǎng)。
2、同時(shí),車機(jī)雙系統(tǒng)的通信存在一些新的需求,android和linux系統(tǒng)的之間的存在信號(hào)同步需求,即其中一個(gè)系統(tǒng)的信號(hào)需要及時(shí)發(fā)送給另一個(gè)操作系統(tǒng)進(jìn)行信號(hào)的同步顯示或者ui的同步變化。
3、因此,如何實(shí)現(xiàn)上層應(yīng)用和底層架構(gòu)的分開開發(fā)并滿足雙系統(tǒng)通信的信號(hào)同步需求便成為了亟需解決的關(guān)鍵問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種雙系統(tǒng)通信方法、系統(tǒng)、車輛及存儲(chǔ)介質(zhì),以解決傳統(tǒng)通信架構(gòu)無法滿足上層開發(fā)和底層分開以及信號(hào)同步的問題。
2、第一方面,本發(fā)明提供了一種雙系統(tǒng)通信方法,應(yīng)用于第一操作系統(tǒng),該方法包括:
3、接收第一操作系統(tǒng)上層的第一應(yīng)用下發(fā)的第一通信數(shù)據(jù);
4、對(duì)第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包;
5、當(dāng)確定第一通信數(shù)據(jù)的目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),以使第二操作系統(tǒng)對(duì)第一數(shù)據(jù)包進(jìn)行解碼得到第一通信數(shù)據(jù),在檢測(cè)到第一通信數(shù)據(jù)通過數(shù)據(jù)校驗(yàn)后,存儲(chǔ)第一通信數(shù)據(jù),并將第一通信數(shù)據(jù)發(fā)送給第二操作系統(tǒng)上層的第二應(yīng)用。
6、有益效果:利用第一操作系統(tǒng)對(duì)其上層第一應(yīng)用的第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包,在確定目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),便于第二操作系統(tǒng)對(duì)第一數(shù)據(jù)包中的第一通信數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),以過濾不合格數(shù)據(jù),在數(shù)據(jù)校驗(yàn)通過后將第一通信數(shù)據(jù)發(fā)送給上層的第二應(yīng)用進(jìn)行信號(hào)同步,并且只需考慮上層應(yīng)用和底層架構(gòu)之間的數(shù)據(jù)下發(fā)和接收方式即可,無需開發(fā)人員掌握底層硬件結(jié)構(gòu),有利于減少開發(fā)周期。
7、在一種可選的實(shí)施方式中,第一操作系統(tǒng)和外部設(shè)備之間設(shè)有數(shù)據(jù)分發(fā)模塊;在對(duì)第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包之后,該方法還包括:
8、當(dāng)確定第一通信數(shù)據(jù)的目標(biāo)接收對(duì)象為外部設(shè)備時(shí),將第一數(shù)據(jù)包發(fā)送給數(shù)據(jù)分發(fā)模塊,以使數(shù)據(jù)分發(fā)模塊對(duì)第一數(shù)據(jù)包進(jìn)行解碼得到第一通信數(shù)據(jù),對(duì)第一通信數(shù)據(jù)進(jìn)行適配處理,將適配處理后的第一通信數(shù)據(jù)發(fā)送給相應(yīng)的外部設(shè)備。
9、有益效果:通過數(shù)據(jù)分發(fā)模塊來實(shí)現(xiàn)第一操作系統(tǒng)和外部設(shè)備之間的信號(hào)傳遞,利用數(shù)據(jù)分發(fā)模塊對(duì)通信數(shù)據(jù)進(jìn)行適配處理,使上層軟件對(duì)底層軟硬件的修改無感知,應(yīng)用層軟件生態(tài)能夠在不同的車機(jī)平臺(tái)移植和復(fù)用,提高了通信系統(tǒng)的擴(kuò)展性和可復(fù)用性。
10、在一種可選的實(shí)施方式中,該方法還包括:
11、接收數(shù)據(jù)分發(fā)模塊下發(fā)的第二數(shù)據(jù)包;
12、對(duì)第二數(shù)據(jù)包進(jìn)行解碼,得到第二通信數(shù)據(jù);
13、在檢測(cè)到第二通信數(shù)據(jù)通過數(shù)據(jù)校驗(yàn)后,存儲(chǔ)第二通信數(shù)據(jù),并將第二通信數(shù)據(jù)發(fā)送給第一操作系統(tǒng)上層的第一應(yīng)用;
14、在檢測(cè)到第二通信數(shù)據(jù)未通過數(shù)據(jù)校驗(yàn)后,拒絕接收第二通信數(shù)據(jù)。
15、有益效果:通過接收數(shù)據(jù)分發(fā)模塊下發(fā)的通信,并對(duì)其進(jìn)行存儲(chǔ)和同步,實(shí)現(xiàn)了不同操作系統(tǒng)之間以及操作系統(tǒng)和外部設(shè)備之間的數(shù)據(jù)同步,并通過數(shù)據(jù)校驗(yàn),對(duì)重復(fù)數(shù)據(jù)進(jìn)行過濾,有利于提高通信效率。
16、在一種可選的實(shí)施方式中,將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),包括:
17、建立與第二操作系統(tǒng)之間的套接字連接,利用套接字連接,將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng)。
18、有益效果:利用套接字連接方式,實(shí)現(xiàn)第一操作系統(tǒng)和第二操作系統(tǒng)之間的通信數(shù)據(jù)傳輸,有利于實(shí)現(xiàn)數(shù)據(jù)同步。
19、在一種可選的實(shí)施方式中,在建立與第二操作系統(tǒng)之間的套接字連接之后,該方法還包括:
20、向第二操作系統(tǒng)發(fā)送套接字心跳包,并計(jì)時(shí)心跳包發(fā)送時(shí)長(zhǎng);
21、當(dāng)檢測(cè)到心跳包發(fā)送時(shí)長(zhǎng)超過預(yù)設(shè)時(shí)長(zhǎng),且,未接收到第二操作系統(tǒng)基于套接字心跳包返回的心跳應(yīng)答時(shí),斷開與第二操作系統(tǒng)之間的套接字連接,重新建立與第二操作系統(tǒng)之間的套接字連接,并重置心跳包發(fā)送時(shí)長(zhǎng)。
22、有益效果:通過發(fā)送套接字心跳包,并計(jì)時(shí)心跳包發(fā)送時(shí)長(zhǎng),對(duì)操作系統(tǒng)的連接狀態(tài)進(jìn)行監(jiān)控,斷連后及時(shí)進(jìn)行重連,降低系統(tǒng)信號(hào)接收不同步的概率。
23、第二方面,本發(fā)明提供了一種雙系統(tǒng)通信方法,應(yīng)用于第二操作系統(tǒng),該方法包括:
24、接收第一操作系統(tǒng)發(fā)送的第一數(shù)據(jù)包;第一數(shù)據(jù)包是第一操作系統(tǒng)對(duì)上層的第一應(yīng)用下發(fā)的第一通信數(shù)據(jù)進(jìn)行編碼得到的;
25、對(duì)第一數(shù)據(jù)包進(jìn)行解碼,得到第一通信數(shù)據(jù);
26、在檢測(cè)到第一通信數(shù)據(jù)通過數(shù)據(jù)校驗(yàn)后,存儲(chǔ)第一通信數(shù)據(jù),并將第一通信數(shù)據(jù)發(fā)送給第二操作系統(tǒng)上層的第二應(yīng)用。
27、有益效果:利用第一操作系統(tǒng)對(duì)其上層第一應(yīng)用的第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包,在確定目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),便于第二操作系統(tǒng)對(duì)第一數(shù)據(jù)包中的第一通信數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),以過濾不合格數(shù)據(jù),在數(shù)據(jù)校驗(yàn)通過后將第一通信數(shù)據(jù)發(fā)送給上層的第二應(yīng)用進(jìn)行信號(hào)同步,并且只需考慮上層應(yīng)用和底層架構(gòu)之間的數(shù)據(jù)下發(fā)和接收方式即可,無需開發(fā)人員掌握底層硬件結(jié)構(gòu),有利于減少開發(fā)周期。
28、在一種可選的實(shí)施方式中,第二操作系統(tǒng)和外部設(shè)備之間設(shè)有數(shù)據(jù)分發(fā)模塊;該方法還包括:
29、接收數(shù)據(jù)分發(fā)模塊下發(fā)的第二數(shù)據(jù)包;
30、對(duì)第二數(shù)據(jù)包進(jìn)行解碼,得到第二通信數(shù)據(jù);
31、在檢測(cè)到第二通信數(shù)據(jù)通過數(shù)據(jù)校驗(yàn)后,存儲(chǔ)第二通信數(shù)據(jù),并將第二通信數(shù)據(jù)發(fā)送給第二操作系統(tǒng)上層的第二應(yīng)用;
32、在檢測(cè)到第二通信數(shù)據(jù)未通過數(shù)據(jù)校驗(yàn)后,拒絕接收第二通信數(shù)據(jù)。
33、有益效果:通過接收數(shù)據(jù)分發(fā)模塊下發(fā)的通信,并對(duì)其進(jìn)行存儲(chǔ)和同步,實(shí)現(xiàn)了不同操作系統(tǒng)之間以及操作系統(tǒng)和外部設(shè)備之間的數(shù)據(jù)同步,并通過數(shù)據(jù)校驗(yàn),對(duì)重復(fù)數(shù)據(jù)進(jìn)行過濾,有利于提高通信效率。
34、第三方面,本發(fā)明提供了一種通信系統(tǒng),該系統(tǒng)包括第一操作系統(tǒng)和第二操作系統(tǒng);
35、第一操作系統(tǒng),用于接收第一操作系統(tǒng)上層的第一應(yīng)用下發(fā)的第一通信數(shù)據(jù);對(duì)第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包;當(dāng)確定第一通信數(shù)據(jù)的目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng);
36、第二操作系統(tǒng),用于接收第一操作系統(tǒng)發(fā)送的第一數(shù)據(jù)包;對(duì)第一數(shù)據(jù)包進(jìn)行解碼,得到第一通信數(shù)據(jù);在檢測(cè)到第一通信數(shù)據(jù)通過數(shù)據(jù)校驗(yàn)后,存儲(chǔ)第一通信數(shù)據(jù),并將第一通信數(shù)據(jù)發(fā)送給第二操作系統(tǒng)上層的第二應(yīng)用。
37、有益效果:利用第一操作系統(tǒng)對(duì)其上層第一應(yīng)用的第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包,在確定目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),便于第二操作系統(tǒng)對(duì)第一數(shù)據(jù)包中的第一通信數(shù)據(jù)發(fā)送給其上層的第二應(yīng)用進(jìn)行信號(hào)同步,并且只需考慮上層應(yīng)用和底層架構(gòu)之間的數(shù)據(jù)下發(fā)和接收方式即可,無需開發(fā)人員掌握底層硬件結(jié)構(gòu),有利于減少開發(fā)周期。
38、第四方面,本發(fā)明提供了一種車輛,包括第一操作系統(tǒng)和第二操作系統(tǒng),其中,第一操作系統(tǒng)用于執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的雙系統(tǒng)通信方法,第二操作系統(tǒng)用于執(zhí)行上述第二方面或其對(duì)應(yīng)的任一實(shí)施方式的雙系統(tǒng)通信方法。
39、在一種可選的實(shí)施方式中,第一操作系統(tǒng)為android系統(tǒng),第二操作系統(tǒng)為linux系統(tǒng);或者,第一操作系統(tǒng)為linux系統(tǒng),第二操作系統(tǒng)為android系統(tǒng)。
40、第五方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對(duì)應(yīng)的任一實(shí)施方式的雙系統(tǒng)通信方法,或者,執(zhí)行上述第二方面或其對(duì)應(yīng)的任一實(shí)施方式的雙系統(tǒng)通信方法。
41、本發(fā)明的有益效果為:
42、利用第一操作系統(tǒng)對(duì)其上層第一應(yīng)用的第一通信數(shù)據(jù)進(jìn)行編碼,得到第一數(shù)據(jù)包,在確定目標(biāo)接收對(duì)象為第二操作系統(tǒng)時(shí),將第一數(shù)據(jù)包發(fā)送給第二操作系統(tǒng),便于第二操作系統(tǒng)對(duì)第一數(shù)據(jù)包中的第一通信數(shù)據(jù)進(jìn)行數(shù)據(jù)校驗(yàn),以過濾不合格數(shù)據(jù),在數(shù)據(jù)校驗(yàn)通過后將第一通信數(shù)據(jù)發(fā)送給上層的第二應(yīng)用進(jìn)行信號(hào)同步,并且只需考慮上層應(yīng)用和底層架構(gòu)之間的數(shù)據(jù)下發(fā)和接收方式即可,無需開發(fā)人員掌握底層硬件結(jié)構(gòu),有利于減少開發(fā)周期。