Мое возможное решение состояло в том, чтобы создать симпатичное (и довольно большой) палитра и сохранить ее как постоянный массив в источнике, затем интерполировать между индексами в ней с помощью гладкого алгоритма окраски. Палитра переносится (и разработан, чтобы быть непрерывным), но это, кажется, не имеет значения очень.
Если вам нужно специально отслеживать уникальные просмотры, вероятно, есть два способа сделать это ... если только вы не работаете с внутренними пользователями, которых вы можете идентифицировать. Теперь, чтобы сделать это, вам необходимо отслеживать каждого пользователя, посетившего страницу.
Отслеживание может осуществляться как на стороне сервера, так и на стороне клиента.
На стороне сервера должны быть IP-адреса, если вы не имеете дело с внутренними пользователями, которых вы можете идентифицировать. И всякий раз, когда вы имеете дело с IP-адресами, применяются все обычные предостережения об их использовании для идентификации людей (может быть несколько пользователей на IP или несколько IP на пользователя), и вы ничего не можете с этим поделать.
Вам также следует учитывать что «огромная таблица IP-адресов» не так уж и плоха. Производительность станет проблемой только в том случае, если у вас есть сотни тысяч пользователей ... если, конечно, она правильно проиндексирована.
На стороне клиента , вероятно, вы оставите сообщение «Я был!» куки. Если cookie НЕТ, увеличьте количество пользователей. Если файл cookie не может быть создан, вам придется жить с раздутым пользовательским представлением. И все предостережения относительно работы с куки-файлами применимы ... то есть они рано или поздно испортятся и исчезнут.
Кажется, существует революционный подход (над моей головой), который я сам пока не уверен в масштабируемости или, скорее, выполнимости.
Если вы действительно хотите сохранить IP в БД и хотите избежать засорения БД ur, вам следует подумать о хранении их в иерархическом порядке.
<ID, IP_PART, LEVEL, PARENT_PART, VIEWS>
поэтому, когда пользователь посещает ваш веб-сайт с IP-адреса 212.121.139.54, строки в таблице ur будут такими:
<1, 212, 1, 0, 0> <2, 121, 2, 1, 0> <3, 139, 3, 2, 0> <4, 54, 4, 3, 1>
На заметку:
Итак, чао, дай мне знать, что ты реализовал?