IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Генерирование UserID определенного рода .. (https://www.imho.ws/showthread.php?t=60591)

berliosz 02.06.2004 17:53

Генерирование UserID определенного рода ..
 
Привет. Есть задача написать модуль для управления юзерами.
Примерное количество юзеров около - 15 миллионов.
Проблема состоит в том, что нужно генерить user_id определенного рода, а именно чтоб "расстояние" между соседними id было достаточно большое, чтоб предотвратить возможность непреднамеренного введения неправильного id, опечатка, например.
Я слышал, что есть определенные стандарты, или рекомендации, касающиеся раздач такого рода критичных id.
Софт, управляющий юзерами, будет работать с ораклом 9i.
Есть идея использовать LDAP-сервер для этих целей, но тоже неизвестно насколько это хорошее решение, в том смысле, что нагрузка на сервер может быть очень большая и могут возникнуть проблемы с перформэнсом при стресс-тесте.
Если у кого есть идеи, или кто может решал подобную задачу - буду благодарен.
Да и вообще, нахожу этот вопрос интересным.
Всем большое спасибо!

berliosz 03.06.2004 02:42

Народ, некорректно поставленный вопрос, или никто с подобной проблемой не сталкивался?

someone312002 03.06.2004 10:41

скорее второе, чем первое...
видишь ли, коли у тебя будут обрабатываться логины програмно, то и плясать надо с этого. Если ты хочешь всех этих пользователей вбить как юзеров оракл, то... не устанешь их админить ? Ладно, я не имел возможности поиграть с взаимодейтсвием оракл и ад, но одна идейка имеется: тебе надо добиться уникальности пользователя и невозможности ошибиться, так ? Тогда генери ид, состоящий из 2-3 символа код страны (15 миллионов, думаю охватывают не одну страну), знак подчёркивания перемешан с цифровой составляющей ид (это ещё дополнительно 5 символов) и случайным образом выбраная комбинация символов. Тебе же не надо привязывать ид к определённому человеку (ФИО)... А знак подчёркивания исключит возможность БЫСТРО ЧЕПЯТАТЬ, поскольку вводить придётся аккуратно...

УДАЧИ!

is_absent 03.06.2004 13:44

еще можно попробовать почитать про оптимальные коды и коды исправляющие ошибки.. думаю, это тебе и нужно как раз :)
документацию подсказать не могу... у меня только бумажные книги по этим темам. а электронные не видел. Если интересно -- ПМ или аська

berliosz 03.06.2004 13:47

Наверное будет проще, если я немного поподробнее задание опишу ..
Пишется прога для weblogic/struts/oracle9i(по крайней мере это предварительная конфигурация).
Прога предлагает сервис цифрового управления счетами для юзеров имеющих персональную мед. страховку. Охватывает около 55 страховых концернов. Кол-во застрахованных около 15 миллионов. Это т.с. опорная инфа.
Каждый застрахованый должен иметь собственный номер чтоб он мог его показывать врачу и тот должен в своем интерфейсе этот номер вводить.
Вот и стоит задача, раздачи этих номеров. Конечно, можно генерить программно любой id, но я бы хотел передать управление этого процесса либо базе данных, либо лдап-серверу, так как проверка на наличие дубликата вновь сгенерированному id программно будет занимать больше времени, как если бы это делалось внутренними механизмами базы данных или лдап-а.

is_absent 03.06.2004 13:59

ой. а зачем тогда генерить? у каждого человека есть номер страховохо свидетельства. он не подойдет? :)

в конце концов серия и номер паспорта... чем не уникальные идентификаторы?

berliosz 03.06.2004 14:09

Да! Ты прав абсолютно! Только по определенным требованиям защиты информации этот id не может использовать страховой номер ...
Вот такие пирожные ..

... а также номер паспорта

... а также номер паспорта

is_absent 03.06.2004 14:11

так хеш от него храни а не сам номер

berliosz 03.06.2004 14:21

хмм ... наверно можно и так ....

... или может все-таки ldap использовать, там ведь все автоматом работает. Какие аргументы могут быть против?

is_absent 03.06.2004 14:36

лично я не сильно с ним работал.. советы давать затрудняюсь )


Часовой пояс GMT +4, время: 01:23.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.