云桌面應(yīng)用分層技術(shù)白皮書
【應(yīng)用分層技術(shù)】本文介紹了應(yīng)用分層實(shí)現(xiàn)的技術(shù)原理、實(shí)現(xiàn)、應(yīng)用場景以及使用限制。
摘要
本文介紹了應(yīng)用分層實(shí)現(xiàn)的技術(shù)原理、實(shí)現(xiàn)、應(yīng)用場景以及使用限制。
關(guān)鍵字
應(yīng)用分層、文件系統(tǒng)分層、注冊(cè)表分層、minifilter。
術(shù)語清單
|
縮略語/術(shù)語 |
說明 |
|
Minifilter |
微軟過濾驅(qū)動(dòng)框架 |
|
Composite File System |
聯(lián)合文件系統(tǒng) |
|
File System Layering tech |
文件系統(tǒng)分層技術(shù) |
|
Register System Layering tech |
注冊(cè)表系統(tǒng)分層技術(shù) |
|
App Layer |
應(yīng)用分層 |
|
|
|
|
|
|
隨著云計(jì)算技術(shù)的飛速發(fā)展,作為云計(jì)算典型的應(yīng)用,云桌面以其數(shù)據(jù)安全、高效運(yùn)維、統(tǒng)一管理、綠色節(jié)能等特性深受用戶的青睞,在各行各業(yè)的場景中逐步取代部分傳統(tǒng)的PC。
傳統(tǒng)的廣義上的云桌面技術(shù)無論是VDI架構(gòu),IDV架構(gòu)還是VOI架構(gòu),都具備了桌面操作系統(tǒng)管理和分發(fā)的基本功能。但是仍然存在一些不足,當(dāng)前管理員通常只能將安裝好應(yīng)用程序和數(shù)據(jù)的桌面系統(tǒng)整體分發(fā)給用戶。這種方案帶來的一個(gè)最大問題是:用戶的桌面系統(tǒng)使用一段時(shí)間后,桌面中已經(jīng)存在一些用戶自己安裝的應(yīng)用和數(shù)據(jù)。如果此時(shí)管理員要對(duì)原來已經(jīng)分發(fā)過的系統(tǒng)重新編輯更新再分發(fā),就會(huì)導(dǎo)致用戶的應(yīng)用或數(shù)據(jù)丟失,大多數(shù)場景這是不能接受的。所以管理員應(yīng)對(duì)該情況通常還是需要到每個(gè)用戶那分別一一處理,帶來重復(fù)的運(yùn)維工作量。
下文要介紹的“應(yīng)用分層技術(shù)”就是用來解決這個(gè)問題的。它能將管理員管理的操作系統(tǒng)、程序和數(shù)據(jù)同用戶自己管理的程序和數(shù)據(jù)實(shí)現(xiàn)分離。這樣管理員就可以隨時(shí)統(tǒng)一對(duì)桌面系統(tǒng)更新如系統(tǒng)設(shè)置、程序的安裝和更新等,并隨時(shí)將更新推送給用戶。
從技術(shù)上講,應(yīng)用分層技術(shù)的“層”對(duì)于Windows而言其實(shí)是一堆文件和注冊(cè)表項(xiàng)的集合,這些文件和注冊(cè)表項(xiàng)在軟件安裝過程被捕獲并存儲(chǔ)為虛擬磁盤。當(dāng)一個(gè)“層”被分配給虛擬桌面時(shí),該層所對(duì)應(yīng)的虛擬磁盤中的相關(guān)應(yīng)用和數(shù)據(jù)會(huì)被自動(dòng)加入到系統(tǒng)中,就像系統(tǒng)安裝了新應(yīng)用程序效果一樣。再通過該技術(shù)將所有這些層合并在一起,讓用戶看到的最終系統(tǒng)就是由多個(gè)這樣的層拼裝之后的完整桌面。這些層有的是只讀的,有的是可寫的。


如上圖所示,使用應(yīng)用分層技術(shù)后,用戶桌面的操作系統(tǒng)被邏輯分層多個(gè)層。其中“原生操作系統(tǒng)”和“管理員的應(yīng)用和配置”這兩個(gè)層是可以由管理員來統(tǒng)一編輯和管理的,能夠單獨(dú)下發(fā)更新給用戶。應(yīng)用分層技術(shù)會(huì)將更新后的這些層自動(dòng)和用戶自管理的層合并。
Windows應(yīng)用分層主要涉及兩個(gè)核心技術(shù),文件系統(tǒng)分層技術(shù)和注冊(cè)表系統(tǒng)分層技術(shù)。
文件系統(tǒng)分層是通過文件系統(tǒng)虛擬化實(shí)現(xiàn)的。無論是在PC還是虛擬機(jī)上運(yùn)行Windows操作系統(tǒng),都存在一個(gè)安裝Windows的系統(tǒng)盤,通常是C盤。這個(gè)邏輯驅(qū)動(dòng)器包含了一些具有一定層次結(jié)構(gòu)的文件和文件夾,他們確保windows正常引導(dǎo)并使windows服務(wù)或應(yīng)用程序能夠正常運(yùn)行,同時(shí)用戶可以在該盤讀寫數(shù)據(jù)。
對(duì)C盤的文件系統(tǒng)分層是按照一系列的層創(chuàng)建一個(gè)虛擬的邏輯C盤視圖。這些層或者是一系列的虛擬磁盤或則是一系列的虛擬文件系統(tǒng)文件,在系統(tǒng)啟動(dòng)時(shí)這一系列的虛擬磁盤或虛擬文件系統(tǒng)文件通過文件系統(tǒng)過濾驅(qū)動(dòng)(也被稱為聯(lián)合文件系統(tǒng)驅(qū)動(dòng))被附加合并到C盤內(nèi),組成一個(gè)虛擬合并的盤邏輯視圖,在任何情況下通過C盤看到的是一個(gè)真正的由所有這些虛擬磁盤(或則說文件系統(tǒng)層)的合并視圖。

如上圖示例,每個(gè)層包含一個(gè)應(yīng)用程序,它們分別有兩個(gè)文件:一個(gè)exe和dll,每個(gè)層在一個(gè)單獨(dú)的虛擬磁盤中,把這些虛擬磁盤掛載到虛擬機(jī)上后通過文件系統(tǒng)虛擬化驅(qū)動(dòng)工具,將各個(gè)層次的文件在邏輯上合并到系統(tǒng)的C盤中,使系統(tǒng)看上去就好像這三個(gè)層中的文件系統(tǒng)本來就是C盤的文件一樣。這時(shí)C盤的文件系統(tǒng)如下:

它是C盤原有文件和三個(gè)層文件的虛擬合并。打開Windows的資源管理器瀏覽C盤,你可以看到類似于上圖的結(jié)構(gòu),看到來自不同層文件和目錄被并在一起,有AppA、AppB和來自許多層的公共文件夾以及公共文件夾中來之不同層的文件DLL。
聯(lián)合文件系統(tǒng)驅(qū)動(dòng)是通過文件系統(tǒng)MiniFilter過濾驅(qū)動(dòng)程序?qū)崿F(xiàn)的。在邏輯上所有的文件都存在于文件系統(tǒng)中,文件系統(tǒng)層本身在虛擬磁盤中是NTFS,通過虛擬化文件系統(tǒng)的名稱空間,以攔截IO請(qǐng)求文件,并將它們重定向到對(duì)應(yīng)的層。 比如,如果雙擊App.exe的快捷方式,對(duì)文件系統(tǒng)的調(diào)用實(shí)際上進(jìn)入了MiniFilter文件系統(tǒng)微過濾驅(qū)動(dòng),它將請(qǐng)求傳遞到對(duì)應(yīng)的虛擬磁盤上。
多個(gè)文件系統(tǒng)分層文件系統(tǒng)呈現(xiàn)給用戶Windows環(huán)境的文件系統(tǒng)邏輯如下圖示例:

