Plan de compression par lots en entreprise : comment traiter 10000 fichiers par lots

Conclusion d'abord : pour la compression par lots de 10000 fichiers en entreprise, le plan central est le triptyque « file d'attente de tâches + compression parallèle + reprise après interruption ». SmartSlim Édition Réseau distribue les tâches via la file Celery, traite en parallèle avec 12 concurrences, enregistre les points de reprise dans MySQL. Une bibliothèque de 500 Go a été compressée à 82 Go en 4 heures, taux de compression 83,6 %. Ce guide détaille les défis, l'architecture, le cas pratique et les options de déploiement.

Si vous n'êtes pas encore familier avec la sélection d'outils de compression par lots en ligne de commande/GUI/API, nous vous conseillons de lire d'abordSélection d'outils de compression par lots : CLI vs GUI vs API

I. Les trois défis de la compression par lots en entreprise

La compression par lots en entreprise et la compression personnelle sont deux problèmes d'ordre de grandeur différent. Un particulier compressant 100 fichiers peut le faire en quelques minutes par glisser-déposer GUI ; une entreprise compressant 10000 fichiers fait face à un triple défi d'échelle, de formats et de sécurité. Comprendre les défis permet de concevoir la bonne solution.

Dimension du défiScénario personnelScénario d'entrepriseDifférence clé
Volume de fichiersDe quelques dizaines à quelques centaines10000 et plusÉchelle 100x, traitement sériel infaisable
Diversité des formats1 à 3 formats principaux10 catégories, 40+ formats mélangésStratégie de compression par format
Sécurité et conformitéLocal suffitPrivatif + audit + MLPSDonnées dans le domaine, traçabilité des opérations
Exigence de stabilitéÉchec = recommencerPas d'interruption, reprise nécessaireÉchec d'un fichier ne bloque pas l'ensemble
Capacité de concurrenceMono-thread12+ concurrencesUtilisation des ressources multi-cœurs
Capacité d'ordonnancementDéclenchement manuelPlanifié + déclenchement par événementIntégration dans l'automatisation des processus métier

Le volume de fichiers et la stabilité sont les plus critiques. 10000 fichiers traités séquentiellement, même à 10 secondes par fichier, nécessiteraient 28 heures — clairement inacceptable. La compression parallèle réduit ces 28 heures à 2–4 heures, mais introduit des complexités d'ordonnancement, de compétition de ressources et d'isolation des exceptions. La reprise après interruption est la ligne de fond de la stabilité : une tâche de 500 Go qui s'effondre à la 2ème heure sans reprise devrait tout recommencer.

II. Architecture du plan de compression par lots d'entreprise

Le plan de compression par lots de niveau entreprise de SmartSlim Édition Réseau (Enterprise) adopte une architecture à cinq couches : couche de présentation frontale → couche de passerelle API → couche de logique métier → couche d'algorithme central → couche de stockage de données. Les capacités clés se concentrent sur la file d'attente de tâches de la couche logique métier et la compression parallèle de la couche d'algorithme central.

Capacité cléImplémentation techniqueProblème résoluParamètre clé
Découpage des tâchesFile d'attente CeleryGrand volume découpé en petits lots50 fichiers par lot par défaut
Compression parallèleMulti-processus + moteur RustExploiter la concurrence multi-cœur12 concurrences (configurable)
Reprise après interruptionEnregistrement d'état MySQLRécupération après interruptionÉcriture d'état en millisecondes
Isolation des exceptionstry-catch par fichierÉchec d'un fichier ne bloque pas3 nouvelles tentatives automatiques
Journaux d'auditJournaux structurésTraçabilité des opérationsOpérateur/temps/hachage enregistrés
Gestion du stockageStockage d'objets MinIOStockage de gros fichiersLimite 10 Go par fichier

Le découpage des tâches est le préalable au parallélisme. Les 10000 fichiers ne sont pas soumis en une seule fois au moteur de compression, mais sont divisés par la file d'attente Celery en 200 lots (50 par lot), consommés en parallèle par 12 processus Worker. Chaque lot est soumis indépendamment, son état est enregistré indépendamment, et l'échec d'un lot n'affecte pas les autres.

Principe de la reprise après interruption : avant la compression de chaque fichier, l'état « à traiter » est écrit dans MySQL ; une fois la compression terminée, l'état « terminé » est écrit avec le volume compressé et le hachage. Au redémarrage du service, la table d'état est scannée, les fichiers « terminés » sont ignorés, et le traitement reprend depuis la file « à traiter ». Ce mécanisme a été validé dans le cas de 500 Go — reprise après interruption à la 2ème heure, seulement 12 minutes de surcoût.

Trois modes de déploiement, à choisir selon la taille et le budget de l'entreprise.

