реклама на сайте
подробности

 
 
> быстрый алгоритм, определения отсуствующего байта произвольного массива байтов размером
sKWO
сообщение Jun 1 2007, 10:57
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Нужно найти значение которого нету в списке.
Где-то пробегала мысль нащёт хэш функции, но немогу вспомнить где я ёё видел.

Сообщение отредактировал sKWO - Jun 1 2007, 10:59


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Jun 3 2007, 18:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



При чисто двоичной передаче данных со всякими преамбулами вначале и crc в конце все отлично, до тех пор пока не имеет место выпадение байта из середины. Что может быть в практической жизни запросто. При этом может накрыться вся идеология разборки пакета.
Go to the top of the page
 
+Quote Post
ANV
сообщение Jun 4 2007, 15:29
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 16-10-05
Пользователь №: 9 713



Цитата(sergeeff @ Jun 3 2007, 21:51) *
При чисто двоичной передаче данных со всякими преамбулами вначале и crc в конце все отлично, до тех пор пока не имеет место выпадение байта из середины. Что может быть в практической жизни запросто. При этом может накрыться вся идеология разборки пакета.


Какая идеология разборки пакета может накрыться???
Выпадение байта (равно как и его искажение при приеме) просто приведут к тому, что что-то не сойдется. Ведь, кроме CRC, может не сойтись межбайтная пауза (ее обрабатывать просто необходимо), сигнатура конца пакета и пр. Инициатор пакета не дождется ответа и просто его повторит. А если ошибок так много, что и в повторных пакетах есть ошибки, то скорее всего у Вас проблема с железом.

Цитата(tag @ Jun 4 2007, 14:48) *
...для чего и придумали crc и приамбулу... и в целом протокол обмена
...еще один вариант оформления пакета, здесь пример:

55h 0aah 86h 6h 18h 55h 55h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55h 5ah
55h 0aah - маркер начала, 55h 5ah - маркер конца, если внутри пакета встречается байт с кодом 55h то он дублируется, т.е. в случае когда весь пакет содержит 55h его реальная длина будет в два раза больше. В примере выше содержимое пакета будет 86h 6h 18h 55h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...


Дело в том, что мне кажется, что надежность такой структуры пакета чуть неоптимальна. Добавление своих символов в полезные данные (т.е. зависимость по данным) в некоторых случаях может создавать некоторую избыточность информации в пакете. ИМХО, лучше ее (и не только) направить на более полезные нужды, чем просто передача информации. К тому же, все равно необходимо контроллировать целостность данных (CRC), иногда требуется передать некоторую дополнительную информацию, например, о назначении пакета, некоторые метаданные и др.

В любом случае такой подход имеет право на жизнь, все ведь зависит от задачи. Не так ли?
Go to the top of the page
 
+Quote Post
tag
сообщение Jun 5 2007, 05:27
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561



Цитата(ANV @ Jun 4 2007, 18:29) *
Какая идеология разборки пакета может накрыться???
Выпадение байта (равно как и его искажение при приеме) просто приведут к тому, что что-то не сойдется. Ведь, кроме CRC, может не сойтись межбайтная пауза (ее обрабатывать просто необходимо), сигнатура конца пакета и пр. Инициатор пакета не дождется ответа и просто его повторит. А если ошибок так много, что и в повторных пакетах есть ошибки, то скорее всего у Вас проблема с железом.
Дело в том, что мне кажется, что надежность такой структуры пакета чуть неоптимальна. Добавление своих символов в полезные данные (т.е. зависимость по данным) в некоторых случаях может создавать некоторую избыточность информации в пакете. ИМХО, лучше ее (и не только) направить на более полезные нужды, чем просто передача информации. К тому же, все равно необходимо контроллировать целостность данных (CRC), иногда требуется передать некоторую дополнительную информацию, например, о назначении пакета, некоторые метаданные и др.

В любом случае такой подход имеет право на жизнь, все ведь зависит от задачи. Не так ли?

...подразумевается что внутри пакета между маркером начала и маркером конца и есть доп. и полезная информация, в частности CRC. Что касается избыточности, то насколькоя помню это один из постулатов надежности передачи информации... smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sKWO   быстрый алгоритм   Jun 1 2007, 10:57
- - GetSmart   Совершенно непонятны условия задачи. Опишиде более...   Jun 1 2007, 11:30
|- - sKWO   Цитата(GetSmart @ Jun 1 2007, 14:30) Масс...   Jun 1 2007, 11:37
|- - =GM=   Цитата(sKWO @ Jun 1 2007, 09:57) Нужно на...   Jun 1 2007, 12:20
- - GetSmart   Два или более одинаковых значений в массиве допуск...   Jun 1 2007, 11:47
|- - sKWO   Цитата(GetSmart @ Jun 1 2007, 14:47) Два ...   Jun 1 2007, 12:30
|- - defunct   Цитата(sKWO @ Jun 1 2007, 15:30) Что дума...   Jun 1 2007, 12:49
||- - GetSmart   Цитата(defunct @ Jun 1 2007, 18:49) Я дум...   Jun 1 2007, 12:50
||- - defunct   Цитата(GetSmart @ Jun 1 2007, 15:50) Дык ...   Jun 1 2007, 12:52
|- - ANV   Цитата(sKWO @ Jun 1 2007, 15:30) Товарищ ...   Jun 3 2007, 15:01
- - defunct   Хеш функция для поиска байта, это нечто из серии- ...   Jun 1 2007, 11:58
- - GetSmart   Во время подготовки пакета к отправке из МК один р...   Jun 1 2007, 12:43
|- - sKWO   Цитата(GetSmart @ Jun 1 2007, 15:43) Во в...   Jun 1 2007, 12:55
- - add   ЦитатаРезультирующий пакет выглядит так:0x55, 0xAA...   Jun 1 2007, 12:44
- - GetSmart   Можно же и 256 байт в пакете использовать. То есть...   Jun 1 2007, 12:46
- - add   ЦитатаМожно же и 256 байт в пакете использовать. Т...   Jun 1 2007, 12:50
|- - GetSmart   Цитата(add @ Jun 1 2007, 18:50) Дык я уже...   Jun 1 2007, 12:54
|- - defunct   Цитата(GetSmart @ Jun 1 2007, 15:54) И та...   Jun 1 2007, 13:25
||- - sKWO   Цитата(defunct @ Jun 1 2007, 16:25) Конеч...   Jun 1 2007, 19:29
||- - haker_fox   Цитата(sKWO @ Jun 2 2007, 04:29) Ценю чув...   Jun 2 2007, 07:26
|- - ReAl   Цитата(GetSmart @ Jun 1 2007, 15:54) И та...   Jun 1 2007, 14:58
- - GetSmart   Цитата(add)Дык я уже говорил комбинация байт.после...   Jun 1 2007, 12:58
- - bzx   2 sKWO Измени структуру кадра передачи. Например, ...   Jun 1 2007, 13:06
- - _artem_   посмотрите в сторону битстаффинга. Пример - сигна...   Jun 1 2007, 14:36
- - _artem_   ну пускай тогда символьно передает, или сделает фр...   Jun 1 2007, 15:06
- - Dr.NoA   Полагаю, что для Вас в самый раз будет алгоритм by...   Jun 1 2007, 15:31
- - add   Цитата"Кривизна" протокола вносит ограни...   Jun 2 2007, 08:30
- - GetSmart   Цитата(add)про контрольную сумму забыли? чтоб еще ...   Jun 2 2007, 10:04
|- - defunct   Цитата(GetSmart @ Jun 2 2007, 13:04) Да н...   Jun 2 2007, 12:20
- - sergeeff   Народ давно уже придумал способы передачи двоичных...   Jun 2 2007, 16:27
|- - tag   Цитата(sergeeff @ Jun 3 2007, 21:51) При ...   Jun 4 2007, 11:48
|- - zltigo   Цитата(ANV @ Jun 4 2007, 18:09) Какая иде...   Jun 4 2007, 15:29
||- - ANV   Цитата(zltigo @ Jun 4 2007, 18:29) Вся пр...   Jun 4 2007, 17:11
||- - zltigo   Цитата(ANV @ Jun 4 2007, 20:11) добавляйт...   Jun 4 2007, 20:54
||- - ANV   Цитата(zltigo @ Jun 4 2007, 23:54) В данн...   Jun 4 2007, 21:39
||- - zltigo   Цитата(ANV @ Jun 5 2007, 00:39) И какую ж...   Jun 4 2007, 22:28
- - SasaVitebsk   Практически всё упомянули. И похоже парня совсем п...   Jun 4 2007, 19:51
- - sergeeff   Что-то у наших коллег вместо разумной аргументации...   Jun 5 2007, 05:55
- - SasaVitebsk   Всётаки считаю что протокол может усложнятся донел...   Jun 5 2007, 16:38


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th August 2025 - 07:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01455 секунд с 7
ELECTRONIX ©2004-2016