Contenido

Introducción

Antecedentes

Problema

Solución

Tamaño de los datos actual del repositorio de la estimación

Determine el número de hilera en las tablas de la carpeta del depósito

Determine el número de páginas usadas por las tablas de la carpeta del depósito

Determine el número de páginas usadas por las tablas de archivos del elemento del depósito

Calcule

Prompts

Introducción

Este documento describe un problema encontrado cuando usted actualiza los sistemas del Cisco Unified Contact Center Express (UCCX) a las versiones 8 y posterior y un gran número de elementos del repositorio están cargados al sistema, o cuando usted intenta cargar un gran número de elementos del repositorio al sistema en las versiones 8 y posterior.

Antecedentes

Uso Microsoft SQL (MSSQL) de las versiones 7.x UCCX y posterior como el motor de base de datos. El MSSQL no distingue, en términos de almacenamiento de datos, entre los datos de diversos tipos. Cuando salva los datos en una base de datos 3-GB, el MSSQL salva todos los datos, sin importar el tipo, en un bloque 3-GB.

Por el contrario, el Informix, el motor de base de datos usado en las versiones 8.0 UCCX y posterior, distingue entre los datos de diversos tipos cuando lo salva en el disco. Las informaciones de la base de datos típicas (tales como cadenas, caracteres, y números enteros.) se salvan en un pedazo del disco dedicado a la base de datos, mientras que los datos grandes binarios del objeto (BLOB), si ningunos existen en los expedientes de la tabla de base de datos, se salvan en una sección aparte del disco, llamada un sbspace. Un sbspace es una unidad lógica integrada por uno o más pedazos del disco que salven los datos BLOB. El Informix salva los datos tradicionales y los datos BLOB por separado para aumentar el funcionamiento de los datos BLOB de la lectura y de la escritura y a la base de datos y al disco. Cuando se crea una base de datos que contiene los datos BLOB, el administrador debe especificar el tamaño de los pedazos del disco para la base de datos (para salvar los datos tradicionales) y el tamaño del sbspace por separado.

Para los mecanismos del almacenamiento de datos, el MSSQL pone todos los datos en un solo compartimiento del tamaño N, mientras que el Informix divide el almacenamiento de estos datos en dos compartimientos: un compartimiento para la información contextual sobre los datos BLOB del tamaño X, y otro compartimiento para el BLOB se opone del tamaño Y.

En UCCX, el administrador tiene la opción para cargar los elementos del repositorio que consisten en los prompts, los documentos, las gramáticas, y los scripts. El contenido de estos elementos se salva en las tablas de base de datos correspondientes como los datos y información contextual BLOB sobre ellos, tales como el nombre de fichero, la carpeta, el tiempo del Last modified, el usuario del Last modified, la longitud, y la suma de comprobación.

Los elementos del repositorio se salvan en la base de datos UCCX db_cra_repository. En las versiones 7.x UCCX y anterior ese uso MSSQL, el db_cra_repository es 3 GB de tamaño y contiene la información del contexto y BLOB. En las versiones 8.0 UCCX y posterior que utilizan el Informix, el pedazo del almacenamiento de datos asociado al db_cra_repository es 10.2 MB de tamaño, y salva solamente la información contextual sobre los elementos del repositorio. El contenido de los elementos del repositorio se salva en el formato BLOB en un sbspace llamado uccx_sbspace. En las versiones 8.0 UCCX y posterior, el uccx_sbspace es 3 GB de tamaño.

La salida del disco del dbserver del uccx de la demostración en un servidor de la versión 8.0+ UCCX, revela la distinción entre estos dos datastores:

Dependiendo de la mezcla de datos en la base de datos MSSQL, es posible para el tamaño de los datos BLOB salvados en la base de datos MSSQL para exceder el tamaño definido del sbspace en el Informix cuando se intenta la migración o la actualización. Semejantemente, es posible que la información contextual sobre los datos BLOB salvados en la base de datos MSSQL excede el tamaño administrativo-especificado para eso los datos en el pedazo de la base de datos Informix.

Cuando ocurre esto, la actualización o la migración de la versión 7.x UCCX a la versión 8.x UCCX falla, porque el db_cra_repository o el uccx_sbspace no es bastante grande acomodar la misma información que fue salvada en el MSSQL. Esto es típicamente un problema en un sistema UCCX que contenga un gran número de prompts. El prompt del contexto y los datos BLOB deben compartir el db_cra_repository y el uccx_sbspace con los documentos, las gramáticas, y los scripts, pero estos otros tipos del repositorio son típicamente pequeños de tamaño y el número.