Mode de déploiementÉchelle applicableCapacité de concurrenceComplexité de déploiementBesoins en ressources
Docker Compose mono-machine10000 fichiers/jour12 concurrencesFaible (9 services en un clic)8 cœurs 16 Go
Cluster Kubernetes50000 fichiers/jour36–120 concurrencesMoyen (HPA 3-10 réplicas)3 nœuds × 8 cœurs
Machine physique privatiséeEnvironnement sensible/Xinchuang12 concurrences/machineÉlevé (déploiement sur site)Configuration à la demande

La plupart des entreprises peuvent satisfaire leurs besoins avec un déploiement Docker Compose mono-machine — serveur 8 cœurs 16 Go, 12 concurrences, traitement quotidien de 10000 fichiers. Au-delà de cette échelle, un cluster K8s devient nécessaire. Les environnements sensibles ou Xinchuang nécessitent un déploiement privatif sur machine physique, les données ne sortant pas de l'intranet.

III. Cas pratique : compression d'une bibliothèque de 500 Go à 82 Go

Une entreprise manufacturière devait archiver et compresser sa bibliothèque de documents historiques. La bibliothèque contenait 500 Go de fichiers, environ 12000 au total, couvrant les formats PDF (35 %), images (25 %), documents Office (30 %), vidéo (5 %), autres (5 %). Les fichiers compressés devaient être stockés sur un serveur d'archivage et conservés 3 ans. SmartSlim Édition Réseau a été utilisé, déployé via Docker Compose sur un serveur 8 cœurs 32 Go, avec 12 concurrences.

Paramètres d'exécution :

ParamètreValeur configuréeDescription
Forme de déploiementDocker Compose mono-machineOrchestration de 9 conteneurs de services
Nombre de concurrences12Nombre de processus Worker Celery
Découpage des tâches50 fichiers par lot12000 fichiers découpés en 240 lots
Niveau de compressionhigh3ème niveau sur 4
Niveau de sécuritéMEDIUMNiveau par défaut
Backend de stockageMinIOStockage d'objets, limite 10 Go par fichier
Niveau de journalisationINFO + auditOpérateur/temps/hachage enregistrés

Durée et évolution du volume par phase :

PhaseDuréeVolume cumuléTaux de compressionOpération clé
Scan et classification40 minutes500GB0%Identification du format, stratégie par type
Compression PDF1 heure 10 minutes305GB39%Sous-échantillonnage des images intégrées + conversion JPEG
Compression d'images55 minutes195GB61%Distribution par type, photos converties en JPEG
Compression Office35 minutes112GB78%Extraction et compression des ressources intégrées + réassemblage
Compression vidéo10 minutes85GB83%Transcodage H.264 + réduction du débit
Vérification et archivage30 minutes82GB83.6%Vérification par hachage + écriture vers l'archive

Résultat : 500 Go compressés à 82 Go, taux de compression 83,6 %, temps total 4 heures. Une interruption s'est produite à la 2ème heure 10 minutes en raison de fluctuations de la mémoire du serveur, la reprise après interruption a pris 12 minutes, pour un temps total final de 4 heures 12 minutes. Tous les fichiers ont passé la vérification par hachage, les journaux de compression enregistrent intégralement l'opérateur, l'horodatage, le hachage du fichier et les paramètres de compression, satisfaisant aux exigences d'audit d'archivage d'entreprise. La vidéo et les documents Office ont les taux de compression les plus élevés (83 %/78 %) car les ressources intégrées offrent un grand espace de compression ; le PDF a un taux de 39 % car certains PDF étaient déjà des scans optimisés.

IV. Recommandations par échelle et scénario

Le plan de compression par lots d'entreprise n'est pas forcément meilleur en plus grand, il doit correspondre à l'échelle réelle. Le tableau ci-dessous donne les recommandations par volume de fichiers et scénario.

Taille d'entrepriseVolume de fichiers quotidienPlan recommandéMode de déploiementInvestissement estimé
PME1000 et moinsAPI Édition ServeurService unique DockerLicence Standard
Entreprise moyenne1000–10000Édition Réseau mono-machineDocker ComposeLicence Professional
Grande entreprise10000–50000Cluster Édition RéseauK8s HPA 3 réplicasLicence Enterprise
Groupe/Gouvernement50000 et plusCluster Édition Réseau + multi-nœudsK8s HPA 10 réplicasEnterprise + sur mesure
Unité sensibleVariableÉdition Réseau privatiséeDéploiement sur site sur machine physiquePlan sur mesure

Recommandation : en dessous de 1000 fichiers/jour, l'API Édition Serveur suffit (licence Standard, 4 concurrences), au coût le plus bas ; entre 1000 et 10000 fichiers, l'Édition Réseau mono-machine (licence Professional, 12 concurrences) offre le meilleur rapport qualité-prix ; au-delà de 10000 fichiers, un cluster K8s devient nécessaire. Les unités sensibles, quel que soit le volume, doivent obligatoirement utiliser un déploiement privatif, les données ne sortant pas de l'intranet.

