首页> 中国专利> 数据元素向可视化边缘的基于语义距离的指派

数据元素向可视化边缘的基于语义距离的指派

摘要

本公开涉及数据元素向可视化边缘的基于语义距离的指派。实施例提供了一种可视分析器系统,该可视分析器系统可以在接收到修改由可视化呈现的数据维度的用户请求时更新现有可视化。实施例可以提供可能具有不同的可视化类型和/或具有映射到不同边缘的预先存在的维度的更新后的可视化,而无需对于哪些维度被映射到可视化的哪些边缘的任何用户指定。系统可以确定用于各种可视化类型的配置并且为每个配置计算可视化得分。系统可以基于得分选择配置并且在图形用户界面(GUI)上向用户渲染更新后的可视化。此外,响应于用户指定将数据的表示从一种可视化类型改变到另一种,实施例可以确定在其它类型的可视化中呈现相同的数据集合的有效且直观的方式。

著录项

  • 公开/公告号CN113110784A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 甲骨文国际公司;

    申请/专利号CN202110421627.4

  • 申请日2015-09-28

  • 分类号G06F3/0484(20130101);G06F16/904(20190101);G06F40/106(20200101);

  • 代理机构11038 中国贸促会专利商标事务所有限公司;

  • 代理人高欣

  • 地址 美国加利福尼亚

  • 入库时间 2023-06-19 11:49:09

说明书

本分案申请是国际申请日为2015年9月28日、国家申请号为NO.201580044819.0、发明名称为“数据元素向可视化边缘的基于语义距离的指派”的进入中国国家阶段的PCT申请的分案申请。

对相关申请的交叉引用

本申请要求于2015年9月25日提交的、标题为“SEMANTIC DISTANCE-BASEDASSIGNMENT OF DATA ELEMENTS TO VISUALIZATION EDGES(数据元素向可视化边缘的基于语义距离的指派)”的美国非临时申请No.14/866,272的权益和优先权,该美国非临时申请要求于2014年9月26日提交的、标题为“SEMANTIC DISTANCE-BASED ASSIGNMENT OF DATAELEMENTS TO VISUALIZATION EDGES(数据元素向可视化边缘的基于语义距离的指派)”的美国临时申请No.62/056,404以及于2014年11月13日提交的、标题为“VISUAL ANALYZERSYSTEM(可视分析器系统)”的美国临时申请No.62/079,363的权益和优先权。出于所有目的将14/866,272、62/056,404和62/079,363申请的全部内容通过引用整体地并入本文。

背景技术

由于存在数据可以被汇集(assemble)并且呈现给用户的无数变型,因此生成可以容易地对用户直观的图形可视化呈现出重大的挑战。例如,虽然可视化的类型(例如,条形图、饼状图)可以适应数据的多个维度(例如,收入、公司、年份),然而,例如由于所使用的可视化的类型或者可视化的各个边缘表示维度的方式,要通过可视化呈现的数据的值或维度的数量的变化常常使得数据的呈现对于用户来说难以理解。此外,用户可能期望在不同类型的可视化下查看同一数据集合。由于存在其中各种可视化类型可以呈现同一数据集合的许多变型,因此需要能够确定如何利用期望的可视化类型并且以将对用户直观可理解的方式来呈现数据。

发明内容

本公开涉及可视分析,并且更具体地涉及用于利用图形可视化来使数据的有效呈现自动化的技术。描述了提高在向用户呈现数据时的图形可视化的有效性以使得由图形可视化表示的数据是直观的并且可以由用户快速理解的某些实施例。

在某些实施例中,提供了用于利用图形可视化向用户有效地呈现数据的技术(包括系统、设备、方法、由一个或多个计算机处理器执行的代码或程序指令、包括用于执行一个或多个步骤的器件的装置)。一些实施例提供了一种可视分析器系统,该可视分析器系统可以在接收到修改由可视化呈现的数据的一个或多个维度的用户请求时动态地更新现有的可视化。在一些实施例中,用户输入可以对应于将数据的维度添加到现有可视化或者从现有可视化移除数据的维度。在某些实施例中,可视分析器系统可以确定用于多个可视化类型的多个配置并且为这些配置中的每个配置计算距离得分。在一些实施例中,可视分析器系统可以基于计算出的距离得分来选择具有最高得分的配置。然后,可视化器(visualizer)系统可以将可视化自动更新为对应于所选择的配置的类型并且向用户渲染(render)更新后的可视化(例如,在用户请求是添加新维度的实例中,无需用户指定要在表示新添加的维度中使用的边缘)。在一些实例中,更新后的可视化可以具有与现有可视化的可视化类型不同的可视化类型,而无需用户指定可视化类型的变化。实施例结合用户对现有可视化的修改的请求,同时以有效并且直观的方式呈现更新后的可视化。

在一些实施例中,可视分析器系统还可以以如由用户指定的不同可视化类型来呈现同一数据集合,同时确保利用期望的可视化来呈现同一数据集合的方式是有效的并且对用户直观的。一些实施例可以接收与将现有可视化的可视化类型从第一、源可视化类型改变为第二、目标可视化类型的请求对应的用户输入。例如,用户可能期望在饼状图中而不是在条形图中的当前呈现中查看同一数据集合。可视分析器系统可以确定用于具有第一、源可视化类型的现有可视化的第一边缘集合。边缘的示例可以包括行、列、类别、值、颜色、形状、尺寸等。在一些实施例中,可视化的边缘可以表示数据的不同维度,诸如年份、公司名称、产品类型等。可视分析器系统还可以确定用于第二、目标可视化类型的第二边缘集合。在某些实施例中,可视分析器系统然后可以执行第一边缘集合到第二边缘集合之间的映射。在一些实施例中,映射可以包括第一边缘集合中的边缘与第二边缘集合中的边缘之间的距离确定。在现有可视化中的边缘被映射到目标可视化中的边缘之后,可视分析器系统然后可以用对应的边缘值来渲染第二、目标可视化类型的目标可视化。当可视化类型已经被修改时,可视分析器系统以有效并且对用户直观的方式在具有目标可视化类型的目标可视化中呈现数据。

一些实施例提供用于利用图形可视化向用户有效地呈现数据的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂态计算机可读介质、包括用于执行一个或多个步骤的器件的装置)。一种这样的技术可以包括接收与现有可视化的修改对应的输入,该修改包括将数据的维度添加到与现有可视化相关联的一个或多个维度或将数据的维度从与现有可视化相关联的一个或多个维度中移除;确定用于多个可视化类型的多个可视化配置,该多个可视化配置包括对现有可视化的修改;由一个或多个处理器为多个可视化配置计算多个配置得分;基于计算出的配置得分,从多个可视化配置中选择特定的可视化配置;以及使与特定可视化配置对应的更新后的可视化被渲染。

在一些实施例中,计算多个配置得分包括确定包括对一个或多个维度的修改的维度集合,并且将该维度集合中的每个维度映射到可视化配置内的边缘。在某些实施例中,当与将维度映射到可视化配置内的其它边缘相比而言将该维度映射到一个边缘导致更高的值时,将该维度映射到该边缘。在一些实施例中,利用包括可视化良好性分量、偏好分量、用于切换可视化的惩罚分量以及语义差异分量的配置评分方程来计算用于可视化配置的配置得分。

在一些实施例中,多个可视化类型包括由用户经由插件适配器(plugin adapter)指定的可视化类型,该可视化类型具有可以表示由用户指定的一个或多个维度的一个或多个边缘。在某些实施例中,为配置计算的配置得分考虑用于切换可视化的惩罚分量,其中用于切换可视化的惩罚分量为从现有可视化到另一可视化的可视化类型的变化指派与从现有可视化到另一可视化的可视化类型没有变化相比更高的惩罚得分。在一些实施例中,更新后的可视化具有不同于现有可视化的可视化类型。

一些实施例提供用于以有效并且直观的方式在具有另一类型的可视化中呈现同一数据集合的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂态计算机可读介质)。一种这样的技术可以包括接收用于现有可视化的现有边缘信息,现有可视化具有第一边缘集合,其中第一边缘集合识别现有可视化具有第一可视化类型;接收用于目标可视化的目标边缘信息,目标可视化具有第二边缘集合,其中第二边缘集合识别目标可视化具有第二可视化类型;以及利用现有边缘信息和目标边缘信息来确定现有可视化的第一边缘集合与目标可视化的第二边缘集合之间的映射,其中确定该映射包括确定可视化的边缘之间的距离。

本发明的实施例提供了许多技术优点。在尽可能多地维持其现有边缘-维度映射以及其现有的可视化类型的同时,实施例可以确定并且呈现维度的最直观的表示,而无需用户手动地指定映射或可视化类型的改变。实施例可以基于现有配置和由用户指定的对可视化的改变(例如,添加维度、移除维度等)来自动生成一系列配置并且对这些配置进行评分。评分可以考虑如下语义差异:该语义差异使得,与具有边缘-维度映射和可视化类型的较小差异的配置相比,具有边缘到维度映射和可视化类型的较大变化的配置具有更低的得分。用户通过(例如,经由Web浏览器或在移动设备上运行的)可视分析器应用进行的每次手动调整将需要与存储在数据经由数据服务被访问的远程位置(例如,数据库)中的数据交互,这是耗时并且低效的。消除对用户对边缘到维度映射和/或可视化类型持续地执行手动调整以实现数据可视化中的数据的期望的并且直观的表示的需要可以通过节省总体处理时间以及降低资源利用率来提高系统的效率。这种对数据表示的自动、动态和响应式确定可以使得用户能够快速和可靠地实现期望的并且直观的可视表示。

通过参考以下说明书、权利要求书和附图,前述内容以及其它特征和实施例将变得更加明显。

附图说明

图1示出了根据本发明的某些实施例的计算环境的示例框图。

图2示出了根据本发明的一些实施例的、响应于修改现有可视化上的维度的用户请求来确定要呈现给用户的新的可视化的示例过程。

图3-8包括示出根据本发明的一些实施例的、添加数据的新维度以创建可视化的序列的屏幕截图。

图9示出了根据本发明的一些实施例的、用于将具有第一可视化类型的可视化转换成具有第二可视化类型的另一可视化的示例过程。

图10和图11示出了根据本发明的一些实施例的、当从具有第一类型的可视化转变到具有第二类型的可视化时要遵循的规则的示例。

图12示出了根据本发明的一些实施例的、用于将来自源可视化的边缘映射到目标可视化的伪代码的示例。

图13示出了用于将表示一个或多个维度的可视化的显示从散点图(Scatterplot)切换到条形图的屏幕截图。

图14示出了用于将表示一个或多个维度的可视化的显示从水平条形图切换到表的屏幕截图。

图15示出了用于将表示一个或多个维度的可视化的显示从数据透视图(PivotChart)切换到折线图的屏幕截图。

图16示出了其中不使用最佳匹配逻辑的将表示一个或多个维度的可视化的显示从数据透视图切换到折线图的屏幕截图。

图17示出了用于将表示一个或多个维度的可视化的显示从条形图切换到散点图的屏幕截图。

图18绘出了用于实现实施例的分布式系统的简化示意图。

图19是根据本公开的实施例的、其中服务可以作为云服务被提供的系统环境的一个或多个组件的简化框图。

图20示出了可以被用来实现本发明的实施例的示例性计算机系统。

具体实施方式

在以下描述中,出于解释的目的,阐述了具体细节,以便于提供对本发明的实施例的透彻理解。然而,将明显的是,可以在没有这些具体细节的情况下实践各种实施例。附图和描述不旨在是限制性的。

在某些实施例中,提供了用于利用图形可视化向用户有效地呈现数据的技术(包括系统、设备、方法、由一个或多个计算机处理器执行的代码或程序指令)。一些实施例提供了一种可视分析器系统,该可视分析器系统可以在接收到修改由可视化呈现的数据的一个或多个维度的用户请求时更新现有可视化。在一些实施例中,用户输入可以对应于将数据的维度添加到现有可视化或从现有可视化移除数据的维度。在某些实施例中,可视分析器系统可以确定用于各种可视化类型的多个配置并且为这些配置中的每个配置计算可视化得分。在一些实施例中,基于计算出的可视化得分,可视分析器系统可以选择具有最高得分的配置。然后,可视化器系统可以将可视化更新为对应于所选择的配置并且在图形用户界面(GUI)上向用户渲染更新后的可视化。在一些实例中,更新后的可视化可以具有与现有可视化的可视化类型不同的可视化类型。这些各种实施例可以以使得结合用户的添加或移除维度的请求的更新后的可视化以有效并且直观的方式呈现的方式来更新现有可视化。

在一些实施例中,可视分析器系统还可以以如由用户指定的不同可视化类型呈现同一数据集合,同时确保利用期望的可视化来呈现同一数据集合的方式是有效的并且对用户直观的。一些实施例可以接收与将现有可视化的可视化类型从第一、源可视化类型改变为第二、目标可视化类型的请求对应的用户输入。例如,用户可能期望在饼状图中而不是在条形图中的当前呈现中查看同一数据集合。可视分析器系统可以确定用于具有第一、源可视化类型的现有可视化的第一边缘集合。边缘的示例可以包括行、列、类别、值、颜色、形状、尺寸等。在一些实施例中,可视化的边缘可以表示数据的不同维度,诸如年份、公司名称、产品类型等。可视分析器系统还可以确定用于第二、目标可视化类型的第二边缘集合。在某些实施例中,可视分析器系统然后可以执行第一边缘集合到第二边缘集合之间的映射。在一些实施例中,映射可以包括第一边缘集合中的边缘与第二边缘集合中的边缘之间的距离确定。在现有可视化中的边缘被映射到目标可视化中的边缘之后,可视分析器系统然后可以用对应的边缘值来渲染具有第二、目标可视化类型的目标可视化。当可视化类型已经被修改时,可视分析器系统以有效并且对用户直观的方式在具有目标可视化类型的目标可视化中呈现数据。

在一些实施例中,可视分析器系统可以经由由(例如,移动设备上的)web浏览器呈现的可视分析器应用向用户呈现一个或多个可视化。在某些实施例中,可视化是一些数据的可视表示。在一个实施例中,可视化可以显示图形元素、形状和/或文本。可视化的示例可以包括表、交叉表、图形表、条形图、折线图、组合图、饼状图、散点图、地图(map chart)、树形图、热图、平行坐标图、摘要表、盒形图、文本区域、用户创建或可定制的图表等。可视分析器系统可以生成具有多个图形属性(也被称为边缘)的可视化,其中每个图形属性对应于指定的维度。例如,可视分析器应用可以生成具有各自与由用户指定的维度(诸如,时间、销售额和实体)对应的颜色、轴、尺寸属性的条形图。每个维度还可以具有一个或多个维度成员,诸如年份2009、2010、2011,公司名称X、Y、Z,以及不同类型的产品等。

在一些实施例中,每个可视化可以包括用于来自数据库中的一个或多个列的数据的多个维度的值。数据库可以是包括一个或多个表的关系数据库。表可以具有行的集合和列的集合。维度可以对应于表(或数据库)的列,而记录可以对应于表(或数据库)的行。在一些实施例中,(例如,通过web浏览器显示的)可视分析器应用用户界面可以提供一个或多个数据库的投影(projection)。用户可以识别在一个或多个数据库中可用的数据的一个或多个维度,并且请求可视分析器应用生成表示从数据库检索的数据的一个或多个维度的可视表示。

在一些实施例中,可视化可以具有表示可视化的各个维度(也被称为数据库的标准或列)的一个或多个边缘(有时也被称为属性)。常见的边缘集合可以包括行(也被称为x轴)、列(也被称为y轴)、类别、值、颜色、形状、尺寸等。例如,散点图可以使用这些边缘中的所有边缘。条形图可以使用行、列、类别、值、颜色和尺寸。数据透视表(pivot)可以使用除了细节之外的常见边缘集合中的所有常见边缘集合。地图(map)可以使用行、列、类别、颜色(地图形状)、颜色(气泡)和尺寸。不同的维度可以包括收入、品牌、年份、公司名称、产品类型等。维度可以由可视化的边缘表示。例如,品牌维度可以由饼状图(或任何其它类型的可视化)的颜色边缘表示,收入维度可以在条形图(或任何其它类型的可视化)的值边缘中示出,年份维度可以在行边缘(例如,对于小而多组图(small multiples)有益的网格行)中示出,公司维度可以在列边缘(例如,网格列)中示出,产品类型维度可以由其中每个不同的值(也被称为维度成员)被指派了形状(例如,圆形、正方形、菱形等)的形状边缘表示,等等。

每个可视化可以具有包括识别可视化的边缘的一个或多个边缘标识符、对应于每个边缘的一个或多个边缘值以及用于每个边缘的一个或多个边缘标记的配置信息。识别可视化的边缘的边缘标识符可以包括可视化类型、颜色、尺寸、面积、x轴、y轴、地理坐标等。具有不同可视化类型的不同可视化可以具有不同的边缘集合。例如,饼状图可以具有以下边缘:颜色、尺寸等,而条形图可以具有以下边缘:x/列、y/行、颜色、类别、值、颜色、尺寸等。

每个边缘可以具有一个或多个边缘值和一个或多个边缘标签(也被称为功能标签或仅被称为标签)。在一些实施例中,功能标签可以是可视化上的描述这些边缘对数据列做什么的边缘的性质。在一些实施例中,边缘标签可以指示对于可视化来说边缘是所需的边缘还是不是所需的边缘。如果边缘标记指示边缘是所需的边缘,则在一些实施例中边缘必须具有用于要渲染的可视化的值。某些实施例可能不具有用于任何可视化的任何所需的边缘。

在某些实施例中,添加或移除标签可以仅影响在可视化类型之间转变时列如何移动。在一些实施例中,每个边缘的功能标签的列表可以包括位置、标记、x、y、行、列、半径、角度、文本、颜色、形状、堆叠、内部、外部、数据点。对于每个边缘,可视化可以添加任何标签来表示它选择如何使用该边缘。例如,在散点图中,可以用“标记”、“内部”、“数据点”和“颜色”来标记“颜色”边缘。在另一个示例中,在条形图中,可以用“标记”、“内部”、“数据点”、“颜色”和“列”来标记“颜色”边缘。用于不同可视化类型的不同边缘可以具有不同的功能标签。

可视分析器系统可以基于由用户指定的数据的一个或多个维度来生成一个或多个可视化。例如,用户可以指定要由可视化表示的多个维度,诸如时间、销售额和实体。然后,可视分析器系统可以生成具有各自与指定维度对应的多个边缘(也被称为图形属性)的可视化。例如,可视分析器应用可以生成具有颜色、轴、尺寸边缘的条形图,其中每个边缘分别对应于由用户指定的维度,诸如时间、销售额和实体。如所描述的,可视表示可以是其中诸如颜色、轴、尺寸等之类的不同边缘可以表示由用户指定的期望维度的饼状图、条形图或任何其它类型的图形。

众多的可视化类型以及数据的维度可以被指派给可视化的不同边缘的各种方式使得数据能够以许多方式来显示。在无需在指定如何在图形可视化中显示数据方面的人类交互的情况下,自动确定将对用户直观且可快速理解的汇集并且向用户呈现大量数据的方式是极其具有挑战性的。此外,即使允许用户操纵维度被映射到可视化的边缘的方式也可能不能允许以对于大多数观看者来说有效且直观的方式显示维度。可视分析器系统的用户可能不熟悉如何将维度映射到可视化的边缘以确保呈现将看起来容易被其他人理解。

在本发明的各种实施例中,可以为每个可视表示生成层次关系图。在接收到添加或移除用于可视表示的维度的用户指示时,可视分析器系统可以生成层次关系图的一个或多个新配置,其中该一个或多个新配置中的每个新配置表示不同的可视表示。一些实施例可以对利用可视化配置算法生成的层次关系图的多个配置中的每个配置进行评分。在一些实施例中,可视分析器系统然后确定具有最高得分的配置并且生成对应于具有最高得分的配置的可视表示。相应地,本发明的实施例可以提供用户容易理解的有效可视化,而无需人为干预或交互。

实施例向用户呈现数据的维度,以使得用户可以以直观的方式理解数据。在一些实施例中,当前可视化可以添加用户期望添加的列(也被称为维度)。一些实施例可以基于新维度是数值(也被称为值)类型维度还是类别类型维度来确定是否可以添加新维度以及哪个边缘表示新维度。数值维度是具有数值的维度。类别维度是具有离散项(诸如事物、名称、办公室、颜色等)的维度。

如所描述的,不同的可视化类型可以处理不同数量的类别列和不同数量的值列。例如,散点图可能仅能够处理要在x轴、y轴、颜色图形属性和尺寸图形属性之间分布的多达四个数值列。只要可视化可以添加用户期望添加的新列(例如,如果可视化具有可以消耗新添加的列的可用的附加边缘),实施例就可以将新的数据列映射到可视化的边缘。一些实施例可以基于数据类型兼容性(例如,边缘标签和维度类型是数值的还是类别的)和/或基于新添加的列中的维度成员的数量以及边缘是否可以适应维度成员的数量来确定可视化是否具有可以消耗新添加的列的附加边缘。

在一些实施例中,当确定哪个边缘要映射到新添加的列时,算法可以考虑语义差异,因为不期望让可视化看起来太不一样。如果列由x轴表示,则期望在添加新列之后保持由x轴表示的列。在一些实施例中,可视化层次树结构可以具有包括行边缘、列边缘、细节边缘、值边缘的结构节点,以及包括颜色边缘、尺寸边缘和形状边缘的呈现节点。实施例可以通过在目标可视化中具有相似特性(例如,在边缘之间具有最多个重叠标签)的边缘中保持由预先存在的可视化中的这些不同边缘表示的列来最小化语义差异。

一些可视化类型可能不能处理某些类型的列。例如,字形(glyph)可能不支持类别列(诸如公司)的添加或者数值类型数据的添加。条形图可能不支持形状轴。在这些实例中,当用户期望(例如,通过将这些列表示放到当前可视化中不支持的轴上)添加这些类型的列时,可视分析器系统可以切换可视化类型。

一些实施例尝试在结合由用户指示的改变时尽可能多地保持同一可视化类型。但是,如果可视化被改变,则系统可以尝试最小化需要被移动的列-边缘映射的量。实施例提供配置评分算法,该算法可以帮助确定由哪种可视化类型表示的数据的什么配置可以是对用户最直观和有用的。可视化良好性评分方程(也被称为基本得分算法)可以获取现有可视化中的所有边缘并且将它们放到所有可能的可视化上,以获得得分。即使当用于特定配置的可视化良好性得分可能高于另一个配置时,如果指示边缘必须被移动多少的语义差异得分高,则该特定配置也可能仍然不如(例如,就算需要移动列/边缘的话,可能也不需要移动许多列/边缘的)另一个配置更理想。

此外,可以从总得分减去原始可视化与可视化的新配置之间的差。照此,因为大的变化可以具有较高的分数,所以可视化之间的变化可以被最小化。依赖于原始可视化类型,用于切换到其它可视化类型的转变得分可以不同。例如,如果从水平条形图切换到统计条形图,则与切换到散点图相比,转变得分可以被确定为不是那么大。不同的实施例可以在(例如,当添加列时、当移除现有列时,或者当可视化类型被更改时)确定最佳列边缘映射时考虑不同的评分分量。

I.示例计算环境

图1示出了根据本发明的某些实施例的计算环境100的示例框图。如图所示,计算环境100包括经由通信网络108可通信地耦接到客户机设备104以及一个或多个数据服务106的可视分析器系统102。图1绘出的实施例仅仅是示例并且不旨在不适当地限制本发明的要求保护的实施例。本领域普通技术人员将认识到许多变型、可替代物和修改。例如,可视分析器系统102可以是客户机设备104的一部分或者可以在一个或多个服务器上运行。

客户机设备104可以具有各种不同类型,这些类型包括但不限于个人计算机、台式机、移动或手持设备(诸如膝上型计算机、移动电话、平板等)以及其它类型的设备。如本文使用的术语“服务器”通常指代根据客户机-服务器协议、作为服务器执行和操作的应用。服务器的一些示例包括数据库服务器、web服务器、应用服务器、文件服务器、邮件服务器、打印服务器、游戏服务器等。但是,在一些上下文中,术语“服务器”还可以指代可以执行或者确实执行服务器应用的计算硬件。然而,基于其使用上下文,术语“服务器”的使用的特定含义对于本领域技术人员将是明显的。

通信网络108便于一个或多个客户机设备(诸如客户机设备104和可视分析器系统102)之间的通信。通信网络108可以具有各种类型并且可以包括一个或多个通信网络。例如,通信网络108可以包括但不限于因特网、广域网(WAN)、局域网(LAN)、以太网、公共或专用网络、有线网络、无线网络等以及它们的组合。不同的通信协议可以被用来便于通信,这些通信协议包括有线协议和无线协议,诸如IEEE 802.XX协议组、TCP/IP、IPX、SAN、AppleTalk、Bluetooth和其它协议。一般而言,通信网络108可以包括便于一个或多个客户机设备(诸如客户机设备104和可视分析器系统102)之间的通信的任何通信网络或基础设施。

在一些实施例中,客户机设备104可以通过web浏览器或可视分析器应用的用户界面显示一个或多个可视化(也被称为图形或图表)。可视化可以基于由客户机设备104的用户识别的数据的维度(也被称为数据库或业务对象中的列)来生成。在一些实施例中,客户机设备104的用户可以选择从各种数据服务106可用的数据118的一个或多个维度。在接收到用户对数据118的一个或多个维度的选择时,可视分析器模块120可以经由通信网络108获得从数据服务106请求的数据,并且生成可视化126。可视分析器模块120可以是可在单独的计算设备上执行的应用程序或代码片段。然后渲染器122可以在客户机设备104的GUI124上渲染一个或多个可视化126。GUI 124可以向用户呈现多个可视化126和/或其它对象和工具。

在一些实施例中,客户机设备104上的可视分析器模块120可以是独立的可执行应用、应用的一部分(例如,浏览器应用或本地应用)、要与另一应用一起使用的配置文件等。web浏览器或可视分析器应用用户界面可以提供一个或多个数据库的投影。用户可以识别一个或多个数据库中可用的数据的一个或多个维度,并且请求可视分析器应用生成表示从数据库检索的数据的该一个或多个维度的可视化。如所描述的,数据库的示例是具有列和行的关系数据库。数据的维度可以对应于数据库中的列,而记录可以对应于数据库中的行。在一些实施例中,可以为图形可视化生成层次关系图(例如,边缘的树结构),在该层次关系图中节点可以对应于可视化的不同边缘。

如所描述的,可视分析器应用可以在客户机设备104的GUI 124上显示一个或多个可视化126。在一些实施例中,可视化可以由可视分析器模块120生成、由渲染器122渲染,并且在一些实施例中通过web浏览器或可视分析器应用的用户界面在设备104上显示。web浏览器或可视分析器应用用户界面可以利用一个或多个表示(例如,选项卡(tab)、文本、菜单、业务对象、文件夹)提供一个或多个数据库的投影。用户可以选择在一个或多个数据库中可用并且经由可视分析器应用中的数据元素窗格显示的数据的一个或多个维度(也被称为数据库中的列或业务对象),以便由可视化呈现。然后应用可以基于用户已经选择并且放到可视分析器应用的画布(canvas)布局中的数据的该一个或多个维度来生成和显示可视化。在一些实施例中,可视化是通过可视分析器模块120向数据服务106发送查询来生成的,然后数据服务106从数据库检索相关数据118。

在一个或多个可视化已经生成并且在客户机设备104上呈现之后,用户可以指定对可视化的一个或多个修改。修改可以是对数据的一个或多个维度的添加、移除或某些其它种类的修改。在一些实施例中,用户可以通过拖曳表示数据库中的数据的对象(例如,可视分析器应用的数据元素窗格中的可选元素)并且将该对象放在显示可视表示的画布布局的任何部分上来指定添加数据的维度。在某些实施例中,用户可以通过取消选择或通过删除表示数据的维度的标识符对象或数据的维度当前被映射到的边缘标识符来移除数据的维度。在接收到要由可视化呈现的内容的变化的指示时,客户机设备104上的可视分析器模块120可以将期望的变化信息传达到可视分析器系统102。

在一些实施例中,可视分析器系统102包括多个组件,诸如但不限于可视化修改器110、存储器128和渲染引擎132。在某些实施例中,可视化修改器110基于用户输入来执行如何呈现可视化的确定。例如,可视化修改器110可以选择某种可视化类型,以适应用户想要由可视化表示的数据(例如,多个列)。在进行选择时,可视化修改器110可以为若干可视化配置计算得分集合,以确定最有效的可视化以便表示数据列。最有效的可视化可以包括具体的可视化类型以及数据由可视化的不同边缘表示的方式。在另一实例中,可视化修改器110可以确定如何将第一、源可视化的边缘中的值映射到由用户识别的另一、目标可视化的边缘。在一些实施例中,确定可以通过计算两个可视化之间的边缘距离来完成,这将在下文进一步描述。

在一些实施例中,可视化修改器110可以包括距离确定器112、映射器114、可视化类型选择器116、配置生成器150和配置评分器134。存储器128可以存储用于一个或多个可视化的配置信息、现有GUI信息138、偏好信息140、规则142和用户配置的可视化类型144。在一些实施例中,渲染引擎132可以用更新后的可视化来渲染GUI。在一些实施例中,渲染引擎132可以是远程服务器的一部分,而在某些实施例中,渲染引擎132可以在客户机设备(例如,渲染器122)上运行。可视分析器系统102中的各种组件(例如,可视化修改器110或其中的子组件)可以是可视分析器模块120不需要仅通过通信网络108进行访问的服务器的一部分或客户机设备104的一部分。一些实施例还可以具有使得用户能够根据期望添加任何其它类型的可视化(或其它可视分析器系统组件,诸如可以与可视化交互的工具)的插件适配器130。灵活的插件系统的可扩展性允许用户创建或安装新的可视化类型,并且以有创造性的、有效的和直观的方式呈现数据。

存储器128可以包括用于各种可视化类型的配置信息136。在一些实施例中,配置信息136可以包括每种可视化类型的边缘信息。例如,因为具有不同类型的不同可视化可以具有不同的边缘集合,所以配置信息136可以包括用于具有某种类型的每个可视化的边缘列表。如所描述的,边缘表示每个可视化的属性,这些属性包括轴(例如,x、y)、颜色、尺寸、形状等。在一些实施例中,每个边缘可以具有与边缘相关联的边缘值和标签。一种类型的标签可以指示边缘是否是其中边缘值对于边缘是必需的以便使可视化渲染的“所需”边缘。

在一些实施例中,存储器128还可以包括现有GUI信息138。现有GUI信息138可以包括关于当前正在GUI中显示的一个或多个可视化的信息。例如,现有GUI信息138可以包括用于一个或多个可视化的边缘信息,诸如可视化类型和可视化的一个或多个附加边缘。

在某些实施例中,存储器128还包括偏好信息140,偏好信息140包括关于用户偏好的可视化的类型的信息。在一些实施例中,偏好信息140可以由用户经由可配置系统设置来指示。在一些实施例中,可视分析器系统可以在确定用户偏好时跟踪用户的历史行为。例如,如果用户在过去(例如,通过切换到特定类型的可视化)已反复指示用户更喜欢经由该特定类型的可视化来查看信息,则偏好信息可以指示用户偏好该特定类型的可视化。在一些实施例中,偏好信息还可以包括通过统计数据获得的一般用户的偏好。例如,如果一般用户(例如,可视分析器系统或其它类型的可视化系统的用户)更喜欢经由某些类型的可视化来查看某些类型的信息,则当确定在呈现数据时使用哪些类型的可视化时,偏好信息可以给予某些类型的可视化更多权重。

在一些实施例中,存储器128包括规则142,规则142可以由配置生成器150和配置评分器134在确定一个或多个配置以及对配置进行评分时使用。在某些实施例中,配置生成器150可以使用规则142以在生成配置时确定可视化的哪些边缘可以消耗哪些类型的维度。在一些实施例中,配置评分器134可以使用规则142来确定哪些映射可以得到什么得分。例如,规则142可以指定将公司位置维度指派给类别(地理)边缘可以具有值30,而将公司位置维度指派给类别(x)边缘可以具有值7。在一些实施例中,配置评分器134还可以确定维度到边缘的哪个映射可以获得最高得分。在某些实施例中,规则142还可以在计算两个可视化的边缘之间的距离时被使用。例如,规则142可以为具有不同可视化类型的每个可视化指定树结构。

在没有起始可视化的实例中,用户输入可以指定用户想要由可视化呈现的数据的一个或多个维度(例如,年份、公司名称、收入、产品类型等)。在某些实施例中,可视分析器系统100可以确定要在呈现由用户选择的数据时使用的可视化类型。在一些实施例中,可视分析器系统100还可以确定利用可视化类型呈现数据的方式。例如,可视分析器系统100可以确定可视化的哪些边缘对应于由用户选择的哪个(哪些)维度。

在某些实施例中,除了用户指定维度以用于创建新可视化之外,用户输入还可以指定向现有可视化添加维度或从现有可视化移除维度的修改。基于指定(要添加或移除的)维度的用户输入,配置生成器150可以为可用的可视化类型(包括经由插件适配器130添加的任何用户配置的可视化类型)中的一些或全部生成若干可视化配置。可视化配置可以包括不同维度到可视化的不同边缘的映射。如所描述的,依赖于可视化类型,对于每个可视化可以存在不同的边缘。在某些实施例中,配置信息136可以包括可视化配置。

不同的可视化配置可以已经将修改结合到由用户指定的维度。例如,倘若用户输入指定了向可视化添加维度,则不同的可视化配置可以包括由用户新指定要添加的维度到不同可视化的边缘的映射。在用户输入指定了对可视化的维度移除的实例中,不同的可视化配置可以包括剩余维度(除去指定维度)到不同可视化的边缘的映射。

在一些实施例中,配置评分器134可以对不同的配置进行评分。在某些实施例中,配置评分器134可以利用包括基本得分、偏好得分、转变得分和语义差异得分中的至少一个的配置评分算法来对每个配置进行评分。基本得分可以指示某些维度到某些边缘的映射的适合性。例如,可视分析器系统102可以确定,与公司位置维度到条形图中的类别(x)边缘的映射相比,公司位置维度到地图中的类别(地理)边缘的映射可以具有较高的得分。偏好得分可以指示对具有不同可视化类型的可视化的一般偏好或者对具有不同可视化类型的可视化的用户偏好。例如,可视分析器系统102可以确定一般人群喜欢(favor)条形图胜于散点图,并且因此可以向条形图类型可视化指派更高的偏好得分。在另一实例中,可视分析器系统102可以基于监视用户过去的行为来确定用户偏好某些类型的可视化而不是其它类型,并且向所述某些类型指派与其它类型相比更高的偏好得分。

当确定如何显示结合用户的修改的新可视化时,实施例还可以考虑可视化类型切换惩罚。一些实施例可以包括用于当对现有可视化进行修改时对配置进行评分的转变得分。在一些实施例中,转变得分可以表示对表示与现有可视化的可视化类型不同的可视化类型的那些配置的惩罚。例如,转变得分可以是被指派给具有与现有可视化不同的可视化类型的那些配置的负得分。在某些实施例中,转变得分可以是被添加到其中可视化类型与现有可视化的可视化类型相同的那些配置的正得分。

在一些实施例中,切换惩罚可以使得,即使在结合修改之后,可视化也保持其可视化类型。如所描述的,修改可以是由可视化的边缘表示的维度的添加或移除。在切换惩罚可能没有大到足以保持预先存在的可视化类型的实例中,更新后的可视化可以具有与预先存在的可视化不同的可视化类型。

一些实施例还可以考虑语义差异得分。在某些实施例中,当向可视化添加更多数据列时,可能期望将当前可视化变换为不同的图表类型,以能够更好地描绘所指派的所有数据维度。当图表类型改变时,一些实施例可以以最小化在如何绘制数据方面的语义差异的方式来实现改变,即,优选地维持现有指派(比如轴、着色尺寸和其它性质)。在一些实施例中,可以利用边缘距离确定器112来计算语义差异得分,该边缘距离确定器112可以计算预先存在的配置与潜在配置之间的差异得分。如果对于可视化配置差异得分高,则与具有较低差异得分的另一配置相比,该可视化配置可能是不太理想的,以便于尽可能多地保留原始配置。

在一些实施例中,可以通过将基本得分、偏好得分和转变得分相加并且减去差异得分来计算配置的配置得分。在某些实施例中,在计算用于所有配置的配置得分时,可视化类型选择器116然后可以选择具有最高配置得分的配置。在一些实施例中,可视化类型选择器116然后可以确定与具有最高配置得分的配置对应的可视化类型。在某些实施例中,依赖于哪个配置具有最高得分,可视化类型选择器116可以选择作为与现有可视化类型相同的类型或者与现有可视化类型相比不同的类型的可视化类型。

如所描述的,可视分析器系统100可以利用不同的评分算法来确定用于指定的输入边缘的可视化类型。在一些实施例中,边缘距离评分器(这里未示出)可以执行由用户选择的输入边缘与用于各种类型的可视化的各个配置的边缘之间的相似性比较。在执行相似性比较时,边缘距离评分器可以计算用于输入边缘和可视化类型中的每个可视化类型的边缘的距离得分。可视化类型选择器116然后可以选择具有最高距离得分的可视化类型以用来显示输入边缘。在某些实施例中,距离得分可以包括基本得分和偏好得分。偏好得分可以指示与其它类型的可视化相比对某些类型的可视化的一般用户偏好或目标用户偏好。

在一些实施例中,边缘距离评分器可以计算除了基本得分和偏好得分之外还包括偏向(bias)得分(也被称为切换惩罚得分或粘性得分)的距离得分。偏向得分可以指示对保留原始可视化类型的偏向。因此,与用于同一可视化类型的偏向得分相比,对于不同于现有可视化的可视化类型的可视化类型,偏向得分可以更低(或为负值)。在具有不同可视化类型的一个配置的基本得分和偏好得分的总和比具有先前存在的可视化类型的配置的基本得分和偏好得分的总和大得多的实例中,偏向得分可能没有大到足以保留先前存在的可视化类型。在这些实例中,新可视化的可视化类型可以被更新为新的可视化类型。

在一些实施例中,配置评分器134可以基于配置信息136、现有GUI信息138(如果在用户进行调整之前存在预先存在的可视化)、偏好信息140、规则142以及用户配置的可视化类型144(如果用户已经指定了除了在可视分析器应用中容易获得的可视化类型之外的附加的可视化类型)中的一个或多个来为每个配置计算得分。可视化类型选择器116然后可以基于得分选择具有最高得分的配置并且确定与具有最高得分的配置对应的可视化类型。在一些实施例中,可视化配置然后可以被发送到渲染器132或122,并且渲染器132或122可以基于该配置在GUI 124上渲染可视化。

在一些实例中,用户可能期望从显示一种可视化类型切换到另一种。例如,可以存在当前正显示由用户之前选择的数据的维度的条形图,并且用户可以指示从条形图切换到诸如饼状图之类的另一类型的图表。一些实施例可以通过执行可视化的边缘之间的距离计算来确定如何将源可视化中的边缘的值映射到目标可视化中的边缘。

在某些实施例中,边缘距离确定器112可以执行两个可视化之间的边缘映射,以便将值从具有一个可视化类型的第一可视化的边缘传送到具有另一个可视化类型的第二可视化的边缘。边缘距离确定器112可以从现有GUI信息138获得用于现有可视化类型的边缘信息。边缘距离确定器112然后可以创建现有可视化的边缘到目标可视化的边缘之间的边缘映射。在一些实施例中,边缘映射可以通过确定源可视化与目标可视化的边缘之间的距离来执行。在某些实施例中,边缘之间的距离可以基于与每个边缘相关联的标签来确定。例如,与具有如颜色的边缘标识符的边缘和具有如尺寸的边缘标识符的另一边缘之间的距离相比,都具有如颜色的边缘标识符的边缘之间的距离将更小。

在某些实施例中,边缘映射还可以优先映射目标可视化的所需边缘,以确保所需边缘具有被映射到它的值。所需边缘信息可以从存储在存储器128中的配置信息136获得。在一些实施例中,边缘距离确定器112可以确定目标可视化中的所需边缘并且首先填充这些所需边缘。例如,如果目标可视化中的地理位置边缘已经被识别为必要的所需边缘(例如,以便使可视化渲染),则边缘距离确定器112然后可以优先用源可视化中的边缘值来填充所需边缘。

一旦边缘距离确定器112确定可视化的边缘之间的映射,则映射器114可以执行映射函数,其中来自边缘的值然后被映射到目标可视化中的对应边缘。在映射边缘值时,映射器114然后可以向渲染引擎132或渲染器122发送被映射的值,以用于使新的更新后的可视化被渲染。所渲染的可视化现在具有目标可视化类型。如所描述的,边缘值可以对应于维度中的值或者数据库的列中的数据或值。

一些实施例还具有允许用户提供用于新可视化类型(例如,环形图(donut map))144的配置信息的插件适配器130。在一些实施例中,用户可以向插件适配器130提供一个或多个用户配置的可视化和相关信息144。可视分析器系统100能够结合具有在可视分析器系统100中不预先存在的可视化类型的用户配置的可视化。系统的灵活性使得系统能够适应用户可配置的可视化类型并且允许用户与用户配置的可视化进行交互,同时确保说明书中描述的功能(例如,映射、边缘距离确定等)也可以适用于这些用户配置的可视化。在一些实施例中,用于这些用户指定的可视化的配置信息可以包括边缘信息。可视化可以具有如下边缘集合:其具有与系统中预定义的边缘标识符和边缘值类似的边缘标识符和边缘值。此外,配置信息还可以包括用于边缘的标签,该标签例如识别边缘是否是所需边缘。用于用户配置的可视化类型144的配置信息136可以由用户经由插件适配器130提供并且被存储在存储器128中。

可以以各种配置提供附图中的一些附图中绘出的系统。在一些实施例中,系统可以被配置为分布式系统,其中系统的一个或多个组件跨一个或多个云基础设施系统中的一个或多个网络分布。

云基础设施系统是一个或多个服务器计算设备、网络设备和/或存储设备的集合。这些资源可以由云服务提供商划分并且以某种方式分派给其客户。例如,云服务提供商(诸如加利福尼亚Redwood Shores(红木海岸)的Oracle公司)可以提供各种类型的云服务,这些云服务包括但不限于在软件即服务(SaaS)类别下提供的一个或多个服务、在平台即服务(PaaS)类别下提供的服务、在基础设施即服务(IaaS)类别下提供的服务、或者包括混合服务的其它类别的服务。SaaS服务的示例包括但不限于构建和交付一套按需应用(诸如Oracle Fusion应用)的能力。SaaS服务使得客户能够利用在云基础架构系统上执行的应用,而无需客户购买用于应用的软件。PaaS服务的示例包括但不限于使得组织(诸如Oracle)能够在共享的公共架构上整合现有应用的服务,以及构建利用由平台提供的共享服务(诸如Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等)的新应用的能力。IaaS服务通常便于利用由SaaS平台和PaaS平台提供的服务的客户对底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制。

II.确定和呈现新可视化的示例过程

一些实施例可以确定具有最适合显示由用户选择的数据的一个或多个维度的可视化类型的可视化。图2示出了根据本发明的一些实施例的、响应于修改现有可视化上的维度的用户请求来确定要向用户呈现的新可视化的示例过程200。在一些实施例中,流程200可以由客户机设备或一个或多个服务器设备或其组合执行。

在方框202处,过程200可以接收与现有可视化的修改对应的用户输入,其中修改包括向现有可视化添加数据的维度或者从现有可视化移除数据的维度。现有可视化可以具有指示现有可视化具有第一可视化类型的现有可视化类型信息。现有可视化还可以经由它的一个或多个边缘表示数据的一个或多个维度。在一些实施例中,用户输入可以是对要添加到现有可视化的一个或多个维度的选择(例如,经由拖放运动,其中维度的选择是从数据元素窗格进行的并且被拖曳到在画布布局中显示的可视化)。在某些实施例中,用户输入可以识别当前正在可视化中呈现的、要从可视化移除的维度。在没有起始可视化的一些实施例中,用户输入可以对应于数据的一个或多个维度的选择,以生成新的可视化。用户输入可以是从数据元素窗格对维度的选择以及将该选择拖曳到GUI的画布布局部分中的任何地方。

在方框204处,过程200可以为每个可视化类型确定结合对现有可视化的(一个或多个)维度的修改的可视化配置。可视化配置可以由诸如来自图1的配置生成器150之类的组件来确定。一些实施例可以基于修改和在构造初始可视化时使用的数据的初始维度来生成若干可视化配置。这些配置中的每个配置可以表示不同的可视化。在一些实施例中,可以存在同一类别的可视化类型内的多个配置(例如,具有被映射到条形图的不同边缘的维度的多个条形图)。还可以存在用于具有不同可视化类型的多个可视化的多个配置。

在一些实施例中,可以仅为每个可视化类型生成一个可视化配置。生成可视化配置可以包括确定进行了修改之后的维度集合(即,修改是添加了维度还是移除了维度),以及然后将该维度集合中的每个维度映射到可视化的边缘。在某些实施例中,可视化配置可以基于规则集合来确定。当与将维度映射到可视化的其它边缘相比将该维度映射到可视化的一个边缘值最高时,一些实施例可以将该维度映射到可视化的该边缘。例如,如果将公司位置维度映射到类别边缘得到比将公司位置映射到颜色边缘更高的得分,则配置可以包括将公司位置维度映射到类别边缘。在某些实施例中,可以存在与“所需”标签相关联的可视化的边缘,并且照此,配置可以将该维度集合中的至少一个维度映射到“所需”边缘,而不管映射得分与将该维度映射到另一边缘相比是否更高。

在方框206处,过程200可以利用配置评分方程来为多个配置中每个配置计算配置得分。配置得分可以由诸如来自图1的配置评分器134之类的组件计算。在一些实施例中,配置评分方程可以包括基本得分、偏好得分、转变得分(也被称为惩罚得分或偏向得分)或其任何组合。在某些实施例中,作为计算基本得分和偏好得分(和/或转变得分)的代替,配置得分可以包括用户选择的边缘信息与用于不同可视化类型的各种配置之间的距离得分。

一些实施例可以为维度到可视化的边缘的每个映射指派基本得分。某些实施例可以基于可以包括表(例如,查找表(LUT))的规则集合(例如,来自图1的规则142)来确定要指派给每个映射的基本得分。例如,一些实施例可以为将收入维度映射到条形图的值边缘指派基本值10。在另一个示例中,一些实施例可以为将公司位置映射到地理地图类型图表的类别(地理)边缘指派基本值30。不同的实施例可以为用于具有不同可视化类型的可视化的各种映射指派不同的基本值。在已经将用户配置的可视化类型(例如,经由插件适配器)添加到可视分析器系统的实施例中,用于对每个映射进行评分的规则也可以由插件指定。

在一些实施例中,配置得分还可以包括偏好得分。偏好得分可以指示用户对不同类型的可视化的偏好。例如,如果用户一般偏好条形图胜于饼状图,则条形图的偏好得分可以高于被指派给饼状图的偏好得分。用户偏好可以基于由可视分析器应用监视的用户的历史行为来确定。如果可视分析器应用总是(consistently)检测到用户将饼状图可视化改变为条形图可视化,则可视分析器应用可以确定用户偏好条形图胜于饼状图。在某些实施例中,偏好得分可以指示一般公众(或可视分析器应用的用户)的偏好。例如,关于一般人类行为的过去的研究可以指示,一般公众喜欢一种类型的可视化胜于其它类型的可视化。照此,可视分析器应用可以为被认为一般更受欢迎的那些可视化类型指派更高的偏好得分。某些实施例可以基于可以包括表(例如,查找表(LUT))的规则集合(例如,来自图1的规则142)为每个配置指派偏好得分。当附加的用户活动被跟踪并且当用户的偏好指示基于附加的用户活动而改变时,用于不同类型的可视化的偏好得分可以随时间变化并且被定期更新。

在某些实施例中,配置得分可以包括转变得分,该转变得分指示对具有与现有可视化相同的可视化类型的那些可视化配置的偏好。转变得分可以通过指派正(或较高的)得分同时向不具有相同可视化类型的那些配置指派负的、零或较低得分来向具有相同可视化类型的可视化配置提供增加的权重。用于转变到各种不同可视化类型的转变得分还可以不同。例如,与从条形图转变到散点图相比,从条形图转变到饼状图可以具有更高的得分。可视分析器应用可以基于可以包括表(例如,查找表(LUT))的规则集合(例如,来自图1的规则142)来指派不同的转变得分。

在方框208处,过程200可以基于计算出的得分从若干配置中选择特定的可视化配置。在一些实施例中,选择可以由诸如图1中的可视化类型选择器116之类的组件进行。与原始的、现有可视化相比,该可视化配置可以具有相同的可视化类型或者具有不同的配置类型。在一些实施例中,可视化类型选择器可以选择具有最高配置得分的特定可视化配置。

在方框210处,过程200可以使得对应于特定可视化配置的更新后的可视化被渲染。在一些实施例中,更新后的可视化可以由诸如图1中的渲染引擎132或渲染器122之类的组件生成。一些实施例可以确定所选择的配置的可视化类型是否与原始的、现有可视化类型相同。在某些实施例中,在确定可视化类型相同之后,可以用更新后的维度来渲染可视化。信息可以被发送到渲染器(诸如渲染引擎132或渲染器122)以便在GUI 124上被渲染。具有相同可视化类型的可视化可以被显示,但是它具有一些附加信息。在一些实施例中,附加信息可以是已经被添加到可视化的附加边缘或者是对之前是可视化的一部分的边缘的移除。依赖于用户的请求,还可以显示其它类型的附加信息,诸如对边缘的值的改变。

一些实施例可以在确定更新后的可视化时将原始的、预先存在的可视化与具有某种配置的潜在可视化之间的语义差异考虑在内。在一些实施例中,配置评分方程还可以包括其中可以计算语义差异得分的语义差异分量。如所描述的,一些实施例可以调整可视化,以便即使在可视化类型没有改变时也适应用户修改。边缘值(也被称为列或维度)可以被映射到可视化中的不同边缘,以有效地结合修改。在一些实施例中,在确定可视化类型相同时,过程200可以将信息发送到边缘距离确定器,诸如图1中的边缘距离确定器112。边缘距离确定器可以确定原始可视化的边缘与目标可视化的边缘之间的边缘距离(也被称为语义差异)。映射器可以将与原始可视化中的边缘对应的值映射到目标可视化中的不同的边缘。在一些实施例中,映射器可以识别用于新添加的维度的最近的空边缘,并且在新更新后的可视化中将新添加的维度映射到该边缘。

在某些实施例中,在确定可视化类型不相同时,过程200可以确定值从原始的、现有可视化的边缘到具有新可视化类型的新可视化的边缘的映射。在一些实施例中,可视化类型选择器(诸如图1中的可视化类型选择器116)可以向边缘距离确定器(诸如图1中的边缘距离确定器112)发送所选择的可视化。边缘距离确定器112可以检索用于所选择的可视化类型(其现在是目标可视化类型)的配置信息并且确定两个可视化的边缘之间的距离。

然后,映射器(诸如图1中的映射器114)可以基于可视化的边缘之间的计算出的距离来选择映射配置。在一些实施例中,映射器可以将值从一个边缘映射到其中边缘距离已被确定为最短的另一个边缘。在某些实施例中,映射器可以首先识别所选择的可视化中的所需边缘,并在映射边缘中的剩余边缘之前首先确保存在被映射到这些所需边缘的值。在映射器执行可视化的边缘之间的值的映射之后,过程200然后可以将该映射信息发送给渲染器,以用于将新的更新后的可视化在GUI上渲染。

III.用于示出添加新维度和修改可视化的序列的屏幕截图

图3-图8包括示出添加新的数据维度以创建可视化的序列的屏幕截图300-800。如图3中所示,可视分析器应用的GUI 302可以例如经由Web浏览器或在用户的计算设备(诸如移动设备)上运行的应用来显示。GUI 302可以包括其中可以显示表示数据的不同维度的一个或多个可选元素的数据元素窗格306、其中可以显示一个或多个可视化的画布布局308、其中可以显示具有可视化类型的可视化的边缘的边缘窗格310、其中用户可以添加过滤器以过滤所显示的数据的过滤器列312、以及一个或多个控制元素314(例如,撤消按钮、设置按钮等)。不同的实施例可以以不同方式在可视分析器应用中显示不同的元素。

如GUI 302中所示,数据元素窗格306中的收入维度304被突出显示,这指示它已经由可视分析器应用的用户选择。用户可以将该选择拖曳到画布布局308并且将该选择放在画布布局308中,以指示用户想要利用所选择的维度来创建的新的可视化。在这个示例中,默认可视化类型是水平条形图。不同的实施例可以具有不同的默认可视化类型。一些实施例可以依赖于用户为创建可视化而选择的维度(例如,维度特性、维度成员)来确定可视化类型。维度特性可以指示所选择的维度是数值类型维度还是类别类型维度。维度成员可以指示有多少维度成员以及维度成员的值的范围。

图4示出在条形图可视化402中的所选择的收入维度的渲染。虽然用户可以指示在表示维度时要使用的可视化的边缘,但是一些实施例自动确定将最适合表示所选择的维度的数据的边缘。实施例可以使用图1和图2中描述的并且由可视分析器应用的各个组件(包括来自图1的配置生成器150和配置评分器134)执行的技术。在一些实施例中,可视分析器组件(诸如评分器)可以确定将收入维度映射到值(x轴)边缘将获得比将收入维度映射到可视化的其它边缘更高的得分。照此,可视化可以在水平条形图的值边缘中显示收入维度。

图5示出用户已经选择添加另一个维度:大对象(LOB)维度,并且可视化502已经被更新为在可视化502的类别(y轴)边缘中显示LOB维度。同样,虽然用户可以指定在表示新添加的维度时要使用可视化的哪个边缘,但是可视分析器应用可以自动确定呈现新添加的数据的最佳方式。在一些实施例中,评分器可以确定将LOB维度映射到类别(y轴)边缘提供与将LOB维度映射到可视化的其它边缘相比更高的得分。

此外,还可以确定具有其它可视化类型的各种可视化配置并且对这些可视化配置进行评分,其中该各种可视化配置已经结合了新维度的添加。一些实施例可以基于基本得分、偏好得分和转变得分的总和来确定其中收入维度被映射到值(x轴)并且LOB维度被映射到类别(y轴)的配置具有最高得分。如所提到的,虽然可以存在具有不同可视化类型的具有更高的基本得分和/或偏好得分的其它配置,但是有利于(favor)原始可视化类型的转变得分可以使得配置得分的总和有利于具有原始可视化类型的配置。

图6示出目标收入维度已经被添加到可视化。如图所示,可视化类型没有改变。在一些实施例中,可视分析器应用可以再次执行与图2中所描述的过程类似的过程,在该过程中配置被确定和评分。在该示例中,已经确定具有同一可视化类型的配置具有最高配置得分。所选择的配置可以指定目标收入维度要被映射到可视化的颜色边缘。照此,在这个可视化602中示出了配置的这些映射。在一些实施例中,保持先前示出的维度到可视化的边缘的映射可以最小化原始示出的可视化与更新后的可视化之间的语义距离。照此,一些实施例可以通过与具有与先前存在的配置的更少相似性的那些配置相比,对具有与先前存在的配置的更多相似性的那些配置评分更高来最小化语义差异。

图7示出计费数量(billed quantity)维度已经被添加到可视化。在用户将表示计费数量维度的元素放到画布布局中显示的可视化702中时,可视分析器应用可以显示其中新添加的计费数量维度由值(x轴)边缘表示的可视化。图7示出了显示数据的新计费数量维度的添加的一种方式,而图8示出了显示向可视化添加数据的新维度的另一种方式。因为与图8中的可视化802对应的可视化配置可能在可视化评分算法中得分更高,所以一些实施例可以显示图8而不是图7。可视分析器应用可以在接收到添加数据的新维度的指示时自动向用户呈现屏幕截图1100。在这个示例中,通过利用诸如来自图2的过程200之类的过程,可视分析器应用已经自动确定,在添加计费数量维度的情况下,不同的可视化类型将更适合于显示数据。在这个示例中,可视分析器应用已经确定,利用散点图在值(x轴)边缘中显示计费数量维度连同由预先存在的可视化602表示的其它维度可能是对于用户最直观的。

如所描述的,一些实施例可以使用基于语义距离的数据元素(也被称为数据的维度)到可视化边缘的指派。在某些实施例中,当向可视化添加更多数据列时,可能期望将当前可视化变换为不同的图表类型,以便能够更好地描绘所有所指派的数据维度。当图表类型改变时,一些实施例可以以最小化在如何绘制数据方面的语义差异的方式来实现改变,即,优选地维持现有指派(比如轴、着色尺寸和其它性质)。

一些实施例提供了一种算法,该算法使用评分函数来基于以下各项中的至少一个或多个来执行可视化选择和性质指派:i)每个所使用的数据列在可视化支持的性质上的最佳放置;ii)可视化类型的总体良好性(也被为基本得分);以及iii)到原始可视化和性质指派的语义距离。一些实施例在最佳放置的区域中使用不同的评分函数。在一些实施例中,使用类似于下文在图9-图12中描述的算法的距离函数的算法可以考虑语义差异。

IV.示例配置得分计算

一些实施例可以通过将新列放在可视化内来触发评分算法(例如,无需用户指定哪个边缘表示新列)。如所描述的,每个可视化可以具有一个或多个边缘(例如,E1、E2、E3、...En)。在一些实施例中,E1可以是可以具有条形图、饼状图、散点图、某些其它定制图表等中的一个图表的边缘值的可视化类型,E2可以是颜色,E3可以是尺寸,等等。边缘中的每个边缘具有标签集合,该标签集合可以指示对于该可视化而言该边缘是所需的还是不是所需的。在一些实施例中,可视化的配置信息还可以包括可视化的其它上下文信息,诸如描述可视化的功能(例如,边缘是类别类型边缘还是值类型边缘)的功能信息(也被称为功能标签)等。

在示例中,用户可以选择(例如,双击、拖放到画布布局中)收入维度。在一些实施例中,可以触发评分算法。触发评分算法的另一种方式是将新列放在可视化内的“建议”放置(drop)目标中。触发评分算法的另一种方式是在用户界面上选择可以示出用于当前使用的数据的其它可能选项的“重新建议”按钮。在该实例中,算法可以给予可视化的良好性(也被称为基本得分)比相似性(也被称为语义差异得分)更多的权重。在这个示例中,评分算法可以确定条形图是表示所选择的收入维度的最佳可视化类型。可以渲染条形图,在该条形图中收入维度由类别(y轴)边缘表示。

然后用户可以选择公司位置维度。在一些实施例中,再次触发评分算法。一些实施例可以确定用于各种可视化类型的若干配置并且为这些配置中的每个配置计算配置得分。一个配置可以是条形图,在该条形图中收入维度被映射到值边缘,并且公司位置维度被映射到类别(x轴)边缘。另一配置可以是地图,在该地图中收入维度被映射到颜色边缘并且公司位置维度被映射到类别(地理)边缘。又一种配置可以是折线图,在该折线图中收入被映射到值边缘并且公司位置维度被映射到类别边缘。还可以存在与为要表示的维度集合确定的各种可视化类型对应的许多其它配置。

在一些实施例中,配置评分算法可以是基本得分、偏好得分和转变得分的总和。在某些实施例中,配置评分算法还可以包括语义差异得分。在某些实施例中,转变得分可以结合语义差异得分。不同的实施例可以使用得分的不同组合来为每个配置确定配置得分。一些实施例可以对某些得分(例如,语义差异得分、基本得分)放置附加的权重。某些实施例可以通过查询规则集合(例如,来自图1的规则142)来确定对得分中的每个得分放置的权重。

在一些实施例中,可以通过配置评分器(例如,来自图1的配置评分器134)访问规则(例如,来自图1的规则142)或某些数据存储装置(例如,诸如LUT之类的表)来确定基本得分、偏好得分和转变得分。例如,在一些实施例中,还可以在规则集合(来自图1的规则142)或数据存储装置(例如,诸如LUT之类的表)中找到为每个映射(例如,收入维度到条形图中的值边缘的映射、收入维度到地图中的颜色边缘的映射)指派的值。在一些实施例中,还可以在规则集合(来自图1的规则142)或数据存储装置(例如,诸如LUT之类的表)中找到从一个可视化类型到另一个类型的转变值。这些得分可以由可视分析器系统的管理员或用户预先指派。配置算法还可以由可视分析器系统的管理员或用户(例如,在偏好设置下)调整。

在该示例中,对于条形图,收入到值的映射具有值10。公司位置到类别(x)的映射具有得分7。从条形图到条形图的转变得分可以被给予值10。在该示例中没有偏好得分。在该示例中,没有对得分中的任何得分放置附加的权重。用于该条形图配置的总配置得分为(10×1)+(7×1)+10=27。

对于地图,收入到颜色的映射具有值5。公司位置到类别(地理)的映射具有值30。从条形图到地图的转变得分是2。用于该地图配置的总配置得分为(5×1)+(30×1)+2=37。

对于折线图,收入到值的映射具有值10。公司位置到类别的映射具有值7。从条形图到折线图的转变得分是2。用于该折线图配置的总配置得分是(10×1)+(7×1)+2=19。可视分析器系统可以确定最高得分是最期望的配置。照此,在这个示例中,选择地图配置。

V.在具有与当前可视化相比不同的可视化类型的新可视化中有效显示一个或多个维度的示例流程

用户可以指示期望将数据的维度的呈现从利用一种类型的可视化改变为另一种类型的可视化。例如,用户可以指定期望将利用条形图的现有可视化的数据的呈现切换到饼状图的可视化。一些实施例可以确定如何有效地在新的可视化中显示数据的一个或多个维度,其中用户已经选择了新的可视化类型。某些实施例可以利用语义距离算法以便于具有第一可视化类型的第一可视化中的(表示维度的)边缘到具有第二可视化类型的第二可视化中的边缘的映射,以使得新可视化对用户看起来直观。

在一些实施例中,可视分析器系统可以确定初始、现有的、源可视化与目标可视化之间的边缘的映射。一些实施例通过确定边缘之间的距离来执行映射。在一些实施例中,基于与边缘相关联的标签来确定边缘之间的距离。例如,具有指示该边缘是适于表示名称的边缘的功能标签的第一可视化类型的边缘可以具有到具有指示该边缘是适于表示公司名称的边缘的第二可视化类型的边缘的短距离。

一些实施例在将可视化从第一可视化类型转变为具有第二可视化类型的可视化时遵循规则集合。在一些实施例中,规则可以包括(1)示出事物(show something)–一些实施例可以来回移动列,以使得可视化能够显示事物;以及(2)将列保持在做相同事情的边缘上–一些实施例可以将列移动到表现相似的边缘。将列保持在做相同事情的边缘上最小化两个可视化之间的语义差异。一些实施例需要这两个规则都被满足,以便允许转变。在一些实施例中,给予要求可视化能够渲染事物的第一规则更多的权重。如果两个规则之间存在冲突,则一些实施例可以仅遵循第一规则,以确保可视化将能够示出事物。在一些实施例中,规则集合可以被存储在图1中的规则142中。可视分析器组件(诸如来自图1的边缘距离确定器112)可以在确定如何将来自一个可视化的边缘的边缘值映射到另一个可视化的边缘时使用这些规则。

图9示出了根据本发明的一些实施例的、用于将具有第一可视化类型的可视化转换成具有第二可视化类型的另一可视化的示例过程900。一些实施例可以检查第一、源可视化中的每个边缘并且确定在哪里将边缘的值(也被称为边缘值、数据维度或由边缘表示的列)映射到第二、目标可视化中的边缘。在某些实施例中,可视化类型距离确定器(诸如图1中的可视化类型距离确定器136)可以执行映射分析并且基于可视化的边缘之间的距离来映射值。可视化类型距离确定器可以为第一、源可视化中的每个边缘确定第二、目标可视化中的最近边缘,并且将第一、源可视化中的边缘中的信息映射到第二、目标可视化中的最近边缘。

在方框902处,过程900可以接收用于现有可视化的现有边缘信息。现有可视化可以具有第一边缘集合。在一些实施例中,对应于现有可视化的第一边缘集合可以识别可视化的可视化类型。在该实例中,现有可视化具有第一可视化类型。

在方框904处,过程900可以接收用于目标可视化的边缘信息。目标可视化可以具有第二边缘集合。在一些实施例中,目标可视化可以具有第二可视化类型。

在方框906处,过程900可以利用现有边缘信息和目标边缘信息来确定第一边缘集合与第二边缘集合之间的映射。一些实施例可以从第一、源可视化中选择边缘并且从新可视化确定最近边缘。

具有第一可视化类型的第一可视化可以具有包括3个边缘的配置信息。具有第二可视化类型的第二可视化可以具有包括4个边缘的配置信息。可视化类型距离确定器可以选择第一可视化中的第一边缘并且从第二可视化确定最近边缘。然后,来自第一可视化中的第一边缘的值可以被传送到第二可视化中的最近边缘。然后,可视化类型距离确定器可以继续选择第二边缘并且从第二可视化确定最近边缘,依此类推,直到所有边缘已经找到匹配。

一些实施例可以识别目标可视化中已经被标记为“所需”边缘的边缘并且为这些边缘确定匹配。在一些实施例中,边缘可以具有识别边缘是否是可视化的“所需”边缘的标签。一些实施例可以首先识别已经被标记为对于可视化“所需”的那些边缘并且在填充可视化的其它边缘之前填充所需边缘。

在一些实施例中,可以通过比较与每个边缘相关联的标签来确定边缘之间的距离。例如,具有标签T1和T2的边缘与具有标签T1、T2和T3的边缘具有2个重叠的标签。与仅具有1个重叠标签的边缘相比,这两个边缘之间的距离可以更小。用于每个边缘的标签可以识别边缘的特性。例如,用于边缘的标签可以指示该边缘是否是所需边缘或者该边缘是否适应用于其边缘值的地理坐标。基于边缘之间的距离,系统可以确定如何将值从一个可视化中的边缘传送到另一个可视化中的边缘。

在一些实施例中,具有匹配的标识符的边缘将具有非常小的距离值。如果边缘标识符不匹配,则通过确定要在层次图中遍历的节点的数量来执行距离计算。

在方框908处,过程900可以基于映射用被映射的第二边缘集合中与第一边缘集合对应的维度来呈现目标可视化。

VI.在从具有第一类型的可视化转变到具有第二类型的可视化时遵循的规则

如所描述的,当将具有第一可视化类型的第一可视化转变为具有第二可视化类型的第二可视化时,一些实施例遵循规则集合。在一些实施例中,规则可以包括示出事物和/或将列保持在相似功能的边缘上中的一个或多个。

一些实施例需要如下规则:即,目标可视化能够在边缘映射最终完成之前示出事物。例如,除非条形图在它的“值”边缘中具有至少有一个度量列,否则条形图不能示出任何事物。因此,如图10中所示,当从树形图转变为条形图时,算法将把度量“收入”从颜色移动到值,以使得条形图将示出事物。

某些实施例还可以需要将列保持在功能相似的边缘上的规则。例如,尽管数据透视表和条形图都具有“行”边缘,但是当从“行”中具有“城市”列的数据透视表转变时,算法却偏好将“城市”列移动到“类别”边缘,因为条形图上的“类别”边缘在功能上最类似于数据透视表上的“行”边缘。如图11中所示,当从数据透视表转变为水平条形图时,“城市”列已经从数据透视表中的“行”边缘移动到条形图中的“类别(y轴)”边缘。

VII.用于确定边缘之间的距离以及值从一个边缘到另一个边缘的映射的过程

某些实施例可以基于可视化的边缘之间的距离将来自具有第一可视化类型的一个可视化的边缘映射到具有第二可视化类型的另一可视化中的边缘。当将边缘从一个可视化映射到另一个时,一些实施例可以遵循规则集合,诸如上文所描述的图10和图11中的规则。图12示出了根据本发明的一些实施例的、用于将边缘从源可视化映射到目标可视化的伪代码1200。不同的实施例在要遵循的规则、执行步骤的顺序或者执行可视化的边缘之间的映射可能涉及的组件方面可以有变化。

一些实施例可以计算第一可视化(例如,源可视化)的边缘与第二可视化(例如,目标可视化)的边缘之间的边缘相似性。在某些实施例中,计算可视化的边缘之间的边缘相似性可以使得可视分析器系统能够将列保持在功能相似的边缘上。不同的实施例可以通过实现不同的功能来确定如何以不同方式将列保持在功能相似的边缘上。

在一些实施例中,两个边缘之间的边缘相似性可以基于在这两个边缘上定义的标签的数量来确定。如所描述的,可视化的边缘可以具有与该边缘相关联的一个或多个标签,其中标签定义该边缘的特性,诸如可以由该边缘表示的数据类型(例如,维度、列)。可以通过确定与第一边缘相关联的标签列表以及与第二边缘相关联的标签列表并且然后执行比较来确定两个边缘之间的边缘相似性。在一些实施例中,在两个列表中重叠的标签可以指示两个边缘有多相似。例如,如果在两个边缘之间存在4个重叠标签,则这两个边缘被认为与仅具有2个重叠标签的两个边缘相比具有更高的相似性值。

在确定源可视化与目标可视化的边缘之间的边缘相似性值之后,某些实施例然后可以确定最佳匹配边缘的经排序的列表。在一些实施例中,对于要比较的边缘阵列中的每个边缘,可以计算总体匹配得分。在该示例中,总体匹配得分可以基于相似性得分和优先级得分来计算。在一些实施例中,可以利用之前的段落中描述的算法来计算相似性得分,在该算法中将与边缘相关联的标签进行比较,以找出重叠的标签。在某些实施例中,重叠的标签越多,相似性得分越高。

在一些实施例中,优先级得分可以基于边缘优先级和最大优先级来计算。可视化的每个边缘可以具有数值优先级。在一些实施例中,数值优先级可以指示边缘的重要性和/或边缘是否是“所需”边缘。例如,各个边缘中具有高优先级的边缘可以具有高数值优先级值,并且可以具有与具有较低优先级的另一个边缘相比更高的数值优先级值。最大优先级可以是跨所有边缘的优先级的最大值。优先级得分可以通过将边缘优先级的值除以最大优先级的值来计算。如果与其它边缘相比,边缘是具有最高优先级的边缘,则优先级得分可以是1。如果与其它边缘相比,边缘是具有低优先级的边缘,则优先级得分可以是1的一部分。

总体匹配得分可以是相似性得分和优先级得分的总和。一些实施例可以为每对边缘确定总体匹配得分,并且基于它们的总体匹配得分来对边缘对进行排序。某些实施例可以确定基于边缘对的总体匹配得分排序后的(例如,用于源可视化的每个边缘的)边缘的阵列。在一些实施例中,该阵列可以具有按从与边缘的最佳匹配(即,最高总体匹配得分)到最差匹配的顺序排序的(目标可视化的)边缘。

一些实施例可以通过利用最佳匹配边缘的经排序的列表将第一可视化(源可视化)上的边缘映射到第二可视化(目标可视化)。在某些实施例中,遍历最佳匹配边缘的经排序的列表并且基于边缘的特性(例如,与边缘相关联的标签)来确定边缘是否可以消耗列可以使得可视分析器系统能够确保目标可视化能够显示事物,从而满足一些实施例中的所需规则中的一个所需规则。不同的实施例可以通过实现不同的功能来确定如何确保目标可视化可以以不同方式示出事物。

如所描述的,某些实施例可以遍历最佳匹配边缘的经排序的列表,并且确定边缘是否可以接受列(即,边缘是否可以消耗列数据)。一些实施例可以基于边缘的特性来确定边缘是否可以接受列。例如,如果边缘是值类型边缘,则该边缘可能不能接受仅具有类别类型值的列。在另一个示例中,如果边缘是仅可以接受7个类别类型值的类别类型边缘(例如,颜色),则该边缘可能不能接受具有多于7个维度成员的类别类型列。如果边缘不能接受列,则使用来自经排序的列表的下一个边缘。例如,如果边缘仅支持单个列或者如果可以由边缘表示的数据类型不包括列的数据类型(例如,如果边缘是类别类型边缘,而列是数值类型列),则该边缘可能不能接受该列。如所描述的,边缘的功能标签可以指示边缘可以适于表示的数据的类型(例如,地理信息、位置数据)。

