Камеры хранения по-программистски
Jun. 29th, 2014 02:54 pmУвидел сегодня впервые в супермаркете “умные” камеры хранения. Наверное они там и ранее стояли, но как-то не подходил и не пробовал в деле. Сначала, правда, умные ящики вызывают оторопь – подходишь к одному “изивните, эта камера полна”, подходишь к другому – то же самое. Потом наконец добрался до того в котором были свободные места.
Действует он забавно – если есть свободные места в шкафу, то ты получаешь квиточек с штрих-кодом и компьютер открывает ячейку, кладешь туда вещи, запираешь – и идешь гулять по супермаркету. Пришел, предьявил квиточек с кодом считывателю, открыл ячейку – получил назад свои вещи. Получается забавно – машина сама выбирает для тебя пустой ящик и открывает его.
Думаю что алгоритм там простой как кирпич – она начинает идти по списку ячеек с начала в поисках той которая помечена как пустая, печатает чек, открывает ее и ждет возвращения клиента. Кстати, это сильно напоминает логику старинных досовских FAT-таблиц размещения файлов. Там тоже искали до первого свободного кластера. В результате возникала фрагментация файлов, в ящиках с вещами таких проблем, разумеется нет – но забавно представить такой ящик с оптимизацией размещения, который принимает вещи не в ячейки, а в некий приемник, а затем оптимизирует хранение сообразуясь с некой таблицей дефрагментации вещей :-).
Еще, конечно, невредно обьединить все ящики в общую систему, которая бы по заполненности делилась вещами с соседними ящиками, оптимизируя количество клиенто-подходов. Тогда можно было бы сдать вещи в одном ящике – а прийти их получать в совсем другом.