Como un ejemplo, considere un sistema de la versión 7.x UCCX con decenas de miles de prompts, cada uno con solamente algunos segundos del audio. En la versión 7.x UCCX que utiliza el MSSQL, indique el contenido y la información contextual se salva en el mismo pedazo 3-GB. Pues hay muchos prompts de tamaño pequeño, la base de datos pudo salvar el 50 MB de la información contextual sobre los prompts, pero solamente 2 GB de los datos BLOB que representan el audio de los prompts. Por lo tanto, los prompts en el repositorio ocupan un poco sobre 2 GB del límite puesto 3-GB sobre la creación de la base de datos.

Cuando usted intenta emigrar este sistema a la versión 8.x y al Informix UCCX, la migración falla porque el 50 MB de la información contextual excede el límite del 10.2 MB del db_cra_repostiory aunque los 2 GB del contenido del prompt caben bien bajo límite del uccx_sbspace.

Inverso, considere un sistema de la versión 7.x UCCX con menos, pero aún muchos, los prompts largos. Con menos prompts pero de más de gran tamaño, la relación de transformación del contenido del prompt a la información contextual es diferente. En la versión 7.x UCCX y el MSSQL, indique el contenido pudo tomar 2.8 GB de la información contextual del 3 MB db_cra_repository, y. Este sistema actualiza con éxito, como los ajustes del 3 MB en los ajustes GB db_cra_repository, y 2.8 en el uccx_sbspace afectado un aparato.

Típicamente, cuando usted intenta emigrar a las versiones 8.x UCCX y posterior, los datos del contexto sobre los prompts cargados a las versiones 7.x UCCX o el sistema anterior exceden el límite de tamaño de db_cra_repository antes de que indique el contenido exceda el límite de tamaño del uccx_sbspace. Además, el espacio libre verdadero disponible para los elementos personalizados del repositorio es 6.9 MB, pues la configuración predeterminada consume el 3.4 MB del db_cra_repository.

Problema

Cuando usted intenta cargar los nuevos elementos del repositorio (documentos, gramáticas, prompts, scripts) a un sistema UCCX que ejecute las versiones 8 o más adelante, usted recibe este mensaje de error:

The files uploaded are not valid or not structured

according to languages. Please check the help

documentation for more details.

La migración de las versiones UCCX 7.0(2) y el anterior a las versiones 8.0 y posterior cambia el sistema operativo y el motor de base de datos en los cuales la aplicación se ejecuta. El motor de base de datos usado en las versiones 8.0 UCCX y posterior salva los datos diferentemente que el de las versiones 7.x UCCX y posterior. Esto tiene implicaciones para la migración de UCCX, como bases de datos que contengan los grupos de datos grandes en la versión 7.x UCCX no pudieron emigrar correctamente a la versión 8.x UCCX.

Solución

Antes de que usted emigre a la versión 8.x UCCX, estime la cantidad de db_cra_repository y de uccx_sbspace necesarios para salvar los elementos actuales del repositorio en el sistema de la versión 7.x UCCX, para incluir cualquier crecimiento futuro.

Estime el tamaño de los datos actual del repositorio

Para comenzar, determine el número de hilera en cada uno de las tablas del depósito que llevan a cabo la información sobre los elementos y las carpetas del depósito.

Determine el número de hilera en las tablas de la carpeta del depósito

Utilice el analizador de consulta SQL de Microsoft para registrar el número de hilera de las tablas de la carpeta del repositorio con estos comandos:

- SELECCIONE LA CUENTA (*) del documentsfoldertbl

- SELECCIONE LA CUENTA (*) del grammarsfoldertbl

- SELECCIONE LA CUENTA (*) del promptsfoldertbl

- SELECCIONE LA CUENTA (*) del scriptsfoldertbl

Determine el número de páginas usadas por las tablas de la carpeta del depósito

El Informix explica el tamaño-en-disco en términos de páginas. Determine el número de páginas que es ocupado por el contenido de las tablas de la carpeta del depósito con esta fórmula, y substituya el número de hilera para las cuentas obtenidas de los comandos anterior-mencionados. Compute esta fórmula para cada tabla, y agregue el número de páginas. No es posible determinar exactamente el número de páginas si el número de hilera de cada tabla se agrega primero, y entonces el resultado de la fórmula se computa.

