本公開涉及車輛領(lǐng)域,尤其涉及路徑解析。
背景技術(shù):
1、目前,傳統(tǒng)的文件系統(tǒng)層對于路徑管理很混亂,主要問題在于現(xiàn)在的路徑解析方案存在不同文件系統(tǒng)之間反復復制路徑的情況,大大增加的系統(tǒng)的開銷,尤其增大了微內(nèi)核系統(tǒng)的ipc(inter-process?communication,進程間通信)開銷。
技術(shù)實現(xiàn)思路
1、本公開提供了一種路徑解析方法、裝置、設備、計算機可讀存儲介質(zhì)以及車輛。
2、根據(jù)本公開的第一方面,提供了一種路徑解析方法。該方法包括:
3、接收客戶端的文件訪問請求;
4、提取所述文件訪問請求中的路徑,并將所述路徑存儲至共享內(nèi)存中;
5、調(diào)用虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),對所述共享內(nèi)存中的路徑進行解析,以獲得路徑解析結(jié)果。
6、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述提取所述文件訪問請求中的路徑,并將所述路徑存儲至共享內(nèi)存中,包括:
7、判斷所述文件訪問請求中是否包含絕對路徑;
8、若包含,則提取所述絕對路徑,并將所述絕對路徑存儲至所述共享內(nèi)存中;
9、所述對所述共享內(nèi)存中的路徑進行解析,包括:
10、對所述共享內(nèi)存中的絕對路徑進行解析。
11、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,在將所述路徑存儲至共享內(nèi)存中之前,所述方法還包括:
12、判斷所述共享內(nèi)存中是否已存儲有所述路徑;
13、若未存儲所述路徑,則將所述路徑存儲至所述共享內(nèi)存中。
14、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,在調(diào)用虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),對所述共享內(nèi)存中的路徑進行解析之前,所述方法還包括:
15、若存儲有所述路徑,則調(diào)用預先存儲的路徑與路徑解析結(jié)果之間的對應關(guān)系;
16、將所述路徑與所述對應關(guān)系進行匹配,以獲取所述路徑對應的路徑解析結(jié)果。
17、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,在將所述路徑存儲至共享內(nèi)存中之前,所述方法還包括:
18、判斷所述路徑是否符合預設路徑規(guī)范;其中,所述預設路徑規(guī)范包括以下至少一項:所述路徑是否存在尾隨斜杠、所述路徑是否為絕對路徑,所述路徑是否存在多余斜杠、所述路徑是否存在多余符號以及所述路徑是否存在錯誤符號;
19、若符合所述預設路徑規(guī)范,則進行將所述路徑存儲至共享內(nèi)存中的操作。
20、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,若不符合所述預設路徑規(guī)范,則丟棄所述路徑。
21、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述路徑包括絕對路徑,所述調(diào)用虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),對所述共享內(nèi)存中的路徑進行解析,以獲得路徑解析結(jié)果,包括:
22、調(diào)用所述虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),將所述絕對路徑與自身所管理掛載點下的目錄進行匹配;
23、若匹配,則根據(jù)所述目錄中與所述絕對路徑匹配的目標目錄,確定所述待訪問文件所在的設備的設備標識;
24、將所述待訪問文件所在的設備的設備標識確定為所述絕對路徑的路徑解析結(jié)果。
25、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述確定所述待訪問文件所在的設備的設備標識之后,所述將所述待訪問文件所在的設備的設備標識確定為所述絕對路徑的路徑解析結(jié)果之前,所述方法還包括:
26、獲取所述文件訪問請求中攜帶的文件索引;
27、按照文件句柄數(shù)組中可用文件句柄的排序,將當前排序最靠前的文件句柄確定為為所述絕對路徑分配的文件句柄;
28、將所述設備標識、所述文件索引和所述文件句柄進行組合,以獲得所述絕對路徑對應的路徑三元組;其中,所述路徑三元組用于唯一標識所述絕對路徑對應的待訪問文件;
29、所述將所述待訪問文件所在的設備的設備標識確定為所述絕對路徑的路徑解析結(jié)果包括:
30、將所述路徑三元組確定為所述絕對路徑的路徑解析結(jié)果。
31、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,所述調(diào)用所述虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),將所述共享內(nèi)存中的絕對路徑與自身所管理掛載點下的目錄進行匹配,包括:
32、調(diào)用所述虛擬文件系統(tǒng)將所述絕對路徑與自身所管理掛載點下的目錄進行匹配;
33、若判定所述絕對路徑與所述虛擬文件系統(tǒng)所管理掛載點下的目錄均不匹配,則控制所述虛擬文件系統(tǒng)向所述具體的文件系統(tǒng)發(fā)送查詢請求,以使所述具體的文件系統(tǒng)根據(jù)所述查詢請求中攜帶的所述絕對路徑的路徑標記從所述共享內(nèi)存中讀取所述絕對路徑,然后將所述絕對路徑與自身所管理掛載點下的目錄進行匹配。
34、如上所述的方面和任一可能的實現(xiàn)方式,進一步提供一種實現(xiàn)方式,在控制所述虛擬文件系統(tǒng)向所述具體的文件系統(tǒng)發(fā)送查詢請求之前,所述方法還包括:
35、控制所述虛擬文件系統(tǒng)基于所述絕對路徑的路徑分量,確定對應的文件系統(tǒng);
36、若所述對應的文件系統(tǒng)包括根文件系統(tǒng),則將所述根文件系統(tǒng)確定為所述具體的文件系統(tǒng),其中,所述根文件系統(tǒng)在接收到所述查詢請求后,若判定所述路徑分量下還有其他路徑分量,則通知所述虛擬文件系統(tǒng)重新判斷所述對應的文件系統(tǒng);
37、若所述對應的文件系統(tǒng)包括普通文件系統(tǒng),則所述普通文件系統(tǒng)確定為所述具體的文件系統(tǒng)。
38、根據(jù)本公開的第二方面,提供了一種路徑解析裝置。該裝置包括:
39、接收模塊,用于接收客戶端的文件訪問請求;
40、處理模塊,用于提取所述文件訪問請求中的路徑,并將所述路徑存儲至共享內(nèi)存中;
41、解析模塊,用于調(diào)用虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),對所述共享內(nèi)存中的路徑進行解析,以獲得路徑解析結(jié)果。
42、根據(jù)本公開的第三方面,提供了一種電子設備。該電子設備包括:存儲器和處理器,所述存儲器上存儲有計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如以上所述的方法。
43、根據(jù)本公開的第四方面,提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述程序被處理器執(zhí)行時實現(xiàn)如根據(jù)本公開的第一方面的方法。
44、根據(jù)本公開的第五方面,提供了一種車輛,所述車輛包括如第二方面所述的路徑解析裝置和/或如第三方面所述的電子設備。
45、本公開中,在接收到客戶端的文件訪問請求后,可提取文件訪問請求中的路徑,并將所述路徑存儲至共享內(nèi)存中,以便自動調(diào)用虛擬文件系統(tǒng)和/或具體的文件系統(tǒng),然后對所述共享內(nèi)存中的路徑進行解析,從而獲得路徑解析結(jié)果,如此,由于共享內(nèi)存是虛擬文件系統(tǒng)和/或具體的文件系統(tǒng)共享的,這些文件系統(tǒng)均可訪問,因而,在進行路徑解析時,并不需要反復復制該路徑,只需要從共享內(nèi)存中直接讀取該路徑即可,減少了系統(tǒng)開銷,且即便是微內(nèi)核系統(tǒng)由于文件系統(tǒng)之間并不需要復制并傳遞該路徑,因而,也能減少微內(nèi)核系統(tǒng)的ipc開銷。
46、應當理解,
技術(shù)實現(xiàn)要素:
部分中所描述的內(nèi)容并非旨在限定本公開的實施例的關(guān)鍵或重要特征,亦非用于限制本公開的范圍。本公開的其它特征將通過以下的描述變得容易理解。