Ruta de acceso lógica de componentes

La ruta de acceso lógica se usa para organizar los componentes administrados por un escritor en grupos bien definidos.

La ruta de acceso lógica es análoga en la estructura a la ruta de acceso del archivo tradicional, mediante la barra diagonal inversa "\" para separar los elementos de la ruta de acceso. A diferencia de las rutas de acceso de archivo, la raíz de una ruta de acceso lógica es NULL, en lugar de "\".

La ruta de acceso lógica se expresa como una cadena terminada en NULL y no hay otras restricciones en los caracteres que puede contener la ruta de acceso.

El uso más importante de la ruta de acceso lógica es definir conjuntos de componentes, donde la inclusión explícita de componentes en una operación de copia de seguridad o restauración de un componente seleccionable requiere la inclusión de un número de otros componentes (subcomponentes). La ruta de acceso lógica del componente que define un conjunto de componentes es un elemento primario de las rutas de acceso lógicas de sus subcomponentes y:

  • Los subcomponentes deben compartir como ruta de acceso raíz la ruta de acceso lógica del componente seleccionable que define el conjunto de componentes.
  • Una ruta de acceso raíz de NULL es válida.
  • El nombre del componente que se puede seleccionar debe ser el primer elemento de ruta de acceso lógica después de la ruta de acceso raíz para cada subcomponente no seleccionable del conjunto de componentes.
  • Los conjuntos de componentes se pueden anidar.
  • La combinación de ruta de acceso lógica y nombre de componente debe ser única en todas las instancias de una clase de escritor.

El ejemplo hipotético de un escritor MyWriter con una estructura de ruta de acceso lógica definida a continuación ilustra la ruta de acceso lógica.

Nombre de componente Ruta de acceso lógica Seleccionable para la copia de seguridad
"Ejecutables" "" N
"ConfigFiles" "Ejecutables" N
"LicenseInfo" "" Y
"Security" "" Y
"UserInfo" "Security" N
"Certificados" "Security" N
"writerData" "" Y
"Set1" "writerData" N
"Jan" "writerData\Set1" N
"Dec" "writerData\Set1" N
"Set2" "writerData" N
"Jan" "writerData\Set2" N
"Dec" "writerData\Set2" N
"Consulta" "writerData\QueryLogs" N
"Uso" "writerData" Y
"Jan" "writerData\Usage" N
"Dec" "writerData\Usage" N

 

Tenga en cuenta que los componentes "Ejecutables" y "ConfigFile" tienen una relación de elementos primarios y secundarios, pero ambos no son seleccionables. Por lo tanto, no forman un conjunto de componentes. Cada vez que se realiza una copia de seguridad o se restaura el escritor MyWriter , estos dos componentes tendrán que incluirse explícitamente en la operación.

El componente "LicenseInfo" se puede seleccionar sin antecesor ni descendiente. Se puede incluir explícitamente, o no, en una operación de copia de seguridad o restauración a discreción del solicitante.

El componente "Seguridad" define un conjunto de componentes simple, que no contiene ningún conjunto de componentes debajo de él.

El componente "writerData" define un conjunto de componentes, que contiene una colección compleja de componentes con varias jerarquías de rutas lógicas bien definidas debajo de él.

Un subcomponente, "Uso", se puede seleccionar y define un conjunto de componentes.

Varios componentes tienen el mismo nombre y se distinguen por sus rutas lógicas. Las instancias de los componentes no seleccionables "Dec" y "Jan" existen en los componentes no seleccionables componentes "Set1" y "Set2" y en el subcomponente seleccionable "Usage".

Si el componente "writerData" se incluye explícitamente en una copia de seguridad o restauración, todos sus subcomponentes, incluso los del conjunto de componentes anidados definido por "Usage", se incluirán implícitamenteen la operación.

Si el conjunto de componentes definido por "writerData" no se incluye explícitamente en una copia de seguridad o restauración, los componentes "Set1", "Set2" y "QueryLogs" (y sus instancias de subcomponentes "Dec" y "Jan") no se incluirán implícitamente en la operación de copia de seguridad o restauración.

Sin embargo, incluso si "writerData" no está incluido en la operación, el componente "Uso" todavía se puede seleccionar y todavía se puede incluir explícitamente en una operación de copia de seguridad o restauración. Si es así, sus subcomponentes "Jan" y "Dec" se incluirán implícitamente.

Otros puntos dignos de nota:

  • Los componentes seleccionables "LicenseInfo" y "writerData" y el componente no seleccionable "Ejecutables" están todos en el mismo nivel en la jerarquía de rutas lógicas de MyWriter: todos tienen la misma ruta lógica de NULL o "", la ruta de acceso lógica raíz.
  • El componente seleccionable "Usage" nunca debe incluirse explícitamente en una copia de seguridad, si su elemento primario seleccionable ("writerData") se incluye explícitamente en una operación de copia de seguridad o restauración.
  • Los componentes que definen conjuntos de componentes pueden existir simplemente por motivos organizativos. Por ejemplo, el componente "writerData" o "Usage", o ambos, podrían estar vacíos; es decir, no se agregaron conjuntos de archivos a ellos mediante el método IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles o IVssCreateWriterMetadata::AddDatabaseLogFiles . Los componentes siguen definiendo un conjunto de componentes.