Serviciu de transfer inteligent de fundal - Background Intelligent Transfer Service

Serviciu de transfer inteligent de fundal (BITS)
Dezvoltatori Microsoft
Eliberarea inițială Octombrie 2001 ; Acum 19 ani ( 2001-10 )
Versiune stabila
10.3 / 7 decembrie 2019 ; Acum 20 de luni ( 07.12.2019 )
Sistem de operare Microsoft Windows
Tip Administrator de descărcări
Licență Software comercial proprietar
Site-ul web docs .microsoft .com / en-us / windows / win32 / bits / background-intelligent-transfer-service-portal

Serviciul de transfer inteligent de fundal (BITS) este o componentă a Microsoft Windows XP și iterațiile ulterioare ale sistemelor de operare, care facilitează transferul asincron, prioritar și limitat de fișiere între mașini care utilizează lățime de bandă de rețea inactivă. Acesta este cel mai frecvent utilizat de versiunile recente ale Windows Update , Microsoft Update , Windows Server Update Services și System Center Configuration Manager pentru a oferi actualizări de software pentru clienți, Microsoft e scanner anti-virus Microsoft Security Essentials (o versiune mai recentă de Windows Defender ) pentru a prelua actualizări de semnături și este, de asemenea, utilizat de produsele de mesagerie instantanee Microsoft pentru a transfera fișiere. BITS este expus prin Modelul de obiecte componente (COM).

Tehnologie

BITS folosește lățime de bandă inactivă pentru a transfera date. În mod normal, BITS transferă date în fundal, adică BITS va transfera date numai ori de câte ori există lățime de bandă care nu este utilizată de alte aplicații. BITS acceptă și reluarea transferurilor în caz de întrerupere.

BITS versiunea 1.0 acceptă doar descărcările. De la versiunea 1.5, BITS acceptă atât descărcări, cât și încărcări. Încărcările necesită serverul web IIS , cu extensie de server BITS, pe partea de recepție.

Transferuri

BITS transferă fișierele în numele solicitantului de aplicații în mod asincron, adică, odată ce o aplicație solicită serviciul BITS pentru un transfer, va fi liber să facă orice altă sarcină sau chiar să termine. Transferul va continua în fundal atâta timp cât conexiunea la rețea este acolo și proprietarul jobului este conectat. Joburile BITS nu se transferă atunci când proprietarul jobului nu este conectat.

BITS suspendă orice transfer în desfășurare atunci când conexiunea la rețea este pierdută sau sistemul de operare este oprit. Reia transferul de unde a oprit când (computerul este pornit mai târziu și) conexiunea la rețea este restabilită. BITS acceptă transferuri prin SMB , HTTP și HTTPS .

Lățime de bandă

BITS încearcă să utilizeze doar lățimea de bandă de rezervă. De exemplu, atunci când aplicațiile utilizează 80% din lățimea de bandă disponibilă, BITS va folosi doar restul de 20%. BITS monitorizează constant traficul de rețea pentru orice creștere sau scădere a traficului de rețea și limitează propriile transferuri pentru a se asigura că alte aplicații din prim-plan (cum ar fi un browser web ) obțin lățimea de bandă de care au nevoie. Rețineți că BITS nu măsoară neapărat lățimea de bandă reală. Versiunile BITS 3.0 și versiunile ulterioare vor utiliza contoare de dispozitive Internet Gateway , dacă sunt disponibile, pentru a calcula mai exact lățimea de bandă disponibilă. În caz contrar, BITS va utiliza viteza raportată de NIC pentru a calcula lățimea de bandă. Acest lucru poate duce la erori de calcul al lățimii de bandă, de exemplu atunci când un adaptor de rețea rapid (10 Mbit / s) este conectat la rețea printr-o legătură lentă (56 kbit / s).

Locuri de munca

BITS folosește o coadă pentru a gestiona transferurile de fișiere. O sesiune BITS trebuie pornită dintr-o aplicație prin crearea unui job . O lucrare este un container, care are unul sau mai multe fișiere de transferat. Un job nou creat este gol. Fișierele trebuie adăugate, specificându-se atât URI-ul sursă, cât și cel de destinație . În timp ce o lucrare de descărcare poate avea orice număr de fișiere, sarcinile de încărcare pot avea doar una. Proprietățile pot fi setate pentru fișiere individuale. Locurile de muncă moștenesc contextul de securitate al aplicației care le creează. BITS oferă acces API pentru a controla lucrările. O lucrare poate fi pornită, oprită, întreruptă, reluată și interogată la nivel de program. Înainte de a începe o lucrare, trebuie setată o prioritate pentru ca aceasta să specifice când lucrarea este procesată în raport cu alte lucrări din coada de transfer. În mod implicit, toate lucrările au prioritate normală . Opțional, joburile pot fi setate la prioritate înaltă , scăzută sau prim-plan . Transferurile de fundal sunt optimizate de BITS, 1 care crește și scade (sau accelerează) rata de transfer pe baza cantității de lățime de bandă de rețea inactivă disponibilă. Dacă o aplicație de rețea începe să consume mai multă lățime de bandă, BITS își reduce rata de transfer pentru a păstra experiența interactivă a utilizatorului, cu excepția descărcărilor prioritare de prim plan .

Programare

BITS programează fiecare job pentru a primi doar o porțiune de timp finită , pentru care numai acel job este permis să se transfere, înainte ca acesta să fie temporar întrerupt pentru a oferi unui alt job șansa de transfer. Locurile de muncă cu prioritate superioară obțin o porțiune mai mare de timp. BITS folosește programarea round-robin pentru a procesa lucrări în aceeași prioritate și pentru a preveni un job de transfer mare să blocheze joburi mai mici.

Când un job este nou creat, acesta este suspendat automat (sau întrerupt). Trebuie reluat explicit pentru a fi activat. Reluarea mută lucrarea în starea de așteptare . La rândul său, pentru a transfera date, se conectează mai întâi la serverul de la distanță și apoi începe transferul. După expirarea intervalului de timp al lucrării, transferul este întrerupt temporar, iar lucrarea este mutată înapoi în starea de așteptare . Când lucrarea primește o altă porțiune de timp, trebuie să se conecteze din nou înainte de a se putea transfera. Când lucrarea este finalizată, BITS transferă calitatea de proprietar asupra lucrării către aplicația care a creat-o.

BITS include un mecanism încorporat pentru tratarea erorilor și încercările de recuperare. Erorile pot fi fatale sau tranzitorii ; fie mută un loc de muncă în statul respectiv. O eroare tranzitorie este o eroare temporară care se rezolvă după un timp. Pentru o eroare tranzitorie, BITS așteaptă un timp și apoi încearcă din nou. Pentru erori fatale , BITS transferă controlul lucrării către aplicația care creează, cu cât mai multe informații despre eroare pe care le poate oferi.

Instrumente de interfață din linia de comandă

Comanda BITSAdmin

BITSAdmin
Dezvoltatori Microsoft
Versiune stabila
3.0
Sistem de operare Microsoft Windows
Tip Comanda
Licență Software comercial proprietar
Site-ul web docs .microsoft .com / en-us / windows-server / administration / windows-commands / bitsadmin

Microsoft oferă o BITS Administrare Utility ( BITSAdmin) linie de comandă de utilitate pentru a gestiona locuri de muncă BITS. Utilitarul face parte din Windows Vista și versiunile ulterioare. De asemenea, este disponibil ca parte a instrumentelor de asistență Windows XP Service Pack 2 sau a instrumentelor de asistență Windows Server 2003 Service Pack 1 .

Exemplu de utilizare:

C:\> bitsadmin /transfer myDownloadJob /download /priority normal https://example.com/file.zip C:\file.zip

PowerShell BitsTransfer

În Windows 7 , BITSAdminutilitarul este depreciat în favoarea cmdleturilor Windows PowerShell . BitsTransferModulul PowerShell oferă opt cmdleturile cu care să gestioneze locuri de muncă BITS.

Următorul exemplu este echivalentul exemplului BITSAdmin de mai sus:

Start-BitsTransfer -Source "https://example.com/file.zip" -Destination "C:\file.zip" -DisplayName "myDownloadJob"

Lista aplicațiilor non-Microsoft care utilizează BITS

Vezi si

Referințe

linkuri externe