Способ формирования иерархической структуры данных, способ поиска данных с помощью иерархической структуры данных, сервер и постоянный машиночитаемый носитель

Иллюстрации

Показать все

Изобретение относится к иерархическим структурам данных и конкретнее к способу создания иерархической структуры данных. Техническим результатом является повышение скорости поиска данных. В способе создания иерархической структуры данных определяют множество искомых элементов данных, содержащее набор дескрипторов, каждый из которых связан с типом данных, описывающим искомые элементы данных и отличным от типов данных других дескрипторов. Создают иерархическую структуру данных, обладающую первым и вторым уровнями, причем на первом уровне расположен родительский узел, а на втором уровне расположены первый и второй дочерние узлы, зависящие от родительского узла. При этом родительский узел предназначен для хранения первого дескриптора, связанного с элементами данных и относящегося к первому типу данных. Каждый из первого и второго дочернего узла предназначен для хранения соответствующего второго дескриптора из соответствующего элемента данных. Каждый соответствующий второй дескриптор относится к одному и тому же второму типу данных, который отличается от первого типа данных. 4 н. и 25 з.п. ф-лы, 10 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[01] Настоящее изобретение относится к иерархическим структурам данных, и, конкретнее - к способу создания иерархической структуры данных.

УРОВЕНЬ ТЕХНИКИ

[02] Различные глобальные или локальные сети связи (Интернет, Всемирная Паутина, локальные сети и подобные им) предлагают пользователю большой объем информации. Информация включает в себя контекстные разделы, такие как, среди прочего, новости и текущие события, карты, информацию о компаниях, финансовую информацию и ресурсы, информацию о траффике, игры и информацию развлекательного характера. Пользователи используют множество клиентских устройств (настольный компьютер, портативный компьютер, ноутбук, смартфон, планшеты и подобные им) для получения доступа к богатому информационному контенту (например, изображениям, аудио- и видеофайлам, анимированным изображениям и прочему мультимедийному контенту подобных сетей).

[03] Одним из популярных сервисов является электронная доска объявлений. Такие доски могут содержать рекламные объявления о продаже автомобилей (новых и б/у), недвижимости (домов, квартир и т.д.) с различными признаками. Например, объявления об автомобилях могут содержать такие признаки как марка, модель, год выпуска и так далее. Объявления о недвижимости могут содержать такие признаки как год строительства, размер объекта или квартиры, количество комнат и так далее.

[04] Пользователи используют подобные доски объявлений для поиска рекламных объявлений, связанных с товарами или услугами, в которых они заинтересованы. Они могут искать рекламные объявления с помощью доступных инструментов: сортировки (по времени добавления, по цене и так далее), с помощью фильтров, которые позволяют им уточнять критерии поиска, и так далее. Фильтры являются полезными инструментам, особенно в тех случаях, когда доски объявлений содержат несколько рекламных объявлений, а пользователь знает параметры искомого объекта.

[05] Каждая категория объявлений на доске объявлений (например, автомобили, недвижимость и прочее) может содержать сотни и тысячи рекламных объявлений, хранящихся в соответствующем хранилище в форме необработанных данных или в форме иерархической структуры данных. Проще хранить информацию в форме необработанных данных, но организованные структуры данных часто обладают преимуществами, особенно на некотором этапе поиска данных, поскольку они предоставляют возможность быстрого поиска.

[06] Специалистам в данной области техники известны несколько подходов к переводу необработанных данных в форму упорядоченной структуры данных. Примерами подобных подходов могут быть: ряды, списки, деревья и графы. Каждая из этих (и других известных) структур обладает соответствующими преимуществам, а также соответствующими ограничениями.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[07] Одним из технических результатов настоящего решения является повышение скорости поиска данных.

[08] Первым объектом настоящего решения является выполняемый на компьютере способ создания иерархической структуры данных. Выполняемый на компьютере способ выполняется на сервере. Выполняемый на компьютере способ включает в себя: определение множества элементов данных для поиска, множество элементов данных обладает набором дескрипторов, и каждый дескриптор в наборе дескрипторов связан с типом данных, отличным от типов данных других дескрипторов в наборе дескрипторов; определение иерархической структуры данных, обладающей первым и вторым уровнями, причем на первом уровне расположен родительский узел, а на втором уровне расположен первый дочерний узел и второй дочерний узел, оба из которых зависят от родительского узла; родительский узел предназначен для хранения первого дескриптора из набора дескрипторов, первый дескриптор связан с одним или несколькими элементами данных из множества элементов данных, и дескриптор относится к первому типу данных; и каждый из первого дочернего узла и второго дочернего узла предназначен для хранения соответствующего второго дескриптора из соответствующего одного из одного или нескольких элементов данных; соответствующий второй дескриптор относится к тому же второму типу данных, и этот второй тип данных отличается от первого типа данных.

[09] В некоторых вариантах осуществления способа родительский узел представляет собой первый родительский узел, и определение иерархической структуры данных дополнительно включает определение второго родительского узла для сохранения дескриптора из набора дескрипторов; дескриптор отличается от дескриптора первого родительского узла; оба дескриптора относятся к одному первому типу данных.

[10] В некоторых вариантах осуществления способа определение иерархической структуры данных дополнительно включает в себя определение третьего дочернего узла и четвертого дочернего узла, оба из которых зависят от второго родительского узла; каждый из третьего родительского узла и четвертого родительского узла предназначен для хранения соответствующего дескриптора других элементов данных; соответствующий другой дескриптора относится к тому же второму типу данных.

[11] В некоторых вариантах осуществления способа определение иерархической структуры данных дополнительно включает в себя определение третьего уровня, на котором размещен первый дочерний подузел и второй дочерний подузел, оба из которых зависят от первого дочернего узла; каждый из первого дочернего подузла и второго дочернего подузла предназначен для хранения соответствующего третьего дескриптора, который соответствует одному или несколькими элементам данных; соответствующий третий дескриптор относится к тому же третьему типу данных; третий тип данных отличается от первого и второго типа данных.

[12] В некоторых вариантах осуществления способа определение иерархической структуры данных выполняется в ответ на получение указания на элемент данных из множества элементов данных, причем элемент данных будет индексирован в иерархической структуре данных, элемент данных связан с набором дескрипторов, и набор дескрипторов обладает первым дескриптором и вторым дескриптором.

[13] В некоторых вариантах осуществления способа, в ответ на получение указания на элемент данных, связанный с первым дескриптором, который относится к первому типу данных, определение включает в себя идентификацию родительского узла на первом уровне иерархической структуры данных.

[14] В некоторых вариантах осуществления способа, в ответ на получение указания на элемент данных, связанный со вторым дескриптором, который относится ко второму типу данных, определение включает в себя идентификацию первого дочернего узла на втором уровне иерархической структуры данных.

[15] В некоторых вариантах осуществления способа, элемент данных представляет собой первый элемент данных, и в котором, в ответ на получение указания на второй элемент данных, связанный со вторым дескриптором, который относится ко второй типу данных, второй дескриптор отличается от второго дескриптора первого элемента данных, и определение включает в себя идентификацию второго дочернего узла на втором уровне иерархической структуры данных.

[16] В некоторых вариантах осуществления способа, родительский узел представляет собой первый родительский узел, и в котором, в ответ на получение указания на второй элемент данных, связанный с дескриптором; оба дескриптора относятся к одному типу данных, определение дополнительно включает в себя идентификацию второго родительского узла на первом уровне иерархической структуры данных.

[17] В некоторых вариантах способа, в ответ на получение указания на элемент данных, связанный с первым дескриптором, который относится к первому типу данных, вторым дескриптором, который относится ко второму типу данных, и третьим дескрипторов, который относится к третьему типу данных, определение включает идентификацию первого листового узла, соответствующего первому дочернему узлу; первый листовой узел предназначен для хранения третьего дескриптора.

[18] В некоторых вариантах осуществления способа элемент данных представляет собой первый элемент данных, и в котором, в ответ на получение указания на второй элемент данный, связанный с тем же первым дескриптором и тем же вторым дескриптором, что и первый элемент данных, но другой третий дескриптор того же третьего типа данных, определение дополнительно включает в себя связь второго элемента данных с первым листовым узлом.

[19] В некоторых вариантах осуществления способ включает обновление первого листового узла с помощью статистического снимка третьего дескриптора первого элемента данных, и отличающийся третий дескриптор второго элемента данных.

[20] В некоторых вариантах осуществления способа статистический снимок включает в себя (i) ряд элементов данных, связанных с первым листовым узлом, (ii) указание на минимальное значение одного из третьих дескрипторов первого элемента данных и второго элемента данных и (iii) указание на максимальное значение другого третьего дескриптора первого элемента данных и второго элемента данных.

[21] В некоторых вариантах осуществления способа, в ответ на получение указания на третий элемент данный, связанный с тем же первым дескриптором и тем же вторым дескриптором, что и первый и второй элементы данных, но другой третий дескриптор того же третьего типа данных, определение дополнительно включает в себя связь третьего элемента данных с первым листовым узлом.

[22] В некоторых вариантах способ включает в себя обновление статистического снимка с помощью информации, связанной с третьим элементом данных.

[23] В некоторых вариантах осуществления способа, обновление включает в себя: (i) обновление счетчика с помощью ряда элементов данных, (ii) определение того, необходимо ли обновить указание на минимальное значение и максимальное значение на основе третьего дескриптора третьего элемента данных.

[24] В некоторых вариантах осуществления способа, определение того, необходимо ли обновить указание на минимальное значение и максимальное значение, включает в себя проверку того, попадает ли значение третьего дескриптора в диапазон между минимальным и максимальным значениями.

[25] В некоторых вариантах осуществления способа, в ответ на то, что значение третьего дескриптора находится за пределами диапазона между минимальным и максимальным значениями, изменение соответствующего минимального или максимального значение на значение третьего дескриптора третьего элемента данных.

[26] В некоторых вариантах способа, элемент данных представляет собой первый элемент данных, и в ответ на получение указания на четвертый элемент данных, связанный с тем же первым дескриптором и вторым дескриптором, который относится к типу данных, но отличается от второго дескриптора первого элемента данных, и третьим дескриптором, который относится к тому же третьему типу данных, определение дополнительно включает в себя идентификацию второго листового узла, соответствующего второму дочернему узлу; второй листовой узел предназначен для хранения третьего дескриптора, соответствующего четвертому элементу данных.

[27] Другим объектом является способ поиска данных с помощью иерархической структуры данных. Способ включает получение поискового запроса, обладающего поисковым параметром; поисковый параметр связан с типом данных; обнаружение ветви в иерархической структуре данных; ветвь содержит по меньшей мере один узел, связанный с дескриптором, который относится к тому же типу данных; дескриптор совпадает с поисковым параметром; получение доступа к листовому узлу, обладающему по меньшей мере одним элементов данных, который соответствует по меньшей мере дескриптору; извлечение по меньшей мере одного элемента данных из листового узла.

[28] В некоторых вариантах способа, по меньшей мере один узел является родительским узлом, и в котором ветвь содержит дочерний узел, зависящий от родительского узла, причем дочерний узел соответствует второму дескриптору; и в котором поисковый запрос включает второй параметр, относящийся ко второму типу данных, отличному от первого типа данных; и в котором обнаружение выполняется в ответ на совпадение второго дескриптора со вторым поисковым параметром.

[29] В некоторых вариантах осуществления способа, дочерний узел является первым дочерним узлом, и в котором ветвь дополнительно содержит второй дочерний узел, зависящий от родительского узла, причем второй дочерний узел соответствует третьему дескриптору; и в котором поисковый запрос включает второй параметр, относящийся ко второму типу данных, отличному от первого типа данных; и в котором второй дескриптор совпадает со вторым поисковым параметром, а третий дескриптор не совпадает с поисковым параметром; и обнаружение включает обнаружение ветви, содержащей первый дочерний узел и не содержащей второй дочерний узел.

[30] В некоторых вариантах осуществления способа, поисковый параметр представляет собой первый поисковый параметр, относящийся к первому типу данных, и в котором в ответ на получение указания на поисковый запрос, который обладает первым параметром и вторым параметром, относящимися ко второму типу данных, отличных от первого типа данных, поиск включает в себя: (i) обнаружение второй ветви, содержащей первый родительский узел и второй дочерний узел, который зависит от первого родительского узла; первый родительский узел соответствует первому дескриптору, совпадающему с первым поисковым параметром; второй дочерний узел соответствует второму дескриптору, совпадающему со вторым поисковым параметром; (ii) получение доступа к первому листовому узлу, соответствующему первой ветви; (iii) извлечение по меньшей мере одного элемента данных из второго листового узла, элемент данных соответствует первому дескриптору и второму дескриптору, оба из которых реагируют на поисковый запрос.

[31] В некоторых вариантах осуществления способа, в ответ на получение указания на поисковый запрос, поиск включает в себя извлечение статистического снимка из первого листового узла, включая ряд элементов данных в первом листовом узле, минимальное значение и максимальное значение третьего дескриптора.

[32] В некоторых вариантах осуществления способа, в ответ на получение указания на поисковый запрос, поиск включает в себя извлечение статистического снимка из второго листового узла, включая ряд элементов данных во втором листовом узле, минимальное значение и максимальное значение третьего дескриптора.

[33] В некоторых вариантах осуществления способа, в ответ на получение указания на поисковый запрос, поиск дополнительно включает в себя извлечение статистического снимка из первого листового узла и второго листового узла, включая ряд элементов данных в первом листовом узле и втором листовом узле, минимальное значение и максимальное значение третьего дескриптора в первом листовом узле, минимальное значение и максимальное значение третьего дескриптора во втором узле.

[34] В некоторых вариантах осуществления способ включает общее число элементов данных в первом и втором листовом узлах, минимальное значение третьего дескриптора во всех элементах данных первого и второго листовых узлов, максимальное значение третьего дескриптора во всех элементах данных первого и второго листовых узлов.

[35] Другим объектом является сервер, выполненный с возможностью создавать иерархическую структуру данных. Сервер содержит постоянный носитель информации для хранения машиночитаемых инструкций, выполнение которых сервером позволяет ему осуществлять: определение множества элементов данных для поиска, множество элементов данных обладает набором дескрипторов, и каждый дескриптор в наборе дескрипторов связан с типом данных, отличным от типов данных других дескрипторов в наборе дескрипторов; определение иерархической структуры данных, обладающей первым и вторым уровнями, причем на первом уровне расположен родительский узел, а на втором уровне расположен первый дочерний узел и второй дочерний узел, оба из которых зависят от родительского узла; родительский узел предназначен для хранения первого дескриптора из набора дескрипторов, первый дескриптор связан с одним или несколькими элементами данных из множества элементов данных, и дескриптор относится к первому типу данных; и каждый из первого дочернего узла и второго дочернего узла предназначен для хранения соответствующего второго дескриптора из соответствующего одного из одного или нескольких элементов данных; соответствующий второй дескриптор относится к тому же второму типу данных, и этот второй тип данных отличается от первого типа данных.

[36] Еще одним объектом является постоянный машиночитаемый носитель, содержащий инструкции (машиночитаемые коды), выполнение которых сервером позволяет ему осуществлять: определение множества элементов данных для поиска, множество элементов данных обладает набором дескрипторов, и каждый дескриптор в наборе дескрипторов связан с типом данных, отличным от типов данных других дескрипторов в наборе дескрипторов; определение иерархической структуры данных, обладающей первым и вторым уровнями, причем на первом уровне расположен родительский узел, а на втором уровне расположен первый дочерний узел и второй дочерний узел, оба из которых зависят от родительского узла; родительский узел предназначен для хранения первого дескриптора из набора дескрипторов, первый дескриптор связан с одним или несколькими элементами данных из множества элементов данных, и дескриптор относится к первому типу данных; и каждый из первого дочернего узла и второго дочернего узла предназначен для хранения соответствующего второго дескриптора из соответствующего одного из одного или нескольких элементов данных; соответствующий второй дескриптор относится к тому же второму типу данных, и этот второй тип данных отличается от первого типа данных.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[37] Для лучшего понимания настоящего решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:

[38] На Фиг. 1 представлена принципиальная схема, изображающая структуру системы, которая выполнена в соответствии с вариантами осуществления, не ограничивающими объем притязаний.

[39] На Фиг. 2 представлено поисковое приложение, которое выполняется на электронном устройстве, показанном на Фиг. 1, электронное устройство выполнено в соответствии с вариантами осуществления.

[40] На Фиг. 3 представлена схема представления содержимого первого партнерского сообщения, которое передается между компонентами системы, показанной на Фиг. 1.

[41] На Фиг. 4 представлена принципиальная схема, изображающая структуру поисковой системы, которая относится к системе, показанной на Фиг. 1, и выполнена в соответствии с вариантами осуществления решения.

[42] На Фиг. 5 представлена принципиальная схема древовидной структуры данных, расположенной в поисковой системе, которая представлена на Фиг. 4, древовидная структура данных представлена на первом этапе заполнения, структура данных выполнена в соответствии с вариантами осуществления решения.

[43] На Фиг. 6 представлена принципиальная схема древовидной структуры данных, показанной на Фиг. 5, древовидная структура данных представлена на втором этапе заполнения.

[44] На Фиг. 7 представлена принципиальная схема древовидной структуры данных, показанной на Фиг. 5, древовидная структура данных представлена на третьем этапе заполнения.

[45] На Фиг. 8 представлена принципиальная схема древовидной структуры данных, показанной на Фиг. 5, древовидная структура данных представлена на четвертом этапе заполнения.

[46] На Фиг. 9 представлен пример последовательной структуры данных, являющейся примером физической структуры данных, которая может быть использована для реализации дерева данных, показанного на Фиг. 8.

[47] На Фиг. 10 представлена блок-схема способа, выполняемого в соответствии с вариантами осуществления.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

[48] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления решения, не ограничивающими объем притязаний. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления. Таким образом, все последующее описание представлено только как описание иллюстративного примера решения. Это описание не предназначено для определения объема или установления границ решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления будут обладать гораздо большей сложностью.

[49] Система 100 включает в себя электронное устройство 102. Электронное устройство 102 обычно связано с пользователем (не показан) и, таким образом, иногда может упоминаться как «клиентское устройство». Следует отметить, что тот факт, что электронное устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.

