Base de datos REST en RAM acelerada por GPU especializada en la creacion y gestion de sesiones
Script LUA de configuaracion de la base de datos
-
Funciones obligatorias
-
void main()
Se ejecuta antes que cualquier otra funcion
-
long,long,long,string getConfig()
Devuelve la configuracion de la base de datos
-
Retorno
Posicion Obligatorio Tipo Valores Description 1 ✅ Long Mayores que 0 Usuarios reservados en la base de datos 2 ✅ Long Mayores que 0 Numero de caracteres de la sesion 3 ✅ Long Entre 0 y 65535 Puerto del servidor REST 4 ✅ String (Enum) NONE, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL Visibilidad de los logs
-
-
boolean checkDeviceUse(platformName,deviceType,deviceName)
Selecciona si el dispositivo puede que ser usado por la Base de datos
-
Parametros
Parametro Tipo Valores Description platformName String Nombre de la plataforma deviceType String (Enum) DEFAULT, CPU, GPU, ACCELERATOR, CUSTOM Tipo de dipositivo deviceName String Nombre del dispostivo -
Retorno
Posicion Obligatorio Tipo Valores Description 1 ✅ Boolean Devuelve si quiere que el dispositivo sea usado
-
-
Devuelve la configuracion con la que se inicio la base de datos
- Salida
- 200 OK
-
Body
Clave Tipo Valores Description sizeDB Long Usuarios reservados en la base de datos sizeSesion Long Numero de caracteres de la sesion port Long Puerto del servidor REST logs String (Enum) FATAL, ERROR, WARN, INFO, DEBUG, TRACE Visibilidad de los logs
-
- 200 OK
Devuelve los dispostivos usados por la base de datos
- Salida
- 200 OK
-
Body
Clave Tipo Valores Description devices[] Array Dispostivos usados por la base de datos devices[].platform String Plataforma del dipostivo devices[].name String Nombre del dipostivo devices[].type String (Enum) DEFAULT, CPU, GPU, ACCELERATOR, CUSTOM Tipo de dipostivo devices[].reservedsessions Long Numero de sesiones reservadas en el dipostivo
-
- 200 OK
Crea una sesion
-
Entrada
-
Header
Clave Obligatorio Tipo Valores Description User-Agent ✅ String User-Agent del navegador del usuario usado para aumentar la seguridad -
Body
Clave Obligatorio Tipo Valores Description expiretime ✅ Long Mayores que 0 Tiempo en segundos para que caduque la sesion value ✅ String Valor que se le asigna a la sesion
-
-
Salida
-
201 Created
-
Body
Clave Tipo Valores Description id String Identificador de la sesion expireepoch Long Tiempo Epoch en segundos en el que expira la sesion
-
-
507 Insufficient Storage
-
Busca una sesion por un identificador
-
Entrada
-
Path
Clave Tipo Valores Description id String Identificador de la sesion -
Header
Clave Obligatorio Tipo Valores Description User-Agent ✅ String User-Agent del navegador del usuario usado para aumentar la seguridad
-
-
Salida
-
200 OK
-
Body
Clave Tipo Valores Description value String Valor de la sesion expireepoch Long Tiempo Epoch en segundos en el que expira la sesion
-
-
404 Not Found
-
Modifica una sesion
-
Entrada
-
Header
Clave Obligatorio Tipo Valores Description User-Agent ✅ String User-Agent del navegador del usuario usado para aumentar la seguridad -
Body
Clave Obligatorio Tipo Valores Description expiretime Long Mayores que 0 Tiempo en segundos para que caduque la sesion value String Valor que se le asigna a la sesion
-
-
Salida
-
200 OK
-
Body
Clave Tipo Valores Description value String Valor de la sesion expireepoch Long Tiempo Epoch en segundos en el que expira la sesion
-
-
404 Not Found
-
Elimina una sesion por un identificador
-
Entrada
-
Path
Clave Tipo Valores Description id String Identificador de la sesion -
Header
Clave Obligatorio Tipo Valores Description User-Agent ✅ String User-Agent del navegador del usuario usado para aumentar la seguridad
-
-
Salida
-
200 OK
-
Body
Clave Tipo Valores Description value String Valor de la sesion expireepoch Long Tiempo Epoch en segundos en el que expira la sesion
-
-
404 Not Found
-
Cuanta el numero de sesiones creadas
-
Entrada
-
Salida
- 200 OK
-
Body
Clave Tipo Valores Description count Long Numero de sesiones creadas maxcount Long Numero maximo de sesiones (sizeDB de config.json)
-
- 200 OK
Devuelve las sesiones que su valor corresponda con la expresion regular
-
Entrada
-
Query
Clave Obligatorio Tipo Valores Description value ✅ String Expresion regular usada como filtro por valor
-
-
Salida
-
200 OK
-
Body
Clave Tipo Valores Description sessions[] Array Sesiones conicidentes con la espresion regular sessions[].id String Identificador de la sesion sessions[].expireepoch Long Tiempo Epoch en segundos en el que expira la sesion sessions[].useragent String User-Agent del navegador del usuario sessions[].value String Valor que se le ha asignado a la sesion
-
-
204 No Content
-
GPUs con OpenCL 1.2 o superior compatible con
- cl_khr_global_int32_base_atomic
- cl_khr_global_int32_extended_atomic
- cl_khr_int64_base_atomics
- cl_khr_int64_extended_atomics
- Copilador -> mingw-w64, GCC
- IDE -> Eclipse CDT
- Sistema Opertivo -> Windows, Linux
- Dependencias -> RapidJSON, microhttpd, OpenCL, LUA5.3
- Abrir la consola de comandos
- Situarse en la carpeta del proyecto
- Ejecutar el comando make
- Ejecutar el archivo bin/BDSAG