後台智能傳輸服務
此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
後台智能傳輸服務(Background Intelligent Transfer Service,縮寫BITS)是微軟在Windows 2000及後續版本中包含的一個組件。它有助於利用空閒網絡帶寬在計算機之間異步、有優先級及自我限制地傳輸文件,並主要在較新版本的Windows Update、Microsoft Update、Windows Server更新服務和系統管理服務器用於交付修補程式到客戶端。反病毒軟件Microsoft Security Essentials(及之後的Windows Defender)也使用它獲取簽名更新,並且微軟的即時通訊產品會使用它來傳輸文件。BITS通過組件對象模型(COM)接口供外部調用。
技術
[編輯]BITS只採用空閒的帶寬傳輸數據。通常來說,BITS在後台傳輸數據,即BITS僅在其他應用程序沒有使用帶寬時傳輸數據。BITS支持在中斷後繼續傳輸。[來源請求]
BITS的1.0版只支持下載。自1.5版開始,BITS支持下載與上傳。上傳需要接收方使用網際網路資訊服務及BITS服務器擴展。
傳輸
[編輯]BITS會代表請求的應用程序異步完成傳輸,即應用程序請求BITS服務進行傳輸後,可以自由地去執行其他任務,乃至終止。只要網絡已連接並且任務所有者已登錄,則傳輸就會在後台進行。當任務所有者未登錄時,BITS任務不會進行。
BITS將在網絡連接斷開或操作系統關閉時暫停所有正在進行的傳輸。在計算機重新開啟並恢復網絡連接時,它將從之前的位置繼續重新開始傳輸。BITS支持通過SMB、HTTP和HTTPS進行傳輸。
帶寬
[編輯]BITS只會嘗試利用空閒帶寬。例如,當應用程序使用80%的可用帶寬時,BITS將只使用剩下的20%。 BITS會不斷監控網絡流量以增加或減少流量,並遏制自己的傳輸以確保其他前台應用程序(如網頁瀏覽器)獲得所需的帶寬。注意,BITS不需要測量實際帶寬。BITS 3.0及更高版本將嘗試使用互聯網網關設備計數器,從而更準確地計算可用帶寬。如果其不可用,BITS將使用網卡(NIC)報告的速度來計算帶寬。這可能導致帶寬的計算錯誤,例如當快速的網絡適配器(如10 Mbit/s)通過慢速鏈路(56 kbit/s)接入網絡。[1]
任務
[編輯]BITS採用隊列管理文件傳輸。一個BITS會話是由一個應用程序創建一個任務(Job)而開始。一個任務就是一份容器,它有一個或多個要傳輸的文件。新創建的任務是空的,需要指定來源與目標URI來添加文件。下載任務可以包含任意多的文件,而上傳任務中只能有一個文件。可以為各個文件設置屬性。任務將繼承創建它的應用程序的安全上下文。BITS提供API接口來控制任務。通過編程可以來啟動、停止、暫停、繼續任務以及查詢狀態。在啟動一個任務前,必須先設置它相對於傳輸隊列中其他任務的優先級。默認情況下,所有任務均為正常優先級,而任務可以被設置為高、低或前台優先級。BITS將優化後台傳輸被,根據可用的空閒網絡帶寬來增加或減少(抑制)傳輸速率。如果一個網絡應用程序開始耗用更多帶寬,BITS將限制其傳輸速率以保證用戶的交互式體驗,但前台優先級的任務除外。
調度
[編輯]BITS的調度採用分配給每個任務有限時間片的機制,一個任務被暫停時,另一個任務才有機會獲得傳輸時機[來源請求]。較高優先級的任務將獲得較多的時間片。BITS採用循環制處理相同優先級的任務,並防止大的傳輸任務阻塞小的傳輸任務。
在任務新建時,它被自動掛起(暫停),等待明確的繼續(激活)。繼續會將任務轉移到排隊狀態。在它開始傳輸數據時,它首先需要連接到遠端服務器,然後開始傳輸。在任務的時間片到期時,傳輸將被暫停,任務返回到排隊狀態。當作業獲得另一個時間片時,它必須重新連接才能傳輸。當任務完成時,BITS將任務的所有權轉移到創建任務的應用程序。
BITS內置有一個錯誤處理和嘗試恢復的機制。錯誤可以是致命(fatal)或暫時(transient)的,這分別移動錯誤到不同的狀態;暫時錯誤可以在一段時間後自我解決。對於暫時錯誤,BITS會等待一段時間並重試。對於致命錯誤,BITS會將任務的控制轉移到創建它的應用程序,並儘量提供錯誤的相關信息。
工具
[編輯]BITSAdmin (頁面存檔備份,存於網際網路檔案館) - BITS管理工具,管理BITS任務的命令行工具。
它存在於Windows XP Service Pack 2 Support Tools (頁面存檔備份,存於網際網路檔案館)或Windows Server 2003 Service Pack 1 Support Tools (頁面存檔備份,存於網際網路檔案館)及兩者的更新版本中,以及是Windows Vista中的標準命令行工具。在Windows 7,BITSAdmin.exe已不推薦使用,建議改用Windows PowerShell cmdlets。[2]
版本歷史
[編輯]- 版本1.0(2001年10月)
- 初始版本。包含在Windows XP RTM中。
- 版本1.2(2002年7月)
- 包含在Windows XP Service Pack 1和Windows 2000 Service Pack 3中。Windows 2000的BITS將自動更新功能帶入了操作系統的核心。
- 沒有其他外部變更。
- 版本1.5(2003年9月)
- 包含在Windows Server 2003,並提供適用於Windows 2000和Windows XP的單獨下載。
- 添加上傳和上傳回復能力,事件的命令行執行,顯式憑證,以及對Windows 2000的支持。
- 版本2.0(2004年8月)
- 包含在Windows XP Service Pack 2和Windows Server 2003 Service Pack 1中,並可以為Windows 2000 Service Packs 3、4以及Windows XP和Server 2003的早期版本單獨下載。
- 添加支持:並發執行前台下載,為遠程名稱使用Server Message Block路徑,下載文件某部分,更改遠程名稱的前綴或完整名稱,以及限制客戶端的帶寬使用。
- BITS 2.0是Windows Server Update Services必備設施。
- 版本2.5(2007年6月)
- 版本3.0(2006年11月)
- 版本4.0(2009年7月)
- 版本5.0(2012年8月)
- 隨Windows 8和Windows Server 2012引入。
- 添加新的應用程序編程接口(API) [9]
- 可以允許或禁止BITS任務通過按流量計費/蜂窩鏈路傳輸。 [10]
- BITS 5.0也包含在Windows 8.1和Windows 10中。 Windows 10中的BITS版本支持在PowerShell遠程會話中的傳輸任務。
使用BITS的非微軟應用程序
[編輯]- AppSense:使用BITS在客戶端安裝軟件包。
- BITS Download Manager (頁面存檔備份,存於網際網路檔案館):一個面向Windows的下載管理器,它創建BITS任務。
- BITSync:開源工具,在SMB網絡共享上執行使用BITS執行文件同步。
- Civilization V:使用BITS下載遊戲模組(mod)包。
- EVE Online:它使用BITS下載所有補丁。也在客戶端修復工具中使用。
- 部分Google服務(包括Chrome、Gears, Pack和YouTube Uploader)使用BITS。[來源請求]
- KBOX Systems Management Appliance:一個系統管理應用程序,可以使用BITS來交付文件到Windows系統。
- RSS Bandit:使用BITS下載網絡供稿中的附件。
- Oxygen media platform:使用BITS分發媒體內容和軟件更新。
- SharpBITS (頁面存檔備份,存於網際網路檔案館):一個適用於Windows的開源下載管理器,它處理BITS任務。
- WinBITS (頁面存檔備份,存於網際網路檔案館):一個適用於Windows的開源下載器,它創建BITS任務來下載文件。
- Novell ZENworks Desktop Management:一個系統管理軟件,可以使用BITS來交付應用程序文件到工作站。[11]
- Specops Deploy/App (頁面存檔備份,存於網際網路檔案館):一個系統管理軟件,在可用時使用BITS在後台交付包到客戶端。
參見
[編輯]參考資料
[編輯]- ^ MSDN BITS Network Bandwidth. [2017-04-19]. (原始內容存檔於2017-04-19).
- ^ Manage BITS (Background Intelligent Transfer Service) with Windows PowerShell. TechNet Magazine. Microsoft. [2015-09-25]. (原始內容存檔於2016-03-04).
- ^ An update package for Background Intelligent Transfer Service (BITS) is now available for Windows Server 2003 and for Windows XP. Microsoft. 2007-10-11 [2007-10-23]. (原始內容存檔於2007-10-05).
- ^ What's New. Microsoft. 2007-10-01 [2007-10-23]. (原始內容存檔於2007-10-12).
- ^ Overview of Windows XP Service Pack 3 (PDF). Microsoft. 2008-05-06 [2008-12-22]. (原始內容 (PDF)存檔於2009-01-17).
- ^ Peer caching: MSDN Library. [2017-04-19]. (原始內容存檔於2017-04-20).
- ^ Windows Management Framework BITS package. [2017-04-19]. (原始內容存檔於2015-01-20).
- ^ Compact Server. [2017-04-19]. (原始內容存檔於2012-10-20).
- ^ What's New in Background Intelligent Transfer Service. [2017-04-19]. (原始內容存檔於2017-05-18).
- ^ 存档副本. [2017-04-19]. (原始內容存檔於2017-03-22).
- ^ Zenworks 7. [2021-08-23]. (原始內容存檔於2009-02-12).