重建多维数据库的数据存储的方法和重建服务器与流程

文档序号:13041846阅读:308来源:国知局
重建多维数据库的数据存储的方法和重建服务器与流程

本发明通常涉及数据库管理系统,尤其涉及重建多维数据库的数据存储的系统和方法。



背景技术:

传统上,数据以表格的方式组织在关系数据库中。表格格式很适合事务性系统。然而,数据的最佳分析和可视化需要以多维方式组织数据。多维数据模型定义多维数据存储的结构。多维数据模型包括度量与维度。维度依次包括层次、级别和属性。

多维联机分析处理(multidimensionalonlineanalyticalprocessing,简称molap)是在多维数据存储中存储数据所使用的方法之一。为了通过特殊的索引结构存储多维数据,优化了数据存储。molap维护由维度、度量、层次、级别和属性组成的多维数据模型。在数据分析过程中,对分析员来说,此模型信息对于在多维模型中立方体可视化是很重要的。当为了对分析组件进行修改或向其添加新的方面而完善或者更新分析模型时,这些变化需要应用于molap系统中。

将变化应用于任意模型的过程称为立方体或数据的重建。立方体限制可以包括度量的添加或删除、维度的添加或删除、层次的添加或删除、级别的添加或删除,以及成员的更新。

目前,molap重建方法很少。在一种传统方法中,删除旧的立方体数据,重建一个立方体,所有立方体数据都是从原始数据中重载的。在该方法中,如果原始数据不完整或不存在,就会导致数据丢失和数据完整性问题。

在另一种传统方法中,通过识别立方体数据模型和原始数据之间的变化,将数据通过生成的脚本从原始数据中插入到修改后的立方体中。所述方法包括:将关系数据库的结构建模为中间表示,比如称为模型a,同时也将立方体的结构建模为中间表示,比如称为模型b。比较这两个中间表示,模型a和模型b,并识别这两个模型之间的差异。所述差异用于修改所述立方体的结构。然后,所述立方体修改后的结构用于生成一个用于从关系数据库中检索数据以插入到所述立方体中的脚本。最后,运行所述脚本,将所述数据插入到所述修改后的立方体中。

然而,该方法有一些相关缺陷。所述关系数据库包含初始数据或原始数据。所以,如果原始数据不完整或不存在,就会导致数据丢失和数据完整性问题。另外,存储原始数据作为备份也会浪费空间。进一步地,该方法只识别olap模型更新中的变化,但不识别立方体成员数据的更新。

在另一种传统方法中,比较新旧模型以识别差异。基于所识别的差异,通过更改旧的立方体数据来创建新的立方体数据。对于模型重建,所述方法包括读取新旧olap模型之间的差异以识别变化,比如添加维度、删除级别、跨层次移动级别等。然后,逐行读取来自olap立方体的数据,并通过应用已识别的变化为新的立方体创建数据。对于数据重建,所述方法包括解析用户提供的元数据变化并给定诸如删除级别成员、重命名级别成员、跨级别移动成员等的输入。然后,解析出元数据的变化,并将所述变化应用到旧的立方体数据上以逐行创建新的立方体数据。

然而,该方法有一些缺陷。对于像添加或删除维度这样的变化,来自旧的立方体的所有数据都需要处理以创建新的立方体数据,这在大数据情况下是很耗费时间的。

因此,现有的立方体重建方法有一个或多个缺陷。现有方法在重建进行时会导致大量系统负载。另外,在重建进行时,用户不能长时间查询。随着数据量的增加,由于过程的完成需要耗费大量的资源和时间,重建就变成了一种不切实际的解决方案。另外,如果解决方案是以从原始数据中的重载为基础,则当前的方法会导致用于存储原始数据和molap数据的空间的浪费。进一步地,如果在此期间发生了任何变化或删除,所述方法会导致准确性和一致性问题。



技术实现要素:

本发明的目的是提供重建多维数据库的数据存储的方法和重建服务器。

通过本发明的技术来实现附加特征和优势。本发明其他实施例和方面在此处详细描述,并被视为本发明的一部分。

本发明涉及一种重建多维数据库的数据存储的方法。所述方法包括由重建服务器执行的一个或多个步骤。所述方法包括:接收与多维数据库的一个或多个数据存储中的最新数据存储的变化相对应的重建信息;基于所述重建信息创建新的数据存储;为所述一个或多个数据存储生成差分元数据,其中,所述差分元数据包括所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息;将增量数据加载到所述新的数据存储中。

在一实施例中,本发明的方法包括:接收从所述一个或多个数据存储中查询所需信息的请求。所述方法还包括:判断所述一个或多个数据存储中差分元数据的存在状态。一旦确定每个所述一个或多个数据存储中不存在差分元数据,所述方法包括:通过在查询中执行列的逐行聚合以生成第一聚合输出。一旦确定每个所述一个或多个数据存储中存在差分元数据,所述方法包括:通过使用行级规则在查询中执行列的逐行聚合以生成第二聚合输出;通过在所述第二聚合输出上应用结果级别规则以生成第三聚合输出。进一步地,所述方法包括:合并每个所述一个或多个数据存储的第一和第三聚合输出以提供查询的结果。

本发明中公开了一种重建服务器,用于重建多维数据库的数据存储。所述重建服务器包括:接收模块,用于接收一个或多个数据存储中的最新数据存储的变化对应的重建信息。所述系统还包括:数据存储创建模块,用于基于所述重建信息创建新的数据存储。所述系统还包括:元数据生成模块,用于为所述一个或多个数据存储生成差分元数据,其中,所述差分元数据包括所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息。进一步地,所述系统包括:数据加载器,用于将增量数据加载到所述新的数据存储中。

在一实施例中,所述接收模块还用于接收从所述一个或多个数据存储中查询所需信息的请求。在一实施例中,所述重建服务器包括:查询引擎,用于:一旦确定每个所述一个或多个数据存储中不存在差分元数据,通过在查询中执行列的逐行聚合以生成第一聚合输出。进一步地,所述查询引擎确定每个所述一个或多个数据存储中存在差分元数据,并执行:通过使用行级规则在查询中执行列的逐行聚合以生成第二聚合输出;通过在所述第二聚合输出上应用结果级别规则以生成第三聚合输出。进一步地,所述查询引擎合并每个所述一个或多个数据存储的第一和第三聚合输出以提供查询的结果。

本发明涉及一种非瞬时性计算机可读介质,包括:存储于其上的操作,其中,所述操作在被至少一个处理器处理时,使得重建服务器通过执行如下动作执行一个或多个动作的接收与多维数据库的一个或多个数据存储中的最新数据存储的变化相对应的重建信息。然后,执行基于所述重建信息创建新的数据存储的动作。进一步地,执行为所述一个或多个数据存储生成差分元数据的动作,其中,所述差分元数据包括所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息。最后,执行将增量数据加载到所述新的数据存储中的动作。

本发明涉及用于执行重建服务器上一个或多个动作的计算机程序。所述计算机程序包括:用于接收与多维数据库的一个或多个数据存储中的最新数据存储的变化相对应的重建信息的代码段。所述计算机程序还包括:用于基于所述重建信息创建新的数据存储的代码段。所述计算机程序还包括:用于为所述一个或多个数据存储生成差分元数据的代码段,其中,所述差分元数据包括所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息。所述计算机程序还包括:用于执行将增量数据加载到所述新的数据存储中的代码段。

在本发明中,在没有任何繁重的数据重载或没有重建整个数据立方体的情况下,立方体模型随着逻辑重建而变化。在本发明中,只将差分元数据添加到旧的立方体中。将增量数据添加到新创建的数据存储中。在一实施例中,本发明有助于减少系统负载。在本发明一实施例中,因为重建可以并行发生,立方体可立即用于重建后的用户分析。进一步地,用于重建更高量的数据的时间不会受到影响。因此,用户不会面对查询停机时间。因为原始数据不需要保留,本发明实施例节省了空间。在本发明一实施例中,没有由于重建而引起的一致性或准确性问题。

上述发明内容仅是说明性的,无意以任何方式限制。除了上面所描述的说明性方面和特征,通过参考附图和下面的详细描述,其他方面和特征则是显而易见的。

附图说明

本发明的新颖的特点和特征在所附权利要求中进行阐述。但是本发明实施例自身优选的使用方式,及其其它目的和优势,也可以通过参考以下说明性实施例的详细说明结合附图得到最好的理解。现参照附图仅通过示例描述一个或更多的实施例。

图1示出了根据本发明一些实施例的重建多维数据库的数据存储的示例性环境;

图2示出了根据本发明一些实施例的重建服务器的详细框图;

图3示出了根据本发明一些实施例的重建服务器的查询引擎的框图;

图4示出了根据本发明一些实施例的重建服务器的多维数据库的框图;

图5示出了根据本发明一些实施例的为一个或多个数据存储生成差分元数据的示例性环境;

图6阐述了示出根据本发明一些实施例的重建多维数据库的数据存储的方法的流程图;

图7阐述了示出根据本发明一些实施例的查询执行方法的流程图;

