|
Точка отказа при сканировании | ☑ | ||
---|---|---|---|---|
0
ildary
15.07.15
✎
08:03
|
Уважаемые специалисты, подскажите пожалуйста, в каком месте стоит искать корень проблемы - имеется некая самописка для сканирования беджиков (учет в заводской столовой, кто когда ел). Выглядит она примерно так - Компьютер с убунтой и подключенным сканером (метролоджик), на компе вертится некий фронтэнд на пхп и яве, данные выгружаются в mysql, после чего некие отчеты показывают полученные данные в удобном виде. Когда эта система ставилась, считалось, что отсканировать неверный Ш/К будет невозможно - контрольная цифра, ламинированный бедж и все такое. В реальности нечасто, но постоянно раз в месяц/два появляются непонятные сканирования: покушал человек, числившийся уже уволенным (такие вещи запрещены программно - в базе у сотрудника есть поле Active, либо человек из другого города и в эту столовую никак не могущий попасть, либо один и тот же Ш/К дважды в день. Я пытаюсь понять, отчего такое вообще может произойти - то ли люди меняются пропусками, то ли виноваты беджики без ламинирования (встречается), прочие варианты:
дефект сканера, дефект драйвера в убунте дефект программы (написана на коленке) дефект мускула или его настройки вопрос такой - скорей всего виновато железо или софт (и его настройка)? Если второе - то лучше поменять программную начинку, если первое - придется менять еще и сканер и вводить например магнитные карты. |
|||
1
Маратыч
15.07.15
✎
08:07
|
(0) Контрольный разряд сразу отметает ошибку чтения, у тебя кто-то человеческим фактором троллит.
|
|||
2
vde69
15.07.15
✎
08:08
|
железо не может быть виновато, даже если железо криво прочитало код софт обязан это отловить и заставить бейджиком провести еще разок...
а вообще думаю все просто, кто-то сделал ксерокопии старых бейджиков :) |
|||
3
spectre1978
15.07.15
✎
08:08
|
(1) не отметает. Если многократная ошибка, то может и совпасть с контрольным разрядом. Причем не факт, что другой сканер прочитает так же. Были такие случаи.
|
|||
4
spectre1978
15.07.15
✎
08:10
|
(2) мне тоже так кажется, ШК использовать для контроля доступа куда-либо дурная идея. Либо карты, либо сканер пальцев.
|
|||
5
spectre1978
15.07.15
✎
08:11
|
хотя карту тоже можно передать или даже сделать ее копию, но хотя бы копию технически сложнее сделать чем копию ШК
|
|||
6
Маратыч
15.07.15
✎
08:13
|
(3) Вероятность того, что при ошибке чтения неправильно считается один символ и при этом соответственно неправильно считается контрольный разряд так, что он под ошибку скорректируется... хм, даже не знаю, насколько редкими такие случаи могут быть. Не было бы лень - посчитал бы шанс на такое совпадение, но даже навскидку он мизерный.
|
|||
7
Маратыч
15.07.15
✎
08:14
|
Есть еще один вариант - кто-то в базу грязными ручонками лазит, его тоже отметать не стоит.
|
|||
8
ildary
15.07.15
✎
08:17
|
(1) самая вероятная ошибка кроется в софте, ибо он написан в режиме "черный ящик" на коленке, но я должен сначала убедиться, что другие варианты отпадают
(2) а смысл копировать старые беджи? Тем более что технически система должна была послать и сказать "уволенный человек не может здесь питаться". (4) Когда-то эта система работала на винде и 1С 7.7. Ошибок не было (возможно их не находили). (5) я понимаю принципиальные ограничения (что запретить передавать беджи невозможно) (7) у базы сейчас один разработчик, документации нет и не будет (линуксоиды маны не пишут). |
|||
9
spectre1978
15.07.15
✎
08:20
|
(8) "копировали" это фигурально. На практике человек, к примеру, мог слить базу кодов. Мог догадаться как они формируются (например из табельного номера). Мог тупо накопировать себе этих беджей много и пользоваться случайным образом какими-то из них. Важно что тут есть принципиальная и неизлечимая дырка.
|
|||
10
ildary
15.07.15
✎
08:23
|
(9) я понимаю, но при этом не понимаю -какая прибыль от копирования беджа? Обед за 45 рублей?
|
|||
11
Маратыч
15.07.15
✎
08:28
|
(10) "Одна старушка - рубль, десять - уже червонец" (с)
|
|||
12
arsik
гуру
15.07.15
✎
10:17
|
Добавь в систему логирование. Для начала пиши в лог, все что сканер отдает. При ошибке сверишь.
|
|||
13
spectre1978
15.07.15
✎
10:39
|
(10) ну мало ли, может человек или его родственники свинюшек держат. Или носит домой любимой собачке. Всему можно найти применение. А если это делать регулярно, можно нехило сэкономить.
|
|||
14
spectre1978
15.07.15
✎
15:54
|
(3) Вот такого чтобы контрольник считался неверно - не припомню. Припоминаю другое - неправильно считывается 2-3 разряда из значащих 12, значение уже здорово непохоже на то которое должно быть - а контрольник при расчете сходится. И сканер эту белиберду возвращает в приложение. Было не раз.
|
|||
15
spectre1978
15.07.15
✎
15:55
|
к (6)
|
|||
16
ildary
15.07.15
✎
15:56
|
(14) и какова вероятность что совпадет с уже существующим в базе Ш/К?
|
|||
17
ildary
15.07.15
✎
15:58
|
+(16) Точнее что можно сделать, чтобы сбой сканирования не возвращал заведомо неподходящий Ш/К? Заполнять все незначащие нулевые разряды случайными цифрами?
|
|||
18
spectre1978
15.07.15
✎
16:01
|
(17) можно ввести дополнительный контрольный символ и проверять его в приложении самостоятельно. Правда, обычно такими вещами балуются с более длинными последовательностями чем EAN13...
|
|||
19
spectre1978
15.07.15
✎
16:02
|
хотя у кого-то я и на EAN13 такое видел
|
|||
20
EverGreenMouse
15.07.15
✎
16:11
|
а это где?)
|
|||
21
ildary
15.07.15
✎
16:18
|
(18) ввести доп.контрольный символ на этапе формирования Ш/К? Интересная идея.
|
|||
22
Зеленый пень
15.07.15
✎
16:21
|
ШК может считаться криво. Такое бывает.
Выход - считывать дважды или усложнять штрихкод. |
|||
23
spectre1978
15.07.15
✎
16:23
|
(21) она древняя как какашка мамонта. Чем длиннее код, тем больше вероятность того что он считается неверно, если у вас CODE128 и символов 25-30, то дополнительные разряды контроля уже жизненная необходимость. Кстати, в (22) тоже верное предложение. Настройте свой сканер на 3-4 повторяющихся чтения, многие сканеры такое умеют.
|
|||
24
ildary
15.07.15
✎
16:25
|
(22) А смесь идей из (17)+(19) - "Заполнять все незначащие нулевые разряды случайными цифрами" + "ввести дополнительный контрольный символ" - может прокатить?
(23) повторное сканирование - идя хорошая для, к примеру, продавца в магазине. А заставлять 3 раза махать беджиком человека пришедший покушать - идея не совсем удобная. |
|||
25
Aleksey
15.07.15
✎
16:26
|
камеру поставь и смотри по камере кто это был
|
|||
26
spectre1978
15.07.15
✎
16:34
|
(24) не надо махать ничем. Надо сканер настроить на несколько повторных чтений и если разночтение, то выбирает то что встретилось больше раз. Cipher, например, умеет такое делать.
|
|||
27
spectre1978
15.07.15
✎
16:35
|
отражается это только на скорости чтения - больше времени проходит между нажатием кнопки и моментом пока сканер пискнет
|
|||
28
EverGreenMouse
15.07.15
✎
16:38
|
на фронт вывести еще и фотку сотрудника
|
|||
29
Злопчинский
15.07.15
✎
16:51
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |