Структура пространственной БД

Материал из Oktell
Перейти к: навигация, поиск

Вся статистика работы в call-центре попадает в пространственную БД «oktell_cc_temp». Все отчеты, касающиеся работы Call-центра строятся на основе лежащей в ней информации. Подробнее об отчетах см. разделы Call-center. Статистика и Call-center. Индикаторы.

Три пространственных таблицы:

A_Cube_CC_EffortConnections информация о коммутациях в call-центре и попытках дозвона.
A_Cube_CC_OperatorStates информация о состояниях операторов в call-центре.
A_Cube_CC_CallQueue информация о состояниях и нагрузках очередей входящих задач.


А также таблицы с категориями:

A_Cube_CC_Cat_OperatorInfo информация об операторах.
A_Cube_CC_Cat_OperatorStateTypes информация об используемых состояниях операторов.
A_Cube_CC_Cat_Project информация о проектах.
A_Cube_CC_Cat_Task информация о задачах.
A_Cube_CC_Cat_TaskResultTypes информация о результатах совершения звонков.


Для построения основных отчетов информация берется из пространственных таблиц, а при построении итоговой выборки по идентификаторам происходит пересечение с таблицами категорий для получения адекватных для восприятия показателей (названий, имен, описаний)

При построении выборок в связи с большими объемами данных, наполняющих пространственные таблицы, рекомендуется использовать временные таблицы, куда вставлять данные за интересующий период времени, взятые из основных таблиц. Основные используемые поля пространственных таблиц индексированы. Основной индекс по полю времени служит непосредственно этой цели.

Прочие касающиеся языка SQL темы находятся вне рамок руководства.

Ниже приводятся поля основных таблиц.


A_Cube_CC_EffortConnections

После каждого звонка или попытки звонка в задаче в эту таблицу автоматически заносится коммутационная информация со всей неслужебной информацией, которая может быть полезна при составлении отчетов.


[IdProject] [uniqueidentifier] Id проекта совершенного звонка или попытки совершения звонка. Пересечение с таблицей A_Cube_CC_Cat_Project.
[IdTask] [uniqueidentifier] Id задачи. Пересечение с таблицей A_Cube_CC_Cat_Task.
[IsOutput] [bit] Флаг-признак исходящей задачи.
[IdEffort] [uniqueidentifier] Id попытки звонка (менеджер задач устанавливает перед началом набора номера)
[IdOperator] [uniqueidentifier] Id оператора, производившего обработку. IVR также считается оператором и имеет виртуальный код. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.

Поле может быть не заполнено (is NULL), в случае, если попытка была прервана до установления соединения (например, занято).

[IdInList] [int] Код абонента в списке, прикрепленном к задаче.
[AbonentNumber] [nvarchar] (20) Номер абонента, по которому производился дозвон (исх. задача), или с которого производился звонок (вх. задача).
[CallResult] [int] Результат звонка. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes.
[CallResultInfo] [nvarchar] (100) Описание результата (если было назначено).
[DateTimeStart] [datetime] Дата и время начала звонка/коммутации.

Для входящих задач - момент начала вызова оператора для первой коммутации и момент коммутации при последующих (после FLASH).

Для исходящих задач - момент начала вызова абонента для первой коммутации и момент самой коммутации при последующих (после FLASH).

Время начала самой первой коммутации доступно в поле TimeAnswer таблицы A_Stat_Connections_1x1 основной БД (связка по полям IdConn / Id).

[DateStart] [datetime] Дата начала звонка с нулевым временем.
[TimeStart] [datetime] Время начала звонка с нулевой датой.
[DateTimeStop] [datetime] Дата и время окончания коммутации.
[IdConn] [uniqueidentifier] Id коммутации. В контексте одного звонка при переключении оператором звонка на другого оператора или в IVR каждая коммутация имеет отдельную запись в таблице. Может быть не заполнено (is NULL).
[IdChain] [uniqueidentifier] Id звонка (цепочки коммутаций). Одинаково для всех коммутаций, в контексте одного звонка. Может быть не заполнено (is NULL).
[IdAUser] [uniqueidentifier] Id звонящего абонента. Может быть не заполнено (is NULL).
[IdBUser] [uniqueidentifier] Id принимающего звонок абонента. Может быть не заполнено (is NULL).
[IdExtLine] [uniqueidentifier] Id внешней линии, по которой происходит реализация звонка.
[LenTime] [float] Длительность коммутации в секундах.
[LenQueue] [float] Длительность ожидания в очереди абонентом перед коммутацией с первым оператором.
[IsBetweenOp] [bit] Флаг коммутации, когда разговор происходит между двумя операторами, абонент находится во Flash-буфере. Может быть не заполнено (is NULL).
[OpponentInfo] [nvarchar] (100) Информация об абоненте.
[IsHandled] [bit] Флаг обработанного звонка. 0, когда коммутации не произошло.
[IsSuccess] [bit] Флаг успешной обработки. Подробно см. раздел Call-центр. Сценарии. Сценарии диалога. Стоп-форма.
[IsRecorded] [bit] Флаг наличия файлов с записью разговора. Может быть не заполнено (is NULL).
[IdRecDir] [int] Id каталога, в который происходит запись. Пересечение с таблицей основной БД A_Stat_RecordDirectories. Может быть не заполнено (is NULL).
[ALineNum] [nvarchar] (10) Код линии, совершающей звонок.
[BLineNum] [nvarchar] (10) Код линии, принимающей звонок.
[UserResult] [int] Код пользовательского результата, который выставил оператор после разговора с абонентом.

