Я работаю в магазине программного обеспечения, у которого есть собственный продукт для интеллектуального набора номера, и нам нужно реализовать решение, чтобы подчиняться спискам НЕ ЗВОНИТЬ.
По сути, у меня есть база данных с клиентами/потенциальными клиентами, которым мне нужно позвонить, и другая база данных с телефонными номерами, по которым я не могу позвонить. Поскольку система является интеллектуальным номеронабирателем, основываясь на производительности операции, среднем времени и прочем, она будет набирать больше или меньше вызовов на каждого зарегистрированного пользователя системы. Обычно это «волшебное» число составляет около 3–4 вызовов на одного зарегистрированного агента.
Репозиторий телефонных номеров для интеллектуального набора номера представляет собой базу данных PostgreSQL. Интеллектуальный номеронабиратель выбирает группу номеров из базы данных и отправляет команду на АТС для набора группы, а затем бизнес-логика переходит к передаче действительных вызовов клеркам колл-центра и т. д. (это не имеет значения, поскольку мой проблема до звонка).
Мне нужно реализовать функциональность списка «не звонить». Этот список «не звонить» будет ежедневно предоставляться нашей компании государственным органом в файле CSV. Каждый раз, когда я получаю новый CSV-файл, мне приходится очищать старый список «не звонить» и вставлять новый.
Моей первой мыслью реализовать это была пакетная обработка, перекрестная ссылка DO NOT CALL LIST с моей текущей базой данных клиентов. Но я думаю, что в зависимости от размера обеих баз данных перекрестные ссылки будут очень требовательны к производительности, и иногда их нельзя будет завершить за одну ночь. У меня были такие проблемы с пакетной обработкой раньше, и это не очень приятно видеть.
Моя вторая идея возникла, когда я подумал о том, как крупные учреждения обрабатывают высокопроизводительные и высокопроизводительные системы авторизации, такие как кредитная карта или аутентификация/авторизация пользователей. Я подумал, что создание службы аутентификации для номеров DO NOT CALL LIST и изменение алгоритма моего предиктивного дозвона для проверки каждого номера этой службой авторизации перед набором было бы опрятным.
Поскольку я здесь только болтаю, я понятия не имею, какая идея лучше, или я понял это совершенно неправильно и должен смотреть в другом направлении. Итак, мой вопрос: что бы вы порекомендовали? Сохранить CSV-файл НЕ ЗВОНИТЬ в памяти? использовать LDAP? использовать MySQL? Постгрес SQL? Занимаетесь пакетной обработкой? Или я точно лох?
Я знаю, что я не первый человек в мире с такой проблемой, поэтому, пожалуйста, просветите меня.