[C con Clase] Leer desde cartuchera 3592

José Luis Torre joseluistorrehernandez en gmail.com
Sab Oct 20 22:09:41 CEST 2012


Hola José Luis:

Me comentas que la copia mediante dd tarda 6 horas. Esto me hace pensar que
o la máquina es muy lenta o estás utilizando dd de manera que el bloque es
muy pequeño. Intenta aumentar el tamaño del bloque (no
leas carácter a carácter) y observa el tiempo empleado.

Hace mucho que no utilizo cartuchos de cinta pero no recuerdo haber tenido
procesos tan largos.

En cualquier caso, si has escrito el proceso que actúa sobre el fichero de
disco, ¿no puedes utilizar como fichero de entrada la unidad de cinta, es
decir el */dev/rmt/bmt1 *o similar?

Saludos
José Luis Torre


El 20 de octubre de 2012 18:14, José Luis <anonymous.mx en gmail.com> escribió:

> Hola nuevamente José Luis,
>
> Fui muy escueto en mi explicación.
>
> La información que leo es en formato SEGY en un archivo consta de:
>
> 1.- 3200 bytes que son letras en code EBDIC
>
> Este dato lo grabo en un archivo texto de salida.
>
> 2.- 400 bytes que corresponde al Binary header
>
> Este encabezado me indica cuantos byte es por cada muestra y el numero de
> muestras que debo leer.
>
> Algunos dato de este encabezado lo grabo adicionalmente en el archivo de
> salida.
>
> 3.- A partir del byte 3601 tengo 240 bytes que corresponden al trace
> header, son valores enteros de 2 o 4 bytes. adicionalmente aqui me dice lo
> largo de la traza despues de los 240 bytes que estoy leyendo (datos que no
> me interesan leer).
>
> En estos 240 bytes estan los datos de los que quiero obtener su minimo y
> maximo y lo grabo adicionalmente en el archivo de salida por ejemplo:
> Las coordenadas X y Y de la fuente
> Las coordenadas X y Y del receptor
> Las coordenadas X y Y del CMP
> El valor del INLINE
> El valor del CROSSLINE
> etc..etc..etc..
>
> En memoria tengo una matriz de 3 columnas, la primera tiene el nombre de
> la palabra, la segunda corresponde al valor minimo y la tercera corresponde
> al valor maximo, en donde voy haciendo los comparativos.
>
> Me brinco lo largo de la traza que corresponde por ejemplo a 1450 muestras
> de 4 bytes, me brinco 5800 bytes
>
> Despues vuelvo a leer 240 bytes que corresponden al trace header de la
> siguiente traza y asi sucesivamente hasta el final del archivo.
>
> Al final imprimo mi datos con sus minimos y maximos.
>
> Eso es lo que hago con el archivo en disco duro.
>
> Sobre el comentario de borrar el archivo me refiero a:
> Primero bajo de la cartuchera a disco el archivo segy que voy a leer con
> el comando dd o tapecopy. (800 gb 6 horas)
> Despues leo el archivo segy y obtengo mis maximos y minimos necesarios.
> (800gb mas o menos 1 hora)
> Al final borro el archivo que baje a disco porque ya no lo necesito, solo
> lo queria leer.
>
> Me gustaria que en lugar de usar 7 horas para descargar el dato de la
> cartuchera y leerlo en disco duro, pudiera reducir el tiempo aunque sea a
> unas 3 horas pero leyendo la cinta en el "aire" y solamente grabar en un
> archivo los datos que requiero.
>
> Espero no haberme hecho bolas con la explicación.
>
> Saludos cordiales desde Villahermosa, Tabasco, México.
> Jose Luis
>
>
> 2012/10/20 José Luis Torre <joseluistorrehernandez en gmail.com>
>
>> Hola José Luis, paso a contestar entre líneas:
>>
>>
>> El 20 de octubre de 2012 00:34, José Luis <anonymous.mx en gmail.com>escribió:
>>
>> Holas a todos,
>>>
>>> Antes que nada reciban un cordial saludo desde Villahermosa, Tabasco.
>>>
>>> Podrían orientarme como podria leer desde una cartuchera la información
>>> grabada en formato un formato que consta de la siguiente manera sin que se
>>> utilice el disco duro.
>>>
>>> El asunto es el siquiente:
>>>
>>> Cuando leo una cinta 3592 con un archivo de mas de 800 Gigabytes, es
>>> necesario bajarla a disco.
>>>
>>
>> Normalmente no es necesario leer toda la cinta en disco, puedes leer los
>> elementos que necesitas de forma secuencial; por ejemplo de 10 enteros de
>> una vez.
>> Al ser el fichero tan grande, lo normal es que hagas un tratamiento
>> secuencial y almacenes los resultados en otro fichero.
>>
>>
>>>
>>> Para bajar el dato utilizo el comando dd en linux pero tarda mas o menos
>>> unos 130 GB por hora al grabar en disco.
>>>
>>
>> En vez de utilizar el dd que lee el fichero entero, debes utilizar un
>> programa para leer los datos que te interesan de forma secuencial.
>>
>>
>>>
>>> Leo el dato del disco en mas o menos 1 hora, obtengo los maximos y
>>> minimos que deseo obtener y borro el dato.
>>>
>>
>> Para la obtención de los máximos y mínimos puedes utilizar una lectura
>> secuencial. Pero ¿ qué dato tienes que borrar ? ¿En el archivo original?
>>
>>>
>>> ¿Existe alguna forma en que al leer un bloque con determinado tamaño en
>>> memoria yo analice el dato, y pase al siguiente bloque y así sucesivamente
>>> hasta llegar al final de la cinta sin que utilice el disco duro?
>>>
>>
>> Existen varias formas de leer pero depende de cómo esté almacenada la
>> información en la cinta (en modo texto o binario)
>>
>>
>>>
>>> No está demas comentar que para ello lo voy a desarrollar en LINUX con C
>>> o C++
>>>
>>
>> Para esto no necesitas C++ es suficiente hacerlo en C.
>>
>>
>>>
>>> Gracias por su atención y disculpen mi atrevimiento.
>>>
>>>
>>> Reciban un cordial saludo
>>>
>>> José Luis
>>>
>>>
>>
>> Saludos
>> José Luis Torre
>> www.ehu.es
>>
>>
>>>
>>> _______________________________________________
>>> Lista de correo Cconclase Cconclase en listas.conclase.net
>>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>>
>>
>>
>>
>> --
>> José Luis Torre
>> ww.ehu.es
>>
>>
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
José Luis Torre
ww.ehu.es
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121020/a766a58a/attachment.html>


Más información sobre la lista de distribución Cconclase