Contents

Introduction

背景信息

问题

解决方案

估计当前贮藏库数据大小

确定行数在贮藏库文件夹表里

确定贮藏库文件夹表使用的页的编号

确定贮藏库项目文件表使用的页的编号

计算

提示

Introduction

本文描述遇到的一个问题，当您升级Cisco Unified Contact Center Express (UCCX)时系统到版本8和以上，并且很大数量的贮藏库项目被加载到系统，或者，当您尝试加载很大数量的贮藏库项目到在版本8和以上时的系统。

背景信息

UCCX版本7.x和以上使用Microsoft SQL (MSSQL)作为数据库引擎。MSSQL不区分，根据数据存储，在不同的类型之间数据。当它在3-GB数据库时存储数据，不管类型， MSSQL存储所有数据，在一个3-GB块。

相反，当在磁盘时，存储它Informix公司，用于UCCX版本8.0和以上的数据库引擎，区分在不同的类型之间数据。典型的数据库数据(例如字符串、字符和整数。)在磁盘大块存储专用于数据库，而二进制大对象(BLOB)数据，如果其中任一存在于数据库表记录，在磁盘的独立的部分存储，称为sbspace。sbspace是一个逻辑单元存储BLOB数据的组成由一个或更多磁盘大块。Informix公司分开存储传统数据和BLOB数据为了增加读和文字BLOB数据性能从和到数据库和磁盘。当包含BLOB数据的数据库被创建时，管理员必须为数据库指定磁盘大块的大小(为了存储传统数据)和分开sbspace的大小。

对于数据存储机制，而Informix公司分开此数据存贮成两个桶， MSSQL放置所有数据到单个桶大小N ：上下文信息的一个桶关于BLOB数据大小x和BLOB对象的另一个桶大小Y。

在UCCX中，管理员有加载的选项包括提示、文件、语法和脚本的贮藏库项目。这些项目内容在对应的数据库表里被存储作为BLOB数据和上下文信息关于他们，例如文件名、文件夹、最后更新时间、最后更新用户、长度和校验和。

贮藏库项目在db_cra_repository UCCX的数据库存储。在使用MSSQL的UCCX版本7.x和以下， db_cra_repository在大小上是3 GB并且包含上下文和BLOB信息。在使用Informix公司的UCCX版本8.0和以上，数据存储大块附有db_cra_repository在大小上是10.2 MB和只存储关于贮藏库项目的上下文信息。贮藏库项目的内容在称为uccx_sbspace的sbspace的BLOB格式被存储。在UCCX版本8.0和以上， uccx_sbspace在大小上是3 GB。

输出显示uccx在UCCX版本8.0+服务器的dbserver磁盘，显示这两datastores之间的差异：

根据数据的混合，当迁移或升级尝试时，在MSSQL数据库的，为在MSSQL数据库存储的BLOB数据的大小是可能的超出sbspace的被定义的大小在Informix公司中。同样地，很可能，关于在MSSQL数据库存储的BLOB数据的上下文信息超出那的管理指定的大小在Informix数据库大块的数据。

当这发生时，升级或迁移从UCCX版本7.x到UCCX版本8.x发生故障，因为db_cra_repository或uccx_sbspace不是足够大适应在MSSQL被存储的同样信息。这典型地是在包含很大数量的提示的UCCX系统的一个问题。上下文提示和BLOB数据必须与文件、语法和脚本共享db_cra_repository和uccx_sbspace，但是这些其他贮藏库类型在大小上是典型地小的并且编号。

例如，请考虑与数万个提示的一个UCCX版本7.x系统，其中每一与仅一些秒钟音频。在使用的UCCX版本7.x MSSQL，及时内容和上下文信息在同一3-GB大块存储。尽管有许多提示小型，数据库只也许存储上下文信息50 MB关于提示的，但是2 GB表示提示的音频的BLOB数据。所以，在贮藏库的提示占用有点3-GB极限集的2 GB在数据库建立。

当您尝试移植此系统到UCCX版本8.x和Informix公司时，迁移发生故障，因为上下文信息50 MB超过10.2 MB限制db_cra_repostiory，即使2 GB及时内容适应很好在uccx_sbspace的限制下。

相反，请考虑与少量的一个UCCX版本7.x系统，但是仍然许多，长的提示。使用少量提示，但是更加大号，及时内容比与上下文信息是不同的。在UCCX版本7.x和MSSQL中，及时内容也许占去db_cra_repository和上下文信息3 MB的2.8 GB。此系统成功升级，作为3 MB适应到db_cra_repository和2.8 GB适应到分配的uccx_sbspace。

一般，当您尝试移植到UCCX版本8.x和以上时，关于提示的上下文数据被加载到UCCX版本7.x或以下系统超过大小限额db_cra_repository，在及时内容超过uccx_sbspace的大小限额前。另外，因为默认配置消耗3.4 MB db_cra_repository，真的空闲空间可用为定制的贮藏库项目是6.9 MB。

问题

当您尝试加载新的贮藏库项目(文件、语法、提示，脚本)时到运行版本8或以上的UCCX系统，您收到此错误信息：

The files uploaded are not valid or not structured

according to languages. Please check the help

documentation for more details.

迁移从UCCX版本7.0(2)和以下到版本8.0和以上更换应用程序运行的操作系统和数据库引擎。用于UCCX版本8.0和以上的数据库引擎跟那不同地存储数据UCCX版本7.x和以上。这有UCCX的迁移的暗示，作为在UCCX版本7.x包含大数据集也许不适当地移植对UCCX版本8.x的数据库。

解决方案

在您移植到UCCX版本8.x前，请估计需要的相当数量db_cra_repository和uccx_sbspace为了存储当前贮藏库项目在UCCX版本7.x系统，包括所有未来增长。

估计当前贮藏库数据大小

为了开始，请确定行数在暂挂关于贮藏库项目和文件夹的信息的其中每一张中贮藏库表。

在贮藏库文件夹表里确定行数

请使用Microsoft SQL查询分析器为了记录行数从贮藏库文件夹表的用这些命令：

- 选择计数(*)从documentsfoldertbl

- 选择计数(*)从grammarsfoldertbl

- 选择计数(*)从promptsfoldertbl

- 选择计数(*)从scriptsfoldertbl

确定贮藏库文件夹表使用的页的编号

Informix公司占大小在磁盘根据页。确定由贮藏库文件夹表内容与此公式的占用页的数量，并且用从命令得到的计数替代行数早先被提及。计算每张表的此公式，并且添加页的数量。准确地确定页的数量是不可能的，如果行数从每张表的首先被添加，然后计算公式结果。

- #页documentsfoldertbl =行数在documentsfoldertbl的/(2020/(180 + 4))

- #页grammarsfoldertbl =行数在grammarsfoldertbl的/(2020/(180 + 4))

- #页promptsfoldertbl =行数在promptsfoldertbl的/(2020/(180 + 4))

- #页scriptsfoldertbl =行数在scriptsfoldertbl的/(2020/(180 + 4))

#页documentsfoldertbl + #页grammarsfoldertbl + #页promptsfoldertbl + #页页scriptsfoldertbl =总数文件夹表的

确定贮藏库项目文件表使用的页的编号

完成同一个计算为了确定页总数包含实际贮藏库项目的文件表的。输入这些命令用Microsoft SQL查询分析器：

- 选择计数(*)从documentsfiletbl

- 选择计数(*)从grammarsfiletbl

- 选择计数(*)从promptsfiletbl

- 选择计数(*)从scriptsfiletbl

确定由贮藏库与此公式的文件表内容占用页的数量，并且替代行数与从命令得到的计数的早先被提及。计算每张表的公式，并且添加页的数量。

- #页documentsfiletbl =行数在documentsfiletbl的/(2020/(229 + 4))

- #页grammarsfiletbl =行数在grammarsfiletbl的/(2020/(229 + 4))

- #页promptsfiletbl =行数在promptsfiletbl的/(2020/(229 + 4))

- #页scriptsfiletbl =行数在scriptsfiletbl的/(2020/(229 + 4))

#页documentsfiletbl + #页grammarsfiletbl + #页promptsfiletbl + #页页scriptsfiletbl =总数文件表的

计算

执行这些计算为了完成当前贮藏库数据大小估计：

1. 确定必要的页总数为了在Informix公司中存储当前贮藏库与：

页页=总数总数页文件表+总数的文件夹表的

2. 确定总计空间，在MB，页消耗：

页总数x 2 =在MB的总大小

如果计算表示，关于在UCCX版本7.x和文件夹的上下文信息当前加载的贮藏库项目超出3.4 MB，则建议使用给refactor贮藏库项目设计。虽然上下文信息的可用的空闲空间关于在db_cra_repository的贮藏库项目是6.9 MB，推荐留给50%可用为未来增长。增长估计和最大容许量被占据的空间每配置被计算，根据期望的增长因子。

提示

因为提示典型地是贮藏库空间的最大的消费者，使用的方法为了减少提示的数量在贮藏库的在其余讨论此条款。

如果提示在UCCX版本7.x贮藏库当前加载了请占用整体贮藏库存储空间、refactor及时设计，存贮和检索的很大一部分，在您移植到UCCX版本8.x前。当您尝试对refactor及时设计时，请设想这些选项：

- 减少及时文件夹的数量。如早先计算所显示，每个及时文件夹占用在贮藏库数据库的行，并且消耗空间db_cra_repository限制。如果减少文件夹的数量，您能文件的空闲空间。

- 共用提示输入普通的词或说明在应用程序/脚本间为了减少在系统需要的提示的数量。

- 请使用为在提示中的公共系统提供了提示，例如编号和货币。

- 存储提示在一分开的Web服务器在企业内，并且检索并且示出必要的提示符根据要求与语音XML (VXML)。

VXML用于为了从一个箱外位置检索和示出提示符根据要求。如果在一分开的Web服务器存储很多提示，您能：

- 消除以前被提及的迁移问题，和提示在db_cra_repository不再存储。

- 提供管理更加极大的访问和方便。

- 减少交换版本、升级、迁移和备份时间。

虽然许多选项存在为了导航在VXML的交互语音应答(IVR)定制， UCCX脚本和VXML应用程序使用为了从一箱外Web服务器检索提示，并且玩它对呼叫人根据更加进一步的发展使用。很象其他自定义脚本在UCCX，提供，指南和Cisco技术支持中心(TAC)不支持在此部分提供的脚本。

Note:VXML应用程序从与语音浏览器步骤的一个UCCX脚本被调用。关于语音浏览器步骤的更多信息在Cisco Unified Contact Center Express程序指南提供。

语音浏览器步骤消耗VXML文件。在对UCCX的一个网络服务器外部必须创建由于创建URL文件步骤，本文，并且必须主机。虽然VXML应用程序被写为了接受通过双音频多频率被输入的呼叫人(DTMF)，此应用程序设计只示出主机的箱外的提示符。然而，它可以被扩展为了包括其他功能。假设， UCCX脚本的其余，在语音浏览器步骤被调用前，有逻辑需要的为了确定哪个提示被演奏和一个串变量设置为及时文件名。

因为VXML文件是静态的，但是通过它被演奏的提示动态，一服务器端的脚本语言用于为了创建VXML文件。这可以是有能力设置XML GET请求回应的内容类型报头的所有服务器端的脚本语言。在本例中，使用PHP。

PHP页被写为了接受在表示音频提示名字被演奏的GET请求的一个URL参数。PHP页连接有在GET请求URL参数通过的及时文件名的VXML模板为了形成完全VXML文件。它然后设置回应的内容类型报头对XML的，并且设置回应的正文是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;

?>

为了导致一个合格的VXML文件，必须获取示例PHP页与包含一参数wav和一个字符串值的GET请求，假设示例PHP页被命名generatevxml.php ：

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

保证MenuPrompt.wav在VXML模板指定的外部网络服务器的位置包含在PHP页内。

在UCCX脚本，请使用创建URL文件步骤为了执行连接http:// <Servername或IP地址>/path/generatevxml.php的基础URL generatevxml.php GET请求？与从早先写脚本的逻辑派生的及时文件名的wav=，和在文件变量安置结果。

创建消耗本文变量的语音浏览器步骤。

当此脚本在从UCCX时的网络服务器被调用，提供可访问generatevxml.php和的MenuPrompt.wavare， MenuPrompt.wavPrompt播放对呼叫人。

当VXML应用程序用于为了存储箱外时的提示，因此他们被获取，只有当需要按顺序时演奏他们给呼叫人，允许更加极大的效率、可管理性和维护性。这是考虑的一个问题，如果UCCX版本7.x系统被升级到UCCX版本8.x系统，并且提示的数量是这样上下文信息的内容大于db_cra_repository或uccx_sbspace。