Compartir a través de


TransferSegmentMetadata.CalculateSegmentCount(Int64) Método

Definición

Calcula el número de segmentos en los que se debe dividir un archivo de la longitud especificada. El método para calcular esto se basa en algunas medidas empíricas que permiten que el número de segmentos y la longitud de cada segmento crezcan a medida que crece el tamaño del archivo de entrada. Ambos crecen en un patrón logarítmico a medida que aumenta la longitud del archivo. La fórmula es aproximadamente esto:

  • Multiplicador = Min(100, 50 * 2 ^ Log10(FileLengthInGB))
  • SegmentCount = Max(1, Multiplier * 2 ^ Log10(FileLengthInGB) Básicamente se cuadruplica el número de segmentos para cada aumento de diez veces en la longitud del archivo, con ciertos límites. La fórmula está diseñada para admitir archivos pequeños y archivos extremadamente grandes (y no provocar longitudes de segmento muy pequeñas o un gran número de segmentos).
public static int CalculateSegmentCount (long fileLength);
static member CalculateSegmentCount : int64 -> int
Public Shared Function CalculateSegmentCount (fileLength As Long) As Integer

Parámetros

fileLength
Int64

Longitud del archivo en bytes.

Devoluciones

Número de segmentos en los que se va a dividir el archivo. Devuelve 0 si fileLength es 0.

Excepciones

La longitud del archivo no puede ser negativa

Se aplica a