Organizacion preprocesamiento

parent f39139c3
...@@ -14,6 +14,9 @@ class Dato: ...@@ -14,6 +14,9 @@ class Dato:
self.statusCode = None self.statusCode = None
self.volumenTransf = None self.volumenTransf = None
self.marcaTiempo = None self.marcaTiempo = None
# Otros atributos que se agregaran posteriormente en gestor
self.idUsuario = None
self.idSesion = None self.idSesion = None
# Se obtienen todos los datos # Se obtienen todos los datos
......
...@@ -2,18 +2,21 @@ from IdentificacionUsuarios import IdentificacionUsuarios ...@@ -2,18 +2,21 @@ from IdentificacionUsuarios import IdentificacionUsuarios
from IdentificacionSesiones import IdentificacionSesiones from IdentificacionSesiones import IdentificacionSesiones
from ObtencionRegistro import ObtencionRegistro from ObtencionRegistro import ObtencionRegistro
# Se crean registros
registros = ObtencionRegistro("../access_log_Aug95_reducido", True, [], []) registros = ObtencionRegistro("../access_log_Aug95_reducido", True, [], [])
idUsuarios = IdentificacionUsuarios(registros.registro)
idSesiones = IdentificacionSesiones(registros.registro, idUsuarios.identificaciones)
print("Registros:") # Se obtienen y agregan identificaciones de usuarios y sesiones
for i in registros.registro: idUsuarios = IdentificacionUsuarios(registros.registro)
print(i) #idSesiones = IdentificacionSesiones(registros.registro, idUsuarios.identificaciones)
for i in range(len(registros.registro)):
registros.idUsuario = idUsuarios.identificaciones[i]
#registros.idSesiones = idSesiones.sesiones[i]
print("Usuarios:")
for i in idUsuarios:
print(i)
print("Sesiones:") # Se muestran resultados log
for i in idSesiones: informe = ("Registro {}:\nHost Remoto: {}\nFecha: {}\nMetodo de Petición: {}\nURL: {}\nProtocolo: {}\nStatus Code: {}\n"
print(i) "Volumen de Transferencia: {}Marca de Tiempo: {}\nId Usuario: {}\nId Sesion: {}\n")
\ No newline at end of file print("Resultados: ")
for i in range(len(registros.registro)):
r = registros.registro[i]
print(informe.format(i+1, r.hostRemoto, r.fecha, r.metodoPeticion, r.url, r.vProtocolo, r.statusCode, r.volumenTransf, r.marcaTiempo, r.idUsuario, "r.idSesion"))
\ No newline at end of file
# Definimos umbral como Web EPA
UMBRAL_SESIONES = 1800
class IdentificacionSesiones: class IdentificacionSesiones:
def __init__(self, usuarios, registros): def __init__(self, usuarios, registros):
...@@ -8,8 +11,7 @@ def identificacionSesiones(registros, usuarios): ...@@ -8,8 +11,7 @@ def identificacionSesiones(registros, usuarios):
# Quitamos duplicados # Quitamos duplicados
aux = asignarIDs(usuarios) aux = asignarIDs(usuarios)
umbral = 0 aux = reasignacionIDs(registros, usuarios, aux)
aux = reasignacionIDs(registros, usuarios, aux, umbral, )
return ordenarEntradas(usuarios, aux) return ordenarEntradas(usuarios, aux)
...@@ -25,14 +27,15 @@ def asignarIDs(registros, usuarios): ...@@ -25,14 +27,15 @@ def asignarIDs(registros, usuarios):
return aux return aux
# Reasigna los ids para aquellos usuarios cuya diferencia de tiempo exceda el umbral # Reasigna los ids para aquellos usuarios cuya diferencia de tiempo exceda el umbral
def reasignacionIDs(registros, usuarios, aux, umbral, reg): def reasignacionIDs(registros, usuarios, aux, umbral):
entrada1 = 0
entrada2 = 0
for u in usuarios: for u in usuarios:
entrada1 = entrada1 = 0
diferenciaTiempo = entrada2.marcaTiempo - entrada1.marcaTiempo entrada2 = 0
if diferenciaTiempo > umbral: for id in aux:
if u.hostRemoto == id.hostRemoto:
entrada1 = registros[id].marcaTiempo
diferenciaTiempo = entrada1 - entrada2
if diferenciaTiempo > UMBRAL_SESIONES:
aux.append(u.hostRemoto) aux.append(u.hostRemoto)
return aux return aux
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment