CN112868051A - 带有数据点动画和通路的漏斗可视化 - Google Patents
带有数据点动画和通路的漏斗可视化 Download PDFInfo
- Publication number
- CN112868051A CN112868051A CN201980069405.1A CN201980069405A CN112868051A CN 112868051 A CN112868051 A CN 112868051A CN 201980069405 A CN201980069405 A CN 201980069405A CN 112868051 A CN112868051 A CN 112868051A
- Authority
- CN
- China
- Prior art keywords
- data
- funnel
- user
- visualization
- objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/024—Multi-user, collaborative environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/028—Multiple view windows (top-side-front-sagittal-orthogonal)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Architecture (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Optics & Photonics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Image Generation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
可以提供多个可视化对象以表示虚拟3D空间中的一个或多个数据集。可视化对象可以包括漏斗、容器、名片等。可视化对象能够布置在圆形转盘中,该圆形转盘能够在VR/AR环境中绕虚拟相机或用户的位置旋转。可视化对象中的各个数据点能够基于对应数据点的属性被旋转、调整尺寸、定位、着色或以其它方式进行表征。各个数据点也能够随着统一视图中的可视化对象之间过渡而被动画处理。语音命令能够被解释为交互式环境的一部分,该交互式环境能够同时向多个设备提供可视化对象的视图。
Description
相关申请的交叉引用
本申请是于2018年10月21日提交的标题为“3D VISUALIZATION SERVICESINTEGRATING VARIOUS DATA SOURCES AND DISPLAY DEVICES”的美国临时申请No.62/748,504的非临时申请,并援引35 U.S.C.119(e)要求其利益和优先权,出于所有目的,其全部内容通过引用并入本文。
本申请还涉及以下四个美国专利申请:
·由Moroze等人于2019年10月21日提交的标题为“INTERACTIVE DATA EXPLORERAND 3-D DASHBOARD ENVIRONMENT”的美国专利申请No.16/658,162号(代理人案卷号088325-1142774),整体并入本文。
·由Moroze等人于2019年10月21日提交的标题为“OPTIMIZING VIRTUAL DATAVIEWS USING VOICE COMMANDS AND DEFINED PERSPECTIVES”的美国专利申请No.16/658,169(代理人案卷号088325-1142776),整体并入本文。
·由Moroze等人于2019年10月21日提交的标题为“ANIMATION BETWEENVISUALIZATION OBJECTS IN A VIRTUAL DASHBOARD”的美国专利申请No.16/658,177(代理人案卷号088325-1142782),整体并入本文。
·由Moroze等人于2019年10月21日提交的标题为“DATA VISUALIZATION OBJECTSIN A VIRTUAL ENVIRONMENT”的美国专利申请No.16/658,180(代理人案卷号088325-1143002),整体并入本文。
背景技术
传达构造的最有效方式之一是通过可视化。通常,对信息进行捕获和分类不足以完全理解可以从数据中得出的结论。虽然二维数据可视化在我们的大多数通信技术中占主导地位,但是其中许多可视化技术并未针对突出显示或强调数据收集方面进行优化。有效的数据可视化涉及创建信息丰富的视觉效果,这些信息可以非常快速地传达数据的方面。有时,简单的可视化就足够了。但是,对于复杂的多维数据,数据集本身的复杂性可能使有限的维度空间具有足够的可视化难度。
发明内容
一种用于从数据点的集合生成可视化对象的方法可以包括:接收一个或多个数据集;生成与一个或多个数据集中的数据点对应的多个3D对象;以预定的3D形状布置多个3D对象;以及基于对应数据点的属性值来控制3D对象在预定的3D形状内的外观和位置。
一种非暂态计算机可读介质可以包括指令,指令在由一个或多个处理器执行时使一个或多个处理器执行操作,包括:接收一个或多个数据集;生成与一个或多个数据集中的数据点对应的多个3D对象;以预定的3D形状布置多个3D对象;以及基于对应数据点的属性值来控制3D对象在预定的3D形状内的外观和位置。
一种系统可以包括一个或多个处理器以及可以包括指令的一个或多个存储器设备,指令在由一个或多个处理器执行时使一个或多个处理器执行操作,包括:接收一个或多个数据集;生成与一个或多个数据集中的数据点对应的多个3D对象;以预定的3D形状布置多个3D对象;以及基于对应数据点的属性值来控制3D对象在预定的3D形状内的外观和位置。
在任何实施例中,以下特征中的任何特征都可以以任何组合且不受限制地实现。预定的3D形状可以包括漏斗对象。3D对象可以包括被布置为形成漏斗对象的球体。球体可以绕漏斗对象的圆周旋转。球体可以以由对应数据点的属性值确定的速度和/或半径旋转。可以基于对应数据点的属性值对球体进行着色。漏斗对象可以被划分为多个区段。基于对应数据点的属性值,多个3D对象可以位于多个区段中。所述方法/操作还可以包括在沿着动画或路径的多个点处将时间戳插入预定的3D形状中。动画可以包括随时间绕预定的3D形状旋转的3D对象。动画的速度可以基于一个或多个数据集中的对应数据点的属性。动画或路径可以由虚拟环境中的样条线对象表示。所述方法/操作还可以包括将虚拟环境中的多个3D对象的多个视图提供给多个客户端设备。多个客户端设备可以包括虚拟现实耳机。
附图说明
通过参考本说明书的其余部分和附图,可以实现对本发明的本质和优点的进一步理解,其中,贯穿若干附图使用相似的附图标记指代相似的组件。在一些情况下,子标签与附图标记相关联以表示多个相似组件中的一个。当在没有指定现有子标签的情况下参考附图标记时,意在指代所有这样的多个相似组件。
图1图示了根据一些实施例的用于创作、提供和使用交互式数据显示的系统。
图2图示了根据一些实施例的已经绑定到企业数据集的虚拟对象的示例。
图3图示了用于将组件从组件交换器导入到应用中的用户接口。
图4图示了根据一些实施例的用于下载和实例化应用中的组件的处理的框图。
图5图示了根据一些实施例的在虚拟环境中创建的虚拟仪表板。
图6图示了根据一些实施例的各种类型的客户端设备系统和输入设备如何可以全都与EDIE环境中的相同虚拟环境同时接口连接。
图7图示了根据一些实施例的通过2D屏幕接口的虚拟环境的视图。
图8图示了根据一些实施例的具有多个用户与虚拟仪表板交互的虚拟环境的视图。
图9图示了根据一些实施例的可以用于与虚拟环境交互的现实世界环境的视图。
图10图示了根据一些实施例的用于在多维仪表板中显示数据的方法的流程图。
图11图示了根据一些实施例的漏斗形式的可视化对象的示例。
图12图示了根据一些实施例的如何使用阈值和其它机制以在数据集中生成视觉异常来可视化数据点。
图13图示了根据一些实施例的用于漏斗的控制面板,以及如何将尺寸、颜色和阶段细节添加到漏斗的动画中。
图14图示了根据一些实施例的用于从数据点的集合生成可视化对象的方法的流程图。
图15图示了根据一些实施例的漏斗的轴上视图。
图16图示了根据一些实施例的对于可以如何随着对应数据点的属性值的改变而随时间跟踪数据点的运动和/或动画的可视化。
图17图示了图16中描绘的漏斗的轴上视图。
图18图示了根据一些实施例的用于表示数据随时间变化的方法的流程图。
图19描绘了用于实现一些实施例的分布式系统的简化图。
图20是根据一些实施例的可以将由实施例系统的一个或多个组件提供的服务作为云服务提供的系统环境的一个或多个组件的简化框图。
图21图示了其中可以实现各种实施例的示例性计算机系统。
具体实施方式
本文描述的是沉浸式用户接口(UI)体验的实施例。沉浸式用户接口体验可以被包装为单独的组件,单独的组件可以插入到组件交换器或交换所中,组件交换器或交换所然后由应用开发人员或服务开发人员用来将交互式UI组件添加到其应用或服务中。这些UI组件可以被用于在拥挤的市场中区分应用并提供用户友好的交互式沉浸式体验,从而为许多不同用户设备上的许多不同数据类型提供详细而直观的数据可视化。
图1图示了根据一些实施例的用于创作、提供和使用交互式数据显示的系统。该系统可以包括组件交换器124。组件交换器124可以是应用开发套件的一部分,其允许用户使用自定义开发环境以及预定义工具和/或接口的库来开发应用和/或服务。应用开发套件可以是云托管的开发环境,其可以作为用于许多不同客户端设备的软件即服务(SaaS)模型进行访问。开发环境可以被配置为开发和/或部署许多不同类型的应用,包括基于云的服务或微服务、web应用、移动设备应用、企业应用等。在应用开发套件中设计的应用可以通过代表性状态传递(REST)接口与其它SaaS应用集成在一起。
应用开发套件中的开发环境可以包括多个用户友好的工具,开发人员可以使用它们来简化开发处理并使得整个应用开发周期更高效。这些工具可以包括所见即所得(WYSIWYG)工具和其它图形接口,允许开发人员将各种预封装的组件拖放到应用开发空间中。各种组件可以由开发环境提供,诸如可重用的业务对象、进程、Web控件、用户接口控件、主题、模板和应用的其它方面。
开发人员可以使用开发环境来设计和测试应用,并且然后可以将应用部署到各种操作环境。当将应用部署到操作环境时,开发环境还可以部署应用所需的任何附加代码或库,以使其可以在目标环境中运行。因此,由开发环境提供的灵活性和可重用组件可以移植到任何操作环境,而不会丢失由开发环境提供的任何功能。
在这个示例中,开发环境可以包括组件交换器。例如,可以使用任何可商购的开发环境来实现开发环境,诸如来自的Visual之类。开发环境可以包括各种工具箱,诸如可以被用于构建应用的专有和/或开源JavaScript库的集合之类。例如,开发环境可以包括来自的JavaScript Extension Toolkit(JET)的组件。这些工具箱中的组件可以包括丰富用户接口(UI)集合组件,其包括数据模型、视图模型和用于将数据绑定到组件的端口。在一些实施例中,开发环境可以基于诸如W3C Web组件标准之类的标准组件提供统一的组件插件机制,同时仍允许自定义组件与标准组件一起工作。
组件交换器124可以允许组件开发人员将组件上传到组件交换器124以供应用开发人员使用。这允许组件开发人员提供灵活的组件架构,其可以在整个组件生命周期中对其进行维护和升级。例如,这些组件可以包括标准的web组件,诸如可以在各种用户接口中使用的复选框组件(116)或滑块组件(114)之类。这些组件114、116可以上传到组件交换器124,并且然后由组件开发团队在其整个生命周期中进行更新和维护。然后可以将它们作为组件交换器124中的组件121、122提供给应用开发人员。
除了标准的web组件之外,本文描述的实施例还允许用户开发可以在企业数据交互式资源管理器(EDIE)环境中使用的特殊可视化对象。这些可视化对象提供企业数据集的多维视图,这些视图可以由多个客户端设备通过分离的网络连接同时查看。这些可视化对象可以以与将标准web组件导入到组件交换器124中相同的方式导入到组件交换器124中。然后可以将这些可视化对象导入正在开发的各个应用中。在那些应用中,开发人员可以将来自许多不同来源的各种企业数据集绑定到可视化对象上的参数化输入。然后,可视化对象可以被用于生成虚拟对象的经渲染的视图,这些虚拟对象表示并可视化多维环境中的企业数据。
这些可视化对象的各种示例可以在下面在本公开中更详细地描述。图1图示了可以作为常规对象被导入到组件交换器124中的可视化对象的几个示例。例如,漏斗对象112可以包括旋转漏斗对象,该旋转漏斗对象图示了企业数据集中的数据点随时间的进展。利用漏斗对象112可以提供各种视觉效果,所述视觉效果可以被用于突出显示绑定到漏斗对象112的数据集的各个方面。例如,用户可以沿着各个维度搜索数据集、更改各个数据点、查看随时间变化的数据点通路、在沿着各个维度随时间加速数据时查看数据的直观表示,等等。
图1还图示了可以被用于表示各种企业数据集的三维直方图或条形图对象110。在组件交换器124中,图形对象110可以与任何底层数据集断开连接。但是,当将图形对象110导入到实际应用中时,可以将其绑定到企业数据集,并且可以基于数据绑定来调整图形中的各个条形的尺寸。可视化对象可以被用于在可由各种客户端设备查看的虚拟环境中生成三维(3D)虚拟对象。例如,图形对象110可以被实现为多个三维圆柱体,每个三维圆柱体表示图形中的条。用户可以进入虚拟环境并在虚拟对象周围走动、与对象交互、改变对象中的值、操纵对象的部分,并使那些改变后的值被其他用户看到并存储回存储数据集的底层数据库。
上述可视化对象110、112是作为示例提供的,并不意味着是限制性的。可以被用于可视化企业数据集的任何多维对象都可以用作本公开中的可视化对象。其它可视化对象可以包括图表、动画、图片、图形等。
在组件交换器124中,可视化对象可以被表示为组件118,120,这些组件可以由开发人员选择并在开发期间导入到应用中。例如,开发人员可以将漏斗对象112的组件118拖放到应用中。然后,根据实施例,这个可视化对象可以绑定到或者开发环境或者部署环境中的数据集。
在一些实施例中,可以将包括一个或多个可视化对象的应用部署到各种环境。这些环境可以包括web应用、移动应用、客户端应用、在游戏系统上运行的应用、在台式机或膝上型计算机上运行的应用、用于虚拟环境的应用(诸如虚拟现实或增强现实系统之类),和/或任何其它计算环境。当将应用部署到环境时,组件交换器124可以部署运行可视化对象所需的任何必要的库、第三方库或其它软件组件或库。例如,在3D环境中操作的一些可视化对象可以包括其操作所需的OpenGL库或其它3D可视化库。
应用可以被部署到本文一般称为EDIE环境的环境102,该环境可以包括多个标准组件以及如上所述的一个或多个可视化对象。环境102可以包括可以在其中实例化可视化对象的虚拟环境104。当实例化可视化对象时,可以将它们绑定到一个或多个底层数据集。这些数据集可以从各种源获取,诸如数据库表、多维数据立方体、web服务、服务器端应用、API接口等等。在图1的示例中,企业数据库108可以将来自一个或多个数据库表的值提供给环境102,以与可视化对象中的至少一个一起使用。在这个示例中,漏斗对象112可以被部署到虚拟环境104中的环境102。漏斗对象112可以包括输入的集合,诸如可以分别和/或共同地绑定到来自企业数据库108的企业数据集中的表或行的参数化输入之类。可以在开发环境中、在部署环境102中和/或在任何其它时间创建数据集值与可视化对象的参数化输入之间的绑定106。绑定106还可以在运行时或在执行应用之前用不同的数据集动态地调整或重新形成。
当数据集绑定到可视化对象时,可视化对象可以被用于在虚拟环境104中生成虚拟对象。这可以包括使用来自数据集的值来调整虚拟对象各个部分的尺寸或维度。来自数据集的值还可以被用于为虚拟对象内的对象生成动画速度或运动向量。来自数据集的值还可以被用于为虚拟对象中的对象着色或以其它方式影响对象的视觉表示。例如,数据点可以绕由漏斗对象112创建的虚拟漏斗旋转。数据点可以具有由一维确定的颜色、由第二维确定的尺寸或半径、由第三维确定的旋转速度、由第四维确定的轨迹或运动向量方向,等等。
在虚拟环境104中生成的可视化对象可以由多个不同的客户端设备126、128、130、132查看和/或与之交互。这些客户端设备可以包括膝上型计算机、台式计算机、工作站、平板计算机、智能电话、智能手表、智能TV、视频游戏控制台、数字家庭助理、智能眼镜、虚拟现实耳机、增强现实耳机以及任何其它计算设备。这些客户端设备126、128、130、132中的每一个可以接收到虚拟环境104中的唯一视图,该视图与针对每个客户端设备126、128、130、132的唯一放置的虚拟相机对应。然后,用户可以与虚拟环境104中的虚拟对象105进行交互,以使用虚拟对象105来查看、操纵、编辑和/或更新底层数据集。如下所述,可以向每个用户提供虚拟对象105的唯一的特定视图,并且不同的设置可以允许用户改变底层数据,使得虚拟对象105在提供给其它客户端设备的视图中改变。在每个客户端设备126、128、130、132处,可以使用自动硬件检测来提供虚拟环境104的正确视图。例如,如果客户端设备126由台式计算机实现,那么环境102可以提供虚拟环境104的二维(2D)视图。相比之下,如果客户端设备128由虚拟现实耳机实现,那么环境102可以提供虚拟环境104的3D视图,使得客户端设备128的用户沉浸在虚拟环境104中以在其中进行交互。
图2图示了根据一些实施例的已经绑定到企业数据集的虚拟对象202的示例。如上所述,虚拟对象202可以与在图1的组件交换器124中作为组件118上传的漏斗对象112对应。虚拟对象202可以包括3D漏斗对象,其中漏斗由多个单独的数据点形成。来自数据集的各个数据点可以被用于定义各个数据点中的每个数据点的位置、颜色、轨迹、移动、速度、尺寸、形状和/或任何其它视觉特征。
底层数据集可以源自数据库表、多维数据立方体和/或任何其它数据结构。数据集可以包括由数据库表中的行表示的数据点或多维数据立方体中的点。数据库中的各个列或数据立方体中的维度可以被用于为虚拟对象202中的每个球体定义特性。例如,数据库中的第一维或第一列可以被用于确定每个球体的尺寸或周长。第二维或列值可以被用于定义应用于虚拟环境中的每个球体的颜色或纹理。第三维或列值可以被用于定义每个球体在漏斗中的位置。第四维或列值可以定义球体绕漏斗的中心轴旋转的速度。第五维或列值可以定义它移动通过漏斗的各个级别的轨迹或运动路径,依此类推。
当应用在运行时,数据可以保持绑定到虚拟对象202的每个元素。例如,当戴上虚拟现实耳机时,用户可以在虚拟环境200中接近虚拟对象202。使用虚拟选择手持设备,用户可以伸出并“抓住”绕漏斗轴旋转的球体204之一。用户可以调出显示关于由球体204表示的底层数据的附加信息的用户接口。用户可以改变用户接口中的值以改变对应数据库中的底层值。用户还可以将球体204“放置”回到虚拟对象202中的位置。如果球体204的新位置与旧位置不同,那么可以在底层数据库中更新用于确定球体204在虚拟对象202中的位置的维度。
图3图示了用于将组件从组件交换器导入到应用中的用户接口300。用户接口300可以包括可以被导入到项目中的可用组件的列表302。通过选择列表302中的组件之一,组件交换器可以显示用于下载、实例化和/或使用该组件的附加信息。在这个示例中,用户已经选择了先前描述的漏斗对象组件。当从列表302做出这个选择时,接口300的右手侧可以显示用于使用漏斗对象组件的附加信息。
附加信息可以包括组件的描述306。这个描述306可以描述组件的操作、如何使用它、如何与其它组件交互、典型的使用场景、使用组件的技巧和建议,和/或可以对组件的新的和/或资深用户有用的其它信息。描述306可以附带有说明可以如何将组件集成到应用的代码中的示例代码308。可以以各种编程语言提供示例代码308,并且可以将示例代码308从示例代码308复制和粘贴到应用的代码中。
此外,一些实施例可以提供安装按钮304。安装按钮可以执行将组件安装在用户的应用中的处理。选择安装按钮304可以启动附加的窗口、向导和/或接口,这些附加的窗口、向导和/或接口引导用户完成在其应用中安装组件的处理。例如,安装按钮304可以触发一个或多个web表单的生成,其允许用户选择可以绑定到组件的参数化接口的数据集。例如,安装按钮304可以生成允许用户将漏斗对象中的球体绑定到数据库中的各个列的接口。安装按钮304还可以自动下载用于操作组件所必需的任何代码。这个代码可以包括第三方数据库、图形库、功能库和/或执行由组件提供的操作所需的其它共享代码。
图4图示了根据一些实施例的用于下载和实例化应用中的组件的处理的框图。使用上面在图3中描述的用户接口,用户可以选择漏斗对象402用作开发中的应用的一部分。可以将用于漏斗对象402的代码下载到客户端设备上的操作环境,该环境被配置为利用这种类型的组件。例如,漏斗对象402可以被下载到在上述任何客户端设备上操作的EDIE环境102中。EDIE环境102可以包括虚拟环境104,该虚拟环境可以提供其中可以针对二维(2D)和3D观看两者实例化三维(3D)组件的环境。
除了下载用于漏斗对象402的代码外,组件交换器124还可以提供在EDIE环境102中运行组件所需的任何附加代码。这个附加代码可以存储在代码库404中,该代码库404由组件交换器124存储并使其可用。附加代码还可以包括未由组件交换器124托管和/或提供的来自第三方的库406。例如,作为用于漏斗对象402的安装处理的一部分,组件交换器124可以使得从第三方网站下载图形操纵代码的库。所有这些代码都可以被下载到EDIE环境102,使得漏斗对象402可以以其所有需要的功能以独立的方式进行操作。
当漏斗对象402被下载到EDIE环境102并在虚拟环境104中实例化时,EDIE环境102可以使得在漏斗对象104的参数化输入与一个或多个数据源之间发生绑定。例如,EDIE环境102可以向用户呈现用户接口,从而允许用户从多个可用数据源之一中进行选择。在选择数据源后,可以向用户做出将数据源中的各个字段绑定到各个参数化输入的请求。例如,用户可以选择数据库中的特定列,使得那一列中的值确定与虚拟环境104中的漏斗对象中的球体对应的颜色。可以将参数化输入与各个数据源之间的绑定存储为应用的一部分,使得每当用户启动该应用时,漏斗对象402就会从底层数据源中检索数据以在虚拟环境104中生成漏斗对象的显示。这个绑定可以在启动应用时更新和/或改变,或者随着应用运行动态地更新和/或改变,以在虚拟环境104中可视化不同数据集。
图4的示例图示了企业数据存储库108,该企业数据存储库108可以被用于将企业数据绑定到各种可视化对象的参数化输入。在其它示例中,不同数据源可以绑定到可视化对象的不同方面。例如,一些实施例可以允许来自多个数据库和多个位置的列或字段被绑定到同一虚拟化对象的参数化输入。一些实施例可以使用将实时数据提供给可视化组件的在线数据源。可以基于各个应用设计人员的需求,将数据源的任何组合提供给虚拟化对象的参数化输入。
图3-4中的漏斗对象402的使用仅作为示例提供,并不意味着限制。将理解的是,被设计为在EDIE环境102中操作的任何可视化对象可以使用类似的过程在EDIE环境102中实现。
图5图示了根据一些实施例的在虚拟环境104中创建的虚拟仪表板。虽然本文描述的可视化组件可以在任何类型的应用中使用,但它们可能特别适合于设计虚拟仪表板。如本文所使用的,术语仪表板可以包括聚合、分析和/或显示来自用户接口中的一个或多个数据源的信息的可视化。可以在组织的网站的主页上提供仪表板。仪表板也可以在应用或移动app中显示为输入屏幕。仪表板一般在二维环境中显示数据的“小部件”或其它图形表示。用户常常可以选择仪表板上的各个小部件以显示附加信息。例如,用户可以单击显示当月的摘要销售信息的小部件。小部件可以被配置为提供有关显示在仪表板上的摘要销售信息的其它信息。一些仪表板可以包括多个小部件,这些小部件可以被配置为在各种用户客户端设备访问该仪表板时显示来自底层数据源的最新信息。
本文描述的实施例使用上述可视化组件在3D虚拟环境104中实现仪表板。例如,代替在计算机屏幕上显示2D小部件,用户可以使用为了与3D虚拟环境进行交互而启用的客户端设备来提供3D可视化体验,以查看和操纵仪表板数据。一些实施例可以使用允许用户进入虚拟环境104并与显示仪表板数据的可视化对象执行实时交互的虚拟现实耳机或增强现实设备。在虚拟环境104中,用户可以在可视化对象周围走动、“抓取”并操纵可视化对象的部分、与其他用户进行交互,并使他们对可视化对象的操作更新底层数据源。这将传统的2D仪表板体验变为交互式的、沉浸式的虚拟现实体验,在其中可以以交互、实况的方式查看数据。
虚拟环境可以包括多个可视化对象。代替多个2D小部件,3D仪表板可以包括放置在虚拟3D环境104中的可视化对象。当用户进入或查看3D虚拟环境时,他们可以在虚拟对象周围移动以从任何角度查看它们并从任何位置对它们进行操作。下面更详细地描述与虚拟环境104交互以与可视化对象交互的用户的附加示例。
如上所述,可视化对象可以指由代码的主体和/或其相关联的库表示的软件对象。虚拟环境104中显示的内容可以被称为可视化对象的视图。每个可视化对象可以与多个不同的视图相关联,并且每个视图可以为可视化对象提供不同的外观和感觉。例如,漏斗对象可以包括传统业务视图,其以适合于业务环境的更保守的方式显示数据。漏斗对象还可以包括以不太正式的方式显示数据的附加视图,包括更明亮且更鲜艳的颜色、更有趣的形状和/或查看漏斗对象的方式的其它变体。为了简单起见,本公开的其余部分将不会在由可执行代码表示的底层可视化对象与在虚拟环境104中显示的可视化对象的视图之间进行区分。代替地,可视化对象(例如,漏斗对象)可以被统一称为可视化对象,以涵盖虚拟环境104中的显示和代码两者。
在这个示例中,虚拟环境104可以包括具有三个可视化对象的仪表板。漏斗对象508可以链接到上述企业数据存储库502。图形对象510可以链接到多维数据立方体504,其中数据立方体中的维度被绑定到图形对象510的各个元素。人员对象512可以包括在虚拟环境104中的三维网格中的个人的摘要显示(例如,类似于虚拟名片显示)。人员对象可以绑定到web服务506,使得人员对象可以从web服务504下载信息以填充个人的摘要显示中的各个项目。这些可视化对象可以在虚拟环境104中的各个位置(例如,半圆中)被渲染。当用户进入虚拟环境104时,他们可以将可视化对象508、510、512视为在它们前面的区域中的对象。为了开始使用虚拟仪表板,用户可以根据需要接近可视化对象508、510、512,查看可视化对象,和/或操纵可视化对象的元素。
图6图示了根据一些实施例的各种类型的客户端设备系统和输入设备如何可以全都与EDIE环境102中的相同虚拟环境同时接口。EDIE环境102可以包括服务于许多不同目的并且提供许多不同益处的3D数据探索平台。例如,EDIE环境102可以用作重要的、融合的新技术之间的集成的联系,这些新技术可以使企业数据的探索更加沉浸和流畅。这些技术可以包括对话UI(例如,基于语音或基于聊天的)610、虚拟现实(VR)608、增强现实(AR)604以及许多其它交互式技术。用户还可以使用传统的2D计算工具(例如,移动设备606上的应用、显示屏上的web浏览器612等)访问这些可视化技术。EDIE环境102可以提供可视化,该可视化通过设备之间的过渡无缝地移动。例如,用户可以在2D环境中(诸如移动设备606的屏幕上)查看3D可视化。然后,用户可以戴上一副虚拟现实护目镜,并过渡到虚拟现实空间,该虚拟现实空间包括以二维方式显示在移动设备606的屏幕上的可视化对象。在虚拟环境中,用户可以使用如下所述的VR系统中通常包括的手动控制器与可视化对象进行交互。
EDIE环境102可以包括检测由客户端设备使用的用户输入设备的类型的硬件检测处理620。例如,如果客户端设备将传统的2D显示屏与web浏览器612一起使用,那么硬件检测处理620可以检测到2D环境正在与虚拟环境104接口。EDIE环境102可以包括用于图6中所示的这些不同类型的输入设备中的每一个的接口代码。硬件检测处理620可以识别可用的各种输入选项,并且相应地将接口代码加载到EDIE环境102中。然后,接口代码可以生成与客户端设备上的对应输入设备兼容的虚拟环境104的视图。
如下面更详细地描述的,EDIE环境102可以在网络模式下操作,使得虚拟环境104可以被多个不同的客户端设备同时访问。这允许用户在虚拟环境104中彼此交互,同时查看绑定到底层企业数据的可视化对象。硬件检测模块620允许各用户基于利用其客户端设备的他们自己的观看体验在虚拟环境104中一起交互。例如,使用虚拟现实设备608进入虚拟环境104的各用户可以在虚拟环境104中可见,作为从web浏览器612的2D屏幕接口查看虚拟环境104的另一个用户的显示的化身。
图7图示了根据一些实施例的通过2D屏幕接口的虚拟环境104的视图。用户702可以通过配备有2D屏幕接口的台式计算机、膝上型计算机或其它计算设备来访问EDIE环境102。当在2D屏幕704上观看虚拟环境104时,可以将虚拟相机放置在虚拟环境104中以从虚拟相机的角度渲染虚拟环境104的视图。渲染的图像可以被显示在用户702的屏幕704上。当虚拟环境104中的各种对象在屏幕704上显示时,用户可以使用鼠标或触摸屏与虚拟环境104中的各种对象进行交互。
虚拟环境可以包括如上所述布置在仪表板显示器中的多个可视化对象。这些可视化对象可以包括漏斗对象508、图形对象510和/或任何其它可视化对象。此外,由虚拟相机捕获并显示在屏幕704上的图像可以包括虚拟环境中其他用户的位置。每个用户的视图可以由虚拟环境104中的对应虚拟相机捕获。代替显示虚拟相机,这些相机的位置可以包括化身的显示或其他用户的其它表示。这个示例包括虚拟环境104中的用户708的可视化。用户702可以通过虚拟环境104与用户708交互并通信,就像他们都在虚拟环境104中一样。当用户708将其虚拟相机转向用户702的虚拟相机时,他们可以在虚拟环境104中看到表示用户702的对应可视化或化身。
如上所述,EDIE环境102可以自动确定屏幕704应当显示虚拟环境104的2D视图。用户708可以戴着一副虚拟现实护目镜,并且在那个客户端设备上操作的EDIE环境102可以在虚拟环境104中提供虚拟仪表板的3D视图。因此,用户都可以使用同一虚拟环境中的各种设备一起进行交互。在虚拟环境104中,一些用户使用的设备类型可能对其他用户而言并不明显。例如,用户708可以看虚拟相机以查看用户702在屏幕704上的显示,并且代替看到虚拟相机,他们可以看到虚拟环境104中的化身。用户708可能无法区分用户702是使用虚拟现实耳机还是2D显示屏704。
图8图示了根据一些实施例的具有多个用户与虚拟仪表板交互的虚拟环境104的视图。在这个示例中,用户804、806由具有人类外观的化身来表示。用户可以选择看起来像他们自己或任何其它虚拟角色的化身。随着用户使用虚拟现实耳机在现实世界环境中移动,这些化身可以在虚拟环境104中移动。随着用户在现实环境中移动其头部,虚拟相机可以移动、旋转、平移、倾斜等。这允许用户在虚拟环境104中的虚拟仪表板“四周走动”以从不同的角度看到各种可视化对象。
可以在虚拟环境104中表示各种用户的移动,以使其他用户可见。例如,兼容的虚拟现实设备包括虚拟现实耳机和可以握在用户手中的选择设备。随着选择设备或虚拟现实耳机在现实世界环境中被移动,该移动可以被用于驱动虚拟环境104中化身的移动。例如,随着用户408在现实世界环境中举起他们的手时,化身的手也可以在虚拟环境104中举起,使得它们对于用户806可见。这允许用户在虚拟仪表板中做手势并指向可视化对象,并使其他用户可以看到那些运动。
图8还图示了虚拟相机802,该虚拟相机802可以被用于捕获虚拟环境104的用于要显示在2D屏幕上的图像的视图。如上所述,可以用供用户702查看屏幕704的化身来代替虚拟相机802的描绘。可替代地,虚拟相机802可以在虚拟环境104中没有视觉等效物,或者可以由任何其它视觉指示器代替,作为可以被渲染给其他用户观看的3D对象。
同时使用上述2D和3D显示二者的用户可以与虚拟仪表板中的可视化对象的元素进行交互。例如,用户804可以接近漏斗对象508并选择绕漏斗对象508旋转的球体之一。在2D显示中,可以使用手指点击或鼠标单击来选择球体。在3D显示中,可以通过使用用户804持有的手持虚拟现实设备之一来选择球体,以在球体绕漏斗对象508旋转时伸出并“抓住”其中一个球体。如上所述,可以将球体绑定到数据存储库中的数据对象。例如,球体可以表示数据库中的一行,并且漏斗对象508中的球体的位置、颜色、速度、轨迹等可以由数据库的行的列中的不同值来确定。当用户804握住球体时,可以在用户接口或平视显示器(HUD)中显示关于球体的附加信息。例如,可以为用户804显示数据库的行中的每个列值。球体可以在用户804和用户806之间来回传递,使得两个用户804、806都可以查看底层数据对象的细节。
当用户804已经完成对球体的检查时,用户804可以将球体放回到漏斗对象508中。在一些实施例中,用户804可以将球体“放回”到漏斗对象508中,并且球体可以自动返回到其在漏斗对象508中的先前位置/旋转。在其它实施例中,用户804可以将球体放置在漏斗对象中与原始位置不同的位置。如上所述,球体在漏斗对象508中的位置可以由与漏斗对象508绑定的底层数据集中的值来确定。当球体在漏斗对象508中的位置改变时,与该位置对应的值也可以改变。在一些实施例中,可以将与漏斗对象508中的新位置对应的值写回到底层数据集。这允许用户操纵虚拟环境104中的虚拟化对象的元素,并改变可视化对象绑定到的数据集中的值。
在一些实施例中,提供给用户804、806中的每一个的可视化对象的视图可以是相同的。例如,当用户804如上所述将球体从漏斗对象508中拉出时,用户806将看到球体离开漏斗对象508。类似地,当用户804将球体放回漏斗对象508中时,用户806可以在漏斗对象508中看到球体的新位置。因此,使用虚拟环境104中的虚拟仪表板,对可视化对象及其底层数据集的改变对于每个用户而言都是共同的。
在其它实施例中,可以向用户804、806中的每一个提供他们自己的可视化对象的视图。在这些实施例中,可以为每个用户804、806唯一地保存每个可视化对象的状态。例如,当用户804如上所述将球体从漏斗对象508中拉出时,用户806将继续看到球体在漏斗对象508中旋转。因此,一个用户804对可视化对象的元素所做的改变将仅由该特定用户804看到。其他用户806将继续以未更改的状态看到可视化对象。实施例可以根据存储的偏好来处理一个用户对底层数据集所做的改变。例如,一些实施例可以将改变传播到底层数据集,而其它实施例可以以“只读”配置提供数据集,使得对可视化对象的改变不会反映在底层数据集中。一些实施例可以在它们被写入底层数据集之前对虚拟环境104中存在的所有用户呈现改变以供批准。
如上所述,每个可视化对象可以具有一个或多个与可视化对象相关联的视图或视图模型。这些视图模型可以控制可视化对象在虚拟环境104中被渲染时的观感。EDIE环境102允许每个用户为相同的可视化对象选择单独的视图模型。例如,用户804可以选择使用业务视图模型来查看漏斗对象508,该业务视图模型使用柔和的颜色和较小的球体。用户806可以选择使用非正式视图模型查看漏斗对象508,该非正式模型使用较亮的颜色和更大的球体。这允许每个个体用户在虚拟仪表板中定制可视化对象的观感,而无需为其他用户改变视图模型。
图9图示了根据一些实施例的可以用于与虚拟环境104交互的现实世界环境908的视图。用户902可以使用虚拟现实设备,包括虚拟现实耳机904和/或一个或多个手持选择设备906。当用户902在现实世界环境908中移动时,虚拟环境104中的虚拟相机可以以对应的方式在虚拟环境104中移动。虚拟相机可以捕获通过虚拟现实耳机904显示给用户902的虚拟环境104的视图。当用户902移动他们的握住选择设备906的手时,虚拟环境104中的对应化身的手也可以如上所述移动并选择虚拟环境104中的对象。
图10图示了根据一些实施例的用于在多维仪表板中显示数据的方法的流程图1000。该方法可以包括访问多个3D可视化组件(1002)。3D可视化组件中的每一个可以包括用于接收数据集的参数化输入。可以下载或以其它方式从组件交换器处接收3D可视化组件,该组件交换器允许开发人员提供要在正在开发的多个应用中使用的3D可视化组件。可以将3D可视化组件下载到客户端设备或操作环境(诸如上述EDIE环境)中。例如,3D可视化组件可以包括漏斗对象、图形对象和/或本文描述的其它可视化组件。
该方法还可以包括接收一个或多个数据集(1004)。数据集可以表示从企业应用和/或数据库接收的企业数据。例如,数据集可以包括客户关系管理(CRM)数据库、人力资本管理(HCM)数据库、财务软件数据库和/或操作环境可用的任何其它类型的企业数据。
该方法可以附加地包括将多个3D可视化组件的参数化输入与一个或多个数据集绑定(1006)。例如,对于3D可视化组件中的每一个,可以将对应的参数化输入绑定到一个或多个数据集之一。3D可视化组件的参数化输入可以使3D可视化组件通用,使得可以借助绑定的数据集对其外观和操作进行定制。当将3D可视化组件放置在应用中时,可以在设计时将数据集绑定到对应的3D可视化组件。当在运行时实例化3D可视化组件时,可以可替代地或附加地绑定数据集。在运行时期间,系统可以接收输入(例如,从用户)以将数据集绑定改变到不同的数据集。一些3D可视化组件可以被绑定到多个不同的数据集,每个数据集可以定义3D可视化组件的视觉或操作方面。
该方法还可以包括基于多个3D可视化组件和一个或多个数据集在虚拟环境中渲染多个3D虚拟对象(1008)。3D可视化组件中的每一个可以包括视图模型、动画模型、线框骨架和/或可以被用于在虚拟环境中生成3D虚拟对象的其它图形构造。可以在EDIE操作环境中实现虚拟环境,以创建3D虚拟场景,该场景包括除来自3D可视化组件的3D虚拟对象以外的对象。例如,虚拟环境可以被配置为3D虚拟对象的圆形转盘。在另一个示例中,虚拟环境可以被配置为将3D对象显示为虚拟“小部件”的企业仪表板,其可以由虚拟环境中的用户查看。仪表板中的每个3D虚拟对象可以绑定到来自不同数据库和/或不同应用的不同企业数据集。例如,仪表板可以在单个虚拟环境中的一个统一显示中针对财务、员工、运营、客户等提供摘要数据。
该方法还可以包括从多个客户端设备接收到虚拟环境的连接(1010)。一些实施例可以包括其上安装有硬件检测处理的客户端设备,该硬件检测处理被配置为检测与客户端设备一起使用的显示和/或输入设备的类型。硬件检测处理可以自动配置与虚拟环境的交互以匹配客户端设备的类型。例如,如果客户端设备包括虚拟现实耳机,那么硬件检测处理可以被配置为提供沉浸式视图和/或与虚拟环境的交互,以使用户感觉好像他们在虚拟环境中工作,而不是在现实世界环境中工作。如果客户端设备包括2D屏幕(例如,监视器、膝上型计算机等),那么硬件检测处理可以被配置为将虚拟相机放置在虚拟环境中,以在要在2D屏幕上显示的位置处捕获虚拟环境的2D图像。
该方法可以附加地包括将虚拟环境中的多个3D虚拟对象的多个视图提供给多个客户端设备(1012)。可以向每个客户端设备提供虚拟环境的单独视图。此外,每个客户端设备可以被配置为允许用户与虚拟环境中的3D虚拟对象进行交互以更改他们的显示。例如,用户可以从虚拟对象中移除与对应数据集中的各个元素对应的元素。用户可以看到包括有关那个数据元素中数据点的摘要信息的显示,并且可以允许他们改变某些数据点。可以在3D虚拟对象绑定到的底层数据源中更新这些改变。在一些实施例中,改变可以被虚拟环境中的其他用户立即查看。可替代地,一些改变可以仅对进行改变的用户可见,使得为每个用户提供虚拟环境的个性化视图。
应当认识到的是,根据各种实施例,图10中所示的具体步骤提供了在多维仪表板中显示数据的特定方法。根据替代实施例,也可以执行其它步骤序列。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,图10中所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适合于各个步骤的各种顺序来执行。此外,取决于特定的应用,可以添加或移除附加步骤。本领域普通技术人员将认识到许多变型、修改和替代。
漏斗可视化
如上所述,导入的数据集可以由虚拟环境中的一个或多个可视化组件表示。可以将许多不同类型的可视化组件导入虚拟环境,以表示可视化组件被绑定到的数据集。每个可视化组件可用的形状、设计和动画可以经过专门设计,以便为用户提供视觉体验,以供用户查看、理解和操纵复杂的数据集。代替仅仅查看网页上的图形或2D饼图,用户可以看到三个维度的高级动画,这些动画可以说明数据是如何随时间改变的、数据如何彼此交互以及通过数据传播了哪些改变以实现期望的结果。与用于显示企业数据并与企业数据进行交互的传统二维仪表板相比,这些可视化组件具有明显的优势。
以下附图图示了特定的可视化组件,其对于显示特定类型的数据并与特定类型的数据进行交互可以是有用的。图11图示了根据一些实施例的漏斗1100形式的可视化对象的示例。漏斗1100可以被称为最终对象、漏斗可视化组件或漏斗3D对象。漏斗1100对于可视化具有数千或甚至数百万个数据点的大型数据集可以是有用的。漏斗1100可以提供可以共同传达关于每个数据点和关于数据点集合的信息的多个同时视觉指示器。这些视觉指示器可以包括数据点的着色、数据点的尺寸、数据点距漏斗1100的中心的径向距离、数据点的径向角度、数据点绕漏斗1100的旋转速度、沿着漏斗1100的长度的距离等等。数据集中的属性可以被用于在漏斗1100周围绘制各个数据点,并控制其外观和/或动画以将所有这些信息以可视显示的形式同时传达给用户。
如上所述,用于漏斗1100的可视化组件可以被设计为对任何特定的数据集都是不可知的。代替地,漏斗1100可以包括现有数据集可以绑定到的参数化输入的集合。通过示例的方式,以下讨论可以使用特定类型的数据集来说明可以如何通过漏斗1100来查看和操纵那个数据集。这个示例数据集可以包括从销售云应用导入或访问的数据表。这个数据表可以在数据表的每一行中包括销售机会。数据表中的不同列可以包括销售机会的所有属性。这些属性可以包括个人之间的互动、分数、进度指示器和/或将销售机会发展为完成的销售的任何其它特征。当将用于漏斗1100的可视化组件导入到应用(诸如虚拟仪表板应用)时,应用设计者和/或用户可以选择销售机会表作为要由漏斗1100表示的数据集。然后可以使用来自数据表的数据点来构造表示漏斗1100的3D对象,以控制漏斗1100的视觉方面。这些视觉方面将在下面进行详细描述,但是简而言之,数据表中的每一行可以与漏斗1100中绕漏斗1100旋转的球体对应。每个球体的旋转速度、角度、轨迹、颜色、尺寸和/或其它特性可以由对应数据行中的列定义。
将理解的是,仅以示例的方式使用了针对漏斗1100的底层数据集的销售机会数据的使用,这并不意味着是限制性的。如上面所强调的,用于漏斗1100的可视化组件的设计不依赖于底层数据集。代替地,任何数据集可以绑定到漏斗1100,以便用表示数据点的球体来填充漏斗1100。销售机会信息仅仅是数据集的一个示例,该数据集说明了如何使用漏斗1100交互地可视化数据点的属性。其它数据集可以包括财务数据、科学数据、测试或实验数据、调查数据和/或任何其它类型的数据源。
首先,漏斗1100上的距离1106可以传达每个数据点的含义。距漏斗1100的原点的距离1106可以由与漏斗1100中的球体对应的每一行的列的值来确定。例如,对于每个单独的数据点,距离1106可以指示数据点从开始值到结束值的相对进展。例如,对于表示销售机会的数据点,数据点离漏斗1100的原点越远,销售机会离成功完成越远。因此,数据点1107将表示进度的初始阶段的销售机会,而数据点1108将表示即将成功完成的销售机会。漏斗1100本身的形状也可以传达这种类型的含义。漏斗一般使用其物理对应物在较大的开口处接收新材料,然后将那个材料(例如,液体)绕着漏斗逐渐朝者漏斗的较小端“漏入”。通过在虚拟环境中使用漏斗1100的形状,用户可以直观地理解,数据点将从较大的外部区域朝着漏斗内部较小的较小区域发展。因此,漏斗1100对于显示一大组数据点中的各个数据点的进度非常有用。当在虚拟环境中构造漏斗1100时,可以将每个球体放置在漏斗中基于来自数据集的这个值的位置或距离1106处。
除了示出数据点集合中的单个数据点的进度外,漏斗1100对于显示数据点进度的总体趋势也非常有用。在图11的图示中,在漏斗可视化中,数据集中有成千上万个数据点,这些数据点由小球体表示。除了专注于单个数据点的能力外,这个可视化还为用户提供了对数据的聚类或自然分组的说明,以说明数据集中的趋势。例如,在漏斗1100的开始阶段(例如,阶段1)中距原点(例如,阶段5)很远的数据点的聚类可以表示开始阶段中的大量销售机会;而在漏斗1100的原点(例如,阶段5)附近的少量数据点将说明已经被执行而待完成的相对少的销售机会。漏斗1100还可以快速提供评估数据集中的数据点总数的方式。例如,稀疏填充的漏斗说明极少的销售机会是可用的。相反,每个级别处密集填充的漏斗说明在不同的进展状态之间平均分配的许多机会。
通过创建将在漏斗本身1100的渲染中显示的数据的阈值、分条(striation)或分组,可以增强漏斗1100中在视觉上清楚的数据的自然分组或聚类。例如,漏斗1100可以包括第一阶段1101、第二阶段1102、第三阶段1103、第四阶段1104和第五阶段1105。阶段之间的划分可以通过用户定义的阈值来确定,并且可以表示数据点向最终结果前进的阶段。例如,第一阶段1101可以表示已被识别但尚未评估或未采取行动的销售机会。第五阶段1105可以代表已经被培养成完成的销售的销售机会。在一些实施例中,可以使用定义的边界、不同的颜色方案和/或在视觉上区分一个阶段中的数据点与另一个阶段中的数据点的其它手段来如图11所示在视觉上描绘每个阶段。在一些实施例中,这可以包括看起来是漏斗本身的表示,而其它实施例可以借助于填充漏斗的数据点简单地形成漏斗形状。
不同阶段1101、1102、1103、1104、1105可以沿着漏斗1100的长度规则地间隔开。可以基于由漏斗1100定义的静态间隔来确定阶段1101、1102、1103、1104、1105中的每一个的相对宽度。相对宽度也可以由每个阶段内的多个数据点确定。例如,当较大数量的数据点驻留在这个第一阶段1101中时,第一阶段1101的宽度可以较大。各个阶段的颜色可以是透明的,使得它们遮盖漏斗1100的各个区域,同时仍然允许在其中循环的数据点易于被查看。如上所述,用户可以通过选择在漏斗1100内旋转的各个数据点来与漏斗进行交互。不同阶段不需要在虚拟环境中建模为实心表面,而是用户可以“穿过”每个阶段以与其中循环的数据点进行交互。
一些实施例可以静态地在漏斗1100中呈现数据点而没有运动。可替代地或附加地,一些实施例还可以基于一个或多个属性来对漏斗1100中的数据点的运动进行动画处理。例如,图11中的数据点可以基于涉及具体数据点的动作的频率而被动画处理为绕漏斗1100的中心轴线旋转。在表示销售数据的数据点的示例中,各个数据点绕漏斗1100的中心轴线旋转的速度可以由对那个数据点(客户联系人、电子邮件、直销等)采取的销售动作的数量或速率来确定。这允许用户在视觉上识别未被作用的数据点,以解释其与漏斗1100的原点的相对距离。没有移动或移动缓慢的数据点指示销售机会没有进展。相反,如果第一阶段1101中的机会在漏斗1100周围以高速率循环,那么该机会可能会快速进展。当数据点向漏斗1100的原点前进时,这也提供了数据点的自然而逼真的可视化。与现实世界的漏斗一样,数据点将通过绕漏斗1100的中心轴旋转而逐渐朝着漏斗1100的原点前进并提高速度直到到达原点而进展。这也提供了有关数据进展的效率和一致性的总体概述。通过对所有数据点进行动画处理,变得可以直观地看出哪些数据点比其它数据点受到更多或更少的关注、哪些数据点比其它数据点进展得慢或快,以及其它易于使用这个可视化对象传达的比较性的可视化信息。
图12图示了根据一些实施例的如何使用阈值和其它机制以在数据集中生成视觉异常来可视化数据点。除了从整体上查看数据点的集合之外,漏斗1100还可以被用于突出显示那个集合中的各个数据点。在一些实施例中,用户可以建立阈值。然后可以将那个阈值与数据集中每个数据点的属性值进行比较。超过阈值的属性值可以在可视化中突出显示其对应的数据点。在这个示例中,未超过阈值的每个数据点都可以被表示为围绕漏斗1100旋转的小球体。相反,可以将确实具有超过阈值的属性值的数据点表示为围绕漏斗1100旋转的较大球体。可以实时地调整和应用阈值,以允许用户在视觉上基于突出显示为特例的数据点的数量来选择阈值。一些实施例可以使用多个阈值,并且基于被超过的相对阈值来向突出显示的球体指派增大/减小的尺寸。
在图12的示例中,数据点1204和其它类似尺寸的数据点可以已超过第一阈值。这使得它们用大于其余数据点的表示的球体来表示。数据点1202和其它类似尺寸的数据点可以已超过第一阈值和另外的第二阈值。这使得它们用比其它数据点的表示更大的球体来表示(即,阈值被超过越多,对应的数据点越大)。这说明了可以如何使用球体的尺寸来表示不同的阈值。可替代地或附加地,可以使用单个阈值,并且在该阈值被超过之后,数据点的尺寸可以在可视化中与它们超过阈值的量相对应地增加。
如上所述,漏斗1100和图12的视图可以与穿戴虚拟现实耳机以“进入”虚拟环境的用户的视图对应。用户可以设置这些阈值以在漏斗1100中突出显示感兴趣的特定数据点。然后,用户可以走到漏斗1100,并在数据点绕漏斗1100循环时抓取任何突出显示的数据点。一些实施例可以呈现用于显示针对用户从漏斗1100选择的所选择的数据点的更多信息的多种方法。例如,可以在屏幕上向用户呈现2D面板,以显示与所选择的球体对应的一行数据中的每个列值。
图13图示了根据一些实施例的用于漏斗1100的控制面板,以及如何将尺寸、颜色和阶段细节添加到漏斗1100的动画中。在这个实施方式中,可以召唤(summon)控制面板1302渲染在虚拟3D环境中的可视化对象以供用户控制。在诸如平板电脑或智能电话屏幕之类的2D渲染中,控制面板1302可以被合成在来自虚拟3D空间的漏斗1100的任何渲染的图像之上。同时,对于配备有VR/AR设备的用户,可以将控制面板1302渲染为虚拟3D空间中的三维对象,并且这些用户可以使用VR手动控件直接与表示控制面板1302的对象进行交互。例如,VR用户可以使控制面板1302出现在它们的前面,并且可以使用配备有VR传感器/设备的虚拟手在控件面板1302上“推动”控件。
控制面板1302可以控制由漏斗1100显示的所有视觉信息。例如、用户可以如上所述控制阶段着色,每个数据点的半径,角度和比例,以及是否应突出显示某些数据点。控制面板1302还可以被用于在漏斗的不同外观之间进行选择,诸如是光滑的还是阶梯状的。最终阶段之间的过渡可以被打开或关闭,并且可以控制数据点绕漏斗中心轴的动画旋转。还可以在控制面板1302中切换详细信息,诸如阶段的标签和每个数据点的信息之类。
图13还图示了如何将标签应用于每个阶段。例如,第一阶段被加标签为表示已识别出的销售机会,第二阶段表示正在评估的销售机会,第三阶段表示处于演示阶段的销售机会,第四阶段表示已做出提议的销售机会,并且第五阶段表示销售机会或谈判正在进行。这些阶段中的每一个还可以包括当前在那个阶段中分类的多个机会或交易。因此,用户可以通过视觉和数字两种方式来比较每个阶段中的数据点的数量。
在这个实施例中,每个数据点的尺寸可以直接与数据点的一个或多个属性相关。代替或除了基于阈值跨越来确定尺寸之外,这个实施例还使用尺寸作为值指示器。当实际值增加时,数据点的尺寸可以以对应的方式增加。这允许用户评估各个数据点以及数据点的聚类。例如,大数据点的聚类可以指示各自都具有较大货币价值的销售机会。可以使用控制面板1302实时地缩放和实时调整尺寸,以表示不同的属性。
除了尺寸之外,图13还图示了如何可以使用颜色来指示属性值。在一些实施例中,可以根据数据点的对应阶段对数据点进行着色。例如,阶段1中的数据点可以是紫色,阶段2中的数据点可以是绿色,依此类推。在其它实施例中,数据点可以不考虑它们的阶段而被着色,但是可以代替地基于任何属性值被着色。例如,颜色的光谱(例如,红-绿、白-黑等)可以被用于指示相对属性值,诸如接近时间期限或其它关键指示器之类。
图14图示了根据一些实施例的用于从数据点的集合生成可视化对象的方法的流程图。可视化对象或可视化组件可以从组件库下载或交换并包括在应用中。应用可以包括虚拟环境,该虚拟环境允许创建和渲染3D对象,以使用多种客户端设备类型为多个用户生成视图。如上所述,可视化对象(诸如漏斗对象之类)可以包括可以绑定到底层数据集的参数化输入的集合。这个方法描述了可以如何使用这些数据集生成预定3D形状的形状和外观。
该方法可以包括从企业应用接收一个或多个数据集(1402)。可以从任何类型的数据源接收一个或多个数据集,诸如数据库、表、电子表格、文本文件、CSV文件、web服务、网站、XML文件、存储库和/或任何其它类型的数据结构或数据存储设备之类。可以从诸如提供企业数据的企业应用之类的应用接收数据集。数据可以包括CRM数据、HCM数据、财务数据、销售数据和/或任何其它类型的数据。当加载或下载可视化组件时,设计者和/或用户可以选择通过一个或多个参数化输入将一个或多个数据集绑定到可视化组件。
该方法还可以包括生成与一个或多个数据集中的每个数据点对应的3D对象(1404)。每个3D对象可以与一个或多个数据集中的单个数据点对应。例如,每个3D对象可以与数据库中的一行对应。每个对象还可以包括可以与数据点相关联的多个属性或属性值。例如,属性值可以包括存储在对于数据库表中的行的各列中的值。这些值中的每一个都可以被用于构造3D对象的外观和/或行为,如下所述。3D对象可以包括如上所述或以其它方式描绘的3D球体。3D对象还可以包括任何其它类型的三维对象,诸如条、多边形、星形和/或其它实体对象之类。
该方法还可以包括将3D对象布置为预定的3D形状(1406)。3D形状可以由3D对象本身形成,或者可以在3D虚拟空间中独立地创建,其中3D对象包围3D形状。例如,3D形状可以包括如上所述和描绘的漏斗对象。3D对象可以被布置为使得它们的集体布置形成预定的3D形状。可替代地,诸如表面、线框和/或其它3D构造之类的附加3D对象可以被用于生成和表示预定3D形状的至少一部分。在这些实施例中,可以将3D对象布置在其它3D构造的周围,使得它们符合预定的3D形状。
该方法还可以包括基于对应数据点的属性值来控制3D对象在3D形状内的外观或位置(1408)。例如,可以控制3D形状内的位置和/或外观,以使3D对象的颜色、尺寸、位置和移动由对应的属性值控制。一些实施例还可以控制移动、轨迹、动画路径、旋转速度和/或随时间变化的其它移动,如下面详细描述的。
应当认识到的是,图14中所示的具体步骤提供了根据本发明的各种实施例的生成可视化对象的特定方法。根据替代实施例,也可以执行其它步骤序列。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,图14中所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适合于各个步骤的各种顺序来执行。此外,取决于特定的应用,可以添加或移除附加步骤。本领域普通技术人员将认识到许多变型、修改和替代。
如上面简要提到的,一些实施例可以使用与时间属性对应的数据点的运动或动画来评估数据点随着时间通过漏斗的进度。因此,漏斗1100的静止视图可以表示时间上的数据点的快照,并且可以通过将漏斗的快照视图的序列一起动画处理为动画序列来可视化数据点在整个漏斗中随时间的移动。
图15图示了根据一些实施例的漏斗1100的轴上视图。为了查看具体数据点的附加信息,用户可以将控件(例如,鼠标、手指轻敲、VR中的手位置等)悬停在特定数据点上方,这可以召唤包括那个数据点的属性值的信息窗口1502。在图15的示例中,信息窗口包括属性值,诸如机会ID、名称、日期、年龄、类型、成功概率、目标结束日期等。这允许用户查看所选择的数据点的深入信息。
利用漏斗1100的轴线上视图,用户可以更好地查看每个数据点的速度和旋转角度1506。在一些实施例中,旋转角度本身可以指示属性值,并且动画将随着属性值改变而实时旋转数据点。例如,继续销售数据示例,绕漏斗1100的旋转角度可以指示成功的机会概率。这允许用户从视觉上快速确定数据点组成功的总体概率。可以通过随时间改变这些属性来完成对漏斗1100周围的这些数据点动画处理。例如,用户可以请求漏斗说明一年时段内成功概率的变化。随着成功的概率在全年中变化,漏斗1100周围的数据点的动画然后将在动画中移动。
可替代地或附加地,数据点旋转的速度1504可以绑定到属性值而不是旋转角度。例如,旋转相对快的数据点具有高成功概率,而旋转相对慢的数据点则具有低成功概率。在一些实施例中,数据点的旋转速度可以是均匀的,并且它们可以旋转以简单地将数据点的更多三维视图提供到诸如计算机屏幕上的渲染中。
图16图示了根据一些实施例的对于可以如何随着对应数据点的属性值的改变而随时间跟踪数据点的运动和/或动画的可视化。在这个示例中,可以选择表示单个数据点的单个球体,并且当这个数据点经过漏斗1100时,可以随时间表示这个数据点的路径。数据点可以在开始位置1602和结束位置1604以及在它们之间的一个或多个位置处表示。这些位置中的每一个都可以用时间戳(例如,日期、时间等)标记,以指示与每个位置对应的时间。可以针对数据点的时间历史中的每个位置将球体添加到漏斗。可以以指定的时间间隔添加球体,诸如每周一次、每月一次、每45天一次,等等。可替代地,可以在整个时间间隔内均等地添加和划分预定义数量的球。
除了表示多个球体之外,一些实施例还可以使用实线跟踪数据点随时间通过漏斗的进展。在图16的示例中,可以在虚拟3D空间中使用样条函数生成路径1606,并且将路径1606渲染为用户的漏斗显示的一部分。通过添加大量附加球体,这平衡了示出通过漏斗的移动路径的需求,而不会使显示复杂化。如上所述,用户可以将输入控件悬停在任何球体或通路本身上方,以追踪数据点的路径。当追踪路径时,可以召唤信息窗口以实时显示由路径1606表示的属性的变化值。
图17图示了图16中描绘的漏斗1100的轴线上视图。这个图图示了用户可以如何从不同角度旋转或观看漏斗1100。在渲染的2D空间中,用户可以在漏斗周围平移以从不同角度查看数据。在诸如AR/VR环境之类的虚拟3D环境中,用户可以在漏斗1100的表示周围移动以从不同角度观看漏斗1100。每个数据点的文本标签可以旋转,使得它们始终平行于用户的视平面。因此,可以独立地为每个用户呈现文本,使得该文本看起来总是面对每个单独的用户。通过允许从不同角度观看漏斗1100,用户可以看到并准确地确定所选择的数据点所采用的路径。
图18图示了根据一些实施例的用于表示数据随时间变化的方法的流程图。该方法可以包括从企业应用接收一个或多个数据集(1802)。数据集可以包括用于单个数据属性的数据的时间序列。该方法还可以包括生成与一个或多个数据集中的每个数据点对应的3D对象(1804)。3D对象可以包括如上所述或以其它方式描绘的3D球体。该方法还可以包括将3D对象布置为预定的3D形状(1806)。3D形状可以由3D对象本身形成,或者可以在3D虚拟空间中独立地创建,其中3D对象包围3D形状。例如,3D形状可以包括如上所述和描绘的漏斗对象。这些操作中的每一个都可以如以上关于图14所描述的那样执行。该方法还可以包括随时间创建3D对象的动画或路径(1808)。该信息可以包括使3D对象移动通过3D形状,同时使其它3D对象保持静止。该路径可以包括将样条曲线添加到可视化以指示随时间的路径。
应当认识到的是,图18中所示的具体步骤提供了根据本发明的各个实施例的表示随时间的数据变化的特定方法。根据替代实施例,也可以执行其它步骤序列。例如,本发明的替代实施例可以以不同的次序执行上面概述的步骤。而且,图18中所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适合于各个步骤的各种顺序来执行。此外,取决于特定的应用,可以添加或移除附加步骤。本领域普通技术人员将认识到许多变型、修改和替代。
本文描述的每个方法可以由计算机系统实现。这些方法的每个步骤可以由计算机系统自动执行,和/或可以设有涉及用户的输入/输出。例如,用户可以为方法中的每个步骤提供输入,并且这些输入中的每一个可以响应于请求这种输入的具体输出,其中输出是由计算机系统生成的。可以响应于对应的请求输出而接收每个输入。此外,输入可以从用户接收、作为数据流从另一个计算机系统接收、从存储器位置检索、通过网络检索、从web服务请求等。同样,可以将输出提供给用户、作为数据流提供给另一个计算机系统、保存在存储器位置中、通过网络发送、提供给web服务等。简而言之,本文描述的方法的每个步骤都可以由计算机系统执行,并且可以涉及去往或来自计算机系统的可能涉及或可能不涉及用户的任何数量的输入、输出和/或请求。可以说不涉及用户的那些步骤是由计算机系统自动执行的,而无需人工干预。因此,根据本公开将理解的是,本文描述的每种方法的每个步骤可以被更改为包括去往和来自用户的输入和输出,或者可以由计算机系统自动地完成而无需人为干预,其中任何确定都是由处理器做出的。此外,本文描述的每个方法的一些实施例可以被实现为存储在有形的,非暂态的存储介质上以形成有形的软件产品的指令集。
图19描绘了用于实现实施例之一的分布式系统1900的简化图。在所示的实施例中,分布式系统1900包括一个或多个客户端计算设备1902、1904、1906和1908,每个客户端计算设备通过一个或多个网络1910执行和操作客户端应用,诸如web浏览器、专有客户端(例如,Oracle Forms)等。服务器1912可以经由网络1910与远程客户端计算设备1902、1904、1906和1908通信地耦合。
在各种实施例中,服务器1912可以适于运行由系统的一个或多个组件提供的一个或多个服务或软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务或者在软件即服务(SaaS)模型下被供应给客户端计算设备1902、1904、1906和/或1908的用户。操作客户端计算设备1902、1904、1906和/或1908的用户进而可以利用一个或多个客户端应用来与服务器1912交互以利用由这些组件提供的服务。
在图中描绘的配置中,系统1900的软件组件1918、1920和1922被示出为在服务器1912上实现。在其它实施例中,系统1900的一个或多个组件和/或由这些组件提供的服务也可以由客户端计算设备1902、1904、1906和/或1908中的一个或多个来实现。然后,操作客户端计算设备的用户可以利用一个或多个客户端应用来使用由这些组件提供的服务。这些组件可以用硬件、固件、软件或其组合来实现。应该认识到的是,各种不同的系统配置是可能的,这些配置可能与分布式系统1900不同。图中所示的实施例因此是用于实现实施例系统的分布式系统的一个示例,而不旨在是限制性的。
客户端计算设备1902、1904、1906和/或1908可以是便携式手持设备(例如,蜂窝电话、计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器),运行诸如Microsoft Windows和/或各种移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等)的软件,并且启用互联网、电子邮件、短消息服务(SMS)、或其它通信协议。客户端计算设备可以是通用个人计算机,作为示例,包括运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种可商业获得的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统,诸如例如Google Chrome OS之类)中的任何操作系统的工作站计算机。替代地或附加地,客户端计算设备1902、1904、1906和1908可以是能够通过(一个或多个)网络1910进行通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有手势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传送设备。
虽然示出了具有四个客户端计算设备的示例性分布式系统1900,但是可以支持任何数量的客户端计算设备。其它设备(诸如具有传感器等的设备等)可以与服务器1912交互。
分布式系统1900中的(一个或多个)网络1910可以是本领域技术人员熟悉的、可以使用各种可商业获得的协议中的任何协议来支持数据通信的任何类型的网络,其中协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络1910可以是局域网(LAN),诸如基于以太网、令牌环等的LAN。(一个或多个)网络1910可以是广域网和互联网。它可以包括虚拟网络,包括但不限于虚拟专用网络(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,依据电气和电子协会(IEEE)802.19协议套件、蓝牙和/或任何其它无线协议的任何协议而操作的网络);和/或这些网络和/或其它网络的任何组合。
服务器1912可以包括一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器聚类或任何其它适当的布置和/或组合。在各种实施例中,服务器1912可以适于运行在前述公开中描述的一个或多个服务或软件应用。例如,服务器1912可以与用于执行以上根据本公开的实施例描述的处理的服务器对应。
服务器1912可以运行包括以上讨论的任何操作系统中的操作系统,以及任何可商业获得的服务器操作系统。服务器1912还可以运行各种附加的服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商业获得的那些数据库服务器。
在一些实施方式中,服务器1912可以包括一个或多个应用,以分析和整合从客户端计算设备1902、1904、1906和1908的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于,馈送、更新或者从一个或多个第三方信息源和连续数据流接收到的实时更新,实时更新可以包括与传感器数据应用、金融价格收报机(financial ticker)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器1912还可以包括一个或多个应用,以经由客户端计算设备1902、1904、1906和1908的一个或多个显示设备来显示数据馈送和/或实时事件。
分布式系统1900还可以包括一个或多个数据库1914和1916。数据库1914和1916可以驻留在各种位置。作为示例,数据库1914和1916中的一个或多个可以驻留在服务器1912本地(和/或驻留在服务器1912中)的非暂态存储介质上。可替代地,数据库1914和1916可以远离服务器1912并且经由基于网络的连接或专用的连接与服务器1912进行通信。在一组实施例中,数据库1914和1916可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器1912所具有的功能的任何必要文件都可以适当地本地存储在服务器1912上和/或远程存储。在实施例的一个集合中,数据库1914和1916可以包括适于响应SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
图20是根据本公开的实施例的可以将由实施例系统的一个或多个组件提供的服务作为云服务提供的系统环境2000的一个或多个组件的简化框图。在所示的实施例中,系统环境2000包括可以由用户使用以与提供云服务的云基础设施系统2002交互的一个或多个客户端计算设备2004、2006和2008。客户端计算设备可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或某种其它应用,这些应用可以由客户端计算设备的用户用来与云基础设施系统2002交互以使用由云基础设施系统2002提供的服务。
应当认识到的是,图中描绘的云基础设施系统2002可以具有与所描绘的组件不同的其它组件。另外,图中所示的实施例仅仅是可以结合本发明的实施例的云基础设施系统的一个示例。在一些其它实施例中,云基础设施系统2002可以具有比图中所示更多或更少的组件,可以组合两个或更多个组件,或者可以具有组件的不同配置或布置。
客户端计算设备2004、2006和2008可以是与上面针对1902、1904、1906和1908所描述的设备类似的设备。
虽然示例性系统环境2000被示出具有三个客户端计算设备,但是任何数量的客户端计算设备可以被支持。其它设备(诸如具有传感器的设备等)可以与云基础设施系统2002交互。
(一个或多个)网络2010可以促进客户端2004、2006和2008与云基础设施系统2002之间的数据的通信和交换。每个网络可以是本领域技术人员所熟悉的可以使用各种商业上可获得的协议(包括上面针对(一个或多个)网络1910所描述的那些协议)中的任何一种支持数据通信的任何类型的网络。
云基础设施系统2002可以包括一个或多个计算机和/或服务器,其可以包括上面针对服务器1912所描述的那些计算机和/或服务器。
在某些实施例中,由云基础设施系统提供的服务可以包括按需对云基础设施系统的用户可用的许多服务,诸如在线数据存储和备份解决方案、基于Web的电子邮件服务、被托管的办公室(office)套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展以满足云基础设施系统的用户的需要。由云基础设施系统提供的服务的具体实例化在本文中被称为“服务实例”。一般而言,从云服务提供商的系统经由通信网络(诸如互联网)对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统与客户自己的室内(on-premises)服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些示例中,计算机网络云基础设施中的服务可以包括对存储装置、被托管的数据库、被托管的web服务器、软件应用或由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如本领域中另外已知的。例如,服务可以包括通过互联网对云上的远程存储装置进行密码保护的访问。作为另一个示例,服务可以包括基于web服务的被托管的关系数据库和脚本语言中间件引擎,以供联网的开发人员私有使用。作为另一个示例,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统2002可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式递送给客户的应用、中间件和数据库服务供应的套件。这种云基础设施系统的示例是由本受让人提供的Oracle公共云。
在各种实施例中,云基础设施系统2002可以适于自动供给、管理和跟踪客户对云基础设施系统2002供应的服务的订阅。云基础设施系统2002可以经由不同的部署模型来提供云服务。例如,可以依据公共云模型提供服务,其中云基础设施系统2002被销售云服务的组织拥有(例如,被Oracle拥有),并且服务对一般公众或不同行业的企业可用。作为另一个示例,可以依据私有云模型来提供服务,其中云基础设施系统2002仅针对单个组织操作,并且可以为该组织内的一个或多个实体提供服务。还可以依据社区云模型来提供云服务,其中云基础设施系统2002和由云基础设施系统2002提供的服务由相关社区中的若干组织共享。云服务还可以依据混合云模型被提供,该混合云模型是两个或更多个不同模型的组合。
在一些实施例中,由云基础设施系统2002提供的服务可以包括在软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别或包括混合服务的其它服务类别下提供的一个或多个服务。客户经由订阅订单可以订购由云基础设施系统2002提供的一个或多个服务。云基础设施系统2002然后执行处理以提供客户的订阅订单中的服务。
在一些实施例中,由云基础设施系统2002提供的服务可以包括但不限于应用服务、平台服务和基础设施服务。在一些示例中,应用服务可以由云基础设施系统经由SaaS平台提供。SaaS平台可以被配置为提供落入SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构建和递送按需应用套件的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独许可证和支持。可以提供各种不同的SaaS服务。示例包括但不限于为大型组织提供销售绩效管理、企业集成和商务灵活性的解决方案的服务。
在一些实施例中,平台服务可以由云基础设施系统经由PaaS平台提供。PaaS平台可以被配置为提供落入PaaS类别的云服务。平台服务的示例可以包括但不限于使组织(诸如Oracle)能够在共享的公共架构上整合现有应用以及充分利用平台提供的共享服务来构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获取由云基础架构系统提供的PaaS服务,而无需客户购买单独的许可证和支持。平台服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)等。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具,并且还控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle融合中间件服务)和Java云服务。在一个实施例中,数据库云服务可以支持共享服务部署模型,该模型使得组织能够汇集数据库资源并且以数据库云的形式向客户供应数据库即服务。中间件云服务可以为客户提供开发和部署各种商务应用的平台,并且Java云服务可以为客户提供在云基础设施系统中部署Java应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务促进底层计算资源(诸如存储装置、网络和其它基础计算资源)的管理和控制,以供客户利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统2002还可以包括基础设施资源2030,用于向云基础设施系统的客户提供用于提供各种服务的资源。在一个实施例中,基础设施资源2030可以包括预先集成和优化的硬件(诸如服务器、存储装置和联网资源之类)的组合,以执行由PaaS平台和SaaS平台提供的服务。
在一些实施例中,云基础设施系统2002中的资源可以由多个用户共享并且根据需要动态重新分配。此外,可以将资源分配给在不同时区的用户。例如,云基础设施系统2030可以使在第一时区中的第一组用户能够在指定的小时数内利用云基础设施系统的资源,并且然后使相同资源能够被重新分配给位于不同时区的另一组用户,从而使资源的利用率最大化。
在某些实施例中,可以提供由云基础设施系统2002的不同组件或模块以及由云基础设施系统2002提供的服务共享的多个内部共享服务2032。这些内部共享服务可以包括但不限于:安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在某些实施例中,云基础设施系统2002可以提供云基础设施系统中的云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一个实施例中,云管理功能可以包括用于供给、管理和跟踪由云基础设施系统2002接收到的客户订阅等的能力。
在一个实施例中,如图中所描绘的,云管理功能可以由一个或多个模块提供,诸如订单管理模块2020、订单编排模块2022、订单供给模块2024、订单管理和监视模块2026,以及身份管理模块2028。这些模块可以包括一个或多个计算机和/或服务器或者使用一个或多个计算机和/或服务器来提供,这些计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器聚类或任何其它适当的布置/或组合。
在示例性操作2034中,使用客户端设备(诸如客户端设备2004、2006或2008)的客户可以通过请求由云基础设施系统2002提供的一个或多个服务并且下订阅由云基础设施系统2002供应的一个或多个服务来的订单来与云基础设施系统2002交互。在某些示例中,客户可以访问云用户接口(UI)、云UI 2012、云UI 2014和/或云UI 2016并经由这些UI下订阅订单。云基础设施系统2002响应于客户下订单而接收到的订单信息可以包括识别客户以及客户想要订阅的云基础设施系统2002供应的一个或多个服务的信息。
在客户下订单之后,经由云UI,2012、2014和/或2016,接收订单信息。
在操作2036处,订单存储在订单数据库2018中。订单数据库2018可以是由云基础设施系统2018操作和与其它系统元件一起操作的若干数据库之一。
在操作2038处,订单信息被转发到订单管理模块2020。在一些情况下,订单管理模块2020可以被配置为执行与订单相关的计费和记账功能,诸如验证订单,并且在验证后,预订订单。
在操作2040处,将关于订单的信息传送到订单编排模块2022。订单编排模块2022可以利用订单信息为客户下的订单编排服务和资源的供给。在一些情况下,订单编排模块2022可以使用订单供给模块2024的服务来编排资源的供给以支持订阅的服务。
在某些实施例中,订单编排模块2022使得能够管理与每个订单相关联的业务流程并应用业务逻辑来确定订单是否应该进行到供给。在操作2042处,在接收到新订阅的订单时,订单编排模块2022向订单供给模块2024发送请求以分配资源并配置履行订阅订单所需的那些资源。订单供给模块2024使得能够为客户订购的服务分配资源。订单供给模块2024提供由云基础设施系统2000提供的云服务和用于供给用于提供所请求的服务的资源的物理实现层之间的抽象层。因此,订单编排模块2022可以与实现细节隔离,诸如服务和资源是否实际上即时供给或预先供给并仅在请求后才分配/指派。
在操作2044处,一旦供给了服务和资源,就可以通过云基础设施系统2002的订单供给模块2024向客户端设备2004、2006和/或2008上的客户发送所提供服务的通知。
在操作2046处,订单管理和监视模块2026可以管理和跟踪客户的订阅订单。在一些情况下,订单管理和监视模块2026可以被配置为收集订阅订单中的服务的使用统计,诸如,所使用的存储量、传输的数据量、用户的数量,以及系统运行时间和系统停机时间量。
在某些实施例中,云基础设施系统2000可以包括身份管理模块2028。身份管理模块2028可以被配置为提供身份服务,诸如云基础设施系统2000中的访问管理和授权服务。在一些实施例中,身份管理模块2028可以控制关于希望利用由云基础设施系统2002提供的服务的客户的信息。这样的信息可以包括认证这样的客户的身份的信息以及描述这些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。身份管理模块2028还可以包括对关于每个客户的描述性信息以及关于如何和由谁来访问和修改这些描述性信息的管理。
图21图示了其中可以实现各种实施例的示例性计算机系统2100。系统2100可以用于实现上述计算机系统中的任何一个。如图所示,计算机系统2100包括经由总线子系统2102与多个外围子系统通信的处理单元2104。这些外围子系统可以包括处理加速单元2106、I/O子系统2108、存储子系统2118和通信子系统2124。存储子系统2118包括有形计算机可读存储介质2122和系统存储器2110。
总线子系统2102提供用于让计算机系统2100的各种组件和子系统按意图彼此进行通信的机制。虽然总线子系统2102被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统2102可以是若干种类型的总线结构中的任何类型,这些总线类型包括存储器总线或存储器控制器、外围总线、以及使用各种总线架构中的任何架构的局部总线。例如,这种架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,这些总线可以被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元2104控制计算机系统2100的操作。一个或多个处理器可以被包括在处理单元2104中。这些处理器可以包括单核处理器或多核处理器。在某些实施例中,处理单元2104可以被实现为一个或多个独立的处理单元2132和/或2134,其中在每个处理单元中包括单核处理器或多核处理器。在其它实施例中,处理单元2104也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例中,处理单元2104可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器2104中和/或存储子系统2118中。通过适当的编程,(一个或多个)处理器2104可以提供上述各种功能。计算机系统2100可以附加地包括处理加速单元2106,该处理加速单元2106可以包括数字信号处理器(DSP)、专用处理器等。
I/O子系统2108可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球之类的指向设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、小键盘、具有语音命令辨识系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括,例如,运动感测和/或手势辨识设备,诸如Microsoft运动传感器,该运动传感器使得用户能够通过使用手势和语音命令的自然用户接口来控制诸如Microsoft游戏控制器的输入设备并与输入设备交互。用户接口输入设备也可以包括眼睛姿势辨识设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或进行菜单选择时的“眨眼”)并且将眼睛姿势变换为对输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音辨识系统(例如,导航器)交互的语音辨识感测设备。
用户接口输入设备也可以包括但不限于:三维(3D)鼠标、操纵杆或指向棒(pointing stick)、游戏面板和绘图板,以及音频/视觉设备,诸如扬声器、数码相机、数码摄录机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备之类。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层显像、医疗超声设备之类。用户接口输入设备也可以包括,例如,诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统2100向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于:可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备以及调制解调器之类。
计算机系统2100可以包括包含软件元件的被示出为当前位于系统存储器2110内的存储子系统2118。系统存储器2110可以存储可加载并且可在处理单元2104上执行的程序指令,以及在这些程序的执行期间所生成的数据。
取决于计算机系统2100的配置和类型,系统存储器2110可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等)。RAM通常包含可被处理单元2104立即访问和/或目前正在被处理单元2104操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器2110可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实施方式中,诸如在启动期间,包含有助于在计算机系统2100内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。作为示例但不是限制,系统存储器2110也示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序2112,程序数据2114、以及操作系统2116。作为示例,操作系统2116可以包括各种版本的Microsoft,Apple和/或Linux操作系统、各种可商业获得的或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统的移动操作系统。
存储子系统2118也可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统2118中。这些软件模块或指令可以被处理单元2104执行。存储子系统2118也可以提供用于存储根据本发明被使用的数据的储存库。
存储子系统2100也可以包括可被进一步连接到计算机可读存储介质2122的计算机可读存储介质读取器2120。与系统存储器2110一起并且可选地与系统存储器2110相结合,计算机可读存储介质2122可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移动的存储设备加存储介质。
包含代码或代码的一部分的计算机可读存储介质2122也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于:以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。这可以包括有形的计算机可读存储介质,诸如RAM、ROM、电可擦除可编程ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学储存器、磁带盒、磁带、磁盘储存装置或其它磁存储设备、或者其它有形计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以用于发送期望信息并且可以被计算系统2100访问的任何其它介质。
作为示例,计算机可读存储介质2122可以包括从不可移动的非易失性磁介质读取或写入到不可移动的非易失性磁介质的硬盘驱动器、从可移动的非易失性磁盘读取或写入到可移动的非易失性磁盘的磁盘驱动器、以及从可移动的非易失性光盘(诸如CD ROM、DVD和(蓝光)盘或其它光学介质之类)读取或写入到可移动的非易失性光盘的光盘驱动器。计算机可读存储介质2122可以包括但不限于:驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字音频带等。计算机可读存储介质2122也可以包括:基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如固态RAM、动态RAM、静态RAM,基于DRAM的SSD、磁阻RAM(MRAM)SSD)、以及使用基于DRAM和闪存存储器的SSD的组合的混合SSD。盘驱动器及其关联的计算机可读介质可以为计算机系统2100提供计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
通信子系统2124提供到其它计算机系统和网络的接口。通信子系统2124用作用于从其它系统接收数据和从计算机系统2100向其它系统发送数据的接口。例如,通信子系统2124可以使计算机系统2100能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统2124可以包括用于访问无线语音和/或数据网络的射频(RF)收发器组件(例如,使用蜂窝电话技术、先进数据网络技术,诸如3G、4G或EDGE(用于全球演进的增强型数据速率)、WiFi(IEEE 802.11系列标准)或其它移动通信技术、或者其任何组合)、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,作为无线接口的附加或者替代,通信子系统2124可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统2124也可以代表可以使用计算机系统2100的一个或多个用户来接收以结构化和/或非结构化数据馈送2126、事件流2128、事件更新2130等形式的输入通信。
作为示例,通信子系统2124可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送2126,诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统2124也可以被配置为接收以连续数据流形式的数据,该数据可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流2128和/或事件更新2130。生成连续数据的应用的示例可以包括,例如,传感器数据应用、金融价格收报机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等。
通信子系统2124也可以被配置为向一个或多个数据库输出结构化和/或非结构化的数据馈送2126、事件流2128、事件更新2130等,这一个或多个数据库可以与耦合到计算机系统2100的一个或多个流式数据源计算机进行通信。
计算机系统2100可以是各种类型中的一种类型,包括手持便携式设备(例如,蜂窝电话、计算平板电脑、PDA)、可穿戴设备(例如,Google头戴式显示器)、PC、工作站、大型机、信息站(kiosk)、服务器机架、或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统2100的描述仅旨在作为具体的示例。具有比图中绘出的系统更多或更少组件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以在硬件、固件、软件(包括小程序应用(applets))或其组合中实现。另外,可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。基于本文提供的公开内容和教导,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
在前面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的各种实施例的透彻理解。但是,对于本领域技术人员将清楚的是,可以在没有这些具体细节中的一些的情况下实践本发明的实施例。在其它情况下,以框图形式示出了众所周知的结构和设备。
前面的描述仅提供示例性实施例,并且无意于限制本公开的范围、适用性或配置。更确切地说,示例性实施例的前述描述将向本领域技术人员提供用于实现示例性实施例的使能描述。应当理解的是,在不脱离所附权利要求书所阐述的本发明的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
在前面的描述中给出了具体细节以提供对实施例的透彻理解。但是,本领域普通技术人员将理解的是,可以在没有这些具体细节的情况下实践实施例。例如,电路、系统、网络、处理和其它组件可能已经被示为框图形式的组件,以便不以不必要的细节使实施例晦涩难懂。在其它情况下,可以已经示出了众所周知的电路、处理、算法、结构和技术而没有不必要的细节,以避免使实施例晦涩难懂。
而且,要注意的是,各个实施例可以已经被描述为被描绘为流程图、流图、数据流图、结构图或框图的处理。虽然流程图可以已经将操作描述为顺序处理,但是许多操作可以并行或并发地执行。此外,可以重新布置操作的次序。处理在其操作完成时终止,但可以具有图中未包括的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与该函数返回到调用函数或主函数对应。
术语“计算机可读介质”包括但不限于便携式或固定存储设备、光学存储设备、无线信道以及能够存储、包含或携带(一个或多个)指令和/或数据的各种其它介质。代码段或机器可执行指令可以表示过程、功能、子程序、程序、例程、子例程、模块、软件包、类或指令、数据结构或程序语句的任意组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一个代码段或硬件电路。信息、自变量、参数、数据等可以经由任何合适的方式传递、转发或传输,包括存储器共享、消息传递、令牌传递、网络传输等。
此外,实施例可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现。当以软件、固件、中间件或微代码实现时,可以将执行必要任务的程序代码或代码段存储在机器可读介质中。(一个或多个)处理器可以执行必要的任务。
在前述说明书中,参考本发明的各方面的具体实施例对本发明的各方面进行了描述,但是本领域技术人员将认识到的是,本发明不限于此。上述发明的各个特征和方面可以被单独使用或联合使用。另外,在不脱离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的那些环境和应用之外的任何数目的环境和应用中被使用。相应地,本说明书和附图应当被认为是说明性的而不是限制性的。
此外,出于说明的目的,以特定顺序描述了方法。应该认识到的是,在替代示例中,可以以与所描述的顺序不同的顺序执行方法。还应该认识到的是,上述方法可以由硬件组件执行,或者可以以机器可执行指令的序列被实施,机器可执行指令可以用于使机器(诸如编程有指令的通用或专用处理器或逻辑电路)执行方法。这些机器可执行指令可以被存储在一个或多个机器可读介质上,诸如CD-ROM或其它类型的光盘、软盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存、或适合于存储电子指令的其它类型的机器可读介质。替代地,可以通过硬件和软件的组合来执行方法。
Claims (20)
1.一种用于根据数据点的集合生成可视化对象的方法,所述方法包括:
接收一个或多个数据集;
生成与所述一个或多个数据集中的数据点对应的多个3D对象;
以预定的3D形状布置所述多个3D对象;以及
基于对应数据点的属性值,控制3D对象在预定的3D形状内的外观和位置。
2.如权利要求1所述的方法,其中预定的3D形状包括漏斗对象。
3.如权利要求2所述的方法,其中3D对象包括被布置为形成漏斗对象的球体。
4.如权利要求3所述的方法,其中球体绕漏斗对象的圆周旋转。
5.如权利要求4所述的方法,其中球体以由对应数据点的属性值确定的速度和/或半径旋转。
6.如权利要求4所述的方法,其中球体是基于对应数据点的属性值被着色的。
7.如权利要求2所述的方法,其中漏斗对象被划分为多个区段。
8.如权利要求7所述的方法,其中,基于对应数据点的属性值,所述多个3D对象位于所述多个区段中。
9.一种包括指令的非暂态计算机可读介质,指令在由一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:
接收一个或多个数据集;
生成与所述一个或多个数据集中的数据点对应的多个3D对象;
以预定的3D形状布置所述多个3D对象;以及
基于对应数据点的属性值,控制3D对象在预定的3D形状内的外观和位置。
10.如权利要求9所述的非暂态计算机可读介质,其中所述操作还包括:
随时间显示3D对象之一的动画或路径。
11.如权利要求10所述的非暂态计算机可读介质,还包括在沿着动画或路径的多个点处将时间戳插入到预定的3D形状中。
12.如权利要求10所述的非暂态计算机可读介质,其中动画包括3D对象随时间绕预定的3D形状旋转。
13.如权利要求10所述的非暂态计算机可读介质,其中动画的速度基于所述一个或多个数据集中的对应数据点的属性。
14.如权利要求10所述的非暂态计算机可读介质,其中动画或路径由虚拟环境中的样条对象表示。
15.一种系统,包括:
一个或多个处理器;以及
一个或多个包括指令的存储器设备,指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下的操作:
接收一个或多个数据集;
生成与所述一个或多个数据集中的数据点对应的多个3D对象;
以预定的3D形状布置所述多个3D对象;以及
基于对应数据点的属性值,控制3D对象在预定的3D形状内的外观和位置。
16.如权利要求15所述的系统,其中操作还包括:
在虚拟环境中向多个客户端设备提供所述多个3D对象的多个视图。
17.如权利要求16所述的系统,其中所述多个客户端设备包括虚拟现实耳机。
18.如权利要求15所述的系统,其中预定的3D形状包括漏斗对象。
19.如权利要求18所述的系统,其中3D对象包括被布置为形成漏斗对象的球体。
20.如权利要求19所述的系统,其中球体绕漏斗对象的圆周旋转。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862748504P | 2018-10-21 | 2018-10-21 | |
US62/748,504 | 2018-10-21 | ||
PCT/US2019/057171 WO2020086441A1 (en) | 2018-10-21 | 2019-10-21 | Funnel visualization with data point animations and pathways |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112868051A true CN112868051A (zh) | 2021-05-28 |
Family
ID=68502041
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980069405.1A Pending CN112868051A (zh) | 2018-10-21 | 2019-10-21 | 带有数据点动画和通路的漏斗可视化 |
CN201980076904.3A Pending CN113168726A (zh) | 2018-10-21 | 2019-10-21 | 虚拟环境中的数据可视化对象 |
CN201980076766.9A Pending CN113168725A (zh) | 2018-10-21 | 2019-10-21 | 使用语音命令和定义的视角优化虚拟数据视图 |
CN201980075294.5A Pending CN113039584A (zh) | 2018-10-21 | 2019-10-21 | 交互式数据浏览器和3-d仪表盘环境 |
CN201980075067.2A Pending CN113056772A (zh) | 2018-10-21 | 2019-10-21 | 虚拟仪表盘中可视化对象之间的动画 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980076904.3A Pending CN113168726A (zh) | 2018-10-21 | 2019-10-21 | 虚拟环境中的数据可视化对象 |
CN201980076766.9A Pending CN113168725A (zh) | 2018-10-21 | 2019-10-21 | 使用语音命令和定义的视角优化虚拟数据视图 |
CN201980075294.5A Pending CN113039584A (zh) | 2018-10-21 | 2019-10-21 | 交互式数据浏览器和3-d仪表盘环境 |
CN201980075067.2A Pending CN113056772A (zh) | 2018-10-21 | 2019-10-21 | 虚拟仪表盘中可视化对象之间的动画 |
Country Status (5)
Country | Link |
---|---|
US (5) | US11461979B2 (zh) |
EP (5) | EP3867878A1 (zh) |
JP (5) | JP2022505475A (zh) |
CN (5) | CN112868051A (zh) |
WO (5) | WO2020086436A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10320893B2 (en) | 2014-07-31 | 2019-06-11 | Corent Technology, Inc. | Partitioning and mapping workloads for scalable SaaS applications on cloud |
US11227435B2 (en) | 2018-08-13 | 2022-01-18 | Magic Leap, Inc. | Cross reality system |
EP3861387A4 (en) * | 2018-10-05 | 2022-05-25 | Magic Leap, Inc. | RENDERING LOCATION-SPECIFIC VIRTUAL CONTENT IN ANY LOCATION |
CN112868051A (zh) | 2018-10-21 | 2021-05-28 | 甲骨文国际公司 | 带有数据点动画和通路的漏斗可视化 |
US20200134103A1 (en) * | 2018-10-26 | 2020-04-30 | Ca, Inc. | Visualization-dashboard narration using text summarization |
EP3736706B1 (en) * | 2019-05-06 | 2022-07-27 | Bentley Systems, Incorporated | Locking of spatial regions of fully-connected large-scale multi-dimensional spatial data for collaborative updating |
US11029820B2 (en) * | 2019-06-26 | 2021-06-08 | Kyocera Document Solutions Inc. | Information processing apparatus, non-transitory computer readable recording medium that records a dashboard application program, and image forming apparatus management system |
JP2022551733A (ja) | 2019-10-15 | 2022-12-13 | マジック リープ, インコーポレイテッド | 位置特定サービスを伴うクロスリアリティシステム |
US11741098B2 (en) * | 2019-11-01 | 2023-08-29 | Applied Brain Research Inc. | Methods and systems for storing and querying database entries with neuromorphic computers |
US11347371B2 (en) * | 2019-11-25 | 2022-05-31 | Unity Technologies ApS | Automatic translation of user interface elements from wireframe tools to production augmented reality framework |
EP4104001A4 (en) | 2020-02-13 | 2024-03-13 | Magic Leap Inc | CROSS-REALLY SYSTEM WITH MAP PROCESSING USING MULTIPLE RESOLUTION FRAME DESCRIPTORS |
US11409368B2 (en) * | 2020-03-26 | 2022-08-09 | Snap Inc. | Navigating through augmented reality content |
US11392263B2 (en) | 2020-08-26 | 2022-07-19 | Immersive Wisdom, Inc. | Real-time geospatial collaboration system |
US20220070235A1 (en) | 2020-08-28 | 2022-03-03 | Tmrw Foundation Ip S.Àr.L. | System and method enabling interactions in virtual environments with virtual presence |
US20220148268A1 (en) * | 2020-11-10 | 2022-05-12 | Noderix Teknoloji Sanayi Ticaret Anonim Sirketi | Systems and methods for personalized and interactive extended reality experiences |
EP4295314A1 (en) | 2021-02-08 | 2023-12-27 | Sightful Computers Ltd | Content sharing in extended reality |
US11561667B2 (en) * | 2021-04-06 | 2023-01-24 | International Business Machines Corporation | Semi-virtualized portable command center |
US20230008224A1 (en) * | 2021-07-06 | 2023-01-12 | NadiaNaderi LLC | Visualization of complex data |
US11551402B1 (en) * | 2021-07-20 | 2023-01-10 | Fmr Llc | Systems and methods for data visualization in virtual reality environments |
US11567319B1 (en) * | 2021-10-06 | 2023-01-31 | Piamond Corp | Method and system for implementing platform for providing offline information to smart glass |
US11436773B1 (en) * | 2022-01-13 | 2022-09-06 | Capitol AI, Inc. | Modifying data visualizations to permit improved display of clustered data points |
US11424039B1 (en) | 2022-01-13 | 2022-08-23 | Capitol AI, Inc. | Generating easy-to-understand graphs of large data sets |
US11948263B1 (en) | 2023-03-14 | 2024-04-02 | Sightful Computers Ltd | Recording the complete physical and extended reality environments of a user |
US20230334795A1 (en) * | 2022-01-25 | 2023-10-19 | Multinarity Ltd | Dual mode presentation of user interface elements |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592599A (en) | 1991-12-18 | 1997-01-07 | Ampex Corporation | Video special effects system with graphical operator interface |
US6552722B1 (en) | 1998-07-17 | 2003-04-22 | Sensable Technologies, Inc. | Systems and methods for sculpting virtual objects in a haptic virtual reality environment |
EP1183636A4 (en) | 1998-11-30 | 2002-03-06 | Siebel Systems Inc | STATE MODELS FOR PROCESS MONITORING |
JP2001022958A (ja) | 1999-07-06 | 2001-01-26 | Nippon Telegr & Teleph Corp <Ntt> | 仮想空間システムにおけるオブジェクト表示方法およびオブジェクト表示プログラムを記録した記録媒体 |
JP2001137539A (ja) | 1999-11-17 | 2001-05-22 | Taito Corp | ゲーム機のモニタにオブジェクトを表示する方法 |
US7447509B2 (en) | 1999-12-22 | 2008-11-04 | Celeritasworks, Llc | Geographic management system |
US7849416B2 (en) * | 2000-06-13 | 2010-12-07 | National Instruments Corporation | System and method for graphically creating a sequence of motion control, machine vision, and data acquisition (DAQ) operations |
US7797182B2 (en) | 2002-12-31 | 2010-09-14 | Siebel Systems, Inc. | Method and apparatus for improved forecasting using multiple sources |
KR100657943B1 (ko) | 2005-01-07 | 2006-12-14 | 삼성전자주식회사 | 2차원 건물 데이터의 실시간 3차원 변환 방법 및 장치,그리고 이를 이용한 2차원 건물 데이터의 실시간 3차원시각화 방법 및 장치 |
US7616561B1 (en) | 2005-01-19 | 2009-11-10 | Juniper Networks, Inc. | Systems and methods for routing data in a communications network |
US7471293B2 (en) | 2005-02-09 | 2008-12-30 | International Business Machines Corporation | Method, system, and computer program product for displaying calendar-based SLO results and breach values |
WO2007033354A2 (en) * | 2005-09-13 | 2007-03-22 | Spacetime3D, Inc. | System and method for providing three-dimensional graphical user interface |
US9213554B2 (en) | 2006-12-04 | 2015-12-15 | Sap Se | Generic chart interface |
US8294705B2 (en) | 2007-05-10 | 2012-10-23 | International Business Machines Corporation | Virtual network operations center |
US8957835B2 (en) | 2008-09-30 | 2015-02-17 | Apple Inc. | Head-mounted display apparatus for retaining a portable electronic device with display |
US20100325564A1 (en) | 2009-06-19 | 2010-12-23 | Microsoft Corporation | Charts in virtual environments |
US20110169927A1 (en) * | 2010-01-13 | 2011-07-14 | Coco Studios | Content Presentation in a Three Dimensional Environment |
US20120041990A1 (en) | 2010-08-10 | 2012-02-16 | Sap Ag | System and Method for Generating Dashboard Display in Software Applications |
US9021397B2 (en) | 2011-03-15 | 2015-04-28 | Oracle International Corporation | Visualization and interaction with financial data using sunburst visualization |
US10866783B2 (en) | 2011-08-21 | 2020-12-15 | Transenterix Europe S.A.R.L. | Vocally activated surgical control system |
JP5957893B2 (ja) | 2012-01-13 | 2016-07-27 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びにコンピューター・プログラム |
US20140040257A1 (en) | 2012-07-31 | 2014-02-06 | Ca, Inc. | Dashboard views of task activity |
US9749367B1 (en) * | 2013-03-07 | 2017-08-29 | Cisco Technology, Inc. | Virtualization of physical spaces for online meetings |
US9529892B2 (en) | 2013-08-28 | 2016-12-27 | Anaplan, Inc. | Interactive navigation among visualizations |
US20150287227A1 (en) | 2014-04-06 | 2015-10-08 | InsightSoftware.com International Unlimited | Dynamic filling of shapes for graphical display of data |
US9979885B2 (en) * | 2015-02-09 | 2018-05-22 | Steven Christopher Sparks | Apparatus and method for capture of 360° panoramic video image and simultaneous assembly of 360° panoramic zoetropic video image |
US10255302B1 (en) * | 2015-02-27 | 2019-04-09 | Jasmin Cosic | Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources |
US10878034B2 (en) | 2015-03-30 | 2020-12-29 | Mark LeVell | Quantified Euler analysis |
US20160379226A1 (en) | 2015-06-25 | 2016-12-29 | Microsoft Technology Licensing, Llc | Intelligent identification of multidimensional insights from process data |
US10306013B2 (en) | 2015-07-15 | 2019-05-28 | Sap Se | Churn risk scoring using call network analysis |
JP2018533099A (ja) | 2015-09-24 | 2018-11-08 | カリフォルニア インスティチュート オブ テクノロジー | 三次元ディスプレイを用いたデータ可視化システム及び方法 |
US20170302709A1 (en) | 2015-12-31 | 2017-10-19 | Maria Francisca Jones | Virtual meeting participant response indication method and system |
JP2018018458A (ja) | 2016-07-29 | 2018-02-01 | 福井コンピュータホールディングス株式会社 | 入力支援装置、及び入力支援プログラム |
US10410416B2 (en) | 2016-08-25 | 2019-09-10 | Futurewei Technologies, Inc. | Collective navigation for virtual reality devices |
US20180158245A1 (en) | 2016-12-06 | 2018-06-07 | Sap Se | System and method of integrating augmented reality and virtual reality models into analytics visualizations |
US10346762B2 (en) | 2016-12-21 | 2019-07-09 | Ca, Inc. | Collaborative data analytics application |
CN107066082B (zh) * | 2016-12-30 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 显示方法和装置 |
US10388074B2 (en) * | 2017-03-21 | 2019-08-20 | Intuit Inc. | Generating immersive media visualizations for large data sets |
WO2019143787A1 (en) | 2018-01-17 | 2019-07-25 | Not For Profit Strategic Planning Llc | Method and system for graph data management |
CN112868051A (zh) | 2018-10-21 | 2021-05-28 | 甲骨文国际公司 | 带有数据点动画和通路的漏斗可视化 |
-
2019
- 2019-10-21 CN CN201980069405.1A patent/CN112868051A/zh active Pending
- 2019-10-21 EP EP19801161.1A patent/EP3867878A1/en active Pending
- 2019-10-21 JP JP2021521520A patent/JP2022505475A/ja active Pending
- 2019-10-21 CN CN201980076904.3A patent/CN113168726A/zh active Pending
- 2019-10-21 WO PCT/US2019/057161 patent/WO2020086436A1/en active Application Filing
- 2019-10-21 CN CN201980076766.9A patent/CN113168725A/zh active Pending
- 2019-10-21 WO PCT/US2019/057171 patent/WO2020086441A1/en active Application Filing
- 2019-10-21 EP EP19809661.2A patent/EP3867882A1/en active Pending
- 2019-10-21 EP EP19801642.0A patent/EP3867879A1/en active Pending
- 2019-10-21 US US16/658,177 patent/US11461979B2/en active Active
- 2019-10-21 US US16/658,162 patent/US11348317B2/en active Active
- 2019-10-21 WO PCT/US2019/057173 patent/WO2020086443A1/en active Application Filing
- 2019-10-21 JP JP2021521478A patent/JP7461941B2/ja active Active
- 2019-10-21 WO PCT/US2019/057164 patent/WO2020086438A1/en active Application Filing
- 2019-10-21 EP EP19802355.8A patent/EP3867880A1/en active Pending
- 2019-10-21 EP EP19805426.4A patent/EP3867881A1/en active Pending
- 2019-10-21 CN CN201980075294.5A patent/CN113039584A/zh active Pending
- 2019-10-21 CN CN201980075067.2A patent/CN113056772A/zh active Pending
- 2019-10-21 US US16/658,180 patent/US10984601B2/en active Active
- 2019-10-21 WO PCT/US2019/057158 patent/WO2020086434A1/en active Application Filing
- 2019-10-21 JP JP2021521460A patent/JP2022505427A/ja active Pending
- 2019-10-21 US US16/658,165 patent/US11354865B2/en active Active
- 2019-10-21 JP JP2021521514A patent/JP2022505469A/ja active Pending
- 2019-10-21 US US16/658,169 patent/US11361510B2/en active Active
- 2019-10-21 JP JP2021521459A patent/JP7461940B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US11348317B2 (en) | 2022-05-31 |
EP3867880A1 (en) | 2021-08-25 |
WO2020086434A1 (en) | 2020-04-30 |
JP2022505469A (ja) | 2022-01-14 |
US20200126282A1 (en) | 2020-04-23 |
US11361510B2 (en) | 2022-06-14 |
US20200126307A1 (en) | 2020-04-23 |
EP3867878A1 (en) | 2021-08-25 |
JP2022505475A (ja) | 2022-01-14 |
JP2022505442A (ja) | 2022-01-14 |
WO2020086443A1 (en) | 2020-04-30 |
EP3867881A1 (en) | 2021-08-25 |
EP3867882A1 (en) | 2021-08-25 |
US11354865B2 (en) | 2022-06-07 |
JP7461941B2 (ja) | 2024-04-04 |
US20200126308A1 (en) | 2020-04-23 |
US11461979B2 (en) | 2022-10-04 |
WO2020086438A1 (en) | 2020-04-30 |
EP3867879A1 (en) | 2021-08-25 |
CN113039584A (zh) | 2021-06-25 |
US20200126309A1 (en) | 2020-04-23 |
CN113168726A (zh) | 2021-07-23 |
CN113056772A (zh) | 2021-06-29 |
JP7461940B2 (ja) | 2024-04-04 |
US20200126275A1 (en) | 2020-04-23 |
JP2022505427A (ja) | 2022-01-14 |
WO2020086436A1 (en) | 2020-04-30 |
WO2020086441A1 (en) | 2020-04-30 |
CN113168725A (zh) | 2021-07-23 |
JP2022505426A (ja) | 2022-01-14 |
US10984601B2 (en) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354865B2 (en) | Funnel visualization with data point animations and pathways | |
US10831983B2 (en) | Techniques for managing display of headers in an electronic document | |
US10691299B2 (en) | Display of hierarchical datasets using high-water mark scrolling | |
US10192175B2 (en) | Navigating interactive visualizations with collaborative filtering | |
US9350798B2 (en) | Methods and systems for transitioning between arbitrary shapes | |
US11907975B2 (en) | Dual-purpose user-interface control for data submission and capturing feedback expressions | |
US10156957B2 (en) | Semi-modal interaction blocker | |
US11669347B2 (en) | Generating video sequences from user interactions with graphical interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |