本發(fā)明涉及數(shù)據(jù)轉(zhuǎn)換,尤其涉及一種arxml文件生成方法及系統(tǒng)。
背景技術(shù):
1、在現(xiàn)代汽車電子系統(tǒng)的開發(fā)中,汽車開放系統(tǒng)架構(gòu)(automotive?opensystemarchitecture,autosar)作為一個開放的、標(biāo)準(zhǔn)化的軟件架構(gòu),有利于車輛電子系統(tǒng)軟件的交換與更新,并為高效管理愈來愈復(fù)雜的車輛電子、軟件系統(tǒng)提供了一個基礎(chǔ)。此外,autosar在確保產(chǎn)品及服務(wù)質(zhì)量的同時,提高了成本效率。
2、目前,基于autosar標(biāo)準(zhǔn)的軟件配置通常需要借助于autosar工具鏈來實現(xiàn)。這些配置工具鏈提供直觀的圖形用戶界面,使用戶能夠根據(jù)自己的功能模塊需求進行配置,并自動生成arxml文件,進而生成所需的代碼。
3、這些配置工具鏈大多是基于arxml(autosar?runtime?interface?xml)文件格式進行配置。然而,原始配置通常是存儲在其他格式的文件上,如excel文檔。在利用autosar工具鏈進行軟件配置時,需要人工對照autosar規(guī)范,將excel文檔表示的內(nèi)容翻譯成工具能識別的配置,再結(jié)合配置工具進行手動配置。
4、由于autosar規(guī)范本身內(nèi)容繁多且晦澀難懂,文檔數(shù)量巨大。使用者在使用工具的同時,需要深入理解autosar規(guī)范,以確保配置的正確性和有效性。而且不同版本的autosar規(guī)范之間存在差異,對于工具使用者來說門檻較高,使用難度高。而且,excel文檔的條目巨大,多則幾萬行的數(shù)據(jù),需要耗費巨大的時間成本和人力成本來實現(xiàn)數(shù)據(jù)的遷移轉(zhuǎn)換,還容易出錯,且出錯后難以快速定位問題所在。
5、此外,由于autosar的復(fù)雜性,對工具的要求較高,即使是最基本的工具鏈也需要多個工具相互配合才能完成整個配置過程,環(huán)境安裝復(fù)雜。
技術(shù)實現(xiàn)思路
1、為了解決以上技術(shù)問題,本發(fā)明提供了一種arxml文件生成方法;另一方面,還提供了一種arxml文件生成系統(tǒng)。
2、本發(fā)明所解決的技術(shù)問題可以采用以下技術(shù)方案實現(xiàn):
3、一種arxml文件生成方法,包括:
4、步驟s1,接收待轉(zhuǎn)換excel文檔,其中,所述待轉(zhuǎn)換excel文檔包括存儲有不同的excel數(shù)據(jù)的多張工作表;
5、步驟s2,對所述待轉(zhuǎn)換excel文檔按照工作表進行逐一解析,將從每張所述工作表中提取的excel數(shù)據(jù)轉(zhuǎn)換成模型數(shù)據(jù),并將每個所述工作表對應(yīng)的模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中;
6、步驟s3,基于所述數(shù)據(jù)緩存區(qū)的模型數(shù)據(jù)生成目標(biāo)arxml文件。
7、優(yōu)選地,所述工作表包括數(shù)據(jù)類型表、服務(wù)定義表、通信行為表、車輛定義表和網(wǎng)絡(luò)配置表中的一種或多種組合。
8、優(yōu)選地,所述步驟s2包括:
9、步驟s21,根據(jù)所述待轉(zhuǎn)換excel文檔的每個工作表對應(yīng)的標(biāo)簽,分別加載相應(yīng)的轉(zhuǎn)換模型;
10、步驟s22,基于加載的轉(zhuǎn)換模型對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的模型數(shù)據(jù),并將每個所述模型對象的模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中。
11、優(yōu)選地,所述步驟s22包括:
12、步驟s221,根據(jù)所述轉(zhuǎn)換模型之間的關(guān)聯(lián)關(guān)系,確定當(dāng)前轉(zhuǎn)換模型是否有關(guān)聯(lián)的其他轉(zhuǎn)換模型:
13、若是,則進入步驟s223;
14、若否,則進入步驟s222;
15、步驟s222,基于所述當(dāng)前轉(zhuǎn)換模型,對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的第一模型數(shù)據(jù),并將每個所述模型對象的第一模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中,隨后轉(zhuǎn)入所述步驟s3;
16、步驟s223,從所述數(shù)據(jù)緩存區(qū)中讀取與所述當(dāng)前轉(zhuǎn)換模型關(guān)聯(lián)的其他轉(zhuǎn)換模型所轉(zhuǎn)換得到的第一模型數(shù)據(jù);
17、步驟s224,基于所述當(dāng)前轉(zhuǎn)換模型結(jié)合從所述數(shù)據(jù)緩存區(qū)中讀取的第一模型數(shù)據(jù),對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的第二模型數(shù)據(jù),并將每個所述模型對象的第二模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中,隨后轉(zhuǎn)入所述步驟s3。
18、優(yōu)選地,所述步驟s3包括:
19、步驟s31,根據(jù)汽車開放系統(tǒng)架構(gòu)的目標(biāo)版本規(guī)范,將所述數(shù)據(jù)緩存區(qū)中的模型數(shù)據(jù)映射到相應(yīng)的arxml元素和屬性中;
20、步驟s32,基于映射后的arxml元素和屬性,生成所述目標(biāo)arxml文件。
21、優(yōu)選地,所述步驟s3之后還包括:
22、步驟s4,展示從所述待轉(zhuǎn)換excel文檔到所述目標(biāo)arxml文件的轉(zhuǎn)換過程日志。
23、本發(fā)明的第二方面是提供一種arxml文件生成系統(tǒng),用于實施如上述的arxml文件生成方法,系統(tǒng)包括:
24、excel文檔接收模塊,用于接收待轉(zhuǎn)換excel文檔,其中,所述待轉(zhuǎn)換excel文檔包括存儲有不同的excel數(shù)據(jù)的多張工作表;
25、數(shù)據(jù)轉(zhuǎn)換模塊,連接所述excel文檔接收模塊,用于對所述待轉(zhuǎn)換excel文檔按照工作表進行逐一解析,將從每張所述工作表中提取的excel數(shù)據(jù)轉(zhuǎn)換成模型數(shù)據(jù),并將每個所述工作表對應(yīng)的模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中;
26、目標(biāo)文件生成模塊,連接所述數(shù)據(jù)轉(zhuǎn)換模塊,用于基于所述數(shù)據(jù)緩存區(qū)的模型數(shù)據(jù)生成目標(biāo)arxml文件。
27、優(yōu)選地,所述數(shù)據(jù)轉(zhuǎn)換模塊包括:
28、模型加載單元,用于根據(jù)所述待轉(zhuǎn)換excel文檔的每個工作表對應(yīng)的標(biāo)簽,分別加載相應(yīng)的轉(zhuǎn)換模型;
29、轉(zhuǎn)換單元,連接所述模型加載單元,用于基于加載的轉(zhuǎn)換模型對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的模型數(shù)據(jù),并將每個所述模型對象的模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中。
30、優(yōu)選地,所述轉(zhuǎn)換單元包括:
31、第一轉(zhuǎn)換子單元,用于基于當(dāng)前轉(zhuǎn)換模型,對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的第一模型數(shù)據(jù),并將每個所述模型對象的第一模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中;
32、第二轉(zhuǎn)換子單元,用于基于當(dāng)前轉(zhuǎn)換模型與其他轉(zhuǎn)換模型之間的關(guān)聯(lián)關(guān)系,從所述數(shù)據(jù)緩存區(qū)中讀取與所述當(dāng)前轉(zhuǎn)換模型關(guān)聯(lián)的其他轉(zhuǎn)換模型所轉(zhuǎn)換得到的第一模型數(shù)據(jù),基于所述當(dāng)前轉(zhuǎn)換模型結(jié)合從所述數(shù)據(jù)緩存區(qū)中讀取的第一模型數(shù)據(jù),對相應(yīng)標(biāo)簽的工作表的excel數(shù)據(jù)進行轉(zhuǎn)換處理,得到每個模型對象的第二模型數(shù)據(jù),并將每個所述模型對象的第二模型數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū)中。
33、優(yōu)選地,所述目標(biāo)文件生成模塊包括:
34、數(shù)據(jù)映射單元,用于根據(jù)汽車開放系統(tǒng)架構(gòu)的目標(biāo)版本規(guī)范,將所述數(shù)據(jù)緩存區(qū)中的模型數(shù)據(jù)映射到相應(yīng)的arxml元素和屬性中;
35、文件生成單元,連接所述數(shù)據(jù)映射單元,用于基于映射后的arxml元素和屬性,生成所述目標(biāo)arxml文件。
36、本發(fā)明技術(shù)方案的優(yōu)點或有益效果在于:
37、本發(fā)明針對excel文檔按照工作表進行解析,將數(shù)據(jù)轉(zhuǎn)化為不同的模型數(shù)據(jù),統(tǒng)一存儲在數(shù)據(jù)緩存區(qū),最后序列化生成arxml文件,整個過程無需安裝配置工具,導(dǎo)入excel文件后即可一鍵生成arxml文件,耗時短,降低了對使用人員的專業(yè)技能要求。