图8a至图8f阐述了根据本发明一些实施例的立方体重建和查询执行的示例性环境;

图9阐述了用于实现与本发明一致的实施例的示例性计算机系统的框图。

附图描绘本发明的实施例仅用于说明目的。本领域技术人员将很容易从以下描述中意识到本文中示出的结构和方法的替代性实施例可以在不脱离本文所述的本发明的原理的情况下采用。

具体实施方式

上文相当宽泛地概述了本发明的实施例的特征和技术优点,目的是让人能更好地理解下文对本发明的详细描述。下文中将描述本发明的额外特征和优点,其形成本发明的权利要求书的标的物。所属领域的技术人员应了解,所公开的概念和具体方面可容易地用作修改或设计用于实现本发明的相同目的的其他结构的基础。所属领域的技术人员还应意识到,此类等效构造不脱离所附权利要求书中所提出的本发明的范围。根据以下说明结合附图内容可以更好地理解被视为本发明的特点,无论是关于其组成还是操作方法,的新颖特征以及进一步的目的和优势。但是,应明确了解,提供的每个图仅用于说明性和描述性目的,并非旨在对本发明进行限制。

本发明实施例涉及重建多维数据库的数据存储的方法和重建服务器。所述重建服务器可以用于在任意数据库管理系统中重建数据库的数据存储。另外,本发明的重建服务器可以与处理模型变化的系统一起使用。所述系统可以在诸如基于文件、基于内存或者基于它们的组合的存储模型上运行。所述系统可以在分布式/非分布式存储和处理模型上运行。本发明提供一种重建解决方案:为每个模型维护逻辑数据存储,并且当用户进行重建时只跟踪存储中的模型差异。因此,不需要更新立方体中存在的旧数据,因为模型差异就足以在查询期间对数据进行所需要的处理。每个数据存储包括一个立方体模型、每个当前立方体模型的差分元数据和数据文件。当用户使用新的立方体模型进行重建时,使用最新立方体模型创建新的存储。旧存储中的数据没有被更新,只是将差分元数据添加到了旧存储中。该差分元数据表示最新立方体模型和旧的模型之间的差异。在数据加载期间,将所有增量数据加载到新创建的存储中。在查询执行期间,根据与每个存储相关联的立方体模型对查询字段进行映射。因此,在数据扫描期间只考虑适用于那个存储的字段。根据最新立方体模型使用差分元数据重建从每个存储中返回的结果,并准备好最终查询结果。

在下文中,借助示例性图表和一个或多个示例来解释本发明实施例。然而,所提供的这样的示例性图表和示例是为了更好地理解本发明的说明性目的,而不应被解释为对本发明范围的限制。

图1示出了根据本发明一些实施例的重建多维数据库的数据存储的示例性环境。

如图1所示,架构包括重建多维数据库112的数据存储的重建服务器100。在一实施例中,重建服务器100可以是一个独立的系统,该系统可以与数据库管理系统的服务器以通信方式耦合。在另一实施例中,可以将重建服务器100配置在数据库管理系统本身的服务器中。所述架构也包括一个或多个用户设备1081、1082、……、108n(统称为用户设备108)和与重建服务器100连接的多维数据库112。如图1所示,如此的用户设备108通过网络110以通信方式耦合到所述重建服务器100,以促进对所述多维数据库112的数据存储的重建以及在所述多维数据库112中对信息的查询。

所述用户设备108包括使用所述重建服务器100的服务的应用程序。具有所述应用程序的所述用户设备108可以实现于各种计算机系统中,例如,膝上型电脑、台式电脑、笔记本电脑、工作站、大型计算机、服务器、网络服务器等等。所述用户设备108可以为各种利益相关者或组织的终端用户所使用,例如项目经理、高管人员和员工。

在一实施例中,关联用户使用所述用户设备108为重建提供信息并创建一个或多个查询。所述用户设备108配置有一个或多个用于通过所述网络110与所述重建服务器100通信的接口(图1中未示出)。

在一实施中,如图1所示,所述重建服务器100包括中央处理器(“cpu”或者“处理器”)102、存储器104和接口106。所述处理器102可以包括至少一个用于执行程序组件并执行用户或系统生成的请求的数据处理器。用户可以包括一个人,一个使用诸如本发明中所包括的那些设备的人,或者此类设备本身。所述处理器102用于获取并执行存储在所述存储器104中的计算机可读指令。在一实施中,所述存储器104以通信方式耦合到所述处理器102。所述存储器104存储用于重建多维数据库112的数据存储的处理器可执行指令。所述重建服务器100可以包括用于与所述一个或多个用户设备108通信的输入/输出(i/o)接口106。

在一实施中,所述重建服务器100还充当用户设备。因此,在所述重建服务器100处直接接收到一个或多个输入或查询用于查询执行和用户交互。

所述多维数据库112存储大数据信息。存储在所述多维数据库112中的信息可以与一个或多个机构相关,其包括但不限于金融机构、证券机构、商业机构、政府机关、数据安全中心、社交网络、教育机构、天气预报中心和制造业。例如,所述多维数据库112存储与移动用户相关的信息,移动设备即手机的型号名称、签约数据、签约网络的流量使用、签约计划提供的带宽、国际移动设备标识(internationalmobileequipmentidentity,简称imei)细节、移动设备的商标名称和签约计划细节等等,这些都属于商业机构。在一示例性实施例中,一个或多个机构的信息以预定义的格式或结构或扩展方式存储在所述多维数据库112中。本领域技术人员应理解可以有任意数量的存储大数据信息的数据存储。

图2示出了根据本发明一些实施例的重建服务器的详细框图。

在一种实施中,重建服务器100可以实现于各种计算机系统中,例如,膝上型电脑、台式电脑、笔记本电脑、工作站、大型计算机、服务器、网络服务器等等。在一实施例中,重建服务器100以通信方式与多维数据库112连接。

多维数据库如图4所述。多维数据库112包括一个或多个数据存储4021、4022、……、402n(统称为数据存储402)。多维数据库中数据存储402的数量取决于对多维数据库112的数据存储进行重建的次数。新添加的数据存储称为多维数据库112的最新的/新的数据存储402。

每个所述数据存储402包括立方体模型、数据文件和差分元数据。立方体模型4041、4042、……、404n(统称为立方体模型404)存储立方体模式定义,例如度量、维度及其属性。数据文件4061、4062、……、406n(统称为数据文件406)是数据存储402中包含有关维度成员的数据的文件。数据存储可以包括从一个或多个数据加载中创建的一个或多个文件。差分元数据4081、4082、……、408n(统称为差分元数据408)代表随着多维数据库112中新的立方体模型的部署来自每个立方体模型的变化。

在一实施例中,重建服务器100从用户设备108中接收与重建和查询相关的数据。在一示例中,所述数据可以存储在存储器104中。在一实施中,所述数据例如可以包括重建数据202、查询数据204、行级规则206、结果级别规则208、以及其他数据210。

在一实施例中,所述重建数据202包括与数据存储重建相关的信息。所述信息可以包括但不限于添加维度、删除维度等等。

所述查询数据204包含关于用户创建的在多维数据库112上的检索信息的查询的信息。所述查询数据204可以与多维数据库112的一个或多个数据存储402相关。

根据对差分元数据的存在状态的判断以确定查询结果,将所述行级规则206和结果级别规则208应用在查询结果上。如下表1阐述了行级规则和结果级别规则的示例:

表1

在一实施例中,数据可以以各种数据结构的形式存储在存储器104中。此外,可以通过诸如关系或层次数据模型的数据模型来组织前面提及的数据。其他数据210可以用于存储数据,所述数据包括临时数据和临时文件,由处理器102中用于执行重建服务器100的各种功能的模块生成。在一实施例中,所述数据由重建服务器100的模块进行处理。所述模块可以存储在存储器104中。

所述模块例如可以包括接收模块212、数据存储创建模块214、元数据生成模块216、数据加载器模块218、查询引擎220以及成员更新模块222。重建服务器100还可以包括其他模块224以执行重建服务器100的各种其他功能。可以理解的是前面所提及的模块可以表示为单个模块或不同模块的组合。

在一实施中,接收模块212从用户设备108中接收与多维数据库112的一个或多个数据存储402的重建相关的信息。另外,接收模块212接收一个或多个用于查询存储在多维数据库112中的数据的查询。

一旦接收到重建请求,数据存储创建模块214创建新的数据存储。所述新的数据存储是基于从用户那里接收到的重建信息创建的。

元数据生成模块216为所述一个或多个数据存储402生成差分元数据408。所述差分元数据408包括所述多维数据库112中所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息。在一实施例中,元数据生成模块216通过检查从用户给定的最新立方体模型到数据存储402中存在的立方体模型的变化而使用差分元数据更新所有的数据存储402。另外,维度成员的任意变化都存储在成员更新模型502中。图5中阐述了元数据生成模块的一个示例性表示。对于旧的存储数据存储14021,元数据生成模块216创建了差分元数据4081,所述差分元数据4081为立方体模型4042和立方体模型4041之间的模型差异。

所述数据加载器模块218将增量数据加载到所述新的数据存储中。所述增量数据是在所述新的数据存储创建之后接收到的数据。

所述查询引擎220执行一个或多个用于从多维数据库112中请求数据的查询。所述查询引擎220包括一个或多个如图3所述的子模块。所述查询引擎220的一个或多个子模块是查询执行器302、元数据处理程序304、存储扫描仪306和结果合并器308。查询执行器302进行协调以基于查询需求为适用的存储文件初始化存储扫描仪306。所述元数据处理程序304从数据存储中读取差分元数据并处理多维数据库中当前数据存储与最新立方体模型的差异。所述存储扫描仪306扫描数据存储的数据文件并通过所述元数据处理程序304进行所述数据文件的数据聚合。所述结果合并器308将来自所有数据存储中的结果进行合并以提供最终查询结果。

所述成员更新模块222存储成员更新模型502,其包括基于重建信息的维度成员的变化。所述维度成员的变化包括但不限于添加维度成员、移除维度成员和修改维度成员。例如,更改城市名称存储在所述成员更新模型502中。

如图6或图7所示,方法600和700分别包括一个或多个重建多维数据库的数据存储和执行与多维数据库中数据的抽取有关的查询的框块。可以在计算机可执行指令的通用语境中描述所述方法600和700。通常,计算机可执行指令可以包括例程、程序、对象、组件、数据结构、流程、模块和功能,可执行特定功能或者实现特定抽象数据类型。

描述所述方法600和700的顺序并不应被解释为限制,并且任意数量的所描述方法框都可以按任意顺序组合来实现所述方法600和700。此外,独立框块可不脱离本文所描述的主题的精神和范围从所述方法600和700中删除。此外,所述方法600和700可以被任意合适的硬件、软件、固件、或其组合实现。

图6阐述了示出根据本发明一些实施例的重建多维数据库的数据存储的方法的流程图。

在框块610,接收与多维数据库的一个或多个数据存储中的最新数据存储的变化相对应的重建信息。在一实施例中,所述重建信息包括但不限于添加维度、添加度量、添加级别、移除维度、移除度量、移除级别、跨层次移动维度级别以及更新级别的成员。

在框块620,基于所述重建信息创建新的数据存储。在一实施例中,创建一个空的数据存储以适应数据存储的重建。

在框块630,为所述一个或多个数据存储生成差分元数据。所述差分元数据包括所述新的数据存储和每个所述一个或多个数据存储之间的差异的信息。

在框块640,将增量数据加载到所述新的数据存储中。在所述新的数据存储创建之后创建的所有数据都加载到所述新的数据存储中。

图7阐述了示出根据本发明一些实施例的查询执行方法的流程图。

在框块710,接收从一个或多个数据存储中查询所需信息的请求。提出查询以检索关于多维数据库112的数据存储402的信息。

在框块720,判断所述一个或多个数据存储中差分元数据的存在状态。在框块730,如果一个或多个数据存储中不存在所述差分元数据,则所述方法继续进行至框块740;在框块740,通过在查询中执行列的逐行聚合以生成第一聚合输出。或者,如果一个或多个数据存储中存在所述差分元数据,则所述方法继续进行至框块750;在框块750,通过使用行级规则在查询中执行列的逐行聚合以生成第二聚合输出。

在框块760,通过在所述第二聚合输出上应用结果级别规则以生成第三聚合输出。

在框块770,合并每个所述一个或多个数据存储的第一和第三聚合输出以提供查询的结果。

图8a至图8f阐述了根据本发明一些实施例的立方体重建和查询执行的示例性环境。

此处考虑数据存储重建的一个示例。数据存储14021的立方体模型最初包括一个或多个维度和度量。所述维度是‘产品’、‘位置’和‘时间’,所述度量是‘数量’和‘销售额’。数据存储4021的立方体模型存储在如图8b所示的molap数据存储中。在一实施例中,使用代理键值存储每个维度的值。所述代理键值和相对应的值的信息如图8c所示。例如,年度2012由‘1’表示,年度2013由‘2’表示。在代理键值映射之后存储在molap存储中的表格如图8d所示。

随后,用户向重建服务器100提供最新数据存储,即多维数据库的一个或多个数据存储中的数据存储14021,的变化对应的重建信息。所述重建信息包括添加新的维度即‘订单状态’和添加新的度量即‘折扣金额’。立方体的一个示例性表示如图8a所示。然后,使用所述重建信息进行数据存储的重建。

