Структура пространственной БД — различия между версиями
Elena (обсуждение | вклад) |
|||
(не показано 9 промежуточных версии 3 участников) | |||
Строка 1: | Строка 1: | ||
− | Вся статистика работы в call-центре попадает в пространственную БД «oktell_cc_temp». Все отчеты, касающиеся работы Call-центра строятся на основе лежащей в ней информации. Подробнее об отчетах см. разделы | + | [[Работа с БД Oktell|Наверх]] |
+ | |||
+ | __TOC__ | ||
+ | |||
+ | Вся статистика работы в call-центре попадает в пространственную БД «oktell_cc_temp». Все отчеты, касающиеся работы Call-центра строятся на основе лежащей в ней информации. Подробнее об отчетах см. разделы [[Статистика|Call-center. Статистика]] и [[Индикаторы|Call-center. Индикаторы]]. | ||
'''Три пространственных таблицы:''' | '''Три пространственных таблицы:''' | ||
Строка 43: | Строка 47: | ||
Ниже приводятся поля основных таблиц. | Ниже приводятся поля основных таблиц. | ||
+ | |||
+ | __TOC__ | ||
Строка 159: | Строка 165: | ||
Каждую минуту сервер производит перерасчет состояний. В результате в таблице находится информация по каждому периоду пребывания оператора в одном из состояний: | Каждую минуту сервер производит перерасчет состояний. В результате в таблице находится информация по каждому периоду пребывания оператора в одном из состояний: | ||
+ | * Предварительная обработка | ||
+ | * Ожидание ответа абонента | ||
+ | * Обратный вызов | ||
+ | * Разговор с абонентом | ||
+ | * Разговор между операторами | ||
+ | * Разговор по задаче | ||
+ | * Поствызывная обработка | ||
+ | * Прочие разговоры | ||
+ | * Перерыв в call-центре | ||
+ | * Ручной режим в call-центре | ||
+ | * Готов | ||
− | {| | + | |
− | | | + | Перечисленные состояния относятся только ко времени пребывания оператора в режиме Call-центр. |
− | | | + | |
+ | |||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | |[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] | + | {|cellpadding="10" cellspacing="0" border="1" |
− | + | |[Id] [int] | |
− | + | |Целочисленный идентификатор для служебного пользования. | |
− | [IdTask] [uniqueidentifier] | + | |- |
− | + | |[IdTask] [uniqueidentifier] | |
− | + | |Id задачи, чья очередь содержится в записи. | |
− | [IdProject] [uniqueidentifier] | + | |- |
− | + | |[IdProject] [uniqueidentifier] | |
− | + | |Id проекта задачи. | |
− | [DateTimeStart] [datetime] | + | |- |
− | + | |[DateTimeStart] [datetime] | |
− | + | |Дата и время начала периода с неизменяемыми количественными значениями. | |
− | [DateStart] [datetime] | + | |- |
− | + | |[DateStart] [datetime] | |
− | + | |Дата начала периода, время нулевое. | |
− | [TimeStart] [datetime] | + | |- |
− | + | |[TimeStart] [datetime] | |
− | + | |Время начала периода, дата нулевая. | |
− | [DateTimeStop] [datetime] | + | |- |
− | + | |[DateTimeStop] [datetime] | |
− | + | |Дата и время окончания периода. У последней внесенной записи по задаче всегда пусто (is NULL). | |
− | [CountQueue] [int] | + | |- |
− | + | |[CountQueue] [int] | |
− | + | |Количество абонентов, находящихся в очереди в текущем периоде | |
− | [CountOperator] [int] | + | |- |
− | + | |[CountOperator] [int] | |
− | + | |Количество операторов, обслуживающих задачу, активных в текущем периоде. | |
− | [CountTalking] [int] | + | |- |
− | + | |[CountTalking] [int] | |
− | + | |Количество ведущихся по задаче разговоров в текущем периоде. При ненулевой очереди отличается от общего числа активных операторов на число операторов, занятых в других задачах. | |
− | [elt1WaitStart] [datetime] | + | |- |
− | + | |[elt1WaitStart] [datetime] | |
− | + | |Дата и время начала ожидания первого абонента в очереди. | |
− | [elt1WaitSec] [int] | + | |- |
− | + | |[elt1WaitSec] [int] | |
− | + | |Время в секундах, прошедшее с начала ожидания первого абонента в очереди. | |
+ | |} | ||
− | |||
− | |||
− | |||
В таблицах категорий для пользования отведены два поля: [Id] и [Name]. В зависимости от типа данных [Id] принимает значения int или uniqueidentifier. | В таблицах категорий для пользования отведены два поля: [Id] и [Name]. В зависимости от типа данных [Id] принимает значения int или uniqueidentifier. |
Текущая версия на 11:57, 22 декабря 2014
Вся статистика работы в 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-центре
- Ручной режим в call-центре
- Готов
Перечисленные состояния относятся только ко времени пребывания оператора в режиме 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.