VIII.用于将可视化的显示从第一可视化类型切换到第二可视化类型的示例屏幕截图

图13示出了用于将表示一个或多个维度的可视化的显示从散点图切换到条形图的屏幕截图。如图所示,来自散点图中的“形状”边缘的“D4公司”维度已经被移动到条形图中的“类别”边缘。

图14示出了用于将表示一个或多个维度的可视化的显示从水平条形图切换到表的屏幕截图。如图所示,因为表不支持“值”或“类别”边缘,所以“折扣金额”维度和“年份”维度已经被移动到“行”边缘。

图15示出了用于将表示一个或多个维度的可视化的显示从数据透视表切换到折线图的屏幕截图。如图所示,一些实施例可以将“年份”维度从“行”边缘移动到“类别”边缘,因为这被确定为最佳匹配。图16示出了其中不使用最佳匹配逻辑的将表示一个或多个维度的可视化的显示从数据透视表切换到折线图的屏幕截图。这张图示出当不使用最佳匹配逻辑时,列将被保持在相同边缘中(即,“行”边缘到“行”边缘),并且结果将不那么令人满意并且对于用户来说更难读。

图17示出了用于将表示一个或多个维度的可视化的显示从条形图切换到散点图的屏幕截图。条形图在它们的“值”边缘中允许无限数量的列。散点图在它们的“值”边缘中仅允许两列。当从值中具有多于2列的条形图转变到散点图时,剩余的列可以被放到可以接受它们的其它边缘(例如,在该实例中是“颜色”边缘)中。

IX.示例分布式系统

图18绘出了用于实现实施例的分布式系统1800的简化示意图。在示出的实施例中,分布式系统1800包括一个或多个客户机计算设备1802、1804、1806和1808,该一个或多个客户机计算设备被配置为通过一个或多个网络1810执行和操作客户机应用,诸如web浏览器、专有客户机(例如,Oracle Forms)等。服务器1812可以经由网络1810与远程客户机计算设备1802、1804、1806和1808可通信地耦接。

在各种实施例中,服务器1812可以适于运行一个或多个服务或软件应用,诸如提供文档(例如,网页)分析和与修改相关的处理的服务和应用。在某些实施例中,服务器1812还可以提供可以包括非虚拟环境和虚拟环境的其它服务或者软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下提供给客户机计算设备1802、1804、1806和/或1808的用户。操作客户机计算设备1802、1804、1806和/或1808的用户可以进而利用一个或多个客户机应用与服务器1812交互,以利用由这些组件提供的服务。

在图18所绘出的配置中,系统1800的软件组件1818、1820和1822被示为在服务器1812上实现。在其它实施例中,系统1800的组件中的一个或多个组件和/或由这些组件提供的服务还可以由客户机计算设备1802、1804、1806和/或1808中的一个或多个实现。然后,操作客户机计算设备的用户可以利用一个或多个客户机应用来使用由这些组件提供的服务。这些组件可以在硬件、固件、软件或其组合中实现。应当理解的是,可以不同于分布式系统1800的各种不同的系统配置是可能的。因此,图18中所示的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在是限制性的。

客户机计算设备1802、1804、1806和/或1808可以包括各种类型的计算系统。例如,客户机计算设备可以包括运行诸如Microsoft Windows

客户机计算设备还可以包括通用个人计算机,作为示例,所述通用个人计算机包括运行各种版本的Microsoft

客户机计算设备可以是运行各种商用的

虽然图18中的分布式系统1800被示为具有四个客户机计算设备,但是可以支持任何数量的客户机计算设备。诸如具有传感器的设备等之类的其它设备可以与服务器1812交互。

分布式系统1800中的(一个或多个)网络1810可以是对本领域技术人员来说熟悉的可以利用各种可用协议中的任何可用协议来支持数据通信的任何类型的网络,其中各种可用协议包括但不限于TCP/IP(传输控制协议/因特网协议)、SNA(系统网络架构)、IPX(因特网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络1810可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,在电气和电子协会(IEEE)1002.11协议组中的任何协议、

服务器1812可以包括一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、

服务器1812可以运行包括上文讨论的操作系统中的任何操作系统以及任何商用的服务器操作系统的操作系统。服务器1812还可以运行各种附加的服务器应用和/或中间层应用中的任何附加的服务器应用和/或中间层应用,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、

在一些实施方式中,服务器1812可以包括一个或多个应用,以分析和整合从客户机计算设备1802、1804、1806和1808的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和持续数据流接收到的

分布式系统1800还可以包括一个或多个数据库1814和1816。这些数据库可以提供用于存储诸如用户交互信息、使用模式信息、适应规则信息以及由本发明的实施例使用的其它信息之类的信息的机制。数据库1814和1816可以驻留在各种位置中。作为示例,数据库1814和1816中的一个或多个可以驻留在服务器1812本地(和/或驻留在服务器1812中)的非暂态存储介质上。可替代地,数据库1814和1816可以远离服务器1812,并且经由基于网络的或专用的连接与服务器1812通信。在一组实施例中,数据库1814和1816可以驻留在存储区域网络(SAN)中。类似地,用于执行属于服务器1812的功能的任何必要的文件可以适当地在服务器1812本地存储和/或远程存储。在一组实施例中,数据库1814和1816可以包括适于响应于SQL格式的命令来存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。

X.示例系统环境

在一些实施例中,上文描述的文档分析和修改服务可以经由云环境被提供为服务。图19是根据本公开的实施例的、其中服务可以被提供为云服务的系统环境1900的一个或多个组件的简化框图。在图19所示的实施例中,系统环境1900包括可以由用户用来与提供云服务(包括用于响应于使用模式而动态修改文档(例如,网页)服务)的云基础设施系统1902交互的一个或多个客户机计算设备1904、1906和1908。云基础设施系统1902可以包括一个或多个计算机和/或服务器,该一个或多个计算机和/或服务器可以包括上文针对服务器1812所描述的计算机和/或服务器。

应当理解的是,图19中所绘出的云基础设施系统1902可以具有除了所绘出的组件之外的其它组件。此外,图19中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统1902可以具有比图中示出的更多或更少的组件、可以组合两个或更多个组件、或者可以具有不同的组件配置或布置。

客户机计算设备1904、1906和1908可以是与上文针对1802、1804、1806和1808描述的设备类似的设备。客户机计算设备1904、1906和1908可以被配置为操作诸如web浏览器、专有客户机应用(例如,Oracle Forms)或一些其它应用之类的客户机应用,该客户机应用可以由客户机计算设备的用户使用以与云基础设施系统1902交互以便使用由云基础设施系统1902提供的服务。虽然示例性系统环境1900被示为具有三个客户机计算设备,但是可以支持任何数量的客户机计算设备。诸如具有传感器的设备等之类的其它设备可以与云基础设施系统1902交互。

(一个或多个)网络1910可以便于客户机1904、1906和1908与云基础设施系统1902之间的通信和数据交换。每个网络可以是对本领域技术人员来说熟悉的可以利用各种商用协议中的任何商用协议来支持数据通信的任何类型的网络,其中所述各种商用协议包括上文针对(一个或多个)网络1810描述的协议。

在某些实施例中,由云基础设施系统1902提供的服务可以包括按需对云基础设施系统的用户可用的许多服务。除了与响应于使用模式的动态文档修改有关的服务之外,还可以提供各种其它服务,这些服务包括但不限于在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态缩放,以满足它的用户的需求。

在某些实施例中,由云基础设施系统1902提供的服务的具体实例化在本文中可以被称为“服务实例”。一般而言,从云服务提供者的系统经由通信网络(诸如因特网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供者的系统的服务器和系统与客户自己的本地(on-premises)服务器和系统不同。例如,云服务提供者的系统可以托管应用,并且用户可以经由诸如因特网之类的通信网络按需订购和使用应用。

在一些示例中,计算机网络云基础设施中的服务可以包括对由云供应商向用户提供或者如本领域已知的以其它方式提供的存储装置、托管的数据库、托管的web服务器、软件应用或者其它服务的受保护的计算机网络访问。例如,服务可以包括通过因特网对云上的远程存储装置的受密码保护的访问。作为另一个示例,服务可以包括基于web服务的托管的关系数据库和脚本语言中间件引擎,以供联网的开发人员私人使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。

在某些实施例中,云基础设施系统1902可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给客户的一套应用、中间件和数据库服务供应物(offering)。这样的云基础设施系统的示例是由本受让人提供的Oracle Public Cloud(Oracle公共云)。

云基础设施系统1902还可以提供与“大数据”相关的计算和分析服务。术语“大数据”一般用来指可由分析员和研究者存储和操纵以使大量数据可视化、检测趋势和/或以其它方式与数据交互的极大数据集。该大数据和相关应用可以由基础设施系统在许多级别上以及在不同尺度下托管和/或操纵。并行链接的数十个、数百个或数千个处理器可以作用于这样的数据,以便呈现它或者模拟对数据或它所表示的内容的外力。这些数据集可以包括结构化数据(诸如在数据库中组织或以其它方式根据结构化模型组织的数据)和/或非结构化数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过利用实施例相对快速地将更多(或更少)的计算资源集中在目标上的能力,云基础设施系统可以更好地可用于基于来自企业、政府机构、研究组织、私人个人、一群志同道合的个人或组织或其它实体的需求来对大数据集执行任务。

在各种实施例中,云基础设施系统1902可以适于自动地供应、管理和跟踪客户对由云基础设施系统1902提供的服务的订阅。云基础设施系统1902可以经由不同的部署模型提供云服务。例如,服务可以在公共云模型下提供,在该公共云模型中云基础设施系统1902由销售云服务的组织拥有(例如,由Oracle公司拥有)并且服务对一般公众或不同的工业企业可用。作为另一个示例,服务可以在私有云模型下提供,在该私有云模型中云基础设施系统1902仅针对单个组织操作,并且可以为组织内的一个或多个实体提供服务。云服务还可以在社区云模型下提供,在该社区云模型中云基础设施系统1902和由云基础设施系统1902提供的服务由相关社区中的若干个组织共享。云服务还可以在作为两个或更多个不同模型的组合的混合云模型下提供。

在一些实施例中,由云基础设施系统1902提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它服务类别下提供的一个或多个服务。客户可以经由订阅订单订购由云基础设施系统1902提供的一个或多个服务。然后,云基础设施系统1902执行处理,以提供客户的订阅订单中的服务。

在一些实施例中,由云基础设施系统1902提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别下的云服务。例如,SaaS平台可以提供在集成的开发和部署平台上构建和交付按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买分开的许可和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供用于销售业绩管理、企业集成和业务灵活性的解决方案的服务。

在一些实施例中,平台服务可以由云基础设施系统1902经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别下的云服务。平台服务的示例可以包括但不限于使得组织(诸如Oracle)能够在共享的公共架构上整合现有应用以及具有利用由平台提供的共享服务构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础设施系统1902提供的PaaS服务,而无需客户购买分开的许可和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。

通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还可以控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,OracleFusion Middleware服务)和Java云服务。在一个实施例中,数据库云服务可以支持使得组织能够汇集数据库资源并且以数据库云的形式向客户提供数据库即服务的共享服务部署模型。中间件云服务可以为客户提供开发和部署各种业务应用的平台,而Java云服务可以在云基础设施系统中为客户提供部署Java应用的平台。

云基础设施系统中的IaaS平台可以提供各种不同的基础设施服务。基础设施服务便于利用由SaaS平台和PaaS平台提供的服务的客户对底层计算资源(诸如存储装置、网络和其它基本计算资源)的管理和控制。

在某些实施例中,云基础设施系统1902还可以包括基础设施资源1930,以用于提供被用来向云基础设施系统的客户提供各种服务的资源。在一个实施例中,基础设施资源1930可以包括用于执行由PaaS平台和SaaS平台提供的服务的硬件(诸如服务器、存储装置和联网资源)以及其它资源的预先集成和优化的组合。

在一些实施例中,云基础设施系统1902中的资源可以由多个用户共享并且按需动态地重新分配。附加地,资源可以被分配给不同时区中的用户。例如,云基础设施系统1902可以使得第一时区中的第一用户集合能够对于指定的小时数来利用云基础设施系统的资源,然后实现将同一资源重新分配给位于不同时区中的另一用户集合,从而最大化资源的利用率。

在某些实施例中,可以提供若干内部共享服务1932,其由云基础设施系统1902的不同组件或模块共享,以实现由云基础设施系统1902供应服务。这些内部共享服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。

在某些实施例中,云基础设施系统1902可以在云基础设施系统中提供云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一种实施例中,云管理功能可以包括用于供应、管理和跟踪由云基础设施系统1902接收到的客户的订阅的能力等。

在一个实施例中,如图19中所绘出的,云管理功能可以由诸如订单管理模块1920、订单编排模块1922、订单供应模块1924、订单管理和监视模块1926以及身份管理模块1928之类的一个或多个模块提供。这些模块可以包括一个或多个计算机和/或服务器或者可以利用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场,服务器集群或任何其它适当的布置和/或组合。

在示例性操作中,在1934处,使用客户机设备(诸如客户机设备1904、1906或1908)的客户可以通过请求由云基础设施系统1902提供的一个或多个服务并且对由云基础设施系统1902提供的一个或多个服务的订阅下订单来与云基础设施系统1902交互。在某些实施例中,客户可以访问诸如云用户界面(UI)1912、云UI 1914和/或云UI 1916之类的云UI并且经由这些UI下订阅订单。响应于客户下订单而由云基础设施系统1902接收的订单信息可以包括识别客户以及客户旨在订阅的由云基础设施系统1902提供的一个或多个服务的信息。

在1936处,从客户接收到的订单信息可以被存储在订单数据库1918中。如果这是新的订单,则可以为该订单创建新的记录。在一个实施例中,订单数据库1918可以是由云基础设施系统1918操作以及结合其它系统元素操作的若干数据库中的一个数据库。

在1938处,订单信息可以被转发到订单管理模块1920,订单管理模块1920可以被配置为执行与订单相关的计费和记帐功能,诸如验证订单并且在通过验证时预订订单。

在1940处,关于订单的信息可以被传送到订单编排模块1922,订单编排模块1922被配置为编排用于由客户下的订单的服务和资源的供应。在一些实例中,订单编排模块1922可以使用订单供应模块1924的服务以用于供应。在某些实施例中,订单编排模块1922实现与每个订单相关联的业务过程的管理,并且应用业务逻辑来确定订单是否应当继续供应。

如图19中绘出的实施例中所示,在1942处,在接收到对新订阅的订单时,订单编排模块1922向订单供应模块1924发送分配资源和配置满足订阅订单所需要的资源的请求。订单供应模块1924实现针对由客户订购的服务的资源分配。订单供应模块1924提供由云基础设施系统1900提供的云服务和用来供应用于提供所请求的服务的资源的物理实现层之间的抽象层。这使得订单编排模块1922能够与诸如服务和资源是确实实时(on the fly)供应的还是预先供应的并且仅在请求时分配/指派之类的实现细节隔离。

在1944处,一旦供应了服务和资源,就可以向订阅的客户发送指示所请求的服务现在准备好使用的通知。在一些实例中,可以向客户发送使得客户能够开始使用所请求的服务的信息(例如,链接)。

在1946处,订单管理和监视模块1926可以管理和跟踪客户的订阅订单。在一些实例中,订单管理和监视模块1926可以被配置为收集关于客户对所订阅的服务的使用的使用统计数据。例如,可以针对所使用的存储量、所传送的数据量、用户的数量以及系统启动时间和系统停机时间的量等来收集统计数据。

在某些实施例中,云基础设施系统1900可以包括身份管理模块1928,身份管理模块1928被配置为提供身份服务,诸如云基础设施系统1900中的访问管理和授权服务。在一些实施例中,身份管理模块1928可以控制关于希望利用由云基础设施系统1902提供的服务的客户的信息。这样的信息可以包括认证这些客户的身份的信息和描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行的动作的信息。身份管理模块1928还可以包括关于每个客户的描述性信息以及关于可以如何和由谁来访问和修改描述性信息的管理。

XI.示例计算机系统

图20示出了可以被用来实现本发明的实施例的示例性计算机系统2000。在一些实施例中,计算机系统2000可以被用来实现上文描述的各种服务器和计算机系统中的任何服务器和计算机系统。如图20所示,计算机系统2000包括各种子系统,这些子系统包括经由总线子系统2002与若干外围子系统通信的处理单元2004。这些外围子系统可以包括处理加速单元2006、I/O子系统2008、存储子系统2018和通信子系统2024。存储子系统2018可以包括有形的计算机可读存储介质2022和系统存储器2010。

总线子系统2002提供用于使计算机系统2000的各种组件和子系统按照期望彼此通信的机制。虽然总线子系统2002被示意性地示为单条总线,但是总线子系统的可替代实施例可以利用多条总线。总线子系统2002可以是若干类型的总线结构中的任何类型的总线结构,所述若干类型的总线结构包括利用各种总线架构中的任何总线架构的存储器总线或存储器控制器、外围总线和局部总线。例如,这样的架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线等,其中PCI总线可以被实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线。

处理子系统2004控制计算机系统2000的操作并且可以包括一个或多个处理单元2032、2034等。处理单元可以包括一个或多个处理器,该一个或多个处理器包括单核或多核处理器、处理器的一个或多个核或其组合。在一些实施例中,处理子系统2004可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统2004的处理单元中的一些或全部可以利用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类的定制电路来实现。

在一些实施例中,处理子系统2004中的处理单元可以执行存储在系统存储器2010中或计算机可读存储介质2022上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器2010中和/或计算机可读存储介质2022上(包括潜在地在一个或多个存储设备上)。通过适当的编程,处理子系统2004可以提供用于响应于使用模式而动态修改文档(例如,网页)的上文所描述的各种功能。

在某些实施例中,可以提供处理加速单元2006,以用于执行定制的处理或者用于卸载由处理子系统2004执行的处理中的一些处理,以便加速由计算机系统2000执行的整体处理。

I/O子系统2008可以包括用于向计算机系统2000输入信息和/或用于输出来自计算机系统2000的信息或经由计算机系统2000输出信息的设备和机构。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统2000输入信息的所有可能类型的设备和机构。用户接口输入设备可以包括例如键盘、诸如鼠标或轨迹球之类的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备还可以包括运动感测和/或姿势识别设备,诸如使得用户能够控制输入设备并且与其交互的Microsoft

用户接口输入设备的其它示例包括但不限于三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视觉设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及视线跟踪设备。附加地,用户接口输入设备可以包括例如医疗成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层扫描、医疗超声检查设备。用户接口输入设备还可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。

用户接口输出设备可以包括显示子系统、指示器灯或诸如音频输出设备之类的非视觉显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子显示器的平板设备之类的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于向用户或其它计算机输出来自计算机系统2000的信息的所有可能类型的设备和机构。例如,用户接口输出设备可以包括但不限于在视觉上传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。

存储子系统2018提供用于存储由计算机系统2000使用的信息的储存库或数据存储库。存储子系统2018提供有形非暂态计算机可读存储介质,以用于存储提供一些实施例的功能的基本编程和数据构造。当由处理子系统2004执行时提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统2018中。软件可以由处理子系统2004的一个或多个处理单元执行。存储子系统2018还可以提供用于存储根据本发明使用的数据的储存库。

存储子系统2018可以包括一个或多个非暂态存储器设备,该一个或多个非暂态存储器设备包括易失性存储器设备和非易失性存储器设备。如图20所示,存储子系统2018包括系统存储器2010和计算机可读存储介质2022。系统存储器2010可以包括若干存储器,这些存储器包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实施方式中,包含有助于诸如在启动期间在计算机系统2000内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。RAM通常包含当前由处理子系统2004操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器2010可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。

作为示例而非限制,如图20中所绘出的,系统存储器2010可以存储应用程序2012、程序数据2014和操作系统2016,应用程序2012可以包括客户机应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等。作为示例,操作系统2016可以包括各种版本的Microsoft

计算机可读存储介质2022可以存储提供一些实施例的功能的编程和数据构造。当由处理子系统2004执行时提供上文描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统2018中。作为示例,计算机可读存储介质2022可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、

在某些实施例中,存储子系统2000还可以包括计算机可读存储介质读取器2020,计算机可读存储介质读取器2020可以进一步被连接到计算机可读存储介质2022。与系统存储器2010一起,并且可选地与系统存储器2010组合,计算机可读存储介质2022可以全面地表示远程存储设备、本地存储设备、固定存储设备和/或可移动存储设备加上用于存储计算机可读信息的存储介质。

在某些实施例中,计算机系统2000可以提供对执行一个或多个虚拟机的支持。计算机系统2000可以执行诸如管理程序之类的程序,以便于对虚拟机进行配置和管理。每个虚拟机可以被分配存储器资源、计算资源(例如,处理器、内核)、I/O资源和联网资源。每个虚拟机通常运行其自己的操作系统,其自己的操作系统可以与由计算机系统2000执行的其它虚拟机执行的操作系统相同或不同。相应地,多个操作系统可以潜在地由计算机系统2000并发地运行。每个虚拟机一般独立于其它虚拟机运行。

通信子系统2024提供到其它计算机系统和网络的接口。通信子系统2024充当用于从来自计算机系统2000的其它系统接收数据以及向来自计算机系统2000的其它系统发送数据的接口。例如,通信子系统2024可以使得计算机系统2000能够经由因特网建立到一个或多个客户机设备的通信信道,以用于从客户机设备接收信息和向客户机设备发送信息。例如,图1中所绘出的可视分析器系统102可以利用通信子系统2024从客户机设备接收用户交互信息和网页请求。附加地,通信子系统2024可以被用来将网页从自适应可视分析器系统102传送到发出请求的客户机。

通信子系统2024可以支持有线通信协议和/或无线通信协议两者。例如,在某些实施例中,通信子系统2024可以包括用于(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)之类的高级数据网络技术、WiFi(IEEE802.11族标准)、或其它移动通信技术、或其任意组合)访问无线语音网络和/或数据网络的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,除了无线接口之外或作为无线接口的替代,通信子系统2024可以提供有线网络连接(例如,以太网)。

通信子系统2024可以接收和发送以各种形式的数据。例如,在一些实施例中,通信子系统2024可以接收以结构化的和/或非结构化的数据馈送2026、事件流2028、事件更新2030等形式的输入通信。例如,通信子系统2024可以被配置为实时接收(或发送)来自社交媒体网络和/或其它通信服务的用户的数据馈送2026和/或来自一个或多个第三方信息源的实时更新,其中数据馈送2026诸如

在某些实施例中,通信子系统2024可以被配置为接收没有明确结束的本质上可以是连续的或无界的连续数据流形式的数据,其中连续数据流可以包括实时事件的事件流2028和/或事件更新2030。生成连续数据的应用的示例可以包括例如传感器数据应用、金融收报机、网络性能测量工具(例如网络监视和业务管理应用)、点击流分析工具、汽车交通监视等。

通信子系统2024还可以被配置为向一个或多个数据库输出结构化的和/或非结构化的数据馈送2026、事件流2028、事件更新2030等,其中该一个或多个数据库可以与耦接到计算机系统2000的一个或多个流数据源计算机通信。

计算机系统2000可以是各种类型中的一种,这些类型包括手持便携式设备(例如,

由于计算机和网络不断变化的性质,旨在将图20中绘出的计算机系统2000的描述仅仅作为具体示例。具有比图20中所绘出的系统更多或更少组件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。

虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代构造和等价物也包含在本发明的范围内。本发明的实施例不限于在某些具体数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,但是对本领域技术人员应当明显的是,本发明的范围不限于所描述的系列的事务和步骤。上述实施例的各种特征和方面可以被单独使用或结合使用。

此外,虽然已经利用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围内。本发明的实施例可以仅在硬件中、或仅在软件中、或利用其组合来实现。本文描述的各种过程可以以任何组合在同一处理器或不同处理器上实现。相应地,在组件或模块被描述为被配置为执行某些操作的情况下,可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任何组合来实现这样的配置。进程可以利用包括但不限于用于进程间通信的常规技术的各种技术来通信,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。

相应地,说明书和附图要在说明性的意义上而不是限制性的意义上考虑。然而,将明显的是,在不背离比权利要求中阐述的更宽的精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不旨在是限制性的。各种修改和等价物在以下权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号