本發(fā)明涉及車(chē)輛,特別涉及一種多系統(tǒng)數(shù)據(jù)流選擇方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、obd(on-board?diagnostics,車(chē)載自動(dòng)診斷系統(tǒng))接口是汽車(chē)上的一個(gè)重要診斷接口,用于連接診斷工具以讀取車(chē)輛的數(shù)據(jù)流和故障碼。目前在使用診斷設(shè)備對(duì)汽車(chē)進(jìn)行診斷時(shí)可能需要查看多個(gè)系統(tǒng)的數(shù)據(jù)流,若車(chē)輛的存在多路can(controller?areanetwork,控制器局域網(wǎng))總線,可能存在互斥情況,所以通常對(duì)多路can總線的多系統(tǒng)數(shù)據(jù)流選擇進(jìn)行限制,導(dǎo)致在刷新多系統(tǒng)數(shù)據(jù)流時(shí),不同ecu(electronic?control?unit,電子控制器)數(shù)據(jù)流刷新同時(shí)選擇了兩路互斥的can總線上的系統(tǒng)ecu刷新,會(huì)導(dǎo)致can總線通訊異常,刷新失敗,或者來(lái)回切換系統(tǒng)導(dǎo)致刷新數(shù)據(jù)不及時(shí),再提示用戶選擇的系統(tǒng)存在不可同時(shí)訪問(wèn)。
2、綜上所述,如何在查看多個(gè)系統(tǒng)的數(shù)據(jù)流時(shí)避免選擇互斥的系統(tǒng),提升用戶的體驗(yàn)是目前亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種多系統(tǒng)數(shù)據(jù)流選擇方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠在查看多個(gè)系統(tǒng)的數(shù)據(jù)流時(shí)避免選擇互斥的系統(tǒng),提升用戶的體驗(yàn)。其具體方案如下:
2、第一方面,本技術(shù)公開(kāi)了一種多系統(tǒng)數(shù)據(jù)流選擇方法,包括:
3、利用多線程掃描目標(biāo)車(chē)輛所有控制器局域網(wǎng)總線上的車(chē)輛電子控制器,并讀取所述車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)信息和數(shù)據(jù)流信息;
4、判斷所述目標(biāo)車(chē)輛同一路所述控制器局域網(wǎng)總線上的所述車(chē)輛電子控制器是否存在互斥,若存在互斥,則將同一路所述控制器局域網(wǎng)總線上與所述車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)互斥的目標(biāo)系統(tǒng)的系統(tǒng)id添加至目標(biāo)互斥列表;
5、基于所述系統(tǒng)信息和所述數(shù)據(jù)流信息設(shè)置總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù),并確定所述車(chē)輛電子控制器的總線互斥值;
6、在接收到用戶的數(shù)據(jù)流選擇指令時(shí),根據(jù)所述用戶選擇的目標(biāo)數(shù)據(jù)流、所述車(chē)輛電子控制器的總線互斥值以及所述目標(biāo)互斥列表確定互斥系統(tǒng),基于所述互斥系統(tǒng)、所述總數(shù)據(jù)流數(shù)、所述最大可選系統(tǒng)數(shù)以及各所述系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定當(dāng)前可選的數(shù)據(jù)流,以便所述用戶通過(guò)所述當(dāng)前可選的數(shù)據(jù)流選擇多系統(tǒng)數(shù)據(jù)流。
7、可選的,所述系統(tǒng)信息包括系統(tǒng)名稱(chēng)、系統(tǒng)簡(jiǎn)寫(xiě)、系統(tǒng)id;所述數(shù)據(jù)流信息包括數(shù)據(jù)流的名稱(chēng)以及數(shù)據(jù)流的單位。
8、可選的,所述確定所述車(chē)輛電子控制器的總線互斥值,包括:
9、根據(jù)所述目標(biāo)車(chē)輛的所述控制器局域網(wǎng)總線的數(shù)目以及各所述控制器局域網(wǎng)總線的互斥關(guān)系確定所述車(chē)輛電子控制器的總線互斥值。
10、可選的,所述根據(jù)所述目標(biāo)車(chē)輛的所述控制器局域網(wǎng)總線的數(shù)目以及各所述控制器局域網(wǎng)總線的互斥關(guān)系確定所述車(chē)輛電子控制器的總線互斥值,包括:
11、確定所述目標(biāo)車(chē)輛的通信鏈路支持所述控制器局域網(wǎng)總線的互斥關(guān)系的路數(shù);
12、根據(jù)所述路數(shù)以及所述目標(biāo)車(chē)輛的所述控制器局域網(wǎng)總線的數(shù)目確定所述車(chē)輛電子控制器的總線互斥值。
13、可選的,所述根據(jù)所述用戶選擇的目標(biāo)數(shù)據(jù)流、所述車(chē)輛電子控制器的總線互斥值以及所述目標(biāo)互斥列表確定互斥系統(tǒng),包括:
14、確定所述目標(biāo)數(shù)據(jù)流對(duì)應(yīng)的用戶選擇系統(tǒng),并根據(jù)所述用戶選擇系統(tǒng)確定未選擇系統(tǒng),并基于所述車(chē)輛電子控制器的總線互斥值確定所述用戶選擇系統(tǒng)的總線互斥值;
15、判斷所述未選擇系統(tǒng)的總線互斥值與所述用戶選擇系統(tǒng)的總線互斥值是否相等;
16、若不相等,且所述未選擇系統(tǒng)的總線互斥值和所述用戶選擇系統(tǒng)的總線互斥值的與值等于0,則將所述未選擇系統(tǒng)確定為所述用戶選擇系統(tǒng)的互斥系統(tǒng);
17、若相等,則判斷所述目標(biāo)互斥列表中是否存在所述未選擇系統(tǒng)對(duì)應(yīng)的系統(tǒng)id;
18、根據(jù)所述目標(biāo)互斥列表中是否存在所述未選擇系統(tǒng)對(duì)應(yīng)的系統(tǒng)id的判斷結(jié)果確定互斥系統(tǒng)。
19、可選的,所述根據(jù)所述目標(biāo)互斥列表中是否存在所述未選擇系統(tǒng)對(duì)應(yīng)的系統(tǒng)id的判斷結(jié)果確定互斥系統(tǒng),包括:
20、若所述目標(biāo)互斥列表中存在所述未選擇系統(tǒng)對(duì)應(yīng)的系統(tǒng)id,則將所述未選擇系統(tǒng)確定為所述用戶選擇系統(tǒng)的互斥系統(tǒng);
21、若所述目標(biāo)互斥列表中不存在所述未選擇系統(tǒng)對(duì)應(yīng)的系統(tǒng)id,則判定所述未選擇系統(tǒng)不是所述用戶選擇系統(tǒng)的互斥系統(tǒng)。
22、可選的,所述基于所述互斥系統(tǒng)、所述總數(shù)據(jù)流數(shù)、所述最大可選系統(tǒng)數(shù)以及各所述系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定當(dāng)前可選的數(shù)據(jù)流,包括:
23、將所述目標(biāo)數(shù)據(jù)流對(duì)應(yīng)的所述互斥系統(tǒng)設(shè)置第一系統(tǒng)使能;
24、根據(jù)所述總數(shù)據(jù)流數(shù)、所述最大可選系統(tǒng)數(shù)以及各所述系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定所述目標(biāo)數(shù)據(jù)流對(duì)應(yīng)的第二系統(tǒng)使能和數(shù)據(jù)流使能;
25、通過(guò)所述第一系統(tǒng)使能、第二系統(tǒng)使能以及所述數(shù)據(jù)流使能對(duì)當(dāng)前不可選數(shù)據(jù)流進(jìn)行頁(yè)面標(biāo)識(shí),以便所述用戶基于相應(yīng)的頁(yè)面標(biāo)識(shí)確定所述當(dāng)前可選的數(shù)據(jù)流。
26、第二方面,本技術(shù)公開(kāi)了一種多系統(tǒng)數(shù)據(jù)流選擇裝置,包括:
27、信息讀取模塊,用于利用多線程掃描目標(biāo)車(chē)輛所有控制器局域網(wǎng)總線上的車(chē)輛電子控制器,并讀取所述車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)信息和數(shù)據(jù)流信息;
28、互斥判斷模塊,用于判斷所述目標(biāo)車(chē)輛同一路所述控制器局域網(wǎng)總線上的所述車(chē)輛電子控制器是否存在互斥,若存在互斥,則將同一路所述控制器局域網(wǎng)總線上與所述車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)互斥的目標(biāo)系統(tǒng)的系統(tǒng)id添加至目標(biāo)互斥列表;
29、設(shè)置模塊,用于基于所述系統(tǒng)信息和所述數(shù)據(jù)流信息設(shè)置總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù),并確定所述車(chē)輛電子控制器的總線互斥值;
30、數(shù)據(jù)流選擇模塊,用于在接收到用戶的數(shù)據(jù)流選擇指令時(shí),根據(jù)所述用戶選擇的目標(biāo)數(shù)據(jù)流、所述車(chē)輛電子控制器的總線互斥值以及所述目標(biāo)互斥列表確定互斥系統(tǒng),基于所述互斥系統(tǒng)、所述總數(shù)據(jù)流數(shù)、所述最大可選系統(tǒng)數(shù)以及各所述系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定當(dāng)前可選的數(shù)據(jù)流,以便所述用戶通過(guò)所述當(dāng)前可選的數(shù)據(jù)流選擇多系統(tǒng)數(shù)據(jù)流。
31、第三方面,本技術(shù)公開(kāi)了一種電子設(shè)備,包括:
32、存儲(chǔ)器,用于保存計(jì)算機(jī)程序;
33、處理器,用于執(zhí)行所述計(jì)算機(jī)程序,以實(shí)現(xiàn)前述的多系統(tǒng)數(shù)據(jù)流選擇方法。
34、第四方面,本技術(shù)公開(kāi)了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于存儲(chǔ)計(jì)算機(jī)程序;其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述的多系統(tǒng)數(shù)據(jù)流選擇方法。
35、本技術(shù)在進(jìn)行多系統(tǒng)數(shù)據(jù)流選擇時(shí),首先利用多線程掃描目標(biāo)車(chē)輛所有控制器局域網(wǎng)總線上的車(chē)輛電子控制器,并讀取車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)信息和數(shù)據(jù)流信息;然后判斷目標(biāo)車(chē)輛同一路控制器局域網(wǎng)總線上的車(chē)輛電子控制器是否存在互斥,若存在互斥,則將同一路控制器局域網(wǎng)總線上與車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)互斥的目標(biāo)系統(tǒng)的系統(tǒng)id添加至目標(biāo)互斥列表;基于系統(tǒng)信息和數(shù)據(jù)流信息設(shè)置總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù),并確定車(chē)輛電子控制器的總線互斥值;在接收到用戶的數(shù)據(jù)流選擇指令時(shí),根據(jù)用戶選擇的目標(biāo)數(shù)據(jù)流、車(chē)輛電子控制器的總線互斥值以及目標(biāo)互斥列表確定互斥系統(tǒng),基于互斥系統(tǒng)、總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定當(dāng)前可選的數(shù)據(jù)流,以便用戶通過(guò)當(dāng)前可選的數(shù)據(jù)流選擇多系統(tǒng)數(shù)據(jù)流。可見(jiàn),本技術(shù)在進(jìn)行多系統(tǒng)數(shù)據(jù)流選擇時(shí),首先利用多線程掃描目標(biāo)車(chē)輛所有控制器局域網(wǎng)總線上的車(chē)輛電子控制器,并讀取車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)信息和數(shù)據(jù)流信息,從而確定各車(chē)輛電子控制器所控制的系統(tǒng)和系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)流;然后判斷目標(biāo)車(chē)輛同一路控制器局域網(wǎng)總線上的車(chē)輛電子控制器是否存在互斥,若存在互斥,則將同一路控制器局域網(wǎng)總線上與車(chē)輛電子控制器對(duì)應(yīng)的系統(tǒng)互斥的目標(biāo)系統(tǒng)的系統(tǒng)id添加至目標(biāo)互斥列表,以得到同一路控制器局域網(wǎng)總線上的各車(chē)輛電子控制器所控制的系統(tǒng)的互斥關(guān)系;基于系統(tǒng)信息和數(shù)據(jù)流信息設(shè)置總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù),從而避免用戶在選擇多系統(tǒng)數(shù)據(jù)流時(shí)選擇的數(shù)據(jù)流或系統(tǒng)過(guò)多,然后確定車(chē)輛電子控制器的總線互斥值,以便在接收到用戶的數(shù)據(jù)流選擇指令時(shí),根據(jù)用戶選擇的目標(biāo)數(shù)據(jù)流、車(chē)輛電子控制器的總線互斥值以及目標(biāo)互斥列表確定互斥系統(tǒng),基于互斥系統(tǒng)、總數(shù)據(jù)流數(shù)、最大可選系統(tǒng)數(shù)以及各系統(tǒng)最大可選數(shù)據(jù)流數(shù)確定當(dāng)前可選的數(shù)據(jù)流,以便用戶通過(guò)當(dāng)前可選的數(shù)據(jù)流選擇多系統(tǒng)數(shù)據(jù)流,避免用戶在查看多個(gè)系統(tǒng)的數(shù)據(jù)流時(shí)選擇互斥的系統(tǒng),提升用戶的體驗(yàn)。