Идея нужна для повышения производительности моей логики - PullRequest
0 голосов
/ 31 мая 2011

В моем приложении я создаю карту для каждого идентификатора пользователя, которая содержит идентификаторы файлов, к которым он имеет доступ.

Пример:

ИД пользователя - 101 Данные - 100100101

Так что для каждого пользователя я создаю эту карту файлов. Когда бит равен 1, тогда он имеет доступ к этому файлу; в противном случае он не делает. Но моя проблема в том, что у меня есть 40 000 000 файлов.

Всякий раз, когда пользователь выполняет поиск, будет загружаться соответствующая карта пользователя для получения правильного результата. Если у меня 40 000 пользователей, это значит, что мне нужно создать 40 000 файлов карт.

Как создать высокопроизводительную реализацию для этой системы?

Ответы [ 2 ]

0 голосов
/ 31 мая 2011

Возможно, вы не говорите по-немецки. Но просто прокрутите в конце следующей статьи: http://www.activevb.de/tutorials/tut_sortalgo/sortalgo.html и проверить проект (Old VB classic).

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

В любом случае, я бы порекомендовал использовать деревья, если это возможно, или подгруппы вместо одного числа, которое нужно сначала разбить на 3 параметра.

Привет

0 голосов
/ 31 мая 2011

Я думаю, вы должны использовать общее решение: пользователи, группы пользователей и роли для пользователей и групп.Если вы разделите свою логику на эти 3 части, это будет более понятно и понятно.

...