引导渐进搜索系统和方法与流程

文档序号:12733855阅读:222来源:国知局
引导渐进搜索系统和方法与流程

本公开一般地针对于计算机辅助设计(CAD)、计算机辅助工程(CAE)、可视化和制造系统、产品数据管理(PDM)系统、产品生命周期管理(PLM)系统、以及类似的系统,它们被用于创建、使用和管理用于产品和其它项目(在此被整体上称为产品系统)的数据。



背景技术:

产品系统可以包括与产品和其它项目相关联的所存储的内容。这样的产品系统可以通过改进而获取。



技术实现要素:

各种公开的实施例包括数据处理系统和方法,所述数据处理系统和方法可以被用于促进对被存储为产品系统数据储存中的对象的被分类的库内容的引导渐进搜索。

在一个示例中,用于引导渐进搜索的系统可以包括至少一个处理器,所述至少一个处理器被配置为通过显示设备生成图形用户界面(GUI),图形用户界面使得被存储在数据储存中并且被通过库节点分类的多个对象能够是经由如下而可搜索的:选择一个或多个库节点以及针对与对象的不同对象特征对应的第一多个过滤器选择一个或多个过滤器值。至少一个处理器可以被配置为响应于与库节点和/或过滤器值的选择对应的通过输入设备的至少一个输入:以确定具有与所述选择对应的对象特征的对象的子集;以引起对象子集中的至少一些被显示在GUI中;基于所确定的对象子集来确定第二多个过滤器,第二多个过滤器的每个具有至少一个过滤器值;以及引起第二多个过滤器中的至少一些被以如下的次序显示在GUI中:所述次序基于与第二多个过滤器相关联的过滤器值。

在另一示例中,用于引导渐进搜索的方法可以包括通过至少一个处理器的操作而执行的各种动作。这样的方法可以包括生成图形用户界面(GUI),图形用户界面使得被存储在数据储存中并且被通过库节点分类的多个对象能够是通过如下而可搜索的:选择一个或多个库节点以及针对与对象的不同对象特征对应的第一多个过滤器选择一个或多个过滤器值。该方法还可以包括接收与库节点和/或过滤器值的选择对应的通过输入设备的至少一个输入。另外该方法可以包括响应于所述选择来:确定具有与所述选择对应的对象特征的对象的子集;引起对象子集中的至少一些被显示在GUI中;基于所确定的对象子集来确定第二多个过滤器,第二多个过滤器的每个具有至少一个过滤器值;以及引起第二多个过滤器中的至少一些被以如下的次序显示在GUI中:所述次序基于与第二多个过滤器相关联的过滤器值。

进一步的示例可以包括被编码有可执行指令(诸如存储设备上的软件组件)的非暂态计算机可读介质,所述指令当被执行时引起至少一个处理器执行该描述的方法。

前面已经相当宽泛地概述了本公开的技术特征,从而本领域技术人员可以更好地理解下面的详细描述。在下文中将描述形成权利要求的主题的本公开的附加的特征和优点。本领域技术人员将领会,他们可以容易地使用所公开的概念和特定实施例作为用于修改或设计用于执行本公开的相同目的的其它结构的基础。本领域技术人员还将认识到,这样的等同构造不脱离本公开的在其最宽泛的形式上的精神和范围。

另外,在进行下面的详细描述之前,应当理解的是,贯穿于本专利文档提供了针对某些词语和短语的各种定义,并且本领域普通技术人员将理解,这样的定义应用于这样定义的词语和短语的在先前的以及在将来的使用的许多(即使不是大部分)实例中。虽然一些术语可以包括各种各样的实施例,但是所附权利要求可以明确地将这些术语限制于特定实施例。

附图说明

图1图示促进对产品系统中的被分类的库内容的引导渐进搜索的示例系统的功能框图。

图2图示示出用于经由渐进搜索确定的对象的示例集合的示例过滤器和过滤器值的示例表。

图3图示示出所确定的过滤器的次序和可用于确定用于过滤器的次序的可应用的排序的示例表。

图4图示基于网页的GUI的示例实现,GUI促进对产品系统中的被分类的库内容的引导渐进搜索。

图5图示具有对象特征的比较表的示例,对象特征具有如下次序:该次序基于针对用于从其中选择所比较的对象的搜索结果的过滤器的所确定的次序。

图6图示促进对产品系统中的被分类的库内容的引导渐进搜索的示例方法的流程图。

图7图示其中可以实现实施例的数据处理系统的框图。

具体实施方式

现在将参照附图描述与用于产品系统中的被分类的库内容的引导渐进搜索的系统和方法有关的各种技术,其中同样的参考标号自始至终地表示同样的元件。下面讨论的附图以及被用于在本专利文档中描述本公开的原理的各种实施例仅仅是以说明的方式,并且不应当以任何方式被解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以被实现在任何合适地布置的装置中。要理解的是,被描述为由某些系统元件执行的功能可以由多个元件执行。类似地,例如,元件可以被配置为执行被描述为由多个元件执行的功能。将参照示例性的非限制的实施例来描述本申请的众多创新性的教导。

参照图1,图示了促进引导渐进搜索的示例数据处理系统100。处理系统100可以包括至少一个处理器102,至少一个处理器102被配置为执行来自由处理器访问的存储器104的至少一个应用软件组件106。应用软件组件可以被配置(即,被编程)以引起处理器执行在此所描述的各种动作和功能。例如,所描述的应用软件组件106可以包括和/或对应于被配置为在数据储存108(诸如数据库)中生成和存储产品数据的PLM软件应用的一个或多个组件。

可以被适配为包括在此描述的引导渐进搜索特征的PLM系统的示例可以包括Teamcenter的活动工作空间特征、NX应用套件、Solid Edge和/或LMS Imagine.LAB应用,所有这些应用是由德克萨斯州普莱诺的西门子产品生命周期管理软件公司生产的。然而,应当领会的是,在此描述的系统和方法可以被使用在其它产品系统(例如,PLM、PDM系统)和/或在数据库中生成和存储产品数据的任何其它类型的系统中。另外,可以被用作为在此描述的一个或多个数据储存的数据库的示例包括数据库服务器应用,诸如Oracle、Microsoft SQL服务器或运转为存储数据记录的任何其它类型的数据储存。

应当领会的是,在复杂的生产PLM环境中针对对象(例如,表示/存储与部件、工具、文档、处理描述、模板、材料对应的数据的数据记录)执行全面的搜索可能是困难且耗时的。例如,PLM数据库可以被配置为存储许多不同类型的对象,并且每个对象类型可以包括许多可搜索的对象性质。

为了简化搜索,可以采用使冗余度最小化的分类策略。例如,在PLM数据库中,对象可以被分类成树结构的分类层级(例如,库)的特定分类(例如,库节点),在树结构的分类层级中与对象相关联的属性值被用于捕获对象的关键特征并且可以随后被用于搜索和找到这些对象。

然而,即使当使用分类策略时,对于终端用户来说如何构造将分类层级(例如,库)中感兴趣的分支或分类(例如,库节点)、对象性质、分类/库属性和整个文本内容以无缝方式组合的搜索查询可能是不直观的。经常地,在用户上的认知负荷可能是压倒性的,因为他们尝试理解信息已经被如何归类,什么搜索术语可以被有效地使用,以及什么数据已经被加载到系统中。

为了由终端用户简单地进行搜索,PLM系统可以使得管理员能够定义呈现针对基于用户、组或角色的特定分类类别(例如,库节点)的分类属性的特定集合的用于搜索的静态视图。然而,经常可能的情况是,所示出的属性中的一些实际上并不有助于用户进一步减少搜索结果以找到想要的库/分类内容。另外,静态搜索场景的使用可能不能解决所有可能的搜索场景中的大多数,甚至在投入显著的先期和持续的管理劳动和成本来开发和管理用于不同的库节点、用户、组、角色和/或项目的静态视图(以显示搜索过滤器)的情况下。

为了增强对复杂PLM数据的搜索并且最小化针对静态视图的需要,应用软件组件106的示例实施例可以被配置为执行动态数据分析,以在库/分类系统的情形中执行搜索时优化搜索过滤器的呈现。在这样的示例中,该描述的实施例可以以被优化以减少在用户上的认知负荷的次序来动态地确定和显示搜索过滤器,从而可以作出更快的过滤器选择以找到想要的库内容。

如下面将更详细地解释的那样,搜索过滤器对应于与一个或多个对象相关联的不同特征(诸如性质或属性)。因为对象特征可以具有取决于对象的不同的值(例如,对象的材料性质、长度性质或其它可变的方面),所以这样的过滤器还包括与对象的不同特征对应的一个或多个可选择的过滤器值。因此,用于材料性质的过滤器可以包括用户可选择的过滤器值列表,用户可选择的过滤器值表示针对存储在数据储存中的可应用于当前搜索结果的对象的钢、塑料、锌或其它材料类型的不同材料。另外,用于针对相同的对象集合的重量性质的过滤器可以列出与针对对象的不同的重量数量对应的不同的可选择过滤器值。应当领会的是,对象集合可以具有许多过滤器,取决于针对对象存储在数据储存中的特征的数目以及针对用于对象的每个特征而存储的不同值的数目,过滤器的每个具有许多可应用的过滤器值。

在示例实施例中,当执行搜索时,搜索过滤器可以随着渐进搜索序列的每个步骤而动态地改变,以使得最为可应用的过滤器(过滤器值对于剩余搜索结果的最大交集)被以突出的方式显示给用户。这样的实施例可以通过使访问最有用的搜索过滤器容易而有助于用户进一步减少搜索结果。

为了使得所描述的应用软件组件106能够执行这些特征,所描述的处理系统100可以包括至少一个输入设备110和至少一个显示设备112(诸如显示屏幕)。所描述的处理器102可以被配置为通过显示设备112生成GUI 114。这样的GUI可以包括GUI元素174(诸如按钮、链接、搜索框、列表、文本框、图像、滚动条),GUI元素174是由用户可使用的以通过输入设备110提供输入,输入引起搜索被执行以确定搜索结果166,搜索结果166列出来自数据储存108的与当前搜索一致的多个对象116。在该示例中,所生成的GUI 114可以使得对象116能够是经由如下而可搜索的:选择被层级地组织的库118(可以通过该库118对对象进行分类)的库节点120中的一个或多个以及选择用于第一多个过滤器122(对应于对象的不同的对象特征126)的一个或多个过滤器值124。这样的可选择的库节点可以被显示在GUI中的被分开的库位置168中,并且可选择的过滤器值124可以被显示在GUI的竖向下方的被分开的过滤器位置170中。然而,在替换的实施例中,GUI可以被配置为在显示屏幕上的其它相对位置中布置可选择的库节点和过滤器值。

在该示例中,可以从存储在数据储存108中的库数据130确定由GUI显示的库118和库节点120。这样的库数据可以表示具有许多级的分类/子分类(即节点数据132)的用户可配置的分类系统。另外,库节点可以包括可分配给对象的一个或多个属性134。在示例实施例中,对象特征126可以对应于对象性质128(诸如长度尺寸和重量)。此外,对象特征126可以对应于与对象相关联的库属性134(诸如组件类型),库属性使得能够对库数据130的不同节点132中的对象进行分类。

在该描述的实施例中,GUI 114使得能够基于与对象相关联的对象特征126和/或库节点132来(从当前的搜索结果166)搜索对象126。例如,典型的搜索可以开始于用户提供与库118以及可选地库的一个或多个节点120的选择对应的输入。在每个选择的情况下,处理器可以运转以确定更细化的(即,更小的)搜索结果166,搜索结果166列出来自数据储存的被分类为包括在所选择的(多个)库/库节点中的对象116。图1中的GUI 114图示其中库118和第一库节点172已经被选择的示例搜索。另外,一旦已经选择了合适的库和一个/或多个节点,用户然后就可以开始通过选择过滤器122的过滤器值124来进一步细化搜索结果166。

在该示例中,所显示的库节点120和所显示的过滤器值124对应于能够由通过输入设备110的一个或多个输入(例如,鼠标点击、触摸屏幕手指敲击)单独地选择的GUI元素。例如,处理器102可以被配置为响应于与至少一个库节点120和/或过滤器值124的至少一个选择对应的通过输入设备110的至少一个输入,以基于选择来执行促进搜索结果的进一步细化的下面描述的功能。

例如,如果用户从上级节点120的列表选择库节点136,则可以如GUI视图138中示出那样更新GUI。响应于该选择而执行的功能可以包括确定具有与所选择的库节点对应(即,被分类在所选择的库节点下)的至少一个对象特征(即,库属性)的对象子集140。这样的功能还可以包括与GUI中的对象子集140中的至少一些的列表对应的搜索结果142的显示。在该示例中,所确定的对象子集中的一个对象144被示出为被选择,这产生所选择的对象的特征(即,性质/库属性)146的显示。应当领会的是,用户可以选择搜索结果142的列表中的对象子集140中的其它对象,以引起GUI显示用于所选择的对象的特征。

除了显示搜索结果142之外,这样的功能可以包括基于所确定的对象子集140确定第二多个过滤器148。此外,这些功能可以包括以基于与第二多个过滤器相关联的过滤器值150的次序在GUI中显示第二多个过滤器中的至少一些和相关联的过滤器值。另外,在该示例中,功能可以包括作为所选择的节点136的子分支的附加节点152的显示。应当领会的是,这些附加节点152和所显示的过滤器值150也是可选择的,以引起这些所描述的功能被再次执行。选择库节点和/或过滤器以及更新库节点和过滤器的显示的该处理可以被渐进地执行,直到用户定位到对于用户来说感兴趣的对象。

在另一示例中,如果用户从过滤器/过滤器值(122/124)的列表选择过滤器值154,则可以如GUI视图156中示出那样更新GUI。响应于该选择而执行的功能可以包括:确定具有与过滤器值选择对应的至少一个对象特征的对象子集158。这样的功能还可以包括与GUI中的对象子集158中的至少一些的列表对应的搜索结果160的显示。

除了显示搜索结果160之外,这样的功能可以包括确定基于所确定的对象子集158的第二多个过滤器162。此外,这些功能可以包括以基于与第二多个过滤器相关联的过滤器值164的次序在GUI中显示第二多个过滤器中的至少一些和相关联的过滤器值。另外,在该示例中,功能可以包括对如下进行显示:对象子集在库118中被针对其(经由库属性)分类的一个或多个附加节点166以及可用于进一步细化搜索的可选择的子节点176。

如先前讨论的那样,在GUI中显示的所确定的过滤器122、148、162的次序可以基于与过滤器相关联的过滤器值124、150、164的特性。为了说明其中应用软件组件106可以被配置为确定所显示的过滤器次序的方式,图2示出可以基于针对包括在PLM数据库中的对象的搜索结果的示例集合而被确定的过滤器202(例如,A1、A2……)的示例表200。在该示例中,当前搜索结果包括总共100个对象。另外,具有A前缀的过滤器与针对被在数据储存的分类库中分类的库属性的对象特征对应。此外,具有O前缀的过滤器与针对对象性质的对象特征对应。

表200还包括与每个过滤器相关联的过滤器值204(例如,F1、F2……)的列表,过滤器值204与针对对于当前搜索结果而言的对象集合中的对象特征的不同值对应。在该示例中,每个过滤器值是利用括号中的数字206示出的,其对应于与该特定过滤器值相关联的搜索结果中的对象的计数。选择这些过滤器值中的一个(当被显示在GUI中时)可以更新搜索结果以具有与该计数值对应的更小数目的对象。例如,针对对于对象性质而言的过滤器O1的过滤器值F10与当前搜索结果中的35个对象相关联。因此,选择该过滤器将产生具有仅35个对象(全部具有针对O1对象性质的F10过滤器值)的新的当前搜索结果。

此外,表200针对每个过滤器202总结不同的过滤器值的总数目208和具有过滤器值的搜索结果中的对象的总数目210。如先前讨论的那样,每个过滤器可以对应于对象特征(性质、库节点/属性),并且过滤器值可以对应于针对对象特征的特定值。例如,对应于螺母紧固件的对象可以包括对象特征,诸如重量性质、宽度性质和表示符合工业标准的库分类属性。在数据储存中针对这些特征而存储的对应值可以包括0.02kg的重量、17mm的宽度和指示符合DIN 6330B工业标准的数据。在关系数据库类型的数据储存中,针对每个对象的这样的性质可以被存储在一个或多个不同的数据库表中的一个或多个不同的数据库记录中。

图3图示示例表300,示例表300示出针对图3中示出的所确定的过滤器202的新确定的次序302(在竖向方向上示出),该次序可以由该示例中的应用软件组件106确定。当GUI被更新以显示对象搜索结果时,应用软件组件可以被配置为以图3中示出的过滤器202的竖向次序302对在GUI中的过滤器的显示排次序。应当理解的是,在渐进搜索的每个步骤的情况下,用户选择过滤器值(或通过库层级导航)以减小搜索结果的大小。如果最重要的过滤器被定位在GUI中的显眼位置中(例如,在诸如图3图示的列表的顶部处),则那么用户花费更少的时间来寻找想要的过滤器(例如,不需要向下滚动通过长的过滤器列表),并且可以更快得多地完成渐进搜索。在具有大量用户(例如,1000)的复杂PLM部署中,这可以在产品系统的寿命之上节约显著的劳动成本。

表300还示出在相邻的列中的若干类型的排序304、306、308、310的示例,这些排序可以被相继地应用(例如,第一排序、第二排序、第三排序和第四排序)以产生用于过滤器202的排序次序。然而,应当领会的是,在替换的示例中,可以以不同的次序应用其它类型的排序以确定过滤器的次序。进一步地,这些示例类型的排序不是穷举的。替换的实施例可以使用替换的和/或附加的排序来作为GUI中显示的过滤器的次序的基础。

当不同的过滤器值的数目等于1时,那么选择该过滤器值不会进一步减少搜索结果并且因此一般地并不有助于用户找到想要的内容。因此,在该描述的实施例中,具有多于1个的过滤器值的过滤器在GUI显示中被优先化。为了实现该功能,第一排序304可以基于过滤器是否具有大于1的不同过滤器值的总数目(并且被分配给第一组),或具有等于1的不同过滤器值的总数目(并且被分配给第二组)。应用软件组件可以被配置为在GUI中在竖向上高于过滤器的第二组(仅具有1个不同的过滤器值)地列出过滤器的第一组(具有>1个的不同的过滤器值)。因此,如图3中示出那样,过滤器A1和A4被在竖向上低于所有其它过滤器地列出在GUI中。

如图3中示出那样,在使用第一排序304对过滤器进行排序之后,若干过滤器具有>1个的不同的过滤器值。因此,可以对这些过滤器执行第二排序306以进一步确定它们的次序。在该示例中,第二排序可以基于具有针对每个过滤器的过滤器值的对象的总数目,以便使具有与当前搜索结果的最佳数据交集的过滤器优先化。这样的过滤器可以对应于最为相关的过滤器(给定数据储存中的数据和渐进搜索的当前状态)。因此,在第一排序之后,可以根据第二排序来对具有>1个的不同的过滤器值的过滤器进行排序,以把具有最高数目的(具有滤波器值的)总共对象的过滤器在竖向上高于具有更低数目的(具有滤波器值的)总共对象的过滤器地放置。在该示例中,过滤器A10具有针对当前搜索结果中的100个对象的过滤器值,并且因此被在竖向高于所有其它过滤器地放置。应当理解的是,可以通过包括具有未分配的过滤器值的对象的计数或者排除具有未分配的过滤器值的对象的计数来计算该所描述的总共对象的数目。GUI可以被配置为具有由配置设置来控制的该计数方法。

如图3中示出那样,在使用第二排序306对过滤器进行排序之后,若干个过滤器(A3、A5-A9)具有相同的总数目的对象(具有它们的过滤器值80)。因此,可以对这些过滤器执行第三排序308以进一步确定它们的次序,以便在继续渐进搜索的时候查看过滤器和过滤器值以用于随后的选择时使在用户上的认知负荷最小化。例如,用户可以快速地查看4个或5个过滤器值,但是查看100个过滤器值更加耗时得多。因此,在该示例中,第三排序308可以基于针对过滤器的不同过滤器值的数目与优选的预先确定的数目(诸如4个或5个过滤器值)有多接近。

因此,可以在GUI中对在第一排序和第二排序之后被排列得相同的过滤器的组排次序,以使得具有更接近预先确定的数目的不同过滤器值的数目的过滤器被在竖向上高于具有更远离预先确定的值的不同过滤器值的数目的过滤器地显示。预先确定的数目例如可以对应于4、3、5或其它数目的值,该值被用于区分哪些过滤器具有更有用的不同过滤器值的数目以进一步限制搜索结果,并且因此在呈现给用户的过滤器的被排次序的列表中在竖向上被放置得更高。

在该示例第三排序中,具有“少数量”(例如,4个值)的过滤器被定位在顶部,并且具有更大数目的值的那些过滤器在显示中被推向下,因为对于用户而言可能的是在选择过滤器值以继续搜索序列之前花费更长时间来查看更多的值。例如,从十个不同的过滤器值中选择出一个可以在单次过滤器选择的情况下把搜索结果平均减少90%。然而,与用户简单地从(一个接一个的)不同的过滤器(不同的过滤器按每一过滤器只具有四个不同的过滤器值)选择过滤器值(这仍然在单次过滤器选择的情况下把搜索结果平均减少75%,并且可以导致更短的用以完成渐进搜索的总时间,因为对于用户而言确定每个过滤器值选择更容易并且因此耗费更少的时间)相比,对于用户而言用以读遍并评估这样的大列表的时间可能耗费更长得多时间。

可以通过包括数学计算、查找表和/或逻辑比较的任何类型的算法来作出过滤器与预先确定的值的接近度的确定。例如,在一个实施例中,预先确定的数目(诸如4)与针对过滤器的不同过滤器值的总数目之间的绝对值差可以产生被用于对过滤器进行排序的计算值(从最低到最高的计算值)。在该示例中,过滤器A5具有4的不同过滤器值的总数目(参见图2)并且具有以该方式计算的最低值(例如,ABS[4-4]=0)。因此,A5过滤器被在竖向上高于具有80的对象总数目的其它过滤器地排次序。另外,在该示例中,过滤器A6被在竖向上低于具有80的对象总数目的其它过滤器地排次序,因为它的不同过滤器值的总数目是80,并且因此具有以该方式计算的最高值(ABS[80-4]=76)。

在其它示例中,预先确定的查找表可以被用于确定与特定的预先确定的值的接近度。例如,这样的查找表可以包括[4, 3, 5, 2, 6, >6]的比较数据,其中第一条目是想要的预先确定的数目,并且随后的值被一般地以更远离第一值的次序列出。利用这样的表,可以将针对每个过滤器的不同过滤器值的数目与该表中的数目进行比较,并且基于在表中的找到匹配的位置来确定过滤器的次序。因此,对于该第三排序而言,具有3个不同过滤器值的过滤器将被在竖向上高于具有6个不同过滤器值的过滤器地放置。

另外,应当领会的是,其它实施例可以使用任何其它算法以用于该描述的第三排序,该第三排序通过与优选的想要的不同过滤器值的数目的接近度来对过滤器排次序。另外,在示例实施例中,在第三排序计算中使用的预先确定的值(或预先确定的查找表)可以是用户经由应用软件组件的GUI中的设置菜单而可配置的。

如图3中示出那样,在使用第三排序308对过滤器进行排序之后,具有80的对象总数目的若干个过滤器(A3、A7-A9)仍然被排列为与产生针对1(例如,ABS[5-4]=1和ABS[3-4]=1)的过滤器的相同值的第三排序计算的结果相同。因此,可以对这些过滤器执行第四排序310以进一步确定它们的次序,以便较之偏斜数据分布而使均匀数据分布优先化。例如,(假定100个搜索结果),如果存在在过滤器F1(25)、F2(25)、F3(25)、F4(25)中的4个值的均匀数据分布,则那么选择这些中的任何一个保证搜索结果被减少75%的100%概率。在诸如F1(97)、F2(1)、F3(1)、F4(1)的偏斜数据分布的情况下,存在使搜索结果减少3%的97%概率和使搜索结果减少99%的3%概率。因此,均匀数据分布可以提供更可预测的结果(并且就搜索效率和搜索花费的总时间来说对于用户而言更没有“风险”)。在该示例中,第四排序310可以基于针对对于每个过滤器而言的不同过滤器值的对象数目的范围。因此,在第一、第二和第三排序之后被排列为相同的过滤器的组可以在过滤器列表中被经由针对过滤器的不同过滤器值的对象数目的范围有多窄或多宽而排序(即,更小的范围被在竖向上更高地显示)。

如图3中示出那样,过滤器A9具有5的所计算的范围,并且对于针对在第一、第二和第三排序之后被排列为相同的过滤器A3、A7-A9的组的第四排序计算而言具有最低值。因此,A9过滤器被在竖向上高于其它过滤器A3、A7、A8地排次序。在该示例中,5的范围可以通过确定如下来计算:过滤器值F107(图2中示出)具有将在该过滤器值的选择之后保留在搜索结果中的最大(即最多)数目的不同对象(30的计数);并且F108或F109的其它过滤器值具有最小(即最少)数目的不同对象(25的计数);并且从最多数目减去最少数目(MAX[30]-MIN[25]=5)。

针对A2过滤器的相同的计算产生25(MAX[30]-MIN[5]=25)的范围,并且因此在该示例中A2过滤器将被在竖向上低于A9过滤器地排次序。

应当注意的是,在第四排序之后,替换的实施例可以执行其它排序(如果需要的话)以区分哪些过滤器应当在GUI中与其它过滤器相比在竖向上被更高地呈现。另外,应当领会的是,在一些示例中可以执行更少数目的排序。进一步地,在执行一个或多个排序之后,过滤器之间的任何剩余关系可以被通过以如下为基础而打破:基于针对过滤器的名称的字母次序、随机次序或可以被用于确定过滤器的最终竖向次序的任何其它计算或处理的任何进一步的排序。

在示例实施例中,数据储存中的对象可以被索引以增强系统的性能。例如,可以针对对象特征或数据的其它方面生成索引,以便增加可以针对当前搜索结果确定过滤器、过滤器的次序和针对不同过滤器值的对象数目的速度。为了增强可使用性,可以经由索引来配置示例实施例,以便能够满足针对所描述的应用软件组件对用户输入(例如,过滤器值选择)进行响应并针对渐进搜索的每个步骤更新GUI所花费的时间量的搜索结果检索阈值(诸如2秒的流逝时间或更少)。

所描述的示例可以通过使得搜索过滤器能够以针对当前搜索结果/尝试优化的次序被呈现并反映正被搜索的库的当前节点来为用户提供用以虚拟地找到存储在库中的任何类型的对象数据(例如,部件、工具、文档、处理描述、模板、材料或任何其它类型的产品数据)的高效方式。因此,所描述的示例可以通过减轻或至少最小化管理员针对不同的库节点、用户、组、角色和项目而设置和管理视图(以显示搜索过滤器)的需要来减少应用软件组件的总的拥有成本。这样的高效PLM搜索可以被运用在任何产业(例如,航空航天和国防、汽车和运输、消费者产品和零售、电子器件和半导体、能源和公用事业、工业机械和重型设备、船舶或医疗设备和药品)中。这样的搜索还可以可应用于面向消费者的供应商网页,供应商网页针对于对产品的搜索以从供应商进行购买。

在示例实施例中,过滤器的所描述的次序被示出为针对库搜索处理而执行,其中用户选择库以开始搜索对于用户来说感兴趣的对象。然而,应当领会的是,可以针对其它的或附加的类型的搜索来执行和显示所描述的过滤器和对过滤器排次序的所描述的处理。这样的其它的/附加的类型的搜索可以包括关键字搜索、布尔逻辑搜索、模板搜索、3D几何形状搜索(诸如西门子Geolus引擎)或任何其它类型的搜索(其中产生包括许多对象的搜索结果,对象可以经由选择可应用于当前搜索结果的过滤器值而被进一步细化(即,在数目上被减少))。

例如,除了显示可选择的库节点和可选择的过滤器值之外,应用软件组件可以使得GUI能够接受用于基于形状(例如,圆柱形的对括号形状的)搜索对象的信息。在该示例中,GUI可以接受种子对象(例如,部件或具有由CAD数据指定的定义形状的其它对象)的输入。GUI还可以接受与阈值相关联的输入(例如,针对与要搜索的种子对象的3D几何形状的想要的相对接近度)。响应于种子对象和阈值数据的输入,应用软件组件可以被配置为针对数据库中的对象基于从CAD数据生成的形状索引在指定的阈值内利用类似的形状在数据库中执行对象的搜索。然后可以使用GUI经由如先前描述的库节点和过滤器值的选择来进一步细化所得到的搜索结果(具有类似形状的对象)。

在进一步的示例中,应用软件组件可以使得GUI能够基于对象之间的关系来细化搜索结果。关系的示例可以是表示部件的对象,该对象具有与表示组装件的另一对象的关系。这样的关系可以对应于包括该部件的组装件。组装件可以具有对于选择部件而言可能是有用的性质。例如,组装件可以具有诸如“被释放开”(以进行制造)的状态,或者在针对由该组装件包括的部件的搜索中有用的其它特征。PLM数据库可以包括捕获对象与相关对象的特征之间的这样的关系以及关联的索引。因此,示例应用软件组件可以利用这样的索引来基于这样的关系和相关对象的性质来确定对于细化搜索结果而言有用的过滤器和过滤器值。

在上面的示例中,所确定的过滤器可以与针对与当前搜索结果中的对象相关的对象的状态性质对应,并且过滤器值可以包括针对相关对象的诸如“被释放开”和“未被定义”的状态。所描述的GUI可以显示这样的过滤器和具有针对具有每个状态的当前搜索结果中的每种类型的对象的数目的相应计数的这些相关联的过滤器值。在示例实施例中,可以基于对象特征(诸如对象性质和库属性)在过滤器当中排序和显示基于对象之间的关系的这样的过滤器。然而,在替换的实施例中,可以基于对象特征在GUI中(例如,在分离的位置)将这样确定的关系过滤器与先前描述的过滤器分开。在这样的替换的示例中,也可以基于先前描述的排序算法来对关系过滤器排序。

还应当领会的是,在其它示例中,过滤器可以基于在PLM数据库中定义的其它对象关系以便促进搜索具有与具有特定特征的其它对象的关系的对象。在示例实施例中,关于哪些关系过滤器用于针对对象进行确定以及用于在GUI中进行显示的确定可以是自动地确定的和/或可以是可配置的。例如,应用软件组件可以运转以确定针对一个或多个对象关系的预先存在的索引,并且至少部分地基于哪些关系被包括在索引中来确定哪些关系过滤器要用于显示和排序。附加地或替换地,应用软件组件可以使得GUI能够是可使用的以选择哪些可用的关系过滤器要包括在针对对象的渐进搜索中。

如先前讨论的那样,第一排序304把仅具有一个不同过滤器值的过滤器放置在在竖向上低于具有多于1个的不同过滤器值的第一组的过滤器的第二组的过滤器中。该次序确保具有单个过滤器值(可能地,未被分配的值)的过滤器被更不显眼地显示(因为选择该过滤器值将不会进一步减少搜索结果中的对象的数目)。在示例实施例中,应用软件组件106可以使得GUI能够准许设置变量,所述变量控制是否抑制该第一组中的过滤器的显示。例如,应用软件组件可以包括HideSingleValue设置,其当设置为真时抑制仅具有一个不同的过滤器值的过滤器在GUI中的显示。

此外,应当注意的是,对象可能具有未被填充有值的特征(例如,性质/属性),并且这样被认为是具有未被分配的值。例如,对象的重量在用于当前搜索结果的数据记录中可能是空的,因此重量过滤器可能仅具有表示未被分配的值的过滤器值。由于选择这样的过滤器值将不会进一步减小搜索结果的大小,所以应用软件组件可以包括HideUnassignedValue设置,其当设置为真时抑制仅具有未被分配的过滤器值的过滤器在GUI中的显示。

现在参照图4,以浏览器(例如,Google Chrome、Mozilla Firefox、Microsoft Internet Explorer)中的网页400的形式图示所描述的GUI 114的示例实现。在此,已经选择了六个库节点402,其已经产生了包括来自该库中的原来的总共120个对象的六个对象的搜索结果404。另外,在该示例中,示出了在搜索结果中选择的对象中的一个406(例如,Ugfc100102_001/A),其已经引起GUI显示针对该所选择的对象的对象特征408。

在当前搜索结果中的该对象集合的情况下,应用软件组件已经引起若干个过滤器410被显示在GUI中。应当注意的是,基于针对当前搜索结果中的六个对象的对象特征来示出过滤器次序。在该示例中,第四搜索可应用于针对对象确定次序。例如,直径螺纹过滤器412被布置在顶部,因为该过滤器具有基于与总共两个的对象的每个对应的其可选择的过滤器值的每个的所计算的范围0(例如,Max[2]-Min[2]=0)。另外,评论过滤器414是下一个在竖向上更低的过滤器,因为该过滤器具有基于针对其过滤器值的对象计数的所计算的范围1(例如,Max[2]-Min[1]=1)。此外,重量过滤器416是下一个在竖向上更低的过滤器,因为该过滤器具有基于针对其过滤器值的对象计数的所计算的范围2(例如,Max[3]-Min[1]=2)。进一步地,供应商过滤器418是在竖向上被示出为最低的过滤器,因为该过滤器具有基于针对其过滤器值的对象计数的所计算的范围3(例如,Max[4]-Min[1]=3)。

GUI的这样的基于网页的实现可以在单个数据处理系统(诸如工作站)中执行。然而,这样的实现也可以在分布式数据处理系统中执行。例如,图1中示出的所描述的至少一个处理器102可以对应于web服务器、数据库服务器和/或应用服务器中的一个或多个中的至少一个处理器,以及生成网页的客户设备中的处理器。在该示例中,一个或多个服务器中的(多个)处理器可以确定针对当前搜索结果的对象以及过滤器和过滤器的次序,并且该数据可以被通信到客户设备以呈现网页。然而,应当领会的是,该描述的功能中的一些可以由客户设备中的处理器执行。例如,可以经由在客户设备上的浏览器中的网页中执行的java脚本来确定过滤器的次序(如上面描述那样)。因此,在这样的分布式示例中,所描述的应用软件组件106也是分布式的,并且对应于若干个组件,诸如在服务器中执行的服务器软件以及被通信到客户设备以用于在浏览器中呈现GUI的情况下使用的java脚本。

在图4中示出的示例网页400中,应当注意的是,库节点402被标记有“库过滤器”的标题420。该标题反映了在网页400上示出的节点402具有类似于所描述的过滤器410的功能,原因在于每个(当可选择时)可以进一步窄化搜索结果404以包括更小的对象子集。然而,应当理解的是,本示例中的库节点并不是以在此针对过滤器410描述的方式被排序的。相反地,库节点被一般地从过滤器分开,诸如被竖向地显示在过滤器410之上。一般而言,具有勾号422(或其它选择指示符)的如在GUI中显示的库节点提供当前搜索结果404中的对象被针对其分类的分类库的分支的视觉组织。如图2中图示那样,不具有勾号的节点对应于可用于被选择以进一步限制搜索结果的子节点。相反,替代基于分类库的组织被排次序,在此以及在权利要求中被提及为“过滤器”410的所描述的要素被以(根据在此描述的基于与每个过滤器相关联的过滤器值424的特性的排序功能的)次序显示。

在示例实施例中,应当注意的是,在过滤器410的列表中在竖向上更高的特定过滤器一般提供可选择的过滤器值的快速可读且可理解的谱,以便使得终端用户能够高效地进一步将搜索结果限制到相关对象。在示例实施例中,除了细化搜索结果之外,过滤器的这样的有用的次序可以具有其它用途。例如,在进一步的实施例中,应用软件组件可以基于当前搜索结果在GUI中生成比较表。这样的比较表可以以表格形式显示每个对象的至少一些特征,以便提供增强的真实度来对优选的对象/选择作出最终决定以完成手边的任务。在比较表中列出的对象特征的次序可以基于针对当前搜索结果404的对应过滤器的次序。在一些示例中,当在当前搜索结果中的对象的数目已经减少到或低于预先确定的对象数目(例如,诸如可以是用户可配置的5个对象)时可以自动地在GUI中呈现比较表。然而,在其它实施例中,可以响应于比较按钮、菜单项目或其它可选择的GUI要素的选择而在GUI中针对当前搜索结果中的对象显示比较表。

