Sistema informático y método de gestión del búfer para ello
Descripción general
 Proporcionar un sistema informático que tenga una función de gestión de memoria intermedia capaz de realizar una unidad de gestión de memoria intermedia y una unidad de control exclusivo en el momento de la actualización de datos en diferentes unidades sin afectar el rendimiento de todo el sistema. La unidad de contador de actualización 2c calcula el número de veces de actualización del procesamiento de actualización de datos cada vez que se ejecuta el procesamiento de actualización de datos para cada registro en el bloque y resta la cuenta de actualización cada vez que finaliza el procesamiento de actualización de datos. La unidad de gestión de memoria tampón 2a gestiona el número de registros modificados en el bloque y el estado del bloque en función del resultado del recuento. La unidad de gestión de bloqueo 2b establece un bloqueo compartido en el momento del procesamiento de actualización de datos normal y establece el bloqueo de ocupación en el momento de una operación específica tal como una operación de escritura de datos de unidad de bloque en un dispositivo de archivo o similar. Con tal configuración, diferentes unidades pueden realizar el control de exclusión en el momento de la actualización de los datos y la administración del búfer.
Campo técnico
Campo técnico La presente invención se refiere a un sistema informático que tiene una función de gestión de memoria intermedia para ejecutar la gestión de almacenamiento intermedio de datos cuando se refieren o actualizan datos a un dispositivo de archivo tal como un dispositivo de almacenamiento de disco.
Antecedentes de la técnica
Convencionalmente, en un sistema informático, cuando se trabaja como leer (actualizar) o actualizar (escribir) datos, se asigna un área de trabajo (búfer) en una memoria intermedia, los datos se asignan en este búfer, Un método para ejecutar es común. Más específicamente, por ejemplo, se hace referencia a los datos desde un dispositivo de archivo tal como un dispositivo de almacenamiento de disco, o se actualizan los datos del dispositivo de archivo.
El sistema gestiona los búferes en unidades de rango de distribución de los datos de destino llamados bloque (unidad de gestión de datos), y el intercambio de datos se realiza en bloque según sea necesario (función de gestión del búfer).
Además, el sistema necesita realizar un control exclusivo para evitar que el procesamiento de actualización de datos se realice simultáneamente en el mismo bloque por una pluralidad de fuentes de solicitud de actualización de datos (programas). Mediante este control exclusivo, se mantiene la coherencia de los datos.
Aquí, el bloque que es la unidad de gestión de datos del búfer y la unidad de exclusión del control exclusivo son conceptualmente irrelevantes. Sin embargo, en el sistema convencional, la unidad de exclusión del control de exclusión para mantener la coherencia entre el bloque y la actualización de datos es la misma.
Es decir, cuando se actualiza el registro designado en el bloque, el búfer se reserva para cada bloque, y el registro se mantiene en el búfer y se actualiza. En este caso, la unidad exclusiva es unidad de bloque incluso si la actualización de datos es unidad de registro.
En dicha función de gestión de memoria intermedia, es necesario gestionar el estado de cada bloque dispuesto en el almacenamiento intermedio. El estado del bloque es un estado de actualización de datos o un estado sin actualización (estado de liberación). Al actualizar los datos, es necesario establecer los datos en el estado de actualización y realizar un control exclusivo. Además, si está en el estado de no actualización, es posible intercambiar datos con otro bloque, por ejemplo. En resumen, en la función de gestión de memoria intermedia convencional, la unidad exclusiva de actualización de datos debe ser la misma que la unidad de gestión de bloques (bloque o registro).
gestión de memoria intermedia de la realidad está siendo aplicada al sistema de gestión de archivos, la unidad de operación para la actualización de los datos en la memoria intermedia (tarea, proceso, hilo) y escribe los datos de forma asíncrona a un almacenamiento en disco o similar, y se Se realiza por una unidad de operación.
La unidad de operación anterior se llama método de acceso. La última unidad de operación se llama escritor de datos. Para realizar el procesamiento de transacciones atómicas, el método de acceso accede por control exclusivo en bloque.
Básicamente, el escritor de datos garantiza que los datos que se escribirán no están en una transacción, es decir, es una finalización de compromiso, y cambia el estado del bloque del estado de actualización al estado de no actualización después de la escritura. Por lo tanto, el escritor de datos controla exclusivamente el control exclusivo del programa del sistema en bloque.
Tarea de solución
Como se describió anteriormente, la gestión de la memoria tampón se realiza en bloque, y el control de exclusión de los programas del sistema y similares se realiza en bloque. Es preferible que el control exclusivo para la coherencia de datos se establezca de forma flexible sin estar restringido por una unidad de gestión de memoria intermedia. Por ejemplo, es deseable que un método capaz de operar en diferentes unidades de forma tal que el control exclusivo esté configurado para registrar la unidad (registro bloqueado) y que la administración del búfer se establezca en la unidad de bloque sea para mejorar el rendimiento del sistema. Sin embargo, basta con cambiar la unidad de gestión del búfer para grabar la unidad a fin de hacer un control exclusivo ya que la unidad de grabación tiene una gran influencia en el sistema de gestión del búfer. Por ejemplo, es necesario cambiar el contenido del método de retroceso (retroceso) en el procesamiento de transacciones.
Un objetivo de la presente invención es proporcionar un sistema informático que tenga una función de gestión de memoria intermedia capaz de realizar la gestión de memoria tampón y el control de exclusión en el momento de la actualización de datos en diferentes unidades sin afectar al sistema de gestión de memoria intermedia.
Solución
La primera de la presente invención, cuando se realiza de referencia o actualización de los datos, por ejemplo, en un sistema de ordenador que tiene una función de gestión de memoria intermedia para la gestión de memoria intermedia en unidades de bloque, el proceso de actualización de datos, por ejemplo, una pluralidad de unidades de registros que constituye la actualización bloque significa actualización del contador para contar el número de veces y para administrar el estado de actualización de datos de la unidad de registro sobre la base del resultado del recuento, los medios de gestión de memoria intermedia para el control con el fin de liberar el estado exclusivo de los bloques cuando cada unidad de registro no se actualiza el estado Es un sistema equipado.
El segundo de la presente invención, cuando se realiza de referencia o actualización de los datos, por ejemplo, en un sistema de ordenador que tiene una función de gestión de memoria intermedia para la gestión de memoria intermedia en unidades de bloques, el control exclusivo compartido preestablecido en el momento de proceso de actualización de datos normal Y un medio de control exclusivo de búfer para ejecutar el control exclusivo de ocupación en el momento de una operación específica.
En la primera invención, el contador de actualización significa cada vez que se ejecuta el procesamiento de actualización de datos de la unidad de registro en el bloque, calcula el número de cambios del proceso de actualización de datos, resta el número de cambios para cada extremo del proceso de actualización de datos . Los medios de gestión de memoria intermedia gestionan el estado de actualización de datos de cada registro, es decir, el número de registros de modificación en el bloque, en función del resultado del contador de los medios del contador de actualización. Además, cuando el resultado del recuento de los medios del contador de actualización se convierte en cero, el medio de gestión del almacenamiento intermedio reconoce que todos los registros en el bloque están en el estado sin actualización y libera el estado de exclusión para el bloque.
En la segunda invención, los medios de control exclusivo memoria intermedia para los datos de una pluralidad de unidades de registros que constituyen el bloque, para evitar el acceso distinto de la pluralidad de solicitante (programa de usuario) para realizar solicitud de procesamiento de actualización de datos normal compartido El control exclusivo se ejecuta. Además, cuando se realiza una operación específica preestablecida, por ejemplo, una operación de escribir datos de la unidad de bloque en un dispositivo de archivo o similar, se ejecuta el control exclusivo de ocupación para todo el rango del bloque. Con una configuración de este tipo, la gestión de memoria intermedia de varias unidades se puede realizar sin bloquear la unidad de control exclusiva en el momento de la actualización de datos a una unidad de bloque o similar.
Las realizaciones de la presente invención se describirán a continuación con referencia a los dibujos. La figura 1 es un diagrama de bloques para explicar una parte principal de un sistema informático de acuerdo con esta realización, las figuras 2 y 3 son diagramas conceptuales para explicar el funcionamiento de la presente realización, figuras 4 y 5. 6 es un diagrama de flujo para explicar una operación.
El sistema (configuración del sistema), por ejemplo un método multi-hilo asume un sistema informático con un sistema operativo (OS) que adopta, como se muestra en la Fig. 1, una función de gestión de memoria intermedia para la gestión de la memoria intermedia de datos 1 Lo ha hecho.
La función de gestión de memoria intermedia se realiza por un servidor (servidor) 2 que tiene funciones de un programa de sistema (método de acceso) y un escritor de datos. En la presente realización, el servidor 2 tiene las respectivas funciones (programas) llamadas unidad de gestión de memoria intermedia 2a, unidad de gestión de bloqueos 2b y unidad de contador de actualización 2c por razones de conveniencia.
En respuesta a una solicitud de una pluralidad de clientes (de aquí en adelante referido como un programa de usuario) 3, el servidor 2 ejecuta la gestión de memoria intermedia 1 de la memoria intermedia de datos necesaria para referir o actualizar datos.
Buffer unidad de gestión 2a está fijada en el bloque de memoria intermedia de datos 1 (B1, B2), para gestionar el proceso de escritura de datos en el registro (R1 R4) proceso de actualización de datos y el dispositivo de almacenamiento en disco 4 unidades de los bloques o de bloques.
En esta realización, la unidad de gestión de bloqueo 2b ejecuta el control exclusivo (control de exclusión compartido y control exclusivo ocupado que se describirá más adelante) en la memoria tampón de datos 1 en el momento de la actualización de datos. La unidad de contador de actualización 2c tiene una función de contar y almacenar el número de veces de actualización en unidades de bloques en el momento de actualizar los datos ejecutados por la unidad de gestión de memoria intermedia 2a.
El dispositivo de almacenamiento en disco 4 es un dispositivo de archivo tal como un dispositivo de disco magnético, por ejemplo, y almacena datos originales (datos maestros) de datos a los que se hará referencia o se actualizará a través de la memoria intermedia de datos 1.
A continuación, se describirá la operación de esta realización.
(Proceso de actualización de datos) Primero, con referencia a la figura 2 y a la figura 4, se describirá una operación de gestión de memoria intermedia durante el proceso de actualización de datos.
En respuesta a una solicitud (referencia o actualización de datos) del programa de usuario 3, el servidor 2 reserva una memoria tampón de unidad de bloques en la memoria intermedia de datos 1 (paso S1). En el caso del procesamiento de referencia de datos, el servidor 2 lee datos de una unidad de bloque que incluye datos designados (registro) desde el dispositivo de almacenamiento de disco 4 y los almacena en el almacenamiento intermedio protegido (SÍ en el paso S2, S3).
A continuación, en el caso del procesamiento de actualización de datos, el servidor 2 actualiza el bloque especificado (por ejemplo, B1) asegurado en la memoria intermedia a la unidad de grabación (SÍ en la etapa S4, S7). En este caso, en la presente realización, la unidad 2b de gestión de bloqueo del servidor 2, cuando la normal de procesado de actualización de datos (modo normal) lleva a cabo el control compartido exclusiva, como se describirá más adelante (paso S6, se hace referencia a la Fig. 3) .
Aquí, como se muestra en la figura 2, se supone que se incluye un registro R1 R3 en el bloque B1 sujeto a actualización de datos. La unidad de contador de actualización 2c del servidor 2 incrementa (+1) cada vez que se ejecuta el proceso de actualización desde el valor inicial (0) y cuenta el número de actualizaciones (etapa S 8).
Como ejemplo específico, como se muestra en la Fig. 2, el registro de estado de actualización R1 es un estado de no actualización (es decir, la reescritura período de procesamiento D1 de los datos almacenados) para migrar, 2c unidad de contador de actualización incrementa un valor de recuento (1) . De manera similar, cuando se inicia el proceso de actualización de datos para el registro R2 y se ingresa el estado de actualización (D2), la unidad de contador de actualización 2c incrementa y almacena el valor de conteo (2). En este caso, dado que el proceso de actualización de datos para el registro R3 se inicia y el proceso cambia al estado de actualización (D3), la parte del contador de actualizaciones 2c almacena el valor de recuento (3).
En base al valor de recuento (3) de la unidad de contador de actualización 2c, la unidad de gestión de memoria intermedia 2a reconoce el número de registro de actualización (3) porque el bloque designado B1 está en el estado de actualización. Por otro lado, el servidor 2 ejecuta un proceso de escritura de los datos del bloque actualizado en el dispositivo de almacenamiento de disco 4 en unidades de registros mediante la función de grabación de datos (etapa S9). Como ejemplo específico, los datos del registro R 2 se escriben en el dispositivo de almacenamiento de disco 4. Como resultado, el registro R2 cambia al estado de no actualización.
Cuando el registro R2 cambia al estado de no actualización, la unidad de contador de actualización 2c decrementa (1) y resta (1) del valor de conteo (3) (paso S10). De manera similar, cuando los datos del registro R1 se escriben en el dispositivo de almacenamiento de disco 4 y se desplazan al estado de no actualización, la porción de contador de actualización 2c resta (1) del valor de conteo (2). Además, el registro de datos R3 se escribe en un almacenamiento en disco 4, cambiará al estado no actualización, el 2c unidad de contador de actualización es el valor inicial de un valor de recuento a partir de (1) restando (1) (0) ( SÍ en el paso S 11).
Buffer unidad de gestión 2a, basado en el valor de recuento del 2c actualización contador (0), el bloque B1 reconoce que la transición desde el estado de actualización de un estado no de actualización, por ejemplo, para liberar el estado exclusivo del bloque B1 (Paso S12) .
Como se describió anteriormente, la unidad de gestión de bloqueo 2b establece el bloqueo compartido en el momento de actualizar el bloque B1, y excluye el bloque B1 de la solicitud de actualización distinta del programa de usuario de fuente de solicitud de actualización. Por lo tanto, cuando se libera el estado de exclusión del bloque B1, la sección de gestión de bloqueo 2b puede ejecutar el control de exclusión ocupado y similares como se describe más adelante.
(Proceso de control de exclusión) A continuación, con referencia a las figuras 3 y 5, se describirá la operación de control exclusivo durante el proceso de actualización de datos.
En la presente realización, la unidad de gestión de bloqueo 2b del servidor 2 establece un bloqueo compartido en el mismo bloque B1 para el procesamiento de actualización de datos normal de acuerdo con la solicitud de actualización de cada programa de usuario (A, B) (Ver paso S 6 en la figura 4, ver figura 3).
En el bloqueo compartido, aunque el bloqueo de registros funciona de modo que no se produce interacción en el proceso de actualización de datos del mismo registro, el procesamiento de actualización de datos se hace posible sin exclusión mutua para el mismo bloque B 1.
Por otra parte, como se muestra en la figura 3, cuando se establece el bloqueo compartido, el bloque B1 está en un estado exclusivo del proceso de actualización de datos normal descrito anteriormente. En esta realización, la unidad de gestión de bloqueo 2b establece el bloqueo ocupado (estado exclusivo de ocupación) para el bloque B1 solo en el caso de la operación específica preestablecida (NO en el paso S5, S14). Aquí, la operación específica, por ejemplo, deteniendo el proceso de actualización del bloque B1, una operación tal como para reflejar los datos de la unidad de bloque escrito en el dispositivo de almacenamiento en disco 4, las actualizaciones de los datos maestros.
Al recibir una instrucción para una operación específica, la unidad de gestión de bloqueo 2b detiene el procesamiento de actualización para el bloque B 1 y establece el bloque B 1 como un bloqueo ocupado para la operación específica. Por lo tanto, el procesamiento de actualización de datos que no sea la operación específica se vuelve imposible, y si hay una solicitud de bloqueo compartido en el bloque B1, entra en un estado de espera (paso S 15).
En dicho estado de bloqueo de ocupación, el escritor de datos del servidor 2 ejecuta el proceso de escribir los datos del bloque B1 en el dispositivo de almacenamiento de disco 4 (etapa S16).
Es decir, la unidad de gestión de bloqueo 2b ejecuta el control exclusivo de la operación específica y otro procesamiento de actualización de datos, y ejecuta el control exclusivo de una unidad (unidad de bloque) diferente del control exclusivo de la unidad de registro. Una vez completada la operación específica, el administrador de bloqueo 2b libera el bloqueo de ocupación, y establece el bloqueo compartido en el momento del procesamiento de actualización de datos normal como se muestra en la figura 3 (paso S18).
Como se describió anteriormente, de acuerdo con la presente realización, primero, la sección 2c del contador de actualización cuenta el número de veces de actualización en unidades de registros cuando se ejecuta el procesamiento de actualización de datos en el bloque, de modo que en base a este valor de recuento La cantidad de registros actualizados se puede administrar.
Además, cada vez que la transición a un estado no-actualización del estado de actualización en cada bloque de unidad de grabación, restando el valor de cómputo, para reconocer el estado actualizado o un estado no actualización de todo el bloque, el estado exclusivo del bloque no actualizada de estado Puede ser lanzado desde.
Por lo tanto, en el momento de la actualización de los datos, se ejecuta el control exclusivo para cada registro en el bloque para ejecutar el proceso de actualización de datos y la administración del buffer se puede realizar en bloque.
En segundo lugar, en el momento del proceso de actualización de datos normal, la ejecución de un control exclusivo compartido (compartido de control de bloqueo), por ejemplo, durante una operación en particular para llevar a cabo un proceso de escritura de bloques de datos (procesamiento por el escritor de datos) lleva a cabo un control exclusivo ocupación. Como resultado, durante el proceso de actualización de datos normal, se realiza un control exclusivo para no interactuar registro por registro, por lo que se puede realizar el proceso de actualización de datos para cada registro. Por otro lado, al establecer el control de exclusión ocupado como sea necesario, es posible realizar un procesamiento de actualización basado en bloques y una operación específica que requiere control de exclusión.
Por lo tanto, es posible llevar a cabo el control de exclusión en unidades de control exclusivo del procesamiento de actualización de datos, en unidades arbitrarias según sea necesario, tales como unidad de grabación, unidad de bloque o una mezcla de las mismas.
Efecto de la invención
De acuerdo con la presente invención como se describe en detalle anteriormente, sin cambiar la unidad básica de gestión de memoria intermedia (por ejemplo, bloques), una unidad de control exclusivo en el momento de actualización de datos para la integridad de datos, en la unidad básica Se puede establecer de forma flexible sin restricciones. En otras palabras, la unidad de gestión de búfer y la unidad de control exclusivo en la actualización de datos se puede establecer en diferentes unidades. Por lo tanto, es posible mejorar la función de gestión del búfer sin afectar el rendimiento de todo el sistema.
Breve descripción de los dibujos La figura 1 es un diagrama de bloques para explicar partes esenciales de un sistema informático de acuerdo con una realización de la presente invención.
La figura 2 es un diagrama conceptual para explicar el funcionamiento de esta realización.
La figura 3 es un diagrama conceptual para explicar el funcionamiento de esta realización.
La figura 4 es un diagrama de flujo para explicar el funcionamiento de esta realización.
La figura 5 es un diagrama de flujo para explicar el funcionamiento de esta realización.
1 ... búfer de datos, ... 2 servidor (unidad de función de gestión de memoria intermedia), 3 ... cliente (programa de usuario), 4 ... de almacenamiento en disco.
Reclamo
En un sistema de ordenador que tiene una función de gestión de memoria intermedia para la gestión de los datos en la memoria intermedia en la reivindicación 1 predeterminado de unidades de datos, dentro del rango de la unidad de datos almacenada en la memoria tampón, para contar el número de cambios de actualizaciones proceso de actualización de datos Que comprende: un medio de contador y medios de gestión de memoria intermedia para gestionar un estado de actualización de datos de dicha unidad de datos en base al resultado de conteo de dichos medios de contador de actualización.
En un sistema de ordenador que tiene una función de gestión de memoria intermedia para la gestión de los datos en la memoria intermedia en la reivindicación 2 predeterminado de unidades de datos, dentro del rango de la unidad de datos almacenada en la memoria intermedia, una pluralidad de realizar solicitud de procesamiento de actualización de datos normal Medios de control exclusivo del búfer para ejecutar control exclusivo compartido para prohibir accesos que no sean la fuente de solicitud y ejecutar el control de exclusión de ocupación para todo el rango de la unidad de datos en operación específica preestablecida; mientras se mantiene el control de la exclusión mutua solicitante, y los datos de medios de actualización para realizar el procesamiento de actualización de datos de acuerdo con la petición de cada solicitante, en el momento del control exclusivo ocupación y el control exclusivo sobre toda la gama de la unidad de datos Y un medio de ejecución de operación específica para ejecutar la operación específica relacionada con una operación de acceso predeterminada en el estado sistema informático.
Cuando se realiza de referencia o actualización de los datos de la reivindicación 3, en un sistema informático que incluye una función de gestión de memoria intermedia para la gestión de memoria intermedia de los datos en unidades de bloque, el número de cambios de procesamiento de actualización de datos de una pluralidad de unidades de registros constituye el bloque calcula, y significa el contador de actualización para restar el número de actualizaciones para cada final del proceso de actualización de datos, basado en el resultado del recuento de los medios de actualización del contador, para administrar el estado de actualización de datos de la unidad de disco, dijo que cada unidad de registro no se ha seleccionado Y un medio de gestión de memoria tampón para controlar liberar el estado exclusivo de dicho bloque en el caso de un estado de actualización.
4. Un sistema informático que tiene una función de gestión de memoria intermedia para gestionar almacenamientos intermedios de datos en unidades de bloques cuando se hace referencia o actualiza datos, comprendiendo el sistema informático: la ejecución de un control exclusivo compartido para prohibir el acceso múltiple no solicitando que solicitud de procesamiento actualiza los datos, y un control exclusivo tampón significa que cuando una operación específica preestablecido para llevar a cabo el control exclusivo de ocupación en todo el rango del bloque, en el estado en el que el tiempo compartido control exclusivo que mantiene el control exclusivo de la mutua solicitante, y los medios de actualización de datos para realizar el proceso de actualización de datos de la unidad de grabación de acuerdo con los requerimientos de cada origen de la solicitud, la ocupación durante el control exclusivo dicho bloque En un estado en el que se realiza un control exclusivo para todo el rango del acceso a datos de la unidad de bloque Sistema informático caracterizado porque comprende una ejecución operación específica medios para ejecutar el trabajo.
5. Un sistema informático que tiene una función de gestión de memoria tampón para gestionar almacenamientos intermedios de datos en unidades de bloques cuando se refiere o actualiza datos, que comprende los pasos de: actualizar datos de una pluralidad de unidades de registro que constituyen el bloque, la realización de un procesamiento de actualización de datos de acuerdo con la solicitud de procesamiento, el número de cambios se cuenta durante el proceso de actualización de datos, y restando el número de actualizaciones para cada final del proceso de actualización de datos, basado en el número de cambios, las el estado de actualización de datos en la unidad de registro de gestión de bloque, cuando el número de cambios de un valor inicial antes de la cuenta, los pasos de cada unidad de registro libera el reconocimiento al bloque para ser estado no actualizado desde el estado exclusivo Y el método de gestión de búfer.
Dibujo :
Application number :1997-016454
Inventors :株式会社東芝
Original Assignee :山川直巳