图8e阐述了用于说明重建后数据存储14021的基础立方体模型的内容的数据表格。数据存储14021包括旧数据和新添加的维度以及新添加的度量的差分元数据。

图8f阐述了新创建的数据存储24022的一个示例性表示。另外,所述新创建的数据存储24022已加载有增量数据。

现在,用户通过用户设备108在多维数据库112的一个或多个数据存储402上生成查询。示例性查询是:

选择年度、‘订单状态’、数量、‘折扣金额’;

在数据存储14021和数据存储24022上执行查询以确定最终查询结果的过程如图8f所示。

对于每个数据存储,首先确定该数据存储是否包括差分元数据。对于第一数据存储14021,确定对于该数据存储14021来说存在差分元数据。

在步骤1,对于数据存储14021的每一行,使用差分元数据应用行级规则并生成聚合输出。所述行级规则是为新添加的度量即折扣金额分配默认值。

在步骤2,通过差分元数据应用结果级别规则并生成存储级别结果。所述结果级别规则是为来自旧数据的每个结果行分配默认值并构建新的聚合键值。如图8f所示,为维度‘订单状态’分配了默认值,且构建了新的聚合键值。

对于第二数据存储4022,确定对于该数据存储24022来说不存在差分元数据。因此,在数据存储24022上不应用所述行级规则和结果级别规则。对数据存储24022的数据进行聚合。

在步骤3,合并来自每个所述数据存储即数据存储14021和数据存储24022的数据,并进行最终聚合。

在步骤4,将聚合结果从代理键值转译为维度成员的原始值。

计算机系统

图9阐述了用于实现与本发明一致的实施例的示例性计算机系统900的框图。在一实施例中,计算机系统900用于实现查询建议服务器100。计算机系统900为用户的时限分析提供备用查询建议。计算机系统900可以包括中央处理器(“cpu”或“处理器”)902。所述处理器902可以包括至少一个数据处理器,用于执行程序组件并执行用户或系统生成的业务流程。用户可以包括一个人,一个使用诸如本发明中所包括的那些设备的人,或者此类设备本身。所述处理器902可以包括专业处理单元,例如,集成系统(总线)控制器、内存管理控制单元、浮点单元、图形处理单元、数字信号处理单元等等。

可以设置所述处理器902通过i/o接口901与一个或多个输入/输出(i/o)设备(911和912)通信。所述i/o接口901可以采用通信协议/方法,例如但不限于,音频、模拟、数字、单声道、rca、立体声、ieee-1394、串行总线、通用串行总线(universalserialbus,简称usb)、红外线、ps/2、bnc、同轴、组件、合成、数字视频接口(digitalvisualinterface,简称dvi)、高清多媒体接口(high-definitionmultimediainterface,简称hdmi)、rf天线、s-video、vga、ieee802.n/b/g/n/x、蓝牙、蜂窝(如码分多址接入(codedivisionmultipleaccess,简称cdma)、高速分组接入(high-speedpacketaccess,简称hspa+)、全球移动通信系统(globalsystemformobilecommunications,简称gsm)、长期演进(longtermevolution,简称lte)、wimax等等)等等。

使用所述i/o接口901,所述计算机系统900可以与一个或多个i/o设备(911和912)通信。例如,输入设备911可以是天线、键盘、鼠标、操纵杆、(红外)遥控器、摄像头、读卡器、传真机、电子狗、生物读卡器、麦克风、触摸屏、触摸板、导航球、手写笔、扫描仪、存储设备、收发器、视频设备/源等等。输出设备912可以是打印机、传真机、视频显示器(如阴极射线管(cathoderaytube,简称crt)、液晶显示器(liquidcrystaldisplay,简称lcd)、发光二极管(light-emittingdiode,简称led)、等离子体、等离子显示屏(plasmadisplaypanel,简称pdp)、有机发光二极管显示器(organiclight-emittingdiodedisplay,简称oled)等等)、扬声器等等。

在一些实施例中,可以设置所述处理器902通过网络接口903与通信网络909通信。所述网络接口903可以与所述通信网络909通信。所述网络接口903可以采用连接协议,包括但不限于直连、以太网(如双绞线10/100/1000baset)、传输控制协议/互联网协议(transmissioncontrolprotocol/internetprotocol,简称tcp/ip)、令牌环、ieee802.11a/b/g/n/x等等。所述通信网络909可以包括但不限于直接互联、局域网(localareanetwork,简称lan)、广域网(wideareanetwork,简称wan)、无线网络(如,使用无线应用协议)、互联网等等。使用所述网络接口903和所述通信网络909,所述计算机系统900可以与数据聚合器或传感器910通信。

在一些实施例中,可以设置所述处理器902通过存储接口904与存储器905(如ram、rom等等,图9中未示出)通信。所述存储接口904可以采用连接协议连接存储器905,存储器905包括但不限于内存驱动器、可移动磁盘驱动器等,所述连接协议例如是串行高级技术附件(serialadvancedtechnologyattachment,简称sata)、集成驱动电路(integrateddriveelectronics,简称ide)、ieee-1394、通用串行总线(universalserialbus,简称usb)、光纤通道、小型计算机系统接口(smallcomputersystemsinterface,简称scsi)等等。所述内存驱动器可以进一步包括磁鼓、磁盘驱动器、磁光驱、光驱、独立磁盘冗余阵列(redundantarrayofindependentdisc,简称raid)、固态存储设备、固态硬盘等等。

所述存储器905可以存储程序或数据库组件的集合,包括但不限于用户界面应用906、操作系统907、网页服务器908等等。在一些实施例中,计算机系统900可以存储用户或应用数据906,例如,本发明中所描述的数据、变量、记录等。这样的数据库可以实现为容错、关系、可扩展、安全的数据库,例如oracle或sybase。

所述操作系统907可以促进所述计算机系统900的资源管理和操作。操作系统的示例包括但不限于applemacintoshosx、unix、类unix系统发行(如berkeley软件发行(berkeleysoftwaredistribution,简称bsd)、freebsd、netbsd、openbsd等)、linux发行(如redhat、ubuntu、kubuntu等)、ibmos/2、microsoftwindows(xp、vista/7/8等)、appleios、谷歌安卓、blackberryos等等。用户界面917可以通过文本或图形设备促进程序组件的显示、执行、交互、操纵或操作。例如,用户界面可以提供与所述计算机系统900有效连接的显示系统上的计算机交互界面元素,例如光标、图标、复选框、菜单、滚动条、窗口、微件等等。可以采用图形用户界面(graphicaluserinterface,简称gui),包括但不限于applemacintosh操作系统的aqua、ibmos/2、microsoftwindows(如aero、metro等)、unixx-windows、网页界面库(如activex、java、javascript、ajax、html、adobeflash等)等等。

在一些实施例中,所述计算机系统900可以实现存储有程序组件的网页浏览器908。所述网页浏览器可以是超文本浏览应用,例如,microsoftinternetexplorer、googlechrome、mozillafirefox、applesafari等等。可以使用安全超文本传输协议(securehypertexttransportprotocol,简称https)、安全套接层(securesocketslayer,简称ssl)、传输层安全(transportlayersecurity,简称tls)等提供安全的网页浏览。网页浏览器可以使用诸如ajax、dhtml、adobeflash、javascript、java、应用编程接口(applicationprogramminginterfaces,简称api)等的设施。在一些实施例中,所述计算机系统900可以实现存储有程序组件的邮件服务器919。所述邮件服务器可以是互联网邮件服务器,例如microsoftexchange等。所述邮件服务器可以使用诸如asp、activex、ansic++/c#、microsoft.net、cgiscripts、java、javascript、perl、php、python、webobjects等的设施。所述邮件服务器可以使用通信协议,例如,因特网消息接入协议(internetmessageaccessprotocol,简称imap)、消息应用程序接口(messagingapplicationprogramminginterface,简称mapi)、microsoftexchange、邮局协议(postofficeprotocol,简称pop)、简单邮件传输协议(simplemailtransferprotocol,简称smtp)等等。在一些实施例中,所述计算机系统900可以实现存储有程序组件的邮件客户端。所述邮件客户端可以是邮件查看应用,例如,applemail、microsoftentourage、microsoftoutlook、mozillathunderbird等等。

此外,在执行与本发明一致的实施例中可以使用一个或多个计算机可读存储介质。计算机可读存储介质指的是任何类型的可以存储处理器可读数据或信息的物理存储器。因此,计算机可读存储介质可以存储一个或多个处理器执行的指令,包括使得一个(多个)处理器执行与此处描述的实施例相一致的步骤或阶段的指令。术语“计算机可读介质”应理解为包括有形项目但不包括载波和瞬态信号,即具有非瞬时性。示例包括随机存取存储器(randomaccessmemory,简称ram)、只读存储器(read-onlymemory,简称rom)、易失性存储器、非易失性存储器、硬盘、cdrom、dvd、闪存、磁盘、以及其他任意已知的物理存储介质。

此外,此处还阐述了本发明的优点。

在一实施例中,本发明在不会导致繁重的数据重载或整个立方体数据重建的情况下利用逻辑重建优化了立方体模型。

在一实施例中,本发明避免了如果数据从最初的原始数据中再次重载且初始数据并不是完全可用而可能会出现的数据一致性问题。

在一实施例中,由于重建是并行执行的,因此没有查询停机时间。

在一实施例中,立方体数据可快速用于即使是对大量立方体进行重建后的分析。

本发明向用户提供了进行重建的便利方法以改变立方体模型。

在一实施例中,本发明通过避免繁重的数据转译减少了商业智能(businessintelligence,简称bi)系统上的负载。

所描述的操作可以实现为使用标准化编程和/或工程技术生成软件、固件、硬件、或其任意组合的方法、系统或制品。所描述的操作可以实现为包含在“非瞬时性计算机可读介质”中的代码,其中处理器可以从所述计算机可读介质中读取并执行所述代码。所述处理器是微处理器和能够处理并执行查询的处理器中的至少一个。非瞬时性计算机可读介质可以包括诸如磁存储介质(如硬盘驱动器、软盘、磁带等)、光存储(cd-rom、dvd、光盘等)、易失性和非易失性存储设备(如eeprom、rom、prom、ram、dram、sram、闪存、固件、可编程逻辑等)等介质。进一步地,非瞬时性计算机可读介质包括除了瞬时性介质的所有计算机可读介质。实现所描述的操作的所述代码可以进一步实现于硬件逻辑(如集成电路芯片、可编程门阵列(programmablegatearray,简称pga)、专用集成电路(applicationspecificintegratedcircuit,简称asic)等)中。

更进一步地,实现所描述的操作的所述代码可以实现于“传输信号”中,其中传输信号可以通过空间或通过诸如光纤、铜线等的传输介质来传播。所述代码或逻辑在其中进行编码的传输信号可以进一步包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。所述代码或逻辑在其中进行编码的传输信号能够被发射台发射且被接收台接收,其中在传输信号中进行编码的所述代码或逻辑在所述接收和发射台或设备处可以被解码并存储在硬件或非瞬时性计算机可读介质中。“制品”包括非瞬时性计算机可读介质、硬件逻辑和/或代码可实现于其中的传输信号。实现操作的所描述的实施例的代码在其中进行编码的设备可以包括计算机可读介质或硬件逻辑。当然,本领域技术人员可意识到可以在不脱离本发明范围的情况下对该配置做出很多修改,并且制品可以包括本领域已知的合适的承载介质的信息。

除非另有明确规定,否则术语“一实施例”、“实施例”、“多项实施例”、“该实施例”、“这些实施例”、“一项或多项实施例”、“一些实施例”和“一项实施例”指“本发明的一项或多项(但不是全部)实施例”。

除非另有明确规定,否则术语“包含”、“包括”、“具有”和其他形式指“包括但不限于”。

除非另有明确规定,否则枚举的项目列表并不意味着这些项目中的任何项目或所有项目是互斥的。

除非另有明确规定,否则术语:“一”、“一个”和“所述”指“一个或多个”。

通过几个相互通信的组件描述一实施例并不意味着所有这些组件都是必需的。相反地,描述多种可选组件是为了说明本发明的各种可能的实施例。

虽然本文描述了单个设备或制品,但显然可以使用不止一个设备/制品(不论它们是否协作)来代替单个设备/制品。类似地,虽然本文描述了不止一个设备或制品(不论它们是否协作),但显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可替代性地由没有明确地描述为具有这种功能/特征的一个或多个其它设备来实施。因此,本发明其他实施例不需要包括设备本身。

图6和图7中所说明的操作示出了按照一定顺序发生的某些事件。在替代性实施例中,某些操作可以按照不同的顺序来执行、修改或移除。此外,步骤可以添加到上面所描述的逻辑中,且仍然符合所描述实施例。进一步地,此处所描述的操作可以按顺序发生,或者某些操作可以并行处理。更进一步地,操作可以由单个处理单元或者分布式处理单元来执行。

最后,出于可读性和指导性的目的已经主要选择了说明书中使用的语言,并且该语言未被选择成限定或限制本发明的主题。因此,本发明的范围并非意在由这一详细描述限制,而是由在基于本文的应用上所附的任何权利要求限制。因此,本发明实施例旨在举例说明,而非限制在所附权利要求中阐述的本发明范围。

尽管本文公开了多个方面和实施例,但是其它方面和实施例对于所属领域技术人员来说应该是显而易见的。本文所公开的多个方面和实施例是出于说明性目的,而非限制性的,真实范围和精神由所附权利要求表征。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1