CN117940913A - 用于可视化分级数据的数据处理 - Google Patents
用于可视化分级数据的数据处理 Download PDFInfo
- Publication number
- CN117940913A CN117940913A CN202280055144.XA CN202280055144A CN117940913A CN 117940913 A CN117940913 A CN 117940913A CN 202280055144 A CN202280055144 A CN 202280055144A CN 117940913 A CN117940913 A CN 117940913A
- Authority
- CN
- China
- Prior art keywords
- tree
- objects
- data
- parent
- query
- 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
- 238000012545 processing Methods 0.000 title description 33
- 238000012800 visualization Methods 0.000 claims abstract description 264
- 238000013499 data model Methods 0.000 claims abstract description 77
- 230000004044 response Effects 0.000 claims abstract description 39
- 230000036961 partial effect Effects 0.000 claims abstract description 33
- 230000009471 action Effects 0.000 claims description 36
- 238000000034 method Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 abstract description 6
- 230000014509 gene expression Effects 0.000 description 41
- 238000004891 communication Methods 0.000 description 22
- 230000008520 organization Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 18
- 230000002452 interceptive effect Effects 0.000 description 17
- 230000000007 visual effect Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 230000000670 limiting effect Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013079 data visualisation Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 238000010897 surface acoustic wave method Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 235000013405 beer Nutrition 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
- G06F16/287—Visualization; Browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/244—Grouping and aggregation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施方案涉及管理数据的可视化。所提供的数据模型可以包括声明数据模型中的对象之间的父子关系的树规范。响应于与数据模型中的对象相关联的查询:采用父子关系来基于父子关系从对象确定包括父对象和子对象的树;基于查询和树来确定根对象;从根对象遍历树以访问树中的子对象;基于所访问子对象的特性来确定部分结果,使得部分结果被存储在中间表中;以及提供对查询的响应,该响应包括基于中间表和部分结果的值。
Description
技术领域
本发明整体涉及数据可视化,并且更具体地但非排他地涉及可视化分级信息。
背景技术
组织正在生成和收集数量不断增长的数据。该数据可以与组织的不同部分相关联,诸如消费者活动、制造活动、客户服务、服务器日志等。由于各种原因,对于这种组织而言,可能不方便高效地利用其巨大数据集合。在一些情况下,数据量可能使得难以高效地利用所收集的数据来改进商业实践。在一些情况下,组织可以生成其数据中的一些或全部的可视化。采用可视化来表示数据可以使得组织能够改进其对关键商业运作的理解,并且帮助其监测关键业绩指标。在一些情况下,组织可能期望采用可视化以使用树或树状可视化来可视化分级数据。此外,分级数据的聚合语义可以特别适于表示为树或树状可视化。因此,树状可视化可以包括与分级数据聚合语义一致的折叠-展开特征。然而,在一些情况下,高效地利用分级数据聚合语义来提供可视化可能是困难的,这取决于底层数据存储库的布置。因此,本发明正是针对这些及其他考虑而作出的。
附图说明
参考以下附图描述本创新的非限制性和非详尽的实施方案。在附图中,在各个附图中,相似的附图标记表示相似的部件,除非另有说明。为了更好地理解所描述的创新,将参考将联系附图进行阅读的以下具体实施方式,其中:
图1示出了其中可以实现各种实施方案的系统环境;
图2示出了客户端计算机的示意性实施方案;
图3示出了网络计算机的示意性实施方案;
图4示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的系统的逻辑架构;
图5示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据树的逻辑表示;
图6示出了根据各种实施方案中的一个或多个实施方案的用于存储分级数据的数据结构的逻辑表示;
图7示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构的逻辑表示;
图8示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构的逻辑表示;
图9示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构的逻辑表示;
图10示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构的逻辑表示;
图11示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的系统的一部分的逻辑表示;
图12示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的用户界面的一部分的逻辑表示;
图13示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的过程的概述流程图;
图14示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的过程的流程图;
图15示出了根据各种实施方案中的一个或多个实施方案的用于处理针对用于可视化分级数据的数据处理的查询表达式的过程的流程图。
具体实施方式
现在将参考附图在下文中更全面地描述各种实施方案,附图形成了本发明的一部分并且通过图示示出了可以实践本发明的具体示例性实施方案。然而,实施方案可以以许多不同的形式实施,并且不应被解释为限于本文阐述的实施方案;相反,提供这些实施方案是为了使公开文本透彻且完整,并且这些实施方案将向本领域技术人员充分传达实施方案的范围。除了其他方面外,各种实施方案可以是方法、系统、介质或设备。因此,各种实施方案可以采取完全硬件实施方案、完全软件实施方案、或组合软件和硬件方面的实施方案的形式。因此,以下详细描述不应被理解为限制性的。
在整个说明书和权利要求中,以下术语采取与本文明确关联的含义,除非上下文另有明确规定。如本文所用的短语“在一个实施方案中”不一定指代相同的实施方案,尽管其可以指代相同的实施方案。此外,如本文所用的短语“在另一实施方案中”不一定指代不同的实施方案,尽管其可以指代不同的实施方案。因此,如下所述,在不脱离本发明的范围或精神的情况下,可以容易地组合各种实施方案。
另外,如本文所用,术语“或”是包含性的“或”运算符,并且等同于术语“和/或”,除非上下文另有明确规定。术语“基于”并非排他性的,并且允许基于未描述的附加因素,除非上下文另有明确规定。另外,在整个说明书中,“一种”、“一个”和“该”的含义包括复数引用。“中”的含义包括“中”和“上”。
对于示例性实施方案,以下术语也根据对应的含义在本文中使用,除非上下文另有明确规定。
如本文所用,术语“引擎”指代以硬件或软件指令实施的逻辑,其可以用编程语言编写,诸如C、C++、Objective-C、COBOL、JavaTM、PHP、Perl、JavaScript、Ruby、VBScript,或者用Microsoft.NETTM语言编写,诸如C#等。引擎可以被编译成可执行程序或用解释性编程语言编写。软件引擎可以能够从其他引擎或从其自身调用。本文描述的引擎指代可以与其他引擎或应用合并或者可以被划分成子引擎的一个或多个逻辑模块。引擎可以存储在非暂态计算机可读介质或计算机存储设备中,并且可以存储在一个或多个通用计算机上并由其执行,从而创建被配置为提供引擎的专用计算机。
如本文所用,术语“数据源”指代存储或提供针对组织的信息的数据库、应用、服务、文件系统等。数据源的示例可以包括RDBMS数据库、图数据库、电子表格、文件系统、文档管理系统、本地或远程数据流等。在一些情况下,数据源围绕一个或多个表或表状结构进行组织。在其他情况下,数据源被组织为图或图状结构。
如本文所用,术语“数据模型”指代提供底层数据源的表示的一个或多个数据结构。在一些情况下,数据模型可以提供针对特定应用的数据源的视图。数据模型可以被认为是到底层数据源的视图或接口。在一些情况下,数据模型可以直接映射到数据源(例如,实际上是逻辑传递)。此外,在一些情况下,数据模型可以由数据源提供。在一些情况下,数据模型可以被认为是到数据源的接口。数据模型使得组织能够以可以更方便、更有意义(例如,更容易推理)、更安全等的方式来组织或呈现来自数据源的信息。
如本文所用,术语“数据对象”指代包括数据模型的一个或多个实体或数据结构。在一些情况下,数据对象可以被认为是数据模型的部分。数据对象可以表示项目的个体实例或项目的类或种类。
如本文所用,术语“面板”指代图形用户界面(GUI)内的区域,其在GUI内具有限定的几何形状(例如,x、y、z顺序)。面板可以被布置成向用户显示信息或者托管一个或多个交互式控件。可以使用配置信息(包括动态规则)来限定与面板相关联的几何形状或样式。此外,在一些情况下,可以使得用户能够在一个或多个面板上执行动作,诸如移动、显示、隐藏、调整大小、重新排序等。
如本文所用,术语“可视化模型”指代表示数据模型的一个或多个表示的一个或多个数据结构,数据模型的一个或多个表示可以适合于在一个或多个硬件显示器上显示的可视化中使用。可视化模型可以限定可供非创作用户使用的样式或用户界面特征。
如本文所用,术语“树视图”指代使用树状格式来显示数据的可视化。交互式树视图可以被布置成遵循一个或多个树状用户界面语义,诸如父子分组、级别分级结构、展开树节点以示出所包括的节点或叶等。
如本文所用,术语“树模型”指代建模引擎或可视化引擎可以用于定义或声明可以在一个或多个数据源或数据模型中的分级关系的信息。树模型可以声明或定义数据模型中的一个或多个数据对象之间的一个或多个关系。因此,在一些情况下,树模型可以被认为是数据模型的一部分。
如本文所用,术语“树视图规范”或“树规范”指代可视化引擎可以用于确定树视图的所显示数据、显示格式化、样式等的信息。在一些情况下,树视图规范可以表示交互式树视图的显示状态。例如,在一些情况下,树规范可以指定树的哪些节点被展开或折叠。
如本文所用,术语“配置信息”指代可以包括基于规则的策略、模式匹配、脚本(例如,计算机可读指令)等的信息,该信息可以从各种源提供,各种源包括配置文件、数据库、用户输入、内置默认值等或其组合。
以下简要描述本发明的实施方案,以便提供对本发明的一些方面的基本理解。简要描述并不旨在作为广泛概述。其并不旨在标识关键或重要元素,也并不旨在描绘或以其他方式缩小范围。其目的仅在于以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
简而言之,各种实施方案涉及管理数据的可视化。在各种实施方案中的一个或多个实施方案中,可以提供数据模型和树规范,使得树规范声明数据模型中的两个或更多个对象之间的一个或多个父子关系。
在各种实施方案中的一个或多个实施方案中,可以采用一个或多个父子关系来基于一个或多个父子关系从两个或更多个对象确定包括一个或多个父对象和一个或多个子对象的树。
在各种实施方案中的一个或多个实施方案中,可以基于树来确定一个或多个根对象,使得一个或多个根对象是与树的一个或多个部分的根节点相对应的父对象。
在各种实施方案中的一个或多个实施方案中,可以从一个或多个根对象遍历树以访问树的一个或多个部分中的一个或多个子对象。
在各种实施方案中的一个或多个实施方案中,可以基于一个或多个所访问子对象的一个或多个特性来确定一个或多个部分结果,使得一个或多个部分结果被聚合和存储在中间表中。
在各种实施方案中的一个或多个实施方案中,响应于与数据模型中的一个或多个对象相关联的查询,可以提供对查询的响应,该响应包括基于中间表和一个或多个部分结果的一个或多个值。
在各种实施方案中的一个或多个实施方案中,将一个或多个部分结果存储在中间表中可以包括:基于一个或多个所访问子对象的一个或多个特性和查询来确定与查询相关联的每个父对象和每个子对象的一个或多个值;生成针对与查询相关联的每个父对象和每个子对象的一个或多个记录,使得每个记录包括对应于父对象或子对象的标识符以及对应于部分结果的值;以及在一些实施方案中,将一个或多个记录存储在中间表中。
在各种实施方案中的一个或多个实施方案中,数据源可以包括布置在一个或多个表中的多个信息记录。
在各种实施方案中的一个或多个实施方案中,确定树可以包括基于数据模型和一个或多个父子关系来确定一个或多个节点和一个或多个边,使得树的一个或多个节点对应于一个或多个父对象或一个或多个子对象,并且使得树的一个或多个边对应于一个或多个父子关系。
在各种实施方案中的一个或多个实施方案中,提供对后续查询的后续响应可以包括:基于数据模型和后续查询来确定中间表;基于后续查询来迭代通过中间表中的一个或多个记录;基于迭代通过一个或多个记录和另一查询来生成一个或多个其他值;以及基于一个或多个其他值来生成后续响应。
在各种实施方案中的一个或多个实施方案中,可以基于包括在对查询的响应中的一个或多个值来显示树视图。并且,响应于展开或折叠树视图中对应于父对象的节点的与树视图的一个或多个用户交互,执行包括如下的进一步动作:基于所展开或折叠的节点来更新查询;基于所更新的查询来生成一个或多个其他部分结果;基于一个或多个部分结果来更新中间表;基于所更新的查询和所更新的中间表来生成包括一个或多个其他值的对查询的另一个响应;以及基于一个或多个其他值来更新所显示的树视图。
示出的操作环境
图1示出了可以在其中实践本发明的实施方案的环境的一个实施方案的部件。并非所有部件都是实践本发明所必需的,并且在不脱离本发明的精神或范围的情况下,可以对部件的布置和类型进行改变。如图所示,图1的系统100包括局域网(LAN)/广域网(WAN)—(网络)110、无线网络108、客户端计算机102至105、可视化服务器计算机116等。
下面结合图2更详细地描述客户端计算机102至105的至少一个实施方案。在一个实施方案中,客户端计算机102至105中的至少一些客户端计算机可以在一个或多个有线或无线网络(诸如网络108或110)上操作。通常,客户端计算机102至105可以包括能够通过网络进行通信以发送和接收信息,执行各种在线活动、离线动作等的几乎任何计算机。在一个实施方案中,客户端计算机102至105中的一个或多个客户端计算机可以被配置为在企业或其他实体内操作,以执行用于企业或其他实体的各种服务。例如,客户端计算机102至105可以被配置为作为web服务器、防火墙、客户端应用、媒体播放器、移动电话、游戏控制台、台式计算机等进行操作。然而,客户端计算机102至105不限于这些服务,并且在其他实施方案中,还可以例如用于终端用户计算。应当认识到,可以在诸如本文所述的系统内包括更多或更少的客户端计算机(如图1所示),并且因此实施方案不受所采用的客户端计算机的数量或类型的约束。
可以作为客户端计算机102操作的计算机可以包括通常使用有线或无线通信介质连接的计算机,诸如个人计算机、多处理器系统、基于微处理器的或可编程的电子设备、网络PC等。在一些实施方案中,客户端计算机102至105可以包括能够连接到另一计算机并接收信息的几乎任何便携式计算机,诸如膝上型计算机103、移动计算机104、平板电脑105等。然而,便携式计算机不限于此,并且还可以包括其他便携式计算机,诸如蜂窝电话、显示寻呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持式计算机、可穿戴计算机、组合前述计算机中的一者或多者的集成设备等。因此,客户端计算机102至105通常在能力和特征方面范围很广。此外,客户端计算机102至105可以访问各种计算应用,包括浏览器或其他基于web的应用。
Web使能的客户端计算机可以包括被配置为通过web发送请求和接收响应的浏览器应用。浏览器应用可以被配置为接收和显示采用几乎任何基于web的语言的图形、文本、多媒体等。在一个实施方案中,浏览器应用被使得能够采用JavaScript、超文本标记语言(HTML)、可扩展标记语言(XML)、JavaScript对象表示法(JSON)、层叠样式表(CSS)等或其组合来显示和发送消息。在一个实施方案中,客户端计算机的用户可以采用浏览器应用来通过网络(在线)执行各种活动。然而,也可以使用另一应用来执行各种在线活动。
客户端计算机102至105还可以包括被配置为与另一计算机之间接收或发送内容的至少一个其他客户端应用。客户端应用可以包括发送或接收内容等的能力。客户端应用还可以提供标识其自身的信息,包括类型、能力、名称等。在一个实施方案中,客户端计算机102至105可以通过各种机制中的任何机制来唯一地标识其自身,各种机制包括互联网协议(IP)地址、电话号码、移动标识号(MIN)、电子序列号(ESN)、客户端证书或其他设备标识符。这种信息可以在一个或多个网络分组等中提供,在其他客户端计算机、可视化服务器计算机116或其他计算机之间发送。
客户端计算机102至105可以被进一步配置为包括使得终端用户能够登录到可以由另一计算机(诸如可视化服务器计算机116等)管理的终端用户账户的客户端应用。在一个非限制性示例中,这种终端用户账户可以被配置为使得终端用户能够管理一个或多个在线活动,在一个非限制性示例中,一个或多个在线活动包括项目管理、软件开发、系统管理、配置管理、搜索活动、社交网络活动、浏览各种网站、与其他用户通信等。此外,客户端计算机可以被布置成使得用户能够显示报告、交互式用户界面或由可视化服务器计算机116提供的结果。
无线网络108被配置为将客户端计算机103至105及其部件与网络110联接。无线网络108可以包括各种无线子网络(其还可以覆盖独立的自组织网络等)中的任何子网络,以为客户端计算机103至105提供面向基础设施的连接。这种子网络可以包括网状网络、无线LAN(WLAN)网络、蜂窝网络等。在一个实施方案中,系统可以包括多于一个无线网络。
无线网络108还可以包括通过无线电链路等连接的终端、网关、路由器等的自治系统。这些连接器可以被配置为自由地和随机地移动并且任意地组织其自身,使得无线网络108的拓扑可以快速地改变。
无线网络108还可以采用多种接入技术,包括用于蜂窝系统、WLAN、无线路由器(WR)网状网络等的第2代(2G)、第3代(3G)、第4代(4G)、第5代(5G)无线电接入。接入技术(诸如2G、3G、4G、5G)以及未来的接入网络可以实现对具有各种程度的移动性的移动计算机(诸如客户端计算机103至105)的广域覆盖。在一个非限制性示例中,无线网络108可以通过无线电网络接入来实现无线电连接,无线电网络接入诸如为全球移动通信系统(GSM)、通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、宽带码分多址(WCDMA)、高速下行链路分组接入(HSDPA)、长期演进(LTE)等。本质上,无线网络108可以包括信息可以在客户端计算机103至105与另一计算机、网络、基于云的网络、云实例等之间行进所通过的几乎任何无线通信机制。
网络110被配置为通过无线网络108等将网络计算机与其他计算机联接,其他计算机包括可视化服务器计算机116、客户端计算机102和客户端计算机103至105。网络110被使得能够采用任何形式的计算机可读介质,以用于将信息从一个电子设备传送到另一电子设备。此外,除了局域网(LAN)、广域网(WAN)、直接连接(诸如通过通用串行总线(USB)端口、以太网端口、其他形式的计算机可读介质或其任何组合)之外,网络110还可以包括互联网。在LAN(包括基于不同架构和协议的那些LAN)的互连集合上,路由器充当LAN之间的链路,从而使得消息能够从一个LAN发送到另一LAN。另外,LAN内的通信链路通常包括双绞线或同轴电缆,而网络之间的通信链路可以利用模拟电话线,包括T1、T2、T3和T4的全部或部分专用数字线,或包括例如E载波、综合服务数字网络(ISDN)、数字订户线(DSL)的其他载波机制,包括卫星链路的无线链路,或本领域技术人员公知的其他通信链路。此外,通信链路还可以采用各种数字信令技术中的任何数字信令技术,包括但不限于例如DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48等。此外,远程计算机和其他相关电子设备可以经由调制解调器和临时电话链路远程连接到LAN或WAN。在一个实施方案中,网络110可以被配置为传输互联网协议(IP)的信息。
另外,通信介质通常实施计算机可读指令、数据结构、程序模块或其他传输机制,并且包括任何信息非暂态递送介质或暂态递送介质。以举例的方式,通信介质包括有线介质诸如双绞线、同轴电缆、光纤、波导和其他有线介质,以及无线介质诸如声学、RF、红外和其他无线介质。
此外,下面结合图3更详细地描述可视化服务器计算机116的一个实施方案。尽管图1将可视化服务器计算机116等示出为单个计算机,但是创新或实施方案不限于此。例如,可视化服务器计算机116等的一个或多个功能可以分布在一个或多个不同的网络计算机上。此外,在一个或多个实施方案中,可视化服务器计算机116可以使用多个网络计算机来实现。此外,在各种实施方案中的一个或多个实施方案中,可视化服务器计算机116等可以使用一个或多个云网络中的一个或多个云实例来实现。因此,这些创新和实施方案不应被解释为限于单个环境,并且还设想了其他配置和其他架构。
例示性客户端计算机
图2示出了可以包括比所示部件更多或更少的许多部件的客户端计算机200的一个实施方案。客户端计算机200可以表示例如图1中示出的移动计算机或客户端计算机的一个或多个实施方案。
客户端计算机200可以包括经由总线228与存储器204通信的处理器202。客户端计算机200还可以包括电源230、网络接口232、音频接口256、显示器250、小键盘252、照明器254、视频接口242、输入/输出接口238、触觉接口264、全球定位系统(GPS)接收器258、凌空手势接口260、温度接口262、相机240、投影仪246、指向设备接口266、处理器可读固定存储设备234、和处理器可读可移除存储设备236。客户端计算机200可以可选地与基站(未示出)通信,或者直接与另一计算机通信。并且,在一个实施方案中,尽管未示出,但是可以在客户端计算机200内采用陀螺仪来测量或维护客户端计算机200的取向。
电源230可以向客户端计算机200提供电力。可以使用可充电或不可充电电池来提供电力。电力也可以由外部电源提供,诸如对电池进行补充或充电的AC适配器或供电对接托架。
网络接口232包括用于将客户端计算机200联接到一个或多个网络的电路,并且被构造为与一个或多个通信协议和技术一起使用,一个或多个通信协议和技术包括但不限于实现用于移动通信(GSM)的OSI模型、CDMA、时分多址(TDMA)、UDP、TCP/IP、SMS、MMS、GPRS、WAP、UWB、WiMax、SIP/RTP、GPRS、EDGE、WCDMA、LTE、UMTS、OFDM、CDMA2000、EV-DO、HSDPA或各种其他无线通信协议中的任何协议的任何部分的协议和技术。网络接口232有时称为收发器、收发设备或网络接口卡(NIC)。
音频接口256可以被布置成产生和接收音频信号,诸如人类语音的声音。例如,音频接口256可以联接到扬声器和麦克风(未示出),以使得能够与其他人通信或生成针对某个动作的音频确认。音频接口256中的麦克风也可以用于对客户端计算机200的输入或控制,例如,使用语音识别、基于声音来检测触摸等。
显示器250可以是液晶显示器(LCD)、气体等离子体、电子墨水、发光二极管(LED)、有机LED(OLED)或可以与计算机一起使用的任何其他类型的光反射或光透射显示器。显示器250还可以包括被布置成从对象(诸如触笔或来自人手的手指)接收输入的触摸接口244,并且可以使用电阻、电容、表面声波(SAW)、红外、雷达或其他技术来感测触摸或手势。
投影仪246可以是能够在远程墙壁或任何其他反射对象(诸如远程屏幕)上投影图像的远程手持式投影仪或集成投影仪。
视频接口242可以被布置成捕获视频图像,诸如静态照片、视频片段、红外视频等。例如,视频接口242可以联接到数字摄像机、web相机等。视频接口242可以包括透镜、图像传感器和其他电子器件。图像传感器可以包括互补金属氧化物半导体(CMOS)集成电路、电荷联接器件(CCD)或用于感测光的任何其他集成电路。
小键盘252可以包括被布置成接收来自用户的输入的任何输入设备。例如,小键盘252可以包括按钮数字拨号盘或键盘。小键盘252还可以包括与选择和发送图像相关联的命令按钮。
照明器254可以提供状态指示或提供光。照明器254可以在特定时间段内或响应于事件消息而保持活跃。例如,当照明器254活跃时,其可以从背后照亮小键盘252上的按钮,并且在客户端计算机被供电时保持开启。此外,当执行特定动作时,诸如拨打另一客户端计算机时,照明器254可以按各种模式从背后照亮这些按钮。照明器254还可以使位于客户端计算机的透明或半透明外壳内的光源响应于动作而照明。
此外,客户端计算机200还可以包括硬件安全模块(HSM)268,HSM用于提供附加的防篡改保护措施,以用于生成、存储或使用安全性/密码信息,诸如密钥、数字证书、密码、双因素认证信息等。在一些实施方案中,硬件安全模块可以用于支持一个或多个标准公钥基础设施(PKI),并且可以用于生成、管理或存储密钥对等。在一些实施方案中,HSM 268可以是独立的计算机,在其他情况下,HSM 268可以被布置作为可以被添加到客户端计算机的硬件卡。
客户端计算机200还可以包括用于与外部外围设备或其他计算机(诸如其他客户端计算机和网络计算机)通信的输入/输出接口238。外围设备可以包括音频头戴式耳机、虚拟现实头戴式耳机、显示屏眼镜、远程扬声器系统、远程扬声器和麦克风系统等。输入/输出接口238可以利用一种或多种技术,诸如通用串行总线(USB)、红外、WiFi、WiMax、BluetoothTM等。
输入/输出接口238还可以包括一个或多个传感器,一个或多个传感器用于确定地理位置信息(例如,GPS)、监测电力状况(例如,电压传感器、电流传感器、频率传感器等)、监测天气(例如,恒温器、气压计、风速计、湿度检测器、降水量表等)等。传感器可以是收集或测量客户端计算机200外部的数据的一个或多个硬件传感器。
触觉接口264可以被布置成向客户端计算机的用户提供触觉反馈。例如,触觉接口264可以用于当另一计算机用户正在呼叫时以特定方式振动客户端计算机200。温度接口262可以用于向客户端计算机200的用户提供温度测量输入或温度改变输出。凌空手势接口260可以例如通过使用单个或立体摄像机、雷达、用户持有或穿戴的计算机内的陀螺传感器等来感测客户端计算机200的用户的物理手势。相机240可以用于跟踪客户端计算机200的用户的物理眼睛移动。
GPS收发器258可以确定客户端计算机200在地球表面上的物理坐标,其通常将位置输出为纬度值和经度值。GPS收发器258还可以采用其他地理定位机制来进一步确定客户端计算机200在地球表面上的物理位置,包括但不限于三角测量、辅助GPS(AGPS)、增强观测时间差(E-OTD)、小区标识符(CI)、服务区域标识符(SAI)、增强定时提前(ETA)、基站子系统(BSS)等。应当理解,在不同的条件下,GPS收发器258可以确定客户端计算机200的物理位置。然而,在一个或多个实施方案中,客户端计算机200可以通过其他部件提供可以用于确定客户端计算机的物理位置的其他信息,包括例如媒体访问控制(MAC)地址、IP地址等。
在各种实施方案中的至少一个实施方案中,应用诸如操作系统206、其他客户端应用224、web浏览器226等可以被布置成采用地理位置信息来选择一个或多个本地化特征,诸如时区、语言、货币、日历格式化等。本地化特征可以用于显示对象、数据模型、数据对象、用户界面、报告以及内部过程或数据库中。在各种实施方案中的至少一个实施方案中,用于选择本地化信息的地理位置信息可以由GPS 258提供。此外,在一些实施方案中,地理位置信息可以包括使用网络(诸如无线网络108或网络111)上的一个或多个地理位置协议提供的信息。
人机接口部件可以是与客户端计算机200在物理上分开的外围设备,从而允许到客户端计算机200的远程输入或输出。例如,如在此所述通过人机接口部件(诸如显示器250或键盘252)路由的信息可以替代地通过网络接口232路由到远程定位的适当的人机接口部件。可以位于远程的人机接口外围部件的示例包括但不限于音频设备、指向设备、小键盘、显示器、相机、投影仪等。这些外围部件可以通过微微网络通信,诸如BluetoothTM、ZigbeeTM等。具有这种外围人机接口部件的客户端计算机的一个非限制性示例是可穿戴计算机,其可以包括远程微微投影仪以及一个或多个相机,一个或多个相机与单独定位的客户端计算机远程通信以感测用户朝向由微微投影仪投影到反射表面(诸如墙壁或用户的手)上的图像的部分的手势。
客户端计算机可以包括被配置为接收和发送网页、基于web的消息、图形、文本、多媒体等的web浏览器应用226。客户端计算机的浏览器应用可以采用几乎任何编程语言,包括无线应用协议消息(WAP)等。在一个或多个实施方案中,浏览器应用被使得能够采用手持式设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SGML)、超文本标记语言(HTML)、可扩展标记语言(XML)、HTML5等。
存储器204可以包括RAM、ROM或其他类型的存储器。存储器204示出了用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的计算机可读存储介质(设备)的示例。存储器204可以存储用于控制客户端计算机200的低级操作的BIOS208。存储器还可以存储用于控制客户端计算机200的操作的操作系统206。应当理解,该部件可以包括通用操作系统诸如一个版本的UNIX或或专用客户端计算机通信操作系统诸如WindowsPhoneTM或/>操作系统。操作系统可以包括Java虚拟机模块或与Java虚拟机模块交互,Java虚拟机模块使得能够经由Java应用程序控制硬件部件或操作系统操作。
存储器204还可以包括一个或多个数据存储210,一个或多个数据存储可以由客户端计算机200用于存储应用220或其他数据等。例如,数据存储210也可以用于存储描述客户端计算机200的各种能力的信息。然后,可以基于各种方法中的任何方法将信息提供给另一设备或计算机,包括在通信期间作为报头的一部分发送、在请求时发送等。数据存储210还可以用于存储社交网络信息,包括地址簿、好友列表、别名、用户配置文件信息等。数据存储210还可以包括程序代码、数据、算法等,以供处理器(诸如处理器202)用于实施和执行动作。在一个实施方案中,数据存储210中的至少一些也可以被存储在客户端计算机200的另一部件上,包括但不限于非暂态处理器可读可移除存储设备236、处理器可读固定存储设备234,或甚至存储在客户端计算机外部。
应用220可以包括计算机可执行指令,这些计算机可执行指令当由客户端计算机200执行时传输、接收或以其他方式处理指令和数据。应用220可以包括例如客户端可视化引擎222、其他客户端应用224、web浏览器226等。客户端计算机可以被布置成与一个或多个服务器交换通信。
应用程序的其他示例包括日历、搜索程序、电子邮件客户端应用、IM应用、SMS应用、互联网协议语音(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、字词处理程序、安全性应用、电子表格程序、游戏、搜索程序、可视化应用等。
另外,在一个或多个实施方案中(图中未示出),客户端计算机200可以包括嵌入式逻辑硬件设备而不是CPU,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。此外,在一个或多个实施方案中(图中未示出),客户端计算机200可以包括一个或多个硬件微控制器而不是CPU。在一个或多个实施方案中,一个或多个微控制器可以直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
例示性网络计算机
图3示出了可以包括在实现各种实施方案中的一个或多个实施方案的系统中的网络计算机300的一个实施方案。网络计算机300可以包括比图3所示部件更多或更少的许多部件。然而,所示部件足以公开用于实践这些创新的例示性实施方案。网络计算机300可以表示例如图1的可视化服务器计算机116等中的至少一者的一个实施方案。
网络计算机(诸如网络计算机300)可以包括可以经由总线328与存储器304通信的处理器302。在一些实施方案中,处理器302可以包括一个或多个硬件处理器,或者一个或多个处理器核。在一些情况下,一个或多个处理器中的一个或多个处理器可以是被设计成执行一个或多个专用动作(诸如本文描述的那些动作)的专用处理器。网络计算机300还包括电源330、网络接口332、音频接口356、显示器350、键盘352、输入/输出接口338、处理器可读固定存储设备334和处理器可读可移除存储设备336。电源330向网络计算机300提供电力。
网络接口332包括用于将网络计算机300联接到一个或多个网络的电路,并且被构造为与一个或多个通信协议和技术一起使用,一个或多个通信协议和技术包括但不限于实现开放系统互连模型(OSI模型)、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、用户数据报协议(UDP)、传输控制协议/互联网协议(TCP/IP)、短消息服务(SMS)、多媒体消息服务(MMS)、通用分组无线电服务(GPRS)、WAP、超宽带(UWB)、IEEE 802.16全球微波接入互操作(WiMax)、会话发起协议/实时传输协议(SIP/RTP)或各种其他有线和无线通信协议中的任何协议的任何部分的协议和技术。网络接口332有时称为收发器、收发设备或网络接口卡(NIC)。网络计算机300可以可选地与基站(未示出)通信,或者直接与另一计算机通信。
音频接口356被布置成产生和接收音频信号,诸如人类语音的声音。例如,音频接口356可以联接到扬声器和麦克风(未示出),以使得能够与其他人通信或生成针对某个动作的音频确认。音频接口356中的麦克风也可以用于对网络计算机300的输入或控制,例如,使用语音识别。
显示器350可以是液晶显示器(LCD)、气体等离子体、电子墨水、发光二极管(LED)、有机LED(OLED)或可以与计算机一起使用的任何其他类型的光反射或光透射显示器。在一些实施方案中,显示器350可以是能够在墙壁或其他对象上投影图像的手持式投影仪或微微投影仪。
网络计算机300还可以包括用于与图3中未示出的外部设备或计算机通信的输入/输出接口338。输入/输出接口338可以利用一个或多个有线或无线通信技术,诸如USBTM、FirewireTM、WiFi、WiMax、ThunderboltTM、红外、BluetoothTM、ZigbeeTM、串行端口、并行端口等。
此外,输入/输出接口338还可以包括一个或多个传感器,一个或多个传感器用于确定地理位置信息(例如,GPS)、监测电力状况(例如,电压传感器、电流传感器、频率传感器等)、监测天气(例如,恒温器、气压计、风速计、湿度检测器、降水量表等)等。传感器可以是收集或测量网络计算机300外部的数据的一个或多个硬件传感器。人机接口部件可以与网络计算机300在物理上分开,从而允许到网络计算机300的远程输入或输出。例如,如在此所述通过人机接口部件(诸如显示器350或键盘352)路由的信息可以替代地通过网络接口332路由到位于网络上其他地方的适当的人机接口部件。人机接口部件包括允许计算机从计算机的人类用户取得输入或向其发送输出的任何部件。因此,指向设备(诸如鼠标、触笔、轨迹球等)可以通过指向设备接口358通信以接收用户输入。
GPS收发器340可以确定网络计算机300在地球表面上的物理坐标,其通常将位置输出为纬度值和经度值。GPS收发器340还可以采用其他地理定位机制来进一步确定网络计算机300在地球表面上的物理位置,包括但不限于三角测量、辅助GPS(AGPS)、增强观测时间差(E-OTD)、小区标识符(CI)、服务区域标识符(SAI)、增强定时提前(ETA)、基站子系统(BSS)等。应当理解,在不同的条件下,GPS收发器340可以确定网络计算机300的物理位置。然而,在一个或多个实施方案中,网络计算机300可以通过其他部件提供可以用于确定客户端计算机的物理位置的其他信息,包括例如媒体访问控制(MAC)地址、IP地址等。
在各种实施方案中的至少一个实施方案中,应用诸如操作系统306、建模引擎322、可视化引擎324、其他应用329等可以被布置成采用地理位置信息来选择一个或多个本地化特征,诸如时区、语言、货币格式化、日历格式化等。本地化特征可以用于用户界面、仪表板、可视化、报告以及内部过程或数据库中。在各种实施方案中的至少一个实施方案中,用于选择本地化信息的地理位置信息可以由GPS 340提供。此外,在一些实施方案中,地理位置信息可以包括使用网络(诸如无线网络108或网络111)上的一个或多个地理位置协议提供的信息。
存储器304可以包括随机存取存储器(RAM)、只读存储器(ROM)或其他类型的存储器。存储器304示出了用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的计算机可读存储介质(设备)的示例。存储器304存储用于控制网络计算机300的低级操作的基本输入/输出系统(BIOS)308。存储器还存储用于控制网络计算机300的操作的操作系统306。应当理解,该部件可以包括通用操作系统诸如一个版本的UNIX或或专用操作系统诸如Microsoft公司的Windows操作系统,或者Apple公司的/>操作系统。操作系统可以包括一个或多个虚拟机模块或与一个或多个虚拟机模块交互,一个或多个虚拟机模块诸如为Java虚拟机模块,Java虚拟机模块使得能够经由Java应用程序控制硬件部件或操作系统操作。同样地,可以包括其他运行环境。
存储器304还可以包括一个或多个数据存储310,一个或多个数据存储可以由网络计算机300用于存储应用320或其他数据等。例如,数据存储310也可以用于存储描述网络计算机300的各种能力的信息。然后,可以基于各种方法中的任何方法将信息提供给另一设备或计算机,包括在通信期间作为报头的一部分发送、在请求时发送等。数据存储310还可以用于存储社交网络信息,包括地址簿、好友列表、别名、用户配置文件信息等。数据存储310还可以包括程序代码、数据、算法等,以供处理器(诸如处理器302)用于实施和执行动作,诸如下面描述的那些动作。在一个实施方案中,数据存储310中的至少一些也可以被存储在网络计算机300的另一部件上,包括但不限于处理器可读可移除存储设备336、处理器可读固定存储设备334、或网络计算机300内的任何其他计算机可读存储设备内的非暂态介质,或甚至存储在网络计算机300外部。数据存储310可以包括例如数据源314、可视化模型316、数据模型318、树(内存)319等。
应用320可以包括计算机可执行指令,这些计算机可执行指令当由网络计算机300执行时传输、接收或以其他方式处理消息(例如,SMS、多媒体消息服务(MMS)、即时消息(IM)、电子邮件或其他消息)、音频、视频,并且使得能够与另一移动计算机的另一用户通信。应用程序的其他示例包括日历、搜索程序、电子邮件客户端应用、IM应用、SMS应用、互联网协议语音(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、字词处理程序、安全性应用、电子表格程序、游戏、搜索程序等。应用320可以包括可以被布置成执行用于下面描述的实施方案的动作的建模引擎322、可视化引擎324、其他应用329等。在各种实施方案中的一个或多个实施方案中,应用中的一个或多个应用可以被实现为另一应用的模块或部件。此外,在各种实施方案中的一个或多个实施方案中,应用可以被实现为操作系统扩展、模块、插件等。
此外,在各种实施方案中的一个或多个实施方案中,建模引擎322、可视化引擎324、其他应用329等可以在基于云的计算环境中操作。在各种实施方案中的一个或多个实施方案中,包括可视化平台的这些应用及其他应用可以在可以处于基于云的计算环境中管理的虚拟机或虚拟服务器内执行。在各种实施方案中的一个或多个实施方案中,在此上下文中,应用可以根据由云计算环境自动管理的性能和缩放考虑而从基于云的环境内的一个物理网络计算机流向另一物理网络计算机。同样地,在各种实施方案中的一个或多个实施方案中,可以自动地调配和停用专用于建模引擎322、可视化引擎324、其他应用329等的虚拟机或虚拟服务器。
此外,在各种实施方案中的一个或多个实施方案中,建模引擎322、可视化引擎324、其他应用329等可以位于在基于云的计算环境中运行的虚拟服务器中,而不是被绑定到一个或多个特定的物理网络计算机。
此外,网络计算机300还可以包括硬件安全模块(HSM)360,HSM用于提供附加的防篡改保护措施,以用于生成、存储或使用安全性/密码信息,诸如密钥、数字证书、密码、双因素认证信息等。在一些实施方案中,硬件安全模块可以用于支持一个或多个标准公钥基础设施(PKI),并且可以用于生成、管理或存储密钥对等。在一些实施方案中,HSM 360可以是独立的网络计算机,在其他情况下,HSM 360可以被布置成可以安装在网络计算机中的硬件卡。
另外,在一个或多个实施方案中(图中未示出),网络计算机300可以包括嵌入式逻辑硬件设备而不是CPU,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。此外,在一个或多个实施方案中(图中未示出),网络计算机可以包括一个或多个硬件微控制器而不是CPU。在一个或多个实施方案中,一个或多个微控制器可以直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
例示性逻辑系统架构
图4示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的系统400的逻辑架构。在各种实施方案中的一个或多个实施方案中,系统400可以是被布置成包括各种部件的可视化平台,各种部件包括:可视化服务器402;一个或多个数据源,诸如数据源404;一个或多个数据模型,诸如数据模型406;一个或多个可视化模型,诸如可视化模型408;一个或多个树模型,诸如树模型412;一个或多个可视化,诸如可视化414;一个或多个树规范,诸如树规范416;一个或多个建模引擎,诸如建模引擎418;一个或多个可视化引擎,诸如可视化引擎420;等等。
在各种实施方案中的一个或多个实施方案中,可视化服务器(诸如可视化服务器402)可以被布置成生成一个或多个可视化,诸如可视化414。在一些实施方案中,可视化服务器402可以被布置成从数据源(诸如数据源404)获得信息。因此,在一些实施方案中,由数据源404提供的信息中的一些或全部信息可以被映射到或以其他方式被提取并变换到一个或多个数据模型或可视化模型中的一者或多者中。因此,在一些实施方案中,可视化服务器可以被布置成基于数据模型或可视化模型来生成一个或多个可视化,诸如可视化414。
在一些实施方案中,建模引擎(诸如建模引擎418)可以用于将由数据源404提供的信息中的一些或全部信息变换到一个或多个数据模型(诸如数据模型406)中。在一些实施方案中,建模引擎可以被布置成采用或执行由配置信息提供的计算机可读指令以确定用于将由数据源提供的信息变换到数据模型中的步骤中的一些或全部步骤。
在各种实施方案中的一个或多个实施方案中,配置信息(包括用户输入)可以用于选择由数据源提供的信息的一个或多个部分以变换到数据模型中。
在各种实施方案中的一个或多个实施方案中,可视化模型可以包括一个或多个显示对象。在一些实施方案中,显示对象可以表示与一个或多个数据对象相关联的数据的可视化或部分可视化。可以基于给定数据对象的组成(例如,数据类型、性质、项目数量、语义含义等)来选择由显示对象表达的特定可视化。在一些实施方案中,数据对象可以与多于一个显示对象相关联,每个显示对象表示给定数据对象的不同可视化。因此,显示对象可以被布置成表示不同的常见的、不常见的或定制的可视化元素,诸如线图、曲面图、条形图、饼状图、表、文本字段、文本区域等,这些可视化元素可以被包括在可视化中以提供对数据的改进理解。在一些实施方案中,可视化可以针对不同的观众,诸如客户、利益相关者、内部团队、商业智能团队等。因此,可以生成多于一个可视化模型或将多于一个可视化模型与相同的数据模型相关联。
此外,在各种实施方案中的一个或多个实施方案中,建模引擎(诸如建模引擎418)可以被布置成实现用于可视化分级数据的数据处理。在一些实施方案中,树状可视化可以是包括一个或多个特征的可视化,一个或多个特征通常可以与树相关联,诸如为展开-折叠语义、父子描述、节点、根节点、分支/边等。此外,在一些实施方案中,一个或多个树状可视化可以包括基于数据模型中声明的分级关系的特征/值,即使它们在向用户显示时可能不表现为树状。因此,在一些实施方案中,树状可视化可以看起来像如图5所示的树,或者它们可以是列表、图表、表、字段等,它们可以看起来不像常规的树,即使它们可以基于分级关系。
在各种实施方案中的一个或多个实施方案中,数据模型(诸如数据模型406)可以包括一个或多个树模型(诸如树模型412)。在一些实施方案中,树模型可以是数据模型的声明或定义可以存在于数据模型中的一些或全部数据对象之间的分级关系等的一个或多个部分。
在一些实施方案中,在一些情况下,建模引擎可以被布置成基于底层数据源自动地生成树模型。例如,如果数据源明确地支持分级结构(例如,图数据库、面向对象的数据库等),则建模引擎可以被布置成从数据源自动地生成树模型。然而,在一些实施方案中,建模引擎可以被布置成使得可视化作者能够定义/声明数据对象之间的分级关系作为定义数据模型的一部分。
因此,在一些实施方案中,如果数据模型包括树模型,则可视化作者可以被使得能够设计结合在相关数据模型中声明的分级关系中的一些或全部分级关系的可视化模型。在一些实施方案中,建模引擎或可视化引擎可以被布置成基于可视化作者或可视化用户所采用的数据模型中存在树模型来自动地确定是否可以向用户呈现用于包括树可视化特征的用户界面(例如,菜单项、控件、工具箱项等)。
因此,在各种实施方案中的一个或多个实施方案中,建模引擎或可视化引擎可以被布置成采用一个或多个树模型(诸如树模型412)来生成树可视化。
在各种实施方案中的一个或多个实施方案中,如所提及的,在一些情况下,一些数据源可能并非原生地支持分级关系。因此,在一些实施方案中,可以声明树模型以使得可视化引擎能够确定可以存储在非分级数据结构(诸如表)中的数据的分级关系。因此,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成生成一个或多个中间值或数据集以促进分级数据的聚合。如下所述,在一些实施方案中,可视化引擎可以被布置成生成一个或多个中间表以临时存储所计算的支持分级信息的聚合的可视化的信息。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成包括或引用一个或多个数据结构,诸如树规范数据结构(诸如树规范416)中的中间表。
此外,在一些实施方案中,可视化引擎可以被布置成使得可视化作者能够创建交互式可视化。在一些实施方案中,交互式可视化可以包括使得用户/观看者能够利用树语义来探索底层数据的一个或多个特征或用户界面。例如,对于一些实施方案,树状可视化可以被布置成支持与在树模型中声明的分级关系相关联的展开或折叠动作。因此,在一些实施方案中,可视化引擎可以被布置成采用树规范(诸如树规范416)来跟踪或表示树可视化的状态。例如,在一些实施方案中,树规范可以用于跟踪哪些树视图节点被展开或者哪些节点可以被折叠。
图5示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据树500的逻辑表示。
在一些情况下,可以关于使用树或树状结构来推理信息或数据。因此,各种社会或商业关系可以自然地适合于推理或可视化为树。在示例中,树500可以被认为表示组织中的雇员和他们彼此的关系。在示例中,树500的每个节点对应于雇员。负责管理其他雇员的雇员与具有子节点的父节点相关联,其中管理者雇员与父节点相关联,并且报告雇员与子节点相关联。在示例中,雇员Adam(节点502)直接管理四个其他雇员(Mark、Dan、Jackie和Beers)。因此,在示例中,雇员Mark(节点504)向雇员Adam(节点502)报告。然而,在示例中,雇员Mark(节点504)也管理两个雇员(Kirk和Ellie)。类似地,雇员Jackie具有两个报告雇员(Adri和Jen),以此类推。因此,在示例中,树500清楚地示出了组织的雇员分级结构。
图6示出了根据各种实施方案中的一个或多个实施方案的用于存储分级数据的数据结构600的逻辑表示。在各种实施方案中的一个或多个实施方案中,各种数据结构可以被布置成表示分级信息。因此,在一些实施方案中,数据源可以被布置成存储信息,使得可以保留分级关系。然而,常规数据存储库通常可以采用数据结构(诸如表)来使用行和列表示分级信息。通常,行可以表示对象的实例,并且给定行中的列字段可以表示对象实例的性质或属性。因此,由于缺少表示分级结构的原生或自然设施,基于表的数据存储库可以被布置成包括可以用于表示分级信息的列字段。在一些实施方案中,对象之间的分级关系可以从列字段或列字段值中进行推断。在其他实施方案中,表可以被布置成包括可以明确地对分级关系进行编码的列。
因此,在示例中,表602和表608演示了在表数据结构中表示分级关系的两种方式。需注意,本领域普通技术人员应当理解,可以使用各种数据结构、表或数据库模式来表示分级信息或分级关系。在一些情况下,可视化引擎可以被布置成直接从数据结构或数据本身推断分级结构。在其他情况下,数据模型可以包括可以明确地声明相关分级关系的一个或多个树模型。例如,在一些实施方案中,可视化平台可以提供使得可视化作者能够明确地声明可以被包括在树模型中的相关分级关系的一个或多个用户界面。
例如,在各种实施方案中的一个或多个实施方案中,数据源表(诸如表602)可以被布置成包括可以隐含地定义或表示分级关系的一个或多个列字段。例如,表602包括人员列604和管理者列606。在示例中,列604标识人员,并且列606标识人员的直接管理者。需注意,表602中的值对应于上面描述的树500。因此,在一些实施方案中,即使表602不是树或树状数据结构,但是其也包括可以被表示为树的信息。
此外,在各种实施方案中的一个或多个实施方案中,数据源表(诸如表608)可以被布置成包括明确地表示树信息的一个或多个列字段。在示例中,表608包括标识雇员的人员列610,同时级别0列612、级别1列614、级别2列616表示雇员的分级关系。在示例中,树500的每个深度级别被表示为单独的列。在示例中,可以通过将每个雇员的树路径信息包括在每个雇员记录中而将树500中的每个节点明确地表示在表608中。因此,在示例中,雇员Adam的列612、列614和列616是空的,因为Adam对应于树的根。此外,表608中的每个其他雇员具有对应于其在分级结构中的位置的级别列值。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成执行或响应于查询以生成可以在可视化中显示的值。在一些实施方案中,可视化引擎可以被布置成生成与数据源或数据模型中的聚合值相关联的一个或多个值。
此外,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成显示包括基于聚合信息或从聚合信息导出的一个或多个可视化对象的一个或多个可视化。例如,可以从表602容易地生成比较组织中的雇员总数和管理者总数的简单条形图。在示例中,这种条形图可以包括被缩放以表示十一个雇员的一个条和被缩放以表示四个管理者的另一条。需注意,可视化将不包括或表示雇员的分级关系。相反,其提供了示出组织中的雇员数量和组织中管理至少一个其他雇员的雇员数量的可视化。生成可以表示分级关系的可视化可能需要专门的处理,这种专门的处理对于常规可视化引擎可能是不可用的。
因此,在一些实施方案中,可视化引擎可以被布置成自动地生成用于提供与分级信息相关联的聚合值的一个或多个支持数据结构。
在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成使得可视化作者能够定义可以被包括在树视图规范中的信息。在各种实施方案中的一个或多个实施方案中,树视图规范可以是可视化引擎可以用于确定树视图的数据、格式化、样式等的信息。
在各种实施方案中的一个或多个实施方案中,包括在树规范中的信息可以根据源数据可以在数据源中组织的方式而变化。此外,在一些实施方案中,包括在树规范中的信息可以根据可视化作者可以包括在可视化中的可视化对象而变化。
在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成使得用户能够定义包括一个或多个树模型的数据模型,一个或多个树模型对可以存在于源数据中的一个或多个分级关系进行建模。例如,在一些实施方案中,建模引擎可以被布置成提供用户界面,这些用户界面使得用户能够明确地标识具有分级关系的数据字段或数据对象。
此外,在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成采用一个或多个规则、指令、试探法等来自动地分析源数据以标识一个或多个分级关系。在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成向用户显示或以其他方式提供一个或多个分级关系。因此,在一些实施方案中,用户可以被使得能够确认或以其他方式标识哪些分级关系可以是有效的或相关的。例如,对于一些实施方案,建模引擎可以被布置成标识可能正引用相同类型的对象的列字段(诸如表602中的列604和列606)并将它们呈现为潜在的分级关系。
此外,例如,在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成使得可视化对象(诸如“树视图”)能够被添加到可视化。因此,在一些实施方案中,如果可视化作者将树视图添加到可视化,则建模引擎可以被布置成请求或需要来自作者的附加输入以标识树视图的分级关系。在一些实施方案中,如果用户将树视图添加到可视化,则建模引擎可以被布置成需要选择一个或多个表或其他数据对象并标识相关的分级关系。例如,对于一些实施方案,如果用户正在将基于表602的树视图添加到可视化,则建模引擎可以使得用户能够将列606标识为包括列604中的对象的父对象。因此,在示例中,建模引擎可以被使得能够生成可以产生树可视化(诸如树500)的树模型。
同样地,在一些实施方案中,如果源数据可以被布置成类似于表608,则建模引擎可以被布置成使得用户能够标识哪些列对应于树的不同级别。
在各种实施方案中的一个或多个实施方案中,建模引擎可以被布置成验证自动定义的或由用户定义的树模型实际上具有树图的特性。例如,在一些实施方案中,建模引擎可以被布置成验证树中的子节点具有一个父节点,以此类推。在一些实施方案中,建模引擎可以被布置成警告用户他们正在定义的树模型可能不形成有效的树。在一些实施方案中,建模引擎可以被布置成采用经由配置信息提供的规则、指令等来验证树模型。
图7示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构700的逻辑表示。对于一些实施方案,表702表示可以由可视化引擎响应于一些类型的查询而生成的临时中间数据结构。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以接收用于确定供显示在可视化中的一个或多个值或结果的请求。在一些实施方案中,与可视化相关联的可视化模型可以将各种显示特征(例如,线、标记、字段值、标签、颜色等)映射到可以与数据模型中声明的一个或多个数据对象相对应的值。例如,如果可视化显示销售收入随着时间推移的图,则可以提供用于收集用于生成该图的数据的请求。此外,在一些实施方案中,可视化可以实现对数据的附加处理(包括对来自数据源的数据的一个或多个操作)以提供用于可视化的值。例如,在一些实施方案中,被提供以供显示的数据可以经受过滤、聚合等中的一者或多者,这取决于给定可视化的特定设计。因此,为了简洁和清楚起见,本文所提及的查询可以被认为表示数据结构、表达式、消息等,其对应于用于获得、确定或格式化用于在可视化中显示或应用的值的一个或多个请求、过滤器、函数、聚合、常数等。需注意,在各种实施方案中的一个或多个实施方案中,查询信息可以作为由可视化作者或可以与可视化交互的其他用户创建的可视化(例如,可视化模型)的定义的一部分来提供。
在示例中,可视化引擎可以被布置成响应于接收或处理可以与树视图相关联的查询而生成表,诸如表702。在示例中,查询涉及对应于雇员Adam的树节点的后代。(参见树500或表602)。在一些实施方案中,查询的一个或多个部分可以直接相关以确定与数据模型中的数据对象之间的一个或多个分级关系相关联的值。
在示例中,对于一些实施方案,可视化引擎可以被布置成采用与表602相关联的树视图规范来生成表702。在示例中,对于一些实施方案,建模引擎可以被布置成在表702上迭代以标识雇员Adam节点的每个后代节点。因此,在示例中,因为雇员Adam是分级结构的根,所以组织中的每个其他雇员是雇员Adam的后代。
在各种实施方案中的一个或多个实施方案中,中间表(诸如表702)可以被布置成包括一个或多个列,诸如人员列704、聚合目标列706等。因此,在示例中,可以用组织的雇员填充列704。并且,在示例中,可以用雇员Adam填充列706。在示例中,列706中的雇员Adam的每个条目表示对应的雇员在分级结构中处于雇员Adam之下。因此,表702中的第一记录——列704包括雇员Adam,并且列706是空的,因为对应于雇员Adam的树节点不是其自身的后代。相比之下,表702中的剩余记录包括其中雇员Adam在聚合目标列706中的雇员,因为在树500中,雇员Adam是其祖先。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成采用中间表(诸如表702)来计算查询表达式的结果。在示例中,表708表示数据结构,该数据结构表示请求对处于雇员Adam之下的雇员的计数的查询表达式的结果。因此,在示例中,可视化引擎可以被布置成对表702中在聚合目标列(列706)中包括雇员Adam的记录的数量进行计数。
需注意,本领域普通技术人员应当理解,可以通过数据结构(诸如表702)支持除了求和/计数之外的其他聚合查询表达式。例如,在一些实施方案中,可视化引擎可以被布置成采用表(诸如表702)来回答可以包括条件(小于、大于等)、均值、中值等的查询表达式。此外,在一些实施方案中,可视化引擎可以被布置成根据需要采用多于一个中间表来回答查询。
图8示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构800的逻辑表示。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成根据给定可视化模型可以包括哪些查询表达式来生成不同的中间表。在示例中,表802表示针对回答与由树500确定的组织的第二级别中的雇员相关的查询表达式而生成的中间表。
因此,在示例中,可视化引擎可以被布置成生成中间表802,以用于计算由组织的第二级别中的雇员管理的雇员数量(如果有的话)。因此,在示例中,列804包括每个雇员,并且列806列出每个雇员的第二级别管理者。在示例中,查询可以被认为是包含性的,因为包括了第二级别树部分的(第二级别雇员的)根节点。例如,雇员Mark与Mark的聚合目标值相关联。
类似于中间表708,中间表808包括查询表达式的结果。在示例中,列810列出每个聚合目标,并且列812列出与对应聚合目标中的雇员相关联的雇员数量。解释这些结果的另一方式可以是列812中的值表示由列810中列出的雇员管理的部门或组中的雇员数量。
图9示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构900的逻辑表示。在示例中,中间表902和中间表908可以被认为类似于针对图7或图8描述的中间表,使得中间表908可以通过组合中间表708和中间表808来生成。因此,为了简洁和清楚起见,上面包括的讨论将不在此重复。
在示例中,可视化引擎可以生成中间表902以提供针对与由树500表示的组织的第三级别相关的查询的结果。
同样地,在示例中,中间表908包括保存查询结果的列910和列912。在此,可以假设查询与对在由处于组织的第三级别的雇员领导的部门中包括的雇员数量进行计数相关。然而,在示例中,中间表908包括组织的前三个级别的值,而不是仅单个级别的值。
图10示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的数据结构1000的逻辑表示。类似于上面针对图9描述的中间表,可视化引擎可以被布置成生成表,诸如中间表1002或中间表1010。因此,在示例中,中间表1002包括用于列出组织中的雇员的列1004和用于列出可以响应于查询表达式的聚合目标的列1006。在示例中,可视化引擎可以响应于关于按照树500的组织的第四级别的查询而生成中间表1002。同样地,在示例中,中间表1008可以被认为是中间表708、中间表808和中间表908的组合,其在列1010中列出聚合目标并在列1012中列出计数。
在示例中,按照树500的组织的第四级别包括两个雇员,这两个雇员都不管理其他雇员。
图11示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的系统1100的一部分的逻辑表示。如上所述,在一些实施方案中,可视化引擎可以被布置成采用一个或多个数据结构(诸如树规范)来跟踪与可以被包括在可视化中的树视图相关联的状态。如上所述,在一些实施方案中,可视化引擎可以被布置成基于可以被包括在数据模型中的树模型而在可视化中生成树视图。通常,在一些实施方案中,可以由可视化作者在正在创作可视化时声明树模型。相比之下,可以由可视化引擎生成树规范以支持在呈现给用户的可视化中显示树视图。在示例中,系统1100示出了可视化引擎可以采用树规范来跟踪关于树视图的信息的方式。
在示例中,树规范1102A可以表示用于跟踪关于树视图1104A的信息的数据结构,因为该树视图可以显示作为可视化的一部分。在示例中,可视化1104A是一个饼状图,其示出了向Adam报告的雇员数量,如基于树500等所确定的。因此,在示例中,对于一些实施方案,树规范1102A包括可视化引擎可以用于管理树视图1104A的信息或元数据,包括树视图名称、树级别数量、对一个或多个中间表的引用、当前显示的级别等。需注意,本领域普通技术人员应当理解,本文所公开的创新预期树规范可以包括比在此所示更多或更少的属性。然而,本领域普通技术人员应当理解,树规范1102A/1102B的公开内容至少足以公开本文所公开的创新。此外,虽然树规范1102A/B被示出为基于JSON状数据结构,但是其他数据结构也在这些创新的范围内。例如,在一些实施方案中,可视化引擎可以被布置成采用使用各种运行时数据结构(包括列表、散列表、C/C++结构、XML等)的树规范。在一些实施方案中,可视化引擎可以被布置成经由API或库来访问树规范或与树规范交互。因此,在一些实施方案中,可视化引擎可以被布置成采用配置信息来定义树规范或与树规范交互。
在示例中,树视图1104A可以被布置成使得用户能够下钻通过处于树的不同级别的树节点。在示例中,用户交互1106可以包括激活可视化引擎以基于树的不同位置来重新渲染(例如,可视化动作1108)树视图。在示例中,用户可能已经点击交互式用户界面控件以显示树视图1104B。在示例中,树视图1104A和树视图1104B可以提供处于树中的不同位置的相同树视图的可视化。因此,在示例中,树视图1104B表示从底层树的第二级别开始的可视化。因此,在示例中,对于一些实施方案,树规范1102B示出树视图的当前级别是第二级别。类似地,在一些实施方案中,如果用户点击树视图1104B的饼状图楔形中的一个楔形,则可视化引擎可以下钻到底层树的下一级别(如果存在的话)并相应地更新树规范。
图12示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的用户界面1200的一部分的逻辑表示。在一些实施方案中,用户界面1200可以被布置成包括一个或多个面板,诸如数据面板1202、显示面板1204等。
在各种实施方案中的一个或多个实施方案中,用户界面1200可以显示在一个或多个硬件显示器(诸如客户端计算机显示器、移动设备显示器等)上。在一些实施方案中,用户界面1200可以经由原生应用提供或提供作为在web浏览器或其他类似应用中托管的web应用。本领域普通技术人员应当理解,为了至少清楚或简洁起见,已经从用户界面1200中省略了商业/生产用户界面所共有的许多细节。同样地,在一些实施方案中,用户界面可以根据本地境况或本地要求而与所示的不同地布置。然而,本领域普通技术人员应当理解,用户界面1200的公开内容/描述至少足以公开本文所包括的创新。
在示例中,数据面板1202用于显示数据源或数据模型的可能能够包括在树视图中的部分。在示例中,所列出的项目表示可以被添加到树视图的规范信息的数据字段或数据对象。在一些实施方案中,可以基于配置信息来确定数据面板中示出的特定项目,该配置信息可以标识数据源或数据模型的可以在给定时间下可以可用的部分。
在示例中,显示面板1204用于基于可以包括一个或多个树视图的可视化模型来显示可视化的一个或多个部分。
此外,在示例中,树视图1206可以表示可以用于可视化树信息或树状信息的一个或多个图表、绘图等。需注意,树视图1206可以被布置成包括基于底层可视化模型、数据模型、用户输入等的各种样式、标记、标签、值等。
在示例中,数据面板1202包括表示由数据模型或数据源提供的对象或字段的数据对象1208。此外,在示例中,关系1210表示定义数据对象1208之间的关系的树视图规范的一部分。在示例中,关系1210可以被认为指示管理者对象是人员对象的父对象。
一般化操作
图13至图15表示根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的一般化操作。在各种实施方案中的一个或多个实施方案中,结合图13至图15描述的过程1300、1400和1500可以由单个网络计算机(诸如图3的网络计算机300)上的一个或多个处理器来实现或执行。在其他实施方案中,这些过程或其部分可以由多个网络计算机(诸如图3的网络计算机300)实现或在其上执行。在其他实施方案中,这些过程或其部分可以由一个或多个虚拟化计算机(诸如在基于云的环境中的那些虚拟化计算机)实现或在其上执行。然而,实施方案不限于此,并且可以利用网络计算机、客户端计算机等的各种组合。此外,在各种实施方案中的一个或多个实施方案中,结合图13至图15描述的过程可以根据各种实施方案或架构(诸如结合图4至图12描述的那些实施方案或架构)中的至少一者用于可视化分级数据的数据处理。此外,在各种实施方案中的一个或多个实施方案中,由过程1300、1400和1500执行的动作中的一些或全部动作可以部分地由在一个或多个网络计算机的一个或多个处理器上运行的建模引擎322或可视化引擎324执行。
图13示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的过程1300的概述流程图。在开始框之后,在框1302处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成显示数据源面板。如上所述,可视化引擎可以被布置成在交互式用户界面中生成一个或多个面板。面板的布局可以根据本地要求或配置信息而变化。在一些实施方案中,可以组合一个或多个面板。类似地,在一些实施方案中,可以将一个或多个面板分成两个或更多个面板。
在框1304处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成显示显示面板。如上所述,可视化引擎可以被布置成采用显示面板来显示交互式可视化,诸如一个或多个树视图或其他类型的视图。
在框1306处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成提供可以用于生成树视图的可视化的一个或多个树视图规范。如上所述,树视图规范可以基于从数据模型确定的分级关系。在一些情况下,数据模型可以包括一个或多个树模型,所述一个或多个树模型明确地声明可能能够包括用于树规范的数据对象、一个或多个数据对象之间的关系等。
在一些实施方案中,如果底层数据模型省略了描述对象之间的分级关系的信息(例如,树模型),则可以提示用户提供必要的信息。替代地,在一些实施方案中,在一些情况下,可视化引擎可以被布置成基于底层数据源或数据模型来自动地推断数据对象之间的一个或多个候选分级关系。
在一些实施方案中,候选分级关系可以形成初始树视图规范的基础。在各种实施方案中的一个或多个实施方案中,可以已经先前生成的树视图可以与创建树视图时提供的树视图规范信息相关联。因此,在一些实施方案中,可视化引擎可以被布置成采用与树视图相关联的标识符来从数据存储库检索其树视图规范。此外,在一些实施方案中,与显示面板中显示的可视化相关联的可视化模型可以被布置成包括或嵌入由可视化模型的作者确定的树视图规范。
在一些实施方案中,树视图规范对于作者可能打算添加到可视化的新树视图可能是不可用的。因此,在一些实施方案中,可视化引擎可以被布置成生成用于新树视图的树视图规范。在一些实施方案中,可视化引擎可以被布置成采用经由配置信息提供的模板或规则来生成用于新树视图的初始树视图规范。
在框1308处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于树视图规范信息和一个或多个数据源来提供一个或多个数据项目。如上所述,在一些实施方案中,数据项目可以用于填充树视图可视化。需注意,在一些实施方案中,可视化中的特定数据项目或其布置可以根据可以提供的可视化模型、树视图规范、查询、过滤器等而变化。例如,图10中示出的中间表1008可以被认为表示可以在树视图可视化中采用的一个或多个数据项目。
在框1310处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于数据项目和树视图规范信息来生成树视图。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成解释树视图规范和可视化模型以生成可以被包括在树视图中的可视化对象。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图14示出了根据各种实施方案中的一个或多个实施方案的用于可视化分级数据的数据处理的过程1400的流程图。在开始框之后,在框1402处,在各种实施方案中的一个或多个实施方案中,向可视化引擎提供一个或多个数据对象。如上所述,可视化模型可以与可视化引擎可以用于从一个或多个底层数据源检索值的一个或多个数据模型相关联。例如,如上所述,雇员、管理者等可以被认为是数据对象。
然而,本领域普通技术人员应当理解,数据对象的数量或类型可以根据可以与可视化相关联的特定数据源、数据模型等而变化。在实践中,对于一些实施方案,可以存在更多或更少的数据对象,其中的一些或全部数据对象可以与树视图或树视图规范相关联。
在框1404处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成确定所述一个或多个数据对象之间的一个或多个分级关系。在各种实施方案中的一个或多个实施方案中,可以在一个或多个树视图规范中定义数据对象中的一些或全部数据对象之间或之中的分级关系。同样地,在一些实施方案中,可视化平台可以被布置成提供交互式用户界面,这些交互式用户界面使得用户或可视化作者能够动态地标识或定义一个或多个数据对象之间的一个或多个关系以即时生成树视图规范。
在框1406处,在各种实施方案中的一个或多个实施方案中,可选地,可视化引擎可以被布置成验证一个或多个所确定的分级关系。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成实施一个或多个规则,所述一个或多个规则验证或确认所述一个或多个数据对象或所述一个或多个关系可以与定义树或树视图所需的一个或多个约束或性质一致。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成评估所述一个或多个数据对象或所述一个或多个关系是否打破由图论定义的树的一个或多个常规约束或性质。例如,在一些实施方案中,可视化引擎可以被布置成拒绝定义可能导致包括循环等的图的树视图的尝试。然而,在一些实施方案中,可视化引擎可以被布置成忽略与树的形式图论定义相关联的一个或多个约束或性质。因此,在一些实施方案中,可视化引擎可以被布置成采用来自配置信息的一个或多个规则来确定可以为树视图实施的特定约束或性质。
需注意,该框被标记为可选的,因为建模引擎或可视化引擎可以被布置成自动地禁止用户或可视化作者定义可能与由建模引擎或可视化引擎实施的树的约束或性质相冲突的树视图。
在决策框1408处,在各种实施方案中的一个或多个实施方案中,如果与数据对象相关联的可视化模型需要一个或多个中间表,则控制可以流向框1410;否则,控制可以流向框1412。在一些实施方案中,可视化模型可以包括可以指示应当生成中间表的一个或多个特征(例如,树视图、汇总表、显示值等)。在其他情况下,对于一些实施方案,用户可以与交互式可视化的触发对一个或多个中间表的需要的一个或多个控件或特征交互。
在框1410处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成生成一个或多个中间表。如上所述,可视化引擎可以被布置成评估所述一个或多个数据对象或所述一个或多个关系以确定可以生成的所述一个或多个中间表。
在框1412处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成生成并显示一个或多个树视图。如上所述,可视化引擎可以被布置成采用所述一个或多个中间表来生成用于在树视图中显示的信息。需注意,在一些实施方案中,树视图不需要具有树状视觉外观。在一些实施方案中,树视图可以被认为是包括基于底层数据的树状结构和树视图规范的信息的视图,而不是必须按照常规表现为树状。例如,在一些实施方案中,基于雇员管理的雇员数量显示雇员分类列表的可视化可以表现为常规列表。然而,在一些实施方案中,可以基于与树视图规范等相关联的一个或多个中间表来生成在列表中显示的值中的一个或多个值。
在决策框1414处,在各种实施方案的一个或多个实施方案中,可选地,如果树视图中的一个或多个节点被展开或折叠,则控制可以流向框1416;否则,控制可以循环回到决策框1414。
在各种实施方案中的一个或多个实施方案中,包括树视图的可视化可以被配置为具有一个或多个交互式特征,所述一个或多个交互式特征使得用户/观看者能够展开或折叠树视图的部分以下钻或上钻到树视图的不同级别。
在各种实施方案中的一个或多个实施方案中,交互式控件或交互式用户界面的特定形式或格式可以取决于可视化中涉及的特定可视化模型或树视图规范。
需注意,在各种实施方案中的一个或多个实施方案中,包括树视图的可视化可以包括包含常规或传统的树状部件(诸如节点、叶、边等)的可视化。然而,本领域普通技术人员应当理解,本文所公开的创新不限于此。因此,在一些情况下,对于一些实施方案,可视化可以显示可视化对象,诸如条形图、饼状图等,其显示来自可能不向观察者表现为“树状”的中间聚合表的数据项目。因此,在一些实施方案中,即使可以基于与树视图相关联的树视图规范中定义的分级关系来确定正在被显示的数据项目,展开或折叠树节点也可能不向观察者表现为树状。
在一些实施方案中,可视化引擎可以被布置成采用树视图规范来存储与交互式树视图相关联的状态信息。在一些实施方案中,这可以包括与各种树状特性(诸如展开的节点、折叠的节点、根节点、焦点节点、树中位置等)相关的状态信息。
需注意,决策框被标记为可选的,因为一些可视化可以不包括使得树节点能够被展开或折叠的交互式控件或用户界面。
在框1416处,在各种实施方案中的一个或多个实施方案中,可选地,可视化引擎可以被布置成响应于一个或多个所展开或折叠的节点来生成或更新一个或多个中间表。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以生成如上所述的一个或多个中间表,以生成用于在可视化中显示的数据项目。在一些实施方案中,可视化引擎可以被布置成将所生成的数据项目存储在易失性存储中,易失性存储可以在用户会话或其他有限时间段期间持续。在一些实施方案中,可以根据需要生成一个或多个中间表。例如,当用户或作者提交查询信息时,可能需要附加中间表。在一些实施方案中,在一些情况下,如果与一个或多个中间表相关联的数据项目在可视化中可能不可见,则可以丢弃所述一个或多个中间表。在一些实施方案中,可视化引擎可以被布置成采用经由配置信息提供的规则、条件、阈值等来确定是否应当保留或丢弃一个或多个中间表。
在一些实施方案中,中间表可以与和所显示的树视图相关联的树视图规范相关联或包括在其中。在一些实施方案中,树视图规范数据结构可以被布置成嵌入中间表。替代地,在一些实施方案中,树视图规范数据结构可以被布置成包括对中间表的引用或指针。
需注意,框被指示为可选的,因为在一些实施方案中,当初始化并显示树视图时,可以生成必要的中间表。此外,在一些情况下,与展开/折叠动作相关联的中间表可能已经代表先前交互。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图15示出了根据各种实施方案中的一个或多个实施方案的用于处理针对用于可视化分级数据的数据处理的查询表达式的过程1500的流程图。在开始框之后,在框1502处,在各种实施方案中的一个或多个实施方案中,可以向可视化引擎提供树查询表达式。在各种实施方案中的一个或多个实施方案中,树查询表达式可以被认为是假定或依赖于可视化中存在树视图的查询表达式。在一些实施方案中,数据模型或可视化模型可以包括可以与树视图或树视图规范相关联的字段、标记、绘图、图等。
在各种实施方案中的一个或多个实施方案中,树查询表达式可以基于与树视图的用户交互来触发。例如,如果用户采取动作来展开或折叠底层树的节点,则可以生成树查询表达式以确定要在可视化中采用的适当值。
此外,在一些实施方案中,可视化平台可以提供使得用户能够交互地提供树查询表达式的用户界面。需注意,在一些实施方案中,树查询表达式可以被认为是涉及被布置成或视为树的数据的其他常规表达式。在各种实施方案中的一个或多个实施方案中,可视化平台可以支持定义的数量或树查询表达式或树查询表达式类型(例如,聚合等)。在一些实施方案中,可视化引擎可以被布置成基于经由配置信息提供的规则、指令、库等来确定一个或多个所支持的树查询表达式类型以考虑本地要求或本地境况。例如,在一些实施方案中,可视化平台可以被布置成使得用户或可视化作者能够提供扩展可以被支持的各种树查询表达式的脚本或库。
在一些实施方案中,如果在可视化中包括树视图,则可视化平台可以被布置成提供自动地实现树视图特征(例如,实现树查询表达式)的用户界面。同样地,在一些实施方案中,在可视化中缺少树视图的情况下,可视化平台可以被布置成禁用实现树查询表达式的特征。
在框1504处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成确定与和可视化相关联的数据模型相关联的树视图规范。在一些实施方案中,支持树查询表达式的可视化模型或数据模型可以与定义所包括/所显示的树视图的一个或多个特征的一个或多个树视图规范相关联。
在决策框1506处,在各种实施方案中的一个或多个实施方案中,如果必要的中间表可以可用,则控制可以流向框1516;否则,控制可以流向框1508。如上所述,在一些实施方案中,可视化引擎可以被布置成采用一个或多个中间表来提供树查询表达式的结果。在一些实施方案中,与树视图相关联的中间表可以被包括在对应于树视图的树视图规范中或由其引用。
在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成在一个或多个相关中间表可以可用的情况下重新使用它们。例如,在一些实施方案中,当初始显示树视图或以其他方式选择树视图以供显示时,可以生成一个或多个中间表。因此,在一些实施方案中,可视化引擎可以被布置成在用户会话的持续时间内将中间表维持在易失性存储器(诸如RAM或临时高速缓存)中。此外,在一些实施方案中,如果在未决会话期间修改底层数据源、数据模型、树视图规范等,则可以丢弃中间表。
在一些实施方案中,可视化引擎可以被布置成持续保存中间表超过用户会话的持续时间。例如,在一些实施方案中,如果底层数据模型包括静态数据和关系,则可视化引擎可以被布置成持续保存中间表超过会话长度。
在框1508处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成确定与查询表达式相关联的一个或多个根节点。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于树查询表达式所包括(或所暗示)的一个或多个数据对象或关系来确定根节点。在一些实施方案中,可视化引擎可以被布置成采用树视图规范来确定对象之间的关系,这些关系可以用于标识树视图中对应于树查询表达式的部分的根节点。在一些实施方案中,树查询表达式可以明确地标识根节点。例如,对于一些实施方案,可视化引擎可以提供交互式可视化,这些交互式可视化使得用户能够选择所显示的对象,使得向所选择的对象提供树查询表达式的根节点。在其他情况下,对于一些实施方案,查询表达式可以就关系而言进行描述,诸如管理者->雇员,而不是包括所标识的对象实例或数据项目。
在框1510处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于树视图规范和查询表达式来遍历树。如上所述,对于一些实施方案,树视图规范可以包括对可以提供树或树状表示的一个或多个数据对象之间的一个或多个关系的定义或声明。因此,在一些实施方案中,可视化引擎可以被布置成响应于树查询表达式而应用相关树视图规范来确定要遍历的树的相关部分。
在框1512处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于遍历生成一个或多个中间表。在一些实施方案中,可视化引擎可以被布置成在相关树部分中的节点可以被遍历访问时累积树查询表达式的结果。在各种实施方案中的一个或多个实施方案中,针对每个节点执行的特定操作可以取决于正在被处理的特定树查询表达式。例如,对于一些实施方案,如果树查询表达式可以请求向管理者报告的雇员的总和,则可视化引擎对每个所访问节点进行计数。在其他示例中,树查询表达式可以包括附加项目,这些附加项目可以包括一个或多个所访问节点以在查询结果中进行包括或排除一个或多个所访问节点以避免在查询结果中进行包括。例如,对于一些实施方案,如果查询被布置成对向管理者报告的本地雇员数量进行计数,则可以应用基于地理位置从结果中排除或包括雇员的过滤器表达式来影响结果。
在决策框1515处,在各种实施方案中的一个或多个实施方案中,如果对树的遍历可以完成,则控制可以流向框1516;否则,控制可以循环回到框1510以继续遍历树部分。
如上所述,在各种实施方案中的一个或多个实施方案中,可视化引擎可以随着对一个或多个树部分的遍历的进展而更新一个或多个中间表。
在框1516处,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成基于查询表达式和中间表来提供一个或多个数据项目。如上所述,在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成响应于树查询表达式而采用所述一个或多个中间表来提供一个或多个数据项目。在各种实施方案中的一个或多个实施方案中,可视化引擎可以被布置成在可视化中采用数据项目中的一些或全部数据项目。需注意,根据可视化模型中包括的过滤器、规则等,可以排除一个或多个数据项目以避免显示(或其他考虑)。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
应当理解,可以由计算机程序指令实现每个流程图图示中的每个框以及每个流程图图示中的框的组合。这些程序指令可以被提供给处理器以产生机器,使得在处理器上执行的指令创建用于实现在每个流程图框或多个框中指定的动作的装置。计算机程序指令可以由处理器执行以使得由处理器执行一系列操作步骤以产生计算机实现的过程,使得在处理器上执行的指令提供用于实现在每个流程图框或多个框中指定的动作的步骤。计算机程序指令还可以使得在每个流程图的框中示出的操作步骤中的至少一些操作步骤被并行地执行。此外,这些步骤中的一些步骤还可以在多于一个处理器上执行,诸如可以在多处理器计算机系统中出现。另外,在不脱离本发明的范围或精神的情况下,每个流程图图示中的一个或多个框或框的组合也可以与其他框或框的组合被同时执行,或者甚至以与所示不同的序列执行。
因此,每个流程图图示中的每个框支持用于执行指定动作的装置的组合、用于执行指定动作的步骤的组合、以及用于执行指定动作的程序指令装置。还应当理解,可以由执行指定动作或步骤、或专用硬件和计算机指令的组合的基于硬件的专用系统来实现每个流程图图示中的每个框以及每个流程图图示中的框的组合。前述示例不应被解释为限制性的或详尽的,而是例示性用例,以示出本发明的各种实施方案中的至少一个实施方案的实现方式。
此外,在一个或多个实施方案中(图中未示出),可以使用嵌入式逻辑硬件设备而不是CPU来执行例示性流程图中的逻辑,诸如专用集成电路(ASIC)、字段可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。在一个或多个实施方案中,微控制器可以被布置成直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
Claims (20)
1.一种使用一个或多个处理器生成数据的可视化的方法,所述一个或多个处理器实施指令以执行包括如下的动作:
提供数据模型和树规范,其中所述树规范声明所述数据模型中的两个或更多个对象之间的一个或多个父子关系;
采用所述一个或多个父子关系,以基于所述一个或多个父子关系,从所述两个或更多个对象确定包括一个或多个父对象和一个或多个子对象的树;
基于所述树,确定一个或多个根对象,其中所述一个或多个根对象是与所述树的一个或多个部分的根节点相对应的父对象;
从所述一个或多个根对象遍历所述树,以访问所述树的所述一个或多个部分中的所述一个或多个子对象;
基于所述一个或多个所访问子对象的一个或多个特性,确定一个或多个部分结果,其中所述一个或多个部分结果被聚合和存储在中间表中;和
响应于与所述数据模型中的一个或多个对象相关联的查询,提供对所述查询的响应,所述响应包括基于所述中间表和所述一个或多个部分结果的一个或多个值。
2.根据权利要求1所述的方法,其中将所述一个或多个部分结果聚合和存储在所述中间表中还包括:
基于所述一个或多个所访问子对象的所述一个或多个特性,确定每个父对象和每个子对象的一个或多个值;和
将一个或多个记录存储在所述中间表中,其中每个记录包括对应于父对象或子对象的标识符和对应于部分结果的值。
3.根据权利要求1所述的方法,其中所述数据源包括布置在一个或多个表中的多个信息记录。
4.根据权利要求1所述的方法,其中确定所述树还包括:基于所述数据模型和所述一个或多个父子关系,确定一个或多个节点和一个或多个边,其中所述树的所述一个或多个节点对应于所述一个或多个父对象或所述一个或多个子对象,并且其中所述树的所述一个或多个边对应于所述一个或多个父子关系。
5.根据权利要求1所述的方法,还包括:
基于包括在对所述查询的所述响应中的所述一个或多个值,显示树视图;和
响应于展开或折叠所述树视图中对应于父对象的节点的一个或多个用户交互,执行包括如下的进一步动作:
基于所展开或折叠的节点,更新所述查询;
基于所更新的查询,生成一个或多个其他部分结果;
基于所述一个或多个部分结果,更新所述中间表;
基于所更新的查询和所更新的中间表,生成包括一个或多个其他值的对所述查询的另一个响应;和
基于所述一个或多个其他值,更新所显示的树视图。
6.根据权利要求1所述的方法,还包括:
生成包括数据面板、显示面板和树视图的图形用户界面(GUI);
采用所述数据面板,以显示数据源或所述数据模型的能够包括在所述树视图中的一个或多个部分;和
采用所述树视图,以显示用于可视化所述树的一个或多个图表或绘图。
7.根据权利要求1所述的方法,还包括:
显示用于可视化所述树的树视图,其中能够通过所述树视图提供一个或多个用户输入;
基于所述一个或多个用户输入,更新所述树视图的外观;和
基于树视图的当前状态,更新所述树规范。
8.一种包括用于生成数据的可视化的指令的处理器可读非暂态存储介质,其中由一个或多个处理器实施所述指令执行包括如下的动作:
提供数据模型和树规范,其中所述树规范声明所述数据模型中的两个或更多个对象之间的一个或多个父子关系;
采用所述一个或多个父子关系,以基于所述一个或多个父子关系,从所述两个或更多个对象确定包括一个或多个父对象和一个或多个子对象的树;
基于所述树,确定一个或多个根对象,其中所述一个或多个根对象是与所述树的一个或多个部分的根节点相对应的父对象;
从所述一个或多个根对象遍历所述树,以访问所述树的所述一个或多个部分中的所述一个或多个子对象;
基于所述一个或多个所访问子对象的一个或多个特性,确定一个或多个部分结果,其中所述一个或多个部分结果被聚合和存储在中间表中;和
响应于与所述数据模型中的一个或多个对象相关联的查询,提供对所述查询的响应,所述响应包括基于所述中间表和所述一个或多个部分结果的一个或多个值。
9.根据权利要求8所述的介质,其中将所述一个或多个部分结果存储在所述中间表中还包括:
基于所述一个或多个所访问子对象的所述一个或多个特性和所述查询,确定与所述查询相关联的每个父对象和每个子对象的一个或多个值;和
将一个或多个记录存储在所述中间表中,其中每个记录包括对应于父对象或子对象的标识符和对应于部分结果的值。
10.根据权利要求8所述的介质,其中所述数据源包括布置在一个或多个表中的多个信息记录。
11.根据权利要求8所述的介质,其中确定所述树还包括:基于所述数据模型和所述一个或多个父子关系,确定一个或多个节点和一个或多个边,其中所述树的所述一个或多个节点对应于所述一个或多个父对象或所述一个或多个子对象,并且其中所述树的所述一个或多个边对应于所述一个或多个父子关系。
12.根据权利要求8所述的介质,还包括:
基于包括在对所述查询的所述响应中的所述一个或多个值,显示树视图;和
响应于展开或折叠所述树视图中对应于父对象的节点的一个或多个用户交互,执行包括如下的进一步动作:
基于所展开或折叠的节点,更新所述查询;
基于所更新的查询,生成一个或多个其他部分结果;
基于所述一个或多个部分结果,更新所述中间表;
基于所更新的查询和所更新的中间表,生成包括一个或多个其他值的对所述查询的另一个响应;和
基于所述一个或多个其他值,更新所显示的树视图。
13.根据权利要求8所述的介质,还包括:
生成包括数据面板、显示面板和树视图的图形用户界面(GUI);
采用所述数据面板,以显示数据源或所述数据模型的能够包括在所述树视图中的一个或多个部分;和
采用所述树视图,以显示用于可视化所述树的一个或多个图表或绘图。
14.根据权利要求8所述的介质,还包括:
显示用于可视化所述树的树视图,其中能够通过所述树视图提供一个或多个用户输入;
基于所述一个或多个用户输入,更新所述树视图的外观;和
基于树视图的当前状态,更新所述树规范。
15.一种用于生成数据的可视化的系统,包括:
网络计算机,所述网络计算机包括:
存储器,其至少存储指令;和
一个或多个处理器,其执行指令,所述指令执行包括如下的动作:
提供数据模型和树规范,其中所述树规范声明所述数据模型中的两个或更多个对象之间的一个或多个父子关系;
采用所述一个或多个父子关系,以基于所述一个或多个父子关系,从所述两个或更多个对象确定包括一个或多个父对象和一个或多个子对象的树;
基于所述树,确定一个或多个根对象,其中所述一个或多个根对象是与所述树的一个或多个部分的根节点相对应的父对象;
从所述一个或多个根对象遍历所述树,以访问所述树的所述一个或多个部分中的所述一个或多个子对象;
基于所述一个或多个所访问子对象的一个或多个特性,确定一个或多个部分结果,其中所述一个或多个部分结果被聚合和存储在中间表中;和
响应于与所述数据模型中的一个或多个对象相关联的查询,提供对所述查询的响应,所述响应包括基于所述中间表和所述一个或多个部分结果的一个或多个值;和
客户端计算机,所述客户端计算机包括:
存储器,其至少存储指令;和
一个或多个处理器,其执行指令,所述指令执行包括如下的动作:
提供所述查询或显示对所述查询的所述响应。
16.根据权利要求15所述的系统,其中将所述一个或多个部分结果存储在所述中间表中还包括:
基于所述一个或多个所访问子对象的所述一个或多个特性和所述查询,确定与所述查询相关联的每个父对象和每个子对象的一个或多个值;
针对与所述查询相关联的每个父对象和每个子对象,生成一个或多个记录,其中每个记录包括对应于父对象或子对象的标识符和对应于部分结果的值;和
将一个或多个记录存储在所述中间表中,其中每个记录包括对应于父对象或子对象的标识符和对应于部分结果的值。
17.根据权利要求15所述的系统,其中所述数据源包括布置在一个或多个表中的多个信息记录。
18.根据权利要求15所述的系统,其中确定所述树还包括:基于所述数据模型和所述一个或多个父子关系,确定一个或多个节点和一个或多个边,其中所述树的所述一个或多个节点对应于所述一个或多个父对象或所述一个或多个子对象,并且其中所述树的所述一个或多个边对应于所述一个或多个父子关系。
19.根据权利要求15所述的系统,其中所述网络计算机的所述一个或多个处理器执行指令,所述指令执行包括如下的动作:
基于包括在对所述查询的所述响应中的所述一个或多个值,显示树视图;和
响应于展开或折叠所述树视图中对应于父对象的节点的一个或多个用户交互,执行包括如下的进一步动作:
基于所展开或折叠的节点,更新所述查询;
基于所更新的查询,生成一个或多个其他部分结果;
基于所述一个或多个部分结果,更新所述中间表;
基于所更新的查询和所更新的中间表,生成包括一个或多个其他值的对所述查询的另一个响应;和
基于所述一个或多个其他值,更新所显示的树视图。
20.根据权利要求15所述的系统,其中所述网络计算机的所述一个或多个处理器执行指令,所述指令执行包括如下的动作:
生成包括数据面板、显示面板和树视图的图形用户界面(GUI);
采用所述数据面板,以显示数据源或所述数据模型的能够包括在所述树视图中的一个或多个部分;和
采用所述树视图,以显示用于可视化所述树的一个或多个图表或绘图。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/370,367 | 2021-07-08 | ||
US17/370,367 US20230008999A1 (en) | 2021-07-08 | 2021-07-08 | Data processing for visualizing hierarchical data |
PCT/US2022/034283 WO2023283042A1 (en) | 2021-07-08 | 2022-06-21 | Data processing for visualizing hierarchical data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117940913A true CN117940913A (zh) | 2024-04-26 |
Family
ID=82608263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280055144.XA Pending CN117940913A (zh) | 2021-07-08 | 2022-06-21 | 用于可视化分级数据的数据处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230008999A1 (zh) |
EP (1) | EP4367582A1 (zh) |
CN (1) | CN117940913A (zh) |
WO (1) | WO2023283042A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689711A (en) * | 1995-04-21 | 1997-11-18 | Bardasz; Theodore | Method and apparatus for representing data dependencies in software modeling systems |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US9779147B1 (en) * | 2014-08-15 | 2017-10-03 | Tableau Software, Inc. | Systems and methods to query and visualize data and relationships |
US10423623B2 (en) * | 2015-02-05 | 2019-09-24 | Sap Se | Hierarchy modeling and query |
US10268753B2 (en) * | 2015-12-22 | 2019-04-23 | Opera Solutions Usa, Llc | System and method for optimized query execution in computerized data modeling and analysis |
US10754867B2 (en) * | 2016-04-08 | 2020-08-25 | Bank Of America Corporation | Big data based predictive graph generation system |
US11620300B2 (en) * | 2018-09-28 | 2023-04-04 | Splunk Inc. | Real-time measurement and system monitoring based on generated dependency graph models of system components |
-
2021
- 2021-07-08 US US17/370,367 patent/US20230008999A1/en active Pending
-
2022
- 2022-06-21 WO PCT/US2022/034283 patent/WO2023283042A1/en active Application Filing
- 2022-06-21 EP EP22744009.6A patent/EP4367582A1/en active Pending
- 2022-06-21 CN CN202280055144.XA patent/CN117940913A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023283042A1 (en) | 2023-01-12 |
US20230008999A1 (en) | 2023-01-12 |
EP4367582A1 (en) | 2024-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11605189B2 (en) | Dynamic visualization and data analytics based on parameter actions | |
US11687571B2 (en) | Interactive lineage analyzer for data assets | |
US11893039B2 (en) | Interactive interface for data analysis and report generation | |
US20240095285A1 (en) | Dynamic graph generation for interactive data analysis | |
US11423217B2 (en) | Flexible table based visualizations | |
US11651003B2 (en) | Interactive data visualization interface for data and graph models | |
US20240111791A1 (en) | Generating shortcut paths between related objects | |
JP2023541584A (ja) | 自動データモデル生成 | |
US20210390483A1 (en) | Interactive forecast modeling based on visualizations | |
JP7313553B2 (ja) | パーソナライズされた推奨に基づいたデータ可視化の提供 | |
US20230008999A1 (en) | Data processing for visualizing hierarchical data | |
US11188558B2 (en) | Parenting computed fields with data objects | |
US20230113933A1 (en) | Visualizing temporal information | |
US20230065227A1 (en) | Providing data flow directions for data objects | |
CN117716352A (zh) | 数据资产的元数据继承 | |
EP4348435A1 (en) | Metadata inheritance for data assets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |