СИСТЕМЫ И СПОСОБЫ ДЛЯ ОБЕСПЕЧЕНИЯ РАСПРЕДЕЛЕННОГО ОБХОДА ДЕРЕВА С ИСПОЛЬЗОВАНИЕМ АППАРАТНОЙ ОБРАБОТКИ

1. Система, содержащая:
систему управления базами данных (DBMS), по меньшей мере отчасти, воплощенную в машиночитаемых носителях, исполняемых одним или несколькими процессорами, причем DBMS, в ответ на прием запроса, сконфигурирована посылать запрос;
драйвер, по меньшей мере отчасти, воплощенный в машиночитаемых носителях, исполняемых одним или несколькими процессорами, причем драйвер, в ответ на прием запроса от DBMS, сконфигурирован посылать модифицированный запрос; и
логическое устройство, по меньшей мере отчасти, воплощенное в аппаратных средствах, которое содержит кэш-память для хранения древовидной структуры данных реляционной базы данных, ассоциированной с, по меньшей мере, частью одной из упомянутых одной или нескольких древовидных структур данных реляционной базы данных, ассоциированных с DBMS, причем логическое устройство сконфигурировано, в ответ на прием модифицированного запроса:
обходить узлы древовидной структуры данных реляционной базы данных, сохраненной в кэш-памяти, на основе, по меньшей мере, модифицированного запроса;
извлекать части данных, находящихся в каждом обойденном узле; и
посылать извлеченные части данных в драйвер, тем самым создавая более эффективный инструмент поиска.
2. Система по п.1, в которой драйвер сконфигурирован уменьшать обмен данными между DBMS и логическим устройством.
3. Система по п.1, в которой драйвер сконфигурирован, в ответ на прием частей данных:
подтверждать упомянутые части данных на основе, по меньшей мере, данных, хранящихся в одной из древовидных структур данных реляционной базы данных, ассоциированных с DBMS; и
посылать подтвержденные части данных в DBMS.
4. Система по п.1, в которой упомянутый запрос является запросом уровня узлов, содержащим, по меньшей мере, значение запроса и данные, находящиеся в ассоциированном узле, причем модифицированный запрос является запросом уровня дерева, содержащим значение запроса и идентификатор узла.
5. Система по п.1, в которой драйвер сконфигурирован, в ответ на прием частей данных,
определять, являются ли принятые части данных противоречивыми; и
в ответ на определение того, что принятые части данных противоречивы, посылать упомянутый запрос, данные узла и информацию пути, при этом
логическое устройство сконфигурировано, в ответ на прием запроса, данных узла и информации пути, выполнять по меньшей мере одно из следующего:
выделение страницы для узла, ассоциированного с данными узла, и
обновление по меньшей мере одного из значений данных и информации указателя, включенных в ранее кэшированную страницу, ассоциированную с данными узла.
6. Система по п.1, в которой логическое устройство сконфигурировано, в ответ на прием запроса, данных узла и информации пути, последовательно выделять страницу внутри кэш-памяти, ассоциированной с логическим устройством, для узла, ассоциированного с принятыми запросом, данными узла и информацией пути, на основе, по меньшей мере, правил выделения, когда кэш-память в текущий момент не включает в себя страницу, ассоциированную с узлом, который ассоциирован с принятым запросом.
7. Система по п.1, в которой драйвер сконфигурирован:
осуществлять попытку подтвердить части данных, посланных от логического устройства; и
в ответ на отсутствие возможности подтвердить части данных, посылать запрос, данные узла и информацию пути, при этом
логическое устройство, в ответ на прием запроса, данных узла и информации пути после того, как логическое устройство ранее послало части данных, обновляет по меньшей мере одно из значений данных и информации указателя, включенных в ранее кэшированную страницу, ассоциированную с по меньшей мере одним из принятых данных узла и принятой информации пути.
8. Система по п.1, в которой драйвер сконфигурирован:
сохранять части принятых данных, принятых от логического устройства, в качестве узлов внутри поисковой таблицы (LUT);
в ответ на прием запроса от DBMS,
определять, ассоциирована ли информация, сохраненная в LUT, с принятым запросом; и
посылать информацию, сохраненную в LUT, в DBMS на основе, по меньшей мере, определения того, что информация, сохраненная в LUT, ассоциирована с принятым запросом.
9. Система по п.1, в которой извлеченные части данных, находящихся в обойденном узле, содержат по меньшей мере одно первое значение данных, ассоциированное с идентификатором узла, и порядковую позицию первого значения данных внутри ассоциированной кэшированной страницы, и по меньшей мере одно второе значение данных, находящееся в предварительно определенном местоположении по отношению к первому значению данных, и порядковую позицию второго значения данных внутри кэшированного узла.
10. Система по п.9, в которой упомянутое по меньшей мере одно первое значение данных содержит по меньшей мере одно из ограничивающего снизу значения и ограничивающего сверху значения, ассоциированных с идентификатором узла, при этом упомянутое по меньшей мере одно второе значение содержит по меньшей мере одно из значения, находящегося в порядковой позиции, которая, по меньшей мере, на один меньше ограничивающего снизу значения, и значения, находящегося в порядковой позиции, которая, по меньшей мере, на один больше ограничивающего сверху значения.
11. Способ, содержащий этапы, на которых:
в системе управления базами данных (DBMS), по меньшей мере отчасти, воплощенной в машиночитаемых носителях, исполняемых одним или несколькими процессорами, в ответ на прием запроса посылают запрос в драйвер;
в драйвере, по меньшей мере отчасти, воплощенном в машиночитаемых носителях, исполняемых одним или несколькими процессорами, в ответ на прием запроса от DBMS, посылают модифицированный запрос в аппаратное логическое устройство; и
в аппаратном логическом устройстве, в ответ на прием модифицированного запроса
обходят узлы древовидной структуры данных реляционной базы данных, ранее кэшированной в памяти, ассоциированной с аппаратным логическим устройством, на основе, по меньшей мере, модифицированного запроса;
извлекают, по меньшей мере, части данных, находящихся в каждом обойденном узле; и
посылают извлеченные части данных в драйвер, тем самым создавая более эффективный инструмент поиска.
12. Способ по п.11, дополнительно содержащий этапы, на которых:
в драйвере
в ответ на прием частей данных от аппаратного логического устройства подтверждают упомянутые части данных на основе, по меньшей мере, ассоциированных данных, хранящихся в одной из упомянутых одной или нескольких древовидных структур данных реляционной базы данных, ассоциированных с DBMS;
в ответ на подтверждение частей данных, посылают подтвержденные части данных в DBMS;
в ответ на неподтверждение частей, посылают упомянутый запрос, данные узла и информацию пути в аппаратное логическое устройство; и
в аппаратном логическом устройстве, в ответ на прием запроса, данных узла и информации пути, выполняют по меньшей мере один из этапов, на которых:
выделяют страницу для узла, ассоциированного с данными узла; и
обновляют по меньшей мере одно из значений данных и информации указателя, включенных в ранее кэшированную страницу, ассоциированную с данными узла.
13. Способ по п.11, дополнительно содержащий этап, на котором в аппаратном логическом устройстве, в ответ на прием запроса, данных узла и информации пути, последовательно выделяют страницу внутри кэш-памяти, ассоциированной с аппаратным логическим устройством, для узла, ассоциированного с принятыми запросом, данными узла и информацией пути, на основе, по меньшей мере, правил выделения, когда кэш-память в текущий момент не включает в себя страницу, ассоциированную с узлом, который ассоциирован с принятым запросом.
14. Способ по п.11, дополнительно содержащий этапы, на которых в драйвере:
сохраняют части данных, принимаемые от аппаратного логического устройства, внутри поисковой таблицы (LUT); и
в ответ на прием запроса от DBMS,
определяют, ассоциирована ли информация, сохраненная в LUT, с принятым запросом; и
посылают информацию, сохраненную в LUT, в DBMS на основе определения того, что информация, сохраненная в LUT, ассоциирована с принятым запросом.