跨多个图的查询执行的制作方法

文档序号:19418593发布日期:2019-12-14 01:11阅读:178来源:国知局
跨多个图的查询执行的制作方法



背景技术:

图或隔离集合可以用于存储宽泛的多种的信息。通常而言,这样的存储结构可以被保留在操作存储器中以便促进改进的访问、查询、和存储时间。然而,随着所存储的信息量的增加,要将所有信息保留在存储器中会变得困难。该问题可以通过将图划分为跨多个计算设备的子图而得到解决。

已经关于在本文中所公开的方面进行了这些和其他一般考虑。尽管可能讨论了相对具体的问题,但应当理解的是,示例不应当受限于解决在该公开的背景技术中或在其他地方所标识的具体问题。



技术实现要素:

本公开的示例描述了用于跨多个图查询执行的系统和方法。在一个示例中,图或隔离集合可以被划分为多个子部分,以使得每个子部分可以存储隔离集合的信息。可以在隔离集合子部分中使用跨集合或跨图引用资源来引用由另一隔离集合子部分所存储的资源。作为结果,可以通过跟随跨集合引用资源来遍历具有多个子部分的隔离集合以访问该隔离集合的其他子部分。

当查询具有多个子部分的隔离集合时,可能难以有效地访问包含与该查询相关联的信息的多个子部分。因此,本公开的各方面涉及到在隔离集合子部分中执行宽度优先搜索以便识别匹配或潜在匹配。在一个示例中,潜在匹配可以包括跨集合或跨图引用资源,其可以引用另一隔离集合子部分中的资源。一旦查询执行在一个隔离集合子部分中被完成,查询执行就可以被暂停并且转移至包括由跨集合资源引用所引用的资源的另一隔离集合子部分。查询执行可以在该后续隔离集合子部分中继续进行。查询执行可以被持续转移直到查询执行已经完成为止。

提供了该发明内容以用简化形式引入对在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。示例的另外的方面、特征和/或优点将在随后的描述中被部分阐述并且将部分地从该描述中是显而易见的,或者可以通过对本公开的实践而习得。

附图说明

参考以下附图对非限制和非穷举的示例进行描述。

图1图示了用于跨多个隔离集合子部分的查询执行的示例系统的概况。

图2a和2b图示了可以跨其执行查询的隔离集合的示例隔离集合子部分的概况。

图3图示了用于跨多个隔离集合子部分的查询执行的示例方法的概况。

图4图示了用于在隔离集合子部分中执行跨集合查询的示例方法的概况。

图5是图示了可以利用其来实践本公开的方面的计算设备的示例物理组件的框图。

图6a和6b是可以利用其来实践本公开的方面的移动计算设备的简化框图。

图7是可以在其中实践本公开的方面的分布式计算系统的简化框图。

图8图示了用于执行本公开的一个或多个方面的平板计算设备。

具体实施方式

在下文中参考形成了本公开一部分并且示出了具体示例性方面的附图更加完整地描述了本公开的各种方面。然而,本公开的不同方面可以以许多不同的形式来实现,并且不应当被理解为限于在本文中所阐述的方面;相反,提供了这些方面以使得该公开将是彻底和完整的,并且将向本领域技术人员完全传达所述方面的范围。多个方面可以被实践为方法、系统、或设备。由此,多个方面可以采取硬件实现、完全软件实现、或者组合了软件和硬件方面的实现的形式。因此,以下的详细描述不被认为是限制性意义。

本公开提供了用于跨多个图的查询执行的系统和方法。在一个示例中,图或隔离集合可以使用多个子部分来提供或存储,以使得隔离集合的信息可以跨子部分被划分。隔离集合所存储的信息可以使用一个或多个资源和关系被表示。为了从隔离集合获取信息,可以执行包括一个或多个参数的查询来识别与该隔离集合内的一个或多个参数相关的目标信息。不同于关系数据库,隔离集合内的查询依赖于识别资源之间的关系以及检查隔离集合内的资源和/或关系的属性。由此,图内的查询可以通过使用一个或多个“锚”资源遍历该图来执行。然而,如果隔离资源被划分成多个子部分,则可能不是全部相关资源和关系都存在于最初在其中执行查询的隔离集合子部分中。由此,可以通过访问隔离集合的一个或多个子部分中的信息来执行针对隔离集合所存储的目标信息的查询,以便识别出与该查询相关联的目标数据。

在一些示例中,图或隔离集合可以包括资源和关系。资源可以由资源标识符来标识,其可以是指向特定资源的持久的统一资源标识符(uri)。资源标识符也可以是统一资源定位符(url)、统一资源名称(urn),或者指向资源本身的其他合适的标识符和指示符。在一个示例中,资源可以被存储在隔离集合内。在另一示例中,资源可以被存储在数据集合中,而相关联的资源标识符可以被存储在隔离集合中。例如,资源可以驻留在远程服务器上,并且资源标识符可以用于获取该资源(例如,该资源可以被存储在远程web服务器上,其中,资源标识符包括url)。识别资源的位置可以包括例如使用常规表达式来解析资源标识符,将资源标识符的一个或多个部分提供至搜索实用工具,执行资源标识符,等等。隔离集合内的关系可以标识该隔离集合中的两个或更多个资源之间的关联。在一些示例中,隔离集合可以是统一维度模型(udm)、图,或者资源和关系的其他集合。

属性可以与隔离集合的资源或关系相关联或者被其存储。在示例中,属性可以包括名称和数值,这使得属性可以用于存储与资源或关系相关的信息。作为示例,针对“个人”资源的“电子邮件”属性(例如,具有名称“电子邮件”)可以存储该“个人”资源与其相关的个人的电子邮件地址(例如,作为“电子邮件”属性的数值)。在另一示例中,“家庭成员”关系的“关联”资源可以指示该“家庭成员”关系针对该“家庭成员”关系所指示的关系而指定了“兄弟”关系。如将要意识到的是,属性可以包含名称和/或数值以外的信息,并且可以在图或隔离集合内被存储为任何类型的信息或者与任何类型的信息相关联。

可以查询隔离集合以识别或获取目标信息(例如,属性、资源、和/或关系)。该查询由与以下项相关的一个或多个参数或约束组成:关系类型、资源的类型或内容、或者关系或资源的任何其他属性。在一些示例中,所述参数可以涉及多个资源(例如,朋友的朋友关系或者以原本不相关的多个资源所共用的资源,等等)。该查询的参数可以涉及一个或多个“锚”资源或资源类型,其可以在执行查询时被使用以识别针对查询评估的上下文或开始资源。作为示例,锚资源可以是与关系相关联的一个或多个资源类型,其使得隔离集合内与所述一个或多个资源类型相匹配的资源被识别并且进一步基于所述查询的参数被评估。

隔离集合可以出于多种各种原因中的任何原因而被划分成多个子部分,所述原因包括但不限于:由于计算资源约束,为了符合安全性指导方案,或者为了便于数据管理。在一些示例中,隔离集合可以被划分以使得类似类型或领域的信息可以驻留在隔离集合的类似子部分中。在其他示例中,隔离集合可以被划分以便最小化或减少跨集合查询。作为示例,隔离集合的子部分可以包括与相似主题相关的信息或者常常被一起访问的信息,由此提高可以在不从另一隔离集合子部分访问信息的情况下执行针对与该主题相关的信息的查询的可能性。将要意识到的是,隔离集合可以出于多种原因中的任何一种原因被划分或者可以被随机划分,此外还有其他技术。另外,隔离集合子部分的内容并不需要互相排他,这使得资源或关系可以存在于多个隔离集合子部分之中。

具有多个子部分的隔离集合可以包括一个或多个跨集合或跨图引用资源,其可以针对另一隔离集合子部分中的一个或多个资源提供引用。因此,跨集合引用资源可以指示能够在隔离集合的另一个子部分中获得与资源或关系相关的另外的信息。该跨集合引用资源可以包括:其引用的资源的资源标识符,可以用来识别资源的查询,或者与包含所引用资源的隔离集合子部分相关联的标识符,此外还有其他描述符。在一些示例中,跨集合引用资源可以包括另外的信息,例如与所引用资源相关联的缓存信息或一个或多个属性,此外还有其他信息。

针对隔离集合中的信息的查询可以被编译或者以其他方式被处理以便生成可以在该隔离集合中执行的查询。在一些示例中,编译查询可以包括执行一个或多个优化(例如,基于参数的顺序、由查询所指定的拓扑等)。所得出的查询可以是字节代码程序、文件(例如,xml或json文件等),或者其他可分布形式,其使得经编译的查询可以被提供至多种计算设备或处理器中的任何一个以供执行或评估。在一些示例中,可以使用虚拟机来执行查询。尽管在本文中讨论了示例查询编译和执行策略,但是将要意识到的是,可以使用其他技术来处理查询而并不脱离本公开的精神。

当执行查询时,可以确定其中可以初始执行该查询的初始隔离集合子部分。该确定可以是基于对查询的一个或多个参数的分析的,这使得可以确定隔离集合子部分可以具有与其他隔离集合子部分相比,与该查询更加相关的资源或关系。作为示例,可以确定查询涉及到人员资源,因此具有主要人员资源的隔离集合子部分可以具有比几乎没有人员资源的隔离集合子部分更好的初始隔离集合子部分。该确定可以基于其他信息,例如子部分的拓扑(例如,其结构、资源间的关系数量、给定类型的关系数量等)或者子部分内的信息的唯一性或频率(例如,属性、资源、和/或关系的频率)。该初始隔离集合子部分可以被选择以便最小化或减少在执行查询时可能要求的(例如,由其他隔离集合子部分所存储的、由其他计算设备所存储的等)外部信息的数量。

执行查询可以包括生成、存储、或访问执行上下文信息,其包括但不限于遍历路径数据结构、数据存储结构、或安全性上下文。在示例中,该遍历路径数据结构可以包括与在执行查询时已经被遍历的资源和关系相关联的信息,例如作为肯定匹配、潜在匹配、和/或否定匹配的资源和/或关系。潜在匹配可以基于确定以下内容而被识别:隔离集合子部分中的信息与查询相匹配,但是在一个或多个其他隔离集合子部分中可获得另外的相关信息(例如,如可以由跨集合引用资源所指示),由此需要基于该隔离集合子部分外部的信息的进一步分析。

数据存储结构可以被用于存储来自与该查询执行相关的一个或多个隔离集合子部分的数据。作为示例,如果查询参数指示该查询的匹配包括拥有具有某个数值的属性的资源,则隔离集合子部分中的匹配或潜在匹配的资源的属性数值可以被存储在数据存储结构中,以使得它们可以基于后续隔离集合子部分中的信息而被评估。类似地,如果查询指示应当在识别出匹配之后对结果进行过滤,则与过滤所述匹配相关的信息可以被数据存储结构存储。作为结果,来自一个或多个隔离集合子部分中的与查询执行相关的信息可以被存储以供后续评估,其使得至少该信息的一部分随后不需要从已经作为查询执行的一部分被评估了的隔离集合子部分中访问。在一些示例中,在单个隔离集合子部分中进行的查询执行可以在没有数据存储结构的情况下被执行,这是由于用于执行查询的相关信息可以已经基于在其中执行该查询的隔离集合子部分的内容可获得。

安全性上下文可以被用来限制隔离集合中的针对来自请求方的访问受限的资源或关系的访问。该安全性上下文可以包括凭证、安全要求、访问规则,或者与请求方相关联的一个或多个群组,此外还有其他安全性信息。作为结果,当在一个或多个隔离集合子部分中执行查询时可以评估安全性上下文,由此确保返回给请求方的目标数据符合安全性上下文所规定的访问约束。

尽管在本文中讨论了执行上下文信息的示例,但是将要意识到的是,在执行查询时可以生成、存储、或访问另外的或可替代的执行上下文信息。在示例中,执行上下文信息可以包括在执行查询时可以有用的多种信息中的任何一个。在一些示例中,执行上下文信息可以充当高速缓存,由此减少针对可能在执行查询的同时已经访问、请求、或可用的信息发出单独或另外的访问请求的需求。在其他示例中,执行上下文信息可以在执行查询的同时被删减或以其他方式管理,以使得可以移除或省略不再需要或相关的信息。作为示例,数据存储结构可以被删减以移除与先前是潜在匹配但是已经被消除的资源或关系相关联的信息。类似地,遍历路径数据结构可以被删减以省略已经被消除的潜在匹配。作为结果,执行上下文信息可以被管理以便最小化或减少在隔离集合子部分之间传递的信息量。

在初始隔离集合子部分中执行了查询之后,可以确定查询执行应当在一个或多个后续隔离集合子部分中继续进行。该确定可以是基于识别匹配或潜在匹配集合中的一个或多个跨集合引用资源的。由此,查询执行可以被暂停并且该查询(例如,经编译的查询以及执行上下文信息的至少一部分,等等)可以被传送以供在后续隔离集合子部分中执行。该后续隔离集合子部分可以使用与用来识别初始隔离集合子部分相似的技术被识别,其中,该后续隔离集合子部分可以被确定为包含或者可以被确定为可能包含与该查询相关联的信息。在示例中,这可以包括评估跨集合引用资源中的一个或多个。查询执行随后可以在后续隔离集合子部分中继续进行。

最终,该查询执行可以完成。这可以包括确定没有识别出另外的跨集合引用资源或者没有要评估的与该查询相关的另外的资源和关系,此外还有其他条件。作为结果,执行上下文信息可以用于生成包括目标数据的响应。在示例中,可以评估遍历路径数据结构,其包括针对查询被识别为匹配或潜在匹配的资源和/或关系。该评估可以包括评估存储在该执行上下文信息的数据存储结构中的信息,以使得与该遍历路径数据结构的相关资源和/或关系相关联的信息可以用于生成并返回所识别的目标数据。

图1图示了用于跨多个隔离集合子部分的查询执行的示例系统100的概况。系统100包括与存储系统108通信的客户端设备102-106。在示例中,客户端设备102-106中的每个可以是计算设备,例如移动计算设备、平板计算设备、个人计算设备,或者任何其他类型的计算设备,或者它们的任何组合。客户端设备102-106可以利用网络与存储系统108通信,所述网络包括但不限于局域网、广域网、或互联网。存储系统108可以由一个或多个计算设备提供,并且在一些示例中可以是分布式存储系统。

存储系统108包括查询编译处理器110和查询执行管理器112。查询编译处理器110可以接收针对存储系统108所存储的信息的查询并且编译所接收的查询。在一些示例中,对查询进行编译可以包括根据在本文中所公开的方面来执行一个或多个优化。如上文所讨论的,查询可以被编译成字节代码程序、文件、或者其他可分布形式,以使得经编译的查询可以被提供至多种计算设备或处理器中的任何一种以供执行或评估。在示例中,可以使用虚拟机来执行经编译的查询。查询执行管理器112可以管理对经编译的查询的执行,如已经由查询编译处理器110所生成的。查询执行管理器112可以管理跨包括隔离集合子部分114a-c的隔离集合的对查询的执行。

在一些示例中,隔离集合子部分114a-c可以由多个计算设备所存储或提供。尽管在本文中关于图1讨论了分立元件,但是将意识到的是,关于系统100的具体元件所描述的功能可以由其他元件来执行。作为示例,隔离集合子部分114a-c中的一个或多个可以包括查询执行管理器和/或查询编译处理器,而不是如图1中所示的由单个查询执行管理器112所指导。另外地,尽管图1中示出了三个隔离集合子部分,但是将意识到的是,在本文中所公开的方面可以利用具有任何数量的子部分的隔离集合来实践。

查询编译处理器110可以从客户端设备102-106之一接收查询。在一些示例中,该查询可以使用查询语言(例如,密码查询语言、sparql等)所构建以访问由隔离集合子部分114a-c所存储的信息。查询编译处理器110可以根据在本文中所公开的方面来对查询进行编译,并且将查询提供至查询执行管理器112。查询执行管理器112可以评估该查询以识别隔离集合子部分114a-c之一是否将是在其中开始查询执行的合适的初始隔离集合子部分。该评估可以包括评估与查询一个或多个参数(例如,资源类型、关系类型、属性类型、拓扑信息、唯一性信息等)相关联的信息。在一些示例中,多个隔离集合子部分114a-c可以是开始查询执行的候选项。作为结果,查询执行管理器112可以基于利用信息、接近度信息(例如,哪个隔离集合子部分最接近于请求方并且因此可能展现出较少的延时,等等)等来识别初始隔离集合子部分。在一些示例中,查询执行管理器112可以应用其他逻辑或者可以随机地选择要在其中开始执行的隔离集合子部分。

出于说明的目的,假设查询执行在隔离集合子部分114a中开始,查询执行可以从该子部分内的一个或多个锚资源开始。由此,与锚资源相关联的资源和关系可以基于该查询的参数而被评估,以使得可以识别出肯定匹配或潜在匹配。在一些示例中,还可以确定否定匹配。执行上下文信息可以被更新,以使得遍历路径数据结构可以包括肯定匹配、潜在匹配、和/或否定匹配。在示例中,隔离集合子部分114a可以包括用于查询执行的相关资源和关系,由此使得查询执行能够在隔离集合子部分114a中完成。作为结果,包括与该查询相匹配的资源和/或关系的目标数据可以被提供至查询执行管理器112,查询执行管理器112接着可以将响应于请求方来提供所述目标数据。

在另一示例中,与查询相关的资源和关系可以退出隔离集合114a之外,并且可以被隔离集合114b和/或114c存储。作为结果,在对隔离集合114a中的查询执行期间可以识别一个或多个跨集合引用资源。执行上下文信息可以相应地被更新,以使得遍历路径数据结构可以指示包括锚资源与跨集合引用资源之间的路径的潜在匹配。如上文所讨论的,跨集合引用资源可以是针对在另一隔离集合子部分中所存储的一个或多个资源的引用。在一些示例中,执行上下文信息的数据存储结构可以被更新以存储与隔离集合子部分114a中的一个或多个资源或关系相关联的信息以供后续引用。在隔离集合子部分114a中执行查询可以包括执行宽度优先搜索,其中,在后续隔离集合子部分中继续查询之前,在隔离集合子部分114a中(包括任何相关的跨集合引用资源)识别匹配和潜在匹配。

一旦查询执行完成(例如,继续进行直到不再剩余用于评估的相关资源和关系为止),查询执行可以被暂停并转移,以使得该查询和执行上下文信息可以在后续隔离集合子部分中被执行。如所图示的,查询执行管理器112可以暂停查询执行,将查询转移至后续隔离集合子部分,并且使用执行上下文信息在隔离集合子部分中继续对查询的执行。在另一示例中,隔离集合子部分114a可以管理查询的执行,并且可以将该查询和执行上下文信息提供至后续隔离集合子部分以便继续执行。在一些示例中,识别后续隔离集合子部分可以包括评估遍历路径数据结构以便识别一个或多个跨集合资源引用,其可以用于识别包含它们所引用的资源的一个或多个隔离集合子部分。接着,查询执行可以根据在本文中所公开的方面而在后续隔离集合子部分(例如,隔离集合子部分114b或114c)中继续。接着,执行可以完成(例如,如果在继续查询执行时没有识别出跨集合引用资源,没有资源剩余,等等),或者可以再次进行至另一隔离集合子部分。

图2a和2b图示了可以跨其执行查询的隔离集合的示例隔离集合子部分200和220的概况。如所图示的,隔离集合子部分200包括与日历信息相关联的资源和关系,而隔离集合子部分220则包括与组织结构中的人相关联的资源和关系。尽管关于隔离集合子部分200和220讨论了示例领域,但是将要意识到的是,隔离集合子部分可以根据本文所公开的方面而基于任何的各种标准、关联、或逻辑进行划分。

关于图2a中的隔离集合子部分200,示出了meeting(会议)a208和meetingb212,其中meetinga208在datetime(日期时间)a210进行,而meetingb212在datetimeb214进行。资源208-218使用实线被图示,这指示与资源208-218相关联的信息(例如,属性、元数据等)被存储在隔离集合子部分200中。person(人)a202和personb204被图示为与meetinga208相关,由此指示他们是meetinga208的出席者。类似地,personb204和personc206被图示为与meetingb212相关,由此指示他们是meetingb212的出席者。个人资源202-206使用虚线被图示以指示它们是跨集合引用资源,从而与个人资源202-206相关联的附加信息可以被另一隔离集合子部分(例如,图2b中的隔离集合子部分220)所存储。

如上文所讨论的,作为跨集合引用资源,个人资源202-206可以包括可以被用来标识该资源所引用的一个或多个资源的信息,其包括但不限于其所引用的资源的资源标识符,可以被用来识别资源的查询,或者与包含所引用资源的隔离集合子部分相关联的标识符,此外还有其他描述符。在一些示例中,跨集合引用资源可以包括另外的信息,例如缓存的信息或者与所引用的资源相关联的一个或多个属性,此外还有其他信息。

现在转向图2b中的隔离集合子部分220,隔离集合子部分220包括个人资源222-226,它们可以是组织层级的一部分。如所图示的,persona222和personc226由personb224所管理。此外,persona222和personb224与projecta228相关联,而personb224和personc226则与projectb230相关联,个人资源222-226使用实线被图示,这指示隔离集合子部分220可以存储与个人资源222-226相关联的信息,例如属性或元数据等。然而,项目资源228-230则使用虚线被图示,由此指示它们是引用另一隔离集合子部分(未图示)中的项目资源的跨集合引用资源。

在示例中,隔离集合子部分200和220可以根据在本文中所公开的方面被查询。查询可以指示匹配包括与日期时间资源相关联的具有标识符“meetinga”的会议资源,以便确定meetinga何时在进行。该查询可以根据本文所公开的方面被编译,以使得其可以在隔离集合子部分200和220中的一个或多个中被执行。作为确定隔离集合子部分200而不是隔离集合子部分220包括会议资源的结果,可以确定该查询应当在隔离集合子部分200中被执行。由此,该查询可以使用meetinga208作为锚资源,并且评估其相关联的资源和关系。在将datetimea210识别为满足该查询的相关联资源时,查询执行可以完成,以使得与datetimea210相关联的信息可以响应于该查询而被返回。

在另一示例中,可以提供查询以便确定与meetingb212相关联的管理者。由此,该查询可以指示匹配包括具有标识符“meetingb”的会议资源,其与个人资源(例如,管理者)相关联,其中该个人资源还与同样是meetingb的出席者的另一个个人资源(例如,下属)相关联。已知锚资源是会议资源并且隔离集合子部分220不具有任何会议资源,则隔离集合子部分200可以再次被选择作为用于查询执行的初始隔离集合子部分。查询执行可以在meetingb212处开始,其中,可以识别出相关联的资源和关系。作为与meetingb212相关联的个人资源的结果,personb204和personc206可以被识别为潜在匹配。然而,由于识别到跨集合引用资源,因此查询执行可以被暂停以便将执行转移到另一隔离集合子部分。根据在本文中所公开的方面,执行上下文信息也可以被转移。在一个示例中,执行上下文信息可以包括遍历路径数据结构,其指示潜在匹配包括meetingb212和personb204以及meetingb212与personc206之间的路径。在另一示例中,执行上下文信息可以包括具有与该遍历路径数据结构的资源和关系相关联的信息的数据存储结构。作为示例,该数据存储结构可以指示personb204和personc206都是meetingb212的出席者,以使得该信息随后可以被引用以便确定被识别为与管理者个人相关的下属个人是否也是meetingb的出席者。

基于跨集合引用资源中包含的信息,该查询可以被转移至隔离集合子部分220。在示例中,personb204可以指示其指代隔离集合子部分220中具有标识符“personb”的个人资源,而personc206则可以指示其指代隔离集合子部分220中具有标识符“personc”的个人资源。作为结果,查询执行可以在隔离集合220中继续进行,其中,用于继续进行的查询执行的锚资源是personb204和personc206所引用的资源,分别是personb224和personc226。当查询执行在隔离集合子部分220中继续进行时,personb224和personc226中的每一个可以被评估以确定是否有任何资源和关系满足该查询。在personc226处继续,可以确定personc226不与任何后续个人资源相关(因为personb224和personc226之间的箭头是指向性的,这指示personb224管理personc226,而不是其他方式)。由此,personc226不会是管理者,并且包括从meetingb212到personc206的路径的潜在匹配可以从执行上下文信息中的遍历路径数据结构中被移除。然而,已知personc206是meetingb212的出席者,则与personc206相关联的信息可以保留在执行上下文信息的数据存储结构中(例如,指示personc206是meetingb212的出席者)。

当使用personb224作为锚资源来评估该查询时,可以确定personb224与两个人相关联:persona222和personc226。关于persona222,可以基于执行上下文信息的数据存储结构确定persona222不是meetingb212的出席者。作为由数据存储结构所存储的信息的结果,可以进行该确定而不进一步引用隔离集合子部分200。当查询执行进行至评估personc226时,可以确定personc226是meetingb212的出席者,这是因为隔离集合200中的personc206(其在隔离集合子部分200中与meetingb212相关)引用了personc226。由此,查询执行可以完成,以使得可以提供包括与meetingb212、personb224(经由personb204)和personc226之间的遍历路径相关联的资源和关系的目标数据。

图3图示了用于跨多个隔离集合子部分的查询执行的示例方法300的概况。方法300可以由存储系统所执行,诸如图1中的存储系统108。在一个示例中,除其他设备或处理器之外,方法300可以由计算机设备或查询执行管理器来执行。方法300在操作302开始,其中可以接收针对隔离集合中的数据的查询。该查询可以从客户端接收,诸如图1中的客户端102-106之一。在一些示例中,该查询可以使用查询语言来构建。如上文所描述的,该查询可以包括一个或多个参数,所述参数可以被用来识别隔离集合所存储的目标数据。在一个示例中,根据本文所公开的方面,该隔离集合可以包括多个隔离集合子部分。

在操作304处,初始隔离集合子部分可以被识别以用于查询执行。识别初始隔离集合子部分可以包括评估该查询的一个或多个参数以及与多个隔离集合子部分相关的信息。作为示例,该查询可以被确定为涉及一个或多个资源类型。作为结果,可以基于资源类型在隔离集合子部分中的存在和/或出现频率来选择初始隔离集合子部分。在另一示例中,可以评估唯一性或拓扑信息,以使得具有更多与查询相关的唯一资源(例如,与其他隔离集合子部分的资源相比)的隔离集合可以被选择作为初始隔离集合子部分。将要意识到的是,可以使用其他技术来选择初始隔离集合子部分而不脱离本公开的精神。

进行至操作306,该查询可以在初始隔离集合子部分中被执行。在一些示例中,查询执行可以包括执行如下文关于图4所讨论的方法400的一个或多个步骤。根据本文所公开的方面,执行查询可以包括评估与一个或多个锚节点相关联的资源和关系,以便识别出匹配或潜在匹配的遍历路径。在一个示例中,根据本文所公开的方面,该查询可以被编译或以其他方式被处理。如上文所描述的,查询执行可以包括宽度优先搜索,其中在另一隔离集合子部分中继续执行之前(如果有必要),在初始隔离集合子部分内识别匹配和潜在匹配。在一些示例中,该执行可以包括生成或更新执行上下文信息,其可以包括遍历路径数据结构和/或数据存储结构。该遍历路径数据结构可以包括与已经在查询执行期间识别的肯定匹配、潜在匹配、和/或否定匹配相关联的信息。该数据存储结构可以用于存储与一个或多个被评估的资源和/或关系相关联的信息,其随后可以基于其他隔离集合子部分所存储的信息而被评估。作为结果,并不需要来自已经被查询的隔离集合子部分的另外的信息。

最终,查询执行可以到达无法在隔离集合子部分中获得有关查询的另外的资源和关系的点。由此,流程进行至确定308,在那里可以确定查询执行是否应当在另一隔离集合子部分中继续进行。该确定可以包括对遍历路径数据结构的评估。在一些示例中,该确定可以包括评估遍历路径数据结构中是否存在任何跨集合引用资源。在其他示例中,该确定可以包括确定遍历路径中是否有任何潜在匹配(例如,与仅是肯定或否定匹配不同)。作为示例,潜在匹配可以指示可能需要另外的信息来完成对匹配的评估以及确定遍历路径是否满足查询。

如果确定该查询并不应当继续,则流程以分支“否”去往操作310,在那里可以提供查询执行结果。提供查询执行结果可以包括生成包括与匹配信息相关联的资源和关系的隔离集合,或者提供与匹配信息相关联的资源标识符。在示例中,执行上下文信息可以用于在提供结果之前过滤或以其他方式修正它们。来自数据存储结构的信息可以用于评估所识别的匹配,以便评估与所识别的匹配相关联的属性或其他信息。流程在操作310终止。

然而,如果确定查询执行应当在另一隔离集合子部分中继续,则流程以分支“是”去往操作312,在那里查询执行可以被转移至后续隔离集合子部分。该后续隔离集合子部分可以根据本文所公开的方面来识别。作为示例,后续隔离集合子部分可以基于以下条件被选择:确定哪个隔离集合子部分被实行初始查询执行时所识别的一个或多个跨集合引用资源最多地引用。将要意识到的是,可以使用其他子部分选择技术。转移查询可以包括转移在编译查询时所生产的可分布形式(例如,字节代码、json文件等)和/或与查询执行相关联的执行上下文的至少一部分。

移动至操作314,查询执行可以在后续隔离集合子部分中继续进行。查询执行可以以与上文关于操作306所描述的相似方式继续,然而,查询可以在来自初始隔离集合子部分的一个或多个跨集合引用资源所引用的一个或多个资源处继续进行。在一些示例中,执行上下文信息可以在执行查询的同时被更新,以使得被消除的潜在匹配可以从遍历路径数据结构和/或数据存储结构被删减或修正。

流程接着返回至确定308,其中可以再次确定查询执行是否应当在另一隔离集合子部分中继续进行。在存在具有与查询相关联的信息(例如,如可以由一个或多个跨集合引用资源所确定)的其他隔离集合子部分的同时,流程可以在操作308、314和314之间循环。最终,可以确定查询执行已经完成并且不应当在另一隔离集合子部分中继续进行,这导致流程进行至操作310,在那里可以如上文所讨论的提供查询执行结果。流程在操作310终止。

图4图示了用于在隔离集合子部分中执行跨集合查询的示例方法400的概况。在一些示例中,查询执行可以包括实行以下关于图4所讨论的方法400的一个或多个步骤。方法400可以由存储系统所执行,诸如图1中的存储系统108。在一个示例中,除其他设备或处理器之外,方法400可以由计算机设备或查询执行管理器来执行。方法400在操作402开始,其中可以接收用于在隔离集合子部分中执行的查询。在一个示例中,该查询可以包括一个或多个参数和/或可以指示锚资源。如本文所描述的,该查询可以是经编译的或者以其他方式可分布的查询。在一些示例中,该查询可以连同执行上下文信息一起被接收。在一些示例中,该查询可以从查询执行管理器、客户端接收,或者从存储系统(例如,存储隔离集合的另一个子部分的计算设备)内接收。

在操作404处,可以识别与查询的锚资源相关联的资源或关系。锚资源可以基于唯一标识符或者一个或多个属性或关系等来识别。移动至确定406,可以确定该资源或关系是否满足该查询的一个或多个参数。该确定可以包括评估该资源或关系的一个或多个属性,评估元数据,或者评估与该资源或关系相关联的其他信息。如果确定该资源或关系不满足该查询,则流程以“否”分支去往操作404,其中可以识别锚资源或关系。流程接着可以在操作404和406之间循环,直到识别出满足该查询的资源或关系为止。

然而,如果在406确定该资源或关系满足该查询,则流程以“是”分支去往操作408,在那里可以基于评估遍历该隔离集合子部分。继续该遍历可以包括继续评估与所识别资源或关系相关联的资源或关系以确定任何后续资源或关系是否满足该查询。如果后续资源或关系满足该查询,则遍历路径可以被相应地延伸。在确定410处,可以确定跨集合引用资源是否是遍历路径的一部分。如果确定跨集合引用资源不是遍历路径的一部分,则流程以“否”分支去往操作408,在那里遍历可以继续进行,以再次识别满足该查询的资源或关系从而延伸遍历路径。

然而,如果确定跨集合引用资源是遍历路径的一部分,则流程以“是”分支去往操作412,其中遍历路径可以被存储为执行上下文信息的一部分,所述执行上下文信息随后可以在另一隔离集合子部分中继续查询执行时被引用。作为识别跨集合引用资源是遍历路径的一部分的结果,遍历路径可以以该跨集合引用资源作为结束,从而遍历可以继续识别该隔离集合子部分内的潜在或肯定匹配,由此返回至操作404。流程可以在404-412之间继续,直到已经确定该隔离集合子部分中没有另外的相关资源要评估为止。在一些示例中,查询执行接着可以被暂停,该查询和执行上下文信息可以被转移至另一隔离集合子部分,并且根据本文所公开的方面,执行可以在其他隔离集合子部分中继续进行。

图5-8以及相关联的描述提供了对在其中可以实践本公开的方面的多种操作环境的讨论。然而,关于图5-8所示出并讨论的设备和系统是出于示例和说明的目的,而不对可以用来实践在本文中所描述的公开的方面的大量计算设备配置进行限制。

图5是图示了可以利用其实践本公开的方面的计算设备500的物理组件(例如,硬件)的框图。下文所描述的计算设备组件可以适用于上文所描述的计算设备。在基本配置中,计算设备500可以包括至少一个处理单元502和系统存储器504。取决于计算设备的配置和类型,系统存储器504可以包括但不限于易失性存储单元(例如,随机存取存储器)、非易失性存储单元(例如,只读存储器)、闪速存储器、或者这些存储器的任何组合。系统存储器504可以包括操作系统505以及一个或多个程序模块506,所述一个或多个程序模块506适合于执行如在本文中所公开的诸如查询执行处理器524和查询执行传输处理器526之类的各种方面。例如,操作系统505可以适用于控制计算设备500的操作。此外,本公开的实施例可以结合图形库、其他操作系统、或任何其他应用来实践,并且不限于任何特定的应用或系统。该基本配置是在图5中由虚线508内的那些组件示出的。计算设备500可以具有另外的特征或功能。例如,计算设备500还可以包括例如磁盘、光盘、或磁带之类的另外的数据存储设备(可移动的和/或不可移动的)。这样另外的存储单元是在图5中由可移动存储设备509和不可移动存储设备510示出的。

如上所述,多个程序模块和数据文件可以被存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如,应用520)可以执行以下过程,其包括但不限于在该本文中所描述方面。可以根据本公开的方面使用的其他程序模块可以包括:电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。

此外,本公开的实施例可以被实现在包括分立电子元件的电子电路中、包含逻辑门的封装或集成电子芯片中、利用微处理器的电路中、或者包含电子元件或微处理器的单个芯片上。例如,可以经由片上系统(soc)来实践本公开的实施例,其中图5中所示出的每个或许多组件可以被集成到单个集成电路上。这样的soc设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由soc进行操作时,可以经由在单个集成电路(芯片)上与计算设备500的其他组件集成的专用逻辑来对在本文中关于客户端切换协议的能力所描述的功能进行操作。还可以使用能够执行逻辑操作(例如and、or和not)的其他技术来实践本公开的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他电路或系统中实践本公开的实施例。

计算设备500还可以具有一个或多个输入设备512,例如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备514。前述设备是示例并且可以使用其他设备。计算设备500可以包括允许与其他计算设备550进行通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于射频(rf)发射机、接收机和/或收发机电路;通用串行总线(usb)、并行、和/或串行端口。

如在本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指令、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器504、可移动存储设备509、和不可移动存储设备510都是计算机存储介质的示例(例如,存储器存储单元)。计算机存储介质可以包括ram、rom、电可擦只读存储器(eeprom)、闪速存储器或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光存储单元、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算设备500访问的任何其他制品。任何这样的计算机存储介质都可以是计算设备500的一部分。计算机存储介质不包括载波或其他经传播或经调制的数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块、或经调制的数据信号(例如,载波或其他传播机制)中的其他数据来实施,并且包括任何信息传递介质。术语“经调制的数据信号”可以描述具有以关于将信息编码在信号中的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学的、射频(rf)的、红外的、和其他无线介质之类的无线介质。

图6a和6b示出了可以利用其实践本公开的实施例的移动计算设备600,例如移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等。在一些方面中,客户端可以是移动计算设备。参考图6a,图示了用于实施所述方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是具有输入部件和输出部件两者的手持式计算机。移动计算设备600通常包括显示器605以及允许用户将信息输入到移动计算设备600中的一个或多个输入按钮610。移动计算设备600的显示器605也可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入部件615允许另外的用户输入。侧输入部件615可以是旋转开关、按钮、或任何其他类型的手动输入元件。在可替代的方面中,移动计算设备600可以结合有更多或更少的输入部件。例如,在一些实施例中,显示器605可以不是触摸屏。在又另一个实施例中,移动计算设备600是诸如蜂窝电话之类的便携式电话系统。移动计算设备600还可以包括可选的小键盘635。可选的小键盘635可以是物理小键盘,或者是在触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于示出图形用户界面(gui)的显示器605、可视指示器620(例如,发光二极管)、和/或音频换能器625(例如,扬声器)。在一些方面在,移动计算设备600包含用于向用户提供触觉反馈的振动换能器。在另一方面中,移动计算设备600包含用于将信号发送到外部设备或者从外部设备接收信号的输入和/或输出端口,例如音频输入(例如,传声器插孔)、音频输出(例如,耳机插孔)、以及视频输出(例如,hdmi端口)。

图6b是示出了移动计算设备的一个方面的框架的框图。也就是说,移动计算设备600能够包含用于实现一些方面的系统(即框架)602。在一个实施例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些方面中,系统602被集成为计算设备,例如集成的个人数字助理(pda)和无线电话。

一个或多个应用程序666可以被加载到存储器662中并且在操作系统664上运行或者与操作系统264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以用于存储如果系统602断电而不应丢失的持久信息。应用程序666可以在非易失性存储区域668中使用并存储信息,例如电子邮件或者由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统602上,并且被编程为与驻留在主计算机上的对应的同步应用进行交互,从而将存储在非易失性存储区域668中的信息与存储在主计算机上的对应的信息保持同步。应当理解的是,其他应用可以被加载到存储器662中并且在本文所描述的移动计算设备600上运行(例如,搜索引擎、提取器模块、相关性排名模块、回答评分模块等)。

系统602具有电源670,其可以被实现为一个或多个电池。电源670还可以包括外部电源,例如ac适配器或给电池供电或充电的加电对接托架。

系统602还包括执行发送和接收射频通信的功能的无线电接口层672。无线电接口层672经由通信载波或服务提供商来促进系统602与“外部世界”之间的无线连通性。来往于无线电接口层672的传输是在操作系统664的控制下进行的。换句话说,可以将由无线电接口层672所接收的通信经由操作系统664散播至应用程序666,并且反之亦然。

视觉指示器620可以用于提供视觉通知,和/或音频接口674可以用于经由音频换能器625产生可听见的通知。在所示出的实施例中,视觉指示器620是发光二极管(led),而音频换能器625是扬声器。这些设备可以直接地耦合至电源670,以便当被激活时,即使处理器660和其他组件可能关闭以节省电池电量,这些设备也能保持通电并持续由通知机制所指示的一段时间。led可以被编程为无限期地保持通电,直到用户采取动作来指示设备的通电状态为止。音频接口674用于向用户提供可听见的信号并从用户接收可听见的信号。例如,除了耦合到音频换能器625之外,音频接口674还可以被耦合至麦克风以接收可听见的输入,例如,以促进电话会话。根据本公开的实施例,麦克风还可以充当用于促进对通知的控制的音频传感器,如将在下文中所描述的。系统602还包括视频接口676,其使得板载相机630的操作能够记录静止图像、视频流等。

实现系统602的移动计算设备600具有另外的特征或功能。例如,移动计算设备600还可以包括另外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或磁带。在图6b中由非易失性存储区域668示出了这样另外的存储单元。

如在上文中所描述的,将由移动计算设备600所生成或捕获的数据/信息以及经由系统602所存储的数据/信息本地地存储在移动计算设备600上,或者将数据存储在可以经由无线电接口层672或经由移动计算设备600和与移动计算设备600相关联的分别的计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接由设备来访问的任何数量的存储介质上。应当理解的是,可以经由移动计算设备600、经由无线电接口层672、或经由分布式计算网络来访问这样的数据/信息。类似地,根据公知的数据/信息传输和存储方式(包括电子邮件和协同数据/信息共享系统),这样的数据/信息可以容易地在计算设备之间传输以供存储和使用。

图7图示了用于处理在计算系统处从远程源所接收的数据的系统的架构的一个方面,所述远程源例如个人计算机704、平板计算设备706、或移动计算设备708,如在上文所描述的。在服务器设备702处显示的内容可以被存储在不同的通信信道或其他存储类型中。例如,各种文档可以使用目录服务722、web门户724、邮箱服务726、即时消息传送存储单元728、或社交网站730来存储。查询编译处理器721可以由与服务器设备702通信的客户端来实施,和/或查询执行传输处理器720可以由服务器设备702来实施。服务器设备702可以通过网络715向诸如个人计算机704、平板计算设备706、和/或移动计算设备708(例如,智能电话)之类的客户端计算设备提供数据,或者从它们接收数据。作为示例,上文所描述的计算机系统可以以个人计算机704、平板计算设备706、和/或移动计算设备708(例如,智能电话)来实施。除了接收可用于在图形发起系统处预先处理或者在接收计算系统处进行后期处理的图形数据之外,计算设备的任何这些实施例都可以从存储单元716获取内容。

图8图示了可以执行在本文中所公开的一个或多个方面的示例性平板计算设备800。另外,在本文中所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和获取以及各种处理功能可以通过诸如互联网或内联网之类的分布式计算网络而彼此远离地操作。各种类型的用户界面和信息可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可以在各种类型的用户界面和信息被投射于其上的墙壁表面上进行显示和交互。与本发明的方面可以利用其进行实践的许多计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入——其中相关联的计算设备装备有用于捕捉和解译用于控制计算设备的功能的用户手势的检测(例如,相机)功能,等等。

如将从以上公开所理解的,该技术的一个方面涉及到一种系统,包括:至少一个处理器;以及存储指令的存储器,所述指令当由所述至少一个处理器执行时,进行包括以下项的一组操作:接收针对存储在图中的信息的查询,其中,所述图包括多个图子部分;在所述多个图子部分中的一个图子部分中执行所述查询,以生成中间结果并且识别与所述图的一个或多个其他图子部分相关联的一个或多个跨图引用资源;基于所述一个或多个跨图引用资源生成与所述针对信息的查询相关联的查询执行上下文,所述查询执行上下文包括所述中间结果的至少一部分和所述查询的至少一部分;以及向所述图的所述一个或多个其他图子部分中的至少一个图子部分提供所述查询执行上下文,以用于在所述一个或多个其他图子部分中的所述至少一个图子部分中继续执行所述针对信息的查询。在示例中,在所述多个子部分中的所述子部分中执行所述查询包括:基于所述针对信息的查询,基于确定所述针对信息的查询的参数存在于所述图子部分中来从所述多个图子部分中识别所述图子部分。在另一示例中,生成所述查询执行上下文以及提供所述查询执行上下文是基于确定所述中间结果包括所述一个或多个跨图引用资源来进行的。在另外的示例中,所述中间结果包括针对所述查询的一个或多个部分匹配,其中,部分匹配包括在所述图子部分中识别并且被存储在所述一个或多个其他图子部分中的至少一个图子部分中的信息。在另一示例中,所述一组操作还包括:针对所接收的查询生成经编译的查询,其中,所述经编译的查询在虚拟机中可执行。在另一示例中,所述查询执行上下文包括安全性上下文,所述安全性上下文指示针对所述图中的信息的访问控制信息。在另一示例中,所述中间结果包括所述一个或多个跨图引用资源。

在另一方面中,所述技术涉及一种用于在图的图子部分中执行针对信息的查询的计算机实现的方法。所述方法包括:接收针对所述图子部分中的信息的所述查询;遍历所述图子部分以生成与所述针对信息的查询相关联的遍历路径,其中,所述遍历路径是由一个或多个资源以及一个或多个关系组成的;确定所述遍历路径的资源是否是与所述图的后续图子部分相关联的跨图引用资源;基于确定所述遍历路径的所述资源是跨图引用资源,将所述遍历路径存储在遍历路径数据结构中以便传输至所述后续图子部分;以及基于确定所述遍历路径的所述资源不是跨图引用资源,将所述遍历路径提供为所述针对信息的查询的结果。在示例中,针对信息的查询包括执行上下文信息,并且其中,遍历所述图子部分包括从在所述执行上下文信息中识别的一个或多个资源评估所述图子部分。在另一示例中,执行上下文信息包括所述遍历路径数据结构。在另外的示例中,所述针对信息的查询是从另一图子部分接收的。在另一示例中,所述方法还包括针对所接收的查询生成经编译的查询,其中,所述经编译的查询在虚拟机中可执行。在另外的示例中,所述执行上下文包括指示针对所述图中的信息的访问控制信息的安全性上下文。

在另外的方面中,所述技术涉及一种用于跨图的多个图子部分执行针对信息的查询的计算机实现的方法。所述方法包括:接收针对存储在所述图中的信息的查询;从所述多个图子部分识别图子部分;遍历所述图子部分以生成与所述针对信息的查询相关联的遍历路径,其中,所述遍历路径是由一个或多个资源以及一个或多个关系组成的;确定所述遍历路径的资源是否是与所述图的后续图子部分相关联的跨图引用资源;基于确定所述遍历路径的所述资源是跨图引用资源,生成与所述针对信息的查询相关联的查询执行上下文,所述查询执行上下文包括所述遍历路径的至少一部分和所述查询的至少一部分;以及向所述后续图子部分提供所述查询执行上下文,以用于在所述后续图子部分中继续执行所述针对信息的查询。在示例中,所述针对信息的查询包括执行上下文信息,并且其中,遍历所述图子部分包括从在所述执行上下文信息中识别的一个或多个资源评估所述图子部分。在另一示例中,所述方法还包括:基于确定所述遍历路径的所述资源不是跨图引用资源,将所述遍历路径提供为所述针对信息的查询的结果。在另外的示例中,识别所述图子部分包括基于确定所述针对信息的查询的参数存在于来自所述多个图子部分的所述图子部分中来识别所述图子部分。在另一示例中,所述方法还包括针对所接收的查询生成经编译的查询,其中,所述经编译的查询在虚拟机中可执行。在另外的示例中,所述呈现执行上下文包括指示针对所述图中的信息的访问控制信息的安全性上下文。在另一示例中,所述针对信息的查询是从所述图中的另一图子部分接收的。

例如,在上文中参考根据本公开的方面的方法、系统、和计算机程序产品的框图和/或操作图而描述了本公开的各方面。在方框中所记录的功能/操作可以以不同于在任何流程图中所示出的顺序来进行。例如,取决于所涉及的功能/操作,连续地示出的两个方框可以实际上是基本同时执行的,或者方框可以有时以相反的顺序执行。

在该申请中所提供的一个或多个示例的描述和说明不旨在以任何方式限制或约束所要求保护的本公开的范围。在该申请中所提供的方面、示例、和细节被认为足以传达所有权,并且使得本领域技术人能够制造并使用所要求保护的公开的最优模式。所要求保护的公开不应该被解释为限于在该申请中所提供的任何方面、示例、或细节。无论是组合地还是单独地示出和描述,(结构上和方法上两者的)各种特征旨在被选择性地包括或省略,以产生具有特定组的特征的实施例。在已经提供了本申请的描述和说明之后,本领域技术人可以预想落入在该申请中所实施的一般的发明概念的更宽泛的方面的精神内的变型、修改和替代方面,而不脱离所要求保护的公开的更宽泛的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1