Ticket #1291 (new defect)

Opened 7 years ago

Last modified 7 years ago

DSS: Data Sequential Serialization

Reported by: vdebuen Owned by: vdebuen
Priority: normal Milestone: Mantainance
Component: Kernel Version: head
Severity: normal Keywords:
Cc:

Description (last modified by vdebuen) (diff)

El sistema OIS (Object Indexed Serialization) permite almacenar en archivos comprimidos objetos de todo tipo de objetos TOL, incluyendo conjuntos cíclicos recursivos, funciones, definiciones de estruturas de datos de usuario, instancias de clases y objetos infinitos. El precio a pagar por estas capacidades es una estructura indexada bastante compleja y una sobrecarga de tamaño y tiempo de proceso, que para conjuntos grandes no es importante pero que para los pequeños puede suponer casi el 100% del volumen.

Cuando se trata de almacenar o transportar tan solo datos podría evitarse esa sobrecarga mediante un sistema estrictamente secuencial que podríamos llamar DSS (Data Sequential Serialization).

Este sistema debería soportar almacenamiento binario en disco pero también almacenamiento ASCII codificado en base 64 que facilitaría su inclusión y consulta en bases de datos desde el propio TOL así como el transporte remoto en redes TCP-IP.

Todo ello es compatile con un sistema de compresión secuencial eficaz como el BZIP que podría ofrecerse de forma opcional.

El sistema DSS sólo podría albergar objetos de tipo Text, Date, Real, Complex, Polyn, Ratio, Matrix, VMatrix y conjuntos con objetos de estos tipos. Los objetos de tipo Serie sólo se almacenarían si son finitos y es responsabilidad del usuario que exista el TimeSet de fechado en el TOL de destino.

A diferencia de OIS, los objetos cargados mediante DSS serán siempre locales, nunca globales.

Change History

Changed 7 years ago by vdebuen

  • description modified (diff)

Changed 7 years ago by vdebuen

(In [4114]) Refs #1291
Refs #1407

New BVMat methods to implement binary file serialization based on just-one-file OIS with minimum expression of header information.

Note: See TracTickets for help on using tickets.