![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
Всем привет
Сейчас решаю одну задачу, сложность которой заключается в том, чтобы быстро находить определенные записи в таблице, поэтому вопрос в том, как лучше организовать таблицу? В общем моя основная цель создать некоторые таблицы (по аналогии таблицам роутинга ядра) и на основании этих таблиц уже принимать решение о маршрутизации. Вот поля таблицы: - исходный сетевой интерфейс (src_if) - скорее всего строковое значение, хотя надо посмотреть, может ядро ему индекс какой дает - адрес отправителя (src_ip) - целое - адрес получателя (dst_ip) - целое - выходной интерфейс (dst_if) Мне интересные любые идея, как бы вы поступили для более быстрого поиска, конечно, мне хотелось бы использовать готовые структуры ядра для этого (деревья, хеши, списки и хз чо там еще), но если идея действительно толковая, то я с удовольствием реализую для нее всё что необходимо. Пока я лишь думаю над использованием бинарных деревьев поиска, но я лишь начал думать и хочу услышать альтернативные решения Заранее благодарен за помощь всем откликнувшемся, пойду пока изучу, как организован обычный роутинг в ядре Это сообщение отредактировал(а) null56 - 27.10.2011, 14:00 |
|||
|
||||
null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 4 Всего: 12 |
вообще покавыряю я лучше fib механизм, может его можно будет заточить под мои цели, чем придумывать велосипед, отпишусь позже, если получится
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Зачем бинарные? Используйте сбалансированные (в первую очередь BTREE+).
Но если это какое-то из стандартных ядер (линукс там или что ещё такое, распространённое) -- то, скорее всего, задача создания большых таблиц для поиска в файерволле ужэ решэна. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |