Ricardo Markiewicz (78226)
\layout Date
-Primera Entrega, 28 de Junio del 2004
+26 de Octubre del 2004
\layout Standard
configuración diferente es posible pero queda en manos del administrador.
\layout Itemize
-En los archivos de llamada se valida que sean numeros, y para validar la
+En los archivos de llamada se valida que sean números, y para validar la
fecha no se tiene en cuenta casos particulares como el 29, 30, 31 de febrero.
\layout Itemize
-Todos los meses pueden tener 31 dias.
+Todos los meses pueden tener 31 días.
\layout Itemize
Aficonf utiliza números para describir las acciones Nuevo y Buscar.
la acción.
\layout Section
+
+\begin_inset LatexCommand \label{sec:Problemas-relevantes}
+
+\end_inset
+
Problemas relevantes
\layout Itemize
~$HOME/.antifraude
\family default
, para ser mas consistentes con la manera de trabajar en Unix.
- Lo ideal ubiera sido utilizar
+ Lo ideal hubiera sido utilizar
\family typewriter
/etc/antifraude
\family default
-, pero como no podríamos suponer root access preferimos directamente trabajar
- en el home del usuario.
+, pero como no podríamos suponer acceso de
+\emph on
+root
+\emph default
+ preferimos directamente trabajar en el directorio del usuario.
\layout Section
Instalación
-\layout Standard
+\layout Comment
Copiar del README cuando este terminado y extenderlo un poco si se considera
necesario.
\layout Section
-Comandos Desarollados
+Comandos Desarrollados
\layout Subsection
AFIMONIO
-\layout Standard
+\layout Subsubsection
+Tipo de comando
+\layout Standard
-\series bold
-Tipo de comando:
-\series default
- Solicitado
+Solicitado.
\layout Subsubsection
Archivos de Input
Archivos de Output
\layout Standard
-El afimonio genera una salida al archivo afimonio.log la cual contiene informació
-n sobre la ejecución del programa.
+El afimonio genera una salida al archivo
+\family typewriter
+afimonio.log
+\family default
+ la cual contiene información sobre la ejecución del programa.
\layout Standard
Si un archivo es válido, se añade una línea con el siguiente formato:
-\layout Standard
+\layout LyX-Code
-"$fecha $USER afimonio: "Se detecta archivo de llamadas $file"
+$fecha $USER afimonio: "Se detecta archivo de llamadas $file"
\layout Standard
Si el archivo tuviera un nombre inválido, la línea seria la siguiente:
-\layout Standard
+\layout LyX-Code
-"$fecha $USER afimonio:"Se rechaza el archivo $file".
-
+$fecha $USER afimonio: "Se rechaza el archivo $file"
\layout Standard
-donde
-\layout Standard
+donde:
+\layout Description
-$fecha: fecha actual con formato Dia-Mes-Año-Hora:Minuto.
-
-\layout Standard
-$USER: nombre de usuario que ejecuto el script.
-
-\layout Standard
+\family typewriter
+$fecha
+\family default
+ fecha actual con formato Día-Mes-Año-Hora:Minuto.
+\layout Description
-$file: nombre del archivo que se procesó.
-
+
+\family typewriter
+$USER
+\family default
+ nombre de usuario que ejecuto el script.
+\layout Description
+
+
+\family typewriter
+$file
+\family default
+ nombre del archivo que se procesó.
\layout Subsubsection
Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
-:afimonio/bin$> ./afimonio
-\layout LyX-Code
-:afimonio/bin$> nohup ./afimonio &
-\layout LyX-Code
+\family typewriter
+./afimonio
+\layout Standard
+
+Corre el programa en primer plano.
+\layout Paragraph
-:afimonio/bin$> ./afimonio_daemon.sh
-\layout LyX-Code
- afimonio_daemon.sh (start|stop|status)
+\family typewriter
+nohup ./afimonio &
+\layout Standard
+
+Corre el programa en segundo plano, evitando que se cierre al morir el padre
+ desasociándolo de la terminal.
+ La salida del programa queda en el archivo
+\family typewriter
+nohup.out
+\family default
+ a menos que se redirija a otro archivo.
\layout Subsubsection
Código Fuente
-\layout Standard
+\layout Comment
Copy Paste cuando este cerrado.
\layout Subsection
ANTIFRAUDE
-\layout Standard
+\layout Subsubsection
+Tipo de comando
+\layout Standard
-\series bold
-Tipo de comando:
-\series default
- Solicitado
+Solicitado.
\layout Subsubsection
Archivos de Input
\layout Standard
-Procesa los archivos de llamadas que encuentre en el momento de invocacion
+Procesa los archivos de llamadas que encuentre en el momento de invocación
en el directorio
\family typewriter
$PATH_ANTIFRAUDE/$DATADIR/enproceso
\family default
.
El demonio
+\family typewriter
\series bold
-Afimonio
+afimonio
+\family default
\series default
será quien alimentará al
+\family typewriter
\series bold
-Antifraude
+antifraude
+\family default
\series default
con dichos archivos, no obstante se lo puede alimentar con archivos de
- llamdas en forma manual, situándolos en el directorio anteriormente descripto.
+ llamadas en forma manual, situándolos en el directorio anteriormente descripto.
+\layout Standard
+
+Este comando, en el momento de invocacion genera y guarda internamente un
+ listado de los archivos de llamadas presences en el directorio
+\family typewriter
+/enproceso
+\family default
+, ordenándolos por fecha (establecida en el nombre del archivo) en forma
+ ascendente.
+ Dado que utiliza durante toda su ejecución esta lista interna, el
+\family typewriter
+\series bold
+Afimonio
+\family default
+\series default
+ puede alimentar al directorio
+\family typewriter
+/enproceso
+\family default
+ con nuevos archivos mientras el
+\family typewriter
+\series bold
+Antifraude
+\family default
+\series default
+ corre, pero los mismos no serán tenidos en cuenta (esto es, procesados),
+ hasta la próxima invocación del comando.
\layout Subsubsection
Archivos de Output
-\layout Itemize
+\layout Description
-\series bold
-Antifraude.log:
-\series default
- Se loguea en este archivo el procesamiento de los registros, warnings provocado
-s por registros no validos y alarmas emitidas por registros que matchean
- contra un umbral.
-\layout Itemize
+\family typewriter
+Antifraude.log
+\family default
+ En este archivo se guarda información del procesamiento de los registros,
+ advertencias provocados por registros no validos y alarmas emitidas por
+ registros que cumplen con un umbral.
+\layout Description
-\series bold
-Alarmas.txt:
-\series default
- Se loguean en este archivo las alarmas provocadas por registros en los
- archivos de llamadas, que hayan matcheado un umbral determinado del archivo
- umbrales.param.
+\family typewriter
+Alarmas.txt
+\family default
+ En este archivo se guarda información de las alarmas provocadas por registros
+ en los archivos de llamadas, que hayan cumplido un umbral determinado del
+ archivo
+\family typewriter
+umbrales.param
+\family default
+.
\layout Subsubsection
Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
-:antifraude/bin$> perl antifraude.pl
-\layout LyX-Code
-:antifraude/bin$> perl antifraude.pl &
+\family typewriter
+./antifraude.pl
+\layout Standard
+
+El programa procesa las llamadas
+\family typewriter
+enproceso
+\family default
+ como indica el enunciado en primer plano.
+\layout Paragraph
+
+
+\family typewriter
+perl antifraude.pl
+\layout Standard
+
+Ídem anterior.
+\layout Paragraph
+
+./antifraude.pl &
+\layout Standard
+
+Ídem anterior pero procesa en segundo plano.
\layout Subsubsection
Código Fuente
-\layout Standard
+\layout Comment
Copy Paste cuando este cerrado.
\layout Subsection
AFICONF
-\layout Standard
+\layout Subsubsection
+Tipo de comando
+\layout Standard
-\series bold
-Tipo de comando:
-\series default
- Solicitado
+Solicitado.
\layout Subsubsection
Archivos de Input
\layout Standard
-El comando utiliza los archivos umbrales.param y oridesti.txt situados en
-
+El comando utiliza los archivos
+\family typewriter
+umbrales.param
+\family default
+ y
+\family typewriter
+oridesti.txt
+\family default
+ situados en
\family typewriter
~$HOME/.antifraude/
\layout Subsubsection
Archivos de Output
\layout Standard
-Solo escribe en umbrales.param de ser solicitado por el usuario, ya sea por
- la alta o baja de un umbral.
+Solo escribe en
+\family typewriter
+umbrales.param
+\family default
+ de ser solicitado por el usuario, ya sea por la alta o baja de un umbral.
\layout Subsubsection
Ejemplos de invocación
-\layout LyX-Code
+\layout Paragraph
+
-:aficonf/bin$> ./aficonf
+\family typewriter
+./aficonf
+\layout Standard
+
+Realiza lo pedido en el enunciado.
\layout Subsubsection
Código Fuente
\layout Subsection
CALLGEN
-\layout Standard
+\layout Subsubsection
+Tipo de comando
+\layout Standard
-\series bold
-Tipo de comando:
-\series default
- Auxiliar, escrito en PERL
+Auxiliar, escrito en
+\family typewriter
+perl
+\family default
+.
\layout Subsubsection
Justificación de su uso
Archivos de Output
\layout Standard
-Crea una cantidad N (especificada por el usuario) de archivos con nombre
- y formato de Archivo de Llamadas en el directorio actual.
+Crea una cantidad
+\family typewriter
+N
+\family default
+ (especificada por el usuario) de archivos con nombre y formato de
+\emph on
+Archivo de Llamadas
+\emph default
+ en el directorio actual.
Tanto el nombre como la cantidad de líneas y su contenido es generado aleatoria
mente (respetando el formato mencionado y con valores racionales).
\layout Subsubsection
\layout Standard
-max_lines
+max_linaes
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-
-\series bold
-NOTA:
-\series default
- Pueden cambiarse los valores por defecto editando el código fuente del
- comando, en la sección de configuración que se encuentra al comienzo del
- mismo.
+Pueden cambiarse los valores por defecto editando el código fuente del comando,
+ en la sección de configuración que se encuentra al comienzo del mismo.
También puede cambiarse el mínimo y máximo año (por defecto 1999 y 2004)
y el mínimo y máximo código de central (por defecto 0000 y 9999).
\layout Subsubsection
Ejemplos de invocación
\layout Paragraph
+
+\family typewriter
./callgen
\layout Paragraph
\series medium
Se escriben por entrada estándar los códigos de origen/destino, se presiona
- Ctrl-D para cerrar el descriptor de archivo de la entrada estándar y se
- generan 10 archivos con entre 1000 y 5000 líneas cada uno.
+
+\family typewriter
+\series default
+Ctrl-D
+\family default
+\series medium
+ para cerrar el descriptor de archivo de la entrada estándar y se generan
+ 10 archivos con entre 1000 y 5000 líneas cada uno.
\layout Paragraph
+
+\family typewriter
./callgen 2 < oridesti.txt
\layout Paragraph
\series medium
-Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
+Genera 2 archivos con entre 1000 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo
+\family typewriter
+origesti.txt
+\family default
+.
\layout Paragraph
+
+\family typewriter
./callgen 5 10 < oridesti.txt
\layout Paragraph
\series medium
-Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
+Genera 5 archivos con entre 10 y 5000 líneas cada uno tomando los códigos
+ de origen/destino del archivo
+\family typewriter
+origesti.txt
+\family default
+.
\layout Paragraph
+
+\family typewriter
./callgen 50 10 50 < oridesti.txt
\layout Paragraph
\series medium
-Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
- de origen/destino del archivo origesti.txt.
-
+Genera 50 archivos con entre 10 y 50 líneas cada uno tomando los códigos
+ de origen/destino del archivo
+\family typewriter
+origesti.txt
+\family default
+.
\layout Subsubsection
Código Fuente
-\layout Standard
+\layout Comment
Copy Paste cuando este cerrado.
\layout Section
\layout Subsection
Archivos del Enunciado
-\layout Standard
+\layout Comment
-[ Por cada uno se debe poner nombre y detallar su estructura interna ]
+Por cada uno se debe poner nombre y detallar su estructura interna.
\layout Subsection
Archivos Auxiliares
+\layout Subsubsection
+
+
+\family typewriter
+afimonio.conf
+\layout Standard
+
+El archivo de configuración
+\family typewriter
+~/.antifraude/conf/afimonio.conf
+\family default
+ almacena las rutas a los directorios necesarios para la ejecución del script
+
+\family typewriter
+afimonio
+\family default
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+
+\layout Subsubsection
+
+
+\family typewriter
+antifraude.conf
\layout Standard
-[ Por cada uno se debe poner nombre y detallar su estructura interna ]
+El archivo de configuración
+\family typewriter
+~/.antifraude/conf/antifraude.conf
+\family default
+ almacena las rutas a los directorios necesarios para la ejecución del script
+
+\family typewriter
+antifraude.pl
+\family default
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+
+\layout Subsubsection
+
+
+\family typewriter
+aficonf.conf
+\layout Standard
+
+El archivo de configuración
+\family typewriter
+~/.antifraude/conf/aficonf.conf
+\family default
+ almacena las rutas a los directorios necesarios para la ejecución del script
+
+\family typewriter
+aficonf
+\family default
+ y la ruta, nombre, y tamaño máximo del archivo de log.
+
+\layout Standard
+
+Estos archivos fueron creados para que los diferentes scripts tengan un
+ lugar común donde buscar esa información para salvar el problema comentado
+ en el punto
+\begin_inset LatexCommand \vref{sec:Problemas-relevantes}
+
+\end_inset
+
+.
\layout Subsection
Set de Prueba (testcalls.tar.gz)
\family typewriter
testcalls.tar.gz
\family default
-, situado en el directorio /INST, del paquete de instalación.
+, situado en el directorio
+\family typewriter
+/inst
+\family default
+, del paquete de instalación.
El set de prueba se copia automáticamente en el momento en que se instale
el componente
+\family typewriter
\series bold
-ANTIFRAUDE
+antifraude
+\family default
\series default
, dejando el escenario listo para procesarlos en el momento en que sea arrancado
el
+\family typewriter
\series bold
-AFIMONIO
+afimonio
+\family default
+
\series default
o bien ejecutando el
+\family typewriter
\series bold
-ANTIFRAUDE
+antifraude
+\family default
\series default
en forma manual.
\layout Standard
\layout Itemize
14 archivos de llamadas generados con el
+\family typewriter
\series bold
-CALLGEN
+callgen
+\family default
\series default
, con entre 1000 y 5000 registros cada uno, y fecha en el rango año 1999
- - 2004.
+ a 2004.
\layout Itemize
-1 archivo de llamadas con registros validos y otros no validos.
+1 archivo de llamadas con registros válidos y otros no válidos.
\layout Itemize
1 archivo con nombre válido según el formato YYYYMMDDhhmm.nnnn, pero con
- texto dentro suyo, el cual es rechazado por Antifraude.
+ contenido inválido, el cual es rechazado por
+\family typewriter
+\series bold
+antifraude
+\family default
+\series default
+.
\layout Itemize
-1 archivo con nombre nó válido rechazado en instancia previa por el Afimonio.
+1 archivo con nombre no válido rechazado en instancia previa por
+\family typewriter
+\series bold
+afimonio
+\family default
+\series default
+.
\layout Standard
Se describen en la siguiente tabla, los archivos y registros que disparan
alarmas o tienen close matches contra los 25 umbrales distribuidos en el
- paquete de instalacion, via el umbrales.param:
+ paquete de instalación, vía el umbrales.param:
\layout Standard
\begin_inset Float table
wide false
-collapsed true
+collapsed false
\layout Caption
\series bold
-Linea Nro
+Nro.
+ Línea
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
\series bold
-Matched Umbral
+Umbral
\end_inset
</cell>
</row>
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Standard
-idem
+ídem
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
\layout Paragraph
-Archivo 199908220733.4515
+Archivo
+\family typewriter
+199908220733.4515
\layout Paragraph
\series medium
-Posee registros no validos detallados a continuacion.
- Los registros se contabilizan de 0 a N (Linea 1 = Reg 0)
+Posee registros no válidos detallados a continuación.
+ Los registros se contabilizan de 0 a N (Línea 1 = Reg 0)
\layout Itemize
\series bold
Registro 3
\series default
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo
+\emph on
+bogus
\layout Itemize
\series bold
Registro 27
\series default
- -> Posee un 9no campo 'Bogus'
+ -> Posee un 9no campo
+\emph on
+bogus
\layout Itemize
\series bold
Registro 31
\series default
- -> Posee un tipo de llamada 'W' no valida
+ -> Posee un tipo de llamada
+\family typewriter
+W
+\family default
+ no valida
\layout Itemize
\series bold
Registro 41
\series default
- -> El numero de linea (campo1) no es numerico, es un string 'ABCD'
+ -> El número de línea (campo1) no es numérico, es un string
+\family typewriter
+'ABCD'
\layout Itemize
\series bold
Registro 52
\series default
- -> Tiene insuficiente cantidad de campos (siete)
+ -> Tiene cantidad de campos insuficiente (siete)
\layout Standard
-Estos registros emitirán errores plasmados en el antifraude.log.
- Para verificar esto, realizar un search en el logfile, sobre el nombre
- del archivo, y ubicarse en el sector donde se indica el comienzo del procesamie
-nto del mismo con ¨
+Estos registros emitirán errores plasmados en el
+\family typewriter
+antifraude.log
+\family default
+.
+ Para verificar esto, realizar una búsqueda en el log, sobre el nombre del
+ archivo, y ubicarse en el sector donde se indica el comienzo del procesamiento
+ del mismo con ¨
\family typewriter
Inicio proceso de: 199908220733.4515
\family default
¨.
\layout Paragraph
-Archivo 200412010000.6666
+Archivo
+\family typewriter
+200412010000.6666
\layout Paragraph
lineas son descartadas por antifraude y dicho error emitido en el antifraude.log
\layout Paragraph
-Archivo 200223.1234
+Archivo
+\family typewriter
+200223.1234
\layout Paragraph
\series medium
El nombre del archivo no es conforme al formato de nombre estipulado en
- el TP y el mismo es rechazado de antemano por Afimonio.
+ el TP y el mismo es rechazado de antemano por
+\family typewriter
+\series default
+afimonio
+\family default
+\series medium
+.
\layout Section
Apéndice A
-\layout Standard
+\layout Comment
-(Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
+Esto deberia ser una hoja aparte que solo diga 1.6 Apéndice A) y las hojas
posteriores son las páginas 3 en adelante del PDF oficial de la catedra,
- sacando al parte de archivos.
- 3-15 más precisamente es lo que iria).
+ sacando la parte de archivos.
+ 3-15 más precisamente es lo que iria.
\the_end