用于促成数据发现的伪文档的制作方法

文档序号:6533578阅读:139来源:国知局
用于促成数据发现的伪文档的制作方法
【专利摘要】各个实施例提升了可被包含在数据库内的数据的可发现性。在一个或多个实施例中,数据库内的数据以具有一模式的结构来组织。该结构和数据能够以呈现一个或多个伪文档的方式来处理,每个伪文档构成一个可被索引的子结构。在被生成和索引之后,伪文档构成一个可搜索对象集,每个可搜索对象关系性地回指向其在数据库内的相关联结构。现在可针对伪文档执行搜索,进而返回搜索结果集。搜索结果集可包括多个伪文档子集,每个伪文档子集与一不同结构相关联。
【专利说明】用于促成数据发现的伪文档
[0001]背景
[0002]数据库开始被视为要被搜索的对象,然而搜索者可能还不理解数据库内的模式或数据。考虑到巨大数量的数据库以及这些数目增加的速度以及包含在这些数据库中的数据发展的速度,发现相关数据可能不仅对于那些熟悉数据库及其模式的人来说是一项艰巨的任务,对于那些不熟悉数据库及其模式的人来说更是如此。
[0003]概述
[0004]提供本概述是为了以简化的形式介绍将在以下【具体实施方式】中进一步描述的概念选择。本概述并非旨在标识出所要求保护的主题的关键特征或必要特征。
[0005]各个实施例提升了可被包含在数据库内的数据的可发现性。在一个或多个实施例中,数据库内的数据以具有一模式的结构来组织。该结构和数据能够以呈现一个或多个伪文档的方式来处理,每个伪文档构成一个可被索引的子结构。任何适当的准则可被用于处理数据库的结构和数据以创建伪文档。在一些实施例中,处理可包括对数据库或其它函数调用运行查询(诸如SQL查询)以生成伪文档。
[0006]在被生成和索引之后,伪文档构成一个可搜索对象集,每个可搜索对象关系性地回指向其在数据库内的相关联结构。现在可针对伪文档执行搜索,进而返回搜索结果集。搜索结果集定义了伪文档集合,并且每个伪文档关系性地回指向其相关联结构。
[0007]伪文档集合的属性和特性可被用于确定它们相关联的结构相对于被执行以生成该集合的搜索的相关性。在确定了相关联结构的相关性之后,数据库或多个数据库内的一个或多个相关联结构可被标识为更可能对特定的搜索用户有用。
[0008]伪文档可用于抽象出数据库内各个结构的模式并且可促进更容易、更简化的搜索范例来促成数据库内数据的发现。
[0009]附图简述
[0010]在全部附图中,使用相同的附图标记来指示相同的特征。
[0011]图1示出了根据一个或多个实施例的示例操作环境。
[0012]图2示出了根据一个或多个实施例的示例操作环境。
[0013]图3示出了根据一个或多个实施例的示例操作环境。
[0014]图4示出了根据一个或多个实施例的示例数据结构和伪文档。
[0015]图5示出根据一个或多个实施例的可在其中搜索伪文档的环境。
[0016]图6是描述根据一个或多个实施例的方法中的各步骤的流程图。
[0017]图7是描述根据一个或多个实施例的方法中的各步骤的流程图。
[0018]图8示出了根据一个或多个实施例的示例系统。
[0019]图9示出了根据一个或多个实施例的示例设备。
[0020]详细描述
[0021]概览
[0022]各个实施例提升了可被包含在数据库内的数据的可发现性。在一个或多个实施例中,数据库内的数据以具有一模式的结构来组织。该结构和数据可能够呈现一个或多个伪文档的方式来处理,每个伪文档构成一个可被索引的子结构。任何适当的准则可被用于处理数据库的结构和数据以创建伪文档。在一些实施例中,处理可包括对数据库或其它函数调用运行查询(诸如SQL查询)以生成伪文档。
[0023]在被生成和索引之后,伪文档构成一个可搜索对象集,每个可搜索对象关系性地回指向其在数据库内的相关联结构。现在可针对伪文档执行搜索,进而返回搜索结果集。搜索结果集定义了伪文档集合,并且每个伪文档关系性地回指向其相关联结构。
[0024]伪文档集合的属性和特性可被用于确定它们相关联的结构相对于被执行以生成该集合的搜索的相关性。在确定了相关联结构的相关性之后,数据库或多个数据库内的一个或多个相关联结构可被标识为更可能对特定的搜索用户有用。伪文档可用于抽象出数据库内各个结构的模式并且可促进更容易、更简化的搜索范例来方便数据库内数据的发现。
[0025]在以下讨论中,首先描述可采用本文描述的技术的示例环境。随后描述可在该示例环境以及其他环境中执行的示例过程。因此,各示例过程的执行不限于该示例环境,并且该示例环境不限于执行各示例过程。
[0026]示例环境
[0027]图1概括地在100处示出根据一个或多个实施例的操作环境。环境100包括本地客户机形式的计算设备102,计算设备102具有一个或多个处理器104、一个或多个计算机可读存储介质106和驻留在计算机可读存储介质上并可由处理器104执行的一个或多个应用程序108。计算设备102还包括web浏览器110和查询模块111。模块111可作为由应用程序108和web浏览器使用的单独组件驻留。替代的,模块111可与应用程序108和/或web浏览器110集成以允许如以下所描述的执行对伪文档的搜索。
[0028]计算设备102可被具体化为任何合适的计算设备,诸如作为示例而非限制,台式计算机,便携式计算机,诸如个人数字助理(PDA)之类的手持式计算机、移动电话、电视机、平板计算机,等等。计算设备102的多个不同示例之一在以下图8和9中示出并描述。
[0029]应用程序108可包括任何合适类型的应用程序。Web浏览器110被配置成经由网络112导航。虽然网络112被示为因特网,但是该网络可以采用各种各样的配置。例如,网络112可以包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网和内联网等等。此外,虽然只示出了单一网络112,但是,网络112可以被配置成包括多个网络。
[0030]浏览器可被配置成经由网络112导航以与来自一个或多个服务器114(诸如web服务器)的可用内容交互,以及将数据传送给一个或多个服务器114,例如执行下载和上传。服务器114可被配置成提供可经由网络112访问的一个或多个服务并且可包括维护可由计算设备102访问的数据(诸如结构数据以及相关联的元数据)的一个或多个数据库。数据库内的结构化数据可以任何适当方式来结构化,包括作为示例而非限制的关系结构,诸如表格或类似的。表格包括可以任何适当方式指定的行和列。行和列的交点定义了单元格,而单元格进而可包括可搜索数据。
[0031]服务器114可包括数据分析器以及索引模块,索引模块用于提供可搜索伪文档,如以下更详细描述的。如以上提到的,服务器可提供各自服务,包括作为示例而非限制的地图服务、电子邮件、网页、照片分享站点、社交网络、内容分享服务、媒体流服务、数据检索和/或显示服务等等。与这些服务相关联的数据可被组织并且维护在相关联的数据库内作为结构化数据和相关联的元数据。元数据可由数据库的创建者或维护者来提供以促成搜索。替换地或另外地,元数据可包括由第三方而不是数据库的创建者或维护者开发的并且随后添加到数据库的隐含元数据,以将一收集窗口添加到数据库的内容中。例如,当终端用户与特定数据库的数据交互时,该终端用户可使描述该数据的一些特性或属性的所谓隐含元数据被添加到数据库中。
[0032]可搜索的伪文档提升了可被包含在数据库内的数据的可发现性,并且同时还抽象出了出现在数据库中的数据的结构和/或模式。在一个或多个实施例中,数据库内的数据以具有一模式的结构来组织。可使用任何合适的结构和模式。例如,诸如表格等之类的任何适当的关系结构可被用于组织和维护出现在数据库内的数据。该结构和数据能够以呈现一个或多个伪文档的方式来处理,每个伪文档构成一个可被索引的子结构。任何适当的准则可被用于处理数据库的结构和数据以创建伪文档。在一些实施例中,处理可包括对数据库或其它函数调用运行查询(诸如SQL查询)以生成伪文档。索引可以用任何合适的方式进行。例如,在至少一些实施例中,伪文档可通过创建倒排索引来索引,该倒排索引可存储单词、术语、数字或其它信息与它们相关联的伪文档的映射。如本领域技术人员将理解的,倒排索引可允许快速全面的文本搜索。
[0033]在被生成和索引之后,伪文档构成一个可搜索对象集,每个可搜索对象关系性地回指向其在数据库内的相关联结构。现在可针对伪文档执行搜索,然后伪文档返回搜索结果集。搜索结果集定义了伪文档集合,并且每个伪文档关系性地回指向其相关联结构。例如,特定数据库可包含数千个可用于组织数据的表格。这些表格中的每一个可具有其自己的伪文档集,伪文档构成了特定表格的可搜索对象集。通过对伪文档执行搜索,可为相应的表发展伪文档。
[0034]伪文档集合的属性和特性可被用于确定它们相关联的结构(例如表格)相对于被执行以生成该集合的搜索的相关性。在确定了相关联结构(例如表格)的相关性之后,数据库或多个数据库内的一个或多个相关联结构可被标识为更可能对特定的搜索用户有用。
[0035]伪文档因而用于抽象出数据库内各个结构的模式并且可促进更容易、更简化的搜索范例来方便数据库内数据的发现。
[0036]计算设备的应用程序108中的一个或多个还可被配置成访问网络112,例如它们直接发给访问和/或通过浏览器访问。例如,应用程序108中的一个或多个可被配置成传递消息(诸如电子邮件)、即时消息等。在更多示例中,例如应用程序108可被配置成访问社交网络、获得天气更新、与由web服务器114中的一个或多个实施的书店服务交互、支持文字处理、提供电子表格功能、支持演示的创建和输出、搜索伪文档等等。
[0037]因此,应用程序108还可被配置用于涉及直接或间接网络112访问的各种功能。例如,应用程序108可包括可由应用程序108本地地使用并且与执行在另一计算设备上的应用同步的配置设置和其它数据。以此方式,这些设置可由各设备共享。也可考虑各种其他实例。因此,计算设备102可以各种方式与来自各个不同源的内容交互。
[0038]一般而言,此处描述的任何功能可使用软件、固件、硬件(例如,固定逻辑电路)、或这些实现的组合来实现。本文使用的术语“模块”、“功能”和“逻辑”一般表示软件、固件、硬件或其组合。在软件实现的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上执行时执行指定任务的程序代码。程序代码可被储存在一个或多个计算机可读存储器设备中。下面所描述的技术的特征是平台无关的,意味着所述技术可以在具有各种处理器的各种商用计算平台上实现。
[0039]例如,计算设备102还可包括使得计算设备102的硬件或虚拟机执行操作的实体(例如软件),例如处理器、功能块,等。例如,计算设备102可包括计算机可读介质,其被配置用于维护使得计算设备尤其是计算设备102的操作系统和相关联的硬件执行操作的指令。因此,指令用于配置操作系统和相关联的硬件来执行操作,并以此方式致使操作系统和相关联的硬件变换以执行功能。可由计算机可读介质通过各种不同配置将指令提供给计算设备102。
[0040]一种这样的计算机可读介质配置是信号承载介质,并因此被配置来将指令(例如,作为载波)传送到计算设备(诸如经由网络)。计算机可读介质还可被配置为计算机可读存储介质,因此不是信号承载介质。计算机可读存储介质的示例包括,随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器,和其他可使用磁、光以及用于存储指令和其他数据的其他技术的存储设备。
[0041]图2概括地在200处示出图1的操作环境的一个略微不同的视图,其中相同的数字表示相同的组件。在这一示例中,环境200包括数据库202和数据库管理系统204。数据库管理系统包括一个或多个计算机可读存储介质和计算机可读指令,该计算机可读指令实施用于管理数据库及其相关联数据的数据库管理技术。因此,数据库管理系统204包括用于控制数据库202内的数据的组织、存储、管理以及检索的一个或多个软件程序。
[0042]在示出和描述的实施例中,数据库包括可以任何适当方式结构化的数据206、与数据206相关联的元数据208以及与数据206相关联的伪文档210。数据库管理系统204包括数据分析器204a以及索引模块204b。数据分析器204a表示分析数据206以及相关联的元数据208以生成伪文档210的功能。随后可使用索引模块204b以任何适当方式来索引伪文档210。例如,索引模块204b可处理伪文档210以便以提供可通过例如倒排索引来搜索的关键词或串的方式对伪文档210进行索引。相应地,当搜索者使用例如查询模块111 (其可驻留在服务器114和/或终端用户的计算设备102上)键入一查询项集时,搜索引擎可使用该索引来将伪文档210内的关键词或串与接收到的查询项作比较。基于返回的伪文档子集,这可允许数据库200内的相关结构化数据在返回的结果内排名更高。如本领域技术人员将理解的,可使用任何适当类型的索引和排名方法。
[0043]考虑了示例操作环境之后,现在考虑对根据一个或多个实施例如何创建及之后使用伪文档的讨论。
[0044]创建伪文档
[0045]图3示出了创建与数据206相关联的伪文档之前的包括数据206以及元数据208的数据库202。在示出和描述的实施例中,并且如之前提到的,数据206构成可以任何适当方式结构化的结构化数据。结构化这样的数据的一种方法是以具有行和列的关系表格的形式组织数据。可以利用其它结构而不背离所要求保护的主题的精神和范围。
[0046]在一个或多个实施例中,可首先对应当为任何特定的结构化数据集合创建哪些类型的伪文档作出决定。这一决定可至少部分基于包括数据206的数据的类型、相关联的元数据208、数据自身的内容、基于数据的性质的数据可能或实际使用、可能对数据206执行的搜索的输出等等。关于包括数据206的数据的类型,考虑如下。在一特定数据结构中,某些类型的数据可被认为更重要或更有用。在这些情况下,可作出生成更重度地利用这些特定类型的数据的伪文档的决定。关于导致创建特定伪文档的决定的数据的实际内容,考虑如下。在某些情况下,数据的内容在被单独考虑或者与包含在特定数据结构中的其它数据组合考虑时可具有某种上下文相关性。在这些情况下,创建伪文档的决定可利用该数据的内容在被单独查看或者与出现在数据结构中的其它数据组合查看时的上下文相关性。关于数据的可能或实际使用,考虑如下。在许多情况下,数据的本质可驱动数据的可能或实际使用。例如,与某些产品的价格信息有关的数据可通常被用于包括销售情景、产品价格点情景等情景。给定这些特定情景,可利用数据的可能或实际使用来作出生成伪文档的决定。关于可能对数据结构的数据执行的搜索的输出,考虑如下。给定数据库内的数据集,可以分析数据并确定数据有多少可能被搜索以及这类搜索的输出可能看上去是什么样。基于对数据结构的特定搜索的输出可能是什么样的考虑,可生成捕捉或以其它方式实施这一输出的特性和属性的伪文档。考虑这些以及其它因子,数据分析器204a可执行多个查询(诸如SQL查询、函数调用等)以生成多个伪文档210。每个伪文档表示被查询的数据结构的子结构。例如,如果被查询的数据结构构成表格,则可生成对应于各个列、各个行、分布在不同列和/或行的各个单元格、与被查询的表格关系性地相关联的表格中包含的内容等的伪文档。这些单个伪文档中的每一个构成一个可搜索对象。对于任何一个特定数据机构(例如表格),可生成多个不同伪文档。多个不同伪文档共同构成可搜索对象集。例如,如果表格包含与用国家ID标识的世界上的国家相关联的数据,则数据分析器204a可执行与标识与国家ID43相关联的数据有关的第一查询。替代地或另外的,查询可以与基于这一国家ID返回表格的划分有关。基于数据分析器204a所执行的查询,可生成捕捉包括数据206的结构化数据的多个不同特性和属性的多个不同伪文档(在此表示为PD1、H)2、……、Η)η)。随后可使用索引模块204b以任何适当方式来索引各个伪文档。被索引的伪文档集合构成可搜索对象集300,该可搜索对象集300可被存储在数据库202中。在所示出和描述的实施例中,每个伪文档包括回指向其原始的结构化数据(例如表格)的指针。
[0047]作为示例,考虑图4。在图4中,当已由数据分析器204a和索引模块204b (图3)处理之后,来自数据库202 (图3)的数据206被示为包括多个数据结构,在此表示为数据结构400、402、404、......、4NN。各个数据结构中的每一个可包括任何适当配置的结构的数据,诸如关系结构、表格等。每个数据结构包括其自己的伪文档集合,伪文档集合就显示在每个数据结构的右边。例如,数据结构400包括从被指定的第一伪文档ro1开始的伪文档集合,依此类推。
[0048]在已如上所述地为特定数据结构中的每一个创建了伪文档之后,现在可考虑可如何使用伪文档。
[0049]使用伪文档
[0050]图5示出了其中包括计算设备102的系统,计算设备102包括查询模块111,其呈现允许用户输入搜索项的用户界面。在这一特定示例中,用户所输入的搜索项是“自调谐数据库”。这一输入的搜索项形成一使用适当配置的索引500 (诸如倒排索引)对数据库202中出现的伪文档执行的查询。具体来说,数据库202包括多个不同数据结构(在此用较大的矩形表示),各个数据结构具有其自己的伪文档集合(在此用较小的矩形表示)。被索引的伪文档使用由用户输入的搜索项来搜索,并且返回包括多个不同伪文档的结果集502,伪文档的各个集合分别与一数据结构相关联。具体来说,每个伪文档关系性地回指向与其相关联的一个或多个结构。在这一特定示例中,第一数据结构与单个伪文档504相关联,第二数据结构与四个伪文档506相关联,而第三数据结构与23个伪文档508相关联,这些伪文档与用户所输入的搜索项匹配或以其它方式相关。回想起伪文档的每一个包括回指向其相关联的数据结构的指针,在此用回指向相关联数据结构的线来图示地表示。假设在这一示例中,每个数据结构具有30个相关联的伪文档。由于针对第三数据结构返回了 23个伪文档这一事实,可以推测第三数据结构与第一和第二数据结构相比可能与用户输入的搜索项更密切相关。基于此,可作出第三数据结构非常切合用户的搜索项并因此可向其分配重要等级供后续使用的决定。可使用其它准则来基于用户的搜索所返回的伪文档集合的对数据结构排名。例如,基于文本的打分可被用于基于用户的搜索项来为每个伪文档计算分数。这样的基于文本的打分可考虑其中某些项被使用、以及位置上靠近其它搜索项等的上下文。基于伪文档的分数,可标识特定的相关联数据结构。替代地或另外地,基于统计排名的技术可被用于计算每个伪文档的分数。例如,对于某些类型的伪文档,可使用增加在搜索结构中的那些类型的文档的重要性的相关联统计排名因子。基于伪文档的分数,可标识特定的相关联数据结构。替代地或另外地,定制词典可被用于影响伪文档在搜索结果内如何排名。替代地或另外地,伪文档可基于可能在伪文档内出现的特定模式来排名。例如,特定伪文档的排名可能基于特定URI模式的出现而被提高或降低。替代地或另外地,伪文档可基于它们相对于可能在搜索中返回的其它伪文档(其可以或可以不回指向相同的数据结构)的时间重要性来排名。例如,时间排名相同可收集指示在各个快照点处伪文档之间的链接的链接信息或快照。该排名系统可通过将来源于当前快照的文档的当前重要性以及来源于过去的快照的文档的历史重要性考虑在内来计算文档的当前时间重要性。然而,基于伪文档的分数,可标识所生成的特定的相关联数据结构。替代地或另外地,可使用各种基于频率的技术来对伪文档排名。例如,对于特定搜索伪文档被返回的频率可影响其排名。另外,某些伪文档一起被返回的频率可影响它们的排名。例如,频繁地一起被返回的两个或三个伪文档与不频繁地一起被返回的其它伪文档相比可排名更高。
[0051]可以领会和理解的是,伪文档及其相关联数据结构可以任何适当的方式来排名,而不背离所保护的发明主题的精神和范围。
[0052]在这一特定示例中,可以领会和理解的是,由用户输入的搜索不是SQL查询或其它类似查询形式的结构化搜索。相反,简单关键词搜索已被输入,并且凭借伪文档所提供的抽象,可标识相关的一个或多个数据结构,该数据结构随后可以是进一步搜索的主体。因此,搜索者可快速且高效地标识对他们有用的信息和数据而不需要组织负责的结构化搜索。
[0053]示例方法
[0054]图6是描述根据一个或多个实施例的其中可创建伪文档的方法中的各步骤的流程图。该方法可以结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,方法可由适当配置的数据分析器和索引模块(诸如以上所描述的那些)来实施。
[0055]步骤600接收与存储在数据库中的数据相关联的数据结构。可使用任何合适类型的数据结构。在至少一些实施例中,数据结构以表格的形式驻留,当然其它数据结构也可被使用而不背离所保护的发明主题的精神和范围。步骤602处理数据结构以生成与该数据结构相关联的伪文档。在示出和描述的实施例中,每个特定数据结构可具有伪文档集合,其表示该特定数据结构的可搜索对象集。任何适当的技术可被用于生成伪文档。在至少一些实施例中,伪文档可通过执行针对数据结构的查询(诸如SQL查询)来创建。这可如何完成的示例在上文中提供。步骤604允许伪文档能够被搜索。该步骤可以按任何合适的方式来执行。例如,在至少一些实施例中,伪文档可与其相关联的数据结构一起被存储在数据库中。
[0056]图7是描述根据一个或多个实施例的方法中的各步骤的流程图。该方法可以结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,方法可通过适当配置的搜索引擎来实施,诸如与web浏览器或执行在计算设备上的其它软件相关联的那些搜索引擎。
[0057]步骤700接收与搜索相关联的搜索项。在解说和描述的实施例中,搜索项可包括文本串,诸如要被用于查询中的一个或多个词。步骤702使用该搜索项来搜索伪文档集合。在示出和描述的实施例中,搜索项可被用于搜索经索引的伪文档集合。步骤704标识与搜索返回的伪文档集合相关联的一个或多个数据结构。基于对该数据结构的标识,现在可作出特定数据结构相对于步骤700处接收的搜索项的针对性的判断。
[0058]在已考虑了各个实施例和方法之后,现在考虑可被用于实施以上描述的实施例的示例系统和设备。
[0059]示例系统和设备
[0060]图8示出了包括参考图1描述的计算设备102的示例系统800。示例系统800实现了用于当在个人计算机(PC)、电视机设备和/或移动设备上运行应用时的无缝用户体验的普遍存在的环境。服务和应用在所有三个环境中基本相似地运行,以便当使用应用、玩视频游戏、看视频等时在从一个设备转换到下一设备时得到共同的用户体验。
[0061]在示例系统800中,多个设备通过中央计算设备互连。中央计算设备对于多个设备可以是本地的,或者可以位于多个设备的远程。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的云。在一个实施例中,该互连架构使得功能能够跨多个设备递送以向多个设备的用户提供共同且无缝的体验。多个设备的每一个可具有不同的物理要求和能力,且中央计算设备使用一平台来使得为设备定制且又对所有设备共同的体验能被递送到设备。在一个实施例中,创建目标设备的类,且使体验适应于设备的通用类。设备类可由设备的物理特征、用途类型、或其他共同特性来定义。
[0062]在各种实现中,计算设备102可采取各种不同的配置,诸如用于计算机802、移动设备804、和电视机806用途。这些配置中的每一个包括可具有一般不同的构造和能力的设备,并且因而计算设备102可根据不同的设备类中的一个或多个来配置。例如,计算设备102可被实现为计算机类802设备,该计算机设备类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。这些不同配置中的每一个可使用此处所描述的技术,如通过包括应用程序108、Web浏览器110以及查询模块111来示出的。
[0063]计算设备102还可被实现为移动类804设备,该移动类设备包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备。计算设备102还可被实现为电视机类806设备,该电视机类设备包括在休闲观看环境中具有或连接到一般更大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。本文所描述的技术可由计算设备102的这些各种配置来支持,且不限于在本文描述的各具体示例。
[0064]云808包括和/或表示内容服务810的平台812。平台810可包括被如上所描述的配置成提升数据结构的可搜索性的多个数据库。平台810抽象云808的硬件(如,服务器)和软件资源的底层功能。内容服务812可包括可在计算机处理在位于计算设备102远程的服务器上执行时使用的应用程序和/或数据。内容服务812可作为因特网上和/或通过诸如蜂窝或W1-Fi网络之类的订户网络上的服务来提供。
[0065]平台810可抽象资源和功能以将计算设备102与其他计算设备相连接。平台810还可用于抽象资源的缩放以向经由平台812实现的内容服务810所遇到的需求提供对应的缩放级别。因此,在互联设备的实施例中,本文描述的功能的实现可分布在系统800上。例如,该功能可部分地在计算设备102上以及经由抽象云810的功能的平台808来实现。
[0066]图9示出了可被实现为如上所述的任何类型的计算设备来实现本文描述的技术的各实施例的示例设备900的各个组件。设备900包括允许设备数据902 (例如,接收到的数据、正被接收的数据、安排用于广播的数据、数据的数据包等)的有线和/或无线通信的通信设备904。设备数据904或其他设备内容可以包括设备的配置设置、存储在设备上的媒体内容、和/或与设备的用户相关联的信息。存储在设备900上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备900包括一个或多个数据输入906,经由数据输入可接收任何类型的数据、媒体内容、和/或输入,诸如用户可选输入、消息、音乐、电视媒体内容、记录的视频内容、以及从任何内容源和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
[0067]设备900还包括通信接口 908,其可被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器、以及任何其他类型的通信接口中的任一个或多个。通信接口908提供设备900和通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过所述连接和/或通信链路来与设备900传递数据。
[0068]设备900包括一个或多个处理器910 (如,微处理器、控制器等中的任一个),该处理器处理各种计算机可执行指令来控制设备900的操作并实现此处描述的技术的各实施例。作为补充或替换,设备900可被实现为具有与在912处概括标识的处理和控制电路有关地实现的硬件、固件、或固定逻辑电路中的任何一个或组合。虽然未示出,但是设备900可包括耦合设备内的各种组件的系统总线或数据传输系统。系统总线可包括不同总线结构中的任一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任一种的处理器或局部总线。
[0069]设备900还可包括计算机可读介质914,诸如一个或多个存储器组件,该存储器组件的示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任何一个或多个)、以及盘存储设备。盘存储设备可被实现为任何类型的磁性或光学存储设备,如硬盘驱动器、可记录和/或可重写紧致盘(CD)、任何类型的数字多功能盘(DVD)等等。设备900还可包括大容量存储介质设备916。
[0070]计算机可读介质914提供数据存储机制以存储设备数据904,以及各种设备应用918和与设备900的各操作方面相关的任何其他类型的信息和/或数据。例如,操作系统920可以用计算机可读介质914作为计算机应用来维护并且在处理器910上执行。设备应用918可包括设备管理器(例如,控制应用、软件应用、信号处理和控制模块、特定设备本机的代码、特定设备的硬件抽象层等)。设备应用918还包括实现本文描述的技术的实施例的任何系统组件或模块。在该示例中,设备应用918包括被示为软件模块和/或计算机应用的接口应用922和输入/输出模块924。输入/输出模块924表示用于给接口提供被配置成捕捉输入的诸如触摸屏、跟踪垫、相机、话筒等设备的软件。另选地或另外地,接口应用程序922和输入/输出模块924可被实现为硬件、软件、固件、或其任何组合。此外,输入/输出模块924可被配置成支持多个输入设备,诸如分别捕捉视觉和音频输入的单独设备。
[0071]设备900还包括向音频系统926提供音频数据和/或向显示系统928提供视频数据的音频和/或视频输入-输出系统930。音频系统928和/或显示系统930可包括处理、显示、和/或以其他方式呈现音频、视频和图像数据的任何设备。视频信号和音频信号可以通过RF (射频)链路、S-video (S-视频)链路、复合视频链路、分量视频链路、DVI (数字视频接口)、模拟音频连接,或其它类似的通信链路,从设备900传递到音频设备和/或显示设备。在一实施例中,首频系统928和/或显不系统930被实现为设备900的外部组件。或者,音频系统928和/或显示系统930被实现为示例设备900的集成组件。
[0072]结语
[0073]各个实施例提升了可被包含在数据库内的数据的可发现性。在一个或多个实施例中,数据库内的数据以具有一模式的结构来组织。该结构和数据能够以呈现一个或多个伪文档的方式来处理,每个伪文档构成一个可被索引的子结构。任何适当的准则可被用于处理数据库的结构和数据以创建伪文档。在一些实施例中,处理可包括对数据库或其它函数调用运行查询(诸如SQL查询)以生成伪文档。
[0074]在被生成和索引之后,伪文档构成一个可搜索对象集,每个可搜索对象关系性地回指向其在数据库内的相关联结构。现在可针对伪文档执行搜索,然后伪文档返回搜索结果集。搜索结果集可包括多个伪文档子集,每个伪文档子集与一不同结构相关联。
[0075]多个伪文档子集的属性和特性可被用于确定它们相关联的结构相对于被执行以生成该伪文档子集的搜索的相关性。在确定了相关性之后,数据库或多个数据库内的一个或多个相关联结构可被标识为更可能对特定的搜索用户有用。
[0076]伪文档可用于抽象出数据库内各个结构的模式并且可促进更容易、更简化的搜索范例来放方便数据库内数据的发现。
[0077]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
【权利要求】
1.一种计算机实现的方法,包括: 接收与存储在数据库中的数据相关联的数据结构; 处理所述数据结构以生成与相应数据结构相关联的伪文档,各个伪文档包括回指向至少一个相关联数据结构的指针,所述伪文档表示可被搜索的可搜索对象以标识相关联的数据结构;以及 允许伪文档能够被搜索。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述数据结构包括表格。
3.如权利要求1所述的计算机实现的方法,其特征在于,所述处理包括至少部分基于包括所述数据库的数据的数据的类型来处理所述数据结构。
4.如权利要求1所述的计算机实现的方法,其特征在于,所述处理包括至少部分基于所述数据结构内的数据的内容来处理所述数据结构。
5.如权利要求1所述的计算机实现的方法,其特征在于,所述处理包括至少部分基于可能对所述数据结构的数据执行的搜索的输出来处理所述数据结构。
6.如权利要求1所述的计算机实现的方法,其特征在于,所述处理包括至少部分基于所述数据的可能或实际使用来处理所述数据结构。
7.如权利要求1所述的计算机实现的方法,其特征在于,所述处理包括执行至少一个针对所述数据结构的查询。
8.如权利要求1所述的计算机实现的方法,其特征在于,所述允许包括对所述伪文档进行索引以生成一个或多个倒排索引。
9.一个或多个实现计算机可读指令的计算机可读存储介质,所述指令在被执行时实现一种方法,所述方法包括: 接收与搜索相关联的搜索项; 使用所述搜索项来搜索伪文档集合,各个伪文档与至少一个相应数据结构相关联,各个伪文档包括回指向相关联数据结构的指针;以及 标识与所述搜索返回的伪文档相关联的一个或多个数据结构。
10.如权利要求9所述的一个或多个计算机可读存储介质,其特征在于,至少部分基于以下的一者或多者来执行所述标识:针对特定数据结构返回的伪文档的数目、基于所述搜索项的各个伪文档的基于文本的打分、被用于为各个伪文档计算分数的统计排名、可能出现在伪文档内的特定模式、基于伪文档相对于其它伪文档的时间重要性的伪文档排名、或者被用于对伪文档排名的基于频率的技术。
【文档编号】G06F17/30GK104246769SQ201380019773
【公开日】2014年12月24日 申请日期:2013年4月9日 优先权日:2012年4月11日
【发明者】S·乔德里, L·诺维克, J·C·普拉特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1