Ускорение получения победителей тендеров

Как ускорить процесс получения списка компаний, выигравших тендер?
Компании, победившей в тендере на госзакупку, может понадобиться банковская гарантия. У банков есть инструменты, позволяющие менеджеру CRM отбирать те компании, которым выгодно предоставить такую гарантию.

Проблема:

С ростом объемов данных время на выбор компании-победителя из общего списка стало занимать 5 минут. Это связано с тем, что для обработки запроса применяются фильтры, проверяющие тендер или компанию на соответствие заданным условиям. Например, чтобы подать заявку, размер суммы должен быть больше 200 тысяч рублей, а минимальный срок банковской гарантии — 30 дней. У системы есть общие фильтры, а также фильтры, которые может настраивать менеджер CRM. Чем больше условий нужно проверить, тем сложнее получается запрос и больше времени уходит на его обработку.

Задача:

Ускорить процесс выбора победителя со списком тендеров из общей очереди.

Решение:

Разделили процесс поиска на два этапа.

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

Раз в пять минут происходит автоматическая сортировка победителей. В зависимости от бизнес-правил (размер обеспечения, дата прихода тендера в систему и т.д.) победители сортируются в необходимом порядке. Новые записи попадают в конец, чтобы, нажав кнопку «получить победителя», менеджер видел, в первую очередь, компании, наиболее подходящие по запросу.

Теперь, при нажатии на кнопку «Победитель 44/223-ФЗ», запрос получается тривиальным: первая верхняя запись из таблицы проверяется до тех пор, пока не пройдет персональный фильтр.

Общее количество победителей (доступ предоставлен администраторам системы):

Общий фильтр:

Персональный фильтр:

Результат:

Время получения победителя сократилось с 5 минут до 0.3 секунды.

На данном сайте собираются метаданные пользователя (cookie, данные об IP-адресе и местоположении) для функционирования сайта. Если Вы не хотите чтобы эти данные обрабатывались, то должны покинуть сайт

Заявка
на сотрудничество

Как вас зовут? Заполните это поле
Адрес электронной почты Неверный формат почты
Телефон для связи Заполните это поле
Нажимая на кнопку «Отправить заявку»,
я даю согласие на обработку персональных данных