CN105683961B - 管理用于假设分析的回写的数据的方法和系统 - Google Patents
管理用于假设分析的回写的数据的方法和系统 Download PDFInfo
- Publication number
- CN105683961B CN105683961B CN201480060021.0A CN201480060021A CN105683961B CN 105683961 B CN105683961 B CN 105683961B CN 201480060021 A CN201480060021 A CN 201480060021A CN 105683961 B CN105683961 B CN 105683961B
- Authority
- CN
- China
- Prior art keywords
- data
- modification
- write
- changes
- inputs
- 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.)
- Active
Links
Images
Abstract
本发明的各实施例提供了一种管理用于假设分析的回写的数据的方法和系统。在实施例中,本发明的方法在对假设分析进行回写期间仅存储最少的数据,并且实际计算延迟到用户实际查询数据的时间。本发明包括回写存储器,其存储了回写数据库中原始数据的所有修改。当用户查询原始数据库时,回写处理器基于修改计算查询数据的变化并提供报表。
Description
技术领域
本发明大体上涉及数据库技术领域。具体而言,本发明涉及一种用于在进行假设分析的同时管理多个数据版本的方法和系统。
背景技术
假设分析是一种业务人员能够基于一些给定假设或场景模拟业务变化并查看变化的结果的商业智能技术。当更改现有数据时,假设分析自动更改报表中其它受影响的值。假设分析可以用于各种领域,包括但不限于预算流程,例如未来税率、利率、通胀率、员工数目及开支。
图1示出了对假设分析进行回写的传统方法。该方法涉及使用假设分析报表的业务用户通过编辑报表中一些单元格的值来模拟业务变化并查看相应的变化结果。另一关键角色由领域专家扮演,领域专家为业务领域的专家,他定义某个值的变更导致影响其它地方的值的规则和场景。在实施例中,业务人员向联机分析处理(OLAP)引擎提供假设输入以修改数据存储器中存储的数据。数据存储器可以为传统的关系数据库或多维联机分析处理(MOLAP)数据存储器或大数据存储器或任意其它数据存储器。OLAP引擎为一种将报表内容展示给用户并提供选项修改某些值的前端。更改后的值由OLAP引擎提供给假设分析引擎。假设分析引擎使用场景处理引擎来应用领域专家定义的规则。场景处理引擎接收用户更改作为输入,应用场景中存储的规则并计算所有受影响的单元格的值。最后,OLAP引擎向用户展示更新后的报表。
图2示出了汽车行业领域进行的假设分析的示例性场景。设想一种汽车销售场景:汽车公司想修改汽车价格以增加收入。公司员工(也称为用户)想知道如果更改了某一汽车型号的价格,收入是否会增加或减少以及增加或减少的量。领域专家定义了模拟汽车销售市场场景的规则。例如,第一条规则规定汽车销量的上升或下降分别直接与价格的下调或上调成正比。第二条规则规定了总汽车销量不能下降,所以如果某一款汽车的销量下降,那么其它车型的销量相应上升以维持原来的销售量。
现在,用户将“C”型车的价格从250,000修改为300,000,提价20%。由于第一条规则规定汽车销量的上升或下降分别直接与价格的下调或上调成正比,所以“C”型车的销量下降了20%跌至80辆。另外,第二条规则规定总汽车销量不能下降。因此,为了应对“C”型车的销量减少了20辆,其它车型的销量同等增加以涵盖额外20辆车的销量。总收入从163,000,000上升为164,780,000。
一旦用户进行了假设分析,则必须进行回写操作,这样所有更新后的单元格保存回数据库。一旦进行回写,数据库的其他用户可以看到数据变化。另外,依赖于同一数据的其它报表和场景可以看到更新后的值。当前场景中,在假设分析期间,场景计算通常仅应用于报表中可见的数据,而报表通常仅显示一小部分实际数据。而在回写时,场景计算需要应用于所有数据,因为需要计算所有数据的变化,并且修改后的数据需要更新并提交(保存)回数据库。因此,回写动作通常比报表的假设分析慢得多。
当前,存在几种可用于在假设分析后进行回写的技术,假设分析如图3A至3D所示。图3A示出了一种场景,在该场景中计算数据库中的所有数据并同时将更新后的数据写入数据库。该方法包括用户修改OLAP报表中的属性值。随后,假设分析引擎基于用户修改的值计算报表中所有受影响的值的变化并将变化展示给用户。随后,用户进行回写。此时,假设分析引擎从原始数据库读取所有数据,计算全部数据中所有受影响的值的变化并将全部更新后的数据回写至数据库。该方法的问题在于当数据量增加时,需要更多的时间来计算数据中受影响的值的变化并将该变化写入数据库。另外,不允许部分用户看见变化,因此需要保持数据的机密性,由此可知,所有用户可以看见数据变化实际上是指某部分用户可以看见数据变化。
图3B示出了进行回写的另一传统方法。在该方法中,基于用户修改的输入计算所有受影响的数据变化并将数据变化存入缓存。该方法包括用户修改OLAP报表中的属性值。假设分析引擎基于用户修改的数据计算报表中所有受影响的值的变化并将这些变化展示给用户。随后,用户进行回写。此时,假设分析引擎从原始数据库读取所有数据、计算所有数据中均受影响的值的变化并将所有更新后的数据写入缓存。后续生成报表时直接从缓存中获取数据。该方法的问题在于当数据量增加时,需要更多的时间来计算数据中受影响的值的变化并将该变化写入缓存。另外,当数据量大时,缓存需要更多存储介质和主存储器中的空间。
图3C示出了通过在数据库中创建回写分区对回写操作进行优化。数据变化基于用户修改的输入进行计算并存入数据库中的分区。在该方法中,用户修改OLAP报表中的属性值。假设分析引擎基于用户修改的数据计算报表中所有受影响的值的变化并将这些变化展示给用户。随后,用户进行回写。此时,假设分析引擎从原始数据库读取所有数据、计算所有数据中均受影响的值的变化并将所有更新后的数据写至存储修改后数据的分区。后续生成报表时直接从该分区中获取数据。该方法的缺点在于当数据量增加时,需要更多的时间来计算数据中受影响的值的变化并将该变化写入数据库分区。另外,当数据量大时,数据库需要更多存储介质上的空间,并且修改数据后,查询性能变慢。
图3D示出了通过将回写数据存入个人工作区来实施回写。在该方法中,用户修改OLAP报表中的属性值。假设分析引擎基于用户修改的数据计算报表中所有受影响的值的变化并将这些变化展示给用户。随后,用户进行回写。此时,假设分析引擎从原始数据库读取所有数据、计算所有数据中均受影响的值的变化并将所有更新后的数据写入个人工作区。另外,在该情况下,后续生成报表时直接从工作区文件中获取数据。该方法的问题在于当数据量增加时,需要更多的时间来计算数据中受影响的值的变化并将该变化写入用户工作区文件。另外,如上述方法所述,当数据量大时,工作区文件将需要更多存储介质上的空间。
总结现有解决方案中的缺点,由于场景计算需要应用于全部数据,所以回写操作的解决方案非常慢。这要求从数据库中获取所有数据,在所有数据上进行计算,随后对所有更新后的值进行回写。该操作给输入/输出、存储器和中央处理器(CPU)造成了压力。在某种情况下,回写操作更新了原始数据库,变化对所有用户可见,并且修改后的数据不可能仅对所选用户可见以保持某一部分数据的保密性。
在上述替代性解决方案中,如果回写数据单独存储在分区、用户缓存或工作区文件中,更改后的数据可以仅对所选用户可见。但是,由于每次回写都需要保存修改后的原始数据的完整副本,因此这些解决方案需要更多的存储空间。
在传统回写解决方案中,当依次进行增量回写操作时(其中当前回写使用前次回写的输出作为源数据),任意先前回写均不可能回滚。另外,通过关闭或开启任意前次回写操作的变化来显现前次回写的增量影响是不可能的。
因此,需要一种管理用于假设分析的回写的数据的方法和系统以克服上述问题。
发明内容
通过本发明的实施例克服了现有技术的缺点并提供了额外优点。通过本发明的技术可以实现额外特征和优点。本发明的其它实施例和方面在本文中进行了详细说明,它们被视为所要求的发明的一部分。
本发明的各实施例提供了一种管理用于假设分析的回写的数据的方法。所述方法包括从当前用户接收对中央数据库中存储的数据的查询,所述当前用户为使用所述中央数据库的一个或多个用户中的一个。随后,从所述中央数据库中检索与所述查询相关的所述数据。所述方法进一步包括基于所述当前用户对变化的可访问性检索回写数据库中存储的一个或多个修改输入。针对所述中央数据库中的所述数据的所述一个或多个修改输入由所述一个或多个用户生成,所述一个或多个修改输入存储在所述回写数据库中。另外,获取响应于针对所述检索到的一个或多个修改输入中的各个修改输入的所述查询检索到的所述数据的变化,所述变化基于所述检索到的一个或多个修改输入的时间戳获取。最后,所述方法向所述当前用户提供针对所述查询得到的具有假设修改数据的报表。
本发明的各实施例提供了一种用于管理假设分析的回写的数据的系统。所述系统包括用于存储数据的中央数据库,以及OLAP引擎,用于从当前用户接收对所述中央数据库中存储的数据的查询,所述当前用户为使用所述中央数据库的一个或多个用户中的一个。所述系统进一步包括用于存储一个或多个修改输入的回写数据库,以及以可通信方式连接到所述OLAP引擎和所述回写数据库的回写处理器。所述回写处理器用于从所述中央数据库中检索与所述查询相关的数据,以及基于所述当前用户对变化的可访问性检索所述回写数据库中存储的一个或多个修改输入,其中所述一个或多个更改修入由所述一个或多个用户生成。所述回写处理器还用于获取响应于针对所述检索到的一个或多个修改输入中的各个输入的所述查询检索到的所述数据的变化,所述变化基于所述检索到的一个或多个修改输入的时间戳获取;以及向所述当前用户提供针对所述查询得到的具有假设修改数据的报表。
本发明的各实施例涉及存储有操作的非瞬时计算机可读介质,当至少一个处理单元处理所述操作时,促使系统从当前用户接收对中央数据库中存储的数据的查询,所述当前用户为使用所述中央数据库的一个或多个用户中的一个;从所述中央数据库中检索与所述查询相关的数据;基于所述当前用户对变化的可访问性检索所述回写数据库中存储的一个或多个修改输入,其中所述一个或多个修改输入由所述一个或多个用户生成,所述一个或多个修改输入存储在所述回写数据库中;获取响应于针对所述检索到的一个或多个修改输入中的各个输入的所述查询检索到的所述数据的变化,所述变化基于所述检索到的一个或多个修改输入的时间戳获取;以及向所述当前用户提供针对所述查询得到的具有假设修改数据的报表。
本发明的各实施例提供了一种用于管理假设分析的回写的数据的计算机程序。所述计算机程序包括用于从当前用户接收对中央数据库中存储的数据的查询的代码段,所述当前用户为使用所述中央数据库的一个或多个用户中的一个;用于从所述中央数据库中检索与所述查询相关的所述数据的代码段;用于基于所述当前用户对变化的可访问性检索回写数据库中存储的一个或多个修改输入的代码段,其中所述一个或多个修改输入由所述一个或多个用户生成,所述一个或多个修改输入存储在所述回写数据库中;获取响应于针对所述检索到的一个或多个修改输入中的各个输入的所述查询检索到的所述数据的变化的代码段,所述变化基于所述检索到的一个或多个修改输入中的各个修改输入的时间戳获取;以及用于向所述当前用户提供针对所述查询得到的具有假设修改数据的报表的代码段。
以上概述仅作说明之用,并非旨在加以任何限制。除了上述说明性方面和特征外,其它方面和特征通过参考附图和以下详细说明显而易见。
附图说明
本发明的新颖的特点和特征在所附权利要求中进行阐述。但是本发明自身、优选的使用方式,及其其它目的和优势,也可以通过参考以下说明性实施例的详细说明结合附图得到最好的理解。现参照附图通过示例描述一个或更多的实施例。
图1示出了根据现有技术的实施例用于对假设分析进行回写的方框图;
图2示出了根据现有技术的实施例的假设分析的表格图;
图3A至3D示出了根据现有技术的实施例的假设分析的不同回写技术的方框图;
图4A示出了根据本发明的实施例的假设分析的回写技术的系统图;
图4B和4C示出了根据本发明的实施例的假设分析的回写技术的装置;
图5和6所示为根据本发明的实施例用于进行回写以管理假设分析的数据的方法的流程图;以及
图7示出了根据本发明的实施例的回写数据库中的数据的示例性结构。
附图描述的本发明的实施例仅作说明之用。本领域的技术人员容易从以下描述中认识到本文所示的结构和方法的替代性实施例可以在脱离本文所述的本发明的原则下使用。
具体实施方式
前述内容已宽泛地概述了本发明的特征和技术优势,以便更好地理解下文中的本发明的具体实施方式。下文中将描述本发明的额外特征和优势,其形成本发明的权利要求书的主题。所属领域的技术人员应了解,所揭示的概念和具体方面可以容易地用作修改或设计其它结构的基础,以实现与本发明目的相同的目的。所属领域的技术人员还应意识到,此类等效构造不脱离所附权利要求书中所提出的本发明的范围。根据以下说明结合附图内容可以更好地理解被视为本发明的特点,无论是关于其组成还是操作方法,的新颖特征以及进一步的目的和优势。但是,应明确了解,提供的每个图仅用于说明性和描述性目的,并非旨在对本发明进行限制。
图4A示出了根据本发明的实施例的假设分析的回写技术的系统图。该系统包括OLAP引擎402、回写处理器404、回写数据库406、中央数据库408、规则处理引擎410以及与用户和专家关联的一个或多个计算设备412。OLAP引擎402充当界面将报表内容展示给用户并通过计算设备412提供选项更改中央数据库408中的属性值。OLAP引擎402连接到回写处理器404以调用假设分析、进行回写并在接收到用户的查询时将更新后的报表展示给用户。另外,回写处理器404连接到回写数据库408和中央数据库406。回写数据库408仅存储用户提供的修改输入,而非所有修改的报表。仅存储修改输入节省了存储器空间并保证回写操作无延时。中央数据库406为存储了公司全部数据的数据存储器。在示例性实施例中,中央数据库406可以包括但不限于关系数据库、多维联机分析处理(MOLAP)数据库或任意其它可以进行假设分析的数据存储器。回写处理器404用于使用规则处理引擎410执行假设场景并在查询时间计算中央数据库406中存储的数据的受影响的值的变化。由于用户查询通常与中央数据库406中存储的一部分数据有关,所以由回写处理器404进行的计算相对较快。
图4B示出了根据本发明的实施例进行假设分析的回写技术的装置。该装置包括回写处理器404和回写数据库408,这些形成了本发明的核心。该装置可以装入任意系统以支持假设分析的回写。图4C示出了装置的部件。回写数据库408包括回写操作接收器414、回写历史管理器416和回写历史418。另外,回写处理器404包括用户查询接收器420、源数据提取器422、历史播放管理器424以及场景执行器426。在实施例中,用户向回写操作接收器414提供一个或多个修改输入。回写操作接收器414将一个或多个修改输入发送到回写历史管理器416用于将修改输入存储到回写数据库408的回写历史418中。
随后,用户向用户查询接收器420发起对中央数据库408中存储的数据的查询。根据该查询,源数据提取器422从中央数据库408中检索数据。另外,历史播放管理器424从回写历史418中检索一个或多个存储的修改输入。在实施例中,历史播放管理器424基于发起查询的用户对更改数据的可见性检索一个或多个修改输入。随后,场景执行器426使用场景处理引擎428将各个可见的修改输入应用于原始数据。在实施例中,修改输入以循环方式应用,每次进行一处修改。最后,将修改后的数据提供给用户。
图5和6所示为根据本发明的实施例用于进行回写以管理假设分析的数据的方法的流程图。
图5示出了存储由用户提供的修改输入的方法。在步骤502处,任意公司中的用户提供一个或多个修改输入用于对中央数据库408中存储的数据进行假设分析。在步骤504处,OLAP引擎402接收修改输入并将修改输入发送到回写处理器404。在步骤506处,回写处理器404基于所接收的一个或多个修改输入计算中央数据库408中存储的其它数据的相关变化。随后,在步骤508处,将来自中央数据库408的修改后的数据展示给用户。在步骤510处,用户查看展示的结果并提供输入以将变化回写至中央数据库408。在步骤512处,回写处理器404仅将用户修改输入存储到回写数据库406的个人工作区中。在该场景中,修改输入不应用于中央数据库408中的数据,因此中央数据库408中的原始数据保持不变。
图6示出了使用假设修改数据从中央数据库中检索数据的方法。在实施例中,在步骤602处,当前用户通过相关计算设备412将对中央数据库408中存储的数据的查询发送到OLAP引擎402。当前用户为使用中央数据库408进行假设分析以及查看中央数据库408中的数据的一个或多个用户中的一个。OLAP引擎402从当前用户接收查询并将该查询发送到回写处理器404用于后续处理。在步骤604处,回写处理器404从中央数据库408中检索与查询相关的数据。随后,在步骤606处,检索回写数据库406中先前由一个或多个用户存储的一个或多个修改输入。在实施例中,回写处理器404仅检索对当前用户可见的修改输入。当前用户查看一个或多个用户所做的修改输入的权限定义为当前用户对变化的可访问性。接着,在步骤608处,将检索到的修改输入中的各个修改输入应用于针对查询从中央数据库408检索到的数据。也就是说,基于检索到的修改输入中的各个修改输入的创建时间戳计算中央数据库408中的数据变化。在实施例中,基于修改输入的时间戳将修改输入循环应用于数据,一个用户修改输入跟随另一个修改输入。先在回写数据库中创建的修改输入首先应用于数据,以此类推。另外,基于一个或多个预定义的规则将修改输入应用于数据。一个或多个规则已由专家定义并存储在规则处理引擎410中。最后,在步骤610处,通过用户界面将针对生成的查询得到的数据报表提供给当前用户。数据报表包括根据当前用户对变化的可访问性由其他用户通过假设分析修改的数据。
考虑本发明的一个非限制性示例实施例,其中一个或多个用户已对中央数据库408中存储的数据进行了假设分析的两次回写操作。由两个用户进行的回写操作存储在回写数据库406中。图7示出了根据本发明的实施例的回写数据库406中的数据的示例性结构。在所示实施例中,用户来自汽车销售公司。第一用户(用户1)将汽车型号‘D’的价格更改为‘300,000’。修改后,回写处理器404将条目输入到回写数据库406中。对于用户输入的每次修改,回写数据库406存储变化/修改的标识号和进行更改的用户、所做修改的时间戳(包括进行修改的日期和时间)。另外,回写数据库406存储对于各个修改输入的变化可访问性、待修改的属性以及属性的修改值。例如,对用户1所做的修改的变化可访问性对用户1以及公司的首席执行官(CEO)和首席财务官(CFO)可见。第二用户(公司的CEO)将汽车型号‘C’的价格更改为‘110,000’。CEO所做的修改对公司的CEO和CFO可见。在示例性实施例中,变化可访问性由公司的相关负责人预先配置并可以在任意时间进行修改。
如图7所示,对于用户1提供的第一修改输入,变化ID为‘C1’、用户名称为用户1,并且所做修改的时间戳为2013年6月11日上午10点25分。除这些信息外,回写历史包括待修改的属性,其中键列为‘汽车模型’、键值为‘D’以及列更改为‘价格’。最后,回写历史包括属性的修改值‘300,000’。
当前,当业务人员生成查看中央数据库408的数据报表的查询时,该用户仅能看到自己所做的修改输入。因此,回写处理器404根据用户1提供的修改输入计算所查询的数据子集变化。将一个或多个规则应用于所查询的数据子集和可见的修改输入来获取针对查询得到的数据报表。
当CFO生成查看中央数据库408的数据报表的查询时,用户1以及CEO提供的变化/修改输入对CFO可见。在该场景中,回写处理器404针对用户1进行的第一次修改输入计算所查询的数据子集变化,随后针对CEO进行的第二次修改输入计算所查询的数据子集变化。该变化的计算顺序基于所做修改输入的时间戳。由于用户1在CEO之前提供修改输入,因此用户1的修改输入首先应用于所查询的数据子集。
在实施例中,当进行回写时,中央数据库中的数据保持不变。另外,无论数据大小如何,回写在恒定时间内发生。本发明的方法为先前进行的任意回写提供了撤销和回滚的选项。
在实施例中,本发明提供了一种选项以选择性地开启和/或关闭访问数据库的一个或多个用户进行的回写变化。
通过使用标准编程和/或工程技术来产生软件、固件、硬件或者它们的任何组合,所述操作可以作为方法、装置或制品来实施。所述操作可作为“非瞬时计算机可读介质”中保存的代码来实施,其中处理器可从计算机可读介质中读取和执行代码。处理单元为微处理器和能够处理和执行查询的处理器中的至少一个。非瞬时计算机可读介质可包括诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储器(CD-ROM、DVD、光盘等)、易失性和非易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)等的介质。非瞬时计算机可读介质包括除瞬时传播信号外的所有计算机可读介质。实施所述操作的代码可进一步在硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实施。
另外,实施所述操作的代码可在“传输信号”中实施,其中传输信号可通过空间或通过例如光纤、铜线等传输介质来传播。编码有代码或逻辑的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。编码有代码或逻辑的传输信号能够由发射站发送并由接收站接收,其中可在接收站或者接收设备以及发射站或者发射设备处的硬件或非瞬时计算机可读介质中对传输信号中编码的代码或逻辑进行解码和存储。“制品”包括可实施代码的非瞬时计算机可读介质、硬件逻辑和/或传输信号。对实施所述操作的实施例的代码进行编码的设备可包括计算机可读介质或硬件逻辑。当然,本领域技术人员将认识到,在不脱离本发明范围的情况下,可以对这一配置进行多处修改,并且制品可以包括本领域中已知的合适的信息承载介质。
除非另有明确规定,否则术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”意味着“本发明的一个或多个(但不是全部)实施例”。
除非另有明确规定,否则术语“包含”、“包括”、“具有”及其变形意味着“包括但不限于”。
除非另有明确规定,否则枚举的项目列表并不意味着这些项目中的任何项目或所有项目是互斥的。
除非另有明确规定,否则术语“一”、“一个”和“所述”意味着“一个或多个”。
除非另有明确规定,否则相互通信的设备不必连续地相互通信。另外,相互通信的设备可以直接通信或通过一个或多个中间媒介间接地通信。
描述具有相互通信的多个部件的实施例并不意味着需要所有这些部件。相反,描述多种可选择的部件来说明本发明的许多种可能的实施例。
另外,尽管可按顺序来描述过程步骤、方法步骤、算法等,但也可将这些过程、方法和算法配置为按照交替的顺序来运行。换句话说,可能描述的步骤的任何序列或顺序并不一定表明要求以该顺序来执行这些步骤。可按照任何切合实际的顺序来执行本文所述的过程步骤。此外,一些步骤可同时执行。
虽然本文描述了单个设备或制品,但显然可以使用不止一个设备/制品(不论它们是否协作)来代替单个设备/制品。类似地,本文描述了不止一个设备或制品时(不论它们是否协作),但显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可替代性地由没有明确地描述为具有这种功能/特征的一个或多个其它设备来实施。因此,本发明的其它实施例不必包括设备本身。
图5和6所示的操作示出了以某个顺序发生的某些事件。在替代性实施例中,某些操作可以用不同的顺序来执行、修改或移除。另外,可以在上述逻辑中添加步骤,而这些步骤仍然遵循所述实施例。此外,本文所述的操作可以依次发生,或者某些操作可并行处理。另外,可由单个处理单元或者由分布式处理单元来执行操作。
本发明的各种实施例的上述描述仅出于说明性和描述性目的。其并非旨在穷举或将本发明限制为所公开的精确形式。根据上述教导,许多修改和变更是可能的。本文的描述旨在不由具体的描述来限制本发明的范围,而是由所附的权利要求来进行限制。以上说明书、示例和数据提供了对制造和使用本发明的组成部分的完整描述。由于能够在不脱离本发明的精神和范围的情况下实现本发明的很多实施例,所以本发明由所附权利要求限定。
此外,本文示出了本发明的优点。
本发明的实施例提供了一种对假设分析进行回写时降低输入/输出、存储器和CPU占用率的方法。
在实施例中,对假设分析进行回写所耗的时间大大减少。
本发明的实施例提供了一种方法,该方法提供了对假设分析进行回写的恒定时间的性能,无关数据大小。
在实施例中,本发明的方法可以使假设分析的回写适用于大数据。
在一项实施例中,本发明的方法支持在增量假设回写的情况下对任意历史回写进行选择性的回滚。
在一项实施例中,本发明的方法支持通过关闭/开启任意先前的回写操作的变化来显现每次前次回写的增量影响。
最后,已经主要出于可读性和指导性的目的而选择了说明书中使用的语言,并且该语言未被选择成限定或限制本发明的主题。因此本发明的范围并非意在由这一详细描述限制,而是由在基于本文的应用上所附的任何权利要求限制。因此,公开本发明实施例旨在举例说明,而非限制在所附权利要求中阐述的本发明范围。
关于本文中任何复数和/或单数术语的使用,本领域技术人员可以从复数形式转换为单数形式,和/或从单数形式转换为复数形式,以适合具体环境和/或应用。为清楚起见,在此明确阐述单数/复数形式。
另外,在以马库什(Markush)群组方式所描述的本发明的特征或方面的情况下,本领域技术人员将认识到,本发明也是以该马库什群组中的任意单独成员或成员子组来描述的。
尽管本文公开了多个方面和实施例,但是其它方面和实施例对于本领域技术人员来说应该是显而易见的。本文所公开的方面和实施例是出于说明性目的,而非限制性的,真实范围和精神由所附权利要求表征。
Claims (11)
1.一种管理用于假设分析的回写的数据的方法,其特征在于,所述方法包括:
从当前用户接收对中央数据库中存储的数据的查询,所述当前用户为使用所述中央数据库的一个或多个用户中的一个;
从所述中央数据库中检索与所述查询相关的所述数据;
基于所述当前用户对变化的可访问性检索回写数据库中存储的一个或多个修改输入,其中针对所述中央数据库中的所述数据的所述一个或多个修改输入由所述一个或多个用户生成;
获取响应于所述查询检索到的所述数据的变化,所述变化与所述检索到的一个或多个修改输入中的各个修改输入有关,所述变化基于所述检索到的一个或多个修改输入的时间戳获取;以及
向所述当前用户提供针对所述查询得到的具有假设修改数据的报表;
其中,所述数据的变化是通过将规则处理引擎定义的一个或多个规则应用于所述查询的数据和所述一个或多个修改输入后得到的;
其中,进行所述修改的所述一个或多个用户、待修改属性修改的时间戳和对所述一个或多个用户进行的修改的可访问性的详情以及所述一个或多个修改输入一起存储在所述回写数据库中。
2.根据权利要求1所述的方法,其特征在于,所述时间戳用于定义将所述一个或多个规则应用于所述一个或多个修改输入的顺序。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述一个或多个修改输入包括从包括待修改属性和所述属性的修改值的组中选取的详情。
4.根据权利要求1所述的方法,其特征在于,所述当前用户对变化的可访问性定义了所述当前用户查看所述一个或多个用户所做的更改的权限。
5.一种管理用于假设分析的回写的数据的装置,其特征在于,所述装置包括:
联机分析处理OLAP引擎,用于从当前用户接收对中央数据库中存储的数据的查询,所述当前用户为使用所述中央数据库的一个或多个用户中的一个;
回写数据库,用于存储一个或多个修改输入;以及
以可通信方式连接到所述OLAP引擎和所述回写数据库的回写处理器,所述回写处理器用于:
从所述中央数据库中检索与所述查询相关的数据;
基于所述当前用户对变化的可访问性检索所述回写数据库中存储的一个或多个修改输入,其中所述一个或多个修改输入由所述一个或多个用户生成;
获取响应于所述查询检索到的所述数据的变化,所述变化与所述检索到的一个或多个修改输入中的各个修改输入有关,所述变化基于所述检索到的一个或多个修改输入的时间戳获取;以及
向所述当前用户提供针对所述查询得到的具有假设修改数据的报表;
其中,所述数据的变化是通过将规则处理引擎定义的一个或多个规则应用于所述查询的数据和所述一个或多个修改输入后得到的;
其中,进行所述修改的所述一个或多个用户、待修改属性修改的时间戳和对所述一个或多个用户进行的修改的可访问性的详情以及所述一个或多个修改输入一起存储在所述回写数据库中。
6.根据权利要求5所述的装置,其特征在于,所述时间戳定义了将所述一个或多个规则应用于所述一个或多个修改输入的顺序。
7.根据权利要求5至6任一项所述的装置,其特征在于,所述一个或多个修改输入包括从包括待修改属性和所述属性的修改值的组中选取的详情。
8.根据权利要求5所述的装置,其特征在于,所述当前用户对变化的可访问性定义了所述当前用户查看所述一个或多个用户所做的更改的权限。
9.根据权利要求5所述的装置,其特征在于,所述OLAP引擎具体用于从与所述一个或多个用户关联的一个或多个客户端机器接收所述查询和所述一个或多个修改输入。
10.根据权利要求9所述的装置,其特征在于,所述一个或多个客户端机器从以下项中的至少一项中选择:移动设备、个人计算机、个人数字助理PDA以及任意其它能够进行数据传输和显示的通信设备。
11.一种非瞬时计算机可读介质,其上存储有代码,其特征在于,所述代码被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ININ5008/CHE/2013 | 2013-11-06 | ||
IN5008CH2013 IN2013CH05008A (zh) | 2013-11-06 | 2013-11-06 | |
PCT/CN2014/076847 WO2015067014A1 (en) | 2013-11-06 | 2014-05-06 | Method and system for managing data for performing write back on what-if analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105683961A CN105683961A (zh) | 2016-06-15 |
CN105683961B true CN105683961B (zh) | 2020-01-31 |
Family
ID=54398498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480060021.0A Active CN105683961B (zh) | 2013-11-06 | 2014-05-06 | 管理用于假设分析的回写的数据的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105683961B (zh) |
IN (1) | IN2013CH05008A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008135B (zh) * | 2018-01-05 | 2024-01-30 | 北京搜狗科技发展有限公司 | 一种信息处理方法、装置及电子设备 |
KR102506361B1 (ko) * | 2018-05-03 | 2023-03-06 | 구글 엘엘씨 | 오디오 쿼리들의 오버랩핑 프로세싱의 조정 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117305A (zh) * | 2010-01-06 | 2011-07-06 | 中国移动通信集团公司 | 查询数据的系统、方法和数据管理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766325B1 (en) * | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US20070022120A1 (en) * | 2005-07-25 | 2007-01-25 | Microsoft Corporation | Caching and modifying portions of a multi-dimensional database on a user device |
-
2013
- 2013-11-06 IN IN5008CH2013 patent/IN2013CH05008A/en unknown
-
2014
- 2014-05-06 CN CN201480060021.0A patent/CN105683961B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117305A (zh) * | 2010-01-06 | 2011-07-06 | 中国移动通信集团公司 | 查询数据的系统、方法和数据管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105683961A (zh) | 2016-06-15 |
IN2013CH05008A (zh) | 2015-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6899065B2 (ja) | ブロックチェーン・データからの分析結果の自動生成のための方法、装置および非一過性コンピュータ可読ストレージ媒体 | |
US20200372182A1 (en) | Method and system for double anonymization of data | |
US11232017B2 (en) | System for refreshing and sanitizing testing data in a low-level environment | |
US10467192B2 (en) | Method and apparatus for updating data table in keyvalue database | |
EP2709023A1 (en) | Systems and/or methods for statistical online analysis of large and potentially heterogeneous data sets | |
CN106649828B (zh) | 一种数据查询方法及系统 | |
JP2016513300A (ja) | 連続データストリームに対する継続時間可変ウィンドウ | |
US11086694B2 (en) | Method and system for scalable complex event processing of event streams | |
US9015608B2 (en) | Regenerating a user interface area | |
US20140019890A1 (en) | Synchronizing a user interface area | |
CN102272751A (zh) | 在数据库环境通过背景同步的数据完整性 | |
CN111310232A (zh) | 数据脱敏方法及装置、电子设备、存储介质 | |
KR20110106382A (ko) | 웹 기반 도표 시각화를 위한 확장성 | |
CN105683961B (zh) | 管理用于假设分析的回写的数据的方法和系统 | |
CN106716400B (zh) | 一种数据表的分区管理方法及装置 | |
JP2018514886A (ja) | 多数の重複するソースからの大量の時間データの集計 | |
US10956386B2 (en) | Methods and apparatuses for automated performance tuning of a data modeling platform | |
KR20150136338A (ko) | 멀티 테넌시 이력 생성 방법, 이를 수행하는 멀티 테넌시 이력 생성 서버 및 이를 저장하는 기록매체 | |
US10621163B2 (en) | Tracking and reusing function results | |
CN111753141A (zh) | 一种数据管理方法及相关设备 | |
CN112734404B (zh) | 研发过程迭代的工时统计方法、装置、计算机设备 | |
KR20190129474A (ko) | 데이터 검색 장치 및 방법 | |
CN102193986B (zh) | 图形数据库中联机事务的实现方法 | |
CN109614386B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
WO2015067014A1 (en) | Method and system for managing data for performing write back on what-if analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |