Рекомендательная система для пополнения данных



Рекомендательная система для пополнения данных
Рекомендательная система для пополнения данных
Рекомендательная система для пополнения данных
Рекомендательная система для пополнения данных
Рекомендательная система для пополнения данных

 


Владельцы патента RU 2611966:

МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи (US)

Изобретение относится в общем к базам данных и в частности к рекомендации пополнений данных для баз данных. Техническим результатом является обеспечение возможности предоставления рекомендации по пополнениям данных для базы данных. В способе рекомендации пополнений данных для базы данных принимают запрос на предоставление рекомендаций по пополнениям данных. Анализируют метаданные для базы данных, причем метаданные определяют структуру базы данных. Рекомендуют первое пополнение данных, основываясь на анализе метаданных. Предлагают второе пополнение данных, основываясь на подобии между первым пополнением данных и вторым пополнением данных. Идентифицируют источник данных, который может предоставить второе пополнение данных, посредством сравнения характеристики первого обращения и второго обращения, которыми получают данные для второго пополнения данных из двух разных источников, выбора подходящего обращения на основе данного сравнения и определения идентификатора для источника пополнения данных, ассоциированного с этим обращением. 3 н. и 17 з.п. ф-лы, 4 ил.

 

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

[0000] Настоящее изобретение относится в общем к базам данных и в частности к рекомендации пополнений данных для баз данных.

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

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

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

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

[0003] Кратко, аспекты описанного здесь изобретения относятся к рекомендательным системам источников данных. Согласно этим аспектам, запрос на предоставление рекомендаций по пополнениям данных для базы данных принимается в рекомендательной подсистеме. Рекомендательная подсистема может выполнять статический и динамический анализ данных, ассоциированных с базой данных, и может дополнительно уточнять рекомендации на основе политики. Рекомендательная подсистема может затем предоставлять рекомендации, если таковые имеются, по пополнениям данных, чтобы позволить разработчику программного обеспечения, например, указать, будут ли использоваться пополнения данных.

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

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

[0005] На Фиг. 2 изображена блок-схема, представляющая примерную среду, в которой могут быть реализованы аспекты предмета, описанного здесь изобретения; и

[0006] На Фиг. 3-4 представлены логические блок-схемы, которые в общем представляют примерные действия, которые могут иметь место в соответствии с аспектами описанного здесь изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ОПРЕДЕЛЕНИЯ

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

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

[0009] Иногда в настоящем документе могут быть использованы выражения «первый», «второй», «третий» и так далее. Без дополнительного контекста использование этих выражений в формуле изобретения не предполагает упорядочивания, а скорее используется в целях идентификации. Например, выражение «первая версия» и «вторая версия» не обязательно означает, что первая версия является самой первой версией или что она была создана до второй версии, или даже что первая версия запрашивается или в отношении нее выполняется работа до вторых версий. Скорее, эти фразы используются для идентификации различных версий.

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

[0011] Другие определения, явные и неявные, могут быть включены ниже.

ПРИМЕРНАЯ РАБОЧАЯ СРЕДА

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

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

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

[0015] Со ссылкой на Фиг. 1 примерная система для реализации аспектов описанного здесь изобретения включает в себя вычислительное устройство общего назначения в форме компьютера 110. Компьютер может включать в себя любое электронное устройство, которое способно исполнять инструкции. Компоненты компьютера 110 могут включать в себя процессорный блок 120, системную память 130 и системную шину, которая подсоединяет различные системные компоненты, включая системную память, к процессорному блоку 120. Системная шина 121 может быть одной из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из разнообразных шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину ISA, шину МСА, шину EISA, локальную шину VESA, шину PCI, также известную как мезонинная шина, шину PCI-X, шину AGP и шину PCI express (PCIe).

[0016] Компьютер 110 обычно включает в себя различные машиночитаемые носители. Машиночитаемые носители могут быть любыми доступными носителями, к которым компьютер 110 может иметь доступ и которые включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные носители данных и коммуникационные среды.

[0017] Компьютерные носители данных включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя ОЗУ, ПЗУ, EEPROM, флэш-память или другую технологию памяти, накопитель на компакт-диске, цифровые универсальные диски (DVD) или другие запоминающие устройства на оптических дисках, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, либо любой другой носитель, который может быть использован для хранения желаемой информации и к которому может иметь доступ компьютер 110.

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

[0019] Системная память 130 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в компьютере 110, например, во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит информацию и/или программные модули, которые непосредственно доступны и/или в данный момент обрабатываются процессорным блоком 120. В качестве примера, но не ограничения, Фиг. 1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и 137 данные программ.

[0020] Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Сугубо в качестве примера, Фиг. 1 иллюстрирует накопитель 141 на жестких дисках, который читает с несъемного энергонезависимого магнитного носителя и пишет на него, магнитный дисковод 151, который читает со съемного энергонезависимого магнитного диска 152 и пишет на него, и оптический дисковод 155, который читает со съемного энергонезависимого оптического диска 156, такого как компакт-диск или другой оптический носитель, и пишет на него. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут быть использованы в примерной рабочей среде, включают в себя кассеты с магнитной лентой, карты флэш-памяти, универсальные цифровые диски, другие оптические диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 141 на жестких дисках может быть подсоединен к системной шине 121 через интерфейс 140, а магнитный дисковод 151 и оптический дисковод 155 могут быть подсоединены к системной шине 121 через интерфейс для съемной энергонезависимой памяти, такой как интерфейс 150.

[0021] Накопители и дисководы и связанные с ними компьютерные носители данных, обсуждаемые выше и проиллюстрированные на Фиг. 1, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На Фиг. 1, например, накопитель 141 на жестких дисках изображен как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и данные 147 программ. Заметим, что эти компоненты могут быть как теми же, так и отличающимися от операционной системы 134, прикладных программ 135, других программных модулей 136 и данных 137 программ. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и данным 147 программ присвоены здесь другие номера, чтобы показать, как минимум, что они являются другими копиями.

[0022] Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162 и указательное устройство 161, часто называемое мышью, трекболом или сенсорной панелью. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер, сенсорный экран, планшет для письма и тому подобное. Эти или другие устройства ввода часто подсоединяются к процессорному блоку 120 через интерфейс 160 пользовательского ввода, который соединен с системной шиной, но может подсоединяться посредством других интерфейсных или шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).

[0023] Монитор 191 или другой тип устройства отображения также соединен с системной шиной 121 через интерфейс, такой как видео интерфейс 190. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут подключаться посредством интерфейса 195 периферийного вывода.

[0024] Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или более компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все из элементов, описанных выше применительно к компьютеру 110, хотя только запоминающее устройство 181 проиллюстрировано на Фиг. 1. Логические соединения, изображенные на Фиг. 1, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычным явлением в офисах, корпоративных компьютерных сетях, внутренних интрасетях и Интернете.

[0025] При использовании в сетевой среде LAN, компьютер 110 соединяется с ЛВС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде WAN, компьютер 110 может включать в себя модем 172 или другое средство для установления связи через WAN 173, такую как Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через интерфейс 160 пользовательского ввода или другой соответствующий механизм. В сетевой среде программные модули, изображенные относительно компьютера 110, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, но не ограничения, Фиг. 1 иллюстрирует удаленные прикладные программы 185 как находящиеся в запоминающем устройстве 181. Следует иметь в виду, что показанные сетевые соединения являются примерными и может быть использовано другое средство установления связи между компьютерами.

Пополнения данных

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

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

[0028] Обращаясь к Фиг. 2, среда может включать в себя приложение 205, систему управления базами данных (СУБД) 206, источник (источники) 207 пополнения данных, рекомендательную подсистему 208, хранилища данных 210 и 211 и другие компоненты (не показано).

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

[0030] Приложение 205, СУБД 206, источник (источники) 207 пополнения данных и рекомендательная подсистема 208 могут содержать или находиться на одном или нескольких вычислительных устройствах. Такие устройства могут включать в себя, например, персональные компьютеры, серверные компьютеры, наладонные или портативные устройства, многопроцессорные системы, системы на базе микроконтроллеров, телевизионные приставки, программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры, персональные цифровые помощники (PDA), игровые устройства, принтеры, приборы, включая приставки, медиа-центр или другие приборы, встраиваемые в автомобили или прикрепляемые к автомобилям вычислительные устройства, другие мобильные устройства, распределенные вычислительные среды, включающие в себя любые из вышеперечисленных систем или устройств, и тому подобное. Примерное устройство, которое может быть сконфигурировано так, чтобы действовать как одно из вышеуказанных средств, включает в себя компьютер 110 по Фиг. 1.

[0031] Приложение 205 может включать в себя процесс, который приспособлен осуществлять связь с одним или более из других субъектов по Фиг. 2. Выражение «процесс» и его варианты, используемые здесь, могут включать в себя один или более традиционных процессов, потоков, компонентов, библиотек, объектов, выполняющих задачи, и тому подобное. Процесс может быть реализован на аппаратных средствах, программном обеспечении иди комбинации аппаратных средств и программного обеспечения. В варианте осуществления, процесс является неким механизмом, вызываемым неким образом, приспособленным или используемым в выполнении действия. Процесс может быть распределен на несколько устройств или одно устройство. Аналогичным образом, приложение 205 может иметь компоненты, которые распределены на одно или более устройства.

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

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

[0034] База данных, хранящаяся в хранилище 210 данных, может содержать реляционную базу данных, объектно-ориентированную базу данных, иерархическую базу данных, сетевую базу данных, другие типы баз данных, некоторую комбинацию или расширение вышеупомянутого, и тому подобное. Данные, хранящиеся в базе данных, могут быть организованы в виде таблиц, записей, объектов, других структур данных и т.п. Данные, хранящиеся в базе данных, могут храниться в специальных файлах базы данных, специальных разделах жестких дисков, HTML файлах, XML файлах, электронных таблицах, неструктурированных файлах, файлах документа, конфигурационных файлах, других файлах и т.п. База данных может ссылаться на набор данных, который предназначен только для чтения, или иметь возможность читать набор данных и записывать в него.

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

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

[0037] База данных, хранящаяся в хранилище 210 данных, может быть пополнена посредством источника (источников) 207 пополнения данных. СУБД 206 может получать данные от источника (источников) 207 пополнения данных и делать так, чтобы данные представлялись (например, в приложение 205) таким образом, как будто они исходят от базы данных, управляемой СУБД 206. Данные, получаемые от источника (источников) 207 пополнения данных, иногда называются здесь пополнениями данных. Например, СУБД 206 может использовать информацию об индексе, найденную в базе данных, для получения информации о погоде из источника пополнения данных. Информация о погоде может быть доступна через один или несколько столбцов таблицы, открытой СУБД 206.

[0038] СУБД 206 может хранить информацию, которая показывает пополнения данных, которые должны быть предоставлены с базой данных хранилища 210 данных. При предоставлении данных из базы данных СУБД 206 может также сделать доступными пополнения данных.

[0039] В одном варианте осуществления рекомендательная подсистема 208 может предоставлять рекомендации по пополнению данных СУБД 206, которая может затем предоставлять эти рекомендации приложению 205. В другом варианте осуществления, рекомендательная подсистема 208 может предоставлять рекомендации по пополнению данных непосредственно приложению 205. Рекомендация может включать в себя имя или другой идентификатор рекомендации, тип входных данных, необходимый пополнению данных, ассоциированному с рекомендацией, и тип выходных данных, предоставляемый пополнением данных.

[0040] Рекомендательная подсистема 208 может определять такие рекомендации различными способами. Некоторые из этих способов включают в себя, например:

[0041] 1. Динамический анализ. СУБД 206 может собирать статистическую информацию о запросных обращениях (queries), которые исполняются СУБД 206. Эта информация может быть предоставлена рекомендательной подсистеме 208, которая может использовать эту информацию для предложения новых пополнений или источников данных. Например, если запросное обращение использует пополнение COMPANYFINANCIAL (финансовая информация компании), рекомендательная подсистема 208 может рекомендовать так же пополнение COMPANYNEWS (новости компании). Эта рекомендация может быть предоставлена, потому что оба пополнения используют название компании в качестве входных данных.

[0042] Для определения пополнения с использованием динамического анализа, рекомендательная подсистема 208 может использовать структуру данных, которая соотносит пополнения между собой. Например, рекомендательная подсистема 208 может поддерживать или быть снабженной таблицей, которая включает в себя строки, где каждая строка включает в себя поле первого пополнения и поле второго пополнения. Второе пополнение - это пополнение данных, которое должно быть рекомендовано, основываясь на первом пополнении. С использованием нуля или более строк, эта таблица может быть использована для связывания первого пополнения с одним или более другими пополнениями, которые могут быть рекомендованы, основываясь на первом пополнении.

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

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

[0045] 2. Статический анализ. Данные, которые хранятся в базе данных, имеют структурные метаданные, касающиеся объектов базы данных, которые включают в себя таблицы, столбцы, процедуры, расширяемый язык разметки (XML) и тому подобное. Структурные метаданные могут быть рассмотрены с целью определения типа данных, который хранится и обрабатывается базой данных. Некоторые примеры структурных метаданных включают в себя имена таблиц, имена столбцов, имена хранимых процедур, типы данных столбцов и имена других объектов и т.п.

[0046] Например, таблица с именем Компания может означать, что таблица имеет информацию о компаниях. В таблице с именем Компания столбец с именем Имя может означать имя компании. Эти метаданные могут быть использованы для определения того, что столбец Имя в таблице Компания - это название компании. Это может быть затем использовано для предоставления для компании рекомендации по пополнению, таких как пополнение COMPANYFINANCIAL, пополнение COMPANYNEWS, пополнение COMPANYSOCIALNETWORKS (компания в социальных сетях) и другие пополнения компаний.

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

[0048] В качестве примера пополнения данных, которое может быть рекомендовано на основе типа данных столбца, метаданные могут указывать на то, что столбец использует тип данных GEOMETRY (Геометрия). В ответ на это рекомендательная подсистема 208 может рекомендовать логический объект LOCATION (местоположение) и пополнения, которые связаны с логическим объектом LOCATION (например, погоду, уровень преступности, плотность населения, демографию, статистику жилья и тому подобное).

[0049] Тип данных столбца может также определяться посредством изучения данных в самой базе данных. Например, путем изучения столбцов в таблице, рекомендательная подсистема 208 может быть способна определить, что столбцы представляют собой адрес. Это может быть сделано, например, путем попытки поиска адреса с использованием данных в столбцах. Как только рекомендательная подсистема 208 определяет, что столбцы представляют собой адрес, рекомендательная подсистема 208 может использовать технологии связывания, упомянутые здесь, для рекомендации пополнения (пополнений) данных, основываясь на адресе.

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

[0051] 3. Политика. Рекомендации могут быть сделаны, основываясь на политике. Эта политика может быть определена приложением 205 или иным образом. Политика может рассматриваться как правило, которое имеет одно или несколько условий, которые ограничивают рекомендацию, основываясь на оценке условия (условий). Например, политика может основываться на стоимости транзакции, рейтинге источника данных, лицензионном договоре на оказание услуг (LSA), на том, разрешено ли данным оставаться в базе данных, и других условиях. Например, политика может указывать на то, что до тех пор, пока цена пополнения данных меньше некоторой величины, рекомендации по пополнению данных допускаются.

[0052] 4. Каталог. Доступные пополнения данных могут быть доступны для поиска. Например, рекомендательная подсистема 208 может предоставлять список пополнений данных и соответствующие им источники данных в таблице, к которой разработчик программного обеспечения и т.п. может обращаться с запросными обращениями. Таблица может указывать тип данных, принимаемых в качестве ввода и выдаваемых на выходе. Таблица может также включать в себя лицензионные ограничения, расходы (если таковые имеются) или другие данные о пополнении данных и тому подобное.

[0053] Хранилище 211 данных - это хранилище, которое содержит данные, используемые для рекомендаций. Данные могут включать в себя, например, данные связывания, каталог доступных пополнений данных, цены, производительности и данные о надежности, лицензионные соглашения касательно источников данных и т.п.

[0054] Хранилища 210-211 данных могут быть реализованы с помощью любых носителей информации, способных хранить данные. Хранилище может включать в себя энергозависимую память (например, кэш) и энергонезависимую память (например, постоянное хранение). Хранилище может быть реализовано с использованием файловой системы, базы данных, энергозависимой памяти, такой как ОЗУ, другого средства хранения данных, некоторой комбинации вышеназванных и т.п., и может быть распределено между несколькими устройствами.

[0055] Термин «данные» следует рассматривать в широком смысле, чтобы включить в него все, что может быть представлено одним или несколькими элементами компьютерного хранения. Логически, данные могут быть представлены в виде последовательности из единиц и нулей в энергозависимой и энергонезависимой памяти. В компьютерах, которые имеют недвоичный носитель информации, данные могут быть представлены согласно функциональным способностям носителя информации. Данные могут быть организованы в виде различных типов структур данных, включая простые типы данных, такие как числа, буквы и т.п., иерархические, связанные, другие схожие типы данных, структуры данных, которые включают в себя множество других структур данных или простых типов данных и т.п.

[0056] На Фиг. 3-4 представлены логические блок-схемы, которые, в общем, представляют примерные действия, которые могут возникнуть в соответствии с аспектами описанного здесь изобретения. Для простоты объяснения, методология, описанная в сочетании с Фиг. 3-4, изображена и описана в виде последовательности действий. Следует понять и принять во внимание, что аспекты описанного здесь изобретения не ограничиваются проиллюстрированными действиями и/или порядком действий. В одном варианте осуществления действия происходят в порядке, описанном ниже. В других вариантах осуществления, однако, действия могут выполняться параллельно, в другом порядке и/или с другими действиями, не представленными и не описанными здесь. Кроме того, не все проиллюстрированные действия могут потребоваться для реализации методологии в соответствии с аспектами описанного здесь изобретения. К тому же, специалисты в данной области техники поймут и примут во внимание, что методология может быть альтернативно представлена в виде последовательности взаимосвязанных состояний через диаграмму состояний или в виде событий.

[0057] Обращаясь к Фиг. 3, в блоке 305 начинаются действия. В блоке 310 принимают запрос на предоставление рекомендаций по пополнению данных для базы данных. Например, со ссылкой на Фиг. 2, приложение 205, СУБД 206 и некоторые другие компоненты могут запросить, чтобы рекомендательная подсистема 208 предоставила рекомендации по пополнению данных для базы данных, управляемой СУБД.

[0058] В блоке 315 может быть выполнен анализ метаданных. Например, со ссылкой на Фиг. 2, рекомендательная подсистема может использовать метаданные о базе данных, предоставленные СУБД 206, вместе с информацией связывания в хранилище 211 данных для определения одной или более рекомендаций для предоставления. Кроме того, рекомендательная подсистема 208 может оценивать условия политики для ограничения рекомендации с тем, чтобы они не нарушали политику.

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

[0060] В одном варианте реализации анализ метаданных может включать в себя следующие примерные действия:

[0061] 1. Получение метаданных, ассоциированных с базой данных. Это может повлечь за собой запрашивание данных от СУБД, прием (без запрашивания) данных от СУБД или какой-либо другой механизм.

[0062] 2. Нахождение идентификатора в метаданных. Это может повлечь за собой нахождение имени (имен) одной или нескольких таблиц, столбцов, хранимых процедур или других объектов базы данных.[0063] 3. Связывание идентификатора с пополнением данных с использованием структуры данных, которая соотносит идентификатор с пополнением данных. Это может задействовать использование таблицы или другой структуры данных, которая включает в себя один или более идентификаторы в качестве ключа для идентификации одного или более других идентификаторов. Например, имя «компания» для таблицы или столбца может быть использовано для нахождения связанных с ним пополнений в структуре данных. В качестве другого примера, имя таблицы «компания» вместе с именем столбца таблицы «биржевой символ» могут быть использованы вместе для нахождения связанных с ними пополнений данных тикера.

[0064] В блоке 320 может быть выполнен динамический анализ. Например, со ссылкой на Фиг. 2, рекомендательная подсистема 208 может анализировать одно или более запросных обращений, выданных в базу данных, для определения рекомендаций для пополнения данных. Например, если запросное обращение обозначает одно пополнение данных, это пополнение данных может быть использовано для идентификации других пополнений данных с использованием структуры связывания данных и т.п. К тому же, рекомендательная подсистема 208 может оценивать условия политики для ограничения рекомендаций лишь теми, которые не нарушают политику.

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

[0066] 1. Получение первого идентификатора первого пополнения данных, на которых делается ссылка в по меньшей мере одном запросном обращение. Например, если обращение включает идентификатор (например, имя) пополнения данных ("COMPANYFINANCIAL"), идентификатор может быть получен.

[0067] 2. Связывание первого идентификатора со вторым идентификатором второго пополнения данных с использованием структуры данных, которая связывает идентификаторы пополнений данных.

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

[0069] 1. Сравнение связанных с обращением времен первого обращения запроса и второго обращения, которыми получается идентичный тип (например, биржевые котировки) пополнения данных из двух различных источников;

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

[0071] 3. Определение идентификатора пополнения данных, ассоциированного с наиболее быстрым обращением.

[0072] Пополнение данных может быть затем рекомендовано для повышения производительности, например.

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

[0074] В блоке 325 предоставляются рекомендации на основе анализа метаданных. Например, со ссылкой на Фиг. 2, рекомендательная подсистема 208 может предоставлять рекомендации по пополнению данных в СУБД 206, приложение 205 или какой-либо другой компонент.

[0075] В блоке 330 предоставляются рекомендации на основе динамического анализа. Например, со ссылкой на Фиг. 2, рекомендательная подсистема 208 может предоставлять рекомендации по пополнению данных в СУБД 206, приложение 205 или какой-либо другой компонент.

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

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

[0078] Обращаясь к Фиг. 4, в блоке 405 начинаются действия. В блоке 410 принимается рекомендация по пополнению данных. Рекомендация основывается на одном или более из анализа метаданных базы данных и анализа запросов, выданных в СУБД, которая предоставляет доступ к базе данных. Например, со ссылкой на Фиг. 2, СУБД 206 может принимать рекомендацию по пополнению COMPANYNEWS от рекомендательной подсистемы 208. Впоследствии, СУБД 206 может предоставлять рекомендацию приложению 205. В другом варианте осуществления, приложение 205 может принимать рекомендацию непосредственно от рекомендательной подсистемы 208.

[0079] В блоке 415 указание рекомендации может быть предоставлено через графический интерфейс. Например, со ссылкой на Фиг. 2, приложение 205 может предоставлять разработчику программного обеспечения, пользователю и т.п. указание рекомендации посредством отображения рекомендации на компьютерном дисплее вместе с элементами пользовательского интерфейса, которые предоставляют возможность разработчику программного обеспечения указывать, желает ли разработчик программного обеспечения использовать пополнение данных.

[0080] В блоке 420 разработчику программного обеспечения дается возможность указать, хочет ли разработчик программного обеспечения использовать пополнение данных. Например, со ссылкой на Фиг. 2, разработчик программного обеспечения может указать приложению 205, будет ли рекомендованное пополнение данных использоваться, посредством отображаемых элементов интерфейса. В ответ на это, приложение 205 может информировать СУБД 206 на предмет того, будет ли использоваться рекомендованное пополнение данных.

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

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

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

1. Способ рекомендации пополнений данных для базы данных, реализуемый в компьютерной системе, включающей в себя процессор, при этом способ содержит этапы, на которых:

принимают запрос на предоставление рекомендаций по пополнениям данных для базы данных;

анализируют метаданные для базы данных, причем метаданные определяют структуру базы данных;

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

предлагают второе пополнение данных для базы данных, основываясь на подобии между первым пополнением данных и вторым пополнением данных, при этом второе пополнение данных предназначено для расширения базы данных; и

идентифицируют источник данных, который может предоставить второе пополнение данных, посредством того, что:

сравнивают характеристику первого обращения и второго обращения, которыми получают данные пополнения для второго пополнения данных из двух разных источников пополнения данных,

выбирают подходящее обращение на основе данного сравнения характеристики первого обращения и второго обращения и

определяют идентификатор для источника пополнения данных, ассоциированного с этим подходящим обращением.

2. Способ по п. 1, дополнительно содержащий этап, на котором идентифицируют источник данных, который может предоставить первое пополнение данных, посредством того, что: находят идентификатор в метаданных; и

связывают этот идентификатор с источником данных, используя структуру данных, которая соотносит данный идентификатор с первым пополнением данных.

3. Способ по п. 2, в котором при упомянутом нахождении идентификатора в метаданных находят имя столбца в метаданных, причем при связывании идентификатора с первым источником пополнения данных используют таблицу, которая соотносит идентификаторы с пополнениями данных.

4. Способ по п. 2, в котором при упомянутом нахождении идентификатора в метаданных находят имя таблицы в метаданных, причем при связывании идентификатора с первым источником пополнения данных используют таблицу, которая соотносит идентификаторы с пополнениями данных.

5. Способ по п. 2, в котором при упомянутом нахождении идентификатора в метаданных находят имя хранимой процедуры в метаданных, причем при связывании идентификатора с первым источником пополнения данных используют таблицу, которая соотносит идентификаторы с пополнениями данных.

6. Способ по п. 2, в котором при упомянутом нахождении идентификатора в метаданных находят тип данных столбца базы данных, причем при связывании идентификатора с первым источником пополнения данных осуществляют поиск по таблице, которая соотносит типы данных с пополнениями данных.

7. Способ по п. 1, в котором при упомянутой рекомендации первого пополнения данных посылают имя первого пополнения данных, а также тип входных данных для первого пополнения данных и тип выходных данных для первого пополнения данных, при этом упомянутые имя, тип входных данных и тип выходных данных предназначены для использования при разработке программного обеспечения, чтобы ссылаться на пополнения данных через базу данных.

8. Способ по п. 1, в котором при упомянутом выборе подходящего обращения на основе сравнения выбирают наиболее быстрое обращение из первого обращения и второго обращения в зависимости от того, какое из первого обращения и второго обращения имеет наименьшую задержку.

9. Способ по п. 1, дополнительно содержащий этап, на котором отображают указание первого пополнения данных в графическом интерфейсе.

10. Способ по п. 1, в котором упомянутое сравнение характеристики первого обращения и второго обращения, которыми получают данные пополнения для второго пополнения данных из двух разных источников пополнения данных, содержит сравнение связанных с обращением времен первого обращения и второго обращения, при этом при упомянутом выборе подходящего обращения на основе сравнения характеристики первого обращения и второго обращения выбирают наиболее быстрое обращение из первого обращения и второго обращения на основе сравнения связанных с обращением времен.

11. Способ по п. 10, в котором при упомянутом выборе наиболее быстрого обращения из первого обращения и второго обращения на основе сравнения связанных с обращением времен наиболее быстрое обращение из первого обращения и второго обращения выбирают в зависимости от того, у какого из первого обращения и второго обращения наименьшая задержка при получении данных пополнения для второго пополнения данных.

12. Система для рекомендации пополнений данных для базы данных, содержащая:

процессор;

системную память;

базу данных, хранящую данные и метаданные, относящиеся к данным, причем метаданные определяют структуру базы данных; и

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

принимать запрос на предоставление рекомендаций по пополнениям данных для базы данных;

анализировать упомянутые метаданные;

рекомендовать первое пополнение данных для базы данных, основываясь на анализе метаданных, причем первое пополнение данных предназначено для расширения базы данных;

предлагать второе пополнение данных для базы данных, основываясь на подобии между первым пополнением данных и вторым пополнением данных, для расширения базы данных; и

идентифицировать источник данных, который может предоставить второе пополнение данных, посредством:

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

определения идентификатора для источника данных, ассоциированного с наиболее быстрым обращением.

13. Система по п. 12, дополнительно содержащая систему управления базами данных (СУБД), которая предоставляет доступ к базе данных, при этом СУБД, база данных и рекомендательная подсистема размещены на одном или более серверах.

14. Система по п. 12, дополнительно содержащая систему управления базами данных (СУБД), которая предоставляет доступ к базе данных, при этом СУБД, база данных и рекомендательная подсистема размещены на компьютере.

15. Система по п. 12, в которой рекомендательная подсистема, будучи выполненной с возможностью рекомендовать первое пополнение данных, выполнена с возможностью:

находить идентификатор в метаданных; и

связывать этот идентификатор с первым пополнением данных, используя структуру данных, которая соотносит данный идентификатор с первым пополнением данных.

16. Система по п. 12, в которой рекомендательная подсистема, будучи выполненной с возможностью выбора наиболее быстрого обращения из первого обращения и второго обращения, выполнена с возможностью выбирать наиболее быстрое обращение из первого обращения и второго обращения в зависимости от того, какое из первого обращения и второго обращения имеет наименьшую задержку.

17. Компьютерный носитель информации, имеющий исполнимые компьютером инструкции, которыми при их исполнении выполняются действия, согласно которым:

принимают запрос на предоставление рекомендаций по пополнениям данных для базы данных;

анализируют метаданные для базы данных, причем метаданные определяют структуру базы данных;

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

предлагают второе пополнение данных для базы данных, основываясь на подобии между первым пополнением данных и вторым пополнением данных, для расширения базы данных; и

идентифицируют источник данных, который может предоставить второе пополнение данных, посредством:

выбора обращения с наиболее быстрым временем, связанным с обращением, из первого обращения и второго обращения, которыми осуществляется доступ ко второму пополнению данных из разных источников данных, и

определения идентификатора для источника данных, ассоциированного с этим обращением.

18. Компьютерный носитель информации по п. 17, в котором инструкции дополнительно включают в себя прием структуры данных, которая соотносит рекомендации с источниками пополнения данных, и отображение, по меньшей мере, части рекомендаций и соотнесенных с ними источников пополнения данных через графический интерфейс.

19. Компьютерный носитель информации по п. 17, в котором инструкции дополнительно включают в себя предоставление одной или более политик, которые должны быть удовлетворены в сочетании с рекомендацией первого пополнения данных.

20. Компьютерный носитель информации по п. 17, в котором выбор обращения с наиболее быстрым временем, связанным с обращением, из первого обращения и второго обращения представляет собой выбор обращения с наименьшей задержкой из первого обращения и второго обращения.



 

Похожие патенты:

Настоящее изобретение описывает способ и устройство отображения страницы. Технический результат заключается в обеспечении блокировки загрузки рекламных объявлений при сохранении скорости загрузки web-страницы.

Изобретение относится к области обработки веб-страниц и, в частности, к обработке веб-страниц для упрощения тестирования функциональности веб-страницы. Технический результат заключается в обеспечении тестирования фрагментов конкретной тестовой страницы в нескольких браузерах или нескольких версий одной страницы в одном браузере.

Группа изобретений относится к системе и способу организации в кластеры точек интереса с использованием сетки. Техническим результатом является снижение затрат ресурсов сервера.

Изобретение относится к области поиска в геоинформационных базах данных, содержащих материалы дистанционного зондирования Земли, и может быть использовано при обработке данных, решении расчетно-аналитических и фотограмметрических задач.

Изобретение относится к способу и аппарату для предоставления рекомендации мультимедиа-ресурса, относящиеся к области технологий мультимедиа-ресурсов. Технический результат заключается в повышении уровня достоверности данных за счет получения вторых оценок пользовательского предпочтения из множества рекомендуемых мультимедиа-ресурсов.

Группа изобретений относится к области компьютерной связи. Технический результат – повышение точности и эффективности поиска в социальной сети за счет возможности установки меток для пользователей.

Изобретение относится к технологиям обработки доступа несанкционированного пользователя к веб-ресурсам. Техническим результатом является повышение защищенности доступа к ресурсам, за счет осуществления блокировки несанкционированного лица во время осуществления им несанкционированного доступа к сетевому ресурсу.

Изобретение относится к средствам проведения поиска. Технический результат заключается в повышении релевантности результатов поиска.

Изобретение относится к способу и устройству для идентификации кодирования веб-страницы, которые принадлежат области компьютерных сетей. Техническим результатом является повышение точности идентификации режима кодирования веб-страницы.

Изобретение относится к способу и системе определения адреса. Технический результат – более точное определение физического положения электронного устройства (ЭУ).

Изобретение относится к расширению ответов на обращения к базе данных, используя данные из внешних источников данных. Техническим результатом является повышение эффективности использования вычислительных ресурсов за счет обеспечения технологии работы с внутренними и внешними базами данных. В способе расширения ответов на обращения к базе данных данными из внешних источников данных обрабатывают обращение к базе данных, причем обращение включает в себя параметры для выбора данных из источников данных, включающие идентифицированные логические объекты, для которых должны быть извлечены значения данных. Определяют, что значения для первого подмножества идентифицированных логических объектов являются доступными из первой базы данных, и определяют, что значения для второго подмножества объектов являются недоступными из первой базы данных. Извлекают из первой базы данных значения для первого подмножества объектов. Генерируют запрос извлечения значений для второго подмножества объектов из второй базы данных в качестве реакции на выявление параметра расширения. Генерируют расширенный ответ на обращение к базе данных, включающий значения для первого подмножества объектов из первой базы данных и значения для второго подмножества объектов из второй базы данных. 3 н. и 16 з.п. ф-лы, 8 ил.

Изобретение относится к машиночитаемому носителю, способу и системе обеспечения представления действий и поставщиков, ассоциированных с субъектами. Технический результат заключается в расширении функциональных возможностей за счет обеспечения возможности выполнения действия, связанного с поставщиком, непосредственно со страницы результатов поиска. В способе определяют намерение запроса, используя журнал запросов пользователей, идентифицируют группу наборов субъектов, содержащих один и тот же субъект, используют идентифицированную группу наборов субъектов, чтобы идентифицировать совокупность действий, ассоциированных с одним и тем же субъектом, идентифицируют поставщиков, ассоциированных с каждым из идентифицированной совокупности действий, причем каждый из этих поставщиков реализует ассоциированное действие в отношении одного и того же субъекта, и предоставляют совокупность действий и поставщиков для согласованного объединения с представлением ассоциированного субъекта на странице результатов поиска, включающей в себя выбираемый результат поиска, причем совокупность действий представляет собой действия, реализуемые соответствующими поставщиками, так, что выбор одного из этих поставщиков инициирует выполнение соответствующего действия выбранным поставщиком. 3 н. и 15 з.п. ф-лы, 12 ил.

Изобретение относится к области обработки данных. Техническим результатом является повышение эффективности обработки данных в режиме реального времени. Способ обработки данных в режиме реального времени содержит этапы, на которых: передают по меньшей мере одному подчиненному серверу аналитической обработки данных в режиме реального времени (OLAP-серверу) сообщение с запросом данных; принимают информацию с данными об обслуживании пользователей, переданную указанным по меньшей мере одним подчиненным OLAP-сервером, при этом информация с данными об обслуживании пользователей содержит информацию об объеме обслуживания одного или более пользователей, пользовавшихся роумингом, и информацию об объеме обслуживания одного или более пользователей, не пользовавшихся роумингом и удовлетворяющих первому параметру-условию, причем информация об объеме обслуживания содержит идентификаторы пользователей и объемы обслуживания, соответствующие идентификаторам пользователей; и суммируют объемы обслуживания, на основе идентификаторов пользователей и соответствующих объемов обслуживания, для получения информации о суммарном объеме обслуживания каждого из одного или более пользователей, имеющих сумму объемов обслуживания, удовлетворяющую второму параметру-условию, из сумм объемов обслуживания, соответствующих указанным идентификаторам пользователей, при этом информация о суммарном объеме обслуживания содержит идентификатор пользователя каждого из указанных одного или более пользователей и соответствующую сумму объемов обслуживания. 5 н. и 18 з.п. ф-лы, 10 ил., 2 табл.

Изобретение относится к Интернет-технологии, в частности к способу и системе формирования круга общения и устройству памяти. Технический результат заключается в обеспечении динамического формирования информации круга общения. Технический результат достигается за счет распознавания атрибутов подгруппы из круга общения, совместно используемых участниками круга общения, и сопоставление результата распознавания атрибутов подгруппы с кругом общения, выполнения процесса сегментации слова атрибутов подгруппы для сегментации атрибутов подгруппы на ключевые слова, получения по меньшей мере одного результата распознавания и соответствующих весовых значений соответствия атрибутов подгруппы посредством анализа сегментированных атрибутов подгруппы, извлечения результата распознавания атрибутов подгруппы в соответствии с соответствующим весовым значением соответствия атрибута подгруппы из по меньшей мере одного результата распознавания атрибутов подгруппы, и сопоставления извлеченного результата распознавания атрибутов подгруппы с кругом общения, в качестве информации атрибута круга общения. 3 н. и 14 з.п. ф-лы, 8 ил.

Изобретение относится к способу и устройству резервного копирования файла. Технический результат заключается в обеспечении возможности избежать повторного резервного копирования одного и того же файла с разными путями доступа к файлу. Способ включает запрос определенного хеш-значения в базе данных локального резервного копирования, и если обнаружено, что указанное хеш-значение записано в базе данных локального резервного копирования, то отмену резервного копирования файла на сервер резервного копирования; причем, до отмены резервного копирования файла на сервер резервного копирования, запрос о том, помечено ли хеш-значение как загруженное в базу данных локального резервного копирования, отмену резервного копирования файла на сервер резервного копирования, если обнаружено, что хеш-значение помечено как загруженное, запрос на сервер резервного копирования, успешно ли загружен файл, соответствующий хеш-значению, если обнаруживается, что хеш-значение не помечено как загруженное, при этом если обнаружено, что файл, соответствующий хеш-значению, успешно загружен, пометку хеш-значения в качестве загруженного в базу данных локального резервного копирования и отмену резервного копирования файла на сервер резервного копирования. 6 н. и 16 з.п. ф-лы, 17 ил.

Изобретение относится в целом к адресации по содержанию (контенту), более точно к способам и системам эффективного установления соответствия при адресации по содержанию в среде промежуточного программного обеспечения, ориентированного на обработку сообщений. Техническим результатом является повышение эффективности и производительности при установлении соответствия между сообщением и запросом по контексту. В способе эффективного установления соответствия при адресации по содержанию принимают запрос и генерируют древовидную структуру, упорядоченную одним или нескольким полями запроса. Анализируют сообщение и выполняют поиск в древовидной структуре с использованием содержания из одного или нескольких полей сообщения. Определяют наличие соответствия между значением содержания сообщения и значением содержания запроса, хранящегося в древовидной структуре. Принимают сообщение, если значение содержания сообщения соответствует одному или нескольким значениям содержания запроса. 3 н. и 16 з.п. ф-лы, 13 ил.

Изобретение относится к способу уточнения результатов поиска объектов в базе данных. Технический результат заключается в повышении точности поиска данных. В способе выполняют представление пользователю набора объектов базы данных, каждый из которых ассоциирован с одним средством, позволяющим пользователю сигнализировать релевантность, и с одним средством, позволяющим пользователю сигнализировать нерелевантность объекта по отношению к его поиску, присвоение, в зависимости от сигнализации пользователя, веса дескрипторам объекта из набора представленных объектов, которые пользователь считает релевантными или нерелевантными своему поиску, вычисление суммарного результата весов, ассоциированных с каждым дескриптором набора объектов-результатов, инициализация индекса релевантности для каждого объекта-результата, сопоставление каждого объекта-результата с суммарным результатом и увеличение или уменьшение индекса релевантности объекта для каждого дескриптора сопоставляемого объекта-результата в зависимости от веса этого дескриптора в суммарном результате, представление пользователю объектов-результатов в порядке их вычисленного индекса релевантности. 13 з.п. ф-лы, 6 ил.

Изобретение относится к средствам для проектирования процессов бурения на месторождении. В частности, предложен способ создания и использования поддерживающей анонимность базы данных работ на нефтяном месторождении, содержащий: определение набора операций показателей работ, подлежащих проведению для противопоставления необработанных данных показателей работ для образования индикаторов показателей работы для каждого показателя на нефтяном месторождении, представленного в наборе; агрегирование множества индикаторов показателей работ для генерирования статистических индикаторов для каждого показателя на нефтяном месторождении в наборе, причем статистические индикаторы сформированы из необработанных данных, которые не являются напрямую доступными по запросу; сохранение статистических индикаторов для каждого показателя на нефтяном месторождении в наборе на доступном носителе информации; генерирование индекса показателей работы для каждого статистического показателя с помощью сравнения соответствующего индикатора показателей работ с эталонным значением, и идентификацию потерь производительности с использованием индексов показателей работы. Предложенное техническое решение обеспечивает сравнение работ со сторонними организациями без нарушения конфиденциальности и права собственности на необработанные данные. 4 н. и 17 з.п. ф-лы, 5 ил.

Группа изобретений относится к технологиям обмена данными в социальных сетях с помощью технологии клиент-сервер. Техническим результатом является осуществление оценки доверия комментариям пользователей посредством рейтинга пользователя и автоматической блокировки пользователя с низким рейтингом. Предложена самонастраивающаяся интерактивная система обмена комментариями между пользователями, по меньшей мере, в одной социальной сети с использованием технологии клиент-сервер. Система содержит модуль доступа, модуль создания профиля пользователя, модуль оценки надежности профиля пользователя. Модуль оценки надежности предназначен для вычисления рейтинга пользователя, который показывает уровень доверия комментариям этого пользователя. Если, по меньшей мере, два других пользователя с большими рейтингами отмечают комментарии пользователя как ненадежные или оскорбительные, система осуществляет блокировку комментариев этого пользователя. 3 н. и 20 з.п. ф-лы, 16 ил.

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