图5图示可以是针对在图4中示出的搜索结果404中列出的前两个对象而生成的比较表502的示例500。在此,表被预先填充以包括第一列表504(诸如顶部水平行),第一列表504基于在搜索期间确定的过滤器的次序来标记具有高优先度的对于所选择对象来说共有的对象特征。该表还包括针对每个所选择对象的相邻列表506、508(例如,诸如第二和第三行),其显示针对对于每个对象而言的每个对象特征的对应值。然而,应当领会的是,在替换的实施例中,表可以被转置以将这些标记放置在共同的竖向列中(针对每个不同的对象在相邻的列中具有对应的值)。

在该示例中,针对该表列出的对象特征504的次序可以基于针对对象被从其中选择的当前搜索结果(在图4中示出)的对应过滤器410的次序。因此,可以基于被用于确定过滤器的排序次序的算法来在表中以更可见的方式示出更高优先度对象特征集合。所显示的对象特征的数目可以是用户可配置的参数(诸如值10)。因此,比较表可以包括基于针对当前搜索结果的过滤器的优先度(即,基于先前描述的排序算法)的前10个对象特征(或其它数目)。任何其余的(更低优先度)特征可以在最初被隐藏。

然而,应当领会的是,可以在比较表502中示出附加的对象特征和值,它们与比较表中在最初被显示的对象特征的列表相比在最初被排列得更低。例如,应用软件组件可以为GUI提供对于用户而言用以布置列/行和/或添加/移除要在比较表中显示的对象特征的能力。GUI可以提供GUI按钮或菜单命令,GUI按钮或菜单命令为用户提供用以为了修改比较表的目的而查看被显示的和未被显示的对象特征的集合的能力。这样的被显示的对象特征集合可以示出当前显示的对象特征,随后是未被显示的对象特征的可选择的列表。未被显示的对象特征可以被按字母顺序地排次序或者基于针对当前搜索的过滤器的优先度(即,基于先前描述的排序算法)来排次序。GUI还可以使得用户能够使用这样的显示的对象特征集合以:选择要在比较表中显示的附加的对象特征;重新布置在比较表中显示的对象特征的次序;和/或隐藏最初在比较表中填充(或稍后添加)的对象特征。

应当理解的是,PLM数据库可以被使用在具有非常复杂的生产环境的产业中。例如,汽车和运输产业可以使用PLM数据库以用于捕获针对用于所有的它们的车辆模型的所有组件的所有设计和修订。PLM数据库和软件的分类能力可以有助于组织这样的PLM数据库,并且因此可以是足够灵活/可配置的,以便可应用于跨PLM产业和使用情况的许多类型的数据。作为结果,PLM数据库和软件的设计者可能不知道先期的分类层级,因为这样的分类层级是由终端用户定义的。

针对这样的情况,在此描述的引导搜索提供无缝且高效的搜索和浏览机制(经由过滤)以对可应用于针对库的分类层级的任何配置的被库分类的对象执行搜索。所描述的示例在没有针对管理静态优先度(以及相关联的更昂贵的管理成本)的需要的情况下提供被动态地确定的过滤器优先度。

然而,还应当领会的是,在进一步的示例实施例中,应用软件组件可以通过加权技术来把过滤器优先度的静态配置与所描述的被动态地确定的过滤器优先度组合,以获得在两个机制之间的混合行为。例如,所描述的应用软件组件可以为GUI提供用以通过对某些对象性质分配数值权重来配置过滤器优先度确定的一些方面的能力。这样的数值权重可以对应于除了先前讨论的所描述的第一、第二、第三、第四排序中的一个之外执行的另一类型的排序。

还应当领会的是,在此描述的搜索结果可以包括针对可能不匹配于所选择的过滤器值的当前集合但是可以是基于相关的数据模型算法(例如,基于搜索历史数据)的相关的对象的其它对象的列表。例如,应用软件组件可以被配置为附加地引起GUI显示由同一用户或其它用户针对作为当前搜索结果被分类在相同的库节点中的搜索、比较(和/或其它功能)而经常选择的对象的列表。

在示例实施例中,应用软件组件可以被配置为在数据储存中存储搜索的用户历史以用于在提供附加的过滤器算法引导的情况下使用。例如,所描述的应用软件组件可以被配置为确定哪些过滤器被最频繁地用于搜索和/或被最频繁地选择的过滤器值。这样的数据可以被用作为排序(例如,第一、第二、第三、第四)中的一个以作为先前描述的过滤器的次序的基础。因此,所描述的应用软件组件可以被配置为学习每个用户典型地搜索什么,并且可以基于先前的搜索历史细化随后的搜索。这样的个性化搜索可以在站点、组、角色和/或用户级别处执行。

现在参照图6,图示和描述了各种示例方法。虽然这些方法被描述为在序列中执行的一系列动作,但是要理解的是,这些方法可以不由序列的次序的限制。例如,一些动作可以以与在此所描述的次序不同的次序发生。此外,动作可以与另一个动作同时发生。更进一步地,在一些实例中,可以不要求所有动作来实现在此所描述的方法。

重要的是要注意,虽然本公开包括在完全功能的系统和/或一系列动作的情形下的描述,但是本领域技术人员将领会,本公开的机制的至少一部分和/或所描述的动作能够以计算机可执行指令的形式分布,所述指令包含在采用各种形式中的任何一种的非暂态机器可用的、计算机可用的或计算机可读的介质内,并且本公开等同地进行应用,而不管被利用于实际地执行分布的指令或数据承载介质或存储介质的特定类型如何。非暂态机器可用/可读或计算机可用/可读介质的示例包括:ROM、EPROM、磁带、软盘、硬盘驱动器、SSD、闪速存储器、CD、DVD和蓝光盘。计算机可执行指令可以包括例程、子例程、程序、应用、模块、库、和/或执行的线程等。还进一步地,方法的动作的结果可以被存储在计算机可读介质中、和/或被显示在显示设备上等。

现在参照图6,图示了促进表示多域系统的功能操作的被排列的组件模型方案的生成的方法600。该方法可以在602处开始,并且该方法可以包括通过至少一个处理器的操作而执行的若干动作。

这些动作可以包括生成图形用户界面(GUI)的动作604,该图形用户界面使得被存储在数据储存中并且被通过库节点分类的多个对象能够是通过如下而可搜索的:选择一个或多个库节点以及针对与对象的不同对象特征对应的第一多个过滤器选择一个或多个过滤器值。此外,该方法可以包括接收与库节点和/或过滤器值的选择对应的通过输入设备的至少一个输入的动作606。另外,方法可以包括响应于该选择而执行的若干动作,包括:确定具有与该选择对应的对象特征的对象的子集的动作608;引起对象子集中的至少一些被显示在GUI中的动作610,以及基于所确定的对象子集确定第二多个过滤器(第二多个过滤器的每个具有至少一个过滤器值)的动作612;以及引起第二多个过滤器中的至少一些被以如下的次序显示在GUI中的动作614:所述次序基于与第二多个过滤器相关联的过滤器值。在616处,方法可以结束。

应当领会的是,方法600可以包括先前关于处理系统100讨论的其它动作和特征。例如,该方法可以包括引起GUI以至少部分地基于与第二多个过滤器中的每个过滤器相关联的对象的总数目的次序来显示第二多个过滤器。

此外,该方法可以包括引起GUI以至少部分地基于与第二多个过滤器中的每个过滤器相关联的不同过滤器值的确定数目的次序来显示第二多个过滤器的动作。例如,动作可以包括引起GUI以至少部分地基于针对每个过滤器的不同过滤器值的数目与预先确定的数目的相对接近度的确定的次序来显示第二多个过滤器。

进一步地,该方法可以包括引起GUI以基于针对第二多个过滤器中的每个过滤器的不同过滤器值的对象的数目的范围的次序来显示第二多个过滤器的动作。

此外,在进一步的示例中,该方法可以包括引起GUI以至少部分地基于与第二多个过滤器中的每个过滤器相关联的不同过滤器值的所确定的数目(是等于1和大于1)的次序来显示第二多个过滤器的动作。如先前关于系统100讨论的那样,在该示例中,与具有等于1的不同过滤器值的总数目的过滤器相比,具有大于1的不同过滤器值的总数目的过滤器在GUI中在次序上被在竖向上更高地显示。另外,与具有等于1且未被分配的不同过滤器值的总数目的过滤器相比,具有等于1且并非未被分配的不同过滤器值的总数目的过滤器可以在GUI中在次序上被在竖向上更高地显示。

方法的示例实施例还可以包括接收与关联于第二多个过滤器的过滤器值的进一步的选择对应的至少一个进一步的输入的动作。响应于该进一步的选择,该方法可以包括如下动作:基于该进一步的选择确定进一步的对象子集;引起所述进一步的对象子集中的至少一些被显示在GUI中;基于所确定的进一步的对象子集来确定第三多个过滤器,第三多个过滤器中的每个具有至少一个过滤器值;以及引起第三多个过滤器中的至少一些以基于与第三多个过滤器相关联的过滤器值的次序显示在GUI中。

如先前关于系统讨论的那样,对象特征可以对应于由对象所包括的对象性质和与对象相关联的库属性。示例方法可以响应于与第二多个过滤器相关联的过滤器值的进一步的选择以:基于所确定的进一步的对象子集确定至少一个进一步的库节点;以及引起所述进一步的库节点被显示在GUI中。

此外,示例方法可以包括响应于针对于生成比较表—引起GUI基于第二多个过滤器显示比较表的动作—的至少一个输入。这样的比较表可以描绘与公共列表(诸如列或行)中的第二多个过滤器对应的对象特征,以使得对象特征与被显示在针对至少两个不同对象的相邻列表(诸如列或行)中的相应的对象特征值对齐(诸如水平地或竖向地)。在该示例中,比较表中的对象特征的次序可以对应于在GUI中显示的第二多个过滤器的次序。

此外,应当领会的是,在这些示例中由搜索结果返回的对象可以被用于执行进一步的动作。例如,搜索结果中的对象中的一些可以对应于或包括CAD数据(例如,部件的3D模型)。这样的CAD数据可以使用CAD软件(其可以包括所描述的应用软件组件)来修订并且被持续返回数据储存。然后可以基于CAD数据来执行与生成工程绘图和/或材料清单(BOM)相关联的进一步的动作。此外,该方法可以包括由个体基于工程绘图和/或BOM来手动地构建结构。进一步地,这样的动作可以包括由机器(诸如3D打印机)基于CAD数据来构建结构(或结构的一部分)。

如先前讨论的那样,与这些方法相关联的动作(除了诸如手动地构建结构的动作的任何所描述的手动动作之外)可以由一个或多个处理器执行。这样的(多个)处理器可以被包括在例如执行软件组件的一个或多个数据处理系统中,所述软件组件运转以引起这些动作由一个或多个处理器执行。在示例实施例中,这样的软件组件可以包括与例程、子例程、程序、应用、模块、库、和/或执行的线程等对应的计算机可执行指令。进一步地,应当领会的是,软件组件可以被写入在软件环境/语言/框架中和/或由软件环境/语言/框架所产生,软件环境/语言/框架诸如Java、Java脚本、Python、C、C#、C++或能够产生被配置为执行在此描述的动作和特征的组件和图形用户界面的任何其它软件工具。

图7图示数据处理系统700(也称为计算机系统)的框图,其中实施例可以被实现为例如产品系统的一部分和/或通过软件或另外地操作地配置以执行如在此描述的处理的其它系统。所描绘的数据处理系统包括可以被连接到一个或多个网桥/控制器/总线704(例如,北桥、南桥)的至少一个处理器702(例如,CPU)。总线704中的一个例如可以包括一个或多个I/O总线,诸如PCI Express总线。在所描绘的示例中也连接到各种总线的可以包括主存储器706(RAM)和图形控制器708。图形控制器708可以被连接到一个或多个显示设备710。还应当注意的是,在一些实施例中,一个或多个控制器(例如,图形、南桥)可以与CPU集成(在相同的芯片或管芯上)。CPU架构的示例包括IA-32、x86-64和ARM处理器架构。

连接到一个或多个总线的其它外围设备可以包括运转以连接到局域网(LAN)、广域网(WAN)、蜂窝网络和/或其它有线或无线网络714或通信装备的通信控制器712(以太网控制器、WiFi控制器、蜂窝控制器)。

连接到各种总线的进一步的组件可以包括一个或多个I/O控制器716,诸如USB控制器、蓝牙控制器和/或专用音频控制器(连接到扬声器和/或麦克风)。还应当领会的是,各种外围设备可以连接到(多个)I/O控制器(经由各种端口和连接),包括输入设备718(例如键盘、鼠标、指针、触摸屏、触摸板、绘图板、追踪球、按钮、小键盘、游戏控制器、游戏手柄、相机、麦克风、扫描器、捕获运动手势的运动感测设备)、输出设备720(例如打印机、扬声器)、或运转以向数据处理系统提供输入或从数据处理系统接收输出的任何其它类型的设备。另外,应当领会的是,被称为输入设备或输出设备的许多设备可以进行如下的这两者:提供与数据处理系统的通信的输入和接收与数据处理系统的通信的输出。例如,处理器702可以集成到包括用作输入和显示设备这两者的触摸屏的外壳(诸如平板)中。进一步地,应当领会的是,一些输入设备(诸如膝上型电脑)可以包括多个不同类型的输入设备(例如,触摸屏、触摸板、键盘)。另外,应当领会的是,连接到I/O控制器716的其它外围硬件722可以包括被配置为与数据处理系统通信的任何类型的设备、机器或组件。

连接到各种总线的附加组件可以包括一个或多个存储控制器724(例如,SATA)。存储控制器可以连接到存储设备726,诸如一个或多个存储驱动器和/或任何相关联的可移除介质,其可以是任何合适的非暂态机器可用或机器可读存储介质。示例包括非易失性设备、易失性设备、只读设备、可写设备、ROM、EPROM、磁带存储、软盘驱动器、硬盘驱动器、固态驱动器(SSD)、闪速存储器、光盘驱动器(CD、DVD、蓝光)、以及其它已知的光的、电的或磁的存储设备驱动器和/或计算机介质。另外,在一些示例中,诸如SSD的存储设备可以直接连接到诸如PCI Express总线的I/O总线704。