[50] Варианты электронного устройства 102 конкретно не ограничены, но в качестве примера электронного устройства 102 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (мобильные телефоны, смартфоны, планшеты и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Электронное устройство 102 включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для использования поискового приложения 104.

[51] В общем случае, целью поискового приложения 104 является предоставление пользователю (не показан) возможности выполнять поиск. Таким образом, поисковое приложение включает в себя интерфейс запроса 105 и интерфейс результатов поиска 106. Основной задачей интерфейса 105 запроса является предоставление возможности пользователю (не показан) вводить свой запрос. Основной задачей интерфейса результатов поиска 106 является предоставление результатов поиска, отвечающих поисковому запросу, который был введен в интерфейс 105 запроса.

[52] Реализация поискового приложения 104 никак конкретно не ограничена. Один из примеров поискового приложения 104 может быть реализован с помощью вызова пользователем веб-сайта, соответствующего поисковой системе, для получения доступа к поисковому приложению 104. Поисковое приложение может быть вызвано путем ввода URL, связанного с поисковой системой Яндекс. Авто™ - www.auto.yandex.ru. Важно иметь в виду, что поисковое приложение 104 может быть вызвано с помощью другой коммерчески доступной или собственной поисковой системы.

[53] В других вариантах осуществления, поисковое приложение 104 может представлять собой браузерное приложение на портативном устройстве (например, беспроводном устройстве связи). Для тех случаев (но не только), когда электронное устройство 102 является портативным устройством, таким как, например, Samsung™ Galaxy™ SIII, электронное устройство может использовать приложение Яндекс браузер. Важно иметь в виду, что любое другое коммерчески доступное или собственное браузерное приложение может быть использовано для реализации вариантов осуществления.

[54] В представленных ниже примерах предполагается, что пользователь (не показан) использует вертикальную поисковую системы Яндекс. Авто для поиска выставленных на продажу автомобилей. Пользователь может ввести поисковый запрос "BMW Х5 2012" с помощью интерфейса 105 запроса. Пользователю предоставляется страница результатов поиска (SERP), снимок экрана с которой представлен на Фиг. 2 как снимок SERP 200. На снимке экрана, представленном на Фиг. 2, пользователю представлено несколько полей, хорошо известных в данной области техники. Среди этих полей есть такие как: вышеупомянутый интерфейс 105 запроса, вышеупомянутый интерфейс 106 результатов поиска, поле 107 заголовка, поле 108 рекламы и интерфейс 109 дескрипторов.

[55] Как было упомянуто, целью интерфейса 105 запроса является предоставление пользователю возможности вводить свой запрос или "поисковую строку" (в данном случае "BMWX5 2012"). Основной целью интерфейса 109 дескрипторов является ввод одного или нескольких дополнительных дескрипторов или параметров автомобилей, которые могут быть использованы как дополнительный поисковый критерий и/или фильтр для сужения результатов поиска, которые в другом случае будут соответствовать поисковому запросу, введенному в интерфейс 105 запроса.

[56] Альтернативно, интерфейс 109 дескрипторов может быть использован вместо интерфейса 105 запроса для ввода поисковых запросов пользователем. Альтернативно или дополнительно, один из интерфейса 105 запроса и интерфейса 109 дескрипторов может быть опущен. Основной задачей интерфейса 106 результатов поиска является предоставление результатов поиска, отвечающих поисковому запросу, который был введен в интерфейс 105 запроса.

[57] В качестве иллюстративного примера страница результатов поиска по запросу SERP 200 содержит поле 107 заголовка с коротким описанием BMW Х5 (т.е. объекта, который соответствует поисковому запросу, введенному в интерфейс 105 запроса). SERP 200 включает в себя поле 108 рекламы, которое содержит множество рекламных объявлений, соответствующих поисковому запросу (т.е. продажа 2012 BMW Х5).

[58] Пользователь может выбирать одно из рекламных объявлений из множества рекламных объявлений в поле 108 рекламы. После выбора пользователем конкретного одного из множества рекламных объявлений, пользователю будет отображаться полное описание конкретного выбранного автомобиля. Излишне говорить, что вышеупомянутое описание SERP 200 (его содержимое и форм-фактор) показано только в качестве примера. SERP 200 в соответствии с различными неограничивающими вариантами осуществления может принимать и другие формы, а информация, представленная на ней, ограничивается соответствием поисковому запросу, введенному в интерфейс 105 запроса и/или дескрипторами, выбранными в поле 109 дескрипторов.

[59] Возвращаясь к описанию Фиг. 1, электронное устройство 102 соединено с сетью 114 передачи данных через линию 112 связи. В некоторых вариантах осуществления, сеть 114 связи может представлять собой Интернет. В других вариантах осуществления, сеть 114 передачи данных может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п.

[60] Реализация линии 112 передачи данных никак конкретно не ограничена, и будет зависеть от того, как именно реализовано электронное устройство. В качестве примера, но не ограничения, в данных вариантах осуществления когда электронное устройство 102 представляет собой беспроводное устройство связи (например, смартфон), линия связи 102 представляет собой беспроводную сеть связи (например, среди прочего, линия связи сети 3G, линия связи сети 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 102 представляет собой портативный компьютер, линия связи может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).

[61] Важно иметь в виду, что варианты осуществления воплощения электронного устройства 102, линии 112 связи и сети 114 передачи данных даны исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления электронного устройства 102, линии связи 112 и сети связи 114. То есть, представленные здесь примеры не ограничивают объем решения.

[62] Также на Фиг. 1 представлен первый партнер 120, второй партнер 122 и третий партнер 124, все они соединены с сетью 114 передачи данных через соответствующую линию передачи данных (отдельно не пронумерована). Следует отметить, что число партнеров, потенциально присутствующих в системе 100, никак конкретно не ограничено. В вышеупомянутом примере предполагается, что каждый из партнеров - первый партнер 120, второй партнер 122 и третий партнер 124 - хочет загрузить соответствующие рекламные объявления, связанные с продажей б/у автомобилей, в хранилище 140 партнерских данных поисковой системы 130, поисковая система 130 также соединена с сетью 114 передачи данных.

[63] В некоторых вариантах осуществления, каждый из партнеров - первый партнер 120, второй партнер 122 и третий партнер 124 - выполнен с возможностью передачи хранилищу 140 партнерских данных соответствующего объявления, содержащего подробности рекламного объявления, причем соответствующее объявление представляет собой первое партнерское объявление 121, второе партнерское объявление 123 и третье партнерское объявление 125. В некоторых вариантах осуществления каждое партнерское объявление - первое партнерское объявление 121, второе 123 и третье партнерское объявление 125 - может быть реализовано на расширяемом языке разметки (XML). В других вариантах осуществления, каждое партнерское объявление - первое партнерское объявление 121, второе партнерское объявление 123 и третье партнерское объявление 125 - может быть реализовано в любом другом подходящем коммерчески доступном или собственном формате.

[64] Содержимое каждого партнерского объявления - первого партнерского объявления 121, второго партнерского объявления 123 и третьего партнерского объявления 125 - никак конкретно не ограничено и, естественно, будет зависеть от типа информации, содержащейся в хранилище 140 партнерских данных. Примеры содержимого первого партнерского объявления 121, второго партнерского объявления 123 и третьего партнерского объявления 125 предоставлены со ссылкой на Фиг. 3, на которой представлено содержимое первого партнерского объявления 121 (только в качестве иллюстрации). Следует отметить, что остальные - второе партнерское объявление 123 и третье партнерское объявление 125 - могут быть выполнены по существу аналогичным (но не обязательно идентичным) образом.

[65] Первое партнерское объявление 121 включает в себя индикатор 302 источника, который обычно указывает на имя источника, отправляющего первое партнерское объявление 121. В этом примере, индикатор 302 источника указывает на первого партнера 120, являющегося источником первого партнерского объявления 121. В некоторых вариантах осуществления, индикатор 302 источника может содержать уникальный идентификатор, связанный с источником партнерского объявления, название компании источника партнерского объявления или Единый Указатель Ресурсов (URL), связанный с расположением конкретного рекламного объявления на конкретном партнерском веб-сайте, с которым связано первое объявление 121.

[66] Первое партнерское объявление 121 дополнительно включает в себя первую рекламную часть 304, вторую рекламную часть 306, третью рекламную часть 308 и N-ную рекламную часть 310. Естественно, число рекламных частей 304, 306, 308, 310, содержащихся в первом партнерском объявлении 118, не ограничивается представленными здесь. Таким образом, можно предположить, что данное первое партнерское объявление 121 может включать в себя один экземпляр первой рекламной части 304 - посвященный, соответственно, только одному рекламному объявлению. С другой стороны, данное первое партнерское объявление 121 может включать в себя множество N рекламных частей 310, каждая из которых представляет соответствующее рекламное объявление. Поэтому можно говорить, что данное первое партнерское объявление 121 может представлять собой одно рекламное объявление или несколько рекламных объявлений.

[67] Содержимое каждой из рекламных частей - первой рекламной части 304, второй рекламной части 306, третьей рекламной части 308 и N-ной рекламной части 310 - будет зависеть, конечно, от природы рекламного объявления. Возвращаясь к используемому примеру, рекламное объявление о продаже б/у автомобилей, каждая из рекламных частей - первая рекламная часть 304, вторая рекламная часть 306, третья рекламная часть 308 и N-ная рекламная часть 310 - будет включать в себя некоторые или все следующие аспекты: (i) год выпуска автомобиля; (ii) марку автомобиля; (iii) модель автомобиля; (iv) цену; (v) изображение или изображения автомобиля; (vi) дополнительную информацию об автомобиле. Естественно, каждая или некоторые из рекламных частей - первой рекламной части 304, второй рекламной части 306, третьей рекламной части 308 и N-ной рекламной части 310 - будут обладать более или менее одинаковой или различной информацией.

[68] Следует отметить, что в рамках вариантов осуществления, представленных выше, первое партнерское объявление 121 связано с одним поставщиком объявлений (например, первым партнером 120). Естественно, возможно, что данное партнерское объявление 121, в других вариантах осуществления, фактически может быть связано с объявлениями от нескольких партнеров. Таким образом, возможно, что данное первое партнерское объявление 121 будет включать несколько индикаторов 302 источника. Например, каждый индикатор 302 источника может быть связан с соответствующей рекламной частью - первой рекламной частью 304, второй рекламной частью 306, третьей рекламной частью 308 и N-ной рекламной частью 310. Даже если первое партнерское объявление 121 связано с одним поставщиком объявлений, оно может содержать несколько индикаторов 302 источника, каждый индикатор 302 источника связан с соответствующей рекламной частью - первой рекламной частью 304, второй рекламной частью 306, третьей рекламной частью 308 и N-ной рекламной частью 310.

[69] Возвращаясь к описанию Фиг. 1, хранилище 140 партнерских объявлений представлено на Фиг. 1 в виде части поисковой системы 130, находящейся под контролем поисковой системы (поискового средства) 150. Объявления от партнеров (т.е. первое партнерское объявление 121, второе партнерское объявление 123 и третье партнерское объявление 125) передаются поисковой системе 130, которая сохраняет их в хранилище 140 партнерских данных. Следует отметить, что процесс получения объявлений от партнеров и сохранения их в хранилище 140 партнерских данных может быть организован различными способами.

[70] Несмотря на то, что в неограничивающем варианте осуществления, представленном на Фиг. 1, хранилище 140 партнерских данных представляет собой единый объект, в других вариантах осуществления, хранилище 140 партнерских данных может быть реализовано в распределенном виде. В качестве примера в других вариантах осуществления, хранилище 140 партнерских данных может быть выполнено в виде множества устройств для хранения данных (не показаны), каждое из множества устройств для хранения данных может быть связано, например, с конкретным партнером и соответствующими партнерскими объявлениями или подгруппой партнеров и соответствующей подгруппой партнерских объявлений.

[71] В некоторых вариантах осуществления хранилище 140 партнерских данных может быть реализовано в виде отдельного кластера серверов (не показаны), который сохраняет объявления в базе данных. Например, кластер может включать один или несколько серверов. База данных может быть реализована в виде единого устройства хранения или в распределенном виде. Серверы кластеры могут получать объявления от партнеров 120, 122, 124 через сеть 114 переда