Пересечение с таблицей из основной БД A_TaskManager_CardUserResults. Подробно см. раздел Call-центр. Сценарии. Сценарии диалога. Стоп-форма.


A_Cube_CC_OperatorStates

Каждую минуту сервер производит перерасчет состояний. В результате в таблице находится информация по каждому периоду пребывания оператора в одном из состояний:

  • Предварительная обработка
  • Ожидание ответа абонента
  • Обратный вызов
  • Разговор с абонентом
  • Разговор между операторами
  • Разговор по задаче
  • Поствызывная обработка
  • Прочие разговоры
  • Перерыв
  • Готов


Перечисленные состояния относятся только ко времени пребывания оператора в режиме Call-центр.


[Id] [int] Целочисленный идентификатор для служебного пользования.
[IdTask] [uniqueidentifier] Id задачи, в контексте которой оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_Task. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
[IsOutput] [bit] Флаг-признак исходящей задачи. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
[IdOperator] [uniqueidentifier] Id оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorInfo.
[CallResult] [int] Результат звонка, в ходе которого оператор находился в данном состоянии. Пересечение с таблицей A_Cube_CC_Cat_TaskResultTypes. Может быть не заполнено (is NULL), если состояние не является участием в задаче.
[State] [int] Состояние оператора. Пересечение с таблицей A_Cube_CC_Cat_OperatorStateTypes.
[DateTimeStart] [datetime] Дата и время начала пребывания в данном состоянии.
[DateStart] [datetime] Дата начала пребывания в данном состоянии. Время нулевое.
[TimeStart] [datetime] Время начала пребывания в данном состоянии Дата нулевая.
[DateTimeStop] [datetime] Дата и время окончания пребывания в данном состоянии.
[LenTime] [float] Длительность в секундах пребывания в данном состоянии.


A_Cube_CC_CallQueue

Во время поступления звонков во входящую задачу образуется очередь. Если очередь не пуста, в таблицу кладется информация о ее состоянии. Информация заносится каждый раз при смене одного из количественных параметров очереди.

При большом объеме звонков заполнение таблицы может оказывать значительную нагрузку на сервер БД, поэтому по умолчанию заполнение не ведется. Режим заполнения может быть выбран в разделе Администрирование. Общие настройки. Управление сервером БД.


[Id] [int] Целочисленный идентификатор для служебного пользования.
[IdTask] [uniqueidentifier] Id задачи, чья очередь содержится в записи.
[IdProject] [uniqueidentifier] Id проекта задачи.
[DateTimeStart] [datetime] Дата и время начала периода с неизменяемыми количественными значениями.
[DateStart] [datetime] Дата начала периода, время нулевое.
[TimeStart] [datetime] Время начала периода, дата нулевая.
[DateTimeStop] [datetime] Дата и время окончания периода. У последней внесенной записи по задаче всегда пусто (is NULL).
[CountQueue] [int] Количество абонентов, находящихся в очереди в текущем периоде
[CountOperator] [int] Количество операторов, обслуживающих задачу, активных в текущем периоде.
[CountTalking] [int] Количество ведущихся по задаче разговоров в текущем периоде. При ненулевой очереди отличается от общего числа активных операторов на число операторов, занятых в других задачах.
[elt1WaitStart] [datetime] Дата и время начала ожидания первого абонента в очереди.
[elt1WaitSec] [int] Время в секундах, прошедшее с начала ожидания первого абонента в очереди.


В таблицах категорий для пользования отведены два поля: [Id] и [Name]. В зависимости от типа данных [Id] принимает значения int или uniqueidentifier.