X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/91c9563c9984e85dfdb2578748627976e5cea077..f7c3d7b7c9700df05b6174535056b857452eecc8:/doc/Informe7508.lyx diff --git a/doc/Informe7508.lyx b/doc/Informe7508.lyx index ed285ce..22a71dd 100644 --- a/doc/Informe7508.lyx +++ b/doc/Informe7508.lyx @@ -73,11 +73,11 @@ El programa en su totalidad va a ser ejecutado por un 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. @@ -86,6 +86,11 @@ Aficonf utiliza n la acción. \layout Section + +\begin_inset LatexCommand \label{sec:Problemas-relevantes} + +\end_inset + Problemas relevantes \layout Itemize @@ -104,32 +109,34 @@ As ~$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 @@ -160,112 +167,195 @@ so Archivos de Output \layout Standard -Afimonio.log: (Nico explicar aca que logea) -\layout Subsubsection +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 -Ejemplos de invocación +Si un archivo es válido, se añade una línea con el siguiente formato: \layout LyX-Code -:afimonio/bin$> ./afimonio -\layout LyX-Code +$fecha $USER afimonio: "Se detecta archivo de llamadas $file" +\layout Standard -:afimonio/bin$> nohup ./afimonio & +Si el archivo tuviera un nombre inválido, la línea seria la siguiente: \layout LyX-Code -:afimonio/bin$> ./afimonio_daemon.sh -\layout LyX-Code +$fecha $USER afimonio: "Se rechaza el archivo $file" +\layout Standard + +donde: +\layout Description + + +\family typewriter +$fecha +\family default + fecha actual con formato Día-Mes-Año-Hora:Minuto. +\layout Description + + +\family typewriter +$USER +\family default + nombre de usuario que ejecuto el script. +\layout Description + - afimonio_daemon.sh (start|stop|status) +\family typewriter +$file +\family default + nombre del archivo que se procesó. \layout Subsubsection -Código Fuente +Ejemplos de invocación +\layout Paragraph + + +\family typewriter +./afimonio +\layout Standard + +Corre el programa en primer plano. +\layout Paragraph + + +\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 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 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 @@ -273,14 +363,22 @@ El comando utiliza los archivos umbrales.param y oridesti.txt situados en 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 + + +\family typewriter +./aficonf +\layout Standard -:aficonf/bin$> ./aficonf +Realiza lo pedido en el enunciado. \layout Subsubsection Código Fuente @@ -290,13 +388,16 @@ Copy Paste cuando este cerrado. \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 @@ -324,8 +425,15 @@ oridesti.txt 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 @@ -452,7 +560,7 @@ M \layout Standard -max_lines +max_linaes \end_inset @@ -484,13 +592,8 @@ M \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 @@ -498,46 +601,71 @@ NOTA: 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 @@ -546,15 +674,76 @@ Archivos \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) @@ -565,20 +754,31 @@ do en el archivo \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 @@ -591,32 +791,46 @@ Este set de prueba consta de \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 @@ -650,7 +864,8 @@ Archivo \series bold -Linea Nro +Nro. + Línea \end_inset @@ -660,7 +875,7 @@ Linea Nro \series bold -Matched Umbral +Umbral \end_inset @@ -826,7 +1041,7 @@ Matched Umbral \layout Standard -idem +ídem \end_inset @@ -852,7 +1067,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -930,7 +1145,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -982,7 +1197,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1008,7 +1223,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1034,7 +1249,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1060,7 +1275,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1112,7 +1327,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1138,7 +1353,7 @@ idem \layout Standard -idem +ídem \end_inset @@ -1216,7 +1431,7 @@ Close match umbral 22, difiere tipo de llamada \layout Standard -idem +ídem \end_inset @@ -1272,61 +1487,79 @@ idem \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 @@ -1335,20 +1568,28 @@ Es un archivo de texto el cual pasa el control de Afimonio, pero luego sus 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