附图说明
图1是根据本发明的一个方面的数据分析***的框图。
图2是根据本发明的一个方面的数据库分析***的分阶段的框图。
图3是一种根据本发明的一个方面来构造空间模型的方法的流程图。
图4是一种根据本发明的一个方面来定义空间模型的方法的流程图。
图5是一种根据本发明的一个方面来建立空间模型的方法的流程图。
图6是一种过程用于根据本发明的一个方面来与用户连接的软件过程的表格。
图7是根据本发明的一个方面的欢迎用户界面的屏幕投影。
图8是根据本发明的一个方面的立方体定义用户界面的屏幕投影。
图9是根据本发明的一个方面的数据源选择用户界面的屏幕投影。
图10是根据本发明的一个方面的表格类型检测用户界面的屏幕投影。
图11是根据本发明的一个方面的表格类型选择用户界面的屏幕投影。
图12是根据本发明的一个方面的现存维数用户界面的屏幕投影。
图13是根据本发明的一个方面的测量选择用户界面的屏幕投影。
图14是根据本发明的一个方面的维数分层创建用户界面的屏幕投影。
图15是根据本发明的一个方面的时间周期定义用户界面的屏幕投影。
图16是根据本发明的一个方面的新近创建的维数用户界面的屏幕投影。
图17是根据本发明的一个方面的结束立方体创建用户界面的屏幕投影。
图18是根据本发明的一个方面的新的手动测量定义用户界面的屏幕投影。
图19是根据本发明的一个方面的手动现存维数用户界面的屏幕投影。
图20是根据本发明的一个方面的新的手动维数定义用户界面的屏幕投影。
图21是根据本发明的一个方面的手动时间周期定义用户界面的屏幕投影。
图22展示了本发明可以在其中起作用的范例操作环境。
图23展示了本发明可以在其中起作用的另一个范例操作环境。
具体实施方式
现在参照这些附图来描述本发明,其中,始终使用类似的参考数字来标示类似的元件。在下文中,出于解释的目的,陈述了众多特殊的细节,以提供对本发明的彻底的理解。但是,可能很显然,也可以在不具备这些特殊细节的条件下实践本发明。在其他实例中,用框图形式表现了众所周知的结构和设备,以便于对本发明的描述。
如在本申请中所使用的,术语“部件”意在指计算机相关实体、可以是硬件、硬件和软件的组合、软件或可执行的软件。例如,部件可能是,但不局限于,运行于处理器上的过程、处理器、对象、执行体、执行线程、程序和/或计算机。举例说明,运行于服务器上的应用程序和该服务器都可以是计算机部件。一个或多个部件可能驻留在过程和/或执行线程中,并且,部件可能是在一台计算机上本地化和/或分布在两台或更多的计算机之间。“线程”是该操作***核心预定执行的过程中的实体。正如在该技术领域中众所周知的,每个线程都具有关联的“内容”,该关联的“内容”可以是与该线程的执行有关联的易变数据。线程的内容包括***寄存器的内容和属于该线程的过程的虚拟地址。这样,包括线程的内容的实际数据在其执行时会发生变化。
OLAP***要进行操作,就需要可从其中提取信息的空间对象或“模型”。该空间对象通常从数据库中获得,并可以包含三维以上的维数。通常,空间对象可称之为“立方体”。当提及空间对象时,就必须提供了简单的说明。当提交来自用户的询问时,该OLAP***从这些空间对象中检索信息。于是,该OLAP***在答复询问中的成功极大地取决于具有良好的、结构完善的空间对象或模型。构造拙劣的模型会放慢询问响应时间,并且/或者不允许该OLAP***具有正确响应该询问的能力。一般而言,构造模型的用户必须十分了解正在使用的数据库和将要求该OLAP***回答的询问类型。即使对于掌握很高技能的用户而言,这仍旧是一个既漫长、又乏味的努力过程。
本发明允许利用单一的用户动作来定义和构造空间模型。它也允许用户与该过程交叉作用,以影响该定义和/或该构造的结果。这样,经验较少的用户可以利用单一鼠标点击来定义和建立的空间模型或“立方体”。但是,先进用户仍然具有在交互式层次上影响该立方体的定义和/或该立方体的建立的能力。这就允许按该用户认为合适的方式来修整该立方体。使用本发明的典型公司节省了开发符合其商业目的的OLAP***所需的时间和资金,这是因为本发明容易应用,并且其操作所需要的技能等级具有灵活性。这就减少了提供商业信息的成本和复杂性,从而可能不需要雇用专家来构造合适的空间模型。于是,可以按必要来塑造该空间模型,以阐明符合该用户的商业需求的数据分析***。
通常,数据库在本质上都是有关系的,这意味着:该数据与驻留在该数据库中的其它数据有联系。本发明使用简化试探分析来揭示来自关系模式(例如,关系数据库)的这些联系。利用这种方式来构造立方体或空间模型定义。一旦完成该定义,本发明就根据该立方体定义来建立立方体。这两个阶段都可以自动执行,而无需任何用户干预。但是,该用户也可以与本发明的这两个阶段交叉作用。这就提供了一个“一次点击”的解决方案(例如,计算机鼠标的一次点击)和一个适用于提高灵活性的交互式解决方案。
图1,展示了根据本发明的一个方面的数据分析***100的框图。数据分析***100包括:关系模式102(例如,关系数据库和类似)、数据分析部件104、空间模型106或立方体(例如,OLAP对象和类似)以及用户界面108。数据分析部件104处理来自关系模式102的数据,以创建空间对象106。这是通过首先定义空间模型然后根据该定义来建立空间模型106来实现的。用户界面108虑及用户与数据分析部件104中所发生的处理交叉作用。这样,允许该用户重新规定空间模型定义并且/或者影响空间模型106的构造方式。它也允许用户仅仅执行单一的用户动作(例如,计算机鼠标点击和类似的动作),以启动数据分析部件104,从而自动定义空间模型106并且/或者构造空间模型106。这样,经验较少的用户只需少量的努力就可以利用本发明。同样,内行用户仍然可以与本发明交叉作用,并且按他们认为合适的方式来影响该过程。关系模式102包括与在关系模式102中发现的其它数据有关联的数据。正是利用这些关系来阐明使用简化试探分析的空间模型。
关系数据库以二维表格的方式存储数据。这些表格具有行(记录或对象)和列(字段或属性)。行和列的交叉点处的数据项目称之为“单元”,并且包括属性值。多个数值不可存储在单一单元中。关系数据库表格被“归一化”,所以,数据只在必要时才可以重复。这些表格列依靠主关键字pk(该列中的唯一的值)来识别该列。一旦识别了一个指定的列,就可以获得或更改与该列有关联的一行或多行的数据。外关键字fk是其他表格中的信息的主关键字,这些表格涉及与具有主关键字有关的表格相关联的信息。
几个实体(例如,主关键字和外关键字)之间的关系都可以加以映射,以表示其基本关系。关于实体集之间的二进制关系集,该映射的基本关系可以是一对一、一对多、多对一和多对多。主关键字pk(用于代表“许多”中的一个)与外关键字fk之间的各种关系都可以表示为fk/pk对。用图表表示,可以将该关系绘制成该主关键字与该外关键字之间的“弧线”。利用该弧线上的箭头来示出该关系方向性是“入”还是“出”,可以指出该方向性。
同样,空间模型具有有助于定义其结构(例如,元组(tuple))的特征或参数。使用该元组来定义来自立方体的数据片段。它包括来自一维或多维维数的一个组成部分的有序集合。使用该元组可识别该立方体的多维数据的指定部分。它可以包括立方体中的每个维数的一个组成部分,以便对单元的数值进行完整的描述。
参考图2,显示了根据本发明的一个方面的数据库分析***的分阶段200的框图。在本发明的一个方面中,处理分成了两个阶段。这样,分阶段200包括标签阶段202和空间模型结构阶段204。标签阶段202包括利用简化试探分析来定义空间模型的处理。这包括,但不局限于,以关系模式来分析的数据之间的相互联系。例如,如果并且只有在与v1和v2(分别命名为t1和t2)关联的表格之间存在着相关联的关系并且该关系是t1∶t2=n∶1(其中,n表示从1到无穷大的整数)时,该关系模式的关联图表可定义为是“元组(V,A,f)”,其中,V是在该模式中发现的每个表格的一组顶点,A是在该模式中的各种关系的一组弧线,f是函数,其中,f(v1,v2)=a12(其中,v表示集合V的组成部分,a表示集合A的组成部分)。然后,基于来自这些关联的结构(例如,表格)的一对外关键字/主关键字(fk/pk)连接所形成弧线的特征,来为每个结构(例如,表格)定义“标签”。以下描述标记的细节。
在本发明的另一个实例中,空间模型结构阶段204包括:根据标签阶段202期间的定义来建立空间模型。于是,本发明可以根据这个定义来自动建立立方体(空间模型)。但是,在本发明的其它方面中,在构造该立方体之前,用户可以调解、增大并/或更改该定义。这就允许该用户根据他(她)的需要和/或希望来与分阶段200交叉作用。以下讨论构造空间对象的实际细节。
在本发明的另一个实例中,数据分析***包括:适用于简化试探分析的装置,该简化试探分析可根据来自关系数据模式的数据相互联系来定义空间模型;适用于建立由该自动化结构标记***所定义的空间模型的装置;允许用户与该自动化结构标记***和/或该自动化模型建立***交叉作用的装置;以及适用于允许用户利用单一的用户动作来启动该自动化结构标记***和/或该自动化模型建立***的装置。
鉴于所示的和以上所描述的示范***,将参照图3-5中的流程图来更好地理解可以根据本发明加以实现的方法论。同时,出于简单解释的目的,这些方法论以一系列方框来加以显示和描述,应该理解并意识到本发明并不受这些方框的顺序的限制,因为根据本发明,一些方框可能按不同的顺序发生,或者/并且与来自这里所示和所描述的其他方框同时发生。而且,可能不是要求所有显示的方框都根据本发明来实现这些方法论。
可以由一台或多台计算机执行的计算机可执行指令(例如,程序模块)的一般概念来描述本发明。通常,程序模块包括执行特殊任务或实施特殊的抽象数据类型的例程、程序、对象、数据结构等。通常可以按各种实施例中的需要来组合或分配这些程序模块的功能性。
为了使得本发明可具有很大的灵活性,可以结合用户的交叉作用来影响最后得到的空间模型。图3展示了根据本发明的一个方面来构造空间模型的方法300的流程图。方法300通过为关系模式304(例如,关系数据库中的表格和类似物)的部件标记开始302。确定用户输入是否与部件的标记有关306。如果用户的输入是有效的,则这些用户输入可并入308,并且定义立方体结构310。反之,如果输入的无效的,则可根据这些部件的标签来定义该立方体结构310,而无需任何用户输入。一旦定义了立方体结构310,就可以确定用户输入是否与该立方体的定义有关312。如果用户输入有效的,则将它们并入该立方体的定义314并建立该立方体316,从而结束该流程318。如果与该立方体定义有关的用户输入是无效的312,则可使用该立方体定义来建立该立方体316,而无需任何用户输入,从而结束流程318。尽管本发明的这一方面是以接受用户输入的这一离散点来讨论的,但是,本发明的其他方面也可以在用于处理,直至达到并包括100%交互式能力的处理过程中的任何时间点来接受用户输入。同样,该过程可以完全自动化,而无须用户的交互式参与。
为了根据本发明的一个方面来定义空间模型,必须为与数据库有关的结构(例如,表格和类似物)都标记,有助于建立空间模型。参考图4,描绘了根据本发明的一个方面来定义空间模型的方法400的流程图。方法400通过识别分区群集404,开始402。检查只有“出”弧线的所有顶点,以识别具有相等标记(即相同的pk、具有在fk/pk对中没有使用的测量类型的列的相同基本关系)的那些结构。分区可分组为各个细节群集,并且作为单一顶点来分析。只有当实际上建立立方体时,才可以创建合适的分区。然后,只具有“出”弧线的所有结构才可标注为坚定事实(strong fact)406。具有两个或更多的“入”弧线的所有结构才可标注为坚定维数(strong dimensin)408。具有来自一个维数的一个“入”弧线的所有结构可标注为坚定维数410。具有来自一个事实表格的一个“入”弧线和零个或一个“出”弧线的所有结构可标注为坚定维数412。具有来自一个事实结构的正好一个“入”弧线和进入群集(包含可标注为始于其他事实结构的维数)的两个或更多弧线的所有结构可标注为事实和维数414。具有来自一个事实表格的一个“入”弧线的所有结构可标注为维数416,从而结束流程418。这些结构包括如在关系模式(例如,关系数据库和类似物)中所发现的表格和类似。表格类型可以包括事实表格、退化表格和维数表格。精通该技术领域的人可以理解:本发明的其他方面可以包括具有如上所述的或多或少的步骤的方法,并且仍然会在本发明的范围以内。也应该注意,用户可以在这个过程中的任何时间点上交叉作用。
也可以理解:在本发明的其他实例中,用户可以编辑并/或增大结构标记模式。这允许该用户进行先进的交叉作用,其中,他们可以影响在构造空间模型的定义阶段期间控制结构标记的规则。利用这种方式,可以将该标记模式塑造成提供用于自动构造空间模型的调谐过程。在本发明的另一个实例中也可以允许用户确定用户交叉作用等级,以确定在空间模型构造期间所允许的交互活动的数量。这类等级可以包括,但不局限于,完全自动化、有限交叉作用和/或充分交叉作用(例如,手动)类型的模式。这些模式或等级不仅仅局限于该标记和定义处理,而是也可以应用于建立以下所描述的空间模型。
通常,在已从数据库中获得定义并且已说明任何用户输入之后,本发明的另一个方面根据所获得的定义来建立空间模型。观察图5,该图显示了根据本发明的一个方面来建立空间模型的方法500的流程图。方法500始于502创建具有和事实群集一样多的细节的立方体504。然后,确定是否存在多个分区506。如果只存在一个分区,并且,如果每个细节都拥有它主持的事实表格的名称,则所利用的名称是第一个、也是唯一的分区名称508。如果存在多个分区,并且,如果每个细节都拥有它主持的事实表格的名称,则该名称是事实表格名称的普通子串的可变百分比长度510。然后,确定是否存在事实表格的数字列512。如果不存在数字列,则利用表达式“count(*)”来创建计数测量514。但是,如果存在数字列,则事实表格的这些数字列是测量列,并且为它们创建测量516。一旦实现这一点,就将所有细节与维数联系起来518。然后,为每个细节检测事实表格内的隐藏时间维数。这包括延伸至具有“(All)-Y-Q-M层级”的时间维数的时间列,分别代表每年、每个季度和每月。然后为每个维数建立自然层级和/或虚拟层级522。然后,确定是否希望增强该立方体结构524。如果否,则该流程结束526。如果希望增强该立方体结构,则通过分析维数属性的感兴趣的对(即通常因为一起发生而关联的对)528,来检测这些维数表格内的隐藏层级,从而结束该流程526。
前述流程意在成为本发明的各种方法的代表流程。它们不包含本发明的范围以内的每个迭代和变化。精通该技术领域的人可以理解:一种方法可以并入修改,并且仍然保留在本发明的范围以内。
本发明允许处于任何所需等级的用户交叉作用。这允许新手用户利用单一的用户动作来启动自动化过程,并且也允许内行用户随意调解,以便为特殊的需求来细致地调整空间模型。允许这个等级的用户交互活动的一种方法是:提供图形格式的用户界面。然后,用户可以容易地启动、更改、检查并/或增大本发明。精通该技术领域的人可以理解:可能存在众多不同的图形界面。作为本发明的仅仅一个可能的界面的例子,描述了图形用户界面集或“过程”的插图实例。通常,用户界面由至少一个图形(常常是一组图形)组成,该图形由计算设备生成,并显示于显示器上,供该用户进行视觉参考和交叉作用。这组图形通常称之为“图形用户界面”(GUI),即使它由一个以上的图形组成,也是如此。这样,诸如子图形、下移菜单和表格、选择设备以及文本输入框和类似等部件都可认为是该图形用户界面的一部分。
同样,本发明也包括诸如基于文本的用户界面等非图形用户界面。虽然通常不如图形界面那样容易连接,但是,本发明仍然可以使用基于文本的界面,以便允许处于任何等级的用户交叉作用,并且也允许单一的用户动作(例如,击键)来启动自动化过程。
参考图6,该图显示了根据本发明的一个方面来与用户交叉作用的图形用户界面过程600的表格。这个过程600展示了可以在本发明中使用的不同的图形界面的概况。图7-21中展现了这些界面的实际屏幕投影的例子。一般而言,欢迎步骤602弹出欢迎用户(例如,图7中所展示的用户界面700)的屏幕。这个界面700解释了本发明的一个方面的目的,并使用户准备好与它交叉作用。然后,立方体创建方法连接步骤604允许用户选择手动跟踪606或自动/半自动跟踪608(分别是RDBMS/DW跟踪、关系数据库管理***和数据仓库)。图8中的图形用户界面800描绘了这种界面的例子。在这个界面上,用户可以在定义和立方体建立过程期间选择接受建议(与本发明交叉作用)。通常,设置缺省值,以准许建议(即,允许用户交叉作用)。
如果选择该自动/半自动跟踪,则为该用户提供如图9所示的用户界面900中所示的来源选择能力610。该用户可以依据该立方体处理来选择所需的数据源。一旦已选择了来源,就为用户提供该处理的结果,该处理识别关系以及主关键字和外关键字,并且建议适用于维数的潜在的事实表格、维数表格和层级612。通常,当该处理发现如图10所示的图形用户界面1000中所展示的信息时,就将该信息提供给用户。该过程对所选择的数据源的每个表格进行自动检测并建议表格类型614。然后,该用户可以只选择创建该立方体所需要的表格。图11所示的图形用户界面1100中描绘了这种界面。在本发明的其他实例(未示出)中,可以为用户呈现图表图形用户界面(与表格图形用户界面相对应)。
在选择这些表格之后,如图12所示,用户可以选择定义维数并将其加入该立方体,这些定义维数是原先由图形用户界面1200所创建的616。然后,过程600从分析中获得信息,并将关于来自以前所提供的数据的测量列的建议报告给该用户。例如,该用户也可以通过图13中所描绘的图形用户界面1300来提炼该数据。通常,可通过测量组功能对测量进行自动分组。这项功能通过论题和空间粒度来对这些测量进行分组。通常,该编组的默认名称是该表格名称的人类可读版本(例如,从该名称中除去字下划线)。也可以经由图形用户界面1300来重新命名测量组。然后,过程600为用户提供来自创建维数和层级的分析的结果620。图14中描绘了这种图形用户界面1400。该用户可以随时停止该分析,并且继续执行直到该时间点所正在生成的层级。该分析对在现存维数清单所生成的过滤之后保留的所有维数表格检测层级。从潜在维数表格的清单中除去可加入该立方体的任何现存维数所使用的所有维数表格,以建立有关的维数。如果另一个维数表格发现它是与所有的事实表格隔离(没有直接链路,也没有通过其他任何剩余的维数表格的链路),则它也从该维数表格清单中被除去。一旦完成这个过程,就根据这些剩余的维数来创建维数清单。
作为任选步骤,可以为用户提供图形用户界面,以规定那个列可以包含在先前的选择622中被定义为“时间”的、关于表格的时间间隔期。图15中所展示的图形用户界面1500表现了如何呈现给用户的例子。然后,为用户呈现图形用户界面,以便继续传递来自分析的信息,该分析为新维数自动建立层级和属性624。该用户可以提炼界面(例如,图16中所示的图形用户界面1600)中的这些参数。该用户有能力创建额外的维数并/或编辑由该分析自动提供的维数。一旦所有参数都满足于该分析,就为该用户呈现图形用户界面,以便把该立方体最后定下来626。例如,图17中所示的图形用户界面1700允许该用户命名该立方体、检查其结构并保存该立方体。
上文涉及希望与自动化过程交叉作用的用户。但是,正如图6所示的过程600中所述,用户也可以手动地构造立方体,并且仍然可由图形用户界面来支持。手动跟踪606包括界面628,该界面包括创建新的手动测量定义界面、选择现存的维数界面、创建新的手动维数定义界面和任选的定义时间维数界面。图18-21中描绘了典型的图形用户界面,分别由图形用户界面1800-2100来表示。于是,本发明允许用户对其所要求的涉及内容和技能等级拥有很大的灵活性。这样,通过使用本发明便可以获得极大的优点。
这样,本发明的一个方面包括:适合与自动化数据分析***进行通信的界面;与该界面关联的至少一个输出,以提供与至少一个特征有关的数据分析***内的数据处理的指示;以及至少一个输入,用于至少部分根据用户关于定义空间模型的方式和/或构造空间模型的方式的偏爱,来影响该数据处理。在本发明的另一个方面中,该自动化数据分析***包括:利用简化试探分析的自动化结构标记***,该简化试探分析用于根据来自关系数据模式的数据相互联系来定义空间模型;以及自动化模型建立***,用于构造由该自动化结构标记***定义的空间模型。在本发明的另一个实例中,输出包括维数、属性、聚合函数、表格类型、测量和/或测量组。在本发明的另一个实例中,输入包括维数、属性、聚合函数、表格类型、测量和/或测量组。在本发明的其他实例中进一步包括输入,用于经由单一的用户动作来启动(例如)该自动化结构标记***和/或该自动化模型建立***。
为了提供用于实现本发明的各个方面的其它内容,图22和以下的讨论在简要、概括地描述其中可以实现本发明各个方面的合适的计算环境2200。以上已经以运行于本地计算机和/或远程计算机上的计算机程序的计算机可执行指令的一般概念描述了本发明,但精通该技术领域的人将会认识到:也可以结合其他程序模块来实现本发明。通常,程序模块包括执行特殊任务并/或实施特殊的抽象数据类型的例程、程序、部件、数据结构等。而且,精通该技术领域的人将会理解:本发明的实现可以利用其它计算机***配置,包括:单一处理器计算机***或多处理器计算机***、小型计算机、大型计算机,以及个人计算机、手持计算设备、基于微处理器的和/或可编程的消费电子设备和类似的设备,其中各种计算机***配置可以与一个或多个关联的设备进行可操作地通信。也可以在分布式计算环境中来实现本发明所展示的方面,在这些分布式计算环境中,由通过通信网络而连接的远程处理设备来执行某些任务。但是,可以在单独一台的计算机上实现本发明的一些(如果不是全部的话)方面。在分布式计算环境中,程序模块可能位于本地存储器存储设备和/或远程存储器存储器存储设备中。
正如本申请中所使用的,术语“部件”意在指计算机相关的实体、硬件、硬件和软件的组合、软件或执行软件。例如,部件可能是,但不局限于,运行于处理器上的过程、处理器、对象、执行体、执行线程、程序和计算机。举例说明,运行于服务器上的应用程序和/或该服务器都可以是一个部件。此外,部件也可以包括一个或多个子部件。
参照图22,用于实现本发明的各个方面的示范***环境2200包括:适用计算机2202,该计算机还可包括处理单元2204、***存储器2206和***总线2208,***总线2208将包括***存储器的各种***部件与处理单元2204相耦合。处理单元2204可能是任何商品化的处理器或专利处理器。此外,该处理单元可以采用一个以上的处理器(例如,可以被并行连接)所构成的多处理器。
***总线2208可能是几种类型的总线结构,它包括存储总线或存储控制器、***总线以下使用例如,PCI、VESA、微通道、ISA和EISA(只说出一些例子)的几种常规总线结构中的任何一局域总线。***存储器2206包括只读存储器(ROM)2210和随机存取存储器(RAM)2212。基本输入/输出***(BIOS)2214被存储在ROM 2210中,可基本输入/输出***包含有助于在计算机2202内的各个元件之间传送信息的基本例程。
例如,计算机2202也可以包括硬盘驱动器2216、磁盘驱动器2218(例如,用于从可移动磁盘2220读取或对其写入)和光盘驱动器2222(例如,用于从CD-ROM光盘2224或其他光学介质读取或对其写入)。硬盘驱动器2216、磁盘驱动器2218和光盘驱动器2222分别通过硬盘驱动器接口2226、磁盘驱动器接口2228和光驱接口2230被连接到***总线2208。驱动器2216-2222及其关联的计算机可读介质为计算机2202提供数据、数据结构、计算机可执行指令等的非易失存储。虽然以上的计算机可读介质的说明提及硬盘、可移动磁盘和CD,但是,精通该技术领域的人应该理解:示范操作***2200中也可以使用计算机可读的其他类型的介质(例如,盒式磁带、快闪存储卡、数字化视频光盘、伯努里式磁带盒和类似的介质),并且,任何这类的介质都可以包含用于实现本发明的各种方法的计算机可执行指令。
许多程序模块可以存储在驱动器2216-2222和RAM 2212中,包括操作***2232、一个或多个应用程序2234、其他程序模块2236和程序数据2238。操作***2232可能是任何合适的操作***或操作***的组合。举例来讲,应用程序2234和程序模块2236可以包括数据库分析***和/或根据本发明的一个方面来利用数据的交互式空间模型建立***。此外,程序数据2238可以包括输入数据,该输入数据用于根据本发明的一个方面来控制并/或偏置空间模型。
用户可以通过一个或多个用户输入设备(例如,键盘2240)和定点设备(例如,鼠标2242)来将命令和信息输入计算机2202。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、圆盘式***天线、无线电遥控、扫描仪或类似的设备。这些和其他的输入设备经常是通过与***总线2208相耦合的串行端口接口2244连接到处理单元2204,但也可以由其他接口(例如,并行端口、游戏端口或通用串行总线(USB))来连接。监视器2246或其他类型的显示设备也通过接口(例如,视频适配器2248)连接到***总线2208。除了监视器2246以外,计算机2202还可以包括其他***输出设备(未示出)(例如,扬声器、打印机等)。
将会理解:计算机2202可以在使用与一台或多台远程计算机2260的逻辑连接的联网环境中进行操作。远程计算机2260可能是工作站、服务器计算机、路由器、对等设备或其它通用的网络节点,它通常包括相对于计算机2202而描述的许多或所有元件,尽管为简洁起见,图22中只展示了存储器存储设备2262。图22中所描绘的逻辑连接可以包括局域网(LAN)2264和广域网(WAN)2266。这类联网环境在办公室、企业范围的计算机网络、内联网和因特网中都是很普遍。
例如,当用于LAN联网环境中时,计算机2202通过网络接口或适配器2268连接到局部网络2264。当被用于WAN联网环境中时,计算机2202通常包括调制解调器(例如,电话、DSL、电缆等)2270,或者连接到LAN上的通信服务器,或者具有适用于在WAN 2266(例如,因特网)上建立通信的其他装置。调制解调器2270相对于计算机2202而言,可以是内置的或外置的,它通过串行端口接口2244连接到***总线2208。在联网环境中,程序模块(包括应用程序2234)和/或程序数据2238都可以存储在远程存储器存储设备2262中。将会理解:所示的各种网络连接只是起到示范的作用,当实现本发明的一个方面时,也可以使用在计算机2202与2260之间建立通信链路的其他装置(例如,有线或无线)。
根据精通计算机编程技术领域的人员的实践,本发明的描述已经参照由计算机(例如,计算机2202或远程计算机2260,除非另有指示)执行的动作和操作的符号表示。这类动作和操作时常称之为“计算机可执行的”。将会理解:这些动作和用符号表示的操作包括:处理单元2204对表示数据位的电信号所执行的处理,这会导致该电信号表示的变换或减少;该存储***(包括***存储器2206、硬盘2216、软盘2220、CD-ROM 2224和远程存储器2262)中的存储器位置处的数据位的维护,从而重新配置或改变该计算机***的操作;以及其他信号处理。保存这类数据位的存储器位置是具有对应于这些数据位的特定的电属性、磁属性或光属性的物理位置。
图23是可以与本发明交叉作用的示例计算环境2300的另一框图。***2300进一步展示了包括一个或多个客户2302的***。客户2302可以是硬件和/或软件(例如,线程、过程、计算设备)。***2300也包括一个或多个服务器2304。服务器2304也可以是硬件和/或软件(例如,线程、过程、计算设备)。例如,服务器2304可以收容线程,以便通过使用本发明来执行变换。客户2302与服务器2304之间的一种可能的通信可能采取适合在两个或更多的计算机过程之间被传送的数据包的形式。***2300包括通信构架2308,可以使用该通信构架来方便于客户2302与服务器2304之间的通信。客户2302可操作性地连接到一个或多个客户数据暂存器2310,可以使用客户数据暂存器2310来存储客户2302本地的信息。同样,服务器2304可操作性地连接到一个或多个服务器数据暂存器2306,可以使用服务器数据暂存器2306来存储服务器2304本地的信息。
在本发明的一个实例中,数据包在两个或更多的计算机部件之间传送,这有助于由空间模型分析数据组成的数据分析,该空间模型分析数据部分地基于来自利用简化试探分析(用于根据来自关系数据模式(例如,关系数据库)的数据相互联系来定义空间模型(例如,OLAP对象、ROLAP对象、MOLAP对象和类似的对象))的自动化结构标记***的数据、来自自动化模型建立***(用于构造由该自动化结构标记***定义的空间模型)的数据、来自用于经由单一的用户动作(例如,来自计算机鼠标点击的数据)来启动(例如)该自动化结构标记***和/或该自动化模型建立***的输入的数据、来自与界面关联的输出(例如,关于图形用户界面的数据)(用于提供该数据分析的数据处理的指示)的数据,以及/或者来自与界面关联的输入(用于至少部分地根据用户关于如何定义空间模型和/或如何构造空间模型的偏爱,来影响数据处理)的数据。
在本发明的另一个实例中,存储便于数据分析***的计算机可执行部件的计算机可读介质包括了一个提供与数据集关联的信息的自动化数据分析***,它至少部分地基于来自利用简化试探分析(用于根据来自关系数据模式(例如,关系数据库)的数据相互联系来定义空间模型(例如,OLAP对象、ROLAP对象、MOLAP对象和类似的对象))的自动化结构标记***的数据、来自自动化模型建立***(用于构造由该自动化结构标记***定义的空间模型)的数据、来自用于经由单一的用户动作(例如,来自计算机鼠标点击的数据)来启动(例如)该自动化结构标记***和/或该自动化模型建立***的输入的数据、来自与界面关联的输出(例如,关于图形用户界面的数据)(用于提供该数据分析的数据处理的指示)的数据,以及/或者来自与界面关联的输入(用于至少部分地根据用户关于如何定义空间模型和/或如何构造空间模型的偏爱,来影响数据处理)的数据。
将会理解:在方便于计算机部件和非计算机相关部件的数据分析方案中可以利用本发明的装置、***和/或方法。另外,精通该技术领域的人将会认识到:在包括,但不局限于,计算机、服务器和/或手持电子设备以及类似的设备的大量电子技术都中使用本发明的装置、***和/或方法。
以上所描述的内容包括本发明的各个例子。当然,不可能为了描述本发明而描述部件或方法论的每个想得到的组合,但掌握该技术领域普通技能的人都可以认识到:可能存在本发明的许多进一步的组合和变更。相应地,本发明意在包含在所附如权利要求书的精神和范围以内的所有这类变更、修改和变化。另外,关于该详细说明或如权利要求书中所使用的术语“包括(includes)”,这类术语意在类似于在如权利要求中用作过渡词的术语“包括(comprising)”,起包含的作用。