يصف هذا المستند مشكلة تمت مصادفتها عند ترقية أنظمة Cisco Unified Contact Center Express (UCCX) إلى الإصدار 8 والإصدارات الأحدث، ويتم تحميل عدد كبير من عناصر المستودع إلى النظام، أو عند محاولة تحميل عدد كبير من عناصر المستودع إلى النظام في الإصدار 8 والإصدارات الأحدث.
يستخدم UCCX الإصدار 7.x والإصدارات الأحدث Microsoft SQL (MSSQL) كمحرك قاعدة البيانات. لا تميز MSSQL، فيما يتعلق بتخزين البيانات، بين البيانات من أنواع مختلفة. وعندما يقوم بتخزين البيانات في قاعدة بيانات بسعة 3 جيجابايت، يقوم MSSQL بتخزين جميع البيانات بغض النظر عن نوعها في كتلة واحدة بسعة 3 جيجابايت.
على النقيض من ذلك، تميز Informix، مشغل قاعدة البيانات المستخدم في UCCX الإصدار 8.0 والإصدارات الأحدث، بين البيانات من الأنواع المختلفة عند تخزينها على القرص. يتم تخزين بيانات قاعدة البيانات النموذجية (مثل السلاسل والأحرف والأعداد الصحيحة.) في مجموعة قرص مخصصة لقاعدة البيانات، بينما يتم تخزين بيانات الكائن الكبير الثنائي (BLOB)، إذا كان هناك أي بيانات موجودة في سجلات جدول قاعدة البيانات، في قسم منفصل من القرص، يسمى SBSPACE. المساحة الفرعية هي وحدة منطقية مكونة من مجموعة واحدة أو أكثر من مجموعات الأقراص التي تخزن بيانات الكائن الثنائي كبير الحجم. يقوم Informix بتخزين البيانات التقليدية وبيانات BLOB بشكل منفصل من أجل زيادة أداء قراءة وكتابة بيانات BLOB من وإلى قاعدة البيانات والقرص. عند إنشاء قاعدة بيانات تحتوي على بيانات BLOB، يجب على المسؤول تحديد حجم مجموعات الأقراص لقاعدة البيانات (لتخزين البيانات التقليدية) وحجم مساحة التخزين الفرعية بشكل منفصل.
بالنسبة لآليات تخزين البيانات، تقوم MSSQL بوضع كافة البيانات في دلو واحد بالحجم N، بينما يقوم Informix بتقسيم تخزين هذه البيانات إلى دولين: دلو واحد للمعلومات السياقية حول بيانات BLOB بالحجم X، ودلو آخر لكائنات BLOB نفسها بالحجم Y.
في UCCX، يتمتع المسؤول بخيار تحميل عناصر المستودع التي تتألف من المطالبات والمستندات والنصوص النصية. يتم تخزين محتويات هذه العناصر في جداول قاعدة البيانات المقابلة مثل بيانات BLOB والمعلومات السياقية حولها، مثل اسم الملف والمجلد ووقت التعديل الأخير وآخر مستخدم معدل وطول المجموع الاختباري.
يتم تخزين عناصر المستودع في قاعدة بيانات UCCX db_cra_repository. في UCCX الإصدار 7.x والإصدارات الأقدم التي تستخدم MSSQL، يبلغ حجم db_cra_repository 3 غيغابايت ويحتوي على معلومات المحتوى ومجموعة البيانات الثنائية الكبيرة (BLOB). في UCCX الإصدار 8.0 والإصدارات الأحدث التي تستخدم Informix، يبلغ حجم مجموعة تخزين البيانات المرفقة ب db_cra_repository 10.2 ميجابايت، وتقوم فقط بتخزين المعلومات السياقية حول عناصر المستودع. يتم تخزين محتوى عناصر المستودع بتنسيق blob في مساحة فرعية تسمى uccx_sbspace. في الإصدارات 8.0 من UCCX والإصدارات الأحدث، يصل حجم uccx_sbspace إلى 3 جيجابايت.
يكشف إخراج قرص show uccx dbserver على خادم UCCX الإصدار 8. 0+، عن التمييز بين معلمي البيانات هذين:
وفقا لمزيج البيانات في قاعدة بيانات MSSQL، من الممكن أن يتجاوز حجم بيانات BLOB المخزنة في قاعدة بيانات MSSQL الحجم المحدد للمساحة الفرعية في Informix عند محاولة الترحيل أو الترقية. وبالمثل، من الممكن أن تتجاوز المعلومات السياقية حول بيانات BLOB المخزنة في قاعدة بيانات MSSQL الحجم المحدد إداريا لتلك البيانات في مجموعة قاعدة بيانات 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 غيغابايت. نظرا لوجود العديد من المطالبات ذات الحجم الصغير، يمكن أن تخزن قاعدة البيانات 50 ميجابايت من المعلومات السياقية حول المطالبات، ولكن 2 غيغابايت فقط من بيانات BLOB التي تمثل الصوت الخاص بالمطالبات. وبالتالي، تشغل المطالبات الموجودة في المستودع ما يزيد قليلا عن 2 غيغابايت من الحد المسموح به لإنشاء قاعدة البيانات وهو 3 غيغابايت.
عند محاولة ترحيل هذا النظام إلى UCCX الإصدار 8.x و Informix، يفشل الترحيل لأن 50 ميجابايت من المعلومات السياقية تتجاوز حد 10.2 ميجابايت من DB_CRA_Repoory حتى على الرغم من أن 2 غيغابايت من المحتوى السريع تتناسب بشكل جيد مع حد UCCX_SBSPACE.
على العكس، يمكنك النظر إلى نظام UCCX الإصدار 7.x المزود بعدد أقل من المطالبات الطويلة ولكن لا يزال عددها أكبر. مع وجود عدد أقل من المطالبات ولكن بحجم أكبر، تكون نسبة محتوى المطالبة إلى المعلومات السياقية مختلفة. في الإصدار 7.x من UCCX و MSSQL، قد يأخذ محتوى المطالبة 2.8 غيغابايت من db_cra_repository، والمعلومات السياقية 3 ميغابايت. تتم ترقية هذا النظام بنجاح، نظرا لأن السعة التي تبلغ 3 ميجابايت تنطبق على db_cra_repository، ويتم تثبيت السعة التي تبلغ 2.8 جيجابايت في UCCX_sbspace المخصصة.
عادة، عند محاولة الترحيل إلى UCCX الإصدارات 8.x والإصدارات الأحدث، تتجاوز البيانات السياقية حول المطالبات التي تم تحميلها إلى UCCX الإصدارات 7.x أو النظام الأقدم حد الحجم db_cra_repository قبل أن يتجاوز محتوى المطالبة حد الحجم ل UCCX_sbspace. بالإضافة إلى ذلك، تبلغ المساحة الحرة الحقيقية المتاحة لعناصر المستودع المخصصة 6. 9 ميجابايت، حيث يستهلك التكوين الافتراضي 3. 4 ميجابايت من db_cra_repository.
عندما تحاول تحميل عناصر مستودع جديدة (مستندات و Grammars و Claims و Scripts) إلى نظام UCCX الذي يشغل الإصدار 8 أو الإصدارات الأحدث، تتلقى رسالة الخطأ هذه:
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، لأن قواعد البيانات التي تحتوي على مجموعات بيانات كبيرة في الإصدار 7.x من UCCX قد لا تنتقل بشكل صحيح إلى الإصدار 8.x من UCCX.
قبل الترحيل إلى UCCX الإصدار 8.x، يمكنك تقدير مقدار db_cra_repository وuccx_sbspace اللازم لتخزين عناصر المستودع الحالية في نظام UCCX الإصدار 7.x، لتضمين أي نمو مستقبلي.
للبدء، حدد عدد الصفوف في كل جدول من جداول المستودع التي تحتوي على معلومات عن كل من عناصر المستودع ومجلداته.
أستخدم Microsoft SQL Query Analyzer لتسجيل عدد الصفوف من جداول مجلد المستودع باستخدام الأوامر التالية:
يمثل Informix الحجم على القرص من حيث الصفحات. حدد عدد الصفحات التي يشغلها محتوى جداول مجلد المستودع بهذه الصيغة، واستبدال عدد الصفوف بالعدادات التي تم الحصول عليها من الأوامر المذكورة سابقا. قم بحساب هذه الصيغة لكل جدول، ثم أضف عدد الصفحات. لا يمكن تحديد عدد الصفحات بدقة إذا تم إضافة عدد الصفوف من كل جدول أولا، ثم تم إحتساب نتيجة الصيغة.
# مستندات الصفحاتالمجلداتالمجلداتبل bl + # صفحات النحةالمجلداتالمجلداتبل + # صفحات مجلداتالمجلداتالمجلداتالمجلداتإجمالي عدد الصفحات لجداول المجلدات
قم بإكمال نفس الحساب لتحديد العدد الإجمالي للصفحات الخاصة بجداول الملفات التي تحتوي على عناصر المستودع الفعلية. أدخل هذه الأوامر باستخدام Microsoft SQL Query Analyzer:
حدد عدد الصفحات التي يشغلها محتوى جداول ملفات المستودع بهذه الصيغة، واستبدال عدد الصفوف بالعدادات التي تم الحصول عليها من الأوامر المذكورة سابقا. قم بحساب الصيغة لكل جدول، ثم أضف عدد الصفحات.
# مستندات الصفحاتالملفات + # صفحات Grammarsfiletbl + # صفحات الأوامر Filetbl + # Pages Scriptsfiletbl = إجمالي عدد الصفحات لجداول الملفات
قم بإجراء هذه الحسابات لإنهاء تقدير حجم بيانات المستودع الحالي:
إذا أظهرت الحسابات أن المعلومات السياقية حول عناصر المستودع ومجلداته التي يتم تحميلها حاليا في الإصدار 7.x من UCCX تتجاوز 3.4 ميغابايت، فيوصى بإعادة حساب تصميم عنصر المستودع. على الرغم من أن المساحة الحرة المتاحة للمعلومات السياقية حول عناصر المستودع في db_cra_repository تبلغ 6. 9 ميغابايت، ينصح بترك 50٪ متاحة للنمو المستقبلي. وتحسب تقديرات النمو والحد الأقصى المسموح به من المساحة المشغولة لكل عملية نشر، استنادا إلى عوامل النمو المتوقعة.
ونظرا لأن المطالبات هي عادة أكبر مستهلك لمساحة المستودع، تتم مناقشة الطرق المستخدمة لتقليل عدد المطالبات في المستودع في بقية هذه المقالة.
إذا كانت المطالبات التي يتم تحميلها حاليا في مستودع UCCX الإصدار 7.x تشغل جزءا كبيرا من مساحة التخزين الكلية للمستودع، فقم بإعادة تصميم المطالبة وتخزينها واستردادها قبل ترحيلك إلى UCCX الإصدار 8.x. عند محاولة إعادة تحليل تصميم المطالبة، ضع في الاعتبار الخيارات التالية:
يتم إستخدام VXML لاسترداد مطالبات وتشغيلها حسب الطلب من موقع خارج المربع. إذا قمت بتخزين كميات كبيرة من المطالبات على خادم ويب منفصل، يمكنك:
على الرغم من وجود العديد من الخيارات من أجل ضبط تخصيص الاستجابة الصوتية التفاعلية (IVR) في VXML، يتم إستخدام برنامج UCCX النصي وتطبيق VXML لاسترداد موجه من خادم ويب خارج المربع وإتشغيله للمتصل كأساس لمزيد من التطوير. وكمثل البرامج النصية المخصصة الأخرى في UCCX، يتم تقديم البرامج النصية المقدمة في هذا القسم كدليل ولا يدعمها مركز المساعدة الفنية (TAC) من Cisco.
تستهلك خطوة المستعرض الصوتي مستند VXML. يجب إنشاء هذا المستند كنتيجة للخطوة إنشاء مستند عنوان URL، ويجب إستضافته على خادم ويب خارجي ل UCCX. على الرغم من أنه قد تم كتابة تطبيق VXML لقبول إدخال المتصل من خلال التردد المتعدد للطنين المزدوج (DTMF)، إلا أن هذا التطبيق تم تصميمه فقط لتشغيل موجه يتم إستضافته خارج المربع. ومع ذلك، يمكن توسيعه ليشمل وظائف إضافية. يفترض أن بقية نص UCCX، قبل إستدعاء خطوة المتصفح الصوتي، له المنطق المطلوب لتحديد أي موجه يتم تشغيله، ومتغير السلسلة مضبوط على اسم الملف موجه.
بما أن وثيقة VXML ثابتة، لكن المطالبة التي يتم تشغيلها من خلالها ديناميكية، يتم إستخدام لغة برمجة نصية من جانب الخادم لإنشاء وثيقة VXML. يمكن أن تكون هذه أية لغة برمجة نصية من جانب الخادم لها القدرة على تعيين رأس نوع المحتوى لاستجابة طلب XML. في هذا المثال، يتم إستخدام بروتوكول PHP.
تتم كتابة صفحة PHP لقبول معلمة URL في طلب GET الذي يمثل اسم موجه الصوت الذي يتم تشغيله. تقوم صفحة PHP بربط قالب VXML مع تمرير اسم الملف موجه في معلمات عنوان URL الحصول على طلب من أجل تشكيل وثيقة 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 باستخدام طلب GET الذي يحتوي على معلمة WAV وقيمة String، مع افتراض تسمية صفحة المثال PHP باسم generatevxml.php:
http:///path/generatevxml.php?wav=MenuPrompt
تأكد من أن MenuPrompt.wav موجود في الموقع على خادم الويب الخارجي المحدد في قالب VXML الموجود في صفحة PHP.
في البرنامج النصي UCCX، أستخدم الخطوة إنشاء مستند URL لإجراء طلب GET ل generatevxml.phpإنشاء عنوان URL الأساسي ل http://<servername أو عنوان IP>/path/generatevxml.php؟wav= باستخدام اسم الملف Prompt المشتق من منطق البرمجة النصية السابق، ووضع النتيجة في متغير مستند.
قم بإنشاء خطوة المستعرض الصوتي التي تستهلك متغير المستند.
عند إستدعاء هذا البرنامج النصي، يتم الوصول إلى كل من generatevxml.php وMenuPrompt.wav على خادم الويب من UCCX، يتم تشغيل موجه الأمر MenuPrompt.wav للمتصل.
عند إستخدام تطبيقات VXML لتخزين موجهات الأوامر خارج العبوة، بحيث يتم الوصول إليها فقط عند الحاجة لتشغيلها للمتصل، فإنها تسمح بمزيد من الكفاءة وسهولة الإدارة وقابلية الصيانة. هذه مشكلة للنظر فيها في حالة ترقية نظام UCCX الإصدار 7.x إلى نظام UCCX الإصدار 8.x، وعدد المطالبات يصل إلى أن محتوى المعلومات السياقية أكبر من db_cra_repository أو UCCX_sbspace.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
12-Sep-2013 |
الإصدار الأولي |