Operating System:基礎(chǔ)的Windows操作系統(tǒng)層;
App Layer(office):安裝了Office應(yīng)用的層;
App Layer(fireFox):安裝了firefox瀏覽器應(yīng)用的層;
WriteLayer:可寫層,包括windows運(yùn)行過程產(chǎn)生的一些臨時(shí)文件、用戶寫入的數(shù)據(jù)文件以及對(duì)應(yīng)用層的已有文件修改通過寫時(shí)拷貝機(jī)制寫入的數(shù)據(jù)。
每個(gè)虛擬層安裝的應(yīng)用程序都有自己的目錄文件列表結(jié)構(gòu),如果兩個(gè)層的同一個(gè)路徑下存在相同的文件名就產(chǎn)生了沖突。一般情況每個(gè)應(yīng)用程序安裝都有自己的目錄結(jié)構(gòu),極少會(huì)出現(xiàn)沖突。應(yīng)用分層技術(shù)解決這種文件沖突的主要機(jī)制是通過設(shè)置層優(yōu)先級(jí)來解決的,層優(yōu)先級(jí)高的文件呈現(xiàn)給windows系統(tǒng)。當(dāng)通過Windows查看這些層文件時(shí),它遵循一個(gè)自上而下的模型,越上層優(yōu)先級(jí)越高。因此,如果同一個(gè)文件存在于兩個(gè)層的同一路徑中,根據(jù)優(yōu)先級(jí)原則只有一個(gè)文件會(huì)被呈現(xiàn)給一個(gè)執(zhí)行的Windows環(huán)境。用戶看到也是這個(gè)優(yōu)先級(jí)高的文件。如下圖示例:

注冊(cè)表系統(tǒng)分層技術(shù)和文件系統(tǒng)分層技術(shù)原理上類似,是通過虛擬注冊(cè)表系統(tǒng)來實(shí)現(xiàn)的。對(duì)注冊(cè)表系統(tǒng)的分層就是創(chuàng)建一系列虛擬注冊(cè)表或者說是一系列虛擬的注冊(cè)表蜂巢文件,通過注冊(cè)表過濾驅(qū)動(dòng)(聯(lián)合注冊(cè)表驅(qū)動(dòng))將這些個(gè)獨(dú)立的注冊(cè)表的視圖虛擬的合并起來,以一個(gè)統(tǒng)一的完整注冊(cè)表視圖提供給操作系統(tǒng)使用。
注冊(cè)表系統(tǒng)分層技術(shù)實(shí)現(xiàn)和呈現(xiàn)給用戶的注冊(cè)表視圖結(jié)構(gòu)以及沖突的優(yōu)先級(jí)機(jī)制和文件系統(tǒng)基本一致。
- 應(yīng)用分層典型應(yīng)用
- 系統(tǒng)批量分發(fā)應(yīng)用場景
場景一:安全補(bǔ)丁升級(jí)批量分發(fā)
在很多的用戶工作的網(wǎng)絡(luò)環(huán)境中,出于安全等各方面的考慮往往都是內(nèi)網(wǎng)工作環(huán)境,其工作環(huán)境是和Internet隔離的,這就導(dǎo)致用戶的工作環(huán)境中的云桌面無法通過internet進(jìn)行在線升級(jí);
場景二:軟件、系統(tǒng)設(shè)置批量下發(fā)
云桌面運(yùn)維過程中,可能會(huì)需要對(duì)一些辦公軟件進(jìn)行升級(jí)、增加或者刪除;或者是對(duì)操作系統(tǒng)做一些設(shè)置,比如IE瀏覽器的一些設(shè)置,網(wǎng)絡(luò)的一些設(shè)置等。。
在云桌面中開啟應(yīng)用分層通過對(duì)每個(gè)云桌面創(chuàng)建一個(gè)個(gè)性化層來保存每個(gè)桌面的個(gè)性化設(shè)置、安裝的軟件以及用戶的私有數(shù)據(jù)。管理員在管理端可以直接打開系統(tǒng)鏡像進(jìn)行編輯,對(duì)系統(tǒng)設(shè)置調(diào)整、安裝相應(yīng)的補(bǔ)丁、軟件更新等。然后將編輯好的鏡像重新批量分發(fā)給用戶,無論是使用還原桌面的用戶還是需要個(gè)性持久化存儲(chǔ)的用戶都能被集中更新,無需再分別到每個(gè)桌面上去操作。
一些云桌面使用場景希望每次關(guān)機(jī)后能自動(dòng)還原系統(tǒng)到管理員下發(fā)的初始狀態(tài),比如出于安全考慮避免上次桌面使用者的數(shù)據(jù)殘留,比如為了避免長期運(yùn)行后系統(tǒng)臃腫變慢,每次還原可以讓系統(tǒng)更干凈、穩(wěn)定和流暢等等。會(huì)議室、多媒體教室、醫(yī)生門診室等這些公用的云桌面通常都有這類需求。但是這些場景下不同的桌面因?yàn)橥瓿傻娜蝿?wù)和工作環(huán)境不同,往往不同桌面有自己一些特殊的配置并不一樣,即無法由管理員統(tǒng)一配置。比如醫(yī)生門診室的桌面、收費(fèi)窗口桌面他們連接了不同的打印機(jī)和其它外設(shè),各用戶打印材料的格式不同(有打發(fā)票的,有打清單,有打文檔的)需要對(duì)打印機(jī)做一些個(gè)性的設(shè)置。再比如多媒體教室中云桌面連接的觸控顯示屏,每塊觸控顯示屏的校準(zhǔn)信息也各不相同。象這類信息都無法由管理員通過基礎(chǔ)系統(tǒng)鏡像統(tǒng)一設(shè)置和下發(fā),需要每個(gè)桌面分別配置。而這些桌面又希望使用還原的桌面,但是使用還原桌面這些個(gè)性化的設(shè)置通常就不能被保存下來。通過應(yīng)用分層技術(shù)的靈活應(yīng)用,就能夠很好解決這個(gè)矛盾。
通過在還原桌面模式下開啟應(yīng)用分層,對(duì)桌面按照用戶需求進(jìn)行還原模式下的個(gè)性化設(shè)置,比如在一臺(tái)還原桌面中配置打印機(jī)設(shè)置的各種參數(shù),配置默認(rèn)打印機(jī)等等,另外還可以在還原模式下對(duì)某些特定軟件配置自動(dòng)登錄、記錄用戶名和密碼等。這樣就可以解決在還原桌面中保留用戶需要的個(gè)性化配置數(shù)據(jù),其非個(gè)性化配置仍然保持還原桌面的關(guān)機(jī)還原特性。
應(yīng)用分層實(shí)現(xiàn)的模塊本身是以一個(gè)底層驅(qū)動(dòng)的方式駐留在Windows系統(tǒng)中,為了保證各個(gè)層中的文件或注冊(cè)表信息對(duì)于操作系統(tǒng)是可見的,該驅(qū)動(dòng)必須保證各個(gè)層中的應(yīng)用啟動(dòng)的時(shí)間點(diǎn)晚于應(yīng)用分層驅(qū)動(dòng)的啟動(dòng)時(shí)間點(diǎn),否則操作系統(tǒng)找不到這些層的文件就會(huì)導(dǎo)致相關(guān)應(yīng)用啟動(dòng)失敗。基于該原因應(yīng)用分層存在一定的限制,對(duì)一些應(yīng)用場景不支持或有條件支持。具體限制包括如下幾類:
- 非usb類設(shè)備驅(qū)動(dòng):
由于應(yīng)用分層驅(qū)動(dòng)程序?qū)儆谖募到y(tǒng)過濾驅(qū)動(dòng)范疇,其在操作系統(tǒng)初始化啟動(dòng)過程中初始化順序在系統(tǒng)硬件設(shè)備初始化之后,因此非USB類的設(shè)備驅(qū)動(dòng)程序(如虛擬磁盤或虛擬顯卡類驅(qū)動(dòng)等)在用戶桌面中用戶自己安裝,桌面重啟時(shí)由于設(shè)備驅(qū)動(dòng)初始化時(shí)應(yīng)用分層驅(qū)動(dòng)還沒有啟動(dòng),將無法找到應(yīng)用分層磁盤中的驅(qū)動(dòng)相關(guān)文件或注冊(cè)表信息,導(dǎo)致重啟后驅(qū)動(dòng)不生效。
- 殺毒軟件:
由于殺毒軟件這類應(yīng)用一般都涉及到很多底層的驅(qū)動(dòng)程序,其中一些底層驅(qū)動(dòng)程序啟 動(dòng)時(shí)間較早,早于應(yīng)用分層的文件系統(tǒng)過濾驅(qū)動(dòng),系統(tǒng)重啟時(shí)殺毒軟件無法讀取應(yīng)用分層磁盤中的程序相關(guān)文件,出現(xiàn)錯(cuò)誤或殺毒軟件功能不能用。
- 服務(wù)啟動(dòng)類型是boot的服務(wù):
由于Windows服務(wù)啟動(dòng)類型有如下幾種啟動(dòng)類型:boot、system、auto、demand、disabled五種。其在系統(tǒng)中初始化順序是由前到后的順序依次初始化,由于應(yīng)用分層驅(qū)動(dòng)的服務(wù)啟動(dòng)類型是system類型,晚于boot類型。因此對(duì)于是boot類型的服務(wù),應(yīng)用分層將無法支持。使用boot類型的服務(wù)程序一般主要也是非usb類設(shè)備驅(qū)動(dòng)、殺毒軟件之類的程序。
- 系統(tǒng)安全補(bǔ)丁:
Windows系統(tǒng)安全補(bǔ)丁升級(jí),如果涉及到內(nèi)核的安全補(bǔ)丁,用戶升級(jí)過程中會(huì)將內(nèi)核文件寫入到應(yīng)用分層的個(gè)性化磁盤。對(duì)于這類內(nèi)核補(bǔ)丁,系統(tǒng)引導(dǎo)時(shí)應(yīng)用分層驅(qū)動(dòng)還沒有啟動(dòng),因此重啟系統(tǒng)后升級(jí)程序無法找到應(yīng)用分層磁盤中的引導(dǎo)文件,導(dǎo)致升級(jí)無效或失敗。
對(duì)于以上幾類場景,規(guī)避的方式是這類應(yīng)用或者windows的補(bǔ)丁升級(jí)不要由用戶在自己的桌面中操作,可以由管理員在編輯鏡像時(shí)統(tǒng)一安裝好再分發(fā)給用戶即可支持。
另外,應(yīng)用分層驅(qū)動(dòng)是基于minifilter框架開發(fā)的,由于在Windows7 sp1之前版本對(duì)于minifilter框架中部分功能不支持,所以應(yīng)用分層技術(shù)只能在windows 7 sp1以及以上的版本才支持,包括Windows10。
云桌面結(jié)合應(yīng)用分層技術(shù),可以進(jìn)一步大幅提升管理員對(duì)操作系統(tǒng)集中統(tǒng)一運(yùn)維的效率。該技術(shù)目前在Windows上實(shí)現(xiàn)。未來在Linux以及國內(nèi)操作系統(tǒng)上也會(huì)推出相應(yīng)的應(yīng)用分層技術(shù)。
相關(guān)推薦:
相關(guān)標(biāo)簽:
點(diǎn)贊
客戶評(píng)論
我要評(píng)論
您的姓名
您的手機(jī)號(hào)*
您的郵箱
公司名稱
更多技術(shù)博文
-
解密DeepSeek-V3推理網(wǎng)絡(luò):MoE架構(gòu)如何重構(gòu)低時(shí)延、高吞吐需求?DeepSeek-V3發(fā)布推動(dòng)分布式推理網(wǎng)絡(luò)架構(gòu)升級(jí),MoE模型引入大規(guī)模專家并行通信,推理流量特征顯著變化,Decode階段對(duì)網(wǎng)絡(luò)時(shí)度敏感。網(wǎng)絡(luò)需保障低時(shí)延與高吞吐,通過端網(wǎng)協(xié)同負(fù)載均衡與擁塞控制技術(shù)優(yōu)化性能。高效運(yùn)維實(shí)現(xiàn)故障快速定位與業(yè)務(wù)高可用,單軌雙平面與Shuffle多平面組網(wǎng)方案在低成本下滿足高性能推理需求,為大規(guī)模MoE模型部署提供核心網(wǎng)絡(luò)支撐。
-
#交換機(jī)
-
-
高密場景無線網(wǎng)絡(luò)新解法:銳捷Wi-Fi 7 AP 與 龍伯透鏡天線正式成團(tuán)銳捷網(wǎng)絡(luò)在中國國際大學(xué)生創(chuàng)新大賽(2025)總決賽推出旗艦Wi-Fi 7無線AP RG-AP9520-RDX及龍伯透鏡天線組合,針對(duì)高密場景實(shí)現(xiàn)零卡頓、低時(shí)延和高并發(fā)網(wǎng)絡(luò)體驗(yàn)。該方案通過多檔賦形天線和智能無線技術(shù),有效解決干擾與覆蓋問題,適用于場館、辦公等高密度環(huán)境,提供穩(wěn)定可靠的無線網(wǎng)絡(luò)解決方案。
-
#無線網(wǎng)
-
#Wi-Fi 7
-
#無線
-
#放裝式AP
-
-
打造“一云多用”的算力服務(wù)平臺(tái):銳捷高職教一朵云2.0解決方案發(fā)布銳捷高職教一朵云2.0解決方案幫助學(xué)校構(gòu)建統(tǒng)一云桌面算力平臺(tái),支持教學(xué)、實(shí)訓(xùn)、科研和AI等全場景應(yīng)用,實(shí)現(xiàn)一云多用。通過資源池化和智能調(diào)度,提升資源利用效率,降低運(yùn)維成本,覆蓋公共機(jī)房、專業(yè)實(shí)訓(xùn)、教師辦公及AI教學(xué)等多場景需求,助力教育信息化從分散走向融合,推動(dòng)規(guī)模化與個(gè)性化培養(yǎng)結(jié)合。
-
#云桌面
-
#高職教
-
-
醫(yī)院無線升級(jí)必看:“全院零漫游”六大謎題全解析銳捷網(wǎng)絡(luò)的全院零漫游方案是新一代醫(yī)療無線解決方案,專為智慧醫(yī)院設(shè)計(jì),通過零漫游主機(jī)和天線入室技術(shù)實(shí)現(xiàn)全院覆蓋和移動(dòng)零漫游體驗(yàn)。方案支持業(yè)務(wù)擴(kuò)展全適配,優(yōu)化運(yùn)維管理,確保內(nèi)外網(wǎng)物理隔離安全,并便捷部署物聯(lián)網(wǎng)應(yīng)用,幫助醫(yī)院提升網(wǎng)絡(luò)性能,支持舊設(shè)備利舊升級(jí),降低成本。
-
#醫(yī)療
-
#醫(yī)院網(wǎng)絡(luò)
-
#無線
-