CN101908056A - 从任意二维数据集中识别和抽象可视化点的设备和方法 - Google Patents
从任意二维数据集中识别和抽象可视化点的设备和方法 Download PDFInfo
- Publication number
- CN101908056A CN101908056A CN2010101905188A CN201010190518A CN101908056A CN 101908056 A CN101908056 A CN 101908056A CN 2010101905188 A CN2010101905188 A CN 2010101905188A CN 201010190518 A CN201010190518 A CN 201010190518A CN 101908056 A CN101908056 A CN 101908056A
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- visual
- dimentional
- strategy
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- 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/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/838—Presentation of query results
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种从任意给定的二维数据集中确定一组可视化点以最优描述给定可视解析的系统和方法。在数据处理设备中接收针对图表的第一用户选择。针对图表确定与第一用户选择关联的图表类型。根据图表类型,从策略池数据库中获取一个或多个可视化策略。在数据处理设备中接收针对二维数据集的第二用户选择,该数据集从与数据处理设备通信的数据提供者获得。分析二维数据集,以从策略池数据库中的一个或多个可视化策略中确定最优策略。基于所述最优策略生成代表二维数据集的元数据,并根据所述最优策略生成代表该元数据的显示,以可视化所述二维数据集。
Description
技术领域
本公开一般涉及计算机系统可视化工具,更具体来说,涉及从任意二维数据集中识别和抽象可视化点(它能最优描述给定的可视解析)为统一元数据以供进一步使用的设备和方法。
背景技术
如今,存在这样的算法:允许数据消费者以一个数据集作为输入,然后确定最优的可视解析来描述该数据集。可视解析可以是用于显示在图形用户界面中的任何可视组件,例如,线图。在数据集和可视解析二者都被限定的情况下,一种方法是从给定的数据集中确定最优地描述给定可视解析的可视化点。术语“可视化点”指的是将在可视解析中显示的数据,包括数据点、类别标签、序列名称等。但是,此方法只能处理普通数据集,在处理高级数据集的时候需要人工交互。
以Xcelsius为例。Xcelsius是一个数据可视化软件产品,使用如Excel数据模型这样的静态数据,并将其转换成可视解析(也即,交互式可视界面),以提供更好的商业洞察力、分析推理和管理。因为常见的情形是,在一个组织采用类似Xcelsius的产品之前很早便已创建了该组织内部的Excel数据模型,所以重做或调整供Xcelsius使用的所有数据模型成本高且困难重重。换言之,Xcelsiu必需提供一种更高明的方法来接收普通数据集之外的任何现有的数据模型(或数据集)以用于可视解析使用。
另一个例子是SAP的Business Objects On-Demand产品中的“Whohar社区”项目。Whohar社区的目标是提供数据提供者(其向Whohar服务器数据库贡献大量数据)和数据消费者(其使用数据以进行可视化)之间的市场。从互联网的本质上说,数据提供者和数据消费者之间经常没有联系。因此,数据消费者常常需要对于数据做出最优猜测(除非在数据使用期间存在数据图解),或者让数据提供者仅以最明显的方式格式化其数据。
数据可视化能够有助于快速提供对大量数据的商业洞察力。数据可视化中有两方:数据提供者和数据消费者(如:在本情况中的图表引擎,或可视解析引擎)。所述数据提供者是提供数据集(如数据库、电子表格等)的系统(或过程),而所述图表引擎是以数据集为输入并创建可视表示(例如条形图)的系统(或过程)。在所述的一般方法中,数据提供者产生数据集,并以一种最相关的方式对它格式化,以便图表引擎可最有效地识别用于给定的可视解析的可视化点。
这种一般的方法至少存在两个问题:1)复杂性-数据提供者只能以最普通的方式格式化数据集,因此数据提供者和数据消费者两方都不能处理复杂的场景,至少在没有人工交互的情况下不能;以及2)灵活性-数据提供者和数据消费者(例如,该情况中的图表引擎)紧密关联,因此数据提供者往往只能为一个特定的数据消费者提供数据集以供使用。如果其它的数据消费者希望使用同样的数据,就会存在兼容性问题。
例如,Business Objects的Xcelsius只有在数据集已经格式化从而假定其序列名称和类别标签都出现在线图的顶部或左部区域的情况下,才能为存储于Microsoft Excel(也即,数据提供者)中的给定数据集创建可视解析。图1A及图1B示出了两个场景,这两个场景包含了用于相同可视解析(例如,线图)的两个数据集。图1A是一个现有方法支持的普通情况,而图1B是一个当前不被支持的复杂情况,该情况没有现成的方法可用而需要人工交互。
对于不支持的情况,当前可用的可视化工具中的可视引擎需要人机交互,以显式指定数据集和可视解析之间的映射。当用户为给定的解析选择了数据集时,数据集中的数据将被提取出来匹配可视解析的内部数据结构。
发明内容
本文件讨论了一种使得数据消费者能够从任意二维数据集中使用用于给定可视解析的可视化点的系统和方法。
概括地说,本文件描述了一种可以(从任意给定的二维数据集)确定一组可视化点以最优描述和匹配给定的一维和二维可视解析的系统和方法。因为该最优匹配算法和策略池的引入,在此描述的实施例提供了一种灵活和开放的构架,该构架无需现有技术解决方案中的人工交互,可将任意的数据模 型转换为所选可视解析的可视化点。
根据一些实施例,描述了将任意的数据集表示抽象为用于任意给定的一维和二维可视解析的可视化点(存储为元数据)的系统和方法。此处所述的实施例进一步提供了一组可由用户输入的数据提取策略(也即,策略池)和内置的策略集,同时提供针对给定的数据集和可视解析选择最优策略的最优匹配算法。此外,这些实施例为用户提供了以用户友好方式创建新的数据抽象策略的方法,并允许用户使用该用户友好方式,将数据集绑定到任意给定的一维或二维可视分析。
在一个实施例中,描述了一种可以从任意的二维数据集中抽象出描述所选可视解析的最优可视化点的系统。所述系统包括计算机程序指令,这些指令编码在计算机可读介质中供数据处理设备执行,这些指令被组织成大量的功能模块。这些功能模块包括:数据提供者模块,被适配为从数据源获取数据并将获取的数据抽象成二维数据集;数据提取模块,被适配为接收二维数据集,从该二维数据集确定可视化点,并将可视化点格式化为元数据;数据可视化模块,被适配为基于元数据生成该二维数据集的一维或二维可视表示。
在另一些实施例中,系统从任意二维数据集中抽象出描述选定的可视解析的最优可视化点。所述系统包含编码在计算机可读介质中供数据处理设备执行的计算机程序指令。这些计算机程序指令使数据处理设备:从数据源获取数据,将获取的数据抽象成二维数据集,从二维数据集中确定可视化点,将可视化点格式化为元数据,并基于元数据生成该二维数据集的一维或二维可视表示。
在再一些实施例中,介绍了一种从任意二维数据集中抽象出描述所选可视解析的最优可视化点的计算机实施的方法。所述方法包括如下步骤:在数据处理设备中接收关于图表的第一用户选择,确定与第一用户选择相关联的图表类型,并基于该图表类型从策略库中获取一个或多个可视化策略。该方法进一步包括在数据处理设备中接收关于二维数据集的第二用户选择,该数据集来自于与数据处理设备通信的数据提供者,并分析该二维数据集,在从策略池数据库获取的一个或多个可视化策略中确定最优策略。该方法进一步包含基于该最优策略生成代表该二维数据集的元数据,并根据最优策略生成代表该元数据的显示,以可视化所述二维数据集。
一个或多个实施例的细节将结合附图和下面的描述进行阐述。从说明书和附图以及权利要求书中,其它的特征和优点将变得清楚。
附图说明
通过参考以下附图,本申请的这些和其它方面将会得到详细的阐述。
图1A及图1B示出两个场景,这两个场景包含了用于相同可视解析的两个数据集。
图2示出一个可视化抽象系统的实施例。
图3示出可视化抽象系统的用户工作流程。
图4示出可视化抽象系统用户界面的详细视图。
图5示出可视化抽象系统的高层构架。
图6示出数据提取层。
图7是示出数据提取层内数据流的流程图。
图8示出两个数据消费者如何使用相同元数据的例子。
图9示出有行列索引的表。
图10示出可视解析和数据集之间的映射关系。
图11示出用于一维图表的内置策略和新生成的策略的列表。
图12示出用于二维图表的内置策略和新生成的策略。
图13示出一个最优匹配策略,通过该策略可将数据集分成五个区域。
图14描述了一棵用于一维图表的决策树。
图15示出了一棵在多步决策过程中实现的用于二维图表的决策树。
图16示出生成用户定义策略的工作流程。
不同附图中的类似参考符号表示类似元素。
具体实施方式
本文件描述了从任意给定的两维数据集中确定一组可视化点以最优描述给定的一维或二维可视解析的系统和方法。所述系统和方法执行最优匹配算法,该算法拥有一组内置策略以及可扩展策略池。所述系统和方法提供了一种灵活且可扩展的设计而不需要人工输入和交互,该设计可转换任意给定的数据模型来产生可视化点的元数据描述,所述可视化点最优描述了数据消费者所选的可视解析。一般来说,此处所述的系统和方法,可应用于可采用 二维数据集并提供可视表示的任何应用(例如,电子表格、可视化工具等)。
图2示出了系统50的一个实施例。系统50包括用户界面100、可视解析组件102、所选可视解析的数据集展示104和数据集106。系统50的每个组件可以在某一应用的图形用户界面中一起显示,例如,在从相同或不同的计算系统生成以供显示的时候。每个组件进一步详细描述如下。
图3示出了所述系统的用户工作流程200。在202,用户选择可视解析组件,在204,用户为所选可视解析组件从数据提供者中选择数据集。在206,用户将看到以选定的可视解析呈现(render)的所选数据集。用户选择可视解析后,针对该方法的数据提取策略集检查数据集,并由系统计算最优匹配的数据提取策略。然后,系统从数据集中提取代表一个或多个可视化点的数据,由可视解析引擎将提取的数据格式化为元数据以供使用。
图4是系统50中用户界面100的详细视图。用户界面100包含用户可选的控制按钮301,控制按钮301可用于手动绑定数据集到所选的可视解析。用户界面100还包括:用户选择显示302,用以显示用户选择的数据集;以及策略池展示303,用于显示系统50生成的数据提取策略集。所述策略池展示303可以由一个或多个滚动控制条304导航,被选定的策略305通过高亮或者差别化阴影等突出显示。
图5示出了系统50的高层架构400。高层架构400包括数据提供者层402、数据提取层404以及数据可视化层406。高层架构400的每一层将详细阐述如下。
数据提供者层402提供了数据提供者的逻辑表示。其目的是将来自数据库、电子表格或平面文件的数据抽象成一个二维(也即,行/列表示)数据集,该数据集作为数据提取层404的输入。数据提取层404使用“最优匹配建议引擎”,从两维数据集中确定可视化点,以便最优描述用户所选的可视解析,并使用“提取引擎”从数据集中提取可视化点(如类别标签、序列名称和序列数据)形成元数据。数据提取层404将元数据提供给构成数据可视化层406的图形引擎。
图6示出数据提取层404,其以由行和列表示的二维数据集501作为输入。在一个优选的示范实施例中,二维数据集是可如下定义的XML数据集:
<!ELEMENT DataSet(Row*)>
<!ELEMENT Row(Column*)>
<!ATTLIST Row rowId CDATA #REQUIRED>
<!ELEMENT Column(#PCDATA)>
<!ATTLIST Column columnId CDATA #REQUIRED>
<!ATTLIST Column formatting CDATA #REQUIRED>
数据提取层404可支持多种可视解析502(最好是图表格式)。例如,可视解析502可以是一维图表,它的可视化点包括单个值(x值),如线图、柱形图、条形图以及/或面积图等。可替换地,可视解析502可以是二维图表,它的可视化点既包括x值也包括y值,如一个XY图表等。可视解析502的可视化点被格式化成元数据表示503,以供数据可视化406层进一步使用,并且可以定义如下:
<!ELEMENT MetaData(CategoryLabels?,SeriesArray)>
<!ATTLIST MetaData seriesCount CDATA #REQUIRED>
<!ELEMENT CategoryLabels(Label*)>
<!ELEMENT Label(#PCDATA)>
<!ATTLIST Label index CDATA #REQUIRED>
<!ATTLIST Label formatting CDATA #REQUIRED>
<!ELEMENT SeriesArray(Series+)>
<!ELEMENT Series(SeriesName?,SeriesData)>
<!ATTLIST Series seriesId CDATA #REQUIRED>
<!ELEMENT SeriesName(#PCDATA)>
<!ATTLIST SeriesName formatting CDATA #REQUIRED>
<!ELEMENT SeriesData(Data+)>
<!ELEMENT Data(#PCDATA)>
<!ATTLIST Data index CDATA #REQUIRED>
<!ATTLIST Data formatting CDATA #REQUIRED>
数据提取层404还包括策略池504,策略池504存储内置的策略和/或用户定义的策略。最优匹配建议引擎505处理给定的数据集和可视解析,以便为它们生成最优匹配策略,然后提取引擎506根据最优匹配策略提取数据集,生成一个或多个可视化点。
图7是示出了可视化抽象系统的数据提取层中的数据流的流程图600。 在602,用户选择在用户界面中显示的画面上的一个可视解析(例如,线图)。在604,图表类型通过用户选择信号来确定。在606,系统为所选的可视化(即,基于图表类型)加载可用策略。在608,系统接收数据集的用户输入选择,所述数据集来自于数据提供者,在610,系统分析数据集并建议最优匹配策略,该最优匹配策略将转而提供给用户。
在612,用户输入确定是否接受最优匹配策略。如果最优匹配策略不被接受,则在614,系统可接收用户输入,以便从提供给用户的列表中选择提取策略,之后,在616,所选策略用来提取数据并生成元数据。如果最优匹配策略被接受,那么在618使用该最优匹配策略提取数据并生成元数据。在620,元数据被传递到图表引擎,在622,图表引擎可视化元数据,也即,使用元数据定义的可视化点生成可视解析。
数据可视化层406包括图表引擎,图表引擎可以根据来自数据提取层404的元数据创建一维或二维的可视表示(例如,线图、条形图)。元数据为可视化(例如,线图、柱形图、条形图、XY图)描述了逻辑数据结构(或可视化点),而不论数据提供者层402提供的数据集的原始格式为何。
图8示出了这样一个例子:两个数据消费者,如Xcelsius和Whohar,如何能够使用相同的元数据,所述元数据根据这里所描述的系统和方法的实施例生成。一个可能生成条形图700,而另一个可能生成线图800,各自都有类别标签(701,801)、数据序列1(702,802)和数据序列2(703,803)。
在优选示范实施例中,所述一个或多个策略可应用于m行n列(例如,m*n数据集),因此,所应用的给定策略的数据集可定义如下:
其中,如图9所示,Hi(1≤i≤n)是列索引902,j(1≤j≤m)是行索引904。
所述策略池存储所有可用的数据提取策略,包括内置的策略和用户定义的策略。策略定义了可视解析和数据集之间的映射关系。每一个策略包含三 个部分:类别标签、序列名称和序列数据。策略形式上可定义如下:
(Qj,Pj∈{H1,H2,…,Hn};qj,pj∈{1,2,…,m};m,n,w,k,v,j∈N;2≤m≤∞;2≤n≤∞;)
下面是一个示范策略的XML/DTD:
<!ELEMENT Strategy(Prerequisite?,SeriesCategory,Series)>
<!ATTLIST Strategy name CDATA #REQUIRED>
<!ATTLIST Strategy description CDATA #REQUIRED>
<!ELEMENT Prerequisite EMPTY>
<!ATTLIST Prerequisite minRow CDATA #IMPLIED>
<!ATTLIST Prerequisite maxRow CDATA #IMPLIED>
<!ATTLIST Prerequisite minColumn CDATA #IMPLIED>
<!ATTLIST Prerequisite maxColumn CDATA #IMPLIED>
<!ELEMENT SeriesCategory EMPTY>
<!ATTLIST SeriesCategory orientation(horizontal|vertical)″horizontal″>
<!ATTLIST SeriesCategory row CDATA #IMPLIED>
<!ATTLIST SeriesCategory startColumn CDATA #IMPLIED>
<!ATTLIST SeriesCategory endColumn CDATA #IMPLIED>
<!ATTLIST SeriesCategory column CDATA #IMPLIED>
<!ATTLIST SeriesCategory startRow CDATA #IMPLIED>
<!ATTLIST SeriesCategory endRow CDATA #IMPLIED>
<!ELEMENT Series(Rule+)>
<!ATTLIST Series startRow CDATA #REQUIRED>
<!ATTLIST Series endRow CDATA #REQUIRED>
<!ATTLIST Series startColumn CDATA #REQUIRED>
<!ATTLIST Series endColumn CDATA #REQUIRED>
<!ATTLIST Series seriesCount CDATA #REQUIRED>
<!ATTLIST Series dataSize CDATA #REQUIRED>
<!ELEMENT Rule(Condition?,SeriesName,SeriesData+)>
<!ATTLIST Rule name CDATA #REQUIRED>
<!ELEMENT Condition(#PCDATA)>
<!ELEMENT SeriesName EMPTY>
<!ATTLIST SeriesName value CDATA #IMPLIED>
<!ATTLIST SeriesName row CDATA #IMPLIED>
<!ATTLIST SeriesName column CDATA #IMPLIED>
<!ELEMENT SeriesData EMPTY>
<!ATTLIST SeriesData index CDATA #REQUIRED>
<!ATTLIST SeriesData orientation(horizontal|vertical)″horizontal″>
<!ATTLIST SeriesData row CDATA #IMPLIED>
<!ATTLIST SeriesData startColumn CDATA #IMPLIED>
<!ATTLIST SeriesData endColumn CDATA #IMPLIED>
<!ATTLIST SeriesData column CDATA #IMPLIED>
<!ATTLIST SeriesData startRow CDATA #IMPLIED>
<!ATTLIST SeriesData endRow CDATA #IMPLIED>
策略1可描述为如图10中所示。使用XML格式,策略1可表示如下:
<?xml version=″1.0″?>
<!DOCTYPE Strategy SYSTEM″series.dtd″>
<Strategy name=″one dimensional chart extraction″description=″″>
<Prerequisite minRow=″2″minColumn=″2″/>
<SeriesCategory orientation=″horizontal″ row=″1″ startColumn=″1″
endColumn=″{rangeColumnCount}″/>
<Series startRow=″2″endRow=″{Range.rowCount}″ startColumn=″1″
endColumn=″{rangeColumnCount}″ seriesCount=″{dataRangeRowCount/2}″
dataSize=″1″>
<Rule name=″series_i″>
<SeriesName value=″Series{seriesIndex}″/>
<SeriesData index=″1″orientation=″horizontal″row=″{seriesIndex}″
startColumn=″2″endColumn=″{dataRangeColumnCount}″/>
</Rule>
</Series>
</Strategy>
所述系统可定义至少一个内置策略,以处理一般的和复杂的数据集表示。在一个示范实施例中,系统提供了16个用于一维图表的内置策略。图11列出了用于一维图表的所有内置策略,其中策略3、4、5、6、7、8、9、12、15和16是新生成且唯一的策略。图12列出了用于二维图表的内置策略,除了策略1和策略2之外,其它所有的策略对于当前所述的实施例都是唯一的。
所述系统和方法使用了两个算法,包括建议引擎中的“最优匹配策略”和提取引擎中的“元数据数据提取”。最优匹配策略算法通过首先识别数据集中的序列名称和类别标签来确定最优策略,然后根据如下所示的决策树找出数据提取的最优策略。
如图13中的例子所示,该数据集可分为五个区域,图13详细示出了最优匹配策略。这五个区域可以是:中部、顶部、底部、左部和右部。在一些实施例中,类别标签和序列名称只能出现在顶部、左部、右部或底部区域且以字符串类型。但是,类别标签和序列名称不能二者同时出现在顶部和底部区域,也不能二者同时出现在左部和右部区域。例如,如果类别标签显示在顶部区域,那么序列名称就不应该出现在底部区域。因此,在任意给定的数据集1010内可存在序列名称和类别标签的9种可能布局。以下算法是所述最优匹配算法的伪码,该算法将数据集、选定的可视解析的图表类型作为输入参数,并输出给定数据集的最优匹配策略:
算法1:最优匹配策略算法
1 Input:dataset,chartType*/输入:数据集,图表类型
2 Output:best match strategy*/输出:最优匹配策略
3 calculateBestMatchStrategy(dataset,chartType)
4 {
5 Parse the dataset; */解析数据集;
6 Get top,bottom,left and right region; */获得顶部,底部,中部和右部区域;
7
8 if(top is string)tag_top=1;else tag_top=0;
9
10 if(bottom is string)tag_bottom=1;else tag_bottom=0;
11
12 if(left is string)tag_left=1;else tag_left=0;
l3
14 if(right is string)tag_right=1;else tag_right=0;
15
16 switch(chartType)
17 {
18 1D chart:
19 bestMatchStrategy=Find best match strategy in one dimensional chart best match strategy
decision-tree; */在一维图表最优匹配策略决策树中找到最优匹配策略;
20 break;
21
22 2D chart:
23 bestMatchStrategy=Find best match strategy in two dimensional chart best match strategy
decision-tree; */在二维图表最优匹配策略决策树中找到最优匹配策略;
24 break;
25 }
26
27 return bestMatchStrategy;
28 }
图14中的决策树描述了用于一维图表的整体算法。第一步是验证输入数据集顶部区域的数据类型,然后算法遍历树直到到达找到最优策略的叶节点。
图15示出了一个在多步决策过程中实施的用于二维图表的决策树。首先,使用一维决策树识别数据集中的类别标签、序列名称和序列数据。在这种情况下,叶节点会导向下一步,而不是最优策略。其次,检查数据区域(也即,序列数据)的行数和列数,以找出最优策略。例如,从第一步开始,如果识别出数据区域在底部/右部区域,并且两个区域都是字符串类型,则如果第二步中数据区域中的行数是偶数,则策略15(1202)被确定为最优匹配策略。
下面的算法被用于根据所选策略,从数据集中提取可视化点,生成元数据。
算法2:提取算法
1 Input:dataset,best match strategy */输入:数据集,最优匹配策略
2 Output:metadata */输出:元数据
3 extracteDataByStrategy(dataset,strategy)
4 {
5 Parse the strategy. */解析策略
6
7 Parse the dataset,get the number of rows and columns of the dataset;*/解析数据集,得到数据集
的行列数
8
9 //Instantiate the m & n fo the strategy */初始化策略中的m和n
10 strategy.m=dataset.row_number;
11 strategy.n=dataset.column_number;
12
13 Compute Category Labels,Series Names and Series Data;*/计算分类标签、序列名称和序列
数据;
14
15 Compose metadata; */组成元数据;
16
17 return metadata;
18 }
19
策略池存储了内置策略集,内置策略集囊括了最常见的情况。同时,用户可以创建他们自己的策略,并将其以XML表示的形式保存在策略池中。用户至少有三种方法创建他们自己的策略:1)写出符合上述DTD/XML描述的策略;2)使用内置的XML工具创建策略的xml文件;3)使用图形化编辑器即时地生成策略XML。
图16示出了产生用户定义策略的工作流程。用户可以通过手动绑定数据集(例如,序列名称、序列数据和类别标签)到可视解析,然后点击“保存为新策略”按钮,来创建新策略。然后策略生成模块会生成并自动保存用户定义的策略。
本说明书所述的部分或全部功能,包括在本说明书中所公开的结构和它们的结构等价物,可以在数字电子电路或者在计算机软件、固件或硬件或它们的组合中实施。本申请的实施例可以实施为供数据处理设备执行或控制数据处理设备的操作的一个或多个计算机程序产品,也就是说,在计算机可读介质上经编码的一个或多个计算机程序指令模块,以供数据处理设备执行或控制数据处理设备的运行,计算机可读介质例如机器可读存储装置、机器可读存储介质、存储装置或机器可读传播信号。
术语“数据处理设备”囊括所有用于处理数据的设备、装置和机器,举例来说,包括可编程处理器、计算机或多个处理器或多个计算机等。除硬件外,所述设备还可包括为当前计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的组合的代码。传播信号是人工生成的信号,例如,机器产生的电、光或电磁信号,生成这些信号以对信息进行编码,用于传输到合适的接收设备。
计算机程序(也称为程序、软件、应用程序、软件应用程序、脚本或代码)可使用任何编程语言编写,包括编译或解释语言,并且,它可以以任何形式部署,包括作为独立的程序或作为模块、组件、子程序或其他适合在计算机环境使用的个体。计算机程序并不一定对应文件系统中的文件。程序可以作为文件的一部分存储在文件中,这个文件还同时包含其他程序或数据(例如,在标记语言文件中存储的一个或多个脚本),可以存储在单独的当前问题专用的文件中,或者存储于多个协同的文件中(例如,存储一个或多 个模块、子程序或部分代码的文件)。计算机程序可以部署为在一台计算机或多台计算机上执行,这些计算机可以位于一个站点,或跨多个站点分布,并由通信网络相互连接。
本说明书中所述的处理和逻辑流可以由一个或多个可编程处理器执行,处理器执行一个或多个计算机程序,以通过对输入数据执行操作和生成输出来实现功能。过程和逻辑流也可以由专用逻辑电路执行,并且设备也可以实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任意一个处理器和多个处理器。一般来说,处理器将接收来自只读存储器或随机存取存储器或者两者的指令和数据。计算机的基本组件是用于执行指令的处理器,以及用于存储指令和数据的一个或多个存储设备。一般来说,计算机也可以包括或者可操作地耦合至通信接口,用以从一个或多个大容量存储设备,如磁盘、磁光盘或光盘,接收数据或传输数据至这些存储设备,或两者兼而有之。
此外,计算机可以嵌入到其他装置,仅举几例,例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器等。适合具体体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,举例来说,包括:半导体存储器件,如EPROM、EEPROM和闪存装置;磁盘,如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM光盘。所述处理器和存储器可由专用逻辑电路补充,或并入专用逻辑电路。
为提供与用户的交互,本申请的实施例可以实现在这样的计算机上,该计算机具有:显示装置如CRT(阴极射线管)或LCD(液晶显示器),用于向用户显示信息;以及键盘和指针设备,如鼠标或轨迹球,用户可以通过它们提供输入到计算机。也可使用其它类型的装置以提供与用户的交互,例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;也可接收任何形式的用户输入,包括声音、语音或触觉输入。
本申请的实施例可以实施在这样的计算机系统上,该计算机系统包含后端组件,例如,数据服务器;或包含中间件组件,例如,应用服务器;或包含前端组件,例如,有图形用户界面或Web浏览器的客户计算机,通过它用户可以与本申请的实施例交互;或任何这些后端、中间件、或前端组件的 组合。该系统的组件可以通过数字数据通信的任何形式或媒介连接,例如,通信网络。通信网络的例子包括局域网(“LAN”)和广域网(“WAN”),如互联网。
计算机系统可以包括客户端和服务器。一般而言,客户端和服务器距离较远,并且一般通过通信网络交互。客户端和服务器之间的关系由于运行在各自计算机上且相互之间具有客户端-服务器关系的计算机程序而产生。
为清楚起见,在本说明书中在各个实施例中分别描述的某些特性,也可以以组合的形式出现在一个实施例中。相反,为简要起见,在一个实施例中描述的各种功能,也可以在多个实施例分别提供,或以任何合适的子组合的形式提供。此外,虽然这些特征可以如上所述以特定组合形式出现,甚至最初如此声明,但是在某些情况下所声明的组合中的一个或多个特征可以从该组合中脱离,且所声明的组合可以导出子组合或者子组合的变形。
已描述了本申请的特殊实施例。其它实施例包含在以下权利要求中。例如,在权利要求书中陈述的步骤可以按不同的顺序执行且依然能达到预期的效果。此外,本申请的实施例不限于关系数据库架构类型;例如,本申请可以为针对非关系模型的模型构建的数据库(如导航数据库或者面向对象的数据库)以及具有带复杂属性结构(如面向对象编程的对象或标记语言文件)记录的数据库提供索引和存档方法和系统。所述的过程可以通过专门执行存档和检索功能的应用实现,或者嵌入在其他的应用中。
Claims (20)
1.一种从任意二维数据集中抽象出用以描述所选可视解析的最优可视化点的系统,所述系统包括:
编码在计算机可读介质中供数据处理设备执行的计算机程序指令,所述计算机程序指令被组织成两个或多个功能模块,这些功能模块包括:
数据提供者模块,被适配为从数据源获取数据,并将获取的数据抽象成二维数据集;
数据提取模块,被适配为接收二维数据集,从二维数据集中确定可视化点,并将可视化点格式化为元数据;
数据可视化模块,被适配为基于元数据,生成二维数据集的一维或二维可视表示。
2.如权利要求1的所述的系统,其中,所述数据提取模块包括最优匹配建议引擎,该引擎基于存储在策略池数据库并从策略池数据库中获取的一个或多个可视化策略中的最优策略,从二维数据集中确定可视化点。
3.如权利要求2所述的系统,其中,所述数据提取模块还包括提取引擎,用以提取所述最优匹配建议引擎确定的可视化点,并根据最优策略将可视化点格式化为元数据。
4.如权利要求2所述的系统,其中,所述最优匹配建议引擎被配置为分析二维数据集并建议一个或多个可视化策略中的最优策略。
5.如权利要求4所述的系统,其中,所述最优匹配建议引擎还被配置为生成最优策略的显示以展示给所述数据处理设备的用户。
6.如权利要求4所述的系统,其中,基于所述数据处理设备的用户所选的图表类型,从所述策略池数据库获取一个或多个可视化策略。
7.如权利要求6所述的系统,其中,从由一维图形图表和二维图形图表组成的图表类型组中选择所述图表类型。
8.如权利要求7所述的系统,其中,所述系统还包括显示器,其显示由所述数据处理设备生成的图形用户界面,该图形用户界面包含用于显示二维数据集的一维或二维可视表示的区域。
9.一种从任意二维数据集抽象出用以描述所选可视解析的最优可视化点的系统,所述系统包括编码在计算机可读介质上的计算机程序指令,所述 计算机程序指令供数据处理设备执行以使得数据处理设备:
从数据源获取数据;
将所获取的数据抽象为二维数据集;
从该二维数据集确定可视化点;
将可视化点格式化为元数据;以及
基于元数据生成二维数据集的一维或二维可视表示。
10.如权利要求9所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
接收确定图表类型的用户输入,该图表类型选自由一维图形图表和二维图形图表所组成的图表类型组中,所述一维图形图表和二维图形图表分别定义二维数据集的一维或二维可视表示。
11.如权利要求9所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
基于存储于策略池数据库并从该策略池数据库中获取的一个或多个可视化策略中的最优策略,从二维数据集中确定可视化点。
12.如权利要求11所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
生成最优策略的显示以展示给所述数据处理设备的用户。
13.如权利要求11所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
根据最优策略将可视化点格式化为元数据。
14.如权利要求11所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
基于所述数据处理设备的用户所选的图表类型,从所述策略池数据库中获取一个或多个可视化策略。
15.如权利要求14所述的系统,其中,所述计算机程序指令进一步使数据处理设备:
显示由所述数据处理设备生成的图形用户界面,该图形用户界面包含用于显示二维数据集的一维或二维可视表示的区域。
16.一种用于从任意二维数据集中抽象出用以描述所选可视解析的最优可视化点的计算机实施的方法,该方法包括:
在数据处理设备中接收针对图表的第一用户选择;
确定与针对图表的第一用户选择相关联的图表类型;
基于所述图表类型,从策略池数据库中获取一个或多个可视化策略;
在数据处理设备中接收针对二维数据集的第二用户选择,该数据集从与数据处理设备通信的数据提供者获得;
分析二维数据集,以便从自策略池数据库获取的一个或多个可视化策略中确定最优策略;
基于最优策略,生成代表所述二维数据集的元数据;以及
根据最优策略,生成代表所述元数据的显示以可视化二维数据集。
17.如权利要求16所述的计算机实施的方法,其中,所述图表类型从由一维图形图表和二维图形图表组成的图表类型组中选择。
18.如权利要求16所述的计算机实施的方法,其中,分析二维数据集以便从自策略池数据库获取的一个或多个可视化策略中确定最优策略还包括:提示用户选择最优策略或输入另外的最优策略。
19.如权利要求16所述的计算机实施的方法,其中,所述根据最优策略生成代表元数据的显示以可视化二维数据集的过程还包括:
生成图形用户界面;以及
在图形用户界面的部分区域中生成代表元数据的显示,以可视化二维数据集。
20.如权利要求16所述的计算机实施的方法,其中,所述根据最优策略生成代表元数据的显示以可视化二维数据集的过程还包括:生成从策略池数据库获取的一个或多个可视化策略的显示,供用户选择最优策略。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/477,830 US8725775B2 (en) | 2009-06-03 | 2009-06-03 | Identifying and abstracting a visualization point from an arbitrary two-dimensional dataset into a unified metadata for further consumption |
US12/477,830 | 2009-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101908056A true CN101908056A (zh) | 2010-12-08 |
CN101908056B CN101908056B (zh) | 2015-02-25 |
Family
ID=43263517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010190518.8A Active CN101908056B (zh) | 2009-06-03 | 2010-06-03 | 从任意二维数据集中识别和抽象可视化点的设备和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8725775B2 (zh) |
CN (1) | CN101908056B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508648A (zh) * | 2011-09-23 | 2012-06-20 | 北京像素软件科技股份有限公司 | 一种图形引擎实现方法 |
CN104573077A (zh) * | 2015-01-27 | 2015-04-29 | 中国联合网络通信集团有限公司 | 数据展示方法及装置 |
CN106371814A (zh) * | 2015-07-23 | 2017-02-01 | 微软技术许可有限责任公司 | 用于多维数据的可视探索的用户界面工具 |
CN106570118A (zh) * | 2016-11-02 | 2017-04-19 | 国网山东省电力公司物资公司 | 基于电力物资调配移动平台的报表数据处理系统及方法 |
CN107180117A (zh) * | 2017-06-30 | 2017-09-19 | 东软集团股份有限公司 | 图表推荐方法、装置和计算机设备 |
CN110287219A (zh) * | 2019-06-28 | 2019-09-27 | 北京九章云极科技有限公司 | 一种数据处理方法及系统 |
CN112306589A (zh) * | 2019-07-29 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 数据处理方法、系统及设备 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110242108A1 (en) * | 2010-03-31 | 2011-10-06 | Microsoft Corporation | Visualization of complexly related data |
US9202297B1 (en) | 2011-07-12 | 2015-12-01 | Domo, Inc. | Dynamic expansion of data visualizations |
US10001898B1 (en) | 2011-07-12 | 2018-06-19 | Domo, Inc. | Automated provisioning of relational information for a summary data visualization |
US9792017B1 (en) | 2011-07-12 | 2017-10-17 | Domo, Inc. | Automatic creation of drill paths |
US9058409B2 (en) | 2011-10-25 | 2015-06-16 | International Business Machines Corporation | Contextual data visualization |
US9460407B2 (en) | 2013-05-03 | 2016-10-04 | Sap Se | Generating graphical representations of data |
US9377864B2 (en) | 2013-05-06 | 2016-06-28 | Microsoft Technology Licensing, Llc | Transforming visualized data through visual analytics based on interactivity |
US9384575B2 (en) | 2013-05-09 | 2016-07-05 | Sap Se | Space constrained small format visual analytic labeling |
US10372302B2 (en) | 2013-08-29 | 2019-08-06 | Sui Yan | Dimension based dynamic determination of visual analytics |
US9367590B1 (en) * | 2013-12-17 | 2016-06-14 | Connie Chun | Method and system to cloud-enabled large-scaled internet data mining and data analytics |
US10430382B2 (en) | 2014-10-14 | 2019-10-01 | Microsoft Technology Licensing, Llc | Data visualization architecture |
USD832874S1 (en) * | 2015-02-19 | 2018-11-06 | Cerner Innovation, Inc. | Display screen with graphical user interface |
US10311141B1 (en) * | 2015-09-21 | 2019-06-04 | Workday, Inc. | Data driven spreadsheet chart system |
US10679264B1 (en) | 2015-11-18 | 2020-06-09 | Dev Anand Shah | Review data entry, scoring, and sharing |
US10977240B1 (en) * | 2017-10-21 | 2021-04-13 | Palantir Technologies Inc. | Approaches for validating data |
USD912074S1 (en) * | 2019-03-25 | 2021-03-02 | Warsaw Orthopedic, Inc. | Display screen with graphical user interface for medical treatment and/or diagnostics |
USD912684S1 (en) * | 2019-03-25 | 2021-03-09 | Warsaw Orthopedic, Inc. | Display screen with graphical user interface for medical treatment and/or diagnostics |
US10915653B1 (en) * | 2019-11-26 | 2021-02-09 | Lee David Buckland | System and methods for the management and security of data variations in an electronic spreadsheet |
US11966570B2 (en) | 2022-04-26 | 2024-04-23 | Truist Bank | Automated processing and dynamic filtering of content for display |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301579B1 (en) * | 1998-10-20 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing a data structure |
US7002580B1 (en) * | 2003-05-14 | 2006-02-21 | At&T Corp | Method and apparatus for automatically generating charts |
US20080005677A1 (en) * | 2006-06-30 | 2008-01-03 | Business Objects, S.A. | Apparatus and method for visualizing data |
US20080180458A1 (en) * | 2007-01-31 | 2008-07-31 | Business Objects, S.A. | Apparatus and method for data charting with an extensible visualization library |
US7523090B1 (en) * | 2004-01-23 | 2009-04-21 | Niku | Creating data charts using enhanced SQL statements |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814111B2 (en) * | 2006-01-03 | 2010-10-12 | Microsoft International Holdings B.V. | Detection of patterns in data records |
-
2009
- 2009-06-03 US US12/477,830 patent/US8725775B2/en active Active
-
2010
- 2010-06-03 CN CN201010190518.8A patent/CN101908056B/zh active Active
-
2014
- 2014-05-13 US US14/276,802 patent/US9818208B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6301579B1 (en) * | 1998-10-20 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing a data structure |
US7002580B1 (en) * | 2003-05-14 | 2006-02-21 | At&T Corp | Method and apparatus for automatically generating charts |
US7523090B1 (en) * | 2004-01-23 | 2009-04-21 | Niku | Creating data charts using enhanced SQL statements |
US20080005677A1 (en) * | 2006-06-30 | 2008-01-03 | Business Objects, S.A. | Apparatus and method for visualizing data |
US20080180458A1 (en) * | 2007-01-31 | 2008-07-31 | Business Objects, S.A. | Apparatus and method for data charting with an extensible visualization library |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508648A (zh) * | 2011-09-23 | 2012-06-20 | 北京像素软件科技股份有限公司 | 一种图形引擎实现方法 |
CN104573077A (zh) * | 2015-01-27 | 2015-04-29 | 中国联合网络通信集团有限公司 | 数据展示方法及装置 |
CN106371814A (zh) * | 2015-07-23 | 2017-02-01 | 微软技术许可有限责任公司 | 用于多维数据的可视探索的用户界面工具 |
US11099725B2 (en) | 2015-07-23 | 2021-08-24 | Microsoft Technology Licensing, Llc | User interface tools for visual exploration of multi-dimensional data |
CN106570118A (zh) * | 2016-11-02 | 2017-04-19 | 国网山东省电力公司物资公司 | 基于电力物资调配移动平台的报表数据处理系统及方法 |
CN106570118B (zh) * | 2016-11-02 | 2020-08-07 | 国网山东省电力公司物资公司 | 基于电力物资调配移动平台的报表数据处理系统及方法 |
CN107180117A (zh) * | 2017-06-30 | 2017-09-19 | 东软集团股份有限公司 | 图表推荐方法、装置和计算机设备 |
CN110287219A (zh) * | 2019-06-28 | 2019-09-27 | 北京九章云极科技有限公司 | 一种数据处理方法及系统 |
CN110287219B (zh) * | 2019-06-28 | 2020-04-07 | 北京九章云极科技有限公司 | 一种数据处理方法及系统 |
CN112306589A (zh) * | 2019-07-29 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 数据处理方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
US9818208B2 (en) | 2017-11-14 |
CN101908056B (zh) | 2015-02-25 |
US20140337703A1 (en) | 2014-11-13 |
US20100312803A1 (en) | 2010-12-09 |
US8725775B2 (en) | 2014-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101908056B (zh) | 从任意二维数据集中识别和抽象可视化点的设备和方法 | |
Cui et al. | Text-to-viz: Automatic generation of infographics from proportion-related natural language statements | |
Wang et al. | A survey on ML4VIS: Applying machine learning advances to data visualization | |
US8135755B2 (en) | Templates in a schema editor | |
Heer et al. | Graphical histories for visualization: Supporting analysis, communication, and evaluation | |
CN102122280B (zh) | 一种智能提取内容对象的方法及系统 | |
CN104487936B (zh) | 用于对来自应用程序数据文件的信息进行计算机辅助消费的方法和系统 | |
JPWO2006051958A1 (ja) | 情報配信システム | |
Ma et al. | Ladv: Deep learning assisted authoring of dashboard visualizations from images and sketches | |
Frasincar et al. | Adapting graph visualization techniques for the visualization of RDF data | |
CN107533571A (zh) | 数字图形小说的计算机辅助导航 | |
US9977772B1 (en) | Method and system for cellular text processor and display | |
US9639587B2 (en) | Social network analyzer | |
Cui et al. | A mixed-initiative approach to reusing infographic charts | |
US8869048B2 (en) | Declarative and multi-mode wizard framework | |
CN102033956A (zh) | 具有智能提示功能的图形化xml内容和结构查询系统 | |
Sasarak et al. | min: A multimodal web interface for math search | |
Wei et al. | An evolutional model for operation-driven visualization design | |
CN111723177B (zh) | 信息提取模型的建模方法、装置及电子设备 | |
Chen et al. | Mystique: Deconstructing SVG Charts for Layout Reuse | |
Kim | Learning process mining techniques based on open education platforms | |
Zhao | Interactive visual data exploration: A multi-focus approach | |
Raman | Mastering Python Data Visualization | |
Subramonyam et al. | Composites: A tangible interaction paradigm for visual data analysis in design practice | |
KR102585817B1 (ko) | 데이터 소비 및 활용 위한 데이터 큐레이션 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |