Colaboração : Cisco Unified Contact Center Express

Limitações do repositório UCCX

26 Outubro 2015 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

Este documento descreve uma edição encontrada quando você promove sistemas do Cisco Unified Contact Center Express (UCCX) às versões 8 e mais recente e um grande número artigos do repositório estão transferidos arquivos pela rede ao sistema, ou quando você tenta transferir arquivos pela rede um grande número artigos do repositório ao sistema nas versões 8 e mais recente.

Contribuído por Ryan LaFountain e por Siddachetty Mahesh, engenheiros de TAC da Cisco.

Informações de Apoio

As versões 7.x e mais recente UCCX usam Microsoft SQL (MSSQL) como o motor de banco de dados. O MSSQL não distingue, em termos do armazenamento de dados, entre dados de tipos diferentes. Quando armazena dados em um banco de dados 3-GB, o MSSQL armazena todos os dados, apesar do tipo, em um bloco 3-GB.

Pelo contraste, Informix, o motor de banco de dados usado em versões 8.0 e mais recente UCCX, diferencia-se entre dados de tipos diferentes quando o armazena no disco. Os dados típicos do banco de dados (tais como cordas, caráteres, e inteiros.) são armazenados em um pedaço do disco devotado ao banco de dados, visto que os grandes dados binários do objeto (GOTA), se alguns existem nos registros da tabela de banco de dados, são armazenados em uma seção separada do disco, chamado um sbspace. Um sbspace é uma unidade lógica composta de uns ou vários pedaços do disco que armazenam dados da GOTA. Informix armazena dados tradicionais e dados da GOTA separadamente a fim aumentar o desempenho de dados da GOTA da leitura e da escrita e ao banco de dados e ao disco. Quando um banco de dados é criado que contenha dados da GOTA, o administrador deve especificar o tamanho dos pedaços do disco para o banco de dados (a fim armazenar dados tradicionais) e o tamanho do sbspace separadamente.

Para mecanismos do armazenamento de dados, o MSSQL coloca todos os dados em uma única cubeta do tamanho N, quando Informix dividir o armazenamento destes dados em duas cubetas: uma cubeta para a informação contextual sobre dados da GOTA do tamanho X, e uma outra cubeta para a GOTA objetam-se do tamanho Y.

Em UCCX, o administrador tem a opção para transferir arquivos pela rede os artigos do repositório que consistem em alertas, em documentos, em gramáticas, e em scripts. Os índices destes artigos são armazenados nas tabelas de banco de dados correspondentes como dados e informação contextual da GOTA sobre eles, tais como o nome de arquivo, o dobrador, o tempo do Last modified, o usuário do Last modified, o comprimento, e a soma de verificação. 

Os artigos do repositório são armazenados no banco de dados UCCX db_cra_repository. Nas versões 7.x e anterior UCCX que usam o MSSQL, o db_cra_repository é 3 GB em tamanho e contém a informação do contexto e da GOTA. Nas versões 8.0 e mais recente UCCX que usam Informix, o pedaço do armazenamento de dados anexado ao db_cra_repository é 10.2 MB em tamanho, e armazena somente a informação contextual sobre os artigos do repositório. O índice dos artigos do repositório é armazenado no formato da GOTA em um sbspace chamado uccx_sbspace. Em versões 8.0 e mais recente UCCX, o uccx_sbspace é 3 GB em tamanho.

A saída do disco do dbserver do uccx da mostra em um server da versão 8.0+ UCCX, revela a distinção entre estes dois datastores:

 

Segundo a mistura de dados no banco de dados MSSQL, é possível para o tamanho dos dados da GOTA armazenados no banco de dados MSSQL para exceder o tamanho definido do sbspace em Informix quando a migração ou a elevação são tentadas. Similarmente, é possível que a informação contextual sobre os dados da GOTA armazenados no banco de dados MSSQL excede o tamanho administrativo-especificado para aquele dados no pedaço do banco de dados Informix.

Quando isto ocorre, a elevação ou a migração da versão 7.x UCCX à versão 8.x UCCX falham, porque o db_cra_repository ou o uccx_sbspace não são grande bastante acomodar a mesma informação que foi armazenada no MSSQL. Esta é tipicamente uma edição em um sistema UCCX que contenha um grande número alertas. Os dados do contexto da alerta e da GOTA devem compartilhar do db_cra_repository e do uccx_sbspace com os documentos, as gramáticas, e os scripts, mas estes outros tipos do repositório são tipicamente pequenos em tamanho e numeram.