Pour les exigences de conformité des scénarios gouvernementaux et sensibles, voirCompression de documents dans les systèmes OA gouvernementaux : plan de traitement par lots OFD/PDF. Pour plus de détails techniques sur la conception de la file d'attente des tâches, voirConception détaillée de la file d'attente des tâches de compression

V. FAQ

Q1 : Quelle solution pour la compression par lots de 10000 fichiers en entreprise ?

Nous recommandons SmartSlim Édition Réseau (Enterprise), basé sur une architecture de file d'attente de tâches + compression parallèle + reprise après interruption. Les 10000 fichiers sont distribués via la file d'attente Celery, traités avec 12 concurrences, avec stockage MinIO et cache Redis. La version serveur mono-machine (12 concurrences) peut traiter jusqu'à environ 50000 fichiers par jour ; au-delà, utilisez un cluster K8s avec HPA 3-10 réplicas pour une extension horizontale. Une bibliothèque de 500 Go a été compressée à 82 Go en 4 heures lors des tests, soit un taux de compression de 83,6 %.

Q2 : Combien de temps pour compresser une bibliothèque de 500 Go à 82 Go ?

Temps testé : 4 heures, avec SmartSlim Édition Réseau, 12 tâches concurrentes, déployé sur un serveur 8 cœurs 32 Go. Trois phases : scan et classification 40 minutes, compression parallèle 2 heures 50 minutes, vérification et archivage 30 minutes. Taux de compression 83,6 % (500 Go → 82 Go), environ 29 secondes par Go compressé. En passant à 24 concurrences, le temps estimé pourrait être réduit à 2,5 heures. Une interruption en cours de traitement, la reprise après interruption n'a coûté que 12 minutes supplémentaires.

Q3 : Que faire en cas d'interruption de la compression par lots ?

SmartSlim Édition Réseau prend en charge la reprise après interruption. L'état de chaque fichier avant et après compression est écrit dans MySQL, la file d'attente enregistre la progression. Après un redémarrage, le système lit automatiquement le point de reprise, continue avec les fichiers non traités et ne retraite pas les fichiers déjà compressés. Lors d'un test, la tâche de 500 Go a été interrompue à la 2ème heure, la reprise a continué depuis le point d'interruption, pour un temps total de 4 heures 12 minutes (dont 12 minutes de coût de reprise). Cette capacité est indispensable pour les scénarios de niveau entreprise.

Q4 : Comment le plan de compression garantit-il la sécurité des données en entreprise ?

Quatre couches de garantie : premièrement, déploiement privatif, les données ne sortent pas de l'intranet de l'entreprise et ne passent par aucun serveur tiers ; deuxièmement, 5 niveaux de sécurité (DISABLED/LOW/MEDIUM/HIGH/MAXIMUM), MEDIUM par défaut ; troisièmement, 7 capacités de sécurité, incluant validation des paramètres de commande, vérification de l'intégrité des fichiers, scan de code malveillant, journaux d'audit, limitation de débit, gestion sécurisée des fichiers temporaires, limitation de la taille des fichiers ; quatrièmement, audit des journaux de compression, chaque compression enregistre l'opérateur, l'horodatage, le hachage du fichier et les paramètres de compression, satisfaisant aux exigences de conformité MLPS 2.0.

Conclusion

Le cœur de la compression par lots en entreprise est le triptyque « file d'attente de tâches + compression parallèle + reprise après interruption », qui résout les problèmes d'échelle, d'efficacité et de stabilité. SmartSlim Édition Réseau, basé sur la file d'attente Celery et le moteur de compression Rust, a compressé une bibliothèque de 500 Go à 82 Go en 4 heures, taux de compression 83,6 %, la reprise après interruption ne coûtant que 12 minutes supplémentaires. Le plan est stratifié par échelle : PME avec API Édition Serveur, entreprise moyenne avec Édition Réseau mono-machine, grande entreprise avec cluster K8s, unité sensible avec déploiement privatif obligatoire.

Trois points à retenir pour la sélection : premièrement, le volume de fichiers quotidien détermine la forme de déploiement (mono-machine/cluster/privatif) ; deuxièmement, les exigences de sécurité et de conformité déterminent le niveau de sécurité (MEDIUM par défaut, MAXIMUM pour les unités sensibles) ; troisièmement, le besoin de journaux d'audit (obligatoire selon MLPS 2.0). Avec le bon plan, la compression par lots de 10000 fichiers n'est plus un cauchemar d'exploitation.

Besoin de compresser des fichiers ? Essayez SmartSlim

Construit sur un moteur de compression Rust auto-développé, prenant en charge 10 catégories et plus de 40 formats, dont PDF, images, vidéo, Office et OFD, avec une compression locale qui garde vos données sur place.