У меня есть поток событий, проходящий через мои серверы.Я не могу хранить все из них, но я хотел бы периодически иметь возможность обрабатывать некоторые из них в совокупности.Итак, я хочу сохранить подмножество потока, которое является случайной выборкой всего, что я видел, но ограничено максимальным размером.
Итак, для каждого нового элемента мне нужен алгоритм, чтобы решить, должен ли я добавить его к сохраненному набору или отказаться от него.Если я добавлю это, и я уже нахожусь на своем пределе, мне нужен алгоритм, чтобы выселить один из старых предметов.
Очевидно, это легко, пока я не достигаю своего предела (просто сохраняйте все).Но как я могу поддерживать хорошую случайную выборку, не склоняясь к старым предметам или новым предметам, когда я превышаю этот предел?
Спасибо,