Como um exemplo, considere um sistema da versão 7.x UCCX com dez dos milhares de alertas, cada um com somente alguns segundos do áudio. Na versão 7.x UCCX que se usa o MSSQL, o índice e a informação contextual alertas é armazenado no mesmo pedaço 3-GB. Porque há muitas alertas do tamanho pequeno, o banco de dados pôde armazenar o 50 MB da informação contextual sobre as alertas, mas os somente 2 GB dos dados da GOTA que representam o áudio das alertas. Consequentemente, as alertas no repositório ocupam um pouco de sobre 2 GB do conjunto limitado 3-GB em cima da criação de banco de dados. 

Quando você tenta migrar este sistema à versão 8.x e ao Informix UCCX, a migração falha porque o 50 MB da informação contextual excede o limite do 10.2 MB do db_cra_repostiory mesmo que os 2 GB de ajustes alertas do índice bem sob o limite do uccx_sbspace.

Inversamente, considere um sistema da versão 7.x UCCX com menos, mas ainda muitos, alertas longas. Com menos alertas mas do tamanho maior, a relação do índice alerta à informação contextual é diferente. Na versão 7.x UCCX e no MSSQL, o índice alerta pôde pegar 2.8 GB do 3 MB db_cra_repository, e da informação contextual. Este sistema promove com sucesso, como os ajustes do 3 MB nos ajustes GB db_cra_repository, e 2.8 no uccx_sbspace atribuído.

Tipicamente, quando você tenta migrar às versões 8.x e mais recente UCCX, os dados do contexto sobre as alertas transferidas arquivos pela rede ao sistema das versões 7.x ou anterior UCCX excedem o limite de tamanho de db_cra_repository antes que o índice alerta exceda o limite de tamanho do uccx_sbspace. Adicionalmente, o espaço livre verdadeiro disponível para artigos personalizados do repositório é 6.9 MB, porque a configuração padrão consome o 3.4 MB do db_cra_repository.

Problema

Quando você tenta transferir arquivos pela rede artigos novos do repositório (documentos, gramáticas, alertas, scripts) a um sistema UCCX que execute versões 8 ou mais recente, você recebe este Mensagem de Erro:

The files uploaded are not valid or not structured
 according to languages. Please check the help
 documentation for more details.

A migração das versões 7.0(2) e anterior UCCX às versões 8.0 e mais recente muda o sistema operacional e o motor de banco de dados em que o aplicativo é executado. O motor de banco de dados usado em versões 8.0 e mais recente UCCX armazena dados diferentemente do que aquele de versões 7.x e mais recente UCCX. Isto tem implicações para a migração de UCCX, como os bancos de dados que contêm grandes conjunto de dados na versão 7.x UCCX não puderam migrar corretamente à versão 8.x UCCX.

Solução

Antes que você migre à versão 8.x UCCX, calcule a quantidade de db_cra_repository e de uccx_sbspace necessários a fim armazenar os artigos atuais do repositório no sistema da versão 7.x UCCX, para incluir todo o crescimento futuro.

Calcule o tamanho de dados atual do repositório

A fim começar, determine o número de linha em cada um das tabelas do repositório que guardam a informação em artigos e em dobradores do repositório.

Determine o número de linha em tabelas do dobrador do repositório

Use o analisador de consulta de Microsoft SQL a fim gravar o número de linha das tabelas do dobrador do repositório com estes comandos:

  • SELECIONE A CONTAGEM (*) do documentsfoldertbl
  • SELECIONE A CONTAGEM (*) do grammarsfoldertbl
  • SELECIONE A CONTAGEM (*) do promptsfoldertbl
  • SELECIONE A CONTAGEM (*) do scriptsfoldertbl

Determine o número de páginas usadas por tabelas do dobrador do repositório

