本申請涉及數(shù)據(jù)處理,具體涉及一種跨設(shè)備數(shù)據(jù)訪問方法、裝置、電子設(shè)備、存儲介質(zhì)。
背景技術(shù):
1、現(xiàn)在社會人們大多擁有不止一臺電子設(shè)備,不同的文件可能存放在不同的電子設(shè)備上,例如工作文件存放在電腦上,素材下載在pad上,拍攝的照片存放在手機(jī)或者車載設(shè)備上等等。在一些場景中,用戶希望能夠在電腦上獲取相機(jī)或者汽車上的照片。在另一些場景中,用戶希望能夠在pad上獲取電腦上的工作文件。可以看出,跨設(shè)備數(shù)據(jù)訪問成為人們的需求熱點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例致力于提供一種跨設(shè)備數(shù)據(jù)訪問方法、裝置、電子設(shè)備、存儲介質(zhì),下文從以下幾個方面進(jìn)行介紹。
2、第一方面,提供了一種跨設(shè)備數(shù)據(jù)訪問方法,該方法應(yīng)用于電子設(shè)備,電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,fuse網(wǎng)絡(luò)文件系統(tǒng)與ebpf模塊共享緩存空間,該方法包括:獲取應(yīng)用程序生成的操作請求,響應(yīng)于操作請求通過虛擬文件系統(tǒng)將操作請求轉(zhuǎn)發(fā)至網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器;通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊對緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果;緩存空間用于緩存從其他電子設(shè)備讀取的數(shù)據(jù)或者向其他電子設(shè)備寫入的數(shù)據(jù);通過虛擬文件系統(tǒng)將第一目標(biāo)操作結(jié)果反饋給應(yīng)用程序。
3、在其中一個實(shí)施例中,通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊對緩存空間執(zhí)行目標(biāo)操作之后,該方法還包括在目標(biāo)操作失敗的情況下,通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器向fuse網(wǎng)絡(luò)文件系統(tǒng)發(fā)送操作請求;通過fuse網(wǎng)絡(luò)文件系統(tǒng)對與操作請求關(guān)聯(lián)的目標(biāo)電子設(shè)備執(zhí)行目標(biāo)操作,得到第一目標(biāo)操作結(jié)果;通過fuse網(wǎng)絡(luò)文件系統(tǒng)將第一目標(biāo)操作結(jié)果更新到緩存空間,以及將第一目標(biāo)操作結(jié)果反饋給網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器,并通過虛擬文件系統(tǒng)將第一目標(biāo)操作結(jié)果反饋給應(yīng)用程序。
4、在其中一個實(shí)施例中,操作請求為讀操作請求,目標(biāo)操作為讀操作,通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊對緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果,包括:通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊在緩存空間中查找讀操作請求對應(yīng)的第一目標(biāo)數(shù)據(jù);若查找到第一目標(biāo)數(shù)據(jù),則讀取第一目標(biāo)數(shù)據(jù)并基于讀取到的第一目標(biāo)數(shù)據(jù)確定第一目標(biāo)操作結(jié)果。
5、在其中一個實(shí)施例中,該方法還包括:若未查找到第一目標(biāo)數(shù)據(jù),則向網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器反饋目標(biāo)操作失敗。
6、在其中一個實(shí)施例中,操作請求為寫操作請求,目標(biāo)操作為寫操作,通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊對緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果,包括:通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊在緩存空間中更新寫操作請求對應(yīng)的第二目標(biāo)數(shù)據(jù);將操作成功消息作為第一目標(biāo)操作結(jié)果反饋給網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器。
7、在其中一個實(shí)施例中,該方法還包括:當(dāng)緩存空間中第二目標(biāo)數(shù)據(jù)的大小超過預(yù)設(shè)閾值,則通過fuse網(wǎng)絡(luò)文件系統(tǒng)將第二目標(biāo)數(shù)據(jù)寫入到對應(yīng)的目標(biāo)電子設(shè)備。
8、在其中一個實(shí)施例中,該方法還包括:通過滑窗算法和/或lru算法淘汰緩存空間中的已經(jīng)緩存的數(shù)據(jù)。
9、第二方面,提供了一種跨設(shè)備數(shù)據(jù)訪問裝置,應(yīng)用于電子設(shè)備,電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,fuse網(wǎng)絡(luò)文件系統(tǒng)與ebpf模塊共享緩存空間,該裝置包括:獲取模塊,用于獲取應(yīng)用程序生成的操作請求,響應(yīng)于操作請求通過虛擬文件系統(tǒng)將操作請求轉(zhuǎn)發(fā)至網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器;訪問模塊,用于通過網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用ebpf模塊對緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果;緩存空間用于緩存從其他電子設(shè)備讀取的數(shù)據(jù)或者向其他電子設(shè)備寫入的數(shù)據(jù);反饋模塊,用于通過虛擬文件系統(tǒng)將第一目標(biāo)操作結(jié)果反饋給應(yīng)用程序。
10、第三方面,提供了一種電子設(shè)備,該電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,fuse網(wǎng)絡(luò)文件系統(tǒng)與ebpf模塊共享緩存空間,該電子設(shè)備還包括存儲器和處理器,存儲器存儲有計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時實(shí)現(xiàn)上述第一方面中任一項(xiàng)的方法。
11、第四方面,提供了一種計(jì)算機(jī)存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述第一方面中任一項(xiàng)的方法。
12、本申請?zhí)峁┑目缭O(shè)備數(shù)據(jù)訪問方法通過在緩存空間中對數(shù)據(jù)的預(yù)緩存,然后通過ebpf模塊在內(nèi)核空間截斷操作請求,使得操作請求無需到達(dá)fuse網(wǎng)絡(luò)文件系統(tǒng),這樣,fusedriver可以直接通過ebpf模塊從緩存空間中獲取第一目標(biāo)操作結(jié)果,并返回給app。減少了進(jìn)行一次操作請求內(nèi)核空間的fuse?driver與用戶空間的fuse網(wǎng)絡(luò)文件系統(tǒng)的交互次數(shù),從而有助于降低用戶態(tài)和內(nèi)核態(tài)之間的多次切換以及數(shù)據(jù)在用戶態(tài)和內(nèi)核態(tài)反復(fù)拷貝,從而提高了跨設(shè)備訪問數(shù)據(jù)的效率,降低時延。
1.一種跨設(shè)備數(shù)據(jù)訪問方法,其特征在于,應(yīng)用于電子設(shè)備,所述電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,所述用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),所述內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,所述fuse網(wǎng)絡(luò)文件系統(tǒng)與所述ebpf模塊共享緩存空間,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過所述網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用所述ebpf模塊對所述緩存空間執(zhí)行目標(biāo)操作之后,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述操作請求為讀操作請求,所述目標(biāo)操作為讀操作,所述通過所述網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用所述ebpf模塊對所述緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述操作請求為寫操作請求,所述目標(biāo)操作為寫操作,所述通過所述網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器調(diào)用所述ebpf模塊對所述緩存空間執(zhí)行目標(biāo)操作,獲取第一目標(biāo)操作結(jié)果,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
8.一種跨設(shè)備數(shù)據(jù)訪問裝置,其特征在于,應(yīng)用于電子設(shè)備,所述電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,所述用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),所述內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,所述fuse網(wǎng)絡(luò)文件系統(tǒng)與所述ebpf模塊共享緩存空間,所述裝置包括:
9.一種電子設(shè)備,其特征在于,所述電子設(shè)備的操作系統(tǒng)包括用戶空間和內(nèi)核空間,所述用戶空間布置有應(yīng)用程序和fuse網(wǎng)絡(luò)文件系統(tǒng),所述內(nèi)核空間布置有虛擬文件系統(tǒng)、網(wǎng)絡(luò)文件系統(tǒng)內(nèi)核驅(qū)動器和ebpf模塊,所述fuse網(wǎng)絡(luò)文件系統(tǒng)與所述ebpf模塊共享緩存空間,所述電子設(shè)備還包括存儲器和處理器,所述存儲器存儲有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)權(quán)利要求1至7中任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)存儲介質(zhì),其特征在于,其上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述的方法。