- # pagina el documentsfoldertbl = el número de hilera en el documentsfoldertbl/(2020/(180 + 4))

- # pagina el grammarsfoldertbl = el número de hilera en el grammarsfoldertbl/(2020/(180 + 4))

- # pagina el promptsfoldertbl = el número de hilera en el promptsfoldertbl/(2020/(180 + 4))

- # pagina el scriptsfoldertbl = el número de hilera en el scriptsfoldertbl/(2020/(180 + 4))

# pagina el documentsfoldertbl + # grammarsfoldertbl de las páginas + # promptsfoldertbl de las páginas + # scriptsfoldertbl de las páginas = número total de páginas para las tablas de la carpeta

Determine el número de páginas usadas por las tablas de archivos del elemento del depósito

Complete el mismo cálculo para determinar el número total de páginas para las tablas de archivos que contienen los elementos reales del depósito. Ingrese estos comandos con el analizador de consultas de Microsoft SQL:

- SELECCIONE LA CUENTA (*) del documentsfiletbl

- SELECCIONE LA CUENTA (*) del grammarsfiletbl

- SELECCIONE LA CUENTA (*) del promptsfiletbl

- SELECCIONE LA CUENTA (*) del scriptsfiletbl

Determine el número de páginas que sean ocupadas por el contenido de las tablas de archivos del depósito con esta fórmula, y substituya el número de hilera con las cuentas obtenidas de los comandos anterior-mencionados. Compute la fórmula para cada tabla, y agregue el número de páginas.

- # pagina el documentsfiletbl = el número de hilera en el documentsfiletbl/(2020/(229 + 4))

- # pagina el grammarsfiletbl = el número de hilera en el grammarsfiletbl/(2020/(229 + 4))

- # pagina el promptsfiletbl = el número de hilera en el promptsfiletbl/(2020/(229 + 4))

- # pagina el scriptsfiletbl = el número de hilera en el scriptsfiletbl/(2020/(229 + 4))

# pagina el documentsfiletbl + # grammarsfiletbl de las páginas + # promptsfiletbl de las páginas + # scriptsfiletbl de las páginas = número total de páginas para las tablas de archivos

Calcule

Realice estos cálculos para acabar la valoración actual del tamaño de los datos del repositorio:

1. Determine el número total de páginas necesarias para salvar el depósito actual en el Informix con:

Número total de páginas = de número total de páginas para las tablas de archivos + el número total de páginas para las tablas de la carpeta

2. Determine el espacio total, en el MB, que las páginas consumen:

Número total de páginas x 2 = tamaño total en el MB

Si los cálculos muestran que la información contextual sobre los elementos y las carpetas del repositorio cargados actualmente en la versión 7.x UCCX excede el 3.4 MB, después se recomienda al refactor el diseño del elemento del repositorio. Aunque el espacio libre disponible para la información contextual sobre los elementos del repositorio en db_cra_repository sea 6.9 MB, se recomienda para dejar el 50% disponible para el crecimiento futuro. Las estimaciones del crecimiento y el espacio ocupado máximo permitido se calcula por el despliegue, sobre la base de los factores de crecimiento previstos.

Prompts

Puesto que los prompts son típicamente el consumidor más grande del espacio del repositorio, los métodos usados para reducir el número de prompts en el repositorio se discuten en el resto de este artículo.

Si los prompts cargados actualmente en el repositorio de la versión 7.x UCCX ocupan una porción significativa el diseño pronto, del almacenamiento, y de la extracción totales del repositorio del espacio para almacenar, del refactor antes de que usted emigre a la versión 8.x UCCX. Cuando usted intenta al refactor el diseño pronto, considere estas opciones:

- Reduzca el número de carpetas pronto. Tal y como se muestra en de los cálculos anteriores, cada carpeta pronto ocupa una fila en la base de datos del repositorio, y por lo tanto consume el espacio contra el límite db_cra_repository. Si usted reduce el número de carpetas, usted puede espacio libre para los archivos.

- La parte indica para las palabras o las frases comunes a través de las aplicaciones/de los scripts para reducir el número de prompts necesarios en el sistema.

- Utilice sistema-proporcionó a los prompts para las concordancias entre los prompts, tales como números y monedas.

- Salve los prompts en un servidor Web separado dentro de la empresa, y extraiga y juegue los prompts necesarios a pedido con la Voz XML (VXML).

El VXML se utiliza para extraer y jugar los prompts a pedido de una ubicación del apagado-cuadro. Si usted salva una gran cantidad de prompts en un servidor Web separado, usted puede:

