CN101523388B - 在用户设备上高速缓存和修改多维数据库的部分 - Google Patents

在用户设备上高速缓存和修改多维数据库的部分 Download PDF

Info

Publication number
CN101523388B
CN101523388B CN2006800271863A CN200680027186A CN101523388B CN 101523388 B CN101523388 B CN 101523388B CN 2006800271863 A CN2006800271863 A CN 2006800271863A CN 200680027186 A CN200680027186 A CN 200680027186A CN 101523388 B CN101523388 B CN 101523388B
Authority
CN
China
Prior art keywords
dimensional database
volatile memory
modification
subscriber equipment
copy
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.)
Expired - Fee Related
Application number
CN2006800271863A
Other languages
English (en)
Other versions
CN101523388A (zh
Inventor
H·黄
S·V·拉玛纳坦
X·M·杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101523388A publication Critical patent/CN101523388A/zh
Application granted granted Critical
Publication of CN101523388B publication Critical patent/CN101523388B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Abstract

对于多维数据库(诸如作为OLAP系统的一部分)的用户,可将多维数据库的至少一部分的副本(即本地立方)高速缓存到用户设备本地。然后,用户可查询本地立方而非多维数据库服务器。此外,本地立方可不仅包括来自数据库的数据还包括表示数据片之间依赖性的函数。用户设备上的报告工具可被配置成与本地立方通信,使得用户可使用报告工具以通过访问来自本地立方的数据和函数而在本地(例如易失性)存储器中“如果...则...”的场景中试验。例如,可以设置将所有查询从前端报告工具引导到本地高速缓存数据的瘦客户机端查询层。

Description

在用户设备上高速缓存和修改多维数据库的部分
背景
多维数据库(也称为立方或统一维度模型(UMD))在当今商业界扮演越来越重要的角色,并且通常是联机分析处理(OLAP)的关键组件。与只提供相对平坦的二维数据视图的关系数据库不同,多维数据库通常提供更多的抽象维度。此外,多维数据库通常对表示层次和层次组合提供全面支持。例如,由这种数据库提供的多维视图可表示产品线层次、商业组织层次、客户层次、时间和其它维度的复杂组合。多维数据库通常配置有基于数据的多个维度以及数据之间的关系来进行复杂计算的功能性。OLAP系统(定义为使用多维数据库系统)的示例是可从华盛顿州雷德蒙市的微软公司购得的Microsoft
Figure 2006800271863_0
Analysis Services(分析服务)。
使用OLAP系统的报告工具(例如微软Analysis Services)通常被配置成仅生成多维数据的静态视图。驻留在用户设备(即客户机)上的报告工具(例如诸如Microsoft
Figure 2006800271863_1
Excel的应用程序)通过网络向多维数据库服务器发送查询,且服务器生成视图并将其发送回该用户设备。该视图是静态的,因为它并不提供使用户能够通过与其交互以使用所报告的视图数据进行试验的有效机制,这种交互可通过诸如当它们依赖的值发生变化时对这些值进行重新计算来实现。即,不允许用户使用视图数据施行“如果...则...”场景。例如,应用程序可在电子数据表或表格中提供报告(即视图),其中一个或多个单元的值取决于(即相关于)一个或多个其它单元中的值。
为了对数据片变化的影响进行试验,用户必需在应用程序中作出改变,并将其发送到服务器。然后,服务器在多维数据库中执行涉及数据片的服务器端计算,并将变化报告给用户。该变化是永久的,因为它保留在数据库中,因此该变化被强加于共享该数据库的其它用户。此外,该用户需要等待用户设备与服务器之间的通信以及服务器的计算时间。而且,随着OLAP系统的用户数量增加,涉及该服务器的这种通信和计算的数量增大,这可导致网络阻塞。该阻塞可进一步导致例如对查询响应的延迟。
用于实现有关多维数据的“如果...则...”场景的另一选择是将报告工具自身配置成在相关数据之间执行必要计算。然而,报告工具本质上相关其呈现数据的能力相当简单。即,它们通常只能定义和表示相对平坦的二维数据视图。因此,将多维数据库的数据之间的复杂关系映射到由报告工具提供的数据视图即使有可能也通常是非常艰巨的任务。此外,报告工具通常未被配置成执行改变多维数据库的数据所需的通常很复杂的多维计算。此外,这些复杂计算中的某些涉及访问未驻留在执行该报告的用户设备上的数据(因为这些数据未表示在报告中)。这种数据必需从服务器检索,使得使用报告工具执行多维计算更加困难和耗时。
因此,当前可用的报告工具不适于使用户对通过改变多维数据库视图上的数据而在该视图上的影响进行试验。
概述
本概述以简化形式提供本发明诸方面的说明性上下文。这并不旨在用于确定要求保护的主题的范围,也不旨在标识要求保护主体的关键和/或本质特征。本发明的这些和其它方面在以下详细描述中有更全面的描述。
对于多维数据库(例如作为OLAP系统的一部分)的用户,可将多维数据库的至少一部分的副本(即本地立方)高速缓存到用户设备本地。例如,用户设备可以为该用户向多维数据库服务器(例如Microsoft
Figure 2006800271863_2
Analysis Services服务器)发送对本地立方的请求。基于该用户的安全上下文,由服务器为该用户生成的立方可以是子立方,即包含少于多维数据库全部的立方。服务器可以在服务器上存储立方的安全副本,并且向用户设备发送该立方,该立方可存储在其本地。
然后,用户可查询本地立方而非多维数据库服务器。此外,本地立方可不仅包括来自数据库的数据而且包括表示数据片之间依赖关系的函数。用户设备上的报告工具被配置成与本地立方通信。报告工具可查询本地立方并执行涉及来自本地立方和本地(例如易失性)存储器的数据的操作。例如,对来自本地立方的数据进行的操作(可以包括多维操作)可作为执行报告工具的计算机进程或从其产生的计算机进程的一部分。这些操作还可从本地立方访问。因此,用户可“离线”工作,即在不连接到数据库服务器的情况下工作。用户可使用该能力来在本地使用“如果...则...”场景进行试验,而无需访问远程服务器。
例如,可设置将所有查询从诸如Microsoft
Figure 2006800271863_3
Excel的前端报告工具引导到本地高速缓存数据的瘦客户机端查询层。因此,前端报告工具可满足用户需要而不连接到数据服务器。用户能够自由修改报告中出现的数据,并且这种修改可被发送到本地立方。于是,所有这些相关数据修改(计算、聚集等)可如同客户机端进程中的存储器内操作一样相对快速地计算,并向用户传递(例如显示)。例如,用户可对电子数据表应用程序(例如Microsoft
Figure 2006800271863_4
Excel)的第一单元进行修改,所得数据库操作可本地进行,电子数据表中的受影响单元可在向用户呈现的用户界面显示中得到更新。
向用户设备提供本地立方的多维数据库服务器可对本地立方加时间戳。可在用户设备上维护对本地立方作出的修改的列表,并可对这些修改的每一个加时间戳。基于表示本地立方从多维数据库服务器加载的时间的时间戳和/或在修改列表中列举的修改的时间戳,本地立方中的数据可与来自其所拷贝的多维数据库服务器的数据同步。同步更新可以是增量的或者可涉及本地立方的全部刷新,并且可以是用户发起和/或在预定时间处进行的。
在本发明的实施方式中,在通信网络的用户设备上提供一种使用存储在作为通信网络上与用户设备分离的设备的网络设备上的多维数据库至少一部分的系统。该多维数据库由通信网络上多个用户设备共享。该系统包括控制在用户设备的非易失性存储介质上存储多维数据库的至少一部分的副本的存储控制器。
在本实施方式的一个方面中,该系统还包括查询控制器,它从在用户设备上执行的应用程序接收对包含在多维数据库的至少一部分中的信息片的请求,并控制从非易失性存储介质上的副本来检索该信息片。
在本实施方式的另一方面中,多维数据库的至少一部分包括作为该至少一部分中包含的至少第二信息片的函数的至少第一信息片,且存储控制器用于控制在非易失性存储介质上的副本中存储该函数。在本方面中,该系统还包括响应于应用程序修改用户设备的易失性存储器中第二信息片的值而对易失性存储器中的第一信息片执行该函数的函数控制器。
在本实施方式的另一方面中,函数控制器用于将函数的执行结果传递到应用程序的用户界面显示,使得从函数执行得到的第一信息片的值得到显示。
在本实施方式的另一方面,该修改是在易失性存储器中对多维数据库的至少一部分的副本中包含的一个或多个信息片做出的多个修改之一。在本方面,该系统还包括控制向表示多个修改的修改列表中添加修改的修改列表控制器,其中修改列表驻留在易失性存储器中。
在本实施方式的又一方面中,存储控制器用于控制通过应用来自易失性存储器的修改列表来更新非易失性存储介质上的多维数据库的至少一部分的副本。
在本实施方式的另一方面中,存储控制器用于控制将修改列表存储在非易失性存储介质上。
在本实施方式的另一方面中,该系统还包括控制将修改列表从用户设备发送到网络设备的服务器接口控制器。
在本实施方式的另一方面中,应用程序用于从多维数据库的至少一部分的副本生成报告。
在本实施方式的又一方面中,该系统还包括用于向网络设备发送对多维数据库的至少一部分的副本的请求并接收多维数据库的至少一部分的服务器接口控制器。
在本实施方式的另一方面中,该系统还包括用于从网络设备接收指示对多维数据库的至少一部分的一个或多个修改的至少一个通信的服务器接口控制器。服务器接口控制器还用于控制响应于至少一个通信而将多维数据库的至少一部分的本地副本与多维数据库的至少一部分进行同步。
在本发明的另一实施方式中,存储在网络设备上的多维数据库的至少一部分由作为和通信网络上网络设备分离的设备的用户设备使用。多维数据库由通信网络上的多个用户设备共享。多维数据库的至少一部分的副本存储在用户设备的非易失性存储介质上。
在本实施方式的一个方面中,从在用户设备上执行的应用程序接收对包括在多维数据库的至少一部分内的信息片的请求,并且从非易失性存储介质上的副本检索该信息片。
在本实施方式的另一方面中,多维数据库的至少一部分包括作为该至少一部分中包含的至少第二信息片的函数的至少第一信息片。在本方面中,该函数存储在非易失性存储介质上的副本中,并且响应于应用程序修改用户设备上易失性存储器中第二信息片的值而在易失性存储器中对第一信息片执行该函数。
在本实施方式的另一方面中,该函数执行的结果向用户设备的用户显示。
在本实施方式的又一方面中,修改是在易失性存储器中对多维数据库的至少一部分的副本中包含的一个或多个信息片作出的多个修改之一。在本方面中,将修改添加到表示多个修改的修改列表,该修改列表驻留在易失性存储器中。
在本实施方式的另一方面中,非易失性存储介质上的多维数据库的至少一部分的副本通过应用来自易失性存储器的修改列表来更新。
在本实施方式的另一方面中,修改列表存储在非易失性存储介质上。
在本实施方式的另一方面中,修改列表从用户设备发送到网络设备。
在本实施方式的又一方面中,从多维数据库的至少一部分的副本生成报告。
在本实施方式的另一方面中,从用户设备向网络设备发送对多维数据库的至少一部分的副本的请求,并在用户设备处接收多维数据库的至少一部分的副本。
在本实施方式的另一方面中,从网络设备接收指示对多维数据库的至少一部分的一个或多个修改的至少一个通信。响应于至少一个通信将多维数据库的至少一部分的本地副本与多维数据库的至少一部分同步。
在本发明的另一实施方式中,提供计算机程序产品。该产品包括计算机可读介质以及存储在计算机可读介质上的定义指令的计算机可读信号,作为由计算机执行的结果,这些指令指示计算机执行在以上各段描述的本发明的实施方式的方法和/或以下各段中描述的一个或多个方面。
结合附图,从以下包括本方面的诸方面和实施方式的本发明的详细描述,本方面的其它优点、新颖特征和目的及其诸方面和实施方式将变得显而易见。附图是示意性的,不旨在按比例绘制。在附图中,在不同附图中的每个相同或近似相同的组件由单个附图标记来表示。为了清楚起见,并未在每个附图中标出全部组件,也未标出每个实施方式的每个组件以及本方面的每个方面,对其的说明对本领域技术人员理解本发明是没有必要的。
附图简述
图1是示出根据本方面某些实施方式的多维数据库系统的示例的框图;
图2是示出根据本方面的某些实施方式的用于在用户设备上使用存储在和通信网络上用户设备分离的网络设备上的多维数据库的系统的示例的框图;
图3是示出根据本方面某些实施方式的在用户设备上使用存储在远离通信网络上用户设备设置的网络设备上的多维数据库至少一部分的方法示例的流程图;
图4是示出实现本方面的某些实施方式的计算机系统示例的框图;以及
图5是示出可作为实现本方面某些实施方式的计算机系统的一部分使用的存储系统示例的框图。
详细描述
虽然以下主要关于Microsoft
Figure 2006800271863_5
Excel作为报告工具来描述本方面的某些实施方式,但是应该意识到本方面并不限于此。可以使用各种其它报告工具中的任一种。此外,虽然关于MicrosoftAnalysis Services来描述本发明的某些实施方式,但是可以使用其它多维数据库系统(即OLAP)或模仿OLAP的关系数据库系统(通常称为ROLAP),且这落在本方面的范围内。
本方面的这些和其它实施方式的功能和优点可从以下描述的示例而得到更全面的理解。以下示例旨在便于更好理解以及示出本方面的益处,但并不例示本方面的全部范围。
如本文所使用的,无论是在说明书或权利要求术中,术语“包含”、“包括”、“带有”、“具有”、“含有”、“涉及”等应被理解为开放性的,即表示包括但并不限于此。只有常规词语“由...组成”和“主要由...组成”才是封闭式或半封闭式的常规词语,如美国专利局专利审查程序手册(英文版,修订版2,2004年5月)的2111.03节中相对于权利要求书所阐述的。
示例
图1是示出根据本发明某些实施方式的多维数据库系统示例的框图。系统100只是多维数据库系统的说明性实施方式,并不旨在限制本发明的范围。诸如系统100的变型的这种系统的许多其它实现中的任一个都是可能的,并且旨在落在本发明的范围内。
系统100可包括以下任何项:用户设备102、104和106;通信网络108;服务器112;多维数据库114;其它网络元件;或上述的任何适当组合。
如本文所使用的,“网络”是由一段或多段传输介质互连的两个或更多网络元件的定义组。可包括网络设备的一个或多个网络元件可被配置成在一段或多段传输介质上发送和/或接收对一个或多个网络元件的通信。例如当向网络添加网络元件和/或用户登陆到网络时,以及当移除网络元件和/或用户注销时,作为网络定义组成员的网络元件可随时间变化。每段可以是各种类型的传输介质中任一种,包括由金属和/或光纤、空气(例如使用通过载波的无线通信)制成的一个或多个电学或光学线或缆线或者这些通信介质的任意组合。如本文所使用的,“多个”表示两个或更多。应该意识到,网络可以是由单线、总线、无线连接或其它类型的段连接的可简单到两个元素的网络。此外,应该意识到,当在本申请的附图中将网络示为连接到附图中的元件时,所连接的元件自身也被示为网络的一部分。
如本文所使用的,“网络设备”是用于在网络上通信的设备,包括但不限于:工作站、个人计算机、终端、膝上型计算机、终端站、用户设备、服务器、网关、寄存器、交换机、路由器、集线器、网桥、目录、发送器、接收器、转发器及其任意组合。如本文所使用的,“用户设备”是用户可向其发送通信或从其接收通信并可用作在通信网络上通信的终点的网络设备。应该意识到,用户设备并不总是网络的一部分。用户设备包括但不限于:工作站;个人计算机(例如PC);膝上型计算机、笔记本计算机;电话(例如座机或移动);寻呼机;BlackberryTM牌设备、PCS设备、个人数字助理(PDA)、双向无线电(例如“对讲机”)、其它类型的用户设备以及以上的任意合适组合。
网络108可以是和/或包括各种类型的网络的任一种,包括但不限于,局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网络(例如上述那些中任一种)、另一类型的网络、上述的任意合适组合。
如图1所示,服务器112和多维数据库114可驻留在同一网络设备110上。然而,应该意识到服务器112和多维数据库114也可驻留在分离设备上。
服务器112可控制对多维数据库114的访问,该数据库可由多个用户设备共享,包括用户设备102、104和106。应该意识到虽然图1只示出三个用户设备,但是系统100可包括几十、几百甚至几千个用户设备。此外,在网络108上可能存在多个服务器。每个用户设备可通过经由通信网络108与服务器112交换通信来访问和/或修改存储在多维数据库114中的数据。例如,用户设备可配置有查询控制器(例如客户机端查询层),该查询控制器被配置成与服务器112上的查询控制器(例如服务器端查询层)通信以实现查询。此外,用户设备可配置有对数据实现修改并将这些修改传递到服务器112的其它逻辑,该逻辑可对驻留在数据库114上的数据进行修改。
此外,在本发明的某些实施方式中,服务器112可被配置成响应于从用户设备102、104和106之一收到的请求生成作为多维数据库114的至少一部分的立方。服务器112可将该立方传递到请求用户设备。该传递也包括表示该立方生成时间的时间戳。该时间戳可由请求用户设备用于将立方与多维数据库114同步,如以下更详细描述。服务器112可基于用户或用户组的安全上下文生成立方。例如,服务器112可以只选择数据库114中用户被授权的那些部分(即切片)。该选择可涉及考虑信息片之间的依赖性。此外,在某些实施方式中,请求可指定对待选择的数据的一个或多个其它限制,服务器112可在生成立方时考虑这些限制。
如以下更详细描述,用户设备(例如用户设备102、104或106)可被配置成生成表示对存储在本地立方中的一个或多个信息片进行的修改的修改列表,并且可被配置成向服务器112发送该修改列表。服务器112可被配置成将修改列表中的修改应用到多维数据库114以及向共享多维数据库的一个或多个用户设备报告这些修改。此外,服务器112可被配置成向共享数据库的多个用户设备周期性发送更新,并且每次更新可包括时间戳。这些更新可指定对多维数据库114的修改。此外,服务器112可被配置成解决两个不同用户设备由于在这些用户设备之一或两者收到周期性更新而对多维数据库114中同一信息片进行的修改之间的冲突。
图2是示出根据本方面某些实施方式的在用户设备上使用存储在和通信网络上的用户设备分离的网络设备上的多维数据库的系统200的示例的框图。系统200只是在用户设备上使用存储在和通信网络上用户设备分离的网络设备上的多维数据库的系统的说明性实施方式,并不旨在限制本方面的范围。诸如系统200的变体的这种系统的许多其它实现中任一个都是可能的,并落在本方面的范围内。
系统200可包括以下任何项:用户接口208;应用程序210;服务器接口控制器212;修改列表控制器214;函数控制器216;查询控制器218;存储控制器220;非易失性存储介质222;通信网络230;其它组件;和以上的任何合适组合。如图2所示,在某些实施方式中,应用程序210可以是和组件212-220分离的不同组件。在其它实施方式中,这些组件的一个或多个可集成在应用程序210中。例如,组件212-220的一个或多个或者它们提供的功能可实现为应用程序210(例如Microsoft
Figure 2006800271863_7
Excel)的插件。此外,组件208-220中的一个或多个可在应用程序210的执行期间(即运行时期间)存储在易失性存储器206中。
非易失性存储器介质可在不同时间在其上存储报告文件224、本地立方226、修改列表228、其它组件或以上的任意合适组合,以下将详细描述每一个。
组件206-228全部驻留在用户设备204上(例如系统100的用户设备102-106中任一个),如图2所示,但是在某些实施方式中,这些组件的一个或多个可驻留在不同设备上。例如,非易失性存储介质222可驻留在和用户设备204分离的设备上。组件208-220的一个或多个可被视为客户机/服务器系统的客户机的一部分,其中服务器可以是诸如服务器112的多维数据库的服务器。
服务器接口控制器212可被配置成控制向服务器112发送对多维数据库114的至少一部分的请求。作为响应,控制器212可接收多维数据库的一部分。存储控制器220可被配置成控制在诸如存储介质222的非易失性存储介质上存储本地立方226。如本文所使用的,“本地立方”是存储在(将要存储在)用户设备的非易失性介质上的多维数据库的至少一部分的副本。
在本发明的某些实施方式中,本地立方226可针对用户设备204的一个或多个用户。例如,本地立方226可包括用户设备204的一个或多个用户允许访问的多维数据库的一个或多个部分。在该实施方式中,根据对多维数据库系统实现的安全系统基于一个或多个用户的安全上下文来确定要包括在本地立方中的一个或多个部分。在该实施方式中,小心确保本地立方226中没有包含多维数据库中一个或多个用户未被授权访问的部分。如上所述,服务器112可在生成立方时实现这些安全测量。如此限制这些部分可涉及考虑多维数据库中包括的数据片之间的依赖关系。
如上所述,在用户设备204上高速缓存本地立方226以及允许用户访问和使用存储在本地立方226中的数据和函数可为用户提供更快速的访问和计算时间。此外,在本地立方226小于多维数据库的全部的情形中,也可能是用户被限制于只能访问其中的某些数据的情形中,访问和处理速度可因数据量的减小而进一步增大。
用户接口208可被配置成接收和输出用户输入和输出202,并用作用户与应用程序210和/或用户设备204上其它组件之间的接口。如本文所使用的,“用户接口”是使用户能够在应用程序的执行期间与该应用程序进行接口的应用程序或应用程序的一部分(即计算机可读指令的子集)。用户接口可包括定义应用程序在应用程序执行期间如何向用户输出信息的代码,例如通过计算机屏幕或其它装置视觉输出,通过其它装置的扬声器听觉输出,以及通过游戏控制器或其它装置手动输出。这种用户接口也可包括定义用户在应用程序执行期间输入信息的代码,例如使用麦克风听觉输入或使用键盘、鼠标、游戏控制器、跟踪球、触摸屏或其它装置手动输入。
用户接口可定义如何向用户视觉呈现(即显示)信息,以及定义用户如何导航信息的视觉表示(即显示)并在视觉表示的上下文中输入信息。在应用程序执行期间,用户接口可控制信息的视觉表示并使用户能够导航视觉表示并在视觉表示的上下文中输入信息。用户接口的类型的范围从用户键入命令的命令驱动接口、用户从菜单选择命令的菜单驱动接口及其结合到GUI,其中GUI通常利用计算机图形能力的优点、更加灵活、直观和易于导航并且比命令驱动和菜单驱动的视觉用户接口具有更吸引人的“感观”。如本文所使用的,由用户接口或GUI呈现的信息的视觉表示分别称为“用户界面显示”或“GUI显示”。
应用程序210可以是使用户能够从存储在多维数据库114中的数据产生报告的报告工具或其它类型的应用程序。在本发明的某些实施方式中,应用程序210可被配置成与用户设备204上的一个或多个组件交互(或包括它们)以从本地立方226而非多维数据库114访问这些数据。例如,查询控制器218可被配置成从应用程序210接收对本地立方226中(以及多维数据库114自身中)包含的信息片的请求,并控制从本地立方226而非数据库114检索信息片。
除了存储从数据库114和本地立方226拷贝的数据之外,存储控制器220可被配置成在本地立方226中存储从数据库114拷贝的函数。这些函数可定义存储在本地立方中的数据片之间的关系,并包括一个或多个操作,包括一个或多个多维操作。例如,第一信息片可具有作为至少第二信息片的函数的值。响应于用户对应用程序210中的第二信息片作出的修改,函数控制器216可对第一数据片执行该函数以修改其值。函数控制器216可被配置成在易失性存储器206中执行该函数,从而提供比原本该函数在服务器112和/或多维数据库114上远程执行时可用的时间更快的处理时间。因此,用户可用不同信息片的不同值试验以确定这些值如何影响本地存储器中的其它信息片的值,而无需保留这些修改。这些函数的执行结果例如可响应于用户请求刷新由用户接口呈现的数据而通过用户接口208向用户显示。
例如,用户可修改在电子数据表应用程序(例如Microsoft
Figure 2006800271863_8
Excel)的第一单元中出现的值。该值可表示来自存储在本地立方226中的多维数据库的信息片的值。该信息片可与本地立方226中的一个或多个其它信息片相关,且这些关系中的每一个可由一个或多个多维操作定义。响应于用户修改单元中的值,函数控制器216被配置成使用来自本地立方226的多维操作重新计算所有相关信息片的值。在新的值被计算之后,函数控制器216可将这些新的值传递到应用程序210和/或用户接口208,使得表示作为重新计算的结果而修改的值的任何单元被更新以反映该修改。
在本发明的某些实施方式中,对信息片的修改由修改列表控制器214记录在修改列表中。这种修改列表可在易失性存储器206中维护,并可作为修改列表228保留在非易失性存储介质中和/或向服务器112发送使得这些修改被记录在多维数据库114中。对于修改列表中的每个修改,时间戳可与修改一同记录。这些时间戳用于将本地立方226与多维数据库114同步,如以下更详细描述。
例如,应用程序210的用户可通过修改一个或多个信息片的值以查看这对其它信息片的影响来试验。每次用户修改信息片,该修改被记录在易失性存储器中的修改列表中。在用户完成试验之后,用户就可将已更改的信息片修改回其原始值或使一个或多个信息片保持修改。用户可保存该报告或包括信息片的其它文档作为报告文件224,并且可将修改列表应用到本地立方226。此外,修改列表自身可作为修改列表228存储在存储介质222中。
服务器接口控制器212可被配置成向服务器112发送修改列表228,使得这些修改应用到多维数据库114。例如服务器接口控制器212可被配置成向服务器112周期性发送修改列表228和/或响应于例如将修改列表228保存到存储介质222、关闭应用程序210、用户命令等的事件而发送修改列表。修改列表228可在向服务器112发送修改列表之后从存储介质222删除以确保不再次对多维数据库114进行相同的修改,以维护数据的完整性。而且,可使用其它同步技术,这些技术在修改列表中采用时间戳和/或在修改列表228中维护反映向服务器112发送的修改列表中最后修改的指示。
服务器112可被配置成协调修改列表228内的修改与多维数据库114内的数据的同步。例如,服务器112可被配置成在用户对用户设备上的自从上次将该信息片从数据库114加载到用户设备以来已修改过的信息片进行修改的事件中对数据进行同步。此外,服务器112可被配置成将对多维数据库114做出的修改推入(例如周期性)共享数据库114中数据的多个用户设备(例如用户设备102-106)。用户设备随后可使用所推入的修改来更新其本地立方。
每个共享多维数据库的用户设备可被配置成自身使用同步技术。例如,用户设备204的服务器接口控制器212可用于将本地立方226与多维数据库114同步。如上所述,从服务器向包括该本地立方的用户设备204的通信也可包括表示该本地立方生成时间的时间戳。同样如上所述,服务器可被配置成向用户设备发送包括时间戳的周期性更新。服务器接口控制器212可被配置成响应于收到这些周期性通信而例如基于与本地立方226通信的时间戳将本地立方226与多维数据库114同步。控制器212可被配置成将来自服务器112的与更新一起被包含的时间戳与最初与本地立方226通信的时间戳进行比较。如果更新的时间戳晚于本地立方的时间戳,则本地立方过时并需要同步。
本地立方226和服务器接口控制器212可被配置成使本地立方226增量更新;即仅仅是本地立方226中从上次更新以来已发生改变的信息片。此外,服务器接口控制器212也可被配置成也执行本地立方226的完全刷新。例如,控制器212可被配置成如果它确定从服务器接收到的更新包括本地立方226中未包括的修改则向服务器112请求当前本地立方。
服务器接口控制器200可被配置成响应于从服务器112接收更新来处理不同的同步情况。例如,如果从上次增量更新或刷新本地立方226以来未对本地立方226进行修改,则不对本地立方226进行增量更新,也不对本地立方进行完全刷新。如果从上次增量更新或完全刷新以来已对本地立方226进行了修改,则控制器212可被配置成在本地立方226上执行完全刷新,然后重新应用这种修改。例如控制器212可重新应用在修改列表228中维护的在从服务器112接收更新与上次增量更新或刷新之间发生的修改。
在某些实施方式中,当控制器212处于将修改列表228向服务器112传递的进程中时,控制器212可“预览这些修改”。即,控制器212可将正在传递的修改与多维数据库114上还未向用户设备204传递的修改进行比较。例如,控制器212可从服务器112请求更新(独立于任何周期性更新),然后将在更新中指定的修改与正在传递的修改列表中的修改进行比较。控制器212可使用各种技术中的任一种解决这些修改之间的冲突,这些技术例如:基于更新中指定的修改对本地立方226进行增量修改,然后应用来自修改列表的修改;或者通过在本地立方226上执行完全刷新,重新应用修改列表228中的修改,然后将修改列表228发送到服务器112。
系统100和200及其组件可使用各种技术中的任一种实现,这些技术包括软件(例如C、C#、C++、Java或其组合)、硬件(例如一个或多个专用集成电路)、固件(例如电可编程存储器)或其任意组合。系统100和/或200的组件中的一个或多个可驻留在单个设备(例如计算机),或者一个或多个组件可驻留在分离的离散设备上。此外,每个组件可分布在不同设备上,并且设备的一个或多个可互连。
此外,在包括系统100和/或200的一个或多个组件的一个或多个设备的每一个上,每个组件可驻留在系统的一个或多个位置内。例如,这些系统的组件的不同部分可驻留在设备上存储器(例如RAM、ROM、磁盘等)的不同区域中。这种一个或多个设备的每一个可包括诸如多个已知组件,诸如一个或多个处理器、存储器系统、盘存储系统、一个或多个网络接口和互连各种组件的一个或多个总线或其它内部通信链路。系统100和/或200及其组件可使用诸如以下相关于图4和5描述的计算机系统来实现。
图3是示出根据本方面的某些实施方式在用户设备上使用存储在远离通信网络上用户设备设置的网络设备上的多维数据库的至少一部分的方法300的示例的流程图。方法300只是在用户设备上使用存储在远离通信网络上用户设备设置的网络设备上的多维数据库的至少一部分的方法的说明性示例,并不旨在限制本方面的范围。诸如方法300的变型的这种方法的许多其它实现的任一种是可能的,并落在本方面的范围内。
最初,用户设备可向多维数据库的服务器(未示出)发送对多维数据库的至少一部分的请求,例如以上相关于图1的系统200所述。作为响应,服务器可生成该至少一部分的副本,并将该至少一部分发送到用户设备(未示出),例如以上相关于系统200所述。
在动作302,多维数据库的至少一部分的副本可存储在例如以上相关于系统200的存储控制器220描述的用户设备的非易失性存储介质上。在动作304,响应于来自在用户设备上执行的应用程序的对包括在多维数据库的至少一部分(即本地立方)中的信息片的请求,可从本地立方检索信息片。在动作304可如上相关于系统200所述地执行。
如上所述,在某些实施方式中,至少一个或多个第一信息片可以是本地立方的第二信息片的值的函数(即取决于)。因此,在动作306,响应于应用程序改变用户设备上易失性存储器中的第二信息片的值,该函数(例如一个或多个操作)可对易失性存储器中第一信息片执行。动作306可由如以上相关于图2所述的系统200的函数控制器216执行。
在动作308,从函数执行得到的第一信息片的值可在由应用程序提供的用户界面显示内显示,如相关于系统200所述。在动作310,可将修改添加到表示多个修改的修改列表中。例如,修改列表可驻留在易失性存储器中。动作310可由如上相关于图2所述的系统200的修改列表控制器214执行。
在动作312,本地立方的副本可通过将来自易失性存储器的修改列表应用到本地立方来更新,例如以上相关于方法200所述。
在动作314,可将修改列表存储在非易失性存储介质中,例如以上相关于方法200的修改列表控制器214所述。在动作316,可将修改列表从用户设备发送到网络设备,例如如以上相关于系统200的服务器接口控制器212所述。
虽然未在图3中示出,但是方法300可包括从多维数据库服务器接收可指定对多维数据库的更新的周期性通信。可响应于接收这种更新而向本地立方和/或多维数据库施加各种同步技术的任一种,例如以上相关于系统200所述的那些中任一种。
在动作318,可从本地立方生成报告,例如以上相关于200所述。
方法300的一个或多个动作可并行(至少部分并行)执行或者以不同于图3所示的次序执行。例如,生成报告的动作318可在方法300的执行期间任何时刻执行。此外,从用户设备向网络设备发送修改列表的动作316可分别在更新立方和将修改列表存储在存储介质的动作312和314之前执行。此外,方法300的动作中的一个或多个可例如响应于事件而在动作300的一个或多个其它动作执行之后重复。动作300可使用基于事件的编程和处理技术,其中,各种动作可响应于特定事件执行,而无需以方法300所示的顺序。
方法300及其动作以及该方法和这些动作的各种实施方式和变型可由实际上嵌入到例如非易失性记录介质、集成电路存储器元件或其组合的一个或多个计算机可读介质上的计算机可读信号独立地或组合地定义。计算机可读介质可以是可由计算机访问的任何可用介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现用来存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、其它类型的易失性和非易失性存储器、可用于存储所需信息并且可由计算机访问的任何其它介质、以及以上的任何合适组合。
通信介质通常体现为在诸如载波或其它传输机制的调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据。术语“调制数据信号”表示以在该信号中编码信息的方式设定或更改其特征的一个或多个的信号。作为示例而非限制,通信介质包括诸如接线网络或直接接线连接的有线介质、诸如声学、RF、红外的无线介质或其它无线介质、其它类型的通信介质、以及以上的任意适当组合。
在一个或多个计算机可读介质上具体化的计算机可读信号可定义作为一个或多个程序的一部分的指令,作为由计算机执行的结果,这些指令指示计算机执行本文所述的功能中的一个或多个(例如方法300或其任何动作)和/或各种实施方式、变型及其组合。这种指令可以以各种编程语言中的任一种编写,例如Java、J#、Visual Basic、C、C#、或C++、Fortran、Pascal、Eiffel、Basic、COBOL等或其各种组合中的任一种。这种指令所具体化的计算机可读介质可驻留在本文所述的系统100、200、400和500中任一个的组件的一个或多个上,可在这种组件的一个或多个上分布,并可在其间变换。
计算机可读介质可以是可运输的,使得可将存储其上的指令加载到任何计算机系统资源上以实现本文所述的本发明的诸方面。此外,应该意识到,如上所述的存储在计算机可读介质上的指令并不限于体现为作为在主机计算机上运行的应用程序的一部分的指令。相反,这些指令可体现为可用于编程处理器以实现本发明的上述方面的任何类型的计算机代码(例如软件或微代码)。
应该意识到,执行本文所述的功能的诸如相关于图1、2、4和5描述的计算机系统的计算机系统的多个组件的任何单个组件或组件集通常可被示为控制这些功能的一个或多个控制器。一个或多个控制器可使用采用微代码或软件进行编程以实现上述功能或以上任意合适组合的处理器来以许多方法实现,诸如使用专用软件和/或固件。
根据本发明的各种实施方式可在一个或多个计算机系统上实现。这些计算机系统可以是例如基于Intel PENTIUM(因特尔奔腾)型处理器、摩托罗拉PowerPC、Sun UltraSPARC、Hewlett-Packard(惠普)PA-RISC处理器、可从超微半导体(AMD)购得的各种处理器中任一种或者任何其它类型的处理器的通用计算机。应该意识到,任何类型的计算机系统中的一个或多个可用于实现本发明的各个实施方式。
根据本发明的一实施方式的通用计算机系统被配置成执行上述功能的一个或多个。应该意识到,该系统可执行其它功能并且本发明并不限于具有任何特定功能或功能集。
例如,本发明的各个方面可实现为在诸如图4中所示的通用计算机系统400上执行的指定软件。计算机系统400可包括连接到诸如磁盘驱动器、存储器或其它用于存储数据的设备的处理器403。存储器404通常用于在计算机系统400的操作期间存储程序和数据。计算机系统400的组件可通过包括一个或多个总线(例如在集成在同一机器中的组件之间)和/或网络(例如驻留在分离离散机器上的组件之间)的互连机制405来耦合。互连机制405可在系统400的系统组件之间实现通信(例如数据、指令)。计算机系统400还包括一个或多个输入设备402,诸如键盘、鼠标、跟踪球、麦克风、触摸屏,以及一个或多个输出设备401,诸如打印设备、显示屏、扬声器。此外,计算机系统400可包含将计算机系统400连接于通信网络(除了互连机制405之外,或者作为其替代)的一个或多个接口(未示出)。
在图5中更详细示出的存储系统406通常包括计算机可读并且可写的非易失性记录介质501,在该介质上存储的信号定义了由处理器执行的程序或者在介质501上或其中存储的信息可由该程序处理。例如,该介质可以是磁盘或闪存。通常在操作中,处理器使数据从非易失性记录介质501读取到允许由处理器比介质501更快速访问的另一存储器502中。该存储器502通常是诸如动态随机存取存储器(DRAM)或静态存储器(SRAM)的易失性、随机存取存储器。它可如所示地位于存储系统406中或者位于存储器系统404中(未示出)。处理器403通常操控集成电路存储器404、502中的数据,然后在处理完成之后将数据拷贝到介质501中。用于在介质501与集成电路存储器单元404、502之间管理数据移动的各种机制是已知的,并且本发明并不限于此。本发明并不限于特定存储器系统404或存储系统406。
计算机系统可包括特定编程、专用硬件,诸如专用集成电路(ASIC)。本发明的诸方面可在软件、硬件或固件或其任意组合中实现。此外,这种方法、动作、系统、系统元素及其组件可实现为上述计算机系统的一部分或者实现为独立组件。
虽然计算机系统400作为实践本发明的不同方面的一种计算机系统而作为示例示出,但是应该意识到本方面的诸方面并不限于在图4所示的计算机系统上实现。本发明的不同方面可在具有与图4所示不同的架构和组件的一个或多个计算机上实施。
计算机系统400可以是可使用高级计算机编程语言编程的通用计算机系统。计算机系统400也可以用特定编程、专用硬件实现。在计算机系统400中,处理器403通常是诸如可从因特尔公司购买的公知的奔腾系列处理器的商用处理器。许多其它处理器也可使用。这种处理器通常执行操作系统,诸如可从微软公司购买的Windows
Figure 2006800271863_9
95、Windows98、Windows NT
Figure 2006800271863_11
、Windows
Figure 2006800271863_12
2000(Windows
Figure 2006800271863_13
ME)或WindowsXP操作系统,可从苹果计算机公司购买的MAC OS System X,可从太阳微系统公司(Sun Microsystems)购买的Solaris Operating System,可从各种来源获得的Linux或UNIX。可以使用各种其它操作系统中的任一种。
处理器和操作系统一起定义了计算机平台,其中可以高级编程语言编写应用程序。应该理解,本发明并不限于特定计算机系统平台、处理器、操作系统、或网络。而且,对本领域技术人员显而易见的是本发明不限于特定编程语言或计算机系统,以及也可使用其它适当编程语言和其它适当计算机系统。
计算机系统的一个或多个部分可分布在耦合到通信网络的一个或多个计算机系统(未示出)。这些计算机系统也可以是通用计算机系统。例如,本发明的各个方面可分布在配置成向一个或多个客户端计算机提供服务(例如,服务器)或执行总的任务作为分布式系统一部分的一个或多个计算机系统上。,本发明的各个方面可在包括分布在执行根据本方面不同实施方式的各种功能的一个或多个服务器系统上分布的组件的客户机-服务器系统上执行。这些组件可以是用通信协议(例如TCP/IP)通过通信网络(例如因特网)传递的可执行、中间(例如IL)或解释(例如Java)代码。
应该意识到,本方面并不限于在任何系统或系统组上执行,并且本发明不限于任何特定分布的架构、网络或通信协议。
本发明的各个实施方式可用面向对象的编程语言来编程,诸如SmallTalk、Java、J#(J-Sharp)、C++、Ada或C#(C-Sharp)。也可以使用其它面向对象的编程语言。或者,可以使用功能、脚本、和/或逻辑编程语言。本发明的各个方面可在非编程环境中实现(例如在HTML、XML或其它格式中创建的文档,当在浏览器程序的窗口中浏览这些文档时呈现图形用户界面(GUI)的诸方面或执行其它功能)。本发明的各个方面可被实现为已编程或未编程元件或其任意组合。此外,本发明的各个实施方式可用可从微软公司购买的Microsoft.NET技术来实现。
现在已经描述了本发明的某些说明性实施方式,对本领域技术人员显而易见的是以上仅为说明性的而非限制,仅作为示例呈现。许多更改和其它说明性实施方式在本领域普通技术之一的范围内,并且可以预期落在本发明的范围内。特别地,虽然本文示出的许多示例涉及方法动作或系统元件的具体组合,但是应该理解这些动作和这些元件可以通过其它方式组合以实现同一目的。仅相关于一实施方式描述的动作、元件和特征并不旨在排除出其它实施方式中的类似角色。此外,对于所附权利要求书中所述的一个或多个装置加功能的描述,装置不旨在限制于本文所述的用于执行所述功能的装置,而是旨在涵盖范围内的任何已知或以后开发的用于执行所述功能的等效装置。
权利要求中使用诸如“第一”、“第二”、“第三”等的序数词来修饰权利要求元素,其自身并不表示任何优先级、先后次序、或一权利要求元素在另一个之前的次序、或方法的动作执行的时间次序,而只是用作将具有特定名称的一个权利要求元件从具有相同名称(但使用序数词)的另一元件区分开以区别权利要求元素。

Claims (18)

1.一种在通信网络的用户设备上的系统,用于使用存储在作为所述通信网络上与所述用户设备分离的设备的网络设备上的多维数据库的至少一部分,所述多维数据库由所述通信网络上的多个用户设备共享,其中所述多维数据库的所述至少一部分包括至少一第一信息片,所述第一信息片作为所述至少一部分中包含的至少一第二信息片的函数,所述系统包括:
存储控制器,控制在所述用户设备的非易失性存储介质上存储所述多维数据库的所述至少一部分的副本,其中所述存储控制器还用于控制在所述非易失性存储介质上的所述副本中存储所述函数;
查询控制器,从在所述用户设备上执行的应用程序接收对包含在所述多维数据库的所述至少一部分中的信息片的请求,并控制从所述非易失性存储介质上的所述副本检索所述信息片;以及
函数控制器,响应于所述应用程序修改所述用户设备的易失性存储器中所述第二信息片的值而对所述易失性存储器中的所述第一信息片执行所述函数。
2.如权利要求1所述的系统,其特征在于,所述函数控制器用于将所述函数的执行结果传递到所述应用程序的用户界面显示,使得从所述函数执行得到的所述第一信息片的值得到显示。
3.如权利要求1所述的系统,其特征在于,所述修改是在所述易失性存储器中对所述多维数据库的所述至少一部分的副本中包含的一个或多个信息片进行的多个修改之一,所述系统还包括:
修改列表控制器,控制向表示所述多个修改的修改列表添加所述修改,所述修改列表驻留在所述易失性存储器中。
4.如权利要求3所述的系统,其特征在于,所述存储控制器用于控制通过应用来自所述易失性存储器的所述修改列表来更新所述非易失性存储介质上的所述多维数据库的所述至少一部分的副本。
5.如权利要求3所述的系统,其特征在于,所述存储控制器用于控制将所述修改列表存储在所述非易失性存储介质上。
6.如权利要求3所述的系统,其特征在于,还包括:
服务器接口控制器,控制将所述修改列表从所述用户设备发送到所述网络设备。
7.如权利要求1所述的系统,其特征在于,还包括:
服务器接口控制器,用于从所述网络设备接收指示对所述多维数据库的所述至少一部分的一个或多个修改的至少一个通信,以及用于控制响应于所述至少一个通信而将所述多维数据库的所述至少一部分的本地副本与所述多维数据库的所述至少一部分的同步。
8.一种使用驻留在通信网络的网络设备上的多维数据库的至少一部分的方法,所述多维数据库由所述通信网络上的多个用户设备共享并且包括至少一第一信息片,所述第一信息片作为包含在所述至少一部分中的至少一第二信息片的函数,所述方法包括以下动作:
(A)在作为与所述通信网络上的所述网络设备分离的设备的用户设备的非易失性存储介质上存储所述多维数据库的所述至少一部分的副本,包括在所述非易失性存储介质上的所述副本中存储所述函数;以及
(B)响应于应用程序修改所述用户设备上易失性存储器中的所述第二信息片的值,对所述易失性存储器中的所述第一信息片执行所述函数。
9.如权利要求8所述的方法,其特征在于,所述修改是在所述易失性存储器中对所述多维数据库的所述至少一部分的副本中包含的一个或多个信息片进行的多个修改之一,所述方法还包括以下动作:
(E)向表示所述多个修改的修改列表添加所述修改,所述修改列表驻留在所述易失性存储器中。
10.如权利要求9所述的方法,其特征在于,还包括以下动作:
(F)通过应用来自所述易失性存储器的所述修改列表来更新所述非易失性存储介质上的所述多维数据库的所述至少一部分的副本。
11.如权利要求9所述的方法,其特征在于,还包括以下动作:
(F)在所述非易失性存储介质上存储所述修改列表。
12.如权利要求9所述的方法,其特征在于,还包括以下动作:
(F)将所述修改列表从所述用户设备发送到所述网络设备。
13.如权利要求8所述的方法,其特征在于,还包括以下动作:
(G)从所述多维数据库的所述至少一部分的副本生成报告。
14.如权利要求8所述的方法,其特征在于,还包括:
(C)从所述网络设备接收指示对所述多维数据库的所述至少一部分进行的一个或多个修改的至少一个通信;以及
(D)响应于所述至少一个通信将所述多维数据库的所述至少一部分的本地副本与所述多维数据库的所述至少一部分同步。
15.一种使用驻留在通信网络的网络设备上的多维数据库的至少一部分的方法,所述多维数据库由所述通信网络上多个用户设备共享,所述方法包括以下动作:
(A)从作为与所述通信网络上的所述网络设备分离的设备的用户设备向所述网络设备发送对所述多维数据库的至少一部分的副本的请求;
(B)在所述用户设备处接收所述多维数据库的所述至少一部分的副本,所述多维数据库的所述至少一部分包括至少一第一信息片,所述第一信息片作为包含在所述至少一部分中的至少一第二信息片的函数;
(C)在所述用户设备的非易失性存储介质上存储所述多维数据库的所述至少一部分的副本,包括将所述函数存储在所述非易失性存储介质上的所述副本中;以及
(D)响应于所述应用程序修改所述用户设备上易失性存储器中所述第二信息片的值,对所述易失性存储器中的所述第一信息片执行所述函数。
16.如权利要求15所述的方法,其特征在于,所述方法还包括以下动作:
(E)响应于来自在用户设备上执行的应用程序的对包含在所述多维数据库的所述至少一部分中的信息片的请求,从所述非易失性存储介质上的所述副本检索所述信息片。
17.如权利要求15所述的方法,其特征在于,所述修改是在所述易失性存储器中对所述多维数据库的所述至少一部分的副本中包含的一个或多个信息片进行的多个修改之一,所述方法还包括以下动作:
(E)向表示所述多个修改的修改列表添加所述修改,所述修改列表驻留在所述易失性存储器中。
18.如权利要求17所述的方法,其特征在于,所述方法还包括以下动作:
(F)将所述修改列表从所述用户设备发送到所述网络设备。
CN2006800271863A 2005-07-25 2006-07-25 在用户设备上高速缓存和修改多维数据库的部分 Expired - Fee Related CN101523388B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/188,439 2005-07-25
US11/188,439 US20070022120A1 (en) 2005-07-25 2005-07-25 Caching and modifying portions of a multi-dimensional database on a user device
PCT/US2006/029026 WO2007014274A2 (en) 2005-07-25 2006-07-25 Caching and modifying portions of a multi-dimensional database on a user device

Publications (2)

Publication Number Publication Date
CN101523388A CN101523388A (zh) 2009-09-02
CN101523388B true CN101523388B (zh) 2011-09-07

Family

ID=37680288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800271863A Expired - Fee Related CN101523388B (zh) 2005-07-25 2006-07-25 在用户设备上高速缓存和修改多维数据库的部分

Country Status (6)

Country Link
US (1) US20070022120A1 (zh)
EP (1) EP1907955A4 (zh)
JP (1) JP4964881B2 (zh)
KR (1) KR20080031202A (zh)
CN (1) CN101523388B (zh)
WO (1) WO2007014274A2 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070220171A1 (en) * 2006-03-17 2007-09-20 Sony Corporation Systems and methods for synchronization of asynchronous networks
WO2007148437A1 (ja) * 2006-06-22 2007-12-27 Kabushiki Kaisha Toshiba 知的財産管理システム、知的財産管理方法およびそのプログラム
US8082239B2 (en) * 2008-02-04 2011-12-20 Microsoft Corporation Defining sub-cube scope based upon a query
US8452755B1 (en) * 2009-05-12 2013-05-28 Microstrategy Incorporated Database query analysis technology
US8478786B2 (en) 2010-09-14 2013-07-02 Microsoft Corporation Automatic layout derivation and implementation
US9330091B1 (en) 2011-10-08 2016-05-03 Bay Dynamics, Inc. System for managing data storages
US9390082B1 (en) 2011-10-08 2016-07-12 Bay Dynamics, Inc. Generating multiple views of a multidimensional cube
US9081830B1 (en) 2011-10-08 2015-07-14 Bay Dynamics Updating a view of a multidimensional cube
US10353922B1 (en) 2011-10-08 2019-07-16 Bay Dynamics, Inc. Rendering multidimensional cube data
US8682922B2 (en) 2012-03-20 2014-03-25 Schlumberger Technology Corporation Method and system for accessing a virtual seismic cube
CN102663117B (zh) * 2012-04-18 2013-11-20 中国人民大学 面向数据库与Hadoop混合平台的OLAP查询处理方法
US20140081903A1 (en) * 2012-09-17 2014-03-20 Salesforce.Com, Inc. Methods and systems for displaying and filtering business analytics data stored in the cloud
WO2014056145A1 (zh) * 2012-10-09 2014-04-17 华为技术有限公司 使Web应用获取数据库变化的方法和系统
CN103235793A (zh) * 2013-04-01 2013-08-07 华为技术有限公司 联机处理数据的方法、设备及系统
CN104252452B (zh) * 2013-06-25 2019-03-15 腾讯科技(深圳)有限公司 数据管理的方法及装置
WO2015067014A1 (en) * 2013-11-06 2015-05-14 Huawei Technologies Co., Ltd. Method and system for managing data for performing write back on what-if analysis
IN2013CH05008A (zh) * 2013-11-06 2015-05-08 Huawei Technologies India Pvt Ltd
KR102213674B1 (ko) 2014-02-17 2021-02-08 삼성전자주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치와 이의 동작 방법
CN103870571B (zh) 2014-03-14 2017-06-06 华为技术有限公司 多维联机分析处理系统中的立方体重构方法和装置
US10353923B2 (en) * 2014-04-24 2019-07-16 Ebay Inc. Hadoop OLAP engine
US10769175B1 (en) 2014-06-20 2020-09-08 Amazon Technologies, Inc. Real-time hosted system analytics
EP3158478B1 (en) 2014-06-20 2023-06-07 Amazon Technologies, Inc. Embeddable cloud analytics
AU2015276830B2 (en) * 2014-06-20 2018-09-06 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics
US10430438B2 (en) 2014-06-20 2019-10-01 Amazon Technologies, Inc. Dynamic n-dimensional cubes for hosted analytics
CN107533569B (zh) 2015-10-23 2022-04-05 甲骨文国际公司 用于多维数据库环境中的沙箱支持的系统和方法
CN106844377B (zh) * 2015-12-03 2020-07-03 北京国双科技有限公司 多维数据库的处理方法及装置
CN106909691A (zh) * 2017-03-09 2017-06-30 山东浪潮商用系统有限公司 一种基于缓存的高效税收数据分析方法
CN107291893A (zh) * 2017-06-21 2017-10-24 天津光电通信技术有限公司 一种基于.net技术的数据库综合管理方法
US10884980B2 (en) * 2017-07-26 2021-01-05 International Business Machines Corporation Cognitive file and object management for distributed storage environments
US10909134B2 (en) 2017-09-01 2021-02-02 Oracle International Corporation System and method for client-side calculation in a multidimensional database environment
KR102034679B1 (ko) 2018-01-17 2019-10-23 (주)비아이매트릭스 그리드 인터페이스 기반 데이터 입출력 시스템
CN110110012A (zh) * 2019-04-23 2019-08-09 上海淇玥信息技术有限公司 用户预期价值评估方法、装置、电子设备及可读介质
CN114461605B (zh) * 2022-01-10 2023-07-04 北京元年科技股份有限公司 内存多维数据库的事务数据多版本实现方法、装置及设备
CN115981970B (zh) * 2023-03-20 2023-05-16 建信金融科技有限责任公司 运维数据分析方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271439A (zh) * 1997-07-21 2000-10-25 艾利森电话股份有限公司 在数据库中存储元素的方法
US6741997B1 (en) * 2001-06-14 2004-05-25 Oracle International Corporation Instantiating objects in distributed database systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182060B1 (en) * 1997-04-15 2001-01-30 Robert Hedgcock Method and apparatus for storing, retrieving, and processing multi-dimensional customer-oriented data sets
US5978796A (en) * 1997-06-30 1999-11-02 International Business Machines Corporation Accessing multi-dimensional data by mapping dense data blocks to rows in a relational database
JPH11249874A (ja) * 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムにおける同期処理方法および記録媒体
US6549907B1 (en) * 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
WO2004072810A2 (en) 2003-02-10 2004-08-26 Netezza Corporation Materialized view system and method
US7269581B2 (en) * 2003-03-28 2007-09-11 Microsoft Corporation Systems and methods for proactive caching utilizing OLAP variants

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271439A (zh) * 1997-07-21 2000-10-25 艾利森电话股份有限公司 在数据库中存储元素的方法
US6741997B1 (en) * 2001-06-14 2004-05-25 Oracle International Corporation Instantiating objects in distributed database systems

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
L. Schlesinger etc..Efficiently Synchronizing Multidimensional Schema Data.《ACM International Workshop on Data Warehousing and OLAP(DOLAP) 2001 Association for Computing Mechinery US》.2001, *
L. Schlesinger etc..Efficiently Synchronizing Multidimensional Schema Data.<<ACM International Workshop on Data Warehousing and OLAP(DOLAP) 2001 Association for Computing Mechinery US>>.2001,

Also Published As

Publication number Publication date
KR20080031202A (ko) 2008-04-08
WO2007014274A2 (en) 2007-02-01
EP1907955A2 (en) 2008-04-09
CN101523388A (zh) 2009-09-02
JP2009512909A (ja) 2009-03-26
US20070022120A1 (en) 2007-01-25
WO2007014274A3 (en) 2009-04-23
JP4964881B2 (ja) 2012-07-04
EP1907955A4 (en) 2010-03-31

Similar Documents

Publication Publication Date Title
CN101523388B (zh) 在用户设备上高速缓存和修改多维数据库的部分
CN100418057C (zh) 用于应用程序分布式管理的启用网格的虚拟机的方法和系统
CN1906580B (zh) 对于具有可移动对象的启用网格的虚拟机的方法和系统
CN101568919B (zh) 具有分布式存储的联网计算机系统中的单个数据视图
CN101297286B (zh) 添加设备驱动程序的方法
US7032033B1 (en) Handling collisions during synchronization of data between client and server computers
CN102037710B (zh) 用于远程处理多媒体插件调用的方法和系统
US7177865B2 (en) Data synchronization method and system
KR101376916B1 (ko) 소프트웨어 애플리케이션을 신규 버전의 소프트웨어 애플리케이션으로 점진적으로 업그레이드하기 위한 방법, 기계 판독가능 저장 매체를 포함하는 제품 및 장치
CN102782650A (zh) 用于管理分布式环境中系统管理代理的配置的方法与系统
CN109074362A (zh) 分布式系统中的拆分和移动范围
US20040111505A1 (en) Method, system, and article of manufacture for network management
CN103703456A (zh) 预载网页移动网浏览器
CN101308505A (zh) 提供对远程资源数据的访问的方法和数据处理系统
CN103140850A (zh) 移动设备上的数据共享
CN110516142A (zh) 数据查询方法、装置、设备及介质
US10536521B2 (en) Web share
CN105812469A (zh) 一种通讯录同步方法及装置
CN1271812C (zh) 无线设备同步系统及方法
JP3801524B2 (ja) 自動更新システム及び自動更新方法
KR20110117560A (ko) 자동 업데이트를 제공하는 시스템 및 방법
CN110069406A (zh) 自动触发的tpc-ds测试方法以及系统
CN110096295B (zh) 基于ReactNative的多模块移动应用的热更新方法及系统
KR101939199B1 (ko) 로컬 단말 및 이를 포함하는 동기화 시스템
US20200387412A1 (en) Method To Manage Database

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20190725

CF01 Termination of patent right due to non-payment of annual fee