Bởi
- Rahul Awati
- Stephen J. Bigelow, Biên tập viên công nghệ cao cấp
Đã xuất bản:ngày 21 tháng 8 năm 2023
Dịch vụ truyền thông minh nền Microsoft Windows (BITS) là một dịch vụ trong hệ điều hành (HĐH) Microsoft Windows cho phép tải xuống từ và tải tệp lên máy chủ web Giao thức truyền siêu văn bản (HTTP) và máy chủ tệp Khối tin nhắn máy chủ (SMB).
BITS sử dụng băng thông mạng nhàn rỗi để truyền tệp ở chế độ nền hoặc nền trước để trải nghiệm ở nền trước của người dùng bị ảnh hưởng tối thiểu. Việc tắt dịch vụ sẽ ngăn tất cả các ứng dụng phụ thuộc vào BITS tự động tải xuống các chương trình và thông tin quan trọng khác.
BITS sử dụng băng thông mạng không sử dụng hoặc nhàn rỗi để thực hiện truyền tệp -- tải xuống hoặc tải lên -- từ hoặc đến máy chủ web HTTP và máy chủ tệp SMB. Quá trình truyền tệp - chẳng hạn như giữa máy khách và máy chủ - không đồng bộ và xảy ra ở nền trước hoặc nền sau. Điều này có nghĩa là khi một ứng dụng yêu cầu BITS truyền tệp, nó có thể tự do thực hiện bất kỳ tác vụ nào khác.
BITS bao gồm các lệnh ghép ngắn PowerShell để tạo và quản lý quá trình truyền cũng như tiện ích dòng lệnh BITSAdmin để tạo công việc tải xuống hoặc tải lên cũng như theo dõi tiến trình của chúng. Dịch vụ này cũng bao gồm cơ sở quản lý hàng đợi để ưu tiên các yêu cầu truyền tệp từ ứng dụng.
Nếu xảy ra gián đoạn hoặc gián đoạn trên mạng, BITS sẽ tự động kết nối lại và tiếp tục quá trình truyền tệp khi mạng hoặc máy hoạt động trở lại. BITS có thể tạm dừng và tiếp tục chuyển tự động ngay cả sau khi khởi động lại. Nó cũng truyền các tập tin khi máy được cắm điện và ở chế độ Chế độ chờ hiện đại, do đó vẫn chú ý đến việc sử dụng điện năng.
Vòng đời của công việc Dịch vụ chuyển giao thông minh nền
Công việc BITS là một vùng chứa chứa một hoặc nhiều tệp sẽ được chuyển đến hoặc từ máy chủ web HTTP và máy chủ tệp SMB. Một công việc có các thuộc tính chỉ định cách BITS truyền tệp và tương tác với ứng dụng.
Vòng đời của công việc bắt đầu từ việc tạo ra nó. Đây là khi người dùng chỉ định mức độ ưu tiên của công việc, cho dù đó là tải lên hay tải xuống và họ muốn nhận (các) thông báo cho sự kiện nào. Sau khi công việc được tạo, các tệp có thể được thêm vào đó -- với tối đa một tệp cho công việc tải lên. Các thuộc tính công việc cũng có thể được thay đổi tùy thuộc vào ứng dụng. Khi thêm một hoặc nhiều tệp vào công việc, điều quan trọng là phải chỉ định tên cục bộ (máy khách) và tên từ xa (máy chủ) của tệp.
Khi công việc được tạo, BITS sẽ tự động tạm dừng công việc. Người dùng phải tiếp tục công việc để kích hoạt nó trong hàng đợi chuyển, tức là chuyển nó từ trạng thái bị treo sang trạng thái được xếp hàng đợi. Nó vẫn ở trạng thái xếp hàng đợi cho đến khi bộ lập lịch BITS xác định đến lượt nó truyền tệp. Tại thời điểm này, công việc chuyển sang trạng thái kết nối và BITS kết nối với máy chủ từ xa. Sau đó nó chuyển sang trạng thái chuyển giao và duy trì ở đó cho đến khi một trong bốn điều kiện xảy ra:
- Thời gian kết thúc.
- Quá trình chuyển giao đã hoàn tất.
- Có lỗi.
- Ứng dụng tạm dừng công việc.
Công việc chuyển sang trạng thái được chuyển khi BITS chuyển tất cả các tệp của nó. Các tệp được chuyển sẽ chỉ khả dụng cho máy khách khi ứng dụng gọi phương thức IBackgroundCopyJob::Complete và quyền sở hữu tệp được chuyển từ BITS sang người dùng.
BITS duy trì trải nghiệm người dùng như thế nào
Tùy thuộc vào băng thông mạng nhàn rỗi có sẵn, BITS tăng hoặc giảm tốc độ truyền tệp. Nếu một ứng dụng bắt đầu tiêu tốn nhiều băng thông hơn, BITS sẽ tự động giảm tốc độ truyền tệp, do đó duy trì trải nghiệm chung của người dùng và đảm bảo rằng quá trình truyền trong nền là tối ưu.
Miễn là người dùng bắt đầu truyền tệp vẫn đăng nhập vào mạng và kết nối mạng được duy trì, BITS sẽ tiếp tục truyền tệp, ngay cả khi ứng dụng tự thoát. Điều đó có nghĩa là BITS không buộc kết nối mạng nếu kết nối bị mất hoặc nếu người dùng đăng xuất. Thay vào đó, trước tiên, nó sẽ tạm dừng công việc chuyển rồi tiếp tục lại sau khi kết nối bị mất được thiết lập lại hoặc sau khi người dùng đăng xuất đăng nhập lại.
BITS luôn xem xét chi phí truyền tệp và mức sử dụng mạng cũng như tình trạng tắc nghẽn mạng. Ngoài ra, nó sử dụng các chính sách truyền do ứng dụng chỉ định để ngăn việc truyền tệp trên các kết nối mạng có tính phí. Những cân nhắc này đặc biệt quan trọng đối với các mạng chuyển vùng nơi chi phí có thể tăng lên nhanh chóng. BITS cũng giúp giảm thiểu tác động hoặc can thiệp vào công việc trên nền trước của người dùng, cuối cùng giúp duy trì trải nghiệm của họ khi làm việc với hệ thống.
Các ứng dụng của Dịch vụ truyền thông minh dưới nền
BITS hữu ích nhất cho các quản trị viên hệ thống đang tìm cách tải xuống tệp từ hoặc tải tệp lên máy chủ web HTTP và chia sẻ tệp SMB. Ngoài ra, nó còn cung cấp giao diện Mô hình đối tượng thành phần hữu ích cho các lập trình viên C, C++ và .NET. Microsoft không khuyến nghị giao diện lập trình ứng dụng (API) BITS cho các lập trình viên Nền tảng Windows phổ thông. Thay vào đó, họ nên sử dụng API Windows.Networking.BackgroundTransfer.
Windows sử dụng BITS để tải xuống các bản cập nhật cho hệ thống cục bộ của người dùng. Nhiều ứng dụng khác cũng sử dụng BITS, bao gồm các ứng dụng cần tải xuống từ hoặc tải tệp lên máy chủ web chuyển trạng thái HTTP hoặc đại diện hoặc máy chủ tệp SMB. Các ứng dụng cần tự động tiếp tục truyền tệp sau khi ngắt kết nối mạng hoặc khởi động lại máy tính cũng sử dụng BITS. Cuối cùng, BITS có thể được sử dụng để tối ưu hóa lưu lượng truy cập mạng diện rộng khi sử dụng với BranchCache, một công nghệ tối ưu hóa mạng WAN được tích hợp trong một số phiên bản hệ điều hành Windows và Windows Server.
Quản trị viên có thể sử dụng Microsoft Windows BITS để quản lý lưu lượng WAN. Các loại công việc chuyển giao và trạng thái công việc trong BITS
BITS hỗ trợ ba loại công việc chuyển nhượng:
- Công việc tải xuống. Nó tải tập tin về máy khách. Ngoài ra, tất cả các tệp được truyền không đồng bộ ở nền trước hoặc nền sau.
- Tải công việc lên. Nó tải một tập tin từ máy khách lên máy chủ.
- Công việc tải lên-trả lời. Đầu tiên, nó tải một tệp lên máy chủ và sau đó nhận được tệp trả lời từ ứng dụng máy chủ rằng quá trình tải lên đã hoàn tất.
Công việc BITS có thể ở một trong bốn trạng thái:
- Bắt đầu. Theo mặc định, trạng thái bắt đầu là TẠM NGỪNG. Từ trạng thái này, người dùng có thể thêm tệp vào công việc, đồng thời đặt thuộc tính tệp và công việc.
- Hành động. Có thể có nhiều trạng thái hành động hiển thị hoạt động nội bộ hiện tại của công việc, chẳng hạn như ĐÃ XÓA HÀNG, KẾT NỐI và CHUYỂN GIAO. Một trạng thái hành động khác là LỖI TẠM THỜI, cho biết công việc không truyền được tệp.
- Đã chuyển nhượng. Trạng thái này xảy ra khi quá trình chuyển đã thành công và không cần thực hiện chuyển khoản nào nữa.
- Cuối cùng. Công việc đã được XÁC NHẬN và tất cả các tệp đã tải xuống đã hoàn thành đều có sẵn.
Khi một công việc BITS chạy, nó sẽ chuyển đổi giữa các trạng thái trong các lớp trạng thái khác nhau. Tuy nhiên, một khi đạt đến trạng thái cuối cùng, nó sẽ không thoát khỏi trạng thái đó, nghĩa là không thể gọi bất kỳ phương thức thay đổi trạng thái nào. Nó cũng sẽ không xuất hiện trong bảng liệt kê công việc. Nếu xảy ra lỗi, công việc sẽ chuyển sang trạng thái lỗi nghiêm trọng (BITS không thể khôi phục từ lỗi đó) hoặc sang trạng thái lỗi tạm thời (lỗi có thể tự khắc phục và BITS thử lại công việc cho đến khi quá trình truyền thành công hoặc cho đến khi công việc hết thời gian trong khoảng thời gian do ứng dụng chỉ định). Nếu công việc hết thời gian ở trạng thái lỗi nhất thời, BITS sẽ chuyển công việc đó sang trạng thái lỗi nghiêm trọng.
Mức độ ưu tiên của Dịch vụ truyền tải thông minh nền
BITS có thể chọn công việc chuyển giao nào sẽ chạy và thời điểm thực hiện một cách thông minh. Điều này là do ứng dụng có thể sử dụng các mức độ ưu tiên khác nhau:một cho nền trước và ba cho nền sau. Mức độ ưu tiên xác định thời điểm một công việc chuyển được xử lý so với các công việc khác trong hàng đợi chuyển, do đó:
- Công việc có mức độ ưu tiên cao hơn sẽ được ưu tiên hơn công việc có mức độ ưu tiên thấp hơn.
- Các công việc có mức độ ưu tiên thấp hơn không nhận được thời gian chuyển cho đến khi tất cả các công việc có mức độ ưu tiên cao hơn được chuyển hoặc ở trạng thái lỗi.
- Các công việc có cùng mức độ ưu tiên chia sẻ thời gian chuyển giao, do đó không có công việc lớn nào có thể chặn hàng đợi chuyển giao và gây ra sự chậm trễ.
Để lên lịch các công việc ở cùng mức độ ưu tiên, BITS sử dụng lập lịch luân phiên, trong đó mỗi công việc được cấp một khoảng thời gian để xử lý các tệp của nó. Nếu một công việc cụ thể không hoàn thành trong khoảng thời gian quy định, nó sẽ tự động quay trở lại trạng thái xếp hàng và công việc tiếp theo trong hàng đợi sẽ được kích hoạt trên cơ sở nhập trước, xuất trước (FIFO). Ở đây, điều quan trọng cần lưu ý là BITS không đảm bảo xử lý FIFO, mặc dù nó hoạt động tốt nhất.
Windows BITS sử dụng lập lịch vòng tròn để lên lịch công việc ở cùng mức độ ưu tiên. Trong BITS 1.5 trở về trước, các công việc ở nền trước được ưu tiên hơn các công việc ở nền. Trên thực tế, các công việc ở nền trước có mức độ ưu tiên cao nhất và BITS chỉ xử lý một công việc tại một thời điểm. Trong các phiên bản BITS sau này, nhiều lần chuyển tiền trước có thể xảy ra đồng thời, nhưng nhiều tệp trong cùng một công việc luôn được chuyển tuần tự hoặc tuần tự.
Lịch sử của Dịch vụ truyền thông minh dưới nền
Microsoft đã cập nhật BITS nhiều lần:
- Microsoft đã giới thiệu phiên bản 1.0 của BITS trong Windows XP vào năm 2001.
- Phiên bản 1.2 xuất hiện vào giữa năm 2002 để thêm dịch vụ Cập nhật Tự động cho Windows 2000.
- Phiên bản 1.5 xuất hiện vào cuối năm 2003 cùng với Windows Server 2003 và có hỗ trợ dòng lệnh, nhiều tính năng tải lên hơn và cải tiến bảo mật.
- Phiên bản 2.0, được phát hành vào giữa năm 2004 dưới dạng bản cập nhật cho việc triển khai nhiều hệ điều hành, đã bổ sung thêm nhiều tính năng tải xuống, điều tiết băng thông và hỗ trợ cho SMB.
- Được phát hành vào giữa năm 2007, BITS 2.5 đã bổ sung hỗ trợ cho IPv6 và các tiêu đề HTTP tùy chỉnh cũng như bảo mật HTTP tốt hơn.
- BITS 3.0, đi kèm với Windows Vista và Windows Server 2008, đã thêm bộ nhớ đệm ngang hàng, thông báo, quyền truy cập tệp tạm thời, xử lý chuyển hướng HTTP, kiểm soát Chính sách nhóm bổ sung và ghi nhật ký sự kiện.
- BITS 4.0, được phát hành vào giữa năm 2009 cùng với Windows 7 và Windows Server 2008 R2, mang đến tính năng bảo mật dựa trên mã thông báo, các tính năng máy chủ tệp độc lập, điều chỉnh băng thông tinh tế và bộ nhớ đệm ngang hàng được sửa đổi.
- BITS 5.0, được đưa vào Windows 10 vào giữa năm 2016, đã bổ sung các cải tiến cho tác vụ sao chép trong nền, hỗ trợ cho các tác vụ sao chép trong nền cũ hơn và khả năng sử dụng BITS thông qua API và lệnh ghép ngắn PowerShell.
- Phiên bản 10.1 của BITS, một phần của Windows 10 phiên bản 1703, còn được gọi là Windows 10 Creators Update, đã tinh chỉnh các tính năng tải xuống và thông báo.
- Phiên bản 10.2 của BITS, một phần của Bản cập nhật Windows 10 tháng 10 năm 2018, đã thêm thứ tự proxy mặc định cũng như hỗ trợ cho các chính sách nhóm và chính sách nhóm của Trình quản lý thiết bị di động và Chế độ chờ hiện đại.
- Phiên bản 10.3 của BITS, một phần của Bản cập nhật Windows 10 tháng 5 năm 2019, đã hỗ trợ khả năng đánh dấu các tiêu đề HTTP là lệnh gọi lại xác thực chứng chỉ máy chủ và chỉ ghi.
Tìm hiểu cách tải lên và tải xuống tệp bằng tập lệnh Giao thức truyền tệp PowerShell và đọc về 8 dịch vụ truyền tệp an toàn dành cho doanh nghiệp.
Tiếp tục đọc Giới thiệu về Dịch vụ truyền thông minh nền (BITS) của Microsoft Windows
- PowerShell là gì và cách sử dụng nó:Hướng dẫn cơ bản
- 5 bước để xác định và khắc phục sự cố về hiệu suất của Windows 11
- Công cụ chuyển file lớn:Cách tìm và mua thứ tốt nhất
- Công cụ di chuyển Windows 11 dành cho quản trị viên máy tính để bàn
- Các vấn đề nâng cấp Windows 11 mà quản trị viên máy tính để bàn nên biết
Tìm hiểu sâu hơn về hoạt động CNTT và quản lý cơ sở hạ tầng
-
Ví dụ tải lên tệp Struts 2 đơn giản
Bởi:Cameron McKenzie
-
JCL (ngôn ngữ kiểm soát công việc) là gì?
Bởi:Người đóng góp TechTarget
-
Cách sử dụng TFTP để truyền file qua mạng
Bởi:Damon Garn
-
Sử dụng cURL và Wget để tải xuống các tệp mạng từ CLI
Bởi:Damon Garn