- Elimine los problemas de la migración mencionados previamente, como los prompts se salvan no más en el db_cra_repository.

- Proporcione el mayores acceso y facilidad de la Administración.

- Reduzca la versión del switch, la actualización, la migración, y el tiempo de reserva.

Aunque muchas opciones existan para equipar el arreglo para requisitos particulares de la respuesta de voz interactiva (IVR) en el VXML, el script UCCX y la aplicación VXML utilizaron para extraer un prompt de un servidor Web del apagado-cuadro y jugarlo al llamador se utiliza como base para el desarrollo adicional. Como el otro scripting de encargo en UCCX, los scripts proporcionados en esta sección se ofrecen como una guía y no son soportados por el Centro de Asistencia Técnica de Cisco (TAC).

Note: Una aplicación VXML se invoca de un script UCCX con el paso del buscador de voz. Más información sobre el paso del buscador de voz se proporciona en las guías de programación del Cisco Unified Contact Center Express.

El paso del navegador de The Voice consume un documento VXML. Este documento se debe crear como resultado del paso del documento del crear URL, y se debe recibir en un externo del web server a UCCX. Aunque la aplicación VXML se escriba para validar al llamador entrado con la frecuencia multi del tono dual (DTMF), esta aplicación se diseña para jugar solamente un prompt que sea apagado-cuadro recibido. Sin embargo, puede ser ampliada para incluir las funciones adicionales. Se asume que el resto del script UCCX, antes de que se invoque el paso del buscador de voz, tiene la lógica necesaria para determinar que el prompt se juega, y un conjunto de la variable de cadena al nombre de fichero pronto.

Puesto que el documento VXML es estático, pero el prompt jugado con él es dinámico, un lenguaje de la secuenciación de comandos del lado del servidor se utiliza para crear el documento VXML. Éste puede ser cualquier lenguaje de la secuenciación de comandos del lado del servidor que tenga la capacidad de fijar la encabezado del tipo de contenido de la respuesta de la petición get XML. En este ejemplo, se utiliza el PHP.

La página PHP se escribe para validar un parámetro url en una petición get que represente el nombre prompt de audio se juega que. La página PHP concatena la plantilla VXML con el nombre de fichero pronto pasajero en los parámetros url de la petición get para formar el documento completo VXML. Entonces fija la encabezado del tipo de contenido de la respuesta al XML, y fija el cuerpo de la respuesta para ser el contenido VXML.

<?php

$wav_filename = $_GET['wav'];

$xml_string = '<?xml version="1.0"?>

<vxml xmlns="http://www.w3.org/2001/vxml" version="2.0">

<form>

<block>

<prompt bargein="true">

<audio src="http://<Servername or IP Address>/

<Path>/'.$wav_filename.'.wav" />

</prompt>

</block>

</form>

</vxml>';

header('Content-type: text/xml');

echo $xml_string;

?>

Para elaborar un documento bien formado VXML, la página del ejemplo PHP se debe acceder con una petición get que contenga un wav del parámetro y un valor de la cadena, con la suposición que la página del ejemplo PHP está nombrada generatevxml.php:

http://<Servername or IP Address>/path/generatevxml.php?wav=MenuPrompt

Asegúrese de que el MenuPrompt.wav esté en la ubicación en el web server externo especificado en la plantilla VXML contenida dentro de la página PHP.

¿En el script UCCX, utilice el paso del documento del crear URL para realizar una petición get de generatevxml.php que concatena la base URL del <Servername o de la dirección IP >/path/generatevxml.php de http://? el wav= con el nombre de fichero pronto derivado de la lógica anterior del scripting, y pone el resultado en una variable del documento.

Cree un paso del buscador de voz que consuma la variable del documento.

Cuando se llama este script, proporcionado el generatevxml.php y MenuPrompt.wavare accesible en el web server de UCCX, el MenuPrompt.wavPrompt juega al llamador.

Cuando las aplicaciones VXML se utilizan para salvar el apagado-cuadro de los prompts, para accederlas solamente cuando estén necesitadas en la orden las jueguen al llamador, permite la mayores eficacia, manejabilidad, y utilidad. Esto es un problema para la consideración si un sistema de la versión 7.x UCCX se actualiza a un sistema de la versión 8.x UCCX, y el número de prompts es tal que el contenido de la información contextual es más grande que el db_cra_repository o el uccx_sbspace.