根据本公开的实施例的数据处理系统可以包括操作系统728、软件/固件730和数据储存732(其可以存储在存储设备726和/或存储器706上)。这样的操作系统可以采用命令行界面(CLI)壳和/或图形用户界面(GUI)壳。GUI壳许可同时在图形用户界面中呈现多个显示窗口,其中每个显示窗口提供到不同应用或到相同应用的不同实例的接口。图形用户界面中的光标或指针可以由用户通过诸如鼠标或触摸屏之类的指点设备来操纵。可以改变光标/指针的位置和/或可以生成诸如点击鼠标按钮或触摸触摸屏之类的事件以致动想要的响应。可以在数据处理系统中使用的操作系统的示例可以包括Microsoft Windows、Linux、UNIX、iOS和Android操作系统。另外,数据储存的示例包括数据文件、数据表、关系数据库(例如,Oracle、Microsoft SQL Server)、数据库服务器或能够存储可由处理器检索的数据的任何其它结构和/或设备。

通信控制器712可以连接到网络714(不是数据处理系统700的一部分),网络可以是任何公共或专用数据处理系统网络或网络的组合,如对于本领域技术人员已知的那样,包括因特网。数据处理系统700可以通过网络714与诸如服务器734(也不是数据处理系统700的一部分)的一个或多个其它数据处理系统进行通信。然而,替换的数据处理系统可以对应于实现为分布式系统的一部分的多个数据处理系统,在所述分布式系统中与若干数据处理系统相关联的处理器可以通过一个或多个网络连接的方式进行通信并且可以如由单个数据处理系统执行的那样共同地执行所描述的任务。因此,要理解,当提及数据处理系统时,这样的系统可以跨越在经由网络彼此通信的分布式系统中组织的若干数据处理系统来实现。

进一步地,术语“控制器”意味着控制至少一个操作的任何设备、系统或其一部分,无论这样的设备是以硬件、固件、软件还是其至少两个的某种组合来实现。应当注意,与任何特定控制器相关联的功能可以是集中式的或分布式的,无论是本地地还是远程地。

此外,应当领会的是,数据处理系统可以被实现为虚拟机架构中的虚拟机或云环境。例如,处理器702和相关联的组件可以对应于在一个或多个服务器的虚拟机环境中执行的虚拟机。虚拟机架构的示例包括VMware ESCi、Microsoft Hyper-V、Xen和KVM。

本领域普通技术人员将领会,针对数据处理系统所描绘的硬件可以针对特定实现而变化。例如,该示例中的数据处理系统700可以对应于计算机、工作站、服务器、PC、笔记本计算机、平板电脑、移动电话和/或任何其它类型的装置/系统,其运转以处理数据并执行与在此所讨论的数据处理系统、计算机、处理器和/或控制器的操作相关联的在此描述的功能和特征。所描绘的示例仅被提供用于解释的目的,并且不意味着暗示关于本公开的架构限制。

另外,应当注意的是,在此描述的处理器可以位于远离在此描述的显示和输入设备的服务器中。在这样的示例中,所描述的显示设备和输入设备可以包括在通过有线或无线网络(其可以包括因特网)与服务器(和/或在服务器上执行的虚拟机)通信的客户设备中。在一些实施例中,这样的客户设备例如可以执行远程桌面应用或者可以对应于利用服务器执行远程桌面协议的端口设备,以便将输入从输入设备发送到服务器并通过显示设备从服务器接收视觉信息以进行显示。这样的远程桌面协议的示例包括Teradici的PCoIP、微软的RDP和RFB协议。在这样的示例中,在此描述的处理器可以对应于在服务器的物理处理器中执行的虚拟机的虚拟处理器。

如在此所使用的那样,术语“组件”和“系统”意图涵盖硬件、软件或硬件和软件的组合。因此,例如,系统或组件可以是处理、在处理器上执行的处理或处理器。附加地,组件或系统可以位于单个设备上或跨若干个设备分布。

另外,如在此所使用的那样,处理器对应于经由硬件电路、软件和/或固件配置为处理数据的任何电子设备。例如,在此描述的处理器可以对应于微处理器、CPU、FPGA、ASIC或任何其它集成电路(IC)、或者能够处理数据处理系统中的数据的其它类型的电路中的一个或多个(或组合),其可以具有控制器板、计算机、服务器、移动电话和/或任何其它类型的电子设备的形式。

本领域技术人员将认识到,为了简单和清楚起见,在此并未描绘或描述适合于与本公开一起使用的所有数据处理系统的全部结构和操作。相反,只描绘和描述了对于本公开来说独特的或者对于理解本公开而言所必需的那么多的数据处理系统。数据处理系统700的构造和操作的其余部分可以符合本领域中已知的各种当前实现和实践中的任何一种。

另外,应当理解的是,在此使用的词语或短语应当被宽泛地解释,除非在一些示例中明确地限制。例如,术语“包括”和“包含”及其派生词意味着包括而不是进行限制。除非上下文另外地清楚地指示,否则单数形式“一”、“一个”和“该”意图也包括复数形式。进一步地,如在此所使用的术语“和/或”提及并且涵盖相关联的所列出的项中的一个或多个的任何和所有可能的组合。术语“或”是包括性的,意味着和/或,除非上下文另外地清楚地指示。短语“与……相关联”和“与其相关联”以及其派生词可以意味着包括、包括在其中、与……互连、包含、包含在……内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……配合、交织、并置、接近、绑定到或与……绑定、具有、或具有……的性质等。

另外,虽然在此可以使用术语“第一”、“第二”、“第三”等等来描述各种元件、功能或动作,但是这些元件、功能或动作不应当受这些术语限制。相反,这些数字形容词被用于将不同的元件、功能或动作彼此区分开。例如,第一元件、功能或动作可以被命名为第二元件、功能或动作,并且类似地,第二元件、功能或动作可以被命名为第一元件、功能或动作,而不脱离本公开的范围。

此外,诸如“处理器被配置为”执行一个或多个功能或处理之类的短语可以意味着处理器被操作地配置为或被可操作地配置为经由软件、固件和/或有线电路来执行功能或处理。例如,被配置为执行功能/处理的处理器可以对应于执行软件/固件的处理器,其被编程以引起处理器执行功能/处理和/或可以对应于如下的处理器,该处理器在存储器或存储设备中具有可用于由处理器执行以执行功能/处理的软件/固件。还应当注意的是,“被配置为”执行一个或多个功能或处理的处理器也可以对应于被特别地制备或“布线”以执行功能或处理的处理器电路(例如,ASIC或FPGA设计)。进一步地,在被配置为执行多于一个功能的元件(例如,处理器)之前的短语“至少一个”可以对应于每个执行功能的一个或多个元件(例如,处理器),并且还可以对应于分别执行一个或多个不同的功能中的不同功能的两个或更多元件(例如,处理器)。

此外,术语“相邻”可以意味着:元件是相对靠近的但是不与另外的元件接触;或者该元件与另外的部分接触,除非上下文另外地清楚地指示。

虽然已经详细描述了本公开的示例性实施例,但是本领域技术人员将理解,在不脱离本公开在其最广泛的形式下的精神和范围的情况下,可以作出在此公开的各种改变、替换、变化和改进。

本申请中的描述都不应当被解读为暗示任何特定元件、步骤、动作或功能是必须被包括在权利要求范围中的必不可少的要素:要求专利保护的主题事项的范围仅由允许的权利要求限定。此外,这些权利要求都不意图调用部件加功能权利要求构造,除非确切的词语“用于……的部件”附有相应内容。

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