Maison  >  Article  >  Les flux de données sont divisés en plusieurs catégories

Les flux de données sont divisés en plusieurs catégories

hzc
hzcoriginal
2020-06-29 16:17:489026parcourir

Les flux de données sont divisés en deux catégories : 1. Flux d'entrée [InputStream], le flux d'entrée ne peut être lu mais pas écrit, tandis que le flux de sortie ne peut être qu'écrit mais pas lu. 2. Flux de sortie [OutputStream], généralement le flux d'entrée est utilisé dans le programme pour lire des données, et le flux de sortie est utilisé pour écrire des données, tout comme les données entrent et sortent du programme.

Les flux de données sont divisés en plusieurs catégories

Un flux de données est une séquence ordonnée d'octets avec un point de départ et un point d'arrivée. Y compris le flux d’entrée et le flux de sortie.

Le flux de données était à l'origine un concept utilisé dans le domaine des communications, représentant une séquence de signaux codés numériquement utilisés dans la transmission d'informations. Ce concept a été proposé pour la première fois par Henzinger en 1998 dans le document 87. Il a défini un flux de données comme « une séquence de données qui ne peut être lue qu'une seule fois dans un ordre prédéterminé ».

Le développement des applications de flux de données est le résultat des deux facteurs suivants :

Les données détaillées

ont pu générer en continu et automatiquement de grandes quantités de données détaillées. Ce type de données est apparu pour la première fois dans les domaines bancaires et boursiers traditionnels, puis est également apparu dans les études géologiques, la météorologie, l'observation astronomique, etc. En particulier, l'émergence d'Internet (surveillance du trafic réseau, flux de clics) et des réseaux de communication sans fil (enregistrements d'appels) a généré une grande quantité de données de type flux de données. Nous avons remarqué que la plupart de ce type de données sont liées à des informations géographiques, principalement parce que les informations géographiques ont une grande dimension et qu'il est facile de générer de si grandes quantités de données détaillées.

Analyse complexe

Nécessite une analyse complexe des flux de mise à jour en temps quasi réel. L'analyse complexe des données dans les domaines ci-dessus (comme l'analyse des tendances, la prévision) a souvent été réalisée hors ligne (dans des entrepôts de données). Cependant, certaines nouvelles applications (notamment dans les domaines de la sécurité des réseaux et de la sécurité nationale) sont très sensibles au temps. telles que la détection d'événements extrêmes, de fraudes, d'intrusions, d'anomalies sur Internet, la surveillance complexe des foules, le suivi des tendances, les analyses exploratoires, l'analyse harmonique, etc., nécessitent toutes une analyse en ligne.

Après cela, la communauté universitaire a fondamentalement reconnu cette définition, et certains articles ont légèrement modifié la définition sur cette base. Par exemple, S. Guha et al. [88] pensent qu'un flux de données est « une séquence ordonnée de points qui ne peuvent être lus qu'une ou plusieurs fois », où la restriction « un seul passage » dans la définition susmentionnée est assouplie.

Pourquoi la limite du nombre de lectures de données est-elle soulignée dans le traitement des flux de données ? S. Muthukrishnan [89] a souligné que le flux de données fait référence à « des données d'entrée arrivant à une vitesse très élevée », de sorte que la transmission, le calcul et le stockage des données du flux de données deviendront difficiles. Dans ce cas, il n'y a qu'une seule possibilité de traiter les données lorsqu'elles arrivent pour la première fois, et il est difficile d'accéder aux données à d'autres moments (car il n'y a aucun moyen de sauvegarder les données).

Catégorie :

La nature et le format des données sont différents, et les méthodes de traitement de la convection sont donc également différentes dans l'entrée Java. Bibliothèque de classes /output, Il existe différentes classes de flux correspondant à des flux d'entrée/sortie de différentes natures. En Java. Dans le package io, les classes de flux d'entrée/sortie de base peuvent être divisées en deux types selon les types de données qu'elles lisent et écrivent : les flux d'octets et les flux de caractères.

Flux d'entrée et flux de sortie

Les flux de données sont divisés en deux catégories : le flux d'entrée (InputStream) et le flux de sortie (OutputStream). Le flux d’entrée peut uniquement être lu mais pas écrit, tandis que le flux de sortie ne peut être qu’écrit mais pas lu. Généralement, les programmes utilisent des flux d'entrée pour lire des données et des flux de sortie pour écrire des données, tout comme les données entrent et sortent du programme. Le flux de données est utilisé pour rendre les opérations d'entrée et de sortie du programme indépendantes des périphériques associés.

Le flux d'entrée peut obtenir des données à partir du clavier ou d'un fichier, et le flux de sortie peut transférer des données vers l'écran, l'imprimante ou un fichier.

Buffered Stream

Afin d'améliorer l'efficacité de la transmission des données, un flux tamponné (Buffered Stream) est généralement utilisé, c'est-à-dire qu'un flux est équipé d'un tampon (buffer), et un tampon est dédié au bloc mémoire vers lequel transférer les données. Lors de l'écriture de données dans un flux mis en mémoire tampon, le système n'envoie pas directement au périphérique externe, mais envoie les données vers un tampon. Le tampon enregistre automatiquement les données lorsque le tampon est plein, le système envoie toutes les données à l'appareil correspondant.

Lors de la lecture de données à partir d'un flux mis en mémoire tampon, le système lit réellement les données à partir du tampon. Lorsque le tampon est vide, le système lit automatiquement les données de l'appareil concerné et lit autant de données que possible pour remplir le tampon.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn