Patent ES-2788299-T3 (ES)
Title: Compartición y resolución de conflictos de cambios de datos en un sistema de bases de datos multimaestro
Inventor: GARROD JOHN KENNETH
IPC: G06F16/23
Filed: 2011-07-13
Granted: 2020-10-21
Abstract: Un método informático para compartir y resolver los conflictos de los cambios de datos en un sistema de bases de datos multimaestro que comprende una pluralidad de sitios (101, 102, 103), comprendiendo el método: en un primer sitio de la pluralidad de sitios: hacer (305) un primer cambio en un objeto (201) de datos en particular en una base de datos en el primer sitio para producir una primera versión del objeto de datos en particular, y compartir (315) el primer cambio con uno o más sitios de la pluralidad de sitios; en un segundo sitio de la pluralidad de sitios: realizar un segundo cambio en el objeto de datos en particular en una base de datos en el segundo sitio para producir una segunda versión del objeto de datos en particular; recibir (405) una actualización que refleja el primer cambio; en donde la actualización incluye: una identificación del objeto de datos en particular, datos que reflejan el primer cambio en el objeto de datos en particular, y un primer vector de versión que representa la primera versión del objeto de datos en particular; obtener un segundo vector de versión de una base de datos en el segundo sitio, representando el segundo vector de versión la segunda versión del objeto de datos en particular; comparar (415) el primer vector de versión con el segundo vector de versión para determinar si la primera versión del objeto de datos en particular y la segunda versión del objeto de datos en particular son idénticas, están ordenadas o son concurrentes; en el primer sitio de la pluralidad de sitios: realizar un tercer cambio en la base de datos en el primer sitio a un conjunto de uno o más vínculos que conectan dos objetos de datos, involucrando el tercer cambio agregar o eliminar uno o más vínculos del conjunto de vínculos, incluyendo los dos objetos de datos el objeto de datos en particular; y compartir el tercer cambio con uno o más sitios de la pluralidad de sitios; en el segundo sitio de la pluralidad de sitios: realizar un cuarto cambio en la base de datos en el segundo sitio al conjunto de vínculos, involucrando el cuarto cambio agregar o eliminar uno o más vínculos del conjunto de vínculos; recibir una actualización que refleja el tercer cambio; en donde la actualización incluye: una identificación del conjunto de vínculos, datos que reflejan el tercer cambio, y un tercer vector de versión que representa una versión del conjunto de vínculos en el primer sitio resultante del tercer cambio, siendo el tercer vector de versión distinto de los objetos de datos conectados por los vínculos; obtener un cuarto vector de versión de la base de datos en el segundo sitio, representando el cuarto vector de versión una versión del conjunto de vínculos en el segundo sitio resultante del cuarto cambio, siendo el cuarto vector de versión distinto de los objetos de datos conectados por los vínculos; comparar el tercer vector de versión con el vector de la cuarta versión para determinar si la versión del conjunto de vínculos resultante del tercer cambio y la versión del conjunto de vínculos resultante del cuarto cambio son idénticas, están ordenadas o son concurrentes; y actualizar el vector de la cuarta versión para incorporar el tercer cambio.