Colección de citas famosas - Colección de consignas - ¿Qué es una marca de tiempo en un sistema de base de datos distribuida? ¿Cómo entender la marca de tiempo?

¿Qué es una marca de tiempo en un sistema de base de datos distribuida? ¿Cómo entender la marca de tiempo?

Una marca de tiempo suele ser una secuencia de caracteres que identifica de forma única un momento en el tiempo. La tecnología de marca de tiempo digital es una variación de la tecnología de firma digital.

Definición

La marca de tiempo se refiere al número total de segundos desde GMT 1970 01 01 0000:00 (hora de Beijing 1970 01 0800:00) hasta el presente.

Clasificación

1. Marca de tiempo de creación propia: este tipo de marca de tiempo obtiene la hora del dispositivo receptor de hora (como GPS, CDMA, satélite Beidou) y emite un certificado de marca de tiempo. a través del servidor de marca de tiempo. Este tipo de marca de tiempo se puede utilizar para determinar las responsabilidades corporativas internas, pero no tendrá ningún efecto legal una vez certificada por el tribunal. Debido a que la hora recibida a través del dispositivo receptor de hora puede ser manipulada, no puede usarse como base legal.

2. Marca de tiempo legalmente válida: es un servicio nacional de autenticación de marca de tiempo confiable de terceros establecido conjuntamente por el Centro Nacional de Servicio de Hora de la Academia de Ciencias de China y Beijing United Trusted Technology Services Co., Ltd. El Centro Nacional de Servicio de Hora es responsable del servicio de hora y lo monitorea periódicamente. Debido a su función de monitoreo de puntualidad, se garantiza que la hora en el certificado de marca de tiempo será precisa y no será manipulada. La plataforma para obtener marcas de tiempo es la "Plataforma pública de protección de derechos de autor", que se puede sincronizar con el Centro Nacional de Servicio de Hora de la Academia de Ciencias de China.

Marca de tiempo en el sistema de base de datos

Un número binario único generado automáticamente en una base de datos, independiente de la hora y la fecha, a menudo utilizado como mecanismo para agregar un sello de versión a las filas de la tabla. El tamaño de almacenamiento es de 8 bytes.

Cada base de datos tiene un contador que se incrementa cuando se inserta o actualiza una tabla que contiene una columna de marca de tiempo en la base de datos. Este contador es una marca de tiempo de la base de datos. Esto rastrea el tiempo relativo en la base de datos en lugar del tiempo real asociado con el reloj. Una tabla sólo puede tener una columna de marca de tiempo. Cada vez que se modifica o inserta una fila que contiene una columna de marca de tiempo, se inserta un valor de marca de tiempo incremental de la base de datos en la columna de marca de tiempo. Esta propiedad hace que las columnas de marca de tiempo no sean adecuadas para su uso como claves, especialmente claves primarias. Cualquier actualización de la fila cambiará el valor de la marca de tiempo y, por lo tanto, el valor de la clave. Si la columna pertenece a una clave principal, el valor de la clave anterior no será válido y las claves externas que hagan referencia al valor anterior ya no serán válidas. Si se hace referencia a la tabla en un cursor dinámico, todas las actualizaciones cambiarán la posición de las filas en el cursor. Si la columna pertenece a una clave de índice, todas las actualizaciones de la fila de datos también harán que se actualice el índice.

El uso de la columna de marca de tiempo en una fila facilita determinar si algún valor en la fila ha cambiado desde la última vez que se leyó. Si el viaje cambia, se actualizará el valor de la marca de tiempo. Si no se realizaron cambios en la fila, el valor de la marca de tiempo será coherente con el valor de la marca de tiempo cuando la fila se leyó anteriormente. Para devolver el valor de marca de tiempo actual de una base de datos, use @@DBTS.

Desempeña un papel en el control de la concurrencia.

Los usuarios A/B abren un registro al mismo tiempo y comienzan a editar. La marca de tiempo se puede juzgar al guardar, porque el sistema mantendrá automáticamente la marca de tiempo cada vez que se actualice el registro, por lo que si la marca de tiempo extraída al guardar no es igual a la marca de tiempo en la base de datos, significa que el registro se ha actualizado en se sobrescribe el proceso, que puede impedir que otros realicen actualizaciones.