Алгоритм для получения N наиболее подходящих значений на основе числа успешных / неудачных и успешных / неудачных дат

У меня есть список прокси-серверов. Есть список ProxyServer Предметы. Элемент содержит прокси Address сам, SucceedCount, FailedCount, LastSucceedDate, LastFailedDate, Если операция загрузки прошла успешно, SucceedCount увеличивается, если не удалось - FailedCount, Итак, список предметов выглядит так (LastFailedDate не представлен):

Мне нужно реализовать простой алгоритм, чтобы получить N лучших прокси из этого списка. Лучший прокси означает:

  • много SucceedCount это хорошо
  • много FailedCount плохо
  • прокси с успешным / неудачным 0/0 лучше, чем 0/10
  • дата последнего успеха / неудачи должна иметь некоторый вес, например, прокси с верхом SucceedCount/FailedCount 10000/100, но LastSucceedDate месяц назад считается достаточно плохим.

Надеюсь, у вас появилась идея получить лучший N прокси на тот момент. Я думаю, что есть некоторые известные алгоритмы для подобных задач. Похоже, сам алгоритм может быть что-то вроде .OrderBy() цепь.

SucceedCount, FailedCount, LastSucceedDate, LastFailedDate поля могут быть заменены любыми другими, удалены или могут быть дополнены другими, мне просто нужен способ достижения цели.

0 ответов

Другие вопросы по тегам