Informix esclarece o tamanho-em-disco em termos das páginas. Determine o número de páginas que é ocupado pelo índice das tabelas do dobrador do repositório com esta fórmula, e substitua o número de linha para as contagens obtidas dos comandos precedente-mencionados. Compute esta fórmula para cada tabela, e adicionar o número de páginas. Não é possível determinar exatamente o número de páginas se o número de linha de cada tabela é adicionado primeiramente, e o resultado da fórmula está computado então.

  • # pagina o documentsfoldertbl = o número de linha no documentsfoldertbl/(2020/(180 + 4))
  • # pagina o grammarsfoldertbl = o número de linha no grammarsfoldertbl/(2020/(180 + 4))
  • # pagina o promptsfoldertbl = o número de linha no promptsfoldertbl/(2020/(180 + 4))
  • # pagina o scriptsfoldertbl = o número de linha no scriptsfoldertbl/(2020/(180 + 4))

# pagina o documentsfoldertbl + # grammarsfoldertbl das páginas + # promptsfoldertbl das páginas + # scriptsfoldertbl das páginas = número total de páginas para tabelas do dobrador

Determine o número de páginas usadas por tabelas de arquivo do artigo do repositório

Termine o mesmo cálculo a fim determinar o número total de páginas para as tabelas de arquivo que contêm os artigos reais do repositório. Incorpore estes comandos com o analisador de consulta de Microsoft SQL:

  • SELECIONE A CONTAGEM (*) do documentsfiletbl
  • SELECIONE A CONTAGEM (*) do grammarsfiletbl
  • SELECIONE A CONTAGEM (*) do promptsfiletbl
  • SELECIONE A CONTAGEM (*) do scriptsfiletbl

Determine o número de páginas que são ocupadas pelo índice de tabelas de arquivo do repositório com esta fórmula, e substitua o número de linha com as contagens obtidas dos comandos precedente-mencionados. Compute a fórmula para cada tabela, e adicionar o número de páginas.

  • # pagina o documentsfiletbl = o número de linha no documentsfiletbl/(2020/(229 + 4))
  • # pagina o grammarsfiletbl = o número de linha no grammarsfiletbl/(2020/(229 + 4))
  • # pagina o promptsfiletbl = o número de linha no promptsfiletbl/(2020/(229 + 4))
  • # pagina o scriptsfiletbl = o número de linha no scriptsfiletbl/(2020/(229 + 4))

# pagina o documentsfiletbl + # grammarsfiletbl das páginas + # promptsfiletbl das páginas + # scriptsfiletbl das páginas = número total de páginas para tabelas de arquivo

Calcule

Execute estes cálculos a fim terminar a avaliação atual do tamanho de dados do repositório:

  1. Determine o número total de páginas necessárias a fim armazenar o repositório atual em Informix com:

    Número total de páginas = de número total de páginas para tabelas de arquivo + número total de páginas para tabelas do dobrador

  2. Determine o espaço total, no MB, que as páginas consomem:

    Número total de páginas x 2 = tamanho total no MB

Se os cálculos mostram que a informação contextual sobre os artigos e os dobradores do repositório transferidos arquivos pela rede atualmente na versão 7.x UCCX excede o 3.4 MB, a seguir recomenda-se ao refactor o projeto do artigo do repositório. Embora o espaço livre disponível para a informação contextual sobre artigos do repositório em db_cra_repository seja 6.9 MB, recomenda-se deixar 50% disponível para o crescimento futuro. As avaliações e o máximo do crescimento - o espaço ocupado permissível é calculado pelo desenvolvimento, com base em fatores de crescimento previstos.

Alertas

Desde que as alertas são tipicamente o consumidor o maior do espaço do repositório, os métodos usados a fim reduzir o número de alertas no repositório são discutidos no resto deste artigo.

Se as alertas transferidas arquivos pela rede atualmente no repositório da versão 7.x UCCX ocupam uma porção significante do espaço de armazenamento, do refactor o projeto alerta, do armazenamento, e da recuperação totais do repositório antes que você migrar à versão 8.x UCCX. Quando você tenta ao refactor o projeto alerta, considere estas opções:

  • Reduza o número de dobradores alertas. Segundo as indicações dos cálculos precedentes, cada dobrador alerta ocupa uma fileira no banco de dados do repositório, e consome consequentemente o espaço contra o limite db_cra_repository. Se você reduz o número de dobradores, você pode o espaço livre para arquivos.
  • A parte alerta para palavras ou frases comuns através dos aplicativos/scripts a fim reduzir o número de alertas necessárias no sistema.
  • Use sistema-forneceu alertas para normalizações entre alertas, tais como números e moedas.
  • Armazene alertas em um servidor de Web separado dentro da empresa, e recupere e jogue as alertas necessárias por encomenda com Voz XML (VXML).

O VXML é usado a fim recuperar e jogar as alertas por encomenda de um lugar da fora-caixa. Se você armazena grandes quantidades de alertas em um servidor de Web separado, você pode:

  • Elimine os problemas da migração mencionados previamente, como as alertas são armazenadas já não no db_cra_repository.
  • Forneça o maiores acesso e facilidade do Gerenciamento.
  • Reduza a versão de switch, a elevação, a migração, e o tempo alternativo.

Embora muitas opções existissem a fim prover a personalização da resposta de voz interativa (IVR) no VXML, o script UCCX e o aplicativo VXML usaram-se a fim recuperar uma alerta de um servidor de Web da fora-caixa e jogá-lo ao chamador é usado como base para um desenvolvimento mais adicional. Bem como o outro script feito sob encomenda em UCCX, os scripts fornecidos nesta seção são oferecidos como guia e não apoiados pelo centro de assistência técnica da Cisco (TAC).

Nota: Um aplicativo VXML é invocado de um script UCCX com a etapa do navegador de voz. Mais informação sobre a etapa do navegador de voz é fornecida nos guias de programação do Cisco Unified Contact Center Express.

A etapa do navegador de The Voice consome um documento VXML. Este documento deve ser criado como consequência da etapa do documento da criação URL, e deve ser hospedado em um web server externo a UCCX. Embora o aplicativo VXML seja escrito a fim aceitar o chamador entrado com a multi frequência do tom dual (DTMF), este aplicativo é projetado jogar somente uma alerta que seja fora-caixa hospedada. Contudo, pode ser expandido a fim incluir a funcionalidade adicional. Supõe-se que o resto do script UCCX, antes que a etapa do navegador de voz esteja invocada, tem a lógica necessária a fim determinar que alerta é jogada, e um grupo do variável de série ao nome de arquivo alerta.

Desde que o documento VXML é estático, mas a alerta jogada com ela é dinâmica, um linguagem de script do lado de servidor é usado a fim criar o documento VXML. Este pode ser todo o linguagem de script do lado de servidor que tiver a capacidade para ajustar o encabeçamento do tipo de conteúdo da resposta do pedido XML GET. Neste exemplo, o PHP é usado.

A página PHP é escrita a fim aceitar um parâmetro de URL em um pedido GET que represente o nome do prompt de áudio que é jogado. A página PHP concatena o molde VXML com o nome de arquivo alerta passado nos parâmetros de URL do pedido GET a fim formar o documento completo VXML. Ajusta então o encabeçamento do tipo de conteúdo da resposta ao XML, e ajusta o corpo da resposta para ser o índice 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;
?>

A fim produzir um documento bem-formado VXML, a página do exemplo PHP deve ser alcançada com um pedido GET que contenha um wav do parâmetro e um valor de série, com a suposição que a página do exemplo PHP está nomeada generatevxml.php:

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

Assegure-se de que o MenuPrompt.wav esteja no lugar no web server externo especificado no molde VXML contido dentro da página PHP.

No script UCCX, use a etapa do documento da criação URL a fim executar um pedido GET de generatevxml.php que concatena a base URL do <Servername de http:// ou do endereço IP de Um ou Mais Servidores Cisco ICM NT >/path/generatevxml.php? o wav= com o nome de arquivo alerta derivado da lógica precedente do script, e coloca o resultado em uma variável do documento.

Crie uma etapa do navegador de voz que consuma a variável do documento.

Quando este script é chamado, fornecido o generatevxml.php e MenuPrompt.wavare acessível no web server de UCCX, o MenuPrompt.wavPrompt joga ao chamador.

Quando os aplicativos VXML são usados a fim armazenar a fora-caixa das alertas, de modo que estejam alcançados somente quando necessário em ordem os joguem ao chamador, permite a maiores eficiência, viabilidade, e utilidade. Esta é uma edição para a consideração se um sistema da versão 7.x UCCX é promovido a um sistema da versão 8.x UCCX, e o número de alertas é tal que o índice da informação contextual é maior do que db_cra_repository ou o uccx_sbspace.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 116496